diff --git a/amplifier_web/__init__.py b/amplifier_web/__init__.py index f5d436eac..9ecbf8fe6 100644 --- a/amplifier_web/__init__.py +++ b/amplifier_web/__init__.py @@ -1,2 +1,2 @@ """Amplifier's local web host.""" -__version__ = "0.20.32" +__version__ = "0.20.33" diff --git a/amplifier_web/automatic_history.py b/amplifier_web/automatic_history.py index ef887a1f9..f24aeb60f 100644 --- a/amplifier_web/automatic_history.py +++ b/amplifier_web/automatic_history.py @@ -83,6 +83,10 @@ def display_message(row, index, session, *, include_internal=False): input_identity = {'nativeInputId': provenance['id']} if isinstance(provenance,dict) and provenance.get('version')==1 and provenance.get('kind')=='service' and all(isinstance(provenance.get(key),str) and 0= last_groups[node.get('turnId')][0]: + last_groups[node.get('turnId')]=(order,identity) result=[] for group in groups.values(): nodes=group.pop('members');turn=turns.get(group['turnId'],{}) @@ -66,6 +69,14 @@ def work_segments(session): running=running or (not starts and not ends and turn.get('phase') in LIVE_PHASES and not turn.get('endedAt')) calls=[row for row in nodes if row.get('kind')=='llm'] failure=next((row.get('status') or row.get('phase') for row in nodes if (row.get('status') or row.get('phase')) in {'error','failed','cancelled','interrupted'}),None) + # A manager can fail after its final model call succeeded. Attribute + # that outcome to the last segment without rewriting earlier work or + # the successful child call. Use the full tree, including paged nodes. + turn_failure=turn.get('status') or turn.get('phase') + if last_groups[group['turnId']][1]==group['id'] and turn_failure in {'error','failed','cancelled','interrupted'}: + failure=turn_failure + running=False + if isinstance(turn.get('endedAt'),(int,float)):ends.append(turn['endedAt']) group.update(startedAt=min(starts) if starts else turn.get('startedAt'), endedAt=None if running else max(ends) if ends else turn.get('endedAt'),phase='running' if running else failure or ('completed' if ends or turn.get('endedAt') else 'recorded'), nodeCounts={'tools':sum(row.get('kind')=='tool' for row in nodes),'models':sum(row.get('kind')=='llm' for row in nodes)}, diff --git a/amplifier_web/recovery_observations.py b/amplifier_web/recovery_observations.py new file mode 100644 index 000000000..ca59f5ca8 --- /dev/null +++ b/amplifier_web/recovery_observations.py @@ -0,0 +1,45 @@ +"""Bounded display facts from host-owned recovery notices, never user text.""" +import json +import re + + +def recovery_facts(metadata, text, provenance): + if provenance.get('source') != 'local-job-recovery': + return None + value = metadata.get('recovery') + if not isinstance(value, dict) or value.get('version') != 1: + # Older loop-live persisted these facts inside its service observation. + # The caller has already established host provenance from metadata. + if len(text) > 16384: + return None + try: + envelope = json.loads(text.split('\n', 1)[1])['observation'] + if envelope['source'] != 'local-job-recovery': + return None + value = json.loads(envelope['text']) + except (ValueError, TypeError, KeyError, IndexError, RecursionError): + return None + if not isinstance(value, dict): + return None + job_id = value.get('job_id') + identity = metadata.get('live_recovery_job') or provenance.get('id') + if job_id != identity: + return None + if metadata.get('live_recovery_job') and provenance.get('id') != identity: + return None + result = {} + for key in ('job_id', 'call_id'): + item = value.get(key) + if not isinstance(item, str) or not re.fullmatch(r'[A-Za-z0-9_.:-]{1,200}', item): + return None + result[key] = item + if provenance.get('call_id') and provenance['call_id'] != result['call_id']: + return None + for key, choices in { + 'status': {'returned', 'cancelled', 'interrupted', 'failed', 'pending'}, + 'outcome': {'tool_report_unverified', 'unconfirmed'}, + 'reason': {'restored_evidence', 'changed_evidence', 'uncertain_outcome'}, + }.items(): + if isinstance(value.get(key), str) and value[key] in choices: + result[key] = value[key] + return result diff --git a/amplifier_web/release-notes.json b/amplifier_web/release-notes.json index 434106836..bd8bb02d6 100644 --- a/amplifier_web/release-notes.json +++ b/amplifier_web/release-notes.json @@ -1,6 +1,27 @@ { "schemaVersion": 1, "releases": [ + { + "version": "0.20.33", + "title": "Quieter recovery and clearer conversation failures", + "changes": [ + "Keep the chosen model visible through chat startup, failed startup, and reload. Preserve existing ChatGPT sign-in paths when editing a connection.", + "Collapse temporary canvas controls on page reload while retaining pinned controls and saved content.", + "Reconcile completed background work silently when its saved result is already in the conversation. Restore missing evidence without replaying the work, and report uncertain outcomes clearly.", + "Show readable saved-work notices with recorded status, available result and worker links, and optional technical details.", + "Identify when a conversation turn failed and link to its recorded details. Preserve a failed manager outcome even when its final model call succeeded.", + "Handle goals created or revised during an active turn in both Work and Anchors conversations.", + "Keep private startup diagnostic receipts and allow conversations to start when an operational computer-backend readiness failure leaves that tool unavailable." + ], + "notices": [ + { + "id": "recovery-goal-component-update", + "title": "Finish component updates", + "detail": "The recovery, goal lifecycle and computer startup fixes include updated runtime components. Existing workers retain their loaded code.", + "action": "Let Settings \u2192 Updates finish installing included components, then use a fresh worker." + } + ] + }, { "version": "0.20.32", "title": "Faster settings saves and shared image tools", @@ -16,7 +37,7 @@ "id": "shared-imagegen-component-update", "title": "Finish component updates", "detail": "Shared image generation and editing also require the updated Work bundle and the imagegen component. Existing workers retain their loaded code.", - "action": "Let Settings → Updates finish installing components, then use a fresh worker." + "action": "Let Settings \u2192 Updates finish installing components, then use a fresh worker." } ] }, @@ -36,7 +57,7 @@ "id": "charlie-runtime-adoption", "title": "Finish component updates", "detail": "Instruction, image-context and native-provider fixes span the application and its Foundation, loop, context and OpenAI provider components. Existing workers retain their loaded code.", - "action": "Let Settings → Updates finish installing components, then use a fresh worker. Explicit source pins and custom forks remain unchanged." + "action": "Let Settings \u2192 Updates finish installing components, then use a fresh worker. Explicit source pins and custom forks remain unchanged." }, { "id": "charlie-validation-scope", @@ -183,7 +204,7 @@ "title": "Simpler Canvas and clearer provider checks", "changes": [ "Use one Canvas viewer per browser, removing the split-view controls while keeping saved artifacts and tabs.", - "Copy an opened file’s absolute path or its path relative to the original workspace, clearly labeled as a path on the app server.", + "Copy an opened file\u2019s absolute path or its path relative to the original workspace, clearly labeled as a path on the app server.", "Explain common provider-check runtime failures, including dependency builds, imports, network trust, DNS, permissions and disk space, without exposing private subprocess logs." ], "notices": [] @@ -395,7 +416,7 @@ "id": "update-compaction-components", "title": "Update companion components for compaction recovery", "detail": "The context manager and OpenAI provider repairs are separate component updates. They bound oversized summaries, retain native compaction state, and limit repeated attempts after failures.", - "action": "After the app restarts, open Settings → Updates, choose Check now, and install available component updates. Existing source pins remain in effect." + "action": "After the app restarts, open Settings \u2192 Updates, choose Check now, and install available component updates. Existing source pins remain in effect." } ] }, @@ -423,7 +444,7 @@ "id": "refresh-anthropic-tool-routing", "title": "Update companion modules for Anthropic computer tools", "detail": "The matching computer-use and loop-streaming fixes are merged in their Microsoft repositories. Existing cached or pinned components are not replaced by the app package alone.", - "action": "After installing this app update, open Settings → Updates, choose Check now, and install the available component updates. Deliberate source pins remain in effect." + "action": "After installing this app update, open Settings \u2192 Updates, choose Check now, and install the available component updates. Deliberate source pins remain in effect." } ] }, @@ -483,7 +504,7 @@ "id": "retry-component-updates", "title": "Retry a previously failed component update", "detail": "Install this application update before retrying a component update that failed during preparation.", - "action": "After the app restarts, open Settings → Updates, choose Check now, then Install available." + "action": "After the app restarts, open Settings \u2192 Updates, choose Check now, then Install available." } ] }, @@ -795,8 +816,8 @@ { "id": "navigation-details-and-drill-in", "title": "Navigation details and actions moved", - "detail": "The default sidebar now switches between the workspace index and the selected workspace’s chats. Pin, rename and remove actions are in the details flyout; full filesystem paths remain available there and in search. Saved conversations, registrations and custom shell compositions are preserved.", - "action": "Use Workspaces or All workspaces to browse, and hover a row or choose its … button for details and actions." + "detail": "The default sidebar now switches between the workspace index and the selected workspace\u2019s chats. Pin, rename and remove actions are in the details flyout; full filesystem paths remain available there and in search. Saved conversations, registrations and custom shell compositions are preserved.", + "action": "Use Workspaces or All workspaces to browse, and hover a row or choose its \u2026 button for details and actions." } ] }, @@ -816,7 +837,7 @@ "changes": [ "Choose Switch bundle or Fork with this bundle immediately, or use Preview changes first. Both routes are available to app agents too.", "Switching reuses the configuration it just validated instead of loading the target bundle again. The menu shows progress immediately and prevents duplicate clicks.", - "History, compatible model choices, and rollback remain protected. If your pinned model is unavailable, choose whether to use the new bundle’s model before continuing." + "History, compatible model choices, and rollback remain protected. If your pinned model is unavailable, choose whether to use the new bundle\u2019s model before continuing." ], "notices": [] }, @@ -835,7 +856,7 @@ "title": "Work by default and bundle display names", "changes": [ "New installations and new conversations without a saved bundle choice use Work. Existing conversations and explicit app, workspace, and shared choices are preserved.", - "Bundle pickers and repository discovery show the bundle’s own display_name when available, while saved bundle IDs stay unchanged. Choices remain alphabetically sorted.", + "Bundle pickers and repository discovery show the bundle\u2019s own display_name when available, while saved bundle IDs stay unchanged. Choices remain alphabetically sorted.", "Display names are read from local or cached manifests and Foundation registry metadata without fetching remote bundles when opening a picker." ], "notices": [ diff --git a/amplifier_web/runtime.py b/amplifier_web/runtime.py index 7083f8c4b..72b11126a 100644 --- a/amplifier_web/runtime.py +++ b/amplifier_web/runtime.py @@ -300,7 +300,8 @@ async def _drain_stderr(self, row): while line := await row["process"].stderr.readline(): # Keep diagnostics local and bounded; never stream arbitrary SDK logs # (which can contain prompts/credentials) into browser state. - row["stderr"].append(line.decode(errors="replace")[-2000:]) + from .worker_diagnostics import redact_diagnostic + row["stderr"].append(redact_diagnostic(line.decode(errors="replace"))[-2000:]) row["stderr"] = row["stderr"][-30:] async def _write(self, row, data): @@ -380,6 +381,35 @@ async def _read(self, sid, row): **{key: data[key] for key in ('status', 'source', 'detail') if key in data}}) elif data.get("type") == "runtime.error": failure = _worker_error(data) + diagnostic = None + if not row["ready"].done() and not isinstance(failure, SessionInUseError): + from .worker_diagnostics import receipt_path, save_startup_failure + diagnostic = receipt_path(data.get("diagnosticReceipt")) + if diagnostic is None: + # A handled worker error can race the final stderr. + # Wait only briefly; failure must not hang on a worker + # that reports an error without closing its streams. + try: + await asyncio.wait_for(asyncio.shield(row["stderr_task"]), 0.2) + except Exception: + pass + diagnostic = await asyncio.to_thread(save_startup_failure, row, None, + failure=data.get("error") or str(failure)) + from .module_failures import ConfiguredModuleError + if not isinstance(failure, ConfiguredModuleError): + from .session_health import failure_details + detail = failure_details(data.get("error"), data.get("errorType")) + labels = {'authentication': 'AuthenticationError', 'rate_limit': 'RateLimitError', + 'context_limit': 'ContextLengthError', 'invalid_image': 'InvalidImageError', + 'tool_configuration': 'ToolConfigurationError'} + label = labels.get(detail['category']) + # Publish only our bounded classification and guidance, + # never the original provider payload or exception text. + public = (f"{label}: {detail['summary']} {detail['guidance']}" if label + else "The conversation worker could not start.") + failure = RuntimeStartupError(public) + if diagnostic: + failure.diagnostic_path = diagnostic error = str(failure) reported_error = error if not row["ready"].done(): @@ -389,6 +419,7 @@ async def _read(self, sid, row): else: from .module_failures import ConfiguredModuleError await row["emit"]("runtime.error", {"sessionId": sid, "error": error, + **({"diagnosticReceipt": diagnostic.name} if diagnostic else {}), **({"moduleFailures": failure.failures} if isinstance(failure, ConfiguredModuleError) else {})}) elif data.get("type") == "history.revised": await row["emit"]("history.revised", {**data, "sessionId": sid}) @@ -415,6 +446,7 @@ async def _read(self, sid, row): await row["emit"](*normalized) code = await row["process"].wait() if not row["closing"] and not reported_error: + diagnostic = None error = f"Amplifier worker exited (code {code}). Work was not replayed." if not row["ready"].done(): # stdout can reach EOF before the separate stderr reader. @@ -426,9 +458,13 @@ async def _read(self, sid, row): diagnostic = await asyncio.to_thread(save_startup_failure, row, code) if diagnostic: error += f" Startup details were saved locally to {diagnostic}." - await row["emit"]("runtime.error", {"sessionId": sid, "error": error}) + await row["emit"]("runtime.error", {"sessionId": sid, "error": error, + **({"diagnosticReceipt": diagnostic.name} if diagnostic else {})}) if not row["ready"].done(): - row["ready"].set_exception(RuntimeError(error)) + failure = RuntimeError(error) + if diagnostic: + failure.diagnostic_path = diagnostic + row["ready"].set_exception(failure) await self._execution_ended(sid, row, "stopped" if row["closing"] else "interrupted") except asyncio.CancelledError: raise @@ -556,7 +592,10 @@ async def _start_for_input(self, session, emit): except SessionInUseError: raise except Exception as exc: - raise RuntimeStartupError('The conversation worker could not start. This attempt did not send your message.') from exc + failure = RuntimeStartupError('The conversation worker could not start. This attempt did not send your message.') + if getattr(exc, 'diagnostic_path', None) is not None: + failure.diagnostic_path = exc.diagnostic_path + raise failure from exc async def delivery(self, session, input_id): """Inspect existing evidence; never start a worker or submit an input.""" diff --git a/amplifier_web/runtime_worker.py b/amplifier_web/runtime_worker.py index 26dad2127..3bc178ce7 100644 --- a/amplifier_web/runtime_worker.py +++ b/amplifier_web/runtime_worker.py @@ -263,6 +263,7 @@ async def preparation_progress(self, directory): async def start(self, config, *, raise_errors=False, recover_bundle=True, resolved_root=None): progress = None + startup_capture = None try: publish({"type": "runtime.progress", "phase": "bundle-preparation", "detail": "Loading your bundle and app behaviors; downloading or installing modules as needed."}) @@ -276,6 +277,8 @@ async def start(self, config, *, raise_errors=False, recover_bundle=True, resolv from runtime_bootstrap import bootstrap_app_package bootstrap_app_package() from amplifier_web.host.config import app_home + from amplifier_web.worker_diagnostics import StartupCapture + startup_capture = StartupCapture() from amplifier_web.host.session import prepare_manager from amplifier_web.execution_events import ExecutionEvents from amplifier_web.runtime_controls import RuntimeControls @@ -388,9 +391,12 @@ async def prepare_execution(self, loop, coordinator, providers): except asyncio.CancelledError: raise except Exception as exc: + diagnostic = startup_capture.save(exc, config.get("id")) if startup_capture else None if raise_errors: raise error = {"type": "runtime.error", "error": f"{type(exc).__name__}: {exc}"} + if diagnostic: + error["diagnosticReceipt"] = diagnostic.name from amplifier_web.module_failures import ConfiguredModuleError if isinstance(exc, ConfiguredModuleError): error.update(code="module_load_failed", moduleFailures=exc.failures) @@ -399,6 +405,8 @@ async def prepare_execution(self, loop, coordinator, providers): publish(error) self.shutdown.set() finally: + if startup_capture: + startup_capture.close() if progress: progress.cancel() await asyncio.gather(progress, return_exceptions=True) diff --git a/amplifier_web/service.py b/amplifier_web/service.py index 79c9081dd..df12fb0de 100644 --- a/amplifier_web/service.py +++ b/amplifier_web/service.py @@ -2221,7 +2221,8 @@ async def _guard(self, fn, args, kwargs=None): if isinstance(exc, SessionInUseError): await self.on_runtime_event('runtime.ownership', {'sessionId': sid, 'status': 'blocked', 'owner': exc.owner}) return - await self.on_runtime_event("runtime.error", {"sessionId": sid, "error": str(exc)}) + from .worker_diagnostics import diagnostic_reference + await self.on_runtime_event("runtime.error", {"sessionId": sid, "error": str(exc), **diagnostic_reference(exc)}) async def history_page(self, session_id, before, limit): await self.history.load(session_id, before=before, limit=limit) @@ -2370,8 +2371,10 @@ async def _send(self, session, text, input_id, previous_activity=None, preserve_ 'error': message, 'receipt': receipt, **receipt} self.db.execute('UPDATE commands SET receipt=? WHERE id=?', (json.dumps(saved), input_id)) self._publish() + from .worker_diagnostics import diagnostic_reference await self.on_runtime_event('runtime.error', { 'sessionId': session['id'], 'error': message, 'errorType': 'RuntimeStartupError', + **diagnostic_reference(exc), }) raise AppError(message, 503, code='worker_startup_failed', receipt=receipt) from exc except SessionInUseError as exc: @@ -2594,6 +2597,10 @@ async def on_runtime_event(self, kind, payload): if status in {"idle", "stopped"} and session.get("status") == "error" and session.get("error"): return session["status"] = status + if status in {"starting", "ready"}: + session.pop("diagnosticReceipt", None) + if isinstance(session.get("health"), dict): + session["health"].pop("diagnosticReceipt", None) if session["status"] == "idle": self.schedules.idle(session) self.recall.personalization.idle(session) @@ -2633,6 +2640,10 @@ async def on_runtime_event(self, kind, payload): session["status"] = "error" finish_execution(session,"error") session["errorAt"] = time.time() + from .worker_diagnostics import receipt_path + diagnostic = receipt_path(payload.get("diagnosticReceipt"), home=self.data_dir) + if diagnostic: + session["diagnosticReceipt"] = diagnostic.name detail = str(payload.get("error") or payload.get("message") or "Runtime failed") if payload.get('moduleFailures'): from .module_failures import ConfiguredModuleError diff --git a/amplifier_web/session_health.py b/amplifier_web/session_health.py index 82bd0f467..3ec58ac29 100644 --- a/amplifier_web/session_health.py +++ b/amplifier_web/session_health.py @@ -53,12 +53,12 @@ def failure_details(error, error_type=None): kind = error_type or type(error).__name__ kind = kind if isinstance(kind, str) and re.fullmatch(r'[A-Za-z][A-Za-z0-9_.]{0,99}', kind) else 'Error' category, summary, guidance = 'unknown', 'The turn failed. The cause is not available in the recorded details.', 'Inspect the details before sending more work. A recovery copy can help if saved context is invalid.' - if ('base64' in text or 'image_url' in text or 'screenshot' in text) and any(word in text for word in ('invalid', 'expected', 'malformed', 'missing')): + if 'invalidimageerror:' in text or (('base64' in text or 'image_url' in text or 'screenshot' in text) and any(word in text for word in ('invalid', 'expected', 'malformed', 'missing'))): category, summary = 'invalid_image', 'The provider rejected an image or computer-tool result in the conversation context.' guidance = 'Restarting may leave the same invalid history. Create a recovery copy to continue with readable history and without old tool or image payloads.' elif kind.rsplit('.', 1)[-1] == 'ContextLengthError' or any(value in text for value in ('contextlengtherror', 'context_length', 'context window', 'maximum context', 'input allowance before dispatch')): category, summary, guidance = 'context_limit', 'The conversation exceeded the model context limit.', 'Choose a model with more context or start a new conversation with a summary.' - elif re.search(r'tools\.\d+', text) and any(value in text for value in ('input tag', 'extra inputs are not permitted', 'input_schema')): + elif 'toolconfigurationerror:' in text or (re.search(r'tools\.\d+', text) and any(value in text for value in ('input tag', 'extra inputs are not permitted', 'input_schema'))): category, summary, guidance = 'tool_configuration', 'The provider rejected a tool definition for the selected model.', 'The provider/tool integration needs correction. Your conversation is saved; changing API keys will not repair a tool-format error.' elif 'authentication' in text or 'invalid_api_key' in text or 'unauthorized' in text: category, summary, guidance = 'authentication', 'The provider rejected its credentials.', 'Check the selected provider in Settings before continuing.' @@ -87,7 +87,7 @@ def inspection_stamp(session): """Match the diagnostic snapshot without comparing conversation content.""" return (tuple(session.get(key) for key in ( 'id', 'runtimeSessionId', 'nativeIdentity', 'title', 'workspace', 'bundle', - 'status', 'selection', 'error', 'errorAt', 'failure', 'configurationBusy')), + 'status', 'selection', 'error', 'errorAt', 'failure', 'configurationBusy', 'diagnosticReceipt')), tuple(worker.get('status') for worker in session.get('workers', []))) @@ -99,6 +99,10 @@ def inspect_session(home, session): 'bundle': session.get('bundle', ''), 'status': session.get('status', ''), 'selection': session.get('selection', {}), 'workReplayed': False, 'capturedAt': time.time()} + from .worker_diagnostics import receipt_path + diagnostic = receipt_path(session.get('diagnosticReceipt'), home=home) + if diagnostic: + report['diagnosticReceipt'] = diagnostic.name from .module_failures import read_failures directory = SessionStore.for_app(home, session.get('workspace')).directory(identity) current = Path(home) / 'runtime-reports' / identity diff --git a/amplifier_web/static/assets/abnfDiagram-VCTEODGH-Cxthi7DF.js b/amplifier_web/static/assets/abnfDiagram-VCTEODGH-pB_sDbfi.js similarity index 86% rename from amplifier_web/static/assets/abnfDiagram-VCTEODGH-Cxthi7DF.js rename to amplifier_web/static/assets/abnfDiagram-VCTEODGH-pB_sDbfi.js index 5cbb1339a..62c229ffd 100644 --- a/amplifier_web/static/assets/abnfDiagram-VCTEODGH-Cxthi7DF.js +++ b/amplifier_web/static/assets/abnfDiagram-VCTEODGH-pB_sDbfi.js @@ -1 +1 @@ -import{g as p,r as u,d as a}from"./chunk-SVP7TREG-XhllUbrG.js";import{p as f}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as n,l as o}from"./mermaid.core-Db1rVExV.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},F={parser:R,db:a,renderer:u,styles:p};export{F as diagram}; +import{g as p,r as u,d as a}from"./chunk-SVP7TREG-Dk8R8Cc6.js";import{p as f}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as n,l as o}from"./mermaid.core-DCzavt_d.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},F={parser:R,db:a,renderer:u,styles:p};export{F as diagram}; diff --git a/amplifier_web/static/assets/app-CI1rDkjG.js b/amplifier_web/static/assets/app-DiRg4AEn.js similarity index 79% rename from amplifier_web/static/assets/app-CI1rDkjG.js rename to amplifier_web/static/assets/app-DiRg4AEn.js index ee37cdf81..56093838d 100644 --- a/amplifier_web/static/assets/app-CI1rDkjG.js +++ b/amplifier_web/static/assets/app-DiRg4AEn.js @@ -1,25 +1,25 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-Db1rVExV.js","assets/client-BPXDbY79.js","assets/index-D1m6Llf0.js"])))=>i.map(i=>d[i]); -var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Ye=(e,t,a)=>yk(e,typeof t!="symbol"?t+"":t,a);import{a as g,R as n,r as Pi,g as tg,c as Ek}from"./client-BPXDbY79.js";const Oi=g.createContext(null),As=e=>{var t;return((t=e==null?void 0:e.view)==null?void 0:t.workSurface)||"chat"},wk=(e,t=null)=>({workSurface:e,workWorkspaceId:t,workWorkspaceTab:"chats"});/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DCzavt_d.js","assets/client-BPXDbY79.js","assets/index-D1m6Llf0.js"])))=>i.map(i=>d[i]); +var yk=Object.defineProperty;var Ek=(e,t,a)=>t in e?yk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Ye=(e,t,a)=>Ek(e,typeof t!="symbol"?t+"":t,a);import{a as g,R as n,r as Oi,g as ng,c as wk}from"./client-BPXDbY79.js";const Mi=g.createContext(null),_s=e=>{var t;return((t=e==null?void 0:e.view)==null?void 0:t.workSurface)||"chat"},kk=(e,t=null)=>({workSurface:e,workWorkspaceId:t,workWorkspaceTab:"chats"});/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kk=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ng=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();/** + */const xk=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ag=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var xk={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var Sk={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Sk=g.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:s,...l},c)=>g.createElement("svg",{ref:c,...xk,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ng("lucide",o),...l},[...s.map(([u,d])=>g.createElement(u,d)),...Array.isArray(i)?i:[i]]));/** + */const Ck=g.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:s,...l},c)=>g.createElement("svg",{ref:c,...Sk,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ag("lucide",o),...l},[...s.map(([u,d])=>g.createElement(u,d)),...Array.isArray(i)?i:[i]]));/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ee=(e,t)=>{const a=g.forwardRef(({className:r,...o},i)=>g.createElement(Sk,{ref:i,iconNode:t,className:ng(`lucide-${kk(e)}`,r),...o}));return a.displayName=`${e}`,a};/** + */const Ee=(e,t)=>{const a=g.forwardRef(({className:r,...o},i)=>g.createElement(Ck,{ref:i,iconNode:t,className:ag(`lucide-${xk(e)}`,r),...o}));return a.displayName=`${e}`,a};/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -29,7 +29,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ck=Ee("ArchiveRestore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);/** + */const Nk=Ee("ArchiveRestore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -39,7 +39,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ag=Ee("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** + */const rg=Ee("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -54,12 +54,12 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nk=Ee("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** + */const Rk=Ee("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Mi=Ee("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const zi=Ee("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -69,27 +69,27 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rg=Ee("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/** + */const og=Ee("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Rk=Ee("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + */const Tk=Ee("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Tk=Ee("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"}]]);/** + */const Ik=Ee("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"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ik=Ee("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */const Ak=Ee("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ak=Ee("Bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]);/** + */const _k=Ee("Bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -104,12 +104,12 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Xs=Ee("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const el=Ee("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _k=Ee("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + */const Pk=Ee("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -124,37 +124,37 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qc=Ee("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/** + */const jc=Ee("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Pk=Ee("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const Ok=Ee("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ok=Ee("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + */const Mk=Ee("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const og=Ee("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** + */const ig=Ee("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _s=Ee("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** + */const Ps=Ee("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ps=Ee("CodeXml",[["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"}]]);/** + */const Os=Ee("CodeXml",[["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"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Mk=Ee("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** + */const zk=Ee("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -169,7 +169,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zi=Ee("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** + */const Li=Ee("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -179,7 +179,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zk=Ee("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const Lk=Ee("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -194,12 +194,12 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dl=Ee("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** + */const Fl=Ee("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Lk=Ee("FolderDot",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["circle",{cx:"12",cy:"13",r:"1",key:"49l61u"}]]);/** + */const Dk=Ee("FolderDot",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["circle",{cx:"12",cy:"13",r:"1",key:"49l61u"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -209,7 +209,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dk=Ee("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** + */const Fk=Ee("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -229,17 +229,17 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Fk=Ee("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** + */const qk=Ee("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qk=Ee("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"}]]);/** + */const jk=Ee("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"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ig=Ee("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + */const sg=Ee("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -254,7 +254,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jk=Ee("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/** + */const Uk=Ee("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -264,52 +264,52 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sg=Ee("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"}]]);/** + */const lg=Ee("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"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Uk=Ee("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);/** + */const $k=Ee("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $k=Ee("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/** + */const Bk=Ee("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Bk=Ee("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const Hk=Ee("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hk=Ee("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + */const Vk=Ee("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Li=Ee("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const Di=Ee("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vk=Ee("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** + */const Wk=Ee("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Wk=Ee("MicOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2",key:"80xlxr"}],["path",{d:"M5 10v2a7 7 0 0 0 12 5",key:"p2k8kg"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + */const Zk=Ee("MicOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2",key:"80xlxr"}],["path",{d:"M5 10v2a7 7 0 0 0 12 5",key:"p2k8kg"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zk=Ee("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + */const Jk=Ee("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Jk=Ee("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const Kk=Ee("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -319,22 +319,22 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Kk=Ee("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const Yk=Ee("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jc=Ee("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + */const Uc=Ee("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Yk=Ee("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** + */const Gk=Ee("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Uc=Ee("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/** + */const $c=Ee("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -344,7 +344,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Gk=Ee("PanelRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/** + */const Qk=Ee("PanelRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -354,7 +354,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Di=Ee("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"}]]);/** + */const Fi=Ee("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"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -364,12 +364,12 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lg=Ee("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const cg=Ee("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qk=Ee("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** + */const Xk=Ee("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -384,7 +384,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Xk=Ee("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);/** + */const ex=Ee("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -394,12 +394,12 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ex=Ee("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/** + */const tx=Ee("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tx=Ee("ScanEye",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]);/** + */const nx=Ee("ScanEye",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -409,52 +409,52 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nx=Ee("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const ax=Ee("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ax=Ee("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/** + */const rx=Ee("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $c=Ee("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const Bc=Ee("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rx=Ee("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/** + */const ox=Ee("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ox=Ee("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const ix=Ee("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const el=Ee("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** + */const tl=Ee("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ix=Ee("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);/** + */const sx=Ee("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sx=Ee("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** + */const lx=Ee("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lx=Ee("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + */const cx=Ee("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cx=Ee("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + */const ux=Ee("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -464,7 +464,7 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ux=Ee("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const dx=Ee("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -474,22 +474,22 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dx=Ee("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);/** + */const px=Ee("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const px=Ee("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]);/** + */const mx=Ee("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cg=Ee("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** + */const ug=Ee("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mx=Ee("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const hx=Ee("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -499,22 +499,22 @@ var bk=Object.defineProperty;var yk=(e,t,a)=>t in e?bk(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hx=Ee("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);/** + */const fx=Ee("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const fx=Ee("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);function gx(e=""){const t=String(e).trim().toLowerCase();if(!/[\*?\[]/.test(t))return r=>String(r??"").toLowerCase().includes(t);const a=[];for(let r=0;rl!==u.some(([p,m])=>d>=p&&d<=m)),r=i;continue}}a.push(i=>i===o)}return r=>{const o=[...String(r??"").toLowerCase()];let i=Array(o.length+1).fill(!1);i[0]=!0;for(const s of a){const l=Array(o.length+1).fill(!1);l[0]=s==="*"&&i[0];for(let c=1;c<=o.length;c++)l[c]=s==="*"?i[c]||l[c-1]:i[c-1]&&(s==="?"||s(o[c-1]));i=l}return i[o.length]}}function tl(e,t,a){const r=gx(t);return e.filter(o=>a(o).some(r))}function Fu(e){return e.runtimeSessionId||e.nativeIdentity||e.id}function qu(e,t){var a,r,o;return e.activity?e.activity:(a=e.approvals)!=null&&a.some(i=>i.status==null||i.status==="pending")?{kind:"attention",label:"Approval requested"}:["starting","working","running","stopping"].includes(e.status)?{kind:"working",label:e.status==="starting"?"Starting":e.status==="stopping"?"Stopping":"Working"}:e.error||["error","failed"].includes(e.status)?{kind:"attention",label:"Needs attention"}:(o=(r=t==null?void 0:t.attention)==null?void 0:r.sessions)!=null&&o[e.id]?{kind:"unread",label:"New response"}:{kind:"idle",label:"Idle"}}function ju(e,t=Date.now()/1e3){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return{short:"—",long:"Activity time unavailable"};const a=Math.max(0,t-e);if(a<60)return{short:"now",long:"Just now"};for(const[r,o,i]of[["minute",60,3600],["hour",3600,86400],["day",86400,604800],["week",604800,1/0]])if(a2?"…/"+a.slice(-2).join("/"):t}function vx(e){const t=e.pathLabel||"",a=e.name||"";return e.customName?t||e.path:t.endsWith("/"+a)?t.slice(0,-a.length-1):dg(e.path)}const Bc=100;function nl(e){return(e.workspaces||[]).filter(t=>t.available===!0&&!!t.path)}function mo(e){var t;return(e==null?void 0:e.sessionKind)==="root"?!0:(e==null?void 0:e.sessionKind)==="worker"||(e==null?void 0:e.sessionKind)==="internal"?!1:(t=e==null?void 0:e.forkTranscript)!=null&&t.length||e!=null&&e.editOrigin?!0:!(e!=null&&e.nativeParentId)}function pg(e=[],t){if(!t)return[];const a=t.nativeIdentity||t.runtimeSessionId||t.id;return e.filter(r=>r.id!==t.id&&!mo(r)&&(r.parentId===t.id||r.nativeParentId===a&&(t.nativeProject?r.nativeProject===t.nativeProject:t.workspaceId?r.workspaceId===t.workspaceId:!!t.workspace&&r.workspace===t.workspace)))}function bx(e){return[e.navigationActivityAt,e.recentActivityAt,e.createdAt].find(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)??0}function mg(e,t,a="workspace"){const r=nl(e),o=new Map(r.map(h=>[h.id,h])),i=new Map(r.map(h=>[h.path,h])),s=new Set(e.pinnedSessionIds||[]),l=e.conversationOrganization||{},c=l.archived||{},u=e.view||{},d=u.navArchive||"active",p=u.navSort||"activity",m=new Map((e.pinnedSessionIds||[]).map((h,f)=>[h,f]));return(e.sessions||[]).map((h,f)=>({chat:h,position:f,workspace:o.get(h.workspaceId)||i.get(h.workspace)})).filter(h=>{var f,v,y;return mo(h.chat)&&(h.workspace||((f=h.chat.location)==null?void 0:f.kind)==="managed")&&(a==="all"||((v=h.chat.location)==null?void 0:v.kind)!=="managed"&&((y=h.workspace)==null?void 0:y.id)===(t==null?void 0:t.id))}).filter(({chat:h})=>{var f;return a!=="all"||u.navLocationFilter!=="managed"||((f=h.location)==null?void 0:f.kind)==="managed"}).filter(({chat:h})=>d==="all"||d==="archived"===Object.hasOwn(c,h.id)).map(h=>{var f,v,y,E,b;return{...h.chat,workspace:((f=h.workspace)==null?void 0:f.path)||h.chat.workspace,workspaceId:((v=h.chat.location)==null?void 0:v.kind)==="managed"?null:h.workspace.id,workspaceName:((y=h.chat.location)==null?void 0:y.kind)==="managed"?"No workspace":h.workspace.name||"",workspaceLabel:((E=h.chat.location)==null?void 0:E.kind)==="managed"?"No workspace":(b=h.workspace)==null?void 0:b.label,pinned:s.has(h.chat.id),recentActivityAt:bx(h.chat),position:h.position}}).sort((h,f)=>Number(f.pinned)-Number(h.pinned)||(h.pinned?m.get(h.id)-m.get(f.id):p==="name"?(h.title||"Untitled conversation").toLowerCase()<(f.title||"Untitled conversation").toLowerCase()?-1:(h.title||"Untitled conversation").toLowerCase()>(f.title||"Untitled conversation").toLowerCase()?1:0:p==="created"?(f.createdAt||0)-(h.createdAt||0):f.recentActivityAt-h.recentActivityAt)||h.position-f.position)}function ys(e,t,{section:a=null}={}){var N,M;const r=e.view||{},o=r.navChatScope==="all"?"all":"workspace",i=r.navFilter||"",s=e.selectedSessionId??null;t=nl(e).find(k=>k.id===((t==null?void 0:t.id)??e.selectedWorkspaceId));const l={mode:o,workspaceId:o==="all"?null:(t==null?void 0:t.id)??null,filter:i,selectedSessionId:s};a&&(l.section=a),r.navSort&&r.navSort!=="activity"&&(l.sort=r.navSort),o==="all"&&r.navLocationFilter==="managed"&&(l.locationFilter="managed");const c=r.navStatusFilter||"all";c!=="all"&&(l.statusFilter=c),r.navArchive&&r.navArchive!=="active"&&(l.archive=r.navArchive);const u=a?(N=e.sidebarNavigation)==null?void 0:N[a]:e.chatNavigation,d=k=>((k==null?void 0:k.sort)||"activity")===(l.sort||"activity"),p=k=>((k==null?void 0:k.locationFilter)||"all")===(l.locationFilter||"all"),m=r.navChatPage,h=m&&p(m)&&d(m)&&Object.entries(l).every(([k,T])=>m[k]===T),f=a==="pinned"?Math.max(0,Math.min(((u==null?void 0:u.pages)||1)-1,r.navPinnedPage||0)):h&&Number.isSafeInteger(m.index)?Math.max(0,Math.min(((u==null?void 0:u.pages)||1)-1,m.index)):null;if(u!=null&&u.scope&&p(u.scope)&&d(u.scope)&&Array.isArray(u.items)&&Object.entries(l).every(([k,T])=>u.scope[k]===T)&&(f===null||u.index===f))return u;if((M=e.library)!=null&&M.bounded)return{items:[],total:0,index:0,pages:1,start:0,end:0,scope:l,pending:!0};let v=tl(mg(e,t,o),i,k=>[k.title||"Untitled conversation",k.description||"",k.id,Fu(k),k.workspace,k.workspaceName]);(a==="pinned"||a==="recent")&&(v=v.filter(k=>k.pinned===(a==="pinned")));const y={attention:0,working:0,unread:0,idle:0};v=v.map(k=>({...k,activity:qu(k,e)}));for(const k of v)y[k.activity.kind]++;c!=="all"&&(v=v.filter(k=>k.activity.kind===c));const E=a?v.length>50?40:50:Bc,b=o==="all"?0:Math.floor(Math.max(0,v.findIndex(k=>k.id===s))/E),x=a==="pinned"?r.navPinnedPage||0:h&&Number.isSafeInteger(m.index)?m.index:b,w=Math.max(1,Math.ceil(v.length/E)),R=Math.max(0,Math.min(w-1,x)),S=R*E,I=Math.min(v.length,S+E);return{items:v.slice(S,I),total:v.length,index:R,pages:w,start:S,end:I,scope:l,activityCounts:y}}function yx(e){var i,s,l;if(!e)return{items:[],total:0};if(Array.isArray((i=e.headerChatNavigation)==null?void 0:i.items))return e.headerChatNavigation;const t=(s=e.workspaces)==null?void 0:s.find(c=>c.id===e.selectedWorkspaceId),a=(l=e.sessions)==null?void 0:l.find(c=>c.id===e.selectedSessionId),r=mg({...e,view:{...e.view,navArchive:"active",navCollection:null}},t),o=r.slice(0,Bc);return a&&mo(a)&&!o.some(c=>c.id===a.id)&&o.splice(Math.max(0,Bc-1),1,a),{items:o,total:r.length}}function hg(e,t){var r;if(Number.isSafeInteger(t==null?void 0:t.subagentCount)&&t.subagentCount>=0)return t.subagentCount;const a=e.subagentNavigation;return t&&((r=a==null?void 0:a.scope)==null?void 0:r.sessionId)===t.id&&Number.isSafeInteger(a.unfilteredTotal)?a.unfilteredTotal:pg(e.sessions,t).length}function Ex(e,t){var h,f;const a=((h=e.view)==null?void 0:h.subagentHistory)||{},r=a.filter||"",o={sessionId:t==null?void 0:t.id,filter:r},i=e.subagentNavigation,s=Number.isSafeInteger(a.index)?a.index:0;if(i!=null&&i.scope&&Array.isArray(i.items)&&Object.entries(o).every(([v,y])=>i.scope[v]===y)&&i.index===Math.max(0,Math.min(i.pages-1,s)))return i;if((f=e.library)!=null&&f.bounded)return{items:[],total:0,unfilteredTotal:hg(e,t),index:0,pages:1,start:0,end:0,scope:o,pending:!0};const l=pg(e.sessions,t),c=tl(l,r,v=>[v.title,v.description,v.id,v.nativeIdentity]),u=Math.max(1,Math.ceil(c.length/50)),d=Math.max(0,Math.min(u-1,s)),p=d*50,m=Math.min(c.length,p+50);return{items:c.slice(p,m),total:c.length,unfilteredTotal:l.length,index:d,pages:u,start:p,end:m,scope:o}}function fg(e,t,a){if(t===a||!e.includes(t)||!e.includes(a))return e;const r=e.filter(o=>o!==t);return r.splice(e.indexOf(a),0,t),r}const gg=g.createContext(!0),Wi=new WeakMap;function Uu(e="(max-width: 760px)"){const[t,a]=g.useState(()=>typeof matchMedia=="function"&&matchMedia(e).matches);return g.useEffect(()=>{if(typeof matchMedia!="function")return;const r=matchMedia(e),o=()=>a(r.matches);return o(),r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[e]),t}function al(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{var d;const o=e.current;if(!t||!o)return;const i=document.activeElement,s=[];let l=o;for(;l!=null&&l.parentElement&&l.id!=="amp-one";){for(const p of l.parentElement.children){if(p===l||p.tagName==="STYLE"||p.matches(".a-navigation-scrim,.a-details-scrim,.a-toolbar-scrim"))continue;const m=Wi.get(p)||{count:0,original:p.inert};m.count++,Wi.set(p,m),s.push(p),p.inert=!0}l=l.parentElement}const c=()=>[...o.querySelectorAll('button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]')].filter(p=>p.getClientRects().length&&!p.closest("[inert]"));(d=c()[0])==null||d.focus({preventScroll:!0});const u=p=>{if(p.defaultPrevented)return;if(p.key==="Escape"){p.preventDefault(),r.current();return}if(p.key!=="Tab")return;const m=c(),h=m[0],f=m.at(-1);if(!h){p.preventDefault();return}p.shiftKey&&(document.activeElement===h||!o.contains(document.activeElement))?(p.preventDefault(),f.focus()):!p.shiftKey&&(document.activeElement===f||!o.contains(document.activeElement))&&(p.preventDefault(),h.focus())};return document.addEventListener("keydown",u),()=>{var p;document.removeEventListener("keydown",u);for(const m of s){const h=Wi.get(m);h&&!--h.count&&(m.inert=h.original,Wi.delete(m))}i!=null&&i.isConnected&&!i.closest("[inert]")&&((p=i.focus)==null||p.call(i,{preventScroll:!0}))}},[t,e])}function rl(){const[e,t]=g.useState(()=>Date.now()/1e3);return g.useEffect(()=>{if(typeof window>"u")return;const a=setInterval(()=>t(Date.now()/1e3),3e4);return()=>clearInterval(a)},[]),e}function $u({activity:e}){return n.createElement("span",{className:"a-navigation-status","data-kind":e.kind,"aria-label":e.label,title:e.label},e.kind==="working"?n.createElement(No,{className:"a-progress-spinner"}):e.kind==="attention"?n.createElement(On,null):e.kind==="unread"?n.createElement("span",{className:"a-navigation-unread"}):n.createElement(Li,null))}function wx({at:e,now:t}){const a=ju(e,t);return n.createElement("span",{className:"a-navigation-age","data-view-source":"activity-time",title:a.long,"aria-label":"Last activity: "+a.long},a.short)}function Os({label:e,value:t}){const[a,r]=g.useState("");return g.useEffect(()=>r(""),[t]),n.createElement("div",{className:"a-navigation-copy"},n.createElement("div",null,n.createElement("span",null,e),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy "+e.toLowerCase(),onClick:async()=>{try{await navigator.clipboard.writeText(t),r("Copied")}catch{r("Select the text and copy it manually.")}}},a==="Copied"?n.createElement(Pt,null):n.createElement(ar,null))),n.createElement("code",null,t),a&&n.createElement("small",{role:"status"},a))}function vg({row:e,now:t,actions:a}){const r=e.activityCounts||{};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-navigation-detail-heading"},n.createElement(tr,null),n.createElement("span",null,"Workspace details")),n.createElement("h3",null,e.customName||e.name),n.createElement("dl",null,n.createElement("dt",null,"Chats"),n.createElement("dd",null,e.chatCount??0),n.createElement("dt",null,"Activity"),n.createElement("dd",null,r.working||0," working · ",r.attention||0," need attention"),n.createElement("dt",null,"Last activity"),n.createElement("dd",null,ju(e.recentActivityAt,t).long)),n.createElement(Os,{label:"Full workspace path",value:e.path}),a&&n.createElement("div",{className:"a-navigation-actions"},a))}function Bu({className:e="",label:t,children:a,details:r,expanded:o=!1,...i}){var k;const s=Uu(),l=g.useContext(gg),c=g.useRef(null),u=g.useRef(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),h=g.useRef(!1),f=g.useId(),[v,y]=g.useState(!1),[E,b]=g.useState(!1),[x,w]=g.useState({left:0,top:0}),R=()=>{clearTimeout(p.current),clearTimeout(m.current)},S=(T=!1)=>{var A;R(),y(!1),b(!1),T&&((A=d.current)==null||A.focus({preventScroll:!0}))};al(u,l&&s&&v,()=>S(!0));const I=(T=!1)=>{var A;R(),!((A=c.current)!=null&&A.closest('[data-reordering="true"]'))&&(!T&&document.querySelector('.a-navigation-flyout[data-locked="true"]')||(document.dispatchEvent(new CustomEvent("amplifier-navigation-details",{detail:f})),h.current=T,b(T),y(!0)))};g.useEffect(()=>()=>R(),[]),g.useEffect(()=>{l||S()},[l]),g.useEffect(()=>{o&&I(!0)},[o]),g.useEffect(()=>{if(!v)return;const T=z=>{z.key==="Escape"&&(z.preventDefault(),z.stopPropagation(),S(E))},A=z=>{var F,H;!((F=c.current)!=null&&F.contains(z.target))&&!((H=u.current)!=null&&H.contains(z.target))&&S()},q=z=>{z.detail!==f&&S()};return document.addEventListener("keydown",T,!0),document.addEventListener("pointerdown",A),document.addEventListener("amplifier-navigation-details",q),()=>{document.removeEventListener("keydown",T,!0),document.removeEventListener("pointerdown",A),document.removeEventListener("amplifier-navigation-details",q)}},[v,E,f]),g.useEffect(()=>{var T,A;v&&E&&h.current&&(h.current=!1,(A=(T=u.current)==null?void 0:T.querySelector("button"))==null||A.focus({preventScroll:!0}))},[v,E]),g.useLayoutEffect(()=>{if(!v||!u.current||!c.current)return;const T=()=>{const z=(c.current.closest(".a-nav-slot")?c.current:d.current||c.current).getBoundingClientRect(),F=u.current.getBoundingClientRect(),H=10,ne=z.right+8,B=ne+F.width<=innerWidth-H?ne:Math.max(H,z.left-F.width-8),P={left:Math.min(B,innerWidth-F.width-H),top:Math.max(H,Math.min(z.top,innerHeight-F.height-H))};w(_=>_.left===P.left&&_.top===P.top?_:P)};T();const A=new ResizeObserver(T);return A.observe(u.current),A.observe(c.current),window.addEventListener("resize",T),document.addEventListener("scroll",T,!0),()=>{A.disconnect(),window.removeEventListener("resize",T),document.removeEventListener("scroll",T,!0)}},[v,r]);const N=T=>{var A,q;T.relatedTarget instanceof Node&&((A=c.current)!=null&&A.contains(T.relatedTarget)||(q=u.current)!=null&&q.contains(T.relatedTarget))||(clearTimeout(p.current),E||(m.current=setTimeout(()=>S(),250)))},M=((k=c.current)==null?void 0:k.closest(".a-nav-slot"))||(typeof document<"u"?document.getElementById("amp-one"):null);return n.createElement("div",{...i,ref:c,className:e+(v?" is-peeking":""),onPointerEnter:T=>{clearTimeout(m.current),!s&&T.pointerType!=="touch"&&!v&&(p.current=setTimeout(()=>I(),550))},onPointerLeave:N,onClick:T=>{T.target.closest("[data-navigation-select]")&&S()}},a,n.createElement("button",{ref:d,type:"button",className:"a-icon a-navigation-more","aria-label":"Details and actions for "+t,"aria-expanded":v,"aria-controls":v?f:void 0,onClick:()=>v&&E?S():I(!0)},n.createElement(zi,null)),v&&M&&Pi.createPortal(n.createElement(n.Fragment,null,s&&n.createElement("div",{className:"a-details-scrim",onClick:()=>S(!0)}),n.createElement("section",{ref:u,id:f,role:"dialog","aria-modal":s||void 0,"aria-label":"Details for "+t,className:"a-navigation-flyout","data-locked":E,style:x,onPointerEnter:()=>clearTimeout(m.current),onPointerLeave:N,onFocus:()=>{clearTimeout(m.current),E||b(!0)}},r({close:S}))),M))}function dm(e,t,a){if(!e.includes(t))return e;const r=e.filter(o=>o!==t);return r.splice(Math.max(0,Math.min(a,r.length)),0,t),r}function bg({items:e,ids:t,onChange:a,busy:r=!1,renderItem:o,className:i="",rowClassName:s="",floatingClassName:l="",action:c="view.update",savedHint:u="",onDraggingChange:d}){var B;const p=g.useRef(null),m=g.useRef(null),h=g.useRef(new Map),f=g.useRef(!1),v=g.useRef(!0),[y,E]=g.useState(null),[b,x]=g.useState(null),[w,R]=g.useState(""),S=y||t,I=new Map(e.map(P=>[P.id,P])),N=P=>{var _;return(_=globalThis.requestAnimationFrame)==null?void 0:_.call(globalThis,()=>{var ee,Z;return(Z=(ee=p.current)==null?void 0:ee.querySelector(`[data-order-id="${CSS.escape(P)}"] .a-reorder-grip`))==null?void 0:Z.focus({preventScroll:!0})})},M=()=>{p.current&&(h.current=new Map([...p.current.querySelectorAll("[data-order-id]")].map(P=>[P.dataset.orderId,P.getBoundingClientRect()])))};g.useEffect(()=>(v.current=!0,()=>{v.current=!1,m.current=null}),[]),g.useLayoutEffect(()=>{var P;if(!(!p.current||window.matchMedia("(prefers-reduced-motion: reduce)").matches))for(const _ of p.current.querySelectorAll("[data-order-id]")){const ee=h.current.get(_.dataset.orderId);_.getAnimations().forEach(D=>D.cancel());const Z=_.getBoundingClientRect();ee&&_.dataset.orderId!==((P=m.current)==null?void 0:P.id)&&ee.top!==Z.top&&_.animate([{transform:`translateY(${ee.top-Z.top}px)`},{transform:"translateY(0)"}],{duration:150,easing:"ease-out"})}},[S.join("\0")]);const k=async(P,_)=>{var ee;if(!(r||f.current)){if(P.join("\0")===t.join("\0")){E(null);return}f.current=!0,E(P);try{await a(P,{id:_,to:P.indexOf(_)}),v.current&&R(`${(ee=I.get(_))==null?void 0:ee.label} moved to position ${P.indexOf(_)+1}.${u?" "+u:""}`)}catch(Z){v.current&&R(Z.message||"Could not change order.")}finally{f.current=!1,v.current&&(E(null),N(_))}}},T=P=>{var ee;const _=m.current;_&&(M(),m.current=null,x(null),d==null||d(!1),(ee=p.current)!=null&&ee.hasPointerCapture(_.pointerId)&&p.current.releasePointerCapture(_.pointerId),_.active&&!P&&_.valid?k(_.preview,_.id):(E(null),R("Reorder cancelled."),N(_.id)))};g.useEffect(()=>{if(typeof document>"u")return;const P=_=>{_.key==="Escape"&&m.current&&(_.preventDefault(),_.stopPropagation(),T(!0))};return document.addEventListener("keydown",P,!0),()=>document.removeEventListener("keydown",P,!0)}),g.useEffect(()=>{m.current&&m.current.original.join("\0")!==t.join("\0")&&T(!0)},[t.join("\0")]);const A=(P,_)=>{if(r||f.current||P.button!==0)return;P.preventDefault(),document.dispatchEvent(new CustomEvent("amplifier-navigation-details",{detail:"reordering"}));const ee=P.currentTarget.closest("[data-order-id]"),Z=ee.getBoundingClientRect(),D=p.current.getBoundingClientRect();let G=p.current.parentElement;for(;G&&!(G.scrollHeight>G.clientHeight&&/(auto|scroll)/.test(getComputedStyle(G).overflowY));)G=G.parentElement;const j=[...p.current.querySelectorAll("[data-order-id]")];m.current={id:_,pointerId:P.pointerId,x:P.clientX,y:P.clientY,box:Z,bounds:D,scroll:G,scrollTop:(G==null?void 0:G.scrollTop)||0,centers:j.map(K=>{const oe=K.getBoundingClientRect();return(oe.top+oe.bottom)/2}),original:[...t],preview:[...t],active:!1,valid:!0},p.current.setPointerCapture(P.pointerId)},q=P=>{const _=m.current;if(!_||!_.active&&Math.hypot(P.clientX-_.x,P.clientY-_.y)<5)return;_.active||d==null||d(!0),_.active=!0,P.preventDefault();const{box:ee,bounds:Z,scroll:D}=_;if(D){const xe=D.getBoundingClientRect();P.clientYxe.bottom-35&&(D.scrollTop+=12)}const G=((D==null?void 0:D.scrollTop)||0)-_.scrollTop;_.valid=P.clientX>=Z.left-24&&P.clientX<=Z.right+24&&P.clientY>=Z.top-G-28&&P.clientY<=Z.bottom-G+28;let j=0,K=1/0;_.centers.forEach((xe,ce)=>{const _e=Math.abs(P.clientY+G-xe);_e{M(),k(dm(t,P,_),P)},F=(P,_=!1)=>n.createElement("button",{type:"button",className:"a-icon a-order-grip a-reorder-grip","aria-disabled":r||f.current||void 0,draggable:!1,"data-action":c,"aria-label":"Reorder "+P.label,title:"Drag, or use Up/Down (Alt + Up/Down also works)",tabIndex:_?-1:0,onPointerDown:ee=>A(ee,P.id),onKeyDown:ee=>{["ArrowUp","ArrowDown"].includes(ee.key)&&(ee.preventDefault(),z(P.id,t.indexOf(P.id)+(ee.key==="ArrowUp"?-1:1)))}},n.createElement(Fk,null)),H=b&&I.get(b.id),ne=((B=p.current)==null?void 0:B.closest(".a-settings-experience,.a-nav-slot"))||p.current;return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-reorder-list "+i,ref:p,"data-reordering":!!b||void 0,onPointerMove:q,onPointerUp:()=>T(!1),onPointerCancel:()=>T(!0),onLostPointerCapture:()=>{m.current&&T(!0)},onDragStart:P=>P.preventDefault()},S.map((P,_)=>{const ee=I.get(P)||{id:P,label:P};return n.createElement("div",{key:P,"data-order-id":P,className:`a-reorder-item ${s}${(b==null?void 0:b.id)===P?" a-order-placeholder":""}`},(b==null?void 0:b.id)===P&&b.valid&&n.createElement("span",{className:"a-order-insertion","aria-hidden":"true"}),o(ee,{handle:F(ee),index:_,move:Z=>z(P,Z),floating:!1}))})),H&&ne&&Pi.createPortal(n.createElement("div",{className:"a-order-floating a-reorder-floating "+l,"aria-hidden":"true",inert:!0,style:{left:b.left,top:b.top,width:b.width}},o(H,{handle:F(H,!0),index:S.indexOf(b.id),move:()=>{},floating:!0})),ne),n.createElement("span",{className:"a-sr-only",role:"status","aria-live":"polite"},w))}function Da({state:e={},section:t,page:a,count:r,settings:o=!1}){var s,l,c,u,d,p;const i=r??(o?(s=e.attention)==null?void 0:s.settingsUnread:a?(c=(l=e.attention)==null?void 0:l.pages)==null?void 0:c[a]:t?(d=(u=e.attention)==null?void 0:u.sections)==null?void 0:d[t]:(p=e.attention)==null?void 0:p.unread);return i>0?n.createElement("span",{className:"a-attention-badge",role:"status","aria-label":`${i} unread items`},i):null}function yg(e,t,a){const r=JSON.stringify(e.filter(o=>o&&!o.read).map(o=>[o.id,o.fingerprint]));n.useEffect(()=>{const o=e.filter(m=>m&&!m.read),i=a.current;if(!o.length||!i)return;let s,l=!1,c=!1;const u=()=>l&&!document.hidden&&document.hasFocus()&&i.getClientRects().length>0&&!i.closest("[inert], [hidden], details:not([open])"),d=()=>{clearTimeout(s),!c&&u()&&(s=setTimeout(()=>{u()&&(c=!0,Promise.resolve(Fr(t,o)).catch(()=>{c=!1}))},750))},p=new IntersectionObserver(m=>{l=m[0].isIntersecting,d()});return p.observe(i),document.addEventListener("visibilitychange",d),window.addEventListener("focus",d),window.addEventListener("blur",d),()=>{clearTimeout(s),p.disconnect(),document.removeEventListener("visibilitychange",d),window.removeEventListener("focus",d),window.removeEventListener("blur",d)}},[r,t,a])}function Fi({item:e,act:t,children:a,className:r}){const o=n.useRef(null);return yg(e?[e]:[],t,o),n.createElement("div",{ref:o,className:r},a)}function Ms({state:e,act:t,page:a,items:r,showItems:o=!1}){var s;const i=r||(((s=e.attention)==null?void 0:s.items)||[]).filter(l=>l.page===a&&!l.read);return!i.length||a==="updates"?null:n.createElement("div",{className:"a-attention-review"},i.map(l=>n.createElement(Fi,{key:l.id,item:l,act:t},n.createElement("p",null,n.createElement("strong",null,l.title),l.detail&&n.createElement(n.Fragment,null," · ",l.detail)))))}const Fr=(e,t)=>e("attention.read",{ids:t.map(a=>a.id),fingerprints:Object.fromEntries(t.map(a=>[a.id,a.fingerprint]))});function kx({state:e,act:t}){var l;const[a,r]=n.useState(!1),o=((l=e.attention)==null?void 0:l.items)||[],i=o.filter(c=>a||!c.read);async function s(c){c.sessionId?(await t("session.select",{id:c.sessionId}),await t("view.update",{patch:{panel:null}})):c.requestId?(await t("view.update",{patch:{panel:"feedback"}}),await Fr(t,[c])):await t("view.update",{patch:{panel:"settings",settingsSection:c.section,settingsExpanded:[c.page]}})}return n.createElement("section",{className:"a-activity-inbox","aria-label":"Activity to review"},n.createElement("p",null,"Finished work and items that need your attention. Read status is shared with your agent and other devices."),o.some(c=>c.read)&&n.createElement("button",{className:"a-link",type:"button",onClick:()=>r(!a)},a?"Hide reviewed items":"Show reviewed items"),i.length?n.createElement(n.Fragment,null,i.map(c=>n.createElement("div",{className:"a-attention-item",key:c.id},n.createElement("button",{className:"a-attention-open",type:"button","data-action":c.sessionId?"session.select":"view.update",onClick:()=>s(c)},n.createElement("strong",null,c.title),n.createElement("span",null,c.label||c.detail))))):n.createElement("p",null,"All caught up."))}function xx(e){var t,a;return(a=(t=e==null?void 0:e.attention)==null?void 0:t.items)==null?void 0:a.find(r=>r.id==="completion:"+e.selectedSessionId&&!r.read)}function Sx(e,t,a,r=!0){var s,l,c,u;const o=xx(e),i=!!((s=e==null?void 0:e.view)!=null&&s.panel)||!!((l=e==null?void 0:e.view)!=null&&l.canvasFocused)||!!((c=e==null?void 0:e.view)!=null&&c.navExpanded)&&matchMedia("(max-width:760px)").matches||!!((u=e==null?void 0:e.canvas)!=null&&u.open)&&matchMedia("(max-width:760px)").matches;n.useEffect(()=>{if(!r||!o||i||!a.current)return;const d=a.current;let p;const m=()=>!document.hidden&&document.hasFocus()&&d.clientHeight>0&&getComputedStyle(d).visibility!=="hidden"&&!d.closest("[inert]")&&d.scrollHeight-d.scrollTop-d.clientHeight<40,h=()=>{clearTimeout(p),m()&&(p=setTimeout(()=>{m()&&Fr(t,[o])},900))};d.addEventListener("scroll",h,{passive:!0}),document.addEventListener("visibilitychange",h),window.addEventListener("focus",h),window.addEventListener("blur",h);const f=new ResizeObserver(h);f.observe(d);for(const v of d.children)f.observe(v);return h(),()=>{clearTimeout(p),f.disconnect(),d.removeEventListener("scroll",h),document.removeEventListener("visibilitychange",h),window.removeEventListener("focus",h),window.removeEventListener("blur",h)}},[o==null?void 0:o.id,o==null?void 0:o.fingerprint,i,t,a,r])}const Fl=new WeakMap,Eg=e=>{var t;return(t=e==null?void 0:e.closest)==null?void 0:t.call(e,"[data-activity-region],.a-model-popover,.a-location-picker,.a-settings-page-body,.a-card,section,form")};function Hu(e){if(!e)return()=>{};const t=Fl.get(e)||{tokens:new Set,busy:e.getAttribute("aria-busy")},a=Symbol();t.tokens.add(a),Fl.set(e,t),e.setAttribute("data-region-pending",""),e.setAttribute("aria-busy","true");let r=!1;return()=>{r||(r=!0,t.tokens.delete(a),t.tokens.size||(e.removeAttribute("data-region-pending"),t.busy===null?e.removeAttribute("aria-busy"):e.setAttribute("aria-busy",t.busy),Fl.delete(e)))}}function Vu(e,t){g.useEffect(()=>t?Hu(e.current):void 0,[t])}function Yt({busy:e=!1,name:t,children:a,className:r="",as:o="div",...i}){const s=g.useRef(null);return Vu(s,e),n.createElement(o,{...i,ref:s,className:r,"data-activity-region":t||""},a)}function Hc(e,t,a){var o;const r=g.useRef(null);return a||(r.current={key:e,value:t}),a&&((o=r.current)==null?void 0:o.key)===e?r.current.value:t}const Zi=[];function ol(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{if(!e||!t.current)return;let o=!1;const i={};Zi.push(i);const s=d=>!!t.current&&!d.composedPath().includes(t.current),l=d=>{o=s(d)},c=d=>{o&&s(d)&&r.current()},u=d=>{d.key==="Escape"&&Zi.at(-1)===i&&(d.preventDefault(),d.stopImmediatePropagation(),r.current())};return document.addEventListener("pointerdown",l,!0),document.addEventListener("click",c,!0),document.addEventListener("keydown",u,!0),()=>{Zi.splice(Zi.indexOf(i),1),document.removeEventListener("pointerdown",l,!0),document.removeEventListener("click",c,!0),document.removeEventListener("keydown",u,!0)}},[e,t])}function it({phase:e,message:t,detail:a}){const r=g.useRef(null),o=["working","queued","pending","checking","staging","validating","activating"].includes(e),i=["error","failed"].includes(e),s=o?No:i?Ok:e==="neutral"?ig:Pk;return g.useEffect(()=>o&&t?Hu(Eg(r.current)):void 0,[o,!!t]),t?n.createElement("div",{ref:r,className:`a-check-result ${o||e==="neutral"?"pending":i?"error":"success"}`,role:i?"alert":"status","aria-live":"polite"},n.createElement(s,{"aria-hidden":"true",className:o?"a-progress-spinner":void 0}),n.createElement("div",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a))):null}const Wu=g.createContext(null);function Pa({id:e,title:t,summary:a,state:r,act:o,children:i}){var m,h,f;const s=g.useContext(Wu),l={setup:["loaded-modules","providers","routing","defaults","conversation"],capabilities:["smart-tools","add-bundles","app-bundles","loaded-modules","registries","share-bundle"],maintenance:["ready-conversations","updates","diagnostics","history","permissions","notifications","automation","repair","reset"]},c=s||((h=(m=r.view)==null?void 0:m.settingsExpanded)==null?void 0:h.find(v=>{var y,E;return!((y=r.view)!=null&&y.settingsSection)||((E=l[r.view.settingsSection])==null?void 0:E.includes(v))})),u=c===e,d=g.useRef();if(g.useEffect(()=>{var v,y,E;u&&!s&&((v=d.current)==null||v.focus({preventScroll:!0}),(E=(y=d.current)==null?void 0:y.closest(".a-dialog"))==null||E.scrollTo(0,0))},[u,s]),s)return u?n.createElement("section",{className:"a-settings-page","data-settings-page":e},n.createElement("div",{id:"settings-group-"+e,className:"a-settings-page-body"},i)):null;if(c&&!u)return null;const p=()=>o("view.update",{patch:{settingsExpanded:u?[]:[e]}});return u?n.createElement("section",{className:"a-settings-page",key:e},n.createElement("button",{type:"button",className:"a-link a-settings-back","data-action":"view.update",onClick:p},n.createElement(xa,null),"Back to ",{setup:"Setup",capabilities:"Capabilities",maintenance:"Maintenance"}[((f=r.view)==null?void 0:f.settingsSection)||"setup"]),n.createElement("h3",{ref:d,tabIndex:-1},t),n.createElement(Ms,{state:r,act:o,page:e}),n.createElement("div",{id:"settings-group-"+e,className:"a-settings-page-body"},i)):n.createElement("section",{className:"a-settings-group"},n.createElement("button",{type:"button",className:"a-settings-group-title","aria-label":t+(a?" "+a:""),"data-action":"view.update",onClick:p},n.createElement("span",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a)),n.createElement(Da,{state:r,page:e}),n.createElement(Gt,{"aria-hidden":"true"})))}function wg({id:e,accept:t,disabled:a,action:r,onFile:o,label:i="Choose file",hint:s}){const l=g.useRef(),[c,u]=g.useState(!1),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(!1),y=g.useRef(!1);async function E(b){if(!(!b||a||y.current)){y.current=!0,v(!0),h(""),p(b.name);try{await o(b)}catch(x){h(x.message)}finally{y.current=!1,v(!1)}}}return n.createElement(Yt,{busy:f,name:e,className:`a-file-drop ${c?"drag-over":""}`,onDragOver:b=>{b.preventDefault(),a||u(!0)},onDragLeave:()=>u(!1),onDrop:b=>{var x;b.preventDefault(),u(!1),E((x=b.dataTransfer.files)==null?void 0:x[0])}},n.createElement(cg,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-soft",disabled:a||f,"data-operation-pending":f||void 0,"aria-busy":f||void 0,"data-action":r,onClick:()=>{var b;return(b=l.current)==null?void 0:b.click()}},i),n.createElement("small",null,d||s||"Drop a file here, or browse to choose one.")),n.createElement("input",{ref:l,id:e,className:"a-file-input",type:"file",accept:t,disabled:a,"data-action":r,"aria-label":i,onChange:b=>{var x;E((x=b.target.files)==null?void 0:x[0]),b.target.value=""}}),m&&n.createElement(it,{phase:"error",message:m}))}function Cx(e){var a;const t=(a=(e.getData("text/uri-list")||e.getData("text/plain")||"").split(` -`).find(r=>r.trim()&&!r.startsWith("#")))==null?void 0:a.trim();if(!t)return null;if(t.startsWith("file://"))try{return decodeURIComponent(new URL(t).pathname)}catch{return null}return t}function Nx({id:e,parent:t,act:a,status:r,listing:o,onCreated:i}){const[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(null),[m,h]=g.useState(""),f=g.useRef(!1);g.useEffect(()=>{u(""),l(!1),h("")},[t]),g.useEffect(()=>{!d||(r==null?void 0:r.commandId)!==d||(r.phase==="error"&&(h(r.error||"Could not create the folder."),p(null),f.current=!1),r.phase==="ready"&&(o==null?void 0:o.createdBy)===d&&(p(null),f.current=!1,u(""),l(!1),i(o.path)))},[d,r==null?void 0:r.commandId,r==null?void 0:r.phase,o==null?void 0:o.createdBy]);async function v(){if(!(!c.trim()||f.current)){f.current=!0,h(""),p("sending");try{const y=await a("locations.create",{controlId:e,path:t,name:c.trim()});if(!(y!=null&&y.accepted)||!y.operationId)throw Error((y==null?void 0:y.error)||"Folder creation was not accepted.");p(y.operationId)}catch(y){f.current=!1,p(null),h(y.message)}}}return n.createElement("div",{className:"a-create-folder"},s?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:e+"-folder-name"},"New folder name"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:e+"-folder-name",value:c,maxLength:255,autoFocus:!0,disabled:!!d,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&(y.preventDefault(),v())}}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.create",disabled:!!d||!c.trim(),onClick:v},d?"Creating…":"Create folder"),n.createElement("button",{type:"button",className:"a-soft",disabled:!!d,onClick:()=>{l(!1),u(""),h("")}},"Cancel"))):n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:!!d,onClick:()=>l(!0)},n.createElement(Dk,null),"New folder"),m&&n.createElement(it,{phase:"error",message:m}))}function Ma({id:e,value:t,onChange:a,state:r,act:o,placeholder:i,action:s="view.update",directory:l=!1,multiline:c=!1}){var k,T,A,q,z;const[u,d]=g.useState(!1),[p,m]=g.useState(""),[h,f]=g.useState(""),v=(k=r.view)==null?void 0:k.locationPicker,y=(v==null?void 0:v.controlId)===e,E=((T=r.locationListing)==null?void 0:T.controlId)===e?r.locationListing:null;g.useEffect(()=>{y&&f(v.path??(E==null?void 0:E.path)??"")},[y,v==null?void 0:v.path,E==null?void 0:E.path]);const b=g.useRef(null);ol(y,b,()=>o("view.update",{patch:{locationPicker:null}}));const x=(A=r.actionStatus)==null?void 0:A["locations.list"],w=((q=x==null?void 0:x.target)==null?void 0:q.controlId)===e?x:null,R=["working","queued"].includes(w==null?void 0:w.phase),S=Hc(e,E,R),I=F=>(f(F||""),m(""),o("view.update",{patch:{locationPicker:{controlId:e,path:F||""}}}),o("locations.list",{controlId:e,...F?{path:F}:{},directoriesOnly:l})),N=F=>{a(c?[t,F].filter(Boolean).join(` -`):F),o("view.update",{patch:{locationPicker:null}})},M=c?"textarea":"input";return n.createElement("div",{ref:b,className:`a-path-field ${u?"drag-over":""}`,onDragOver:F=>{F.preventDefault(),d(!0)},onDragLeave:()=>d(!1),onDrop:F=>{F.preventDefault(),d(!1);const H=Cx(F.dataTransfer);H?(m(""),a(c?[t,H].filter(Boolean).join(` -`):H)):m("Your browser hides the full path of dropped files. Use Browse, or drop a copied file or folder path.")}},n.createElement("div",{className:"a-inline-form"},n.createElement(M,{id:e,value:t,placeholder:i,"data-action":s,onChange:F=>a(F.target.value)}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",onClick:()=>I(!c&&(t!=null&&t.startsWith("/"))?t:void 0)},n.createElement(tr,null),"Browse")),p&&n.createElement(it,{phase:"error",message:p})," ",y&&n.createElement(Yt,{busy:R,name:e+"-locations",className:"a-location-picker"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,l?"Choose a folder":"Choose a file or folder"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close location picker","data-action":"view.update",onClick:()=>o("view.update",{patch:{locationPicker:null}})},n.createElement(tn,null))),n.createElement("label",{htmlFor:e+"-browse-path"},"Folder path"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:e+"-browse-path",value:h,placeholder:"Type a path, e.g. ~/Projects","data-action":"view.update",onChange:F=>{f(F.target.value),o("view.update",{patch:{locationPicker:{...v,path:F.target.value}}})},onKeyDown:F=>{F.key==="Enter"&&(F.preventDefault(),I(F.currentTarget.value))}}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",onClick:()=>I(h)},"Go")),(w==null?void 0:w.phase)==="error"&&n.createElement(it,{phase:"error",message:w.error})," ",R&&!S&&n.createElement(it,{phase:"working",message:"Loading locations…"}),S&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-settings-row"},n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",disabled:S.parent===S.path,onClick:()=>I(S.parent)},n.createElement(Mi,null),"Up"),n.createElement("code",{className:"a-wrap"},S.path)),n.createElement(Nx,{id:e,parent:S.path,act:o,status:(z=r.actionStatus)==null?void 0:z["locations.create"],listing:E,onCreated:F=>{f(F),o("view.update",{patch:{locationPicker:{controlId:e,path:F}}})}}),n.createElement("div",{className:"a-location-list"},S.entries.map(F=>n.createElement("button",{type:"button",className:"a-location-entry",key:F.path,"data-action":F.directory?"locations.list":s,onClick:()=>F.directory?I(F.path):N(F.path)},F.directory&&n.createElement(tr,null),F.name,F.directory&&n.createElement(Gt,null))),!S.entries.length&&n.createElement("p",null,"No ",l?"folders":"files"," here.")),S.truncated&&n.createElement("p",null,"Showing the first 300 items. Enter a more specific path above."),n.createElement("button",{type:"button",className:"a-primary","data-action":s,onClick:()=>N(S.path)},"Use this folder"))))}function kg({id:e,value:t,onChange:a,state:r,act:o,action:i="view.update"}){var d,p,m,h;const s=((p=(d=r.view)==null?void 0:d.bundleSources)==null?void 0:p.includes(e))||!1,l=f=>{var v,y;return o("view.update",{patch:{bundleSources:f?[...new Set([...((v=r.view)==null?void 0:v.bundleSources)||[],e])]:(((y=r.view)==null?void 0:y.bundleSources)||[]).filter(E=>E!==e)}})};g.useEffect(()=>{o("bundles.list",{})},[]);const c=r.registeredBundles||[{name:"work",label:"Work",value:"work"}],u=c.find(f=>f.value===t);return n.createElement(Yt,{busy:["queued","working"].includes((h=(m=r.actionStatus)==null?void 0:m["bundles.list"])==null?void 0:h.phase),name:"bundles-"+e,className:"a-bundle-picker"},n.createElement("select",{id:e,"aria-label":"Registered root bundles",value:u?t:":custom:","data-action":i,onChange:f=>{f.target.value===":custom:"?l(!0):a(f.target.value)}},n.createElement("option",{value:":custom:"},t&&!u?t:"Choose a bundle"),c.map(f=>n.createElement("option",{value:f.value,key:f.value},f.label||f.name))),(u==null?void 0:u.description)&&n.createElement("p",{className:"a-caption"},u.description),n.createElement("button",{type:"button",className:"a-link","aria-expanded":s,"data-action":"view.update",onClick:()=>l(!s)},s?"Hide source":"Use a bundle source or file"),s&&n.createElement(Ma,{action:i,id:e+"-source",value:t,onChange:a,state:r,act:o,placeholder:"Bundle name, git URL or file path"}))}const xg=e=>{var t;return((t=e==null?void 0:e.result)==null?void 0:t.accepted)!==void 0?e.result:e};function il({state:e,act:t,mode:a="create",fromDraft:r=!1,onDone:o,onCancel:i}){var T,A;const[s,l]=g.useState(a),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(null),[y,E]=g.useState(!1),[b,x]=g.useState(""),w=g.useRef(!1),R=g.useRef(null),S=g.useId();g.useEffect(()=>{var q,z;(z=(q=R.current)==null?void 0:q.querySelector("input"))==null||z.focus()},[s]);const I=q=>z=>{q(z),v(null),x("")},N=async(q,z)=>{const F=xg(await t(q,z));if(!F||F.accepted===!1)throw Error((F==null?void 0:F.error)||"Could not save. Your choices are kept.");return F.result},M=async q=>{if(q.preventDefault(),!w.current){w.current=!0,E(!0),x("");try{if(s==="attach"){const H=await N("workspace.add",{path:d,fromDraft:r});o==null||o(H);return}const z=f||await N("workspace.prepare",{name:c,...m.trim()?{root:m.trim()}:{}});if(v(z),z.disposition!=="create")return;const F=await N("workspace.create",{planId:z.planId,fromDraft:r});o==null||o(F)}catch(z){x(z.message)}finally{w.current=!1,E(!1)}}},k=async()=>{if(!w.current){w.current=!0,E(!0),x("");try{const q=await N("workspace.add",{path:f.path,fromDraft:r});o==null||o(q)}catch(q){x(q.message)}finally{w.current=!1,E(!1)}}};return n.createElement("form",{ref:R,className:"a-workspace-setup",onSubmit:M,"aria-label":s==="attach"?"Use existing folder":"Create workspace","aria-busy":y},n.createElement("div",{className:"a-workspace-setup-heading"},n.createElement("h3",null,s==="attach"?"Use an existing folder":"New workspace"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Cancel workspace setup",disabled:y,onClick:i},n.createElement(tn,null))),s==="create"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:S+"-name"},"Workspace name"),n.createElement("input",{id:S+"-name",value:c,maxLength:200,required:!0,disabled:y,placeholder:"e.g. Launch plan",onChange:q=>I(u)(q.target.value)}),n.createElement("details",null,n.createElement("summary",null,"More options"),n.createElement("label",{htmlFor:S+"-root"},"Create in"),n.createElement(Ma,{id:S+"-root",value:m,placeholder:((T=e.workspaceDefaults)==null?void 0:T.root)||"Default workspace folder",directory:!0,state:e,act:t,onChange:I(h)}),n.createElement("p",{className:"a-caption"},"A new folder will be created here. Change the default in Settings → Workspaces."))):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:S+"-folder"},"Folder on ",((A=e.workspaceDefaults)==null?void 0:A.hostLabel)||"this host"),n.createElement(Ma,{id:S+"-folder",value:d,directory:!0,state:e,act:t,onChange:I(p),placeholder:"~/dev/my-project"}),n.createElement("p",{className:"a-caption"},"Work with files here. Existing Amplifier chats will appear automatically.")),f&&f.disposition!=="create"&&n.createElement("p",{role:"status"},f.disposition==="open"?"This folder already has a workspace.":f.disposition==="attach"?"This folder already exists. Use it as a workspace?":"A file already uses this name. Choose another name.",n.createElement("span",{className:"a-workspace-destination"},f.path)),b&&n.createElement("p",{role:"alert",className:"a-danger"},b),n.createElement("div",{className:"a-workspace-setup-actions"},n.createElement("button",{type:"button",className:"a-link",disabled:y,onClick:i},"Cancel"),f&&["open","attach"].includes(f.disposition)?n.createElement("button",{type:"button",className:"a-primary",disabled:y,onClick:k},f.disposition==="open"?"Open workspace":"Use folder"):n.createElement("button",{type:"submit",className:"a-primary",disabled:y||!(s==="create"?c.trim():d.trim())},y?"Saving…":s==="create"?"Create workspace":"Use folder")),n.createElement("button",{type:"button",className:"a-link",disabled:y,onClick:()=>{l(s==="create"?"attach":"create"),v(null),x("")}},s==="create"?"Use an existing folder":"Create a new workspace"))}function Rx({state:e,act:t,setup:a,onChange:r}){var H,ne;const[o,i]=g.useState(null),[s,l]=g.useState([]),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(!1),[f,v]=g.useState(0),[y,E]=g.useState(!0),[b,x]=g.useState(0),[w,R]=g.useState(0),[S,I]=g.useState(!1),N=g.useRef(null),M=g.useRef(!1),k=g.useRef(null),T=g.useId(),A=40;g.useEffect(()=>{var B;o||(B=N.current)==null||B.focus()},[o]),g.useEffect(()=>{if(o)return;let B=!0;E(!0),p(""),l([]);const P=setTimeout(()=>{Promise.resolve(t("workspace.list",{query:c,offset:f*A,limit:A})).then(_=>{const ee=xg(_);if(!(ee!=null&&ee.accepted))throw Error((ee==null?void 0:ee.error)||"Could not load workspaces.");B&&(l(ee.result.items),h(ee.result.nextOffset!=null),x(ee.result.total||0),k.current&&(k.current.scrollTop=0))}).catch(_=>{B&&p(_.message)}).finally(()=>{B&&E(!1)})},c?150:0);return()=>{B=!1,clearTimeout(P)}},[c,f,(H=e.workspaces)==null?void 0:H.length,o,w]);const q=async B=>{if(!M.current){M.current=!0,I(!0),p("");try{await r({workspace:B,location:{kind:B?"workspace":"managed"}})}catch(P){p(P.message)}finally{M.current=!1,I(!1)}}},z=((ne=a.location)==null?void 0:ne.kind)==="managed"?"":a.workspace||"",F=B=>{const P=B.split("/").filter(Boolean);return P.pop(),P.length>3?"…/"+P.slice(-3).join("/"):"/"+P.join("/")};return o?n.createElement("div",{className:"a-workspace-picker"},n.createElement("button",{type:"button",className:"a-link a-picker-back",onClick:()=>i(null)},n.createElement(xa,null),"Back to workspaces"),n.createElement("h3",null,o==="create"?"New workspace":"Use an existing folder"),n.createElement(il,{state:e,act:t,mode:o,fromDraft:!0,onCancel:()=>i(null),onDone:B=>q(B.path)}),d&&n.createElement("p",{role:"alert"},d)):n.createElement("div",{className:"a-workspace-picker","aria-busy":S},n.createElement("button",{type:"button",className:"a-picker-choice","aria-pressed":!z,disabled:S,onClick:()=>q("")},n.createElement(Li,null),n.createElement("span",null,n.createElement("strong",null,"No workspace"),n.createElement("small",null,"Keep this conversation on its own.")),!z&&n.createElement(Pt,null)),n.createElement("label",{className:"a-picker-search",htmlFor:T+"-search"},n.createElement(Ro,null),n.createElement("input",{ref:N,id:T+"-search",type:"search",maxLength:500,"aria-label":"Find a workspace",placeholder:"Search workspaces by name or folder",value:c,onChange:B=>{v(0),u(B.target.value)}})),n.createElement("div",{ref:k,className:"a-picker-results","aria-label":"Workspaces","aria-busy":y},y?n.createElement("p",{role:"status"},"Finding workspaces…"):d?n.createElement("p",{role:"alert"},d," ",n.createElement("button",{type:"button",className:"a-link",onClick:()=>R(w+1)},"Try again")):s.length?n.createElement("ul",null,s.map(B=>n.createElement("li",{key:B.id},n.createElement("button",{type:"button",className:"a-picker-choice","aria-label":B.name+" · "+B.path,"aria-pressed":z===B.path,disabled:S,title:B.path,onClick:()=>q(B.path)},n.createElement(Lr,null),n.createElement("span",null,n.createElement("strong",null,B.name),n.createElement("small",null,F(B.path))),z===B.path&&n.createElement(Pt,null))))):n.createElement("p",{role:"status"},c?"No matching workspaces. Try a name or part of its folder path.":"No workspaces yet. Create one or use an existing folder below.")),!y&&!d&&(f>0||m)&&n.createElement("div",{className:"a-picker-pages"},n.createElement("span",null,f*A+1,"–",f*A+s.length," of ",b),n.createElement("button",{type:"button",className:"a-link",disabled:!f,onClick:()=>v(f-1)},"Previous"),n.createElement("button",{type:"button",className:"a-link",disabled:!m,onClick:()=>v(f+1)},"Next")),n.createElement("div",{className:"a-picker-actions"},n.createElement("button",{type:"button",disabled:S,onClick:()=>i("create")},n.createElement(Mn,null),"New workspace"),n.createElement("button",{type:"button",disabled:S,onClick:()=>i("attach")},n.createElement(tr,null),"Use existing folder")))}function Tx({state:e,act:t}){var u,d,p,m,h,f;const[a,r]=g.useState(((d=(u=e.settings)==null?void 0:u.workspaces)==null?void 0:d.defaultRoot)||""),[o,i]=g.useState(""),[s,l]=g.useState(!1),c=async v=>{v.preventDefault(),l(!0);try{const y=await t("settings.update",{patch:{workspaces:{defaultRoot:a.trim()}}});if(!y||y.accepted===!1)throw Error((y==null?void 0:y.error)||"Could not save.");i("Saved. Existing workspaces stay where they are.")}catch(y){i(y.message)}finally{l(!1)}};return n.createElement("form",{className:"a-workspace-setup",onSubmit:c},n.createElement("h3",null,"Where new workspaces live"),n.createElement("p",null,"Name a workspace and Amplifier creates its folder here."),n.createElement("label",{htmlFor:"default-workspace-root"},"Default workspace folder on ",((p=e.workspaceDefaults)==null?void 0:p.hostLabel)||"this host"),n.createElement(Ma,{id:"default-workspace-root",value:a,directory:!0,state:e,act:t,onChange:r,placeholder:(m=e.workspaceDefaults)==null?void 0:m.root}),n.createElement("p",{className:"a-caption"},"Leave blank to use Amplifier’s workspace folder. This only affects new workspaces."),n.createElement("button",{className:"a-primary",disabled:s},"Save"),o&&n.createElement("p",{role:"status"},o),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:!!((f=(h=e.settings)==null?void 0:h.workspaces)!=null&&f.showPaths),onChange:v=>t("settings.update",{patch:{workspaces:{showPaths:v.target.checked}}})}),"Show folder paths in the sidebar"))}function qi({state:e,act:t,onOpen:a,onEdit:r,heading:o=!0,previewLimit:i=1/0,compact:s=!1,onSelect:l}){var F,H,ne,B,P,_,ee;const c=rl(),u=e.workspaceExplorer||{},d=s?e.workspaceShortcuts||[]:u.rows||[],p=u.breadcrumbs||[],[m,h]=g.useState(!1),v=!m&&!u.filter&&u.mode==="recent"&&(u.page||1)===1?d.slice(0,i):d,[y,E]=g.useState(u.filter||""),b=g.useRef(null);g.useEffect(()=>{b.current=null,E(u.filter||"")},[e.selectedWorkspaceId]),g.useEffect(()=>{(b.current===null||b.current===u.filter)&&(b.current=null,E(u.filter||""))},[u.filter]);const[x,w]=g.useState(0),R=g.useRef(null);Vu(R,x>0||!!((F=e.sharedHistory)!=null&&F.loading));const S=async Z=>{w(D=>D+1);try{return await t("view.update",{patch:Z})}finally{w(D=>D-1)}},I=Z=>(b.current=null,E(""),S({navWorkspacePath:Z,navWorkspaceFilter:"",navWorkspacePage:1,navWorkspaceAncestorsOpen:!1,navWorkspaceMode:"folders"})),N=Z=>{b.current=Z,E(Z),Promise.resolve(S({navWorkspaceFilter:Z,navWorkspacePage:1})).then(D=>{b.current===Z&&(!D||D.accepted===!1?(b.current=null,E(u.filter||"")):b.current=null)}).catch(()=>{b.current===Z&&(b.current=null,E(u.filter||""))})},M=async Z=>{if(l)return l(Z);const D=await t("workspace.select",{id:Z.workspaceId});D&&D.accepted!==!1&&await(a==null?void 0:a())},k=p.length>3?p.slice(0,-2):[],T=k.length?p.slice(-2):p,A=u.page||1,q=u.pages||1,z=Z=>Z.name===Z.path&&Z.path.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||Z.name;return n.createElement("section",{ref:R,"data-activity-region":"workspace-folders",className:"a-workspace-explorer","data-part":"workspace-explorer","data-compact":s,"data-show-paths":!!((ne=(H=e.settings)==null?void 0:H.workspaces)!=null&&ne.showPaths),"aria-label":"Workspace folders"},!s&&n.createElement("div",{className:"a-workspace-modes",role:"group","aria-label":"Workspace list"},n.createElement("button",{type:"button","aria-pressed":u.mode==="recent","data-action":"view.update",onClick:()=>S({navWorkspaceMode:"recent",navWorkspacePage:1})},"Recent"),n.createElement("button",{type:"button","aria-pressed":!s&&u.mode!=="recent","data-action":"view.update",onClick:()=>S({navWorkspaceMode:"folders",navWorkspacePage:1})},"Browse folders")),o&&!s&&n.createElement("div",{className:"a-workspace-explorer-heading"},n.createElement("strong",null,"Workspaces"),n.createElement("span",null,u.totalWorkspaces||0)),!s&&n.createElement("div",{className:"a-nav-search a-workspace-search"},n.createElement(Ro,null),n.createElement("input",{type:"search","aria-label":"Filter workspaces",placeholder:"Find workspace · * ? patterns",value:y,"data-action":"view.update",onChange:Z=>N(Z.target.value)})),!s&&u.mode!=="recent"&&!u.filter&&n.createElement("div",{className:"a-workspace-location"},n.createElement("button",{type:"button",className:"a-icon","aria-label":"Go to parent workspace folder",disabled:u.parentPath==null,"data-action":"view.update",onClick:()=>I(u.parentPath)},n.createElement(xa,null)),n.createElement("nav",{className:"a-workspace-breadcrumbs","aria-label":"Workspace folder path"},k.length>0&&n.createElement("div",{className:"a-workspace-ancestors","data-open":!!((B=e.view)!=null&&B.navWorkspaceAncestorsOpen)},n.createElement("button",{type:"button",className:"a-workspace-ancestor-toggle","aria-label":"Show ancestor folders","aria-expanded":!!((P=e.view)!=null&&P.navWorkspaceAncestorsOpen),"data-action":"view.update",onClick:()=>{var Z;return S({navWorkspaceAncestorsOpen:!((Z=e.view)!=null&&Z.navWorkspaceAncestorsOpen)})}},n.createElement(zi,null)),((_=e.view)==null?void 0:_.navWorkspaceAncestorsOpen)&&n.createElement("div",null,k.map(Z=>n.createElement("button",{key:Z.path,type:"button","data-action":"view.update","aria-label":"Browse "+(Z.path||"all workspace folders"),onClick:()=>I(Z.path)},Z.path||"All workspace folders")))),T.map((Z,D)=>n.createElement(n.Fragment,{key:Z.path},(D>0||k.length>0)&&n.createElement(Gt,{"aria-hidden":"true"}),n.createElement("button",{type:"button","data-action":"view.update","aria-current":D===T.length-1?"location":void 0,title:Z.path||"All workspace folders","aria-label":"Browse "+(Z.path||"all workspace folders"),onClick:()=>I(Z.path)},z(Z)))))),n.createElement("div",{className:"a-workspace-folders"},v.map(Z=>{var ce,_e,$e,De;const D=!!Z.workspaceId,G=D&&Z.workspaceId===(((ce=e.view)==null?void 0:ce.workWorkspaceId)||e.selectedWorkspaceId),j="Browse "+Z.path,K=Z.activityCounts||{},oe=K.attention?{kind:"attention",label:`${K.attention} chats need attention`}:K.working?{kind:"working",label:`${K.working} chats working`}:Z.unread?{kind:"unread",label:`${Z.unread} chats with unread activity`}:null,xe=n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-workspace-select","data-navigation-select":!0,"data-action":D?"workspace.select":"view.update","aria-label":D?"Open chats in "+Z.path:j,"aria-pressed":D?G:void 0,onClick:()=>D?M(Z):I(Z.path)},oe?n.createElement($u,{activity:oe}):D?n.createElement(Lk,null):n.createElement(Lr,null),n.createElement("span",{className:"a-workspace-label"},n.createElement("span",null,Z.customName||Z.name),n.createElement("small",{className:"a-workspace-result-path",title:Z.path},($e=(_e=e.settings)==null?void 0:_e.workspaces)!=null&&$e.showPaths?Z.path:vx(Z))),n.createElement("span",{className:"a-workspace-count","aria-label":`${D?Z.chatCount:Z.descendantWorkspaceCount} ${D?"chats":"workspaces"}`},D?Z.chatCount:Z.descendantWorkspaceCount),!D&&Z.canBrowse&&n.createElement(Gt,{className:"a-workspace-arrow"})),!s&&D&&Z.canBrowse&&n.createElement("button",{type:"button",className:"a-workspace-drill","data-action":"view.update","aria-label":j,title:`${Z.descendantWorkspaceCount} nested workspaces`,onClick:()=>I(Z.path)},n.createElement(Gt,null)));return D?n.createElement(Bu,{className:`a-workspace-row is-workspace ${G?"is-selected":""}`,key:Z.path,"data-workspace-path":Z.path,"data-qualified":!Z.customName&&((De=Z.pathLabel)==null?void 0:De.includes("/")),label:Z.customName||Z.name,details:({close:de})=>{var ve;return n.createElement(vg,{row:Z,now:c,actions:n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link","data-action":"workspace.select",onClick:()=>{de(),M(Z)}},n.createElement(Li,null),"Open chats"),n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{de(),I(Z.parentPath??ug(Z.path))}},n.createElement(Lr,null),"Browse parent"),r&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{de(),r({mode:"rename",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Di,null),"Rename"),n.createElement("button",{type:"button",className:"a-danger",disabled:((ve=e.library)==null?void 0:ve.workspaceCount)<2,"data-action":"view.update",onClick:()=>{de(),r({mode:"remove",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Qn,null),"Remove")))})}},xe):n.createElement("div",{className:"a-workspace-row",key:Z.path,"data-workspace-path":Z.path},xe)})),v.lengthh(!0)},"More workspaces",n.createElement(Gt,null)),!d.length&&!((ee=e.sharedHistory)!=null&&ee.loading)&&n.createElement("p",{className:"a-nav-empty"},u.filter?"No matching workspaces.":"Create a workspace to start a chat."),!s&&q>1&&v.length===d.length&&n.createElement("div",{className:"a-nav-pagination a-workspace-pagination"},n.createElement("span",null,"Page ",A," of ",q),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-link","aria-label":"Show previous workspace folders","data-action":"view.update",disabled:A<=1,onClick:()=>S({navWorkspacePage:A-1})},"Previous"),n.createElement("button",{type:"button",className:"a-link","aria-label":"Show more workspace folders","data-action":"view.update",disabled:A>=q,onClick:()=>S({navWorkspacePage:A+1})},"More",n.createElement(Gt,null)))))}function Ix({state:e,act:t}){const a=e.view||{},r=e.conversationOrganization||{};return n.createElement("div",{"aria-label":"Conversation library filters"},n.createElement("label",null,"Conversations",n.createElement("select",{"aria-label":"Active or archived conversations",value:a.navArchive||"active","data-action":"view.update",onChange:o=>t("view.update",{patch:{navArchive:o.target.value}})},n.createElement("option",{value:"active"},"Active"),n.createElement("option",{value:"archived"},"Archived (",r.archivedCount||0,")"),n.createElement("option",{value:"all"},"Active and archived"))))}function Ax({state:e,session:t,act:a}){var u;const r=Object.hasOwn(((u=e.conversationOrganization)==null?void 0:u.archived)||{},t.id),[o,i]=g.useState(!1),[s,l]=g.useState("");async function c(){i(!0),l("");try{const d=await a(r?"session.restore":"session.archive",{id:t.id});if(!(d!=null&&d.accepted))throw Error("The change was not saved.")}catch(d){l(d.message)}finally{i(!1)}}return n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Conversation library"),n.createElement("p",null,"Archive keeps this conversation and its files. Work already running continues."),n.createElement("button",{type:"button",className:"a-soft",disabled:o,"data-action":r?"session.restore":"session.archive",onClick:c},r?n.createElement(Ck,null):n.createElement(yi,null),r?"Restore conversation":"Archive conversation"),s&&n.createElement("p",{role:"alert",className:"a-danger"},s))}function _x({session:e,act:t}){const[a,r]=g.useState(null),[o,i]=g.useState([]),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(604800),m=g.useRef(0),[h,f]=g.useState(null);g.useEffect(()=>(m.current++,r(null),i([]),f(null),u(""),l(!1),()=>{m.current++}),[e.id]);async function v(b,x,w){const R=m.current;l(!0),u("");try{const S=await t(b,x);if(!(S!=null&&S.result))throw Error("The snapshot action did not return a result.");R===m.current&&w(S.result)}catch(S){R===m.current&&u(S.message)}finally{R===m.current&&l(!1)}}const y=b=>i(x=>[b,...x.filter(w=>w.id!==b.id)]),E=(b=0)=>v("session.shareList",{sessionId:e.id,offset:b},x=>{i(w=>b?[...w,...x.items.filter(R=>!w.some(S=>S.id===R.id))]:x.items),f(x.nextOffset)});return n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Share a snapshot"),n.createElement("p",null,"A snapshot includes visible conversation text and voice exchanges. File contents and interactive artifacts are not embedded."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.sharePreview",onClick:()=>v("session.sharePreview",{sessionId:e.id},r)},n.createElement(rx,null),"Preview snapshot"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareList",onClick:()=>E()},"Show shared snapshots")),a&&n.createElement(n.Fragment,null,n.createElement("pre",{className:"a-state-view","aria-label":"Snapshot preview",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:320}},a.text),a.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-link",disabled:s,"data-action":"session.shareRead",onClick:()=>v("session.shareRead",{id:a.id,offset:a.nextOffset},b=>r(x=>({...x,text:x.text+b.text,nextOffset:b.nextOffset})))},"Read more of this snapshot"),n.createElement("p",null,"Anyone with the link can read this snapshot while this host is reachable. Later edits stay private to the original chat. You can revoke the link."),n.createElement("label",{htmlFor:"share-expiry"},"Link expires after"),n.createElement("select",{id:"share-expiry",value:d,onChange:b=>p(Number(b.target.value))},n.createElement("option",{value:86400},"One day"),n.createElement("option",{value:604800},"One week"),n.createElement("option",{value:2592e3},"Thirty days")),n.createElement("button",{type:"button",className:"a-primary",disabled:s,"data-action":"session.shareCreate",onClick:()=>v("session.shareCreate",{id:a.id,contentHash:a.contentHash,visibility:"anyone_with_link",expiresInSeconds:d},b=>{y(b),r(null)})},"Create share link")),o.map(b=>n.createElement("div",{className:"a-selection-card",key:b.id},n.createElement("strong",null,b.title),n.createElement("p",null,b.status,b.expiresAt?" · expires "+new Date(b.expiresAt*1e3).toLocaleString():""),b.path&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"share-"+b.id},"Snapshot link"),n.createElement("input",{id:"share-"+b.id,readOnly:!0,value:new URL(b.path,window.location.origin).href}),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>navigator.clipboard.writeText(new URL(b.path,window.location.origin).href).catch(()=>u("Copy was unavailable. Select the link and copy it."))},n.createElement(ar,null),"Copy link"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareRevoke",onClick:()=>v("session.shareRevoke",{id:b.id},y)},"Revoke link")))),h!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareList",onClick:()=>E(h)},"Load older snapshots"),c&&n.createElement("p",{role:"alert",className:"a-danger"},c))}function Sg({id:e,act:t,cancel:a}){var y;const[r,o]=g.useState(null),[i,s]=g.useState(!1),[l,c]=g.useState(""),[u,d]=g.useState(!1),p=g.useRef(0),m=g.useRef(!1);async function h(){var b;const E=++p.current;o(null),c(""),s(!0);try{const x=await t("session.deletePreview",{id:e});if(!(x!=null&&x.accepted)||!((b=x.result)!=null&&b.confirmationToken))throw Error((x==null?void 0:x.error)||"Could not review this chat for deletion.");E===p.current&&o(x.result)}catch(x){E===p.current&&c(x.message)}finally{E===p.current&&s(!1)}}g.useEffect(()=>(h(),()=>{p.current++}),[e]);async function f(){var b;if(!r||m.current)return;const E=p.current;m.current=!0,s(!0),c("");try{const x=await t("session.delete",{id:e,confirmationToken:r.confirmationToken});if(!(x!=null&&x.accepted))throw Error((x==null?void 0:x.error)||"Deletion was not confirmed. Review the chat again before retrying.");E===p.current&&((b=x.result)!=null&&b.cleanupPending?(d(!0),o(null)):a())}catch(x){E===p.current&&(c(x.message),o(null))}finally{m.current=!1,E===p.current&&s(!1)}}const v=r==null?void 0:r.summary;return n.createElement("div",{className:"a-chat-delete","aria-busy":i},r?n.createElement(n.Fragment,null,n.createElement("p",null,"Permanently delete ",n.createElement("strong",null,r.title||"this chat"),"?"),n.createElement("p",null,r.description),v&&n.createElement("p",{className:"a-caption"},v.conversationCount," saved conversation",v.conversationCount===1?"":"s"," · ",v.fileCount," file",v.fileCount===1?"":"s"," · ",v.attachmentCount," attachment",v.attachmentCount===1?"":"s"," · ",v.artifactCount," artifact",v.artifactCount===1?"":"s"," · ",v.shareCount," published link",v.shareCount===1?"":"s"),n.createElement("p",null,n.createElement("strong",null,"This cannot be undone.")),!!((y=r.preserved)!=null&&y.length)&&n.createElement("p",{className:"a-caption"},"Kept: ",r.preserved.join("; "),".")):i?n.createElement("p",{role:"status"},"Checking what will be deleted…"):null,u&&n.createElement("p",{role:"status"},"The chat has been removed. File cleanup is pending and will be retried automatically."),l&&n.createElement("p",{role:"alert",className:"a-danger"},l),n.createElement("div",{className:"a-dialog-actions"},r?n.createElement("button",{type:"button",className:"a-soft a-danger","data-action":"session.delete",disabled:i,onClick:f},i?"Deleting…":"Delete permanently"):!i&&!u&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.deletePreview",onClick:h},"Review again"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:m.current,onClick:a},u?"Close":"Keep chat")))}function Zu(e,t){return e.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot)}const ra=(e,t)=>e("view.update",{patch:t});function Px({chat:e,act:t,cancel:a,inputId:r="nav-workspace-name"}){var E,b;const[o,i]=g.useState(e.title||""),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(!1),p=g.useRef(!1),m=((E=e.naming)==null?void 0:E.status)==="working",h=["starting","working","running","stopping"].includes(e.status)||e.configurationBusy,f=e.autoName??(e.titleSource!=="manual"&&e.nativeNameSource!=="manual");g.useEffect(()=>{p.current||i(e.title||"")},[e.title]);const v=async x=>{x.preventDefault();const w=o.trim();if(!(!w||d.current)){d.current=!0,l(!0),u("");try{const R=await t("session.rename",{id:e.id,title:w});R&&R.accepted!==!1?a():u((R==null?void 0:R.error)||"Could not rename. Your text is kept; try again.")}catch(R){u(R.message||"Could not rename. Please try again.")}finally{d.current=!1,l(!1)}}};async function y(){if(!(d.current||m||h||o!==(e.title||""))){d.current=!0,l(!0),u("");try{const x=await t("session.naming",{id:e.id,regenerate:!0});if(!x||x.accepted===!1)throw Error((x==null?void 0:x.error)||"Could not generate a name. Your current name is kept.")}catch(x){u(x.message)}finally{d.current=!1,l(!1)}}}return n.createElement("form",{"aria-busy":s||m,className:"a-nav-chat a-nav-chat-rename","data-session-id":e.id,onSubmit:v},n.createElement("input",{id:r,maxLength:200,"aria-label":`New name for ${e.title||"conversation"}`,value:o,disabled:s,required:!0,autoFocus:!0,onChange:x=>{p.current=x.target.value!==(e.title||""),i(x.target.value),u("")}}),n.createElement("button",{type:"submit",className:"a-icon a-nav-chat-edit","aria-label":"Save conversation name",disabled:s||!o.trim(),"data-action":"session.rename"},n.createElement(Pt,null)),n.createElement("button",{type:"button",className:"a-icon a-nav-chat-edit","aria-label":"Cancel conversation rename",disabled:s,"data-action":"view.update",onClick:a},n.createElement(tn,null)),n.createElement("button",{type:"button",className:"a-link","data-action":"session.naming",disabled:s||m||h||o!==(e.title||""),onClick:y},n.createElement(zt,null),m?"Naming…":"Auto name now"),n.createElement("small",{className:"a-nav-name-help"},"Generate one name. Future automatic naming stays ",f?"on":"off",".",h?" Wait for current work to finish.":o!==(e.title||"")?" Save or cancel your edit first.":""),m&&n.createElement("small",{role:"status"},"Generating chat name…"),(c||((b=e.naming)==null?void 0:b.error))&&n.createElement("small",{role:"alert",className:"a-danger"},c||e.naming.error))}function ho(e,t){var k,T,A;const a=Zu(n,e),r=e.dispatch,o=e.instanceId==="workspaces"?"nav-workspace":"nav-"+e.instanceId,i=a.view||{},s=i.workspaceDraft||{},l=(t==="chats"?(k=s.mode)!=null&&k.startsWith("chat-"):!((T=s.mode)!=null&&T.startsWith("chat-")))?s:{},c=g.useRef(null),u=g.useRef(l),d=g.useRef(0),p=g.useRef(!1),[m,h]=g.useState(!1),[f,v]=g.useState("");g.useEffect(()=>{u.current=l},[l]);const y=a.sharedHistory||{},E=!!(y.loading||y.refreshing),b=nl(a),x=b.find(q=>q.id===a.selectedWorkspaceId),w=(A=a.library)!=null&&A.bounded?a.library.workspaceCount:b.length,R=i.navChatScope==="all",S=q=>{d.current++,u.current=q,v(""),ra(r,{workspaceDraft:q})},I=q=>S({...l,...q}),N=q=>r("session.select",{id:q}),M=async q=>{var F;if(q.preventDefault(),p.current)return;const z=d.current;p.current=!0,h(!0),v("");try{let H;l.mode==="add"?H=await r("workspace.create",{path:l.path||"",...(F=l.name)!=null&&F.trim()?{name:l.name.trim()}:{}}):l.mode==="rename"?H=await r("workspace.rename",{id:l.id,name:l.name||""}):l.mode==="chat-rename"?H=await r("session.rename",{id:l.id,title:l.name||""}):l.mode==="remove"&&(H=await r("workspace.remove",{id:l.id})),H&&H.accepted!==!1?d.current===z&&S({}):v((H==null?void 0:H.error)||"Could not save. Check the folder or name and try again.")}catch(H){v(H.message||"Could not save. Please try again.")}finally{p.current=!1,h(!1)}};return g.useEffect(()=>{var q,z,F,H,ne;l.mode&&((z=(q=c.current)==null?void 0:q.scrollIntoView)==null||z.call(q,{block:"nearest"}),(ne=(H=(F=c.current)==null?void 0:F.querySelector)==null?void 0:H.call(F,"input"))==null||ne.focus())},[l.mode,l.id]),{state:a,act:r,prefix:o,view:i,draft:l,form:c,saving:m,formError:f,history:y,refreshing:E,workspace:x,workspaceCount:w,allChats:R,setDraft:S,updateDraft:I,choose:N,submit:M}}function fo({model:e}){var p;const{state:t,act:a,prefix:r,draft:o,form:i,saving:s,formError:l,setDraft:c,updateDraft:u,submit:d}=e;return o.mode==="add"?n.createElement(il,{state:t,act:a,onDone:()=>c({}),onCancel:()=>c({})}):n.createElement(n.Fragment,null,o.mode==="chat-delete"&&n.createElement("div",{className:"a-nav-form"},n.createElement("strong",null,"Delete chat?"),n.createElement(Sg,{key:o.id,id:o.id,act:a,cancel:()=>c({})}))," ",o.mode&&o.mode!=="chat-rename"&&o.mode!=="chat-delete"&&n.createElement("form",{ref:i,className:"a-nav-form","aria-busy":s,onSubmit:d},n.createElement("div",{className:"a-nav-form-title"},n.createElement("strong",null,o.mode==="add"?"New workspace":o.mode==="rename"?"Rename workspace":o.mode==="chat-rename"?"Rename chat":"Remove workspace?"),n.createElement("button",{className:"a-icon",type:"button","aria-label":"Cancel navigation edit","data-action":"view.update",onClick:()=>c({})},n.createElement(tn,null))),o.mode==="add"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Choose an existing folder, or enter a path to create one. Your first chat opens here."),n.createElement("label",{htmlFor:r+"-path"},"Folder"),n.createElement(Ma,{id:r+"-path",value:o.path||"",onChange:m=>u({path:m}),directory:!0,state:t,act:a,placeholder:"~/Projects/my-project"})),["add","rename","chat-rename"].includes(o.mode)?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:r+"-name"},o.mode==="add"?"Name (optional)":"Name"),n.createElement("input",{id:r+"-name",maxLength:200,value:o.name||"",required:o.mode!=="add","data-action":"view.update",onChange:m=>u({name:m.target.value})})):n.createElement("p",null,"Remove ",o.name," from this list? Its files and chats will stay on disk."),n.createElement("button",{type:"submit",disabled:s||o.mode==="add"&&!((p=o.path)!=null&&p.trim()),className:o.mode==="remove"?"a-soft a-danger":"a-primary","data-action":o.mode==="add"?"workspace.create":o.mode==="rename"?"workspace.rename":o.mode==="remove"?"workspace.remove":"session.rename"},s?"Saving…":o.mode==="add"?"Create workspace":o.mode==="remove"?"Remove registration":"Save name"),l&&n.createElement("p",{role:"alert",className:"a-danger"},l)))}function Ox({host:e,paired:t=!1}){const a=ho(e,"workspaces"),{state:r,act:o,allChats:i,workspace:s,workspaceCount:l,setDraft:c}=a;return t?n.createElement(fo,{model:a}):n.createElement(n.Fragment,null,n.createElement(fo,{model:a})," ",!i&&n.createElement(qi,{state:r,act:o}),!i&&s&&n.createElement("div",{className:"a-nav-workspace-path"},n.createElement("span",{className:"a-workspace-full-path",title:s.path||"Project folder unavailable"},s.path||"Project folder unavailable"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Rename workspace","data-action":"view.update",onClick:()=>c({mode:"rename",id:s.id,name:s.name})},n.createElement(Di,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove workspace registration",disabled:l<2,"data-action":"view.update",onClick:()=>c({mode:"remove",id:s.id,name:s.name})},n.createElement(Qn,null))))}function Mx({host:e,onOpen:t}){const a=ho(e,"workspaces");return n.createElement(qi,{state:a.state,act:a.act,onOpen:t,onEdit:a.setDraft,heading:!1,previewLimit:8})}function zx({chat:e,model:t,now:a,close:r}){var b,x;const{state:o,act:i,draft:s,setDraft:l,choose:c,prefix:u}=t,d=qu(e,o),p=e.title||"Untitled conversation",m=((b=e.location)==null?void 0:b.kind)==="managed",h=o.pinnedSessionIds||[],f=h.indexOf(e.id),[v,y]=g.useState(""),E=async w=>{try{y(""),await i("session.pinOrder",{ids:fg(h,e.id,h[f+w])})}catch(R){y(R.message)}};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-navigation-detail-heading"},n.createElement(Li,null),"Chat details"),n.createElement("h3",null,p),n.createElement("div",{className:"a-navigation-detail-status"},n.createElement($u,{activity:d}),n.createElement("strong",null,d.label)),n.createElement("dl",null,n.createElement("dt",null,"Last activity"),n.createElement("dd",null,ju(e.recentActivityAt,a).long),n.createElement("dt",null,"Workspace"),n.createElement("dd",null,m?"No workspace":e.workspaceName||((x=e.workspace)==null?void 0:x.split(/[\\/]/).filter(Boolean).at(-1)))),n.createElement(Os,{label:m?"Chat files":"Full workspace path",value:e.workspace||"Unavailable"}),n.createElement(Os,{label:"Session ID",value:Fu(e)}),n.createElement("p",{className:"a-caption"},m?"Files stored in this chat’s managed folder.":"Saved in this folder’s native Amplifier history."),s.mode==="chat-rename"&&s.id===e.id?n.createElement(Px,{inputId:u+"-name",chat:e,act:i,cancel:()=>l({})}):n.createElement("div",{className:"a-navigation-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",onClick:()=>{r(),c(e.id)}},n.createElement(Nk,null),"Open chat"),n.createElement("button",{type:"button","aria-label":`${e.pinned?"Unpin":"Pin"} ${p}`,"aria-pressed":!!e.pinned,"data-action":"session.pin",onClick:()=>i("session.pin",{id:e.id,pinned:!e.pinned})},n.createElement(Du,null),e.pinned?"Unpin":"Pin"),e.pinned&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button","aria-label":"Move "+p+" up","data-action":"session.pinOrder",disabled:f<1,onClick:()=>E(-1)},n.createElement(Mi,null),"Move up"),n.createElement("button",{type:"button","aria-label":"Move "+p+" down","data-action":"session.pinOrder",disabled:f<0||f===h.length-1,onClick:()=>E(1)},n.createElement(ag,null),"Move down"),v&&n.createElement("span",{role:"alert"},v)),n.createElement("button",{type:"button","aria-label":"Rename "+p,"data-action":"view.update",onClick:()=>l({mode:"chat-rename",id:e.id,name:p})},n.createElement(Di,null),"Rename"),n.createElement("button",{type:"button","aria-label":(e.archived?"Restore ":"Archive ")+p,"data-action":e.archived?"session.restore":"session.archive",onClick:()=>i(e.archived?"session.restore":"session.archive",{id:e.id})},e.archived?"Restore":"Archive"),m&&!e.parentId&&n.createElement("button",{type:"button",className:"a-danger","aria-label":"Delete "+p,"data-action":"view.update",onClick:()=>{r(),l({mode:"chat-delete",id:e.id,name:p})}},n.createElement(Qn,null),"Delete")))}function ao({id:e,title:t,count:a,model:r,actions:o,children:i}){const s=n.useId(),l=r.view.navSectionsCollapsed||[],c=l.includes(e);return n.createElement("section",{className:"a-sidebar-section","aria-label":t==="Pinned"?"Pinned chats":t==="Recent"?"Recent chats":t,"data-sidebar-section":e},n.createElement("div",{className:"a-sidebar-section-heading"},n.createElement("button",{type:"button","aria-expanded":!c,"aria-controls":s,"data-action":"view.update",onClick:()=>ra(r.act,{navSectionsCollapsed:c?l.filter(u=>u!==e):[...l,e]})},n.createElement("span",null,t),n.createElement(Gt,{className:c?"":"is-open"}),a!=null&&n.createElement("small",null,a)),o),n.createElement("div",{id:s,hidden:c},i))}function Ju({chat:e,model:t,now:a,showLocation:r=!0,handle:o,floating:i=!1}){const{state:s,choose:l}=t,c=e.title||"Untitled conversation",u=qu(e,s),d=n.createElement(n.Fragment,null,o,n.createElement("button",{className:"a-nav-chat-select",type:"button","data-navigation-select":!0,"data-action":"session.select","aria-current":e.id===s.selectedSessionId?"page":void 0,"aria-label":c,onClick:()=>l(e.id)},n.createElement($u,{activity:u}),n.createElement("span",{className:"a-nav-chat-label"},n.createElement("span",null,c),n.createElement("small",{className:"a-nav-chat-workspace",title:r?e.workspace:void 0},r?e.workspaceLabel||e.workspace:u.label)),n.createElement(wx,{at:e.recentActivityAt,now:a}))),p="a-nav-chat "+(e.id===s.selectedSessionId?"is-selected":"");return i?n.createElement("div",{className:p},d,n.createElement(zi,{className:"a-navigation-more"})):n.createElement(Bu,{className:p,"data-session-id":e.id,label:c,details:({close:m})=>n.createElement(zx,{chat:e,model:t,now:a,close:m})},d)}function Cg({page:e,onChange:t,label:a="conversations"}){return e.pages<2?null:n.createElement("div",{className:"a-nav-pagination"},n.createElement("span",null,e.start+1,"–",e.end," of ",e.total),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Show previous "+a,disabled:e.index===0,onClick:()=>t(e.index-1)},"Previous"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Show more "+a,disabled:e.index===e.pages-1,onClick:()=>t(e.index+1)},"More",n.createElement(Gt,null))))}function Ku({page:e,model:t,now:a}){const[r,o]=g.useState(""),i=e.items.map(c=>({...c,label:c.title||"Untitled conversation"})),s=i.map(c=>c.id),l=async(c,{id:u,to:d})=>{var p;o("");try{const m=await t.act("session.pinOrder",{ids:fg(t.state.pinnedSessionIds||[],u,s[d])}),h=((p=m==null?void 0:m.result)==null?void 0:p.accepted)!==void 0?m.result:m;if((h==null?void 0:h.accepted)===!1)throw Error(h.error||"Could not reorder pins.")}catch(m){throw o(m.message||"Could not reorder pins. Please try again."),m}};return n.createElement(n.Fragment,null,n.createElement(bg,{items:i,ids:s,onChange:l,className:"a-pinned-chats",floatingClassName:"a-pinned-drag",action:"session.pinOrder",renderItem:(c,{handle:u,floating:d})=>n.createElement(Ju,{chat:c,model:t,now:a,handle:u,floating:d})}),r&&n.createElement("p",{role:"alert",className:"a-danger"},r),!e.total&&n.createElement("p",{className:"a-nav-empty"},"Pin a chat from its actions menu to keep it here."),n.createElement(Cg,{page:e,label:"pinned chats",onChange:c=>ra(t.act,{navPinnedPage:c})}))}function Vc({page:e,model:t,view:a,viewAct:r,now:o,showLocation:i}){const s=e.activityCounts||{};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-nav-search"},n.createElement(Ro,null),n.createElement("input",{"aria-label":"Filter conversations",maxLength:500,type:"search",value:a.navFilter||"",placeholder:i?"Find chats or paths · * ?":"Find chats · * ? patterns","data-action":"view.update",onChange:l=>ra(r,{navFilter:l.target.value})})),n.createElement("details",{className:"a-sidebar-filters"},n.createElement("summary",null,"Filters",a.navFilter||a.navArchive&&a.navArchive!=="active"||a.navStatusFilter&&a.navStatusFilter!=="all"||a.navLocationFilter==="managed"?" · active":""),n.createElement(Ix,{state:{...t.state,view:a},act:r}),n.createElement("label",{className:"a-managed-chat-filter"},"Sort",n.createElement("select",{"aria-label":"Sort conversations",value:a.navSort||"activity","data-action":"view.update",onChange:l=>ra(r,{navSort:l.target.value})},n.createElement("option",{value:"activity"},"Recent activity"),n.createElement("option",{value:"created"},"Newest created"),n.createElement("option",{value:"name"},"Name"))),i&&n.createElement("label",{className:"a-managed-chat-filter"},"Location",n.createElement("select",{"aria-label":"Filter chats by location",value:a.navLocationFilter||"all","data-action":"view.update",onChange:l=>ra(r,{navLocationFilter:l.target.value})},n.createElement("option",{value:"all"},"All locations"),n.createElement("option",{value:"managed"},"No workspace"))),n.createElement("div",{className:"a-navigation-filters",role:"group","aria-label":"Conversation activity filters"},n.createElement("button",{type:"button","aria-pressed":a.navStatusFilter==="attention","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:a.navStatusFilter==="attention"?"all":"attention"})},n.createElement(On,null),s.attention??0," need attention"),n.createElement("button",{type:"button","aria-pressed":a.navStatusFilter==="working","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:a.navStatusFilter==="working"?"all":"working"})},n.createElement(No,null),s.working??0," working"),a.navStatusFilter&&a.navStatusFilter!=="all"&&n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:"all"})},"Clear"))),e.pending&&n.createElement("p",{role:"status"},"Loading conversations…"),n.createElement("div",{className:"a-nav-chats"},e.items.map(l=>n.createElement(Ju,{key:l.id,chat:l,model:t,now:o,showLocation:i}))),!e.total&&!e.pending&&n.createElement("p",{className:"a-nav-empty"},a.navFilter||a.navStatusFilter&&a.navStatusFilter!=="all"?"No matching chats.":"Your conversations will appear here."),n.createElement(Cg,{page:e,onChange:l=>ra(r,{navChatPage:{...e.scope,index:l}})}))}const pm={navArchive:"active",navCollection:null,navFilter:"",navStatusFilter:"all",navLocationFilter:"all",navSort:"activity"};function Lx({host:e,workspaceHost:t}){var T,A,q;const a=ho(e,"chats"),{state:r,act:o,view:i,workspace:s,history:l,refreshing:c}=a,u=Zu(n,t||e),d=rl(),p=(t==null?void 0:t.dispatch)||o,[m,h]=g.useState(!1),f=g.useRef(null),v=()=>{h(!1),requestAnimationFrame(()=>{var z;return(z=f.current)==null?void 0:z.focus()})},y=r.sidebarNavigation,E={...pm,navChatScope:((T=y==null?void 0:y.pinned)==null?void 0:T.scope.mode)||"all",navPinnedPage:i.navPinnedPage},b={...pm,...y==null?void 0:y.recentView,...i.navRecentView},x=ys({...r,view:E},s,{section:"pinned"}),w=ys({...r,view:{...b,navChatScope:E.navChatScope}},s,{section:"recent"}),R=ys({...r,view:{...i,navChatScope:"workspace"}},s,{section:"workspace"}),S=(z,F)=>{if(z!=="view.update")return o(z,F);const H={...b,...F.patch};return Object.hasOwn(F.patch,"navChatPage")||delete H.navChatPage,ra(o,{navRecentView:H})},I=i.navWorkspaceList!==!1||!s,N=()=>ra(o,{navWorkspaceList:!0}),M=()=>ra(o,{navWorkspaceList:!1,navChatScope:"workspace",navFilter:"",navStatusFilter:"all",navArchive:"active",navLocationFilter:"all"}),k=(A=u.workspaceExplorer)==null?void 0:A.selected;return n.createElement("div",{className:"a-sidebar-navigation"},n.createElement(fo,{model:a}),n.createElement(ao,{id:"pinned",title:"Pinned",count:x.total,model:a},n.createElement(Ku,{page:x,model:a,now:d})),n.createElement(ao,{id:"workspaces",title:"Workspaces",count:(q=u.workspaceExplorer)==null?void 0:q.totalWorkspaces,model:a,actions:n.createElement("button",{ref:f,type:"button",className:"a-icon","aria-label":"New workspace","data-action":"view.update",onClick:()=>{h(!0),ra(o,{navSectionsCollapsed:(i.navSectionsCollapsed||[]).filter(z=>z!=="workspaces")})}},n.createElement(Mn,null))},m&&n.createElement(il,{state:u,act:p,onDone:v,onCancel:v}),I?t?n.createElement(Mx,{host:t,onOpen:M}):n.createElement(qi,{state:r,act:o,onOpen:M,onEdit:a.setDraft,heading:!1,previewLimit:8}):n.createElement("div",{className:"a-workspace-chat-view","aria-label":"Chats in "+s.name},n.createElement("button",{type:"button",className:"a-navigation-back","data-action":"view.update",onClick:N},n.createElement(xa,null),"All workspaces"),n.createElement(Bu,{className:"a-navigation-workspace",label:s.name,details:({close:z})=>{var F;return n.createElement(vg,{row:k||{...s,chatCount:R.total},now:d,actions:n.createElement(n.Fragment,null,n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{z(),p("view.update",{patch:{workspaceDraft:{mode:"rename",id:s.id,name:s.name}}})}},n.createElement(Di,null),"Rename"),n.createElement("button",{type:"button",className:"a-danger",disabled:((F=u.library)==null?void 0:F.workspaceCount)<2,"data-action":"view.update",onClick:()=>{z(),p("view.update",{patch:{workspaceDraft:{mode:"remove",id:s.id,name:s.name}}})}},n.createElement(Qn,null),"Remove registration"))})}},n.createElement(Lr,null),n.createElement("div",null,n.createElement("strong",null,s.name),n.createElement("small",{title:s.path},dg(s.path)))),n.createElement("div",{className:"a-sidebar-workspace-actions"},n.createElement("span",null,R.total," chats"),n.createElement("button",{type:"button",className:"a-link","aria-label":"New chat in "+s.name,"data-action":"session.draft",onClick:()=>o("session.draft",{workspace:s.path})},n.createElement(Mn,null),"New chat")),n.createElement(Vc,{page:R,model:a,view:i,viewAct:o,now:d,showLocation:!1}))),n.createElement(ao,{id:"recent",title:"Recent",count:w.total,model:a,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh workspaces and chats","data-action":"history.refresh",disabled:c,onClick:()=>o("history.refresh",{})},n.createElement(zt,{className:c?"a-progress-spinner":void 0}))},n.createElement(Vc,{page:w,model:a,view:b,viewAct:S,now:d,showLocation:!0})),l.loading&&n.createElement("p",{role:"status"},"Finding existing chats…"),l.error&&n.createElement("p",{role:"alert",className:"a-danger"},l.error),!!l.issueCount&&n.createElement("p",{className:"a-caption",role:"status"},"Some saved folders or chats need attention."))}function Dx({host:e,workspaceHost:t,navigation:a}){var c;const r=ho(e,"chats"),o=rl(),i=Zu(n,t||e),s=((c=r.state.sidebarNavigation)==null?void 0:c.pinned)||{items:[],total:0,pages:1},l=r.state.recentShortcuts||[];return n.createElement("div",{className:"a-sidebar-navigation a-quiet-sidebar"},n.createElement(fo,{model:r}),n.createElement("button",{type:"button",className:"a-nav-search-launch","data-action":"view.update",onClick:()=>a.browse("chats")},n.createElement(Ro,null),"Search chats"),n.createElement(ao,{id:"pinned",title:"Pinned",model:r},n.createElement(Ku,{page:s,model:r,now:o})),n.createElement(ao,{id:"workspaces",title:"Workspaces",model:r,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"New workspace",onClick:()=>a.create()},n.createElement(Mn,null))},n.createElement(qi,{state:i,act:(t==null?void 0:t.dispatch)||r.act,compact:!0,heading:!1,onSelect:u=>a.browse("workspace",u.workspaceId)}),n.createElement("button",{type:"button",className:"a-sidebar-all a-link","data-action":"view.update",onClick:()=>a.browse("workspaces")},"All workspaces",n.createElement(Gt,null))),n.createElement(ao,{id:"recent",title:"Recent",model:r,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh workspaces and chats","data-action":"history.refresh",disabled:r.refreshing,onClick:()=>r.act("history.refresh",{})},n.createElement(zt,{className:r.refreshing?"a-progress-spinner":void 0}))},l.map(u=>n.createElement(Ju,{key:u.id,chat:u,model:r,now:o})),!l.length&&n.createElement("p",{className:"a-nav-empty"},"Your recent chats appear here."),n.createElement("button",{type:"button",className:"a-sidebar-all a-link","data-action":"view.update",onClick:()=>a.browse("chats")},"All chats",n.createElement(Gt,null))),r.history.loading&&n.createElement("p",{className:"a-caption",role:"status"},"Finding existing chats…"),!!r.history.issueCount&&n.createElement("p",{className:"a-caption",role:"status"},"Some saved folders or chats need attention. ",n.createElement("button",{className:"a-link",onClick:()=>a.browse("chats")},"Review chats")),r.history.error&&n.createElement("p",{role:"alert"},r.history.error))}function Fx(e){const t=g.useContext(Oi);return t?n.createElement(Dx,{...e,navigation:t}):n.createElement(Lx,{...e})}function Ja(e){var s,l,c,u,d;const t=((s=e==null?void 0:e.view)==null?void 0:s.workSurface)||"chat",a=t==="workspace"?(l=e==null?void 0:e.view)==null?void 0:l.workWorkspaceId:t==="chat"?e==null?void 0:e.selectedWorkspaceId:null,r=((u=(c=e==null?void 0:e.workspaces)==null?void 0:c.find(p=>p.id===a))==null?void 0:u.path)||"",o=(d=e==null?void 0:e.view)==null?void 0:d.newSessionDraft,i=(o==null?void 0:o.workspace)??r;return{title:"",workspace:r,bundle:"",selection:{},...o,location:(o==null?void 0:o.location)||{kind:i?"workspace":"managed"}}}function Es(e){var t;return JSON.stringify([e.workspace,e.bundle||"",...((t=e.location)==null?void 0:t.kind)==="managed"?["managed"]:[]])}function Ng(e){var a;const t=Ja(e);return((a=e.draftDefaults)==null?void 0:a[Es(t)])||{}}function qx(){return n.createElement("section",{className:"a-new-chat-setup","aria-label":"New chat"},n.createElement("img",{src:"/branding/icons/amplifier-icon-128.png",alt:""}),n.createElement("h2",null,"What shall we work on?"),n.createElement("p",null,"Bring an idea, a question, or a file."))}const Ha=crypto.randomUUID();let Ji;function ji(e){if(!e.startsWith("/api/"))return e;const t=new URL(e,location.origin);return t.searchParams.set("clientId",Ha),t.pathname+t.search}function jx(e){if(!Ji){let t;try{t=sessionStorage.getItem("amplifier.clientId")||void 0}catch{}Ji=Ct("/api/clients/attach",{method:"POST",signal:e,body:{clientId:Ha,resumeClientId:t,kind:"web",protocolVersion:1}}).then(a=>{try{sessionStorage.setItem("amplifier.clientId",Ha)}catch{}return a}).catch(a=>{throw Ji=null,a})}return Ji}let ui;function ws(){return ui?ui.seconds+(performance.now()-ui.received)/1e3:Date.now()/1e3}async function Ct(e,t={}){var u,d,p;const a={...e.startsWith("/api/")?{"X-Amplifier-Client":Ha,"X-Amplifier-State-Transport":"delta-v1"}:{},...t.headers};let r=t.body;r&&typeof r=="object"&&!(r instanceof FormData)&&(a["Content-Type"]="application/json",r=JSON.stringify(r));const o=await fetch(e,{...t,body:r,headers:a,credentials:"same-origin"}),i=Date.parse((d=(u=o.headers)==null?void 0:u.get)==null?void 0:d.call(u,"date"));Number.isFinite(i)&&(!ui||i/1e3>ws())&&(ui={seconds:i/1e3,received:performance.now()});const s=await o.text();let l;try{l=s?JSON.parse(s):{}}catch{throw new Error(`The server returned an unexpected response (${o.status}).`)}const c=o.ok&&l.accepted===!1?Number.isInteger(l.status)&&l.status>=400&&l.status<600?l.status:400:o.status;if(!o.ok||l.accepted===!1)throw Object.assign(new Error(typeof l.error=="string"?l.error:((p=l.error)==null?void 0:p.message)||l.message||`Request failed (${c})`),{code:l.code,state:l.state,receipt:l.receipt,status:c});return l}function mm(e,t,a="application/json"){const r=new Blob([typeof t=="string"?t:JSON.stringify(t,null,2)],{type:a}),o=URL.createObjectURL(r),i=document.createElement("a");i.href=o,i.download=e,i.click(),setTimeout(()=>URL.revokeObjectURL(o),1e3)}function Ux(e){var t,a;if(e)for(const r of e.querySelectorAll('button[aria-label],a[aria-label],[role="button"][aria-label]')){if(!((t=r.classList)!=null&&t.contains("a-icon"))&&!((a=r.querySelector)!=null&&a.call(r,"svg")))continue;const o=r.getAttribute("aria-label");o&&(!r.title||r.dataset.iconTitle==="auto")&&(r.title=o,r.dataset.iconTitle="auto")}}function $x(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode(o){if(o.nodeType===Node.ELEMENT_NODE){const i=getComputedStyle(o);return o.dataset.viewSource||i.display==="none"||i.visibility==="hidden"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP}return o.textContent.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});let a,r="";for(;(a=t.nextNode())&&r.length<6e4;)r+=a.textContent.trim()+` -`;return r.slice(0,6e4)}function ql(e,t,{interfaceOnly:a=!1}={}){var s,l,c;if(!e)return{clientId:t};const r=u=>!!u.getClientRects().length&&getComputedStyle(u).visibility!=="hidden",o=[...e.querySelectorAll("button,input,textarea,select,a,[role=separator]")].filter(r).map(u=>{var d,p,m,h;return{id:u.id||null,action:u.dataset.action||((d=u.closest("[data-action]"))==null?void 0:d.dataset.action)||null,...u.closest("[data-shell-component]")?{component:{instanceId:u.closest("[data-shell-component]").dataset.shellComponent,slot:u.closest("[data-shell-component]").dataset.shellSlot,command:u.dataset.shellCommand||null}}:{},label:u.dataset.viewLabel||u.getAttribute("aria-label")||((m=(p=u.labels)==null?void 0:p[0])==null?void 0:m.textContent)||((h=u.textContent)==null?void 0:h.trim().slice(0,160)),type:u.getAttribute("role")||u.type||u.tagName.toLowerCase(),...u.getAttribute("role")==="separator"?{minimum:Number(u.getAttribute("aria-valuemin")),maximum:Number(u.getAttribute("aria-valuemax")),current:Number(u.getAttribute("aria-valuenow"))}:{},value:u.type==="password"||u.dataset.private==="true"?"[redacted]":u.value,disabled:!!u.disabled||!!u.closest("[inert]"),...u.hasAttribute("aria-expanded")?{expanded:u.getAttribute("aria-expanded")==="true"}:{},focused:document.activeElement===u}}),i=Object.fromEntries(["navigation","conversation","canvas"].flatMap(u=>{const d=e.querySelector(`[data-part="${u}"]`);if(!d)return[];const p=d.getBoundingClientRect();return[[u,{x:Math.round(p.x),y:Math.round(p.y),width:Math.round(p.width),height:Math.round(p.height),visible:r(d),interactive:r(d)&&!d.closest("[inert]")}]]}));return{clientId:t,panes:i,webApp:{standalone:!!((s=window.matchMedia)!=null&&s.call(window,"(display-mode: standalone)").matches||navigator.standalone),secureContext:window.isSecureContext,serviceWorkerControlled:!!((l=navigator.serviceWorker)!=null&&l.controller),online:navigator.onLine},visibleText:a?$x(e):e.innerText.slice(0,6e4),...a?{visibleTextScope:"interface",conversationSource:"Selected session messages, execution and activity in app state"}:{},controls:o,selectedText:((c=window.getSelection())==null?void 0:c.toString().slice(0,1e4))||"",viewport:{width:innerWidth,height:innerHeight,scrollX,scrollY},url:location.pathname}}function Bx({name:e,children:t}){const[a,r]=g.useState(!1),o=g.useRef(null),i=g.useRef(null),s=g.useId(),l=e==="app.status"?"Additional status":"Additional controls",c=e==="app.status"?po:el;return g.useEffect(()=>{if(!a)return;const u=d=>{var p;(p=o.current)!=null&&p.contains(d.target)||r(!1)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[a]),g.useEffect(()=>{const u=matchMedia("(max-width:760px)"),d=()=>{var p;u.matches&&((p=o.current)!=null&&p.contains(document.activeElement))&&document.activeElement!==i.current&&r(!0)};return u.addEventListener("change",d),()=>u.removeEventListener("change",d)},[]),n.createElement("div",{className:"a-slot-overflow","data-open":a,ref:o,onKeyDown:u=>{var d;u.key==="Escape"&&a&&(u.stopPropagation(),u.preventDefault(),r(!1),(d=i.current)==null||d.focus())}},n.createElement("button",{ref:i,type:"button",className:"a-icon a-slot-overflow-toggle","aria-label":l,title:l,"aria-expanded":a,"aria-controls":s,onClick:()=>r(u=>!u)},n.createElement(c,null)),n.createElement("div",{className:"a-slot-overflow-items",id:s,role:"group","aria-label":l},t))}const jl=(e,t)=>Object.fromEntries(t.map(a=>[a,e==null?void 0:e[a]]));function Hx(e){var a,r;if(!e)return null;const t=(a=e.sessions)==null?void 0:a.find(o=>o.id===e.selectedSessionId);return JSON.stringify([e.shellDataKey??e.revision,e.shellChangeToken,e.selectedSessionId,e.selectedWorkspaceId,!!((r=e.runtime)!=null&&r.available),jl(e.view,["workSurface","workWorkspaceId"]),jl(t,["id","title","status","autoName","bundle","workspaceId","naming"]),jl(e.canvas,["id","kind","title","open"])])}const Rg=g.createContext(null);function Yu(){return g.useContext(Rg)}const Vx={"builtin.workspaces":Ox,"builtin.chats":Fx},hm={instances:[{id:"workspaces",package:"builtin.workspaces",slot:"navigation",hideWhen:{instanceId:"chats",navChatScope:"all"}},{id:"chats",package:"builtin.chats",slot:"navigation"}],presentation:{}},fm=Object.freeze({view:{},workspaces:[],chatNavigation:{items:[],total:0,pages:1,scope:{}},workspaceExplorer:{rows:[]},library:{bounded:!0},sharedHistory:{}}),Uo=typeof location<"u"&&new URLSearchParams(location.search).get("shell")==="recovery";function ks(e){return e&&typeof e=="object"&&!Object.isFrozen(e)&&(Object.values(e).forEach(ks),Object.freeze(e)),e}function gm(e,t){return Object.fromEntries(((e==null?void 0:e.resolvedInstances)||[]).map(a=>{var i,s;const r=t[a.id],o=((s=(i=e.snapshots)==null?void 0:i[a.id])==null?void 0:s.generation)||0;return[a.id,(r==null?void 0:r.package)===a.package&&r.generation===o?r.status:"inactive"]}))}function Wx(e,t,a){var k;const[r,o]=g.useState(null),[i,s]=g.useState(""),[l,c]=g.useState([]),u=g.useRef(Promise.resolve()),d=g.useRef({data:null,dispatch:t}),p=g.useRef(new Map),m=g.useRef(null),h=g.useRef(!1);d.current.dispatch=t,d.current.state=e;const f=g.useCallback(()=>document.hidden?(h.current=!0,Promise.resolve()):m.current?(h.current=!0,m.current):(h.current=!1,m.current=Ct("/api/shell?clientId="+encodeURIComponent(a)+(Uo?"&recovery=1":"")).then(T=>{var A;d.current.data=T,o(T),s("");for(const q of p.current.values()){const z=((A=T.snapshots)==null?void 0:A[q.id])||fm;if((z.generation||0)!==q.generation)continue;const F={...z,view:{...z.view,...Object.assign({},...q.pending.map(H=>H.patch))}};JSON.stringify(F)!==JSON.stringify(q.snapshot)&&(q.snapshot=ks(F),q.listeners.forEach(H=>H()))}}).catch(T=>s(T.message)).finally(()=>{if(m.current=null,h.current)return h.current=!1,f()}),m.current),[a]),v=Hx(e);g.useEffect(()=>{e&&f()},[v,f]),g.useEffect(()=>{const T=q=>{q.detail.shellClientId===a&&f()},A=()=>{document.hidden||f()};return window.addEventListener("amplifier-shell",T),window.addEventListener("amplifier-reconnected",A),document.addEventListener("visibilitychange",A),()=>{window.removeEventListener("amplifier-shell",T),window.removeEventListener("amplifier-reconnected",A),document.removeEventListener("visibilitychange",A)}},[a,f]);const y=g.useCallback(T=>{var z,F,H,ne,B;const A=((H=(F=(z=d.current.data)==null?void 0:z.snapshots)==null?void 0:F[T.id])==null?void 0:H.generation)||0,q=T.id+":"+A;if(!p.current.has(q)){const P={id:T.id,generation:A,listeners:new Set,pending:[],snapshot:ks(((B=(ne=d.current.data)==null?void 0:ne.snapshots)==null?void 0:B[T.id])||fm)};let _=Promise.resolve();const ee=(Z,D)=>{const G=Z==="shell.view.update"?{patch:D.patch}:null;G&&(P.pending.push(G),P.snapshot=ks({...P.snapshot,view:{...P.snapshot.view,...G.patch}}),P.listeners.forEach(oe=>oe()));const j=async()=>{var oe,xe;try{const ce=await d.current.dispatch(Z,{...D,generation:A});return Z==="shell.command"&&D.action==="session.select"&&!((xe=(oe=d.current.state)==null?void 0:oe.view)!=null&&xe.navPinned)&&await d.current.dispatch("view.update",{patch:{navExpanded:!1}}),{accepted:ce.accepted,result:ce.result}}finally{G&&(P.pending=P.pending.filter(ce=>ce!==G)),await f()}},K=_.then(j,j);return _=K.catch(()=>{}),K};P.api=Object.freeze({apiVersion:"1.0",clientId:a,instanceId:T.id,getSnapshot:()=>P.snapshot,subscribe:Z=>(P.listeners.add(Z),()=>{var D,G,j;P.listeners.delete(Z),!P.listeners.size&&(((j=(G=(D=d.current.data)==null?void 0:D.snapshots)==null?void 0:G[T.id])==null?void 0:j.generation)||0)!==A&&p.current.delete(q)}),setDirty:Z=>ee("shell.view.update",{clientId:a,instanceId:T.id,patch:{},dirty:Z}),dispatch:(Z,D={})=>Z==="view.update"?ee("shell.view.update",{clientId:a,instanceId:T.id,patch:D.patch||{}}):ee("shell.command",{clientId:a,instanceId:T.id,action:Z,args:D})}),p.current.set(q,P)}return p.current.get(q).api},[a,f]),E=g.useRef({}),b=g.useRef(new Map),x=g.useRef(null),w=Uo?hm:(r==null?void 0:r.effectiveComposition)||hm,R=l.length?{...w,presentation:{...w.presentation,...Object.assign({},...l.map(T=>T.patch))}}:w,S=g.useCallback(async T=>{var A;await t("shell.recover",{clientId:a,target:T,expectedRevision:((A=d.current.data)==null?void 0:A.revision)||0}),await f(),Uo&&(location.href=location.pathname)},[a,t,f]),I=g.useCallback(T=>{const A={patch:{...T}};c(F=>[...F,A]);const q=async()=>{try{d.current.data||await f();const F=d.current.data;if(!F)throw Error("Shell settings are not available yet.");const H={...F.effectiveComposition,presentation:{...F.effectiveComposition.presentation,...T}},ne=await t("shell.changes.prepare",{clientId:a,expectedRevision:F.revision,composition:H},{presentation:!0});await t("shell.changes.apply",{clientId:a,expectedRevision:F.revision,changeId:ne.result.id},{presentation:!0}),await f()}finally{c(F=>F.filter(H=>H!==A))}},z=u.current.then(q,q);return u.current=z.catch(()=>{}),z},[a,t,f]),N=g.useCallback((T,A="")=>{var z;const q=d.current.data;if(!(!q||Uo))return Ct("/api/actions",{method:"POST",body:{action:"shell.report",args:{clientId:a,revision:q.revision,previewId:((z=q.preview)==null?void 0:z.id)||null,instances:T,message:A}}}).catch(()=>{})},[a]),M=g.useCallback(T=>{var z,F,H;const A=((H=(F=(z=d.current.data)==null?void 0:z.snapshots)==null?void 0:F[T.id])==null?void 0:H.generation)||0,q=T.id+":"+T.package+":"+A;for(const ne of b.current.keys())ne.startsWith(T.id+":")&&ne!==q&&b.current.delete(ne);return b.current.has(q)||(E.current[T.id]={package:T.package,generation:A,status:"loading"},b.current.set(q,(ne,B="")=>{var _,ee,Z;const P=d.current.data;!((_=P==null?void 0:P.resolvedInstances)!=null&&_.some(D=>D.id===T.id&&D.package===T.package))||(((Z=(ee=P.snapshots)==null?void 0:ee[T.id])==null?void 0:Z.generation)||0)!==A||(E.current[T.id]={package:T.package,generation:A,status:ne},clearTimeout(x.current),x.current=setTimeout(()=>N(gm(d.current.data,E.current),B),50))})),b.current.get(q)},[N]);return g.useEffect(()=>(clearTimeout(x.current),x.current=setTimeout(()=>N(gm(r,E.current)),80),()=>clearTimeout(x.current)),[r==null?void 0:r.revision,(k=r==null?void 0:r.preview)==null?void 0:k.id,N]),{data:r,error:i,composition:R,hostFor:y,recover:S,report:N,statusFor:M,refresh:f,setPresentation:I,ready:!!r,recovery:Uo,clientId:a}}class Tg extends n.Component{constructor(){super(...arguments);Ye(this,"state",{error:null})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a){this.props.report("error",a.message)}render(){return this.state.error?n.createElement("p",{role:"alert"},"This component could not render. ",this.state.error.message):this.props.children}}function Zx({View:e,host:t,report:a,workspaceHost:r,paired:o}){return g.useEffect(()=>{a("ready")},[e,a]),n.createElement(e,{host:t,workspaceHost:r,paired:o})}function Ig({instance:e,metadata:t,host:a,report:r,workspaceHost:o,paired:i}){const[s,l]=g.useState(null),[c,u]=g.useState(""),d=Vx[e.package];g.useEffect(()=>{let m=!0;if(u(""),!d){if(!(t!=null&&t.url)){u((t==null?void 0:t.error)||"Package is unavailable."),r("error");return}return r("loading"),import(t.url).then(h=>{const f=h.default({React:n});if(typeof f!="function")throw Error("Invalid module factory.");m&&l({package:e.package,View:f})}).catch(h=>{m&&(u(h.message),r("error",h.message))}),()=>{m=!1}}},[e.package,t==null?void 0:t.url,t==null?void 0:t.error,d,r]);const p=d||((s==null?void 0:s.package)===e.package?s.View:null);return c?n.createElement("p",{role:"alert"},"Component unavailable: ",c):p?n.createElement(Tg,{key:e.package+":"+a.getSnapshot().generation,report:r},n.createElement(Zx,{View:p,host:a,report:r,workspaceHost:o,paired:i})):n.createElement("p",{role:"status"},"Loading component…")}function Jx({shell:e}){const t=e.composition.instances.filter(a=>a.slot==="navigation");return e.ready?n.createElement(n.Fragment,null,(e.error||e.recovery)&&n.createElement("p",{role:"alert"},e.recovery?"Recovery mode: optional components are disabled.":e.error),n.createElement("div",{className:"a-shell-modules"},t.map((a,r)=>{var o,i,s,l,c,u,d,p,m,h,f;return n.createElement("section",{className:"a-shell-instance","data-shell-instance":a.id,"data-shell-package":a.package,hidden:!!a.hideWhen&&!((c=(l=(s=(i=(o=e.data)==null?void 0:o.snapshots)==null?void 0:i[a.id])==null?void 0:s.view)==null?void 0:l.workspaceDraft)!=null&&c.mode)&&((m=(p=(d=(u=e.data)==null?void 0:u.snapshots)==null?void 0:d[a.hideWhen.instanceId])==null?void 0:p.view)==null?void 0:m.navChatScope)===a.hideWhen.navChatScope,style:{order:r},key:a.id},n.createElement(Ig,{instance:a,metadata:(f=(h=e.data)==null?void 0:h.packages)==null?void 0:f[a.package],host:e.hostFor(a),report:e.statusFor(a),paired:a.package==="builtin.workspaces"&&e.composition.instances.some(v=>{var y;return v.id===((y=a.hideWhen)==null?void 0:y.instanceId)&&v.package==="builtin.chats"}),workspaceHost:a.package==="builtin.chats"&&e.composition.instances.some(v=>{var y;return v.package==="builtin.workspaces"&&((y=v.hideWhen)==null?void 0:y.instanceId)===a.id})?e.hostFor(e.composition.instances.find(v=>{var y;return v.package==="builtin.workspaces"&&((y=v.hideWhen)==null?void 0:y.instanceId)===a.id})):void 0}))})),n.createElement("details",{className:"a-shell-recovery"},n.createElement("summary",null,"Shell controls"),n.createElement("button",{type:"button",onClick:()=>e.recover("lastGood")},"Restore last working shell"),n.createElement("button",{type:"button",onClick:()=>e.recover("default")},"Restore default shell"),n.createElement("a",{href:"?shell=recovery"},"Open recovery mode"))):n.createElement("p",{role:"status"},"Loading navigation…")}function Kx({children:e,report:t}){return g.useEffect(()=>{t("ready")},[t]),e}function qr({name:e,instanceId:t,children:a}){var s;const r=Yu();if(!r)return a||null;const o=(((s=r.data)==null?void 0:s.resolvedInstances)||[]).filter(l=>l.slot===e&&(!t||l.id===t));if(!o.length)return null;const i=o.map(l=>{var c,u,d,p,m,h,f,v,y,E,b;return{builtin:l.package===((d=(u=(c=r.data)==null?void 0:c.slots)==null?void 0:u[e])==null?void 0:d.default),element:l.package===((h=(m=(p=r.data)==null?void 0:p.slots)==null?void 0:m[e])==null?void 0:h.default)?n.createElement(Tg,{key:l.id+":"+(((y=(v=(f=r.data)==null?void 0:f.snapshots)==null?void 0:v[l.id])==null?void 0:y.generation)||0),report:r.statusFor(l)},n.createElement(Kx,{report:r.statusFor(l)},a)):n.createElement("div",{className:"a-shell-contribution","data-shell-component":l.id,"data-shell-slot":e,key:l.id},n.createElement(Ig,{instance:l,metadata:(b=(E=r.data)==null?void 0:E.packages)==null?void 0:b[l.package],host:r.hostFor(l),report:r.statusFor(l)}))}});return["app.actions","app.status"].includes(e)&&i.some(l=>!l.builtin)?n.createElement(n.Fragment,null,i.filter(l=>l.builtin).map(l=>l.element),n.createElement(Bx,{name:e},i.filter(l=>!l.builtin).map(l=>l.element))):i.map(l=>l.element)}const zs=g.createContext(void 0);function vr({children:e,inline:t=!1}){const a=g.useContext(zs);return t||a===void 0?e:a?Pi.createPortal(e,a):null}function Yx({children:e,label:t}){const a=g.useContext(zs),[r,o]=g.useState(null);return a===void 0?e:n.createElement(n.Fragment,null,n.createElement(vr,null,n.createElement("div",{ref:o,className:"a-canvas-view-tools",role:"group","aria-label":t})),n.createElement(zs.Provider,{value:r},e))}const Gx=(e,t)=>t.sessionId===e.selectedSessionId&&t.workspaceId===e.selectedWorkspaceId;function go(e){return(e.canvasArtifacts||[]).filter(t=>Gx(e,t))}function vm({state:e,message:t,act:a}){const r=go(e).flatMap(o=>{var i;return(o.publications||[{messageId:o.messageId,version:((i=o.app)==null?void 0:i.revision)||o.revision||1}]).filter(s=>s.messageId===t.id).map(s=>({row:o,version:s.version}))});return r.length?n.createElement("div",{className:"a-chat-artifacts","aria-label":"Saved artifacts for this turn"},r.map(({row:o,version:i})=>{var s,l;return n.createElement("button",{type:"button",key:o.id+":"+i,className:"a-artifact-link","data-action":"canvas.select",onClick:()=>a("canvas.select",{id:o.id,version:i})},o.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,((l=(((s=o.app)==null?void 0:s.versions)||o.versions||[]).find(c=>c.version===i))==null?void 0:l.title)||o.title," · Version ",i),n.createElement(zr,null))})):null}function Qx({state:e,act:t}){const a=go(e).filter(r=>r.tabOpen);return a.length?n.createElement("div",{className:"a-canvas-tabs",role:"tablist","aria-label":"Open canvas items"},a.map(r=>{var o,i;return n.createElement("div",{className:`a-canvas-tab ${r.id===((o=e.canvas)==null?void 0:o.id)?"is-active":""}`,key:r.id},n.createElement("button",{type:"button",role:"tab","aria-selected":r.id===((i=e.canvas)==null?void 0:i.id),"data-action":"canvas.select",onClick:()=>t("canvas.select",{id:r.id})},r.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,r.title)),n.createElement("button",{type:"button",className:"a-icon","aria-label":`Close tab ${r.title}`,"data-action":"canvas.tabClose",onClick:()=>t("canvas.tabClose",{id:r.id})},n.createElement(tn,null)))})):null}function Xx({state:e,act:t}){var i;const a=((i=e.view)==null?void 0:i.canvasDraft)||{},r=go(e),o=tl(r,a.filter||"",s=>[s.title,s.kind,s.path||"",s.url||""]);return n.createElement("section",{className:"a-canvas-library","aria-label":"Saved canvas artifacts"},n.createElement("h3",null,"Saved in this chat ",n.createElement("small",null,r.length)),n.createElement("input",{type:"search","aria-label":"Filter saved artifacts",placeholder:"Find artifacts · * ? patterns",value:a.filter||"","data-action":"view.update",onChange:s=>t("view.update",{patch:{canvasDraft:{...a,filter:s.target.value}}})}),o.slice().reverse().map(s=>n.createElement("button",{key:s.id,type:"button",className:"a-saved-artifact","data-action":"canvas.select",onClick:async()=>{await t("canvas.select",{id:s.id}),t("view.update",{patch:{canvasDraft:{...a,library:!1}}})}},s.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,n.createElement("strong",null,s.title),n.createElement("small",null,s.kind," · ",s.kind==="browser"?"Saved address":s.app?"Interactive surface":"Saved snapshot")),n.createElement(zr,null))),!o.length&&n.createElement("p",null,r.length?"No matching artifacts.":"Files and visuals you open will stay here, even after closing their tabs."))}function eS({state:e,act:t}){var s;const a=((s=e.view)==null?void 0:s.canvasDraft)||{},[r,o]=g.useState(a.url||""),i=g.useRef(null);return g.useEffect(()=>{(i.current===null||a.url===i.current)&&(o(a.url||""),i.current=null)},[a.url]),n.createElement("form",{className:"a-canvas-address",onSubmit:l=>{l.preventDefault(),t("canvas.show",{kind:"browser",url:r})}},n.createElement("label",{htmlFor:"canvas-browser-url"},"App or website address"),n.createElement("div",null,n.createElement("input",{id:"canvas-browser-url",type:"url",required:!0,placeholder:"http://localhost:3000",value:r,"data-action":"view.update",onChange:l=>{o(l.target.value),i.current=l.target.value,t("view.update",{patch:{canvasDraft:{...a,url:l.target.value}}})}}),n.createElement("button",{className:"a-primary",type:"submit","data-action":"canvas.show",disabled:!r.trim()},n.createElement(zr,null),"Open")))}function tS(e,t){const a=new URL(e),r=new URL(t),o=l=>l==="localhost"||l.endsWith(".localhost")||l==="[::1]"||/^127\.\d+\.\d+\.\d+$/.test(l),i=r.protocol==="https:"&&a.protocol==="http:"&&!o(a.hostname),s=o(a.hostname)&&!o(r.hostname);return{blocked:i,localWarning:s,message:i?"This HTTP page cannot be embedded inside the HTTPS app. Open it in your browser, or serve the page over HTTPS.":s?"This address points to the device viewing the app. For a service running on the Amplifier host, use that host’s LAN or Tailnet address.":"Some sites block embedding or require a separate browser tab. The app cannot verify the contents of this external frame."}}function nS({canvas:e,act:t}){var o,i,s,l;const a=tS(e.url,typeof location>"u"?"http://localhost":location.href),r=g.useRef(t);return r.current=t,g.useEffect(()=>{const c=(d,p)=>r.current("canvas.report",{id:e.id,part:"preview",status:d,message:p});if(a.blocked){c("error",a.message);return}c("pending","Opening external preview; page contents cannot be verified.");const u=setTimeout(()=>c("unverified","Preview could not be verified. If it is blank, open it in your browser or check the address and site embedding policy."),12e3);return()=>clearTimeout(u)},[e.id,(o=e.view)==null?void 0:o.reload,a.blocked,a.message]),n.createElement("div",{className:"a-browser-preview"},n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},n.createElement(gr,null),n.createElement("span",{className:"a-browser-url",title:e.url},e.url),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reload browser preview","data-action":"canvas.view",onClick:()=>t("canvas.view",{id:e.id,patch:{reload:Date.now()}})},n.createElement(ex,null)))),a.blocked?n.createElement("div",{className:"a-browser-blocked",role:"alert"},n.createElement(gr,null),n.createElement("h3",null,"Open this page in your browser"),n.createElement("p",null,a.message),n.createElement("a",{className:"a-soft","data-action":"canvas.openExternal",href:e.url,target:"_blank",rel:"noopener noreferrer"},"Open in browser ",n.createElement(ba,{size:16}))):n.createElement("iframe",{key:`${e.id}-${((i=e.view)==null?void 0:i.reload)||0}`,title:e.title||"App preview",className:"a-canvas-html",sandbox:"allow-scripts allow-forms",referrerPolicy:"no-referrer",src:e.url,onLoad:()=>t("canvas.report",{id:e.id,part:"preview",status:"unverified",message:"Frame navigation finished. Browser security prevents confirming whether this external page loaded or permits embedding."})}),n.createElement("div",{className:"a-browser-help"},n.createElement("a",{"data-action":"canvas.openExternal",href:e.url,target:"_blank",rel:"noopener noreferrer"},"Open in browser ",n.createElement(ba,{size:13})),n.createElement("button",{className:"a-link",type:"button","data-action":"canvas.view","aria-expanded":!!((s=e.view)!=null&&s.help),onClick:()=>{var c;return t("canvas.view",{id:e.id,patch:{help:!((c=e.view)!=null&&c.help)}})}},"Preview help"),(((l=e.view)==null?void 0:l.help)||a.localWarning)&&n.createElement("p",null,a.message," The service must stay running and be reachable from this device. Authentication, frame policies, redirects, and sandbox restrictions can require opening it separately.")))}function Ag({state:e,session:t,act:a}){const r=hg(e,t);return r?n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>a("view.update",{patch:{panel:"subagent-history",subagentHistory:{sessionId:t.id,filter:"",index:0}}})},n.createElement(Wa,null),"Subagent history (",r,")"):null}function aS({state:e,session:t,act:a}){var p,m;const r=((p=e.view)==null?void 0:p.subagentHistory)||{},o=((m=e.sessions)==null?void 0:m.find(h=>h.id===r.sessionId))||t,i=r.filter||"",s=Ex(e,o),{pages:l,index:c}=s,u=h=>a("view.update",{patch:{subagentHistory:{sessionId:o==null?void 0:o.id,filter:i,index:c,...h}}}),d=async h=>{const f=await a("session.select",{id:h});f&&f.accepted!==!1&&await a("view.update",{patch:{panel:null}})};return n.createElement("div",{"data-part":"subagent-history"},n.createElement("p",null,"Saved subagent conversations from ",(o==null?void 0:o.title)||"this conversation",". Open one to read its work."),n.createElement("label",{htmlFor:"subagent-history-filter"},"Find subagent conversations"),n.createElement("input",{id:"subagent-history-filter",type:"search",value:i,placeholder:"Search or pattern, e.g. *research*","data-action":"view.update",onChange:h=>u({filter:h.target.value,index:0})}),n.createElement("p",{className:"a-caption",role:"status"},s.pending?"Loading subagent conversations…":`${s.total} of ${s.unfilteredTotal} subagent conversations`),n.createElement("div",{className:"a-subagent-history-list","aria-busy":!!s.pending},s.items.map(h=>n.createElement("button",{key:h.id,type:"button",className:"a-soft","data-action":"session.select",onClick:()=>d(h.id),title:h.description||h.nativeIdentity||h.id},n.createElement(Wa,null),n.createElement("span",null,h.title||"Subagent conversation"),n.createElement(Gt,null)))),!s.total&&!s.pending&&n.createElement("p",null,i?"No matching subagent conversations.":"No saved subagent conversations for this chat."),l>1&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:c===0,onClick:()=>u({index:c-1})},n.createElement(_k,null),"Previous subagents"),n.createElement("span",{className:"a-caption"},s.start+1,"–",s.end," of ",s.total),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:c===l-1,onClick:()=>u({index:c+1})},"More subagents",n.createElement(Gt,null))))}function rS({state:e,act:t,changeDraft:a}){var c;const r=(c=e.sessions)==null?void 0:c.find(u=>u.id===e.selectedSessionId),o=go(e),i=[...new Map(((r==null?void 0:r.messages)||[]).flatMap(u=>u.attachments||[]).map(u=>[u.id||u.name,u])).values()],s=(r==null?void 0:r.workers)||[],l=s.filter(u=>["queued","starting","working","running","stopping"].includes(u.status)).length;return n.createElement("div",{className:"a-chat-overview",role:"region","aria-label":"Chat overview",tabIndex:0},n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Co,null),n.createElement("h3",null,"Outputs"),n.createElement("span",null,o.length)),o.length?n.createElement(Xx,{state:e,act:t}):n.createElement("p",null,"Files and visuals from this chat will appear here."),n.createElement("div",{className:"a-overview-actions"},n.createElement("button",{className:"a-link",type:"button",onClick:()=>a({open:!0,browser:!1,library:!0})},n.createElement(tr,null),"Open file"),n.createElement("button",{className:"a-link",type:"button",onClick:()=>a({browser:!0,open:!1,library:!0})},n.createElement(gr,null),"Open website"))),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Lu,null),n.createElement("h3",null,"Sources")),i.length?n.createElement("ul",null,i.map(u=>n.createElement("li",{key:u.id||u.name},u.name||"Attachment"))):n.createElement("p",null,"No attachments in the loaded messages.")),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Wa,null),n.createElement("h3",null,"Agents"),l>0&&n.createElement("span",null,l," working")),s.length?n.createElement("ul",null,s.map(u=>n.createElement("li",{key:u.id},u.name||u.instruction||"Worker"," ",n.createElement("small",null,u.status)))):n.createElement("p",null,"Delegated work will appear here."),n.createElement(Ag,{state:e,session:r,act:t}),n.createElement("button",{className:"a-link",type:"button",onClick:()=>t("view.update",{patch:{panel:"coordination"}})},"View tasks and workers")),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(po,null),n.createElement("h3",null,"Activity")),n.createElement("p",null,(r==null?void 0:r.status)||"Idle"),n.createElement("button",{className:"a-link",type:"button",onClick:()=>t("view.update",{patch:{panel:"runtime"}})},"Chat controls and details")))}const Wc=new Set;function oS(e,t){const a={sessionId:e,checkpoint:t};return Wc.add(a),()=>Wc.delete(a)}async function Ul(e,t){const a=[...Wc].filter(o=>o.sessionId===e).map(o=>Promise.resolve().then(()=>o.checkpoint(t)).catch(()=>{}));let r;try{await Promise.race([Promise.all(a),new Promise(o=>{r=setTimeout(o,1e3)})])}finally{clearTimeout(r)}}const $o=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].map(t=>[t,e[t]])),iS=["bg","surface","soft","ink","muted","line","accent","tint","green","danger"];function bm(){const e=document.getElementById("amp-one"),t=getComputedStyle(e||document.documentElement);return{version:1,tokens:Object.fromEntries(iS.map(a=>[a,t.getPropertyValue("--a-"+a).trim()])),scheme:t.colorScheme==="dark"?"dark":t.colorScheme==="light"?"light":matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",reducedMotion:matchMedia("(prefers-reduced-motion: reduce)").matches,contrast:matchMedia("(prefers-contrast: more)").matches?"more":"normal"}}function sS({canvas:e,dispatch:t}){const[a,r]=g.useState(e),[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(!1),[d,p]=g.useState(null),m=g.useRef(),h=g.useRef(e),f=g.useRef(a),v=g.useRef(!1),y=g.useRef(0),E=g.useRef(0),b=g.useRef(crypto.randomUUID()),x=g.useRef(new Map),w=g.useRef(Promise.resolve()),R=g.useRef(),S=g.useRef();(e.app.revision!==h.current.app.revision||e.app.stateRevision>=h.current.app.stateRevision)&&(h.current=e),f.current=a;const I=e.app,N=g.useRef(new Map),M=H=>{E.current=0,b.current=crypto.randomUUID(),x.current.clear(),p(null),i(""),l(""),R.current=null,S.current=null,r(H)},k=(H=!1)=>{var _,ee;const ne=h.current;if(ne.app.revision!==f.current.app.revision)return;const B={id:ne.id,app:ne.app,visible:!!ne.open,theme:bm()},P=JSON.stringify([b.current,ne.app.revision,ne.app.stateRevision,B.visible,B.theme]);!H&&P===R.current||(R.current=P,(ee=(_=m.current)==null?void 0:_.contentWindow)==null||ee.postMessage({type:"canvas-app-host",id:ne.id,channel:b.current,snapshot:B},"*"))},T=(H,ne=E.current)=>{if(ne!==E.current)return Promise.resolve();v.current=H,u(H);const B=$o(f.current),P=b.current,_=w.current.catch(()=>{}).then(()=>t("canvas.views.dirty",{...B,dirty:H,editVersion:ne}));return w.current=_,_.catch(ee=>{throw P===b.current&&(v.current=!0,u(!0),i(ee.message)),ee})};g.useEffect(()=>{e.app.revision!==a.app.revision&&!v.current&&!y.current?M(e):k()},[e]),g.useEffect(()=>{const H=oS(e.sessionId,D=>new Promise(G=>{var oe,xe;const j=D||crypto.randomUUID(),K=setTimeout(()=>{N.current.delete(j),G()},900);N.current.set(j,()=>{clearTimeout(K),G()}),(xe=(oe=m.current)==null?void 0:oe.contentWindow)==null||xe.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,checkpoint:j},"*")})),ne=async D=>{var xe,ce,_e,$e,De,de,ve,O;const G=D.data;if(D.source!==((xe=m.current)==null?void 0:xe.contentWindow)||(G==null?void 0:G.type)!=="canvas-app"||G.id!==h.current.id)return;if(G.op==="ready"){k(!0);return}if(G.channel!==b.current)return;if(G.op==="observation"){const W=G.observation;if(!W||JSON.stringify(W).length>48e4)return;try{await Ct("/api/actions",{method:"POST",body:{action:"canvas.views.observe",args:{...W,...$o(f.current),...G.checkpoint?{checkpointId:G.checkpoint}:{}},id:crypto.randomUUID()}})}catch{}(ce=N.current.get(G.checkpoint))==null||ce(),N.current.delete(G.checkpoint);return}if(G.op==="status"){const W=G.status==="error"?"error":"ready",ae=String(G.message||"").slice(0,1e3),ze=W+":"+ae;if(ze===S.current)return;S.current=ze,t("canvas.views.status",{...$o(f.current),status:W,message:ae}).catch(()=>{}),l(W==="error"?ae:"");return}if(G.op==="editing"&&h.current.readOnlyVersion)return;if(G.op==="editing"){Number.isSafeInteger(G.editVersion)&&G.editVersion>E.current&&(E.current=G.editVersion,T(!0).catch(()=>{}));return}if(!["state","event","request","dirty"].includes(G.op)||typeof G.requestId!="string"||G.requestId.length>80)return;const j=W=>{var ae,ze;return(ze=(ae=m.current)==null?void 0:ae.contentWindow)==null?void 0:ze.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,requestId:G.requestId,...W},"*")};if(h.current.readOnlyVersion){j({error:"This saved version is read-only. Select Latest to interact."});return}if(JSON.stringify(G).length>32e4){j({error:"This change exceeds the surface message size limit."});return}if(G.revision!==f.current.app.revision){j({error:"This design changed. Inspect the current surface before retrying."});return}if(x.current.has(G.requestId)){const W=x.current.get(G.requestId);W&&j(W);return}if(x.current.size>=128){const W=[...x.current].find(([,ae])=>ae!==null);if(W)x.current.delete(W[0]);else{j({error:"Wait for pending surface changes to finish."});return}}x.current.set(G.requestId,null),y.current++;const K=G.editVersion,oe=b.current;try{let W;if(G.op==="dirty")await T(!!((_e=G.args)!=null&&_e.dirty),K),W={app:h.current.app};else{const ze=G.op==="state"?{patch:($e=G.args)==null?void 0:$e.patch}:G.op==="event"?{name:(De=G.args)==null?void 0:De.name,payload:(de=G.args)==null?void 0:de.payload}:{name:(ve=G.args)==null?void 0:ve.name,input:(O=G.args)==null?void 0:O.input};W=(await t("canvas.apps."+G.op,{...ze,id:f.current.id,sessionId:f.current.sessionId,expectedRevision:f.current.app.revision,expectedStateRevision:G.stateRevision},{id:b.current+":"+G.requestId})).result,W.app.revision===h.current.app.revision&&W.app.stateRevision>=h.current.app.stateRevision&&(h.current={...h.current,app:W.app}),(G.op==="state"||G.op==="event")&&Number.isSafeInteger(G.commit)&&G.commit===K&&K===E.current&&await T(!1,K)}if(oe!==b.current)return;const ae={snapshot:{id:h.current.id,app:W.app,theme:bm()}};x.current.set(G.requestId,ae),j(ae),i("")}catch(W){if(oe!==b.current)return;const ae={error:W.message};x.current.set(G.requestId,ae),j(ae),i(W.message)}finally{y.current--,oe===b.current&&!y.current&&!v.current&&h.current.app.revision!==f.current.app.revision&&M(h.current)}};window.addEventListener("message",ne);let B;const P=()=>{cancelAnimationFrame(B),B=requestAnimationFrame(()=>k())},_=new MutationObserver(P);_.observe(document.head,{subtree:!0,childList:!0,characterData:!0});const ee=document.getElementById("amp-one");ee&&_.observe(ee,{attributes:!0,subtree:!0,childList:!0,characterData:!0});const Z=["prefers-color-scheme: dark","prefers-reduced-motion: reduce","prefers-contrast: more"].map(D=>matchMedia("("+D+")"));return Z.forEach(D=>D.addEventListener("change",P)),()=>{H();for(const D of N.current.values())D();N.current.clear(),window.removeEventListener("message",ne),_.disconnect(),cancelAnimationFrame(B),Z.forEach(D=>D.removeEventListener("change",P))}},[t]);const A=()=>({id:e.id,sessionId:e.sessionId,expectedRevision:h.current.app.revision,expectedStateRevision:h.current.app.stateRevision}),q=async(H,ne)=>{try{const B=await t(H,{...A(),...ne});return i(""),B}catch(B){i(B.message)}},z=async H=>{const ne=await t("canvas.apps.inspect",{id:e.id,sessionId:e.sessionId,requestId:H.id});p({request:H,input:ne.result.requestInput})},F=ji(`/api/canvas/${a.id}/app-host?`+new URLSearchParams($o(a)));return n.createElement("section",{className:"a-canvas-app","aria-label":"Interactive conversation surface"},c&&n.createElement("p",{className:"a-canvas-unsaved",role:"status"},"Unsaved input"),n.createElement(vr,null,n.createElement("div",{className:"a-canvas-app-bar"},n.createElement("span",null,"Revision ",I.revision),n.createElement("details",null,n.createElement("summary",null,"History & shared state"),n.createElement("p",null,"Restoring a design keeps compatible current inputs and never repeats actions."),I.versions.map(H=>n.createElement("button",{type:"button",key:H.version,disabled:H.version===I.revision||c||e.readOnlyVersion,onClick:()=>q("canvas.apps.restore",{version:H.version})},"Restore revision ",H.version)),n.createElement("pre",{"aria-label":"Shared surface state"},JSON.stringify(I.state,null,2))))),(o||s)&&n.createElement("div",{className:"a-canvas-app-errors",role:"alert"},s&&n.createElement("p",null,s),o&&o!==s&&n.createElement("p",null,o)),a.app.revision!==I.revision&&n.createElement("p",{role:"status"},"A new design is ready. Your unfinished input is still here. ",n.createElement("button",{type:"button",onClick:async()=>{try{await t("canvas.views.dirty",{...$o(h.current),dirty:!1}),v.current=!1,u(!1),M(h.current)}catch(H){i(H.message)}}},"Discard unfinished input and load revision ",I.revision)),I.requests.filter(H=>H.status==="pending").map(H=>n.createElement("div",{className:"a-canvas-app-request",key:H.id},n.createElement("span",null,H.action==="theme.preview"?"Preview on this device":H.action==="theme.apply"?"Apply to the shared shell":"Revert this device’s last theme change",": ",H.summary),n.createElement("button",{type:"button",onClick:()=>z(H).catch(ne=>i(ne.message))},"Review theme change"),n.createElement("button",{type:"button",onClick:()=>q("canvas.apps.resolve",{requestId:H.id,approve:!1})},"Decline"))),d&&I.requests.some(H=>H.id===d.request.id&&H.status==="pending")&&n.createElement("section",{className:"a-canvas-app-review","aria-label":"Review requested theme change"},n.createElement("strong",null,d.request.summary),n.createElement("p",null,d.request.action==="theme.apply"?"Applying changes the shell for all connected clients.":"This action uses this device’s theme controls."),n.createElement("pre",null,d.input.css||"End the preview, or undo the last applied theme if it is still current."),n.createElement("button",{type:"button",onClick:async()=>{await q("canvas.apps.resolve",{requestId:d.request.id,approve:!0})&&p(null)}},"Approve theme change"),n.createElement("button",{type:"button",onClick:()=>p(null)},"Back")),e.readOnlyVersion&&n.createElement("p",{role:"status"},"Saved design, read only.",e.historicalStateUnavailable?" Inputs were not recorded for this older design.":" Inputs show the state saved when this version was created."),n.createElement("iframe",{key:a.app.revision,title:e.title,ref:m,src:F,sandbox:"allow-scripts allow-same-origin",onLoad:()=>k(!0)}))}const lS="modulepreload",cS=function(e){return"/"+e},ym={},_g=function(t,a,r){let o=Promise.resolve();if(a&&a.length>0){let s=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=s(a.map(u=>{if(u=cS(u),u in ym)return;ym[u]=!0;const d=u.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":lS,d||(m.as="script"),m.crossOrigin="",m.href=u,c&&m.setAttribute("nonce",c),document.head.appendChild(m),d)return new Promise((h,f)=>{m.addEventListener("load",h),m.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return o.then(s=>{for(const l of s||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Em=4e3;function uS(e,t=0){return()=>a=>{const r=o=>{var i;o.children=(i=o.children)==null?void 0:i.map(s=>{var u,d,p,m,h,f;const l=(d=(u=s.position)==null?void 0:u.start)==null?void 0:d.offset,c=(m=(p=s.position)==null?void 0:p.end)==null?void 0:m.offset;if(s.type==="text"&&Number.isInteger(l)&&Number.isInteger(c))return{type:"emphasis",data:{hName:"span",hProperties:{"data-canvas-source-start":t+l,"data-canvas-source-end":t+c}},children:[s]};if(["inlineCode","code"].includes(s.type)&&Number.isInteger(l)&&Number.isInteger(c)){const v=e.slice(l,c),y=((h=/^`+/.exec(v))==null?void 0:h[0].length)||0;let E=l;if(s.type==="inlineCode"){E+=y;const b=e.slice(E,c-y);b.startsWith(" ")&&b.endsWith(" ")&&b.trim()&&E++}else/^ {0,3}(`{3,}|~{3,})/.test(v)?E+=v.indexOf(` -`)+1:E+=/^ */.exec(v)[0].length;E+s.value.length<=c&&e.slice(E,E+s.value.length)===s.value&&(s.data={...s.data,hProperties:{...(f=s.data)==null?void 0:f.hProperties,"data-canvas-source-start":t+E,"data-canvas-source-end":t+E+s.value.length,"data-canvas-literal":"true"}})}return s.children&&r(s),s})};r(a)}}const dS=/\\[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~]|&(?:#[xX][0-9a-fA-F]{1,6}|#[0-9]{1,7}|[A-Za-z][A-Za-z0-9]+);|\r\n/g;function pS(e,t,a){const r=[0];let o="",i=0;const s=(l,c,u)=>{o+=l;for(let d=1;d<=l.length;d++)r.push(d===l.length?u:c)};for(const l of e.matchAll(dS)){for(let u=i;uString(r??"").toLowerCase().includes(t);const a=[];for(let r=0;rl!==u.some(([p,m])=>d>=p&&d<=m)),r=i;continue}}a.push(i=>i===o)}return r=>{const o=[...String(r??"").toLowerCase()];let i=Array(o.length+1).fill(!1);i[0]=!0;for(const s of a){const l=Array(o.length+1).fill(!1);l[0]=s==="*"&&i[0];for(let c=1;c<=o.length;c++)l[c]=s==="*"?i[c]||l[c-1]:i[c-1]&&(s==="?"||s(o[c-1]));i=l}return i[o.length]}}function nl(e,t,a){const r=vx(t);return e.filter(o=>a(o).some(r))}function Fu(e){return e.runtimeSessionId||e.nativeIdentity||e.id}function qu(e,t){var a,r,o;return e.activity?e.activity:(a=e.approvals)!=null&&a.some(i=>i.status==null||i.status==="pending")?{kind:"attention",label:"Approval requested"}:["starting","working","running","stopping"].includes(e.status)?{kind:"working",label:e.status==="starting"?"Starting":e.status==="stopping"?"Stopping":"Working"}:e.error||["error","failed"].includes(e.status)?{kind:"attention",label:"Needs attention"}:(o=(r=t==null?void 0:t.attention)==null?void 0:r.sessions)!=null&&o[e.id]?{kind:"unread",label:"New response"}:{kind:"idle",label:"Idle"}}function ju(e,t=Date.now()/1e3){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return{short:"—",long:"Activity time unavailable"};const a=Math.max(0,t-e);if(a<60)return{short:"now",long:"Just now"};for(const[r,o,i]of[["minute",60,3600],["hour",3600,86400],["day",86400,604800],["week",604800,1/0]])if(a2?"…/"+a.slice(-2).join("/"):t}function bx(e){const t=e.pathLabel||"",a=e.name||"";return e.customName?t||e.path:t.endsWith("/"+a)?t.slice(0,-a.length-1):pg(e.path)}const Hc=100;function al(e){return(e.workspaces||[]).filter(t=>t.available===!0&&!!t.path)}function mo(e){var t;return(e==null?void 0:e.sessionKind)==="root"?!0:(e==null?void 0:e.sessionKind)==="worker"||(e==null?void 0:e.sessionKind)==="internal"?!1:(t=e==null?void 0:e.forkTranscript)!=null&&t.length||e!=null&&e.editOrigin?!0:!(e!=null&&e.nativeParentId)}function mg(e=[],t){if(!t)return[];const a=t.nativeIdentity||t.runtimeSessionId||t.id;return e.filter(r=>r.id!==t.id&&!mo(r)&&(r.parentId===t.id||r.nativeParentId===a&&(t.nativeProject?r.nativeProject===t.nativeProject:t.workspaceId?r.workspaceId===t.workspaceId:!!t.workspace&&r.workspace===t.workspace)))}function yx(e){return[e.navigationActivityAt,e.recentActivityAt,e.createdAt].find(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)??0}function hg(e,t,a="workspace"){const r=al(e),o=new Map(r.map(h=>[h.id,h])),i=new Map(r.map(h=>[h.path,h])),s=new Set(e.pinnedSessionIds||[]),l=e.conversationOrganization||{},c=l.archived||{},u=e.view||{},d=u.navArchive||"active",p=u.navSort||"activity",m=new Map((e.pinnedSessionIds||[]).map((h,f)=>[h,f]));return(e.sessions||[]).map((h,f)=>({chat:h,position:f,workspace:o.get(h.workspaceId)||i.get(h.workspace)})).filter(h=>{var f,v,y;return mo(h.chat)&&(h.workspace||((f=h.chat.location)==null?void 0:f.kind)==="managed")&&(a==="all"||((v=h.chat.location)==null?void 0:v.kind)!=="managed"&&((y=h.workspace)==null?void 0:y.id)===(t==null?void 0:t.id))}).filter(({chat:h})=>{var f;return a!=="all"||u.navLocationFilter!=="managed"||((f=h.location)==null?void 0:f.kind)==="managed"}).filter(({chat:h})=>d==="all"||d==="archived"===Object.hasOwn(c,h.id)).map(h=>{var f,v,y,E,b;return{...h.chat,workspace:((f=h.workspace)==null?void 0:f.path)||h.chat.workspace,workspaceId:((v=h.chat.location)==null?void 0:v.kind)==="managed"?null:h.workspace.id,workspaceName:((y=h.chat.location)==null?void 0:y.kind)==="managed"?"No workspace":h.workspace.name||"",workspaceLabel:((E=h.chat.location)==null?void 0:E.kind)==="managed"?"No workspace":(b=h.workspace)==null?void 0:b.label,pinned:s.has(h.chat.id),recentActivityAt:yx(h.chat),position:h.position}}).sort((h,f)=>Number(f.pinned)-Number(h.pinned)||(h.pinned?m.get(h.id)-m.get(f.id):p==="name"?(h.title||"Untitled conversation").toLowerCase()<(f.title||"Untitled conversation").toLowerCase()?-1:(h.title||"Untitled conversation").toLowerCase()>(f.title||"Untitled conversation").toLowerCase()?1:0:p==="created"?(f.createdAt||0)-(h.createdAt||0):f.recentActivityAt-h.recentActivityAt)||h.position-f.position)}function Es(e,t,{section:a=null}={}){var N,M;const r=e.view||{},o=r.navChatScope==="all"?"all":"workspace",i=r.navFilter||"",s=e.selectedSessionId??null;t=al(e).find(k=>k.id===((t==null?void 0:t.id)??e.selectedWorkspaceId));const l={mode:o,workspaceId:o==="all"?null:(t==null?void 0:t.id)??null,filter:i,selectedSessionId:s};a&&(l.section=a),r.navSort&&r.navSort!=="activity"&&(l.sort=r.navSort),o==="all"&&r.navLocationFilter==="managed"&&(l.locationFilter="managed");const c=r.navStatusFilter||"all";c!=="all"&&(l.statusFilter=c),r.navArchive&&r.navArchive!=="active"&&(l.archive=r.navArchive);const u=a?(N=e.sidebarNavigation)==null?void 0:N[a]:e.chatNavigation,d=k=>((k==null?void 0:k.sort)||"activity")===(l.sort||"activity"),p=k=>((k==null?void 0:k.locationFilter)||"all")===(l.locationFilter||"all"),m=r.navChatPage,h=m&&p(m)&&d(m)&&Object.entries(l).every(([k,T])=>m[k]===T),f=a==="pinned"?Math.max(0,Math.min(((u==null?void 0:u.pages)||1)-1,r.navPinnedPage||0)):h&&Number.isSafeInteger(m.index)?Math.max(0,Math.min(((u==null?void 0:u.pages)||1)-1,m.index)):null;if(u!=null&&u.scope&&p(u.scope)&&d(u.scope)&&Array.isArray(u.items)&&Object.entries(l).every(([k,T])=>u.scope[k]===T)&&(f===null||u.index===f))return u;if((M=e.library)!=null&&M.bounded)return{items:[],total:0,index:0,pages:1,start:0,end:0,scope:l,pending:!0};let v=nl(hg(e,t,o),i,k=>[k.title||"Untitled conversation",k.description||"",k.id,Fu(k),k.workspace,k.workspaceName]);(a==="pinned"||a==="recent")&&(v=v.filter(k=>k.pinned===(a==="pinned")));const y={attention:0,working:0,unread:0,idle:0};v=v.map(k=>({...k,activity:qu(k,e)}));for(const k of v)y[k.activity.kind]++;c!=="all"&&(v=v.filter(k=>k.activity.kind===c));const E=a?v.length>50?40:50:Hc,b=o==="all"?0:Math.floor(Math.max(0,v.findIndex(k=>k.id===s))/E),x=a==="pinned"?r.navPinnedPage||0:h&&Number.isSafeInteger(m.index)?m.index:b,w=Math.max(1,Math.ceil(v.length/E)),R=Math.max(0,Math.min(w-1,x)),S=R*E,I=Math.min(v.length,S+E);return{items:v.slice(S,I),total:v.length,index:R,pages:w,start:S,end:I,scope:l,activityCounts:y}}function Ex(e){var i,s,l;if(!e)return{items:[],total:0};if(Array.isArray((i=e.headerChatNavigation)==null?void 0:i.items))return e.headerChatNavigation;const t=(s=e.workspaces)==null?void 0:s.find(c=>c.id===e.selectedWorkspaceId),a=(l=e.sessions)==null?void 0:l.find(c=>c.id===e.selectedSessionId),r=hg({...e,view:{...e.view,navArchive:"active",navCollection:null}},t),o=r.slice(0,Hc);return a&&mo(a)&&!o.some(c=>c.id===a.id)&&o.splice(Math.max(0,Hc-1),1,a),{items:o,total:r.length}}function fg(e,t){var r;if(Number.isSafeInteger(t==null?void 0:t.subagentCount)&&t.subagentCount>=0)return t.subagentCount;const a=e.subagentNavigation;return t&&((r=a==null?void 0:a.scope)==null?void 0:r.sessionId)===t.id&&Number.isSafeInteger(a.unfilteredTotal)?a.unfilteredTotal:mg(e.sessions,t).length}function wx(e,t){var h,f;const a=((h=e.view)==null?void 0:h.subagentHistory)||{},r=a.filter||"",o={sessionId:t==null?void 0:t.id,filter:r},i=e.subagentNavigation,s=Number.isSafeInteger(a.index)?a.index:0;if(i!=null&&i.scope&&Array.isArray(i.items)&&Object.entries(o).every(([v,y])=>i.scope[v]===y)&&i.index===Math.max(0,Math.min(i.pages-1,s)))return i;if((f=e.library)!=null&&f.bounded)return{items:[],total:0,unfilteredTotal:fg(e,t),index:0,pages:1,start:0,end:0,scope:o,pending:!0};const l=mg(e.sessions,t),c=nl(l,r,v=>[v.title,v.description,v.id,v.nativeIdentity]),u=Math.max(1,Math.ceil(c.length/50)),d=Math.max(0,Math.min(u-1,s)),p=d*50,m=Math.min(c.length,p+50);return{items:c.slice(p,m),total:c.length,unfilteredTotal:l.length,index:d,pages:u,start:p,end:m,scope:o}}function gg(e,t,a){if(t===a||!e.includes(t)||!e.includes(a))return e;const r=e.filter(o=>o!==t);return r.splice(e.indexOf(a),0,t),r}const vg=g.createContext(!0),Zi=new WeakMap;function Uu(e="(max-width: 760px)"){const[t,a]=g.useState(()=>typeof matchMedia=="function"&&matchMedia(e).matches);return g.useEffect(()=>{if(typeof matchMedia!="function")return;const r=matchMedia(e),o=()=>a(r.matches);return o(),r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[e]),t}function rl(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{var d;const o=e.current;if(!t||!o)return;const i=document.activeElement,s=[];let l=o;for(;l!=null&&l.parentElement&&l.id!=="amp-one";){for(const p of l.parentElement.children){if(p===l||p.tagName==="STYLE"||p.matches(".a-navigation-scrim,.a-details-scrim,.a-toolbar-scrim"))continue;const m=Zi.get(p)||{count:0,original:p.inert};m.count++,Zi.set(p,m),s.push(p),p.inert=!0}l=l.parentElement}const c=()=>[...o.querySelectorAll('button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]')].filter(p=>p.getClientRects().length&&!p.closest("[inert]"));(d=c()[0])==null||d.focus({preventScroll:!0});const u=p=>{if(p.defaultPrevented)return;if(p.key==="Escape"){p.preventDefault(),r.current();return}if(p.key!=="Tab")return;const m=c(),h=m[0],f=m.at(-1);if(!h){p.preventDefault();return}p.shiftKey&&(document.activeElement===h||!o.contains(document.activeElement))?(p.preventDefault(),f.focus()):!p.shiftKey&&(document.activeElement===f||!o.contains(document.activeElement))&&(p.preventDefault(),h.focus())};return document.addEventListener("keydown",u),()=>{var p;document.removeEventListener("keydown",u);for(const m of s){const h=Zi.get(m);h&&!--h.count&&(m.inert=h.original,Zi.delete(m))}i!=null&&i.isConnected&&!i.closest("[inert]")&&((p=i.focus)==null||p.call(i,{preventScroll:!0}))}},[t,e])}function ol(){const[e,t]=g.useState(()=>Date.now()/1e3);return g.useEffect(()=>{if(typeof window>"u")return;const a=setInterval(()=>t(Date.now()/1e3),3e4);return()=>clearInterval(a)},[]),e}function $u({activity:e}){return n.createElement("span",{className:"a-navigation-status","data-kind":e.kind,"aria-label":e.label,title:e.label},e.kind==="working"?n.createElement(No,{className:"a-progress-spinner"}):e.kind==="attention"?n.createElement(On,null):e.kind==="unread"?n.createElement("span",{className:"a-navigation-unread"}):n.createElement(Di,null))}function kx({at:e,now:t}){const a=ju(e,t);return n.createElement("span",{className:"a-navigation-age","data-view-source":"activity-time",title:a.long,"aria-label":"Last activity: "+a.long},a.short)}function Ms({label:e,value:t}){const[a,r]=g.useState("");return g.useEffect(()=>r(""),[t]),n.createElement("div",{className:"a-navigation-copy"},n.createElement("div",null,n.createElement("span",null,e),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy "+e.toLowerCase(),onClick:async()=>{try{await navigator.clipboard.writeText(t),r("Copied")}catch{r("Select the text and copy it manually.")}}},a==="Copied"?n.createElement(Pt,null):n.createElement(ar,null))),n.createElement("code",null,t),a&&n.createElement("small",{role:"status"},a))}function bg({row:e,now:t,actions:a}){const r=e.activityCounts||{};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-navigation-detail-heading"},n.createElement(tr,null),n.createElement("span",null,"Workspace details")),n.createElement("h3",null,e.customName||e.name),n.createElement("dl",null,n.createElement("dt",null,"Chats"),n.createElement("dd",null,e.chatCount??0),n.createElement("dt",null,"Activity"),n.createElement("dd",null,r.working||0," working · ",r.attention||0," need attention"),n.createElement("dt",null,"Last activity"),n.createElement("dd",null,ju(e.recentActivityAt,t).long)),n.createElement(Ms,{label:"Full workspace path",value:e.path}),a&&n.createElement("div",{className:"a-navigation-actions"},a))}function Bu({className:e="",label:t,children:a,details:r,expanded:o=!1,...i}){var k;const s=Uu(),l=g.useContext(vg),c=g.useRef(null),u=g.useRef(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),h=g.useRef(!1),f=g.useId(),[v,y]=g.useState(!1),[E,b]=g.useState(!1),[x,w]=g.useState({left:0,top:0}),R=()=>{clearTimeout(p.current),clearTimeout(m.current)},S=(T=!1)=>{var A;R(),y(!1),b(!1),T&&((A=d.current)==null||A.focus({preventScroll:!0}))};rl(u,l&&s&&v,()=>S(!0));const I=(T=!1)=>{var A;R(),!((A=c.current)!=null&&A.closest('[data-reordering="true"]'))&&(!T&&document.querySelector('.a-navigation-flyout[data-locked="true"]')||(document.dispatchEvent(new CustomEvent("amplifier-navigation-details",{detail:f})),h.current=T,b(T),y(!0)))};g.useEffect(()=>()=>R(),[]),g.useEffect(()=>{l||S()},[l]),g.useEffect(()=>{o&&I(!0)},[o]),g.useEffect(()=>{if(!v)return;const T=z=>{z.key==="Escape"&&(z.preventDefault(),z.stopPropagation(),S(E))},A=z=>{var F,H;!((F=c.current)!=null&&F.contains(z.target))&&!((H=u.current)!=null&&H.contains(z.target))&&S()},q=z=>{z.detail!==f&&S()};return document.addEventListener("keydown",T,!0),document.addEventListener("pointerdown",A),document.addEventListener("amplifier-navigation-details",q),()=>{document.removeEventListener("keydown",T,!0),document.removeEventListener("pointerdown",A),document.removeEventListener("amplifier-navigation-details",q)}},[v,E,f]),g.useEffect(()=>{var T,A;v&&E&&h.current&&(h.current=!1,(A=(T=u.current)==null?void 0:T.querySelector("button"))==null||A.focus({preventScroll:!0}))},[v,E]),g.useLayoutEffect(()=>{if(!v||!u.current||!c.current)return;const T=()=>{const z=(c.current.closest(".a-nav-slot")?c.current:d.current||c.current).getBoundingClientRect(),F=u.current.getBoundingClientRect(),H=10,ne=z.right+8,B=ne+F.width<=innerWidth-H?ne:Math.max(H,z.left-F.width-8),P={left:Math.min(B,innerWidth-F.width-H),top:Math.max(H,Math.min(z.top,innerHeight-F.height-H))};w(_=>_.left===P.left&&_.top===P.top?_:P)};T();const A=new ResizeObserver(T);return A.observe(u.current),A.observe(c.current),window.addEventListener("resize",T),document.addEventListener("scroll",T,!0),()=>{A.disconnect(),window.removeEventListener("resize",T),document.removeEventListener("scroll",T,!0)}},[v,r]);const N=T=>{var A,q;T.relatedTarget instanceof Node&&((A=c.current)!=null&&A.contains(T.relatedTarget)||(q=u.current)!=null&&q.contains(T.relatedTarget))||(clearTimeout(p.current),E||(m.current=setTimeout(()=>S(),250)))},M=((k=c.current)==null?void 0:k.closest(".a-nav-slot"))||(typeof document<"u"?document.getElementById("amp-one"):null);return n.createElement("div",{...i,ref:c,className:e+(v?" is-peeking":""),onPointerEnter:T=>{clearTimeout(m.current),!s&&T.pointerType!=="touch"&&!v&&(p.current=setTimeout(()=>I(),550))},onPointerLeave:N,onClick:T=>{T.target.closest("[data-navigation-select]")&&S()}},a,n.createElement("button",{ref:d,type:"button",className:"a-icon a-navigation-more","aria-label":"Details and actions for "+t,"aria-expanded":v,"aria-controls":v?f:void 0,onClick:()=>v&&E?S():I(!0)},n.createElement(Li,null)),v&&M&&Oi.createPortal(n.createElement(n.Fragment,null,s&&n.createElement("div",{className:"a-details-scrim",onClick:()=>S(!0)}),n.createElement("section",{ref:u,id:f,role:"dialog","aria-modal":s||void 0,"aria-label":"Details for "+t,className:"a-navigation-flyout","data-locked":E,style:x,onPointerEnter:()=>clearTimeout(m.current),onPointerLeave:N,onFocus:()=>{clearTimeout(m.current),E||b(!0)}},r({close:S}))),M))}function dm(e,t,a){if(!e.includes(t))return e;const r=e.filter(o=>o!==t);return r.splice(Math.max(0,Math.min(a,r.length)),0,t),r}function yg({items:e,ids:t,onChange:a,busy:r=!1,renderItem:o,className:i="",rowClassName:s="",floatingClassName:l="",action:c="view.update",savedHint:u="",onDraggingChange:d}){var B;const p=g.useRef(null),m=g.useRef(null),h=g.useRef(new Map),f=g.useRef(!1),v=g.useRef(!0),[y,E]=g.useState(null),[b,x]=g.useState(null),[w,R]=g.useState(""),S=y||t,I=new Map(e.map(P=>[P.id,P])),N=P=>{var _;return(_=globalThis.requestAnimationFrame)==null?void 0:_.call(globalThis,()=>{var ee,Z;return(Z=(ee=p.current)==null?void 0:ee.querySelector(`[data-order-id="${CSS.escape(P)}"] .a-reorder-grip`))==null?void 0:Z.focus({preventScroll:!0})})},M=()=>{p.current&&(h.current=new Map([...p.current.querySelectorAll("[data-order-id]")].map(P=>[P.dataset.orderId,P.getBoundingClientRect()])))};g.useEffect(()=>(v.current=!0,()=>{v.current=!1,m.current=null}),[]),g.useLayoutEffect(()=>{var P;if(!(!p.current||window.matchMedia("(prefers-reduced-motion: reduce)").matches))for(const _ of p.current.querySelectorAll("[data-order-id]")){const ee=h.current.get(_.dataset.orderId);_.getAnimations().forEach(D=>D.cancel());const Z=_.getBoundingClientRect();ee&&_.dataset.orderId!==((P=m.current)==null?void 0:P.id)&&ee.top!==Z.top&&_.animate([{transform:`translateY(${ee.top-Z.top}px)`},{transform:"translateY(0)"}],{duration:150,easing:"ease-out"})}},[S.join("\0")]);const k=async(P,_)=>{var ee;if(!(r||f.current)){if(P.join("\0")===t.join("\0")){E(null);return}f.current=!0,E(P);try{await a(P,{id:_,to:P.indexOf(_)}),v.current&&R(`${(ee=I.get(_))==null?void 0:ee.label} moved to position ${P.indexOf(_)+1}.${u?" "+u:""}`)}catch(Z){v.current&&R(Z.message||"Could not change order.")}finally{f.current=!1,v.current&&(E(null),N(_))}}},T=P=>{var ee;const _=m.current;_&&(M(),m.current=null,x(null),d==null||d(!1),(ee=p.current)!=null&&ee.hasPointerCapture(_.pointerId)&&p.current.releasePointerCapture(_.pointerId),_.active&&!P&&_.valid?k(_.preview,_.id):(E(null),R("Reorder cancelled."),N(_.id)))};g.useEffect(()=>{if(typeof document>"u")return;const P=_=>{_.key==="Escape"&&m.current&&(_.preventDefault(),_.stopPropagation(),T(!0))};return document.addEventListener("keydown",P,!0),()=>document.removeEventListener("keydown",P,!0)}),g.useEffect(()=>{m.current&&m.current.original.join("\0")!==t.join("\0")&&T(!0)},[t.join("\0")]);const A=(P,_)=>{if(r||f.current||P.button!==0)return;P.preventDefault(),document.dispatchEvent(new CustomEvent("amplifier-navigation-details",{detail:"reordering"}));const ee=P.currentTarget.closest("[data-order-id]"),Z=ee.getBoundingClientRect(),D=p.current.getBoundingClientRect();let G=p.current.parentElement;for(;G&&!(G.scrollHeight>G.clientHeight&&/(auto|scroll)/.test(getComputedStyle(G).overflowY));)G=G.parentElement;const j=[...p.current.querySelectorAll("[data-order-id]")];m.current={id:_,pointerId:P.pointerId,x:P.clientX,y:P.clientY,box:Z,bounds:D,scroll:G,scrollTop:(G==null?void 0:G.scrollTop)||0,centers:j.map(K=>{const oe=K.getBoundingClientRect();return(oe.top+oe.bottom)/2}),original:[...t],preview:[...t],active:!1,valid:!0},p.current.setPointerCapture(P.pointerId)},q=P=>{const _=m.current;if(!_||!_.active&&Math.hypot(P.clientX-_.x,P.clientY-_.y)<5)return;_.active||d==null||d(!0),_.active=!0,P.preventDefault();const{box:ee,bounds:Z,scroll:D}=_;if(D){const xe=D.getBoundingClientRect();P.clientYxe.bottom-35&&(D.scrollTop+=12)}const G=((D==null?void 0:D.scrollTop)||0)-_.scrollTop;_.valid=P.clientX>=Z.left-24&&P.clientX<=Z.right+24&&P.clientY>=Z.top-G-28&&P.clientY<=Z.bottom-G+28;let j=0,K=1/0;_.centers.forEach((xe,ce)=>{const _e=Math.abs(P.clientY+G-xe);_e{M(),k(dm(t,P,_),P)},F=(P,_=!1)=>n.createElement("button",{type:"button",className:"a-icon a-order-grip a-reorder-grip","aria-disabled":r||f.current||void 0,draggable:!1,"data-action":c,"aria-label":"Reorder "+P.label,title:"Drag, or use Up/Down (Alt + Up/Down also works)",tabIndex:_?-1:0,onPointerDown:ee=>A(ee,P.id),onKeyDown:ee=>{["ArrowUp","ArrowDown"].includes(ee.key)&&(ee.preventDefault(),z(P.id,t.indexOf(P.id)+(ee.key==="ArrowUp"?-1:1)))}},n.createElement(qk,null)),H=b&&I.get(b.id),ne=((B=p.current)==null?void 0:B.closest(".a-settings-experience,.a-nav-slot"))||p.current;return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-reorder-list "+i,ref:p,"data-reordering":!!b||void 0,onPointerMove:q,onPointerUp:()=>T(!1),onPointerCancel:()=>T(!0),onLostPointerCapture:()=>{m.current&&T(!0)},onDragStart:P=>P.preventDefault()},S.map((P,_)=>{const ee=I.get(P)||{id:P,label:P};return n.createElement("div",{key:P,"data-order-id":P,className:`a-reorder-item ${s}${(b==null?void 0:b.id)===P?" a-order-placeholder":""}`},(b==null?void 0:b.id)===P&&b.valid&&n.createElement("span",{className:"a-order-insertion","aria-hidden":"true"}),o(ee,{handle:F(ee),index:_,move:Z=>z(P,Z),floating:!1}))})),H&&ne&&Oi.createPortal(n.createElement("div",{className:"a-order-floating a-reorder-floating "+l,"aria-hidden":"true",inert:!0,style:{left:b.left,top:b.top,width:b.width}},o(H,{handle:F(H,!0),index:S.indexOf(b.id),move:()=>{},floating:!0})),ne),n.createElement("span",{className:"a-sr-only",role:"status","aria-live":"polite"},w))}function Da({state:e={},section:t,page:a,count:r,settings:o=!1}){var s,l,c,u,d,p;const i=r??(o?(s=e.attention)==null?void 0:s.settingsUnread:a?(c=(l=e.attention)==null?void 0:l.pages)==null?void 0:c[a]:t?(d=(u=e.attention)==null?void 0:u.sections)==null?void 0:d[t]:(p=e.attention)==null?void 0:p.unread);return i>0?n.createElement("span",{className:"a-attention-badge",role:"status","aria-label":`${i} unread items`},i):null}function Eg(e,t,a){const r=JSON.stringify(e.filter(o=>o&&!o.read).map(o=>[o.id,o.fingerprint]));n.useEffect(()=>{const o=e.filter(m=>m&&!m.read),i=a.current;if(!o.length||!i)return;let s,l=!1,c=!1;const u=()=>l&&!document.hidden&&document.hasFocus()&&i.getClientRects().length>0&&!i.closest("[inert], [hidden], details:not([open])"),d=()=>{clearTimeout(s),!c&&u()&&(s=setTimeout(()=>{u()&&(c=!0,Promise.resolve(Fr(t,o)).catch(()=>{c=!1}))},750))},p=new IntersectionObserver(m=>{l=m[0].isIntersecting,d()});return p.observe(i),document.addEventListener("visibilitychange",d),window.addEventListener("focus",d),window.addEventListener("blur",d),()=>{clearTimeout(s),p.disconnect(),document.removeEventListener("visibilitychange",d),window.removeEventListener("focus",d),window.removeEventListener("blur",d)}},[r,t,a])}function qi({item:e,act:t,children:a,className:r}){const o=n.useRef(null);return Eg(e?[e]:[],t,o),n.createElement("div",{ref:o,className:r},a)}function zs({state:e,act:t,page:a,items:r,showItems:o=!1}){var s;const i=r||(((s=e.attention)==null?void 0:s.items)||[]).filter(l=>l.page===a&&!l.read);return!i.length||a==="updates"?null:n.createElement("div",{className:"a-attention-review"},i.map(l=>n.createElement(qi,{key:l.id,item:l,act:t},n.createElement("p",null,n.createElement("strong",null,l.title),l.detail&&n.createElement(n.Fragment,null," · ",l.detail)))))}const Fr=(e,t)=>e("attention.read",{ids:t.map(a=>a.id),fingerprints:Object.fromEntries(t.map(a=>[a.id,a.fingerprint]))});function xx({state:e,act:t}){var l;const[a,r]=n.useState(!1),o=((l=e.attention)==null?void 0:l.items)||[],i=o.filter(c=>a||!c.read);async function s(c){c.sessionId?(await t("session.select",{id:c.sessionId}),await t("view.update",{patch:{panel:null}})):c.requestId?(await t("view.update",{patch:{panel:"feedback"}}),await Fr(t,[c])):await t("view.update",{patch:{panel:"settings",settingsSection:c.section,settingsExpanded:[c.page]}})}return n.createElement("section",{className:"a-activity-inbox","aria-label":"Activity to review"},n.createElement("p",null,"Finished work and items that need your attention. Read status is shared with your agent and other devices."),o.some(c=>c.read)&&n.createElement("button",{className:"a-link",type:"button",onClick:()=>r(!a)},a?"Hide reviewed items":"Show reviewed items"),i.length?n.createElement(n.Fragment,null,i.map(c=>n.createElement("div",{className:"a-attention-item",key:c.id},n.createElement("button",{className:"a-attention-open",type:"button","data-action":c.sessionId?"session.select":"view.update",onClick:()=>s(c)},n.createElement("strong",null,c.title),n.createElement("span",null,c.label||c.detail))))):n.createElement("p",null,"All caught up."))}function Sx(e){var t,a;return(a=(t=e==null?void 0:e.attention)==null?void 0:t.items)==null?void 0:a.find(r=>r.id==="completion:"+e.selectedSessionId&&!r.read)}function Cx(e,t,a,r=!0){var s,l,c,u;const o=Sx(e),i=!!((s=e==null?void 0:e.view)!=null&&s.panel)||!!((l=e==null?void 0:e.view)!=null&&l.canvasFocused)||!!((c=e==null?void 0:e.view)!=null&&c.navExpanded)&&matchMedia("(max-width:760px)").matches||!!((u=e==null?void 0:e.canvas)!=null&&u.open)&&matchMedia("(max-width:760px)").matches;n.useEffect(()=>{if(!r||!o||i||!a.current)return;const d=a.current;let p;const m=()=>!document.hidden&&document.hasFocus()&&d.clientHeight>0&&getComputedStyle(d).visibility!=="hidden"&&!d.closest("[inert]")&&d.scrollHeight-d.scrollTop-d.clientHeight<40,h=()=>{clearTimeout(p),m()&&(p=setTimeout(()=>{m()&&Fr(t,[o])},900))};d.addEventListener("scroll",h,{passive:!0}),document.addEventListener("visibilitychange",h),window.addEventListener("focus",h),window.addEventListener("blur",h);const f=new ResizeObserver(h);f.observe(d);for(const v of d.children)f.observe(v);return h(),()=>{clearTimeout(p),f.disconnect(),d.removeEventListener("scroll",h),document.removeEventListener("visibilitychange",h),window.removeEventListener("focus",h),window.removeEventListener("blur",h)}},[o==null?void 0:o.id,o==null?void 0:o.fingerprint,i,t,a,r])}const ql=new WeakMap,wg=e=>{var t;return(t=e==null?void 0:e.closest)==null?void 0:t.call(e,"[data-activity-region],.a-model-popover,.a-location-picker,.a-settings-page-body,.a-card,section,form")};function Hu(e){if(!e)return()=>{};const t=ql.get(e)||{tokens:new Set,busy:e.getAttribute("aria-busy")},a=Symbol();t.tokens.add(a),ql.set(e,t),e.setAttribute("data-region-pending",""),e.setAttribute("aria-busy","true");let r=!1;return()=>{r||(r=!0,t.tokens.delete(a),t.tokens.size||(e.removeAttribute("data-region-pending"),t.busy===null?e.removeAttribute("aria-busy"):e.setAttribute("aria-busy",t.busy),ql.delete(e)))}}function Vu(e,t){g.useEffect(()=>t?Hu(e.current):void 0,[t])}function Yt({busy:e=!1,name:t,children:a,className:r="",as:o="div",...i}){const s=g.useRef(null);return Vu(s,e),n.createElement(o,{...i,ref:s,className:r,"data-activity-region":t||""},a)}function Vc(e,t,a){var o;const r=g.useRef(null);return a||(r.current={key:e,value:t}),a&&((o=r.current)==null?void 0:o.key)===e?r.current.value:t}const Ji=[];function il(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{if(!e||!t.current)return;let o=!1;const i={};Ji.push(i);const s=d=>!!t.current&&!d.composedPath().includes(t.current),l=d=>{o=s(d)},c=d=>{o&&s(d)&&r.current()},u=d=>{d.key==="Escape"&&Ji.at(-1)===i&&(d.preventDefault(),d.stopImmediatePropagation(),r.current())};return document.addEventListener("pointerdown",l,!0),document.addEventListener("click",c,!0),document.addEventListener("keydown",u,!0),()=>{Ji.splice(Ji.indexOf(i),1),document.removeEventListener("pointerdown",l,!0),document.removeEventListener("click",c,!0),document.removeEventListener("keydown",u,!0)}},[e,t])}function it({phase:e,message:t,detail:a}){const r=g.useRef(null),o=["working","queued","pending","checking","staging","validating","activating"].includes(e),i=["error","failed"].includes(e),s=o?No:i?Mk:e==="neutral"?sg:Ok;return g.useEffect(()=>o&&t?Hu(wg(r.current)):void 0,[o,!!t]),t?n.createElement("div",{ref:r,className:`a-check-result ${o||e==="neutral"?"pending":i?"error":"success"}`,role:i?"alert":"status","aria-live":"polite"},n.createElement(s,{"aria-hidden":"true",className:o?"a-progress-spinner":void 0}),n.createElement("div",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a))):null}const Wu=g.createContext(null);function Pa({id:e,title:t,summary:a,state:r,act:o,children:i}){var m,h,f;const s=g.useContext(Wu),l={setup:["loaded-modules","providers","routing","defaults","conversation"],capabilities:["smart-tools","add-bundles","app-bundles","loaded-modules","registries","share-bundle"],maintenance:["ready-conversations","updates","diagnostics","history","permissions","notifications","automation","repair","reset"]},c=s||((h=(m=r.view)==null?void 0:m.settingsExpanded)==null?void 0:h.find(v=>{var y,E;return!((y=r.view)!=null&&y.settingsSection)||((E=l[r.view.settingsSection])==null?void 0:E.includes(v))})),u=c===e,d=g.useRef();if(g.useEffect(()=>{var v,y,E;u&&!s&&((v=d.current)==null||v.focus({preventScroll:!0}),(E=(y=d.current)==null?void 0:y.closest(".a-dialog"))==null||E.scrollTo(0,0))},[u,s]),s)return u?n.createElement("section",{className:"a-settings-page","data-settings-page":e},n.createElement("div",{id:"settings-group-"+e,className:"a-settings-page-body"},i)):null;if(c&&!u)return null;const p=()=>o("view.update",{patch:{settingsExpanded:u?[]:[e]}});return u?n.createElement("section",{className:"a-settings-page",key:e},n.createElement("button",{type:"button",className:"a-link a-settings-back","data-action":"view.update",onClick:p},n.createElement(xa,null),"Back to ",{setup:"Setup",capabilities:"Capabilities",maintenance:"Maintenance"}[((f=r.view)==null?void 0:f.settingsSection)||"setup"]),n.createElement("h3",{ref:d,tabIndex:-1},t),n.createElement(zs,{state:r,act:o,page:e}),n.createElement("div",{id:"settings-group-"+e,className:"a-settings-page-body"},i)):n.createElement("section",{className:"a-settings-group"},n.createElement("button",{type:"button",className:"a-settings-group-title","aria-label":t+(a?" "+a:""),"data-action":"view.update",onClick:p},n.createElement("span",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a)),n.createElement(Da,{state:r,page:e}),n.createElement(Gt,{"aria-hidden":"true"})))}function kg({id:e,accept:t,disabled:a,action:r,onFile:o,label:i="Choose file",hint:s}){const l=g.useRef(),[c,u]=g.useState(!1),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(!1),y=g.useRef(!1);async function E(b){if(!(!b||a||y.current)){y.current=!0,v(!0),h(""),p(b.name);try{await o(b)}catch(x){h(x.message)}finally{y.current=!1,v(!1)}}}return n.createElement(Yt,{busy:f,name:e,className:`a-file-drop ${c?"drag-over":""}`,onDragOver:b=>{b.preventDefault(),a||u(!0)},onDragLeave:()=>u(!1),onDrop:b=>{var x;b.preventDefault(),u(!1),E((x=b.dataTransfer.files)==null?void 0:x[0])}},n.createElement(ug,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-soft",disabled:a||f,"data-operation-pending":f||void 0,"aria-busy":f||void 0,"data-action":r,onClick:()=>{var b;return(b=l.current)==null?void 0:b.click()}},i),n.createElement("small",null,d||s||"Drop a file here, or browse to choose one.")),n.createElement("input",{ref:l,id:e,className:"a-file-input",type:"file",accept:t,disabled:a,"data-action":r,"aria-label":i,onChange:b=>{var x;E((x=b.target.files)==null?void 0:x[0]),b.target.value=""}}),m&&n.createElement(it,{phase:"error",message:m}))}function Nx(e){var a;const t=(a=(e.getData("text/uri-list")||e.getData("text/plain")||"").split(` +`).find(r=>r.trim()&&!r.startsWith("#")))==null?void 0:a.trim();if(!t)return null;if(t.startsWith("file://"))try{return decodeURIComponent(new URL(t).pathname)}catch{return null}return t}function Rx({id:e,parent:t,act:a,status:r,listing:o,onCreated:i}){const[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(null),[m,h]=g.useState(""),f=g.useRef(!1);g.useEffect(()=>{u(""),l(!1),h("")},[t]),g.useEffect(()=>{!d||(r==null?void 0:r.commandId)!==d||(r.phase==="error"&&(h(r.error||"Could not create the folder."),p(null),f.current=!1),r.phase==="ready"&&(o==null?void 0:o.createdBy)===d&&(p(null),f.current=!1,u(""),l(!1),i(o.path)))},[d,r==null?void 0:r.commandId,r==null?void 0:r.phase,o==null?void 0:o.createdBy]);async function v(){if(!(!c.trim()||f.current)){f.current=!0,h(""),p("sending");try{const y=await a("locations.create",{controlId:e,path:t,name:c.trim()});if(!(y!=null&&y.accepted)||!y.operationId)throw Error((y==null?void 0:y.error)||"Folder creation was not accepted.");p(y.operationId)}catch(y){f.current=!1,p(null),h(y.message)}}}return n.createElement("div",{className:"a-create-folder"},s?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:e+"-folder-name"},"New folder name"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:e+"-folder-name",value:c,maxLength:255,autoFocus:!0,disabled:!!d,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&(y.preventDefault(),v())}}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.create",disabled:!!d||!c.trim(),onClick:v},d?"Creating…":"Create folder"),n.createElement("button",{type:"button",className:"a-soft",disabled:!!d,onClick:()=>{l(!1),u(""),h("")}},"Cancel"))):n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:!!d,onClick:()=>l(!0)},n.createElement(Fk,null),"New folder"),m&&n.createElement(it,{phase:"error",message:m}))}function Ma({id:e,value:t,onChange:a,state:r,act:o,placeholder:i,action:s="view.update",directory:l=!1,multiline:c=!1}){var k,T,A,q,z;const[u,d]=g.useState(!1),[p,m]=g.useState(""),[h,f]=g.useState(""),v=(k=r.view)==null?void 0:k.locationPicker,y=(v==null?void 0:v.controlId)===e,E=((T=r.locationListing)==null?void 0:T.controlId)===e?r.locationListing:null;g.useEffect(()=>{y&&f(v.path??(E==null?void 0:E.path)??"")},[y,v==null?void 0:v.path,E==null?void 0:E.path]);const b=g.useRef(null);il(y,b,()=>o("view.update",{patch:{locationPicker:null}}));const x=(A=r.actionStatus)==null?void 0:A["locations.list"],w=((q=x==null?void 0:x.target)==null?void 0:q.controlId)===e?x:null,R=["working","queued"].includes(w==null?void 0:w.phase),S=Vc(e,E,R),I=F=>(f(F||""),m(""),o("view.update",{patch:{locationPicker:{controlId:e,path:F||""}}}),o("locations.list",{controlId:e,...F?{path:F}:{},directoriesOnly:l})),N=F=>{a(c?[t,F].filter(Boolean).join(` +`):F),o("view.update",{patch:{locationPicker:null}})},M=c?"textarea":"input";return n.createElement("div",{ref:b,className:`a-path-field ${u?"drag-over":""}`,onDragOver:F=>{F.preventDefault(),d(!0)},onDragLeave:()=>d(!1),onDrop:F=>{F.preventDefault(),d(!1);const H=Nx(F.dataTransfer);H?(m(""),a(c?[t,H].filter(Boolean).join(` +`):H)):m("Your browser hides the full path of dropped files. Use Browse, or drop a copied file or folder path.")}},n.createElement("div",{className:"a-inline-form"},n.createElement(M,{id:e,value:t,placeholder:i,"data-action":s,onChange:F=>a(F.target.value)}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",onClick:()=>I(!c&&(t!=null&&t.startsWith("/"))?t:void 0)},n.createElement(tr,null),"Browse")),p&&n.createElement(it,{phase:"error",message:p})," ",y&&n.createElement(Yt,{busy:R,name:e+"-locations",className:"a-location-picker"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,l?"Choose a folder":"Choose a file or folder"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close location picker","data-action":"view.update",onClick:()=>o("view.update",{patch:{locationPicker:null}})},n.createElement(tn,null))),n.createElement("label",{htmlFor:e+"-browse-path"},"Folder path"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:e+"-browse-path",value:h,placeholder:"Type a path, e.g. ~/Projects","data-action":"view.update",onChange:F=>{f(F.target.value),o("view.update",{patch:{locationPicker:{...v,path:F.target.value}}})},onKeyDown:F=>{F.key==="Enter"&&(F.preventDefault(),I(F.currentTarget.value))}}),n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",onClick:()=>I(h)},"Go")),(w==null?void 0:w.phase)==="error"&&n.createElement(it,{phase:"error",message:w.error})," ",R&&!S&&n.createElement(it,{phase:"working",message:"Loading locations…"}),S&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-settings-row"},n.createElement("button",{type:"button",className:"a-soft","data-action":"locations.list",disabled:S.parent===S.path,onClick:()=>I(S.parent)},n.createElement(zi,null),"Up"),n.createElement("code",{className:"a-wrap"},S.path)),n.createElement(Rx,{id:e,parent:S.path,act:o,status:(z=r.actionStatus)==null?void 0:z["locations.create"],listing:E,onCreated:F=>{f(F),o("view.update",{patch:{locationPicker:{controlId:e,path:F}}})}}),n.createElement("div",{className:"a-location-list"},S.entries.map(F=>n.createElement("button",{type:"button",className:"a-location-entry",key:F.path,"data-action":F.directory?"locations.list":s,onClick:()=>F.directory?I(F.path):N(F.path)},F.directory&&n.createElement(tr,null),F.name,F.directory&&n.createElement(Gt,null))),!S.entries.length&&n.createElement("p",null,"No ",l?"folders":"files"," here.")),S.truncated&&n.createElement("p",null,"Showing the first 300 items. Enter a more specific path above."),n.createElement("button",{type:"button",className:"a-primary","data-action":s,onClick:()=>N(S.path)},"Use this folder"))))}function xg({id:e,value:t,onChange:a,state:r,act:o,action:i="view.update"}){var d,p,m,h;const s=((p=(d=r.view)==null?void 0:d.bundleSources)==null?void 0:p.includes(e))||!1,l=f=>{var v,y;return o("view.update",{patch:{bundleSources:f?[...new Set([...((v=r.view)==null?void 0:v.bundleSources)||[],e])]:(((y=r.view)==null?void 0:y.bundleSources)||[]).filter(E=>E!==e)}})};g.useEffect(()=>{o("bundles.list",{})},[]);const c=r.registeredBundles||[{name:"work",label:"Work",value:"work"}],u=c.find(f=>f.value===t);return n.createElement(Yt,{busy:["queued","working"].includes((h=(m=r.actionStatus)==null?void 0:m["bundles.list"])==null?void 0:h.phase),name:"bundles-"+e,className:"a-bundle-picker"},n.createElement("select",{id:e,"aria-label":"Registered root bundles",value:u?t:":custom:","data-action":i,onChange:f=>{f.target.value===":custom:"?l(!0):a(f.target.value)}},n.createElement("option",{value:":custom:"},t&&!u?t:"Choose a bundle"),c.map(f=>n.createElement("option",{value:f.value,key:f.value},f.label||f.name))),(u==null?void 0:u.description)&&n.createElement("p",{className:"a-caption"},u.description),n.createElement("button",{type:"button",className:"a-link","aria-expanded":s,"data-action":"view.update",onClick:()=>l(!s)},s?"Hide source":"Use a bundle source or file"),s&&n.createElement(Ma,{action:i,id:e+"-source",value:t,onChange:a,state:r,act:o,placeholder:"Bundle name, git URL or file path"}))}const Sg=e=>{var t;return((t=e==null?void 0:e.result)==null?void 0:t.accepted)!==void 0?e.result:e};function sl({state:e,act:t,mode:a="create",fromDraft:r=!1,onDone:o,onCancel:i}){var T,A;const[s,l]=g.useState(a),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(null),[y,E]=g.useState(!1),[b,x]=g.useState(""),w=g.useRef(!1),R=g.useRef(null),S=g.useId();g.useEffect(()=>{var q,z;(z=(q=R.current)==null?void 0:q.querySelector("input"))==null||z.focus()},[s]);const I=q=>z=>{q(z),v(null),x("")},N=async(q,z)=>{const F=Sg(await t(q,z));if(!F||F.accepted===!1)throw Error((F==null?void 0:F.error)||"Could not save. Your choices are kept.");return F.result},M=async q=>{if(q.preventDefault(),!w.current){w.current=!0,E(!0),x("");try{if(s==="attach"){const H=await N("workspace.add",{path:d,fromDraft:r});o==null||o(H);return}const z=f||await N("workspace.prepare",{name:c,...m.trim()?{root:m.trim()}:{}});if(v(z),z.disposition!=="create")return;const F=await N("workspace.create",{planId:z.planId,fromDraft:r});o==null||o(F)}catch(z){x(z.message)}finally{w.current=!1,E(!1)}}},k=async()=>{if(!w.current){w.current=!0,E(!0),x("");try{const q=await N("workspace.add",{path:f.path,fromDraft:r});o==null||o(q)}catch(q){x(q.message)}finally{w.current=!1,E(!1)}}};return n.createElement("form",{ref:R,className:"a-workspace-setup",onSubmit:M,"aria-label":s==="attach"?"Use existing folder":"Create workspace","aria-busy":y},n.createElement("div",{className:"a-workspace-setup-heading"},n.createElement("h3",null,s==="attach"?"Use an existing folder":"New workspace"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Cancel workspace setup",disabled:y,onClick:i},n.createElement(tn,null))),s==="create"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:S+"-name"},"Workspace name"),n.createElement("input",{id:S+"-name",value:c,maxLength:200,required:!0,disabled:y,placeholder:"e.g. Launch plan",onChange:q=>I(u)(q.target.value)}),n.createElement("details",null,n.createElement("summary",null,"More options"),n.createElement("label",{htmlFor:S+"-root"},"Create in"),n.createElement(Ma,{id:S+"-root",value:m,placeholder:((T=e.workspaceDefaults)==null?void 0:T.root)||"Default workspace folder",directory:!0,state:e,act:t,onChange:I(h)}),n.createElement("p",{className:"a-caption"},"A new folder will be created here. Change the default in Settings → Workspaces."))):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:S+"-folder"},"Folder on ",((A=e.workspaceDefaults)==null?void 0:A.hostLabel)||"this host"),n.createElement(Ma,{id:S+"-folder",value:d,directory:!0,state:e,act:t,onChange:I(p),placeholder:"~/dev/my-project"}),n.createElement("p",{className:"a-caption"},"Work with files here. Existing Amplifier chats will appear automatically.")),f&&f.disposition!=="create"&&n.createElement("p",{role:"status"},f.disposition==="open"?"This folder already has a workspace.":f.disposition==="attach"?"This folder already exists. Use it as a workspace?":"A file already uses this name. Choose another name.",n.createElement("span",{className:"a-workspace-destination"},f.path)),b&&n.createElement("p",{role:"alert",className:"a-danger"},b),n.createElement("div",{className:"a-workspace-setup-actions"},n.createElement("button",{type:"button",className:"a-link",disabled:y,onClick:i},"Cancel"),f&&["open","attach"].includes(f.disposition)?n.createElement("button",{type:"button",className:"a-primary",disabled:y,onClick:k},f.disposition==="open"?"Open workspace":"Use folder"):n.createElement("button",{type:"submit",className:"a-primary",disabled:y||!(s==="create"?c.trim():d.trim())},y?"Saving…":s==="create"?"Create workspace":"Use folder")),n.createElement("button",{type:"button",className:"a-link",disabled:y,onClick:()=>{l(s==="create"?"attach":"create"),v(null),x("")}},s==="create"?"Use an existing folder":"Create a new workspace"))}function Tx({state:e,act:t,setup:a,onChange:r}){var H,ne;const[o,i]=g.useState(null),[s,l]=g.useState([]),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(!1),[f,v]=g.useState(0),[y,E]=g.useState(!0),[b,x]=g.useState(0),[w,R]=g.useState(0),[S,I]=g.useState(!1),N=g.useRef(null),M=g.useRef(!1),k=g.useRef(null),T=g.useId(),A=40;g.useEffect(()=>{var B;o||(B=N.current)==null||B.focus()},[o]),g.useEffect(()=>{if(o)return;let B=!0;E(!0),p(""),l([]);const P=setTimeout(()=>{Promise.resolve(t("workspace.list",{query:c,offset:f*A,limit:A})).then(_=>{const ee=Sg(_);if(!(ee!=null&&ee.accepted))throw Error((ee==null?void 0:ee.error)||"Could not load workspaces.");B&&(l(ee.result.items),h(ee.result.nextOffset!=null),x(ee.result.total||0),k.current&&(k.current.scrollTop=0))}).catch(_=>{B&&p(_.message)}).finally(()=>{B&&E(!1)})},c?150:0);return()=>{B=!1,clearTimeout(P)}},[c,f,(H=e.workspaces)==null?void 0:H.length,o,w]);const q=async B=>{if(!M.current){M.current=!0,I(!0),p("");try{await r({workspace:B,location:{kind:B?"workspace":"managed"}})}catch(P){p(P.message)}finally{M.current=!1,I(!1)}}},z=((ne=a.location)==null?void 0:ne.kind)==="managed"?"":a.workspace||"",F=B=>{const P=B.split("/").filter(Boolean);return P.pop(),P.length>3?"…/"+P.slice(-3).join("/"):"/"+P.join("/")};return o?n.createElement("div",{className:"a-workspace-picker"},n.createElement("button",{type:"button",className:"a-link a-picker-back",onClick:()=>i(null)},n.createElement(xa,null),"Back to workspaces"),n.createElement("h3",null,o==="create"?"New workspace":"Use an existing folder"),n.createElement(sl,{state:e,act:t,mode:o,fromDraft:!0,onCancel:()=>i(null),onDone:B=>q(B.path)}),d&&n.createElement("p",{role:"alert"},d)):n.createElement("div",{className:"a-workspace-picker","aria-busy":S},n.createElement("button",{type:"button",className:"a-picker-choice","aria-pressed":!z,disabled:S,onClick:()=>q("")},n.createElement(Di,null),n.createElement("span",null,n.createElement("strong",null,"No workspace"),n.createElement("small",null,"Keep this conversation on its own.")),!z&&n.createElement(Pt,null)),n.createElement("label",{className:"a-picker-search",htmlFor:T+"-search"},n.createElement(Ro,null),n.createElement("input",{ref:N,id:T+"-search",type:"search",maxLength:500,"aria-label":"Find a workspace",placeholder:"Search workspaces by name or folder",value:c,onChange:B=>{v(0),u(B.target.value)}})),n.createElement("div",{ref:k,className:"a-picker-results","aria-label":"Workspaces","aria-busy":y},y?n.createElement("p",{role:"status"},"Finding workspaces…"):d?n.createElement("p",{role:"alert"},d," ",n.createElement("button",{type:"button",className:"a-link",onClick:()=>R(w+1)},"Try again")):s.length?n.createElement("ul",null,s.map(B=>n.createElement("li",{key:B.id},n.createElement("button",{type:"button",className:"a-picker-choice","aria-label":B.name+" · "+B.path,"aria-pressed":z===B.path,disabled:S,title:B.path,onClick:()=>q(B.path)},n.createElement(Lr,null),n.createElement("span",null,n.createElement("strong",null,B.name),n.createElement("small",null,F(B.path))),z===B.path&&n.createElement(Pt,null))))):n.createElement("p",{role:"status"},c?"No matching workspaces. Try a name or part of its folder path.":"No workspaces yet. Create one or use an existing folder below.")),!y&&!d&&(f>0||m)&&n.createElement("div",{className:"a-picker-pages"},n.createElement("span",null,f*A+1,"–",f*A+s.length," of ",b),n.createElement("button",{type:"button",className:"a-link",disabled:!f,onClick:()=>v(f-1)},"Previous"),n.createElement("button",{type:"button",className:"a-link",disabled:!m,onClick:()=>v(f+1)},"Next")),n.createElement("div",{className:"a-picker-actions"},n.createElement("button",{type:"button",disabled:S,onClick:()=>i("create")},n.createElement(Mn,null),"New workspace"),n.createElement("button",{type:"button",disabled:S,onClick:()=>i("attach")},n.createElement(tr,null),"Use existing folder")))}function Ix({state:e,act:t}){var u,d,p,m,h,f;const[a,r]=g.useState(((d=(u=e.settings)==null?void 0:u.workspaces)==null?void 0:d.defaultRoot)||""),[o,i]=g.useState(""),[s,l]=g.useState(!1),c=async v=>{v.preventDefault(),l(!0);try{const y=await t("settings.update",{patch:{workspaces:{defaultRoot:a.trim()}}});if(!y||y.accepted===!1)throw Error((y==null?void 0:y.error)||"Could not save.");i("Saved. Existing workspaces stay where they are.")}catch(y){i(y.message)}finally{l(!1)}};return n.createElement("form",{className:"a-workspace-setup",onSubmit:c},n.createElement("h3",null,"Where new workspaces live"),n.createElement("p",null,"Name a workspace and Amplifier creates its folder here."),n.createElement("label",{htmlFor:"default-workspace-root"},"Default workspace folder on ",((p=e.workspaceDefaults)==null?void 0:p.hostLabel)||"this host"),n.createElement(Ma,{id:"default-workspace-root",value:a,directory:!0,state:e,act:t,onChange:r,placeholder:(m=e.workspaceDefaults)==null?void 0:m.root}),n.createElement("p",{className:"a-caption"},"Leave blank to use Amplifier’s workspace folder. This only affects new workspaces."),n.createElement("button",{className:"a-primary",disabled:s},"Save"),o&&n.createElement("p",{role:"status"},o),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:!!((f=(h=e.settings)==null?void 0:h.workspaces)!=null&&f.showPaths),onChange:v=>t("settings.update",{patch:{workspaces:{showPaths:v.target.checked}}})}),"Show folder paths in the sidebar"))}function ji({state:e,act:t,onOpen:a,onEdit:r,heading:o=!0,previewLimit:i=1/0,compact:s=!1,onSelect:l}){var F,H,ne,B,P,_,ee;const c=ol(),u=e.workspaceExplorer||{},d=s?e.workspaceShortcuts||[]:u.rows||[],p=u.breadcrumbs||[],[m,h]=g.useState(!1),v=!m&&!u.filter&&u.mode==="recent"&&(u.page||1)===1?d.slice(0,i):d,[y,E]=g.useState(u.filter||""),b=g.useRef(null);g.useEffect(()=>{b.current=null,E(u.filter||"")},[e.selectedWorkspaceId]),g.useEffect(()=>{(b.current===null||b.current===u.filter)&&(b.current=null,E(u.filter||""))},[u.filter]);const[x,w]=g.useState(0),R=g.useRef(null);Vu(R,x>0||!!((F=e.sharedHistory)!=null&&F.loading));const S=async Z=>{w(D=>D+1);try{return await t("view.update",{patch:Z})}finally{w(D=>D-1)}},I=Z=>(b.current=null,E(""),S({navWorkspacePath:Z,navWorkspaceFilter:"",navWorkspacePage:1,navWorkspaceAncestorsOpen:!1,navWorkspaceMode:"folders"})),N=Z=>{b.current=Z,E(Z),Promise.resolve(S({navWorkspaceFilter:Z,navWorkspacePage:1})).then(D=>{b.current===Z&&(!D||D.accepted===!1?(b.current=null,E(u.filter||"")):b.current=null)}).catch(()=>{b.current===Z&&(b.current=null,E(u.filter||""))})},M=async Z=>{if(l)return l(Z);const D=await t("workspace.select",{id:Z.workspaceId});D&&D.accepted!==!1&&await(a==null?void 0:a())},k=p.length>3?p.slice(0,-2):[],T=k.length?p.slice(-2):p,A=u.page||1,q=u.pages||1,z=Z=>Z.name===Z.path&&Z.path.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||Z.name;return n.createElement("section",{ref:R,"data-activity-region":"workspace-folders",className:"a-workspace-explorer","data-part":"workspace-explorer","data-compact":s,"data-show-paths":!!((ne=(H=e.settings)==null?void 0:H.workspaces)!=null&&ne.showPaths),"aria-label":"Workspace folders"},!s&&n.createElement("div",{className:"a-workspace-modes",role:"group","aria-label":"Workspace list"},n.createElement("button",{type:"button","aria-pressed":u.mode==="recent","data-action":"view.update",onClick:()=>S({navWorkspaceMode:"recent",navWorkspacePage:1})},"Recent"),n.createElement("button",{type:"button","aria-pressed":!s&&u.mode!=="recent","data-action":"view.update",onClick:()=>S({navWorkspaceMode:"folders",navWorkspacePage:1})},"Browse folders")),o&&!s&&n.createElement("div",{className:"a-workspace-explorer-heading"},n.createElement("strong",null,"Workspaces"),n.createElement("span",null,u.totalWorkspaces||0)),!s&&n.createElement("div",{className:"a-nav-search a-workspace-search"},n.createElement(Ro,null),n.createElement("input",{type:"search","aria-label":"Filter workspaces",placeholder:"Find workspace · * ? patterns",value:y,"data-action":"view.update",onChange:Z=>N(Z.target.value)})),!s&&u.mode!=="recent"&&!u.filter&&n.createElement("div",{className:"a-workspace-location"},n.createElement("button",{type:"button",className:"a-icon","aria-label":"Go to parent workspace folder",disabled:u.parentPath==null,"data-action":"view.update",onClick:()=>I(u.parentPath)},n.createElement(xa,null)),n.createElement("nav",{className:"a-workspace-breadcrumbs","aria-label":"Workspace folder path"},k.length>0&&n.createElement("div",{className:"a-workspace-ancestors","data-open":!!((B=e.view)!=null&&B.navWorkspaceAncestorsOpen)},n.createElement("button",{type:"button",className:"a-workspace-ancestor-toggle","aria-label":"Show ancestor folders","aria-expanded":!!((P=e.view)!=null&&P.navWorkspaceAncestorsOpen),"data-action":"view.update",onClick:()=>{var Z;return S({navWorkspaceAncestorsOpen:!((Z=e.view)!=null&&Z.navWorkspaceAncestorsOpen)})}},n.createElement(Li,null)),((_=e.view)==null?void 0:_.navWorkspaceAncestorsOpen)&&n.createElement("div",null,k.map(Z=>n.createElement("button",{key:Z.path,type:"button","data-action":"view.update","aria-label":"Browse "+(Z.path||"all workspace folders"),onClick:()=>I(Z.path)},Z.path||"All workspace folders")))),T.map((Z,D)=>n.createElement(n.Fragment,{key:Z.path},(D>0||k.length>0)&&n.createElement(Gt,{"aria-hidden":"true"}),n.createElement("button",{type:"button","data-action":"view.update","aria-current":D===T.length-1?"location":void 0,title:Z.path||"All workspace folders","aria-label":"Browse "+(Z.path||"all workspace folders"),onClick:()=>I(Z.path)},z(Z)))))),n.createElement("div",{className:"a-workspace-folders"},v.map(Z=>{var ce,_e,$e,De;const D=!!Z.workspaceId,G=D&&Z.workspaceId===(((ce=e.view)==null?void 0:ce.workWorkspaceId)||e.selectedWorkspaceId),j="Browse "+Z.path,K=Z.activityCounts||{},oe=K.attention?{kind:"attention",label:`${K.attention} chats need attention`}:K.working?{kind:"working",label:`${K.working} chats working`}:Z.unread?{kind:"unread",label:`${Z.unread} chats with unread activity`}:null,xe=n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-workspace-select","data-navigation-select":!0,"data-action":D?"workspace.select":"view.update","aria-label":D?"Open chats in "+Z.path:j,"aria-pressed":D?G:void 0,onClick:()=>D?M(Z):I(Z.path)},oe?n.createElement($u,{activity:oe}):D?n.createElement(Dk,null):n.createElement(Lr,null),n.createElement("span",{className:"a-workspace-label"},n.createElement("span",null,Z.customName||Z.name),n.createElement("small",{className:"a-workspace-result-path",title:Z.path},($e=(_e=e.settings)==null?void 0:_e.workspaces)!=null&&$e.showPaths?Z.path:bx(Z))),n.createElement("span",{className:"a-workspace-count","aria-label":`${D?Z.chatCount:Z.descendantWorkspaceCount} ${D?"chats":"workspaces"}`},D?Z.chatCount:Z.descendantWorkspaceCount),!D&&Z.canBrowse&&n.createElement(Gt,{className:"a-workspace-arrow"})),!s&&D&&Z.canBrowse&&n.createElement("button",{type:"button",className:"a-workspace-drill","data-action":"view.update","aria-label":j,title:`${Z.descendantWorkspaceCount} nested workspaces`,onClick:()=>I(Z.path)},n.createElement(Gt,null)));return D?n.createElement(Bu,{className:`a-workspace-row is-workspace ${G?"is-selected":""}`,key:Z.path,"data-workspace-path":Z.path,"data-qualified":!Z.customName&&((De=Z.pathLabel)==null?void 0:De.includes("/")),label:Z.customName||Z.name,details:({close:de})=>{var ve;return n.createElement(bg,{row:Z,now:c,actions:n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link","data-action":"workspace.select",onClick:()=>{de(),M(Z)}},n.createElement(Di,null),"Open chats"),n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{de(),I(Z.parentPath??dg(Z.path))}},n.createElement(Lr,null),"Browse parent"),r&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{de(),r({mode:"rename",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Fi,null),"Rename"),n.createElement("button",{type:"button",className:"a-danger",disabled:((ve=e.library)==null?void 0:ve.workspaceCount)<2,"data-action":"view.update",onClick:()=>{de(),r({mode:"remove",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Qn,null),"Remove")))})}},xe):n.createElement("div",{className:"a-workspace-row",key:Z.path,"data-workspace-path":Z.path},xe)})),v.lengthh(!0)},"More workspaces",n.createElement(Gt,null)),!d.length&&!((ee=e.sharedHistory)!=null&&ee.loading)&&n.createElement("p",{className:"a-nav-empty"},u.filter?"No matching workspaces.":"Create a workspace to start a chat."),!s&&q>1&&v.length===d.length&&n.createElement("div",{className:"a-nav-pagination a-workspace-pagination"},n.createElement("span",null,"Page ",A," of ",q),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-link","aria-label":"Show previous workspace folders","data-action":"view.update",disabled:A<=1,onClick:()=>S({navWorkspacePage:A-1})},"Previous"),n.createElement("button",{type:"button",className:"a-link","aria-label":"Show more workspace folders","data-action":"view.update",disabled:A>=q,onClick:()=>S({navWorkspacePage:A+1})},"More",n.createElement(Gt,null)))))}function Ax({state:e,act:t}){const a=e.view||{},r=e.conversationOrganization||{};return n.createElement("div",{"aria-label":"Conversation library filters"},n.createElement("label",null,"Conversations",n.createElement("select",{"aria-label":"Active or archived conversations",value:a.navArchive||"active","data-action":"view.update",onChange:o=>t("view.update",{patch:{navArchive:o.target.value}})},n.createElement("option",{value:"active"},"Active"),n.createElement("option",{value:"archived"},"Archived (",r.archivedCount||0,")"),n.createElement("option",{value:"all"},"Active and archived"))))}function _x({state:e,session:t,act:a}){var u;const r=Object.hasOwn(((u=e.conversationOrganization)==null?void 0:u.archived)||{},t.id),[o,i]=g.useState(!1),[s,l]=g.useState("");async function c(){i(!0),l("");try{const d=await a(r?"session.restore":"session.archive",{id:t.id});if(!(d!=null&&d.accepted))throw Error("The change was not saved.")}catch(d){l(d.message)}finally{i(!1)}}return n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Conversation library"),n.createElement("p",null,"Archive keeps this conversation and its files. Work already running continues."),n.createElement("button",{type:"button",className:"a-soft",disabled:o,"data-action":r?"session.restore":"session.archive",onClick:c},r?n.createElement(Nk,null):n.createElement(yi,null),r?"Restore conversation":"Archive conversation"),s&&n.createElement("p",{role:"alert",className:"a-danger"},s))}function Px({session:e,act:t}){const[a,r]=g.useState(null),[o,i]=g.useState([]),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(604800),m=g.useRef(0),[h,f]=g.useState(null);g.useEffect(()=>(m.current++,r(null),i([]),f(null),u(""),l(!1),()=>{m.current++}),[e.id]);async function v(b,x,w){const R=m.current;l(!0),u("");try{const S=await t(b,x);if(!(S!=null&&S.result))throw Error("The snapshot action did not return a result.");R===m.current&&w(S.result)}catch(S){R===m.current&&u(S.message)}finally{R===m.current&&l(!1)}}const y=b=>i(x=>[b,...x.filter(w=>w.id!==b.id)]),E=(b=0)=>v("session.shareList",{sessionId:e.id,offset:b},x=>{i(w=>b?[...w,...x.items.filter(R=>!w.some(S=>S.id===R.id))]:x.items),f(x.nextOffset)});return n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Share a snapshot"),n.createElement("p",null,"A snapshot includes visible conversation text and voice exchanges. File contents and interactive artifacts are not embedded."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.sharePreview",onClick:()=>v("session.sharePreview",{sessionId:e.id},r)},n.createElement(ox,null),"Preview snapshot"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareList",onClick:()=>E()},"Show shared snapshots")),a&&n.createElement(n.Fragment,null,n.createElement("pre",{className:"a-state-view","aria-label":"Snapshot preview",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:320}},a.text),a.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-link",disabled:s,"data-action":"session.shareRead",onClick:()=>v("session.shareRead",{id:a.id,offset:a.nextOffset},b=>r(x=>({...x,text:x.text+b.text,nextOffset:b.nextOffset})))},"Read more of this snapshot"),n.createElement("p",null,"Anyone with the link can read this snapshot while this host is reachable. Later edits stay private to the original chat. You can revoke the link."),n.createElement("label",{htmlFor:"share-expiry"},"Link expires after"),n.createElement("select",{id:"share-expiry",value:d,onChange:b=>p(Number(b.target.value))},n.createElement("option",{value:86400},"One day"),n.createElement("option",{value:604800},"One week"),n.createElement("option",{value:2592e3},"Thirty days")),n.createElement("button",{type:"button",className:"a-primary",disabled:s,"data-action":"session.shareCreate",onClick:()=>v("session.shareCreate",{id:a.id,contentHash:a.contentHash,visibility:"anyone_with_link",expiresInSeconds:d},b=>{y(b),r(null)})},"Create share link")),o.map(b=>n.createElement("div",{className:"a-selection-card",key:b.id},n.createElement("strong",null,b.title),n.createElement("p",null,b.status,b.expiresAt?" · expires "+new Date(b.expiresAt*1e3).toLocaleString():""),b.path&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"share-"+b.id},"Snapshot link"),n.createElement("input",{id:"share-"+b.id,readOnly:!0,value:new URL(b.path,window.location.origin).href}),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>navigator.clipboard.writeText(new URL(b.path,window.location.origin).href).catch(()=>u("Copy was unavailable. Select the link and copy it."))},n.createElement(ar,null),"Copy link"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareRevoke",onClick:()=>v("session.shareRevoke",{id:b.id},y)},"Revoke link")))),h!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"session.shareList",onClick:()=>E(h)},"Load older snapshots"),c&&n.createElement("p",{role:"alert",className:"a-danger"},c))}function Cg({id:e,act:t,cancel:a}){var y;const[r,o]=g.useState(null),[i,s]=g.useState(!1),[l,c]=g.useState(""),[u,d]=g.useState(!1),p=g.useRef(0),m=g.useRef(!1);async function h(){var b;const E=++p.current;o(null),c(""),s(!0);try{const x=await t("session.deletePreview",{id:e});if(!(x!=null&&x.accepted)||!((b=x.result)!=null&&b.confirmationToken))throw Error((x==null?void 0:x.error)||"Could not review this chat for deletion.");E===p.current&&o(x.result)}catch(x){E===p.current&&c(x.message)}finally{E===p.current&&s(!1)}}g.useEffect(()=>(h(),()=>{p.current++}),[e]);async function f(){var b;if(!r||m.current)return;const E=p.current;m.current=!0,s(!0),c("");try{const x=await t("session.delete",{id:e,confirmationToken:r.confirmationToken});if(!(x!=null&&x.accepted))throw Error((x==null?void 0:x.error)||"Deletion was not confirmed. Review the chat again before retrying.");E===p.current&&((b=x.result)!=null&&b.cleanupPending?(d(!0),o(null)):a())}catch(x){E===p.current&&(c(x.message),o(null))}finally{m.current=!1,E===p.current&&s(!1)}}const v=r==null?void 0:r.summary;return n.createElement("div",{className:"a-chat-delete","aria-busy":i},r?n.createElement(n.Fragment,null,n.createElement("p",null,"Permanently delete ",n.createElement("strong",null,r.title||"this chat"),"?"),n.createElement("p",null,r.description),v&&n.createElement("p",{className:"a-caption"},v.conversationCount," saved conversation",v.conversationCount===1?"":"s"," · ",v.fileCount," file",v.fileCount===1?"":"s"," · ",v.attachmentCount," attachment",v.attachmentCount===1?"":"s"," · ",v.artifactCount," artifact",v.artifactCount===1?"":"s"," · ",v.shareCount," published link",v.shareCount===1?"":"s"),n.createElement("p",null,n.createElement("strong",null,"This cannot be undone.")),!!((y=r.preserved)!=null&&y.length)&&n.createElement("p",{className:"a-caption"},"Kept: ",r.preserved.join("; "),".")):i?n.createElement("p",{role:"status"},"Checking what will be deleted…"):null,u&&n.createElement("p",{role:"status"},"The chat has been removed. File cleanup is pending and will be retried automatically."),l&&n.createElement("p",{role:"alert",className:"a-danger"},l),n.createElement("div",{className:"a-dialog-actions"},r?n.createElement("button",{type:"button",className:"a-soft a-danger","data-action":"session.delete",disabled:i,onClick:f},i?"Deleting…":"Delete permanently"):!i&&!u&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.deletePreview",onClick:h},"Review again"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:m.current,onClick:a},u?"Close":"Keep chat")))}function Zu(e,t){return e.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot)}const ra=(e,t)=>e("view.update",{patch:t});function Ox({chat:e,act:t,cancel:a,inputId:r="nav-workspace-name"}){var E,b;const[o,i]=g.useState(e.title||""),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(!1),p=g.useRef(!1),m=((E=e.naming)==null?void 0:E.status)==="working",h=["starting","working","running","stopping"].includes(e.status)||e.configurationBusy,f=e.autoName??(e.titleSource!=="manual"&&e.nativeNameSource!=="manual");g.useEffect(()=>{p.current||i(e.title||"")},[e.title]);const v=async x=>{x.preventDefault();const w=o.trim();if(!(!w||d.current)){d.current=!0,l(!0),u("");try{const R=await t("session.rename",{id:e.id,title:w});R&&R.accepted!==!1?a():u((R==null?void 0:R.error)||"Could not rename. Your text is kept; try again.")}catch(R){u(R.message||"Could not rename. Please try again.")}finally{d.current=!1,l(!1)}}};async function y(){if(!(d.current||m||h||o!==(e.title||""))){d.current=!0,l(!0),u("");try{const x=await t("session.naming",{id:e.id,regenerate:!0});if(!x||x.accepted===!1)throw Error((x==null?void 0:x.error)||"Could not generate a name. Your current name is kept.")}catch(x){u(x.message)}finally{d.current=!1,l(!1)}}}return n.createElement("form",{"aria-busy":s||m,className:"a-nav-chat a-nav-chat-rename","data-session-id":e.id,onSubmit:v},n.createElement("input",{id:r,maxLength:200,"aria-label":`New name for ${e.title||"conversation"}`,value:o,disabled:s,required:!0,autoFocus:!0,onChange:x=>{p.current=x.target.value!==(e.title||""),i(x.target.value),u("")}}),n.createElement("button",{type:"submit",className:"a-icon a-nav-chat-edit","aria-label":"Save conversation name",disabled:s||!o.trim(),"data-action":"session.rename"},n.createElement(Pt,null)),n.createElement("button",{type:"button",className:"a-icon a-nav-chat-edit","aria-label":"Cancel conversation rename",disabled:s,"data-action":"view.update",onClick:a},n.createElement(tn,null)),n.createElement("button",{type:"button",className:"a-link","data-action":"session.naming",disabled:s||m||h||o!==(e.title||""),onClick:y},n.createElement(zt,null),m?"Naming…":"Auto name now"),n.createElement("small",{className:"a-nav-name-help"},"Generate one name. Future automatic naming stays ",f?"on":"off",".",h?" Wait for current work to finish.":o!==(e.title||"")?" Save or cancel your edit first.":""),m&&n.createElement("small",{role:"status"},"Generating chat name…"),(c||((b=e.naming)==null?void 0:b.error))&&n.createElement("small",{role:"alert",className:"a-danger"},c||e.naming.error))}function ho(e,t){var k,T,A;const a=Zu(n,e),r=e.dispatch,o=e.instanceId==="workspaces"?"nav-workspace":"nav-"+e.instanceId,i=a.view||{},s=i.workspaceDraft||{},l=(t==="chats"?(k=s.mode)!=null&&k.startsWith("chat-"):!((T=s.mode)!=null&&T.startsWith("chat-")))?s:{},c=g.useRef(null),u=g.useRef(l),d=g.useRef(0),p=g.useRef(!1),[m,h]=g.useState(!1),[f,v]=g.useState("");g.useEffect(()=>{u.current=l},[l]);const y=a.sharedHistory||{},E=!!(y.loading||y.refreshing),b=al(a),x=b.find(q=>q.id===a.selectedWorkspaceId),w=(A=a.library)!=null&&A.bounded?a.library.workspaceCount:b.length,R=i.navChatScope==="all",S=q=>{d.current++,u.current=q,v(""),ra(r,{workspaceDraft:q})},I=q=>S({...l,...q}),N=q=>r("session.select",{id:q}),M=async q=>{var F;if(q.preventDefault(),p.current)return;const z=d.current;p.current=!0,h(!0),v("");try{let H;l.mode==="add"?H=await r("workspace.create",{path:l.path||"",...(F=l.name)!=null&&F.trim()?{name:l.name.trim()}:{}}):l.mode==="rename"?H=await r("workspace.rename",{id:l.id,name:l.name||""}):l.mode==="chat-rename"?H=await r("session.rename",{id:l.id,title:l.name||""}):l.mode==="remove"&&(H=await r("workspace.remove",{id:l.id})),H&&H.accepted!==!1?d.current===z&&S({}):v((H==null?void 0:H.error)||"Could not save. Check the folder or name and try again.")}catch(H){v(H.message||"Could not save. Please try again.")}finally{p.current=!1,h(!1)}};return g.useEffect(()=>{var q,z,F,H,ne;l.mode&&((z=(q=c.current)==null?void 0:q.scrollIntoView)==null||z.call(q,{block:"nearest"}),(ne=(H=(F=c.current)==null?void 0:F.querySelector)==null?void 0:H.call(F,"input"))==null||ne.focus())},[l.mode,l.id]),{state:a,act:r,prefix:o,view:i,draft:l,form:c,saving:m,formError:f,history:y,refreshing:E,workspace:x,workspaceCount:w,allChats:R,setDraft:S,updateDraft:I,choose:N,submit:M}}function fo({model:e}){var p;const{state:t,act:a,prefix:r,draft:o,form:i,saving:s,formError:l,setDraft:c,updateDraft:u,submit:d}=e;return o.mode==="add"?n.createElement(sl,{state:t,act:a,onDone:()=>c({}),onCancel:()=>c({})}):n.createElement(n.Fragment,null,o.mode==="chat-delete"&&n.createElement("div",{className:"a-nav-form"},n.createElement("strong",null,"Delete chat?"),n.createElement(Cg,{key:o.id,id:o.id,act:a,cancel:()=>c({})}))," ",o.mode&&o.mode!=="chat-rename"&&o.mode!=="chat-delete"&&n.createElement("form",{ref:i,className:"a-nav-form","aria-busy":s,onSubmit:d},n.createElement("div",{className:"a-nav-form-title"},n.createElement("strong",null,o.mode==="add"?"New workspace":o.mode==="rename"?"Rename workspace":o.mode==="chat-rename"?"Rename chat":"Remove workspace?"),n.createElement("button",{className:"a-icon",type:"button","aria-label":"Cancel navigation edit","data-action":"view.update",onClick:()=>c({})},n.createElement(tn,null))),o.mode==="add"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Choose an existing folder, or enter a path to create one. Your first chat opens here."),n.createElement("label",{htmlFor:r+"-path"},"Folder"),n.createElement(Ma,{id:r+"-path",value:o.path||"",onChange:m=>u({path:m}),directory:!0,state:t,act:a,placeholder:"~/Projects/my-project"})),["add","rename","chat-rename"].includes(o.mode)?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:r+"-name"},o.mode==="add"?"Name (optional)":"Name"),n.createElement("input",{id:r+"-name",maxLength:200,value:o.name||"",required:o.mode!=="add","data-action":"view.update",onChange:m=>u({name:m.target.value})})):n.createElement("p",null,"Remove ",o.name," from this list? Its files and chats will stay on disk."),n.createElement("button",{type:"submit",disabled:s||o.mode==="add"&&!((p=o.path)!=null&&p.trim()),className:o.mode==="remove"?"a-soft a-danger":"a-primary","data-action":o.mode==="add"?"workspace.create":o.mode==="rename"?"workspace.rename":o.mode==="remove"?"workspace.remove":"session.rename"},s?"Saving…":o.mode==="add"?"Create workspace":o.mode==="remove"?"Remove registration":"Save name"),l&&n.createElement("p",{role:"alert",className:"a-danger"},l)))}function Mx({host:e,paired:t=!1}){const a=ho(e,"workspaces"),{state:r,act:o,allChats:i,workspace:s,workspaceCount:l,setDraft:c}=a;return t?n.createElement(fo,{model:a}):n.createElement(n.Fragment,null,n.createElement(fo,{model:a})," ",!i&&n.createElement(ji,{state:r,act:o}),!i&&s&&n.createElement("div",{className:"a-nav-workspace-path"},n.createElement("span",{className:"a-workspace-full-path",title:s.path||"Project folder unavailable"},s.path||"Project folder unavailable"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Rename workspace","data-action":"view.update",onClick:()=>c({mode:"rename",id:s.id,name:s.name})},n.createElement(Fi,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove workspace registration",disabled:l<2,"data-action":"view.update",onClick:()=>c({mode:"remove",id:s.id,name:s.name})},n.createElement(Qn,null))))}function zx({host:e,onOpen:t}){const a=ho(e,"workspaces");return n.createElement(ji,{state:a.state,act:a.act,onOpen:t,onEdit:a.setDraft,heading:!1,previewLimit:8})}function Lx({chat:e,model:t,now:a,close:r}){var b,x;const{state:o,act:i,draft:s,setDraft:l,choose:c,prefix:u}=t,d=qu(e,o),p=e.title||"Untitled conversation",m=((b=e.location)==null?void 0:b.kind)==="managed",h=o.pinnedSessionIds||[],f=h.indexOf(e.id),[v,y]=g.useState(""),E=async w=>{try{y(""),await i("session.pinOrder",{ids:gg(h,e.id,h[f+w])})}catch(R){y(R.message)}};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-navigation-detail-heading"},n.createElement(Di,null),"Chat details"),n.createElement("h3",null,p),n.createElement("div",{className:"a-navigation-detail-status"},n.createElement($u,{activity:d}),n.createElement("strong",null,d.label)),n.createElement("dl",null,n.createElement("dt",null,"Last activity"),n.createElement("dd",null,ju(e.recentActivityAt,a).long),n.createElement("dt",null,"Workspace"),n.createElement("dd",null,m?"No workspace":e.workspaceName||((x=e.workspace)==null?void 0:x.split(/[\\/]/).filter(Boolean).at(-1)))),n.createElement(Ms,{label:m?"Chat files":"Full workspace path",value:e.workspace||"Unavailable"}),n.createElement(Ms,{label:"Session ID",value:Fu(e)}),n.createElement("p",{className:"a-caption"},m?"Files stored in this chat’s managed folder.":"Saved in this folder’s native Amplifier history."),s.mode==="chat-rename"&&s.id===e.id?n.createElement(Ox,{inputId:u+"-name",chat:e,act:i,cancel:()=>l({})}):n.createElement("div",{className:"a-navigation-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",onClick:()=>{r(),c(e.id)}},n.createElement(Rk,null),"Open chat"),n.createElement("button",{type:"button","aria-label":`${e.pinned?"Unpin":"Pin"} ${p}`,"aria-pressed":!!e.pinned,"data-action":"session.pin",onClick:()=>i("session.pin",{id:e.id,pinned:!e.pinned})},n.createElement(Du,null),e.pinned?"Unpin":"Pin"),e.pinned&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button","aria-label":"Move "+p+" up","data-action":"session.pinOrder",disabled:f<1,onClick:()=>E(-1)},n.createElement(zi,null),"Move up"),n.createElement("button",{type:"button","aria-label":"Move "+p+" down","data-action":"session.pinOrder",disabled:f<0||f===h.length-1,onClick:()=>E(1)},n.createElement(rg,null),"Move down"),v&&n.createElement("span",{role:"alert"},v)),n.createElement("button",{type:"button","aria-label":"Rename "+p,"data-action":"view.update",onClick:()=>l({mode:"chat-rename",id:e.id,name:p})},n.createElement(Fi,null),"Rename"),n.createElement("button",{type:"button","aria-label":(e.archived?"Restore ":"Archive ")+p,"data-action":e.archived?"session.restore":"session.archive",onClick:()=>i(e.archived?"session.restore":"session.archive",{id:e.id})},e.archived?"Restore":"Archive"),m&&!e.parentId&&n.createElement("button",{type:"button",className:"a-danger","aria-label":"Delete "+p,"data-action":"view.update",onClick:()=>{r(),l({mode:"chat-delete",id:e.id,name:p})}},n.createElement(Qn,null),"Delete")))}function ao({id:e,title:t,count:a,model:r,actions:o,children:i}){const s=n.useId(),l=r.view.navSectionsCollapsed||[],c=l.includes(e);return n.createElement("section",{className:"a-sidebar-section","aria-label":t==="Pinned"?"Pinned chats":t==="Recent"?"Recent chats":t,"data-sidebar-section":e},n.createElement("div",{className:"a-sidebar-section-heading"},n.createElement("button",{type:"button","aria-expanded":!c,"aria-controls":s,"data-action":"view.update",onClick:()=>ra(r.act,{navSectionsCollapsed:c?l.filter(u=>u!==e):[...l,e]})},n.createElement("span",null,t),n.createElement(Gt,{className:c?"":"is-open"}),a!=null&&n.createElement("small",null,a)),o),n.createElement("div",{id:s,hidden:c},i))}function Ju({chat:e,model:t,now:a,showLocation:r=!0,handle:o,floating:i=!1}){const{state:s,choose:l}=t,c=e.title||"Untitled conversation",u=qu(e,s),d=n.createElement(n.Fragment,null,o,n.createElement("button",{className:"a-nav-chat-select",type:"button","data-navigation-select":!0,"data-action":"session.select","aria-current":e.id===s.selectedSessionId?"page":void 0,"aria-label":c,onClick:()=>l(e.id)},n.createElement($u,{activity:u}),n.createElement("span",{className:"a-nav-chat-label"},n.createElement("span",null,c),n.createElement("small",{className:"a-nav-chat-workspace",title:r?e.workspace:void 0},r?e.workspaceLabel||e.workspace:u.label)),n.createElement(kx,{at:e.recentActivityAt,now:a}))),p="a-nav-chat "+(e.id===s.selectedSessionId?"is-selected":"");return i?n.createElement("div",{className:p},d,n.createElement(Li,{className:"a-navigation-more"})):n.createElement(Bu,{className:p,"data-session-id":e.id,label:c,details:({close:m})=>n.createElement(Lx,{chat:e,model:t,now:a,close:m})},d)}function Ng({page:e,onChange:t,label:a="conversations"}){return e.pages<2?null:n.createElement("div",{className:"a-nav-pagination"},n.createElement("span",null,e.start+1,"–",e.end," of ",e.total),n.createElement("div",null,n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Show previous "+a,disabled:e.index===0,onClick:()=>t(e.index-1)},"Previous"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Show more "+a,disabled:e.index===e.pages-1,onClick:()=>t(e.index+1)},"More",n.createElement(Gt,null))))}function Ku({page:e,model:t,now:a}){const[r,o]=g.useState(""),i=e.items.map(c=>({...c,label:c.title||"Untitled conversation"})),s=i.map(c=>c.id),l=async(c,{id:u,to:d})=>{var p;o("");try{const m=await t.act("session.pinOrder",{ids:gg(t.state.pinnedSessionIds||[],u,s[d])}),h=((p=m==null?void 0:m.result)==null?void 0:p.accepted)!==void 0?m.result:m;if((h==null?void 0:h.accepted)===!1)throw Error(h.error||"Could not reorder pins.")}catch(m){throw o(m.message||"Could not reorder pins. Please try again."),m}};return n.createElement(n.Fragment,null,n.createElement(yg,{items:i,ids:s,onChange:l,className:"a-pinned-chats",floatingClassName:"a-pinned-drag",action:"session.pinOrder",renderItem:(c,{handle:u,floating:d})=>n.createElement(Ju,{chat:c,model:t,now:a,handle:u,floating:d})}),r&&n.createElement("p",{role:"alert",className:"a-danger"},r),!e.total&&n.createElement("p",{className:"a-nav-empty"},"Pin a chat from its actions menu to keep it here."),n.createElement(Ng,{page:e,label:"pinned chats",onChange:c=>ra(t.act,{navPinnedPage:c})}))}function Wc({page:e,model:t,view:a,viewAct:r,now:o,showLocation:i}){const s=e.activityCounts||{};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-nav-search"},n.createElement(Ro,null),n.createElement("input",{"aria-label":"Filter conversations",maxLength:500,type:"search",value:a.navFilter||"",placeholder:i?"Find chats or paths · * ?":"Find chats · * ? patterns","data-action":"view.update",onChange:l=>ra(r,{navFilter:l.target.value})})),n.createElement("details",{className:"a-sidebar-filters"},n.createElement("summary",null,"Filters",a.navFilter||a.navArchive&&a.navArchive!=="active"||a.navStatusFilter&&a.navStatusFilter!=="all"||a.navLocationFilter==="managed"?" · active":""),n.createElement(Ax,{state:{...t.state,view:a},act:r}),n.createElement("label",{className:"a-managed-chat-filter"},"Sort",n.createElement("select",{"aria-label":"Sort conversations",value:a.navSort||"activity","data-action":"view.update",onChange:l=>ra(r,{navSort:l.target.value})},n.createElement("option",{value:"activity"},"Recent activity"),n.createElement("option",{value:"created"},"Newest created"),n.createElement("option",{value:"name"},"Name"))),i&&n.createElement("label",{className:"a-managed-chat-filter"},"Location",n.createElement("select",{"aria-label":"Filter chats by location",value:a.navLocationFilter||"all","data-action":"view.update",onChange:l=>ra(r,{navLocationFilter:l.target.value})},n.createElement("option",{value:"all"},"All locations"),n.createElement("option",{value:"managed"},"No workspace"))),n.createElement("div",{className:"a-navigation-filters",role:"group","aria-label":"Conversation activity filters"},n.createElement("button",{type:"button","aria-pressed":a.navStatusFilter==="attention","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:a.navStatusFilter==="attention"?"all":"attention"})},n.createElement(On,null),s.attention??0," need attention"),n.createElement("button",{type:"button","aria-pressed":a.navStatusFilter==="working","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:a.navStatusFilter==="working"?"all":"working"})},n.createElement(No,null),s.working??0," working"),a.navStatusFilter&&a.navStatusFilter!=="all"&&n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>ra(r,{navStatusFilter:"all"})},"Clear"))),e.pending&&n.createElement("p",{role:"status"},"Loading conversations…"),n.createElement("div",{className:"a-nav-chats"},e.items.map(l=>n.createElement(Ju,{key:l.id,chat:l,model:t,now:o,showLocation:i}))),!e.total&&!e.pending&&n.createElement("p",{className:"a-nav-empty"},a.navFilter||a.navStatusFilter&&a.navStatusFilter!=="all"?"No matching chats.":"Your conversations will appear here."),n.createElement(Ng,{page:e,onChange:l=>ra(r,{navChatPage:{...e.scope,index:l}})}))}const pm={navArchive:"active",navCollection:null,navFilter:"",navStatusFilter:"all",navLocationFilter:"all",navSort:"activity"};function Dx({host:e,workspaceHost:t}){var T,A,q;const a=ho(e,"chats"),{state:r,act:o,view:i,workspace:s,history:l,refreshing:c}=a,u=Zu(n,t||e),d=ol(),p=(t==null?void 0:t.dispatch)||o,[m,h]=g.useState(!1),f=g.useRef(null),v=()=>{h(!1),requestAnimationFrame(()=>{var z;return(z=f.current)==null?void 0:z.focus()})},y=r.sidebarNavigation,E={...pm,navChatScope:((T=y==null?void 0:y.pinned)==null?void 0:T.scope.mode)||"all",navPinnedPage:i.navPinnedPage},b={...pm,...y==null?void 0:y.recentView,...i.navRecentView},x=Es({...r,view:E},s,{section:"pinned"}),w=Es({...r,view:{...b,navChatScope:E.navChatScope}},s,{section:"recent"}),R=Es({...r,view:{...i,navChatScope:"workspace"}},s,{section:"workspace"}),S=(z,F)=>{if(z!=="view.update")return o(z,F);const H={...b,...F.patch};return Object.hasOwn(F.patch,"navChatPage")||delete H.navChatPage,ra(o,{navRecentView:H})},I=i.navWorkspaceList!==!1||!s,N=()=>ra(o,{navWorkspaceList:!0}),M=()=>ra(o,{navWorkspaceList:!1,navChatScope:"workspace",navFilter:"",navStatusFilter:"all",navArchive:"active",navLocationFilter:"all"}),k=(A=u.workspaceExplorer)==null?void 0:A.selected;return n.createElement("div",{className:"a-sidebar-navigation"},n.createElement(fo,{model:a}),n.createElement(ao,{id:"pinned",title:"Pinned",count:x.total,model:a},n.createElement(Ku,{page:x,model:a,now:d})),n.createElement(ao,{id:"workspaces",title:"Workspaces",count:(q=u.workspaceExplorer)==null?void 0:q.totalWorkspaces,model:a,actions:n.createElement("button",{ref:f,type:"button",className:"a-icon","aria-label":"New workspace","data-action":"view.update",onClick:()=>{h(!0),ra(o,{navSectionsCollapsed:(i.navSectionsCollapsed||[]).filter(z=>z!=="workspaces")})}},n.createElement(Mn,null))},m&&n.createElement(sl,{state:u,act:p,onDone:v,onCancel:v}),I?t?n.createElement(zx,{host:t,onOpen:M}):n.createElement(ji,{state:r,act:o,onOpen:M,onEdit:a.setDraft,heading:!1,previewLimit:8}):n.createElement("div",{className:"a-workspace-chat-view","aria-label":"Chats in "+s.name},n.createElement("button",{type:"button",className:"a-navigation-back","data-action":"view.update",onClick:N},n.createElement(xa,null),"All workspaces"),n.createElement(Bu,{className:"a-navigation-workspace",label:s.name,details:({close:z})=>{var F;return n.createElement(bg,{row:k||{...s,chatCount:R.total},now:d,actions:n.createElement(n.Fragment,null,n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{z(),p("view.update",{patch:{workspaceDraft:{mode:"rename",id:s.id,name:s.name}}})}},n.createElement(Fi,null),"Rename"),n.createElement("button",{type:"button",className:"a-danger",disabled:((F=u.library)==null?void 0:F.workspaceCount)<2,"data-action":"view.update",onClick:()=>{z(),p("view.update",{patch:{workspaceDraft:{mode:"remove",id:s.id,name:s.name}}})}},n.createElement(Qn,null),"Remove registration"))})}},n.createElement(Lr,null),n.createElement("div",null,n.createElement("strong",null,s.name),n.createElement("small",{title:s.path},pg(s.path)))),n.createElement("div",{className:"a-sidebar-workspace-actions"},n.createElement("span",null,R.total," chats"),n.createElement("button",{type:"button",className:"a-link","aria-label":"New chat in "+s.name,"data-action":"session.draft",onClick:()=>o("session.draft",{workspace:s.path})},n.createElement(Mn,null),"New chat")),n.createElement(Wc,{page:R,model:a,view:i,viewAct:o,now:d,showLocation:!1}))),n.createElement(ao,{id:"recent",title:"Recent",count:w.total,model:a,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh workspaces and chats","data-action":"history.refresh",disabled:c,onClick:()=>o("history.refresh",{})},n.createElement(zt,{className:c?"a-progress-spinner":void 0}))},n.createElement(Wc,{page:w,model:a,view:b,viewAct:S,now:d,showLocation:!0})),l.loading&&n.createElement("p",{role:"status"},"Finding existing chats…"),l.error&&n.createElement("p",{role:"alert",className:"a-danger"},l.error),!!l.issueCount&&n.createElement("p",{className:"a-caption",role:"status"},"Some saved folders or chats need attention."))}function Fx({host:e,workspaceHost:t,navigation:a}){var c;const r=ho(e,"chats"),o=ol(),i=Zu(n,t||e),s=((c=r.state.sidebarNavigation)==null?void 0:c.pinned)||{items:[],total:0,pages:1},l=r.state.recentShortcuts||[];return n.createElement("div",{className:"a-sidebar-navigation a-quiet-sidebar"},n.createElement(fo,{model:r}),n.createElement("button",{type:"button",className:"a-nav-search-launch","data-action":"view.update",onClick:()=>a.browse("chats")},n.createElement(Ro,null),"Search chats"),n.createElement(ao,{id:"pinned",title:"Pinned",model:r},n.createElement(Ku,{page:s,model:r,now:o})),n.createElement(ao,{id:"workspaces",title:"Workspaces",model:r,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"New workspace",onClick:()=>a.create()},n.createElement(Mn,null))},n.createElement(ji,{state:i,act:(t==null?void 0:t.dispatch)||r.act,compact:!0,heading:!1,onSelect:u=>a.browse("workspace",u.workspaceId)}),n.createElement("button",{type:"button",className:"a-sidebar-all a-link","data-action":"view.update",onClick:()=>a.browse("workspaces")},"All workspaces",n.createElement(Gt,null))),n.createElement(ao,{id:"recent",title:"Recent",model:r,actions:n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh workspaces and chats","data-action":"history.refresh",disabled:r.refreshing,onClick:()=>r.act("history.refresh",{})},n.createElement(zt,{className:r.refreshing?"a-progress-spinner":void 0}))},l.map(u=>n.createElement(Ju,{key:u.id,chat:u,model:r,now:o})),!l.length&&n.createElement("p",{className:"a-nav-empty"},"Your recent chats appear here."),n.createElement("button",{type:"button",className:"a-sidebar-all a-link","data-action":"view.update",onClick:()=>a.browse("chats")},"All chats",n.createElement(Gt,null))),r.history.loading&&n.createElement("p",{className:"a-caption",role:"status"},"Finding existing chats…"),!!r.history.issueCount&&n.createElement("p",{className:"a-caption",role:"status"},"Some saved folders or chats need attention. ",n.createElement("button",{className:"a-link",onClick:()=>a.browse("chats")},"Review chats")),r.history.error&&n.createElement("p",{role:"alert"},r.history.error))}function qx(e){const t=g.useContext(Mi);return t?n.createElement(Fx,{...e,navigation:t}):n.createElement(Dx,{...e})}function Ja(e){var s,l,c,u,d;const t=((s=e==null?void 0:e.view)==null?void 0:s.workSurface)||"chat",a=t==="workspace"?(l=e==null?void 0:e.view)==null?void 0:l.workWorkspaceId:t==="chat"?e==null?void 0:e.selectedWorkspaceId:null,r=((u=(c=e==null?void 0:e.workspaces)==null?void 0:c.find(p=>p.id===a))==null?void 0:u.path)||"",o=(d=e==null?void 0:e.view)==null?void 0:d.newSessionDraft,i=(o==null?void 0:o.workspace)??r;return{title:"",workspace:r,bundle:"",selection:{},...o,location:(o==null?void 0:o.location)||{kind:i?"workspace":"managed"}}}function ws(e){var t;return JSON.stringify([e.workspace,e.bundle||"",...((t=e.location)==null?void 0:t.kind)==="managed"?["managed"]:[]])}function Rg(e){var a;const t=Ja(e);return((a=e.draftDefaults)==null?void 0:a[ws(t)])||{}}function jx(){return n.createElement("section",{className:"a-new-chat-setup","aria-label":"New chat"},n.createElement("img",{src:"/branding/icons/amplifier-icon-128.png",alt:""}),n.createElement("h2",null,"What shall we work on?"),n.createElement("p",null,"Bring an idea, a question, or a file."))}const Ha=crypto.randomUUID();let Ki;function Ui(e){if(!e.startsWith("/api/"))return e;const t=new URL(e,location.origin);return t.searchParams.set("clientId",Ha),t.pathname+t.search}function Ux(e){if(!Ki){let t;try{t=sessionStorage.getItem("amplifier.clientId")||void 0}catch{}Ki=Ct("/api/clients/attach",{method:"POST",signal:e,body:{clientId:Ha,resumeClientId:t,kind:"web",protocolVersion:1}}).then(a=>{try{sessionStorage.setItem("amplifier.clientId",Ha)}catch{}return a}).catch(a=>{throw Ki=null,a})}return Ki}let ui;function ks(){return ui?ui.seconds+(performance.now()-ui.received)/1e3:Date.now()/1e3}async function Ct(e,t={}){var u,d,p;const a={...e.startsWith("/api/")?{"X-Amplifier-Client":Ha,"X-Amplifier-State-Transport":"delta-v1"}:{},...t.headers};let r=t.body;r&&typeof r=="object"&&!(r instanceof FormData)&&(a["Content-Type"]="application/json",r=JSON.stringify(r));const o=await fetch(e,{...t,body:r,headers:a,credentials:"same-origin"}),i=Date.parse((d=(u=o.headers)==null?void 0:u.get)==null?void 0:d.call(u,"date"));Number.isFinite(i)&&(!ui||i/1e3>ks())&&(ui={seconds:i/1e3,received:performance.now()});const s=await o.text();let l;try{l=s?JSON.parse(s):{}}catch{throw new Error(`The server returned an unexpected response (${o.status}).`)}const c=o.ok&&l.accepted===!1?Number.isInteger(l.status)&&l.status>=400&&l.status<600?l.status:400:o.status;if(!o.ok||l.accepted===!1)throw Object.assign(new Error(typeof l.error=="string"?l.error:((p=l.error)==null?void 0:p.message)||l.message||`Request failed (${c})`),{code:l.code,state:l.state,receipt:l.receipt,status:c});return l}function mm(e,t,a="application/json"){const r=new Blob([typeof t=="string"?t:JSON.stringify(t,null,2)],{type:a}),o=URL.createObjectURL(r),i=document.createElement("a");i.href=o,i.download=e,i.click(),setTimeout(()=>URL.revokeObjectURL(o),1e3)}function $x(e){var t,a;if(e)for(const r of e.querySelectorAll('button[aria-label],a[aria-label],[role="button"][aria-label]')){if(!((t=r.classList)!=null&&t.contains("a-icon"))&&!((a=r.querySelector)!=null&&a.call(r,"svg")))continue;const o=r.getAttribute("aria-label");o&&(!r.title||r.dataset.iconTitle==="auto")&&(r.title=o,r.dataset.iconTitle="auto")}}function Bx(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode(o){if(o.nodeType===Node.ELEMENT_NODE){const i=getComputedStyle(o);return o.dataset.viewSource||i.display==="none"||i.visibility==="hidden"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP}return o.textContent.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});let a,r="";for(;(a=t.nextNode())&&r.length<6e4;)r+=a.textContent.trim()+` +`;return r.slice(0,6e4)}function jl(e,t,{interfaceOnly:a=!1}={}){var s,l,c;if(!e)return{clientId:t};const r=u=>!!u.getClientRects().length&&getComputedStyle(u).visibility!=="hidden",o=[...e.querySelectorAll("button,input,textarea,select,a,[role=separator]")].filter(r).map(u=>{var d,p,m,h;return{id:u.id||null,action:u.dataset.action||((d=u.closest("[data-action]"))==null?void 0:d.dataset.action)||null,...u.closest("[data-shell-component]")?{component:{instanceId:u.closest("[data-shell-component]").dataset.shellComponent,slot:u.closest("[data-shell-component]").dataset.shellSlot,command:u.dataset.shellCommand||null}}:{},label:u.dataset.viewLabel||u.getAttribute("aria-label")||((m=(p=u.labels)==null?void 0:p[0])==null?void 0:m.textContent)||((h=u.textContent)==null?void 0:h.trim().slice(0,160)),type:u.getAttribute("role")||u.type||u.tagName.toLowerCase(),...u.getAttribute("role")==="separator"?{minimum:Number(u.getAttribute("aria-valuemin")),maximum:Number(u.getAttribute("aria-valuemax")),current:Number(u.getAttribute("aria-valuenow"))}:{},value:u.type==="password"||u.dataset.private==="true"?"[redacted]":u.value,disabled:!!u.disabled||!!u.closest("[inert]"),...u.hasAttribute("aria-expanded")?{expanded:u.getAttribute("aria-expanded")==="true"}:{},focused:document.activeElement===u}}),i=Object.fromEntries(["navigation","conversation","canvas"].flatMap(u=>{const d=e.querySelector(`[data-part="${u}"]`);if(!d)return[];const p=d.getBoundingClientRect();return[[u,{x:Math.round(p.x),y:Math.round(p.y),width:Math.round(p.width),height:Math.round(p.height),visible:r(d),interactive:r(d)&&!d.closest("[inert]")}]]}));return{clientId:t,panes:i,webApp:{standalone:!!((s=window.matchMedia)!=null&&s.call(window,"(display-mode: standalone)").matches||navigator.standalone),secureContext:window.isSecureContext,serviceWorkerControlled:!!((l=navigator.serviceWorker)!=null&&l.controller),online:navigator.onLine},visibleText:a?Bx(e):e.innerText.slice(0,6e4),...a?{visibleTextScope:"interface",conversationSource:"Selected session messages, execution and activity in app state"}:{},controls:o,selectedText:((c=window.getSelection())==null?void 0:c.toString().slice(0,1e4))||"",viewport:{width:innerWidth,height:innerHeight,scrollX,scrollY},url:location.pathname}}function Hx({name:e,children:t}){const[a,r]=g.useState(!1),o=g.useRef(null),i=g.useRef(null),s=g.useId(),l=e==="app.status"?"Additional status":"Additional controls",c=e==="app.status"?po:tl;return g.useEffect(()=>{if(!a)return;const u=d=>{var p;(p=o.current)!=null&&p.contains(d.target)||r(!1)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[a]),g.useEffect(()=>{const u=matchMedia("(max-width:760px)"),d=()=>{var p;u.matches&&((p=o.current)!=null&&p.contains(document.activeElement))&&document.activeElement!==i.current&&r(!0)};return u.addEventListener("change",d),()=>u.removeEventListener("change",d)},[]),n.createElement("div",{className:"a-slot-overflow","data-open":a,ref:o,onKeyDown:u=>{var d;u.key==="Escape"&&a&&(u.stopPropagation(),u.preventDefault(),r(!1),(d=i.current)==null||d.focus())}},n.createElement("button",{ref:i,type:"button",className:"a-icon a-slot-overflow-toggle","aria-label":l,title:l,"aria-expanded":a,"aria-controls":s,onClick:()=>r(u=>!u)},n.createElement(c,null)),n.createElement("div",{className:"a-slot-overflow-items",id:s,role:"group","aria-label":l},t))}const Ul=(e,t)=>Object.fromEntries(t.map(a=>[a,e==null?void 0:e[a]]));function Vx(e){var a,r;if(!e)return null;const t=(a=e.sessions)==null?void 0:a.find(o=>o.id===e.selectedSessionId);return JSON.stringify([e.shellDataKey??e.revision,e.shellChangeToken,e.selectedSessionId,e.selectedWorkspaceId,!!((r=e.runtime)!=null&&r.available),Ul(e.view,["workSurface","workWorkspaceId"]),Ul(t,["id","title","status","autoName","bundle","workspaceId","naming"]),Ul(e.canvas,["id","kind","title","open"])])}const Tg=g.createContext(null);function Yu(){return g.useContext(Tg)}const Wx={"builtin.workspaces":Mx,"builtin.chats":qx},hm={instances:[{id:"workspaces",package:"builtin.workspaces",slot:"navigation",hideWhen:{instanceId:"chats",navChatScope:"all"}},{id:"chats",package:"builtin.chats",slot:"navigation"}],presentation:{}},fm=Object.freeze({view:{},workspaces:[],chatNavigation:{items:[],total:0,pages:1,scope:{}},workspaceExplorer:{rows:[]},library:{bounded:!0},sharedHistory:{}}),Uo=typeof location<"u"&&new URLSearchParams(location.search).get("shell")==="recovery";function xs(e){return e&&typeof e=="object"&&!Object.isFrozen(e)&&(Object.values(e).forEach(xs),Object.freeze(e)),e}function gm(e,t){return Object.fromEntries(((e==null?void 0:e.resolvedInstances)||[]).map(a=>{var i,s;const r=t[a.id],o=((s=(i=e.snapshots)==null?void 0:i[a.id])==null?void 0:s.generation)||0;return[a.id,(r==null?void 0:r.package)===a.package&&r.generation===o?r.status:"inactive"]}))}function Zx(e,t,a){var k;const[r,o]=g.useState(null),[i,s]=g.useState(""),[l,c]=g.useState([]),u=g.useRef(Promise.resolve()),d=g.useRef({data:null,dispatch:t}),p=g.useRef(new Map),m=g.useRef(null),h=g.useRef(!1);d.current.dispatch=t,d.current.state=e;const f=g.useCallback(()=>document.hidden?(h.current=!0,Promise.resolve()):m.current?(h.current=!0,m.current):(h.current=!1,m.current=Ct("/api/shell?clientId="+encodeURIComponent(a)+(Uo?"&recovery=1":"")).then(T=>{var A;d.current.data=T,o(T),s("");for(const q of p.current.values()){const z=((A=T.snapshots)==null?void 0:A[q.id])||fm;if((z.generation||0)!==q.generation)continue;const F={...z,view:{...z.view,...Object.assign({},...q.pending.map(H=>H.patch))}};JSON.stringify(F)!==JSON.stringify(q.snapshot)&&(q.snapshot=xs(F),q.listeners.forEach(H=>H()))}}).catch(T=>s(T.message)).finally(()=>{if(m.current=null,h.current)return h.current=!1,f()}),m.current),[a]),v=Vx(e);g.useEffect(()=>{e&&f()},[v,f]),g.useEffect(()=>{const T=q=>{q.detail.shellClientId===a&&f()},A=()=>{document.hidden||f()};return window.addEventListener("amplifier-shell",T),window.addEventListener("amplifier-reconnected",A),document.addEventListener("visibilitychange",A),()=>{window.removeEventListener("amplifier-shell",T),window.removeEventListener("amplifier-reconnected",A),document.removeEventListener("visibilitychange",A)}},[a,f]);const y=g.useCallback(T=>{var z,F,H,ne,B;const A=((H=(F=(z=d.current.data)==null?void 0:z.snapshots)==null?void 0:F[T.id])==null?void 0:H.generation)||0,q=T.id+":"+A;if(!p.current.has(q)){const P={id:T.id,generation:A,listeners:new Set,pending:[],snapshot:xs(((B=(ne=d.current.data)==null?void 0:ne.snapshots)==null?void 0:B[T.id])||fm)};let _=Promise.resolve();const ee=(Z,D)=>{const G=Z==="shell.view.update"?{patch:D.patch}:null;G&&(P.pending.push(G),P.snapshot=xs({...P.snapshot,view:{...P.snapshot.view,...G.patch}}),P.listeners.forEach(oe=>oe()));const j=async()=>{var oe,xe;try{const ce=await d.current.dispatch(Z,{...D,generation:A});return Z==="shell.command"&&D.action==="session.select"&&!((xe=(oe=d.current.state)==null?void 0:oe.view)!=null&&xe.navPinned)&&await d.current.dispatch("view.update",{patch:{navExpanded:!1}}),{accepted:ce.accepted,result:ce.result}}finally{G&&(P.pending=P.pending.filter(ce=>ce!==G)),await f()}},K=_.then(j,j);return _=K.catch(()=>{}),K};P.api=Object.freeze({apiVersion:"1.0",clientId:a,instanceId:T.id,getSnapshot:()=>P.snapshot,subscribe:Z=>(P.listeners.add(Z),()=>{var D,G,j;P.listeners.delete(Z),!P.listeners.size&&(((j=(G=(D=d.current.data)==null?void 0:D.snapshots)==null?void 0:G[T.id])==null?void 0:j.generation)||0)!==A&&p.current.delete(q)}),setDirty:Z=>ee("shell.view.update",{clientId:a,instanceId:T.id,patch:{},dirty:Z}),dispatch:(Z,D={})=>Z==="view.update"?ee("shell.view.update",{clientId:a,instanceId:T.id,patch:D.patch||{}}):ee("shell.command",{clientId:a,instanceId:T.id,action:Z,args:D})}),p.current.set(q,P)}return p.current.get(q).api},[a,f]),E=g.useRef({}),b=g.useRef(new Map),x=g.useRef(null),w=Uo?hm:(r==null?void 0:r.effectiveComposition)||hm,R=l.length?{...w,presentation:{...w.presentation,...Object.assign({},...l.map(T=>T.patch))}}:w,S=g.useCallback(async T=>{var A;await t("shell.recover",{clientId:a,target:T,expectedRevision:((A=d.current.data)==null?void 0:A.revision)||0}),await f(),Uo&&(location.href=location.pathname)},[a,t,f]),I=g.useCallback(T=>{const A={patch:{...T}};c(F=>[...F,A]);const q=async()=>{try{d.current.data||await f();const F=d.current.data;if(!F)throw Error("Shell settings are not available yet.");const H={...F.effectiveComposition,presentation:{...F.effectiveComposition.presentation,...T}},ne=await t("shell.changes.prepare",{clientId:a,expectedRevision:F.revision,composition:H},{presentation:!0});await t("shell.changes.apply",{clientId:a,expectedRevision:F.revision,changeId:ne.result.id},{presentation:!0}),await f()}finally{c(F=>F.filter(H=>H!==A))}},z=u.current.then(q,q);return u.current=z.catch(()=>{}),z},[a,t,f]),N=g.useCallback((T,A="")=>{var z;const q=d.current.data;if(!(!q||Uo))return Ct("/api/actions",{method:"POST",body:{action:"shell.report",args:{clientId:a,revision:q.revision,previewId:((z=q.preview)==null?void 0:z.id)||null,instances:T,message:A}}}).catch(()=>{})},[a]),M=g.useCallback(T=>{var z,F,H;const A=((H=(F=(z=d.current.data)==null?void 0:z.snapshots)==null?void 0:F[T.id])==null?void 0:H.generation)||0,q=T.id+":"+T.package+":"+A;for(const ne of b.current.keys())ne.startsWith(T.id+":")&&ne!==q&&b.current.delete(ne);return b.current.has(q)||(E.current[T.id]={package:T.package,generation:A,status:"loading"},b.current.set(q,(ne,B="")=>{var _,ee,Z;const P=d.current.data;!((_=P==null?void 0:P.resolvedInstances)!=null&&_.some(D=>D.id===T.id&&D.package===T.package))||(((Z=(ee=P.snapshots)==null?void 0:ee[T.id])==null?void 0:Z.generation)||0)!==A||(E.current[T.id]={package:T.package,generation:A,status:ne},clearTimeout(x.current),x.current=setTimeout(()=>N(gm(d.current.data,E.current),B),50))})),b.current.get(q)},[N]);return g.useEffect(()=>(clearTimeout(x.current),x.current=setTimeout(()=>N(gm(r,E.current)),80),()=>clearTimeout(x.current)),[r==null?void 0:r.revision,(k=r==null?void 0:r.preview)==null?void 0:k.id,N]),{data:r,error:i,composition:R,hostFor:y,recover:S,report:N,statusFor:M,refresh:f,setPresentation:I,ready:!!r,recovery:Uo,clientId:a}}class Ig extends n.Component{constructor(){super(...arguments);Ye(this,"state",{error:null})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a){this.props.report("error",a.message)}render(){return this.state.error?n.createElement("p",{role:"alert"},"This component could not render. ",this.state.error.message):this.props.children}}function Jx({View:e,host:t,report:a,workspaceHost:r,paired:o}){return g.useEffect(()=>{a("ready")},[e,a]),n.createElement(e,{host:t,workspaceHost:r,paired:o})}function Ag({instance:e,metadata:t,host:a,report:r,workspaceHost:o,paired:i}){const[s,l]=g.useState(null),[c,u]=g.useState(""),d=Wx[e.package];g.useEffect(()=>{let m=!0;if(u(""),!d){if(!(t!=null&&t.url)){u((t==null?void 0:t.error)||"Package is unavailable."),r("error");return}return r("loading"),import(t.url).then(h=>{const f=h.default({React:n});if(typeof f!="function")throw Error("Invalid module factory.");m&&l({package:e.package,View:f})}).catch(h=>{m&&(u(h.message),r("error",h.message))}),()=>{m=!1}}},[e.package,t==null?void 0:t.url,t==null?void 0:t.error,d,r]);const p=d||((s==null?void 0:s.package)===e.package?s.View:null);return c?n.createElement("p",{role:"alert"},"Component unavailable: ",c):p?n.createElement(Ig,{key:e.package+":"+a.getSnapshot().generation,report:r},n.createElement(Jx,{View:p,host:a,report:r,workspaceHost:o,paired:i})):n.createElement("p",{role:"status"},"Loading component…")}function Kx({shell:e}){const t=e.composition.instances.filter(a=>a.slot==="navigation");return e.ready?n.createElement(n.Fragment,null,(e.error||e.recovery)&&n.createElement("p",{role:"alert"},e.recovery?"Recovery mode: optional components are disabled.":e.error),n.createElement("div",{className:"a-shell-modules"},t.map((a,r)=>{var o,i,s,l,c,u,d,p,m,h,f;return n.createElement("section",{className:"a-shell-instance","data-shell-instance":a.id,"data-shell-package":a.package,hidden:!!a.hideWhen&&!((c=(l=(s=(i=(o=e.data)==null?void 0:o.snapshots)==null?void 0:i[a.id])==null?void 0:s.view)==null?void 0:l.workspaceDraft)!=null&&c.mode)&&((m=(p=(d=(u=e.data)==null?void 0:u.snapshots)==null?void 0:d[a.hideWhen.instanceId])==null?void 0:p.view)==null?void 0:m.navChatScope)===a.hideWhen.navChatScope,style:{order:r},key:a.id},n.createElement(Ag,{instance:a,metadata:(f=(h=e.data)==null?void 0:h.packages)==null?void 0:f[a.package],host:e.hostFor(a),report:e.statusFor(a),paired:a.package==="builtin.workspaces"&&e.composition.instances.some(v=>{var y;return v.id===((y=a.hideWhen)==null?void 0:y.instanceId)&&v.package==="builtin.chats"}),workspaceHost:a.package==="builtin.chats"&&e.composition.instances.some(v=>{var y;return v.package==="builtin.workspaces"&&((y=v.hideWhen)==null?void 0:y.instanceId)===a.id})?e.hostFor(e.composition.instances.find(v=>{var y;return v.package==="builtin.workspaces"&&((y=v.hideWhen)==null?void 0:y.instanceId)===a.id})):void 0}))})),n.createElement("details",{className:"a-shell-recovery"},n.createElement("summary",null,"Shell controls"),n.createElement("button",{type:"button",onClick:()=>e.recover("lastGood")},"Restore last working shell"),n.createElement("button",{type:"button",onClick:()=>e.recover("default")},"Restore default shell"),n.createElement("a",{href:"?shell=recovery"},"Open recovery mode"))):n.createElement("p",{role:"status"},"Loading navigation…")}function Yx({children:e,report:t}){return g.useEffect(()=>{t("ready")},[t]),e}function qr({name:e,instanceId:t,children:a}){var s;const r=Yu();if(!r)return a||null;const o=(((s=r.data)==null?void 0:s.resolvedInstances)||[]).filter(l=>l.slot===e&&(!t||l.id===t));if(!o.length)return null;const i=o.map(l=>{var c,u,d,p,m,h,f,v,y,E,b;return{builtin:l.package===((d=(u=(c=r.data)==null?void 0:c.slots)==null?void 0:u[e])==null?void 0:d.default),element:l.package===((h=(m=(p=r.data)==null?void 0:p.slots)==null?void 0:m[e])==null?void 0:h.default)?n.createElement(Ig,{key:l.id+":"+(((y=(v=(f=r.data)==null?void 0:f.snapshots)==null?void 0:v[l.id])==null?void 0:y.generation)||0),report:r.statusFor(l)},n.createElement(Yx,{report:r.statusFor(l)},a)):n.createElement("div",{className:"a-shell-contribution","data-shell-component":l.id,"data-shell-slot":e,key:l.id},n.createElement(Ag,{instance:l,metadata:(b=(E=r.data)==null?void 0:E.packages)==null?void 0:b[l.package],host:r.hostFor(l),report:r.statusFor(l)}))}});return["app.actions","app.status"].includes(e)&&i.some(l=>!l.builtin)?n.createElement(n.Fragment,null,i.filter(l=>l.builtin).map(l=>l.element),n.createElement(Hx,{name:e},i.filter(l=>!l.builtin).map(l=>l.element))):i.map(l=>l.element)}const Ls=g.createContext(void 0);function vr({children:e,inline:t=!1}){const a=g.useContext(Ls);return t||a===void 0?e:a?Oi.createPortal(e,a):null}function Gx({children:e,label:t}){const a=g.useContext(Ls),[r,o]=g.useState(null);return a===void 0?e:n.createElement(n.Fragment,null,n.createElement(vr,null,n.createElement("div",{ref:o,className:"a-canvas-view-tools",role:"group","aria-label":t})),n.createElement(Ls.Provider,{value:r},e))}const Qx=(e,t)=>t.sessionId===e.selectedSessionId&&t.workspaceId===e.selectedWorkspaceId;function go(e){return(e.canvasArtifacts||[]).filter(t=>Qx(e,t))}function vm({state:e,message:t,act:a}){const r=go(e).flatMap(o=>{var i;return(o.publications||[{messageId:o.messageId,version:((i=o.app)==null?void 0:i.revision)||o.revision||1}]).filter(s=>s.messageId===t.id).map(s=>({row:o,version:s.version}))});return r.length?n.createElement("div",{className:"a-chat-artifacts","aria-label":"Saved artifacts for this turn"},r.map(({row:o,version:i})=>{var s,l;return n.createElement("button",{type:"button",key:o.id+":"+i,className:"a-artifact-link","data-action":"canvas.select",onClick:()=>a("canvas.select",{id:o.id,version:i})},o.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,((l=(((s=o.app)==null?void 0:s.versions)||o.versions||[]).find(c=>c.version===i))==null?void 0:l.title)||o.title," · Version ",i),n.createElement(zr,null))})):null}function Xx({state:e,act:t}){const a=go(e).filter(r=>r.tabOpen);return a.length?n.createElement("div",{className:"a-canvas-tabs",role:"tablist","aria-label":"Open canvas items"},a.map(r=>{var o,i;return n.createElement("div",{className:`a-canvas-tab ${r.id===((o=e.canvas)==null?void 0:o.id)?"is-active":""}`,key:r.id},n.createElement("button",{type:"button",role:"tab","aria-selected":r.id===((i=e.canvas)==null?void 0:i.id),"data-action":"canvas.select",onClick:()=>t("canvas.select",{id:r.id})},r.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,r.title)),n.createElement("button",{type:"button",className:"a-icon","aria-label":`Close tab ${r.title}`,"data-action":"canvas.tabClose",onClick:()=>t("canvas.tabClose",{id:r.id})},n.createElement(tn,null)))})):null}function eS({state:e,act:t}){var i;const a=((i=e.view)==null?void 0:i.canvasDraft)||{},r=go(e),o=nl(r,a.filter||"",s=>[s.title,s.kind,s.path||"",s.url||""]);return n.createElement("section",{className:"a-canvas-library","aria-label":"Saved canvas artifacts"},n.createElement("h3",null,"Saved in this chat ",n.createElement("small",null,r.length)),n.createElement("input",{type:"search","aria-label":"Filter saved artifacts",placeholder:"Find artifacts · * ? patterns",value:a.filter||"","data-action":"view.update",onChange:s=>t("view.update",{patch:{canvasDraft:{...a,filter:s.target.value}}})}),o.slice().reverse().map(s=>n.createElement("button",{key:s.id,type:"button",className:"a-saved-artifact","data-action":"canvas.select",onClick:async()=>{await t("canvas.select",{id:s.id}),t("view.update",{patch:{canvasDraft:{...a,library:!1}}})}},s.kind==="browser"?n.createElement(gr,null):n.createElement(Co,null),n.createElement("span",null,n.createElement("strong",null,s.title),n.createElement("small",null,s.kind," · ",s.kind==="browser"?"Saved address":s.app?"Interactive surface":"Saved snapshot")),n.createElement(zr,null))),!o.length&&n.createElement("p",null,r.length?"No matching artifacts.":"Files and visuals you open will stay here, even after closing their tabs."))}function tS({state:e,act:t}){var s;const a=((s=e.view)==null?void 0:s.canvasDraft)||{},[r,o]=g.useState(a.url||""),i=g.useRef(null);return g.useEffect(()=>{(i.current===null||a.url===i.current)&&(o(a.url||""),i.current=null)},[a.url]),n.createElement("form",{className:"a-canvas-address",onSubmit:l=>{l.preventDefault(),t("canvas.show",{kind:"browser",url:r})}},n.createElement("label",{htmlFor:"canvas-browser-url"},"App or website address"),n.createElement("div",null,n.createElement("input",{id:"canvas-browser-url",type:"url",required:!0,placeholder:"http://localhost:3000",value:r,"data-action":"view.update",onChange:l=>{o(l.target.value),i.current=l.target.value,t("view.update",{patch:{canvasDraft:{...a,url:l.target.value}}})}}),n.createElement("button",{className:"a-primary",type:"submit","data-action":"canvas.show",disabled:!r.trim()},n.createElement(zr,null),"Open")))}function nS(e,t){const a=new URL(e),r=new URL(t),o=l=>l==="localhost"||l.endsWith(".localhost")||l==="[::1]"||/^127\.\d+\.\d+\.\d+$/.test(l),i=r.protocol==="https:"&&a.protocol==="http:"&&!o(a.hostname),s=o(a.hostname)&&!o(r.hostname);return{blocked:i,localWarning:s,message:i?"This HTTP page cannot be embedded inside the HTTPS app. Open it in your browser, or serve the page over HTTPS.":s?"This address points to the device viewing the app. For a service running on the Amplifier host, use that host’s LAN or Tailnet address.":"Some sites block embedding or require a separate browser tab. The app cannot verify the contents of this external frame."}}function aS({canvas:e,act:t}){var o,i,s,l;const a=nS(e.url,typeof location>"u"?"http://localhost":location.href),r=g.useRef(t);return r.current=t,g.useEffect(()=>{const c=(d,p)=>r.current("canvas.report",{id:e.id,part:"preview",status:d,message:p});if(a.blocked){c("error",a.message);return}c("pending","Opening external preview; page contents cannot be verified.");const u=setTimeout(()=>c("unverified","Preview could not be verified. If it is blank, open it in your browser or check the address and site embedding policy."),12e3);return()=>clearTimeout(u)},[e.id,(o=e.view)==null?void 0:o.reload,a.blocked,a.message]),n.createElement("div",{className:"a-browser-preview"},n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},n.createElement(gr,null),n.createElement("span",{className:"a-browser-url",title:e.url},e.url),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reload browser preview","data-action":"canvas.view",onClick:()=>t("canvas.view",{id:e.id,patch:{reload:Date.now()}})},n.createElement(tx,null)))),a.blocked?n.createElement("div",{className:"a-browser-blocked",role:"alert"},n.createElement(gr,null),n.createElement("h3",null,"Open this page in your browser"),n.createElement("p",null,a.message),n.createElement("a",{className:"a-soft","data-action":"canvas.openExternal",href:e.url,target:"_blank",rel:"noopener noreferrer"},"Open in browser ",n.createElement(ba,{size:16}))):n.createElement("iframe",{key:`${e.id}-${((i=e.view)==null?void 0:i.reload)||0}`,title:e.title||"App preview",className:"a-canvas-html",sandbox:"allow-scripts allow-forms",referrerPolicy:"no-referrer",src:e.url,onLoad:()=>t("canvas.report",{id:e.id,part:"preview",status:"unverified",message:"Frame navigation finished. Browser security prevents confirming whether this external page loaded or permits embedding."})}),n.createElement("div",{className:"a-browser-help"},n.createElement("a",{"data-action":"canvas.openExternal",href:e.url,target:"_blank",rel:"noopener noreferrer"},"Open in browser ",n.createElement(ba,{size:13})),n.createElement("button",{className:"a-link",type:"button","data-action":"canvas.view","aria-expanded":!!((s=e.view)!=null&&s.help),onClick:()=>{var c;return t("canvas.view",{id:e.id,patch:{help:!((c=e.view)!=null&&c.help)}})}},"Preview help"),(((l=e.view)==null?void 0:l.help)||a.localWarning)&&n.createElement("p",null,a.message," The service must stay running and be reachable from this device. Authentication, frame policies, redirects, and sandbox restrictions can require opening it separately.")))}function _g({state:e,session:t,act:a}){const r=fg(e,t);return r?n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>a("view.update",{patch:{panel:"subagent-history",subagentHistory:{sessionId:t.id,filter:"",index:0}}})},n.createElement(Wa,null),"Subagent history (",r,")"):null}function rS({state:e,session:t,act:a}){var p,m;const r=((p=e.view)==null?void 0:p.subagentHistory)||{},o=((m=e.sessions)==null?void 0:m.find(h=>h.id===r.sessionId))||t,i=r.filter||"",s=wx(e,o),{pages:l,index:c}=s,u=h=>a("view.update",{patch:{subagentHistory:{sessionId:o==null?void 0:o.id,filter:i,index:c,...h}}}),d=async h=>{const f=await a("session.select",{id:h});f&&f.accepted!==!1&&await a("view.update",{patch:{panel:null}})};return n.createElement("div",{"data-part":"subagent-history"},n.createElement("p",null,"Saved subagent conversations from ",(o==null?void 0:o.title)||"this conversation",". Open one to read its work."),n.createElement("label",{htmlFor:"subagent-history-filter"},"Find subagent conversations"),n.createElement("input",{id:"subagent-history-filter",type:"search",value:i,placeholder:"Search or pattern, e.g. *research*","data-action":"view.update",onChange:h=>u({filter:h.target.value,index:0})}),n.createElement("p",{className:"a-caption",role:"status"},s.pending?"Loading subagent conversations…":`${s.total} of ${s.unfilteredTotal} subagent conversations`),n.createElement("div",{className:"a-subagent-history-list","aria-busy":!!s.pending},s.items.map(h=>n.createElement("button",{key:h.id,type:"button",className:"a-soft","data-action":"session.select",onClick:()=>d(h.id),title:h.description||h.nativeIdentity||h.id},n.createElement(Wa,null),n.createElement("span",null,h.title||"Subagent conversation"),n.createElement(Gt,null)))),!s.total&&!s.pending&&n.createElement("p",null,i?"No matching subagent conversations.":"No saved subagent conversations for this chat."),l>1&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:c===0,onClick:()=>u({index:c-1})},n.createElement(Pk,null),"Previous subagents"),n.createElement("span",{className:"a-caption"},s.start+1,"–",s.end," of ",s.total),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",disabled:c===l-1,onClick:()=>u({index:c+1})},"More subagents",n.createElement(Gt,null))))}function oS({state:e,act:t,changeDraft:a}){var c;const r=(c=e.sessions)==null?void 0:c.find(u=>u.id===e.selectedSessionId),o=go(e),i=[...new Map(((r==null?void 0:r.messages)||[]).flatMap(u=>u.attachments||[]).map(u=>[u.id||u.name,u])).values()],s=(r==null?void 0:r.workers)||[],l=s.filter(u=>["queued","starting","working","running","stopping"].includes(u.status)).length;return n.createElement("div",{className:"a-chat-overview",role:"region","aria-label":"Chat overview",tabIndex:0},n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Co,null),n.createElement("h3",null,"Outputs"),n.createElement("span",null,o.length)),o.length?n.createElement(eS,{state:e,act:t}):n.createElement("p",null,"Files and visuals from this chat will appear here."),n.createElement("div",{className:"a-overview-actions"},n.createElement("button",{className:"a-link",type:"button",onClick:()=>a({open:!0,browser:!1,library:!0})},n.createElement(tr,null),"Open file"),n.createElement("button",{className:"a-link",type:"button",onClick:()=>a({browser:!0,open:!1,library:!0})},n.createElement(gr,null),"Open website"))),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Lu,null),n.createElement("h3",null,"Sources")),i.length?n.createElement("ul",null,i.map(u=>n.createElement("li",{key:u.id||u.name},u.name||"Attachment"))):n.createElement("p",null,"No attachments in the loaded messages.")),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(Wa,null),n.createElement("h3",null,"Agents"),l>0&&n.createElement("span",null,l," working")),s.length?n.createElement("ul",null,s.map(u=>n.createElement("li",{key:u.id},u.name||u.instruction||"Worker"," ",n.createElement("small",null,u.status)))):n.createElement("p",null,"Delegated work will appear here."),n.createElement(_g,{state:e,session:r,act:t}),n.createElement("button",{className:"a-link",type:"button",onClick:()=>t("view.update",{patch:{panel:"coordination"}})},"View tasks and workers")),n.createElement("section",null,n.createElement("div",{className:"a-overview-title"},n.createElement(po,null),n.createElement("h3",null,"Activity")),n.createElement("p",null,(r==null?void 0:r.status)||"Idle"),n.createElement("button",{className:"a-link",type:"button",onClick:()=>t("view.update",{patch:{panel:"runtime"}})},"Chat controls and details")))}const Zc=new Set;function iS(e,t){const a={sessionId:e,checkpoint:t};return Zc.add(a),()=>Zc.delete(a)}async function $l(e,t){const a=[...Zc].filter(o=>o.sessionId===e).map(o=>Promise.resolve().then(()=>o.checkpoint(t)).catch(()=>{}));let r;try{await Promise.race([Promise.all(a),new Promise(o=>{r=setTimeout(o,1e3)})])}finally{clearTimeout(r)}}const $o=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].map(t=>[t,e[t]])),sS=["bg","surface","soft","ink","muted","line","accent","tint","green","danger"];function bm(){const e=document.getElementById("amp-one"),t=getComputedStyle(e||document.documentElement);return{version:1,tokens:Object.fromEntries(sS.map(a=>[a,t.getPropertyValue("--a-"+a).trim()])),scheme:t.colorScheme==="dark"?"dark":t.colorScheme==="light"?"light":matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",reducedMotion:matchMedia("(prefers-reduced-motion: reduce)").matches,contrast:matchMedia("(prefers-contrast: more)").matches?"more":"normal"}}function lS({canvas:e,dispatch:t}){const[a,r]=g.useState(e),[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(!1),[d,p]=g.useState(null),m=g.useRef(),h=g.useRef(e),f=g.useRef(a),v=g.useRef(!1),y=g.useRef(0),E=g.useRef(0),b=g.useRef(crypto.randomUUID()),x=g.useRef(new Map),w=g.useRef(Promise.resolve()),R=g.useRef(),S=g.useRef();(e.app.revision!==h.current.app.revision||e.app.stateRevision>=h.current.app.stateRevision)&&(h.current=e),f.current=a;const I=e.app,N=g.useRef(new Map),M=H=>{E.current=0,b.current=crypto.randomUUID(),x.current.clear(),p(null),i(""),l(""),R.current=null,S.current=null,r(H)},k=(H=!1)=>{var _,ee;const ne=h.current;if(ne.app.revision!==f.current.app.revision)return;const B={id:ne.id,app:ne.app,visible:!!ne.open,theme:bm()},P=JSON.stringify([b.current,ne.app.revision,ne.app.stateRevision,B.visible,B.theme]);!H&&P===R.current||(R.current=P,(ee=(_=m.current)==null?void 0:_.contentWindow)==null||ee.postMessage({type:"canvas-app-host",id:ne.id,channel:b.current,snapshot:B},"*"))},T=(H,ne=E.current)=>{if(ne!==E.current)return Promise.resolve();v.current=H,u(H);const B=$o(f.current),P=b.current,_=w.current.catch(()=>{}).then(()=>t("canvas.views.dirty",{...B,dirty:H,editVersion:ne}));return w.current=_,_.catch(ee=>{throw P===b.current&&(v.current=!0,u(!0),i(ee.message)),ee})};g.useEffect(()=>{e.app.revision!==a.app.revision&&!v.current&&!y.current?M(e):k()},[e]),g.useEffect(()=>{const H=iS(e.sessionId,D=>new Promise(G=>{var oe,xe;const j=D||crypto.randomUUID(),K=setTimeout(()=>{N.current.delete(j),G()},900);N.current.set(j,()=>{clearTimeout(K),G()}),(xe=(oe=m.current)==null?void 0:oe.contentWindow)==null||xe.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,checkpoint:j},"*")})),ne=async D=>{var xe,ce,_e,$e,De,de,ve,O;const G=D.data;if(D.source!==((xe=m.current)==null?void 0:xe.contentWindow)||(G==null?void 0:G.type)!=="canvas-app"||G.id!==h.current.id)return;if(G.op==="ready"){k(!0);return}if(G.channel!==b.current)return;if(G.op==="observation"){const W=G.observation;if(!W||JSON.stringify(W).length>48e4)return;try{await Ct("/api/actions",{method:"POST",body:{action:"canvas.views.observe",args:{...W,...$o(f.current),...G.checkpoint?{checkpointId:G.checkpoint}:{}},id:crypto.randomUUID()}})}catch{}(ce=N.current.get(G.checkpoint))==null||ce(),N.current.delete(G.checkpoint);return}if(G.op==="status"){const W=G.status==="error"?"error":"ready",ae=String(G.message||"").slice(0,1e3),ze=W+":"+ae;if(ze===S.current)return;S.current=ze,t("canvas.views.status",{...$o(f.current),status:W,message:ae}).catch(()=>{}),l(W==="error"?ae:"");return}if(G.op==="editing"&&h.current.readOnlyVersion)return;if(G.op==="editing"){Number.isSafeInteger(G.editVersion)&&G.editVersion>E.current&&(E.current=G.editVersion,T(!0).catch(()=>{}));return}if(!["state","event","request","dirty"].includes(G.op)||typeof G.requestId!="string"||G.requestId.length>80)return;const j=W=>{var ae,ze;return(ze=(ae=m.current)==null?void 0:ae.contentWindow)==null?void 0:ze.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,requestId:G.requestId,...W},"*")};if(h.current.readOnlyVersion){j({error:"This saved version is read-only. Select Latest to interact."});return}if(JSON.stringify(G).length>32e4){j({error:"This change exceeds the surface message size limit."});return}if(G.revision!==f.current.app.revision){j({error:"This design changed. Inspect the current surface before retrying."});return}if(x.current.has(G.requestId)){const W=x.current.get(G.requestId);W&&j(W);return}if(x.current.size>=128){const W=[...x.current].find(([,ae])=>ae!==null);if(W)x.current.delete(W[0]);else{j({error:"Wait for pending surface changes to finish."});return}}x.current.set(G.requestId,null),y.current++;const K=G.editVersion,oe=b.current;try{let W;if(G.op==="dirty")await T(!!((_e=G.args)!=null&&_e.dirty),K),W={app:h.current.app};else{const ze=G.op==="state"?{patch:($e=G.args)==null?void 0:$e.patch}:G.op==="event"?{name:(De=G.args)==null?void 0:De.name,payload:(de=G.args)==null?void 0:de.payload}:{name:(ve=G.args)==null?void 0:ve.name,input:(O=G.args)==null?void 0:O.input};W=(await t("canvas.apps."+G.op,{...ze,id:f.current.id,sessionId:f.current.sessionId,expectedRevision:f.current.app.revision,expectedStateRevision:G.stateRevision},{id:b.current+":"+G.requestId})).result,W.app.revision===h.current.app.revision&&W.app.stateRevision>=h.current.app.stateRevision&&(h.current={...h.current,app:W.app}),(G.op==="state"||G.op==="event")&&Number.isSafeInteger(G.commit)&&G.commit===K&&K===E.current&&await T(!1,K)}if(oe!==b.current)return;const ae={snapshot:{id:h.current.id,app:W.app,theme:bm()}};x.current.set(G.requestId,ae),j(ae),i("")}catch(W){if(oe!==b.current)return;const ae={error:W.message};x.current.set(G.requestId,ae),j(ae),i(W.message)}finally{y.current--,oe===b.current&&!y.current&&!v.current&&h.current.app.revision!==f.current.app.revision&&M(h.current)}};window.addEventListener("message",ne);let B;const P=()=>{cancelAnimationFrame(B),B=requestAnimationFrame(()=>k())},_=new MutationObserver(P);_.observe(document.head,{subtree:!0,childList:!0,characterData:!0});const ee=document.getElementById("amp-one");ee&&_.observe(ee,{attributes:!0,subtree:!0,childList:!0,characterData:!0});const Z=["prefers-color-scheme: dark","prefers-reduced-motion: reduce","prefers-contrast: more"].map(D=>matchMedia("("+D+")"));return Z.forEach(D=>D.addEventListener("change",P)),()=>{H();for(const D of N.current.values())D();N.current.clear(),window.removeEventListener("message",ne),_.disconnect(),cancelAnimationFrame(B),Z.forEach(D=>D.removeEventListener("change",P))}},[t]);const A=()=>({id:e.id,sessionId:e.sessionId,expectedRevision:h.current.app.revision,expectedStateRevision:h.current.app.stateRevision}),q=async(H,ne)=>{try{const B=await t(H,{...A(),...ne});return i(""),B}catch(B){i(B.message)}},z=async H=>{const ne=await t("canvas.apps.inspect",{id:e.id,sessionId:e.sessionId,requestId:H.id});p({request:H,input:ne.result.requestInput})},F=Ui(`/api/canvas/${a.id}/app-host?`+new URLSearchParams($o(a)));return n.createElement("section",{className:"a-canvas-app","aria-label":"Interactive conversation surface"},c&&n.createElement("p",{className:"a-canvas-unsaved",role:"status"},"Unsaved input"),n.createElement(vr,null,n.createElement("div",{className:"a-canvas-app-bar"},n.createElement("span",null,"Revision ",I.revision),n.createElement("details",null,n.createElement("summary",null,"History & shared state"),n.createElement("p",null,"Restoring a design keeps compatible current inputs and never repeats actions."),I.versions.map(H=>n.createElement("button",{type:"button",key:H.version,disabled:H.version===I.revision||c||e.readOnlyVersion,onClick:()=>q("canvas.apps.restore",{version:H.version})},"Restore revision ",H.version)),n.createElement("pre",{"aria-label":"Shared surface state"},JSON.stringify(I.state,null,2))))),(o||s)&&n.createElement("div",{className:"a-canvas-app-errors",role:"alert"},s&&n.createElement("p",null,s),o&&o!==s&&n.createElement("p",null,o)),a.app.revision!==I.revision&&n.createElement("p",{role:"status"},"A new design is ready. Your unfinished input is still here. ",n.createElement("button",{type:"button",onClick:async()=>{try{await t("canvas.views.dirty",{...$o(h.current),dirty:!1}),v.current=!1,u(!1),M(h.current)}catch(H){i(H.message)}}},"Discard unfinished input and load revision ",I.revision)),I.requests.filter(H=>H.status==="pending").map(H=>n.createElement("div",{className:"a-canvas-app-request",key:H.id},n.createElement("span",null,H.action==="theme.preview"?"Preview on this device":H.action==="theme.apply"?"Apply to the shared shell":"Revert this device’s last theme change",": ",H.summary),n.createElement("button",{type:"button",onClick:()=>z(H).catch(ne=>i(ne.message))},"Review theme change"),n.createElement("button",{type:"button",onClick:()=>q("canvas.apps.resolve",{requestId:H.id,approve:!1})},"Decline"))),d&&I.requests.some(H=>H.id===d.request.id&&H.status==="pending")&&n.createElement("section",{className:"a-canvas-app-review","aria-label":"Review requested theme change"},n.createElement("strong",null,d.request.summary),n.createElement("p",null,d.request.action==="theme.apply"?"Applying changes the shell for all connected clients.":"This action uses this device’s theme controls."),n.createElement("pre",null,d.input.css||"End the preview, or undo the last applied theme if it is still current."),n.createElement("button",{type:"button",onClick:async()=>{await q("canvas.apps.resolve",{requestId:d.request.id,approve:!0})&&p(null)}},"Approve theme change"),n.createElement("button",{type:"button",onClick:()=>p(null)},"Back")),e.readOnlyVersion&&n.createElement("p",{role:"status"},"Saved design, read only.",e.historicalStateUnavailable?" Inputs were not recorded for this older design.":" Inputs show the state saved when this version was created."),n.createElement("iframe",{key:a.app.revision,title:e.title,ref:m,src:F,sandbox:"allow-scripts allow-same-origin",onLoad:()=>k(!0)}))}const cS="modulepreload",uS=function(e){return"/"+e},ym={},Pg=function(t,a,r){let o=Promise.resolve();if(a&&a.length>0){let s=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=s(a.map(u=>{if(u=uS(u),u in ym)return;ym[u]=!0;const d=u.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":cS,d||(m.as="script"),m.crossOrigin="",m.href=u,c&&m.setAttribute("nonce",c),document.head.appendChild(m),d)return new Promise((h,f)=>{m.addEventListener("load",h),m.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return o.then(s=>{for(const l of s||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Em=4e3;function dS(e,t=0){return()=>a=>{const r=o=>{var i;o.children=(i=o.children)==null?void 0:i.map(s=>{var u,d,p,m,h,f;const l=(d=(u=s.position)==null?void 0:u.start)==null?void 0:d.offset,c=(m=(p=s.position)==null?void 0:p.end)==null?void 0:m.offset;if(s.type==="text"&&Number.isInteger(l)&&Number.isInteger(c))return{type:"emphasis",data:{hName:"span",hProperties:{"data-canvas-source-start":t+l,"data-canvas-source-end":t+c}},children:[s]};if(["inlineCode","code"].includes(s.type)&&Number.isInteger(l)&&Number.isInteger(c)){const v=e.slice(l,c),y=((h=/^`+/.exec(v))==null?void 0:h[0].length)||0;let E=l;if(s.type==="inlineCode"){E+=y;const b=e.slice(E,c-y);b.startsWith(" ")&&b.endsWith(" ")&&b.trim()&&E++}else/^ {0,3}(`{3,}|~{3,})/.test(v)?E+=v.indexOf(` +`)+1:E+=/^ */.exec(v)[0].length;E+s.value.length<=c&&e.slice(E,E+s.value.length)===s.value&&(s.data={...s.data,hProperties:{...(f=s.data)==null?void 0:f.hProperties,"data-canvas-source-start":t+E,"data-canvas-source-end":t+E+s.value.length,"data-canvas-literal":"true"}})}return s.children&&r(s),s})};r(a)}}const pS=/\\[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~]|&(?:#[xX][0-9a-fA-F]{1,6}|#[0-9]{1,7}|[A-Za-z][A-Za-z0-9]+);|\r\n/g;function mS(e,t,a){const r=[0];let o="",i=0;const s=(l,c,u)=>{o+=l;for(let d=1;d<=l.length;d++)r.push(d===l.length?u:c)};for(const l of e.matchAll(pS)){for(let u=i;uEm)return{error:`Select at most ${Em.toLocaleString()} characters to reference.`};const i=e.ownerDocument,s=i.createElement("textarea"),l=v=>(s.innerHTML=v,s.value),c=i.createTreeWalker(e,4),u=[];let d;for(;d=c.nextNode();){if(!r.intersectsNode(d))continue;const v=d===r.startContainer?r.startOffset:0,y=d===r.endContainer?r.endOffset:d.length;if(y<=v)continue;const E=(f=d.parentElement)==null?void 0:f.closest("[data-canvas-source-start]");if(!E||!e.contains(E)||E.textContent!==d.textContent){if(d.textContent.slice(v,y).trim())return{error:"Select document text without embedded controls or diagrams."};continue}const b=Number(E.dataset.canvasSourceStart),x=Number(E.dataset.canvasSourceEnd),w=E.dataset.canvasLiteral==="true",R=a.slice(b,x),S=w||R===d.textContent,I=S?null:pS(R,!1,l);if((S?R:I.text)!==d.textContent)return{error:"This selection cannot be mapped to the saved source. Select a smaller text passage."};u.push({start:b+(S?v:I.offsets[v]),end:b+(S?y:I.offsets[y]),...w?{literal:!0}:{}})}if(!u.length)return null;if(u.length>128)return{error:"Select a smaller passage to reference."};let p=0,m=0;const h=v=>{for(;p65535?2:1,m++;return m};for(const v of u)v.start=h(v.start),v.end=h(v.end);return{excerpt:o,spans:u}}/*! @license DOMPurify 3.4.15 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.15/LICENSE */function wm(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a2?r-2:0),i=2;i1?a-1:0),o=1;o"u"?null:hn(BigInt.prototype.toString),Rm=typeof Symbol>"u"?null:hn(Symbol.prototype.toString),aa=hn(Object.prototype.hasOwnProperty),Vo=hn(Object.prototype.toString),$n=hn(RegExp.prototype.test),Sr=RS(TypeError);function hn(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:oi;if(km&&km(e,null),!ro(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const i=a(o);i!==o&&(yS(t)||(t[r]=i),o=i)}e[o]=!0}return e}function TS(e){for(let t=0;t/g),zS=zn(/\${[\w\W]*/g),LS=zn(/^data-[\-\w.\u00B7-\uFFFF]+$/),DS=zn(/^aria-[\-\w]+$/),Pm=zn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),FS=zn(/^(?:\w+script|data):/i),qS=zn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),jS=zn(/^html$/i),US=zn(/^[a-z][.\w]*(-[.\w]+)+$/i),Om=zn(/<[/\w!]/g),Mm=zn(/<[/\w]/g),$S=zn(/<\/no(script|embed|frames)/i),BS=zn(/\/>/i),ma={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Mg=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],HS=Sn(Tt({},Mg)),VS=(function(){const e={};return Tr(Mg,t=>{e[t]=zn(new RegExp("])","i"))}),Sn(e)})(),WS=function(){return typeof window>"u"?null:window},ZS=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const o="data-tt-policy-suffix";a&&a.hasAttribute(o)&&(r=a.getAttribute(o));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},zm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ir=function(t,a,r,o){return aa(t,a)&&ro(t[a])?Tt(o.base?ga(o.base):{},t[a],o.transform):r},Zl=function(t,a,r){const o=aa(t,a)?t[a]:void 0;return o&&typeof o=="object"?ga(o):r()};function zg(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:WS();const t=me=>zg(me);if(t.version="3.4.15",t.removed=[],!e||!e.document||e.document.nodeType!==ma.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,o=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,s=e.Node,l=e.Element,c=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const d=e.DOMParser,p=e.trustedTypes,m=l.prototype,h=Aa(m,"cloneNode"),f=Aa(m,"remove"),v=Aa(m,"removeAttributeNode"),y=Aa(m,"nextSibling"),E=Aa(m,"childNodes"),b=Aa(m,"parentNode"),x=Aa(m,"shadowRoot"),w=Aa(m,"attributes"),R=s&&s.prototype?Aa(s.prototype,"nodeType"):null,S=s&&s.prototype?Aa(s.prototype,"nodeName"):null,I=s&&s.prototype?Aa(s.prototype,"ownerDocument"):null,N=function(U){return R?R(U):U.nodeType},M=function(U){return S?S(U):U.nodeName};if(typeof i=="function"){const me=a.createElement("template");me.content&&me.content.ownerDocument&&(a=me.content.ownerDocument)}let k,T="",A,q=!1,z=0;const F=function(){if(z>0)throw Sr('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},H=function(U){F(),z++;try{return k.createHTML(U)}finally{z--}},ne=function(U){F(),z++;try{return k.createScriptURL(U)}finally{z--}},B=function(){return q||(A=ZS(p,o),q=!0),A},P=a,_=P.implementation,ee=P.createNodeIterator,Z=P.createDocumentFragment,D=P.getElementsByTagName,G=r.importNode;let j=zm();t.isSupported=typeof Pg=="function"&&typeof b=="function"&&_&&_.createHTMLDocument!==void 0;const K=OS,oe=MS,xe=zS,ce=LS,_e=DS,$e=FS,De=qS,de=US;let ve=Pm,O=null;const W=Tt({},[...Tm,...Bl,...Hl,...Vl,...Im]);let ae=null;const ze=Tt({},[...Am,...Wl,..._m,...Ki]);let Me=Object.seal(Gr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),be=null,rt=null;const wt=Object.seal(Gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Dt=!0,It=!0,Qt=!1,ie=!0,he=!1,Ne=!0,Le=!1,Ge=!1,ft=null,vt=null,gt=!1,Se=!1,X=!1,Ce=!1,Fe=!0,We=!1;const tt="user-content-";let yt=!0,se=!1,Qe={},ot=null;const bt=Tt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let ut=null;const Mt=Tt({},["audio","video","img","source","image","track"]);let St=null;const jt=Tt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),st="http://www.w3.org/1998/Math/MathML",lt="http://www.w3.org/2000/svg",Ze="http://www.w3.org/1999/xhtml";let Ot=Ze,en=!1,vn=null;const Rn=Tt({},[st,lt,Ze],$l),bn=Sn(["mi","mo","mn","ms","mtext"]);let Ln=Tt({},bn);const Kn=Sn(["annotation-xml"]);let Tn=Tt({},Kn);const ge=Tt({},["title","style","font","a","script"]);let Ke=null;const Ue=["application/xhtml+xml","text/html"],nt="text/html";let ye=null,At=null;const an=a.createElement("form"),Zt=function(U){return U instanceof RegExp||U instanceof Function},Q=function(){let U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(At&&At===U)return;(!U||typeof U!="object")&&(U={}),U=ga(U),Ke=Ue.indexOf(U.PARSER_MEDIA_TYPE)===-1?nt:U.PARSER_MEDIA_TYPE,ye=Ke==="application/xhtml+xml"?$l:oi,O=ir(U,"ALLOWED_TAGS",W,{transform:ye}),ae=ir(U,"ALLOWED_ATTR",ze,{transform:ye}),vn=ir(U,"ALLOWED_NAMESPACES",Rn,{transform:$l}),St=ir(U,"ADD_URI_SAFE_ATTR",jt,{transform:ye,base:jt}),ut=ir(U,"ADD_DATA_URI_TAGS",Mt,{transform:ye,base:Mt}),ot=ir(U,"FORBID_CONTENTS",bt,{transform:ye}),be=ir(U,"FORBID_TAGS",ga({}),{transform:ye}),rt=ir(U,"FORBID_ATTR",ga({}),{transform:ye}),Qe=aa(U,"USE_PROFILES")?U.USE_PROFILES&&typeof U.USE_PROFILES=="object"?ga(U.USE_PROFILES):U.USE_PROFILES:!1,Dt=U.ALLOW_ARIA_ATTR!==!1,It=U.ALLOW_DATA_ATTR!==!1,Qt=U.ALLOW_UNKNOWN_PROTOCOLS||!1,ie=U.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=U.SAFE_FOR_TEMPLATES||!1,Ne=U.SAFE_FOR_XML!==!1,Le=U.WHOLE_DOCUMENT||!1,Se=U.RETURN_DOM||!1,X=U.RETURN_DOM_FRAGMENT||!1,Ce=U.RETURN_TRUSTED_TYPE||!1,gt=U.FORCE_BODY||!1,Fe=U.SANITIZE_DOM!==!1,We=U.SANITIZE_NAMED_PROPS||!1,yt=U.KEEP_CONTENT!==!1,se=U.IN_PLACE||!1,ve=AS(U.ALLOWED_URI_REGEXP)?U.ALLOWED_URI_REGEXP:Pm,Ot=typeof U.NAMESPACE=="string"?U.NAMESPACE:Ze,Ln=Zl(U,"MATHML_TEXT_INTEGRATION_POINTS",()=>Tt({},bn)),Tn=Zl(U,"HTML_INTEGRATION_POINTS",()=>Tt({},Kn));const te=Zl(U,"CUSTOM_ELEMENT_HANDLING",()=>Gr(null));if(Me=Gr(null),aa(te,"tagNameCheck")&&Zt(te.tagNameCheck)&&(Me.tagNameCheck=te.tagNameCheck),aa(te,"attributeNameCheck")&&Zt(te.attributeNameCheck)&&(Me.attributeNameCheck=te.attributeNameCheck),aa(te,"allowCustomizedBuiltInElements")&&typeof te.allowCustomizedBuiltInElements=="boolean"&&(Me.allowCustomizedBuiltInElements=te.allowCustomizedBuiltInElements),zn(Me),he&&(It=!1),X&&(Se=!0),Qe&&(O=Tt({},Im),ae=Gr(null),Qe.html===!0&&(Tt(O,Tm),Tt(ae,Am)),Qe.svg===!0&&(Tt(O,Bl),Tt(ae,Wl),Tt(ae,Ki)),Qe.svgFilters===!0&&(Tt(O,Hl),Tt(ae,Wl),Tt(ae,Ki)),Qe.mathMl===!0&&(Tt(O,Vl),Tt(ae,_m),Tt(ae,Ki))),wt.tagCheck=null,wt.attributeCheck=null,aa(U,"ADD_TAGS")&&(typeof U.ADD_TAGS=="function"?wt.tagCheck=U.ADD_TAGS:ro(U.ADD_TAGS)&&(O===W&&(O=ga(O)),Tt(O,U.ADD_TAGS,ye))),aa(U,"ADD_ATTR")&&(typeof U.ADD_ATTR=="function"?wt.attributeCheck=U.ADD_ATTR:ro(U.ADD_ATTR)&&(ae===ze&&(ae=ga(ae)),Tt(ae,U.ADD_ATTR,ye))),aa(U,"ADD_FORBID_CONTENTS")&&ro(U.ADD_FORBID_CONTENTS)&&(ot===bt&&(ot=ga(ot)),Tt(ot,U.ADD_FORBID_CONTENTS,ye)),yt&&(O["#text"]=!0),Le&&Tt(O,["html","head","body"]),O.table&&(Tt(O,["tbody"]),delete be.tbody),U.TRUSTED_TYPES_POLICY){if(typeof U.TRUSTED_TYPES_POLICY.createHTML!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof U.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const pe=k;k=U.TRUSTED_TYPES_POLICY;try{T=H("")}catch(Oe){throw k=pe,Oe}}else U.TRUSTED_TYPES_POLICY===null?(k=void 0,T=""):(k===void 0&&(k=B()),k&&typeof T=="string"&&(T=H("")));Sn&&Sn(U),At=U},rn=Tt({},[...Bl,...Hl,..._S]),ca=Tt({},[...Vl,...PS]),Sa=function(U,te,pe){return te.namespaceURI===Ze?U==="svg":te.namespaceURI===st?U==="svg"&&(pe==="annotation-xml"||Ln[pe]):!!rn[U]},Dn=function(U,te,pe){return te.namespaceURI===Ze?U==="math":te.namespaceURI===lt?U==="math"&&Tn[pe]:!!ca[U]},yn=function(U,te,pe){return te.namespaceURI===lt&&!Tn[pe]||te.namespaceURI===st&&!Ln[pe]?!1:!ca[U]&&(ge[U]||!rn[U])},dn=function(U){let te=b(U);(!te||!te.tagName)&&(te={namespaceURI:Ot,tagName:"template"});const pe=oi(U.tagName),Oe=oi(te.tagName);return vn[U.namespaceURI]?U.namespaceURI===lt?Sa(pe,te,Oe):U.namespaceURI===st?Dn(pe,te,Oe):U.namespaceURI===Ze?yn(pe,te,Oe):!!(Ke==="application/xhtml+xml"&&vn[U.namespaceURI]):!1},In=function(U){Bo(t.removed,{element:U});try{b(U).removeChild(U)}catch{if(f(U),!b(U))throw Sr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},on=function(U,te,pe){try{v(U,te)}catch{try{U.removeAttribute(pe)}catch{}}},mt=function(U){we(U);const te=E(U);if(te){const Oe=[];Tr(te,Be=>{Bo(Oe,Be)}),Tr(Oe,Be=>{try{f(Be)}catch{}})}const pe=w(U);if(pe)for(let Oe=pe.length-1;Oe>=0;--Oe){const Be=pe[Oe],ct=Be&&Be.name;typeof ct=="string"&&on(U,Be,ct)}},ht=function(U,te,pe){if(!pe)try{pe=te.getAttributeNode(U)}catch{pe=null}Bo(t.removed,{attribute:pe||null,from:te});try{pe?v(te,pe):te.removeAttribute(U)}catch{try{te.removeAttribute(U)}catch{}}if(U==="is")if(Se||X)try{In(te)}catch{}else try{te.setAttribute(U,"")}catch{}},V=function(U){const te=w(U);if(te)for(let pe=te.length-1;pe>=0;--pe){const Oe=te[pe],Be=Oe&&Oe.name;typeof Be!="string"||ae[ye(Be)]||on(U,Oe,Be)}},we=function(U){const te=[U];for(;te.length>0;){const pe=te.pop();N(pe)===ma.element&&V(pe);const Be=E(pe);if(Be)for(let ct=Be.length-1;ct>=0;--ct)te.push(Be[ct])}},Xe=function(U,te){return Ne?U==="patchsrc"?!0:U==="for"&&te!=="label"&&te!=="output":!1},Ft=function(U){if(!Ne)return;const te=[U];for(;te.length>0;){const pe=te.pop(),Oe=N(pe);if(Oe===ma.processingInstruction||Oe===ma.comment&&$n(Mm,pe.data)){try{f(pe)}catch{}continue}if(Oe===ma.element){const ct=pe,qt=ye(M(pe));try{ct.hasAttribute&&ct.hasAttribute("patchsrc")&&ct.removeAttribute("patchsrc"),ct.hasAttribute&&ct.hasAttribute("for")&&Xe("for",qt)&&ct.removeAttribute("for")}catch{}}const Be=E(pe);if(Be)for(let ct=Be.length-1;ct>=0;--ct)te.push(Be[ct])}},En=function(U){let te=null,pe=null;if(gt)U=""+U;else{const ct=Sm(U,/^[\r\n\t ]+/);pe=ct&&ct[0]}Ke==="application/xhtml+xml"&&Ot===Ze&&(U=''+U+"");const Oe=k?H(U):U;if(Ot===Ze)try{te=new d().parseFromString(Oe,Ke)}catch{}if(!te||!te.documentElement){te=_.createDocument(Ot,"template",null);try{te.documentElement.innerHTML=en?T:Oe}catch{}}const Be=te.body||te.documentElement;return U&&pe&&Be.insertBefore(a.createTextNode(pe),Be.childNodes[0]||null),Ot===Ze?D.call(te,Le?"html":"body")[0]:Le?te.documentElement:Be},sn=function(U){const te=I?I(U):U.ownerDocument;return ee.call(te||U,U,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ca=function(U){return U=Ho(U,K," "),U=Ho(U,oe," "),U=Ho(U,xe," "),U},Na=function(U){var te;U.normalize();const pe=I?I(U):U.ownerDocument,Oe=ee.call(pe||U,U,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Be=Oe.nextNode();for(;Be;)Be.data=Ca(Be.data),Be=Oe.nextNode();const ct=(te=U.querySelectorAll)===null||te===void 0?void 0:te.call(U,"template");ct&&Tr(ct,qt=>{wn(qt.content)&&Na(qt.content)})},ua=function(U){const te=S?S(U):null;return typeof te!="string"||ye(te)!=="form"?!1:typeof U.nodeName!="string"||typeof U.textContent!="string"||typeof U.removeChild!="function"||U.attributes!==w(U)||typeof U.removeAttribute!="function"||typeof U.removeAttributeNode!="function"||typeof U.getAttributeNode!="function"||typeof U.setAttribute!="function"||typeof U.namespaceURI!="string"||typeof U.insertBefore!="function"||typeof U.hasChildNodes!="function"||U.nodeType!==R(U)||U.childNodes!==E(U)},wn=function(U){if(!R||typeof U!="object"||U===null)return!1;try{return R(U)===ma.documentFragment}catch{return!1}},Xn=function(U){if(!R||typeof U!="object"||U===null)return!1;try{return typeof R(U)=="number"}catch{return!1}};function kn(me,U,te){me.length!==0&&Tr(me,pe=>{pe.call(t,U,te,At)})}const da=function(U,te){return!!(Ne&&U.hasChildNodes()&&!Xn(U.firstElementChild)&&$n(Om,U.textContent)&&$n(Om,U.innerHTML)||Ne&&U.namespaceURI===Ze&&HS[te]&&(Xn(U.firstElementChild)||typeof U.textContent=="string"&&$n(VS[te],U.textContent))||U.nodeType===ma.processingInstruction||Ne&&U.nodeType===ma.comment&&$n(Mm,U.data))},ea=function(U,te){if(U instanceof RegExp)return $n(U,te);if(U instanceof Function){for(var pe=arguments.length,Oe=new Array(pe>2?pe-2:0),Be=2;Be=0;--qt){const Jt=U===pe?h(Be[qt],!0):Be[qt];Oe.insertBefore(Jt,y(U))}}}return In(U),!0},Qa=function(U,te,pe,Oe){return U.length===0?te:te===pe||te===Oe?ga(te):te},Xa=function(U,te){return U===te||b(U)!==null?!1:(se&&we(U),!0)},ta=function(U,te){if(kn(j.beforeSanitizeElements,U,null),Xa(U,te))return!0;if(ua(U))return In(U),!0;const pe=ye(M(U));if(O=Qa(j.uponSanitizeElement,O,W,ft),kn(j.uponSanitizeElement,U,{tagName:pe,allowedTags:O}),Xa(U,te))return!0;if(da(U,pe))return In(U),!0;if(be[pe]||!(wt.tagCheck instanceof Function&&wt.tagCheck(pe))&&!O[pe]){const Be=Ga(U,pe,te);return Be===!1&&kn(j.afterSanitizeElements,U,null),Be}if(N(U)===ma.element&&!dn(U)||(pe==="noscript"||pe==="noembed"||pe==="noframes")&&$n($S,U.innerHTML))return In(U),!0;if(he&&U.nodeType===ma.text){const Be=Ca(U.textContent);U.textContent!==Be&&(Bo(t.removed,{element:U.cloneNode()}),U.textContent=Be)}return kn(j.afterSanitizeElements,U,null),!1},xn=function(U,te,pe){if(rt[te]||Xe(te,U)||Fe&&(te==="id"||te==="name")&&(pe in a||pe in an))return!1;const Oe=ae[te]||wt.attributeCheck instanceof Function&&wt.attributeCheck(te,U);return It&&$n(ce,te)||Dt&&$n(_e,te)?!0:Oe?St[te]||$n(ve,Ho(pe,De,""))||(te==="src"||te==="xlink:href"||te==="href")&&U!=="script"&&Cm(pe,"data:")===0&&ut[U]||Qt&&!$n($e,Ho(pe,De,""))?!0:!pe:pa(U)&&ea(Me.tagNameCheck,U)&&ea(Me.attributeNameCheck,te,U)||te==="is"&&Me.allowCustomizedBuiltInElements&&ea(Me.tagNameCheck,pe)},or=Tt({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pa=function(U){return!or[oi(U)]&&$n(de,U)},Ra=function(U,te,pe,Oe){if(k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!pe)switch(p.getAttributeType(U,te)){case"TrustedHTML":return H(Oe);case"TrustedScriptURL":return ne(Oe)}return Oe},ln=function(U,te,pe,Oe){try{return pe?U.setAttributeNS(pe,te,Oe):U.setAttribute(te,Oe),ua(U)?(In(U),!1):!0}catch{return ht(te,U),!1}},Yn=function(U){kn(j.beforeSanitizeAttributes,U,null);const te=U.attributes;if(!te||ua(U))return;ae=Qa(j.uponSanitizeAttribute,ae,ze,vt);const pe={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ae,forceKeepAttr:void 0};let Oe=te.length;const Be=ye(U.nodeName);for(;Oe--;){const ct=te[Oe],qt=ct.name,Jt=ct.namespaceURI,Fn=ct.value,qn=ye(qt),Kr=Fn;let An=qt==="value"?Kr:SS(Kr),Fo=!1;if(pe.attrName=qn,pe.attrValue=An,pe.keepAttr=!0,pe.forceKeepAttr=void 0,kn(j.uponSanitizeAttribute,U,pe),An=pe.attrValue,We&&(qn==="id"||qn==="name")&&Cm(An,tt)!==0&&(ht(qt,U,ct),An=tt+An,Fo=!0),Ne&&$n(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,An)){ht(qt,U,ct);continue}if(qn==="attributename"&&Sm(An,"href")){ht(qt,U,ct);continue}if(!pe.forceKeepAttr){if(!pe.keepAttr){ht(qt,U,ct);continue}if(!ie&&$n(BS,An)){ht(qt,U,ct);continue}if(he&&(An=Ca(An)),!xn(Be,qn,An)){ht(qt,U,ct);continue}An=Ra(Be,qn,Jt,An),An!==Kr&&ln(U,qt,Jt,An)&&Fo&&xm(t.removed)}}kn(j.afterSanitizeAttributes,U,null)},Ua=function(U){let te=null;const pe=sn(U);for(kn(j.beforeSanitizeShadowDOM,U,null);te=pe.nextNode();)if(kn(j.uponSanitizeShadowNode,te,null),ta(te,U),Yn(te),wn(te.content)&&Ua(te.content),N(te)===ma.element){const Oe=x(te);wn(Oe)&&(cn(Oe),Ua(Oe))}kn(j.afterSanitizeShadowDOM,U,null)},cn=function(U){const te=[{node:U,shadow:null}];for(;te.length>0;){const pe=te.pop();if(pe.shadow){Ua(pe.shadow);continue}const Oe=pe.node,ct=N(Oe)===ma.element,qt=E(Oe);if(qt)for(let Jt=qt.length-1;Jt>=0;--Jt)te.push({node:qt[Jt],shadow:null});if(ct){const Jt=S?S(Oe):null;if(typeof Jt=="string"&&ye(Jt)==="template"){const Fn=Oe.content;wn(Fn)&&te.push({node:Fn,shadow:null})}}if(ct){const Jt=x(Oe);wn(Jt)&&te.push({node:null,shadow:Jt},{node:Jt,shadow:null})}}};return t.sanitize=function(me){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te=null,pe=null,Oe=null,Be=null;if(en=!me,en&&(me=""),typeof me!="string"&&!Xn(me)&&(me=IS(me),typeof me!="string"))throw Sr("dirty is not a string, aborting");if(!t.isSupported)return me;Ge?(O=ft,ae=vt):Q(U),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(O=ga(O)),j.uponSanitizeAttribute.length>0&&(ae=ga(ae)),t.removed=[];const ct=se&&typeof me!="string"&&Xn(me);if(ct){Ft(me);const Fn=M(me);if(typeof Fn=="string"){const qn=ye(Fn);if(!O[qn]||be[qn])throw mt(me),Sr("root node is forbidden and cannot be sanitized in-place")}if(ua(me))throw mt(me),Sr("root node is clobbered and cannot be sanitized in-place");try{cn(me)}catch(qn){throw mt(me),qn}}else if(Xn(me))te=En(""),pe=te.ownerDocument.importNode(me,!0),pe.nodeType===ma.element&&pe.nodeName==="BODY"||pe.nodeName==="HTML"?te=pe:te.appendChild(pe),cn(te);else{if(!Se&&!he&&!Le&&me.indexOf("<")===-1)return k&&Ce?H(me):me;if(te=En(me),!te)return Se?null:Ce?T:""}te&>&&In(te.firstChild);const qt=ct?me:te;try{const Fn=sn(qt);for(;Oe=Fn.nextNode();)ta(Oe,qt),Yn(Oe),wn(Oe.content)&&Ua(Oe.content)}catch(Fn){throw ct&&(mt(me),Tr(t.removed,qn=>{qn.element&&we(qn.element)})),Fn}if(ct)return Tr(t.removed,Fn=>{Fn.element&&we(Fn.element)}),he&&Na(me),me;if(Se){if(he&&Na(te),X)for(Be=Z.call(te.ownerDocument);te.firstChild;)Be.appendChild(te.firstChild);else Be=te;return(ae.shadowroot||ae.shadowrootmode)&&(Be=G.call(r,Be,!0)),Be}let Jt=Le?te.outerHTML:te.innerHTML;return Le&&O["!doctype"]&&te.ownerDocument&&te.ownerDocument.doctype&&te.ownerDocument.doctype.name&&$n(jS,te.ownerDocument.doctype.name)&&(Jt=" -`+Jt),he&&(Jt=Ca(Jt)),k&&Ce?H(Jt):Jt},t.setConfig=function(){let me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Q(me),Ge=!0,ft=O,vt=ae},t.clearConfig=function(){At=null,Ge=!1,ft=null,vt=null,k=A,T=""},t.isValidAttribute=function(me,U,te){At||Q({});const pe=ye(me),Oe=ye(U);return xn(pe,Oe,te)},t.addHook=function(me,U){typeof U=="function"&&aa(j,me)&&Bo(j[me],U)},t.removeHook=function(me,U){if(aa(j,me)){if(U!==void 0){const te=kS(j[me],U);return te===-1?void 0:xS(j[me],te,1)[0]}return xm(j[me])}},t.removeHooks=function(me){aa(j,me)&&(j[me]=[])},t.removeAllHooks=function(){j=zm()},t}var JS=zg();function KS(e,t){const a={};return(e[e.length-1]===""?[...e,""]:e).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}const YS=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,GS=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,QS={};function Lm(e,t){return(QS.jsx?GS:YS).test(e)}const XS=/[ \t\n\f\r]/g;function e1(e){return typeof e=="object"?e.type==="text"?Dm(e.value):!1:Dm(e)}function Dm(e){return e.replace(XS,"")===""}class Ui{constructor(t,a,r){this.normal=a,this.property=t,r&&(this.space=r)}}Ui.prototype.normal={};Ui.prototype.property={};Ui.prototype.space=void 0;function Lg(e,t){const a={},r={};for(const o of e)Object.assign(a,o.property),Object.assign(r,o.normal);return new Ui(a,r,t)}function Kc(e){return e.toLowerCase()}class oa{constructor(t,a){this.attribute=a,this.property=t}}oa.prototype.attribute="";oa.prototype.booleanish=!1;oa.prototype.boolean=!1;oa.prototype.commaOrSpaceSeparated=!1;oa.prototype.commaSeparated=!1;oa.prototype.defined=!1;oa.prototype.mustUseProperty=!1;oa.prototype.number=!1;oa.prototype.overloadedBoolean=!1;oa.prototype.property="";oa.prototype.spaceSeparated=!1;oa.prototype.space=void 0;let t1=0;const pt=Vr(),pn=Vr(),Yc=Vr(),ke=Vr(),$t=Vr(),Pr=Vr(),fa=Vr();function Vr(){return 2**++t1}const Gc=Object.freeze(Object.defineProperty({__proto__:null,boolean:pt,booleanish:pn,commaOrSpaceSeparated:fa,commaSeparated:Pr,number:ke,overloadedBoolean:Yc,spaceSeparated:$t},Symbol.toStringTag,{value:"Module"})),Jl=Object.keys(Gc);class Gu extends oa{constructor(t,a,r,o){let i=-1;if(super(t,a),Fm(this,"space",o),typeof r=="number")for(;++i4&&a.slice(0,4)==="data"&&i1.test(t)){if(t.charAt(4)==="-"){const i=t.slice(5).replace(qm,c1);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=t.slice(4);if(!qm.test(i)){let s=i.replace(o1,l1);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}o=Gu}return new o(r,t)}function l1(e){return"-"+e.toLowerCase()}function c1(e){return e.charAt(1).toUpperCase()}const u1=Lg([Dg,n1,jg,Ug,$g],"html"),Qu=Lg([Dg,a1,jg,Ug,$g],"svg");function d1(e){return e.join(" ").trim()}var Yr={},Kl,jm;function p1(){if(jm)return Kl;jm=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,a=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,l=/^\s+|\s+$/g,c=` -`,u="/",d="*",p="",m="comment",h="declaration";function f(y,E){if(typeof y!="string")throw new TypeError("First argument must be a string");if(!y)return[];E=E||{};var b=1,x=1;function w(z){var F=z.match(t);F&&(b+=F.length);var H=z.lastIndexOf(c);x=~H?z.length-H:x+z.length}function R(){var z={line:b,column:x};return function(F){return F.position=new S(z),M(),F}}function S(z){this.start=z,this.end={line:b,column:x},this.source=E.source}S.prototype.content=y;function I(z){var F=new Error(E.source+":"+b+":"+x+": "+z);if(F.reason=z,F.filename=E.source,F.line=b,F.column=x,F.source=y,!E.silent)throw F}function N(z){var F=z.exec(y);if(F){var H=F[0];return w(H),y=y.slice(H.length),F}}function M(){N(a)}function k(z){var F;for(z=z||[];F=T();)F!==!1&&z.push(F);return z}function T(){var z=R();if(!(u!=y.charAt(0)||d!=y.charAt(1))){for(var F=2;p!=y.charAt(F)&&(d!=y.charAt(F)||u!=y.charAt(F+1));)++F;if(F+=2,p===y.charAt(F-1))return I("End of comment missing");var H=y.slice(2,F-2);return x+=2,w(H),y=y.slice(F),x+=2,z({type:m,comment:H})}}function A(){var z=R(),F=N(r);if(F){if(T(),!N(o))return I("property missing ':'");var H=N(i),ne=z({type:h,property:v(F[0].replace(e,p)),value:H?v(H[0].replace(e,p)):p});return N(s),ne}}function q(){var z=[];k(z);for(var F;F=A();)F!==!1&&(z.push(F),k(z));return z}return M(),q()}function v(y){return y?y.replace(l,p):p}return Kl=f,Kl}var Um;function m1(){if(Um)return Yr;Um=1;var e=Yr&&Yr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.default=a;const t=e(p1());function a(r,o){let i=null;if(!r||typeof r!="string")return i;const s=(0,t.default)(r),l=typeof o=="function";return s.forEach(c=>{if(c.type!=="declaration")return;const{property:u,value:d}=c;l?o(u,d,c):d&&(i=i||{},i[u]=d)}),i}return Yr}var Wo={},$m;function h1(){if($m)return Wo;$m=1,Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,a=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,i=function(u){return!u||a.test(u)||e.test(u)},s=function(u,d){return d.toUpperCase()},l=function(u,d){return"".concat(d,"-")},c=function(u,d){return d===void 0&&(d={}),i(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(o,l):u=u.replace(r,l),u.replace(t,s))};return Wo.camelCase=c,Wo}var Zo,Bm;function f1(){if(Bm)return Zo;Bm=1;var e=Zo&&Zo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},t=e(m1()),a=h1();function r(o,i){var s={};return!o||typeof o!="string"||(0,t.default)(o,function(l,c){l&&c&&(s[(0,a.camelCase)(l,i)]=c)}),s}return r.default=r,Zo=r,Zo}var g1=f1();const v1=tg(g1),Bg=Hg("end"),Xu=Hg("start");function Hg(e){return t;function t(a){const r=a&&a.position&&a.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function b1(e){const t=Xu(e),a=Bg(e);if(t&&a)return{start:t,end:a}}function di(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Hm(e.position):"start"in e||"end"in e?Hm(e):"line"in e||"column"in e?Qc(e):""}function Qc(e){return Vm(e&&e.line)+":"+Vm(e&&e.column)}function Hm(e){return Qc(e&&e.start)+"-"+Qc(e&&e.end)}function Vm(e){return e&&typeof e=="number"?e:1}class Zn extends Error{constructor(t,a,r){super(),typeof a=="string"&&(r=a,a=void 0);let o="",i={},s=!1;if(a&&("line"in a&&"column"in a?i={place:a}:"start"in a&&"end"in a?i={place:a}:"type"in a?i={ancestors:[a],place:a.position}:i={...a}),typeof t=="string"?o=t:!i.cause&&t&&(s=!0,o=t.message,i.cause=t),!i.ruleId&&!i.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?i.ruleId=r:(i.source=r.slice(0,c),i.ruleId=r.slice(c+1))}if(!i.place&&i.ancestors&&i.ancestors){const c=i.ancestors[i.ancestors.length-1];c&&(i.place=c.position)}const l=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=l?l.line:void 0,this.name=di(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=s&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Zn.prototype.file="";Zn.prototype.name="";Zn.prototype.reason="";Zn.prototype.message="";Zn.prototype.stack="";Zn.prototype.column=void 0;Zn.prototype.line=void 0;Zn.prototype.ancestors=void 0;Zn.prototype.cause=void 0;Zn.prototype.fatal=void 0;Zn.prototype.place=void 0;Zn.prototype.ruleId=void 0;Zn.prototype.source=void 0;const ed={}.hasOwnProperty,y1=new Map,E1=/[A-Z]/g,w1=new Set(["table","tbody","thead","tfoot","tr"]),k1=new Set(["td","th"]),Vg="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function x1(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const a=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=_1(a,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=A1(a,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:a,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Qu:u1,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},i=Wg(o,e,void 0);return i&&typeof i!="string"?i:o.create(e,o.Fragment,{children:i||void 0},void 0)}function Wg(e,t,a){if(t.type==="element")return S1(e,t,a);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return C1(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return R1(e,t,a);if(t.type==="mdxjsEsm")return N1(e,t);if(t.type==="root")return T1(e,t,a);if(t.type==="text")return I1(e,t)}function S1(e,t,a){const r=e.schema;let o=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=Qu,e.schema=o),e.ancestors.push(t);const i=Jg(e,t.tagName,!1),s=P1(e,t);let l=nd(e,t);return w1.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!e1(c):!0})),Zg(e,s,i,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,i,s,a)}function C1(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Ei(e,t.position)}function N1(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Ei(e,t.position)}function R1(e,t,a){const r=e.schema;let o=r;t.name==="svg"&&r.space==="html"&&(o=Qu,e.schema=o),e.ancestors.push(t);const i=t.name===null?e.Fragment:Jg(e,t.name,!0),s=O1(e,t),l=nd(e,t);return Zg(e,s,i,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,i,s,a)}function T1(e,t,a){const r={};return td(r,nd(e,t)),e.create(t,e.Fragment,r,a)}function I1(e,t){return t.value}function Zg(e,t,a,r){typeof a!="string"&&a!==e.Fragment&&e.passNode&&(t.node=r)}function td(e,t){if(t.length>0){const a=t.length>1?t:t[0];a&&(e.children=a)}}function A1(e,t,a){return r;function r(o,i,s,l){const u=Array.isArray(s.children)?a:t;return l?u(i,s,l):u(i,s)}}function _1(e,t){return a;function a(r,o,i,s){const l=Array.isArray(i.children),c=Xu(r);return t(o,i,s,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function P1(e,t){const a={};let r,o;for(o in t.properties)if(o!=="children"&&ed.call(t.properties,o)){const i=M1(e,o,t.properties[o]);if(i){const[s,l]=i;e.tableCellAlignToStyle&&s==="align"&&typeof l=="string"&&k1.has(t.tagName)?r=l:a[s]=l}}if(r){const i=a.style||(a.style={});i[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return a}function O1(e,t){const a={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const i=r.data.estree.body[0];i.type;const s=i.expression;s.type;const l=s.properties[0];l.type,Object.assign(a,e.evaluater.evaluateExpression(l.argument))}else Ei(e,t.position);else{const o=r.name;let i;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const l=r.value.data.estree.body[0];l.type,i=e.evaluater.evaluateExpression(l.expression)}else Ei(e,t.position);else i=r.value===null?!0:r.value;a[o]=i}return a}function nd(e,t){const a=[];let r=-1;const o=e.passKeys?new Map:y1;for(;++rEm)return{error:`Select at most ${Em.toLocaleString()} characters to reference.`};const i=e.ownerDocument,s=i.createElement("textarea"),l=v=>(s.innerHTML=v,s.value),c=i.createTreeWalker(e,4),u=[];let d;for(;d=c.nextNode();){if(!r.intersectsNode(d))continue;const v=d===r.startContainer?r.startOffset:0,y=d===r.endContainer?r.endOffset:d.length;if(y<=v)continue;const E=(f=d.parentElement)==null?void 0:f.closest("[data-canvas-source-start]");if(!E||!e.contains(E)||E.textContent!==d.textContent){if(d.textContent.slice(v,y).trim())return{error:"Select document text without embedded controls or diagrams."};continue}const b=Number(E.dataset.canvasSourceStart),x=Number(E.dataset.canvasSourceEnd),w=E.dataset.canvasLiteral==="true",R=a.slice(b,x),S=w||R===d.textContent,I=S?null:mS(R,!1,l);if((S?R:I.text)!==d.textContent)return{error:"This selection cannot be mapped to the saved source. Select a smaller text passage."};u.push({start:b+(S?v:I.offsets[v]),end:b+(S?y:I.offsets[y]),...w?{literal:!0}:{}})}if(!u.length)return null;if(u.length>128)return{error:"Select a smaller passage to reference."};let p=0,m=0;const h=v=>{for(;p65535?2:1,m++;return m};for(const v of u)v.start=h(v.start),v.end=h(v.end);return{excerpt:o,spans:u}}/*! @license DOMPurify 3.4.15 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.15/LICENSE */function wm(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a2?r-2:0),i=2;i1?a-1:0),o=1;o"u"?null:hn(BigInt.prototype.toString),Rm=typeof Symbol>"u"?null:hn(Symbol.prototype.toString),aa=hn(Object.prototype.hasOwnProperty),Vo=hn(Object.prototype.toString),$n=hn(RegExp.prototype.test),Sr=TS(TypeError);function hn(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:oi;if(km&&km(e,null),!ro(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const i=a(o);i!==o&&(ES(t)||(t[r]=i),o=i)}e[o]=!0}return e}function IS(e){for(let t=0;t/g),LS=zn(/\${[\w\W]*/g),DS=zn(/^data-[\-\w.\u00B7-\uFFFF]+$/),FS=zn(/^aria-[\-\w]+$/),Pm=zn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),qS=zn(/^(?:\w+script|data):/i),jS=zn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),US=zn(/^html$/i),$S=zn(/^[a-z][.\w]*(-[.\w]+)+$/i),Om=zn(/<[/\w!]/g),Mm=zn(/<[/\w]/g),BS=zn(/<\/no(script|embed|frames)/i),HS=zn(/\/>/i),ma={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},zg=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],VS=Sn(Tt({},zg)),WS=(function(){const e={};return Tr(zg,t=>{e[t]=zn(new RegExp("])","i"))}),Sn(e)})(),ZS=function(){return typeof window>"u"?null:window},JS=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const o="data-tt-policy-suffix";a&&a.hasAttribute(o)&&(r=a.getAttribute(o));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},zm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ir=function(t,a,r,o){return aa(t,a)&&ro(t[a])?Tt(o.base?ga(o.base):{},t[a],o.transform):r},Jl=function(t,a,r){const o=aa(t,a)?t[a]:void 0;return o&&typeof o=="object"?ga(o):r()};function Lg(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ZS();const t=me=>Lg(me);if(t.version="3.4.15",t.removed=[],!e||!e.document||e.document.nodeType!==ma.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,o=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,s=e.Node,l=e.Element,c=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const d=e.DOMParser,p=e.trustedTypes,m=l.prototype,h=Aa(m,"cloneNode"),f=Aa(m,"remove"),v=Aa(m,"removeAttributeNode"),y=Aa(m,"nextSibling"),E=Aa(m,"childNodes"),b=Aa(m,"parentNode"),x=Aa(m,"shadowRoot"),w=Aa(m,"attributes"),R=s&&s.prototype?Aa(s.prototype,"nodeType"):null,S=s&&s.prototype?Aa(s.prototype,"nodeName"):null,I=s&&s.prototype?Aa(s.prototype,"ownerDocument"):null,N=function(U){return R?R(U):U.nodeType},M=function(U){return S?S(U):U.nodeName};if(typeof i=="function"){const me=a.createElement("template");me.content&&me.content.ownerDocument&&(a=me.content.ownerDocument)}let k,T="",A,q=!1,z=0;const F=function(){if(z>0)throw Sr('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},H=function(U){F(),z++;try{return k.createHTML(U)}finally{z--}},ne=function(U){F(),z++;try{return k.createScriptURL(U)}finally{z--}},B=function(){return q||(A=JS(p,o),q=!0),A},P=a,_=P.implementation,ee=P.createNodeIterator,Z=P.createDocumentFragment,D=P.getElementsByTagName,G=r.importNode;let j=zm();t.isSupported=typeof Og=="function"&&typeof b=="function"&&_&&_.createHTMLDocument!==void 0;const K=MS,oe=zS,xe=LS,ce=DS,_e=FS,$e=qS,De=jS,de=$S;let ve=Pm,O=null;const W=Tt({},[...Tm,...Hl,...Vl,...Wl,...Im]);let ae=null;const ze=Tt({},[...Am,...Zl,..._m,...Yi]);let Me=Object.seal(Gr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),be=null,rt=null;const wt=Object.seal(Gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Dt=!0,It=!0,Qt=!1,ie=!0,he=!1,Ne=!0,Le=!1,Ge=!1,ft=null,vt=null,gt=!1,Se=!1,X=!1,Ce=!1,Fe=!0,We=!1;const tt="user-content-";let yt=!0,se=!1,Qe={},ot=null;const bt=Tt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let ut=null;const Mt=Tt({},["audio","video","img","source","image","track"]);let St=null;const jt=Tt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),st="http://www.w3.org/1998/Math/MathML",lt="http://www.w3.org/2000/svg",Ze="http://www.w3.org/1999/xhtml";let Ot=Ze,en=!1,vn=null;const Rn=Tt({},[st,lt,Ze],Bl),bn=Sn(["mi","mo","mn","ms","mtext"]);let Ln=Tt({},bn);const Kn=Sn(["annotation-xml"]);let Tn=Tt({},Kn);const ge=Tt({},["title","style","font","a","script"]);let Ke=null;const Ue=["application/xhtml+xml","text/html"],nt="text/html";let ye=null,At=null;const an=a.createElement("form"),Zt=function(U){return U instanceof RegExp||U instanceof Function},Q=function(){let U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(At&&At===U)return;(!U||typeof U!="object")&&(U={}),U=ga(U),Ke=Ue.indexOf(U.PARSER_MEDIA_TYPE)===-1?nt:U.PARSER_MEDIA_TYPE,ye=Ke==="application/xhtml+xml"?Bl:oi,O=ir(U,"ALLOWED_TAGS",W,{transform:ye}),ae=ir(U,"ALLOWED_ATTR",ze,{transform:ye}),vn=ir(U,"ALLOWED_NAMESPACES",Rn,{transform:Bl}),St=ir(U,"ADD_URI_SAFE_ATTR",jt,{transform:ye,base:jt}),ut=ir(U,"ADD_DATA_URI_TAGS",Mt,{transform:ye,base:Mt}),ot=ir(U,"FORBID_CONTENTS",bt,{transform:ye}),be=ir(U,"FORBID_TAGS",ga({}),{transform:ye}),rt=ir(U,"FORBID_ATTR",ga({}),{transform:ye}),Qe=aa(U,"USE_PROFILES")?U.USE_PROFILES&&typeof U.USE_PROFILES=="object"?ga(U.USE_PROFILES):U.USE_PROFILES:!1,Dt=U.ALLOW_ARIA_ATTR!==!1,It=U.ALLOW_DATA_ATTR!==!1,Qt=U.ALLOW_UNKNOWN_PROTOCOLS||!1,ie=U.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=U.SAFE_FOR_TEMPLATES||!1,Ne=U.SAFE_FOR_XML!==!1,Le=U.WHOLE_DOCUMENT||!1,Se=U.RETURN_DOM||!1,X=U.RETURN_DOM_FRAGMENT||!1,Ce=U.RETURN_TRUSTED_TYPE||!1,gt=U.FORCE_BODY||!1,Fe=U.SANITIZE_DOM!==!1,We=U.SANITIZE_NAMED_PROPS||!1,yt=U.KEEP_CONTENT!==!1,se=U.IN_PLACE||!1,ve=_S(U.ALLOWED_URI_REGEXP)?U.ALLOWED_URI_REGEXP:Pm,Ot=typeof U.NAMESPACE=="string"?U.NAMESPACE:Ze,Ln=Jl(U,"MATHML_TEXT_INTEGRATION_POINTS",()=>Tt({},bn)),Tn=Jl(U,"HTML_INTEGRATION_POINTS",()=>Tt({},Kn));const te=Jl(U,"CUSTOM_ELEMENT_HANDLING",()=>Gr(null));if(Me=Gr(null),aa(te,"tagNameCheck")&&Zt(te.tagNameCheck)&&(Me.tagNameCheck=te.tagNameCheck),aa(te,"attributeNameCheck")&&Zt(te.attributeNameCheck)&&(Me.attributeNameCheck=te.attributeNameCheck),aa(te,"allowCustomizedBuiltInElements")&&typeof te.allowCustomizedBuiltInElements=="boolean"&&(Me.allowCustomizedBuiltInElements=te.allowCustomizedBuiltInElements),zn(Me),he&&(It=!1),X&&(Se=!0),Qe&&(O=Tt({},Im),ae=Gr(null),Qe.html===!0&&(Tt(O,Tm),Tt(ae,Am)),Qe.svg===!0&&(Tt(O,Hl),Tt(ae,Zl),Tt(ae,Yi)),Qe.svgFilters===!0&&(Tt(O,Vl),Tt(ae,Zl),Tt(ae,Yi)),Qe.mathMl===!0&&(Tt(O,Wl),Tt(ae,_m),Tt(ae,Yi))),wt.tagCheck=null,wt.attributeCheck=null,aa(U,"ADD_TAGS")&&(typeof U.ADD_TAGS=="function"?wt.tagCheck=U.ADD_TAGS:ro(U.ADD_TAGS)&&(O===W&&(O=ga(O)),Tt(O,U.ADD_TAGS,ye))),aa(U,"ADD_ATTR")&&(typeof U.ADD_ATTR=="function"?wt.attributeCheck=U.ADD_ATTR:ro(U.ADD_ATTR)&&(ae===ze&&(ae=ga(ae)),Tt(ae,U.ADD_ATTR,ye))),aa(U,"ADD_FORBID_CONTENTS")&&ro(U.ADD_FORBID_CONTENTS)&&(ot===bt&&(ot=ga(ot)),Tt(ot,U.ADD_FORBID_CONTENTS,ye)),yt&&(O["#text"]=!0),Le&&Tt(O,["html","head","body"]),O.table&&(Tt(O,["tbody"]),delete be.tbody),U.TRUSTED_TYPES_POLICY){if(typeof U.TRUSTED_TYPES_POLICY.createHTML!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof U.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const pe=k;k=U.TRUSTED_TYPES_POLICY;try{T=H("")}catch(Oe){throw k=pe,Oe}}else U.TRUSTED_TYPES_POLICY===null?(k=void 0,T=""):(k===void 0&&(k=B()),k&&typeof T=="string"&&(T=H("")));Sn&&Sn(U),At=U},rn=Tt({},[...Hl,...Vl,...PS]),ca=Tt({},[...Wl,...OS]),Sa=function(U,te,pe){return te.namespaceURI===Ze?U==="svg":te.namespaceURI===st?U==="svg"&&(pe==="annotation-xml"||Ln[pe]):!!rn[U]},Dn=function(U,te,pe){return te.namespaceURI===Ze?U==="math":te.namespaceURI===lt?U==="math"&&Tn[pe]:!!ca[U]},yn=function(U,te,pe){return te.namespaceURI===lt&&!Tn[pe]||te.namespaceURI===st&&!Ln[pe]?!1:!ca[U]&&(ge[U]||!rn[U])},dn=function(U){let te=b(U);(!te||!te.tagName)&&(te={namespaceURI:Ot,tagName:"template"});const pe=oi(U.tagName),Oe=oi(te.tagName);return vn[U.namespaceURI]?U.namespaceURI===lt?Sa(pe,te,Oe):U.namespaceURI===st?Dn(pe,te,Oe):U.namespaceURI===Ze?yn(pe,te,Oe):!!(Ke==="application/xhtml+xml"&&vn[U.namespaceURI]):!1},In=function(U){Bo(t.removed,{element:U});try{b(U).removeChild(U)}catch{if(f(U),!b(U))throw Sr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},on=function(U,te,pe){try{v(U,te)}catch{try{U.removeAttribute(pe)}catch{}}},mt=function(U){we(U);const te=E(U);if(te){const Oe=[];Tr(te,Be=>{Bo(Oe,Be)}),Tr(Oe,Be=>{try{f(Be)}catch{}})}const pe=w(U);if(pe)for(let Oe=pe.length-1;Oe>=0;--Oe){const Be=pe[Oe],ct=Be&&Be.name;typeof ct=="string"&&on(U,Be,ct)}},ht=function(U,te,pe){if(!pe)try{pe=te.getAttributeNode(U)}catch{pe=null}Bo(t.removed,{attribute:pe||null,from:te});try{pe?v(te,pe):te.removeAttribute(U)}catch{try{te.removeAttribute(U)}catch{}}if(U==="is")if(Se||X)try{In(te)}catch{}else try{te.setAttribute(U,"")}catch{}},V=function(U){const te=w(U);if(te)for(let pe=te.length-1;pe>=0;--pe){const Oe=te[pe],Be=Oe&&Oe.name;typeof Be!="string"||ae[ye(Be)]||on(U,Oe,Be)}},we=function(U){const te=[U];for(;te.length>0;){const pe=te.pop();N(pe)===ma.element&&V(pe);const Be=E(pe);if(Be)for(let ct=Be.length-1;ct>=0;--ct)te.push(Be[ct])}},Xe=function(U,te){return Ne?U==="patchsrc"?!0:U==="for"&&te!=="label"&&te!=="output":!1},Ft=function(U){if(!Ne)return;const te=[U];for(;te.length>0;){const pe=te.pop(),Oe=N(pe);if(Oe===ma.processingInstruction||Oe===ma.comment&&$n(Mm,pe.data)){try{f(pe)}catch{}continue}if(Oe===ma.element){const ct=pe,qt=ye(M(pe));try{ct.hasAttribute&&ct.hasAttribute("patchsrc")&&ct.removeAttribute("patchsrc"),ct.hasAttribute&&ct.hasAttribute("for")&&Xe("for",qt)&&ct.removeAttribute("for")}catch{}}const Be=E(pe);if(Be)for(let ct=Be.length-1;ct>=0;--ct)te.push(Be[ct])}},En=function(U){let te=null,pe=null;if(gt)U=""+U;else{const ct=Sm(U,/^[\r\n\t ]+/);pe=ct&&ct[0]}Ke==="application/xhtml+xml"&&Ot===Ze&&(U=''+U+"");const Oe=k?H(U):U;if(Ot===Ze)try{te=new d().parseFromString(Oe,Ke)}catch{}if(!te||!te.documentElement){te=_.createDocument(Ot,"template",null);try{te.documentElement.innerHTML=en?T:Oe}catch{}}const Be=te.body||te.documentElement;return U&&pe&&Be.insertBefore(a.createTextNode(pe),Be.childNodes[0]||null),Ot===Ze?D.call(te,Le?"html":"body")[0]:Le?te.documentElement:Be},sn=function(U){const te=I?I(U):U.ownerDocument;return ee.call(te||U,U,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ca=function(U){return U=Ho(U,K," "),U=Ho(U,oe," "),U=Ho(U,xe," "),U},Na=function(U){var te;U.normalize();const pe=I?I(U):U.ownerDocument,Oe=ee.call(pe||U,U,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Be=Oe.nextNode();for(;Be;)Be.data=Ca(Be.data),Be=Oe.nextNode();const ct=(te=U.querySelectorAll)===null||te===void 0?void 0:te.call(U,"template");ct&&Tr(ct,qt=>{wn(qt.content)&&Na(qt.content)})},ua=function(U){const te=S?S(U):null;return typeof te!="string"||ye(te)!=="form"?!1:typeof U.nodeName!="string"||typeof U.textContent!="string"||typeof U.removeChild!="function"||U.attributes!==w(U)||typeof U.removeAttribute!="function"||typeof U.removeAttributeNode!="function"||typeof U.getAttributeNode!="function"||typeof U.setAttribute!="function"||typeof U.namespaceURI!="string"||typeof U.insertBefore!="function"||typeof U.hasChildNodes!="function"||U.nodeType!==R(U)||U.childNodes!==E(U)},wn=function(U){if(!R||typeof U!="object"||U===null)return!1;try{return R(U)===ma.documentFragment}catch{return!1}},Xn=function(U){if(!R||typeof U!="object"||U===null)return!1;try{return typeof R(U)=="number"}catch{return!1}};function kn(me,U,te){me.length!==0&&Tr(me,pe=>{pe.call(t,U,te,At)})}const da=function(U,te){return!!(Ne&&U.hasChildNodes()&&!Xn(U.firstElementChild)&&$n(Om,U.textContent)&&$n(Om,U.innerHTML)||Ne&&U.namespaceURI===Ze&&VS[te]&&(Xn(U.firstElementChild)||typeof U.textContent=="string"&&$n(WS[te],U.textContent))||U.nodeType===ma.processingInstruction||Ne&&U.nodeType===ma.comment&&$n(Mm,U.data))},ea=function(U,te){if(U instanceof RegExp)return $n(U,te);if(U instanceof Function){for(var pe=arguments.length,Oe=new Array(pe>2?pe-2:0),Be=2;Be=0;--qt){const Jt=U===pe?h(Be[qt],!0):Be[qt];Oe.insertBefore(Jt,y(U))}}}return In(U),!0},Qa=function(U,te,pe,Oe){return U.length===0?te:te===pe||te===Oe?ga(te):te},Xa=function(U,te){return U===te||b(U)!==null?!1:(se&&we(U),!0)},ta=function(U,te){if(kn(j.beforeSanitizeElements,U,null),Xa(U,te))return!0;if(ua(U))return In(U),!0;const pe=ye(M(U));if(O=Qa(j.uponSanitizeElement,O,W,ft),kn(j.uponSanitizeElement,U,{tagName:pe,allowedTags:O}),Xa(U,te))return!0;if(da(U,pe))return In(U),!0;if(be[pe]||!(wt.tagCheck instanceof Function&&wt.tagCheck(pe))&&!O[pe]){const Be=Ga(U,pe,te);return Be===!1&&kn(j.afterSanitizeElements,U,null),Be}if(N(U)===ma.element&&!dn(U)||(pe==="noscript"||pe==="noembed"||pe==="noframes")&&$n(BS,U.innerHTML))return In(U),!0;if(he&&U.nodeType===ma.text){const Be=Ca(U.textContent);U.textContent!==Be&&(Bo(t.removed,{element:U.cloneNode()}),U.textContent=Be)}return kn(j.afterSanitizeElements,U,null),!1},xn=function(U,te,pe){if(rt[te]||Xe(te,U)||Fe&&(te==="id"||te==="name")&&(pe in a||pe in an))return!1;const Oe=ae[te]||wt.attributeCheck instanceof Function&&wt.attributeCheck(te,U);return It&&$n(ce,te)||Dt&&$n(_e,te)?!0:Oe?St[te]||$n(ve,Ho(pe,De,""))||(te==="src"||te==="xlink:href"||te==="href")&&U!=="script"&&Cm(pe,"data:")===0&&ut[U]||Qt&&!$n($e,Ho(pe,De,""))?!0:!pe:pa(U)&&ea(Me.tagNameCheck,U)&&ea(Me.attributeNameCheck,te,U)||te==="is"&&Me.allowCustomizedBuiltInElements&&ea(Me.tagNameCheck,pe)},or=Tt({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pa=function(U){return!or[oi(U)]&&$n(de,U)},Ra=function(U,te,pe,Oe){if(k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!pe)switch(p.getAttributeType(U,te)){case"TrustedHTML":return H(Oe);case"TrustedScriptURL":return ne(Oe)}return Oe},ln=function(U,te,pe,Oe){try{return pe?U.setAttributeNS(pe,te,Oe):U.setAttribute(te,Oe),ua(U)?(In(U),!1):!0}catch{return ht(te,U),!1}},Yn=function(U){kn(j.beforeSanitizeAttributes,U,null);const te=U.attributes;if(!te||ua(U))return;ae=Qa(j.uponSanitizeAttribute,ae,ze,vt);const pe={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ae,forceKeepAttr:void 0};let Oe=te.length;const Be=ye(U.nodeName);for(;Oe--;){const ct=te[Oe],qt=ct.name,Jt=ct.namespaceURI,Fn=ct.value,qn=ye(qt),Kr=Fn;let An=qt==="value"?Kr:CS(Kr),Fo=!1;if(pe.attrName=qn,pe.attrValue=An,pe.keepAttr=!0,pe.forceKeepAttr=void 0,kn(j.uponSanitizeAttribute,U,pe),An=pe.attrValue,We&&(qn==="id"||qn==="name")&&Cm(An,tt)!==0&&(ht(qt,U,ct),An=tt+An,Fo=!0),Ne&&$n(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,An)){ht(qt,U,ct);continue}if(qn==="attributename"&&Sm(An,"href")){ht(qt,U,ct);continue}if(!pe.forceKeepAttr){if(!pe.keepAttr){ht(qt,U,ct);continue}if(!ie&&$n(HS,An)){ht(qt,U,ct);continue}if(he&&(An=Ca(An)),!xn(Be,qn,An)){ht(qt,U,ct);continue}An=Ra(Be,qn,Jt,An),An!==Kr&&ln(U,qt,Jt,An)&&Fo&&xm(t.removed)}}kn(j.afterSanitizeAttributes,U,null)},Ua=function(U){let te=null;const pe=sn(U);for(kn(j.beforeSanitizeShadowDOM,U,null);te=pe.nextNode();)if(kn(j.uponSanitizeShadowNode,te,null),ta(te,U),Yn(te),wn(te.content)&&Ua(te.content),N(te)===ma.element){const Oe=x(te);wn(Oe)&&(cn(Oe),Ua(Oe))}kn(j.afterSanitizeShadowDOM,U,null)},cn=function(U){const te=[{node:U,shadow:null}];for(;te.length>0;){const pe=te.pop();if(pe.shadow){Ua(pe.shadow);continue}const Oe=pe.node,ct=N(Oe)===ma.element,qt=E(Oe);if(qt)for(let Jt=qt.length-1;Jt>=0;--Jt)te.push({node:qt[Jt],shadow:null});if(ct){const Jt=S?S(Oe):null;if(typeof Jt=="string"&&ye(Jt)==="template"){const Fn=Oe.content;wn(Fn)&&te.push({node:Fn,shadow:null})}}if(ct){const Jt=x(Oe);wn(Jt)&&te.push({node:null,shadow:Jt},{node:Jt,shadow:null})}}};return t.sanitize=function(me){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te=null,pe=null,Oe=null,Be=null;if(en=!me,en&&(me=""),typeof me!="string"&&!Xn(me)&&(me=AS(me),typeof me!="string"))throw Sr("dirty is not a string, aborting");if(!t.isSupported)return me;Ge?(O=ft,ae=vt):Q(U),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(O=ga(O)),j.uponSanitizeAttribute.length>0&&(ae=ga(ae)),t.removed=[];const ct=se&&typeof me!="string"&&Xn(me);if(ct){Ft(me);const Fn=M(me);if(typeof Fn=="string"){const qn=ye(Fn);if(!O[qn]||be[qn])throw mt(me),Sr("root node is forbidden and cannot be sanitized in-place")}if(ua(me))throw mt(me),Sr("root node is clobbered and cannot be sanitized in-place");try{cn(me)}catch(qn){throw mt(me),qn}}else if(Xn(me))te=En(""),pe=te.ownerDocument.importNode(me,!0),pe.nodeType===ma.element&&pe.nodeName==="BODY"||pe.nodeName==="HTML"?te=pe:te.appendChild(pe),cn(te);else{if(!Se&&!he&&!Le&&me.indexOf("<")===-1)return k&&Ce?H(me):me;if(te=En(me),!te)return Se?null:Ce?T:""}te&>&&In(te.firstChild);const qt=ct?me:te;try{const Fn=sn(qt);for(;Oe=Fn.nextNode();)ta(Oe,qt),Yn(Oe),wn(Oe.content)&&Ua(Oe.content)}catch(Fn){throw ct&&(mt(me),Tr(t.removed,qn=>{qn.element&&we(qn.element)})),Fn}if(ct)return Tr(t.removed,Fn=>{Fn.element&&we(Fn.element)}),he&&Na(me),me;if(Se){if(he&&Na(te),X)for(Be=Z.call(te.ownerDocument);te.firstChild;)Be.appendChild(te.firstChild);else Be=te;return(ae.shadowroot||ae.shadowrootmode)&&(Be=G.call(r,Be,!0)),Be}let Jt=Le?te.outerHTML:te.innerHTML;return Le&&O["!doctype"]&&te.ownerDocument&&te.ownerDocument.doctype&&te.ownerDocument.doctype.name&&$n(US,te.ownerDocument.doctype.name)&&(Jt=" +`+Jt),he&&(Jt=Ca(Jt)),k&&Ce?H(Jt):Jt},t.setConfig=function(){let me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Q(me),Ge=!0,ft=O,vt=ae},t.clearConfig=function(){At=null,Ge=!1,ft=null,vt=null,k=A,T=""},t.isValidAttribute=function(me,U,te){At||Q({});const pe=ye(me),Oe=ye(U);return xn(pe,Oe,te)},t.addHook=function(me,U){typeof U=="function"&&aa(j,me)&&Bo(j[me],U)},t.removeHook=function(me,U){if(aa(j,me)){if(U!==void 0){const te=xS(j[me],U);return te===-1?void 0:SS(j[me],te,1)[0]}return xm(j[me])}},t.removeHooks=function(me){aa(j,me)&&(j[me]=[])},t.removeAllHooks=function(){j=zm()},t}var KS=Lg();function YS(e,t){const a={};return(e[e.length-1]===""?[...e,""]:e).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}const GS=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,QS=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,XS={};function Lm(e,t){return(XS.jsx?QS:GS).test(e)}const e1=/[ \t\n\f\r]/g;function t1(e){return typeof e=="object"?e.type==="text"?Dm(e.value):!1:Dm(e)}function Dm(e){return e.replace(e1,"")===""}class $i{constructor(t,a,r){this.normal=a,this.property=t,r&&(this.space=r)}}$i.prototype.normal={};$i.prototype.property={};$i.prototype.space=void 0;function Dg(e,t){const a={},r={};for(const o of e)Object.assign(a,o.property),Object.assign(r,o.normal);return new $i(a,r,t)}function Yc(e){return e.toLowerCase()}class oa{constructor(t,a){this.attribute=a,this.property=t}}oa.prototype.attribute="";oa.prototype.booleanish=!1;oa.prototype.boolean=!1;oa.prototype.commaOrSpaceSeparated=!1;oa.prototype.commaSeparated=!1;oa.prototype.defined=!1;oa.prototype.mustUseProperty=!1;oa.prototype.number=!1;oa.prototype.overloadedBoolean=!1;oa.prototype.property="";oa.prototype.spaceSeparated=!1;oa.prototype.space=void 0;let n1=0;const pt=Vr(),pn=Vr(),Gc=Vr(),ke=Vr(),$t=Vr(),Pr=Vr(),fa=Vr();function Vr(){return 2**++n1}const Qc=Object.freeze(Object.defineProperty({__proto__:null,boolean:pt,booleanish:pn,commaOrSpaceSeparated:fa,commaSeparated:Pr,number:ke,overloadedBoolean:Gc,spaceSeparated:$t},Symbol.toStringTag,{value:"Module"})),Kl=Object.keys(Qc);class Gu extends oa{constructor(t,a,r,o){let i=-1;if(super(t,a),Fm(this,"space",o),typeof r=="number")for(;++i4&&a.slice(0,4)==="data"&&s1.test(t)){if(t.charAt(4)==="-"){const i=t.slice(5).replace(qm,u1);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=t.slice(4);if(!qm.test(i)){let s=i.replace(i1,c1);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}o=Gu}return new o(r,t)}function c1(e){return"-"+e.toLowerCase()}function u1(e){return e.charAt(1).toUpperCase()}const d1=Dg([Fg,a1,Ug,$g,Bg],"html"),Qu=Dg([Fg,r1,Ug,$g,Bg],"svg");function p1(e){return e.join(" ").trim()}var Yr={},Yl,jm;function m1(){if(jm)return Yl;jm=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,a=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,l=/^\s+|\s+$/g,c=` +`,u="/",d="*",p="",m="comment",h="declaration";function f(y,E){if(typeof y!="string")throw new TypeError("First argument must be a string");if(!y)return[];E=E||{};var b=1,x=1;function w(z){var F=z.match(t);F&&(b+=F.length);var H=z.lastIndexOf(c);x=~H?z.length-H:x+z.length}function R(){var z={line:b,column:x};return function(F){return F.position=new S(z),M(),F}}function S(z){this.start=z,this.end={line:b,column:x},this.source=E.source}S.prototype.content=y;function I(z){var F=new Error(E.source+":"+b+":"+x+": "+z);if(F.reason=z,F.filename=E.source,F.line=b,F.column=x,F.source=y,!E.silent)throw F}function N(z){var F=z.exec(y);if(F){var H=F[0];return w(H),y=y.slice(H.length),F}}function M(){N(a)}function k(z){var F;for(z=z||[];F=T();)F!==!1&&z.push(F);return z}function T(){var z=R();if(!(u!=y.charAt(0)||d!=y.charAt(1))){for(var F=2;p!=y.charAt(F)&&(d!=y.charAt(F)||u!=y.charAt(F+1));)++F;if(F+=2,p===y.charAt(F-1))return I("End of comment missing");var H=y.slice(2,F-2);return x+=2,w(H),y=y.slice(F),x+=2,z({type:m,comment:H})}}function A(){var z=R(),F=N(r);if(F){if(T(),!N(o))return I("property missing ':'");var H=N(i),ne=z({type:h,property:v(F[0].replace(e,p)),value:H?v(H[0].replace(e,p)):p});return N(s),ne}}function q(){var z=[];k(z);for(var F;F=A();)F!==!1&&(z.push(F),k(z));return z}return M(),q()}function v(y){return y?y.replace(l,p):p}return Yl=f,Yl}var Um;function h1(){if(Um)return Yr;Um=1;var e=Yr&&Yr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.default=a;const t=e(m1());function a(r,o){let i=null;if(!r||typeof r!="string")return i;const s=(0,t.default)(r),l=typeof o=="function";return s.forEach(c=>{if(c.type!=="declaration")return;const{property:u,value:d}=c;l?o(u,d,c):d&&(i=i||{},i[u]=d)}),i}return Yr}var Wo={},$m;function f1(){if($m)return Wo;$m=1,Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,a=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,i=function(u){return!u||a.test(u)||e.test(u)},s=function(u,d){return d.toUpperCase()},l=function(u,d){return"".concat(d,"-")},c=function(u,d){return d===void 0&&(d={}),i(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(o,l):u=u.replace(r,l),u.replace(t,s))};return Wo.camelCase=c,Wo}var Zo,Bm;function g1(){if(Bm)return Zo;Bm=1;var e=Zo&&Zo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},t=e(h1()),a=f1();function r(o,i){var s={};return!o||typeof o!="string"||(0,t.default)(o,function(l,c){l&&c&&(s[(0,a.camelCase)(l,i)]=c)}),s}return r.default=r,Zo=r,Zo}var v1=g1();const b1=ng(v1),Hg=Vg("end"),Xu=Vg("start");function Vg(e){return t;function t(a){const r=a&&a.position&&a.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function y1(e){const t=Xu(e),a=Hg(e);if(t&&a)return{start:t,end:a}}function di(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Hm(e.position):"start"in e||"end"in e?Hm(e):"line"in e||"column"in e?Xc(e):""}function Xc(e){return Vm(e&&e.line)+":"+Vm(e&&e.column)}function Hm(e){return Xc(e&&e.start)+"-"+Xc(e&&e.end)}function Vm(e){return e&&typeof e=="number"?e:1}class Zn extends Error{constructor(t,a,r){super(),typeof a=="string"&&(r=a,a=void 0);let o="",i={},s=!1;if(a&&("line"in a&&"column"in a?i={place:a}:"start"in a&&"end"in a?i={place:a}:"type"in a?i={ancestors:[a],place:a.position}:i={...a}),typeof t=="string"?o=t:!i.cause&&t&&(s=!0,o=t.message,i.cause=t),!i.ruleId&&!i.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?i.ruleId=r:(i.source=r.slice(0,c),i.ruleId=r.slice(c+1))}if(!i.place&&i.ancestors&&i.ancestors){const c=i.ancestors[i.ancestors.length-1];c&&(i.place=c.position)}const l=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=l?l.line:void 0,this.name=di(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=s&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Zn.prototype.file="";Zn.prototype.name="";Zn.prototype.reason="";Zn.prototype.message="";Zn.prototype.stack="";Zn.prototype.column=void 0;Zn.prototype.line=void 0;Zn.prototype.ancestors=void 0;Zn.prototype.cause=void 0;Zn.prototype.fatal=void 0;Zn.prototype.place=void 0;Zn.prototype.ruleId=void 0;Zn.prototype.source=void 0;const ed={}.hasOwnProperty,E1=new Map,w1=/[A-Z]/g,k1=new Set(["table","tbody","thead","tfoot","tr"]),x1=new Set(["td","th"]),Wg="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function S1(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const a=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=P1(a,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=_1(a,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:a,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Qu:d1,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},i=Zg(o,e,void 0);return i&&typeof i!="string"?i:o.create(e,o.Fragment,{children:i||void 0},void 0)}function Zg(e,t,a){if(t.type==="element")return C1(e,t,a);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return N1(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return T1(e,t,a);if(t.type==="mdxjsEsm")return R1(e,t);if(t.type==="root")return I1(e,t,a);if(t.type==="text")return A1(e,t)}function C1(e,t,a){const r=e.schema;let o=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=Qu,e.schema=o),e.ancestors.push(t);const i=Kg(e,t.tagName,!1),s=O1(e,t);let l=nd(e,t);return k1.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!t1(c):!0})),Jg(e,s,i,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,i,s,a)}function N1(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Ei(e,t.position)}function R1(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Ei(e,t.position)}function T1(e,t,a){const r=e.schema;let o=r;t.name==="svg"&&r.space==="html"&&(o=Qu,e.schema=o),e.ancestors.push(t);const i=t.name===null?e.Fragment:Kg(e,t.name,!0),s=M1(e,t),l=nd(e,t);return Jg(e,s,i,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,i,s,a)}function I1(e,t,a){const r={};return td(r,nd(e,t)),e.create(t,e.Fragment,r,a)}function A1(e,t){return t.value}function Jg(e,t,a,r){typeof a!="string"&&a!==e.Fragment&&e.passNode&&(t.node=r)}function td(e,t){if(t.length>0){const a=t.length>1?t:t[0];a&&(e.children=a)}}function _1(e,t,a){return r;function r(o,i,s,l){const u=Array.isArray(s.children)?a:t;return l?u(i,s,l):u(i,s)}}function P1(e,t){return a;function a(r,o,i,s){const l=Array.isArray(i.children),c=Xu(r);return t(o,i,s,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function O1(e,t){const a={};let r,o;for(o in t.properties)if(o!=="children"&&ed.call(t.properties,o)){const i=z1(e,o,t.properties[o]);if(i){const[s,l]=i;e.tableCellAlignToStyle&&s==="align"&&typeof l=="string"&&x1.has(t.tagName)?r=l:a[s]=l}}if(r){const i=a.style||(a.style={});i[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return a}function M1(e,t){const a={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const i=r.data.estree.body[0];i.type;const s=i.expression;s.type;const l=s.properties[0];l.type,Object.assign(a,e.evaluater.evaluateExpression(l.argument))}else Ei(e,t.position);else{const o=r.name;let i;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const l=r.value.data.estree.body[0];l.type,i=e.evaluater.evaluateExpression(l.expression)}else Ei(e,t.position);else i=r.value===null?!0:r.value;a[o]=i}return a}function nd(e,t){const a=[];let r=-1;const o=e.passKeys?new Map:E1;for(;++ro?0:o+t:t=t>o?o:t,a=a>0?a:0,r.length<1e4)s=Array.from(r),s.unshift(t,a),e.splice(...s);else for(a&&e.splice(t,a);i0?(wa(e,e.length,0,t),e):t}const Ym={}.hasOwnProperty;function Yg(e){const t={};let a=-1;for(;++a13&&a<32||a>126&&a<160||a>55295&&a<57344||a>64975&&a<65008||(a&65535)===65535||(a&65535)===65534||a>1114111?"�":String.fromCodePoint(a)}function Fa(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Gn=wr(/[A-Za-z]/),Wn=wr(/[\dA-Za-z]/),V1=wr(/[#-'*+\--9=?A-Z^-~]/);function Ls(e){return e!==null&&(e<32||e===127)}const Xc=wr(/\d/),W1=wr(/[\dA-Fa-f]/),Z1=wr(/[!-/:-@[-`{-~]/);function at(e){return e!==null&&e<-2}function Bt(e){return e!==null&&(e<0||e===32)}function xt(e){return e===-2||e===-1||e===32}const sl=wr(new RegExp("\\p{P}|\\p{S}","u")),jr=wr(/\s/);function wr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCharCode(a))}}function Io(e){const t=[];let a=-1,r=0,o=0;for(;++a55295&&i<57344){const l=e.charCodeAt(a+1);i<56320&&l>56319&&l<57344?(s=String.fromCharCode(i,l),o=1):s="�"}else s=String.fromCharCode(i);s&&(t.push(e.slice(r,a),encodeURIComponent(s)),r=a+o+1,s=""),o&&(a+=o,o=0)}return t.join("")+e.slice(r)}function Rt(e,t,a,r){const o=r?r-1:Number.POSITIVE_INFINITY;let i=0;return s;function s(c){return xt(c)?(e.enter(a),l(c)):t(c)}function l(c){return xt(c)&&i++s))return;const I=t.events.length;let N=I,M,k;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(M){k=t.events[N][1].end;break}M=!0}for(E(r),S=I;Sx;){const R=a[w];t.containerState=R[1],R[0].exit.call(t,e)}a.length=x}function b(){o.write([null]),i=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Q1(e,t,a){return Rt(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function vo(e){if(e===null||Bt(e)||jr(e))return 1;if(sl(e))return 2}function ll(e,t,a){const r=[];let o=-1;for(;++o1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;const p={...e[r][1].end},m={...e[a][1].start};Qm(p,-c),Qm(m,c),s={type:c>1?"strongSequence":"emphasisSequence",start:p,end:{...e[r][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[a][1].start},end:m},i={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[a][1].start}},o={type:c>1?"strong":"emphasis",start:{...s.start},end:{...l.end}},e[r][1].end={...s.start},e[a][1].start={...l.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Oa(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Oa(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",i,t]]),u=Oa(u,ll(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=Oa(u,[["exit",i,t],["enter",l,t],["exit",l,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=Oa(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,wa(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a0&&xt(S)?Rt(e,b,"linePrefix",i+1)(S):b(S)}function b(S){return S===null||at(S)?e.check(Xm,v,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||at(S)?(e.exit("codeFlowValue"),b(S)):(e.consume(S),x)}function w(S){return e.exit("codeFenced"),t(S)}function R(S,I,N){let M=0;return k;function k(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),T}function T(F){return S.enter("codeFencedFence"),xt(F)?Rt(S,A,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):A(F)}function A(F){return F===l?(S.enter("codeFencedFenceSequence"),q(F)):N(F)}function q(F){return F===l?(M++,S.consume(F),q):M>=s?(S.exit("codeFencedFenceSequence"),xt(F)?Rt(S,z,"whitespace")(F):z(F)):N(F)}function z(F){return F===null||at(F)?(S.exit("codeFencedFence"),I(F)):N(F)}}}function u0(e,t,a){const r=this;return o;function o(s){return s===null?a(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i)}function i(s){return r.parser.lazy[r.now().line]?a(s):t(s)}}const Xl={name:"codeIndented",tokenize:p0},d0={partial:!0,tokenize:m0};function p0(e,t,a){const r=this;return o;function o(u){return e.enter("codeIndented"),Rt(e,i,"linePrefix",5)(u)}function i(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?s(u):a(u)}function s(u){return u===null?c(u):at(u)?e.attempt(d0,s,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||at(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function m0(e,t,a){const r=this;return o;function o(s){return r.parser.lazy[r.now().line]?a(s):at(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):Rt(e,i,"linePrefix",5)(s)}function i(s){const l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(s):at(s)?o(s):a(s)}}const h0={name:"codeText",previous:g0,resolve:f0,tokenize:v0};function f0(e){let t=e.length-4,a=3,r,o;if((e[a][1].type==="lineEnding"||e[a][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=a;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,a,r){const o=a||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&Ko(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Ko(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ko(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(r.parser.constructs.flow,a,t)(s)}}function nv(e,t,a,r,o,i,s,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return p;function p(E){return E===60?(e.enter(r),e.enter(o),e.enter(i),e.consume(E),e.exit(i),m):E===null||E===32||E===41||Ls(E)?a(E):(e.enter(r),e.enter(s),e.enter(l),e.enter("chunkString",{contentType:"string"}),v(E))}function m(E){return E===62?(e.enter(i),e.consume(E),e.exit(i),e.exit(o),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),h(E))}function h(E){return E===62?(e.exit("chunkString"),e.exit(l),m(E)):E===null||E===60||at(E)?a(E):(e.consume(E),E===92?f:h)}function f(E){return E===60||E===62||E===92?(e.consume(E),h):h(E)}function v(E){return!d&&(E===null||E===41||Bt(E))?(e.exit("chunkString"),e.exit(l),e.exit(s),e.exit(r),t(E)):d999||h===null||h===91||h===93&&!c||h===94&&!l&&"_hiddenFootnoteSupport"in s.parser.constructs?a(h):h===93?(e.exit(i),e.enter(o),e.consume(h),e.exit(o),e.exit(r),t):at(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),p(h))}function p(h){return h===null||h===91||h===93||at(h)||l++>999?(e.exit("chunkString"),d(h)):(e.consume(h),c||(c=!xt(h)),h===92?m:p)}function m(h){return h===91||h===92||h===93?(e.consume(h),l++,p):p(h)}}function rv(e,t,a,r,o,i){let s;return l;function l(m){return m===34||m===39||m===40?(e.enter(r),e.enter(o),e.consume(m),e.exit(o),s=m===40?41:m,c):a(m)}function c(m){return m===s?(e.enter(o),e.consume(m),e.exit(o),e.exit(r),t):(e.enter(i),u(m))}function u(m){return m===s?(e.exit(i),c(s)):m===null?a(m):at(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),Rt(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===s||m===null||at(m)?(e.exit("chunkString"),u(m)):(e.consume(m),m===92?p:d)}function p(m){return m===s||m===92?(e.consume(m),d):d(m)}}function pi(e,t){let a;return r;function r(o){return at(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a=!0,r):xt(o)?Rt(e,r,a?"linePrefix":"lineSuffix")(o):t(o)}}const C0={name:"definition",tokenize:R0},N0={partial:!0,tokenize:T0};function R0(e,t,a){const r=this;let o;return i;function i(h){return e.enter("definition"),s(h)}function s(h){return av.call(r,e,l,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function l(h){return o=Fa(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),c):a(h)}function c(h){return Bt(h)?pi(e,u)(h):u(h)}function u(h){return nv(e,d,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function d(h){return e.attempt(N0,p,p)(h)}function p(h){return xt(h)?Rt(e,m,"whitespace")(h):m(h)}function m(h){return h===null||at(h)?(e.exit("definition"),r.parser.defined.push(o),t(h)):a(h)}}function T0(e,t,a){return r;function r(l){return Bt(l)?pi(e,o)(l):a(l)}function o(l){return rv(e,i,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function i(l){return xt(l)?Rt(e,s,"whitespace")(l):s(l)}function s(l){return l===null||at(l)?t(l):a(l)}}const I0={name:"hardBreakEscape",tokenize:A0};function A0(e,t,a){return r;function r(i){return e.enter("hardBreakEscape"),e.consume(i),o}function o(i){return at(i)?(e.exit("hardBreakEscape"),t(i)):a(i)}}const _0={name:"headingAtx",resolve:P0,tokenize:O0};function P0(e,t){let a=e.length-2,r=3,o,i;return e[r][1].type==="whitespace"&&(r+=2),a-2>r&&e[a][1].type==="whitespace"&&(a-=2),e[a][1].type==="atxHeadingSequence"&&(r===a-1||a-4>r&&e[a-2][1].type==="whitespace")&&(a-=r+1===a?2:4),a>r&&(o={type:"atxHeadingText",start:e[r][1].start,end:e[a][1].end},i={type:"chunkText",start:e[r][1].start,end:e[a][1].end,contentType:"text"},wa(e,r,a-r+1,[["enter",o,t],["enter",i,t],["exit",i,t],["exit",o,t]])),e}function O0(e,t,a){let r=0;return o;function o(d){return e.enter("atxHeading"),i(d)}function i(d){return e.enter("atxHeadingSequence"),s(d)}function s(d){return d===35&&r++<6?(e.consume(d),s):d===null||Bt(d)?(e.exit("atxHeadingSequence"),l(d)):a(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||at(d)?(e.exit("atxHeading"),t(d)):xt(d)?Rt(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||Bt(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const M0=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],th=["pre","script","style","textarea"],z0={concrete:!0,name:"htmlFlow",resolveTo:F0,tokenize:q0},L0={partial:!0,tokenize:U0},D0={partial:!0,tokenize:j0};function F0(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function q0(e,t,a){const r=this;let o,i,s,l,c;return u;function u(D){return d(D)}function d(D){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(D),p}function p(D){return D===33?(e.consume(D),m):D===47?(e.consume(D),i=!0,v):D===63?(e.consume(D),o=3,r.interrupt?t:_):Gn(D)?(e.consume(D),s=String.fromCharCode(D),y):a(D)}function m(D){return D===45?(e.consume(D),o=2,h):D===91?(e.consume(D),o=5,l=0,f):Gn(D)?(e.consume(D),o=4,r.interrupt?t:_):a(D)}function h(D){return D===45?(e.consume(D),r.interrupt?t:_):a(D)}function f(D){const G="CDATA[";return D===G.charCodeAt(l++)?(e.consume(D),l===G.length?r.interrupt?t:A:f):a(D)}function v(D){return Gn(D)?(e.consume(D),s=String.fromCharCode(D),y):a(D)}function y(D){if(D===null||D===47||D===62||Bt(D)){const G=D===47,j=s.toLowerCase();return!G&&!i&&th.includes(j)?(o=1,r.interrupt?t(D):A(D)):M0.includes(s.toLowerCase())?(o=6,G?(e.consume(D),E):r.interrupt?t(D):A(D)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?a(D):i?b(D):x(D))}return D===45||Wn(D)?(e.consume(D),s+=String.fromCharCode(D),y):a(D)}function E(D){return D===62?(e.consume(D),r.interrupt?t:A):a(D)}function b(D){return xt(D)?(e.consume(D),b):k(D)}function x(D){return D===47?(e.consume(D),k):D===58||D===95||Gn(D)?(e.consume(D),w):xt(D)?(e.consume(D),x):k(D)}function w(D){return D===45||D===46||D===58||D===95||Wn(D)?(e.consume(D),w):R(D)}function R(D){return D===61?(e.consume(D),S):xt(D)?(e.consume(D),R):x(D)}function S(D){return D===null||D===60||D===61||D===62||D===96?a(D):D===34||D===39?(e.consume(D),c=D,I):xt(D)?(e.consume(D),S):N(D)}function I(D){return D===c?(e.consume(D),c=null,M):D===null||at(D)?a(D):(e.consume(D),I)}function N(D){return D===null||D===34||D===39||D===47||D===60||D===61||D===62||D===96||Bt(D)?R(D):(e.consume(D),N)}function M(D){return D===47||D===62||xt(D)?x(D):a(D)}function k(D){return D===62?(e.consume(D),T):a(D)}function T(D){return D===null||at(D)?A(D):xt(D)?(e.consume(D),T):a(D)}function A(D){return D===45&&o===2?(e.consume(D),H):D===60&&o===1?(e.consume(D),ne):D===62&&o===4?(e.consume(D),ee):D===63&&o===3?(e.consume(D),_):D===93&&o===5?(e.consume(D),P):at(D)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(L0,Z,q)(D)):D===null||at(D)?(e.exit("htmlFlowData"),q(D)):(e.consume(D),A)}function q(D){return e.check(D0,z,Z)(D)}function z(D){return e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),F}function F(D){return D===null||at(D)?q(D):(e.enter("htmlFlowData"),A(D))}function H(D){return D===45?(e.consume(D),_):A(D)}function ne(D){return D===47?(e.consume(D),s="",B):A(D)}function B(D){if(D===62){const G=s.toLowerCase();return th.includes(G)?(e.consume(D),ee):A(D)}return Gn(D)&&s.length<8?(e.consume(D),s+=String.fromCharCode(D),B):A(D)}function P(D){return D===93?(e.consume(D),_):A(D)}function _(D){return D===62?(e.consume(D),ee):D===45&&o===2?(e.consume(D),_):A(D)}function ee(D){return D===null||at(D)?(e.exit("htmlFlowData"),Z(D)):(e.consume(D),ee)}function Z(D){return e.exit("htmlFlow"),t(D)}}function j0(e,t,a){const r=this;return o;function o(s){return at(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):a(s)}function i(s){return r.parser.lazy[r.now().line]?a(s):t(s)}}function U0(e,t,a){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt($i,t,a)}}const $0={name:"htmlText",tokenize:B0};function B0(e,t,a){const r=this;let o,i,s;return l;function l(_){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(_),c}function c(_){return _===33?(e.consume(_),u):_===47?(e.consume(_),R):_===63?(e.consume(_),x):Gn(_)?(e.consume(_),N):a(_)}function u(_){return _===45?(e.consume(_),d):_===91?(e.consume(_),i=0,f):Gn(_)?(e.consume(_),b):a(_)}function d(_){return _===45?(e.consume(_),h):a(_)}function p(_){return _===null?a(_):_===45?(e.consume(_),m):at(_)?(s=p,ne(_)):(e.consume(_),p)}function m(_){return _===45?(e.consume(_),h):p(_)}function h(_){return _===62?H(_):_===45?m(_):p(_)}function f(_){const ee="CDATA[";return _===ee.charCodeAt(i++)?(e.consume(_),i===ee.length?v:f):a(_)}function v(_){return _===null?a(_):_===93?(e.consume(_),y):at(_)?(s=v,ne(_)):(e.consume(_),v)}function y(_){return _===93?(e.consume(_),E):v(_)}function E(_){return _===62?H(_):_===93?(e.consume(_),E):v(_)}function b(_){return _===null||_===62?H(_):at(_)?(s=b,ne(_)):(e.consume(_),b)}function x(_){return _===null?a(_):_===63?(e.consume(_),w):at(_)?(s=x,ne(_)):(e.consume(_),x)}function w(_){return _===62?H(_):x(_)}function R(_){return Gn(_)?(e.consume(_),S):a(_)}function S(_){return _===45||Wn(_)?(e.consume(_),S):I(_)}function I(_){return at(_)?(s=I,ne(_)):xt(_)?(e.consume(_),I):H(_)}function N(_){return _===45||Wn(_)?(e.consume(_),N):_===47||_===62||Bt(_)?M(_):a(_)}function M(_){return _===47?(e.consume(_),H):_===58||_===95||Gn(_)?(e.consume(_),k):at(_)?(s=M,ne(_)):xt(_)?(e.consume(_),M):H(_)}function k(_){return _===45||_===46||_===58||_===95||Wn(_)?(e.consume(_),k):T(_)}function T(_){return _===61?(e.consume(_),A):at(_)?(s=T,ne(_)):xt(_)?(e.consume(_),T):M(_)}function A(_){return _===null||_===60||_===61||_===62||_===96?a(_):_===34||_===39?(e.consume(_),o=_,q):at(_)?(s=A,ne(_)):xt(_)?(e.consume(_),A):(e.consume(_),z)}function q(_){return _===o?(e.consume(_),o=void 0,F):_===null?a(_):at(_)?(s=q,ne(_)):(e.consume(_),q)}function z(_){return _===null||_===34||_===39||_===60||_===61||_===96?a(_):_===47||_===62||Bt(_)?M(_):(e.consume(_),z)}function F(_){return _===47||_===62||Bt(_)?M(_):a(_)}function H(_){return _===62?(e.consume(_),e.exit("htmlTextData"),e.exit("htmlText"),t):a(_)}function ne(_){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),B}function B(_){return xt(_)?Rt(e,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):P(_)}function P(_){return e.enter("htmlTextData"),s(_)}}const od={name:"labelEnd",resolveAll:Z0,resolveTo:J0,tokenize:K0},H0={tokenize:Y0},V0={tokenize:G0},W0={tokenize:Q0};function Z0(e){let t=-1;const a=[];for(;++t=3&&(u===null||at(u))?(e.exit("thematicBreak"),t(u)):a(u)}function c(u){return u===o?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),xt(u)?Rt(e,l,"whitespace")(u):l(u))}}const na={continuation:{tokenize:lC},exit:uC,name:"list",tokenize:sC},oC={partial:!0,tokenize:dC},iC={partial:!0,tokenize:cC};function sC(e,t,a){const r=this,o=r.events[r.events.length-1];let i=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,s=0;return l;function l(h){const f=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Xc(h)){if(r.containerState.type||(r.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(xs,a,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(h)}return a(h)}function c(h){return Xc(h)&&++s<10?(e.consume(h),c):(!r.interrupt||s<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):a(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check($i,r.interrupt?a:d,e.attempt(oC,m,p))}function d(h){return r.containerState.initialBlankLine=!0,i++,m(h)}function p(h){return xt(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),m):a(h)}function m(h){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function lC(e,t,a){const r=this;return r.containerState._closeFlow=void 0,e.check($i,o,i);function o(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Rt(e,t,"listItemIndent",r.containerState.size+1)(l)}function i(l){return r.containerState.furtherBlankLines||!xt(l)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(l)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(iC,t,s)(l))}function s(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,Rt(e,e.attempt(na,t,a),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function cC(e,t,a){const r=this;return Rt(e,o,"listItemIndent",r.containerState.size+1);function o(i){const s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(i):a(i)}}function uC(e){e.exit(this.containerState.type)}function dC(e,t,a){const r=this;return Rt(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(i){const s=r.events[r.events.length-1];return!xt(i)&&s&&s[1].type==="listItemPrefixWhitespace"?t(i):a(i)}}const nh={name:"setextUnderline",resolveTo:pC,tokenize:mC};function pC(e,t){let a=e.length,r,o,i;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){r=a;break}e[a][1].type==="paragraph"&&(o=a)}else e[a][1].type==="content"&&e.splice(a,1),!i&&e[a][1].type==="definition"&&(i=a);const s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",i?(e.splice(o,0,["enter",s,t]),e.splice(i+1,0,["exit",e[r][1],t]),e[r][1].end={...e[i][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function mC(e,t,a){const r=this;let o;return i;function i(u){let d=r.events.length,p;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){p=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(e.enter("setextHeadingLine"),o=u,s(u)):a(u)}function s(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===o?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),xt(u)?Rt(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||at(u)?(e.exit("setextHeadingLine"),t(u)):a(u)}}const hC={tokenize:fC};function fC(e){const t=this,a=e.attempt($i,r,e.attempt(this.parser.constructs.flowInitial,o,Rt(e,e.attempt(this.parser.constructs.flow,o,e.attempt(E0,o)),"linePrefix")));return a;function r(i){if(i===null){e.consume(i);return}return e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a}function o(i){if(i===null){e.consume(i);return}return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t.currentConstruct=void 0,a}}const gC={resolveAll:iv()},vC=ov("string"),bC=ov("text");function ov(e){return{resolveAll:iv(e==="text"?yC:void 0),tokenize:t};function t(a){const r=this,o=this.parser.constructs[e],i=a.attempt(o,s,l);return s;function s(d){return u(d)?i(d):l(d)}function l(d){if(d===null){a.consume(d);return}return a.enter("data"),a.consume(d),c}function c(d){return u(d)?(a.exit("data"),i(d)):(a.consume(d),c)}function u(d){if(d===null)return!0;const p=o[d];let m=-1;if(p)for(;++m-1){const l=s[0];typeof l=="string"?s[0]=l.slice(r):s.shift()}i>0&&s.push(e[o].slice(0,i))}return s}function PC(e,t){let a=-1;const r=[];let o;for(;++ao?0:o+t:t=t>o?o:t,a=a>0?a:0,r.length<1e4)s=Array.from(r),s.unshift(t,a),e.splice(...s);else for(a&&e.splice(t,a);i0?(wa(e,e.length,0,t),e):t}const Ym={}.hasOwnProperty;function Gg(e){const t={};let a=-1;for(;++a13&&a<32||a>126&&a<160||a>55295&&a<57344||a>64975&&a<65008||(a&65535)===65535||(a&65535)===65534||a>1114111?"�":String.fromCodePoint(a)}function Fa(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Gn=wr(/[A-Za-z]/),Wn=wr(/[\dA-Za-z]/),W1=wr(/[#-'*+\--9=?A-Z^-~]/);function Ds(e){return e!==null&&(e<32||e===127)}const eu=wr(/\d/),Z1=wr(/[\dA-Fa-f]/),J1=wr(/[!-/:-@[-`{-~]/);function at(e){return e!==null&&e<-2}function Bt(e){return e!==null&&(e<0||e===32)}function xt(e){return e===-2||e===-1||e===32}const ll=wr(new RegExp("\\p{P}|\\p{S}","u")),jr=wr(/\s/);function wr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCharCode(a))}}function Io(e){const t=[];let a=-1,r=0,o=0;for(;++a55295&&i<57344){const l=e.charCodeAt(a+1);i<56320&&l>56319&&l<57344?(s=String.fromCharCode(i,l),o=1):s="�"}else s=String.fromCharCode(i);s&&(t.push(e.slice(r,a),encodeURIComponent(s)),r=a+o+1,s=""),o&&(a+=o,o=0)}return t.join("")+e.slice(r)}function Rt(e,t,a,r){const o=r?r-1:Number.POSITIVE_INFINITY;let i=0;return s;function s(c){return xt(c)?(e.enter(a),l(c)):t(c)}function l(c){return xt(c)&&i++s))return;const I=t.events.length;let N=I,M,k;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(M){k=t.events[N][1].end;break}M=!0}for(E(r),S=I;Sx;){const R=a[w];t.containerState=R[1],R[0].exit.call(t,e)}a.length=x}function b(){o.write([null]),i=void 0,o=void 0,t.containerState._closeFlow=void 0}}function X1(e,t,a){return Rt(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function vo(e){if(e===null||Bt(e)||jr(e))return 1;if(ll(e))return 2}function cl(e,t,a){const r=[];let o=-1;for(;++o1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;const p={...e[r][1].end},m={...e[a][1].start};Qm(p,-c),Qm(m,c),s={type:c>1?"strongSequence":"emphasisSequence",start:p,end:{...e[r][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[a][1].start},end:m},i={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[a][1].start}},o={type:c>1?"strong":"emphasis",start:{...s.start},end:{...l.end}},e[r][1].end={...s.start},e[a][1].start={...l.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Oa(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Oa(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",i,t]]),u=Oa(u,cl(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=Oa(u,[["exit",i,t],["enter",l,t],["exit",l,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=Oa(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,wa(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a0&&xt(S)?Rt(e,b,"linePrefix",i+1)(S):b(S)}function b(S){return S===null||at(S)?e.check(Xm,v,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||at(S)?(e.exit("codeFlowValue"),b(S)):(e.consume(S),x)}function w(S){return e.exit("codeFenced"),t(S)}function R(S,I,N){let M=0;return k;function k(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),T}function T(F){return S.enter("codeFencedFence"),xt(F)?Rt(S,A,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):A(F)}function A(F){return F===l?(S.enter("codeFencedFenceSequence"),q(F)):N(F)}function q(F){return F===l?(M++,S.consume(F),q):M>=s?(S.exit("codeFencedFenceSequence"),xt(F)?Rt(S,z,"whitespace")(F):z(F)):N(F)}function z(F){return F===null||at(F)?(S.exit("codeFencedFence"),I(F)):N(F)}}}function d0(e,t,a){const r=this;return o;function o(s){return s===null?a(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i)}function i(s){return r.parser.lazy[r.now().line]?a(s):t(s)}}const ec={name:"codeIndented",tokenize:m0},p0={partial:!0,tokenize:h0};function m0(e,t,a){const r=this;return o;function o(u){return e.enter("codeIndented"),Rt(e,i,"linePrefix",5)(u)}function i(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?s(u):a(u)}function s(u){return u===null?c(u):at(u)?e.attempt(p0,s,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||at(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function h0(e,t,a){const r=this;return o;function o(s){return r.parser.lazy[r.now().line]?a(s):at(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):Rt(e,i,"linePrefix",5)(s)}function i(s){const l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(s):at(s)?o(s):a(s)}}const f0={name:"codeText",previous:v0,resolve:g0,tokenize:b0};function g0(e){let t=e.length-4,a=3,r,o;if((e[a][1].type==="lineEnding"||e[a][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=a;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,a,r){const o=a||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&Ko(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Ko(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ko(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(r.parser.constructs.flow,a,t)(s)}}function av(e,t,a,r,o,i,s,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return p;function p(E){return E===60?(e.enter(r),e.enter(o),e.enter(i),e.consume(E),e.exit(i),m):E===null||E===32||E===41||Ds(E)?a(E):(e.enter(r),e.enter(s),e.enter(l),e.enter("chunkString",{contentType:"string"}),v(E))}function m(E){return E===62?(e.enter(i),e.consume(E),e.exit(i),e.exit(o),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),h(E))}function h(E){return E===62?(e.exit("chunkString"),e.exit(l),m(E)):E===null||E===60||at(E)?a(E):(e.consume(E),E===92?f:h)}function f(E){return E===60||E===62||E===92?(e.consume(E),h):h(E)}function v(E){return!d&&(E===null||E===41||Bt(E))?(e.exit("chunkString"),e.exit(l),e.exit(s),e.exit(r),t(E)):d999||h===null||h===91||h===93&&!c||h===94&&!l&&"_hiddenFootnoteSupport"in s.parser.constructs?a(h):h===93?(e.exit(i),e.enter(o),e.consume(h),e.exit(o),e.exit(r),t):at(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),p(h))}function p(h){return h===null||h===91||h===93||at(h)||l++>999?(e.exit("chunkString"),d(h)):(e.consume(h),c||(c=!xt(h)),h===92?m:p)}function m(h){return h===91||h===92||h===93?(e.consume(h),l++,p):p(h)}}function ov(e,t,a,r,o,i){let s;return l;function l(m){return m===34||m===39||m===40?(e.enter(r),e.enter(o),e.consume(m),e.exit(o),s=m===40?41:m,c):a(m)}function c(m){return m===s?(e.enter(o),e.consume(m),e.exit(o),e.exit(r),t):(e.enter(i),u(m))}function u(m){return m===s?(e.exit(i),c(s)):m===null?a(m):at(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),Rt(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===s||m===null||at(m)?(e.exit("chunkString"),u(m)):(e.consume(m),m===92?p:d)}function p(m){return m===s||m===92?(e.consume(m),d):d(m)}}function pi(e,t){let a;return r;function r(o){return at(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a=!0,r):xt(o)?Rt(e,r,a?"linePrefix":"lineSuffix")(o):t(o)}}const N0={name:"definition",tokenize:T0},R0={partial:!0,tokenize:I0};function T0(e,t,a){const r=this;let o;return i;function i(h){return e.enter("definition"),s(h)}function s(h){return rv.call(r,e,l,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function l(h){return o=Fa(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),c):a(h)}function c(h){return Bt(h)?pi(e,u)(h):u(h)}function u(h){return av(e,d,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function d(h){return e.attempt(R0,p,p)(h)}function p(h){return xt(h)?Rt(e,m,"whitespace")(h):m(h)}function m(h){return h===null||at(h)?(e.exit("definition"),r.parser.defined.push(o),t(h)):a(h)}}function I0(e,t,a){return r;function r(l){return Bt(l)?pi(e,o)(l):a(l)}function o(l){return ov(e,i,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function i(l){return xt(l)?Rt(e,s,"whitespace")(l):s(l)}function s(l){return l===null||at(l)?t(l):a(l)}}const A0={name:"hardBreakEscape",tokenize:_0};function _0(e,t,a){return r;function r(i){return e.enter("hardBreakEscape"),e.consume(i),o}function o(i){return at(i)?(e.exit("hardBreakEscape"),t(i)):a(i)}}const P0={name:"headingAtx",resolve:O0,tokenize:M0};function O0(e,t){let a=e.length-2,r=3,o,i;return e[r][1].type==="whitespace"&&(r+=2),a-2>r&&e[a][1].type==="whitespace"&&(a-=2),e[a][1].type==="atxHeadingSequence"&&(r===a-1||a-4>r&&e[a-2][1].type==="whitespace")&&(a-=r+1===a?2:4),a>r&&(o={type:"atxHeadingText",start:e[r][1].start,end:e[a][1].end},i={type:"chunkText",start:e[r][1].start,end:e[a][1].end,contentType:"text"},wa(e,r,a-r+1,[["enter",o,t],["enter",i,t],["exit",i,t],["exit",o,t]])),e}function M0(e,t,a){let r=0;return o;function o(d){return e.enter("atxHeading"),i(d)}function i(d){return e.enter("atxHeadingSequence"),s(d)}function s(d){return d===35&&r++<6?(e.consume(d),s):d===null||Bt(d)?(e.exit("atxHeadingSequence"),l(d)):a(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||at(d)?(e.exit("atxHeading"),t(d)):xt(d)?Rt(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||Bt(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const z0=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],th=["pre","script","style","textarea"],L0={concrete:!0,name:"htmlFlow",resolveTo:q0,tokenize:j0},D0={partial:!0,tokenize:$0},F0={partial:!0,tokenize:U0};function q0(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function j0(e,t,a){const r=this;let o,i,s,l,c;return u;function u(D){return d(D)}function d(D){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(D),p}function p(D){return D===33?(e.consume(D),m):D===47?(e.consume(D),i=!0,v):D===63?(e.consume(D),o=3,r.interrupt?t:_):Gn(D)?(e.consume(D),s=String.fromCharCode(D),y):a(D)}function m(D){return D===45?(e.consume(D),o=2,h):D===91?(e.consume(D),o=5,l=0,f):Gn(D)?(e.consume(D),o=4,r.interrupt?t:_):a(D)}function h(D){return D===45?(e.consume(D),r.interrupt?t:_):a(D)}function f(D){const G="CDATA[";return D===G.charCodeAt(l++)?(e.consume(D),l===G.length?r.interrupt?t:A:f):a(D)}function v(D){return Gn(D)?(e.consume(D),s=String.fromCharCode(D),y):a(D)}function y(D){if(D===null||D===47||D===62||Bt(D)){const G=D===47,j=s.toLowerCase();return!G&&!i&&th.includes(j)?(o=1,r.interrupt?t(D):A(D)):z0.includes(s.toLowerCase())?(o=6,G?(e.consume(D),E):r.interrupt?t(D):A(D)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?a(D):i?b(D):x(D))}return D===45||Wn(D)?(e.consume(D),s+=String.fromCharCode(D),y):a(D)}function E(D){return D===62?(e.consume(D),r.interrupt?t:A):a(D)}function b(D){return xt(D)?(e.consume(D),b):k(D)}function x(D){return D===47?(e.consume(D),k):D===58||D===95||Gn(D)?(e.consume(D),w):xt(D)?(e.consume(D),x):k(D)}function w(D){return D===45||D===46||D===58||D===95||Wn(D)?(e.consume(D),w):R(D)}function R(D){return D===61?(e.consume(D),S):xt(D)?(e.consume(D),R):x(D)}function S(D){return D===null||D===60||D===61||D===62||D===96?a(D):D===34||D===39?(e.consume(D),c=D,I):xt(D)?(e.consume(D),S):N(D)}function I(D){return D===c?(e.consume(D),c=null,M):D===null||at(D)?a(D):(e.consume(D),I)}function N(D){return D===null||D===34||D===39||D===47||D===60||D===61||D===62||D===96||Bt(D)?R(D):(e.consume(D),N)}function M(D){return D===47||D===62||xt(D)?x(D):a(D)}function k(D){return D===62?(e.consume(D),T):a(D)}function T(D){return D===null||at(D)?A(D):xt(D)?(e.consume(D),T):a(D)}function A(D){return D===45&&o===2?(e.consume(D),H):D===60&&o===1?(e.consume(D),ne):D===62&&o===4?(e.consume(D),ee):D===63&&o===3?(e.consume(D),_):D===93&&o===5?(e.consume(D),P):at(D)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(D0,Z,q)(D)):D===null||at(D)?(e.exit("htmlFlowData"),q(D)):(e.consume(D),A)}function q(D){return e.check(F0,z,Z)(D)}function z(D){return e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),F}function F(D){return D===null||at(D)?q(D):(e.enter("htmlFlowData"),A(D))}function H(D){return D===45?(e.consume(D),_):A(D)}function ne(D){return D===47?(e.consume(D),s="",B):A(D)}function B(D){if(D===62){const G=s.toLowerCase();return th.includes(G)?(e.consume(D),ee):A(D)}return Gn(D)&&s.length<8?(e.consume(D),s+=String.fromCharCode(D),B):A(D)}function P(D){return D===93?(e.consume(D),_):A(D)}function _(D){return D===62?(e.consume(D),ee):D===45&&o===2?(e.consume(D),_):A(D)}function ee(D){return D===null||at(D)?(e.exit("htmlFlowData"),Z(D)):(e.consume(D),ee)}function Z(D){return e.exit("htmlFlow"),t(D)}}function U0(e,t,a){const r=this;return o;function o(s){return at(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):a(s)}function i(s){return r.parser.lazy[r.now().line]?a(s):t(s)}}function $0(e,t,a){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(Bi,t,a)}}const B0={name:"htmlText",tokenize:H0};function H0(e,t,a){const r=this;let o,i,s;return l;function l(_){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(_),c}function c(_){return _===33?(e.consume(_),u):_===47?(e.consume(_),R):_===63?(e.consume(_),x):Gn(_)?(e.consume(_),N):a(_)}function u(_){return _===45?(e.consume(_),d):_===91?(e.consume(_),i=0,f):Gn(_)?(e.consume(_),b):a(_)}function d(_){return _===45?(e.consume(_),h):a(_)}function p(_){return _===null?a(_):_===45?(e.consume(_),m):at(_)?(s=p,ne(_)):(e.consume(_),p)}function m(_){return _===45?(e.consume(_),h):p(_)}function h(_){return _===62?H(_):_===45?m(_):p(_)}function f(_){const ee="CDATA[";return _===ee.charCodeAt(i++)?(e.consume(_),i===ee.length?v:f):a(_)}function v(_){return _===null?a(_):_===93?(e.consume(_),y):at(_)?(s=v,ne(_)):(e.consume(_),v)}function y(_){return _===93?(e.consume(_),E):v(_)}function E(_){return _===62?H(_):_===93?(e.consume(_),E):v(_)}function b(_){return _===null||_===62?H(_):at(_)?(s=b,ne(_)):(e.consume(_),b)}function x(_){return _===null?a(_):_===63?(e.consume(_),w):at(_)?(s=x,ne(_)):(e.consume(_),x)}function w(_){return _===62?H(_):x(_)}function R(_){return Gn(_)?(e.consume(_),S):a(_)}function S(_){return _===45||Wn(_)?(e.consume(_),S):I(_)}function I(_){return at(_)?(s=I,ne(_)):xt(_)?(e.consume(_),I):H(_)}function N(_){return _===45||Wn(_)?(e.consume(_),N):_===47||_===62||Bt(_)?M(_):a(_)}function M(_){return _===47?(e.consume(_),H):_===58||_===95||Gn(_)?(e.consume(_),k):at(_)?(s=M,ne(_)):xt(_)?(e.consume(_),M):H(_)}function k(_){return _===45||_===46||_===58||_===95||Wn(_)?(e.consume(_),k):T(_)}function T(_){return _===61?(e.consume(_),A):at(_)?(s=T,ne(_)):xt(_)?(e.consume(_),T):M(_)}function A(_){return _===null||_===60||_===61||_===62||_===96?a(_):_===34||_===39?(e.consume(_),o=_,q):at(_)?(s=A,ne(_)):xt(_)?(e.consume(_),A):(e.consume(_),z)}function q(_){return _===o?(e.consume(_),o=void 0,F):_===null?a(_):at(_)?(s=q,ne(_)):(e.consume(_),q)}function z(_){return _===null||_===34||_===39||_===60||_===61||_===96?a(_):_===47||_===62||Bt(_)?M(_):(e.consume(_),z)}function F(_){return _===47||_===62||Bt(_)?M(_):a(_)}function H(_){return _===62?(e.consume(_),e.exit("htmlTextData"),e.exit("htmlText"),t):a(_)}function ne(_){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),B}function B(_){return xt(_)?Rt(e,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):P(_)}function P(_){return e.enter("htmlTextData"),s(_)}}const od={name:"labelEnd",resolveAll:J0,resolveTo:K0,tokenize:Y0},V0={tokenize:G0},W0={tokenize:Q0},Z0={tokenize:X0};function J0(e){let t=-1;const a=[];for(;++t=3&&(u===null||at(u))?(e.exit("thematicBreak"),t(u)):a(u)}function c(u){return u===o?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),xt(u)?Rt(e,l,"whitespace")(u):l(u))}}const na={continuation:{tokenize:cC},exit:dC,name:"list",tokenize:lC},iC={partial:!0,tokenize:pC},sC={partial:!0,tokenize:uC};function lC(e,t,a){const r=this,o=r.events[r.events.length-1];let i=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,s=0;return l;function l(h){const f=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:eu(h)){if(r.containerState.type||(r.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(Ss,a,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(h)}return a(h)}function c(h){return eu(h)&&++s<10?(e.consume(h),c):(!r.interrupt||s<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):a(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Bi,r.interrupt?a:d,e.attempt(iC,m,p))}function d(h){return r.containerState.initialBlankLine=!0,i++,m(h)}function p(h){return xt(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),m):a(h)}function m(h){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function cC(e,t,a){const r=this;return r.containerState._closeFlow=void 0,e.check(Bi,o,i);function o(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Rt(e,t,"listItemIndent",r.containerState.size+1)(l)}function i(l){return r.containerState.furtherBlankLines||!xt(l)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(l)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(sC,t,s)(l))}function s(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,Rt(e,e.attempt(na,t,a),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function uC(e,t,a){const r=this;return Rt(e,o,"listItemIndent",r.containerState.size+1);function o(i){const s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(i):a(i)}}function dC(e){e.exit(this.containerState.type)}function pC(e,t,a){const r=this;return Rt(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(i){const s=r.events[r.events.length-1];return!xt(i)&&s&&s[1].type==="listItemPrefixWhitespace"?t(i):a(i)}}const nh={name:"setextUnderline",resolveTo:mC,tokenize:hC};function mC(e,t){let a=e.length,r,o,i;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){r=a;break}e[a][1].type==="paragraph"&&(o=a)}else e[a][1].type==="content"&&e.splice(a,1),!i&&e[a][1].type==="definition"&&(i=a);const s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",i?(e.splice(o,0,["enter",s,t]),e.splice(i+1,0,["exit",e[r][1],t]),e[r][1].end={...e[i][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function hC(e,t,a){const r=this;let o;return i;function i(u){let d=r.events.length,p;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){p=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(e.enter("setextHeadingLine"),o=u,s(u)):a(u)}function s(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===o?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),xt(u)?Rt(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||at(u)?(e.exit("setextHeadingLine"),t(u)):a(u)}}const fC={tokenize:gC};function gC(e){const t=this,a=e.attempt(Bi,r,e.attempt(this.parser.constructs.flowInitial,o,Rt(e,e.attempt(this.parser.constructs.flow,o,e.attempt(w0,o)),"linePrefix")));return a;function r(i){if(i===null){e.consume(i);return}return e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a}function o(i){if(i===null){e.consume(i);return}return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t.currentConstruct=void 0,a}}const vC={resolveAll:sv()},bC=iv("string"),yC=iv("text");function iv(e){return{resolveAll:sv(e==="text"?EC:void 0),tokenize:t};function t(a){const r=this,o=this.parser.constructs[e],i=a.attempt(o,s,l);return s;function s(d){return u(d)?i(d):l(d)}function l(d){if(d===null){a.consume(d);return}return a.enter("data"),a.consume(d),c}function c(d){return u(d)?(a.exit("data"),i(d)):(a.consume(d),c)}function u(d){if(d===null)return!0;const p=o[d];let m=-1;if(p)for(;++m-1){const l=s[0];typeof l=="string"?s[0]=l.slice(r):s.shift()}i>0&&s.push(e[o].slice(0,i))}return s}function OC(e,t){let a=-1;const r=[];let o;for(;++a0){const ft=Ne.tokenStack[Ne.tokenStack.length-1];(ft[1]||rh).call(Ne,void 0,ft[0])}for(he.position={start:sr(ie.length>0?ie[0][1].start:{line:1,column:1,offset:0}),end:sr(ie.length>0?ie[ie.length-2][1].end:{line:1,column:1,offset:0})},Ge=-1;++Ge0&&(r.className=["language-"+o[0]]);let i={type:"element",tagName:"code",properties:r,children:[{type:"text",value:a}]};return t.meta&&(i.data={meta:t.meta}),e.patch(t,i),i=e.applyData(t,i),i={type:"element",tagName:"pre",properties:{},children:[i]},e.patch(t,i),i}function WC(e,t){const a={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function ZC(e,t){const a={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function JC(e,t){const a=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),o=Io(r.toLowerCase()),i=e.footnoteOrder.indexOf(r);let s,l=e.footnoteCounts.get(r);l===void 0?(l=0,e.footnoteOrder.push(r),s=e.footnoteOrder.length):s=i+1,l+=1,e.footnoteCounts.set(r,l);const c={type:"element",tagName:"a",properties:{href:"#"+a+"fn-"+o,id:a+"fnref-"+o+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function KC(e,t){const a={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function YC(e,t){if(e.options.allowDangerousHtml){const a={type:"raw",value:t.value};return e.patch(t,a),e.applyData(t,a)}}function cv(e,t){const a=t.referenceType;let r="]";if(a==="collapsed"?r+="[]":a==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const o=e.all(t),i=o[0];i&&i.type==="text"?i.value="["+i.value:o.unshift({type:"text",value:"["});const s=o[o.length-1];return s&&s.type==="text"?s.value+=r:o.push({type:"text",value:r}),o}function GC(e,t){const a=String(t.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return cv(e,t);const o={src:Io(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const i={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,i),e.applyData(t,i)}function QC(e,t){const a={src:Io(t.url)};t.alt!==null&&t.alt!==void 0&&(a.alt=t.alt),t.title!==null&&t.title!==void 0&&(a.title=t.title);const r={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,r),e.applyData(t,r)}function XC(e,t){const a={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,a);const r={type:"element",tagName:"code",properties:{},children:[a]};return e.patch(t,r),e.applyData(t,r)}function eN(e,t){const a=String(t.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return cv(e,t);const o={href:Io(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const i={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function tN(e,t){const a={href:Io(t.url)};t.title!==null&&t.title!==void 0&&(a.title=t.title);const r={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function nN(e,t,a){const r=e.all(t),o=a?aN(a):uv(t),i={},s=[];if(typeof t.checked=="boolean"){const d=r[0];let p;d&&d.type==="element"&&d.tagName==="p"?p=d:(p={type:"element",tagName:"p",properties:{},children:[]},r.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let l=-1;for(;++l0){const ft=Ne.tokenStack[Ne.tokenStack.length-1];(ft[1]||rh).call(Ne,void 0,ft[0])}for(he.position={start:sr(ie.length>0?ie[0][1].start:{line:1,column:1,offset:0}),end:sr(ie.length>0?ie[ie.length-2][1].end:{line:1,column:1,offset:0})},Ge=-1;++Ge0&&(r.className=["language-"+o[0]]);let i={type:"element",tagName:"code",properties:r,children:[{type:"text",value:a}]};return t.meta&&(i.data={meta:t.meta}),e.patch(t,i),i=e.applyData(t,i),i={type:"element",tagName:"pre",properties:{},children:[i]},e.patch(t,i),i}function ZC(e,t){const a={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function JC(e,t){const a={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function KC(e,t){const a=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),o=Io(r.toLowerCase()),i=e.footnoteOrder.indexOf(r);let s,l=e.footnoteCounts.get(r);l===void 0?(l=0,e.footnoteOrder.push(r),s=e.footnoteOrder.length):s=i+1,l+=1,e.footnoteCounts.set(r,l);const c={type:"element",tagName:"a",properties:{href:"#"+a+"fn-"+o,id:a+"fnref-"+o+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function YC(e,t){const a={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function GC(e,t){if(e.options.allowDangerousHtml){const a={type:"raw",value:t.value};return e.patch(t,a),e.applyData(t,a)}}function uv(e,t){const a=t.referenceType;let r="]";if(a==="collapsed"?r+="[]":a==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const o=e.all(t),i=o[0];i&&i.type==="text"?i.value="["+i.value:o.unshift({type:"text",value:"["});const s=o[o.length-1];return s&&s.type==="text"?s.value+=r:o.push({type:"text",value:r}),o}function QC(e,t){const a=String(t.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return uv(e,t);const o={src:Io(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const i={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,i),e.applyData(t,i)}function XC(e,t){const a={src:Io(t.url)};t.alt!==null&&t.alt!==void 0&&(a.alt=t.alt),t.title!==null&&t.title!==void 0&&(a.title=t.title);const r={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,r),e.applyData(t,r)}function eN(e,t){const a={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,a);const r={type:"element",tagName:"code",properties:{},children:[a]};return e.patch(t,r),e.applyData(t,r)}function tN(e,t){const a=String(t.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return uv(e,t);const o={href:Io(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const i={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function nN(e,t){const a={href:Io(t.url)};t.title!==null&&t.title!==void 0&&(a.title=t.title);const r={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function aN(e,t,a){const r=e.all(t),o=a?rN(a):dv(t),i={},s=[];if(typeof t.checked=="boolean"){const d=r[0];let p;d&&d.type==="element"&&d.tagName==="p"?p=d:(p={type:"element",tagName:"p",properties:{},children:[]},r.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let l=-1;for(;++l1}function rN(e,t){const a={},r=e.all(t);let o=-1;for(typeof t.start=="number"&&t.start!==1&&(a.start=t.start);++o0){const s={type:"element",tagName:"tbody",properties:{},children:e.wrap(a,!0)},l=Xu(t.children[1]),c=Bg(t.children[t.children.length-1]);l&&c&&(s.position={start:l,end:c}),o.push(s)}const i={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,i),e.applyData(t,i)}function cN(e,t,a){const r=a?a.children:void 0,i=(r?r.indexOf(t):1)===0?"th":"td",s=a&&a.type==="table"?a.align:void 0,l=s?s.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),r[0]),o=r.index+r[0].length,r=a.exec(t);return i.push(sh(t.slice(o),o>0,!1)),i.join("")}function sh(e,t,a){let r=0,o=e.length;if(t){let i=e.codePointAt(r);for(;i===oh||i===ih;)r++,i=e.codePointAt(r)}if(a){let i=e.codePointAt(o-1);for(;i===oh||i===ih;)o--,i=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}function pN(e,t){const a={type:"text",value:dN(String(t.value))};return e.patch(t,a),e.applyData(t,a)}function mN(e,t){const a={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,a),e.applyData(t,a)}const hN={blockquote:BC,break:HC,code:VC,delete:WC,emphasis:ZC,footnoteReference:JC,heading:KC,html:YC,imageReference:GC,image:QC,inlineCode:XC,linkReference:eN,link:tN,listItem:nN,list:rN,paragraph:oN,root:iN,strong:sN,table:lN,tableCell:uN,tableRow:cN,text:pN,thematicBreak:mN,toml:Yi,yaml:Yi,definition:Yi,footnoteDefinition:Yi};function Yi(){}const dv=-1,cl=0,mi=1,Ds=2,id=3,sd=4,ld=5,cd=6,pv=7,mv=8,{defineProperty:fN}=Object,hv=typeof self=="object"?self:globalThis,lh=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new hv[e](t)},gN=(e,t)=>{const a=(o,i)=>(e.set(i,o),o),r=o=>{if(e.has(o))return e.get(o);const[i,s]=t[o];switch(i){case cl:case dv:return a(s,o);case mi:{const l=a([],o);for(const c of s)l.push(r(c));return l}case Ds:{const l=a({},o);for(const[c,u]of s){const d=r(c),p=r(u);d==="__proto__"?fN(l,d,{value:p,configurable:!0,enumerable:!0,writable:!0}):l[d]=p}return l}case id:return a(new Date(s),o);case sd:{const{source:l,flags:c}=s;return a(new RegExp(l,c),o)}case ld:{const l=a(new Map,o);for(const[c,u]of s)l.set(r(c),r(u));return l}case cd:{const l=a(new Set,o);for(const c of s)l.add(r(c));return l}case pv:{const{name:l,message:c}=s;return a(typeof hv[l]=="function"?lh(l,c):new Error(c),o)}case mv:return a(BigInt(s),o);case"BigInt":return a(Object(BigInt(s)),o);case"ArrayBuffer":return a(new Uint8Array(s).buffer,s);case"DataView":{const{buffer:l}=new Uint8Array(s);return a(new DataView(l),s)}case"-0":return-0}return a(lh(i,s),o)};return r},ch=e=>gN(new Map,e)(0),Ir="",{toString:vN}={},{keys:bN,is:yN}=Object,Yo=e=>{const t=typeof e;if(t!=="object"||!e)return[cl,t];const a=vN.call(e).slice(8,-1);switch(a){case"Array":return[mi,Ir];case"Object":return[Ds,Ir];case"Date":return[id,Ir];case"RegExp":return[sd,Ir];case"Map":return[ld,Ir];case"Set":return[cd,Ir];case"DataView":return[mi,a]}return a.includes("Array")?[mi,a]:e instanceof Error?[pv,e.name||"Error"]:[Ds,a]},Gi=([e,t])=>e===cl&&(t==="function"||t==="symbol"),EN=(e,t,a,r)=>{const o=(s,l)=>{const c=r.push(s)-1;return a.set(l,c),c},i=s=>{if(a.has(s))return a.get(s);let[l,c]=Yo(s);switch(l){case cl:{let d=s;switch(c){case"bigint":l=mv,d=s.toString();break;case"number":if(!s&&yN(s,-0))return r.push(["-0"])-1;break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return o([dv],s)}return o([l,d],s)}case mi:{if(c){let m=s;return c==="DataView"?m=new Uint8Array(s.buffer):c==="ArrayBuffer"&&(m=new Uint8Array(s)),o([c,[...m]],s)}const d=[],p=o([l,d],s);for(const m of s)d.push(i(m));return p}case Ds:{if(c)switch(c){case"BigInt":return o([c,s.toString()],s);case"Boolean":case"Number":case"String":return o([c,s.valueOf()],s)}if(t&&"toJSON"in s)return i(s.toJSON());const d=[],p=o([l,d],s);for(const m of bN(s))(e||!Gi(Yo(s[m])))&&d.push([i(m),i(s[m])]);return p}case id:return o([l,isNaN(s.getTime())?Ir:s.toISOString()],s);case sd:{const{source:d,flags:p}=s;return o([l,{source:d,flags:p}],s)}case ld:{const d=[],p=o([l,d],s);for(const[m,h]of s)(e||!(Gi(Yo(m))||Gi(Yo(h))))&&d.push([i(m),i(h)]);return p}case cd:{const d=[],p=o([l,d],s);for(const m of s)(e||!Gi(Yo(m)))&&d.push(i(m));return p}}const{message:u}=s;return o([l,{name:c,message:u}],s)};return i},uh=(e,{json:t,lossy:a}={})=>{const r=[];return EN(!(t||a),!!t,new Map,r)(e),r},Fs=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?ch(uh(e,t)):structuredClone(e):(e,t)=>ch(uh(e,t));function wN(e,t){const a=[{type:"text",value:"↩"}];return t>1&&a.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),a}function kN(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function xN(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=e.options.footnoteBackContent||wN,r=e.options.footnoteBackLabel||kN,o=e.options.footnoteLabel||"Footnotes",i=e.options.footnoteLabelTagName||"h2",s=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c0&&f.push({type:"text",value:" "});let b=typeof a=="string"?a:a(c,h);typeof b=="string"&&(b={type:"text",value:b}),f.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+m+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,h),className:["data-footnote-backref"]},children:Array.isArray(b)?b:[b]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const b=y.children[y.children.length-1];b&&b.type==="text"?b.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...f)}else d.push(...f);const E={type:"element",tagName:"li",properties:{id:t+"fn-"+m},children:e.wrap(d,!0)};e.patch(u,E),l.push(E)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...Fs(s),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`});const u={type:"element",tagName:"li",properties:i,children:s};return e.patch(t,u),e.applyData(t,u)}function rN(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const a=e.children;let r=-1;for(;!t&&++r1}function oN(e,t){const a={},r=e.all(t);let o=-1;for(typeof t.start=="number"&&t.start!==1&&(a.start=t.start);++o0){const s={type:"element",tagName:"tbody",properties:{},children:e.wrap(a,!0)},l=Xu(t.children[1]),c=Hg(t.children[t.children.length-1]);l&&c&&(s.position={start:l,end:c}),o.push(s)}const i={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,i),e.applyData(t,i)}function uN(e,t,a){const r=a?a.children:void 0,i=(r?r.indexOf(t):1)===0?"th":"td",s=a&&a.type==="table"?a.align:void 0,l=s?s.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),r[0]),o=r.index+r[0].length,r=a.exec(t);return i.push(sh(t.slice(o),o>0,!1)),i.join("")}function sh(e,t,a){let r=0,o=e.length;if(t){let i=e.codePointAt(r);for(;i===oh||i===ih;)r++,i=e.codePointAt(r)}if(a){let i=e.codePointAt(o-1);for(;i===oh||i===ih;)o--,i=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}function mN(e,t){const a={type:"text",value:pN(String(t.value))};return e.patch(t,a),e.applyData(t,a)}function hN(e,t){const a={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,a),e.applyData(t,a)}const fN={blockquote:HC,break:VC,code:WC,delete:ZC,emphasis:JC,footnoteReference:KC,heading:YC,html:GC,imageReference:QC,image:XC,inlineCode:eN,linkReference:tN,link:nN,listItem:aN,list:oN,paragraph:iN,root:sN,strong:lN,table:cN,tableCell:dN,tableRow:uN,text:mN,thematicBreak:hN,toml:Gi,yaml:Gi,definition:Gi,footnoteDefinition:Gi};function Gi(){}const pv=-1,ul=0,mi=1,Fs=2,id=3,sd=4,ld=5,cd=6,mv=7,hv=8,{defineProperty:gN}=Object,fv=typeof self=="object"?self:globalThis,lh=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new fv[e](t)},vN=(e,t)=>{const a=(o,i)=>(e.set(i,o),o),r=o=>{if(e.has(o))return e.get(o);const[i,s]=t[o];switch(i){case ul:case pv:return a(s,o);case mi:{const l=a([],o);for(const c of s)l.push(r(c));return l}case Fs:{const l=a({},o);for(const[c,u]of s){const d=r(c),p=r(u);d==="__proto__"?gN(l,d,{value:p,configurable:!0,enumerable:!0,writable:!0}):l[d]=p}return l}case id:return a(new Date(s),o);case sd:{const{source:l,flags:c}=s;return a(new RegExp(l,c),o)}case ld:{const l=a(new Map,o);for(const[c,u]of s)l.set(r(c),r(u));return l}case cd:{const l=a(new Set,o);for(const c of s)l.add(r(c));return l}case mv:{const{name:l,message:c}=s;return a(typeof fv[l]=="function"?lh(l,c):new Error(c),o)}case hv:return a(BigInt(s),o);case"BigInt":return a(Object(BigInt(s)),o);case"ArrayBuffer":return a(new Uint8Array(s).buffer,s);case"DataView":{const{buffer:l}=new Uint8Array(s);return a(new DataView(l),s)}case"-0":return-0}return a(lh(i,s),o)};return r},ch=e=>vN(new Map,e)(0),Ir="",{toString:bN}={},{keys:yN,is:EN}=Object,Yo=e=>{const t=typeof e;if(t!=="object"||!e)return[ul,t];const a=bN.call(e).slice(8,-1);switch(a){case"Array":return[mi,Ir];case"Object":return[Fs,Ir];case"Date":return[id,Ir];case"RegExp":return[sd,Ir];case"Map":return[ld,Ir];case"Set":return[cd,Ir];case"DataView":return[mi,a]}return a.includes("Array")?[mi,a]:e instanceof Error?[mv,e.name||"Error"]:[Fs,a]},Qi=([e,t])=>e===ul&&(t==="function"||t==="symbol"),wN=(e,t,a,r)=>{const o=(s,l)=>{const c=r.push(s)-1;return a.set(l,c),c},i=s=>{if(a.has(s))return a.get(s);let[l,c]=Yo(s);switch(l){case ul:{let d=s;switch(c){case"bigint":l=hv,d=s.toString();break;case"number":if(!s&&EN(s,-0))return r.push(["-0"])-1;break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return o([pv],s)}return o([l,d],s)}case mi:{if(c){let m=s;return c==="DataView"?m=new Uint8Array(s.buffer):c==="ArrayBuffer"&&(m=new Uint8Array(s)),o([c,[...m]],s)}const d=[],p=o([l,d],s);for(const m of s)d.push(i(m));return p}case Fs:{if(c)switch(c){case"BigInt":return o([c,s.toString()],s);case"Boolean":case"Number":case"String":return o([c,s.valueOf()],s)}if(t&&"toJSON"in s)return i(s.toJSON());const d=[],p=o([l,d],s);for(const m of yN(s))(e||!Qi(Yo(s[m])))&&d.push([i(m),i(s[m])]);return p}case id:return o([l,isNaN(s.getTime())?Ir:s.toISOString()],s);case sd:{const{source:d,flags:p}=s;return o([l,{source:d,flags:p}],s)}case ld:{const d=[],p=o([l,d],s);for(const[m,h]of s)(e||!(Qi(Yo(m))||Qi(Yo(h))))&&d.push([i(m),i(h)]);return p}case cd:{const d=[],p=o([l,d],s);for(const m of s)(e||!Qi(Yo(m)))&&d.push(i(m));return p}}const{message:u}=s;return o([l,{name:c,message:u}],s)};return i},uh=(e,{json:t,lossy:a}={})=>{const r=[];return wN(!(t||a),!!t,new Map,r)(e),r},qs=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?ch(uh(e,t)):structuredClone(e):(e,t)=>ch(uh(e,t));function kN(e,t){const a=[{type:"text",value:"↩"}];return t>1&&a.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),a}function xN(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function SN(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=e.options.footnoteBackContent||kN,r=e.options.footnoteBackLabel||xN,o=e.options.footnoteLabel||"Footnotes",i=e.options.footnoteLabelTagName||"h2",s=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c0&&f.push({type:"text",value:" "});let b=typeof a=="string"?a:a(c,h);typeof b=="string"&&(b={type:"text",value:b}),f.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+m+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,h),className:["data-footnote-backref"]},children:Array.isArray(b)?b:[b]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const b=y.children[y.children.length-1];b&&b.type==="text"?b.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...f)}else d.push(...f);const E={type:"element",tagName:"li",properties:{id:t+"fn-"+m},children:e.wrap(d,!0)};e.patch(u,E),l.push(E)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...qs(s),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:` -`}]}}const ul=(function(e){if(e==null)return RN;if(typeof e=="function")return dl(e);if(typeof e=="object")return Array.isArray(e)?SN(e):CN(e);if(typeof e=="string")return NN(e);throw new Error("Expected function, string, or object as test")});function SN(e){const t=[];let a=-1;for(;++a":""))+")"})}return m;function m(){let h=fv,f,v,y;if((!t||i(c,u,d[d.length-1]||void 0))&&(h=_N(a(c,d)),h[0]===tu))return h;if("children"in c&&c.children){const E=c;if(E.children&&h[0]!==AN)for(v=(r?E.children.length:-1)+s,y=d.concat(E);v>-1&&v":""))+")"})}return m;function m(){let h=gv,f,v,y;if((!t||i(c,u,d[d.length-1]||void 0))&&(h=PN(a(c,d)),h[0]===nu))return h;if("children"in c&&c.children){const E=c;if(E.children&&h[0]!==_N)for(v=(r?E.children.length:-1)+s,y=d.concat(E);v>-1&&v0&&a.push({type:"text",value:` -`}),a}function dh(e){let t=0,a=e.charCodeAt(t);for(;a===9||a===32;)t++,a=e.charCodeAt(t);return e.slice(t)}function ph(e,t){const a=ON(e,t),r=a.one(e,void 0),o=xN(a),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&i.children.push({type:"text",value:` -`},o),i}function FN(e,t){return e&&"run"in e?async function(a,r){const o=ph(a,{file:r,...t});await e.run(o,r)}:function(a,r){return ph(a,{file:r,...e||t})}}function mh(e){if(e)throw e}var tc,hh;function qN(){if(hh)return tc;hh=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},i=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var d=e.call(u,"constructor"),p=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!d&&!p)return!1;var m;for(m in u);return typeof m>"u"||e.call(u,m)},s=function(u,d){a&&d.name==="__proto__"?a(u,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):u[d.name]=d.newValue},l=function(u,d){if(d==="__proto__")if(e.call(u,d)){if(r)return r(u,d).value}else return;return u[d]};return tc=function c(){var u,d,p,m,h,f,v=arguments[0],y=1,E=arguments.length,b=!1;for(typeof v=="boolean"&&(b=v,v=arguments[1]||{},y=2),(v==null||typeof v!="object"&&typeof v!="function")&&(v={});ys.length;let c;l&&s.push(o);try{c=e.apply(this,s)}catch(u){const d=u;if(l&&a)throw d;return o(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(i,o):c instanceof Error?o(c):i(c))}function o(s,...l){a||(a=!0,t(s,...l))}function i(s){o(null,s)}}const Ba={basename:BN,dirname:HN,extname:VN,join:WN,sep:"/"};function BN(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Bi(e);let a=0,r=-1,o=e.length,i;if(t===void 0||t.length===0||t.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(i){a=o+1;break}}else r<0&&(i=!0,r=o+1);return r<0?"":e.slice(a,r)}if(t===e)return"";let s=-1,l=t.length-1;for(;o--;)if(e.codePointAt(o)===47){if(i){a=o+1;break}}else s<0&&(i=!0,s=o+1),l>-1&&(e.codePointAt(o)===t.codePointAt(l--)?l<0&&(r=o):(l=-1,r=s));return a===r?r=s:r<0&&(r=e.length),e.slice(a,r)}function HN(e){if(Bi(e),e.length===0)return".";let t=-1,a=e.length,r;for(;--a;)if(e.codePointAt(a)===47){if(r){t=a;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function VN(e){Bi(e);let t=e.length,a=-1,r=0,o=-1,i=0,s;for(;t--;){const l=e.codePointAt(t);if(l===47){if(s){r=t+1;break}continue}a<0&&(s=!0,a=t+1),l===46?o<0?o=t:i!==1&&(i=1):o>-1&&(i=-1)}return o<0||a<0||i===0||i===1&&o===a-1&&o===r+1?"":e.slice(o,a)}function WN(...e){let t=-1,a;for(;++t0&&e.codePointAt(e.length-1)===47&&(a+="/"),t?"/"+a:a}function JN(e,t){let a="",r=0,o=-1,i=0,s=-1,l,c;for(;++s<=e.length;){if(s2){if(c=a.lastIndexOf("/"),c!==a.length-1){c<0?(a="",r=0):(a=a.slice(0,c),r=a.length-1-a.lastIndexOf("/")),o=s,i=0;continue}}else if(a.length>0){a="",r=0,o=s,i=0;continue}}t&&(a=a.length>0?a+"/..":"..",r=2)}else a.length>0?a+="/"+e.slice(o+1,s):a=e.slice(o+1,s),r=s-o-1;o=s,i=0}else l===46&&i>-1?i++:i=-1}return a}function Bi(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const KN={cwd:YN};function YN(){return"/"}function ru(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function GN(e){if(typeof e=="string")e=new URL(e);else if(!ru(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return QN(e)}function QN(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let a=-1;for(;++a0){let[h,...f]=d;const v=r[m][1];au(v)&&au(h)&&(h=nc(!0,v,h)),r[m]=[u,h,...f]}}}}const nR=new dd().freeze();function ic(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function sc(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function lc(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function gh(e){if(!au(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function vh(e,t,a){if(!a)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Qi(e){return aR(e)?e:new vv(e)}function aR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function rR(e){return typeof e=="string"||oR(e)}function oR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const iR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",bh=[],yh={allowDangerousHtml:!0},sR=/^(https?|ircs?|mailto|xmpp)$/i,lR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function cR(e){const t=uR(e),a=dR(e);return pR(t.runSync(t.parse(a),a),e)}function uR(e){const t=e.rehypePlugins||bh,a=e.remarkPlugins||bh,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...yh}:yh;return nR().use($C).use(a).use(FN,r).use(t)}function dR(e){const t=e.children||"",a=new vv;return typeof t=="string"&&(a.value=t),a}function pR(e,t){const a=t.allowedElements,r=t.allowElement,o=t.components,i=t.disallowedElements,s=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||bv;for(const d of lR)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+iR+d.id,void 0);return ud(e,u),x1(e,{Fragment:Ql.Fragment,components:o,ignoreInvalidStyle:!0,jsx:Ql.jsx,jsxs:Ql.jsxs,passKeys:!0,passNode:!0});function u(d,p,m){if(d.type==="raw"&&m&&typeof p=="number")return s?m.children.splice(p,1):m.children[p]={type:"text",value:d.value},p;if(d.type==="element"){let h;for(h in Yl)if(Object.hasOwn(Yl,h)&&Object.hasOwn(d.properties,h)){const f=d.properties[h],v=Yl[h];(v===null||v.includes(d.tagName))&&(d.properties[h]=c(String(f||""),h,d))}}if(d.type==="element"){let h=a?!a.includes(d.tagName):i?i.includes(d.tagName):!1;if(!h&&r&&typeof p=="number"&&(h=!r(d,p,m)),h&&m&&typeof p=="number")return l&&d.children?m.children.splice(p,1,...d.children):m.children.splice(p,1),p}}}function bv(e){const t=e.indexOf(":"),a=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");return t===-1||o!==-1&&t>o||a!==-1&&t>a||r!==-1&&t>r||sR.test(e.slice(0,t))?e:""}function Eh(e,t){const a=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=a.indexOf(t);for(;o!==-1;)r++,o=a.indexOf(t,o+t.length);return r}function mR(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function hR(e,t,a){const o=ul((a||{}).ignore||[]),i=fR(t);let s=-1;for(;++s0?{type:"text",value:S}:void 0),S===!1?m.lastIndex=w+1:(f!==w&&b.push({type:"text",value:u.value.slice(f,w)}),Array.isArray(S)?b.push(...S):S&&b.push(S),f=w+x[0].length,E=!0),!m.global)break;x=m.exec(u.value)}return E?(f?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let a=t[0],r=a.indexOf(")");const o=Eh(e,"(");let i=Eh(e,")");for(;r!==-1&&o>i;)e+=a.slice(0,r+1),a=a.slice(r+1),r=a.indexOf(")"),i++;return[e,a]}function yv(e,t){const a=e.input.charCodeAt(e.index-1);return(e.index===0||jr(a)||sl(a))&&(!t||a!==47)}Ev.peek=FR;function AR(){this.buffer()}function _R(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function PR(){this.buffer()}function OR(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function MR(e){const t=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Fa(this.sliceSerialize(e)).toLowerCase(),a.label=t}function zR(e){this.exit(e)}function LR(e){const t=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Fa(this.sliceSerialize(e)).toLowerCase(),a.label=t}function DR(e){this.exit(e)}function FR(){return"["}function Ev(e,t,a,r){const o=a.createTracker(r);let i=o.move("[^");const s=a.enter("footnoteReference"),l=a.enter("reference");return i+=o.move(a.safe(a.associationId(e),{after:"]",before:i})),l(),s(),i+=o.move("]"),i}function qR(){return{enter:{gfmFootnoteCallString:AR,gfmFootnoteCall:_R,gfmFootnoteDefinitionLabelString:PR,gfmFootnoteDefinition:OR},exit:{gfmFootnoteCallString:MR,gfmFootnoteCall:zR,gfmFootnoteDefinitionLabelString:LR,gfmFootnoteDefinition:DR}}}function jR(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:a,footnoteReference:Ev},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function a(r,o,i,s){const l=i.createTracker(s);let c=l.move("[^");const u=i.enter("footnoteDefinition"),d=i.enter("label");return c+=l.move(i.safe(i.associationId(r),{before:c,after:"]"})),d(),c+=l.move("]:"),r.children&&r.children.length>0&&(l.shift(4),c+=l.move((t?` -`:" ")+i.indentLines(i.containerFlow(r,l.current()),t?wv:UR))),u(),c}}function UR(e,t,a){return t===0?e:wv(e,t,a)}function wv(e,t,a){return(a?"":" ")+e}const $R=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];kv.peek=ZR;function BR(){return{canContainEols:["delete"],enter:{strikethrough:VR},exit:{strikethrough:WR}}}function HR(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:$R}],handlers:{delete:kv}}}function VR(e){this.enter({type:"delete",children:[]},e)}function WR(e){this.exit(e)}function kv(e,t,a,r){const o=a.createTracker(r),i=a.enter("strikethrough");let s=o.move("~~");return s+=a.containerPhrasing(e,{...o.current(),before:s,after:"~"}),s+=o.move("~~"),i(),s}function ZR(){return"~"}function JR(e){return e.length}function KR(e,t){const a=t||{},r=(a.align||[]).concat(),o=a.stringLength||JR,i=[],s=[],l=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++Ec[E])&&(c[E]=x)}v.push(b)}s[d]=v,l[d]=y}let p=-1;if(typeof r=="object"&&"length"in r)for(;++pc[p]&&(c[p]=b),h[p]=b),m[p]=x}s.splice(1,0,m),l.splice(1,0,h),d=-1;const f=[];for(;++d "),i.shift(2);const s=a.indentLines(a.containerFlow(e,i.current()),QR);return o(),s}function QR(e,t,a){return">"+(a?"":" ")+e}function XR(e,t){return kh(e,t.inConstruct,!0)&&!kh(e,t.notInConstruct,!1)}function kh(e,t,a){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return a;let r=-1;for(;++rs&&(s=i):i=1,o=r+t.length,r=a.indexOf(t,o);return s}function tT(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function nT(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function aT(e,t,a,r){const o=nT(a),i=e.value||"",s=o==="`"?"GraveAccent":"Tilde";if(tT(e,a)){const p=a.enter("codeIndented"),m=a.indentLines(i,rT);return p(),m}const l=a.createTracker(r),c=o.repeat(Math.max(eT(i,o)+1,3)),u=a.enter("codeFenced");let d=l.move(c);if(e.lang){const p=a.enter(`codeFencedLang${s}`);d+=l.move(a.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),p()}if(e.lang&&e.meta){const p=a.enter(`codeFencedMeta${s}`);d+=l.move(" "),d+=l.move(a.safe(e.meta,{before:d,after:` +`}),a}function dh(e){let t=0,a=e.charCodeAt(t);for(;a===9||a===32;)t++,a=e.charCodeAt(t);return e.slice(t)}function ph(e,t){const a=MN(e,t),r=a.one(e,void 0),o=SN(a),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&i.children.push({type:"text",value:` +`},o),i}function qN(e,t){return e&&"run"in e?async function(a,r){const o=ph(a,{file:r,...t});await e.run(o,r)}:function(a,r){return ph(a,{file:r,...e||t})}}function mh(e){if(e)throw e}var nc,hh;function jN(){if(hh)return nc;hh=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},i=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var d=e.call(u,"constructor"),p=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!d&&!p)return!1;var m;for(m in u);return typeof m>"u"||e.call(u,m)},s=function(u,d){a&&d.name==="__proto__"?a(u,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):u[d.name]=d.newValue},l=function(u,d){if(d==="__proto__")if(e.call(u,d)){if(r)return r(u,d).value}else return;return u[d]};return nc=function c(){var u,d,p,m,h,f,v=arguments[0],y=1,E=arguments.length,b=!1;for(typeof v=="boolean"&&(b=v,v=arguments[1]||{},y=2),(v==null||typeof v!="object"&&typeof v!="function")&&(v={});ys.length;let c;l&&s.push(o);try{c=e.apply(this,s)}catch(u){const d=u;if(l&&a)throw d;return o(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(i,o):c instanceof Error?o(c):i(c))}function o(s,...l){a||(a=!0,t(s,...l))}function i(s){o(null,s)}}const Ba={basename:HN,dirname:VN,extname:WN,join:ZN,sep:"/"};function HN(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Hi(e);let a=0,r=-1,o=e.length,i;if(t===void 0||t.length===0||t.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(i){a=o+1;break}}else r<0&&(i=!0,r=o+1);return r<0?"":e.slice(a,r)}if(t===e)return"";let s=-1,l=t.length-1;for(;o--;)if(e.codePointAt(o)===47){if(i){a=o+1;break}}else s<0&&(i=!0,s=o+1),l>-1&&(e.codePointAt(o)===t.codePointAt(l--)?l<0&&(r=o):(l=-1,r=s));return a===r?r=s:r<0&&(r=e.length),e.slice(a,r)}function VN(e){if(Hi(e),e.length===0)return".";let t=-1,a=e.length,r;for(;--a;)if(e.codePointAt(a)===47){if(r){t=a;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function WN(e){Hi(e);let t=e.length,a=-1,r=0,o=-1,i=0,s;for(;t--;){const l=e.codePointAt(t);if(l===47){if(s){r=t+1;break}continue}a<0&&(s=!0,a=t+1),l===46?o<0?o=t:i!==1&&(i=1):o>-1&&(i=-1)}return o<0||a<0||i===0||i===1&&o===a-1&&o===r+1?"":e.slice(o,a)}function ZN(...e){let t=-1,a;for(;++t0&&e.codePointAt(e.length-1)===47&&(a+="/"),t?"/"+a:a}function KN(e,t){let a="",r=0,o=-1,i=0,s=-1,l,c;for(;++s<=e.length;){if(s2){if(c=a.lastIndexOf("/"),c!==a.length-1){c<0?(a="",r=0):(a=a.slice(0,c),r=a.length-1-a.lastIndexOf("/")),o=s,i=0;continue}}else if(a.length>0){a="",r=0,o=s,i=0;continue}}t&&(a=a.length>0?a+"/..":"..",r=2)}else a.length>0?a+="/"+e.slice(o+1,s):a=e.slice(o+1,s),r=s-o-1;o=s,i=0}else l===46&&i>-1?i++:i=-1}return a}function Hi(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const YN={cwd:GN};function GN(){return"/"}function ou(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function QN(e){if(typeof e=="string")e=new URL(e);else if(!ou(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return XN(e)}function XN(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let a=-1;for(;++a0){let[h,...f]=d;const v=r[m][1];ru(v)&&ru(h)&&(h=ac(!0,v,h)),r[m]=[u,h,...f]}}}}const aR=new dd().freeze();function sc(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function lc(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function cc(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function gh(e){if(!ru(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function vh(e,t,a){if(!a)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Xi(e){return rR(e)?e:new bv(e)}function rR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function oR(e){return typeof e=="string"||iR(e)}function iR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const sR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",bh=[],yh={allowDangerousHtml:!0},lR=/^(https?|ircs?|mailto|xmpp)$/i,cR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function uR(e){const t=dR(e),a=pR(e);return mR(t.runSync(t.parse(a),a),e)}function dR(e){const t=e.rehypePlugins||bh,a=e.remarkPlugins||bh,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...yh}:yh;return aR().use(BC).use(a).use(qN,r).use(t)}function pR(e){const t=e.children||"",a=new bv;return typeof t=="string"&&(a.value=t),a}function mR(e,t){const a=t.allowedElements,r=t.allowElement,o=t.components,i=t.disallowedElements,s=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||yv;for(const d of cR)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+sR+d.id,void 0);return ud(e,u),S1(e,{Fragment:Xl.Fragment,components:o,ignoreInvalidStyle:!0,jsx:Xl.jsx,jsxs:Xl.jsxs,passKeys:!0,passNode:!0});function u(d,p,m){if(d.type==="raw"&&m&&typeof p=="number")return s?m.children.splice(p,1):m.children[p]={type:"text",value:d.value},p;if(d.type==="element"){let h;for(h in Gl)if(Object.hasOwn(Gl,h)&&Object.hasOwn(d.properties,h)){const f=d.properties[h],v=Gl[h];(v===null||v.includes(d.tagName))&&(d.properties[h]=c(String(f||""),h,d))}}if(d.type==="element"){let h=a?!a.includes(d.tagName):i?i.includes(d.tagName):!1;if(!h&&r&&typeof p=="number"&&(h=!r(d,p,m)),h&&m&&typeof p=="number")return l&&d.children?m.children.splice(p,1,...d.children):m.children.splice(p,1),p}}}function yv(e){const t=e.indexOf(":"),a=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");return t===-1||o!==-1&&t>o||a!==-1&&t>a||r!==-1&&t>r||lR.test(e.slice(0,t))?e:""}function Eh(e,t){const a=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=a.indexOf(t);for(;o!==-1;)r++,o=a.indexOf(t,o+t.length);return r}function hR(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function fR(e,t,a){const o=dl((a||{}).ignore||[]),i=gR(t);let s=-1;for(;++s0?{type:"text",value:S}:void 0),S===!1?m.lastIndex=w+1:(f!==w&&b.push({type:"text",value:u.value.slice(f,w)}),Array.isArray(S)?b.push(...S):S&&b.push(S),f=w+x[0].length,E=!0),!m.global)break;x=m.exec(u.value)}return E?(f?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let a=t[0],r=a.indexOf(")");const o=Eh(e,"(");let i=Eh(e,")");for(;r!==-1&&o>i;)e+=a.slice(0,r+1),a=a.slice(r+1),r=a.indexOf(")"),i++;return[e,a]}function Ev(e,t){const a=e.input.charCodeAt(e.index-1);return(e.index===0||jr(a)||ll(a))&&(!t||a!==47)}wv.peek=qR;function _R(){this.buffer()}function PR(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function OR(){this.buffer()}function MR(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function zR(e){const t=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Fa(this.sliceSerialize(e)).toLowerCase(),a.label=t}function LR(e){this.exit(e)}function DR(e){const t=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Fa(this.sliceSerialize(e)).toLowerCase(),a.label=t}function FR(e){this.exit(e)}function qR(){return"["}function wv(e,t,a,r){const o=a.createTracker(r);let i=o.move("[^");const s=a.enter("footnoteReference"),l=a.enter("reference");return i+=o.move(a.safe(a.associationId(e),{after:"]",before:i})),l(),s(),i+=o.move("]"),i}function jR(){return{enter:{gfmFootnoteCallString:_R,gfmFootnoteCall:PR,gfmFootnoteDefinitionLabelString:OR,gfmFootnoteDefinition:MR},exit:{gfmFootnoteCallString:zR,gfmFootnoteCall:LR,gfmFootnoteDefinitionLabelString:DR,gfmFootnoteDefinition:FR}}}function UR(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:a,footnoteReference:wv},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function a(r,o,i,s){const l=i.createTracker(s);let c=l.move("[^");const u=i.enter("footnoteDefinition"),d=i.enter("label");return c+=l.move(i.safe(i.associationId(r),{before:c,after:"]"})),d(),c+=l.move("]:"),r.children&&r.children.length>0&&(l.shift(4),c+=l.move((t?` +`:" ")+i.indentLines(i.containerFlow(r,l.current()),t?kv:$R))),u(),c}}function $R(e,t,a){return t===0?e:kv(e,t,a)}function kv(e,t,a){return(a?"":" ")+e}const BR=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];xv.peek=JR;function HR(){return{canContainEols:["delete"],enter:{strikethrough:WR},exit:{strikethrough:ZR}}}function VR(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:BR}],handlers:{delete:xv}}}function WR(e){this.enter({type:"delete",children:[]},e)}function ZR(e){this.exit(e)}function xv(e,t,a,r){const o=a.createTracker(r),i=a.enter("strikethrough");let s=o.move("~~");return s+=a.containerPhrasing(e,{...o.current(),before:s,after:"~"}),s+=o.move("~~"),i(),s}function JR(){return"~"}function KR(e){return e.length}function YR(e,t){const a=t||{},r=(a.align||[]).concat(),o=a.stringLength||KR,i=[],s=[],l=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++Ec[E])&&(c[E]=x)}v.push(b)}s[d]=v,l[d]=y}let p=-1;if(typeof r=="object"&&"length"in r)for(;++pc[p]&&(c[p]=b),h[p]=b),m[p]=x}s.splice(1,0,m),l.splice(1,0,h),d=-1;const f=[];for(;++d "),i.shift(2);const s=a.indentLines(a.containerFlow(e,i.current()),XR);return o(),s}function XR(e,t,a){return">"+(a?"":" ")+e}function eT(e,t){return kh(e,t.inConstruct,!0)&&!kh(e,t.notInConstruct,!1)}function kh(e,t,a){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return a;let r=-1;for(;++rs&&(s=i):i=1,o=r+t.length,r=a.indexOf(t,o);return s}function nT(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function aT(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function rT(e,t,a,r){const o=aT(a),i=e.value||"",s=o==="`"?"GraveAccent":"Tilde";if(nT(e,a)){const p=a.enter("codeIndented"),m=a.indentLines(i,oT);return p(),m}const l=a.createTracker(r),c=o.repeat(Math.max(tT(i,o)+1,3)),u=a.enter("codeFenced");let d=l.move(c);if(e.lang){const p=a.enter(`codeFencedLang${s}`);d+=l.move(a.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),p()}if(e.lang&&e.meta){const p=a.enter(`codeFencedMeta${s}`);d+=l.move(" "),d+=l.move(a.safe(e.meta,{before:d,after:` `,encode:["`"],...l.current()})),p()}return d+=l.move(` `),i&&(d+=l.move(i+` -`)),d+=l.move(c),u(),d}function rT(e,t,a){return(a?"":" ")+e}function pd(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function oT(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.enter("definition");let l=a.enter("label");const c=a.createTracker(r);let u=c.move("[");return u+=c.move(a.safe(a.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=a.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(a.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=a.enter("destinationRaw"),u+=c.move(a.safe(e.url,{before:u,after:e.title?" ":` -`,...c.current()}))),l(),e.title&&(l=a.enter(`title${i}`),u+=c.move(" "+o),u+=c.move(a.safe(e.title,{before:u,after:o,...c.current()})),u+=c.move(o),l()),s(),u}function iT(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function wi(e){return"&#x"+e.toString(16).toUpperCase()+";"}function qs(e,t,a){const r=vo(e),o=vo(t);return r===void 0?o===void 0?a==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}xv.peek=sT;function xv(e,t,a,r){const o=iT(a),i=a.enter("emphasis"),s=a.createTracker(r),l=s.move(o);let c=s.move(a.containerPhrasing(e,{after:o,before:l,...s.current()}));const u=c.charCodeAt(0),d=qs(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(c=wi(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=qs(r.after.charCodeAt(0),p,o);m.inside&&(c=c.slice(0,-1)+wi(p));const h=s.move(o);return i(),a.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function sT(e,t,a){return a.options.emphasis||"*"}function lT(e,t){let a=!1;return ud(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return a=!0,tu}),!!((!e.depth||e.depth<3)&&ad(e)&&(t.options.setext||a))}function cT(e,t,a,r){const o=Math.max(Math.min(6,e.depth||1),1),i=a.createTracker(r);if(lT(e,a)){const d=a.enter("headingSetext"),p=a.enter("phrasing"),m=a.containerPhrasing(e,{...i.current(),before:` +`)),d+=l.move(c),u(),d}function oT(e,t,a){return(a?"":" ")+e}function pd(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function iT(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.enter("definition");let l=a.enter("label");const c=a.createTracker(r);let u=c.move("[");return u+=c.move(a.safe(a.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=a.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(a.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=a.enter("destinationRaw"),u+=c.move(a.safe(e.url,{before:u,after:e.title?" ":` +`,...c.current()}))),l(),e.title&&(l=a.enter(`title${i}`),u+=c.move(" "+o),u+=c.move(a.safe(e.title,{before:u,after:o,...c.current()})),u+=c.move(o),l()),s(),u}function sT(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function wi(e){return"&#x"+e.toString(16).toUpperCase()+";"}function js(e,t,a){const r=vo(e),o=vo(t);return r===void 0?o===void 0?a==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Sv.peek=lT;function Sv(e,t,a,r){const o=sT(a),i=a.enter("emphasis"),s=a.createTracker(r),l=s.move(o);let c=s.move(a.containerPhrasing(e,{after:o,before:l,...s.current()}));const u=c.charCodeAt(0),d=js(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(c=wi(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=js(r.after.charCodeAt(0),p,o);m.inside&&(c=c.slice(0,-1)+wi(p));const h=s.move(o);return i(),a.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function lT(e,t,a){return a.options.emphasis||"*"}function cT(e,t){let a=!1;return ud(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return a=!0,nu}),!!((!e.depth||e.depth<3)&&ad(e)&&(t.options.setext||a))}function uT(e,t,a,r){const o=Math.max(Math.min(6,e.depth||1),1),i=a.createTracker(r);if(cT(e,a)){const d=a.enter("headingSetext"),p=a.enter("phrasing"),m=a.containerPhrasing(e,{...i.current(),before:` `,after:` `});return p(),d(),m+` `+(o===1?"=":"-").repeat(m.length-(Math.max(m.lastIndexOf("\r"),m.lastIndexOf(` `))+1))}const s="#".repeat(o),l=a.enter("headingAtx"),c=a.enter("phrasing");i.move(s+" ");let u=a.containerPhrasing(e,{before:"# ",after:` -`,...i.current()});return/^[\t ]/.test(u)&&(u=wi(u.charCodeAt(0))+u.slice(1)),u=u?s+" "+u:s,a.options.closeAtx&&(u+=" "+s),c(),l(),u}Sv.peek=uT;function Sv(e){return e.value||""}function uT(){return"<"}Cv.peek=dT;function Cv(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.enter("image");let l=a.enter("label");const c=a.createTracker(r);let u=c.move("![");return u+=c.move(a.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=a.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(a.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=a.enter("destinationRaw"),u+=c.move(a.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=a.enter(`title${i}`),u+=c.move(" "+o),u+=c.move(a.safe(e.title,{before:u,after:o,...c.current()})),u+=c.move(o),l()),u+=c.move(")"),s(),u}function dT(){return"!"}Nv.peek=pT;function Nv(e,t,a,r){const o=e.referenceType,i=a.enter("imageReference");let s=a.enter("label");const l=a.createTracker(r);let c=l.move("![");const u=a.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),s();const d=a.stack;a.stack=[],s=a.enter("reference");const p=a.safe(a.associationId(e),{before:c,after:"]",...l.current()});return s(),a.stack=d,i(),o==="full"||!u||u!==p?c+=l.move(p+"]"):o==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function pT(){return"!"}Rv.peek=mT;function Rv(e,t,a){let r=e.value||"",o="`",i=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(e.url))}Iv.peek=hT;function Iv(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.createTracker(r);let l,c;if(Tv(e,a)){const d=a.stack;a.stack=[],l=a.enter("autolink");let p=s.move("<");return p+=s.move(a.containerPhrasing(e,{before:p,after:">",...s.current()})),p+=s.move(">"),l(),a.stack=d,p}l=a.enter("link"),c=a.enter("label");let u=s.move("[");return u+=s.move(a.containerPhrasing(e,{before:u,after:"](",...s.current()})),u+=s.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=a.enter("destinationLiteral"),u+=s.move("<"),u+=s.move(a.safe(e.url,{before:u,after:">",...s.current()})),u+=s.move(">")):(c=a.enter("destinationRaw"),u+=s.move(a.safe(e.url,{before:u,after:e.title?" ":")",...s.current()}))),c(),e.title&&(c=a.enter(`title${i}`),u+=s.move(" "+o),u+=s.move(a.safe(e.title,{before:u,after:o,...s.current()})),u+=s.move(o),c()),u+=s.move(")"),l(),u}function hT(e,t,a){return Tv(e,a)?"<":"["}Av.peek=fT;function Av(e,t,a,r){const o=e.referenceType,i=a.enter("linkReference");let s=a.enter("label");const l=a.createTracker(r);let c=l.move("[");const u=a.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),s();const d=a.stack;a.stack=[],s=a.enter("reference");const p=a.safe(a.associationId(e),{before:c,after:"]",...l.current()});return s(),a.stack=d,i(),o==="full"||!u||u!==p?c+=l.move(p+"]"):o==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function fT(){return"["}function md(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function gT(e){const t=md(e),a=e.options.bulletOther;if(!a)return t==="*"?"-":"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(a===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+a+"`) to be different");return a}function vT(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function _v(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function bT(e,t,a,r){const o=a.enter("list"),i=a.bulletCurrent;let s=e.ordered?vT(a):md(a);const l=e.ordered?s==="."?")":".":gT(a);let c=t&&a.bulletLastUsed?s===a.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((s==="*"||s==="-")&&d&&(!d.children||!d.children[0])&&a.stack[a.stack.length-1]==="list"&&a.stack[a.stack.length-2]==="listItem"&&a.stack[a.stack.length-3]==="list"&&a.stack[a.stack.length-4]==="listItem"&&a.indexStack[a.indexStack.length-1]===0&&a.indexStack[a.indexStack.length-2]===0&&a.indexStack[a.indexStack.length-3]===0&&(c=!0),_v(a)===s&&d){let p=-1;for(;++p-1?t.start:1)+(a.options.incrementListMarker===!1?0:t.children.indexOf(e))+i);let s=i.length+1;(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(s=Math.ceil(s/4)*4);const l=a.createTracker(r);l.move(i+" ".repeat(s-i.length)),l.shift(s);const c=a.enter("listItem"),u=a.indentLines(a.containerFlow(e,l.current()),d);return c(),u;function d(p,m,h){return m?(h?"":" ".repeat(s))+p:(h?i:i+" ".repeat(s-i.length))+p}}function wT(e,t,a,r){const o=a.enter("paragraph"),i=a.enter("phrasing"),s=a.containerPhrasing(e,r);return i(),o(),s}const kT=ul(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function xT(e,t,a,r){return(e.children.some(function(s){return kT(s)})?a.containerPhrasing:a.containerFlow).call(a,e,r)}function ST(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Pv.peek=CT;function Pv(e,t,a,r){const o=ST(a),i=a.enter("strong"),s=a.createTracker(r),l=s.move(o+o);let c=s.move(a.containerPhrasing(e,{after:o,before:l,...s.current()}));const u=c.charCodeAt(0),d=qs(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(c=wi(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=qs(r.after.charCodeAt(0),p,o);m.inside&&(c=c.slice(0,-1)+wi(p));const h=s.move(o+o);return i(),a.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function CT(e,t,a){return a.options.strong||"*"}function NT(e,t,a,r){return a.safe(e.value,r)}function RT(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function TT(e,t,a){const r=(_v(a)+(a.options.ruleSpaces?" ":"")).repeat(RT(a));return a.options.ruleSpaces?r.slice(0,-1):r}const Ov={blockquote:GR,break:xh,code:aT,definition:oT,emphasis:xv,hardBreak:xh,heading:cT,html:Sv,image:Cv,imageReference:Nv,inlineCode:Rv,link:Iv,linkReference:Av,list:bT,listItem:ET,paragraph:wT,root:xT,strong:Pv,text:NT,thematicBreak:TT};function IT(){return{enter:{table:AT,tableData:Sh,tableHeader:Sh,tableRow:PT},exit:{codeText:OT,table:_T,tableData:pc,tableHeader:pc,tableRow:pc}}}function AT(e){const t=e._align;this.enter({type:"table",align:t.map(function(a){return a==="none"?null:a}),children:[]},e),this.data.inTable=!0}function _T(e){this.exit(e),this.data.inTable=void 0}function PT(e){this.enter({type:"tableRow",children:[]},e)}function pc(e){this.exit(e)}function Sh(e){this.enter({type:"tableCell",children:[]},e)}function OT(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,MT));const a=this.stack[this.stack.length-1];a.type,a.value=t,this.exit(e)}function MT(e,t){return t==="|"?t:e}function zT(e){const t=e||{},a=t.tableCellPadding,r=t.tablePipeAlign,o=t.stringLength,i=a?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,...i.current()});return/^[\t ]/.test(u)&&(u=wi(u.charCodeAt(0))+u.slice(1)),u=u?s+" "+u:s,a.options.closeAtx&&(u+=" "+s),c(),l(),u}Cv.peek=dT;function Cv(e){return e.value||""}function dT(){return"<"}Nv.peek=pT;function Nv(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.enter("image");let l=a.enter("label");const c=a.createTracker(r);let u=c.move("![");return u+=c.move(a.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=a.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(a.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=a.enter("destinationRaw"),u+=c.move(a.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=a.enter(`title${i}`),u+=c.move(" "+o),u+=c.move(a.safe(e.title,{before:u,after:o,...c.current()})),u+=c.move(o),l()),u+=c.move(")"),s(),u}function pT(){return"!"}Rv.peek=mT;function Rv(e,t,a,r){const o=e.referenceType,i=a.enter("imageReference");let s=a.enter("label");const l=a.createTracker(r);let c=l.move("![");const u=a.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),s();const d=a.stack;a.stack=[],s=a.enter("reference");const p=a.safe(a.associationId(e),{before:c,after:"]",...l.current()});return s(),a.stack=d,i(),o==="full"||!u||u!==p?c+=l.move(p+"]"):o==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function mT(){return"!"}Tv.peek=hT;function Tv(e,t,a){let r=e.value||"",o="`",i=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(e.url))}Av.peek=fT;function Av(e,t,a,r){const o=pd(a),i=o==='"'?"Quote":"Apostrophe",s=a.createTracker(r);let l,c;if(Iv(e,a)){const d=a.stack;a.stack=[],l=a.enter("autolink");let p=s.move("<");return p+=s.move(a.containerPhrasing(e,{before:p,after:">",...s.current()})),p+=s.move(">"),l(),a.stack=d,p}l=a.enter("link"),c=a.enter("label");let u=s.move("[");return u+=s.move(a.containerPhrasing(e,{before:u,after:"](",...s.current()})),u+=s.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=a.enter("destinationLiteral"),u+=s.move("<"),u+=s.move(a.safe(e.url,{before:u,after:">",...s.current()})),u+=s.move(">")):(c=a.enter("destinationRaw"),u+=s.move(a.safe(e.url,{before:u,after:e.title?" ":")",...s.current()}))),c(),e.title&&(c=a.enter(`title${i}`),u+=s.move(" "+o),u+=s.move(a.safe(e.title,{before:u,after:o,...s.current()})),u+=s.move(o),c()),u+=s.move(")"),l(),u}function fT(e,t,a){return Iv(e,a)?"<":"["}_v.peek=gT;function _v(e,t,a,r){const o=e.referenceType,i=a.enter("linkReference");let s=a.enter("label");const l=a.createTracker(r);let c=l.move("[");const u=a.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),s();const d=a.stack;a.stack=[],s=a.enter("reference");const p=a.safe(a.associationId(e),{before:c,after:"]",...l.current()});return s(),a.stack=d,i(),o==="full"||!u||u!==p?c+=l.move(p+"]"):o==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function gT(){return"["}function md(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function vT(e){const t=md(e),a=e.options.bulletOther;if(!a)return t==="*"?"-":"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(a===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+a+"`) to be different");return a}function bT(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function Pv(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function yT(e,t,a,r){const o=a.enter("list"),i=a.bulletCurrent;let s=e.ordered?bT(a):md(a);const l=e.ordered?s==="."?")":".":vT(a);let c=t&&a.bulletLastUsed?s===a.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((s==="*"||s==="-")&&d&&(!d.children||!d.children[0])&&a.stack[a.stack.length-1]==="list"&&a.stack[a.stack.length-2]==="listItem"&&a.stack[a.stack.length-3]==="list"&&a.stack[a.stack.length-4]==="listItem"&&a.indexStack[a.indexStack.length-1]===0&&a.indexStack[a.indexStack.length-2]===0&&a.indexStack[a.indexStack.length-3]===0&&(c=!0),Pv(a)===s&&d){let p=-1;for(;++p-1?t.start:1)+(a.options.incrementListMarker===!1?0:t.children.indexOf(e))+i);let s=i.length+1;(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(s=Math.ceil(s/4)*4);const l=a.createTracker(r);l.move(i+" ".repeat(s-i.length)),l.shift(s);const c=a.enter("listItem"),u=a.indentLines(a.containerFlow(e,l.current()),d);return c(),u;function d(p,m,h){return m?(h?"":" ".repeat(s))+p:(h?i:i+" ".repeat(s-i.length))+p}}function kT(e,t,a,r){const o=a.enter("paragraph"),i=a.enter("phrasing"),s=a.containerPhrasing(e,r);return i(),o(),s}const xT=dl(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function ST(e,t,a,r){return(e.children.some(function(s){return xT(s)})?a.containerPhrasing:a.containerFlow).call(a,e,r)}function CT(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Ov.peek=NT;function Ov(e,t,a,r){const o=CT(a),i=a.enter("strong"),s=a.createTracker(r),l=s.move(o+o);let c=s.move(a.containerPhrasing(e,{after:o,before:l,...s.current()}));const u=c.charCodeAt(0),d=js(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(c=wi(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=js(r.after.charCodeAt(0),p,o);m.inside&&(c=c.slice(0,-1)+wi(p));const h=s.move(o+o);return i(),a.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function NT(e,t,a){return a.options.strong||"*"}function RT(e,t,a,r){return a.safe(e.value,r)}function TT(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function IT(e,t,a){const r=(Pv(a)+(a.options.ruleSpaces?" ":"")).repeat(TT(a));return a.options.ruleSpaces?r.slice(0,-1):r}const Mv={blockquote:QR,break:xh,code:rT,definition:iT,emphasis:Sv,hardBreak:xh,heading:uT,html:Cv,image:Nv,imageReference:Rv,inlineCode:Tv,link:Av,linkReference:_v,list:yT,listItem:wT,paragraph:kT,root:ST,strong:Ov,text:RT,thematicBreak:IT};function AT(){return{enter:{table:_T,tableData:Sh,tableHeader:Sh,tableRow:OT},exit:{codeText:MT,table:PT,tableData:mc,tableHeader:mc,tableRow:mc}}}function _T(e){const t=e._align;this.enter({type:"table",align:t.map(function(a){return a==="none"?null:a}),children:[]},e),this.data.inTable=!0}function PT(e){this.exit(e),this.data.inTable=void 0}function OT(e){this.enter({type:"tableRow",children:[]},e)}function mc(e){this.exit(e)}function Sh(e){this.enter({type:"tableCell",children:[]},e)}function MT(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,zT));const a=this.stack[this.stack.length-1];a.type,a.value=t,this.exit(e)}function zT(e,t){return t==="|"?t:e}function LT(e){const t=e||{},a=t.tableCellPadding,r=t.tablePipeAlign,o=t.stringLength,i=a?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:m,table:s,tableCell:c,tableRow:l}};function s(h,f,v,y){return u(d(h,v,y),h.align)}function l(h,f,v,y){const E=p(h,v,y),b=u([E]);return b.slice(0,b.indexOf(` -`))}function c(h,f,v,y){const E=v.enter("tableCell"),b=v.enter("phrasing"),x=v.containerPhrasing(h,{...y,before:i,after:i});return b(),E(),x}function u(h,f){return KR(h,{align:f,alignDelimiters:r,padding:a,stringLength:o})}function d(h,f,v){const y=h.children;let E=-1;const b=[],x=f.enter("table");for(;++E0&&!a&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),a}const XT={tokenize:sI,partial:!0};function eI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:rI,continuation:{tokenize:oI},exit:iI}},text:{91:{name:"gfmFootnoteCall",tokenize:aI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tI,resolveTo:nI}}}}function tI(e,t,a){const r=this;let o=r.events.length;const i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;o--;){const c=r.events[o][1];if(c.type==="labelImage"){s=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!s||!s._balanced)return a(c);const u=Fa(r.sliceSerialize({start:s.end,end:r.now()}));return u.codePointAt(0)!==94||!i.includes(u.slice(1))?a(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function nI(e,t){let a=e.length;for(;a--;)if(e[a][1].type==="labelImage"&&e[a][0]==="enter"){e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},l=[e[a+1],e[a+2],["enter",r,t],e[a+3],e[a+4],["enter",o,t],["exit",o,t],["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(a,e.length-a+1,...l),e}function aI(e,t,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i=0,s;return l;function l(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?a(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(p){if(i>999||p===93&&!s||p===null||p===91||Bt(p))return a(p);if(p===93){e.exit("chunkString");const m=e.exit("gfmFootnoteCallString");return o.includes(Fa(r.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):a(p)}return Bt(p)||(s=!0),i++,e.consume(p),p===92?d:u}function d(p){return p===91||p===92||p===93?(e.consume(p),i++,u):u(p)}}function rI(e,t,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,s=0,l;return c;function c(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):a(f)}function d(f){if(s>999||f===93&&!l||f===null||f===91||Bt(f))return a(f);if(f===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return i=Fa(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return Bt(f)||(l=!0),s++,e.consume(f),f===92?p:d}function p(f){return f===91||f===92||f===93?(e.consume(f),s++,d):d(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),o.includes(i)||o.push(i),Rt(e,h,"gfmFootnoteDefinitionWhitespace")):a(f)}function h(f){return t(f)}}function oI(e,t,a){return e.check($i,t,e.attempt(XT,t,a))}function iI(e){e.exit("gfmFootnoteDefinition")}function sI(e,t,a){const r=this;return Rt(e,o,"gfmFootnoteDefinitionIndent",5);function o(i){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(i):a(i)}}function lI(e){let a=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:i,resolveAll:o};return a==null&&(a=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(s,l){let c=-1;for(;++c1?c(f):(s.consume(f),p++,h);if(p<2&&!a)return c(f);const y=s.exit("strikethroughSequenceTemporary"),E=vo(f);return y._open=!E||E===2&&!!v,y._close=!v||v===2&&!!E,l(f)}}}class cI{constructor(){this.map=[]}add(t,a,r){uI(this,t,a,r)}consume(t){if(this.map.sort(function(i,s){return i[0]-s[0]}),this.map.length===0)return;let a=this.map.length;const r=[];for(;a>0;)a-=1,r.push(t.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),t.length=this.map[a][0];r.push(t.slice()),t.length=0;let o=r.pop();for(;o;){for(const i of o)t.push(i);o=r.pop()}this.map.length=0}}function uI(e,t,a,r){let o=0;if(!(a===0&&r.length===0)){for(;o-1;){const z=r.events[T][1].type;if(z==="lineEnding"||z==="linePrefix")T--;else break}const A=T>-1?r.events[T][1].type:null,q=A==="tableHead"||A==="tableRow"?S:c;return q===S&&r.parser.lazy[r.now().line]?a(k):q(k)}function c(k){return e.enter("tableHead"),e.enter("tableRow"),u(k)}function u(k){return k===124||(s=!0,i+=1),d(k)}function d(k){return k===null?a(k):at(k)?i>1?(i=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):a(k):xt(k)?Rt(e,d,"whitespace")(k):(i+=1,s&&(s=!1,o+=1),k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),s=!0,d):(e.enter("data"),p(k)))}function p(k){return k===null||k===124||Bt(k)?(e.exit("data"),d(k)):(e.consume(k),k===92?m:p)}function m(k){return k===92||k===124?(e.consume(k),p):p(k)}function h(k){return r.interrupt=!1,r.parser.lazy[r.now().line]?a(k):(e.enter("tableDelimiterRow"),s=!1,xt(k)?Rt(e,f,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):f(k))}function f(k){return k===45||k===58?y(k):k===124?(s=!0,e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),v):R(k)}function v(k){return xt(k)?Rt(e,y,"whitespace")(k):y(k)}function y(k){return k===58?(i+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),E):k===45?(i+=1,E(k)):k===null||at(k)?w(k):R(k)}function E(k){return k===45?(e.enter("tableDelimiterFiller"),b(k)):R(k)}function b(k){return k===45?(e.consume(k),b):k===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(k))}function x(k){return xt(k)?Rt(e,w,"whitespace")(k):w(k)}function w(k){return k===124?f(k):k===null||at(k)?!s||o!==i?R(k):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(k)):R(k)}function R(k){return a(k)}function S(k){return e.enter("tableRow"),I(k)}function I(k){return k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),I):k===null||at(k)?(e.exit("tableRow"),t(k)):xt(k)?Rt(e,I,"whitespace")(k):(e.enter("data"),N(k))}function N(k){return k===null||k===124||Bt(k)?(e.exit("data"),I(k)):(e.consume(k),k===92?M:N)}function M(k){return k===92||k===124?(e.consume(k),N):N(k)}}function hI(e,t){let a=-1,r=!0,o=0,i=[0,0,0,0],s=[0,0,0,0],l=!1,c=0,u,d,p;const m=new cI;for(;++aa[2]+1){const f=a[2]+1,v=a[3]-a[2]-1;e.add(f,v,[])}}e.add(a[3]+1,0,[["exit",p,t]])}return o!==void 0&&(i.end=Object.assign({},Qr(t.events,o)),e.add(o,0,[["exit",i,t]]),i=void 0),i}function Nh(e,t,a,r,o){const i=[],s=Qr(t.events,a);o&&(o.end=Object.assign({},s),i.push(["exit",o,t])),r.end=Object.assign({},s),i.push(["exit",r,t]),e.add(a+1,0,i)}function Qr(e,t){const a=e[t],r=a[0]==="enter"?"start":"end";return a[1][r]}const fI={name:"tasklistCheck",tokenize:vI};function gI(){return{text:{91:fI}}}function vI(e,t,a){const r=this;return o;function o(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?a(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),i)}function i(c){return Bt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),s):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),s):a(c)}function s(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):a(c)}function l(c){return at(c)?t(c):xt(c)?e.check({tokenize:bI},t,a)(c):a(c)}}function bI(e,t,a){return Rt(e,r,"whitespace");function r(o){return o===null?a(o):t(o)}}function yI(e){return Yg([HT(),eI(),lI(e),pI(),gI()])}const EI={};function wI(e){const t=this,a=e||EI,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(yI(a)),i.push(jT()),s.push(UT(a))}const kI=new Set(["standard","document","email","chat_message","social_post"]);function xI(e,{offsets:t=!1}={}){const a=String(e||"").split(` +`))}function c(h,f,v,y){const E=v.enter("tableCell"),b=v.enter("phrasing"),x=v.containerPhrasing(h,{...y,before:i,after:i});return b(),E(),x}function u(h,f){return YR(h,{align:f,alignDelimiters:r,padding:a,stringLength:o})}function d(h,f,v){const y=h.children;let E=-1;const b=[],x=f.enter("table");for(;++E0&&!a&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),a}const eI={tokenize:lI,partial:!0};function tI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:oI,continuation:{tokenize:iI},exit:sI}},text:{91:{name:"gfmFootnoteCall",tokenize:rI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:nI,resolveTo:aI}}}}function nI(e,t,a){const r=this;let o=r.events.length;const i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;o--;){const c=r.events[o][1];if(c.type==="labelImage"){s=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!s||!s._balanced)return a(c);const u=Fa(r.sliceSerialize({start:s.end,end:r.now()}));return u.codePointAt(0)!==94||!i.includes(u.slice(1))?a(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function aI(e,t){let a=e.length;for(;a--;)if(e[a][1].type==="labelImage"&&e[a][0]==="enter"){e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},l=[e[a+1],e[a+2],["enter",r,t],e[a+3],e[a+4],["enter",o,t],["exit",o,t],["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(a,e.length-a+1,...l),e}function rI(e,t,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i=0,s;return l;function l(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?a(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(p){if(i>999||p===93&&!s||p===null||p===91||Bt(p))return a(p);if(p===93){e.exit("chunkString");const m=e.exit("gfmFootnoteCallString");return o.includes(Fa(r.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):a(p)}return Bt(p)||(s=!0),i++,e.consume(p),p===92?d:u}function d(p){return p===91||p===92||p===93?(e.consume(p),i++,u):u(p)}}function oI(e,t,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,s=0,l;return c;function c(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):a(f)}function d(f){if(s>999||f===93&&!l||f===null||f===91||Bt(f))return a(f);if(f===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return i=Fa(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return Bt(f)||(l=!0),s++,e.consume(f),f===92?p:d}function p(f){return f===91||f===92||f===93?(e.consume(f),s++,d):d(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),o.includes(i)||o.push(i),Rt(e,h,"gfmFootnoteDefinitionWhitespace")):a(f)}function h(f){return t(f)}}function iI(e,t,a){return e.check(Bi,t,e.attempt(eI,t,a))}function sI(e){e.exit("gfmFootnoteDefinition")}function lI(e,t,a){const r=this;return Rt(e,o,"gfmFootnoteDefinitionIndent",5);function o(i){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(i):a(i)}}function cI(e){let a=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:i,resolveAll:o};return a==null&&(a=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(s,l){let c=-1;for(;++c1?c(f):(s.consume(f),p++,h);if(p<2&&!a)return c(f);const y=s.exit("strikethroughSequenceTemporary"),E=vo(f);return y._open=!E||E===2&&!!v,y._close=!v||v===2&&!!E,l(f)}}}class uI{constructor(){this.map=[]}add(t,a,r){dI(this,t,a,r)}consume(t){if(this.map.sort(function(i,s){return i[0]-s[0]}),this.map.length===0)return;let a=this.map.length;const r=[];for(;a>0;)a-=1,r.push(t.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),t.length=this.map[a][0];r.push(t.slice()),t.length=0;let o=r.pop();for(;o;){for(const i of o)t.push(i);o=r.pop()}this.map.length=0}}function dI(e,t,a,r){let o=0;if(!(a===0&&r.length===0)){for(;o-1;){const z=r.events[T][1].type;if(z==="lineEnding"||z==="linePrefix")T--;else break}const A=T>-1?r.events[T][1].type:null,q=A==="tableHead"||A==="tableRow"?S:c;return q===S&&r.parser.lazy[r.now().line]?a(k):q(k)}function c(k){return e.enter("tableHead"),e.enter("tableRow"),u(k)}function u(k){return k===124||(s=!0,i+=1),d(k)}function d(k){return k===null?a(k):at(k)?i>1?(i=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):a(k):xt(k)?Rt(e,d,"whitespace")(k):(i+=1,s&&(s=!1,o+=1),k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),s=!0,d):(e.enter("data"),p(k)))}function p(k){return k===null||k===124||Bt(k)?(e.exit("data"),d(k)):(e.consume(k),k===92?m:p)}function m(k){return k===92||k===124?(e.consume(k),p):p(k)}function h(k){return r.interrupt=!1,r.parser.lazy[r.now().line]?a(k):(e.enter("tableDelimiterRow"),s=!1,xt(k)?Rt(e,f,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):f(k))}function f(k){return k===45||k===58?y(k):k===124?(s=!0,e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),v):R(k)}function v(k){return xt(k)?Rt(e,y,"whitespace")(k):y(k)}function y(k){return k===58?(i+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),E):k===45?(i+=1,E(k)):k===null||at(k)?w(k):R(k)}function E(k){return k===45?(e.enter("tableDelimiterFiller"),b(k)):R(k)}function b(k){return k===45?(e.consume(k),b):k===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(k))}function x(k){return xt(k)?Rt(e,w,"whitespace")(k):w(k)}function w(k){return k===124?f(k):k===null||at(k)?!s||o!==i?R(k):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(k)):R(k)}function R(k){return a(k)}function S(k){return e.enter("tableRow"),I(k)}function I(k){return k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),I):k===null||at(k)?(e.exit("tableRow"),t(k)):xt(k)?Rt(e,I,"whitespace")(k):(e.enter("data"),N(k))}function N(k){return k===null||k===124||Bt(k)?(e.exit("data"),I(k)):(e.consume(k),k===92?M:N)}function M(k){return k===92||k===124?(e.consume(k),N):N(k)}}function fI(e,t){let a=-1,r=!0,o=0,i=[0,0,0,0],s=[0,0,0,0],l=!1,c=0,u,d,p;const m=new uI;for(;++aa[2]+1){const f=a[2]+1,v=a[3]-a[2]-1;e.add(f,v,[])}}e.add(a[3]+1,0,[["exit",p,t]])}return o!==void 0&&(i.end=Object.assign({},Qr(t.events,o)),e.add(o,0,[["exit",i,t]]),i=void 0),i}function Nh(e,t,a,r,o){const i=[],s=Qr(t.events,a);o&&(o.end=Object.assign({},s),i.push(["exit",o,t])),r.end=Object.assign({},s),i.push(["exit",r,t]),e.add(a+1,0,i)}function Qr(e,t){const a=e[t],r=a[0]==="enter"?"start":"end";return a[1][r]}const gI={name:"tasklistCheck",tokenize:bI};function vI(){return{text:{91:gI}}}function bI(e,t,a){const r=this;return o;function o(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?a(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),i)}function i(c){return Bt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),s):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),s):a(c)}function s(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):a(c)}function l(c){return at(c)?t(c):xt(c)?e.check({tokenize:yI},t,a)(c):a(c)}}function yI(e,t,a){return Rt(e,r,"whitespace");function r(o){return o===null?a(o):t(o)}}function EI(e){return Gg([VT(),tI(),cI(e),mI(),vI()])}const wI={};function kI(e){const t=this,a=e||wI,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(EI(a)),i.push(UT()),s.push($T(a))}const xI=new Set(["standard","document","email","chat_message","social_post"]);function SI(e,{offsets:t=!1}={}){const a=String(e||"").split(` `),r=[];let o=[],i=null,s=0,l=0;const c=a.map(p=>{const m=l;return l+=p.length+1,m}),u=(p,m)=>{o.length||(s=c[m]),o.push(p)},d=()=>{o.length&&(r.push({type:"text",text:o.join(` -`),...t?{sourceOffset:s}:{}}),o=[])};for(let p=0;p=i.length&&(i=null):i=h[1],u(m,p);continue}const f=!i&&/^:::writing\{([^{}]*)\}\s*$/.exec(m);if(!f){u(m,p);continue}const v={},y=/([a-z]+)="([^"\r\n]*)"/g;let E;for(;E=y.exec(f[1]);)v[E[1]]=E[2];if(f[1].replace(y,"").trim()||!kI.has(v.variant)||!/^\d{5}$/.test(v.id)||Object.keys(v).some(w=>!["variant","id","subject","recipient","cc","bcc"].includes(w))){u(m,p);continue}let x=p+1;for(;xf("button",{type:"button",className:"a-soft",disabled:l,onClick:b,...x},E);async function y(){try{await navigator.clipboard.writeText(r),d("Copied writing.")}catch{d("Clipboard is unavailable. Select the text to copy it.")}}return f("section",{className:"a-selection-card a-writing-block","aria-label":"Reusable writing"},f("strong",null,e.subject||e.variant.replaceAll("_"," ")),...["recipient","cc","bcc"].filter(E=>e[E]).map(E=>f("p",{key:E},{recipient:"To",cc:"Cc",bcc:"Bcc"}[E]+": "+e[E])),i?f("textarea",{"aria-label":"Edit writing copy",rows:8,value:r,disabled:l,onChange:E=>o(E.target.value)}):a(r),f("div",{className:"a-dialog-actions"},v("Copy writing",y),v(i?"Preview copy":"Edit copy",()=>s(E=>!E)),t&&v("Save writing version",h,{className:"a-primary",disabled:l||!r.trim(),"data-action":"outputs.write"})),u&&f("p",{role:"status"},u))}function $v(e){if(typeof e!="string"||e.length>600||!e.startsWith("amplifier-canvas://artifact/"))return null;try{const t=new URL(e),a=t.pathname.slice(1),r=t.searchParams.get("session"),o=t.searchParams.get("version");if(t.host!=="artifact"||t.username||t.password||t.hash||!/^[-\w]{1,100}$/.test(a)||!/^[-\w]{1,200}$/.test(r||"")||[...t.searchParams.keys()].sort().join(",")!=="session,version"||!/^\d+$/.test(o||""))return null;const i=Number(o);return!Number.isSafeInteger(i)||i<1?null:{id:a,sessionId:r,version:i}}catch{return null}}function CI({reference:e,context:t,children:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1);async function c(){if(!l.current){if(e.sessionId!==t.sessionId){s("This artifact belongs to another chat. Open the reference from its original chat.");return}l.current=!0,o(!0),s("");try{await t.act("canvas.select",e)}catch(u){s(u.message||"This saved artifact version is unavailable.")}finally{l.current=!1,o(!1)}}}return n.createElement("span",{className:"a-file-reference"},n.createElement("button",{type:"button",className:"a-link",disabled:r,"data-action":"canvas.select",title:"Open saved version "+e.version+" in Canvas",onClick:c},a),i&&n.createElement("span",{role:"status",className:"a-caption"}," "+i))}function js(e){if(typeof e!="string"||!e||e.length>4e3||/[\x00-\x1f\x7f]/.test(e)||e.startsWith("#")||e.startsWith("//"))return null;let t=e.replace(/:\d+(?::\d+)?$/,"");if(/^file:/i.test(t))try{const a=new URL(t);if(a.hostname&&a.hostname!=="localhost"||a.username||a.password)return null;t=a.pathname}catch{return null}else if(/^[a-z][a-z\d+.-]*:/i.test(t))return null;t=t.split(/[?#]/,1)[0];try{t=decodeURIComponent(t)}catch{return null}return/[\x00-\x1f\x7f\\]/.test(t)||t.startsWith("//")||/^www\./i.test(t)||/^[a-z][a-z\d+.-]*:/i.test(t)||(t=t.replace(/:\d+(?::\d+)?$/,""),!/[^/]\.[a-z\d_-]{1,20}$/i.test(t))?null:t}function NI({path:e,context:t,children:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1);async function c(){var u,d;if(!l.current){l.current=!0,o(!0),s("");try{const p=await t.act("canvas.openFile",{sessionId:t.sessionId,workspace:t.workspace,path:e});((u=p==null?void 0:p.result)==null?void 0:u.status)!=="opened"&&s(((d=p==null?void 0:p.result)==null?void 0:d.message)||"This file could not be opened.")}catch{s("This file could not be opened.")}finally{l.current=!1,o(!1)}}}return n.createElement("span",{className:"a-file-reference"},n.createElement("button",{type:"button",className:"a-link",disabled:r,"data-action":"canvas.openFile",title:"Open in Canvas: "+e,onClick:c},a),i&&n.createElement("span",{role:"status",className:"a-caption"}," "+i))}function RI(){return e=>{let t=100;function a(r){!r.children||["link","image","code","html"].includes(r.type)||(r.children=r.children.flatMap(o=>{if(!t)return[o];if(o.type==="inlineCode"){const i=js(o.value);if(i)return t--,[{type:"link",url:i,children:[o]}]}if(o.type==="text"){const i=[];let s=0;const l=new RegExp("(?s&&i.push({type:"text",value:o.value.slice(s,c.index)}),i.push({type:"link",url:u,children:[{type:"text",value:u}]}),s=c.index+u.length,t--)}if(s)return sn.createElement("a",{...r,href:t,target:t!=null&&t.startsWith("#")?void 0:"_blank",rel:"noopener noreferrer"},a),img:({src:e,alt:t})=>n.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},t?`Image: ${t}`:"Open image"),table:({node:e,...t})=>n.createElement("div",{className:"a-table-scroll"},n.createElement("table",t))},Hv=g.createContext(null);function TI({node:e,href:t,children:a,...r}){const o=g.useContext(Hv),i=o&&$v(t),s=(o==null?void 0:o.workspace)&&js(t);return i?n.createElement(CI,{key:t,reference:i,context:o},a):s?n.createElement(NI,{key:JSON.stringify([o.sessionId,o.workspace,s]),path:s,context:o},a):n.createElement(Bv.a,{href:t,...r},a)}const pl=g.memo(function({text:t,className:a="",overrides:r={},writingContext:o,fileContext:i,mapSource:s=!1}){const l=!!(i!=null&&i.sessionId&&(i!=null&&i.act)),c=!!(l&&i.workspace),u=(d,p)=>n.createElement(cR,{remarkPlugins:[wI,...Number.isInteger(p)?[uS(d,p)]:[],...c?[RI]:[]],skipHtml:!0,urlTransform:m=>l&&$v(m)||c&&js(m)?m:bv(m),components:{...Bv,...l?{a:TI}:{},...r}},d);return n.createElement(Hv.Provider,{value:l?i:null},n.createElement("div",{className:`a-markdown ${a}`.trim()},...xI(t,{offsets:s}).map((d,p)=>{const m=h=>u(h,h===d.text?d.sourceOffset:void 0);return d.type==="writing"?n.createElement(SI,{key:d.id+":"+p,part:d,context:o,render:m}):n.createElement(n.Fragment,{key:p},m(d.text))})))}),Us=(e,t,a)=>t("canvas.view",{id:e.id,patch:a});function fd(e,t,a="preview"){const r=g.useRef(t);return r.current=t,g.useMemo(()=>(o,i="")=>{e.id&&r.current("canvas.report",{id:e.id,part:a,status:o,message:String(i).slice(0,2e3)})},[e.id,a])}function II(e){return JS.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["foreignObject","script","image","a","use","animate","set"],FORBID_ATTR:["href","xlink:href"]})}let Rh;function Vv({kind:e,source:t,canvas:a,act:r,part:o="preview",embedded:i=!1}){var x,w;const s=g.useId().replace(/[^a-zA-Z0-9]/g,""),l=fd(a,r,o),[c,u]=g.useState({}),d=g.useRef(null),p=g.useRef(null),m=a.view||{},h=m.zoom||1,f=m.panX||0,v=m.panY||0;g.useEffect(()=>{let R=!0,S,I;u({}),l("pending");const N=M=>{R&&(clearTimeout(I),S==null||S.terminate(),u(M),l(M.error?"error":"ready",M.error||"Diagram rendered"))};if(t.length>5e4){N({error:"Diagrams must be 50,000 characters or smaller."});return}return e==="dot"?(S=new Worker(new URL("/assets/graphviz.worker-CZ5dJQ9S.js",import.meta.url),{type:"module"}),I=setTimeout(()=>N({error:"Diagram layout took too long. Simplify the graph and try again."}),15e3),S.onmessage=M=>N(M.data),S.onerror=M=>N({error:M.message||"Graph renderer failed"}),S.postMessage({source:t,engine:m.engine||"dot"})):(Rh||(Rh=_g(async()=>{const{default:M}=await import("./mermaid.core-Db1rVExV.js").then(k=>k.ca);return{default:M}},__vite__mapDeps([0,1])).then(({default:M})=>(M.initialize({startOnLoad:!1,securityLevel:"strict",maxTextSize:5e4,maxEdges:500,suppressErrorRendering:!0,theme:"default",flowchart:{htmlLabels:!1},htmlLabels:!1}),M))),Rh.then(M=>M.render(`canvas${s}`,t)).then(({svg:M})=>N({svg:M})).catch(M=>N({error:M.message||String(M)}))),()=>{R=!1,clearTimeout(I),S==null||S.terminate()}},[e,t,m.engine,s,l]);const y=g.useMemo(()=>c.svg?"data:image/svg+xml;charset=utf-8,"+encodeURIComponent(II(c.svg)):null,[c.svg]),E=R=>Us(a,r,R),b=(x=c.nodes)==null?void 0:x.find(R=>R.name===m.node);return n.createElement("div",{className:`a-diagram ${i?"embedded":""}`},!i&&n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},n.createElement("button",{type:"button",className:"a-icon","aria-label":"Zoom out","data-action":"canvas.view",onClick:()=>E({zoom:Math.max(.2,h-.2)})},n.createElement(fx,null)),n.createElement("span",null,Math.round(h*100),"%"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Zoom in","data-action":"canvas.view",onClick:()=>E({zoom:Math.min(4,h+.2)})},n.createElement(hx,null)),n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.view",onClick:()=>E({zoom:1,panX:0,panY:0})},n.createElement(Hk,null),"Fit"),e==="dot"&&n.createElement("select",{"aria-label":"Graph layout","data-action":"canvas.view",value:m.engine||"dot",onChange:R=>E({engine:R.target.value,node:""})},["dot","neato","fdp","sfdp","circo","twopi"].map(R=>n.createElement("option",{key:R},R))))),c.error?n.createElement("div",{className:"a-canvas-result error",role:"alert"},n.createElement(On,null),n.createElement("span",null,c.error)):y?n.createElement("div",{ref:p,className:"a-diagram-stage",tabIndex:0,"aria-label":"Diagram. Drag to pan; arrow keys move the view.",onKeyDown:R=>{const S={ArrowLeft:[-30,0],ArrowRight:[30,0],ArrowUp:[0,-30],ArrowDown:[0,30]};S[R.key]&&(R.preventDefault(),E({panX:f+S[R.key][0],panY:v+S[R.key][1]}))},onPointerDown:R=>{i||(d.current={x:R.clientX,y:R.clientY},R.currentTarget.setPointerCapture(R.pointerId))},onPointerUp:R=>{d.current&&(E({panX:Math.max(-1e4,Math.min(1e4,f+R.clientX-d.current.x)),panY:Math.max(-1e4,Math.min(1e4,v+R.clientY-d.current.y))}),d.current=null)}},n.createElement("img",{alt:a.title||"Diagram",draggable:"false",src:y,style:{transform:i?void 0:`translate(${f}px,${v}px) scale(${h})`}})):n.createElement("p",{role:"status"},"Drawing diagram…"),!i&&((w=c.nodes)==null?void 0:w.length)>0&&n.createElement("div",{className:"a-node-inspector"},n.createElement("label",null,"Inspect a node",n.createElement("select",{"aria-label":"Inspect graph node","data-action":"canvas.view",value:m.node||"",onChange:R=>E({node:R.target.value})},n.createElement("option",{value:""},"Choose a node…"),c.nodes.map(R=>n.createElement("option",{key:R.name,value:R.name},R.name)))),b&&n.createElement("dl",null,Object.entries(b).map(([R,S])=>n.createElement(n.Fragment,{key:R},n.createElement("dt",null,R),n.createElement("dd",null,typeof S=="object"?JSON.stringify(S):String(S)))))))}function AI({canvas:e,act:t}){const a=g.useMemo(()=>({pre:({children:r})=>n.createElement("div",{className:"a-canvas-code-block"},r),code:({className:r,children:o,node:i,...s})=>{var u,d,p;const l=(u=/language-(\w+)/.exec(r||""))==null?void 0:u[1],c=String(o).replace(/\n$/,"");return["mermaid","dot","graphviz"].includes(l)?n.createElement(Vv,{kind:l==="mermaid"?"mermaid":"dot",source:c,canvas:e,act:t,embedded:!0,part:`fence-${((p=(d=i==null?void 0:i.position)==null?void 0:d.start)==null?void 0:p.offset)||0}`}):n.createElement("code",{className:r,...s},o)}}),[e.id,t]);return n.createElement(pl,{text:e.content,overrides:a,mapSource:!0})}function iu({text:e}){const[t,a]=g.useState("");return g.useEffect(()=>{let r=!0;return a(""),e.length<1e5&&_g(async()=>{const{default:o}=await import("./index-D1m6Llf0.js");return{default:o}},__vite__mapDeps([2,1])).then(({default:o})=>{const i=o.highlightAuto(e).value;r&&a(i)}),()=>{r=!1}},[e]),t?n.createElement("pre",{className:"a-canvas-code"},n.createElement("code",{dangerouslySetInnerHTML:{__html:t}})):n.createElement("pre",{className:"a-canvas-code"},e)}function _I({canvas:e,act:t}){var R,S;const a=fd(e,t),r=e.view||{},o=e.content||"",i=!["text","image"].includes(e.kind),s=g.useRef(null),l=g.useRef(null),c=g.useRef(!1),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=["markdown","text"].includes(e.kind)&&!r.source;g.useEffect(()=>{if(d(null),f(""),!v)return;const I=()=>{var N;c.current||(N=l.current)!=null&&N.contains(document.activeElement)||(d(mS(s.current,window.getSelection(),o)),f(""))};return document.addEventListener("selectionchange",I),()=>document.removeEventListener("selectionchange",I)},[o,v,e.id,e.resourceRevision]);async function y(){var I,N;if(!(!(u!=null&&u.excerpt)||c.current)){c.current=!0,m(!0),f("");try{const M=await t("canvas.reference",{id:e.id,sessionId:e.sessionId,version:e.selectedVersion||e.revision||e.latestVersion,...u});((I=M==null?void 0:M.result)==null?void 0:I.status)==="referenced"&&(f("Reference added to your draft. Nothing was sent."),d(null),(N=window.getSelection())==null||N.removeAllRanges())}catch(M){f(M.message||"The reference could not be added.")}finally{c.current=!1,m(!1)}}}const E=g.useMemo(()=>{if(!["json","jsonl"].includes(e.kind))return{};try{return{value:e.kind==="json"?JSON.parse(o):o.split(` -`).filter(I=>I.trim()).map(I=>JSON.parse(I))}}catch(I){return{error:I.message}}},[e.kind,o]);g.useEffect(()=>{["html","babylon","image","dot","mermaid"].includes(e.kind)||a(E.error?"error":"ready",E.error||"Preview ready")},[e.id,e.kind,E.error,a]);const b=Object.values(e.renderReports||{}),x=b.find(I=>I.status==="error"),w=b.some(I=>I.status==="pending");return n.createElement("div",{className:"a-canvas-viewer"},n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},i&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft","aria-pressed":!r.source,"data-action":"canvas.view",onClick:()=>Us(e,t,{source:!1})},n.createElement(zk,null),"Preview"),n.createElement("button",{type:"button",className:"a-soft","aria-pressed":!!r.source,"data-action":"canvas.view",onClick:()=>Us(e,t,{source:!0})},n.createElement(Mk,null),"Source")),n.createElement("span",{className:"a-canvas-format"},e.kind),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy canvas source","data-action":"canvas.copy",onClick:()=>t("canvas.copy",{id:e.id})},n.createElement(ar,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Download canvas source","data-action":"canvas.download",onClick:()=>t("canvas.download",{id:e.id})},n.createElement(Ea,null)))),v&&n.createElement("div",{className:"a-canvas-reference",ref:l},n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.reference",disabled:p||!(u!=null&&u.excerpt),onMouseDown:I=>I.preventDefault(),onClick:y},p?"Adding reference…":"Reference in chat"),n.createElement("span",{role:"status",className:"a-caption"},h||(u==null?void 0:u.error)||(u!=null&&u.excerpt?`${[...u.excerpt].length} characters selected`:"Select document text to quote in your draft."))),n.createElement("div",{className:"a-canvas-preview",ref:s,tabIndex:v?0:void 0,"aria-label":v?"Document text":void 0},r.source?e.contentResource?n.createElement(MI,{canvas:e}):n.createElement(iu,{text:o}):["html","babylon"].includes(e.kind)?n.createElement(OI,{canvas:e,act:t}):["mermaid","dot"].includes(e.kind)?n.createElement(Vv,{kind:e.kind,source:o,canvas:e,act:t}):e.kind==="markdown"?n.createElement(AI,{canvas:e,act:t}):e.kind==="image"?n.createElement("img",{className:"a-canvas-image",src:o,alt:e.title||"Workspace image",onLoad:()=>a("ready","Image loaded"),onError:()=>a("error","This image could not be decoded")}):["json","jsonl"].includes(e.kind)?E.error?n.createElement("div",{className:"a-canvas-result error",role:"alert"},E.error):n.createElement(PI,{value:E.value,canvas:e,act:t}):e.kind==="code"?n.createElement(iu,{text:o}):n.createElement("pre",{className:"a-canvas-plain"},n.createElement("span",{"data-canvas-source-start":"0","data-canvas-source-end":o.length,"data-canvas-literal":"true"},o))),n.createElement(vr,{inline:!!x||w},n.createElement("div",{className:`a-canvas-result ${x?"error":w?"":"success"}`,role:"status"},x?n.createElement(On,null):w?null:n.createElement(Pt,null),n.createElement("span",null,x?x.message||"Preview needs attention":w?"Rendering…":((S=(R=e.renderReports)==null?void 0:R.clipboard)==null?void 0:S.message)||(["html","babylon"].includes(e.kind)?"Isolated HTML preview":"Ready")))))}function PI({value:e,canvas:t,act:a}){var s;const r=((s=t.view)==null?void 0:s.query)||"",o=Array.isArray(e)?e:[e],i=o.map((l,c)=>({v:l,i:c})).filter(({v:l})=>!r||JSON.stringify(l).toLowerCase().includes(r.toLowerCase()));return n.createElement("div",{className:"a-canvas-data"},n.createElement("input",{"aria-label":"Filter data records",type:"search",placeholder:"Filter records…",value:r,"data-action":"canvas.view",onChange:l=>Us(t,a,{query:l.target.value})}),n.createElement("small",null,i.length," of ",o.length," records"),i.slice(0,200).map(({v:l,i:c})=>n.createElement("pre",{key:c},JSON.stringify(l,null,2))),i.length>200&&n.createElement("p",null,"Showing the first 200 matches. Narrow the filter to see more."))}function OI({canvas:e,act:t}){const a=g.useRef(null),r=fd(e,t),o=g.useRef(t),i=g.useRef(null);return o.current=t,g.useEffect(()=>{r("pending","Loading HTML document");const s=l=>{var c,u;if(!(l.source!==((c=a.current)==null?void 0:c.contentWindow)||((u=l.data)==null?void 0:u.id)!==e.id)&&(l.data.type==="canvas-render"&&["ready","error"].includes(l.data.status)&&r(l.data.status,String(l.data.message||"").slice(0,2e3)),l.data.type==="canvas-snapshot")){const d=l.data.document;if(!d||typeof d.text!="string"||!Array.isArray(d.controls))return;const p={text:d.text.slice(0,16e3),controls:d.controls.slice(0,100).map(m=>({id:String(m.id||"").slice(0,100),tag:String(m.tag||"").slice(0,30),type:String(m.type||"").slice(0,30),label:String(m.label||"").slice(0,200),value:String(m.value||"").slice(0,4e3),disabled:!!m.disabled}))};o.current("canvas.snapshot",{id:e.id,document:p})}};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[e.id,r]),g.useEffect(()=>{var l,c;const s=e.interaction;s&&i.current!==s.requestId&&(i.current=s.requestId,(c=(l=a.current)==null?void 0:l.contentWindow)==null||c.postMessage({type:"canvas-interact",...s},"*"))},[e.interaction]),n.createElement("iframe",{ref:a,title:e.title||"Interactive canvas",className:"a-canvas-html",sandbox:"allow-scripts",referrerPolicy:"no-referrer",src:ji(`/api/canvas/${e.id}/document`+(e.viewId?"?"+new URLSearchParams({viewId:e.viewId,resourceId:e.id,resourceRevision:e.resourceRevision,generation:e.generation}):""))})}function MI({canvas:e}){const[t,a]=g.useState({});return g.useEffect(()=>{const r=new AbortController;return a({}),fetch(ji(`/api/canvas/${e.id}/source?version=${e.selectedVersion??e.revision??1}`),{signal:r.signal}).then(async o=>{if(!o.ok)throw Error("The saved source could not be loaded.");return o.text()}).then(o=>a({text:o})).catch(o=>{o.name!=="AbortError"&&a({error:o.message})}),()=>r.abort()},[e.id,e.selectedVersion,e.revision]),t.error?n.createElement("p",{role:"alert"},t.error):t.text===void 0?n.createElement("p",{role:"status"},"Loading saved source…"):n.createElement(iu,{text:t.text})}var zI=Object.create,gd=Object.defineProperty,LI=Object.getOwnPropertyDescriptor,DI=Object.getOwnPropertyNames,FI=Object.getPrototypeOf,qI=Object.prototype.hasOwnProperty,jI=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),UI=(e,t)=>{let a={};for(var r in e)gd(a,r,{get:e[r],enumerable:!0});return a},$I=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=DI(t),i=0,s=o.length,l;it[c]).bind(null,l),enumerable:!(r=LI(t,l))||r.enumerable});return e},BI=(e,t,a)=>(a=e!=null?zI(FI(e)):{},$I(gd(a,"default",{value:e,enumerable:!0}),e));const HI=new Set(["https://json-schema.org/draft/2019-09/schema","http://json-schema.org/draft/2019-09/schema"]);function VI(e){return typeof e=="string"&&HI.has(e.replace(/#$/,""))}function su(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Th(e,t="|"){return e.map(a=>Yv(a)).join(t)}function lu(e,t){return typeof t=="bigint"?t.toString():t}class WI{constructor(t){this._getter=t,this._value=void 0}get value(){const t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}}function ml(e){return new WI(e)}function ZI(e){return e==null}function vd(e){const t=e.startsWith("^")?1:0,a=e.endsWith("$")?e.length-1:e.length;return e.slice(t,a)}function JI(e,t){const a=e/t,r=Math.round(a),o=4*Number.EPSILON*Math.max(Math.abs(a),1);return Math.abs(a-r){const l=t._zod.def.shape[i];return r?r(l,i):l}):Zv(e,i,r?r(s.value,i):s.value))}}function YI(e,t){for(const a of Reflect.ownKeys(t)){const r=Object.getOwnPropertyDescriptor(t,a);r.enumerable&&(r.get?Wv(e,a,()=>t[a]):Zv(e,a,r.value))}}function va(...e){const t={};for(const a of e){const r=Object.getOwnPropertyDescriptors(a);Object.assign(t,r)}return Object.defineProperties({},t)}function GI(e){return JSON.stringify(e)}function QI(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Jv="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const XI=ml(()=>{var e;if(qa.jitless||typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function bo(e){if(ki(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const a=t.prototype;return!(ki(a)===!1||Object.prototype.hasOwnProperty.call(a,"isPrototypeOf")===!1)}function Kv(e){return bo(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const e2=new Set(["string","number","symbol"]);function yo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kr(e,t,a){const r=new e._zod.constr(t??e._zod.def);return(!t||a!=null&&a.parent)&&(r._zod.parent=e),r}function Ve(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Yv(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function t2(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}const Gv={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},n2={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function a2(e,t){const a=e._zod.def,r=a.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i={};return Ur(i,e,hl(e,t)),kr(e,va(a,{shape:i,checks:[]}))}function hl(e,t){var o;const a=nr(e),r=[];for(const i of Reflect.ownKeys(t)){if(!((o=Object.getOwnPropertyDescriptor(a,i))!=null&&o.enumerable))throw new Error(`Unrecognized key: "${String(i)}"`);t[i]&&r.push(i)}return r}function r2(e,t){const a=e._zod.def,r=a.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=new Set(hl(e,t)),s={};return Ur(s,e,Reflect.ownKeys(nr(e)).filter(l=>!i.has(l))),kr(e,va(a,{shape:s,checks:[]}))}function o2(e,t){if(!bo(t))throw new Error("Invalid input to extend: expected a plain object");const a=e._zod.def.checks;if(a&&a.length>0){const o=nr(e);for(const i of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return kr(e,va(e._zod.def,{shape:Qv(e,t)}))}function Qv(e,t){const a={};return Ur(a,e,Reflect.ownKeys(nr(e))),YI(a,t),a}function i2(e,t){if(!bo(t))throw new Error("Invalid input to safeExtend: expected a plain object");return kr(e,va(e._zod.def,{shape:Qv(e,t)}))}function s2(e,t){var o,i;if(!((o=t==null?void 0:t._zod)!=null&&o.def))throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if((i=e._zod.def.checks)!=null&&i.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const a={};Ur(a,e,Reflect.ownKeys(nr(e))),Ur(a,t,Reflect.ownKeys(nr(t)));const r=va(e._zod.def,{shape:a,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return kr(e,r)}function Ah(e,t,a,r="partial"){const i=t._zod.def.checks;if(i&&i.length>0)throw new Error(`.${r}() cannot be used on object schemas containing refinements`);const l=a?new Set(hl(t,a)):void 0,c={};return Ur(c,t,Reflect.ownKeys(nr(t)),e&&((u,d)=>l&&!l.has(d)?u:new e({type:"optional",innerType:u}))),kr(t,va(t._zod.def,{shape:c,checks:[]}))}function l2(e,t,a){const r=a?new Set(hl(t,a)):void 0,o={};return Ur(o,t,Reflect.ownKeys(nr(t)),(i,s)=>r&&!r.has(s)?i:new e({type:"nonoptional",innerType:i})),kr(t,va(t._zod.def,{shape:o}))}function er(e,t=0){var a;if(e.aborted===!0)return!0;for(let r=t;r{var r;return(r=a).path??(r.path=[]),a.path.unshift(e),a})}function Go(e){return typeof e=="string"?e:e==null?void 0:e.message}function _h(e,t,a){var r;for(let o=t;oe;return t[g2]=!0,t}var Oh;const b2=Object.freeze({status:"aborted"}),hc={value:void 0,enumerable:!1};let Mh="captureStackTrace"in Error?Error:null;function y2(e){const t=Mh;if(t){const a=t.stackTraceLimit;if(typeof a=="number"){try{t.stackTraceLimit=0}catch{return Mh=null,new e}try{return new e}finally{t.stackTraceLimit=a}}}return new e}function le(e,t,a,r){const o={};function i(m){this.def=m,this.constr=p,this.traits=new Set}i.prototype=o;const s=a,l=s&&new WeakSet;function c(m,h){if(!m._zod){hc.value=new i(h);try{Object.defineProperty(m,"_zod",hc)}finally{hc.value=void 0}}if(m._zod.traits.has(e))return;if(m._zod.traits.add(e),t(m,h),l){const v=Object.getPrototypeOf(m),y=m._zod.constr.prototype;let E=v;for(;E&&E!==y;)E=Object.getPrototypeOf(E);const b=E??v;l.has(b)||(l.add(b),p2(b,s))}const f=p.prototype;for(const v in f)Object.prototype.hasOwnProperty.call(f,v)&&(v in m||(m[v]=f[v].bind(m)))}const u=(r==null?void 0:r.Parent)??Object;class d extends u{}Object.defineProperty(d,"name",{value:e});function p(m){var y;const h=r!=null&&r.Parent?y2(d):this;c(h,m);const f=h._zod.deferred;if(f){for(const E of f)E();h._zod.deferred=void 0}const v=(y=globalThis.__zod_globalConfig)==null?void 0:y.postProcessor;return v&&v(h),h}return Object.defineProperty(p,"init",{value:c}),Object.defineProperty(p,Symbol.hasInstance,{value:m=>{var h,f;return r!=null&&r.Parent&&m instanceof r.Parent?!0:(f=(h=m==null?void 0:m._zod)==null?void 0:h.traits)==null?void 0:f.has(e)}}),Object.defineProperty(p,"name",{value:e}),p}class Or extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class tb extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Oh=globalThis).__zod_globalConfig??(Oh.__zod_globalConfig={});const qa=globalThis.__zod_globalConfig;function Ka(e){return e&&Object.assign(qa,e),qa}function E2(){const e=this._zod;return e.message??(e.message=JSON.stringify(e.def,lu,2)),e.message}function w2(e){this._zod.message=e}const k2={get:E2,set:w2,enumerable:!0,configurable:!0},fc={value:void 0,enumerable:!1},zh=new WeakSet([Object.prototype,Error.prototype]),x2=(e,t)=>{e.name="$ZodError",fc.value=t,Object.defineProperty(e,"issues",fc),fc.value=void 0,Object.defineProperty(e,"message",k2);const a=Object.getPrototypeOf(e);zh.has(a)||(zh.add(a),Object.defineProperty(a,"toString",{configurable:!0,enumerable:!1,get(){const r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},S2=le("$ZodError",x2);function C2(e,t,a){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:a(),writable:!0,enumerable:!0,configurable:!0}):e[t]=a()),e[t]}function N2(e,t=a=>a.message){const a={},r=[];for(const o of e.issues)o.path.length>0?C2(a,o.path[0],()=>[]).push(t(o)):r.push(t(o));return{formErrors:r,fieldErrors:a}}function R2(e,t=a=>a.message){const a={_errors:[]},r=(o,i=[])=>{for(const s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(l=>r({issues:l},[...i,...s.path]));else if(s.code==="invalid_key")r({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")r({issues:s.issues},[...i,...s.path]);else{const l=[...i,...s.path];if(l.length===0)a._errors.push(t(s));else{let c=a,u=0;for(;u{const t=(a,r,o,i)=>{const s=o?{...o,async:!1}:{async:!1},l=a._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Or;if(l.issues.length){const c=new((i==null?void 0:i.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Jv(c,(i==null?void 0:i.callee)??t),c}return l.value};return t},kd=e=>{const t=async(a,r,o,i)=>{const s=o?{...o,async:!0}:{async:!0};let l=a._zod.run({value:r,issues:[]},s);if(l instanceof Promise&&(l=await l),l.issues.length){const c=new((i==null?void 0:i.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Jv(c,(i==null?void 0:i.callee)??t),c}return l.value};return t},xd=e=>(t,a,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:a,issues:[]},o);if(i instanceof Promise)throw new Or;return i.issues.length?nb(e,i.issues,o):{success:!0,data:i.value}};function nb(e,t,a){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>br(o,a,Ka()))),t=void 0,a=void 0),r},set error(o){r=o,t=void 0,a=void 0}}}const Sd=e=>async(t,a,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:a,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?nb(e,i.issues,o):{success:!0,data:i.value}},T2=Symbol.for("zod.compile.invalid"),I2=Symbol.for("zod.compile.fallback"),A2=((e,t,a)=>{const r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==T2)return!0;if(r.definite===!0&&a===void 0)return!1}return _2(e,t,a)});function _2(e,t,a){const r=a?{...a,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun;let i;if(o?(r[I2]=!0,i=o({value:t,issues:[]},r)):i=e._zod.run({value:t,issues:[]},r),i instanceof Promise)throw new Or;return i.issues.length===0}const P2=async(e,t,a)=>{const r=a?{...a,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0};let o=e._zod.run({value:t,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length===0},O2=e=>{const t=wd(e),a=(r,o,i,s)=>{const l=i?{...i,direction:"backward"}:{direction:"backward"};return t(r,o,l,fl(a,s))};return a},M2=e=>{const t=wd(e),a=(r,o,i,s)=>t(r,o,i,fl(a,s));return a},z2=e=>{const t=kd(e),a=async(r,o,i,s)=>{const l=i?{...i,direction:"backward"}:{direction:"backward"};return await t(r,o,l,fl(a,s))};return a},L2=e=>{const t=kd(e),a=async(r,o,i,s)=>await t(r,o,i,fl(a,s));return a},D2=e=>(t,a,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return xd(e)(t,a,o)},F2=e=>(t,a,r)=>xd(e)(t,a,r),q2=e=>async(t,a,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Sd(e)(t,a,o)},j2=e=>async(t,a,r)=>Sd(e)(t,a,r),U2=/^[cC][0-9a-z]{6,}$/,$2=/^[0-9a-z]+$/,B2=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,H2=/^[0-9a-vA-V]{20}$/,V2=/^[A-Za-z0-9]{27}$/,W2=/^[a-zA-Z0-9_-]{21}$/;function Z2(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const J2=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,K2=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Lh=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Y2=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,G2="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function Q2(){return new RegExp(G2,"u")}const X2=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,eA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,tA=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,nA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aA=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,rA=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,oA=/^https?$/,iA=/^\+[1-9]\d{6,14}$/,ab="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function sA(e){return new RegExp(`^${e}$`)}const lA=sA(ab);function cu(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function cA(e){return new RegExp(`^${cu(e)}$`)}function uA(e){const t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const a=`${cu({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${a}|${cu({precision:e.precision})}`:a;return new RegExp(`^${ab}T(?:${r})$`)}const dA=/^[\s\S]{0,}$/,pA=/^-?\d+$/,Cd=/^-?\d+(?:\.\d+)?$/,mA=/^(?:true|false)$/i,hA=/^null$/i,fA=/^undefined$/i,gA=/^[^A-Z]*$/,vA=/^[^a-z]*$/,ia=le("$ZodCheck",(e,t)=>{var a;e._zod??(e._zod={}),e._zod.def=t,(a=e._zod).onattach??(a.onattach=[])}),Nd=e=>{const t=e.value;return!ZI(t)&&t.length!==void 0},$s={number:"number",bigint:"bigint",object:"date"},rb=le("$ZodCheckLessThan",(e,t)=>{ia.init(e,t);const a=$s[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{ia.init(e,t);const a=$s[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:$s[typeof r.value]??a,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),bA=le("$ZodCheckMultipleOf",(e,t)=>{ia.init(e,t),e._zod.check=a=>{if(typeof a.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof a.value=="bigint"?t.value!==BigInt(0)&&a.value%t.value===BigInt(0):JI(a.value,t.value)===0)||a.issues.push({origin:typeof a.value,code:"not_multiple_of",divisor:t.value,input:a.value,inst:e,continue:!t.abort})}}),yA=le("$ZodCheckNumberFormat",(e,t)=>{var s;ia.init(e,t),t.format=t.format||"float64";const a=(s=t.format)==null?void 0:s.includes("int"),r=a?"int":"number",[o,i]=Gv[t.format];e._zod.check=l=>{const c=l.value;if(a){if(!Number.isInteger(c)){l.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?l.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):l.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}ci&&l.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),EA=le("$ZodCheckMaxLength",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length;if((typeof o=="string"&&i>t.maximum?yd(o):i)<=t.maximum)return;const l=Ed(o);r.issues.push({origin:l,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),wA=le("$ZodCheckMinLength",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i=t.minimum)return;const l=Ed(o);r.issues.push({origin:l,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),kA=le("$ZodCheckLengthEquals",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length,s=typeof o=="string"&&i>=t.length&&i<=t.length*2?yd(o):i;if(s===t.length)return;const l=Ed(o),c=s>t.length;r.issues.push({origin:l,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),gl=le("$ZodCheckStringFormat",(e,t)=>{var a,r;ia.init(e,t),t.pattern?(a=e._zod).check??(a.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),xA=le("$ZodCheckRegex",(e,t)=>{gl.init(e,t),e._zod.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:"regex",input:a.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),SA=le("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=gA),gl.init(e,t)}),CA=le("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=vA),gl.init(e,t)}),NA=le("$ZodCheckIncludes",(e,t)=>{ia.init(e,t);const a=yo(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position},}${a}`:a);t.pattern=r,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),RA=le("$ZodCheckStartsWith",(e,t)=>{ia.init(e,t);const a=new RegExp(`^${yo(t.prefix)}.*`);t.pattern??(t.pattern=a),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),TA=le("$ZodCheckEndsWith",(e,t)=>{ia.init(e,t);const a=new RegExp(`.*${yo(t.suffix)}$`);t.pattern??(t.pattern=a),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),IA=le("$ZodCheckOverwrite",(e,t)=>{ia.init(e,t),e._zod.check=a=>{a.value=t.tx(a.value)}});class AA{constructor(t=[],a={}){this.content=[],this.indent=0,this.args=t,this.closed=a}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(` +`),...t?{sourceOffset:s}:{}}),o=[])};for(let p=0;p=i.length&&(i=null):i=h[1],u(m,p);continue}const f=!i&&/^:::writing\{([^{}]*)\}\s*$/.exec(m);if(!f){u(m,p);continue}const v={},y=/([a-z]+)="([^"\r\n]*)"/g;let E;for(;E=y.exec(f[1]);)v[E[1]]=E[2];if(f[1].replace(y,"").trim()||!xI.has(v.variant)||!/^\d{5}$/.test(v.id)||Object.keys(v).some(w=>!["variant","id","subject","recipient","cc","bcc"].includes(w))){u(m,p);continue}let x=p+1;for(;xf("button",{type:"button",className:"a-soft",disabled:l,onClick:b,...x},E);async function y(){try{await navigator.clipboard.writeText(r),d("Copied writing.")}catch{d("Clipboard is unavailable. Select the text to copy it.")}}return f("section",{className:"a-selection-card a-writing-block","aria-label":"Reusable writing"},f("strong",null,e.subject||e.variant.replaceAll("_"," ")),...["recipient","cc","bcc"].filter(E=>e[E]).map(E=>f("p",{key:E},{recipient:"To",cc:"Cc",bcc:"Bcc"}[E]+": "+e[E])),i?f("textarea",{"aria-label":"Edit writing copy",rows:8,value:r,disabled:l,onChange:E=>o(E.target.value)}):a(r),f("div",{className:"a-dialog-actions"},v("Copy writing",y),v(i?"Preview copy":"Edit copy",()=>s(E=>!E)),t&&v("Save writing version",h,{className:"a-primary",disabled:l||!r.trim(),"data-action":"outputs.write"})),u&&f("p",{role:"status"},u))}function Bv(e){if(typeof e!="string"||e.length>600||!e.startsWith("amplifier-canvas://artifact/"))return null;try{const t=new URL(e),a=t.pathname.slice(1),r=t.searchParams.get("session"),o=t.searchParams.get("version");if(t.host!=="artifact"||t.username||t.password||t.hash||!/^[-\w]{1,100}$/.test(a)||!/^[-\w]{1,200}$/.test(r||"")||[...t.searchParams.keys()].sort().join(",")!=="session,version"||!/^\d+$/.test(o||""))return null;const i=Number(o);return!Number.isSafeInteger(i)||i<1?null:{id:a,sessionId:r,version:i}}catch{return null}}function NI({reference:e,context:t,children:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1);async function c(){if(!l.current){if(e.sessionId!==t.sessionId){s("This artifact belongs to another chat. Open the reference from its original chat.");return}l.current=!0,o(!0),s("");try{await t.act("canvas.select",e)}catch(u){s(u.message||"This saved artifact version is unavailable.")}finally{l.current=!1,o(!1)}}}return n.createElement("span",{className:"a-file-reference"},n.createElement("button",{type:"button",className:"a-link",disabled:r,"data-action":"canvas.select",title:"Open saved version "+e.version+" in Canvas",onClick:c},a),i&&n.createElement("span",{role:"status",className:"a-caption"}," "+i))}function Us(e){if(typeof e!="string"||!e||e.length>4e3||/[\x00-\x1f\x7f]/.test(e)||e.startsWith("#")||e.startsWith("//"))return null;let t=e.replace(/:\d+(?::\d+)?$/,"");if(/^file:/i.test(t))try{const a=new URL(t);if(a.hostname&&a.hostname!=="localhost"||a.username||a.password)return null;t=a.pathname}catch{return null}else if(/^[a-z][a-z\d+.-]*:/i.test(t))return null;t=t.split(/[?#]/,1)[0];try{t=decodeURIComponent(t)}catch{return null}return/[\x00-\x1f\x7f\\]/.test(t)||t.startsWith("//")||/^www\./i.test(t)||/^[a-z][a-z\d+.-]*:/i.test(t)||(t=t.replace(/:\d+(?::\d+)?$/,""),!/[^/]\.[a-z\d_-]{1,20}$/i.test(t))?null:t}function RI({path:e,context:t,children:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1);async function c(){var u,d;if(!l.current){l.current=!0,o(!0),s("");try{const p=await t.act("canvas.openFile",{sessionId:t.sessionId,workspace:t.workspace,path:e});((u=p==null?void 0:p.result)==null?void 0:u.status)!=="opened"&&s(((d=p==null?void 0:p.result)==null?void 0:d.message)||"This file could not be opened.")}catch{s("This file could not be opened.")}finally{l.current=!1,o(!1)}}}return n.createElement("span",{className:"a-file-reference"},n.createElement("button",{type:"button",className:"a-link",disabled:r,"data-action":"canvas.openFile",title:"Open in Canvas: "+e,onClick:c},a),i&&n.createElement("span",{role:"status",className:"a-caption"}," "+i))}function TI(){return e=>{let t=100;function a(r){!r.children||["link","image","code","html"].includes(r.type)||(r.children=r.children.flatMap(o=>{if(!t)return[o];if(o.type==="inlineCode"){const i=Us(o.value);if(i)return t--,[{type:"link",url:i,children:[o]}]}if(o.type==="text"){const i=[];let s=0;const l=new RegExp("(?s&&i.push({type:"text",value:o.value.slice(s,c.index)}),i.push({type:"link",url:u,children:[{type:"text",value:u}]}),s=c.index+u.length,t--)}if(s)return sn.createElement("a",{...r,href:t,target:t!=null&&t.startsWith("#")?void 0:"_blank",rel:"noopener noreferrer"},a),img:({src:e,alt:t})=>n.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},t?`Image: ${t}`:"Open image"),table:({node:e,...t})=>n.createElement("div",{className:"a-table-scroll"},n.createElement("table",t))},Vv=g.createContext(null);function II({node:e,href:t,children:a,...r}){const o=g.useContext(Vv),i=o&&Bv(t),s=(o==null?void 0:o.workspace)&&Us(t);return i?n.createElement(NI,{key:t,reference:i,context:o},a):s?n.createElement(RI,{key:JSON.stringify([o.sessionId,o.workspace,s]),path:s,context:o},a):n.createElement(Hv.a,{href:t,...r},a)}const ml=g.memo(function({text:t,className:a="",overrides:r={},writingContext:o,fileContext:i,mapSource:s=!1}){const l=!!(i!=null&&i.sessionId&&(i!=null&&i.act)),c=!!(l&&i.workspace),u=(d,p)=>n.createElement(uR,{remarkPlugins:[kI,...Number.isInteger(p)?[dS(d,p)]:[],...c?[TI]:[]],skipHtml:!0,urlTransform:m=>l&&Bv(m)||c&&Us(m)?m:yv(m),components:{...Hv,...l?{a:II}:{},...r}},d);return n.createElement(Vv.Provider,{value:l?i:null},n.createElement("div",{className:`a-markdown ${a}`.trim()},...SI(t,{offsets:s}).map((d,p)=>{const m=h=>u(h,h===d.text?d.sourceOffset:void 0);return d.type==="writing"?n.createElement(CI,{key:d.id+":"+p,part:d,context:o,render:m}):n.createElement(n.Fragment,{key:p},m(d.text))})))}),$s=(e,t,a)=>t("canvas.view",{id:e.id,patch:a});function fd(e,t,a="preview"){const r=g.useRef(t);return r.current=t,g.useMemo(()=>(o,i="")=>{e.id&&r.current("canvas.report",{id:e.id,part:a,status:o,message:String(i).slice(0,2e3)})},[e.id,a])}function AI(e){return KS.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["foreignObject","script","image","a","use","animate","set"],FORBID_ATTR:["href","xlink:href"]})}let Rh;function Wv({kind:e,source:t,canvas:a,act:r,part:o="preview",embedded:i=!1}){var x,w;const s=g.useId().replace(/[^a-zA-Z0-9]/g,""),l=fd(a,r,o),[c,u]=g.useState({}),d=g.useRef(null),p=g.useRef(null),m=a.view||{},h=m.zoom||1,f=m.panX||0,v=m.panY||0;g.useEffect(()=>{let R=!0,S,I;u({}),l("pending");const N=M=>{R&&(clearTimeout(I),S==null||S.terminate(),u(M),l(M.error?"error":"ready",M.error||"Diagram rendered"))};if(t.length>5e4){N({error:"Diagrams must be 50,000 characters or smaller."});return}return e==="dot"?(S=new Worker(new URL("/assets/graphviz.worker-CZ5dJQ9S.js",import.meta.url),{type:"module"}),I=setTimeout(()=>N({error:"Diagram layout took too long. Simplify the graph and try again."}),15e3),S.onmessage=M=>N(M.data),S.onerror=M=>N({error:M.message||"Graph renderer failed"}),S.postMessage({source:t,engine:m.engine||"dot"})):(Rh||(Rh=Pg(async()=>{const{default:M}=await import("./mermaid.core-DCzavt_d.js").then(k=>k.ca);return{default:M}},__vite__mapDeps([0,1])).then(({default:M})=>(M.initialize({startOnLoad:!1,securityLevel:"strict",maxTextSize:5e4,maxEdges:500,suppressErrorRendering:!0,theme:"default",flowchart:{htmlLabels:!1},htmlLabels:!1}),M))),Rh.then(M=>M.render(`canvas${s}`,t)).then(({svg:M})=>N({svg:M})).catch(M=>N({error:M.message||String(M)}))),()=>{R=!1,clearTimeout(I),S==null||S.terminate()}},[e,t,m.engine,s,l]);const y=g.useMemo(()=>c.svg?"data:image/svg+xml;charset=utf-8,"+encodeURIComponent(AI(c.svg)):null,[c.svg]),E=R=>$s(a,r,R),b=(x=c.nodes)==null?void 0:x.find(R=>R.name===m.node);return n.createElement("div",{className:`a-diagram ${i?"embedded":""}`},!i&&n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},n.createElement("button",{type:"button",className:"a-icon","aria-label":"Zoom out","data-action":"canvas.view",onClick:()=>E({zoom:Math.max(.2,h-.2)})},n.createElement(gx,null)),n.createElement("span",null,Math.round(h*100),"%"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Zoom in","data-action":"canvas.view",onClick:()=>E({zoom:Math.min(4,h+.2)})},n.createElement(fx,null)),n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.view",onClick:()=>E({zoom:1,panX:0,panY:0})},n.createElement(Vk,null),"Fit"),e==="dot"&&n.createElement("select",{"aria-label":"Graph layout","data-action":"canvas.view",value:m.engine||"dot",onChange:R=>E({engine:R.target.value,node:""})},["dot","neato","fdp","sfdp","circo","twopi"].map(R=>n.createElement("option",{key:R},R))))),c.error?n.createElement("div",{className:"a-canvas-result error",role:"alert"},n.createElement(On,null),n.createElement("span",null,c.error)):y?n.createElement("div",{ref:p,className:"a-diagram-stage",tabIndex:0,"aria-label":"Diagram. Drag to pan; arrow keys move the view.",onKeyDown:R=>{const S={ArrowLeft:[-30,0],ArrowRight:[30,0],ArrowUp:[0,-30],ArrowDown:[0,30]};S[R.key]&&(R.preventDefault(),E({panX:f+S[R.key][0],panY:v+S[R.key][1]}))},onPointerDown:R=>{i||(d.current={x:R.clientX,y:R.clientY},R.currentTarget.setPointerCapture(R.pointerId))},onPointerUp:R=>{d.current&&(E({panX:Math.max(-1e4,Math.min(1e4,f+R.clientX-d.current.x)),panY:Math.max(-1e4,Math.min(1e4,v+R.clientY-d.current.y))}),d.current=null)}},n.createElement("img",{alt:a.title||"Diagram",draggable:"false",src:y,style:{transform:i?void 0:`translate(${f}px,${v}px) scale(${h})`}})):n.createElement("p",{role:"status"},"Drawing diagram…"),!i&&((w=c.nodes)==null?void 0:w.length)>0&&n.createElement("div",{className:"a-node-inspector"},n.createElement("label",null,"Inspect a node",n.createElement("select",{"aria-label":"Inspect graph node","data-action":"canvas.view",value:m.node||"",onChange:R=>E({node:R.target.value})},n.createElement("option",{value:""},"Choose a node…"),c.nodes.map(R=>n.createElement("option",{key:R.name,value:R.name},R.name)))),b&&n.createElement("dl",null,Object.entries(b).map(([R,S])=>n.createElement(n.Fragment,{key:R},n.createElement("dt",null,R),n.createElement("dd",null,typeof S=="object"?JSON.stringify(S):String(S)))))))}function _I({canvas:e,act:t}){const a=g.useMemo(()=>({pre:({children:r})=>n.createElement("div",{className:"a-canvas-code-block"},r),code:({className:r,children:o,node:i,...s})=>{var u,d,p;const l=(u=/language-(\w+)/.exec(r||""))==null?void 0:u[1],c=String(o).replace(/\n$/,"");return["mermaid","dot","graphviz"].includes(l)?n.createElement(Wv,{kind:l==="mermaid"?"mermaid":"dot",source:c,canvas:e,act:t,embedded:!0,part:`fence-${((p=(d=i==null?void 0:i.position)==null?void 0:d.start)==null?void 0:p.offset)||0}`}):n.createElement("code",{className:r,...s},o)}}),[e.id,t]);return n.createElement(ml,{text:e.content,overrides:a,mapSource:!0})}function su({text:e}){const[t,a]=g.useState("");return g.useEffect(()=>{let r=!0;return a(""),e.length<1e5&&Pg(async()=>{const{default:o}=await import("./index-D1m6Llf0.js");return{default:o}},__vite__mapDeps([2,1])).then(({default:o})=>{const i=o.highlightAuto(e).value;r&&a(i)}),()=>{r=!1}},[e]),t?n.createElement("pre",{className:"a-canvas-code"},n.createElement("code",{dangerouslySetInnerHTML:{__html:t}})):n.createElement("pre",{className:"a-canvas-code"},e)}function PI({canvas:e,act:t}){var R,S;const a=fd(e,t),r=e.view||{},o=e.content||"",i=!["text","image"].includes(e.kind),s=g.useRef(null),l=g.useRef(null),c=g.useRef(!1),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=["markdown","text"].includes(e.kind)&&!r.source;g.useEffect(()=>{if(d(null),f(""),!v)return;const I=()=>{var N;c.current||(N=l.current)!=null&&N.contains(document.activeElement)||(d(hS(s.current,window.getSelection(),o)),f(""))};return document.addEventListener("selectionchange",I),()=>document.removeEventListener("selectionchange",I)},[o,v,e.id,e.resourceRevision]);async function y(){var I,N;if(!(!(u!=null&&u.excerpt)||c.current)){c.current=!0,m(!0),f("");try{const M=await t("canvas.reference",{id:e.id,sessionId:e.sessionId,version:e.selectedVersion||e.revision||e.latestVersion,...u});((I=M==null?void 0:M.result)==null?void 0:I.status)==="referenced"&&(f("Reference added to your draft. Nothing was sent."),d(null),(N=window.getSelection())==null||N.removeAllRanges())}catch(M){f(M.message||"The reference could not be added.")}finally{c.current=!1,m(!1)}}}const E=g.useMemo(()=>{if(!["json","jsonl"].includes(e.kind))return{};try{return{value:e.kind==="json"?JSON.parse(o):o.split(` +`).filter(I=>I.trim()).map(I=>JSON.parse(I))}}catch(I){return{error:I.message}}},[e.kind,o]);g.useEffect(()=>{["html","babylon","image","dot","mermaid"].includes(e.kind)||a(E.error?"error":"ready",E.error||"Preview ready")},[e.id,e.kind,E.error,a]);const b=Object.values(e.renderReports||{}),x=b.find(I=>I.status==="error"),w=b.some(I=>I.status==="pending");return n.createElement("div",{className:"a-canvas-viewer"},n.createElement(vr,null,n.createElement("div",{className:"a-canvas-toolbar"},i&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft","aria-pressed":!r.source,"data-action":"canvas.view",onClick:()=>$s(e,t,{source:!1})},n.createElement(Lk,null),"Preview"),n.createElement("button",{type:"button",className:"a-soft","aria-pressed":!!r.source,"data-action":"canvas.view",onClick:()=>$s(e,t,{source:!0})},n.createElement(zk,null),"Source")),n.createElement("span",{className:"a-canvas-format"},e.kind),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy canvas source","data-action":"canvas.copy",onClick:()=>t("canvas.copy",{id:e.id})},n.createElement(ar,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Download canvas source","data-action":"canvas.download",onClick:()=>t("canvas.download",{id:e.id})},n.createElement(Ea,null)))),v&&n.createElement("div",{className:"a-canvas-reference",ref:l},n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.reference",disabled:p||!(u!=null&&u.excerpt),onMouseDown:I=>I.preventDefault(),onClick:y},p?"Adding reference…":"Reference in chat"),n.createElement("span",{role:"status",className:"a-caption"},h||(u==null?void 0:u.error)||(u!=null&&u.excerpt?`${[...u.excerpt].length} characters selected`:"Select document text to quote in your draft."))),n.createElement("div",{className:"a-canvas-preview",ref:s,tabIndex:v?0:void 0,"aria-label":v?"Document text":void 0},r.source?e.contentResource?n.createElement(zI,{canvas:e}):n.createElement(su,{text:o}):["html","babylon"].includes(e.kind)?n.createElement(MI,{canvas:e,act:t}):["mermaid","dot"].includes(e.kind)?n.createElement(Wv,{kind:e.kind,source:o,canvas:e,act:t}):e.kind==="markdown"?n.createElement(_I,{canvas:e,act:t}):e.kind==="image"?n.createElement("img",{className:"a-canvas-image",src:o,alt:e.title||"Workspace image",onLoad:()=>a("ready","Image loaded"),onError:()=>a("error","This image could not be decoded")}):["json","jsonl"].includes(e.kind)?E.error?n.createElement("div",{className:"a-canvas-result error",role:"alert"},E.error):n.createElement(OI,{value:E.value,canvas:e,act:t}):e.kind==="code"?n.createElement(su,{text:o}):n.createElement("pre",{className:"a-canvas-plain"},n.createElement("span",{"data-canvas-source-start":"0","data-canvas-source-end":o.length,"data-canvas-literal":"true"},o))),n.createElement(vr,{inline:!!x||w},n.createElement("div",{className:`a-canvas-result ${x?"error":w?"":"success"}`,role:"status"},x?n.createElement(On,null):w?null:n.createElement(Pt,null),n.createElement("span",null,x?x.message||"Preview needs attention":w?"Rendering…":((S=(R=e.renderReports)==null?void 0:R.clipboard)==null?void 0:S.message)||(["html","babylon"].includes(e.kind)?"Isolated HTML preview":"Ready")))))}function OI({value:e,canvas:t,act:a}){var s;const r=((s=t.view)==null?void 0:s.query)||"",o=Array.isArray(e)?e:[e],i=o.map((l,c)=>({v:l,i:c})).filter(({v:l})=>!r||JSON.stringify(l).toLowerCase().includes(r.toLowerCase()));return n.createElement("div",{className:"a-canvas-data"},n.createElement("input",{"aria-label":"Filter data records",type:"search",placeholder:"Filter records…",value:r,"data-action":"canvas.view",onChange:l=>$s(t,a,{query:l.target.value})}),n.createElement("small",null,i.length," of ",o.length," records"),i.slice(0,200).map(({v:l,i:c})=>n.createElement("pre",{key:c},JSON.stringify(l,null,2))),i.length>200&&n.createElement("p",null,"Showing the first 200 matches. Narrow the filter to see more."))}function MI({canvas:e,act:t}){const a=g.useRef(null),r=fd(e,t),o=g.useRef(t),i=g.useRef(null);return o.current=t,g.useEffect(()=>{r("pending","Loading HTML document");const s=l=>{var c,u;if(!(l.source!==((c=a.current)==null?void 0:c.contentWindow)||((u=l.data)==null?void 0:u.id)!==e.id)&&(l.data.type==="canvas-render"&&["ready","error"].includes(l.data.status)&&r(l.data.status,String(l.data.message||"").slice(0,2e3)),l.data.type==="canvas-snapshot")){const d=l.data.document;if(!d||typeof d.text!="string"||!Array.isArray(d.controls))return;const p={text:d.text.slice(0,16e3),controls:d.controls.slice(0,100).map(m=>({id:String(m.id||"").slice(0,100),tag:String(m.tag||"").slice(0,30),type:String(m.type||"").slice(0,30),label:String(m.label||"").slice(0,200),value:String(m.value||"").slice(0,4e3),disabled:!!m.disabled}))};o.current("canvas.snapshot",{id:e.id,document:p})}};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[e.id,r]),g.useEffect(()=>{var l,c;const s=e.interaction;s&&i.current!==s.requestId&&(i.current=s.requestId,(c=(l=a.current)==null?void 0:l.contentWindow)==null||c.postMessage({type:"canvas-interact",...s},"*"))},[e.interaction]),n.createElement("iframe",{ref:a,title:e.title||"Interactive canvas",className:"a-canvas-html",sandbox:"allow-scripts",referrerPolicy:"no-referrer",src:Ui(`/api/canvas/${e.id}/document`+(e.viewId?"?"+new URLSearchParams({viewId:e.viewId,resourceId:e.id,resourceRevision:e.resourceRevision,generation:e.generation}):""))})}function zI({canvas:e}){const[t,a]=g.useState({});return g.useEffect(()=>{const r=new AbortController;return a({}),fetch(Ui(`/api/canvas/${e.id}/source?version=${e.selectedVersion??e.revision??1}`),{signal:r.signal}).then(async o=>{if(!o.ok)throw Error("The saved source could not be loaded.");return o.text()}).then(o=>a({text:o})).catch(o=>{o.name!=="AbortError"&&a({error:o.message})}),()=>r.abort()},[e.id,e.selectedVersion,e.revision]),t.error?n.createElement("p",{role:"alert"},t.error):t.text===void 0?n.createElement("p",{role:"status"},"Loading saved source…"):n.createElement(su,{text:t.text})}var LI=Object.create,gd=Object.defineProperty,DI=Object.getOwnPropertyDescriptor,FI=Object.getOwnPropertyNames,qI=Object.getPrototypeOf,jI=Object.prototype.hasOwnProperty,UI=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),$I=(e,t)=>{let a={};for(var r in e)gd(a,r,{get:e[r],enumerable:!0});return a},BI=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=FI(t),i=0,s=o.length,l;it[c]).bind(null,l),enumerable:!(r=DI(t,l))||r.enumerable});return e},HI=(e,t,a)=>(a=e!=null?LI(qI(e)):{},BI(gd(a,"default",{value:e,enumerable:!0}),e));const VI=new Set(["https://json-schema.org/draft/2019-09/schema","http://json-schema.org/draft/2019-09/schema"]);function WI(e){return typeof e=="string"&&VI.has(e.replace(/#$/,""))}function lu(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Th(e,t="|"){return e.map(a=>Gv(a)).join(t)}function cu(e,t){return typeof t=="bigint"?t.toString():t}class ZI{constructor(t){this._getter=t,this._value=void 0}get value(){const t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}}function hl(e){return new ZI(e)}function JI(e){return e==null}function vd(e){const t=e.startsWith("^")?1:0,a=e.endsWith("$")?e.length-1:e.length;return e.slice(t,a)}function KI(e,t){const a=e/t,r=Math.round(a),o=4*Number.EPSILON*Math.max(Math.abs(a),1);return Math.abs(a-r){const l=t._zod.def.shape[i];return r?r(l,i):l}):Jv(e,i,r?r(s.value,i):s.value))}}function GI(e,t){for(const a of Reflect.ownKeys(t)){const r=Object.getOwnPropertyDescriptor(t,a);r.enumerable&&(r.get?Zv(e,a,()=>t[a]):Jv(e,a,r.value))}}function va(...e){const t={};for(const a of e){const r=Object.getOwnPropertyDescriptors(a);Object.assign(t,r)}return Object.defineProperties({},t)}function QI(e){return JSON.stringify(e)}function XI(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Kv="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const e2=hl(()=>{var e;if(qa.jitless||typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function bo(e){if(ki(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const a=t.prototype;return!(ki(a)===!1||Object.prototype.hasOwnProperty.call(a,"isPrototypeOf")===!1)}function Yv(e){return bo(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const t2=new Set(["string","number","symbol"]);function yo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kr(e,t,a){const r=new e._zod.constr(t??e._zod.def);return(!t||a!=null&&a.parent)&&(r._zod.parent=e),r}function Ve(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Gv(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function n2(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}const Qv={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},a2={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function r2(e,t){const a=e._zod.def,r=a.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i={};return Ur(i,e,fl(e,t)),kr(e,va(a,{shape:i,checks:[]}))}function fl(e,t){var o;const a=nr(e),r=[];for(const i of Reflect.ownKeys(t)){if(!((o=Object.getOwnPropertyDescriptor(a,i))!=null&&o.enumerable))throw new Error(`Unrecognized key: "${String(i)}"`);t[i]&&r.push(i)}return r}function o2(e,t){const a=e._zod.def,r=a.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=new Set(fl(e,t)),s={};return Ur(s,e,Reflect.ownKeys(nr(e)).filter(l=>!i.has(l))),kr(e,va(a,{shape:s,checks:[]}))}function i2(e,t){if(!bo(t))throw new Error("Invalid input to extend: expected a plain object");const a=e._zod.def.checks;if(a&&a.length>0){const o=nr(e);for(const i of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return kr(e,va(e._zod.def,{shape:Xv(e,t)}))}function Xv(e,t){const a={};return Ur(a,e,Reflect.ownKeys(nr(e))),GI(a,t),a}function s2(e,t){if(!bo(t))throw new Error("Invalid input to safeExtend: expected a plain object");return kr(e,va(e._zod.def,{shape:Xv(e,t)}))}function l2(e,t){var o,i;if(!((o=t==null?void 0:t._zod)!=null&&o.def))throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if((i=e._zod.def.checks)!=null&&i.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const a={};Ur(a,e,Reflect.ownKeys(nr(e))),Ur(a,t,Reflect.ownKeys(nr(t)));const r=va(e._zod.def,{shape:a,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return kr(e,r)}function Ah(e,t,a,r="partial"){const i=t._zod.def.checks;if(i&&i.length>0)throw new Error(`.${r}() cannot be used on object schemas containing refinements`);const l=a?new Set(fl(t,a)):void 0,c={};return Ur(c,t,Reflect.ownKeys(nr(t)),e&&((u,d)=>l&&!l.has(d)?u:new e({type:"optional",innerType:u}))),kr(t,va(t._zod.def,{shape:c,checks:[]}))}function c2(e,t,a){const r=a?new Set(fl(t,a)):void 0,o={};return Ur(o,t,Reflect.ownKeys(nr(t)),(i,s)=>r&&!r.has(s)?i:new e({type:"nonoptional",innerType:i})),kr(t,va(t._zod.def,{shape:o}))}function er(e,t=0){var a;if(e.aborted===!0)return!0;for(let r=t;r{var r;return(r=a).path??(r.path=[]),a.path.unshift(e),a})}function Go(e){return typeof e=="string"?e:e==null?void 0:e.message}function _h(e,t,a){var r;for(let o=t;oe;return t[v2]=!0,t}var Oh;const y2=Object.freeze({status:"aborted"}),fc={value:void 0,enumerable:!1};let Mh="captureStackTrace"in Error?Error:null;function E2(e){const t=Mh;if(t){const a=t.stackTraceLimit;if(typeof a=="number"){try{t.stackTraceLimit=0}catch{return Mh=null,new e}try{return new e}finally{t.stackTraceLimit=a}}}return new e}function le(e,t,a,r){const o={};function i(m){this.def=m,this.constr=p,this.traits=new Set}i.prototype=o;const s=a,l=s&&new WeakSet;function c(m,h){if(!m._zod){fc.value=new i(h);try{Object.defineProperty(m,"_zod",fc)}finally{fc.value=void 0}}if(m._zod.traits.has(e))return;if(m._zod.traits.add(e),t(m,h),l){const v=Object.getPrototypeOf(m),y=m._zod.constr.prototype;let E=v;for(;E&&E!==y;)E=Object.getPrototypeOf(E);const b=E??v;l.has(b)||(l.add(b),m2(b,s))}const f=p.prototype;for(const v in f)Object.prototype.hasOwnProperty.call(f,v)&&(v in m||(m[v]=f[v].bind(m)))}const u=(r==null?void 0:r.Parent)??Object;class d extends u{}Object.defineProperty(d,"name",{value:e});function p(m){var y;const h=r!=null&&r.Parent?E2(d):this;c(h,m);const f=h._zod.deferred;if(f){for(const E of f)E();h._zod.deferred=void 0}const v=(y=globalThis.__zod_globalConfig)==null?void 0:y.postProcessor;return v&&v(h),h}return Object.defineProperty(p,"init",{value:c}),Object.defineProperty(p,Symbol.hasInstance,{value:m=>{var h,f;return r!=null&&r.Parent&&m instanceof r.Parent?!0:(f=(h=m==null?void 0:m._zod)==null?void 0:h.traits)==null?void 0:f.has(e)}}),Object.defineProperty(p,"name",{value:e}),p}class Or extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class nb extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Oh=globalThis).__zod_globalConfig??(Oh.__zod_globalConfig={});const qa=globalThis.__zod_globalConfig;function Ka(e){return e&&Object.assign(qa,e),qa}function w2(){const e=this._zod;return e.message??(e.message=JSON.stringify(e.def,cu,2)),e.message}function k2(e){this._zod.message=e}const x2={get:w2,set:k2,enumerable:!0,configurable:!0},gc={value:void 0,enumerable:!1},zh=new WeakSet([Object.prototype,Error.prototype]),S2=(e,t)=>{e.name="$ZodError",gc.value=t,Object.defineProperty(e,"issues",gc),gc.value=void 0,Object.defineProperty(e,"message",x2);const a=Object.getPrototypeOf(e);zh.has(a)||(zh.add(a),Object.defineProperty(a,"toString",{configurable:!0,enumerable:!1,get(){const r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},C2=le("$ZodError",S2);function N2(e,t,a){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:a(),writable:!0,enumerable:!0,configurable:!0}):e[t]=a()),e[t]}function R2(e,t=a=>a.message){const a={},r=[];for(const o of e.issues)o.path.length>0?N2(a,o.path[0],()=>[]).push(t(o)):r.push(t(o));return{formErrors:r,fieldErrors:a}}function T2(e,t=a=>a.message){const a={_errors:[]},r=(o,i=[])=>{for(const s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(l=>r({issues:l},[...i,...s.path]));else if(s.code==="invalid_key")r({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")r({issues:s.issues},[...i,...s.path]);else{const l=[...i,...s.path];if(l.length===0)a._errors.push(t(s));else{let c=a,u=0;for(;u{const t=(a,r,o,i)=>{const s=o?{...o,async:!1}:{async:!1},l=a._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Or;if(l.issues.length){const c=new((i==null?void 0:i.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Kv(c,(i==null?void 0:i.callee)??t),c}return l.value};return t},kd=e=>{const t=async(a,r,o,i)=>{const s=o?{...o,async:!0}:{async:!0};let l=a._zod.run({value:r,issues:[]},s);if(l instanceof Promise&&(l=await l),l.issues.length){const c=new((i==null?void 0:i.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Kv(c,(i==null?void 0:i.callee)??t),c}return l.value};return t},xd=e=>(t,a,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:a,issues:[]},o);if(i instanceof Promise)throw new Or;return i.issues.length?ab(e,i.issues,o):{success:!0,data:i.value}};function ab(e,t,a){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>br(o,a,Ka()))),t=void 0,a=void 0),r},set error(o){r=o,t=void 0,a=void 0}}}const Sd=e=>async(t,a,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:a,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?ab(e,i.issues,o):{success:!0,data:i.value}},I2=Symbol.for("zod.compile.invalid"),A2=Symbol.for("zod.compile.fallback"),_2=((e,t,a)=>{const r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==I2)return!0;if(r.definite===!0&&a===void 0)return!1}return P2(e,t,a)});function P2(e,t,a){const r=a?{...a,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun;let i;if(o?(r[A2]=!0,i=o({value:t,issues:[]},r)):i=e._zod.run({value:t,issues:[]},r),i instanceof Promise)throw new Or;return i.issues.length===0}const O2=async(e,t,a)=>{const r=a?{...a,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0};let o=e._zod.run({value:t,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length===0},M2=e=>{const t=wd(e),a=(r,o,i,s)=>{const l=i?{...i,direction:"backward"}:{direction:"backward"};return t(r,o,l,gl(a,s))};return a},z2=e=>{const t=wd(e),a=(r,o,i,s)=>t(r,o,i,gl(a,s));return a},L2=e=>{const t=kd(e),a=async(r,o,i,s)=>{const l=i?{...i,direction:"backward"}:{direction:"backward"};return await t(r,o,l,gl(a,s))};return a},D2=e=>{const t=kd(e),a=async(r,o,i,s)=>await t(r,o,i,gl(a,s));return a},F2=e=>(t,a,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return xd(e)(t,a,o)},q2=e=>(t,a,r)=>xd(e)(t,a,r),j2=e=>async(t,a,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Sd(e)(t,a,o)},U2=e=>async(t,a,r)=>Sd(e)(t,a,r),$2=/^[cC][0-9a-z]{6,}$/,B2=/^[0-9a-z]+$/,H2=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,V2=/^[0-9a-vA-V]{20}$/,W2=/^[A-Za-z0-9]{27}$/,Z2=/^[a-zA-Z0-9_-]{21}$/;function J2(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const K2=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Y2=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Lh=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,G2=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Q2="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function X2(){return new RegExp(Q2,"u")}const eA=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,tA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,nA=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,aA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,rA=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,oA=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,iA=/^https?$/,sA=/^\+[1-9]\d{6,14}$/,rb="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function lA(e){return new RegExp(`^${e}$`)}const cA=lA(rb);function uu(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function uA(e){return new RegExp(`^${uu(e)}$`)}function dA(e){const t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const a=`${uu({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${a}|${uu({precision:e.precision})}`:a;return new RegExp(`^${rb}T(?:${r})$`)}const pA=/^[\s\S]{0,}$/,mA=/^-?\d+$/,Cd=/^-?\d+(?:\.\d+)?$/,hA=/^(?:true|false)$/i,fA=/^null$/i,gA=/^undefined$/i,vA=/^[^A-Z]*$/,bA=/^[^a-z]*$/,ia=le("$ZodCheck",(e,t)=>{var a;e._zod??(e._zod={}),e._zod.def=t,(a=e._zod).onattach??(a.onattach=[])}),Nd=e=>{const t=e.value;return!JI(t)&&t.length!==void 0},Bs={number:"number",bigint:"bigint",object:"date"},ob=le("$ZodCheckLessThan",(e,t)=>{ia.init(e,t);const a=Bs[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{ia.init(e,t);const a=Bs[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Bs[typeof r.value]??a,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),yA=le("$ZodCheckMultipleOf",(e,t)=>{ia.init(e,t),e._zod.check=a=>{if(typeof a.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof a.value=="bigint"?t.value!==BigInt(0)&&a.value%t.value===BigInt(0):KI(a.value,t.value)===0)||a.issues.push({origin:typeof a.value,code:"not_multiple_of",divisor:t.value,input:a.value,inst:e,continue:!t.abort})}}),EA=le("$ZodCheckNumberFormat",(e,t)=>{var s;ia.init(e,t),t.format=t.format||"float64";const a=(s=t.format)==null?void 0:s.includes("int"),r=a?"int":"number",[o,i]=Qv[t.format];e._zod.check=l=>{const c=l.value;if(a){if(!Number.isInteger(c)){l.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?l.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):l.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}ci&&l.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),wA=le("$ZodCheckMaxLength",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length;if((typeof o=="string"&&i>t.maximum?yd(o):i)<=t.maximum)return;const l=Ed(o);r.issues.push({origin:l,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),kA=le("$ZodCheckMinLength",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i=t.minimum)return;const l=Ed(o);r.issues.push({origin:l,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),xA=le("$ZodCheckLengthEquals",(e,t)=>{var a;ia.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const o=r.value,i=o.length,s=typeof o=="string"&&i>=t.length&&i<=t.length*2?yd(o):i;if(s===t.length)return;const l=Ed(o),c=s>t.length;r.issues.push({origin:l,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),vl=le("$ZodCheckStringFormat",(e,t)=>{var a,r;ia.init(e,t),t.pattern?(a=e._zod).check??(a.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),SA=le("$ZodCheckRegex",(e,t)=>{vl.init(e,t),e._zod.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:"regex",input:a.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),CA=le("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=vA),vl.init(e,t)}),NA=le("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=bA),vl.init(e,t)}),RA=le("$ZodCheckIncludes",(e,t)=>{ia.init(e,t);const a=yo(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position},}${a}`:a);t.pattern=r,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),TA=le("$ZodCheckStartsWith",(e,t)=>{ia.init(e,t);const a=new RegExp(`^${yo(t.prefix)}.*`);t.pattern??(t.pattern=a),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),IA=le("$ZodCheckEndsWith",(e,t)=>{ia.init(e,t);const a=new RegExp(`.*${yo(t.suffix)}$`);t.pattern??(t.pattern=a),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),AA=le("$ZodCheckOverwrite",(e,t)=>{ia.init(e,t),e._zod.check=a=>{a.value=t.tx(a.value)}});class _A{constructor(t=[],a={}){this.content=[],this.indent=0,this.args=t,this.closed=a}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(` `).filter(s=>s),o=Math.min(...r.map(s=>s.length-s.trimStart().length)),i=r.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(const s of i)this.content.push(s)}compile(){const t=Function,a=(this==null?void 0:this.content)??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) { ${a.join(` `)} -};`)(...Object.values(this.closed))}}const _A={major:4,minor:6,patch:2},Vt=le("$ZodType",(e,t)=>{var i;var a;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=_A;const r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r!=null&&r.length?[...r]:[];for(const s of o)for(const l of s._zod.onattach)l(e);if(o.length===0)(a=e._zod).deferred??(a.deferred=[]),(i=e._zod.deferred)==null||i.push(()=>{e._zod.run=e._zod.parse});else{const s=(c,u,d)=>{if(c.memo)return c;let p=er(c),m;for(const h of u){if(h._zod.def.when){if(c2(c)||!h._zod.def.when(c))continue}else if(p)continue;const f=c.issues.length,v=h._zod.check(c);if(v instanceof Promise&&(d==null?void 0:d.async)===!1)throw new Or;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,c.issues.length!==f&&(_h(c.issues,f,e),p||(p=er(c,f)))});else{if(c.issues.length===f)continue;_h(c.issues,f,e),p||(p=er(c,f))}}return m?m.then(()=>c):c},l=(c,u,d)=>{if(er(c))return c.aborted=!0,c;const p=s(u,o,d);if(p instanceof Promise){if(d.async===!1)throw new Or;return p.then(m=>e._zod.parse(m,d))}return e._zod.parse(p,d)};e._zod.run=(c,u)=>{if(u.skipChecks)return e._zod.parse(c,u);if(u.direction==="backward"){const p=e._zod.parse({value:c.value,issues:[]},{...u,skipChecks:!0});return p instanceof Promise?p.then(m=>l(m,c,u)):l(p,c,u)}const d=e._zod.parse(c,u);if(d instanceof Promise){if(u.async===!1)throw new Or;return d.then(p=>s(p,o,u))}return s(d,o,u)}}},{get"~standard"(){return Xv(this,"~standard",sb(this))},set"~standard"(e){yr(this,"~standard",e)}}),ib=(e,t)=>e.issues.length?{issues:e.issues.map(a=>br(a,t,Ka()))}:{value:e.value};async function PA(e,t){const a={async:!0};return ib(await e._zod.run({value:t,issues:[]},a),a)}function sb(e){return{validate:t=>{const a={async:!1};try{const r=e._zod.run({value:t,issues:[]},a);if(!(r instanceof Promise))return ib(r,a)}catch{}return PA(e,t)},vendor:"zod",version:1}}const Rd=le("$ZodString",(e,t)=>{Vt.init(e,t),e._zod.pattern=t.pattern??dA,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=String(a.value)}catch{}return typeof a.value=="string"||a.issues.push({expected:"string",code:"invalid_type",input:a.value,inst:e}),a}}),Xt=le("$ZodStringFormat",(e,t)=>{gl.init(e,t),Rd.init(e,t)}),OA=le("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=K2),Xt.init(e,t)}),MA=le("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Lh(r))}else t.pattern??(t.pattern=Lh());Xt.init(e,t)}),zA=le("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Y2),Xt.init(e,t)}),lb=1,cb=2;function LA(e,t){var a;if(!t.normalize&&((a=t.protocol)==null?void 0:a.source)===oA.source&&!/^https?:\/\//i.test(e))return lb;try{return new URL(e)}catch{return cb}}const DA=/[\t\n\r]/g;function FA(e){return e.replace(DA,"")}function qA(e,t){return t.lastIndex=0,t.test(e.hostname)}function jA(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}const UA=le("$ZodURL",(e,t)=>{Xt.init(e,t),e._zod.check=a=>{try{const r=a.value.trim(),o=LA(r,t);if(o===lb){a.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:a.value,inst:e,continue:!t.abort});return}if(o===cb){a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!t.abort});return}t.hostname&&!qA(o,t.hostname)&&a.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:a.value,inst:e,continue:!t.abort}),t.protocol&&!jA(o,t.protocol)&&a.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:a.value,inst:e,continue:!t.abort}),a.value=t.normalize?o.href:FA(r);return}catch{a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!t.abort})}}}),$A=le("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Q2()),Xt.init(e,t)}),BA=le("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?W2:Z2(t.length)),Xt.init(e,t)}),HA=le("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=U2),Xt.init(e,t)}),VA=le("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=$2),Xt.init(e,t)}),WA=le("$ZodULID",(e,t)=>{t.pattern??(t.pattern=B2),Xt.init(e,t)}),ZA=le("$ZodXID",(e,t)=>{t.pattern??(t.pattern=H2),Xt.init(e,t)}),JA=le("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=V2),Xt.init(e,t)}),KA=le("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=uA(t)),Xt.init(e,t)}),YA=le("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=lA),Xt.init(e,t)}),GA=le("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=cA(t)),Xt.init(e,t)}),QA=le("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=J2),Xt.init(e,t)}),XA=le("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=X2),Xt.init(e,t)}),e_=/^[0-9a-fA-F:.]+$/;function ub(e){if(!e_.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}const t_=le("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=eA),Xt.init(e,t),e._zod.check=a=>{ub(a.value)||a.issues.push({code:"invalid_format",format:"ipv6",input:a.value,inst:e,continue:!t.abort})}}),n_=le("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=tA),Xt.init(e,t)});function a_(e){const t=e.split("/");if(t.length!==2)return!1;const[a,r]=t;if(!r)return!1;const o=Number(r);return`${o}`!==r||o<0||o>128?!1:ub(a)}const r_=le("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=nA),Xt.init(e,t),e._zod.check=a=>{a_(a.value)||a.issues.push({code:"invalid_format",format:"cidrv6",input:a.value,inst:e,continue:!t.abort})}});function db(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const pb=/^[0-9a-zA-Z+/]*={0,2}$/,o_=le("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=pb),Xt.init(e,t),e._zod.check=a=>{db(a.value)||a.issues.push({code:"invalid_format",format:"base64",input:a.value,inst:e,continue:!t.abort})}}),Td=/^[A-Za-z0-9_-]*$/;function i_(e){if(!Td.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),a=t.padEnd(Math.ceil(t.length/4)*4,"=");return db(a)}const s_=le("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Td),Xt.init(e,t),e._zod.check=a=>{i_(a.value)||a.issues.push({code:"invalid_format",format:"base64url",input:a.value,inst:e,continue:!t.abort})}}),l_=le("$ZodE164",(e,t)=>{t.pattern??(t.pattern=iA),Xt.init(e,t)});function c_(e,t=null){try{const a=e.split(".");if(a.length!==3)return!1;const[r]=a;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const u_=le("$ZodJWT",(e,t)=>{Xt.init(e,t),e._zod.check=a=>{c_(a.value,t.alg)||a.issues.push({code:"invalid_format",format:"jwt",input:a.value,inst:e,continue:!t.abort})}}),mb=le("$ZodNumber",(e,t)=>{Vt.init(e,t),e._zod.pattern=Cd,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=Number(a.value)}catch{}const o=a.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return a;const i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return a.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),a}}),d_=le("$ZodNumberFormat",(e,t)=>{yA.init(e,t),mb.init(e,t)}),p_=le("$ZodBoolean",(e,t)=>{Vt.init(e,t),e._zod.pattern=mA,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=!!a.value}catch{}const o=a.value;return typeof o=="boolean"||a.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),a}}),m_=le("$ZodUndefined",(e,t)=>{Vt.init(e,t),e._zod.pattern=fA,e._zod.values=new Set([void 0]),e._zod.parse=(a,r)=>{const o=a.value;return typeof o>"u"||a.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),a}}),h_=le("$ZodNull",(e,t)=>{Vt.init(e,t),e._zod.pattern=hA,e._zod.values=new Set([null]),e._zod.parse=(a,r)=>{const o=a.value;return o===null||a.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),a}}),f_=le("$ZodAny",(e,t)=>{Vt.init(e,t),e._zod.parse=a=>a}),g_=le("$ZodUnknown",(e,t)=>{Vt.init(e,t),e._zod.parse=a=>a}),v_=le("$ZodNever",(e,t)=>{Vt.init(e,t),e._zod.parse=(a,r)=>(a.issues.push({expected:"never",code:"invalid_type",input:a.value,inst:e}),a)});function Dh(e,t,a){e.issues.length&&t.issues.push(...to(a,e.issues)),t.value[a]=e.value}const b_=le("$ZodArray",(e,t)=>{Vt.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,o)=>{const i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=a?a.alloc(e,r,Array(i.length),o):Array(i.length);const s=[],l=o==null?void 0:o.abortEarly;for(let c=0;cDh(p,r,c)));else if(Dh(d,r,c),l&&d.issues.length!==0&&er(d))break}return s.length?Promise.all(s).then(()=>r):r}});function Bs(e,t,a,r,o,i){const s=a in r,l=i==="optional";if(!(!s&&l&&o==="optional")){if(e.issues.length){if(o!==void 0&&l&&!s)return;t.issues.push(...to(a,e.issues))}if(!s&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[a]});return}e.value===void 0?(s||o==="defaulted"&&!l)&&(t.value[a]=void 0):t.value[a]=e.value}}const y_=[];function hb(e){var s,l,c,u;const t=Object.keys(e.shape),a=Object.getOwnPropertySymbols(e.shape),r=a.length?a:y_,o=r.length?[...t,...r]:t;for(const d of o)if(!((u=(c=(l=(s=e.shape)==null?void 0:s[d])==null?void 0:l._zod)==null?void 0:c.traits)!=null&&u.has("$ZodType")))throw new Error(`Invalid element at key "${String(d)}": expected a Zod schema`);const i=t2(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function fb(e,t,a,r,o,i,s){const l=[],c=o.keySet,u=o.catchall._zod,d=u.def.type,p=u.optin,m=u.optout;let h=0;for(const f in t){if(s&&a.issues.length!==h){if(er(a,h))break;h=a.issues.length}if(c.has(f))continue;if(f==="__proto__"){d==="never"&&l.push(f);continue}if(d==="never"){l.push(f);continue}const v=u.run({value:t[f],issues:[]},r);v instanceof Promise?e.push(v.then(y=>Bs(y,a,f,t,p,m))):Bs(v,a,f,t,p,m)}return l.length&&a.issues.push({code:"unrecognized_keys",keys:l,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>a):a}const E_=le("$ZodObject",(e,t)=>{Vt.init(e,t);const a=Object.getOwnPropertyDescriptor(t,"shape"),r=a!=null&&a.get?a.get.raw:t.shape??{};if(r){const u=()=>{const d={...r};return Object.defineProperty(t,"shape",{value:d}),u.raw=d,d};u.raw=r,Object.defineProperty(t,"shape",{get:u})}const o=ml(()=>hb(t));Nt(e,"propValues",u=>{const d=u.def.shape,p={};for(const m in d){const h=d[m]._zod;if(h.values){Object.prototype.hasOwnProperty.call(p,m)||ja(p,m,new Set);for(const f of h.values)p[m].add(f);h.optin!==void 0&&p[m].add(void 0)}}return p});const i=ki,s=t.catchall;let l;const c=qa.memoizer;c==null||c.attach(e),e._zod.parse=(u,d)=>{l??(l=o.value);const p=u.value;if(!i(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),u;u.value=c?c.alloc(e,u,{},d):{};const m=[],h=l.shape,f=d==null?void 0:d.abortEarly;let v=u.issues.length;for(const y of l.allKeys){if(f&&u.issues.length!==v){if(er(u,v))break;v=u.issues.length}if(y==="__proto__")continue;const E=h[y],b=E._zod.optin,x=E._zod.optout,w=E._zod.run({value:p[y],issues:[]},d);w instanceof Promise?m.push(w.then(R=>Bs(R,u,y,p,b,x))):Bs(w,u,y,p,b,x)}return s?fb(m,p,u,d,o.value,e,f===!0):m.length?Promise.all(m).then(()=>u):u}}),w_=le("$ZodObjectJIT",(e,t)=>{E_.init(e,t);const a=e._zod.parse,r=ml(()=>hb(t)),o=qa.memoizer,i=h=>{var R,S;const f=r.value,v=f.symbolKeys,y=new AA(["payload","ctx"],{shape:h,inst:e,memo:o,syms:v}),E=I=>`shape[${I}]._zod.run({ value: input[${I}], issues: [] }, ctx)`,b=(I,N)=>` +};`)(...Object.values(this.closed))}}const PA={major:4,minor:6,patch:2},Vt=le("$ZodType",(e,t)=>{var i;var a;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=PA;const r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r!=null&&r.length?[...r]:[];for(const s of o)for(const l of s._zod.onattach)l(e);if(o.length===0)(a=e._zod).deferred??(a.deferred=[]),(i=e._zod.deferred)==null||i.push(()=>{e._zod.run=e._zod.parse});else{const s=(c,u,d)=>{if(c.memo)return c;let p=er(c),m;for(const h of u){if(h._zod.def.when){if(u2(c)||!h._zod.def.when(c))continue}else if(p)continue;const f=c.issues.length,v=h._zod.check(c);if(v instanceof Promise&&(d==null?void 0:d.async)===!1)throw new Or;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,c.issues.length!==f&&(_h(c.issues,f,e),p||(p=er(c,f)))});else{if(c.issues.length===f)continue;_h(c.issues,f,e),p||(p=er(c,f))}}return m?m.then(()=>c):c},l=(c,u,d)=>{if(er(c))return c.aborted=!0,c;const p=s(u,o,d);if(p instanceof Promise){if(d.async===!1)throw new Or;return p.then(m=>e._zod.parse(m,d))}return e._zod.parse(p,d)};e._zod.run=(c,u)=>{if(u.skipChecks)return e._zod.parse(c,u);if(u.direction==="backward"){const p=e._zod.parse({value:c.value,issues:[]},{...u,skipChecks:!0});return p instanceof Promise?p.then(m=>l(m,c,u)):l(p,c,u)}const d=e._zod.parse(c,u);if(d instanceof Promise){if(u.async===!1)throw new Or;return d.then(p=>s(p,o,u))}return s(d,o,u)}}},{get"~standard"(){return eb(this,"~standard",lb(this))},set"~standard"(e){yr(this,"~standard",e)}}),sb=(e,t)=>e.issues.length?{issues:e.issues.map(a=>br(a,t,Ka()))}:{value:e.value};async function OA(e,t){const a={async:!0};return sb(await e._zod.run({value:t,issues:[]},a),a)}function lb(e){return{validate:t=>{const a={async:!1};try{const r=e._zod.run({value:t,issues:[]},a);if(!(r instanceof Promise))return sb(r,a)}catch{}return OA(e,t)},vendor:"zod",version:1}}const Rd=le("$ZodString",(e,t)=>{Vt.init(e,t),e._zod.pattern=t.pattern??pA,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=String(a.value)}catch{}return typeof a.value=="string"||a.issues.push({expected:"string",code:"invalid_type",input:a.value,inst:e}),a}}),Xt=le("$ZodStringFormat",(e,t)=>{vl.init(e,t),Rd.init(e,t)}),MA=le("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Y2),Xt.init(e,t)}),zA=le("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Lh(r))}else t.pattern??(t.pattern=Lh());Xt.init(e,t)}),LA=le("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=G2),Xt.init(e,t)}),cb=1,ub=2;function DA(e,t){var a;if(!t.normalize&&((a=t.protocol)==null?void 0:a.source)===iA.source&&!/^https?:\/\//i.test(e))return cb;try{return new URL(e)}catch{return ub}}const FA=/[\t\n\r]/g;function qA(e){return e.replace(FA,"")}function jA(e,t){return t.lastIndex=0,t.test(e.hostname)}function UA(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}const $A=le("$ZodURL",(e,t)=>{Xt.init(e,t),e._zod.check=a=>{try{const r=a.value.trim(),o=DA(r,t);if(o===cb){a.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:a.value,inst:e,continue:!t.abort});return}if(o===ub){a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!t.abort});return}t.hostname&&!jA(o,t.hostname)&&a.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:a.value,inst:e,continue:!t.abort}),t.protocol&&!UA(o,t.protocol)&&a.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:a.value,inst:e,continue:!t.abort}),a.value=t.normalize?o.href:qA(r);return}catch{a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!t.abort})}}}),BA=le("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=X2()),Xt.init(e,t)}),HA=le("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?Z2:J2(t.length)),Xt.init(e,t)}),VA=le("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$2),Xt.init(e,t)}),WA=le("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=B2),Xt.init(e,t)}),ZA=le("$ZodULID",(e,t)=>{t.pattern??(t.pattern=H2),Xt.init(e,t)}),JA=le("$ZodXID",(e,t)=>{t.pattern??(t.pattern=V2),Xt.init(e,t)}),KA=le("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=W2),Xt.init(e,t)}),YA=le("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=dA(t)),Xt.init(e,t)}),GA=le("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=cA),Xt.init(e,t)}),QA=le("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=uA(t)),Xt.init(e,t)}),XA=le("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=K2),Xt.init(e,t)}),e_=le("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=eA),Xt.init(e,t)}),t_=/^[0-9a-fA-F:.]+$/;function db(e){if(!t_.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}const n_=le("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=tA),Xt.init(e,t),e._zod.check=a=>{db(a.value)||a.issues.push({code:"invalid_format",format:"ipv6",input:a.value,inst:e,continue:!t.abort})}}),a_=le("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=nA),Xt.init(e,t)});function r_(e){const t=e.split("/");if(t.length!==2)return!1;const[a,r]=t;if(!r)return!1;const o=Number(r);return`${o}`!==r||o<0||o>128?!1:db(a)}const o_=le("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=aA),Xt.init(e,t),e._zod.check=a=>{r_(a.value)||a.issues.push({code:"invalid_format",format:"cidrv6",input:a.value,inst:e,continue:!t.abort})}});function pb(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const mb=/^[0-9a-zA-Z+/]*={0,2}$/,i_=le("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=mb),Xt.init(e,t),e._zod.check=a=>{pb(a.value)||a.issues.push({code:"invalid_format",format:"base64",input:a.value,inst:e,continue:!t.abort})}}),Td=/^[A-Za-z0-9_-]*$/;function s_(e){if(!Td.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),a=t.padEnd(Math.ceil(t.length/4)*4,"=");return pb(a)}const l_=le("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Td),Xt.init(e,t),e._zod.check=a=>{s_(a.value)||a.issues.push({code:"invalid_format",format:"base64url",input:a.value,inst:e,continue:!t.abort})}}),c_=le("$ZodE164",(e,t)=>{t.pattern??(t.pattern=sA),Xt.init(e,t)});function u_(e,t=null){try{const a=e.split(".");if(a.length!==3)return!1;const[r]=a;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const d_=le("$ZodJWT",(e,t)=>{Xt.init(e,t),e._zod.check=a=>{u_(a.value,t.alg)||a.issues.push({code:"invalid_format",format:"jwt",input:a.value,inst:e,continue:!t.abort})}}),hb=le("$ZodNumber",(e,t)=>{Vt.init(e,t),e._zod.pattern=Cd,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=Number(a.value)}catch{}const o=a.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return a;const i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return a.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),a}}),p_=le("$ZodNumberFormat",(e,t)=>{EA.init(e,t),hb.init(e,t)}),m_=le("$ZodBoolean",(e,t)=>{Vt.init(e,t),e._zod.pattern=hA,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=!!a.value}catch{}const o=a.value;return typeof o=="boolean"||a.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),a}}),h_=le("$ZodUndefined",(e,t)=>{Vt.init(e,t),e._zod.pattern=gA,e._zod.values=new Set([void 0]),e._zod.parse=(a,r)=>{const o=a.value;return typeof o>"u"||a.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),a}}),f_=le("$ZodNull",(e,t)=>{Vt.init(e,t),e._zod.pattern=fA,e._zod.values=new Set([null]),e._zod.parse=(a,r)=>{const o=a.value;return o===null||a.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),a}}),g_=le("$ZodAny",(e,t)=>{Vt.init(e,t),e._zod.parse=a=>a}),v_=le("$ZodUnknown",(e,t)=>{Vt.init(e,t),e._zod.parse=a=>a}),b_=le("$ZodNever",(e,t)=>{Vt.init(e,t),e._zod.parse=(a,r)=>(a.issues.push({expected:"never",code:"invalid_type",input:a.value,inst:e}),a)});function Dh(e,t,a){e.issues.length&&t.issues.push(...to(a,e.issues)),t.value[a]=e.value}const y_=le("$ZodArray",(e,t)=>{Vt.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,o)=>{const i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=a?a.alloc(e,r,Array(i.length),o):Array(i.length);const s=[],l=o==null?void 0:o.abortEarly;for(let c=0;cDh(p,r,c)));else if(Dh(d,r,c),l&&d.issues.length!==0&&er(d))break}return s.length?Promise.all(s).then(()=>r):r}});function Hs(e,t,a,r,o,i){const s=a in r,l=i==="optional";if(!(!s&&l&&o==="optional")){if(e.issues.length){if(o!==void 0&&l&&!s)return;t.issues.push(...to(a,e.issues))}if(!s&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[a]});return}e.value===void 0?(s||o==="defaulted"&&!l)&&(t.value[a]=void 0):t.value[a]=e.value}}const E_=[];function fb(e){var s,l,c,u;const t=Object.keys(e.shape),a=Object.getOwnPropertySymbols(e.shape),r=a.length?a:E_,o=r.length?[...t,...r]:t;for(const d of o)if(!((u=(c=(l=(s=e.shape)==null?void 0:s[d])==null?void 0:l._zod)==null?void 0:c.traits)!=null&&u.has("$ZodType")))throw new Error(`Invalid element at key "${String(d)}": expected a Zod schema`);const i=n2(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function gb(e,t,a,r,o,i,s){const l=[],c=o.keySet,u=o.catchall._zod,d=u.def.type,p=u.optin,m=u.optout;let h=0;for(const f in t){if(s&&a.issues.length!==h){if(er(a,h))break;h=a.issues.length}if(c.has(f))continue;if(f==="__proto__"){d==="never"&&l.push(f);continue}if(d==="never"){l.push(f);continue}const v=u.run({value:t[f],issues:[]},r);v instanceof Promise?e.push(v.then(y=>Hs(y,a,f,t,p,m))):Hs(v,a,f,t,p,m)}return l.length&&a.issues.push({code:"unrecognized_keys",keys:l,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>a):a}const w_=le("$ZodObject",(e,t)=>{Vt.init(e,t);const a=Object.getOwnPropertyDescriptor(t,"shape"),r=a!=null&&a.get?a.get.raw:t.shape??{};if(r){const u=()=>{const d={...r};return Object.defineProperty(t,"shape",{value:d}),u.raw=d,d};u.raw=r,Object.defineProperty(t,"shape",{get:u})}const o=hl(()=>fb(t));Nt(e,"propValues",u=>{const d=u.def.shape,p={};for(const m in d){const h=d[m]._zod;if(h.values){Object.prototype.hasOwnProperty.call(p,m)||ja(p,m,new Set);for(const f of h.values)p[m].add(f);h.optin!==void 0&&p[m].add(void 0)}}return p});const i=ki,s=t.catchall;let l;const c=qa.memoizer;c==null||c.attach(e),e._zod.parse=(u,d)=>{l??(l=o.value);const p=u.value;if(!i(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),u;u.value=c?c.alloc(e,u,{},d):{};const m=[],h=l.shape,f=d==null?void 0:d.abortEarly;let v=u.issues.length;for(const y of l.allKeys){if(f&&u.issues.length!==v){if(er(u,v))break;v=u.issues.length}if(y==="__proto__")continue;const E=h[y],b=E._zod.optin,x=E._zod.optout,w=E._zod.run({value:p[y],issues:[]},d);w instanceof Promise?m.push(w.then(R=>Hs(R,u,y,p,b,x))):Hs(w,u,y,p,b,x)}return s?gb(m,p,u,d,o.value,e,f===!0):m.length?Promise.all(m).then(()=>u):u}}),k_=le("$ZodObjectJIT",(e,t)=>{w_.init(e,t);const a=e._zod.parse,r=hl(()=>fb(t)),o=qa.memoizer,i=h=>{var R,S;const f=r.value,v=f.symbolKeys,y=new _A(["payload","ctx"],{shape:h,inst:e,memo:o,syms:v}),E=I=>`shape[${I}]._zod.run({ value: input[${I}], issues: [] }, ctx)`,b=(I,N)=>` let ${I}_ab = false; for (let i = 0; i < ${I}.issues.length; i++) { const iss = ${I}.issues[i]; @@ -568,7 +568,7 @@ ${a.join(` if (${I}_ab && ctx && ctx.abortEarly) { payload.value = newResult; return payload; - }`;y.write("const input = payload.value;");const x=Object.create(null);let w=0;for(const I of f.allKeys)x[I]=`key_${w++}`;y.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const I of f.allKeys){if(I==="__proto__")continue;const N=x[I],M=typeof I=="symbol"?`syms[${v.indexOf(I)}]`:GI(I),k=`${M} in input`,T=h[I],A=(R=T==null?void 0:T._zod)==null?void 0:R.optin,q=A!==void 0,z=((S=T==null?void 0:T._zod)==null?void 0:S.optout)==="optional";if(y.write(`const ${N} = ${E(M)};`),q&&z){const F=A==="optional"?`${N}_present`:`${N}.value !== undefined || ${N}_present`;y.write(` + }`;y.write("const input = payload.value;");const x=Object.create(null);let w=0;for(const I of f.allKeys)x[I]=`key_${w++}`;y.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const I of f.allKeys){if(I==="__proto__")continue;const N=x[I],M=typeof I=="symbol"?`syms[${v.indexOf(I)}]`:QI(I),k=`${M} in input`,T=h[I],A=(R=T==null?void 0:T._zod)==null?void 0:R.optin,q=A!==void 0,z=((S=T==null?void 0:T._zod)==null?void 0:S.optout)==="optional";if(y.write(`const ${N} = ${E(M)};`),q&&z){const F=A==="optional"?`${N}_present`:`${N}.value !== undefined || ${N}_present`;y.write(` const ${N}_present = ${k}; if (!${N}.issues.length || ${N}_present) { if (${N}.issues.length) {${b(N,M)} @@ -607,19 +607,19 @@ ${a.join(` newResult[${M}] = ${N}.value; } - `)}return y.write("payload.value = newResult;"),y.write("return payload;"),y.compile()};let s;const l=ki,c=!qa.jitless,d=c&&XI.value,p=t.catchall;let m;e._zod.parse=(h,f)=>{m??(m=r.value);const v=h.value;return l(v)?c&&d&&(f==null?void 0:f.async)===!1&&f.jitless!==!0?(s||(s=i(t.shape)),h=s(h,f),p?fb([],v,h,f,m,e,(f==null?void 0:f.abortEarly)===!0):h):a(h,f):(h.issues.push({expected:"object",code:"invalid_type",input:v,inst:e}),h)}});function Fh(e,t,a,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!er(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:a,errors:e.map(i=>i.issues.map(s=>br(s,r,Ka())))}),t)}const gb=le("$ZodUnion",(e,t)=>{Vt.init(e,t),Nt(e,"optin",r=>r.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":r.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),Nt(e,"optout",r=>r.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Nt(e,"values",r=>{if(r.def.options.every(o=>o._zod.values))return new Set(r.def.options.flatMap(o=>Array.from(o._zod.values)))}),Nt(e,"pattern",r=>{if(r.def.options.every(o=>o._zod.pattern)){const o=r.def.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>vd(i.source)).join("|")})$`)}});const a=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(a)return a(r,o);let i=!1;const s=[];for(const l of t.options){const c=l._zod.run({value:r.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(l=>Fh(l,r,e,o)):Fh(s,r,e,o)}});function k_(e){var a;const t=new Map;for(const r of e.options){const o=(a=r._zod.propValues)==null?void 0:a[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const i of o)if(t.has(i)){if(i!==void 0)throw new Error(`Duplicate discriminator value "${String(i)}"`);t.set(i,null)}else t.set(i,r)}return t}const x_=le("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,gb.init(e,t);const a=e._zod.parse;Nt(e,"propValues",o=>{var l,c;const i={};let s=0;for(const u of o.def.options){const d=u._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(u)}"`);(l=d[o.def.discriminator])!=null&&l.has(void 0)&&s++;for(const[p,m]of Object.entries(d)){Object.prototype.hasOwnProperty.call(i,p)||ja(i,p,new Set);for(const h of m)i[p].add(h)}}return!o.def.unionFallback&&s>1&&((c=i[o.def.discriminator])==null||c.delete(void 0)),i}),t.options.forEach((o,i)=>{const s=bd(o._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,t.discriminator))throw new Error(`Invalid discriminated union option at index "${i}"`)});const r=ml(()=>k_(t));e._zod.parse=(o,i)=>{const s=o.value;if(!ki(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;const l=s==null?void 0:s[t.discriminator],c=r.value.get(l);return c&&(l!==void 0||i.direction!=="backward")?c._zod.run(o,i):t.unionFallback||i.direction==="backward"?a(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(u=>r.value.get(u)!==null),input:s,path:[t.discriminator],inst:e}),o)}}),S_=le("$ZodIntersection",(e,t)=>{Vt.init(e,t),e._zod.parse=(a,r)=>{const o=a.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,u])=>qh(a,c,u)):qh(a,i,s)}});function uu(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(bo(e)&&bo(t)){const a=Object.keys(t),r=Object.keys(e).filter(i=>a.indexOf(i)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(const i of r){if(i==="__proto__")continue;const s=uu(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const a=[];for(let r=0;r{var m,h;let p;if(u.code==="unrecognized_keys"&&!((m=u.path)!=null&&m.length))o??(o=u),p=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&((h=u.path)==null?void 0:h.length)===1){const f=String(u.path[0]);i.has(f)||i.set(f,u),p=[f]}else return!1;for(const f of p)r.has(f)||r.set(f,{}),r.get(f)[d]=!0;return!0};for(const u of t.issues)s(u,"l")||e.issues.push(u);for(const u of a.issues)s(u,"r")||e.issues.push(u);const l=[...r].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(l.length){const u=o?l.filter(d=>o.keys.includes(d)):[];u.length&&e.issues.push({...o,keys:u});for(const d of l)!u.includes(d)&&i.has(d)&&e.issues.push(i.get(d))}const c=uu(t.value,a.value);if(!c.valid){if(er(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const C_=le("$ZodRecord",(e,t)=>{Vt.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,o)=>{const i=r.value;if(!bo(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),r;const s=[],l=t.keyType._zod.values;if(l&&!t.partial){r.value=a?a.alloc(e,r,{},o):{};const c=new Set;for(const d of l)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){if(c.add(typeof d=="number"?d.toString():d),d==="__proto__")continue;const p=t.keyType._zod.run({value:d,issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(f=>br(f,o,Ka())),input:d,path:[d],inst:e});continue}const m=p.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:i[d],issues:[]},o);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...to(d,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...to(d,h.issues)),r.value[m]=h.value)}let u;for(const d in i)if(!c.has(d))if(t.mode==="loose"){if(d==="__proto__")continue;r.value[d]=i[d]}else u=u??[],u.push(d);u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:u,continue:!0})}else{r.value=a?a.alloc(e,r,{},o):{};let c;for(const u of Reflect.ownKeys(i)){if(u==="__proto__"||!Object.prototype.propertyIsEnumerable.call(i,u))continue;let d=t.keyType._zod.run({value:u,issues:[]},o);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&Cd.test(u)&&d.issues.length){const f=t.keyType._zod.run({value:Number(u),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(d=f)}if(d.issues.length){t.mode==="loose"?r.value[u]=i[u]:l?(c=c??[],c.push(u)):r.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(f=>br(f,o,Ka())),input:u,path:[u],inst:e});continue}const m=d.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:i[u],issues:[]},o);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...to(u,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...to(u,h.issues)),r.value[m]=h.value)}c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c,continue:!0})}return s.length?Promise.all(s).then(()=>r):r}}),N_=le("$ZodEnum",(e,t)=>{Vt.init(e,t);const a=su(t.entries),r=new Set(a);e._zod.values=r,Nt(e,"pattern",o=>{const i=su(o.def.entries).filter(s=>e2.has(typeof s));return new RegExp(i.length?`^(${i.map(s=>yo(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,i)=>{const s=o.value;return r.has(s)||o.issues.push({code:"invalid_value",values:a,input:s,inst:e}),o}}),R_=le("$ZodLiteral",(e,t)=>{Vt.init(e,t);const a=new Set(t.values);e._zod.values=a,Nt(e,"pattern",r=>{const o=r.def.values;return new RegExp(o.length?`^(${o.map(i=>typeof i=="string"?yo(i):i?yo(i.toString()):String(i)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,o)=>{const i=r.value;return a.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),T_=le("$ZodTransform",(e,t)=>{var a;Vt.init(e,t),e._zod.optin="optional",(a=qa.memoizer)==null||a.guard(e),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new tb(e.constructor.name);const i=t.transform(r.value,r);if(o.async)return(i instanceof Promise?i:Promise.resolve(i)).then(l=>(r.value=l,r));if(i instanceof Promise)throw new Or;return r.value=i,r}});function jh(e,t){return e.value=t.issues.length?void 0:t.value,e}const vb=le("$ZodOptional",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Nt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),Nt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)})?$`):void 0}),e._zod.parse=(a,r)=>{if(a.value===void 0){if(t.innerType._zod.optin!=="defaulted")return a;const o=t.innerType._zod.run({value:a.value,issues:[]},r);return o instanceof Promise?o.then(i=>jh(a,i)):jh(a,o)}return t.innerType._zod.run(a,r)}}),I_=le("$ZodExactOptional",(e,t)=>{vb.init(e,t),Nt(e,"values",a=>a.def.innerType._zod.values),Nt(e,"pattern",a=>a.def.innerType._zod.pattern),e._zod.parse=(a,r)=>t.innerType._zod.run(a,r)}),A_=le("$ZodNullable",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin),Nt(e,"optout",a=>a.def.innerType._zod.optout),Nt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)}|null)$`):void 0}),Nt(e,"values",a=>a.def.innerType._zod.values?new Set([...a.def.innerType._zod.values,null]):void 0),e._zod.parse=(a,r)=>a.value===null?a:t.innerType._zod.run(a,r)}),__=le("$ZodDefault",(e,t)=>{Vt.init(e,t),e._zod.optin="defaulted",Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);if(a.value===void 0)return a.value=t.defaultValue,a;const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(i=>Uh(i,t)):Uh(o,t)}});function Uh(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const P_=le("$ZodPrefault",(e,t)=>{Vt.init(e,t),e._zod.optin="defaulted",Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>(r.direction==="backward"||a.value===void 0&&(a.value=t.defaultValue),t.innerType._zod.run(a,r))}),O_=le("$ZodNonOptional",(e,t)=>{Vt.init(e,t),Nt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(a,r)=>{const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(i=>$h(i,e)):$h(o,e)}});function $h(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function Bh(e,t,a,r){return t.issues.length?(e.value=a.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>br(o,r,Ka()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const M_=le("$ZodCatch",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Nt(e,"optout",a=>a.def.innerType._zod.optout),Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);const o=t.innerType._zod.run({value:a.value,issues:[]},r);return o instanceof Promise?o.then(i=>Bh(a,i,t,r)):Bh(a,o,t,r)}}),bb=le("$ZodPipe",(e,t)=>{Vt.init(e,t),Nt(e,"values",a=>a.def.in._zod.values),Nt(e,"optin",a=>a.def.in._zod.optin),Nt(e,"optout",a=>a.def.out._zod.optout),Nt(e,"propValues",a=>a.def.in._zod.propValues),e._zod.parse=(a,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(a,r);return i instanceof Promise?i.then(s=>es(s,t.in,r)):es(i,t.in,r)}const o=t.in._zod.run(a,r);return o instanceof Promise?o.then(i=>es(i,t.out,r)):es(o,t.out,r)}});function es(e,t,a){return e.issues.some(r=>r.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},a)}const z_=le("$ZodPreprocess",(e,t)=>{bb.init(e,t)}),L_=le("$ZodReadonly",(e,t)=>{Vt.init(e,t),Nt(e,"propValues",a=>a.def.innerType._zod.propValues),Nt(e,"values",a=>a.def.innerType._zod.values),Nt(e,"optin",a=>{var r,o;return(o=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:o.optin}),Nt(e,"optout",a=>{var r,o;return(o=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:o.optout}),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(Hh):Hh(o)}});function Hh(e){return e.memo||(e.value=Object.freeze(e.value)),e}const D_=le("$ZodLazy",(e,t)=>{Vt.init(e,t),KI(e._zod,"innerType",()=>{const a=t;return a._cachedInner||(a._cachedInner=t.getter()),a._cachedInner}),Nt(e,"pattern",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.pattern}),Nt(e,"propValues",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.propValues}),Nt(e,"optin",a=>{var r,o;return((o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.optin)??void 0}),Nt(e,"optout",a=>{var r,o;return((o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.optout)??void 0}),e._zod.parse=(a,r)=>e._zod.innerType._zod.run(a,r)}),F_=le("$ZodCustom",(e,t)=>{ia.init(e,t),Vt.init(e,t),e._zod.parse=(a,r)=>a,e._zod.check=a=>{const r=a.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>Vh(i,a,r,e));Vh(o,a,r,e)}});function Vh(e,t,a,r){if(!e){const o={code:"custom",input:a,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(xi(o))}}class q_ extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}const du="~memo",Wh=[];function yb(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function gc(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}const Eb=new WeakMap,ii=0,Ss=1,hi=2;function Cs(e,t,a){const r=Eb.get(e);if(r!==void 0)return r?hi:ii;if(t.has(e))return hi;t.add(e);let o=ii;const i=d=>{if(o!==hi&&(d!=null&&d._zod)){const p=Cs(d,t);p>o&&(o=p)}},s=(d,p)=>{var h;let m=ii;for(const f of Reflect.ownKeys(d)){const v=Object.getOwnPropertyDescriptor(d,f);if(p&&!v.enumerable)continue;const y=v.get?Ss:(h=v.value)!=null&&h._zod?Cs(v.value,t):ii;y>m&&(m=y)}return m},l=d=>{d>o&&(o=d)},c=e._zod.def;switch(c.type){case"object":{const d=bd(c);l(d?s(d,!0):Ss),i(c.catchall);break}case"properties":l(s(c.shape,!1));break;case"array":i(c.element);break;case"tuple":for(const d of c.items)i(d);i(c.rest);break;case"record":case"map":i(c.keyType),i(c.valueType);break;case"set":i(c.valueType);break;case"union":for(const d of c.options)i(d);break;case"intersection":i(c.left),i(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":i(c.innerType);break;case"pipe":i(c.in),i(c.out);break;case"function":i(c.input),i(c.output);break;case"lazy":{const d=c._cachedInner??void 0;l(d?Cs(d,t):Ss);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(const d in c){const p=Object.getOwnPropertyDescriptor(c,d);if(!p||p.get)continue;const m=p.value;if(!(!m||typeof m!="object")){if(m._zod)i(m);else if(Array.isArray(m))for(const h of m)i(h)}}}return t.delete(e),j_(e,o)}function j_(e,t){return t!==Ss&&Eb.set(e,t===hi),t}function U_(e,t){let a=e.buckets.get(t);return a||(a=new WeakMap,e.buckets.set(t,a)),a}let ts;const ns=[],$_={alloc(e,t,a){const r=ts;if(!r)return a;ts=void 0;const o={value:a,issues:null};return r.set(t.value,o),ns.push(o),a},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const a=e._zod.parse,r=(o,i)=>{if(i.direction!=="backward"&&H_(i,o.value))throw new q_;return a(o,i)};e._zod.parse=r,e._zod.run===a&&(e._zod.run=r)})},attach(e){var t;let a,r=!1,o,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const s=e._zod.parse,l=(c,u)=>{if(a===void 0){const E=Cs(e,new Set);if(E===ii)return e._zod.parse=s,e._zod.run===l&&(e._zod.run=s),s(c,u);E===hi||r?a=!0:r=!0}const d=c.value;if(!yb(d))return s(c,u);let p=u[du];p||(p={buckets:new WeakMap,backEdges:void 0},u[du]=p);let m;o===u?m=i:(m=U_(p,e),o=u,i=m);const h=m.get(d);if(h)return c.value=h.value,h.issues?h.issues.length&&c.issues.push(...gc(h.issues)):(c.memo=!0,p.backEdges??(p.backEdges=new WeakSet),p.backEdges.add(h.value)),c;ts=m;const f=ns.length,v=s(c,u);ts=void 0;const y=ns.length>f?ns.pop():void 0;return v instanceof Promise?v.then(E=>(y&&(y.issues=E.issues.length?gc(E.issues):Wh),E)):(y&&(y.issues=v.issues.length?gc(v.issues):Wh),v)};e._zod.parse=l,e._zod.run===s&&(e._zod.run=l)})}};function B_(){return $_}function H_(e,t){var r;const a=(r=e[du])==null?void 0:r.backEdges;return a!==void 0&&yb(t)&&a.has(t)}const V_=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(i){return e[i]??null}const a={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function o(i,s){return i==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):r[i]??i}return i=>{switch(i.code){case"invalid_type":{const s=o(i.expected),l=d2(i.input),c=o(l,i.input);return`Invalid input: expected ${s}, received ${c}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${Yv(i.values[0])}`:`Invalid option: expected one of ${Th(i.values,"|")}`;case"too_big":{const s=i.exact?"exactly ":i.inclusive?"<=":"<",l=t(i.origin);return l?`Too big: expected ${i.origin??"value"} to have ${s}${i.maximum.toString()} ${l.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${s}${i.maximum.toString()}`}case"too_small":{const s=i.exact?"exactly ":i.inclusive?">=":">",l=t(i.origin);return l?`Too small: expected ${i.origin} to have ${s}${i.minimum.toString()} ${l.unit}`:`Too small: expected ${i.origin} to be ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${a[s.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${Th(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return i.options&&Array.isArray(i.options)&&i.options.length>0?`Invalid discriminator value. Expected ${i.options.map(l=>`'${l}'`).join(" | ")}`:i.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function W_(){return{localeError:V_()}}var Zh;class Z_{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...a){const r=a[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const a=this._map.get(t);return a&&typeof a=="object"&&"id"in a&&this._idmap.delete(a.id),this._map.delete(t),this}get(t){const a=t._zod.parent;if(a){const r={...this.get(a)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function J_(){return new Z_}(Zh=globalThis).__zod_globalRegistry??(Zh.__zod_globalRegistry=J_());const si=globalThis.__zod_globalRegistry;function K_(e,t){return new e({type:"string",...Ve(t)})}function wb(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ve(t)})}function Y_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ve(t)})}function G_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ve(t)})}function Q_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ve(t)})}function X_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ve(t)})}function eP(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ve(t)})}function kb(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ve(t)})}function tP(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ve(t)})}function nP(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ve(t)})}function aP(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ve(t)})}function rP(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ve(t)})}function oP(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ve(t)})}function iP(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ve(t)})}function sP(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ve(t)})}function lP(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ve(t)})}function cP(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ve(t)})}function uP(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ve(t)})}function dP(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ve(t)})}function pP(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ve(t)})}function mP(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ve(t)})}function hP(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ve(t)})}function fP(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ve(t)})}function xb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ve(t)})}function Sb(e,t){return new e({type:"string",format:"date",check:"string_format",...Ve(t)})}function gP(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ve(t)})}function vP(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ve(t)})}function bP(e,t){return new e({type:"number",checks:[],...Ve(t)})}function yP(e,t){return new e({type:"number",coerce:!0,checks:[],...Ve(t)})}function EP(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ve(t)})}function wP(e,t){return new e({type:"boolean",...Ve(t)})}function kP(e,t){return new e({type:"undefined",...Ve(t)})}function xP(e,t){return new e({type:"null",...Ve(t)})}function SP(e){return new e({type:"any"})}function CP(e){return new e({type:"unknown"})}function NP(e,t){return new e({type:"never",...Ve(t)})}function Jh(e,t){return new rb({check:"less_than",...Ve(t),value:e,inclusive:!1})}function vc(e,t){return new rb({check:"less_than",...Ve(t),value:e,inclusive:!0})}function Kh(e,t){return new ob({check:"greater_than",...Ve(t),value:e,inclusive:!1})}function bc(e,t){return new ob({check:"greater_than",...Ve(t),value:e,inclusive:!0})}function Yh(e,t){return new bA({check:"multiple_of",...Ve(t),value:e})}function Cb(e,t){return new EA({check:"max_length",...Ve(t),maximum:e})}function Hs(e,t){return new wA({check:"min_length",...Ve(t),minimum:e})}function Nb(e,t){return new kA({check:"length_equals",...Ve(t),length:e})}function RP(e,t){return new xA({check:"string_format",format:"regex",...Ve(t),pattern:e})}function TP(e){return new SA({check:"string_format",format:"lowercase",...Ve(e)})}function IP(e){return new CA({check:"string_format",format:"uppercase",...Ve(e)})}function AP(e,t){return new NA({check:"string_format",format:"includes",...Ve(t),includes:e})}function _P(e,t){return new RA({check:"string_format",format:"starts_with",...Ve(t),prefix:e})}function PP(e,t){return new TA({check:"string_format",format:"ends_with",...Ve(t),suffix:e})}function Ao(e){return new IA({check:"overwrite",tx:e})}function OP(e){return Ao(t=>t.normalize(e))}function MP(){return Ao(e=>e.trim())}function zP(){return Ao(e=>e.toLowerCase())}function LP(){return Ao(e=>e.toUpperCase())}function DP(){return Ao(e=>QI(e))}function FP(e,t,a){return new e({type:"array",element:t,...Ve(a)})}function qP(e,t,a){return new e({type:"custom",check:"custom",fn:t,...Ve(a)})}function jP(e,t){const a=UP(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(xi(o,r.value,a._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=r.value),i.inst??(i.inst=a),i.continue??(i.continue=!a._zod.def.abort),r.issues.push(xi(i))}},e(r.value,r)),t);return a}function UP(e,t){const a=new ia({check:"custom",...Ve(t)});return a._zod.check=e,a}function fi(e,...t){for(const a of t)for(const r of Reflect.ownKeys(a))Object.prototype.propertyIsEnumerable.call(a,r)&&ja(e,r,a[r]);return e}function Vs(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??si,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",intersections:[],deferred:[],external:(e==null?void 0:e.external)??void 0}}function Nn(e,t,a,r,o){const i=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:r.path,message:o}):t.unrepresentable;if(i==="any")return!1;if(i===void 0||i==="throw")throw new Error(o);return Object.assign(a,i),!0}function Ht(e,t,a={path:[],schemaPath:[]}){var d,p;var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,a.schemaPath.includes(e)&&(i.cycle=a.path),i.schema;const s={schema:{},count:1,cycle:void 0,path:a.path};t.seen.set(e,s),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;const l=(p=(d=e._zod).toJSONSchema)==null?void 0:p.call(d);if(l)s.schema=l;else{const m={...a,schemaPath:[...a.schemaPath,e],path:a.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,m);else{const f=s.schema,v=t.processors[o.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);v(e,t,f,m)}const h=e._zod.parent;h&&(s.ref||(s.ref=h),Ht(h,t,m),t.seen.get(h).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&fi(s.schema,c),t.io==="input"&&Bn(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Gh(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Ws(e,t){var s,l,c,u;const a=e.seen.get(t);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;const r=new Map;for(const d of e.seen.entries()){const p=(s=e.metadataRegistry.get(d[0]))==null?void 0:s.id;if(p){const m=r.get(p);if(m&&m!==d[0])throw new Error(`Duplicate schema id "${p}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(p,d[0])}}const o=d=>{var v;const p=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const y=(v=e.external.registry.get(d[0]))==null?void 0:v.id,E=e.external.uri??(x=>x);if(y)return{ref:E(y)};const b=d[1].defId??d[1].schema.id??`schema${e.counter++}`;return d[1].defId=b,{defId:b,ref:`${E("__shared")}#/${p}/${Gh(b)}`}}const m="#",h=`${m}/${p}/`;if(d[1]===a&&!d[1].schema.id)return{ref:m};const f=d[1].schema.id??`__schema${e.counter++}`;return{defId:f,ref:h+Gh(f)}},i=d=>{if(d[1].schema.$ref)return;const p=d[1],{ref:m,defId:h}=o(d);p.def={...p.schema},h&&(p.defId=h);const f=p.schema;for(const v in f)delete f[v];f.$ref=m};if(e.cycles==="throw")for(const d of e.seen.entries()){const p=d[1];if(p.cycle)throw new Error(`Cycle detected: #/${(l=p.cycle)==null?void 0:l.join("/")}/ + `)}return y.write("payload.value = newResult;"),y.write("return payload;"),y.compile()};let s;const l=ki,c=!qa.jitless,d=c&&e2.value,p=t.catchall;let m;e._zod.parse=(h,f)=>{m??(m=r.value);const v=h.value;return l(v)?c&&d&&(f==null?void 0:f.async)===!1&&f.jitless!==!0?(s||(s=i(t.shape)),h=s(h,f),p?gb([],v,h,f,m,e,(f==null?void 0:f.abortEarly)===!0):h):a(h,f):(h.issues.push({expected:"object",code:"invalid_type",input:v,inst:e}),h)}});function Fh(e,t,a,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!er(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:a,errors:e.map(i=>i.issues.map(s=>br(s,r,Ka())))}),t)}const vb=le("$ZodUnion",(e,t)=>{Vt.init(e,t),Nt(e,"optin",r=>r.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":r.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),Nt(e,"optout",r=>r.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Nt(e,"values",r=>{if(r.def.options.every(o=>o._zod.values))return new Set(r.def.options.flatMap(o=>Array.from(o._zod.values)))}),Nt(e,"pattern",r=>{if(r.def.options.every(o=>o._zod.pattern)){const o=r.def.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>vd(i.source)).join("|")})$`)}});const a=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(a)return a(r,o);let i=!1;const s=[];for(const l of t.options){const c=l._zod.run({value:r.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(l=>Fh(l,r,e,o)):Fh(s,r,e,o)}});function x_(e){var a;const t=new Map;for(const r of e.options){const o=(a=r._zod.propValues)==null?void 0:a[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const i of o)if(t.has(i)){if(i!==void 0)throw new Error(`Duplicate discriminator value "${String(i)}"`);t.set(i,null)}else t.set(i,r)}return t}const S_=le("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,vb.init(e,t);const a=e._zod.parse;Nt(e,"propValues",o=>{var l,c;const i={};let s=0;for(const u of o.def.options){const d=u._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(u)}"`);(l=d[o.def.discriminator])!=null&&l.has(void 0)&&s++;for(const[p,m]of Object.entries(d)){Object.prototype.hasOwnProperty.call(i,p)||ja(i,p,new Set);for(const h of m)i[p].add(h)}}return!o.def.unionFallback&&s>1&&((c=i[o.def.discriminator])==null||c.delete(void 0)),i}),t.options.forEach((o,i)=>{const s=bd(o._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,t.discriminator))throw new Error(`Invalid discriminated union option at index "${i}"`)});const r=hl(()=>x_(t));e._zod.parse=(o,i)=>{const s=o.value;if(!ki(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;const l=s==null?void 0:s[t.discriminator],c=r.value.get(l);return c&&(l!==void 0||i.direction!=="backward")?c._zod.run(o,i):t.unionFallback||i.direction==="backward"?a(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(u=>r.value.get(u)!==null),input:s,path:[t.discriminator],inst:e}),o)}}),C_=le("$ZodIntersection",(e,t)=>{Vt.init(e,t),e._zod.parse=(a,r)=>{const o=a.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,u])=>qh(a,c,u)):qh(a,i,s)}});function du(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(bo(e)&&bo(t)){const a=Object.keys(t),r=Object.keys(e).filter(i=>a.indexOf(i)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(const i of r){if(i==="__proto__")continue;const s=du(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const a=[];for(let r=0;r{var m,h;let p;if(u.code==="unrecognized_keys"&&!((m=u.path)!=null&&m.length))o??(o=u),p=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&((h=u.path)==null?void 0:h.length)===1){const f=String(u.path[0]);i.has(f)||i.set(f,u),p=[f]}else return!1;for(const f of p)r.has(f)||r.set(f,{}),r.get(f)[d]=!0;return!0};for(const u of t.issues)s(u,"l")||e.issues.push(u);for(const u of a.issues)s(u,"r")||e.issues.push(u);const l=[...r].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(l.length){const u=o?l.filter(d=>o.keys.includes(d)):[];u.length&&e.issues.push({...o,keys:u});for(const d of l)!u.includes(d)&&i.has(d)&&e.issues.push(i.get(d))}const c=du(t.value,a.value);if(!c.valid){if(er(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const N_=le("$ZodRecord",(e,t)=>{Vt.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,o)=>{const i=r.value;if(!bo(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),r;const s=[],l=t.keyType._zod.values;if(l&&!t.partial){r.value=a?a.alloc(e,r,{},o):{};const c=new Set;for(const d of l)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){if(c.add(typeof d=="number"?d.toString():d),d==="__proto__")continue;const p=t.keyType._zod.run({value:d,issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(f=>br(f,o,Ka())),input:d,path:[d],inst:e});continue}const m=p.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:i[d],issues:[]},o);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...to(d,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...to(d,h.issues)),r.value[m]=h.value)}let u;for(const d in i)if(!c.has(d))if(t.mode==="loose"){if(d==="__proto__")continue;r.value[d]=i[d]}else u=u??[],u.push(d);u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:u,continue:!0})}else{r.value=a?a.alloc(e,r,{},o):{};let c;for(const u of Reflect.ownKeys(i)){if(u==="__proto__"||!Object.prototype.propertyIsEnumerable.call(i,u))continue;let d=t.keyType._zod.run({value:u,issues:[]},o);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&Cd.test(u)&&d.issues.length){const f=t.keyType._zod.run({value:Number(u),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(d=f)}if(d.issues.length){t.mode==="loose"?r.value[u]=i[u]:l?(c=c??[],c.push(u)):r.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(f=>br(f,o,Ka())),input:u,path:[u],inst:e});continue}const m=d.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:i[u],issues:[]},o);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...to(u,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...to(u,h.issues)),r.value[m]=h.value)}c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c,continue:!0})}return s.length?Promise.all(s).then(()=>r):r}}),R_=le("$ZodEnum",(e,t)=>{Vt.init(e,t);const a=lu(t.entries),r=new Set(a);e._zod.values=r,Nt(e,"pattern",o=>{const i=lu(o.def.entries).filter(s=>t2.has(typeof s));return new RegExp(i.length?`^(${i.map(s=>yo(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,i)=>{const s=o.value;return r.has(s)||o.issues.push({code:"invalid_value",values:a,input:s,inst:e}),o}}),T_=le("$ZodLiteral",(e,t)=>{Vt.init(e,t);const a=new Set(t.values);e._zod.values=a,Nt(e,"pattern",r=>{const o=r.def.values;return new RegExp(o.length?`^(${o.map(i=>typeof i=="string"?yo(i):i?yo(i.toString()):String(i)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,o)=>{const i=r.value;return a.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),I_=le("$ZodTransform",(e,t)=>{var a;Vt.init(e,t),e._zod.optin="optional",(a=qa.memoizer)==null||a.guard(e),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new nb(e.constructor.name);const i=t.transform(r.value,r);if(o.async)return(i instanceof Promise?i:Promise.resolve(i)).then(l=>(r.value=l,r));if(i instanceof Promise)throw new Or;return r.value=i,r}});function jh(e,t){return e.value=t.issues.length?void 0:t.value,e}const bb=le("$ZodOptional",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Nt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),Nt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)})?$`):void 0}),e._zod.parse=(a,r)=>{if(a.value===void 0){if(t.innerType._zod.optin!=="defaulted")return a;const o=t.innerType._zod.run({value:a.value,issues:[]},r);return o instanceof Promise?o.then(i=>jh(a,i)):jh(a,o)}return t.innerType._zod.run(a,r)}}),A_=le("$ZodExactOptional",(e,t)=>{bb.init(e,t),Nt(e,"values",a=>a.def.innerType._zod.values),Nt(e,"pattern",a=>a.def.innerType._zod.pattern),e._zod.parse=(a,r)=>t.innerType._zod.run(a,r)}),__=le("$ZodNullable",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin),Nt(e,"optout",a=>a.def.innerType._zod.optout),Nt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)}|null)$`):void 0}),Nt(e,"values",a=>a.def.innerType._zod.values?new Set([...a.def.innerType._zod.values,null]):void 0),e._zod.parse=(a,r)=>a.value===null?a:t.innerType._zod.run(a,r)}),P_=le("$ZodDefault",(e,t)=>{Vt.init(e,t),e._zod.optin="defaulted",Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);if(a.value===void 0)return a.value=t.defaultValue,a;const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(i=>Uh(i,t)):Uh(o,t)}});function Uh(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const O_=le("$ZodPrefault",(e,t)=>{Vt.init(e,t),e._zod.optin="defaulted",Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>(r.direction==="backward"||a.value===void 0&&(a.value=t.defaultValue),t.innerType._zod.run(a,r))}),M_=le("$ZodNonOptional",(e,t)=>{Vt.init(e,t),Nt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(a,r)=>{const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(i=>$h(i,e)):$h(o,e)}});function $h(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function Bh(e,t,a,r){return t.issues.length?(e.value=a.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>br(o,r,Ka()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const z_=le("$ZodCatch",(e,t)=>{Vt.init(e,t),Nt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Nt(e,"optout",a=>a.def.innerType._zod.optout),Nt(e,"values",a=>a.def.innerType._zod.values),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);const o=t.innerType._zod.run({value:a.value,issues:[]},r);return o instanceof Promise?o.then(i=>Bh(a,i,t,r)):Bh(a,o,t,r)}}),yb=le("$ZodPipe",(e,t)=>{Vt.init(e,t),Nt(e,"values",a=>a.def.in._zod.values),Nt(e,"optin",a=>a.def.in._zod.optin),Nt(e,"optout",a=>a.def.out._zod.optout),Nt(e,"propValues",a=>a.def.in._zod.propValues),e._zod.parse=(a,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(a,r);return i instanceof Promise?i.then(s=>ts(s,t.in,r)):ts(i,t.in,r)}const o=t.in._zod.run(a,r);return o instanceof Promise?o.then(i=>ts(i,t.out,r)):ts(o,t.out,r)}});function ts(e,t,a){return e.issues.some(r=>r.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},a)}const L_=le("$ZodPreprocess",(e,t)=>{yb.init(e,t)}),D_=le("$ZodReadonly",(e,t)=>{Vt.init(e,t),Nt(e,"propValues",a=>a.def.innerType._zod.propValues),Nt(e,"values",a=>a.def.innerType._zod.values),Nt(e,"optin",a=>{var r,o;return(o=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:o.optin}),Nt(e,"optout",a=>{var r,o;return(o=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:o.optout}),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);const o=t.innerType._zod.run(a,r);return o instanceof Promise?o.then(Hh):Hh(o)}});function Hh(e){return e.memo||(e.value=Object.freeze(e.value)),e}const F_=le("$ZodLazy",(e,t)=>{Vt.init(e,t),YI(e._zod,"innerType",()=>{const a=t;return a._cachedInner||(a._cachedInner=t.getter()),a._cachedInner}),Nt(e,"pattern",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.pattern}),Nt(e,"propValues",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.propValues}),Nt(e,"optin",a=>{var r,o;return((o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.optin)??void 0}),Nt(e,"optout",a=>{var r,o;return((o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.optout)??void 0}),e._zod.parse=(a,r)=>e._zod.innerType._zod.run(a,r)}),q_=le("$ZodCustom",(e,t)=>{ia.init(e,t),Vt.init(e,t),e._zod.parse=(a,r)=>a,e._zod.check=a=>{const r=a.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>Vh(i,a,r,e));Vh(o,a,r,e)}});function Vh(e,t,a,r){if(!e){const o={code:"custom",input:a,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(xi(o))}}class j_ extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}const pu="~memo",Wh=[];function Eb(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function vc(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}const wb=new WeakMap,ii=0,Cs=1,hi=2;function Ns(e,t,a){const r=wb.get(e);if(r!==void 0)return r?hi:ii;if(t.has(e))return hi;t.add(e);let o=ii;const i=d=>{if(o!==hi&&(d!=null&&d._zod)){const p=Ns(d,t);p>o&&(o=p)}},s=(d,p)=>{var h;let m=ii;for(const f of Reflect.ownKeys(d)){const v=Object.getOwnPropertyDescriptor(d,f);if(p&&!v.enumerable)continue;const y=v.get?Cs:(h=v.value)!=null&&h._zod?Ns(v.value,t):ii;y>m&&(m=y)}return m},l=d=>{d>o&&(o=d)},c=e._zod.def;switch(c.type){case"object":{const d=bd(c);l(d?s(d,!0):Cs),i(c.catchall);break}case"properties":l(s(c.shape,!1));break;case"array":i(c.element);break;case"tuple":for(const d of c.items)i(d);i(c.rest);break;case"record":case"map":i(c.keyType),i(c.valueType);break;case"set":i(c.valueType);break;case"union":for(const d of c.options)i(d);break;case"intersection":i(c.left),i(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":i(c.innerType);break;case"pipe":i(c.in),i(c.out);break;case"function":i(c.input),i(c.output);break;case"lazy":{const d=c._cachedInner??void 0;l(d?Ns(d,t):Cs);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(const d in c){const p=Object.getOwnPropertyDescriptor(c,d);if(!p||p.get)continue;const m=p.value;if(!(!m||typeof m!="object")){if(m._zod)i(m);else if(Array.isArray(m))for(const h of m)i(h)}}}return t.delete(e),U_(e,o)}function U_(e,t){return t!==Cs&&wb.set(e,t===hi),t}function $_(e,t){let a=e.buckets.get(t);return a||(a=new WeakMap,e.buckets.set(t,a)),a}let ns;const as=[],B_={alloc(e,t,a){const r=ns;if(!r)return a;ns=void 0;const o={value:a,issues:null};return r.set(t.value,o),as.push(o),a},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const a=e._zod.parse,r=(o,i)=>{if(i.direction!=="backward"&&V_(i,o.value))throw new j_;return a(o,i)};e._zod.parse=r,e._zod.run===a&&(e._zod.run=r)})},attach(e){var t;let a,r=!1,o,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const s=e._zod.parse,l=(c,u)=>{if(a===void 0){const E=Ns(e,new Set);if(E===ii)return e._zod.parse=s,e._zod.run===l&&(e._zod.run=s),s(c,u);E===hi||r?a=!0:r=!0}const d=c.value;if(!Eb(d))return s(c,u);let p=u[pu];p||(p={buckets:new WeakMap,backEdges:void 0},u[pu]=p);let m;o===u?m=i:(m=$_(p,e),o=u,i=m);const h=m.get(d);if(h)return c.value=h.value,h.issues?h.issues.length&&c.issues.push(...vc(h.issues)):(c.memo=!0,p.backEdges??(p.backEdges=new WeakSet),p.backEdges.add(h.value)),c;ns=m;const f=as.length,v=s(c,u);ns=void 0;const y=as.length>f?as.pop():void 0;return v instanceof Promise?v.then(E=>(y&&(y.issues=E.issues.length?vc(E.issues):Wh),E)):(y&&(y.issues=v.issues.length?vc(v.issues):Wh),v)};e._zod.parse=l,e._zod.run===s&&(e._zod.run=l)})}};function H_(){return B_}function V_(e,t){var r;const a=(r=e[pu])==null?void 0:r.backEdges;return a!==void 0&&Eb(t)&&a.has(t)}const W_=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(i){return e[i]??null}const a={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function o(i,s){return i==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):r[i]??i}return i=>{switch(i.code){case"invalid_type":{const s=o(i.expected),l=p2(i.input),c=o(l,i.input);return`Invalid input: expected ${s}, received ${c}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${Gv(i.values[0])}`:`Invalid option: expected one of ${Th(i.values,"|")}`;case"too_big":{const s=i.exact?"exactly ":i.inclusive?"<=":"<",l=t(i.origin);return l?`Too big: expected ${i.origin??"value"} to have ${s}${i.maximum.toString()} ${l.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${s}${i.maximum.toString()}`}case"too_small":{const s=i.exact?"exactly ":i.inclusive?">=":">",l=t(i.origin);return l?`Too small: expected ${i.origin} to have ${s}${i.minimum.toString()} ${l.unit}`:`Too small: expected ${i.origin} to be ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${a[s.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${Th(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return i.options&&Array.isArray(i.options)&&i.options.length>0?`Invalid discriminator value. Expected ${i.options.map(l=>`'${l}'`).join(" | ")}`:i.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function Z_(){return{localeError:W_()}}var Zh;class J_{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...a){const r=a[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const a=this._map.get(t);return a&&typeof a=="object"&&"id"in a&&this._idmap.delete(a.id),this._map.delete(t),this}get(t){const a=t._zod.parent;if(a){const r={...this.get(a)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function K_(){return new J_}(Zh=globalThis).__zod_globalRegistry??(Zh.__zod_globalRegistry=K_());const si=globalThis.__zod_globalRegistry;function Y_(e,t){return new e({type:"string",...Ve(t)})}function kb(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ve(t)})}function G_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ve(t)})}function Q_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ve(t)})}function X_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ve(t)})}function eP(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ve(t)})}function tP(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ve(t)})}function xb(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ve(t)})}function nP(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ve(t)})}function aP(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ve(t)})}function rP(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ve(t)})}function oP(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ve(t)})}function iP(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ve(t)})}function sP(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ve(t)})}function lP(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ve(t)})}function cP(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ve(t)})}function uP(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ve(t)})}function dP(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ve(t)})}function pP(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ve(t)})}function mP(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ve(t)})}function hP(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ve(t)})}function fP(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ve(t)})}function gP(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ve(t)})}function Sb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ve(t)})}function Cb(e,t){return new e({type:"string",format:"date",check:"string_format",...Ve(t)})}function vP(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ve(t)})}function bP(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ve(t)})}function yP(e,t){return new e({type:"number",checks:[],...Ve(t)})}function EP(e,t){return new e({type:"number",coerce:!0,checks:[],...Ve(t)})}function wP(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ve(t)})}function kP(e,t){return new e({type:"boolean",...Ve(t)})}function xP(e,t){return new e({type:"undefined",...Ve(t)})}function SP(e,t){return new e({type:"null",...Ve(t)})}function CP(e){return new e({type:"any"})}function NP(e){return new e({type:"unknown"})}function RP(e,t){return new e({type:"never",...Ve(t)})}function Jh(e,t){return new ob({check:"less_than",...Ve(t),value:e,inclusive:!1})}function bc(e,t){return new ob({check:"less_than",...Ve(t),value:e,inclusive:!0})}function Kh(e,t){return new ib({check:"greater_than",...Ve(t),value:e,inclusive:!1})}function yc(e,t){return new ib({check:"greater_than",...Ve(t),value:e,inclusive:!0})}function Yh(e,t){return new yA({check:"multiple_of",...Ve(t),value:e})}function Nb(e,t){return new wA({check:"max_length",...Ve(t),maximum:e})}function Vs(e,t){return new kA({check:"min_length",...Ve(t),minimum:e})}function Rb(e,t){return new xA({check:"length_equals",...Ve(t),length:e})}function TP(e,t){return new SA({check:"string_format",format:"regex",...Ve(t),pattern:e})}function IP(e){return new CA({check:"string_format",format:"lowercase",...Ve(e)})}function AP(e){return new NA({check:"string_format",format:"uppercase",...Ve(e)})}function _P(e,t){return new RA({check:"string_format",format:"includes",...Ve(t),includes:e})}function PP(e,t){return new TA({check:"string_format",format:"starts_with",...Ve(t),prefix:e})}function OP(e,t){return new IA({check:"string_format",format:"ends_with",...Ve(t),suffix:e})}function Ao(e){return new AA({check:"overwrite",tx:e})}function MP(e){return Ao(t=>t.normalize(e))}function zP(){return Ao(e=>e.trim())}function LP(){return Ao(e=>e.toLowerCase())}function DP(){return Ao(e=>e.toUpperCase())}function FP(){return Ao(e=>XI(e))}function qP(e,t,a){return new e({type:"array",element:t,...Ve(a)})}function jP(e,t,a){return new e({type:"custom",check:"custom",fn:t,...Ve(a)})}function UP(e,t){const a=$P(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(xi(o,r.value,a._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=r.value),i.inst??(i.inst=a),i.continue??(i.continue=!a._zod.def.abort),r.issues.push(xi(i))}},e(r.value,r)),t);return a}function $P(e,t){const a=new ia({check:"custom",...Ve(t)});return a._zod.check=e,a}function fi(e,...t){for(const a of t)for(const r of Reflect.ownKeys(a))Object.prototype.propertyIsEnumerable.call(a,r)&&ja(e,r,a[r]);return e}function Ws(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??si,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",intersections:[],deferred:[],external:(e==null?void 0:e.external)??void 0}}function Nn(e,t,a,r,o){const i=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:r.path,message:o}):t.unrepresentable;if(i==="any")return!1;if(i===void 0||i==="throw")throw new Error(o);return Object.assign(a,i),!0}function Ht(e,t,a={path:[],schemaPath:[]}){var d,p;var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,a.schemaPath.includes(e)&&(i.cycle=a.path),i.schema;const s={schema:{},count:1,cycle:void 0,path:a.path};t.seen.set(e,s),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;const l=(p=(d=e._zod).toJSONSchema)==null?void 0:p.call(d);if(l)s.schema=l;else{const m={...a,schemaPath:[...a.schemaPath,e],path:a.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,m);else{const f=s.schema,v=t.processors[o.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);v(e,t,f,m)}const h=e._zod.parent;h&&(s.ref||(s.ref=h),Ht(h,t,m),t.seen.get(h).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&fi(s.schema,c),t.io==="input"&&Bn(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Gh(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Zs(e,t){var s,l,c,u;const a=e.seen.get(t);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;const r=new Map;for(const d of e.seen.entries()){const p=(s=e.metadataRegistry.get(d[0]))==null?void 0:s.id;if(p){const m=r.get(p);if(m&&m!==d[0])throw new Error(`Duplicate schema id "${p}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(p,d[0])}}const o=d=>{var v;const p=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const y=(v=e.external.registry.get(d[0]))==null?void 0:v.id,E=e.external.uri??(x=>x);if(y)return{ref:E(y)};const b=d[1].defId??d[1].schema.id??`schema${e.counter++}`;return d[1].defId=b,{defId:b,ref:`${E("__shared")}#/${p}/${Gh(b)}`}}const m="#",h=`${m}/${p}/`;if(d[1]===a&&!d[1].schema.id)return{ref:m};const f=d[1].schema.id??`__schema${e.counter++}`;return{defId:f,ref:h+Gh(f)}},i=d=>{if(d[1].schema.$ref)return;const p=d[1],{ref:m,defId:h}=o(d);p.def={...p.schema},h&&(p.defId=h);const f=p.schema;for(const v in f)delete f[v];f.$ref=m};if(e.cycles==="throw")for(const d of e.seen.entries()){const p=d[1];if(p.cycle)throw new Error(`Cycle detected: #/${(l=p.cycle)==null?void 0:l.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const p=d[1];if(t===d[0]){i(d);continue}if(e.external){const h=(c=e.external.registry.get(d[0]))==null?void 0:c.id;if(t!==d[0]&&h){i(d);continue}}if((u=e.metadataRegistry.get(d[0]))==null?void 0:u.id){i(d);continue}if(p.cycle){i(d);continue}p.count>1&&e.reused==="ref"&&i(d)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Rb(e){const t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;const a=[];for(const r of t){if(!r||typeof r!="object")return;Rb(r);const o=Object.keys(r);if(o.length!==1||o[0]!=="type")return;const i=r.type;for(const s of Array.isArray(i)?i:[i]){if(typeof s!="string")return;a.includes(s)||a.push(s)}}delete e.anyOf,e.type=a.length===1?a[0]:a}const Tb=new Set(["type","properties","required","additionalProperties"]),Qh=["oneOf","anyOf"];function Xh(e){const t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function pu(e){var i;const t=[];for(const s of e){if(typeof s!="object"||s.type!=="object")return null;for(const l in s)if(!Tb.has(l))return null;t.push(s)}const a={},r=new Set;for(const s of t){for(const l in s.properties){if(Object.prototype.hasOwnProperty.call(a,l))continue;const c=[];for(const d of t){const p=((i=d.properties)==null?void 0:i[l])??Xh(d);p!=null&&(c.some(m=>JSON.stringify(m)===JSON.stringify(p))||c.push(p))}const u=c.length===1?c[0]:pu(c)??{allOf:c};ja(a,l,u)}for(const l of s.required??[])r.add(l)}const o={type:"object",properties:a};if(r.size&&(o.required=[...r]),t.every(s=>s.additionalProperties===!1))o.additionalProperties=!1;else{const s=[];for(const l of t){const c=Xh(l);c&&!s.some(u=>JSON.stringify(u)===JSON.stringify(c))&&s.push(c)}s.length===1?o.additionalProperties=s[0]:s.length>1&&(o.additionalProperties={allOf:s})}return o}function $P(e){const t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(const o of Tb)if(o in e)return;const a=t.filter(o=>Qh.some(i=>Array.isArray(o[i])));let r=null;if(!a.length)r=pu(t);else{const o=a[0],i=Qh.find(c=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;const s=t.filter(c=>c!==o),l=o[i].map(c=>pu([...s,c]));if(l.some(c=>!c))return;r={[i]:l}}r&&(delete e.allOf,fi(e,r))}function Zs(e,t){var l,c,u,d;const a=e.seen.get(t);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=p=>{const m=e.seen.get(p);if(m.ref===null)return;const h=m.def??m.schema,f={...h},v=m.ref;if(m.ref=null,v){r(v);const E=e.seen.get(v),b=E.schema;if(b.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(h.allOf=h.allOf??[],h.allOf.push(b)):fi(h,b),fi(h,f),p._zod.parent===v)for(const w in h)w==="$ref"||w==="allOf"||w in f||delete h[w];if(b.$ref&&E.def)for(const w in h)w==="$ref"||w==="allOf"||w in E.def&&JSON.stringify(h[w])===JSON.stringify(E.def[w])&&delete h[w]}const y=p._zod.parent;if(y&&y!==v){r(y);const E=e.seen.get(y);if(E!=null&&E.schema.$ref&&(h.$ref=E.schema.$ref,E.def))for(const b in h)b==="$ref"||b==="allOf"||b in E.def&&JSON.stringify(h[b])===JSON.stringify(E.def[b])&&delete h[b]}e.override({zodSchema:p,jsonSchema:h,path:m.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(const p of[...e.seen.entries()].reverse())r(p[0]);if(e.target!=="openapi-3.0")for(const p of e.seen.entries())Rb(p[1].def??p[1].schema);for(const p of e.deferred)p();if(e.intersections.length){const p=new Map;for(const m of e.seen.values())for(const h of[m.schema,m.def]){const f=h==null?void 0:h.allOf;if(!Array.isArray(f))continue;const v=p.get(f);v?v.push(h):p.set(f,[h])}for(const m of e.intersections)for(const h of p.get(m)??[])$P(h)}}const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,(l=e.external)!=null&&l.uri){const p=(c=e.external.registry.get(t))==null?void 0:c.id;if(!p)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(p)}fi(o,a.defId?a.schema:a.def??a.schema);const i=(u=e.metadataRegistry.get(t))==null?void 0:u.id;i!==void 0&&o.id===i&&delete o.id;const s=((d=e.external)==null?void 0:d.defs)??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(const p of e.seen.entries()){const m=p[1];m.def&&m.defId&&(m.def.id===m.defId&&delete m.def.id,ja(s,m.defId,m.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const p=JSON.parse(JSON.stringify(o));return Object.defineProperty(p,"~standard",{value:{...t["~standard"],jsonSchema:{input:Js(t,"input",e.processors),output:Js(t,"output",e.processors)}},enumerable:!1,writable:!1}),p}catch{throw new Error("Error converting schema to JSON.")}}function Bn(e,t){const a=t??{seen:new Set};if(a.seen.has(e))return!1;a.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Bn(r.element,a);if(r.type==="set")return Bn(r.valueType,a);if(r.type==="lazy")return Bn(r.getter(),a);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault"||r.type==="catch")return Bn(r.innerType,a);if(r.type==="intersection")return Bn(r.left,a)||Bn(r.right,a);if(r.type==="record"||r.type==="map")return Bn(r.keyType,a)||Bn(r.valueType,a);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Bn(r.in,a)||Bn(r.out,a);if(r.type==="object"){for(const o in r.shape)if(Bn(r.shape[o],a))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(Bn(o,a))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(Bn(o,a))return!0;return!!(r.rest&&Bn(r.rest,a))}return!1}const BP=(e,t={})=>a=>{const r=Vs({...a,processors:t});return Ht(e,r),Ws(r,e),Zs(r,e)},Js=(e,t,a={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=Vs({...o??{},target:i,io:t,processors:a});return Ht(e,s),Ws(s,e),Zs(s,e)},Eo=(e,t,a)=>{(e[t]===void 0||a>e[t])&&(e[t]=a)},wo=(e,t,a)=>{(e[t]===void 0||a{Eo(e,"minimum",t),wo(e,"maximum",t)},Ib=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},Ab=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},_b=(e,t)=>{e.mime=e.mime?e.mime.filter(a=>t.includes(a)):[...t]},Pb=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},tf=(e,t)=>Eo(e,"minimum",t.minimum),nf=(e,t)=>wo(e,"maximum",t.maximum),af=e=>(t,a)=>{Pb(t,a.format);const[r,o]=e[a.format];Eo(t,"minimum",r),wo(t,"maximum",o)},yc={greater_than:(e,t)=>Eo(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>wo(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Ib(e,t.value),number_format:af(Gv),bigint_format:af(n2),min_length:tf,max_length:nf,length_equals:(e,t)=>ef(e,t.length),min_size:tf,max_size:nf,size_equals:(e,t)=>ef(e,t.size),string_format:(e,t)=>{Pb(e,t.format),t.pattern&&Ab(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>_b(e,t.mime)};function ya(e){var i;const t={},a=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...a.checks??[]]:a.checks??[];for(const s of r)(i=yc[s._zod.def.check])==null||i.call(yc,t,s._zod.def);const o=e._zod.bag;o.minimum!==void 0&&Eo(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&Eo(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&wo(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&wo(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&Ib(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&_b(t,o.mime);for(const s of o.patterns??[])Ab(t,s);return t}const HP={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},VP=new Map([[pb,aA],[Td,rA]]),Ob=e=>VP.get(e)??e,Mb=(e,t,a,r)=>{const o=a;o.type="string";const{minimum:i,maximum:s,format:l,patterns:c,contentEncoding:u,laxFormat:d}=ya(e);if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),l&&(o.format=HP[l]??l,o.format===""&&delete o.format,(l==="time"||d)&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const p=[...c].map(Ob);p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},zb=(e,t,a,r)=>{const o=a,{minimum:i,maximum:s,multipleOf:l,exclusiveMaximum:c,exclusiveMinimum:u,isInt:d}=ya(e);o.type=d?"integer":"number";const p=typeof u=="number"&&u>=(i??Number.NEGATIVE_INFINITY),m=typeof c=="number"&&c<=(s??Number.POSITIVE_INFINITY),h=t.target==="draft-04"||t.target==="openapi-3.0";if(p?h?(o.minimum=u,o.exclusiveMinimum=!0):o.exclusiveMinimum=u:typeof i=="number"&&(o.minimum=i),m?h?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c:typeof s=="number"&&(o.maximum=s),l){const f=new Set;for(const E of l)Number.isFinite(E)&&E!==0?f.add(Math.abs(E)):Nn(e,t,o,r,`A multipleOf divisor of ${E} cannot be represented in JSON Schema`);const[v,...y]=f;v!==void 0&&(o.multipleOf=v),y.length&&(o.allOf=[...o.allOf??[],...y.map(E=>({multipleOf:E}))])}},Lb=(e,t,a,r)=>{a.type="boolean"},WP=(e,t,a,r)=>{Nn(e,t,a,r,"BigInt cannot be represented in JSON Schema")},ZP=(e,t,a,r)=>{Nn(e,t,a,r,"Symbols cannot be represented in JSON Schema")},Db=(e,t,a,r)=>{t.target==="openapi-3.0"?(a.type="string",a.nullable=!0,a.enum=[null]):a.type="null"},Fb=(e,t,a,r)=>{Nn(e,t,a,r,"Undefined cannot be represented in JSON Schema")},JP=(e,t,a,r)=>{Nn(e,t,a,r,"Void cannot be represented in JSON Schema")},qb=(e,t,a,r)=>{a.not={}},jb=(e,t,a,r)=>{},Ub=(e,t,a,r)=>{},KP=(e,t,a,r)=>{Nn(e,t,a,r,"Date cannot be represented in JSON Schema")},$b=(e,t,a,r)=>{const o=e._zod.def,i=su(o.entries);if(i.length===0){a.not={};return}i.every(s=>typeof s=="number")&&(a.type="number"),i.every(s=>typeof s=="string")&&(a.type="string"),a.enum=i},Bb=(e,t,a,r)=>{const o=e._zod.def;if(o.values.length===0){a.not={};return}const i=[];for(const s of o.values)if(s===void 0){if(Nn(e,t,a,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(Nn(e,t,a,r,"BigInt literals cannot be represented in JSON Schema"))return;i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){const s=i[0];a.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?a.enum=[s]:a.const=s}else i.every(s=>typeof s=="number")&&(a.type="number"),i.every(s=>typeof s=="string")&&(a.type="string"),i.every(s=>typeof s=="boolean")&&(a.type="boolean"),i.every(s=>s===null)&&(a.type="null"),a.enum=i},YP=(e,t,a,r)=>{Nn(e,t,a,r,"NaN cannot be represented in JSON Schema")},GP=(e,t,a,r)=>{const o=a,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},QP=(e,t,a,r)=>{const o=a;o.type="string",o.format="binary",o.contentEncoding="binary";const{minimum:i,maximum:s,mime:l}=ya(e);i!==void 0&&(o.minLength=i),s!==void 0&&(o.maxLength=s),l&&(l.length===0?o.not={}:l.length===1?o.contentMediaType=l[0]:o.anyOf=l.map(c=>({contentMediaType:c})))},XP=(e,t,a,r)=>{a.type="boolean"},Hb=(e,t,a,r)=>{Nn(e,t,a,r,"Custom types cannot be represented in JSON Schema")},eO=(e,t,a,r)=>{Nn(e,t,a,r,"Function types cannot be represented in JSON Schema")},Vb=(e,t,a,r)=>{Nn(e,t,a,r,"Transforms cannot be represented in JSON Schema")},tO=(e,t,a,r)=>{Nn(e,t,a,r,"Map cannot be represented in JSON Schema")},nO=(e,t,a,r)=>{Nn(e,t,a,r,"Set cannot be represented in JSON Schema")},Wb=(e,t,a,r)=>{const o=a,i=e._zod.def,{minimum:s,maximum:l}=ya(e);typeof s=="number"&&(o.minItems=s),typeof l=="number"&&(o.maxItems=l),o.type="array",o.items=Ht(i.element,t,{...r,path:[...r.path,"items"]})};function ko(e){const t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?ko(t.out):t.type==="catch"?ko(t.innerType):e._zod.optin}const Zb=(e,t,a,r)=>{var d;const o=a,i=e._zod.def,s=i.shape;if(Object.getOwnPropertySymbols(s).length&&Nn(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(const p in s)ja(o.properties,p,Ht(s[p],t,{...r,path:[...r.path,"properties",p]}));const c=new Set(Object.keys(s)),u=new Set([...c].filter(p=>{const m=i.shape[p];return t.io==="input"?ko(m)===void 0:m._zod.optout===void 0}));u.size>0&&(o.required=Array.from(u)),((d=i.catchall)==null?void 0:d._zod.def.type)==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Ht(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},aO=(e,t,a,r)=>{const o=a,i=e._zod.def;if(Object.getOwnPropertySymbols(i.shape).length&&Nn(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;if(t.io==="output"){for(const l in i.shape)if(Bn(i.shape[l])&&Nn(e,t,o,r,`z.properties() returns its input, so the output of a transforming schema at key "${l}" cannot be represented in JSON Schema`))return}o.type="object",o.properties={};for(const l in i.shape)ja(o.properties,l,Ht(i.shape[l],t,{...r,path:[...r.path,"properties",l]}));const s=Object.keys(i.shape).filter(l=>ko(i.shape[l])===void 0);s.length>0&&(o.required=s)},Jb=(e,t,a,r)=>{const o=e._zod.def,i=o.inclusive===!1,s=o.options.map((l,c)=>Ht(l,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));i?a.oneOf=s:a.anyOf=s},Kb=(e,t,a,r)=>{const o=e._zod.def,i=Ht(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=Ht(o.right,t,{...r,path:[...r.path,"allOf",1]}),l=u=>"allOf"in u&&Object.keys(u).length===1,c=[...l(i)?i.allOf:[i],...l(s)?s.allOf:[s]];a.allOf=c,t.intersections.push(c)},rO=(e,t,a,r)=>{const o=a,i=e._zod.def;o.type="array";const s=t.target==="draft-2020-12"?"prefixItems":"items",l=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((v,y)=>Ht(v,t,{...r,path:[...r.path,s,y]})),u=i.rest?Ht(i.rest,t,{...r,path:[...r.path,l,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;let d=i.items.length;for(;d>0;){const v=i.items[d-1];if(!(t.io==="input"?ko(v)!==void 0:v._zod.optout==="optional"))break;d--}const p=i.items.length,m=!i.rest;t.target==="draft-2020-12"?(o.prefixItems=c,m?o.items=!1:u&&(o.items=u),d>0&&(o.minItems=d),m&&(o.maxItems=p)):t.target==="openapi-3.0"?(o.items={anyOf:c},u&&o.items.anyOf.push(u),d>0&&(o.minItems=d),m&&(o.maxItems=p)):(o.items=c,m?o.additionalItems=!1:u&&(o.additionalItems=u),d>0&&(o.minItems=d),m&&(o.maxItems=p));const{minimum:h,maximum:f}=ya(e);typeof h=="number"&&(o.minItems=h),typeof f=="number"&&(o.maxItems=f)};function mu(e,t,a){var f;if(t.$ref){if(a.has(t))return t;a.add(t);const v=(f=e.get(t))==null?void 0:f.def;if(!v)return t;const y=mu(e,v,a);return y===v?t:y}for(const v of["anyOf","oneOf"]){const y=t[v];if(!Array.isArray(y))continue;const E=y.map(b=>mu(e,b,a));E.some((b,x)=>b!==y[x])&&(t={...t,[v]:E})}const r=Array.isArray(t.type)?t.type:[t.type],o=!r.includes("string")&&r.some(v=>v==="number"||v==="integer"),i=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!(i!=null&&i.some(v=>typeof v=="number")))return t;const{minimum:s,maximum:l,exclusiveMinimum:c,exclusiveMaximum:u,multipleOf:d,format:p,id:m,...h}=t;return h.enum?h.enum=h.enum.map(v=>typeof v=="number"?String(v):v):typeof h.const=="number"&&(h.const=String(h.const)),o&&(h.type="string",i||(h.pattern=(r.includes("number")?Cd:pA).source)),h}const hu=new WeakMap;function oO(e){var r;const t=new Map;for(const o of e.seen.values())o.def&&!t.has(o.schema)&&t.set(o.schema,o);const a=new Map;for(const o of hu.get(e)??[]){const i=e.seen.get(o),s=(r=(i==null?void 0:i.def)??(i==null?void 0:i.schema))==null?void 0:r.propertyNames;if(!s||s===!0||a.has(s))continue;const l=mu(t,s,new Set);l!==s&&a.set(s,l)}if(a.size)for(const o of e.seen.values())for(const i of[o.schema,o.def]){const s=i&&a.get(i.propertyNames);s&&(i.propertyNames=s)}}const Yb=(e,t,a,r)=>{const o=a,i=e._zod.def;o.type="object";const s=i.keyType,l=ya(s).patterns;if(i.mode==="loose"&&l&&l.size>0){const d=Ht(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const p of l)ja(o.patternProperties,Ob(p).source,d)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=Ht(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});let d=hu.get(t);d||(d=[],hu.set(t,d),t.deferred.push(()=>oO(t))),d.push(e)}o.additionalProperties=Ht(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}const c=s._zod.values,u=t.io==="input"&&ko(i.valueType)!==void 0;if(c&&!i.partial&&!u){const d=[...c].filter(p=>typeof p=="string"||typeof p=="number");d.length>0&&(o.required=d.map(String))}},Gb=(e,t,a,r)=>{const o=e._zod.def,i=Ht(o.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,a.nullable=!0):a.anyOf=[i,{type:"null"}]},Qb=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Id=Symbol();function Xb(e,t,a,r,o){let i=!1;const s=JSON.stringify(e,(l,c)=>typeof c!="bigint"?c:(i=!0,null));return i?(Nn(t,a,r,o,"BigInt defaults cannot be represented in JSON Schema"),Id):JSON.parse(s)}const ey=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;const s=Xb(o.defaultValue,e,t,a,r);s!==Id&&(a.default=s)},ty=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);if(i.ref=o.innerType,t.io!=="input")return;const s=Xb(o.defaultValue,e,t,a,r);s!==Id&&(a._prefault=s)},ny=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{Nn(e,t,a,r,"Dynamic catch values are not supported in JSON Schema");return}a.default=s},ay=(e,t,a,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;Ht(s,t,r);const l=t.seen.get(e);l.ref=s},ry=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,a.readOnly=!0},iO=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ad=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},oy=(e,t,a,r)=>{const o=e._zod.innerType;Ht(o,t,r);const i=t.seen.get(e);i.ref=o},rf={string:Mb,number:zb,boolean:Lb,bigint:WP,symbol:ZP,null:Db,undefined:Fb,void:JP,never:qb,any:jb,unknown:Ub,date:KP,enum:$b,literal:Bb,nan:YP,template_literal:GP,file:QP,success:XP,custom:Hb,properties:aO,function:eO,transform:Vb,map:tO,set:nO,array:Wb,object:Zb,union:Jb,intersection:Kb,tuple:rO,record:Yb,nullable:Gb,nonoptional:Qb,default:ey,prefault:ty,catch:ny,pipe:ay,readonly:ry,promise:iO,optional:Ad,lazy:oy};function iy(e,t){if("_idmap"in e){const r=e,o=Vs({...t,processors:rf}),i={};for(const c of r._idmap.entries()){const[u,d]=c;Ht(d,o)}const s={},l={registry:r,uri:t==null?void 0:t.uri,defs:i};o.external=l;for(const c of r._idmap.entries()){const[u,d]=c;Ws(o,d),ja(s,u,Zs(o,d))}if(Object.keys(i).length>0){const c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}const a=Vs({...t,processors:rf});return Ht(e,a),Ws(a,e),Zs(a,e)}const of=new WeakSet([Object.prototype,Error.prototype]);function as(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){const r=a(this);return Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0})}})}const sO=(e,t)=>{S2.init(e,t),e.name="ZodError";const a=Object.getPrototypeOf(e);of.has(a)||(of.add(a),as(a,"format",r=>o=>R2(r,o)),as(a,"flatten",r=>o=>N2(r,o)),as(a,"addIssue",r=>o=>{r.issues.push(o),r.message=JSON.stringify(r.issues,lu,2)}),as(a,"addIssues",r=>o=>{r.issues.push(...o),r.message=JSON.stringify(r.issues,lu,2)}),Object.defineProperty(a,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},za=le("ZodError",sO,void 0,{Parent:Error}),lO=wd(za),cO=kd(za),sy=xd(za),uO=Sd(za),dO=O2(za),pO=M2(za),mO=z2(za),hO=L2(za),fO=D2(za),gO=F2(za),vO=q2(za),bO=j2(za);function yO(){qa.localeError||Ka(W_())}function vl(){qa.memoizer||Ka({memoizer:B_()})}const Wt=le("ZodType",(e,t)=>(yO(),Vt.init(e,t),e.def=t,e.type=t.type,e),{check(...e){const t=this.def;return this.clone(va(t,{checks:[...t.checks??[],...e.map(a=>typeof a=="function"?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return kr(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(pM(e,t))},superRefine(e,t){return this.check(mM(e,t))},overwrite(e){return this.check(Ao(e))},optional(){return Je(this)},exactOptional(){return QO(this)},nullable(){return cf(this)},nullish(){return Je(cf(this))},nonoptional(e){return rM(this,e)},array(){return re(this)},or(e){return Te([this,e])},and(e){return $r(this,e)},transform(e){return uf(this,gy(e))},default(e){return tM(this,e)},prefault(e){return aM(this,e)},catch(e){return iM(this,e)},pipe(e){return uf(this,e)},readonly(){return cM(this)},describe(e){const t=this.clone();return si.add(t,{description:e}),t},meta(...e){if(e.length===0)return si.get(this);const t=this.clone();return si.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Xv(this,"~standard",{...sb(this),jsonSchema:{input:Js(this,"input"),output:Js(this,"output")}})},set"~standard"(e){yr(this,"~standard",e)},parse:function e(t,a){return lO(this,t,a,{callee:e})},parseAsync:async function e(t,a){return await cO(this,t,a,{callee:e})},safeParse(e,t){return sy(this,e,t)},async safeParseAsync(e,t){return uO(this,e,t)},get spa(){return this==null?void 0:this.safeParseAsync},set spa(e){yr(this,"spa",e)},validate(e,t){return A2(this,e,t)},validateAsync(e,t){return P2(this,e,t)},encode:function e(t,a){return dO(this,t,a,{callee:e})},decode:function e(t,a){return pO(this,t,a,{callee:e})},encodeAsync:async function e(t,a){return await mO(this,t,a,{callee:e})},decodeAsync:async function e(t,a){return await hO(this,t,a,{callee:e})},safeEncode(e,t){return fO(this,e,t)},safeDecode(e,t){return gO(this,e,t)},async safeEncodeAsync(e,t){return vO(this,e,t)},async safeDecodeAsync(e,t){return bO(this,e,t)},toJSONSchema(e){return BP(this,{})(e)},get description(){var e;return(e=si.get(this))==null?void 0:e.description},get _def(){return this._zod.def}}),ly=le("_ZodString",(e,t)=>{Rd.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Mb(e,a,r)},eb({format:e=>ya(e).format??null,minLength:e=>ya(e).minimum??null,maxLength:e=>ya(e).maximum??null},{regex(...e){return this.check(RP(...e))},includes(...e){return this.check(AP(...e))},startsWith(...e){return this.check(_P(...e))},endsWith(...e){return this.check(PP(...e))},min(...e){return this.check(Hs(...e))},max(...e){return this.check(Cb(...e))},length(...e){return this.check(Nb(...e))},nonempty(...e){return this.check(Hs(1,...e))},lowercase(e){return this.check(TP(e))},uppercase(e){return this.check(IP(e))},trim(){return this.check(MP())},normalize(...e){return this.check(OP(...e))},toLowerCase(){return this.check(zP())},toUpperCase(){return this.check(LP())},slugify(){return this.check(DP())}})),EO=le("ZodString",(e,t)=>{Rd.init(e,t),ly.init(e,t)},{email(e){return this.check(wb(dy,e))},url(e){return this.check(kb(py,e))},jwt(e){return this.check(fP(qO,e))},emoji(e){return this.check(tP(CO,e))},guid(e){return this.check(Y_(SO,e))},uuid(e){return this.check(G_(rs,e))},uuidv4(e){return this.check(Q_(rs,e))},uuidv6(e){return this.check(X_(rs,e))},uuidv7(e){return this.check(eP(rs,e))},nanoid(e){return this.check(nP(NO,e))},cuid(e){return this.check(aP(RO,e))},cuid2(e){return this.check(rP(TO,e))},ulid(e){return this.check(oP(IO,e))},base64(e){return this.check(pP(LO,e))},base64url(e){return this.check(mP(DO,e))},xid(e){return this.check(iP(AO,e))},ksuid(e){return this.check(sP(_O,e))},ipv4(e){return this.check(lP(PO,e))},ipv6(e){return this.check(cP(OO,e))},cidrv4(e){return this.check(uP(MO,e))},cidrv6(e){return this.check(dP(zO,e))},e164(e){return this.check(hP(FO,e))},datetime(e){return this.check(xb(cy,e))},date(e){return this.check(Sb(uy,e))},time(e){return this.check(gP(wO,e))},duration(e){return this.check(vP(kO,e))}});function C(e){return K_(EO,e)}const nn=le("ZodStringFormat",(e,t)=>{Xt.init(e,t),ly.init(e,t)}),cy=le("ZodISODateTime",(e,t)=>{KA.init(e,t),nn.init(e,t)}),uy=le("ZodISODate",(e,t)=>{YA.init(e,t),nn.init(e,t)}),wO=le("ZodISOTime",(e,t)=>{GA.init(e,t),nn.init(e,t)}),kO=le("ZodISODuration",(e,t)=>{QA.init(e,t),nn.init(e,t)}),dy=le("ZodEmail",(e,t)=>{zA.init(e,t),nn.init(e,t)});function xO(e){return wb(dy,e)}const SO=le("ZodGUID",(e,t)=>{OA.init(e,t),nn.init(e,t)}),rs=le("ZodUUID",(e,t)=>{MA.init(e,t),nn.init(e,t)}),py=le("ZodURL",(e,t)=>{UA.init(e,t),nn.init(e,t)});function my(e){return kb(py,e)}const CO=le("ZodEmoji",(e,t)=>{$A.init(e,t),nn.init(e,t)}),NO=le("ZodNanoID",(e,t)=>{BA.init(e,t),nn.init(e,t)}),RO=le("ZodCUID",(e,t)=>{HA.init(e,t),nn.init(e,t)}),TO=le("ZodCUID2",(e,t)=>{VA.init(e,t),nn.init(e,t)}),IO=le("ZodULID",(e,t)=>{WA.init(e,t),nn.init(e,t)}),AO=le("ZodXID",(e,t)=>{ZA.init(e,t),nn.init(e,t)}),_O=le("ZodKSUID",(e,t)=>{JA.init(e,t),nn.init(e,t)}),PO=le("ZodIPv4",(e,t)=>{XA.init(e,t),nn.init(e,t)}),OO=le("ZodIPv6",(e,t)=>{t_.init(e,t),nn.init(e,t)}),MO=le("ZodCIDRv4",(e,t)=>{n_.init(e,t),nn.init(e,t)}),zO=le("ZodCIDRv6",(e,t)=>{r_.init(e,t),nn.init(e,t)}),LO=le("ZodBase64",(e,t)=>{o_.init(e,t),nn.init(e,t)}),DO=le("ZodBase64URL",(e,t)=>{s_.init(e,t),nn.init(e,t)}),FO=le("ZodE164",(e,t)=>{l_.init(e,t),nn.init(e,t)}),qO=le("ZodJWT",(e,t)=>{u_.init(e,t),nn.init(e,t)}),_d=le("ZodNumber",(e,t)=>{mb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>zb(e,a,r,o),e.isFinite=!0},eb({minValue:e=>{const{minimum:t,exclusiveMinimum:a}=ya(e);return Math.max(t??Number.NEGATIVE_INFINITY,a??Number.NEGATIVE_INFINITY)},maxValue:e=>{const{maximum:t,exclusiveMaximum:a}=ya(e);return Math.min(t??Number.POSITIVE_INFINITY,a??Number.POSITIVE_INFINITY)},isInt:e=>{const{isInt:t,multipleOf:a}=ya(e);return!!t||!!(a!=null&&a.some(Number.isSafeInteger))},format:e=>ya(e).format??null},{gt(e,t){return this.check(Kh(e,t))},gte(e,t){return this.check(bc(e,t))},min(e,t){return this.check(bc(e,t))},lt(e,t){return this.check(Jh(e,t))},lte(e,t){return this.check(vc(e,t))},max(e,t){return this.check(vc(e,t))},int(e){return this.check(sf(e))},safe(e){return this.check(sf(e))},positive(e){return this.check(Kh(0,e))},nonnegative(e){return this.check(bc(0,e))},negative(e){return this.check(Jh(0,e))},nonpositive(e){return this.check(vc(0,e))},multipleOf(e,t){return this.check(Yh(e,t))},step(e,t){return this.check(Yh(e,t))},finite(){return this}}));function fe(e){return bP(_d,e)}const jO=le("ZodNumberFormat",(e,t)=>{d_.init(e,t),_d.init(e,t)});function sf(e){return EP(jO,e)}const UO=le("ZodBoolean",(e,t)=>{p_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Lb(e,a,r)});function Ae(e){return wP(UO,e)}const $O=le("ZodUndefined",(e,t)=>{m_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Fb(e,a,r,o)});function fu(e){return kP($O,e)}const BO=le("ZodNull",(e,t)=>{h_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Db(e,a,r)});function Si(e){return xP(BO,e)}const HO=le("ZodAny",(e,t)=>{f_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>jb()});function Pd(){return SP(HO)}const VO=le("ZodUnknown",(e,t)=>{g_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ub()});function He(){return CP(VO)}const WO=le("ZodNever",(e,t)=>{v_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>qb(e,a,r)});function gu(e){return NP(WO,e)}const ZO=le("ZodArray",(e,t)=>{vl(),b_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Wb(e,a,r,o),e.element=t.element},{min(e,t){return this.check(Hs(e,t))},nonempty(e){return this.check(Hs(1,e))},max(e,t){return this.check(Cb(e,t))},length(e,t){return this.check(Nb(e,t))},unwrap(){return this.element}});function re(e,t){return FP(ZO,e,t)}const hy=le("ZodObject",(e,t)=>{vl(),w_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Zb(e,a,r,o),f2(e,"shape",a=>a._zod.def.shape,!1)},{keyof(){return dt(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(va(this._zod.def,{catchall:e}))},passthrough(){return this.clone(va(this._zod.def,{catchall:He()}))},loose(){return this.clone(va(this._zod.def,{catchall:He()}))},strict(){return this.clone(va(this._zod.def,{catchall:gu()}))},strip(){return this.clone(va(this._zod.def,{catchall:void 0}))},extend(e){return o2(this,e)},safeExtend(e){return i2(this,e)},merge(e){return s2(this,e)},pick(e){return a2(this,e)},omit(e){return r2(this,e)},partial(...e){return Ah(vy,this,e[0])},exactPartial(...e){return Ah(by,this,e[0],"exactPartial")},required(...e){return l2(yy,this,e[0])}});function $(e,t){const a={type:"object",shape:e??{},...Ve(t)};return new hy(a)}function et(e,t){return new hy({type:"object",shape:e,catchall:He(),...Ve(t)})}const fy=le("ZodUnion",(e,t)=>{gb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Jb(e,a,r,o),e.options=t.options});function Te(e,t){return new fy({type:"union",options:e,...Ve(t)})}const JO=le("ZodDiscriminatedUnion",(e,t)=>{fy.init(e,t),x_.init(e,t)});function Ks(e,t,a){return new JO({type:"union",options:t,discriminator:e,...Ve(a)})}const KO=le("ZodIntersection",(e,t)=>{S_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Kb(e,a,r,o)});function $r(e,t){return new KO({type:"intersection",left:e,right:t})}const lf=le("ZodRecord",(e,t)=>{vl(),C_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Yb(e,a,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Re(e,t,a){return!t||!t._zod?new lf({type:"record",keyType:C(),valueType:e,...Ve(t)}):new lf({type:"record",keyType:e,valueType:t,...Ve(a)})}const vu=le("ZodEnum",(e,t)=>{N_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(r,o,i)=>$b(e,r,o),e.enum=t.entries,e.options=[...e._zod.values];const a=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const s of r)if(a.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new vu({...t,checks:[],...Ve(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const s of r)if(a.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new vu({...t,checks:[],...Ve(o),entries:i})}});function dt(e,t){const a=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new vu({type:"enum",entries:a,...Ve(t)})}const YO=le("ZodLiteral",(e,t)=>{R_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Bb(e,a,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function J(e,t){return new YO({type:"literal",values:Array.isArray(e)?e:[e],...Ve(t)})}const GO=le("ZodTransform",(e,t)=>{vl(),T_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Vb(e,a,r,o),e._zod.parse=(a,r)=>{if(r.direction==="backward")throw new tb(e.constructor.name);a.addIssue=i=>{if(typeof i=="string")a.issues.push(xi(i,a.value,t));else{const s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=a.value),s.inst??(s.inst=e),a.issues.push(xi(s))}};const o=t.transform(a.value,a);return o instanceof Promise?o.then(i=>(a.value=i,a)):(a.value=o,a)}});function gy(e){return new GO({type:"transform",transform:e})}const vy=le("ZodOptional",(e,t)=>{vb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ad(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function Je(e){return new vy({type:"optional",innerType:e})}const by=le("ZodExactOptional",(e,t)=>{I_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ad(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function QO(e){return new by({type:"optional",innerType:e})}const XO=le("ZodNullable",(e,t)=>{A_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Gb(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function cf(e){return new XO({type:"nullable",innerType:e})}const eM=le("ZodDefault",(e,t)=>{__.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ey(e,a,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function tM(e,t){return new eM({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Kv(t)}})}const nM=le("ZodPrefault",(e,t)=>{P_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ty(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function aM(e,t){return new nM({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Kv(t)}})}const yy=le("ZodNonOptional",(e,t)=>{O_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Qb(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function rM(e,t){return new yy({type:"nonoptional",innerType:e,...Ve(t)})}const oM=le("ZodCatch",(e,t)=>{M_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ny(e,a,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function iM(e,t){return new oM({type:"catch",innerType:e,catchValue:typeof t=="function"?t:v2(t)})}const Ey=le("ZodPipe",(e,t)=>{bb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ay(e,a,r,o),e.in=t.in,e.out=t.out});function uf(e,t){return new Ey({type:"pipe",in:e,out:t})}const sM=le("ZodPreprocess",(e,t)=>{Ey.init(e,t),z_.init(e,t)}),lM=le("ZodReadonly",(e,t)=>{L_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ry(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function cM(e){return new lM({type:"readonly",innerType:e})}const uM=le("ZodLazy",(e,t)=>{D_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>oy(e,a,r,o),e.unwrap=()=>e._zod.def.getter()});function Od(e){return new uM({type:"lazy",getter:e})}const dM=le("ZodCustom",(e,t)=>{F_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Hb(e,a,r,o)});function pM(e,t={}){return qP(dM,e,t)}function mM(e,t){return jP(e,t)}function Ci(e,t){return new sM({type:"pipe",in:gy(e),out:t})}const hM={custom:"custom"};function bl(e){return xb(cy,e)}function fM(e){return Sb(uy,e)}function gM(e){return yP(_d,e)}const vM="2025-11-25",bM=[vM,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],yM="io.modelcontextprotocol/related-task",yl="io.modelcontextprotocol/protocolVersion",Md="io.modelcontextprotocol/clientInfo",gi="io.modelcontextprotocol/serverInfo",El="io.modelcontextprotocol/clientCapabilities",EM="io.modelcontextprotocol/subscriptionId",zd="io.modelcontextprotocol/logLevel",wl="2.0",xo=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),xo),re(xo)])),mn=Re(C(),xo),wM=re(xo),Ld=Te([C(),fe().int()]),Dd=C(),wy=$({ttl:fe().optional()}),ky=$({taskId:C()}),Fd=et({progressToken:Ld.optional(),[yM]:ky.optional()}),Jn=$({_meta:Fd.optional()}),Hi=Jn.extend({task:wy.optional()}),fn=$({method:C(),params:Jn.loose().optional()}),sa=$({_meta:Fd.optional()}),la=$({method:C(),params:sa.loose().optional()}),qd=et({get[gi](){return Po.optional().catch(void 0)}}),gn=et({_meta:qd.optional()}),Wr=Te([C(),fe().int()]),jd=$({jsonrpc:J(wl),id:Wr,...fn.shape}).strict(),Ud=$({jsonrpc:J(wl),...la.shape}).strict(),kl=$({jsonrpc:J(wl),id:Wr,result:gn}).strict(),xl=$({jsonrpc:J(wl),id:Wr.optional(),error:$({code:fe().int(),message:C(),data:He().optional()})}).strict(),xy=Te([jd,Ud,kl,xl]),kM=Te([kl,xl]),Sl=gn.strict(),Sy=sa.extend({requestId:Wr.optional(),reason:C().optional()}),$d=la.extend({method:J("notifications/cancelled"),params:Sy}),Cy=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),_o=$({icons:re(Cy).optional()}),Br=$({name:C(),title:C().optional()}),Po=Br.extend({...Br.shape,..._o.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),xM=$r($({applyDefaults:Ae().optional()}),mn),SM=Ci(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,$r($({form:xM.optional(),url:mn.optional()}),mn.optional())),Ny=et({list:mn.optional(),cancel:mn.optional(),requests:et({sampling:et({createMessage:mn.optional()}).optional(),elicitation:et({create:mn.optional()}).optional()}).optional()}),Ry=et({list:mn.optional(),cancel:mn.optional(),requests:et({tools:et({call:mn.optional()}).optional()}).optional()}),Ty=$({experimental:Re(C(),mn).optional(),sampling:$({context:mn.optional(),tools:mn.optional()}).optional(),elicitation:SM.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:Ny.optional(),extensions:Re(C(),mn).optional()}),Iy=Jn.extend({protocolVersion:C(),capabilities:Ty,clientInfo:Po}),Ay=fn.extend({method:J("initialize"),params:Iy}),Bd=$({experimental:Re(C(),mn).optional(),logging:mn.optional(),completions:mn.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:Ry.optional(),extensions:Re(C(),mn).optional()}),_y=gn.extend({protocolVersion:C(),capabilities:Bd,serverInfo:Po,instructions:C().optional()}),Py=la.extend({method:J("notifications/initialized"),params:sa.optional()}),Oy=fn.extend({method:J("server/discover"),params:Jn.optional()}),My=gn.extend({supportedVersions:re(C()),capabilities:Bd,instructions:C().optional()}),Hd=fn.extend({method:J("ping"),params:Jn.optional()}),zy=$({progress:fe(),total:Je(fe()),message:Je(C())}),Ly=$({...sa.shape,...zy.shape,progressToken:Ld}),Vd=la.extend({method:J("notifications/progress"),params:Ly}),Dy=Jn.extend({cursor:Dd.optional()}),Oo=fn.extend({params:Dy.optional()}),Mo=gn.extend({nextCursor:Dd.optional()}),Wd=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),Zd=Wd.extend({text:C()}),Jd=C().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Kd=Wd.extend({blob:Jd}),zo=dt(["user","assistant"]),Zr=$({audience:re(zo).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),Yd=$({...Br.shape,..._o.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:Zr.optional(),_meta:Je(et({}))}),Fy=$({...Br.shape,..._o.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:Zr.optional(),_meta:Je(et({}))}),qy=Oo.extend({method:J("resources/list")}),jy=Mo.extend({resources:re(Yd)}),Uy=Oo.extend({method:J("resources/templates/list")}),$y=Mo.extend({resourceTemplates:re(Fy)}),Cl=Jn.extend({uri:C()}),By=Cl,Hy=fn.extend({method:J("resources/read"),params:By}),Vy=gn.extend({contents:re(Te([Zd,Kd]))}),Wy=la.extend({method:J("notifications/resources/list_changed"),params:sa.optional()}),Zy=Cl,Jy=fn.extend({method:J("resources/subscribe"),params:Zy}),Ky=Cl,Yy=fn.extend({method:J("resources/unsubscribe"),params:Ky}),Gd=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:re(C()).optional()}),Gy=Jn.extend({notifications:Gd}),Qy=fn.extend({method:J("subscriptions/listen"),params:Gy}),Xy=sa.extend({notifications:Gd}),eE=la.extend({method:J("notifications/subscriptions/acknowledged"),params:Xy}),tE=qd.extend({[EM]:Wr}),nE=gn.extend({_meta:tE}),aE=sa.extend({uri:C()}),rE=la.extend({method:J("notifications/resources/updated"),params:aE}),oE=$({name:C(),description:Je(C()),required:Je(Ae())}),iE=$({...Br.shape,..._o.shape,description:Je(C()),arguments:Je(re(oE)),_meta:Je(et({}))}),sE=Oo.extend({method:J("prompts/list")}),lE=Mo.extend({prompts:re(iE)}),cE=Jn.extend({name:C(),arguments:Re(C(),C()).optional()}),uE=fn.extend({method:J("prompts/get"),params:cE}),Nl=$({type:J("text"),text:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Rl=$({type:J("image"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Tl=$({type:J("audio"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),dE=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),Qd=$({type:J("resource"),resource:Te([Zd,Kd]),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Xd=Yd.extend({type:J("resource_link")}),Lo=Te([Nl,Rl,Tl,Xd,Qd]),pE=$({role:zo,content:Lo}),mE=gn.extend({description:C().optional(),messages:re(pE)}),hE=la.extend({method:J("notifications/prompts/list_changed"),params:sa.optional()}),fE=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),gE=$({taskSupport:dt(["required","optional","forbidden"]).optional()}),Il=$({...Br.shape,..._o.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),xo).optional(),required:re(C()).optional()}).catchall(He()),outputSchema:et({$schema:C().optional()}).optional(),annotations:fE.optional(),execution:gE.optional(),_meta:Re(C(),He()).optional()}),vE=Oo.extend({method:J("tools/list")}),bE=Mo.extend({tools:re(Il)}),Al=gn.extend({content:re(Lo).default([]),structuredContent:He().optional(),isError:Ae().optional()}),CM=Al.or(gn.extend({toolResult:He()})),yE=Hi.extend({name:C(),arguments:Re(C(),He()).optional()}),EE=fn.extend({method:J("tools/call"),params:yE}),wE=la.extend({method:J("notifications/tools/list_changed"),params:sa.optional()}),NM=$({autoRefresh:Ae().default(!0),debounceMs:fe().int().nonnegative().default(300)}),ep=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),kE=Jn.extend({level:ep}),xE=fn.extend({method:J("logging/setLevel"),params:kE}),SE=sa.extend({level:ep,logger:C().optional(),data:He()}),tp=la.extend({method:J("notifications/message"),params:SE}),CE=$({name:C().optional()}),NE=$({hints:re(CE).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),RE=$({mode:dt(["auto","required","none"]).optional()}),TE=$({type:J("tool_result"),toolUseId:C().describe("The unique identifier for the corresponding tool call."),content:re(Lo),structuredContent:He().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),IE=Ks("type",[Nl,Rl,Tl]),Ni=Ks("type",[Nl,Rl,Tl,dE,TE]),AE=$({role:zo,content:Te([Ni,re(Ni)]),_meta:Re(C(),He()).optional()}),_E=Hi.extend({messages:re(AE),modelPreferences:NE.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:mn.optional(),tools:re(Il).optional(),toolChoice:RE.optional()}),PE=fn.extend({method:J("sampling/createMessage"),params:_E}),OE=gn.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:zo,content:IE}),ME=gn.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:zo,content:Te([Ni,re(Ni)])}),np=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),_l=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),Ys=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),ap=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),rp=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),op=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),zE=Te([ap,rp]),ip=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),sp=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),LE=Te([ip,sp]),DE=Te([op,zE,LE]),lp=Te([DE,np,_l,Ys]),Pl=Hi.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),lp),required:re(C()).optional()}).catchall(He())}),FE=Hi.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),qE=Te([Pl,FE]),jE=fn.extend({method:J("elicitation/create"),params:qE}),UE=sa.extend({elicitationId:C()}),$E=la.extend({method:J("notifications/elicitation/complete"),params:UE}),BE=gn.extend({action:dt(["accept","decline","cancel"]),content:Ci(e=>e===null?void 0:e,Re(C(),Te([C(),fe(),Ae(),re(C())])).optional())}),HE=$({type:J("ref/resource"),uri:C()}),VE=$({type:J("ref/prompt"),name:C()}),WE=Jn.extend({ref:Te([VE,HE]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()}),ZE=fn.extend({method:J("completion/complete"),params:WE}),JE=gn.extend({completion:et({values:re(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),KE=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),YE=fn.extend({method:J("roots/list"),params:Jn.optional()}),GE=gn.extend({roots:re(KE)}),QE=la.extend({method:J("notifications/roots/list_changed"),params:sa.optional()}),RM=et({ttl:fe().optional(),pollInterval:fe().optional()}),XE=dt(["working","input_required","completed","failed","cancelled"]),Do=$({taskId:C(),status:XE,ttl:Te([fe(),Si()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),TM=gn.extend({task:Do}),ew=sa.merge(Do),IM=la.extend({method:J("notifications/tasks/status"),params:ew}),AM=fn.extend({method:J("tasks/get"),params:Jn.extend({taskId:C()})}),_M=gn.merge(Do),PM=fn.extend({method:J("tasks/result"),params:Jn.extend({taskId:C()})}),OM=gn.loose(),MM=Oo.extend({method:J("tasks/list")}),zM=Mo.extend({tasks:re(Do)}),LM=fn.extend({method:J("tasks/cancel"),params:Jn.extend({taskId:C()})}),DM=gn.merge(Do),FM=Te([Hd,Ay,Oy,ZE,xE,uE,sE,qy,Uy,Hy,Jy,Yy,Qy,EE,vE]),qM=Te([$d,Vd,Py,QE]),jM=Te([Sl,OE,ME,BE,GE]),UM=Te([Hd,PE,jE,YE]),$M=Te([$d,Vd,tp,rE,Wy,wE,hE,eE,$E]),BM=Te([Sl,_y,My,JE,mE,lE,jy,$y,Vy,Al,bE,nE]),jn=my().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:hM.custom,message:"URL must be parseable",fatal:!0}),b2}).refine(e=>{const t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),HM=et({resource:C().url(),authorization_servers:re(jn).optional(),jwks_uri:C().url().optional(),scopes_supported:re(C()).optional(),bearer_methods_supported:re(C()).optional(),resource_signing_alg_values_supported:re(C()).optional(),resource_name:C().optional(),resource_documentation:C().optional(),resource_policy_uri:C().url().optional(),resource_tos_uri:C().url().optional(),tls_client_certificate_bound_access_tokens:Ae().optional(),authorization_details_types_supported:re(C()).optional(),dpop_signing_alg_values_supported:re(C()).optional(),dpop_bound_access_tokens_required:Ae().optional()}),tw=et({issuer:C(),authorization_endpoint:jn,token_endpoint:jn,registration_endpoint:jn.optional(),scopes_supported:re(C()).optional(),response_types_supported:re(C()),response_modes_supported:re(C()).optional(),grant_types_supported:re(C()).optional(),token_endpoint_auth_methods_supported:re(C()).optional(),token_endpoint_auth_signing_alg_values_supported:re(C()).optional(),service_documentation:jn.optional(),revocation_endpoint:jn.optional(),revocation_endpoint_auth_methods_supported:re(C()).optional(),revocation_endpoint_auth_signing_alg_values_supported:re(C()).optional(),introspection_endpoint:C().optional(),introspection_endpoint_auth_methods_supported:re(C()).optional(),introspection_endpoint_auth_signing_alg_values_supported:re(C()).optional(),code_challenge_methods_supported:re(C()).optional(),client_id_metadata_document_supported:Ae().optional(),authorization_response_iss_parameter_supported:Ae().optional().catch(void 0)}),nw=et({issuer:C(),authorization_endpoint:jn,token_endpoint:jn,userinfo_endpoint:jn.optional(),jwks_uri:jn,registration_endpoint:jn.optional(),scopes_supported:re(C()).optional(),response_types_supported:re(C()),response_modes_supported:re(C()).optional(),grant_types_supported:re(C()).optional(),acr_values_supported:re(C()).optional(),subject_types_supported:re(C()),id_token_signing_alg_values_supported:re(C()),id_token_encryption_alg_values_supported:re(C()).optional(),id_token_encryption_enc_values_supported:re(C()).optional(),userinfo_signing_alg_values_supported:re(C()).optional(),userinfo_encryption_alg_values_supported:re(C()).optional(),userinfo_encryption_enc_values_supported:re(C()).optional(),request_object_signing_alg_values_supported:re(C()).optional(),request_object_encryption_alg_values_supported:re(C()).optional(),request_object_encryption_enc_values_supported:re(C()).optional(),token_endpoint_auth_methods_supported:re(C()).optional(),token_endpoint_auth_signing_alg_values_supported:re(C()).optional(),display_values_supported:re(C()).optional(),claim_types_supported:re(C()).optional(),claims_supported:re(C()).optional(),service_documentation:C().optional(),claims_locales_supported:re(C()).optional(),ui_locales_supported:re(C()).optional(),claims_parameter_supported:Ae().optional(),request_parameter_supported:Ae().optional(),request_uri_parameter_supported:Ae().optional(),require_request_uri_registration:Ae().optional(),op_policy_uri:jn.optional(),op_tos_uri:jn.optional(),client_id_metadata_document_supported:Ae().optional(),authorization_response_iss_parameter_supported:Ae().optional().catch(void 0)}),VM=$({...nw.shape,...tw.pick({code_challenge_methods_supported:!0}).shape}),WM=$({access_token:C(),id_token:C().optional(),token_type:C(),expires_in:gM().optional(),scope:C().optional(),refresh_token:C().optional()}).strip(),ZM=$({issued_token_type:J("urn:ietf:params:oauth:token-type:id-jag"),access_token:C(),token_type:C().optional(),expires_in:fe().optional(),scope:C().optional()}).strip(),JM=$({error:C(),error_description:C().optional(),error_uri:C().optional()}),df=jn.optional().or(J("").transform(()=>{})),aw=$({redirect_uris:re(jn),token_endpoint_auth_method:C().optional(),grant_types:re(C()).optional(),response_types:re(C()).optional(),application_type:C().optional(),client_name:C().optional(),client_uri:jn.optional(),logo_uri:df,scope:C().optional(),contacts:re(C()).optional(),tos_uri:df,policy_uri:C().optional(),jwks_uri:jn.optional(),jwks:Pd().optional(),software_id:C().optional(),software_version:C().optional(),software_statement:C().optional()}).strip(),rw=$({client_id:C(),client_secret:C().optional(),client_id_issued_at:fe().optional(),client_secret_expires_at:fe().optional()}).strip(),KM=aw.merge(rw),YM=$({error:C(),error_description:C().optional()}).strip(),GM=$({token:C(),token_type_hint:C().optional()}).strip(),bu=Symbol.for("mcp.sdk.errorBrands");function ow(e,t){const a=new Set;let r=t;for(;typeof r=="function";){const o=r.mcpBrand;Object.prototype.hasOwnProperty.call(r,"mcpBrand")&&typeof o=="string"&&a.add(o),r=Object.getPrototypeOf(r)}a.size!==0&&Object.defineProperty(e,bu,{value:a,enumerable:!1,configurable:!0})}function Gs(e,t){try{if(typeof t=="object"&&t!==null&&Object.prototype.hasOwnProperty.call(e,"mcpBrand")&&typeof e.mcpBrand=="string"&&Object.prototype.hasOwnProperty.call(t,bu)){const a=t[bu];if(a&&typeof a.has=="function"&&a.has(e.mcpBrand))return!0}}catch{}return Function.prototype[Symbol.hasInstance].call(e,t)}let Hn=(function(e){return e.NotConnected="NOT_CONNECTED",e.AlreadyConnected="ALREADY_CONNECTED",e.NotInitialized="NOT_INITIALIZED",e.CapabilityNotSupported="CAPABILITY_NOT_SUPPORTED",e.RequestTimeout="REQUEST_TIMEOUT",e.ConnectionClosed="CONNECTION_CLOSED",e.SendFailed="SEND_FAILED",e.InvalidResult="INVALID_RESULT",e.UnsupportedResultType="UNSUPPORTED_RESULT_TYPE",e.InputRequiredRoundsExceeded="INPUT_REQUIRED_ROUNDS_EXCEEDED",e.ListPaginationExceeded="LIST_PAGINATION_EXCEEDED",e.MethodNotSupportedByProtocolVersion="METHOD_NOT_SUPPORTED_BY_PROTOCOL_VERSION",e.EraNegotiationFailed="ERA_NEGOTIATION_FAILED",e.ClientHttpNotImplemented="CLIENT_HTTP_NOT_IMPLEMENTED",e.ClientHttpAuthentication="CLIENT_HTTP_AUTHENTICATION",e.ClientHttpForbidden="CLIENT_HTTP_FORBIDDEN",e.ClientHttpUnexpectedContent="CLIENT_HTTP_UNEXPECTED_CONTENT",e.ClientHttpFailedToOpenStream="CLIENT_HTTP_FAILED_TO_OPEN_STREAM",e.ClientHttpFailedToTerminateSession="CLIENT_HTTP_FAILED_TO_TERMINATE_SESSION",e})({});var io,Pn=(io=class extends Error{static[Symbol.hasInstance](t){return Gs(this,t)}static isInstance(t){if(typeof this!="function")throw new TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return Gs(this,t)}constructor(t,a,r){super(a),this.code=t,this.data=r,this.name="SdkError",ow(this,new.target)}},Object.defineProperty(io,"mcpBrand",{value:"mcp.SdkError"}),io);const QM="2026-07-28";function XM(e){return e>=QM}function iw(e){var a;const t=e.structuredContent;return t===void 0||!(typeof t!="object"||t===null||Array.isArray(t))||(((a=e.content)==null?void 0:a.some(r=>r.type==="text"))??!1)?e:{...e,content:[...e.content??[],{type:"text",text:JSON.stringify(t)}]}}const sw=["task","inputRequests","requestState"];function e4(e){return e===null||typeof e!="object"||Array.isArray(e)||e.content!==void 0||sw.some(t=>t in e)?e:{...e,content:[]}}function t4(){const e=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),e),re(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),o=$({ttl:fe().optional()}),i=$({taskId:C()}),s=et({progressToken:a.optional(),"io.modelcontextprotocol/related-task":i.optional()}),l=$({_meta:s.optional()}),c=l.extend({task:o.optional()}),u=$({method:C(),params:l.loose().optional()}),d=$({_meta:s.optional()}),p=$({method:C(),params:d.loose().optional()}),m=et({_meta:s.optional()}),h=Te([C(),fe().int()]),f=m.strict(),v=d.extend({requestId:h.optional(),reason:C().optional()}),y=p.extend({method:J("notifications/cancelled"),params:v}),E=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),b=$({icons:re(E).optional()}),x=$({name:C(),title:C().optional()}),w=x.extend({...x.shape,...b.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),R=$r($({applyDefaults:Ae().optional()}),t),S=Ci(te=>te&&typeof te=="object"&&!Array.isArray(te)&&Object.keys(te).length===0?{form:{}}:te,$r($({form:R.optional(),url:t.optional()}),t.optional())),I=et({list:t.optional(),cancel:t.optional(),requests:et({sampling:et({createMessage:t.optional()}).optional(),elicitation:et({create:t.optional()}).optional()}).optional()}),N=et({list:t.optional(),cancel:t.optional(),requests:et({tools:et({call:t.optional()}).optional()}).optional()}),M=$({experimental:Re(C(),t).optional(),sampling:$({context:t.optional(),tools:t.optional()}).optional(),elicitation:S.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:I.optional(),extensions:Re(C(),t).optional()}),k=l.extend({protocolVersion:C(),capabilities:M,clientInfo:w}),T=u.extend({method:J("initialize"),params:k}),A=$({experimental:Re(C(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:N.optional(),extensions:Re(C(),t).optional()}),q=m.extend({protocolVersion:C(),capabilities:A,serverInfo:w,instructions:C().optional()}),z=p.extend({method:J("notifications/initialized"),params:d.optional()}),F=u.extend({method:J("ping"),params:l.optional()}),H=$({progress:fe(),total:Je(fe()),message:Je(C())}),ne=$({...d.shape,...H.shape,progressToken:a}),B=p.extend({method:J("notifications/progress"),params:ne}),P=l.extend({cursor:r.optional()}),_=u.extend({params:P.optional()}),ee=m.extend({nextCursor:r.optional()}),Z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),D=Z.extend({text:C()}),G=C().refine(te=>{try{return atob(te),!0}catch{return!1}},{message:"Invalid Base64 string"}),j=Z.extend({blob:G}),K=dt(["user","assistant"]),oe=$({audience:re(K).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),xe=$({...x.shape,...b.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:oe.optional(),_meta:Je(et({}))}),ce=$({...x.shape,...b.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:oe.optional(),_meta:Je(et({}))}),_e=_.extend({method:J("resources/list")}),$e=ee.extend({resources:re(xe)}),De=_.extend({method:J("resources/templates/list")}),de=ee.extend({resourceTemplates:re(ce)}),ve=l.extend({uri:C()}),O=ve,W=u.extend({method:J("resources/read"),params:O}),ae=m.extend({contents:re(Te([D,j]))}),ze=p.extend({method:J("notifications/resources/list_changed"),params:d.optional()}),Me=ve,be=u.extend({method:J("resources/subscribe"),params:Me}),rt=ve,wt=u.extend({method:J("resources/unsubscribe"),params:rt}),Dt=d.extend({uri:C()}),It=p.extend({method:J("notifications/resources/updated"),params:Dt}),Qt=$({name:C(),description:Je(C()),required:Je(Ae())}),ie=$({...x.shape,...b.shape,description:Je(C()),arguments:Je(re(Qt)),_meta:Je(et({}))}),he=_.extend({method:J("prompts/list")}),Ne=ee.extend({prompts:re(ie)}),Le=l.extend({name:C(),arguments:Re(C(),C()).optional()}),Ge=u.extend({method:J("prompts/get"),params:Le}),ft=$({type:J("text"),text:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),vt=$({type:J("image"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),gt=$({type:J("audio"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),Se=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),X=$({type:J("resource"),resource:Te([D,j]),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),Ce=xe.extend({type:J("resource_link")}),Fe=Te([ft,vt,gt,Ce,X]),We=$({role:K,content:Fe}),tt=m.extend({description:C().optional(),messages:re(We)}),yt=p.extend({method:J("notifications/prompts/list_changed"),params:d.optional()}),se=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),Qe=$({taskSupport:dt(["required","optional","forbidden"]).optional()}),ot=$({...x.shape,...b.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:re(C()).optional()}).catchall(He()),outputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:re(C()).optional()}).catchall(He()).optional(),annotations:se.optional(),execution:Qe.optional(),_meta:Re(C(),He()).optional()}),bt=_.extend({method:J("tools/list")}),ut=ee.extend({tools:re(ot)}),Mt=m.extend({content:re(Fe),structuredContent:Re(C(),He()).optional(),isError:Ae().optional()}),St=c.extend({name:C(),arguments:Re(C(),He()).optional()}),jt=u.extend({method:J("tools/call"),params:St}),st=p.extend({method:J("notifications/tools/list_changed"),params:d.optional()}),lt=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),Ze=l.extend({level:lt}),Ot=u.extend({method:J("logging/setLevel"),params:Ze}),en=d.extend({level:lt,logger:C().optional(),data:He()}),vn=p.extend({method:J("notifications/message"),params:en}),Rn=$({name:C().optional()}),bn=$({hints:re(Rn).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),Ln=$({mode:dt(["auto","required","none"]).optional()}),Kn=$({type:J("tool_result"),toolUseId:C().describe("The unique identifier for the corresponding tool call."),content:re(Fe),structuredContent:$({}).loose().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),Tn=Ks("type",[ft,vt,gt]),ge=Ks("type",[ft,vt,gt,Se,Kn]),Ke=$({role:K,content:Te([ge,re(ge)]),_meta:Re(C(),He()).optional()}),Ue=c.extend({messages:re(Ke),modelPreferences:bn.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:t.optional(),tools:re(ot).optional(),toolChoice:Ln.optional()}),nt=u.extend({method:J("sampling/createMessage"),params:Ue}),ye=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:K,content:Tn}),At=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:K,content:Te([ge,re(ge)])}),an=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),Zt=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),Q=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),rn=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),ca=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),Sa=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),Dn=Te([rn,ca]),yn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),dn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),In=Te([yn,dn]),on=Te([Sa,Dn,In]),mt=Te([on,an,Zt,Q]),ht=c.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),mt),required:re(C()).optional()}).catchall(He())}),V=c.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),we=Te([ht,V]),Xe=u.extend({method:J("elicitation/create"),params:we}),Ft=d.extend({elicitationId:C()}),En=p.extend({method:J("notifications/elicitation/complete"),params:Ft}),sn=m.extend({action:dt(["accept","decline","cancel"]),content:Ci(te=>te===null?void 0:te,Re(C(),Te([C(),fe(),Ae(),re(C())])).optional())}),Ca=$({type:J("ref/resource"),uri:C()}),Na=$({type:J("ref/prompt"),name:C()}),ua=l.extend({ref:Te([Na,Ca]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()}),wn=u.extend({method:J("completion/complete"),params:ua}),Xn=m.extend({completion:et({values:re(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),kn=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),da=u.extend({method:J("roots/list"),params:l.optional()}),ea=m.extend({roots:re(kn)}),Ga=p.extend({method:J("notifications/roots/list_changed"),params:d.optional()}),Qa=et({ttl:fe().optional(),pollInterval:fe().optional()}),Xa=dt(["working","input_required","completed","failed","cancelled"]),ta=$({taskId:C(),status:Xa,ttl:Te([fe(),Si()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),xn=m.extend({task:ta}),or=d.merge(ta),pa=p.extend({method:J("notifications/tasks/status"),params:or}),Ra=u.extend({method:J("tasks/get"),params:l.extend({taskId:C()})}),ln=m.merge(ta),Yn=u.extend({method:J("tasks/result"),params:l.extend({taskId:C()})}),Ua=m.loose(),cn=_.extend({method:J("tasks/list")}),me=ee.extend({tasks:re(ta)}),U=u.extend({method:J("tasks/cancel"),params:l.extend({taskId:C()})});return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:a,CursorSchema:r,TaskMetadataSchema:o,RelatedTaskMetadataSchema:i,RequestMetaSchema:s,BaseRequestParamsSchema:l,TaskAugmentedRequestParamsSchema:c,RequestSchema:u,NotificationsParamsSchema:d,NotificationSchema:p,ResultSchema:m,RequestIdSchema:h,EmptyResultSchema:f,CancelledNotificationParamsSchema:v,CancelledNotificationSchema:y,IconSchema:E,IconsSchema:b,BaseMetadataSchema:x,ImplementationSchema:w,ClientTasksCapabilitySchema:I,ServerTasksCapabilitySchema:N,ClientCapabilitiesSchema:M,InitializeRequestParamsSchema:k,InitializeRequestSchema:T,ServerCapabilitiesSchema:A,InitializeResultSchema:q,InitializedNotificationSchema:z,PingRequestSchema:F,ProgressSchema:H,ProgressNotificationParamsSchema:ne,ProgressNotificationSchema:B,PaginatedRequestParamsSchema:P,PaginatedRequestSchema:_,PaginatedResultSchema:ee,ResourceContentsSchema:Z,TextResourceContentsSchema:D,BlobResourceContentsSchema:j,RoleSchema:K,AnnotationsSchema:oe,ResourceSchema:xe,ResourceTemplateSchema:ce,ListResourcesRequestSchema:_e,ListResourcesResultSchema:$e,ListResourceTemplatesRequestSchema:De,ListResourceTemplatesResultSchema:de,ResourceRequestParamsSchema:ve,ReadResourceRequestParamsSchema:O,ReadResourceRequestSchema:W,ReadResourceResultSchema:ae,ResourceListChangedNotificationSchema:ze,SubscribeRequestParamsSchema:Me,SubscribeRequestSchema:be,UnsubscribeRequestParamsSchema:rt,UnsubscribeRequestSchema:wt,ResourceUpdatedNotificationParamsSchema:Dt,ResourceUpdatedNotificationSchema:It,PromptArgumentSchema:Qt,PromptSchema:ie,ListPromptsRequestSchema:he,ListPromptsResultSchema:Ne,GetPromptRequestParamsSchema:Le,GetPromptRequestSchema:Ge,TextContentSchema:ft,ImageContentSchema:vt,AudioContentSchema:gt,ToolUseContentSchema:Se,EmbeddedResourceSchema:X,ResourceLinkSchema:Ce,ContentBlockSchema:Fe,PromptMessageSchema:We,GetPromptResultSchema:tt,PromptListChangedNotificationSchema:yt,ToolAnnotationsSchema:se,ToolExecutionSchema:Qe,ToolSchema:ot,ListToolsRequestSchema:bt,ListToolsResultSchema:ut,CallToolResultSchema:Mt,CallToolRequestParamsSchema:St,CallToolRequestSchema:jt,ToolListChangedNotificationSchema:st,LoggingLevelSchema:lt,SetLevelRequestParamsSchema:Ze,SetLevelRequestSchema:Ot,LoggingMessageNotificationParamsSchema:en,LoggingMessageNotificationSchema:vn,ModelHintSchema:Rn,ModelPreferencesSchema:bn,ToolChoiceSchema:Ln,ToolResultContentSchema:Kn,SamplingContentSchema:Tn,SamplingMessageContentBlockSchema:ge,SamplingMessageSchema:Ke,CreateMessageRequestParamsSchema:Ue,CreateMessageRequestSchema:nt,CreateMessageResultSchema:ye,CreateMessageResultWithToolsSchema:At,BooleanSchemaSchema:an,StringSchemaSchema:Zt,NumberSchemaSchema:Q,UntitledSingleSelectEnumSchemaSchema:rn,TitledSingleSelectEnumSchemaSchema:ca,LegacyTitledEnumSchemaSchema:Sa,SingleSelectEnumSchemaSchema:Dn,UntitledMultiSelectEnumSchemaSchema:yn,TitledMultiSelectEnumSchemaSchema:dn,MultiSelectEnumSchemaSchema:In,EnumSchemaSchema:on,PrimitiveSchemaDefinitionSchema:mt,ElicitRequestFormParamsSchema:ht,ElicitRequestURLParamsSchema:V,ElicitRequestParamsSchema:we,ElicitRequestSchema:Xe,ElicitationCompleteNotificationParamsSchema:Ft,ElicitationCompleteNotificationSchema:En,ElicitResultSchema:sn,ResourceTemplateReferenceSchema:Ca,PromptReferenceSchema:Na,CompleteRequestParamsSchema:ua,CompleteRequestSchema:wn,CompleteResultSchema:Xn,RootSchema:kn,ListRootsRequestSchema:da,ListRootsResultSchema:ea,RootsListChangedNotificationSchema:Ga,TaskCreationParamsSchema:Qa,TaskStatusSchema:Xa,TaskSchema:ta,CreateTaskResultSchema:xn,TaskStatusNotificationParamsSchema:or,TaskStatusNotificationSchema:pa,GetTaskRequestSchema:Ra,GetTaskResultSchema:ln,GetTaskPayloadRequestSchema:Yn,GetTaskPayloadResultSchema:Ua,ListTasksRequestSchema:cn,ListTasksResultSchema:me,CancelTaskRequestSchema:U,CancelTaskResultSchema:m.merge(ta),ClientRequestSchema:Te([F,T,wn,Ot,Ge,he,_e,De,W,be,wt,jt,bt,Ra,Yn,cn,U]),ClientNotificationSchema:Te([y,B,z,Ga,pa]),ClientResultSchema:Te([f,ye,At,sn,ea,ln,me,xn]),ServerRequestSchema:Te([F,nt,Xe,da,Ra,Yn,cn,U]),ServerNotificationSchema:Te([y,B,vn,It,ze,st,yt,pa,En]),ServerResultSchema:Te([f,q,Xn,tt,Ne,$e,de,ae,Mt,ut,ln,me,xn]),CallToolResultWireSchema:He().superRefine((te,pe)=>{if(!(typeof te!="object"||te===null||Array.isArray(te)||te.content!==void 0)){for(const Oe of sw)if(Oe in te){pe.addIssue({code:"custom",message:`content is required when the body carries '${Oe}' — another result family cannot default into an empty tools/call success`});return}}}).transform(e4).pipe(Mt)}}let n4;function lw(){return n4??(n4=t4())}function cw(e){return e.type!=="object"}const a4=new Set(["const","enum","default","examples"]),r4=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas","dependencies"]);function pf(e){return e!==void 0&&!(typeof e=="string"&&e.startsWith("#"))}function o4(e){const t=typeof e.$schema=="string"?e.$schema:void 0;if(pf(e.$id))return{...t!==void 0&&{$schema:t},type:"object",properties:{result:e},required:["result"]};const a=VI(e.$schema)&&e.$recursiveAnchor!==!0,r=(o,i)=>{if(Array.isArray(o))return o.map(c=>r(c,!1));if(o===null||typeof o!="object"||!i&&pf(o.$id))return o;const s={};let l=!1;for(const[c,u]of Object.entries(o))i?s[c]=r(u,!1):(c==="$ref"||c==="$dynamicRef")&&typeof u=="string"?s[c]=u==="#"?"#/properties/result":u.startsWith("#/")?`#/properties/result${u.slice(1)}`:u:c==="$recursiveRef"&&u==="#"&&a?l=!0:a4.has(c)?s[c]=u:r4.has(c)?s[c]=r(u,!0):s[c]=r(u,!1);return l&&("$ref"in s?s.allOf=[...Array.isArray(s.allOf)?s.allOf:[],{$ref:"#/properties/result"}]:s.$ref="#/properties/result"),s};return{...t!==void 0&&{$schema:t},type:"object",properties:{result:r(e,!1)},required:["result"]}}const i4={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"tasks/get":null,"tasks/result":null,"tasks/list":null,"tasks/cancel":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null},s4={"notifications/cancelled":null,"notifications/progress":null,"notifications/initialized":null,"notifications/roots/list_changed":null,"notifications/tasks/status":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/elicitation/complete":null},l4={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null};let os;function cp(){if(os)return os;const e=lw();return os={requestSchemas:{ping:e.PingRequestSchema,initialize:e.InitializeRequestSchema,"completion/complete":e.CompleteRequestSchema,"logging/setLevel":e.SetLevelRequestSchema,"prompts/get":e.GetPromptRequestSchema,"prompts/list":e.ListPromptsRequestSchema,"resources/list":e.ListResourcesRequestSchema,"resources/templates/list":e.ListResourceTemplatesRequestSchema,"resources/read":e.ReadResourceRequestSchema,"resources/subscribe":e.SubscribeRequestSchema,"resources/unsubscribe":e.UnsubscribeRequestSchema,"tools/call":e.CallToolRequestSchema,"tools/list":e.ListToolsRequestSchema,"tasks/get":e.GetTaskRequestSchema,"tasks/result":e.GetTaskPayloadRequestSchema,"tasks/list":e.ListTasksRequestSchema,"tasks/cancel":e.CancelTaskRequestSchema,"sampling/createMessage":e.CreateMessageRequestSchema,"elicitation/create":e.ElicitRequestSchema,"roots/list":e.ListRootsRequestSchema},notificationSchemas:{"notifications/cancelled":e.CancelledNotificationSchema,"notifications/progress":e.ProgressNotificationSchema,"notifications/initialized":e.InitializedNotificationSchema,"notifications/roots/list_changed":e.RootsListChangedNotificationSchema,"notifications/tasks/status":e.TaskStatusNotificationSchema,"notifications/message":e.LoggingMessageNotificationSchema,"notifications/resources/updated":e.ResourceUpdatedNotificationSchema,"notifications/resources/list_changed":e.ResourceListChangedNotificationSchema,"notifications/tools/list_changed":e.ToolListChangedNotificationSchema,"notifications/prompts/list_changed":e.PromptListChangedNotificationSchema,"notifications/elicitation/complete":e.ElicitationCompleteNotificationSchema},resultSchemas:{ping:e.EmptyResultSchema,initialize:e.InitializeResultSchema,"completion/complete":e.CompleteResultSchema,"logging/setLevel":e.EmptyResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"resources/subscribe":e.EmptyResultSchema,"resources/unsubscribe":e.EmptyResultSchema,"tools/call":e.CallToolResultWireSchema,"tools/list":e.ListToolsResultSchema,"sampling/createMessage":e.CreateMessageResultWithToolsSchema,"elicitation/create":e.ElicitResultSchema,"roots/list":e.ListRootsResultSchema}},os}function uw(e){return Object.prototype.hasOwnProperty.call(i4,e)}function dw(e){return Object.prototype.hasOwnProperty.call(s4,e)}function c4(e){return Object.prototype.hasOwnProperty.call(l4,e)}function u4(e){return c4(e)?cp().resultSchemas[e]:void 0}function d4(e){return uw(e)?cp().requestSchemas[e]:void 0}function p4(e){return dw(e)?cp().notificationSchemas[e]:void 0}function yu(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function is(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};const a=e.safeParse(t);return a.success?{ok:!0,value:a.data}:{ok:!1,reason:"invalid",message:String(a.error)}}const mf={ok:!1,reason:"not-in-era"};function hf(e){return yu(e)&&yu(e.outputSchema)&&cw(e.outputSchema)}const up={era:"2025-11-25",hasRequestMethod:uw,hasNotificationMethod:dw,validateRequest:(e,t)=>is(d4(e),t),validateResult:(e,t)=>is(u4(e),t),validateNotification:(e,t)=>is(p4(e),t),hasInputRequestMethod:()=>!1,validateInputRequest:()=>mf,validateInputResponse:()=>mf,samplingResultVariant:((e,t)=>{const a=lw();return is(e?a.CreateMessageResultWithToolsSchema:a.CreateMessageResultSchema,t)}),outboundEnvelope:e=>{},validateEnvelopeMeta:e=>[],projectCallToolResult(e,t){const a=iw(e),r=a.structuredContent;if(r===void 0)return a;const o=typeof r!="object"||r===null||Array.isArray(r),i=t!==void 0&&cw(t);return!o&&!i?a:{...a,structuredContent:{result:r}}},decodeResult(e,t){if(yu(t)&&"resultType"in t){const a={...t};return delete a.resultType,{kind:"complete",result:a}}return{kind:"complete",result:t}},encodeResult(e,t){if(e!=="tools/list")return t;const a=t.tools;return!Array.isArray(a)||!a.some(r=>hf(r))?t:{...t,tools:a.map(r=>hf(r)?{...r,outputSchema:o4(r.outputSchema)}:r)}},encodeErrorCode:e=>e===-32002?-32602:e,checkInboundEnvelope:e=>{}};function m4(){const e=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),e),re(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),o=Te([C(),fe().int()]),i=dt(["user","assistant"]),s=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),l=C().refine(me=>{try{return atob(me),!0}catch{return!1}},{message:"Invalid Base64 string"}),c=$({ttl:fe().optional()}),u=$({taskId:C()}),d=et({progressToken:a.optional(),"io.modelcontextprotocol/related-task":u.optional()}),p=$({_meta:d.optional()}),m=p.extend({task:c.optional()}),h=$({_meta:d.optional()}),f=$({method:C(),params:h.loose().optional()}),v=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),y=$({icons:re(v).optional()}),E=$({name:C(),title:C().optional()}),b=E.extend({...E.shape,...y.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),x=$r($({applyDefaults:Ae().optional()}),t),w=Ci(me=>me&&typeof me=="object"&&!Array.isArray(me)&&Object.keys(me).length===0?{form:{}}:me,$r($({form:x.optional(),url:t.optional()}),t.optional())),R=et({list:t.optional(),cancel:t.optional(),requests:et({sampling:et({createMessage:t.optional()}).optional(),elicitation:et({create:t.optional()}).optional()}).optional()}),S=et({list:t.optional(),cancel:t.optional(),requests:et({tools:et({call:t.optional()}).optional()}).optional()}),I=$({experimental:Re(C(),t).optional(),sampling:$({context:t.optional(),tools:t.optional()}).optional(),elicitation:w.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:R.optional(),extensions:Re(C(),t).optional()}),N=$({experimental:Re(C(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:S.optional(),extensions:Re(C(),t).optional()}),M=$({progress:fe(),total:Je(fe()),message:Je(C())}),k=$({...h.shape,...M.shape,progressToken:a}),T=f.extend({method:J("notifications/progress"),params:k}),A=h.extend({level:s,logger:C().optional(),data:He()}),q=f.extend({method:J("notifications/message"),params:A}),z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),F=z.extend({text:C()}),H=z.extend({blob:l}),ne=$({audience:re(i).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),B=$({...E.shape,...y.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:ne.optional(),_meta:Je(et({}))}),P=$({...E.shape,...y.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:ne.optional(),_meta:Je(et({}))}),_=f.extend({method:J("notifications/resources/list_changed"),params:h.optional()}),ee=h.extend({uri:C()}),Z=f.extend({method:J("notifications/resources/updated"),params:ee}),D=$({name:C(),description:Je(C()),required:Je(Ae())}),G=$({...E.shape,...y.shape,description:Je(C()),arguments:Je(re(D)),_meta:Je(et({}))}),j=f.extend({method:J("notifications/prompts/list_changed"),params:h.optional()}),K=$({type:J("text"),text:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),oe=$({type:J("image"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),xe=$({type:J("audio"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),ce=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),_e=$({type:J("resource"),resource:Te([F,H]),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),$e=B.extend({type:J("resource_link")}),De=Te([K,oe,xe,$e,_e]),de=$({role:i,content:De}),ve=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),O=f.extend({method:J("notifications/tools/list_changed"),params:h.optional()}),W=$({name:C().optional()}),ae=$({hints:re(W).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),ze=$({mode:dt(["auto","required","none"]).optional()}),Me=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),be=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),rt=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),wt=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),Dt=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),It=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),Qt=Te([wt,Dt]),ie=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),he=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),Ne=Te([ie,he]),Le=Te([It,Qt,Ne]),Ge=Te([Le,Me,be,rt]),ft=m.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),Ge),required:re(C()).optional()}).catchall(He())}),vt=$({type:J("ref/resource"),uri:C()}),gt=$({type:J("ref/prompt"),name:C()}),Se=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),X=I.shape,Ce=$({experimental:X.experimental,sampling:X.sampling,elicitation:X.elicitation,roots:X.roots,extensions:X.extensions}),Fe=N.shape,We=$({experimental:Fe.experimental,logging:Fe.logging,completions:Fe.completions,prompts:Fe.prompts,resources:Fe.resources,tools:Fe.tools,extensions:Fe.extensions}),tt=et({progressToken:a.optional(),[yl]:C(),[Md]:b.optional(),[El]:Ce,[zd]:s.optional()}),yt=$({...E.shape,...y.shape,description:C().optional(),inputSchema:et({$schema:C().optional(),type:J("object")}),outputSchema:et({$schema:C().optional()}).optional(),annotations:ve.optional(),_meta:Re(C(),He()).optional()}),se=$({type:J("tool_result"),toolUseId:C(),content:re(De),structuredContent:He().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),Qe=Te([K,oe,xe,ce,se]),ot=$({role:i,content:Te([Qe,re(Qe)]),_meta:Re(C(),He()).optional()}),bt=C(),ut=et({[gi]:b.optional().catch(void 0)}),Mt=ut.optional();function St(me){return et({_meta:Mt,resultType:bt.default("complete"),...me})}const jt=St({}),st=St({nextCursor:r.optional()}),lt=St({content:re(De),structuredContent:He().optional(),isError:Ae().optional()}),Ze=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:re(yt),nextCursor:r.optional()}),Ot=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:re(G),nextCursor:r.optional()}),en=St({description:C().optional(),messages:re(de)}),vn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:re(B),nextCursor:r.optional()}),Rn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:re(P),nextCursor:r.optional()}),bn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:re(Te([F,H]))}),Ln=St({completion:$({values:re(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),Kn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"])}),Tn=St({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:re(C()),capabilities:We,instructions:C().optional()}),ge=$({messages:re(ot),modelPreferences:ae.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:t.optional(),tools:re(yt).optional(),toolChoice:ze.optional()}),Ke=$({method:J("sampling/createMessage"),params:ge}),Ue=$({method:J("roots/list"),params:$({_meta:Re(C(),He()).optional()}).optional()}),nt=$({...ot.shape,model:C(),stopReason:C().optional()}),ye=$({roots:re(Se)}),At=$({action:dt(["accept","decline","cancel"]),content:Re(C(),Te([C(),fe(),Ae(),re(C())])).optional()}),an=$({mode:J("url"),message:C(),url:C().url()}),Zt=Te([ft,an]),Q=$({method:J("elicitation/create"),params:Zt}),rn=Te([Ke,Ue,Q]),ca=Te([nt,ye,At]),Sa=Re(C(),rn),Dn=Re(C(),ca),yn=St({inputRequests:Sa.optional(),requestState:C().optional()}),dn={inputResponses:Dn.optional(),requestState:C().optional()},In=$({_meta:tt,...dn}),on=et({progressToken:a.optional()});function mt(me,U){return $({method:J(me),params:$({_meta:tt,...U})})}function ht(me,U){return $({method:J(me),params:$({_meta:on.optional(),...U}).optional()})}const V={name:C(),arguments:Re(C(),He()).optional(),...dn},we={cursor:r.optional()},Xe=mt("tools/call",V),Ft=mt("tools/list",we),En=mt("prompts/list",we),sn=mt("prompts/get",{name:C(),arguments:Re(C(),C()).optional(),...dn}),Ca=mt("resources/list",we),Na=mt("resources/templates/list",we),ua=mt("resources/read",{uri:C(),...dn}),wn={ref:Te([gt,vt]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()},Xn=mt("completion/complete",wn),kn=mt("server/discover",{}),da=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:re(C()).optional()}),ea={notifications:da},Ga=mt("subscriptions/listen",ea),Qa=ut.extend({"io.modelcontextprotocol/subscriptionId":o}),Xa=et({_meta:Qa,resultType:bt.default("complete")}),ta={"tools/call":ht("tools/call",V),"tools/list":ht("tools/list",we),"prompts/get":ht("prompts/get",{name:C(),arguments:Re(C(),C()).optional()}),"prompts/list":ht("prompts/list",we),"resources/list":ht("resources/list",we),"resources/templates/list":ht("resources/templates/list",we),"resources/read":ht("resources/read",{uri:C()}),"completion/complete":ht("completion/complete",wn),"server/discover":ht("server/discover",{}),"subscriptions/listen":ht("subscriptions/listen",ea)};function xn(me){return et({_meta:Mt,...me})}const or={"tools/call":xn({content:re(De),structuredContent:He().optional(),isError:Ae().optional()}),"tools/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:re(yt),nextCursor:r.optional()}),"prompts/get":xn({description:C().optional(),messages:re(de)}),"prompts/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:re(G),nextCursor:r.optional()}),"resources/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:re(B),nextCursor:r.optional()}),"resources/templates/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:re(P),nextCursor:r.optional()}),"resources/read":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:re(Te([F,H]))}),"completion/complete":xn({completion:$({values:re(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),"server/discover":xn({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:re(C()),capabilities:We,instructions:C().optional()}),"subscriptions/listen":xn({})},pa=et({"io.modelcontextprotocol/subscriptionId":o.optional()}),Ra=$({method:J("notifications/subscriptions/acknowledged"),params:$({_meta:pa.optional(),notifications:da})}),ln=$({_meta:pa.optional(),requestId:o,reason:C().optional()}),Yn=$({method:J("notifications/cancelled"),params:ln}),Ua={"notifications/cancelled":Yn,"notifications/progress":T,"notifications/message":q,"notifications/resources/updated":Z,"notifications/resources/list_changed":_,"notifications/tools/list_changed":O,"notifications/prompts/list_changed":j,"notifications/subscriptions/acknowledged":Ra},cn=me=>$({jsonrpc:J("2.0"),id:Te([C(),fe().int()]),result:me}).strict();return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:a,CursorSchema:r,RequestIdSchema:o,RoleSchema:i,LoggingLevelSchema:s,TaskMetadataSchema:c,RelatedTaskMetadataSchema:u,RequestMetaSchema:d,BaseRequestParamsSchema:p,TaskAugmentedRequestParamsSchema:m,NotificationsParamsSchema:h,NotificationSchema:f,IconSchema:v,IconsSchema:y,BaseMetadataSchema:E,ImplementationSchema:b,ClientTasksCapabilitySchema:R,ServerTasksCapabilitySchema:S,ClientCapabilitiesSchema:I,ServerCapabilitiesSchema:N,ProgressSchema:M,ProgressNotificationParamsSchema:k,ProgressNotificationSchema:T,LoggingMessageNotificationParamsSchema:A,LoggingMessageNotificationSchema:q,ResourceContentsSchema:z,TextResourceContentsSchema:F,BlobResourceContentsSchema:H,AnnotationsSchema:ne,ResourceSchema:B,ResourceTemplateSchema:P,ResourceListChangedNotificationSchema:_,ResourceUpdatedNotificationParamsSchema:ee,ResourceUpdatedNotificationSchema:Z,PromptArgumentSchema:D,PromptSchema:G,PromptListChangedNotificationSchema:j,TextContentSchema:K,ImageContentSchema:oe,AudioContentSchema:xe,ToolUseContentSchema:ce,EmbeddedResourceSchema:_e,ResourceLinkSchema:$e,ContentBlockSchema:De,PromptMessageSchema:de,ToolAnnotationsSchema:ve,ToolListChangedNotificationSchema:O,ModelHintSchema:W,ModelPreferencesSchema:ae,ToolChoiceSchema:ze,BooleanSchemaSchema:Me,StringSchemaSchema:be,NumberSchemaSchema:rt,UntitledSingleSelectEnumSchemaSchema:wt,TitledSingleSelectEnumSchemaSchema:Dt,LegacyTitledEnumSchemaSchema:It,SingleSelectEnumSchemaSchema:Qt,UntitledMultiSelectEnumSchemaSchema:ie,TitledMultiSelectEnumSchemaSchema:he,MultiSelectEnumSchemaSchema:Ne,EnumSchemaSchema:Le,PrimitiveSchemaDefinitionSchema:Ge,ElicitRequestFormParamsSchema:ft,ResourceTemplateReferenceSchema:vt,PromptReferenceSchema:gt,RootSchema:Se,ClientCapabilities2026Schema:Ce,ServerCapabilities2026Schema:We,RequestMetaEnvelopeSchema:tt,ToolSchema:yt,ToolResultContentSchema:se,SamplingMessageContentBlockSchema:Qe,SamplingMessageSchema:ot,ResultTypeSchema:bt,ResultMetaSchema:ut,ResultSchema:jt,PaginatedResultSchema:st,CallToolResultSchema:lt,ListToolsResultSchema:Ze,ListPromptsResultSchema:Ot,GetPromptResultSchema:en,ListResourcesResultSchema:vn,ListResourceTemplatesResultSchema:Rn,ReadResourceResultSchema:bn,CompleteResultSchema:Ln,CacheableResultSchema:Kn,DiscoverResultSchema:Tn,CreateMessageRequestParamsSchema:ge,CreateMessageRequestSchema:Ke,ListRootsRequestSchema:Ue,CreateMessageResultSchema:nt,ListRootsResultSchema:ye,ElicitResultSchema:At,ElicitRequestURLParamsSchema:an,ElicitRequestParamsSchema:Zt,ElicitRequestSchema:Q,InputRequestSchema:rn,InputResponseSchema:ca,InputRequestsSchema:Sa,InputResponsesSchema:Dn,InputRequiredResultSchema:yn,InputResponseRequestParamsSchema:In,CallToolRequestSchema:Xe,ListToolsRequestSchema:Ft,ListPromptsRequestSchema:En,GetPromptRequestSchema:sn,ListResourcesRequestSchema:Ca,ListResourceTemplatesRequestSchema:Na,ReadResourceRequestSchema:ua,CompleteRequestSchema:Xn,DiscoverRequestSchema:kn,SubscriptionFilterSchema:da,SubscriptionsListenRequestSchema:Ga,SubscriptionsListenResultMetaSchema:Qa,SubscriptionsListenResultSchema:Xa,dispatchRequestSchemas:ta,dispatchResultSchemas:or,NotificationMetaSchema:pa,SubscriptionsAcknowledgedNotificationSchema:Ra,CancelledNotificationParamsSchema:ln,CancelledNotificationSchema:Yn,notificationSchemas2026:Ua,JSONRPCResultResponseSchema:cn(jt),CallToolResultResponseSchema:cn(Te([lt,yn])),ListToolsResultResponseSchema:cn(Ze),ListPromptsResultResponseSchema:cn(Ot),GetPromptResultResponseSchema:cn(Te([en,yn])),ListResourcesResultResponseSchema:cn(vn),ListResourceTemplatesResultResponseSchema:cn(Rn),ReadResourceResultResponseSchema:cn(Te([bn,yn])),CompleteResultResponseSchema:cn(Ln),DiscoverResultResponseSchema:cn(Tn)}}let h4;function Hr(){return h4??(h4=m4())}const f4=["tools/list","prompts/list","resources/list","resources/templates/list","resources/read","server/discover"];function g4(e){return f4.includes(e)}const dp=Symbol("modelcontextprotocol.resultCacheHintFallback");function v4(e){return e[dp]}function pw(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0}function mw(e){return e==="public"||e==="private"}let kt=(function(e){return e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.ResourceNotFound=-32002]="ResourceNotFound",e[e.MissingRequiredClientCapability=-32021]="MissingRequiredClientCapability",e[e.UnsupportedProtocolVersion=-32022]="UnsupportedProtocolVersion",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired",e})({});var Mr,Vn=(Mr=class extends Error{static[Symbol.hasInstance](t){return Gs(this,t)}static isInstance(t){if(typeof this!="function")throw new TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return Gs(this,t)}constructor(t,a,r){super(a),this.code=t,this.data=r,this.name="ProtocolError",ow(this,new.target)}static fromError(t,a,r){if(t===kt.UrlElicitationRequired&&r){const o=r;if(o.elicitations)return new y4(o.elicitations,a)}if(t===kt.UnsupportedProtocolVersion&&r){const o=r;if(Array.isArray(o.supported)&&typeof o.requested=="string")return new E4({supported:o.supported,requested:o.requested},a)}if(t===kt.InvalidParams||t===kt.ResourceNotFound){const o=r;if(typeof(o==null?void 0:o.uri)=="string"&&(t===kt.ResourceNotFound||Object.keys(o).length===1))return new b4(o.uri,a)}if(t===kt.MissingRequiredClientCapability&&r){const o=r;if(o.requiredCapabilities!==null&&typeof o.requiredCapabilities=="object"&&!Array.isArray(o.requiredCapabilities))return new w4({requiredCapabilities:o.requiredCapabilities},a)}return new Mr(t,a,r)}},Object.defineProperty(Mr,"mcpBrand",{value:"mcp.ProtocolError"}),Mr),so,b4=(so=class extends Vn{constructor(t,a=`Resource not found: ${t}`){super(kt.InvalidParams,a,{uri:t})}get uri(){return this.data.uri}},Object.defineProperty(so,"mcpBrand",{value:"mcp.ResourceNotFoundError"}),so),lo,y4=(lo=class extends Vn{constructor(t,a=`URL elicitation${t.length>1?"s":""} required`){super(kt.UrlElicitationRequired,a,{elicitations:t})}get elicitations(){var t;return((t=this.data)==null?void 0:t.elicitations)??[]}},Object.defineProperty(lo,"mcpBrand",{value:"mcp.UrlElicitationRequiredError"}),lo),co,E4=(co=class extends Vn{constructor(t,a=`Unsupported protocol version: ${t.requested}`){super(kt.UnsupportedProtocolVersion,a,t)}get supported(){return this.data.supported}get requested(){return this.data.requested}},Object.defineProperty(co,"mcpBrand",{value:"mcp.UnsupportedProtocolVersionError"}),co),uo,w4=(uo=class extends Vn{constructor(t,a=`Missing required client capabilities: ${Object.keys(t.requiredCapabilities).join(", ")}`){super(kt.MissingRequiredClientCapability,a,t)}get requiredCapabilities(){return this.data.requiredCapabilities}},Object.defineProperty(uo,"mcpBrand",{value:"mcp.MissingRequiredClientCapabilityError"}),uo);const k4=0,x4="private",S4=["tools/call","prompts/get","resources/read"];function C4(e,t){const a=t.resultType;if(a===void 0)return{...t,resultType:"complete"};if(a==="complete"||S4.includes(e))return t;throw new Vn(kt.InternalError,`Handler for ${e} returned resultType '${String(a)}', but results of ${e} only support 'complete' on protocol revision 2026-07-28`)}function N4(e,t){const a=v4(t);if(t.resultType!=="complete"||!g4(e))return a===void 0?t:_4(t);const r=t,o=pw(r.ttlMs)?r.ttlMs:I4(a),i=mw(r.cacheScope)?r.cacheScope:A4(a),s={...r,ttlMs:o,cacheScope:i};return delete s[dp],s}function R4(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function T4(e,t){if(t===void 0)return e;const a=e._meta;return a===void 0?{...e,_meta:{[gi]:t}}:!R4(a)||a[gi]!==void 0?e:{...e,_meta:{...a,[gi]:t}}}function I4(e){return e!==void 0&&pw(e.ttlMs)?e.ttlMs:k4}function A4(e){return e!==void 0&&mw(e.cacheScope)?e.cacheScope:x4}function _4(e){const t={...e};return delete t[dp],t}const P4=["elicitation/create","sampling/createMessage","roots/list"];let ss;function hw(){if(ss)return ss;const e=Hr();return ss={request:{"elicitation/create":$({method:J("elicitation/create"),params:e.ElicitRequestParamsSchema}),"sampling/createMessage":$({method:J("sampling/createMessage"),params:e.CreateMessageRequestParamsSchema}),"roots/list":$({method:J("roots/list"),params:et({}).optional()})},response:{"elicitation/create":e.ElicitResultSchema,"sampling/createMessage":e.CreateMessageResultSchema,"roots/list":e.ListRootsResultSchema}},ss}function fw(e){return P4.includes(e)}function Ec(e){return fw(e)?hw().request[e]:void 0}function O4(e){return fw(e)?hw().response[e]:void 0}const gw={"tools/call":null,"tools/list":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"completion/complete":null,"server/discover":null,"subscriptions/listen":null},M4={"notifications/cancelled":null,"notifications/progress":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/subscriptions/acknowledged":null};function vw(e){return Object.prototype.hasOwnProperty.call(gw,e)}function bw(e){return Object.prototype.hasOwnProperty.call(M4,e)}function z4(e){return Object.prototype.hasOwnProperty.call(gw,e)}function L4(e){return vw(e)?Hr().dispatchRequestSchemas[e]:void 0}function D4(e){return z4(e)?Hr().dispatchResultSchemas[e]:void 0}function F4(e){return bw(e)?Hr().notificationSchemas2026[e]:void 0}function vi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Qo(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};const a=e.safeParse(t);return a.success?{ok:!0,value:a.data}:{ok:!1,reason:"invalid",message:String(a.error)}}const q4={ok:!1,reason:"not-in-era"},j4=[yl,El];function U4(e,t){let a=t,r=!1;const o=()=>(r||(a={...a},r=!0),a),i=t.tools;e==="tools/list"&&Array.isArray(i)&&i.some(l=>vi(l)&&"execution"in l)&&(o().tools=i.map(l=>{if(!vi(l)||!("execution"in l))return l;const c={...l};return delete c.execution,c}));const s=t.capabilities;if(vi(s)&&"tasks"in s){const l={...s};delete l.tasks,o().capabilities=l}return a}const pp={era:"2026-07-28",hasRequestMethod:vw,hasNotificationMethod:bw,hasInputRequestMethod:e=>Ec(e)!==void 0,validateRequest:(e,t)=>Qo(L4(e),t),validateResult:(e,t)=>Qo(D4(e),t),validateNotification:(e,t)=>Qo(F4(e),t),validateInputRequest:(e,t)=>Qo(Ec(e),t),validateInputResponse:(e,t)=>Qo(O4(e),t),samplingResultVariant:()=>q4,outboundEnvelope(e){return{[yl]:e.protocolVersion,[Md]:e.clientInfo,[El]:e.clientCapabilities,...e.logLevel!==void 0&&{[zd]:e.logLevel}}},validateEnvelopeMeta(e){const t=[];for(const r of j4)r in e||t.push({key:r,problem:"missing"});const a=Hr().RequestMetaEnvelopeSchema.safeParse(e);if(!a.success)for(const r of a.error.issues){const o=r.path.map(String),i=o.length>0?o.join("."):"_meta";o.length===1&&t.some(s=>s.key===i&&s.problem==="missing")||t.push({key:i,problem:r.message})}return t},projectCallToolResult:e=>iw(e),inputRequestSchema:Ec,decodeResult(e,t){if(!vi(t))return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: not an object`,{method:e})};const a=t.resultType;if(a===void 0)return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: missing required resultType — servers implementing protocol revision 2026-07-28 MUST include it (the absent-means-complete bridge applies only to earlier-revision servers)`,{method:e,violation:"missing-resultType"})};if(typeof a!="string")return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: non-string resultType`,{method:e,resultType:a})};if(a==="input_required"){const s=t.inputRequests,l=vi(s)?s:{},c=t.requestState;return Object.keys(l).length===0&&typeof c!="string"?{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: input_required carries neither inputRequests nor requestState (every input_required result must include at least one of the two)`,{method:e,violation:"input-required-missing-both"})}:{kind:"input_required",inputRequests:l,...typeof c=="string"&&{requestState:c}}}if(a!=="complete")return{kind:"invalid",error:new Pn(Hn.UnsupportedResultType,`Unsupported result type '${a}' for ${e}`,{resultType:a,method:e})};const r=$4(),o=Object.hasOwn(r,e)?r[e]:void 0;if(o!==void 0){const s=o.safeParse(t);if(!s.success)return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: ${s.error}`,{method:e})}}const i={...t};return delete i.resultType,{kind:"complete",result:i}},encodeResult(e,t,a){return T4(N4(e,C4(e,U4(e,t))),a)},encodeErrorCode:e=>e===-32002?-32602:e,checkInboundEnvelope(e){if(e.envelope===void 0)return"Request is missing the required _meta envelope for protocol revision 2026-07-28 (io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities)";const t=Hr().RequestMetaEnvelopeSchema.safeParse(e.envelope);if(!t.success)return`Invalid _meta envelope for protocol revision 2026-07-28: ${t.error.issues.map(a=>a.message).join("; ")}`}};let ls;function $4(){if(ls)return ls;const e=Hr();return ls={"tools/call":e.CallToolResultSchema,"tools/list":e.ListToolsResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"completion/complete":e.CompleteResultSchema,"server/discover":e.DiscoverResultSchema},ls}const yw="2026-07-28";function Qs(e){return e!==void 0&&XM(e)?pp:up}function ff(e){return e.revision!==void 0?Qs(e.revision).era:e.era==="modern"?pp.era:up.era}function wc(e){return Ew.some(t=>t.hasRequestMethod(e))}function kc(e){return Ew.some(t=>t.hasNotificationMethod(e))}const Ew=[up,pp];var B4=UI({AnnotationsSchema:()=>Zr,AudioContentSchema:()=>Tl,BaseMetadataSchema:()=>Br,BaseRequestParamsSchema:()=>Jn,BlobResourceContentsSchema:()=>Kd,BooleanSchemaSchema:()=>np,CallToolRequestParamsSchema:()=>yE,CallToolRequestSchema:()=>EE,CallToolResultSchema:()=>Al,CancelTaskRequestSchema:()=>LM,CancelTaskResultSchema:()=>DM,CancelledNotificationParamsSchema:()=>Sy,CancelledNotificationSchema:()=>$d,ClientCapabilitiesSchema:()=>Ty,ClientNotificationSchema:()=>qM,ClientRequestSchema:()=>FM,ClientResultSchema:()=>jM,ClientTasksCapabilitySchema:()=>Ny,CompatibilityCallToolResultSchema:()=>CM,CompleteRequestParamsSchema:()=>WE,CompleteRequestSchema:()=>ZE,CompleteResultSchema:()=>JE,ContentBlockSchema:()=>Lo,CreateMessageRequestParamsSchema:()=>_E,CreateMessageRequestSchema:()=>PE,CreateMessageResultSchema:()=>OE,CreateMessageResultWithToolsSchema:()=>ME,CreateTaskResultSchema:()=>TM,CursorSchema:()=>Dd,DiscoverRequestSchema:()=>Oy,DiscoverResultSchema:()=>My,ElicitRequestFormParamsSchema:()=>Pl,ElicitRequestParamsSchema:()=>qE,ElicitRequestSchema:()=>jE,ElicitRequestURLParamsSchema:()=>FE,ElicitResultSchema:()=>BE,ElicitationCompleteNotificationParamsSchema:()=>UE,ElicitationCompleteNotificationSchema:()=>$E,EmbeddedResourceSchema:()=>Qd,EmptyResultSchema:()=>Sl,EnumSchemaSchema:()=>DE,GetPromptRequestParamsSchema:()=>cE,GetPromptRequestSchema:()=>uE,GetPromptResultSchema:()=>mE,GetTaskPayloadRequestSchema:()=>PM,GetTaskPayloadResultSchema:()=>OM,GetTaskRequestSchema:()=>AM,GetTaskResultSchema:()=>_M,IconSchema:()=>Cy,IconsSchema:()=>_o,ImageContentSchema:()=>Rl,ImplementationSchema:()=>Po,InitializeRequestParamsSchema:()=>Iy,InitializeRequestSchema:()=>Ay,InitializeResultSchema:()=>_y,InitializedNotificationSchema:()=>Py,JSONArraySchema:()=>wM,JSONObjectSchema:()=>mn,JSONRPCErrorResponseSchema:()=>xl,JSONRPCMessageSchema:()=>xy,JSONRPCNotificationSchema:()=>Ud,JSONRPCRequestSchema:()=>jd,JSONRPCResponseSchema:()=>kM,JSONRPCResultResponseSchema:()=>kl,JSONValueSchema:()=>xo,LegacyTitledEnumSchemaSchema:()=>op,ListChangedOptionsBaseSchema:()=>NM,ListPromptsRequestSchema:()=>sE,ListPromptsResultSchema:()=>lE,ListResourceTemplatesRequestSchema:()=>Uy,ListResourceTemplatesResultSchema:()=>$y,ListResourcesRequestSchema:()=>qy,ListResourcesResultSchema:()=>jy,ListRootsRequestSchema:()=>YE,ListRootsResultSchema:()=>GE,ListTasksRequestSchema:()=>MM,ListTasksResultSchema:()=>zM,ListToolsRequestSchema:()=>vE,ListToolsResultSchema:()=>bE,LoggingLevelSchema:()=>ep,LoggingMessageNotificationParamsSchema:()=>SE,LoggingMessageNotificationSchema:()=>tp,ModelHintSchema:()=>CE,ModelPreferencesSchema:()=>NE,MultiSelectEnumSchemaSchema:()=>LE,NotificationSchema:()=>la,NotificationsParamsSchema:()=>sa,NumberSchemaSchema:()=>Ys,PaginatedRequestParamsSchema:()=>Dy,PaginatedRequestSchema:()=>Oo,PaginatedResultSchema:()=>Mo,PingRequestSchema:()=>Hd,PrimitiveSchemaDefinitionSchema:()=>lp,ProgressNotificationParamsSchema:()=>Ly,ProgressNotificationSchema:()=>Vd,ProgressSchema:()=>zy,ProgressTokenSchema:()=>Ld,PromptArgumentSchema:()=>oE,PromptListChangedNotificationSchema:()=>hE,PromptMessageSchema:()=>pE,PromptReferenceSchema:()=>VE,PromptSchema:()=>iE,ReadResourceRequestParamsSchema:()=>By,ReadResourceRequestSchema:()=>Hy,ReadResourceResultSchema:()=>Vy,RelatedTaskMetadataSchema:()=>ky,RequestIdSchema:()=>Wr,RequestMetaSchema:()=>Fd,RequestSchema:()=>fn,ResourceContentsSchema:()=>Wd,ResourceLinkSchema:()=>Xd,ResourceListChangedNotificationSchema:()=>Wy,ResourceRequestParamsSchema:()=>Cl,ResourceSchema:()=>Yd,ResourceTemplateReferenceSchema:()=>HE,ResourceTemplateSchema:()=>Fy,ResourceUpdatedNotificationParamsSchema:()=>aE,ResourceUpdatedNotificationSchema:()=>rE,ResultMetaObjectSchema:()=>qd,ResultSchema:()=>gn,RoleSchema:()=>zo,RootSchema:()=>KE,RootsListChangedNotificationSchema:()=>QE,SamplingContentSchema:()=>IE,SamplingMessageContentBlockSchema:()=>Ni,SamplingMessageSchema:()=>AE,ServerCapabilitiesSchema:()=>Bd,ServerNotificationSchema:()=>$M,ServerRequestSchema:()=>UM,ServerResultSchema:()=>BM,ServerTasksCapabilitySchema:()=>Ry,SetLevelRequestParamsSchema:()=>kE,SetLevelRequestSchema:()=>xE,SingleSelectEnumSchemaSchema:()=>zE,StringSchemaSchema:()=>_l,SubscribeRequestParamsSchema:()=>Zy,SubscribeRequestSchema:()=>Jy,SubscriptionFilterSchema:()=>Gd,SubscriptionsAcknowledgedNotificationParamsSchema:()=>Xy,SubscriptionsAcknowledgedNotificationSchema:()=>eE,SubscriptionsListenRequestParamsSchema:()=>Gy,SubscriptionsListenRequestSchema:()=>Qy,SubscriptionsListenResultMetaSchema:()=>tE,SubscriptionsListenResultSchema:()=>nE,TaskAugmentedRequestParamsSchema:()=>Hi,TaskCreationParamsSchema:()=>RM,TaskMetadataSchema:()=>wy,TaskSchema:()=>Do,TaskStatusNotificationParamsSchema:()=>ew,TaskStatusNotificationSchema:()=>IM,TaskStatusSchema:()=>XE,TextContentSchema:()=>Nl,TextResourceContentsSchema:()=>Zd,TitledMultiSelectEnumSchemaSchema:()=>sp,TitledSingleSelectEnumSchemaSchema:()=>rp,ToolAnnotationsSchema:()=>fE,ToolChoiceSchema:()=>RE,ToolExecutionSchema:()=>gE,ToolListChangedNotificationSchema:()=>wE,ToolResultContentSchema:()=>TE,ToolSchema:()=>Il,ToolUseContentSchema:()=>dE,UnsubscribeRequestParamsSchema:()=>Ky,UnsubscribeRequestSchema:()=>Yy,UntitledMultiSelectEnumSchemaSchema:()=>ip,UntitledSingleSelectEnumSchemaSchema:()=>ap});const H4=e=>jd.safeParse(e).success,V4=e=>Ud.safeParse(e).success,gf=e=>kl.safeParse(e).success,W4=e=>xl.safeParse(e).success,xc=-32020;kt.InvalidRequest,kt.UnsupportedProtocolVersion,kt.InvalidParams,kt.MethodNotFound,kt.InvalidParams,kt.MissingRequiredClientCapability;kt.ParseError+"",kt.InvalidRequest+"",kt.MethodNotFound+"",kt.UnsupportedProtocolVersion+"",kt.MissingRequiredClientCapability+"";function ww(e,t){return sy(e,t)}function Xo(e){return new Set(e.flatMap(t=>Object.keys(t.shape)))}function Eu(e){var a;if(e==null)return!1;const t=typeof e;return t!=="object"&&t!=="function"||!("~standard"in e)?!1:typeof((a=e["~standard"])==null?void 0:a.validate)=="function"}let vf=!1;const wu="draft-2020-12";function Z4(e,t="input"){const a=e["~standard"];let r;if(a.jsonSchema)r=a.jsonSchema[t]({target:wu});else if(a.vendor==="zod"){if(!("_zod"in e))throw new Error("Schema appears to be from zod 3, which the SDK cannot convert to JSON Schema. Upgrade to zod >=4.2.0, or wrap your JSON Schema with fromJsonSchema().");vf||(vf=!0,console.warn("[mcp-sdk] Your zod version does not implement `~standard.jsonSchema` (added in zod 4.2.0). Falling back to z.toJSONSchema(). Upgrade to zod >=4.2.0 to silence this warning.")),r=iy(e,{target:wu,io:t})}else throw new Error(`Schema library "${a.vendor}" does not implement StandardJSONSchemaV1 (\`~standard.jsonSchema\`). Upgrade to a version that does, or wrap your JSON Schema with fromJsonSchema().`);if(t==="output")return r.type!==void 0?r:kw(r)?{type:"object",...r}:r;if(r.type!==void 0&&r.type!=="object")throw new Error(`MCP tool and prompt schemas must describe objects (got type: ${JSON.stringify(r.type)}). Wrap your schema in z.object({...}) or equivalent.`);return{type:"object",...r}}function kw(e){if("properties"in e||"patternProperties"in e||"additionalProperties"in e||"required"in e)return!0;for(const t of["oneOf","anyOf","allOf"]){const a=e[t];if(Array.isArray(a)&&a.length>0)return a.every(r=>r!==null&&typeof r=="object"&&(r.type==="object"||kw(r)))}return!1}function J4(e){var t;return(t=e.path)!=null&&t.length?`${e.path.map(a=>String(typeof a=="object"?a.key:a)).join(".")}: ${e.message}`:e.message}async function Sc(e,t){const a=await e["~standard"].validate(t);return a.issues&&a.issues.length>0?{success:!1,error:a.issues.map(r=>J4(r)).join(", ")}:{success:!0,data:a.value}}function K4(e){const t=iy(e,{target:wu,io:"input"});return typeof t.pattern=="string"?t.pattern:void 0}const Y4=/\\\.\\d\{(\d+)\}/;function G4(e){const t=Y4.exec(e),a=[void 0,-1,0];return t&&a.push(Number(t[1])),[!1,!0].flatMap(r=>[!1,!0].flatMap(o=>a.map(i=>bl({local:r,offset:o,precision:i}))))}function Q4(e,t){let a;switch(e){case"email":a=[xO()];break;case"uri":a=[my()];break;case"date":a=[fM()];break;case"date-time":a=G4(t);break}return new Set(a.map(r=>K4(r)).filter(r=>r!==void 0))}function X4(e,t,a){return a!=="zod"?!0:Q4(e,t).has(t)}function Ri(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ez(e){try{return Z4(e,"input")}catch(t){const a=t instanceof Error?t.message:String(t);throw new Vn(kt.InvalidParams,`Elicitation requestedSchema must describe an object with flat primitive properties: ${a}`)}}const tz=new Set(["$comment","deprecated","description","examples","readOnly","title","writeOnly"]);function mp(e){return tz.has(e)||e.startsWith("x-")}const nz=new Set(["$schema",...Object.keys(Pl.shape.requestedSchema.shape)]),bf={string:Xo([_l,ap,rp,op]),number:Xo([Ys]),integer:Xo([Ys]),boolean:Xo([np]),array:Xo([ip,sp])},az=new Set(_l.shape.format.unwrap().options);function rz(e,t,a,r){if(!Ri(e))return e;const o=typeof e.type=="string"&&Object.hasOwn(bf,e.type)?bf[e.type]:void 0;if(o===void 0)return e;const i={};for(const[s,l]of Object.entries(e))o.has(s)||mp(s)?i[s]=l:s==="pattern"&&e.type==="string"&&typeof e.format=="string"?az.has(e.format)?(typeof l!="string"||!X4(e.format,l,a))&&r.push(`${t}.${s}`):i[s]=l:r.push(`${t}.${s}`);return i}function oz(e,t){const a={},r=[];for(const[o,i]of Object.entries(e))o==="properties"&&Ri(i)?a[o]=Object.fromEntries(Object.entries(i).map(([s,l])=>[s,rz(l,`properties.${s}`,t,r)])):nz.has(o)?a[o]=i:mp(o)||r.push(o);if(r.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${r.join(", ")}`);return a}function iz(e,t){if(!Ri(e.properties))return t;const a=Object.entries(e.properties).filter(([,r])=>!ww(lp,r).success).map(([r])=>`properties.${r}`);return a.length>0?a.join(", "):t}function ku(e,t,a=""){return Array.isArray(e)&&Array.isArray(t)?e.flatMap((r,o)=>ku(r,t[o],`${a}[${o}]`)):!Ri(e)||!Ri(t)?[]:Object.entries(e).flatMap(([r,o])=>{const i=a?`${a}.${r}`:r;return Object.prototype.hasOwnProperty.call(t,r)?ku(o,t[r],i):mp(r)?[]:[i]})}function sz(e){if(!Eu(e.requestedSchema))return{...e,mode:"form",requestedSchema:e.requestedSchema};const t=e.requestedSchema["~standard"].vendor,a=oz(ez(e.requestedSchema),t),r=ww(Pl.shape.requestedSchema,a);if(!r.success)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema only supports flat primitive properties (string, number, integer, boolean, and string enums): ${iz(a,r.error.message)}`);const o=ku(a,r.data);if(o.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${o.join(", ")}`);const i=(r.data.required??[]).filter(s=>!Object.prototype.hasOwnProperty.call(r.data.properties,s));if(i.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema lists required properties that are not defined in properties: ${i.join(", ")}`);return{...e,mode:"form",requestedSchema:r.data}}function lz(e){const t=e.inputRequests!==void 0&&Object.keys(e.inputRequests).length>0,a=typeof e.requestState=="string";if(!t&&!a)throw new TypeError("inputRequired() requires at least one of inputRequests (with at least one entry) or requestState (spec: every InputRequiredResult MUST include at least one of the two)");return{resultType:"input_required",...e.inputRequests!==void 0&&{inputRequests:e.inputRequests},...e.requestState!==void 0&&{requestState:e.requestState}}}Object.assign(lz,{elicit(e){try{return{method:"elicitation/create",params:sz(e)}}catch(t){throw t instanceof Vn?new TypeError(t.message,{cause:t}):t}},elicitUrl(e){return{method:"elicitation/create",params:{...e,mode:"url"}}},createMessage(e){return{method:"sampling/createMessage",params:e}},listRoots(){return{method:"roots/list"}}});const cz=["AnnotationsSchema","AudioContentSchema","BaseMetadataSchema","BlobResourceContentsSchema","BooleanSchemaSchema","CallToolRequestSchema","CallToolRequestParamsSchema","CallToolResultSchema","CancelledNotificationSchema","CancelledNotificationParamsSchema","CancelTaskRequestSchema","CancelTaskResultSchema","ClientCapabilitiesSchema","ClientNotificationSchema","ClientRequestSchema","ClientResultSchema","CompatibilityCallToolResultSchema","CompleteRequestSchema","CompleteRequestParamsSchema","CompleteResultSchema","ContentBlockSchema","CreateMessageRequestSchema","CreateMessageRequestParamsSchema","CreateMessageResultSchema","CreateMessageResultWithToolsSchema","CreateTaskResultSchema","CursorSchema","DiscoverRequestSchema","DiscoverResultSchema","ElicitationCompleteNotificationSchema","ElicitationCompleteNotificationParamsSchema","ElicitRequestSchema","ElicitRequestFormParamsSchema","ElicitRequestParamsSchema","ElicitRequestURLParamsSchema","ElicitResultSchema","EmbeddedResourceSchema","EmptyResultSchema","EnumSchemaSchema","GetPromptRequestSchema","GetPromptRequestParamsSchema","GetPromptResultSchema","GetTaskPayloadRequestSchema","GetTaskPayloadResultSchema","GetTaskRequestSchema","GetTaskResultSchema","IconSchema","IconsSchema","ImageContentSchema","ImplementationSchema","InitializedNotificationSchema","InitializeRequestSchema","InitializeRequestParamsSchema","InitializeResultSchema","JSONArraySchema","JSONObjectSchema","JSONRPCErrorResponseSchema","JSONRPCMessageSchema","JSONRPCNotificationSchema","JSONRPCRequestSchema","JSONRPCResponseSchema","JSONRPCResultResponseSchema","JSONValueSchema","LegacyTitledEnumSchemaSchema","ListPromptsRequestSchema","ListPromptsResultSchema","ListResourcesRequestSchema","ListResourcesResultSchema","ListResourceTemplatesRequestSchema","ListResourceTemplatesResultSchema","ListRootsRequestSchema","ListRootsResultSchema","ListTasksRequestSchema","ListTasksResultSchema","ListToolsRequestSchema","ListToolsResultSchema","LoggingLevelSchema","LoggingMessageNotificationSchema","LoggingMessageNotificationParamsSchema","ModelHintSchema","ModelPreferencesSchema","MultiSelectEnumSchemaSchema","NotificationSchema","NumberSchemaSchema","PaginatedRequestSchema","PaginatedRequestParamsSchema","PaginatedResultSchema","PingRequestSchema","PrimitiveSchemaDefinitionSchema","ProgressSchema","ProgressNotificationSchema","ProgressNotificationParamsSchema","ProgressTokenSchema","PromptSchema","PromptArgumentSchema","PromptListChangedNotificationSchema","PromptMessageSchema","PromptReferenceSchema","ReadResourceRequestSchema","ReadResourceRequestParamsSchema","ReadResourceResultSchema","RelatedTaskMetadataSchema","RequestSchema","RequestIdSchema","RequestMetaSchema","ResourceSchema","ResourceContentsSchema","ResourceLinkSchema","ResourceListChangedNotificationSchema","ResourceRequestParamsSchema","ResourceTemplateSchema","ResourceTemplateReferenceSchema","ResourceUpdatedNotificationSchema","ResourceUpdatedNotificationParamsSchema","ResultMetaObjectSchema","ResultSchema","RoleSchema","RootSchema","RootsListChangedNotificationSchema","SamplingContentSchema","SamplingMessageSchema","SamplingMessageContentBlockSchema","ServerCapabilitiesSchema","ServerNotificationSchema","ServerRequestSchema","ServerResultSchema","SetLevelRequestSchema","SetLevelRequestParamsSchema","SingleSelectEnumSchemaSchema","StringSchemaSchema","SubscribeRequestSchema","SubscribeRequestParamsSchema","SubscriptionFilterSchema","SubscriptionsAcknowledgedNotificationSchema","SubscriptionsAcknowledgedNotificationParamsSchema","SubscriptionsListenRequestSchema","SubscriptionsListenRequestParamsSchema","SubscriptionsListenResultSchema","SubscriptionsListenResultMetaSchema","TaskAugmentedRequestParamsSchema","TaskCreationParamsSchema","TaskMetadataSchema","TaskSchema","TaskStatusSchema","TaskStatusNotificationSchema","TaskStatusNotificationParamsSchema","TextContentSchema","TextResourceContentsSchema","TitledMultiSelectEnumSchemaSchema","TitledSingleSelectEnumSchemaSchema","ToolSchema","ToolAnnotationsSchema","ToolChoiceSchema","ToolExecutionSchema","ToolListChangedNotificationSchema","ToolResultContentSchema","ToolUseContentSchema","UnsubscribeRequestSchema","UnsubscribeRequestParamsSchema","UntitledMultiSelectEnumSchemaSchema","UntitledSingleSelectEnumSchemaSchema"],uz={IdJagTokenExchangeResponseSchema:ZM,OAuthClientInformationFullSchema:KM,OAuthClientInformationSchema:rw,OAuthClientMetadataSchema:aw,OAuthClientRegistrationErrorSchema:YM,OAuthErrorResponseSchema:JM,OAuthMetadataSchema:tw,OAuthProtectedResourceMetadataSchema:HM,OAuthTokenRevocationRequestSchema:GM,OAuthTokensSchema:WM,OpenIdProviderDiscoveryMetadataSchema:VM,OpenIdProviderMetadataSchema:nw},xw={},Sw={};function Cw(e,t){const a=e.slice(0,-6);xw[a]=t,Sw[a]=r=>t.safeParse(r).success}for(const e of cz)Cw(e,B4[e]);for(const[e,t]of Object.entries(uz))Cw(e,t);Object.freeze(xw);Object.freeze(Sw);function dz(e){switch(e){case"initialize":case"notifications/initialized":return Qs(void 0);case"server/discover":return Qs(yw);default:return}}const pz=6e4,mz=[yl,Md,El,zd],hz=["inputResponses","requestState"];function yf(e,t){const a=e.params;if(!Cc(a))return{message:e,lifted:{}};const r=a._meta,o=Cc(r)?mz.filter(c=>c in r):[],i=t==="request"?hz.filter(c=>c in a):[];if(o.length===0&&i.length===0)return{message:e,lifted:{}};const s={},l={...a};if(o.length>0&&Cc(r)){const c={},u={...r};for(const d of o)c[d]=r[d],delete u[d];s.envelope=c,Object.keys(u).length>0?l._meta=u:delete l._meta}for(const c of i)c==="inputResponses"&&(s.inputResponses=l[c]),c==="requestState"&&(s.requestState=l[c]),delete l[c];return{message:{...e,params:l},lifted:s}}function Ef(e,t){const a=e.validateResult(t,void 0);if(!(!a.ok&&a.reason==="not-in-era"))return{"~standard":{version:1,vendor:"mcp-wire-codec",validate(r){const o=e.validateResult(t,r);return o.ok?{value:o.value}:{issues:[{message:o.reason==="invalid"?o.message:`not-in-era: ${t}`}]}}}}}function Nw(e){return()=>e}const fz=Nw(void 0);var gz=class{constructor(e){Ye(this,"_transport");Ye(this,"_requestMessageId",0);Ye(this,"_requestHandlers",new Map);Ye(this,"_requestHandlerAbortControllers",new Map);Ye(this,"_notificationHandlers",new Map);Ye(this,"_responseHandlers",new Map);Ye(this,"_progressHandlers",new Map);Ye(this,"_timeoutInfo",new Map);Ye(this,"_pendingDebouncedNotifications",new Set);Ye(this,"_negotiatedProtocolVersion");Ye(this,"_supportedProtocolVersions");Ye(this,"onclose");Ye(this,"onerror");Ye(this,"fallbackRequestHandler");Ye(this,"fallbackNotificationHandler");this._options=e,this._supportedProtocolVersions=(e==null?void 0:e.supportedProtocolVersions)??bM,this.setNotificationHandler("notifications/cancelled",t=>{this._oncancel(t)}),this.setNotificationHandler("notifications/progress",t=>{this._onprogress(t)}),this.setRequestHandler("ping",t=>({}))}_shouldDropInbound(e){}_outboundMetaEnvelope(){}_envelopeOutbound(e){const t=this._outboundMetaEnvelope();if(t===void 0)return e;const a=e.params??{};return{...e,params:{...a,_meta:{...t,...a._meta}}}}_resolveNonCompleteResult(e,t){return Promise.reject(new Pn(Hn.UnsupportedResultType,`Unsupported result type '${e.kind}' for ${t.request.method}`,{resultType:e.kind,method:t.request.method}))}_getRequestHandler(e){return this._requestHandlers.get(e)}async _oncancel(e){var t;e.params.requestId&&((t=this._requestHandlerAbortControllers.get(e.params.requestId))==null||t.abort(e.params.reason))}_setupTimeout(e,t,a,r,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:a,resetTimeoutOnProgress:o,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const a=Date.now()-t.startTime;if(t.maxTotalTimeout&&a>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Pn(Hn.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:a});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var o,i,s,l;this._transport=e;const t=(o=this.transport)==null?void 0:o.onclose;this._transport.onclose=()=>{try{t==null||t()}finally{this._onclose()}};const a=(i=this.transport)==null?void 0:i.onerror;this._transport.onerror=c=>{a==null||a(c),this._onerror(c)};const r=(s=this._transport)==null?void 0:s.onmessage;this._transport.onmessage=(c,u)=>{r==null||r(c,u),gf(c)||W4(c)?this._onresponse(c):H4(c)?this._onrequest(c,u):V4(c)?this._onnotification(c,u):this._onerror(new Error(`Unknown message type: ${JSON.stringify(c)}`))},(l=e.setSupportedProtocolVersions)==null||l.call(e,this._supportedProtocolVersions),await this._transport.start()}_onclose(){var r;const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear();for(const o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();const t=this._requestHandlerAbortControllers;this._requestHandlerAbortControllers=new Map;const a=new Pn(Hn.ConnectionClosed,"Connection closed");this._transport=void 0;try{(r=this.onclose)==null||r.call(this)}finally{for(const o of e.values())o(a);for(const o of t.values())o.abort(a)}}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e,t){const{message:a}=yf(e,"notification"),r=this._negotiatedWireCodec();if((t==null?void 0:t.classification)===void 0&&this._shouldDropInbound(e)==="drop")return;if((t==null?void 0:t.classification)!==void 0){const s=ff(t.classification);if(s!==r.era){this._onerror(new Error(`Era mismatch on inbound notification '${a.method}': classified as ${s} but this instance serves ${r.era}`));return}}if(kc(a.method)&&!r.hasNotificationMethod(a.method))return;const o=this._notificationHandlers.get(a.method),i=this.fallbackNotificationHandler;o===void 0&&i===void 0||Promise.resolve().then(()=>o===void 0?i(a):o(a,r)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){var v;const{message:a,lifted:r}=yf(e,"request"),o=this._negotiatedWireCodec();if((t==null?void 0:t.classification)===void 0&&this._shouldDropInbound(e)==="drop"){this._onerror(new Error(`Dropped inbound request '${e.method}': not servable on this connection's protocol era`));return}const i=this._transport,s=(y,E,b)=>{const x={jsonrpc:"2.0",id:a.id,error:{code:y,message:E,...b!==void 0&&{data:b}}};i==null||i.send(x).catch(w=>this._onerror(new Error(`Failed to send an error response: ${w}`)))};if((t==null?void 0:t.classification)!==void 0){const y=ff(t.classification);if(y!==o.era){this._onerror(new Error(`Era mismatch on inbound request '${a.method}': classified as ${y} but this instance serves ${o.era}`));const E=t.classification.revision??y;s(kt.UnsupportedProtocolVersion,`Unsupported protocol version: ${E}`,{supported:this._supportedProtocolVersions,requested:E});return}}if(wc(a.method)&&!o.hasRequestMethod(a.method)){s(kt.MethodNotFound,"Method not found");return}const l=this._requestHandlers.get(a.method)??this.fallbackRequestHandler;if(l===void 0){s(kt.MethodNotFound,"Method not found");return}const c=o.checkInboundEnvelope(r);if(c!==void 0){s(kt.InvalidParams,c);return}const u=(y,E)=>this._notificationViaCodec(this._resolveOutboundCodec(y.method),y,{...E,relatedRequestId:a.id}),d=(y,E,b)=>this._requestWithSchemaViaCodec(this._resolveOutboundCodec(y.method),y,E,{...b,relatedRequestId:a.id}),p=new AbortController;this._requestHandlerAbortControllers.set(a.id,p);const m=r.inputResponses===void 0?void 0:vz(r.inputResponses),h={sessionId:i==null?void 0:i.sessionId,mcpReq:{id:a.id,method:a.method,_meta:(v=a.params)==null?void 0:v._meta,...r.envelope!==void 0&&{envelope:r.envelope},...m!==void 0&&{inputResponses:m.accepted},...m!==void 0&&m.droppedKeys.length>0&&{droppedInputResponseKeys:m.droppedKeys},requestState:r.requestState===void 0?fz:Nw(r.requestState),signal:p.signal,send:((y,E,b)=>{const x=this._resolveOutboundCodec(y.method);if(this._assertOutboundRequestInEra(x,y.method),Eu(E))return d(y,E,b);const w=Ef(x,y.method);if(w===void 0)throw new TypeError(`'${y.method}' is not a spec method; pass a result schema as the second argument to ctx.mcpReq.send().`);return d(y,w,E)}),notify:u},http:t!=null&&t.authInfo?{authInfo:t.authInfo}:void 0},f=this.buildContext(h,t);Promise.resolve().then(()=>l(a,f)).then(async y=>{if(p.signal.aborted)return;let E;try{E=o.encodeResult(a.method,y,this._outboundServerInfo())}catch(x){this._onerror(new Error(`Failed to encode result for ${a.method}: ${x}`)),s(kt.InternalError,"Internal error");return}const b={result:E,jsonrpc:"2.0",id:a.id};await(i==null?void 0:i.send(b))},async y=>{if(p.signal.aborted)return;const E=Number.isSafeInteger(y.code)?y.code:kt.InternalError,b={jsonrpc:"2.0",id:a.id,error:{code:o.encodeErrorCode(E),message:y.message??"Internal error",...y.data!==void 0&&{data:y.data}}};await(i==null?void 0:i.send(b))}).catch(y=>this._onerror(new Error(`Failed to send response: ${y}`))).finally(()=>{this._requestHandlerAbortControllers.get(a.id)===p&&this._requestHandlerAbortControllers.delete(a.id)})}_onprogress(e){const{progressToken:t,...a}=e.params,r=Number(t),o=this._progressHandlers.get(r);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const i=this._responseHandlers.get(r),s=this._timeoutInfo.get(r);if(s&&i&&s.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(l){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),i(l);return}o(a)}_onresponse(e){const t=Number(e.id),a=this._responseHandlers.get(t);if(a===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t),this._progressHandlers.delete(t),gf(e)?a(e):a(Vn.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}request(e,t,a){const r=this._resolveOutboundCodec(e.method);if(this._assertOutboundRequestInEra(r,e.method),Eu(t))return this._requestWithSchemaViaCodec(r,e,t,a);const o=Ef(r,e.method);if(o===void 0)throw new TypeError(`'${e.method}' is not a spec method; pass a result schema as the second argument to request().`);return this._requestWithSchemaViaCodec(r,e,o,t)}_negotiatedWireCodec(){return Qs(this._negotiatedProtocolVersion)}_wireCodec(){return this._negotiatedWireCodec()}_resolveOutboundCodec(e){if(this._negotiatedProtocolVersion===void 0){const t=dz(e);if(t)return t}return this._negotiatedWireCodec()}_assertOutboundRequestInEra(e,t){if(wc(t)&&!e.hasRequestMethod(t))throw new Pn(Hn.MethodNotSupportedByProtocolVersion,`Method '${t}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t,era:e.era})}_requestWithSchema(e,t,a){const r=this._resolveOutboundCodec(e.method);return this._assertOutboundRequestInEra(r,e.method),this._requestWithSchemaViaCodec(r,e,t,a)}_requestWithSchemaViaCodec(e,t,a,r){const{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,headers:l}=r??{},c=Date.now();let u,d;return new Promise((p,m)=>{var S,I,N,M;const h=k=>{m(k)};if(!this._transport){h(new Error("Not connected"));return}if(((S=this._options)==null?void 0:S.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(t.method)}catch(k){h(k);return}if((I=r==null?void 0:r.signal)!=null&&I.aborted){const k=r.signal.reason;throw k instanceof Pn?k:new Pn(Hn.RequestTimeout,String(k))}const f=e.era===yw&&this._transport.hasPerRequestStream===!0?new AbortController:void 0,v=this._requestMessageId++;d=v;const y={...t,jsonrpc:"2.0",id:v};r!=null&&r.onprogress&&(this._progressHandlers.set(v,r.onprogress),y.params={...t.params,_meta:{...(N=t.params)==null?void 0:N._meta,progressToken:v}});const E=this._envelopeOutbound(y);let b=!1;const x=k=>{var T;b||(this._progressHandlers.delete(v),f===void 0?(T=this._transport)==null||T.send(this._envelopeOutbound({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:v,reason:String(k)}}),{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(A=>this._onerror(new Error(`Failed to send cancellation: ${A}`))):f.abort(),m(k instanceof Pn?k:new Pn(Hn.RequestTimeout,String(k))))};this._responseHandlers.set(v,k=>{var q;if((q=r==null?void 0:r.signal)!=null&&q.aborted)return;if(b=!0,k instanceof Error)return m(k);let T;try{T=e.decodeResult(t.method,k.result)}catch(z){return m(z instanceof Error?z:new Error(String(z)))}if(T.kind==="invalid")return m(T.error);if(T.kind==="input_required"){if((r==null?void 0:r.allowInputRequired)===!0)return p(bz(T));const z={codec:e,request:t,resultSchema:a,options:r,flowStartedAt:c,retry:(F,H)=>this._requestWithSchemaViaCodec(e,F===void 0?{method:t.method}:{method:t.method,params:F},a,H)};return p(this._resolveNonCompleteResult(T,z))}const A=T.result;Sc(a,A).then(z=>{z.success?p(z.data):m(new Pn(Hn.InvalidResult,`Invalid result for ${t.method}: ${z.error}`))},m)}),u=()=>{var k;return x((k=r==null?void 0:r.signal)==null?void 0:k.reason)},(M=r==null?void 0:r.signal)==null||M.addEventListener("abort",u,{once:!0});const w=(r==null?void 0:r.timeout)??pz,R=()=>x(new Pn(Hn.RequestTimeout,"Request timed out",{timeout:w}));this._setupTimeout(v,w,r==null?void 0:r.maxTotalTimeout,R,(r==null?void 0:r.resetTimeoutOnProgress)??!1),this._transport.send(E,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,headers:l,requestSignal:f==null?void 0:f.signal}).catch(k=>{this._progressHandlers.delete(v),m(k)})}).finally(()=>{var p;u&&((p=r==null?void 0:r.signal)==null||p.removeEventListener("abort",u)),d!==void 0&&(this._responseHandlers.delete(d),this._cleanupTimeout(d))})}async notification(e,t){return this._notificationViaCodec(this._resolveOutboundCodec(e.method),e,t)}async _notificationViaCodec(e,t,a){var o;if(!this._transport)throw new Pn(Hn.NotConnected,"Not connected");if(kc(t.method)&&!e.hasNotificationMethod(t.method))throw new Pn(Hn.MethodNotSupportedByProtocolVersion,`Notification '${t.method}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t.method,era:e.era});this.assertNotificationCapability(t.method);const r=this._envelopeOutbound({jsonrpc:"2.0",...t});if((((o=this._options)==null?void 0:o.debouncedNotificationMethods)??[]).includes(t.method)&&!t.params&&!(a!=null&&a.relatedRequestId)){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{var i;this._pendingDebouncedNotifications.delete(t.method),this._transport&&((i=this._transport)==null||i.send(r,a).catch(s=>this._onerror(s)))});return}await this._transport.send(r,a)}setRequestHandler(e,t,a){this.assertRequestHandlerCapability(e);let r;if(typeof t=="function"){if(!wc(e))throw new TypeError(`'${e}' is not a spec request method; pass schemas as the second argument to setRequestHandler().`);r=(o,i)=>{const s=this._negotiatedWireCodec();let l=s.validateRequest(e,o);if(!l.ok&&l.reason==="not-in-era"&&(l=s.validateInputRequest(e,o)),!l.ok)throw l.reason==="not-in-era"?new Vn(kt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(l.message);return Promise.resolve(t(l.value,i))}}else if(a)r=async(o,i)=>{const s=await Sc(t.params,{...o.params});if(!s.success)throw new Vn(kt.InvalidParams,`Invalid params for ${e}: ${s.error}`);return a(s.data,i)};else throw new TypeError("setRequestHandler: handler is required");this._requestHandlers.set(e,this._wrapHandler(e,r))}_wrapHandler(e,t){return t}_outboundServerInfo(){}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t,a){if(typeof t=="function"){if(!kc(e))throw new TypeError(`'${e}' is not a spec notification method; pass schemas as the second argument to setNotificationHandler().`);this._notificationHandlers.set(e,(r,o)=>{const i=o.validateNotification(e,r);if(!i.ok)throw i.reason==="not-in-era"?new Vn(kt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(i.message);return Promise.resolve(t(i.value))});return}if(!a)throw new TypeError("setNotificationHandler: handler is required");this._notificationHandlers.set(e,async r=>{const o=await Sc(t.params,{...r.params});if(!o.success)throw new Vn(kt.InvalidParams,`Invalid params for notification ${e}: ${o.error}`);await a(o.data,r)})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function Cc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function wf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vz(e){const t={},a=[];if(!wf(e))return{accepted:t,droppedKeys:a};for(const[r,o]of Object.entries(e)){if(!wf(o)||"method"in o||"result"in o){a.push(r);continue}t[r]=o}return{accepted:t,droppedKeys:a}}function bz(e){return{resultType:"input_required",inputRequests:e.inputRequests,...e.requestState!==void 0&&{requestState:e.requestState}}}/*! +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const p=d[1];if(t===d[0]){i(d);continue}if(e.external){const h=(c=e.external.registry.get(d[0]))==null?void 0:c.id;if(t!==d[0]&&h){i(d);continue}}if((u=e.metadataRegistry.get(d[0]))==null?void 0:u.id){i(d);continue}if(p.cycle){i(d);continue}p.count>1&&e.reused==="ref"&&i(d)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Tb(e){const t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;const a=[];for(const r of t){if(!r||typeof r!="object")return;Tb(r);const o=Object.keys(r);if(o.length!==1||o[0]!=="type")return;const i=r.type;for(const s of Array.isArray(i)?i:[i]){if(typeof s!="string")return;a.includes(s)||a.push(s)}}delete e.anyOf,e.type=a.length===1?a[0]:a}const Ib=new Set(["type","properties","required","additionalProperties"]),Qh=["oneOf","anyOf"];function Xh(e){const t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function mu(e){var i;const t=[];for(const s of e){if(typeof s!="object"||s.type!=="object")return null;for(const l in s)if(!Ib.has(l))return null;t.push(s)}const a={},r=new Set;for(const s of t){for(const l in s.properties){if(Object.prototype.hasOwnProperty.call(a,l))continue;const c=[];for(const d of t){const p=((i=d.properties)==null?void 0:i[l])??Xh(d);p!=null&&(c.some(m=>JSON.stringify(m)===JSON.stringify(p))||c.push(p))}const u=c.length===1?c[0]:mu(c)??{allOf:c};ja(a,l,u)}for(const l of s.required??[])r.add(l)}const o={type:"object",properties:a};if(r.size&&(o.required=[...r]),t.every(s=>s.additionalProperties===!1))o.additionalProperties=!1;else{const s=[];for(const l of t){const c=Xh(l);c&&!s.some(u=>JSON.stringify(u)===JSON.stringify(c))&&s.push(c)}s.length===1?o.additionalProperties=s[0]:s.length>1&&(o.additionalProperties={allOf:s})}return o}function BP(e){const t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(const o of Ib)if(o in e)return;const a=t.filter(o=>Qh.some(i=>Array.isArray(o[i])));let r=null;if(!a.length)r=mu(t);else{const o=a[0],i=Qh.find(c=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;const s=t.filter(c=>c!==o),l=o[i].map(c=>mu([...s,c]));if(l.some(c=>!c))return;r={[i]:l}}r&&(delete e.allOf,fi(e,r))}function Js(e,t){var l,c,u,d;const a=e.seen.get(t);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=p=>{const m=e.seen.get(p);if(m.ref===null)return;const h=m.def??m.schema,f={...h},v=m.ref;if(m.ref=null,v){r(v);const E=e.seen.get(v),b=E.schema;if(b.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(h.allOf=h.allOf??[],h.allOf.push(b)):fi(h,b),fi(h,f),p._zod.parent===v)for(const w in h)w==="$ref"||w==="allOf"||w in f||delete h[w];if(b.$ref&&E.def)for(const w in h)w==="$ref"||w==="allOf"||w in E.def&&JSON.stringify(h[w])===JSON.stringify(E.def[w])&&delete h[w]}const y=p._zod.parent;if(y&&y!==v){r(y);const E=e.seen.get(y);if(E!=null&&E.schema.$ref&&(h.$ref=E.schema.$ref,E.def))for(const b in h)b==="$ref"||b==="allOf"||b in E.def&&JSON.stringify(h[b])===JSON.stringify(E.def[b])&&delete h[b]}e.override({zodSchema:p,jsonSchema:h,path:m.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(const p of[...e.seen.entries()].reverse())r(p[0]);if(e.target!=="openapi-3.0")for(const p of e.seen.entries())Tb(p[1].def??p[1].schema);for(const p of e.deferred)p();if(e.intersections.length){const p=new Map;for(const m of e.seen.values())for(const h of[m.schema,m.def]){const f=h==null?void 0:h.allOf;if(!Array.isArray(f))continue;const v=p.get(f);v?v.push(h):p.set(f,[h])}for(const m of e.intersections)for(const h of p.get(m)??[])BP(h)}}const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,(l=e.external)!=null&&l.uri){const p=(c=e.external.registry.get(t))==null?void 0:c.id;if(!p)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(p)}fi(o,a.defId?a.schema:a.def??a.schema);const i=(u=e.metadataRegistry.get(t))==null?void 0:u.id;i!==void 0&&o.id===i&&delete o.id;const s=((d=e.external)==null?void 0:d.defs)??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(const p of e.seen.entries()){const m=p[1];m.def&&m.defId&&(m.def.id===m.defId&&delete m.def.id,ja(s,m.defId,m.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const p=JSON.parse(JSON.stringify(o));return Object.defineProperty(p,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ks(t,"input",e.processors),output:Ks(t,"output",e.processors)}},enumerable:!1,writable:!1}),p}catch{throw new Error("Error converting schema to JSON.")}}function Bn(e,t){const a=t??{seen:new Set};if(a.seen.has(e))return!1;a.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Bn(r.element,a);if(r.type==="set")return Bn(r.valueType,a);if(r.type==="lazy")return Bn(r.getter(),a);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault"||r.type==="catch")return Bn(r.innerType,a);if(r.type==="intersection")return Bn(r.left,a)||Bn(r.right,a);if(r.type==="record"||r.type==="map")return Bn(r.keyType,a)||Bn(r.valueType,a);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Bn(r.in,a)||Bn(r.out,a);if(r.type==="object"){for(const o in r.shape)if(Bn(r.shape[o],a))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(Bn(o,a))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(Bn(o,a))return!0;return!!(r.rest&&Bn(r.rest,a))}return!1}const HP=(e,t={})=>a=>{const r=Ws({...a,processors:t});return Ht(e,r),Zs(r,e),Js(r,e)},Ks=(e,t,a={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=Ws({...o??{},target:i,io:t,processors:a});return Ht(e,s),Zs(s,e),Js(s,e)},Eo=(e,t,a)=>{(e[t]===void 0||a>e[t])&&(e[t]=a)},wo=(e,t,a)=>{(e[t]===void 0||a{Eo(e,"minimum",t),wo(e,"maximum",t)},Ab=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},_b=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Pb=(e,t)=>{e.mime=e.mime?e.mime.filter(a=>t.includes(a)):[...t]},Ob=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},tf=(e,t)=>Eo(e,"minimum",t.minimum),nf=(e,t)=>wo(e,"maximum",t.maximum),af=e=>(t,a)=>{Ob(t,a.format);const[r,o]=e[a.format];Eo(t,"minimum",r),wo(t,"maximum",o)},Ec={greater_than:(e,t)=>Eo(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>wo(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Ab(e,t.value),number_format:af(Qv),bigint_format:af(a2),min_length:tf,max_length:nf,length_equals:(e,t)=>ef(e,t.length),min_size:tf,max_size:nf,size_equals:(e,t)=>ef(e,t.size),string_format:(e,t)=>{Ob(e,t.format),t.pattern&&_b(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Pb(e,t.mime)};function ya(e){var i;const t={},a=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...a.checks??[]]:a.checks??[];for(const s of r)(i=Ec[s._zod.def.check])==null||i.call(Ec,t,s._zod.def);const o=e._zod.bag;o.minimum!==void 0&&Eo(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&Eo(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&wo(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&wo(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&Ab(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&Pb(t,o.mime);for(const s of o.patterns??[])_b(t,s);return t}const VP={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},WP=new Map([[mb,rA],[Td,oA]]),Mb=e=>WP.get(e)??e,zb=(e,t,a,r)=>{const o=a;o.type="string";const{minimum:i,maximum:s,format:l,patterns:c,contentEncoding:u,laxFormat:d}=ya(e);if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),l&&(o.format=VP[l]??l,o.format===""&&delete o.format,(l==="time"||d)&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const p=[...c].map(Mb);p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},Lb=(e,t,a,r)=>{const o=a,{minimum:i,maximum:s,multipleOf:l,exclusiveMaximum:c,exclusiveMinimum:u,isInt:d}=ya(e);o.type=d?"integer":"number";const p=typeof u=="number"&&u>=(i??Number.NEGATIVE_INFINITY),m=typeof c=="number"&&c<=(s??Number.POSITIVE_INFINITY),h=t.target==="draft-04"||t.target==="openapi-3.0";if(p?h?(o.minimum=u,o.exclusiveMinimum=!0):o.exclusiveMinimum=u:typeof i=="number"&&(o.minimum=i),m?h?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c:typeof s=="number"&&(o.maximum=s),l){const f=new Set;for(const E of l)Number.isFinite(E)&&E!==0?f.add(Math.abs(E)):Nn(e,t,o,r,`A multipleOf divisor of ${E} cannot be represented in JSON Schema`);const[v,...y]=f;v!==void 0&&(o.multipleOf=v),y.length&&(o.allOf=[...o.allOf??[],...y.map(E=>({multipleOf:E}))])}},Db=(e,t,a,r)=>{a.type="boolean"},ZP=(e,t,a,r)=>{Nn(e,t,a,r,"BigInt cannot be represented in JSON Schema")},JP=(e,t,a,r)=>{Nn(e,t,a,r,"Symbols cannot be represented in JSON Schema")},Fb=(e,t,a,r)=>{t.target==="openapi-3.0"?(a.type="string",a.nullable=!0,a.enum=[null]):a.type="null"},qb=(e,t,a,r)=>{Nn(e,t,a,r,"Undefined cannot be represented in JSON Schema")},KP=(e,t,a,r)=>{Nn(e,t,a,r,"Void cannot be represented in JSON Schema")},jb=(e,t,a,r)=>{a.not={}},Ub=(e,t,a,r)=>{},$b=(e,t,a,r)=>{},YP=(e,t,a,r)=>{Nn(e,t,a,r,"Date cannot be represented in JSON Schema")},Bb=(e,t,a,r)=>{const o=e._zod.def,i=lu(o.entries);if(i.length===0){a.not={};return}i.every(s=>typeof s=="number")&&(a.type="number"),i.every(s=>typeof s=="string")&&(a.type="string"),a.enum=i},Hb=(e,t,a,r)=>{const o=e._zod.def;if(o.values.length===0){a.not={};return}const i=[];for(const s of o.values)if(s===void 0){if(Nn(e,t,a,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(Nn(e,t,a,r,"BigInt literals cannot be represented in JSON Schema"))return;i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){const s=i[0];a.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?a.enum=[s]:a.const=s}else i.every(s=>typeof s=="number")&&(a.type="number"),i.every(s=>typeof s=="string")&&(a.type="string"),i.every(s=>typeof s=="boolean")&&(a.type="boolean"),i.every(s=>s===null)&&(a.type="null"),a.enum=i},GP=(e,t,a,r)=>{Nn(e,t,a,r,"NaN cannot be represented in JSON Schema")},QP=(e,t,a,r)=>{const o=a,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},XP=(e,t,a,r)=>{const o=a;o.type="string",o.format="binary",o.contentEncoding="binary";const{minimum:i,maximum:s,mime:l}=ya(e);i!==void 0&&(o.minLength=i),s!==void 0&&(o.maxLength=s),l&&(l.length===0?o.not={}:l.length===1?o.contentMediaType=l[0]:o.anyOf=l.map(c=>({contentMediaType:c})))},eO=(e,t,a,r)=>{a.type="boolean"},Vb=(e,t,a,r)=>{Nn(e,t,a,r,"Custom types cannot be represented in JSON Schema")},tO=(e,t,a,r)=>{Nn(e,t,a,r,"Function types cannot be represented in JSON Schema")},Wb=(e,t,a,r)=>{Nn(e,t,a,r,"Transforms cannot be represented in JSON Schema")},nO=(e,t,a,r)=>{Nn(e,t,a,r,"Map cannot be represented in JSON Schema")},aO=(e,t,a,r)=>{Nn(e,t,a,r,"Set cannot be represented in JSON Schema")},Zb=(e,t,a,r)=>{const o=a,i=e._zod.def,{minimum:s,maximum:l}=ya(e);typeof s=="number"&&(o.minItems=s),typeof l=="number"&&(o.maxItems=l),o.type="array",o.items=Ht(i.element,t,{...r,path:[...r.path,"items"]})};function ko(e){const t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?ko(t.out):t.type==="catch"?ko(t.innerType):e._zod.optin}const Jb=(e,t,a,r)=>{var d;const o=a,i=e._zod.def,s=i.shape;if(Object.getOwnPropertySymbols(s).length&&Nn(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(const p in s)ja(o.properties,p,Ht(s[p],t,{...r,path:[...r.path,"properties",p]}));const c=new Set(Object.keys(s)),u=new Set([...c].filter(p=>{const m=i.shape[p];return t.io==="input"?ko(m)===void 0:m._zod.optout===void 0}));u.size>0&&(o.required=Array.from(u)),((d=i.catchall)==null?void 0:d._zod.def.type)==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Ht(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},rO=(e,t,a,r)=>{const o=a,i=e._zod.def;if(Object.getOwnPropertySymbols(i.shape).length&&Nn(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;if(t.io==="output"){for(const l in i.shape)if(Bn(i.shape[l])&&Nn(e,t,o,r,`z.properties() returns its input, so the output of a transforming schema at key "${l}" cannot be represented in JSON Schema`))return}o.type="object",o.properties={};for(const l in i.shape)ja(o.properties,l,Ht(i.shape[l],t,{...r,path:[...r.path,"properties",l]}));const s=Object.keys(i.shape).filter(l=>ko(i.shape[l])===void 0);s.length>0&&(o.required=s)},Kb=(e,t,a,r)=>{const o=e._zod.def,i=o.inclusive===!1,s=o.options.map((l,c)=>Ht(l,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));i?a.oneOf=s:a.anyOf=s},Yb=(e,t,a,r)=>{const o=e._zod.def,i=Ht(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=Ht(o.right,t,{...r,path:[...r.path,"allOf",1]}),l=u=>"allOf"in u&&Object.keys(u).length===1,c=[...l(i)?i.allOf:[i],...l(s)?s.allOf:[s]];a.allOf=c,t.intersections.push(c)},oO=(e,t,a,r)=>{const o=a,i=e._zod.def;o.type="array";const s=t.target==="draft-2020-12"?"prefixItems":"items",l=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((v,y)=>Ht(v,t,{...r,path:[...r.path,s,y]})),u=i.rest?Ht(i.rest,t,{...r,path:[...r.path,l,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;let d=i.items.length;for(;d>0;){const v=i.items[d-1];if(!(t.io==="input"?ko(v)!==void 0:v._zod.optout==="optional"))break;d--}const p=i.items.length,m=!i.rest;t.target==="draft-2020-12"?(o.prefixItems=c,m?o.items=!1:u&&(o.items=u),d>0&&(o.minItems=d),m&&(o.maxItems=p)):t.target==="openapi-3.0"?(o.items={anyOf:c},u&&o.items.anyOf.push(u),d>0&&(o.minItems=d),m&&(o.maxItems=p)):(o.items=c,m?o.additionalItems=!1:u&&(o.additionalItems=u),d>0&&(o.minItems=d),m&&(o.maxItems=p));const{minimum:h,maximum:f}=ya(e);typeof h=="number"&&(o.minItems=h),typeof f=="number"&&(o.maxItems=f)};function hu(e,t,a){var f;if(t.$ref){if(a.has(t))return t;a.add(t);const v=(f=e.get(t))==null?void 0:f.def;if(!v)return t;const y=hu(e,v,a);return y===v?t:y}for(const v of["anyOf","oneOf"]){const y=t[v];if(!Array.isArray(y))continue;const E=y.map(b=>hu(e,b,a));E.some((b,x)=>b!==y[x])&&(t={...t,[v]:E})}const r=Array.isArray(t.type)?t.type:[t.type],o=!r.includes("string")&&r.some(v=>v==="number"||v==="integer"),i=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!(i!=null&&i.some(v=>typeof v=="number")))return t;const{minimum:s,maximum:l,exclusiveMinimum:c,exclusiveMaximum:u,multipleOf:d,format:p,id:m,...h}=t;return h.enum?h.enum=h.enum.map(v=>typeof v=="number"?String(v):v):typeof h.const=="number"&&(h.const=String(h.const)),o&&(h.type="string",i||(h.pattern=(r.includes("number")?Cd:mA).source)),h}const fu=new WeakMap;function iO(e){var r;const t=new Map;for(const o of e.seen.values())o.def&&!t.has(o.schema)&&t.set(o.schema,o);const a=new Map;for(const o of fu.get(e)??[]){const i=e.seen.get(o),s=(r=(i==null?void 0:i.def)??(i==null?void 0:i.schema))==null?void 0:r.propertyNames;if(!s||s===!0||a.has(s))continue;const l=hu(t,s,new Set);l!==s&&a.set(s,l)}if(a.size)for(const o of e.seen.values())for(const i of[o.schema,o.def]){const s=i&&a.get(i.propertyNames);s&&(i.propertyNames=s)}}const Gb=(e,t,a,r)=>{const o=a,i=e._zod.def;o.type="object";const s=i.keyType,l=ya(s).patterns;if(i.mode==="loose"&&l&&l.size>0){const d=Ht(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const p of l)ja(o.patternProperties,Mb(p).source,d)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=Ht(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});let d=fu.get(t);d||(d=[],fu.set(t,d),t.deferred.push(()=>iO(t))),d.push(e)}o.additionalProperties=Ht(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}const c=s._zod.values,u=t.io==="input"&&ko(i.valueType)!==void 0;if(c&&!i.partial&&!u){const d=[...c].filter(p=>typeof p=="string"||typeof p=="number");d.length>0&&(o.required=d.map(String))}},Qb=(e,t,a,r)=>{const o=e._zod.def,i=Ht(o.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,a.nullable=!0):a.anyOf=[i,{type:"null"}]},Xb=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Id=Symbol();function ey(e,t,a,r,o){let i=!1;const s=JSON.stringify(e,(l,c)=>typeof c!="bigint"?c:(i=!0,null));return i?(Nn(t,a,r,o,"BigInt defaults cannot be represented in JSON Schema"),Id):JSON.parse(s)}const ty=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;const s=ey(o.defaultValue,e,t,a,r);s!==Id&&(a.default=s)},ny=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);if(i.ref=o.innerType,t.io!=="input")return;const s=ey(o.defaultValue,e,t,a,r);s!==Id&&(a._prefault=s)},ay=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{Nn(e,t,a,r,"Dynamic catch values are not supported in JSON Schema");return}a.default=s},ry=(e,t,a,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;Ht(s,t,r);const l=t.seen.get(e);l.ref=s},oy=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,a.readOnly=!0},sO=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ad=(e,t,a,r)=>{const o=e._zod.def;Ht(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},iy=(e,t,a,r)=>{const o=e._zod.innerType;Ht(o,t,r);const i=t.seen.get(e);i.ref=o},rf={string:zb,number:Lb,boolean:Db,bigint:ZP,symbol:JP,null:Fb,undefined:qb,void:KP,never:jb,any:Ub,unknown:$b,date:YP,enum:Bb,literal:Hb,nan:GP,template_literal:QP,file:XP,success:eO,custom:Vb,properties:rO,function:tO,transform:Wb,map:nO,set:aO,array:Zb,object:Jb,union:Kb,intersection:Yb,tuple:oO,record:Gb,nullable:Qb,nonoptional:Xb,default:ty,prefault:ny,catch:ay,pipe:ry,readonly:oy,promise:sO,optional:Ad,lazy:iy};function sy(e,t){if("_idmap"in e){const r=e,o=Ws({...t,processors:rf}),i={};for(const c of r._idmap.entries()){const[u,d]=c;Ht(d,o)}const s={},l={registry:r,uri:t==null?void 0:t.uri,defs:i};o.external=l;for(const c of r._idmap.entries()){const[u,d]=c;Zs(o,d),ja(s,u,Js(o,d))}if(Object.keys(i).length>0){const c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}const a=Ws({...t,processors:rf});return Ht(e,a),Zs(a,e),Js(a,e)}const of=new WeakSet([Object.prototype,Error.prototype]);function rs(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){const r=a(this);return Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0})}})}const lO=(e,t)=>{C2.init(e,t),e.name="ZodError";const a=Object.getPrototypeOf(e);of.has(a)||(of.add(a),rs(a,"format",r=>o=>T2(r,o)),rs(a,"flatten",r=>o=>R2(r,o)),rs(a,"addIssue",r=>o=>{r.issues.push(o),r.message=JSON.stringify(r.issues,cu,2)}),rs(a,"addIssues",r=>o=>{r.issues.push(...o),r.message=JSON.stringify(r.issues,cu,2)}),Object.defineProperty(a,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},za=le("ZodError",lO,void 0,{Parent:Error}),cO=wd(za),uO=kd(za),ly=xd(za),dO=Sd(za),pO=M2(za),mO=z2(za),hO=L2(za),fO=D2(za),gO=F2(za),vO=q2(za),bO=j2(za),yO=U2(za);function EO(){qa.localeError||Ka(Z_())}function bl(){qa.memoizer||Ka({memoizer:H_()})}const Wt=le("ZodType",(e,t)=>(EO(),Vt.init(e,t),e.def=t,e.type=t.type,e),{check(...e){const t=this.def;return this.clone(va(t,{checks:[...t.checks??[],...e.map(a=>typeof a=="function"?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return kr(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(mM(e,t))},superRefine(e,t){return this.check(hM(e,t))},overwrite(e){return this.check(Ao(e))},optional(){return Je(this)},exactOptional(){return XO(this)},nullable(){return cf(this)},nullish(){return Je(cf(this))},nonoptional(e){return oM(this,e)},array(){return re(this)},or(e){return Te([this,e])},and(e){return $r(this,e)},transform(e){return uf(this,vy(e))},default(e){return nM(this,e)},prefault(e){return rM(this,e)},catch(e){return sM(this,e)},pipe(e){return uf(this,e)},readonly(){return uM(this)},describe(e){const t=this.clone();return si.add(t,{description:e}),t},meta(...e){if(e.length===0)return si.get(this);const t=this.clone();return si.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return eb(this,"~standard",{...lb(this),jsonSchema:{input:Ks(this,"input"),output:Ks(this,"output")}})},set"~standard"(e){yr(this,"~standard",e)},parse:function e(t,a){return cO(this,t,a,{callee:e})},parseAsync:async function e(t,a){return await uO(this,t,a,{callee:e})},safeParse(e,t){return ly(this,e,t)},async safeParseAsync(e,t){return dO(this,e,t)},get spa(){return this==null?void 0:this.safeParseAsync},set spa(e){yr(this,"spa",e)},validate(e,t){return _2(this,e,t)},validateAsync(e,t){return O2(this,e,t)},encode:function e(t,a){return pO(this,t,a,{callee:e})},decode:function e(t,a){return mO(this,t,a,{callee:e})},encodeAsync:async function e(t,a){return await hO(this,t,a,{callee:e})},decodeAsync:async function e(t,a){return await fO(this,t,a,{callee:e})},safeEncode(e,t){return gO(this,e,t)},safeDecode(e,t){return vO(this,e,t)},async safeEncodeAsync(e,t){return bO(this,e,t)},async safeDecodeAsync(e,t){return yO(this,e,t)},toJSONSchema(e){return HP(this,{})(e)},get description(){var e;return(e=si.get(this))==null?void 0:e.description},get _def(){return this._zod.def}}),cy=le("_ZodString",(e,t)=>{Rd.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>zb(e,a,r)},tb({format:e=>ya(e).format??null,minLength:e=>ya(e).minimum??null,maxLength:e=>ya(e).maximum??null},{regex(...e){return this.check(TP(...e))},includes(...e){return this.check(_P(...e))},startsWith(...e){return this.check(PP(...e))},endsWith(...e){return this.check(OP(...e))},min(...e){return this.check(Vs(...e))},max(...e){return this.check(Nb(...e))},length(...e){return this.check(Rb(...e))},nonempty(...e){return this.check(Vs(1,...e))},lowercase(e){return this.check(IP(e))},uppercase(e){return this.check(AP(e))},trim(){return this.check(zP())},normalize(...e){return this.check(MP(...e))},toLowerCase(){return this.check(LP())},toUpperCase(){return this.check(DP())},slugify(){return this.check(FP())}})),wO=le("ZodString",(e,t)=>{Rd.init(e,t),cy.init(e,t)},{email(e){return this.check(kb(py,e))},url(e){return this.check(xb(my,e))},jwt(e){return this.check(gP(jO,e))},emoji(e){return this.check(nP(NO,e))},guid(e){return this.check(G_(CO,e))},uuid(e){return this.check(Q_(os,e))},uuidv4(e){return this.check(X_(os,e))},uuidv6(e){return this.check(eP(os,e))},uuidv7(e){return this.check(tP(os,e))},nanoid(e){return this.check(aP(RO,e))},cuid(e){return this.check(rP(TO,e))},cuid2(e){return this.check(oP(IO,e))},ulid(e){return this.check(iP(AO,e))},base64(e){return this.check(mP(DO,e))},base64url(e){return this.check(hP(FO,e))},xid(e){return this.check(sP(_O,e))},ksuid(e){return this.check(lP(PO,e))},ipv4(e){return this.check(cP(OO,e))},ipv6(e){return this.check(uP(MO,e))},cidrv4(e){return this.check(dP(zO,e))},cidrv6(e){return this.check(pP(LO,e))},e164(e){return this.check(fP(qO,e))},datetime(e){return this.check(Sb(uy,e))},date(e){return this.check(Cb(dy,e))},time(e){return this.check(vP(kO,e))},duration(e){return this.check(bP(xO,e))}});function C(e){return Y_(wO,e)}const nn=le("ZodStringFormat",(e,t)=>{Xt.init(e,t),cy.init(e,t)}),uy=le("ZodISODateTime",(e,t)=>{YA.init(e,t),nn.init(e,t)}),dy=le("ZodISODate",(e,t)=>{GA.init(e,t),nn.init(e,t)}),kO=le("ZodISOTime",(e,t)=>{QA.init(e,t),nn.init(e,t)}),xO=le("ZodISODuration",(e,t)=>{XA.init(e,t),nn.init(e,t)}),py=le("ZodEmail",(e,t)=>{LA.init(e,t),nn.init(e,t)});function SO(e){return kb(py,e)}const CO=le("ZodGUID",(e,t)=>{MA.init(e,t),nn.init(e,t)}),os=le("ZodUUID",(e,t)=>{zA.init(e,t),nn.init(e,t)}),my=le("ZodURL",(e,t)=>{$A.init(e,t),nn.init(e,t)});function hy(e){return xb(my,e)}const NO=le("ZodEmoji",(e,t)=>{BA.init(e,t),nn.init(e,t)}),RO=le("ZodNanoID",(e,t)=>{HA.init(e,t),nn.init(e,t)}),TO=le("ZodCUID",(e,t)=>{VA.init(e,t),nn.init(e,t)}),IO=le("ZodCUID2",(e,t)=>{WA.init(e,t),nn.init(e,t)}),AO=le("ZodULID",(e,t)=>{ZA.init(e,t),nn.init(e,t)}),_O=le("ZodXID",(e,t)=>{JA.init(e,t),nn.init(e,t)}),PO=le("ZodKSUID",(e,t)=>{KA.init(e,t),nn.init(e,t)}),OO=le("ZodIPv4",(e,t)=>{e_.init(e,t),nn.init(e,t)}),MO=le("ZodIPv6",(e,t)=>{n_.init(e,t),nn.init(e,t)}),zO=le("ZodCIDRv4",(e,t)=>{a_.init(e,t),nn.init(e,t)}),LO=le("ZodCIDRv6",(e,t)=>{o_.init(e,t),nn.init(e,t)}),DO=le("ZodBase64",(e,t)=>{i_.init(e,t),nn.init(e,t)}),FO=le("ZodBase64URL",(e,t)=>{l_.init(e,t),nn.init(e,t)}),qO=le("ZodE164",(e,t)=>{c_.init(e,t),nn.init(e,t)}),jO=le("ZodJWT",(e,t)=>{d_.init(e,t),nn.init(e,t)}),_d=le("ZodNumber",(e,t)=>{hb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Lb(e,a,r,o),e.isFinite=!0},tb({minValue:e=>{const{minimum:t,exclusiveMinimum:a}=ya(e);return Math.max(t??Number.NEGATIVE_INFINITY,a??Number.NEGATIVE_INFINITY)},maxValue:e=>{const{maximum:t,exclusiveMaximum:a}=ya(e);return Math.min(t??Number.POSITIVE_INFINITY,a??Number.POSITIVE_INFINITY)},isInt:e=>{const{isInt:t,multipleOf:a}=ya(e);return!!t||!!(a!=null&&a.some(Number.isSafeInteger))},format:e=>ya(e).format??null},{gt(e,t){return this.check(Kh(e,t))},gte(e,t){return this.check(yc(e,t))},min(e,t){return this.check(yc(e,t))},lt(e,t){return this.check(Jh(e,t))},lte(e,t){return this.check(bc(e,t))},max(e,t){return this.check(bc(e,t))},int(e){return this.check(sf(e))},safe(e){return this.check(sf(e))},positive(e){return this.check(Kh(0,e))},nonnegative(e){return this.check(yc(0,e))},negative(e){return this.check(Jh(0,e))},nonpositive(e){return this.check(bc(0,e))},multipleOf(e,t){return this.check(Yh(e,t))},step(e,t){return this.check(Yh(e,t))},finite(){return this}}));function fe(e){return yP(_d,e)}const UO=le("ZodNumberFormat",(e,t)=>{p_.init(e,t),_d.init(e,t)});function sf(e){return wP(UO,e)}const $O=le("ZodBoolean",(e,t)=>{m_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Db(e,a,r)});function Ae(e){return kP($O,e)}const BO=le("ZodUndefined",(e,t)=>{h_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>qb(e,a,r,o)});function gu(e){return xP(BO,e)}const HO=le("ZodNull",(e,t)=>{f_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Fb(e,a,r)});function Si(e){return SP(HO,e)}const VO=le("ZodAny",(e,t)=>{g_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ub()});function Pd(){return CP(VO)}const WO=le("ZodUnknown",(e,t)=>{v_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>$b()});function He(){return NP(WO)}const ZO=le("ZodNever",(e,t)=>{b_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>jb(e,a,r)});function vu(e){return RP(ZO,e)}const JO=le("ZodArray",(e,t)=>{bl(),y_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Zb(e,a,r,o),e.element=t.element},{min(e,t){return this.check(Vs(e,t))},nonempty(e){return this.check(Vs(1,e))},max(e,t){return this.check(Nb(e,t))},length(e,t){return this.check(Rb(e,t))},unwrap(){return this.element}});function re(e,t){return qP(JO,e,t)}const fy=le("ZodObject",(e,t)=>{bl(),k_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Jb(e,a,r,o),g2(e,"shape",a=>a._zod.def.shape,!1)},{keyof(){return dt(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(va(this._zod.def,{catchall:e}))},passthrough(){return this.clone(va(this._zod.def,{catchall:He()}))},loose(){return this.clone(va(this._zod.def,{catchall:He()}))},strict(){return this.clone(va(this._zod.def,{catchall:vu()}))},strip(){return this.clone(va(this._zod.def,{catchall:void 0}))},extend(e){return i2(this,e)},safeExtend(e){return s2(this,e)},merge(e){return l2(this,e)},pick(e){return r2(this,e)},omit(e){return o2(this,e)},partial(...e){return Ah(by,this,e[0])},exactPartial(...e){return Ah(yy,this,e[0],"exactPartial")},required(...e){return c2(Ey,this,e[0])}});function $(e,t){const a={type:"object",shape:e??{},...Ve(t)};return new fy(a)}function et(e,t){return new fy({type:"object",shape:e,catchall:He(),...Ve(t)})}const gy=le("ZodUnion",(e,t)=>{vb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Kb(e,a,r,o),e.options=t.options});function Te(e,t){return new gy({type:"union",options:e,...Ve(t)})}const KO=le("ZodDiscriminatedUnion",(e,t)=>{gy.init(e,t),S_.init(e,t)});function Ys(e,t,a){return new KO({type:"union",options:t,discriminator:e,...Ve(a)})}const YO=le("ZodIntersection",(e,t)=>{C_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Yb(e,a,r,o)});function $r(e,t){return new YO({type:"intersection",left:e,right:t})}const lf=le("ZodRecord",(e,t)=>{bl(),N_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Gb(e,a,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Re(e,t,a){return!t||!t._zod?new lf({type:"record",keyType:C(),valueType:e,...Ve(t)}):new lf({type:"record",keyType:e,valueType:t,...Ve(a)})}const bu=le("ZodEnum",(e,t)=>{R_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Bb(e,r,o),e.enum=t.entries,e.options=[...e._zod.values];const a=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const s of r)if(a.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new bu({...t,checks:[],...Ve(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const s of r)if(a.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new bu({...t,checks:[],...Ve(o),entries:i})}});function dt(e,t){const a=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new bu({type:"enum",entries:a,...Ve(t)})}const GO=le("ZodLiteral",(e,t)=>{T_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Hb(e,a,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function J(e,t){return new GO({type:"literal",values:Array.isArray(e)?e:[e],...Ve(t)})}const QO=le("ZodTransform",(e,t)=>{bl(),I_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Wb(e,a,r,o),e._zod.parse=(a,r)=>{if(r.direction==="backward")throw new nb(e.constructor.name);a.addIssue=i=>{if(typeof i=="string")a.issues.push(xi(i,a.value,t));else{const s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=a.value),s.inst??(s.inst=e),a.issues.push(xi(s))}};const o=t.transform(a.value,a);return o instanceof Promise?o.then(i=>(a.value=i,a)):(a.value=o,a)}});function vy(e){return new QO({type:"transform",transform:e})}const by=le("ZodOptional",(e,t)=>{bb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ad(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function Je(e){return new by({type:"optional",innerType:e})}const yy=le("ZodExactOptional",(e,t)=>{A_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ad(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function XO(e){return new yy({type:"optional",innerType:e})}const eM=le("ZodNullable",(e,t)=>{__.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Qb(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function cf(e){return new eM({type:"nullable",innerType:e})}const tM=le("ZodDefault",(e,t)=>{P_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ty(e,a,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function nM(e,t){return new tM({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Yv(t)}})}const aM=le("ZodPrefault",(e,t)=>{O_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ny(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function rM(e,t){return new aM({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Yv(t)}})}const Ey=le("ZodNonOptional",(e,t)=>{M_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Xb(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function oM(e,t){return new Ey({type:"nonoptional",innerType:e,...Ve(t)})}const iM=le("ZodCatch",(e,t)=>{z_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ay(e,a,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function sM(e,t){return new iM({type:"catch",innerType:e,catchValue:typeof t=="function"?t:b2(t)})}const wy=le("ZodPipe",(e,t)=>{yb.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>ry(e,a,r,o),e.in=t.in,e.out=t.out});function uf(e,t){return new wy({type:"pipe",in:e,out:t})}const lM=le("ZodPreprocess",(e,t)=>{wy.init(e,t),L_.init(e,t)}),cM=le("ZodReadonly",(e,t)=>{D_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>oy(e,a,r,o),e.unwrap=()=>e._zod.def.innerType});function uM(e){return new cM({type:"readonly",innerType:e})}const dM=le("ZodLazy",(e,t)=>{F_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>iy(e,a,r,o),e.unwrap=()=>e._zod.def.getter()});function Od(e){return new dM({type:"lazy",getter:e})}const pM=le("ZodCustom",(e,t)=>{q_.init(e,t),Wt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Vb(e,a,r,o)});function mM(e,t={}){return jP(pM,e,t)}function hM(e,t){return UP(e,t)}function Ci(e,t){return new lM({type:"pipe",in:vy(e),out:t})}const fM={custom:"custom"};function yl(e){return Sb(uy,e)}function gM(e){return Cb(dy,e)}function vM(e){return EP(_d,e)}const bM="2025-11-25",yM=[bM,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],EM="io.modelcontextprotocol/related-task",El="io.modelcontextprotocol/protocolVersion",Md="io.modelcontextprotocol/clientInfo",gi="io.modelcontextprotocol/serverInfo",wl="io.modelcontextprotocol/clientCapabilities",wM="io.modelcontextprotocol/subscriptionId",zd="io.modelcontextprotocol/logLevel",kl="2.0",xo=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),xo),re(xo)])),mn=Re(C(),xo),kM=re(xo),Ld=Te([C(),fe().int()]),Dd=C(),ky=$({ttl:fe().optional()}),xy=$({taskId:C()}),Fd=et({progressToken:Ld.optional(),[EM]:xy.optional()}),Jn=$({_meta:Fd.optional()}),Vi=Jn.extend({task:ky.optional()}),fn=$({method:C(),params:Jn.loose().optional()}),sa=$({_meta:Fd.optional()}),la=$({method:C(),params:sa.loose().optional()}),qd=et({get[gi](){return Po.optional().catch(void 0)}}),gn=et({_meta:qd.optional()}),Wr=Te([C(),fe().int()]),jd=$({jsonrpc:J(kl),id:Wr,...fn.shape}).strict(),Ud=$({jsonrpc:J(kl),...la.shape}).strict(),xl=$({jsonrpc:J(kl),id:Wr,result:gn}).strict(),Sl=$({jsonrpc:J(kl),id:Wr.optional(),error:$({code:fe().int(),message:C(),data:He().optional()})}).strict(),Sy=Te([jd,Ud,xl,Sl]),xM=Te([xl,Sl]),Cl=gn.strict(),Cy=sa.extend({requestId:Wr.optional(),reason:C().optional()}),$d=la.extend({method:J("notifications/cancelled"),params:Cy}),Ny=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),_o=$({icons:re(Ny).optional()}),Br=$({name:C(),title:C().optional()}),Po=Br.extend({...Br.shape,..._o.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),SM=$r($({applyDefaults:Ae().optional()}),mn),CM=Ci(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,$r($({form:SM.optional(),url:mn.optional()}),mn.optional())),Ry=et({list:mn.optional(),cancel:mn.optional(),requests:et({sampling:et({createMessage:mn.optional()}).optional(),elicitation:et({create:mn.optional()}).optional()}).optional()}),Ty=et({list:mn.optional(),cancel:mn.optional(),requests:et({tools:et({call:mn.optional()}).optional()}).optional()}),Iy=$({experimental:Re(C(),mn).optional(),sampling:$({context:mn.optional(),tools:mn.optional()}).optional(),elicitation:CM.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:Ry.optional(),extensions:Re(C(),mn).optional()}),Ay=Jn.extend({protocolVersion:C(),capabilities:Iy,clientInfo:Po}),_y=fn.extend({method:J("initialize"),params:Ay}),Bd=$({experimental:Re(C(),mn).optional(),logging:mn.optional(),completions:mn.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:Ty.optional(),extensions:Re(C(),mn).optional()}),Py=gn.extend({protocolVersion:C(),capabilities:Bd,serverInfo:Po,instructions:C().optional()}),Oy=la.extend({method:J("notifications/initialized"),params:sa.optional()}),My=fn.extend({method:J("server/discover"),params:Jn.optional()}),zy=gn.extend({supportedVersions:re(C()),capabilities:Bd,instructions:C().optional()}),Hd=fn.extend({method:J("ping"),params:Jn.optional()}),Ly=$({progress:fe(),total:Je(fe()),message:Je(C())}),Dy=$({...sa.shape,...Ly.shape,progressToken:Ld}),Vd=la.extend({method:J("notifications/progress"),params:Dy}),Fy=Jn.extend({cursor:Dd.optional()}),Oo=fn.extend({params:Fy.optional()}),Mo=gn.extend({nextCursor:Dd.optional()}),Wd=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),Zd=Wd.extend({text:C()}),Jd=C().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Kd=Wd.extend({blob:Jd}),zo=dt(["user","assistant"]),Zr=$({audience:re(zo).optional(),priority:fe().min(0).max(1).optional(),lastModified:yl({offset:!0}).optional()}),Yd=$({...Br.shape,..._o.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:Zr.optional(),_meta:Je(et({}))}),qy=$({...Br.shape,..._o.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:Zr.optional(),_meta:Je(et({}))}),jy=Oo.extend({method:J("resources/list")}),Uy=Mo.extend({resources:re(Yd)}),$y=Oo.extend({method:J("resources/templates/list")}),By=Mo.extend({resourceTemplates:re(qy)}),Nl=Jn.extend({uri:C()}),Hy=Nl,Vy=fn.extend({method:J("resources/read"),params:Hy}),Wy=gn.extend({contents:re(Te([Zd,Kd]))}),Zy=la.extend({method:J("notifications/resources/list_changed"),params:sa.optional()}),Jy=Nl,Ky=fn.extend({method:J("resources/subscribe"),params:Jy}),Yy=Nl,Gy=fn.extend({method:J("resources/unsubscribe"),params:Yy}),Gd=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:re(C()).optional()}),Qy=Jn.extend({notifications:Gd}),Xy=fn.extend({method:J("subscriptions/listen"),params:Qy}),eE=sa.extend({notifications:Gd}),tE=la.extend({method:J("notifications/subscriptions/acknowledged"),params:eE}),nE=qd.extend({[wM]:Wr}),aE=gn.extend({_meta:nE}),rE=sa.extend({uri:C()}),oE=la.extend({method:J("notifications/resources/updated"),params:rE}),iE=$({name:C(),description:Je(C()),required:Je(Ae())}),sE=$({...Br.shape,..._o.shape,description:Je(C()),arguments:Je(re(iE)),_meta:Je(et({}))}),lE=Oo.extend({method:J("prompts/list")}),cE=Mo.extend({prompts:re(sE)}),uE=Jn.extend({name:C(),arguments:Re(C(),C()).optional()}),dE=fn.extend({method:J("prompts/get"),params:uE}),Rl=$({type:J("text"),text:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Tl=$({type:J("image"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Il=$({type:J("audio"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),pE=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),Qd=$({type:J("resource"),resource:Te([Zd,Kd]),annotations:Zr.optional(),_meta:Re(C(),He()).optional()}),Xd=Yd.extend({type:J("resource_link")}),Lo=Te([Rl,Tl,Il,Xd,Qd]),mE=$({role:zo,content:Lo}),hE=gn.extend({description:C().optional(),messages:re(mE)}),fE=la.extend({method:J("notifications/prompts/list_changed"),params:sa.optional()}),gE=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),vE=$({taskSupport:dt(["required","optional","forbidden"]).optional()}),Al=$({...Br.shape,..._o.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),xo).optional(),required:re(C()).optional()}).catchall(He()),outputSchema:et({$schema:C().optional()}).optional(),annotations:gE.optional(),execution:vE.optional(),_meta:Re(C(),He()).optional()}),bE=Oo.extend({method:J("tools/list")}),yE=Mo.extend({tools:re(Al)}),_l=gn.extend({content:re(Lo).default([]),structuredContent:He().optional(),isError:Ae().optional()}),NM=_l.or(gn.extend({toolResult:He()})),EE=Vi.extend({name:C(),arguments:Re(C(),He()).optional()}),wE=fn.extend({method:J("tools/call"),params:EE}),kE=la.extend({method:J("notifications/tools/list_changed"),params:sa.optional()}),RM=$({autoRefresh:Ae().default(!0),debounceMs:fe().int().nonnegative().default(300)}),ep=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),xE=Jn.extend({level:ep}),SE=fn.extend({method:J("logging/setLevel"),params:xE}),CE=sa.extend({level:ep,logger:C().optional(),data:He()}),tp=la.extend({method:J("notifications/message"),params:CE}),NE=$({name:C().optional()}),RE=$({hints:re(NE).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),TE=$({mode:dt(["auto","required","none"]).optional()}),IE=$({type:J("tool_result"),toolUseId:C().describe("The unique identifier for the corresponding tool call."),content:re(Lo),structuredContent:He().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),AE=Ys("type",[Rl,Tl,Il]),Ni=Ys("type",[Rl,Tl,Il,pE,IE]),_E=$({role:zo,content:Te([Ni,re(Ni)]),_meta:Re(C(),He()).optional()}),PE=Vi.extend({messages:re(_E),modelPreferences:RE.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:mn.optional(),tools:re(Al).optional(),toolChoice:TE.optional()}),OE=fn.extend({method:J("sampling/createMessage"),params:PE}),ME=gn.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:zo,content:AE}),zE=gn.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:zo,content:Te([Ni,re(Ni)])}),np=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),Pl=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),Gs=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),ap=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),rp=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),op=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),LE=Te([ap,rp]),ip=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),sp=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),DE=Te([ip,sp]),FE=Te([op,LE,DE]),lp=Te([FE,np,Pl,Gs]),Ol=Vi.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),lp),required:re(C()).optional()}).catchall(He())}),qE=Vi.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),jE=Te([Ol,qE]),UE=fn.extend({method:J("elicitation/create"),params:jE}),$E=sa.extend({elicitationId:C()}),BE=la.extend({method:J("notifications/elicitation/complete"),params:$E}),HE=gn.extend({action:dt(["accept","decline","cancel"]),content:Ci(e=>e===null?void 0:e,Re(C(),Te([C(),fe(),Ae(),re(C())])).optional())}),VE=$({type:J("ref/resource"),uri:C()}),WE=$({type:J("ref/prompt"),name:C()}),ZE=Jn.extend({ref:Te([WE,VE]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()}),JE=fn.extend({method:J("completion/complete"),params:ZE}),KE=gn.extend({completion:et({values:re(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),YE=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),GE=fn.extend({method:J("roots/list"),params:Jn.optional()}),QE=gn.extend({roots:re(YE)}),XE=la.extend({method:J("notifications/roots/list_changed"),params:sa.optional()}),TM=et({ttl:fe().optional(),pollInterval:fe().optional()}),ew=dt(["working","input_required","completed","failed","cancelled"]),Do=$({taskId:C(),status:ew,ttl:Te([fe(),Si()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),IM=gn.extend({task:Do}),tw=sa.merge(Do),AM=la.extend({method:J("notifications/tasks/status"),params:tw}),_M=fn.extend({method:J("tasks/get"),params:Jn.extend({taskId:C()})}),PM=gn.merge(Do),OM=fn.extend({method:J("tasks/result"),params:Jn.extend({taskId:C()})}),MM=gn.loose(),zM=Oo.extend({method:J("tasks/list")}),LM=Mo.extend({tasks:re(Do)}),DM=fn.extend({method:J("tasks/cancel"),params:Jn.extend({taskId:C()})}),FM=gn.merge(Do),qM=Te([Hd,_y,My,JE,SE,dE,lE,jy,$y,Vy,Ky,Gy,Xy,wE,bE]),jM=Te([$d,Vd,Oy,XE]),UM=Te([Cl,ME,zE,HE,QE]),$M=Te([Hd,OE,UE,GE]),BM=Te([$d,Vd,tp,oE,Zy,kE,fE,tE,BE]),HM=Te([Cl,Py,zy,KE,hE,cE,Uy,By,Wy,_l,yE,aE]),jn=hy().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:fM.custom,message:"URL must be parseable",fatal:!0}),y2}).refine(e=>{const t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),VM=et({resource:C().url(),authorization_servers:re(jn).optional(),jwks_uri:C().url().optional(),scopes_supported:re(C()).optional(),bearer_methods_supported:re(C()).optional(),resource_signing_alg_values_supported:re(C()).optional(),resource_name:C().optional(),resource_documentation:C().optional(),resource_policy_uri:C().url().optional(),resource_tos_uri:C().url().optional(),tls_client_certificate_bound_access_tokens:Ae().optional(),authorization_details_types_supported:re(C()).optional(),dpop_signing_alg_values_supported:re(C()).optional(),dpop_bound_access_tokens_required:Ae().optional()}),nw=et({issuer:C(),authorization_endpoint:jn,token_endpoint:jn,registration_endpoint:jn.optional(),scopes_supported:re(C()).optional(),response_types_supported:re(C()),response_modes_supported:re(C()).optional(),grant_types_supported:re(C()).optional(),token_endpoint_auth_methods_supported:re(C()).optional(),token_endpoint_auth_signing_alg_values_supported:re(C()).optional(),service_documentation:jn.optional(),revocation_endpoint:jn.optional(),revocation_endpoint_auth_methods_supported:re(C()).optional(),revocation_endpoint_auth_signing_alg_values_supported:re(C()).optional(),introspection_endpoint:C().optional(),introspection_endpoint_auth_methods_supported:re(C()).optional(),introspection_endpoint_auth_signing_alg_values_supported:re(C()).optional(),code_challenge_methods_supported:re(C()).optional(),client_id_metadata_document_supported:Ae().optional(),authorization_response_iss_parameter_supported:Ae().optional().catch(void 0)}),aw=et({issuer:C(),authorization_endpoint:jn,token_endpoint:jn,userinfo_endpoint:jn.optional(),jwks_uri:jn,registration_endpoint:jn.optional(),scopes_supported:re(C()).optional(),response_types_supported:re(C()),response_modes_supported:re(C()).optional(),grant_types_supported:re(C()).optional(),acr_values_supported:re(C()).optional(),subject_types_supported:re(C()),id_token_signing_alg_values_supported:re(C()),id_token_encryption_alg_values_supported:re(C()).optional(),id_token_encryption_enc_values_supported:re(C()).optional(),userinfo_signing_alg_values_supported:re(C()).optional(),userinfo_encryption_alg_values_supported:re(C()).optional(),userinfo_encryption_enc_values_supported:re(C()).optional(),request_object_signing_alg_values_supported:re(C()).optional(),request_object_encryption_alg_values_supported:re(C()).optional(),request_object_encryption_enc_values_supported:re(C()).optional(),token_endpoint_auth_methods_supported:re(C()).optional(),token_endpoint_auth_signing_alg_values_supported:re(C()).optional(),display_values_supported:re(C()).optional(),claim_types_supported:re(C()).optional(),claims_supported:re(C()).optional(),service_documentation:C().optional(),claims_locales_supported:re(C()).optional(),ui_locales_supported:re(C()).optional(),claims_parameter_supported:Ae().optional(),request_parameter_supported:Ae().optional(),request_uri_parameter_supported:Ae().optional(),require_request_uri_registration:Ae().optional(),op_policy_uri:jn.optional(),op_tos_uri:jn.optional(),client_id_metadata_document_supported:Ae().optional(),authorization_response_iss_parameter_supported:Ae().optional().catch(void 0)}),WM=$({...aw.shape,...nw.pick({code_challenge_methods_supported:!0}).shape}),ZM=$({access_token:C(),id_token:C().optional(),token_type:C(),expires_in:vM().optional(),scope:C().optional(),refresh_token:C().optional()}).strip(),JM=$({issued_token_type:J("urn:ietf:params:oauth:token-type:id-jag"),access_token:C(),token_type:C().optional(),expires_in:fe().optional(),scope:C().optional()}).strip(),KM=$({error:C(),error_description:C().optional(),error_uri:C().optional()}),df=jn.optional().or(J("").transform(()=>{})),rw=$({redirect_uris:re(jn),token_endpoint_auth_method:C().optional(),grant_types:re(C()).optional(),response_types:re(C()).optional(),application_type:C().optional(),client_name:C().optional(),client_uri:jn.optional(),logo_uri:df,scope:C().optional(),contacts:re(C()).optional(),tos_uri:df,policy_uri:C().optional(),jwks_uri:jn.optional(),jwks:Pd().optional(),software_id:C().optional(),software_version:C().optional(),software_statement:C().optional()}).strip(),ow=$({client_id:C(),client_secret:C().optional(),client_id_issued_at:fe().optional(),client_secret_expires_at:fe().optional()}).strip(),YM=rw.merge(ow),GM=$({error:C(),error_description:C().optional()}).strip(),QM=$({token:C(),token_type_hint:C().optional()}).strip(),yu=Symbol.for("mcp.sdk.errorBrands");function iw(e,t){const a=new Set;let r=t;for(;typeof r=="function";){const o=r.mcpBrand;Object.prototype.hasOwnProperty.call(r,"mcpBrand")&&typeof o=="string"&&a.add(o),r=Object.getPrototypeOf(r)}a.size!==0&&Object.defineProperty(e,yu,{value:a,enumerable:!1,configurable:!0})}function Qs(e,t){try{if(typeof t=="object"&&t!==null&&Object.prototype.hasOwnProperty.call(e,"mcpBrand")&&typeof e.mcpBrand=="string"&&Object.prototype.hasOwnProperty.call(t,yu)){const a=t[yu];if(a&&typeof a.has=="function"&&a.has(e.mcpBrand))return!0}}catch{}return Function.prototype[Symbol.hasInstance].call(e,t)}let Hn=(function(e){return e.NotConnected="NOT_CONNECTED",e.AlreadyConnected="ALREADY_CONNECTED",e.NotInitialized="NOT_INITIALIZED",e.CapabilityNotSupported="CAPABILITY_NOT_SUPPORTED",e.RequestTimeout="REQUEST_TIMEOUT",e.ConnectionClosed="CONNECTION_CLOSED",e.SendFailed="SEND_FAILED",e.InvalidResult="INVALID_RESULT",e.UnsupportedResultType="UNSUPPORTED_RESULT_TYPE",e.InputRequiredRoundsExceeded="INPUT_REQUIRED_ROUNDS_EXCEEDED",e.ListPaginationExceeded="LIST_PAGINATION_EXCEEDED",e.MethodNotSupportedByProtocolVersion="METHOD_NOT_SUPPORTED_BY_PROTOCOL_VERSION",e.EraNegotiationFailed="ERA_NEGOTIATION_FAILED",e.ClientHttpNotImplemented="CLIENT_HTTP_NOT_IMPLEMENTED",e.ClientHttpAuthentication="CLIENT_HTTP_AUTHENTICATION",e.ClientHttpForbidden="CLIENT_HTTP_FORBIDDEN",e.ClientHttpUnexpectedContent="CLIENT_HTTP_UNEXPECTED_CONTENT",e.ClientHttpFailedToOpenStream="CLIENT_HTTP_FAILED_TO_OPEN_STREAM",e.ClientHttpFailedToTerminateSession="CLIENT_HTTP_FAILED_TO_TERMINATE_SESSION",e})({});var io,Pn=(io=class extends Error{static[Symbol.hasInstance](t){return Qs(this,t)}static isInstance(t){if(typeof this!="function")throw new TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return Qs(this,t)}constructor(t,a,r){super(a),this.code=t,this.data=r,this.name="SdkError",iw(this,new.target)}},Object.defineProperty(io,"mcpBrand",{value:"mcp.SdkError"}),io);const XM="2026-07-28";function e4(e){return e>=XM}function sw(e){var a;const t=e.structuredContent;return t===void 0||!(typeof t!="object"||t===null||Array.isArray(t))||(((a=e.content)==null?void 0:a.some(r=>r.type==="text"))??!1)?e:{...e,content:[...e.content??[],{type:"text",text:JSON.stringify(t)}]}}const lw=["task","inputRequests","requestState"];function t4(e){return e===null||typeof e!="object"||Array.isArray(e)||e.content!==void 0||lw.some(t=>t in e)?e:{...e,content:[]}}function n4(){const e=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),e),re(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),o=$({ttl:fe().optional()}),i=$({taskId:C()}),s=et({progressToken:a.optional(),"io.modelcontextprotocol/related-task":i.optional()}),l=$({_meta:s.optional()}),c=l.extend({task:o.optional()}),u=$({method:C(),params:l.loose().optional()}),d=$({_meta:s.optional()}),p=$({method:C(),params:d.loose().optional()}),m=et({_meta:s.optional()}),h=Te([C(),fe().int()]),f=m.strict(),v=d.extend({requestId:h.optional(),reason:C().optional()}),y=p.extend({method:J("notifications/cancelled"),params:v}),E=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),b=$({icons:re(E).optional()}),x=$({name:C(),title:C().optional()}),w=x.extend({...x.shape,...b.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),R=$r($({applyDefaults:Ae().optional()}),t),S=Ci(te=>te&&typeof te=="object"&&!Array.isArray(te)&&Object.keys(te).length===0?{form:{}}:te,$r($({form:R.optional(),url:t.optional()}),t.optional())),I=et({list:t.optional(),cancel:t.optional(),requests:et({sampling:et({createMessage:t.optional()}).optional(),elicitation:et({create:t.optional()}).optional()}).optional()}),N=et({list:t.optional(),cancel:t.optional(),requests:et({tools:et({call:t.optional()}).optional()}).optional()}),M=$({experimental:Re(C(),t).optional(),sampling:$({context:t.optional(),tools:t.optional()}).optional(),elicitation:S.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:I.optional(),extensions:Re(C(),t).optional()}),k=l.extend({protocolVersion:C(),capabilities:M,clientInfo:w}),T=u.extend({method:J("initialize"),params:k}),A=$({experimental:Re(C(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:N.optional(),extensions:Re(C(),t).optional()}),q=m.extend({protocolVersion:C(),capabilities:A,serverInfo:w,instructions:C().optional()}),z=p.extend({method:J("notifications/initialized"),params:d.optional()}),F=u.extend({method:J("ping"),params:l.optional()}),H=$({progress:fe(),total:Je(fe()),message:Je(C())}),ne=$({...d.shape,...H.shape,progressToken:a}),B=p.extend({method:J("notifications/progress"),params:ne}),P=l.extend({cursor:r.optional()}),_=u.extend({params:P.optional()}),ee=m.extend({nextCursor:r.optional()}),Z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),D=Z.extend({text:C()}),G=C().refine(te=>{try{return atob(te),!0}catch{return!1}},{message:"Invalid Base64 string"}),j=Z.extend({blob:G}),K=dt(["user","assistant"]),oe=$({audience:re(K).optional(),priority:fe().min(0).max(1).optional(),lastModified:yl({offset:!0}).optional()}),xe=$({...x.shape,...b.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:oe.optional(),_meta:Je(et({}))}),ce=$({...x.shape,...b.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:oe.optional(),_meta:Je(et({}))}),_e=_.extend({method:J("resources/list")}),$e=ee.extend({resources:re(xe)}),De=_.extend({method:J("resources/templates/list")}),de=ee.extend({resourceTemplates:re(ce)}),ve=l.extend({uri:C()}),O=ve,W=u.extend({method:J("resources/read"),params:O}),ae=m.extend({contents:re(Te([D,j]))}),ze=p.extend({method:J("notifications/resources/list_changed"),params:d.optional()}),Me=ve,be=u.extend({method:J("resources/subscribe"),params:Me}),rt=ve,wt=u.extend({method:J("resources/unsubscribe"),params:rt}),Dt=d.extend({uri:C()}),It=p.extend({method:J("notifications/resources/updated"),params:Dt}),Qt=$({name:C(),description:Je(C()),required:Je(Ae())}),ie=$({...x.shape,...b.shape,description:Je(C()),arguments:Je(re(Qt)),_meta:Je(et({}))}),he=_.extend({method:J("prompts/list")}),Ne=ee.extend({prompts:re(ie)}),Le=l.extend({name:C(),arguments:Re(C(),C()).optional()}),Ge=u.extend({method:J("prompts/get"),params:Le}),ft=$({type:J("text"),text:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),vt=$({type:J("image"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),gt=$({type:J("audio"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),Se=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),X=$({type:J("resource"),resource:Te([D,j]),annotations:oe.optional(),_meta:Re(C(),He()).optional()}),Ce=xe.extend({type:J("resource_link")}),Fe=Te([ft,vt,gt,Ce,X]),We=$({role:K,content:Fe}),tt=m.extend({description:C().optional(),messages:re(We)}),yt=p.extend({method:J("notifications/prompts/list_changed"),params:d.optional()}),se=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),Qe=$({taskSupport:dt(["required","optional","forbidden"]).optional()}),ot=$({...x.shape,...b.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:re(C()).optional()}).catchall(He()),outputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:re(C()).optional()}).catchall(He()).optional(),annotations:se.optional(),execution:Qe.optional(),_meta:Re(C(),He()).optional()}),bt=_.extend({method:J("tools/list")}),ut=ee.extend({tools:re(ot)}),Mt=m.extend({content:re(Fe),structuredContent:Re(C(),He()).optional(),isError:Ae().optional()}),St=c.extend({name:C(),arguments:Re(C(),He()).optional()}),jt=u.extend({method:J("tools/call"),params:St}),st=p.extend({method:J("notifications/tools/list_changed"),params:d.optional()}),lt=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),Ze=l.extend({level:lt}),Ot=u.extend({method:J("logging/setLevel"),params:Ze}),en=d.extend({level:lt,logger:C().optional(),data:He()}),vn=p.extend({method:J("notifications/message"),params:en}),Rn=$({name:C().optional()}),bn=$({hints:re(Rn).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),Ln=$({mode:dt(["auto","required","none"]).optional()}),Kn=$({type:J("tool_result"),toolUseId:C().describe("The unique identifier for the corresponding tool call."),content:re(Fe),structuredContent:$({}).loose().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),Tn=Ys("type",[ft,vt,gt]),ge=Ys("type",[ft,vt,gt,Se,Kn]),Ke=$({role:K,content:Te([ge,re(ge)]),_meta:Re(C(),He()).optional()}),Ue=c.extend({messages:re(Ke),modelPreferences:bn.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:t.optional(),tools:re(ot).optional(),toolChoice:Ln.optional()}),nt=u.extend({method:J("sampling/createMessage"),params:Ue}),ye=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:K,content:Tn}),At=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:K,content:Te([ge,re(ge)])}),an=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),Zt=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),Q=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),rn=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),ca=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),Sa=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),Dn=Te([rn,ca]),yn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),dn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),In=Te([yn,dn]),on=Te([Sa,Dn,In]),mt=Te([on,an,Zt,Q]),ht=c.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),mt),required:re(C()).optional()}).catchall(He())}),V=c.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),we=Te([ht,V]),Xe=u.extend({method:J("elicitation/create"),params:we}),Ft=d.extend({elicitationId:C()}),En=p.extend({method:J("notifications/elicitation/complete"),params:Ft}),sn=m.extend({action:dt(["accept","decline","cancel"]),content:Ci(te=>te===null?void 0:te,Re(C(),Te([C(),fe(),Ae(),re(C())])).optional())}),Ca=$({type:J("ref/resource"),uri:C()}),Na=$({type:J("ref/prompt"),name:C()}),ua=l.extend({ref:Te([Na,Ca]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()}),wn=u.extend({method:J("completion/complete"),params:ua}),Xn=m.extend({completion:et({values:re(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),kn=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),da=u.extend({method:J("roots/list"),params:l.optional()}),ea=m.extend({roots:re(kn)}),Ga=p.extend({method:J("notifications/roots/list_changed"),params:d.optional()}),Qa=et({ttl:fe().optional(),pollInterval:fe().optional()}),Xa=dt(["working","input_required","completed","failed","cancelled"]),ta=$({taskId:C(),status:Xa,ttl:Te([fe(),Si()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),xn=m.extend({task:ta}),or=d.merge(ta),pa=p.extend({method:J("notifications/tasks/status"),params:or}),Ra=u.extend({method:J("tasks/get"),params:l.extend({taskId:C()})}),ln=m.merge(ta),Yn=u.extend({method:J("tasks/result"),params:l.extend({taskId:C()})}),Ua=m.loose(),cn=_.extend({method:J("tasks/list")}),me=ee.extend({tasks:re(ta)}),U=u.extend({method:J("tasks/cancel"),params:l.extend({taskId:C()})});return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:a,CursorSchema:r,TaskMetadataSchema:o,RelatedTaskMetadataSchema:i,RequestMetaSchema:s,BaseRequestParamsSchema:l,TaskAugmentedRequestParamsSchema:c,RequestSchema:u,NotificationsParamsSchema:d,NotificationSchema:p,ResultSchema:m,RequestIdSchema:h,EmptyResultSchema:f,CancelledNotificationParamsSchema:v,CancelledNotificationSchema:y,IconSchema:E,IconsSchema:b,BaseMetadataSchema:x,ImplementationSchema:w,ClientTasksCapabilitySchema:I,ServerTasksCapabilitySchema:N,ClientCapabilitiesSchema:M,InitializeRequestParamsSchema:k,InitializeRequestSchema:T,ServerCapabilitiesSchema:A,InitializeResultSchema:q,InitializedNotificationSchema:z,PingRequestSchema:F,ProgressSchema:H,ProgressNotificationParamsSchema:ne,ProgressNotificationSchema:B,PaginatedRequestParamsSchema:P,PaginatedRequestSchema:_,PaginatedResultSchema:ee,ResourceContentsSchema:Z,TextResourceContentsSchema:D,BlobResourceContentsSchema:j,RoleSchema:K,AnnotationsSchema:oe,ResourceSchema:xe,ResourceTemplateSchema:ce,ListResourcesRequestSchema:_e,ListResourcesResultSchema:$e,ListResourceTemplatesRequestSchema:De,ListResourceTemplatesResultSchema:de,ResourceRequestParamsSchema:ve,ReadResourceRequestParamsSchema:O,ReadResourceRequestSchema:W,ReadResourceResultSchema:ae,ResourceListChangedNotificationSchema:ze,SubscribeRequestParamsSchema:Me,SubscribeRequestSchema:be,UnsubscribeRequestParamsSchema:rt,UnsubscribeRequestSchema:wt,ResourceUpdatedNotificationParamsSchema:Dt,ResourceUpdatedNotificationSchema:It,PromptArgumentSchema:Qt,PromptSchema:ie,ListPromptsRequestSchema:he,ListPromptsResultSchema:Ne,GetPromptRequestParamsSchema:Le,GetPromptRequestSchema:Ge,TextContentSchema:ft,ImageContentSchema:vt,AudioContentSchema:gt,ToolUseContentSchema:Se,EmbeddedResourceSchema:X,ResourceLinkSchema:Ce,ContentBlockSchema:Fe,PromptMessageSchema:We,GetPromptResultSchema:tt,PromptListChangedNotificationSchema:yt,ToolAnnotationsSchema:se,ToolExecutionSchema:Qe,ToolSchema:ot,ListToolsRequestSchema:bt,ListToolsResultSchema:ut,CallToolResultSchema:Mt,CallToolRequestParamsSchema:St,CallToolRequestSchema:jt,ToolListChangedNotificationSchema:st,LoggingLevelSchema:lt,SetLevelRequestParamsSchema:Ze,SetLevelRequestSchema:Ot,LoggingMessageNotificationParamsSchema:en,LoggingMessageNotificationSchema:vn,ModelHintSchema:Rn,ModelPreferencesSchema:bn,ToolChoiceSchema:Ln,ToolResultContentSchema:Kn,SamplingContentSchema:Tn,SamplingMessageContentBlockSchema:ge,SamplingMessageSchema:Ke,CreateMessageRequestParamsSchema:Ue,CreateMessageRequestSchema:nt,CreateMessageResultSchema:ye,CreateMessageResultWithToolsSchema:At,BooleanSchemaSchema:an,StringSchemaSchema:Zt,NumberSchemaSchema:Q,UntitledSingleSelectEnumSchemaSchema:rn,TitledSingleSelectEnumSchemaSchema:ca,LegacyTitledEnumSchemaSchema:Sa,SingleSelectEnumSchemaSchema:Dn,UntitledMultiSelectEnumSchemaSchema:yn,TitledMultiSelectEnumSchemaSchema:dn,MultiSelectEnumSchemaSchema:In,EnumSchemaSchema:on,PrimitiveSchemaDefinitionSchema:mt,ElicitRequestFormParamsSchema:ht,ElicitRequestURLParamsSchema:V,ElicitRequestParamsSchema:we,ElicitRequestSchema:Xe,ElicitationCompleteNotificationParamsSchema:Ft,ElicitationCompleteNotificationSchema:En,ElicitResultSchema:sn,ResourceTemplateReferenceSchema:Ca,PromptReferenceSchema:Na,CompleteRequestParamsSchema:ua,CompleteRequestSchema:wn,CompleteResultSchema:Xn,RootSchema:kn,ListRootsRequestSchema:da,ListRootsResultSchema:ea,RootsListChangedNotificationSchema:Ga,TaskCreationParamsSchema:Qa,TaskStatusSchema:Xa,TaskSchema:ta,CreateTaskResultSchema:xn,TaskStatusNotificationParamsSchema:or,TaskStatusNotificationSchema:pa,GetTaskRequestSchema:Ra,GetTaskResultSchema:ln,GetTaskPayloadRequestSchema:Yn,GetTaskPayloadResultSchema:Ua,ListTasksRequestSchema:cn,ListTasksResultSchema:me,CancelTaskRequestSchema:U,CancelTaskResultSchema:m.merge(ta),ClientRequestSchema:Te([F,T,wn,Ot,Ge,he,_e,De,W,be,wt,jt,bt,Ra,Yn,cn,U]),ClientNotificationSchema:Te([y,B,z,Ga,pa]),ClientResultSchema:Te([f,ye,At,sn,ea,ln,me,xn]),ServerRequestSchema:Te([F,nt,Xe,da,Ra,Yn,cn,U]),ServerNotificationSchema:Te([y,B,vn,It,ze,st,yt,pa,En]),ServerResultSchema:Te([f,q,Xn,tt,Ne,$e,de,ae,Mt,ut,ln,me,xn]),CallToolResultWireSchema:He().superRefine((te,pe)=>{if(!(typeof te!="object"||te===null||Array.isArray(te)||te.content!==void 0)){for(const Oe of lw)if(Oe in te){pe.addIssue({code:"custom",message:`content is required when the body carries '${Oe}' — another result family cannot default into an empty tools/call success`});return}}}).transform(t4).pipe(Mt)}}let a4;function cw(){return a4??(a4=n4())}function uw(e){return e.type!=="object"}const r4=new Set(["const","enum","default","examples"]),o4=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas","dependencies"]);function pf(e){return e!==void 0&&!(typeof e=="string"&&e.startsWith("#"))}function i4(e){const t=typeof e.$schema=="string"?e.$schema:void 0;if(pf(e.$id))return{...t!==void 0&&{$schema:t},type:"object",properties:{result:e},required:["result"]};const a=WI(e.$schema)&&e.$recursiveAnchor!==!0,r=(o,i)=>{if(Array.isArray(o))return o.map(c=>r(c,!1));if(o===null||typeof o!="object"||!i&&pf(o.$id))return o;const s={};let l=!1;for(const[c,u]of Object.entries(o))i?s[c]=r(u,!1):(c==="$ref"||c==="$dynamicRef")&&typeof u=="string"?s[c]=u==="#"?"#/properties/result":u.startsWith("#/")?`#/properties/result${u.slice(1)}`:u:c==="$recursiveRef"&&u==="#"&&a?l=!0:r4.has(c)?s[c]=u:o4.has(c)?s[c]=r(u,!0):s[c]=r(u,!1);return l&&("$ref"in s?s.allOf=[...Array.isArray(s.allOf)?s.allOf:[],{$ref:"#/properties/result"}]:s.$ref="#/properties/result"),s};return{...t!==void 0&&{$schema:t},type:"object",properties:{result:r(e,!1)},required:["result"]}}const s4={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"tasks/get":null,"tasks/result":null,"tasks/list":null,"tasks/cancel":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null},l4={"notifications/cancelled":null,"notifications/progress":null,"notifications/initialized":null,"notifications/roots/list_changed":null,"notifications/tasks/status":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/elicitation/complete":null},c4={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null};let is;function cp(){if(is)return is;const e=cw();return is={requestSchemas:{ping:e.PingRequestSchema,initialize:e.InitializeRequestSchema,"completion/complete":e.CompleteRequestSchema,"logging/setLevel":e.SetLevelRequestSchema,"prompts/get":e.GetPromptRequestSchema,"prompts/list":e.ListPromptsRequestSchema,"resources/list":e.ListResourcesRequestSchema,"resources/templates/list":e.ListResourceTemplatesRequestSchema,"resources/read":e.ReadResourceRequestSchema,"resources/subscribe":e.SubscribeRequestSchema,"resources/unsubscribe":e.UnsubscribeRequestSchema,"tools/call":e.CallToolRequestSchema,"tools/list":e.ListToolsRequestSchema,"tasks/get":e.GetTaskRequestSchema,"tasks/result":e.GetTaskPayloadRequestSchema,"tasks/list":e.ListTasksRequestSchema,"tasks/cancel":e.CancelTaskRequestSchema,"sampling/createMessage":e.CreateMessageRequestSchema,"elicitation/create":e.ElicitRequestSchema,"roots/list":e.ListRootsRequestSchema},notificationSchemas:{"notifications/cancelled":e.CancelledNotificationSchema,"notifications/progress":e.ProgressNotificationSchema,"notifications/initialized":e.InitializedNotificationSchema,"notifications/roots/list_changed":e.RootsListChangedNotificationSchema,"notifications/tasks/status":e.TaskStatusNotificationSchema,"notifications/message":e.LoggingMessageNotificationSchema,"notifications/resources/updated":e.ResourceUpdatedNotificationSchema,"notifications/resources/list_changed":e.ResourceListChangedNotificationSchema,"notifications/tools/list_changed":e.ToolListChangedNotificationSchema,"notifications/prompts/list_changed":e.PromptListChangedNotificationSchema,"notifications/elicitation/complete":e.ElicitationCompleteNotificationSchema},resultSchemas:{ping:e.EmptyResultSchema,initialize:e.InitializeResultSchema,"completion/complete":e.CompleteResultSchema,"logging/setLevel":e.EmptyResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"resources/subscribe":e.EmptyResultSchema,"resources/unsubscribe":e.EmptyResultSchema,"tools/call":e.CallToolResultWireSchema,"tools/list":e.ListToolsResultSchema,"sampling/createMessage":e.CreateMessageResultWithToolsSchema,"elicitation/create":e.ElicitResultSchema,"roots/list":e.ListRootsResultSchema}},is}function dw(e){return Object.prototype.hasOwnProperty.call(s4,e)}function pw(e){return Object.prototype.hasOwnProperty.call(l4,e)}function u4(e){return Object.prototype.hasOwnProperty.call(c4,e)}function d4(e){return u4(e)?cp().resultSchemas[e]:void 0}function p4(e){return dw(e)?cp().requestSchemas[e]:void 0}function m4(e){return pw(e)?cp().notificationSchemas[e]:void 0}function Eu(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ss(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};const a=e.safeParse(t);return a.success?{ok:!0,value:a.data}:{ok:!1,reason:"invalid",message:String(a.error)}}const mf={ok:!1,reason:"not-in-era"};function hf(e){return Eu(e)&&Eu(e.outputSchema)&&uw(e.outputSchema)}const up={era:"2025-11-25",hasRequestMethod:dw,hasNotificationMethod:pw,validateRequest:(e,t)=>ss(p4(e),t),validateResult:(e,t)=>ss(d4(e),t),validateNotification:(e,t)=>ss(m4(e),t),hasInputRequestMethod:()=>!1,validateInputRequest:()=>mf,validateInputResponse:()=>mf,samplingResultVariant:((e,t)=>{const a=cw();return ss(e?a.CreateMessageResultWithToolsSchema:a.CreateMessageResultSchema,t)}),outboundEnvelope:e=>{},validateEnvelopeMeta:e=>[],projectCallToolResult(e,t){const a=sw(e),r=a.structuredContent;if(r===void 0)return a;const o=typeof r!="object"||r===null||Array.isArray(r),i=t!==void 0&&uw(t);return!o&&!i?a:{...a,structuredContent:{result:r}}},decodeResult(e,t){if(Eu(t)&&"resultType"in t){const a={...t};return delete a.resultType,{kind:"complete",result:a}}return{kind:"complete",result:t}},encodeResult(e,t){if(e!=="tools/list")return t;const a=t.tools;return!Array.isArray(a)||!a.some(r=>hf(r))?t:{...t,tools:a.map(r=>hf(r)?{...r,outputSchema:i4(r.outputSchema)}:r)}},encodeErrorCode:e=>e===-32002?-32602:e,checkInboundEnvelope:e=>{}};function h4(){const e=Od(()=>Te([C(),fe(),Ae(),Si(),Re(C(),e),re(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),o=Te([C(),fe().int()]),i=dt(["user","assistant"]),s=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),l=C().refine(me=>{try{return atob(me),!0}catch{return!1}},{message:"Invalid Base64 string"}),c=$({ttl:fe().optional()}),u=$({taskId:C()}),d=et({progressToken:a.optional(),"io.modelcontextprotocol/related-task":u.optional()}),p=$({_meta:d.optional()}),m=p.extend({task:c.optional()}),h=$({_meta:d.optional()}),f=$({method:C(),params:h.loose().optional()}),v=$({src:C(),mimeType:C().optional(),sizes:re(C()).optional(),theme:dt(["light","dark"]).optional()}),y=$({icons:re(v).optional()}),E=$({name:C(),title:C().optional()}),b=E.extend({...E.shape,...y.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),x=$r($({applyDefaults:Ae().optional()}),t),w=Ci(me=>me&&typeof me=="object"&&!Array.isArray(me)&&Object.keys(me).length===0?{form:{}}:me,$r($({form:x.optional(),url:t.optional()}),t.optional())),R=et({list:t.optional(),cancel:t.optional(),requests:et({sampling:et({createMessage:t.optional()}).optional(),elicitation:et({create:t.optional()}).optional()}).optional()}),S=et({list:t.optional(),cancel:t.optional(),requests:et({tools:et({call:t.optional()}).optional()}).optional()}),I=$({experimental:Re(C(),t).optional(),sampling:$({context:t.optional(),tools:t.optional()}).optional(),elicitation:w.optional(),roots:$({listChanged:Ae().optional()}).optional(),tasks:R.optional(),extensions:Re(C(),t).optional()}),N=$({experimental:Re(C(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:$({listChanged:Ae().optional()}).optional(),resources:$({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:$({listChanged:Ae().optional()}).optional(),tasks:S.optional(),extensions:Re(C(),t).optional()}),M=$({progress:fe(),total:Je(fe()),message:Je(C())}),k=$({...h.shape,...M.shape,progressToken:a}),T=f.extend({method:J("notifications/progress"),params:k}),A=h.extend({level:s,logger:C().optional(),data:He()}),q=f.extend({method:J("notifications/message"),params:A}),z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),He()).optional()}),F=z.extend({text:C()}),H=z.extend({blob:l}),ne=$({audience:re(i).optional(),priority:fe().min(0).max(1).optional(),lastModified:yl({offset:!0}).optional()}),B=$({...E.shape,...y.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:ne.optional(),_meta:Je(et({}))}),P=$({...E.shape,...y.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:ne.optional(),_meta:Je(et({}))}),_=f.extend({method:J("notifications/resources/list_changed"),params:h.optional()}),ee=h.extend({uri:C()}),Z=f.extend({method:J("notifications/resources/updated"),params:ee}),D=$({name:C(),description:Je(C()),required:Je(Ae())}),G=$({...E.shape,...y.shape,description:Je(C()),arguments:Je(re(D)),_meta:Je(et({}))}),j=f.extend({method:J("notifications/prompts/list_changed"),params:h.optional()}),K=$({type:J("text"),text:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),oe=$({type:J("image"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),xe=$({type:J("audio"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),ce=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),He()),_meta:Re(C(),He()).optional()}),_e=$({type:J("resource"),resource:Te([F,H]),annotations:ne.optional(),_meta:Re(C(),He()).optional()}),$e=B.extend({type:J("resource_link")}),De=Te([K,oe,xe,$e,_e]),de=$({role:i,content:De}),ve=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),O=f.extend({method:J("notifications/tools/list_changed"),params:h.optional()}),W=$({name:C().optional()}),ae=$({hints:re(W).optional(),costPriority:fe().min(0).max(1).optional(),speedPriority:fe().min(0).max(1).optional(),intelligencePriority:fe().min(0).max(1).optional()}),ze=$({mode:dt(["auto","required","none"]).optional()}),Me=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),be=$({type:J("string"),title:C().optional(),description:C().optional(),minLength:fe().optional(),maxLength:fe().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:C().optional()}),rt=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),wt=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),default:C().optional()}),Dt=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:re($({const:C(),title:C()})),default:C().optional()}),It=$({type:J("string"),title:C().optional(),description:C().optional(),enum:re(C()),enumNames:re(C()).optional(),default:C().optional()}),Qt=Te([wt,Dt]),ie=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:re(C())}),default:re(C()).optional()}),he=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:re($({const:C(),title:C()}))}),default:re(C()).optional()}),Ne=Te([ie,he]),Le=Te([It,Qt,Ne]),Ge=Te([Le,Me,be,rt]),ft=m.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),Ge),required:re(C()).optional()}).catchall(He())}),vt=$({type:J("ref/resource"),uri:C()}),gt=$({type:J("ref/prompt"),name:C()}),Se=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),He()).optional()}),X=I.shape,Ce=$({experimental:X.experimental,sampling:X.sampling,elicitation:X.elicitation,roots:X.roots,extensions:X.extensions}),Fe=N.shape,We=$({experimental:Fe.experimental,logging:Fe.logging,completions:Fe.completions,prompts:Fe.prompts,resources:Fe.resources,tools:Fe.tools,extensions:Fe.extensions}),tt=et({progressToken:a.optional(),[El]:C(),[Md]:b.optional(),[wl]:Ce,[zd]:s.optional()}),yt=$({...E.shape,...y.shape,description:C().optional(),inputSchema:et({$schema:C().optional(),type:J("object")}),outputSchema:et({$schema:C().optional()}).optional(),annotations:ve.optional(),_meta:Re(C(),He()).optional()}),se=$({type:J("tool_result"),toolUseId:C(),content:re(De),structuredContent:He().optional(),isError:Ae().optional(),_meta:Re(C(),He()).optional()}),Qe=Te([K,oe,xe,ce,se]),ot=$({role:i,content:Te([Qe,re(Qe)]),_meta:Re(C(),He()).optional()}),bt=C(),ut=et({[gi]:b.optional().catch(void 0)}),Mt=ut.optional();function St(me){return et({_meta:Mt,resultType:bt.default("complete"),...me})}const jt=St({}),st=St({nextCursor:r.optional()}),lt=St({content:re(De),structuredContent:He().optional(),isError:Ae().optional()}),Ze=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:re(yt),nextCursor:r.optional()}),Ot=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:re(G),nextCursor:r.optional()}),en=St({description:C().optional(),messages:re(de)}),vn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:re(B),nextCursor:r.optional()}),Rn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:re(P),nextCursor:r.optional()}),bn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:re(Te([F,H]))}),Ln=St({completion:$({values:re(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),Kn=St({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"])}),Tn=St({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:re(C()),capabilities:We,instructions:C().optional()}),ge=$({messages:re(ot),modelPreferences:ae.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:re(C()).optional(),metadata:t.optional(),tools:re(yt).optional(),toolChoice:ze.optional()}),Ke=$({method:J("sampling/createMessage"),params:ge}),Ue=$({method:J("roots/list"),params:$({_meta:Re(C(),He()).optional()}).optional()}),nt=$({...ot.shape,model:C(),stopReason:C().optional()}),ye=$({roots:re(Se)}),At=$({action:dt(["accept","decline","cancel"]),content:Re(C(),Te([C(),fe(),Ae(),re(C())])).optional()}),an=$({mode:J("url"),message:C(),url:C().url()}),Zt=Te([ft,an]),Q=$({method:J("elicitation/create"),params:Zt}),rn=Te([Ke,Ue,Q]),ca=Te([nt,ye,At]),Sa=Re(C(),rn),Dn=Re(C(),ca),yn=St({inputRequests:Sa.optional(),requestState:C().optional()}),dn={inputResponses:Dn.optional(),requestState:C().optional()},In=$({_meta:tt,...dn}),on=et({progressToken:a.optional()});function mt(me,U){return $({method:J(me),params:$({_meta:tt,...U})})}function ht(me,U){return $({method:J(me),params:$({_meta:on.optional(),...U}).optional()})}const V={name:C(),arguments:Re(C(),He()).optional(),...dn},we={cursor:r.optional()},Xe=mt("tools/call",V),Ft=mt("tools/list",we),En=mt("prompts/list",we),sn=mt("prompts/get",{name:C(),arguments:Re(C(),C()).optional(),...dn}),Ca=mt("resources/list",we),Na=mt("resources/templates/list",we),ua=mt("resources/read",{uri:C(),...dn}),wn={ref:Te([gt,vt]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()},Xn=mt("completion/complete",wn),kn=mt("server/discover",{}),da=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:re(C()).optional()}),ea={notifications:da},Ga=mt("subscriptions/listen",ea),Qa=ut.extend({"io.modelcontextprotocol/subscriptionId":o}),Xa=et({_meta:Qa,resultType:bt.default("complete")}),ta={"tools/call":ht("tools/call",V),"tools/list":ht("tools/list",we),"prompts/get":ht("prompts/get",{name:C(),arguments:Re(C(),C()).optional()}),"prompts/list":ht("prompts/list",we),"resources/list":ht("resources/list",we),"resources/templates/list":ht("resources/templates/list",we),"resources/read":ht("resources/read",{uri:C()}),"completion/complete":ht("completion/complete",wn),"server/discover":ht("server/discover",{}),"subscriptions/listen":ht("subscriptions/listen",ea)};function xn(me){return et({_meta:Mt,...me})}const or={"tools/call":xn({content:re(De),structuredContent:He().optional(),isError:Ae().optional()}),"tools/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:re(yt),nextCursor:r.optional()}),"prompts/get":xn({description:C().optional(),messages:re(de)}),"prompts/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:re(G),nextCursor:r.optional()}),"resources/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:re(B),nextCursor:r.optional()}),"resources/templates/list":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:re(P),nextCursor:r.optional()}),"resources/read":xn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:re(Te([F,H]))}),"completion/complete":xn({completion:$({values:re(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),"server/discover":xn({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:re(C()),capabilities:We,instructions:C().optional()}),"subscriptions/listen":xn({})},pa=et({"io.modelcontextprotocol/subscriptionId":o.optional()}),Ra=$({method:J("notifications/subscriptions/acknowledged"),params:$({_meta:pa.optional(),notifications:da})}),ln=$({_meta:pa.optional(),requestId:o,reason:C().optional()}),Yn=$({method:J("notifications/cancelled"),params:ln}),Ua={"notifications/cancelled":Yn,"notifications/progress":T,"notifications/message":q,"notifications/resources/updated":Z,"notifications/resources/list_changed":_,"notifications/tools/list_changed":O,"notifications/prompts/list_changed":j,"notifications/subscriptions/acknowledged":Ra},cn=me=>$({jsonrpc:J("2.0"),id:Te([C(),fe().int()]),result:me}).strict();return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:a,CursorSchema:r,RequestIdSchema:o,RoleSchema:i,LoggingLevelSchema:s,TaskMetadataSchema:c,RelatedTaskMetadataSchema:u,RequestMetaSchema:d,BaseRequestParamsSchema:p,TaskAugmentedRequestParamsSchema:m,NotificationsParamsSchema:h,NotificationSchema:f,IconSchema:v,IconsSchema:y,BaseMetadataSchema:E,ImplementationSchema:b,ClientTasksCapabilitySchema:R,ServerTasksCapabilitySchema:S,ClientCapabilitiesSchema:I,ServerCapabilitiesSchema:N,ProgressSchema:M,ProgressNotificationParamsSchema:k,ProgressNotificationSchema:T,LoggingMessageNotificationParamsSchema:A,LoggingMessageNotificationSchema:q,ResourceContentsSchema:z,TextResourceContentsSchema:F,BlobResourceContentsSchema:H,AnnotationsSchema:ne,ResourceSchema:B,ResourceTemplateSchema:P,ResourceListChangedNotificationSchema:_,ResourceUpdatedNotificationParamsSchema:ee,ResourceUpdatedNotificationSchema:Z,PromptArgumentSchema:D,PromptSchema:G,PromptListChangedNotificationSchema:j,TextContentSchema:K,ImageContentSchema:oe,AudioContentSchema:xe,ToolUseContentSchema:ce,EmbeddedResourceSchema:_e,ResourceLinkSchema:$e,ContentBlockSchema:De,PromptMessageSchema:de,ToolAnnotationsSchema:ve,ToolListChangedNotificationSchema:O,ModelHintSchema:W,ModelPreferencesSchema:ae,ToolChoiceSchema:ze,BooleanSchemaSchema:Me,StringSchemaSchema:be,NumberSchemaSchema:rt,UntitledSingleSelectEnumSchemaSchema:wt,TitledSingleSelectEnumSchemaSchema:Dt,LegacyTitledEnumSchemaSchema:It,SingleSelectEnumSchemaSchema:Qt,UntitledMultiSelectEnumSchemaSchema:ie,TitledMultiSelectEnumSchemaSchema:he,MultiSelectEnumSchemaSchema:Ne,EnumSchemaSchema:Le,PrimitiveSchemaDefinitionSchema:Ge,ElicitRequestFormParamsSchema:ft,ResourceTemplateReferenceSchema:vt,PromptReferenceSchema:gt,RootSchema:Se,ClientCapabilities2026Schema:Ce,ServerCapabilities2026Schema:We,RequestMetaEnvelopeSchema:tt,ToolSchema:yt,ToolResultContentSchema:se,SamplingMessageContentBlockSchema:Qe,SamplingMessageSchema:ot,ResultTypeSchema:bt,ResultMetaSchema:ut,ResultSchema:jt,PaginatedResultSchema:st,CallToolResultSchema:lt,ListToolsResultSchema:Ze,ListPromptsResultSchema:Ot,GetPromptResultSchema:en,ListResourcesResultSchema:vn,ListResourceTemplatesResultSchema:Rn,ReadResourceResultSchema:bn,CompleteResultSchema:Ln,CacheableResultSchema:Kn,DiscoverResultSchema:Tn,CreateMessageRequestParamsSchema:ge,CreateMessageRequestSchema:Ke,ListRootsRequestSchema:Ue,CreateMessageResultSchema:nt,ListRootsResultSchema:ye,ElicitResultSchema:At,ElicitRequestURLParamsSchema:an,ElicitRequestParamsSchema:Zt,ElicitRequestSchema:Q,InputRequestSchema:rn,InputResponseSchema:ca,InputRequestsSchema:Sa,InputResponsesSchema:Dn,InputRequiredResultSchema:yn,InputResponseRequestParamsSchema:In,CallToolRequestSchema:Xe,ListToolsRequestSchema:Ft,ListPromptsRequestSchema:En,GetPromptRequestSchema:sn,ListResourcesRequestSchema:Ca,ListResourceTemplatesRequestSchema:Na,ReadResourceRequestSchema:ua,CompleteRequestSchema:Xn,DiscoverRequestSchema:kn,SubscriptionFilterSchema:da,SubscriptionsListenRequestSchema:Ga,SubscriptionsListenResultMetaSchema:Qa,SubscriptionsListenResultSchema:Xa,dispatchRequestSchemas:ta,dispatchResultSchemas:or,NotificationMetaSchema:pa,SubscriptionsAcknowledgedNotificationSchema:Ra,CancelledNotificationParamsSchema:ln,CancelledNotificationSchema:Yn,notificationSchemas2026:Ua,JSONRPCResultResponseSchema:cn(jt),CallToolResultResponseSchema:cn(Te([lt,yn])),ListToolsResultResponseSchema:cn(Ze),ListPromptsResultResponseSchema:cn(Ot),GetPromptResultResponseSchema:cn(Te([en,yn])),ListResourcesResultResponseSchema:cn(vn),ListResourceTemplatesResultResponseSchema:cn(Rn),ReadResourceResultResponseSchema:cn(Te([bn,yn])),CompleteResultResponseSchema:cn(Ln),DiscoverResultResponseSchema:cn(Tn)}}let f4;function Hr(){return f4??(f4=h4())}const g4=["tools/list","prompts/list","resources/list","resources/templates/list","resources/read","server/discover"];function v4(e){return g4.includes(e)}const dp=Symbol("modelcontextprotocol.resultCacheHintFallback");function b4(e){return e[dp]}function mw(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0}function hw(e){return e==="public"||e==="private"}let kt=(function(e){return e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.ResourceNotFound=-32002]="ResourceNotFound",e[e.MissingRequiredClientCapability=-32021]="MissingRequiredClientCapability",e[e.UnsupportedProtocolVersion=-32022]="UnsupportedProtocolVersion",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired",e})({});var Mr,Vn=(Mr=class extends Error{static[Symbol.hasInstance](t){return Qs(this,t)}static isInstance(t){if(typeof this!="function")throw new TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return Qs(this,t)}constructor(t,a,r){super(a),this.code=t,this.data=r,this.name="ProtocolError",iw(this,new.target)}static fromError(t,a,r){if(t===kt.UrlElicitationRequired&&r){const o=r;if(o.elicitations)return new E4(o.elicitations,a)}if(t===kt.UnsupportedProtocolVersion&&r){const o=r;if(Array.isArray(o.supported)&&typeof o.requested=="string")return new w4({supported:o.supported,requested:o.requested},a)}if(t===kt.InvalidParams||t===kt.ResourceNotFound){const o=r;if(typeof(o==null?void 0:o.uri)=="string"&&(t===kt.ResourceNotFound||Object.keys(o).length===1))return new y4(o.uri,a)}if(t===kt.MissingRequiredClientCapability&&r){const o=r;if(o.requiredCapabilities!==null&&typeof o.requiredCapabilities=="object"&&!Array.isArray(o.requiredCapabilities))return new k4({requiredCapabilities:o.requiredCapabilities},a)}return new Mr(t,a,r)}},Object.defineProperty(Mr,"mcpBrand",{value:"mcp.ProtocolError"}),Mr),so,y4=(so=class extends Vn{constructor(t,a=`Resource not found: ${t}`){super(kt.InvalidParams,a,{uri:t})}get uri(){return this.data.uri}},Object.defineProperty(so,"mcpBrand",{value:"mcp.ResourceNotFoundError"}),so),lo,E4=(lo=class extends Vn{constructor(t,a=`URL elicitation${t.length>1?"s":""} required`){super(kt.UrlElicitationRequired,a,{elicitations:t})}get elicitations(){var t;return((t=this.data)==null?void 0:t.elicitations)??[]}},Object.defineProperty(lo,"mcpBrand",{value:"mcp.UrlElicitationRequiredError"}),lo),co,w4=(co=class extends Vn{constructor(t,a=`Unsupported protocol version: ${t.requested}`){super(kt.UnsupportedProtocolVersion,a,t)}get supported(){return this.data.supported}get requested(){return this.data.requested}},Object.defineProperty(co,"mcpBrand",{value:"mcp.UnsupportedProtocolVersionError"}),co),uo,k4=(uo=class extends Vn{constructor(t,a=`Missing required client capabilities: ${Object.keys(t.requiredCapabilities).join(", ")}`){super(kt.MissingRequiredClientCapability,a,t)}get requiredCapabilities(){return this.data.requiredCapabilities}},Object.defineProperty(uo,"mcpBrand",{value:"mcp.MissingRequiredClientCapabilityError"}),uo);const x4=0,S4="private",C4=["tools/call","prompts/get","resources/read"];function N4(e,t){const a=t.resultType;if(a===void 0)return{...t,resultType:"complete"};if(a==="complete"||C4.includes(e))return t;throw new Vn(kt.InternalError,`Handler for ${e} returned resultType '${String(a)}', but results of ${e} only support 'complete' on protocol revision 2026-07-28`)}function R4(e,t){const a=b4(t);if(t.resultType!=="complete"||!v4(e))return a===void 0?t:P4(t);const r=t,o=mw(r.ttlMs)?r.ttlMs:A4(a),i=hw(r.cacheScope)?r.cacheScope:_4(a),s={...r,ttlMs:o,cacheScope:i};return delete s[dp],s}function T4(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function I4(e,t){if(t===void 0)return e;const a=e._meta;return a===void 0?{...e,_meta:{[gi]:t}}:!T4(a)||a[gi]!==void 0?e:{...e,_meta:{...a,[gi]:t}}}function A4(e){return e!==void 0&&mw(e.ttlMs)?e.ttlMs:x4}function _4(e){return e!==void 0&&hw(e.cacheScope)?e.cacheScope:S4}function P4(e){const t={...e};return delete t[dp],t}const O4=["elicitation/create","sampling/createMessage","roots/list"];let ls;function fw(){if(ls)return ls;const e=Hr();return ls={request:{"elicitation/create":$({method:J("elicitation/create"),params:e.ElicitRequestParamsSchema}),"sampling/createMessage":$({method:J("sampling/createMessage"),params:e.CreateMessageRequestParamsSchema}),"roots/list":$({method:J("roots/list"),params:et({}).optional()})},response:{"elicitation/create":e.ElicitResultSchema,"sampling/createMessage":e.CreateMessageResultSchema,"roots/list":e.ListRootsResultSchema}},ls}function gw(e){return O4.includes(e)}function wc(e){return gw(e)?fw().request[e]:void 0}function M4(e){return gw(e)?fw().response[e]:void 0}const vw={"tools/call":null,"tools/list":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"completion/complete":null,"server/discover":null,"subscriptions/listen":null},z4={"notifications/cancelled":null,"notifications/progress":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/subscriptions/acknowledged":null};function bw(e){return Object.prototype.hasOwnProperty.call(vw,e)}function yw(e){return Object.prototype.hasOwnProperty.call(z4,e)}function L4(e){return Object.prototype.hasOwnProperty.call(vw,e)}function D4(e){return bw(e)?Hr().dispatchRequestSchemas[e]:void 0}function F4(e){return L4(e)?Hr().dispatchResultSchemas[e]:void 0}function q4(e){return yw(e)?Hr().notificationSchemas2026[e]:void 0}function vi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Qo(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};const a=e.safeParse(t);return a.success?{ok:!0,value:a.data}:{ok:!1,reason:"invalid",message:String(a.error)}}const j4={ok:!1,reason:"not-in-era"},U4=[El,wl];function $4(e,t){let a=t,r=!1;const o=()=>(r||(a={...a},r=!0),a),i=t.tools;e==="tools/list"&&Array.isArray(i)&&i.some(l=>vi(l)&&"execution"in l)&&(o().tools=i.map(l=>{if(!vi(l)||!("execution"in l))return l;const c={...l};return delete c.execution,c}));const s=t.capabilities;if(vi(s)&&"tasks"in s){const l={...s};delete l.tasks,o().capabilities=l}return a}const pp={era:"2026-07-28",hasRequestMethod:bw,hasNotificationMethod:yw,hasInputRequestMethod:e=>wc(e)!==void 0,validateRequest:(e,t)=>Qo(D4(e),t),validateResult:(e,t)=>Qo(F4(e),t),validateNotification:(e,t)=>Qo(q4(e),t),validateInputRequest:(e,t)=>Qo(wc(e),t),validateInputResponse:(e,t)=>Qo(M4(e),t),samplingResultVariant:()=>j4,outboundEnvelope(e){return{[El]:e.protocolVersion,[Md]:e.clientInfo,[wl]:e.clientCapabilities,...e.logLevel!==void 0&&{[zd]:e.logLevel}}},validateEnvelopeMeta(e){const t=[];for(const r of U4)r in e||t.push({key:r,problem:"missing"});const a=Hr().RequestMetaEnvelopeSchema.safeParse(e);if(!a.success)for(const r of a.error.issues){const o=r.path.map(String),i=o.length>0?o.join("."):"_meta";o.length===1&&t.some(s=>s.key===i&&s.problem==="missing")||t.push({key:i,problem:r.message})}return t},projectCallToolResult:e=>sw(e),inputRequestSchema:wc,decodeResult(e,t){if(!vi(t))return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: not an object`,{method:e})};const a=t.resultType;if(a===void 0)return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: missing required resultType — servers implementing protocol revision 2026-07-28 MUST include it (the absent-means-complete bridge applies only to earlier-revision servers)`,{method:e,violation:"missing-resultType"})};if(typeof a!="string")return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: non-string resultType`,{method:e,resultType:a})};if(a==="input_required"){const s=t.inputRequests,l=vi(s)?s:{},c=t.requestState;return Object.keys(l).length===0&&typeof c!="string"?{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: input_required carries neither inputRequests nor requestState (every input_required result must include at least one of the two)`,{method:e,violation:"input-required-missing-both"})}:{kind:"input_required",inputRequests:l,...typeof c=="string"&&{requestState:c}}}if(a!=="complete")return{kind:"invalid",error:new Pn(Hn.UnsupportedResultType,`Unsupported result type '${a}' for ${e}`,{resultType:a,method:e})};const r=B4(),o=Object.hasOwn(r,e)?r[e]:void 0;if(o!==void 0){const s=o.safeParse(t);if(!s.success)return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: ${s.error}`,{method:e})}}const i={...t};return delete i.resultType,{kind:"complete",result:i}},encodeResult(e,t,a){return I4(R4(e,N4(e,$4(e,t))),a)},encodeErrorCode:e=>e===-32002?-32602:e,checkInboundEnvelope(e){if(e.envelope===void 0)return"Request is missing the required _meta envelope for protocol revision 2026-07-28 (io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities)";const t=Hr().RequestMetaEnvelopeSchema.safeParse(e.envelope);if(!t.success)return`Invalid _meta envelope for protocol revision 2026-07-28: ${t.error.issues.map(a=>a.message).join("; ")}`}};let cs;function B4(){if(cs)return cs;const e=Hr();return cs={"tools/call":e.CallToolResultSchema,"tools/list":e.ListToolsResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"completion/complete":e.CompleteResultSchema,"server/discover":e.DiscoverResultSchema},cs}const Ew="2026-07-28";function Xs(e){return e!==void 0&&e4(e)?pp:up}function ff(e){return e.revision!==void 0?Xs(e.revision).era:e.era==="modern"?pp.era:up.era}function kc(e){return ww.some(t=>t.hasRequestMethod(e))}function xc(e){return ww.some(t=>t.hasNotificationMethod(e))}const ww=[up,pp];var H4=$I({AnnotationsSchema:()=>Zr,AudioContentSchema:()=>Il,BaseMetadataSchema:()=>Br,BaseRequestParamsSchema:()=>Jn,BlobResourceContentsSchema:()=>Kd,BooleanSchemaSchema:()=>np,CallToolRequestParamsSchema:()=>EE,CallToolRequestSchema:()=>wE,CallToolResultSchema:()=>_l,CancelTaskRequestSchema:()=>DM,CancelTaskResultSchema:()=>FM,CancelledNotificationParamsSchema:()=>Cy,CancelledNotificationSchema:()=>$d,ClientCapabilitiesSchema:()=>Iy,ClientNotificationSchema:()=>jM,ClientRequestSchema:()=>qM,ClientResultSchema:()=>UM,ClientTasksCapabilitySchema:()=>Ry,CompatibilityCallToolResultSchema:()=>NM,CompleteRequestParamsSchema:()=>ZE,CompleteRequestSchema:()=>JE,CompleteResultSchema:()=>KE,ContentBlockSchema:()=>Lo,CreateMessageRequestParamsSchema:()=>PE,CreateMessageRequestSchema:()=>OE,CreateMessageResultSchema:()=>ME,CreateMessageResultWithToolsSchema:()=>zE,CreateTaskResultSchema:()=>IM,CursorSchema:()=>Dd,DiscoverRequestSchema:()=>My,DiscoverResultSchema:()=>zy,ElicitRequestFormParamsSchema:()=>Ol,ElicitRequestParamsSchema:()=>jE,ElicitRequestSchema:()=>UE,ElicitRequestURLParamsSchema:()=>qE,ElicitResultSchema:()=>HE,ElicitationCompleteNotificationParamsSchema:()=>$E,ElicitationCompleteNotificationSchema:()=>BE,EmbeddedResourceSchema:()=>Qd,EmptyResultSchema:()=>Cl,EnumSchemaSchema:()=>FE,GetPromptRequestParamsSchema:()=>uE,GetPromptRequestSchema:()=>dE,GetPromptResultSchema:()=>hE,GetTaskPayloadRequestSchema:()=>OM,GetTaskPayloadResultSchema:()=>MM,GetTaskRequestSchema:()=>_M,GetTaskResultSchema:()=>PM,IconSchema:()=>Ny,IconsSchema:()=>_o,ImageContentSchema:()=>Tl,ImplementationSchema:()=>Po,InitializeRequestParamsSchema:()=>Ay,InitializeRequestSchema:()=>_y,InitializeResultSchema:()=>Py,InitializedNotificationSchema:()=>Oy,JSONArraySchema:()=>kM,JSONObjectSchema:()=>mn,JSONRPCErrorResponseSchema:()=>Sl,JSONRPCMessageSchema:()=>Sy,JSONRPCNotificationSchema:()=>Ud,JSONRPCRequestSchema:()=>jd,JSONRPCResponseSchema:()=>xM,JSONRPCResultResponseSchema:()=>xl,JSONValueSchema:()=>xo,LegacyTitledEnumSchemaSchema:()=>op,ListChangedOptionsBaseSchema:()=>RM,ListPromptsRequestSchema:()=>lE,ListPromptsResultSchema:()=>cE,ListResourceTemplatesRequestSchema:()=>$y,ListResourceTemplatesResultSchema:()=>By,ListResourcesRequestSchema:()=>jy,ListResourcesResultSchema:()=>Uy,ListRootsRequestSchema:()=>GE,ListRootsResultSchema:()=>QE,ListTasksRequestSchema:()=>zM,ListTasksResultSchema:()=>LM,ListToolsRequestSchema:()=>bE,ListToolsResultSchema:()=>yE,LoggingLevelSchema:()=>ep,LoggingMessageNotificationParamsSchema:()=>CE,LoggingMessageNotificationSchema:()=>tp,ModelHintSchema:()=>NE,ModelPreferencesSchema:()=>RE,MultiSelectEnumSchemaSchema:()=>DE,NotificationSchema:()=>la,NotificationsParamsSchema:()=>sa,NumberSchemaSchema:()=>Gs,PaginatedRequestParamsSchema:()=>Fy,PaginatedRequestSchema:()=>Oo,PaginatedResultSchema:()=>Mo,PingRequestSchema:()=>Hd,PrimitiveSchemaDefinitionSchema:()=>lp,ProgressNotificationParamsSchema:()=>Dy,ProgressNotificationSchema:()=>Vd,ProgressSchema:()=>Ly,ProgressTokenSchema:()=>Ld,PromptArgumentSchema:()=>iE,PromptListChangedNotificationSchema:()=>fE,PromptMessageSchema:()=>mE,PromptReferenceSchema:()=>WE,PromptSchema:()=>sE,ReadResourceRequestParamsSchema:()=>Hy,ReadResourceRequestSchema:()=>Vy,ReadResourceResultSchema:()=>Wy,RelatedTaskMetadataSchema:()=>xy,RequestIdSchema:()=>Wr,RequestMetaSchema:()=>Fd,RequestSchema:()=>fn,ResourceContentsSchema:()=>Wd,ResourceLinkSchema:()=>Xd,ResourceListChangedNotificationSchema:()=>Zy,ResourceRequestParamsSchema:()=>Nl,ResourceSchema:()=>Yd,ResourceTemplateReferenceSchema:()=>VE,ResourceTemplateSchema:()=>qy,ResourceUpdatedNotificationParamsSchema:()=>rE,ResourceUpdatedNotificationSchema:()=>oE,ResultMetaObjectSchema:()=>qd,ResultSchema:()=>gn,RoleSchema:()=>zo,RootSchema:()=>YE,RootsListChangedNotificationSchema:()=>XE,SamplingContentSchema:()=>AE,SamplingMessageContentBlockSchema:()=>Ni,SamplingMessageSchema:()=>_E,ServerCapabilitiesSchema:()=>Bd,ServerNotificationSchema:()=>BM,ServerRequestSchema:()=>$M,ServerResultSchema:()=>HM,ServerTasksCapabilitySchema:()=>Ty,SetLevelRequestParamsSchema:()=>xE,SetLevelRequestSchema:()=>SE,SingleSelectEnumSchemaSchema:()=>LE,StringSchemaSchema:()=>Pl,SubscribeRequestParamsSchema:()=>Jy,SubscribeRequestSchema:()=>Ky,SubscriptionFilterSchema:()=>Gd,SubscriptionsAcknowledgedNotificationParamsSchema:()=>eE,SubscriptionsAcknowledgedNotificationSchema:()=>tE,SubscriptionsListenRequestParamsSchema:()=>Qy,SubscriptionsListenRequestSchema:()=>Xy,SubscriptionsListenResultMetaSchema:()=>nE,SubscriptionsListenResultSchema:()=>aE,TaskAugmentedRequestParamsSchema:()=>Vi,TaskCreationParamsSchema:()=>TM,TaskMetadataSchema:()=>ky,TaskSchema:()=>Do,TaskStatusNotificationParamsSchema:()=>tw,TaskStatusNotificationSchema:()=>AM,TaskStatusSchema:()=>ew,TextContentSchema:()=>Rl,TextResourceContentsSchema:()=>Zd,TitledMultiSelectEnumSchemaSchema:()=>sp,TitledSingleSelectEnumSchemaSchema:()=>rp,ToolAnnotationsSchema:()=>gE,ToolChoiceSchema:()=>TE,ToolExecutionSchema:()=>vE,ToolListChangedNotificationSchema:()=>kE,ToolResultContentSchema:()=>IE,ToolSchema:()=>Al,ToolUseContentSchema:()=>pE,UnsubscribeRequestParamsSchema:()=>Yy,UnsubscribeRequestSchema:()=>Gy,UntitledMultiSelectEnumSchemaSchema:()=>ip,UntitledSingleSelectEnumSchemaSchema:()=>ap});const V4=e=>jd.safeParse(e).success,W4=e=>Ud.safeParse(e).success,gf=e=>xl.safeParse(e).success,Z4=e=>Sl.safeParse(e).success,Sc=-32020;kt.InvalidRequest,kt.UnsupportedProtocolVersion,kt.InvalidParams,kt.MethodNotFound,kt.InvalidParams,kt.MissingRequiredClientCapability;kt.ParseError+"",kt.InvalidRequest+"",kt.MethodNotFound+"",kt.UnsupportedProtocolVersion+"",kt.MissingRequiredClientCapability+"";function kw(e,t){return ly(e,t)}function Xo(e){return new Set(e.flatMap(t=>Object.keys(t.shape)))}function wu(e){var a;if(e==null)return!1;const t=typeof e;return t!=="object"&&t!=="function"||!("~standard"in e)?!1:typeof((a=e["~standard"])==null?void 0:a.validate)=="function"}let vf=!1;const ku="draft-2020-12";function J4(e,t="input"){const a=e["~standard"];let r;if(a.jsonSchema)r=a.jsonSchema[t]({target:ku});else if(a.vendor==="zod"){if(!("_zod"in e))throw new Error("Schema appears to be from zod 3, which the SDK cannot convert to JSON Schema. Upgrade to zod >=4.2.0, or wrap your JSON Schema with fromJsonSchema().");vf||(vf=!0,console.warn("[mcp-sdk] Your zod version does not implement `~standard.jsonSchema` (added in zod 4.2.0). Falling back to z.toJSONSchema(). Upgrade to zod >=4.2.0 to silence this warning.")),r=sy(e,{target:ku,io:t})}else throw new Error(`Schema library "${a.vendor}" does not implement StandardJSONSchemaV1 (\`~standard.jsonSchema\`). Upgrade to a version that does, or wrap your JSON Schema with fromJsonSchema().`);if(t==="output")return r.type!==void 0?r:xw(r)?{type:"object",...r}:r;if(r.type!==void 0&&r.type!=="object")throw new Error(`MCP tool and prompt schemas must describe objects (got type: ${JSON.stringify(r.type)}). Wrap your schema in z.object({...}) or equivalent.`);return{type:"object",...r}}function xw(e){if("properties"in e||"patternProperties"in e||"additionalProperties"in e||"required"in e)return!0;for(const t of["oneOf","anyOf","allOf"]){const a=e[t];if(Array.isArray(a)&&a.length>0)return a.every(r=>r!==null&&typeof r=="object"&&(r.type==="object"||xw(r)))}return!1}function K4(e){var t;return(t=e.path)!=null&&t.length?`${e.path.map(a=>String(typeof a=="object"?a.key:a)).join(".")}: ${e.message}`:e.message}async function Cc(e,t){const a=await e["~standard"].validate(t);return a.issues&&a.issues.length>0?{success:!1,error:a.issues.map(r=>K4(r)).join(", ")}:{success:!0,data:a.value}}function Y4(e){const t=sy(e,{target:ku,io:"input"});return typeof t.pattern=="string"?t.pattern:void 0}const G4=/\\\.\\d\{(\d+)\}/;function Q4(e){const t=G4.exec(e),a=[void 0,-1,0];return t&&a.push(Number(t[1])),[!1,!0].flatMap(r=>[!1,!0].flatMap(o=>a.map(i=>yl({local:r,offset:o,precision:i}))))}function X4(e,t){let a;switch(e){case"email":a=[SO()];break;case"uri":a=[hy()];break;case"date":a=[gM()];break;case"date-time":a=Q4(t);break}return new Set(a.map(r=>Y4(r)).filter(r=>r!==void 0))}function ez(e,t,a){return a!=="zod"?!0:X4(e,t).has(t)}function Ri(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function tz(e){try{return J4(e,"input")}catch(t){const a=t instanceof Error?t.message:String(t);throw new Vn(kt.InvalidParams,`Elicitation requestedSchema must describe an object with flat primitive properties: ${a}`)}}const nz=new Set(["$comment","deprecated","description","examples","readOnly","title","writeOnly"]);function mp(e){return nz.has(e)||e.startsWith("x-")}const az=new Set(["$schema",...Object.keys(Ol.shape.requestedSchema.shape)]),bf={string:Xo([Pl,ap,rp,op]),number:Xo([Gs]),integer:Xo([Gs]),boolean:Xo([np]),array:Xo([ip,sp])},rz=new Set(Pl.shape.format.unwrap().options);function oz(e,t,a,r){if(!Ri(e))return e;const o=typeof e.type=="string"&&Object.hasOwn(bf,e.type)?bf[e.type]:void 0;if(o===void 0)return e;const i={};for(const[s,l]of Object.entries(e))o.has(s)||mp(s)?i[s]=l:s==="pattern"&&e.type==="string"&&typeof e.format=="string"?rz.has(e.format)?(typeof l!="string"||!ez(e.format,l,a))&&r.push(`${t}.${s}`):i[s]=l:r.push(`${t}.${s}`);return i}function iz(e,t){const a={},r=[];for(const[o,i]of Object.entries(e))o==="properties"&&Ri(i)?a[o]=Object.fromEntries(Object.entries(i).map(([s,l])=>[s,oz(l,`properties.${s}`,t,r)])):az.has(o)?a[o]=i:mp(o)||r.push(o);if(r.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${r.join(", ")}`);return a}function sz(e,t){if(!Ri(e.properties))return t;const a=Object.entries(e.properties).filter(([,r])=>!kw(lp,r).success).map(([r])=>`properties.${r}`);return a.length>0?a.join(", "):t}function xu(e,t,a=""){return Array.isArray(e)&&Array.isArray(t)?e.flatMap((r,o)=>xu(r,t[o],`${a}[${o}]`)):!Ri(e)||!Ri(t)?[]:Object.entries(e).flatMap(([r,o])=>{const i=a?`${a}.${r}`:r;return Object.prototype.hasOwnProperty.call(t,r)?xu(o,t[r],i):mp(r)?[]:[i]})}function lz(e){if(!wu(e.requestedSchema))return{...e,mode:"form",requestedSchema:e.requestedSchema};const t=e.requestedSchema["~standard"].vendor,a=iz(tz(e.requestedSchema),t),r=kw(Ol.shape.requestedSchema,a);if(!r.success)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema only supports flat primitive properties (string, number, integer, boolean, and string enums): ${sz(a,r.error.message)}`);const o=xu(a,r.data);if(o.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${o.join(", ")}`);const i=(r.data.required??[]).filter(s=>!Object.prototype.hasOwnProperty.call(r.data.properties,s));if(i.length>0)throw new Vn(kt.InvalidParams,`Elicitation requestedSchema lists required properties that are not defined in properties: ${i.join(", ")}`);return{...e,mode:"form",requestedSchema:r.data}}function cz(e){const t=e.inputRequests!==void 0&&Object.keys(e.inputRequests).length>0,a=typeof e.requestState=="string";if(!t&&!a)throw new TypeError("inputRequired() requires at least one of inputRequests (with at least one entry) or requestState (spec: every InputRequiredResult MUST include at least one of the two)");return{resultType:"input_required",...e.inputRequests!==void 0&&{inputRequests:e.inputRequests},...e.requestState!==void 0&&{requestState:e.requestState}}}Object.assign(cz,{elicit(e){try{return{method:"elicitation/create",params:lz(e)}}catch(t){throw t instanceof Vn?new TypeError(t.message,{cause:t}):t}},elicitUrl(e){return{method:"elicitation/create",params:{...e,mode:"url"}}},createMessage(e){return{method:"sampling/createMessage",params:e}},listRoots(){return{method:"roots/list"}}});const uz=["AnnotationsSchema","AudioContentSchema","BaseMetadataSchema","BlobResourceContentsSchema","BooleanSchemaSchema","CallToolRequestSchema","CallToolRequestParamsSchema","CallToolResultSchema","CancelledNotificationSchema","CancelledNotificationParamsSchema","CancelTaskRequestSchema","CancelTaskResultSchema","ClientCapabilitiesSchema","ClientNotificationSchema","ClientRequestSchema","ClientResultSchema","CompatibilityCallToolResultSchema","CompleteRequestSchema","CompleteRequestParamsSchema","CompleteResultSchema","ContentBlockSchema","CreateMessageRequestSchema","CreateMessageRequestParamsSchema","CreateMessageResultSchema","CreateMessageResultWithToolsSchema","CreateTaskResultSchema","CursorSchema","DiscoverRequestSchema","DiscoverResultSchema","ElicitationCompleteNotificationSchema","ElicitationCompleteNotificationParamsSchema","ElicitRequestSchema","ElicitRequestFormParamsSchema","ElicitRequestParamsSchema","ElicitRequestURLParamsSchema","ElicitResultSchema","EmbeddedResourceSchema","EmptyResultSchema","EnumSchemaSchema","GetPromptRequestSchema","GetPromptRequestParamsSchema","GetPromptResultSchema","GetTaskPayloadRequestSchema","GetTaskPayloadResultSchema","GetTaskRequestSchema","GetTaskResultSchema","IconSchema","IconsSchema","ImageContentSchema","ImplementationSchema","InitializedNotificationSchema","InitializeRequestSchema","InitializeRequestParamsSchema","InitializeResultSchema","JSONArraySchema","JSONObjectSchema","JSONRPCErrorResponseSchema","JSONRPCMessageSchema","JSONRPCNotificationSchema","JSONRPCRequestSchema","JSONRPCResponseSchema","JSONRPCResultResponseSchema","JSONValueSchema","LegacyTitledEnumSchemaSchema","ListPromptsRequestSchema","ListPromptsResultSchema","ListResourcesRequestSchema","ListResourcesResultSchema","ListResourceTemplatesRequestSchema","ListResourceTemplatesResultSchema","ListRootsRequestSchema","ListRootsResultSchema","ListTasksRequestSchema","ListTasksResultSchema","ListToolsRequestSchema","ListToolsResultSchema","LoggingLevelSchema","LoggingMessageNotificationSchema","LoggingMessageNotificationParamsSchema","ModelHintSchema","ModelPreferencesSchema","MultiSelectEnumSchemaSchema","NotificationSchema","NumberSchemaSchema","PaginatedRequestSchema","PaginatedRequestParamsSchema","PaginatedResultSchema","PingRequestSchema","PrimitiveSchemaDefinitionSchema","ProgressSchema","ProgressNotificationSchema","ProgressNotificationParamsSchema","ProgressTokenSchema","PromptSchema","PromptArgumentSchema","PromptListChangedNotificationSchema","PromptMessageSchema","PromptReferenceSchema","ReadResourceRequestSchema","ReadResourceRequestParamsSchema","ReadResourceResultSchema","RelatedTaskMetadataSchema","RequestSchema","RequestIdSchema","RequestMetaSchema","ResourceSchema","ResourceContentsSchema","ResourceLinkSchema","ResourceListChangedNotificationSchema","ResourceRequestParamsSchema","ResourceTemplateSchema","ResourceTemplateReferenceSchema","ResourceUpdatedNotificationSchema","ResourceUpdatedNotificationParamsSchema","ResultMetaObjectSchema","ResultSchema","RoleSchema","RootSchema","RootsListChangedNotificationSchema","SamplingContentSchema","SamplingMessageSchema","SamplingMessageContentBlockSchema","ServerCapabilitiesSchema","ServerNotificationSchema","ServerRequestSchema","ServerResultSchema","SetLevelRequestSchema","SetLevelRequestParamsSchema","SingleSelectEnumSchemaSchema","StringSchemaSchema","SubscribeRequestSchema","SubscribeRequestParamsSchema","SubscriptionFilterSchema","SubscriptionsAcknowledgedNotificationSchema","SubscriptionsAcknowledgedNotificationParamsSchema","SubscriptionsListenRequestSchema","SubscriptionsListenRequestParamsSchema","SubscriptionsListenResultSchema","SubscriptionsListenResultMetaSchema","TaskAugmentedRequestParamsSchema","TaskCreationParamsSchema","TaskMetadataSchema","TaskSchema","TaskStatusSchema","TaskStatusNotificationSchema","TaskStatusNotificationParamsSchema","TextContentSchema","TextResourceContentsSchema","TitledMultiSelectEnumSchemaSchema","TitledSingleSelectEnumSchemaSchema","ToolSchema","ToolAnnotationsSchema","ToolChoiceSchema","ToolExecutionSchema","ToolListChangedNotificationSchema","ToolResultContentSchema","ToolUseContentSchema","UnsubscribeRequestSchema","UnsubscribeRequestParamsSchema","UntitledMultiSelectEnumSchemaSchema","UntitledSingleSelectEnumSchemaSchema"],dz={IdJagTokenExchangeResponseSchema:JM,OAuthClientInformationFullSchema:YM,OAuthClientInformationSchema:ow,OAuthClientMetadataSchema:rw,OAuthClientRegistrationErrorSchema:GM,OAuthErrorResponseSchema:KM,OAuthMetadataSchema:nw,OAuthProtectedResourceMetadataSchema:VM,OAuthTokenRevocationRequestSchema:QM,OAuthTokensSchema:ZM,OpenIdProviderDiscoveryMetadataSchema:WM,OpenIdProviderMetadataSchema:aw},Sw={},Cw={};function Nw(e,t){const a=e.slice(0,-6);Sw[a]=t,Cw[a]=r=>t.safeParse(r).success}for(const e of uz)Nw(e,H4[e]);for(const[e,t]of Object.entries(dz))Nw(e,t);Object.freeze(Sw);Object.freeze(Cw);function pz(e){switch(e){case"initialize":case"notifications/initialized":return Xs(void 0);case"server/discover":return Xs(Ew);default:return}}const mz=6e4,hz=[El,Md,wl,zd],fz=["inputResponses","requestState"];function yf(e,t){const a=e.params;if(!Nc(a))return{message:e,lifted:{}};const r=a._meta,o=Nc(r)?hz.filter(c=>c in r):[],i=t==="request"?fz.filter(c=>c in a):[];if(o.length===0&&i.length===0)return{message:e,lifted:{}};const s={},l={...a};if(o.length>0&&Nc(r)){const c={},u={...r};for(const d of o)c[d]=r[d],delete u[d];s.envelope=c,Object.keys(u).length>0?l._meta=u:delete l._meta}for(const c of i)c==="inputResponses"&&(s.inputResponses=l[c]),c==="requestState"&&(s.requestState=l[c]),delete l[c];return{message:{...e,params:l},lifted:s}}function Ef(e,t){const a=e.validateResult(t,void 0);if(!(!a.ok&&a.reason==="not-in-era"))return{"~standard":{version:1,vendor:"mcp-wire-codec",validate(r){const o=e.validateResult(t,r);return o.ok?{value:o.value}:{issues:[{message:o.reason==="invalid"?o.message:`not-in-era: ${t}`}]}}}}}function Rw(e){return()=>e}const gz=Rw(void 0);var vz=class{constructor(e){Ye(this,"_transport");Ye(this,"_requestMessageId",0);Ye(this,"_requestHandlers",new Map);Ye(this,"_requestHandlerAbortControllers",new Map);Ye(this,"_notificationHandlers",new Map);Ye(this,"_responseHandlers",new Map);Ye(this,"_progressHandlers",new Map);Ye(this,"_timeoutInfo",new Map);Ye(this,"_pendingDebouncedNotifications",new Set);Ye(this,"_negotiatedProtocolVersion");Ye(this,"_supportedProtocolVersions");Ye(this,"onclose");Ye(this,"onerror");Ye(this,"fallbackRequestHandler");Ye(this,"fallbackNotificationHandler");this._options=e,this._supportedProtocolVersions=(e==null?void 0:e.supportedProtocolVersions)??yM,this.setNotificationHandler("notifications/cancelled",t=>{this._oncancel(t)}),this.setNotificationHandler("notifications/progress",t=>{this._onprogress(t)}),this.setRequestHandler("ping",t=>({}))}_shouldDropInbound(e){}_outboundMetaEnvelope(){}_envelopeOutbound(e){const t=this._outboundMetaEnvelope();if(t===void 0)return e;const a=e.params??{};return{...e,params:{...a,_meta:{...t,...a._meta}}}}_resolveNonCompleteResult(e,t){return Promise.reject(new Pn(Hn.UnsupportedResultType,`Unsupported result type '${e.kind}' for ${t.request.method}`,{resultType:e.kind,method:t.request.method}))}_getRequestHandler(e){return this._requestHandlers.get(e)}async _oncancel(e){var t;e.params.requestId&&((t=this._requestHandlerAbortControllers.get(e.params.requestId))==null||t.abort(e.params.reason))}_setupTimeout(e,t,a,r,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:a,resetTimeoutOnProgress:o,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const a=Date.now()-t.startTime;if(t.maxTotalTimeout&&a>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Pn(Hn.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:a});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var o,i,s,l;this._transport=e;const t=(o=this.transport)==null?void 0:o.onclose;this._transport.onclose=()=>{try{t==null||t()}finally{this._onclose()}};const a=(i=this.transport)==null?void 0:i.onerror;this._transport.onerror=c=>{a==null||a(c),this._onerror(c)};const r=(s=this._transport)==null?void 0:s.onmessage;this._transport.onmessage=(c,u)=>{r==null||r(c,u),gf(c)||Z4(c)?this._onresponse(c):V4(c)?this._onrequest(c,u):W4(c)?this._onnotification(c,u):this._onerror(new Error(`Unknown message type: ${JSON.stringify(c)}`))},(l=e.setSupportedProtocolVersions)==null||l.call(e,this._supportedProtocolVersions),await this._transport.start()}_onclose(){var r;const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear();for(const o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();const t=this._requestHandlerAbortControllers;this._requestHandlerAbortControllers=new Map;const a=new Pn(Hn.ConnectionClosed,"Connection closed");this._transport=void 0;try{(r=this.onclose)==null||r.call(this)}finally{for(const o of e.values())o(a);for(const o of t.values())o.abort(a)}}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e,t){const{message:a}=yf(e,"notification"),r=this._negotiatedWireCodec();if((t==null?void 0:t.classification)===void 0&&this._shouldDropInbound(e)==="drop")return;if((t==null?void 0:t.classification)!==void 0){const s=ff(t.classification);if(s!==r.era){this._onerror(new Error(`Era mismatch on inbound notification '${a.method}': classified as ${s} but this instance serves ${r.era}`));return}}if(xc(a.method)&&!r.hasNotificationMethod(a.method))return;const o=this._notificationHandlers.get(a.method),i=this.fallbackNotificationHandler;o===void 0&&i===void 0||Promise.resolve().then(()=>o===void 0?i(a):o(a,r)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){var v;const{message:a,lifted:r}=yf(e,"request"),o=this._negotiatedWireCodec();if((t==null?void 0:t.classification)===void 0&&this._shouldDropInbound(e)==="drop"){this._onerror(new Error(`Dropped inbound request '${e.method}': not servable on this connection's protocol era`));return}const i=this._transport,s=(y,E,b)=>{const x={jsonrpc:"2.0",id:a.id,error:{code:y,message:E,...b!==void 0&&{data:b}}};i==null||i.send(x).catch(w=>this._onerror(new Error(`Failed to send an error response: ${w}`)))};if((t==null?void 0:t.classification)!==void 0){const y=ff(t.classification);if(y!==o.era){this._onerror(new Error(`Era mismatch on inbound request '${a.method}': classified as ${y} but this instance serves ${o.era}`));const E=t.classification.revision??y;s(kt.UnsupportedProtocolVersion,`Unsupported protocol version: ${E}`,{supported:this._supportedProtocolVersions,requested:E});return}}if(kc(a.method)&&!o.hasRequestMethod(a.method)){s(kt.MethodNotFound,"Method not found");return}const l=this._requestHandlers.get(a.method)??this.fallbackRequestHandler;if(l===void 0){s(kt.MethodNotFound,"Method not found");return}const c=o.checkInboundEnvelope(r);if(c!==void 0){s(kt.InvalidParams,c);return}const u=(y,E)=>this._notificationViaCodec(this._resolveOutboundCodec(y.method),y,{...E,relatedRequestId:a.id}),d=(y,E,b)=>this._requestWithSchemaViaCodec(this._resolveOutboundCodec(y.method),y,E,{...b,relatedRequestId:a.id}),p=new AbortController;this._requestHandlerAbortControllers.set(a.id,p);const m=r.inputResponses===void 0?void 0:bz(r.inputResponses),h={sessionId:i==null?void 0:i.sessionId,mcpReq:{id:a.id,method:a.method,_meta:(v=a.params)==null?void 0:v._meta,...r.envelope!==void 0&&{envelope:r.envelope},...m!==void 0&&{inputResponses:m.accepted},...m!==void 0&&m.droppedKeys.length>0&&{droppedInputResponseKeys:m.droppedKeys},requestState:r.requestState===void 0?gz:Rw(r.requestState),signal:p.signal,send:((y,E,b)=>{const x=this._resolveOutboundCodec(y.method);if(this._assertOutboundRequestInEra(x,y.method),wu(E))return d(y,E,b);const w=Ef(x,y.method);if(w===void 0)throw new TypeError(`'${y.method}' is not a spec method; pass a result schema as the second argument to ctx.mcpReq.send().`);return d(y,w,E)}),notify:u},http:t!=null&&t.authInfo?{authInfo:t.authInfo}:void 0},f=this.buildContext(h,t);Promise.resolve().then(()=>l(a,f)).then(async y=>{if(p.signal.aborted)return;let E;try{E=o.encodeResult(a.method,y,this._outboundServerInfo())}catch(x){this._onerror(new Error(`Failed to encode result for ${a.method}: ${x}`)),s(kt.InternalError,"Internal error");return}const b={result:E,jsonrpc:"2.0",id:a.id};await(i==null?void 0:i.send(b))},async y=>{if(p.signal.aborted)return;const E=Number.isSafeInteger(y.code)?y.code:kt.InternalError,b={jsonrpc:"2.0",id:a.id,error:{code:o.encodeErrorCode(E),message:y.message??"Internal error",...y.data!==void 0&&{data:y.data}}};await(i==null?void 0:i.send(b))}).catch(y=>this._onerror(new Error(`Failed to send response: ${y}`))).finally(()=>{this._requestHandlerAbortControllers.get(a.id)===p&&this._requestHandlerAbortControllers.delete(a.id)})}_onprogress(e){const{progressToken:t,...a}=e.params,r=Number(t),o=this._progressHandlers.get(r);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const i=this._responseHandlers.get(r),s=this._timeoutInfo.get(r);if(s&&i&&s.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(l){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),i(l);return}o(a)}_onresponse(e){const t=Number(e.id),a=this._responseHandlers.get(t);if(a===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t),this._progressHandlers.delete(t),gf(e)?a(e):a(Vn.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}request(e,t,a){const r=this._resolveOutboundCodec(e.method);if(this._assertOutboundRequestInEra(r,e.method),wu(t))return this._requestWithSchemaViaCodec(r,e,t,a);const o=Ef(r,e.method);if(o===void 0)throw new TypeError(`'${e.method}' is not a spec method; pass a result schema as the second argument to request().`);return this._requestWithSchemaViaCodec(r,e,o,t)}_negotiatedWireCodec(){return Xs(this._negotiatedProtocolVersion)}_wireCodec(){return this._negotiatedWireCodec()}_resolveOutboundCodec(e){if(this._negotiatedProtocolVersion===void 0){const t=pz(e);if(t)return t}return this._negotiatedWireCodec()}_assertOutboundRequestInEra(e,t){if(kc(t)&&!e.hasRequestMethod(t))throw new Pn(Hn.MethodNotSupportedByProtocolVersion,`Method '${t}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t,era:e.era})}_requestWithSchema(e,t,a){const r=this._resolveOutboundCodec(e.method);return this._assertOutboundRequestInEra(r,e.method),this._requestWithSchemaViaCodec(r,e,t,a)}_requestWithSchemaViaCodec(e,t,a,r){const{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,headers:l}=r??{},c=Date.now();let u,d;return new Promise((p,m)=>{var S,I,N,M;const h=k=>{m(k)};if(!this._transport){h(new Error("Not connected"));return}if(((S=this._options)==null?void 0:S.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(t.method)}catch(k){h(k);return}if((I=r==null?void 0:r.signal)!=null&&I.aborted){const k=r.signal.reason;throw k instanceof Pn?k:new Pn(Hn.RequestTimeout,String(k))}const f=e.era===Ew&&this._transport.hasPerRequestStream===!0?new AbortController:void 0,v=this._requestMessageId++;d=v;const y={...t,jsonrpc:"2.0",id:v};r!=null&&r.onprogress&&(this._progressHandlers.set(v,r.onprogress),y.params={...t.params,_meta:{...(N=t.params)==null?void 0:N._meta,progressToken:v}});const E=this._envelopeOutbound(y);let b=!1;const x=k=>{var T;b||(this._progressHandlers.delete(v),f===void 0?(T=this._transport)==null||T.send(this._envelopeOutbound({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:v,reason:String(k)}}),{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(A=>this._onerror(new Error(`Failed to send cancellation: ${A}`))):f.abort(),m(k instanceof Pn?k:new Pn(Hn.RequestTimeout,String(k))))};this._responseHandlers.set(v,k=>{var q;if((q=r==null?void 0:r.signal)!=null&&q.aborted)return;if(b=!0,k instanceof Error)return m(k);let T;try{T=e.decodeResult(t.method,k.result)}catch(z){return m(z instanceof Error?z:new Error(String(z)))}if(T.kind==="invalid")return m(T.error);if(T.kind==="input_required"){if((r==null?void 0:r.allowInputRequired)===!0)return p(yz(T));const z={codec:e,request:t,resultSchema:a,options:r,flowStartedAt:c,retry:(F,H)=>this._requestWithSchemaViaCodec(e,F===void 0?{method:t.method}:{method:t.method,params:F},a,H)};return p(this._resolveNonCompleteResult(T,z))}const A=T.result;Cc(a,A).then(z=>{z.success?p(z.data):m(new Pn(Hn.InvalidResult,`Invalid result for ${t.method}: ${z.error}`))},m)}),u=()=>{var k;return x((k=r==null?void 0:r.signal)==null?void 0:k.reason)},(M=r==null?void 0:r.signal)==null||M.addEventListener("abort",u,{once:!0});const w=(r==null?void 0:r.timeout)??mz,R=()=>x(new Pn(Hn.RequestTimeout,"Request timed out",{timeout:w}));this._setupTimeout(v,w,r==null?void 0:r.maxTotalTimeout,R,(r==null?void 0:r.resetTimeoutOnProgress)??!1),this._transport.send(E,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,headers:l,requestSignal:f==null?void 0:f.signal}).catch(k=>{this._progressHandlers.delete(v),m(k)})}).finally(()=>{var p;u&&((p=r==null?void 0:r.signal)==null||p.removeEventListener("abort",u)),d!==void 0&&(this._responseHandlers.delete(d),this._cleanupTimeout(d))})}async notification(e,t){return this._notificationViaCodec(this._resolveOutboundCodec(e.method),e,t)}async _notificationViaCodec(e,t,a){var o;if(!this._transport)throw new Pn(Hn.NotConnected,"Not connected");if(xc(t.method)&&!e.hasNotificationMethod(t.method))throw new Pn(Hn.MethodNotSupportedByProtocolVersion,`Notification '${t.method}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t.method,era:e.era});this.assertNotificationCapability(t.method);const r=this._envelopeOutbound({jsonrpc:"2.0",...t});if((((o=this._options)==null?void 0:o.debouncedNotificationMethods)??[]).includes(t.method)&&!t.params&&!(a!=null&&a.relatedRequestId)){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{var i;this._pendingDebouncedNotifications.delete(t.method),this._transport&&((i=this._transport)==null||i.send(r,a).catch(s=>this._onerror(s)))});return}await this._transport.send(r,a)}setRequestHandler(e,t,a){this.assertRequestHandlerCapability(e);let r;if(typeof t=="function"){if(!kc(e))throw new TypeError(`'${e}' is not a spec request method; pass schemas as the second argument to setRequestHandler().`);r=(o,i)=>{const s=this._negotiatedWireCodec();let l=s.validateRequest(e,o);if(!l.ok&&l.reason==="not-in-era"&&(l=s.validateInputRequest(e,o)),!l.ok)throw l.reason==="not-in-era"?new Vn(kt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(l.message);return Promise.resolve(t(l.value,i))}}else if(a)r=async(o,i)=>{const s=await Cc(t.params,{...o.params});if(!s.success)throw new Vn(kt.InvalidParams,`Invalid params for ${e}: ${s.error}`);return a(s.data,i)};else throw new TypeError("setRequestHandler: handler is required");this._requestHandlers.set(e,this._wrapHandler(e,r))}_wrapHandler(e,t){return t}_outboundServerInfo(){}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t,a){if(typeof t=="function"){if(!xc(e))throw new TypeError(`'${e}' is not a spec notification method; pass schemas as the second argument to setNotificationHandler().`);this._notificationHandlers.set(e,(r,o)=>{const i=o.validateNotification(e,r);if(!i.ok)throw i.reason==="not-in-era"?new Vn(kt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(i.message);return Promise.resolve(t(i.value))});return}if(!a)throw new TypeError("setNotificationHandler: handler is required");this._notificationHandlers.set(e,async r=>{const o=await Cc(t.params,{...r.params});if(!o.success)throw new Vn(kt.InvalidParams,`Invalid params for notification ${e}: ${o.error}`);await a(o.data,r)})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function Nc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function wf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bz(e){const t={},a=[];if(!wf(e))return{accepted:t,droppedKeys:a};for(const[r,o]of Object.entries(e)){if(!wf(o)||"method"in o||"result"in o){a.push(r);continue}t[r]=o}return{accepted:t,droppedKeys:a}}function yz(e){return{resultType:"input_required",inputRequests:e.inputRequests,...e.requestState!==void 0&&{requestState:e.requestState}}}/*! * content-type * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed -*/var yz=jI((e=>{var t=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,a=/\\([\u000b\u0020-\u00ff])/g,r=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;e.parse=o;function o(l){if(!l)throw new TypeError("argument string is required");var c=typeof l=="object"?i(l):l;if(typeof c!="string")throw new TypeError("argument string is required to be a string");var u=c.indexOf(";"),d=u!==-1?c.slice(0,u).trim():c.trim();if(!r.test(d))throw new TypeError("invalid media type");var p=new s(d.toLowerCase());if(u!==-1){var m,h,f;for(t.lastIndex=u;h=t.exec(c);){if(h.index!==u)throw new TypeError("invalid parameter format");u+=h[0].length,m=h[1].toLowerCase(),f=h[2],f.charCodeAt(0)===34&&(f=f.slice(1,-1),f.indexOf("\\")!==-1&&(f=f.replace(a,"$1"))),p.parameters[m]=f}if(u!==c.length)throw new TypeError("invalid parameter format")}return p}function i(l){var c;if(typeof l.getHeader=="function"?c=l.getHeader("content-type"):typeof l.headers=="object"&&(c=l.headers&&l.headers["content-type"]),typeof c!="string")throw new TypeError("content-type header is missing from object");return c}function s(l){this.parameters=Object.create(null),this.type=l}}));yz();typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");const Ez=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,wz=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,kz=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,xz=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Sz=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,Cz=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Nz=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Rz=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Tz=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Iz=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,Az=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i;function $a(e){return e.test.bind(e)}_z.bind(void 0,!1),$a(kz),$a(xz),$a(Sz),$a(wz),$a(Iz),$a(Az),$a(Cz),$a(Nz),$a(Rz),$a(Tz);function _z(e,t){const a=t.match(Ez);if(!a)return!1;const r=+a[1],o=+a[2],i=+a[3],s=!!a[5];return(r<=23&&o<=59&&i<=59||r==23&&o==59&&i==60)&&(!e||s)}class Pz{constructor(){Ye(this,"_eventSlots",new Map)}setHandler(t,a){let r=this._ensureEventSlot(t);r.onHandler&&a&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),r.onHandler=a}getHandler(t){var a;return(a=this._eventSlots.get(t))==null?void 0:a.onHandler}addEventListener(t,a){this._ensureEventSlot(t).listeners.push(a)}removeEventListener(t,a){let r=this._eventSlots.get(t);if(!r)return;let o=r.listeners.indexOf(a);o!==-1&&r.listeners.splice(o,1)}dispatch(t,a){var o;let r=this._eventSlots.get(t);if(r){(o=r.onHandler)==null||o.call(r,a);for(let i of[...r.listeners])i(a)}}_ensureEventSlot(t){let a=this._eventSlots.get(t);return a||(a={listeners:[]},this._eventSlots.set(t,a)),a}}class Oz{constructor(){Ye(this,"_methods",new Set)}claim(t,a){if(this._methods.has(t))throw Error(`Handler for "${t}" already registered (via ${a}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._methods.add(t)}replace(t){this._methods.add(t)}release(t){this._methods.delete(t)}has(t){return this._methods.has(t)}}var kf=new Set;function xf(e,t){var c;let[a,r]=t,o=a==null?void 0:a.shape;if(typeof((c=o==null?void 0:o.method)==null?void 0:c.value)!="string")return;let i=o.method.value,s=e==="request"?"setRequestHandler":"setNotificationHandler";kf.has(s)||(kf.add(s),console.warn(`[ext-apps] ${s}(Schema, handler) is deprecated; use ${s}("${i}", { params: Schema.shape.params }, handler).`));let l=r;return[i,{params:o.params},e==="request"?(u,d)=>l({method:i,params:u},Mz(d)):u=>l({method:i,params:u})]}function Mz(e){var t;return{signal:e.mcpReq.signal,requestId:e.mcpReq.id,sessionId:e.sessionId,_meta:e.mcpReq._meta,sendRequest:e.mcpReq.send,sendNotification:e.mcpReq.notify,authInfo:(t=e.http)==null?void 0:t.authInfo}}var Rw="2026-01-26",zz="ui/notifications/tool-input-partial",Lz=Te([J("light"),J("dark")]).describe("Color theme preference for the host environment."),Ti=Te([J("inline"),J("fullscreen"),J("pip")]).describe("Display mode for UI presentation."),Dz=Te([J("--color-background-primary"),J("--color-background-secondary"),J("--color-background-tertiary"),J("--color-background-inverse"),J("--color-background-ghost"),J("--color-background-info"),J("--color-background-danger"),J("--color-background-success"),J("--color-background-warning"),J("--color-background-disabled"),J("--color-text-primary"),J("--color-text-secondary"),J("--color-text-tertiary"),J("--color-text-inverse"),J("--color-text-ghost"),J("--color-text-info"),J("--color-text-danger"),J("--color-text-success"),J("--color-text-warning"),J("--color-text-disabled"),J("--color-border-primary"),J("--color-border-secondary"),J("--color-border-tertiary"),J("--color-border-inverse"),J("--color-border-ghost"),J("--color-border-info"),J("--color-border-danger"),J("--color-border-success"),J("--color-border-warning"),J("--color-border-disabled"),J("--color-ring-primary"),J("--color-ring-secondary"),J("--color-ring-inverse"),J("--color-ring-info"),J("--color-ring-danger"),J("--color-ring-success"),J("--color-ring-warning"),J("--font-sans"),J("--font-mono"),J("--font-weight-normal"),J("--font-weight-medium"),J("--font-weight-semibold"),J("--font-weight-bold"),J("--font-text-xs-size"),J("--font-text-sm-size"),J("--font-text-md-size"),J("--font-text-lg-size"),J("--font-heading-xs-size"),J("--font-heading-sm-size"),J("--font-heading-md-size"),J("--font-heading-lg-size"),J("--font-heading-xl-size"),J("--font-heading-2xl-size"),J("--font-heading-3xl-size"),J("--font-text-xs-line-height"),J("--font-text-sm-line-height"),J("--font-text-md-line-height"),J("--font-text-lg-line-height"),J("--font-heading-xs-line-height"),J("--font-heading-sm-line-height"),J("--font-heading-md-line-height"),J("--font-heading-lg-line-height"),J("--font-heading-xl-line-height"),J("--font-heading-2xl-line-height"),J("--font-heading-3xl-line-height"),J("--border-radius-xs"),J("--border-radius-sm"),J("--border-radius-md"),J("--border-radius-lg"),J("--border-radius-xl"),J("--border-radius-full"),J("--border-width-regular"),J("--shadow-hairline"),J("--shadow-sm"),J("--shadow-md"),J("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),Fz=Re(Dz.describe(`Style variables for theming MCP apps. +*/var Ez=UI((e=>{var t=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,a=/\\([\u000b\u0020-\u00ff])/g,r=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;e.parse=o;function o(l){if(!l)throw new TypeError("argument string is required");var c=typeof l=="object"?i(l):l;if(typeof c!="string")throw new TypeError("argument string is required to be a string");var u=c.indexOf(";"),d=u!==-1?c.slice(0,u).trim():c.trim();if(!r.test(d))throw new TypeError("invalid media type");var p=new s(d.toLowerCase());if(u!==-1){var m,h,f;for(t.lastIndex=u;h=t.exec(c);){if(h.index!==u)throw new TypeError("invalid parameter format");u+=h[0].length,m=h[1].toLowerCase(),f=h[2],f.charCodeAt(0)===34&&(f=f.slice(1,-1),f.indexOf("\\")!==-1&&(f=f.replace(a,"$1"))),p.parameters[m]=f}if(u!==c.length)throw new TypeError("invalid parameter format")}return p}function i(l){var c;if(typeof l.getHeader=="function"?c=l.getHeader("content-type"):typeof l.headers=="object"&&(c=l.headers&&l.headers["content-type"]),typeof c!="string")throw new TypeError("content-type header is missing from object");return c}function s(l){this.parameters=Object.create(null),this.type=l}}));Ez();typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");const wz=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,kz=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,xz=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Sz=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Cz=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,Nz=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Rz=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Tz=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Iz=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Az=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,_z=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i;function $a(e){return e.test.bind(e)}Pz.bind(void 0,!1),$a(xz),$a(Sz),$a(Cz),$a(kz),$a(Az),$a(_z),$a(Nz),$a(Rz),$a(Tz),$a(Iz);function Pz(e,t){const a=t.match(wz);if(!a)return!1;const r=+a[1],o=+a[2],i=+a[3],s=!!a[5];return(r<=23&&o<=59&&i<=59||r==23&&o==59&&i==60)&&(!e||s)}class Oz{constructor(){Ye(this,"_eventSlots",new Map)}setHandler(t,a){let r=this._ensureEventSlot(t);r.onHandler&&a&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),r.onHandler=a}getHandler(t){var a;return(a=this._eventSlots.get(t))==null?void 0:a.onHandler}addEventListener(t,a){this._ensureEventSlot(t).listeners.push(a)}removeEventListener(t,a){let r=this._eventSlots.get(t);if(!r)return;let o=r.listeners.indexOf(a);o!==-1&&r.listeners.splice(o,1)}dispatch(t,a){var o;let r=this._eventSlots.get(t);if(r){(o=r.onHandler)==null||o.call(r,a);for(let i of[...r.listeners])i(a)}}_ensureEventSlot(t){let a=this._eventSlots.get(t);return a||(a={listeners:[]},this._eventSlots.set(t,a)),a}}class Mz{constructor(){Ye(this,"_methods",new Set)}claim(t,a){if(this._methods.has(t))throw Error(`Handler for "${t}" already registered (via ${a}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._methods.add(t)}replace(t){this._methods.add(t)}release(t){this._methods.delete(t)}has(t){return this._methods.has(t)}}var kf=new Set;function xf(e,t){var c;let[a,r]=t,o=a==null?void 0:a.shape;if(typeof((c=o==null?void 0:o.method)==null?void 0:c.value)!="string")return;let i=o.method.value,s=e==="request"?"setRequestHandler":"setNotificationHandler";kf.has(s)||(kf.add(s),console.warn(`[ext-apps] ${s}(Schema, handler) is deprecated; use ${s}("${i}", { params: Schema.shape.params }, handler).`));let l=r;return[i,{params:o.params},e==="request"?(u,d)=>l({method:i,params:u},zz(d)):u=>l({method:i,params:u})]}function zz(e){var t;return{signal:e.mcpReq.signal,requestId:e.mcpReq.id,sessionId:e.sessionId,_meta:e.mcpReq._meta,sendRequest:e.mcpReq.send,sendNotification:e.mcpReq.notify,authInfo:(t=e.http)==null?void 0:t.authInfo}}var Tw="2026-01-26",Lz="ui/notifications/tool-input-partial",Dz=Te([J("light"),J("dark")]).describe("Color theme preference for the host environment."),Ti=Te([J("inline"),J("fullscreen"),J("pip")]).describe("Display mode for UI presentation."),Fz=Te([J("--color-background-primary"),J("--color-background-secondary"),J("--color-background-tertiary"),J("--color-background-inverse"),J("--color-background-ghost"),J("--color-background-info"),J("--color-background-danger"),J("--color-background-success"),J("--color-background-warning"),J("--color-background-disabled"),J("--color-text-primary"),J("--color-text-secondary"),J("--color-text-tertiary"),J("--color-text-inverse"),J("--color-text-ghost"),J("--color-text-info"),J("--color-text-danger"),J("--color-text-success"),J("--color-text-warning"),J("--color-text-disabled"),J("--color-border-primary"),J("--color-border-secondary"),J("--color-border-tertiary"),J("--color-border-inverse"),J("--color-border-ghost"),J("--color-border-info"),J("--color-border-danger"),J("--color-border-success"),J("--color-border-warning"),J("--color-border-disabled"),J("--color-ring-primary"),J("--color-ring-secondary"),J("--color-ring-inverse"),J("--color-ring-info"),J("--color-ring-danger"),J("--color-ring-success"),J("--color-ring-warning"),J("--font-sans"),J("--font-mono"),J("--font-weight-normal"),J("--font-weight-medium"),J("--font-weight-semibold"),J("--font-weight-bold"),J("--font-text-xs-size"),J("--font-text-sm-size"),J("--font-text-md-size"),J("--font-text-lg-size"),J("--font-heading-xs-size"),J("--font-heading-sm-size"),J("--font-heading-md-size"),J("--font-heading-lg-size"),J("--font-heading-xl-size"),J("--font-heading-2xl-size"),J("--font-heading-3xl-size"),J("--font-text-xs-line-height"),J("--font-text-sm-line-height"),J("--font-text-md-line-height"),J("--font-text-lg-line-height"),J("--font-heading-xs-line-height"),J("--font-heading-sm-line-height"),J("--font-heading-md-line-height"),J("--font-heading-lg-line-height"),J("--font-heading-xl-line-height"),J("--font-heading-2xl-line-height"),J("--font-heading-3xl-line-height"),J("--border-radius-xs"),J("--border-radius-sm"),J("--border-radius-md"),J("--border-radius-lg"),J("--border-radius-xl"),J("--border-radius-full"),J("--border-width-regular"),J("--shadow-hairline"),J("--shadow-sm"),J("--shadow-md"),J("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),qz=Re(Fz.describe(`Style variables for theming MCP apps. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). Note: This type uses \`Record\` rather than \`Partial>\` -for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Te([C(),fu()]).describe(`Style variables for theming MCP apps. +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Te([C(),gu()]).describe(`Style variables for theming MCP apps. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). @@ -631,10 +631,10 @@ Individual style keys are optional - hosts may provide any subset of these value Values are strings containing CSS values (colors, sizes, font stacks, etc.). Note: This type uses \`Record\` rather than \`Partial>\` -for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),qz=$({method:J("ui/open-link"),params:$({url:C().describe("URL to open in the host's browser")})}),jz=$({isError:Ae().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),Uz=$({isError:Ae().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),$z=$({isError:Ae().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough(),Bz=$({method:J("ui/notifications/sandbox-proxy-ready"),params:$({})}),hp=$({connectDomains:re(C()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),jz=$({method:J("ui/open-link"),params:$({url:C().describe("URL to open in the host's browser")})}),Uz=$({isError:Ae().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),$z=$({isError:Ae().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),Bz=$({isError:Ae().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough(),Hz=$({method:J("ui/notifications/sandbox-proxy-ready"),params:$({})}),hp=$({connectDomains:re(C()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). - Maps to CSP \`connect-src\` directive -- Empty or omitted → no network connections (secure default)`),resourceDomains:re(C()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:re(C()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:re(C()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),fp=$({camera:$({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:$({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:$({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:$({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),Hz=$({method:J("ui/notifications/size-changed"),params:$({width:fe().optional().describe("New width in pixels."),height:fe().optional().describe("New height in pixels.")})});$({method:J("ui/notifications/tool-input"),params:$({arguments:Re(C(),He().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});$({method:J("ui/notifications/tool-input-partial"),params:$({arguments:Re(C(),He().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});$({method:J("ui/notifications/tool-cancelled"),params:$({reason:C().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var Vz=$({fonts:C().optional()}),Wz=$({variables:Fz.optional().describe("CSS variables for theming the app."),css:Vz.optional().describe("CSS blocks that apps can inject.")});$({method:J("ui/resource-teardown"),params:$({})});var Zz=Re(C(),He()),Sf=$({text:$({}).optional().describe("Host supports text content blocks."),image:$({}).optional().describe("Host supports image content blocks."),audio:$({}).optional().describe("Host supports audio content blocks."),resource:$({}).optional().describe("Host supports resource content blocks."),resourceLink:$({}).optional().describe("Host supports resource link content blocks."),structuredContent:$({}).optional().describe("Host supports structured content.")}),Jz=$({method:J("ui/notifications/request-teardown"),params:$({}).optional()}),Kz=$({experimental:Re(C(),Re(C(),Pd()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:$({}).optional().describe("Host supports opening external URLs."),downloadFile:$({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:$({listChanged:Ae().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:$({listChanged:Ae().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:$({}).optional().describe("Host accepts log messages."),sandbox:$({permissions:fp.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:hp.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:Sf.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:Sf.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:$({tools:$({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),Yz=$({experimental:Re(C(),Re(C(),Pd()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:$({listChanged:Ae().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:re(Ti).optional().describe("Display modes the app supports.")}),Gz=$({method:J("ui/notifications/initialized"),params:$({}).optional()});$({csp:hp.optional().describe("Content Security Policy configuration for UI resources."),permissions:fp.optional().describe("Sandbox permissions requested by the UI resource."),domain:C().optional().describe(`Dedicated origin for view sandbox. +- Empty or omitted → no network connections (secure default)`),resourceDomains:re(C()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:re(C()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:re(C()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),fp=$({camera:$({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:$({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:$({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:$({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),Vz=$({method:J("ui/notifications/size-changed"),params:$({width:fe().optional().describe("New width in pixels."),height:fe().optional().describe("New height in pixels.")})});$({method:J("ui/notifications/tool-input"),params:$({arguments:Re(C(),He().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});$({method:J("ui/notifications/tool-input-partial"),params:$({arguments:Re(C(),He().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});$({method:J("ui/notifications/tool-cancelled"),params:$({reason:C().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var Wz=$({fonts:C().optional()}),Zz=$({variables:qz.optional().describe("CSS variables for theming the app."),css:Wz.optional().describe("CSS blocks that apps can inject.")});$({method:J("ui/resource-teardown"),params:$({})});var Jz=Re(C(),He()),Sf=$({text:$({}).optional().describe("Host supports text content blocks."),image:$({}).optional().describe("Host supports image content blocks."),audio:$({}).optional().describe("Host supports audio content blocks."),resource:$({}).optional().describe("Host supports resource content blocks."),resourceLink:$({}).optional().describe("Host supports resource link content blocks."),structuredContent:$({}).optional().describe("Host supports structured content.")}),Kz=$({method:J("ui/notifications/request-teardown"),params:$({}).optional()}),Yz=$({experimental:Re(C(),Re(C(),Pd()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:$({}).optional().describe("Host supports opening external URLs."),downloadFile:$({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:$({listChanged:Ae().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:$({listChanged:Ae().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:$({}).optional().describe("Host accepts log messages."),sandbox:$({permissions:fp.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:hp.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:Sf.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:Sf.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:$({tools:$({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),Gz=$({experimental:Re(C(),Re(C(),Pd()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:$({listChanged:Ae().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:re(Ti).optional().describe("Display modes the app supports.")}),Qz=$({method:J("ui/notifications/initialized"),params:$({}).optional()});$({csp:hp.optional().describe("Content Security Policy configuration for UI resources."),permissions:fp.optional().describe("Sandbox permissions requested by the UI resource."),domain:C().optional().describe(`Dedicated origin for view sandbox. Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists. @@ -648,10 +648,10 @@ Boolean requesting whether a visible border and background is provided by the ho - \`true\`: request visible border + background - \`false\`: request no visible border + background -- omitted: host decides border`)});var Cf=$({method:J("ui/request-display-mode"),params:$({mode:Ti.describe("The display mode being requested.")})}),Nf=$({mode:Ti.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),Qz=Te([J("model"),J("app")]).describe("Tool visibility scope - who can access the tool.");$({resourceUri:C().optional(),visibility:re(Qz).optional().describe(`Who can access this tool. Default: ["model", "app"] +- omitted: host decides border`)});var Cf=$({method:J("ui/request-display-mode"),params:$({mode:Ti.describe("The display mode being requested.")})}),Nf=$({mode:Ti.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),Xz=Te([J("model"),J("app")]).describe("Tool visibility scope - who can access the tool.");$({resourceUri:C().optional(),visibility:re(Xz).optional().describe(`Who can access this tool. Default: ["model", "app"] - "model": Tool visible to and callable by the agent -- "app": Tool callable by the app from this server only`),csp:gu().optional(),permissions:gu().optional()});$({mimeTypes:re(C()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var Xz=$({method:J("ui/download-file"),params:$({contents:re(Te([Qd,Xd])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),eL=$({method:J("ui/message"),params:$({role:J("user").describe('Message role, currently only "user" is supported.'),content:re(Lo).describe("Message content blocks (text, image, etc.).")})});$({method:J("ui/notifications/sandbox-resource-ready"),params:$({html:C().describe("HTML content to load into the inner iframe."),sandbox:C().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:hp.optional().describe("CSP configuration from resource metadata."),permissions:fp.optional().describe("Sandbox permissions from resource metadata.")})});$({method:J("ui/notifications/tool-result"),params:Al.describe("Standard MCP tool execution result.")});var Tw=$({toolInfo:$({id:Wr.optional().describe("JSON-RPC id of the tools/call request."),tool:Il.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Lz.optional().describe("Current color theme preference."),styles:Wz.optional().describe("Style configuration for theming the app."),displayMode:Ti.optional().describe("How the UI is currently displayed."),availableDisplayModes:re(Ti).optional().describe("Display modes the host supports."),containerDimensions:Te([$({height:fe().describe("Fixed container height in pixels.")}),$({maxHeight:Te([fe(),fu()]).optional().describe("Maximum container height in pixels.")})]).and(Te([$({width:fe().describe("Fixed container width in pixels.")}),$({maxWidth:Te([fe(),fu()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other -container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:C().optional().describe("User's language and region preference in BCP 47 format."),timeZone:C().optional().describe("User's timezone in IANA format."),userAgent:C().optional().describe("Host application identifier."),platform:Te([J("web"),J("desktop"),J("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:$({touch:Ae().optional().describe("Whether the device supports touch input."),hover:Ae().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:$({top:fe().describe("Top safe area inset in pixels."),right:fe().describe("Right safe area inset in pixels."),bottom:fe().describe("Bottom safe area inset in pixels."),left:fe().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();$({method:J("ui/notifications/host-context-changed"),params:Tw.describe("Partial context update containing only changed fields.")});var tL=$({method:J("ui/update-model-context"),params:$({content:re(Lo).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Re(C(),He().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),nL=$({method:J("ui/initialize"),params:$({appInfo:Po.describe("App identification (name and version)."),appCapabilities:Yz.describe("Features and capabilities this app provides."),protocolVersion:C().describe("Protocol version this app supports.")})}),aL=$({protocolVersion:C().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Po.describe("Host application identification and version."),hostCapabilities:Kz.describe("Features and capabilities provided by the host."),hostContext:Tw.describe("Rich context about the host environment.")}).passthrough();class rL{constructor(t=window.parent,a){Ye(this,"eventTarget");Ye(this,"eventSource");Ye(this,"messageListener");Ye(this,"onclose");Ye(this,"onerror");Ye(this,"onmessage");Ye(this,"sessionId");Ye(this,"setProtocolVersion");this.eventTarget=t,this.eventSource=a,this.messageListener=r=>{var i,s,l;if(a&&r.source!==this.eventSource){console.debug("Ignoring message from unknown source",r);return}let o=xy.safeParse(r.data);o.success?(console.debug("Parsed message",o.data),(i=this.onmessage)==null||i.call(this,o.data)):((s=r.data)==null?void 0:s.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",o.error.message,r):(console.error("Failed to parse message",o.error.message,r),(l=this.onerror)==null||l.call(this,Error("Invalid JSON-RPC message received: "+o.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(t,a){t.method!==zz&&console.debug("Sending message",t),this.eventTarget.postMessage(t,"*")}async close(){var t;window.removeEventListener("message",this.messageListener),(t=this.onclose)==null||t.call(this)}}var oL=[Rw];class iL extends gz{constructor(a,r,o,i){super(i);Ye(this,"_client");Ye(this,"_hostInfo");Ye(this,"_hostCapabilities");Ye(this,"_appCapabilities");Ye(this,"_hostContext",{});Ye(this,"_appInfo");Ye(this,"_initializedReceived",!1);Ye(this,"_registeredEvents",new Set);Ye(this,"_events",new Pz);Ye(this,"_methods",new Oz);Ye(this,"setRequestHandler",(...a)=>{let[r,...o]=xf("request",a)??a;this._methods.claim(r,"setRequestHandler"),super.setRequestHandler.call(this,r,...o)});Ye(this,"setNotificationHandler",(...a)=>{let[r,...o]=xf("notification",a)??a;this._methods.claim(r,"setNotificationHandler"),super.setNotificationHandler.call(this,r,...o)});Ye(this,"removeRequestHandler",a=>{this._methods.release(a),super.removeRequestHandler(a)});Ye(this,"removeNotificationHandler",a=>{this._methods.release(a),super.removeNotificationHandler(a)});Ye(this,"replaceRequestHandler",(a,...r)=>{this._methods.replace(a),super.setRequestHandler.call(this,a,...r)});Ye(this,"eventSchemas",{sizechange:Hz,sandboxready:Bz,initialized:Gz,requestteardown:Jz,loggingmessage:tp});Ye(this,"onping");Ye(this,"_onmessage");Ye(this,"_onopenlink");Ye(this,"_ondownloadfile");Ye(this,"_onrequestdisplaymode");Ye(this,"_onupdatemodelcontext");Ye(this,"_oncalltool");Ye(this,"_oncreatesamplingmessage");Ye(this,"_onlistresources");Ye(this,"_onlistresourcetemplates");Ye(this,"_onreadresource");Ye(this,"_onlistprompts");Ye(this,"sendResourceTeardown",this.teardownResource);this._client=a,this._hostInfo=r,this._hostCapabilities=o,this._methods.replace("notifications/cancelled"),this._methods.replace("notifications/progress"),this._ensureEventSlot("initialized"),this._hostContext=(i==null?void 0:i.hostContext)||{},this.replaceRequestHandler("ui/initialize",{params:nL.shape.params,result:aL},s=>this._onAppsInitialize(s)),this.replaceRequestHandler("ping",(s,l)=>{var c;return(c=this.onping)==null||c.call(this,s.params,l),{}}),this.replaceRequestHandler("ui/request-display-mode",{params:Cf.shape.params,result:Nf},()=>({mode:this._hostContext.displayMode??"inline"}))}_wrapHandler(a,r){let o=super._wrapHandler(a,r);return a==="ui/initialize"||a==="ping"?o:async(i,s)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${a}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),o(i,s))}setEventHandler(a,r){this._ensureEventSlot(a),this._events.setHandler(a,r)}getEventHandler(a){return this._events.getHandler(a)}addEventListener(a,r){this._ensureEventSlot(a),this._events.addEventListener(a,r)}removeEventListener(a,r){this._events.removeEventListener(a,r)}_ensureEventSlot(a){if(this._registeredEvents.has(a))return;let r=this.eventSchemas[a];if(!r)throw Error(`Unknown event: ${String(a)}`);let o=i=>{a==="initialized"&&(this._initializedReceived=!0),this._events.dispatch(a,i)};a==="loggingmessage"?this.setNotificationHandler("notifications/message",i=>{o(i.params)}):this.setNotificationHandler(r.shape.method.value,{params:r.shape.params},i=>o(i)),this._registeredEvents.add(a)}warnIfRequestHandlerReplaced(a,r,o){r&&o&&console.warn(`[MCP Apps] ${a} handler replaced. Previous handler will no longer be called.`)}buildContext(a){return a}assertCapabilityForMethod(a){}assertRequestHandlerCapability(a){}assertNotificationCapability(a){}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(a){this.setEventHandler("sizechange",a)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(a){this.setEventHandler("sandboxready",a)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(a){this.setEventHandler("initialized",a)}get onmessage(){return this._onmessage}set onmessage(a){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,a),this._onmessage=a,this.replaceRequestHandler("ui/message",{params:eL.shape.params,result:$z},async(r,o)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(r,o)})}get onopenlink(){return this._onopenlink}set onopenlink(a){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,a),this._onopenlink=a,this.replaceRequestHandler("ui/open-link",{params:qz.shape.params,result:jz},async(r,o)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(r,o)})}get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(a){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,a),this._ondownloadfile=a,this.replaceRequestHandler("ui/download-file",{params:Xz.shape.params,result:Uz},async(r,o)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(r,o)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(a){this.setEventHandler("requestteardown",a)}get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(a){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,a),this._onrequestdisplaymode=a,this.replaceRequestHandler("ui/request-display-mode",{params:Cf.shape.params,result:Nf},async(r,o)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(r,o)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(a){this.setEventHandler("loggingmessage",a)}get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(a){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,a),this._onupdatemodelcontext=a,this.replaceRequestHandler("ui/update-model-context",{params:tL.shape.params,result:Sl},async(r,o)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(r,o)})}get oncalltool(){return this._oncalltool}set oncalltool(a){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,a),this._oncalltool=a,this.replaceRequestHandler("tools/call",async(r,o)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(r.params,o)})}get oncreatesamplingmessage(){return this._oncreatesamplingmessage}set oncreatesamplingmessage(a){this.warnIfRequestHandlerReplaced("oncreatesamplingmessage",this._oncreatesamplingmessage,a),this._oncreatesamplingmessage=a,this.replaceRequestHandler("sampling/createMessage",async(r,o)=>{if(!this._oncreatesamplingmessage)throw Error("No oncreatesamplingmessage handler set");return this._oncreatesamplingmessage(r.params,o)})}sendToolListChanged(a={}){return this.notification({method:"notifications/tools/list_changed",params:a})}get onlistresources(){return this._onlistresources}set onlistresources(a){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,a),this._onlistresources=a,this.replaceRequestHandler("resources/list",async(r,o)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(r.params,o)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(a){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,a),this._onlistresourcetemplates=a,this.replaceRequestHandler("resources/templates/list",async(r,o)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(r.params,o)})}get onreadresource(){return this._onreadresource}set onreadresource(a){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,a),this._onreadresource=a,this.replaceRequestHandler("resources/read",async(r,o)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(r.params,o)})}sendResourceListChanged(a={}){return this.notification({method:"notifications/resources/list_changed",params:a})}get onlistprompts(){return this._onlistprompts}set onlistprompts(a){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,a),this._onlistprompts=a,this.replaceRequestHandler("prompts/list",async(r,o)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(r.params,o)})}sendPromptListChanged(a={}){return this.notification({method:"notifications/prompts/list_changed",params:a})}getCapabilities(){return this._hostCapabilities}async _onAppsInitialize(a){let r=a.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=a.appCapabilities,this._appInfo=a.appInfo,{protocolVersion:oL.includes(r)?r:Rw,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(a){let r={},o=!1;for(let i of Object.keys(a)){let s=this._hostContext[i],l=a[i];sL(s,l)||(r[i]=l,o=!0)}o&&(this._hostContext=a,this.sendHostContextChange(r))}sendHostContextChange(a){return this.notification({method:"ui/notifications/host-context-changed",params:a})}sendToolInput(a){return this.notification({method:"ui/notifications/tool-input",params:a})}sendToolInputPartial(a){return this.notification({method:"ui/notifications/tool-input-partial",params:a})}sendToolResult(a){return this.notification({method:"ui/notifications/tool-result",params:a})}sendToolCancelled(a){return this.notification({method:"ui/notifications/tool-cancelled",params:a})}sendSandboxResourceReady(a){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:a})}teardownResource(a,r){return this.request({method:"ui/resource-teardown",params:a},Zz,r)}callTool(a,r){return this.request({method:"tools/call",params:a},r)}listTools(a,r){return this.request({method:"tools/list",params:a},r)}async connect(a){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let r=this._client.getServerCapabilities();if(!r)throw Error("Client server capabilities not available");r.tools&&(this.oncalltool=async(o,i)=>this._client.request({method:"tools/call",params:o},{signal:i.mcpReq.signal}),r.tools.listChanged&&this._client.setNotificationHandler("notifications/tools/list_changed",o=>this.sendToolListChanged(o.params))),r.resources&&(this.onlistresources=async(o,i)=>this._client.request({method:"resources/list",params:o},{signal:i.mcpReq.signal}),this.onlistresourcetemplates=async(o,i)=>this._client.request({method:"resources/templates/list",params:o},{signal:i.mcpReq.signal}),this.onreadresource=async(o,i)=>this._client.request({method:"resources/read",params:o},{signal:i.mcpReq.signal}),r.resources.listChanged&&this._client.setNotificationHandler("notifications/resources/list_changed",o=>this.sendResourceListChanged(o.params))),r.prompts&&(this.onlistprompts=async(o,i)=>this._client.request({method:"prompts/list",params:o},{signal:i.mcpReq.signal}),r.prompts.listChanged&&this._client.setNotificationHandler("notifications/prompts/list_changed",o=>this.sendPromptListChanged(o.params)))}return super.connect(a)}}function sL(e,t){return JSON.stringify(e)===JSON.stringify(t)}const Iw=g.createContext("system");function lL({scheme:e,children:t}){return n.createElement(Iw.Provider,{value:e||"system"},t)}function cL(){return g.useContext(Iw)}const cs="com.microsoft.amplifier/visibility",Aw=g.createContext(!0);function uL({visible:e,children:t}){return n.createElement(Aw.Provider,{value:e},t)}function dL(e){const t=g.useContext(Aw),[a,r]=g.useState(()=>document.visibilityState!=="hidden");return g.useEffect(()=>{const o=()=>r(document.visibilityState!=="hidden");return document.addEventListener("visibilitychange",o),()=>document.removeEventListener("visibilitychange",o)},[]),e!==!1&&t&&a}const xu=e=>Array.isArray(e)?e.map(xu):e&&typeof e=="object"?Object.fromEntries(Object.keys(e).sort().map(t=>[t,xu(e[t])])):e;function pL({limit:e=2,maxQueued:t=4,isVisible:a=()=>!0}={}){const r=new Map,o=[];let i=0,s=!1;const l=d=>Object.assign(new Error(d),{backgroundReadPaused:!0}),c=()=>l(s?"This tool view closed.":"Background reads are paused. Refresh when the tool view is visible."),u=()=>{for(;o.length&&i{i--,u()})}};return{run(d,p){if(s||!a())return Promise.reject(c());const m=JSON.stringify(xu({name:d.name,arguments:d.arguments||{}}));if(r.has(m))return r.get(m);if(i>=e&&o.length>=t)return Promise.reject(l("Too many background reads. Wait for the current refresh to finish."));const h=new Promise((f,v)=>{o.push({run:p,resolve:f,reject:v}),u()}).finally(()=>r.delete(m));return r.set(m,h),h},close(){for(s=!0;o.length;)o.shift().reject(c())}}}async function Rf(e,t,a){var i;const r=await Ct("/api/actions",{method:"POST",body:{id:crypto.randomUUID(),action:e,args:t},signal:a});if(!r.operationId)return r;const o=Date.now()+31e4;for(;Date.now()setTimeout(l,350))}throw new Error("No completion received. Inspect Smart Tools activity before retrying.")}const mL=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].filter(t=>e[t]!=null).map(t=>[t,e[t]])),dr=(e,t,a={})=>{const r=new URLSearchParams({...mL(e),...a}).toString();return`/api/canvas/${encodeURIComponent(e.id)}/${t}${r?"?"+r:""}`};async function hL(e,t,a){var s;const r=crypto.randomUUID(),o=Date.now()+31e4;let i=await Ct(dr(e,"tools/call"),{method:"POST",body:{id:r,expectedRevision:e.revision||1,name:t.name,arguments:t.arguments||{}},signal:a});for(;["pending","running","queued"].includes(i.status);){if(a!=null&&a.aborted||Date.now()>=o)throw new Error("No completion received. Inspect Smart Tools activity before retrying; input was not replayed.");await new Promise(l=>setTimeout(l,350)),i=await Ct(`/api/smart-tools/operations/${encodeURIComponent(r)}`,{signal:a})}if(i.status==="completed"||(s=i.result)!=null&&s.isError)return i.result;throw new Error(i.error||"Tool work was interrupted; it was not replayed.")}function fL(e){const t=()=>window.matchMedia("(prefers-color-scheme: dark)"),[a,r]=g.useState(()=>t().matches?"dark":"light");return g.useEffect(()=>{if(e!=="system")return;const o=t(),i=s=>r(s.matches?"dark":"light");return r(o.matches?"dark":"light"),o.addEventListener("change",i),()=>o.removeEventListener("change",i)},[e]),e==="dark"||e==="light"?e:a}function gL({canvas:e,act:t,connectionKey:a}){var M,k;const r=g.useRef(null),o=g.useRef(e),i=g.useRef(null),s=g.useRef(null),l=g.useRef(),[c,u]=g.useState({phase:"loading",text:"Connecting tool view…"}),d=g.useRef(null),p=g.useRef(!1),[m,h]=g.useState(null),[f,v]=g.useState(!1),y=g.useRef(null),E=g.useRef(null),b=g.useRef(null),x=g.useRef(null),w=T=>{d.current=T,h(T)},R=fL(cL()),S=dL(e.open!==!1&&!e.visibilityPending),I=g.useRef(S);I.current=S,o.current=e,l.current=R,g.useEffect(()=>{const T=i.current,A=s.current;if(!T||!A||A.theme===R&&A[cs]===S)return;const q={...A,theme:R,[cs]:S};s.current=q,T.setHostContext(q)},[R,S]),g.useEffect(()=>{const T=new AbortController;let A,q=!0,z=!1,F="",H=0,ne;const B=pL({isVisible:()=>I.current});let P;const _=()=>{P=void 0};E.current=_;const ee=()=>e.readOnlyVersion?Promise.resolve({tools:[]}):P||(P=Ct(dr(e,"tools"),{signal:T.signal}).catch(K=>{throw P=null,K})),Z=(K,oe)=>{!q||F===K+oe||(F=K+oe,u({phase:K,text:oe}),t("canvas.report",{id:e.id,part:"mcp-app",status:K==="ready"?"ready":K==="error"?"error":"pending",message:oe}))};y.current=Z;const D=()=>{const K=++H;return ne=(async()=>{try{const oe=await Ct(dr(e,"status"),{signal:T.signal});return q&&K===H&&(w(oe),z&&Z(["ready","saved_version"].includes(oe.status)?"ready":"error",oe.message),_()),oe}catch(oe){throw q&&K===H&&Z("error",oe.message),oe}})(),ne};b.current=D;const G=async()=>{let K=D(),oe;for(;q;){try{oe=await K}catch(ce){if(K===ne)throw ce}if(K===ne)break;K=ne}if(!q)return;if(oe.source!=="available"){Z("error",oe.message);return}s.current={theme:l.current,[cs]:I.current,displayMode:"inline",availableDisplayModes:["inline"],locale:navigator.language},A=new iL(null,{name:"Amplifier Unified",version:"0.6.0"},{serverTools:{},serverResources:{},updateModelContext:{text:{},structuredContent:{}},sandbox:{permissions:{},csp:{connectDomains:[],resourceDomains:[],frameDomains:["blob:"],baseUriDomains:[]}}},{hostContext:s.current}),A.oncalltool=async ce=>{var $e,De,de,ve;const _e=H;try{if(o.current.readOnlyVersion)throw Error("This saved version is read-only. Select Latest for live features.");const W=($e=(await ee().catch(be=>{if(T.signal.aborted)throw be;return{tools:[]}})).tools)==null?void 0:$e.find(be=>be.name===ce.name),ae=()=>hL(e,ce,T.signal),Me=await(((De=W==null?void 0:W.annotations)==null?void 0:De.readOnlyHint)===!0&&((de=W==null?void 0:W.annotations)==null?void 0:de.destructiveHint)!==!0?B.run(ce,ae):ae());return Me!=null&&Me.isError?Z("error","The tool reported an error. See its result below."):_e===H&&((ve=d.current)==null?void 0:ve.status)==="ready"&&Z("ready","Tool view connected"),Me}catch(O){throw O.backgroundReadPaused||Z("error",O.message),O}},A.onlisttools=ee;const xe=(ce,_e={})=>Ct(dr(e,"resources",{kind:ce,..._e}),{signal:T.signal});if(A.onreadresource=ce=>xe("read",{uri:ce.uri}),A.onlistresources=ce=>xe("list",ce!=null&&ce.cursor?{cursor:ce.cursor}:{}),A.onlistresourcetemplates=ce=>xe("templates",ce!=null&&ce.cursor?{cursor:ce.cursor}:{}),A.onupdatemodelcontext=async ce=>e.readOnlyVersion?{}:(await Rf("smartTools.context",{canvasId:e.id,expectedRevision:e.revision||1,context:ce},T.signal),{}),A.oninitialized=async()=>{var ce,_e,$e,De;z=!0,p.current=!0;try{await A.sendToolInput({arguments:((ce=o.current.mcp)==null?void 0:ce.toolArguments)||{}});const de=(_e=o.current.mcp)==null?void 0:_e.operationId,ve=($e=o.current.mcp)!=null&&$e.savedResult?(await Ct(dr(e,"result"),{signal:T.signal})).result:de?(await Ct(`/api/smart-tools/operations/${encodeURIComponent(de)}`,{signal:T.signal})).result:(De=o.current.mcp)==null?void 0:De.result;ve&&await A.sendToolResult(ve);const O=d.current;Z(["ready","saved_version"].includes(O==null?void 0:O.status)?"ready":"error",(O==null?void 0:O.message)||"Tool view connected")}catch(de){Z("error",de.message)}},A.onerror=ce=>Z("error",ce.message),await A.connect(new rL(r.current.contentWindow,r.current.contentWindow)),q){i.current=A;const ce={...s.current,theme:l.current,[cs]:I.current};s.current=ce,A.setHostContext(ce),r.current.src=ji(dr(e,"document"))}};p.current=!1,w(null),Z("loading","Checking saved tool view…"),G().catch(K=>Z("error",K.message));const j=setTimeout(()=>{var K,oe;q&&!z&&Z("error",((K=d.current)==null?void 0:K.source)==="available"?"The saved tool document did not initialize. Reload it to retry. Its scripts must work within the self-contained MCP App sandbox.":((oe=d.current)==null?void 0:oe.message)||"The saved tool document could not be checked. Retry when the host is available.")},15e3);return()=>{q=!1,clearTimeout(j),B.close(),T.abort(),y.current===Z&&(y.current=null),b.current===D&&(b.current=null),E.current===_&&(E.current=null),i.current===A&&(i.current=null),s.current=null,A==null||A.close().catch(()=>{})}},[e.id,e.resourceRevision,e.generation,(M=e.view)==null?void 0:M.reload]),g.useEffect(()=>{var q,z;const T=JSON.stringify([e.id,e.resourceRevision,e.generation,(q=e.view)==null?void 0:q.reload]),A=x.current;x.current={identity:T,connectionKey:a,visible:S},S&&(A==null?void 0:A.identity)===T&&(A.connectionKey!==a||!A.visible)&&((z=b.current)==null||z.call(b).catch(()=>{}))},[a,S,e.id,e.resourceRevision,e.generation,(k=e.view)==null?void 0:k.reload]);const N=async T=>{var A,q,z;v(!0);try{const F=await Ct(dr(e,"status"));if(w(F),!F.canReconnect)throw new Error(F.message);const H=await Rf("smartTools.reconnectView",{canvasId:e.id,expectedBindingRevision:F.bindingRevision,...T?{reviewedContract:T}:{}});w(H),H.status==="ready"&&((A=E.current)==null||A.call(E)),(q=y.current)==null||q.call(y,H.status==="ready"&&p.current?"ready":"error",H.status==="ready"&&!p.current?"Tool reconnected. Reload the saved view to retry initialization.":H.message)}catch(F){try{w(await Ct(dr(e,"status")))}catch{}(z=y.current)==null||z.call(y,"error",F.message)}finally{v(!1)}};return n.createElement("div",{className:"a-mcp-app-viewer",style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0}},n.createElement(vr,{inline:c.phase==="error"},n.createElement("div",{"data-phase":c.phase,className:`a-mcp-status a-canvas-result ${c.phase==="error"?"error":c.phase==="ready"?"success":""}`,role:"status"},c.phase==="error"?n.createElement(On,null):c.phase==="ready"?n.createElement(Pt,null):n.createElement(sg,{className:"a-progress-spinner"}),n.createElement("span",null,c.text),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reconnect tool view","data-action":"smartTools.reconnectView",disabled:f||(m==null?void 0:m.canReconnect)===!1,onClick:()=>N()},n.createElement(zt,null)),c.phase==="error"&&(m==null?void 0:m.source)==="available"&&n.createElement("button",{type:"button",className:"a-link",style:{whiteSpace:"nowrap"},title:"Reloading resets unfinished inputs in this tool view","data-action":"canvas.view",onClick:()=>t("canvas.view",{id:e.id,patch:{reload:Date.now()}})},"Reload saved view"))),(m==null?void 0:m.review)&&n.createElement("div",{className:"a-canvas-result",role:"region","aria-label":"Review saved tool connection"},n.createElement("p",null,"This older view did not save its action schemas. Reconnecting keeps its saved document and existing action names. Review the current definitions before enabling them; no previous calls will run."),n.createElement("details",null,n.createElement("summary",null,"Existing tool actions (",m.review.tools.length,")"),n.createElement("pre",null,JSON.stringify(m.review.tools,null,2))),n.createElement("button",{type:"button",disabled:f,"data-action":"smartTools.reconnectView",onClick:()=>N(m.review.fingerprint)},"Use reviewed actions in this tab")),e.sharedToolView&&n.createElement("p",{className:"a-caption"},"This view shares tool work with the original conversation."),n.createElement("iframe",{ref:r,title:e.title||"Interactive tool",className:"a-canvas-html",style:{flex:1,minHeight:0},sandbox:"allow-scripts allow-downloads",referrerPolicy:"no-referrer"}))}function vL({surface:e,act:t}){const a=new Map(((e==null?void 0:e.components)||[]).map(o=>[o.id,o])),r=(o,i=[])=>{var d;if(i.length>20||i.includes(o))return null;const s=a.get(o);if(!s)return null;const[l,c]=Object.entries(s.component||{})[0]||[];if(!c)return null;const u=()=>{var p;return(((p=c.children)==null?void 0:p.explicitList)||[]).map(m=>n.createElement(n.Fragment,{key:m},r(m,[...i,o])))};if(l==="Text"){const p=["h1","h2","h3","h4","h5"].includes(c.usageHint)?c.usageHint:"p";return n.createElement(p,{className:"a-canvas-text"},((d=c.text)==null?void 0:d.literalString)||"")}return l==="Row"||l==="Column"?n.createElement("div",{className:`a-canvas-${l.toLowerCase()}`},u()):l==="Card"?n.createElement("div",{className:"a-canvas-card"},r(c.child,[...i,o])):l==="Divider"?n.createElement("hr",null):l==="Button"?n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.event",onClick:()=>t("canvas.event",{surfaceId:e.surfaceId,componentId:o,name:c.action.name})},r(c.child,[...i,o])):null};return n.createElement("div",{className:"a-canvas-surface","data-part":"agent-surface"},r(e==null?void 0:e.root))}const bL=({canvas:e,act:t})=>n.createElement(vL,{surface:e.surface,act:t}),Ns=Object.fromEntries(["markdown","text","code","json","jsonl","image","html","babylon","mermaid","dot"].map(e=>["builtin.canvas."+e,_I]));Object.assign(Ns,{"builtin.canvas.browser":nS,"builtin.canvas.mcp-app":gL,"builtin.canvas.a2ui":bL});const li=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].map(t=>[t,e[t]])),us=new Map;async function yL(e){return us.has(e)||us.set(e,import(e).then(t=>{const a=t.default({React:n});if(typeof a!="function")throw Error("The renderer did not export a component.");return a}).catch(t=>{throw us.delete(e),t})),us.get(e)}class EL extends n.Component{constructor(){super(...arguments);Ye(this,"state",{error:null})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a){this.props.onError(a.message)}render(){return this.state.error?this.props.fallback:this.props.children}}function Tf({report:e}){return g.useEffect(()=>{e("ready","Renderer mounted")},[e]),null}function wL({view:e,canvas:t,dispatch:a,recovery:r,connectionKey:o}){const i=JSON.stringify(li(e)),s=g.useMemo(()=>JSON.parse(i),[i]),l=g.useRef(new Set),c=g.useMemo(()=>({visible:!!t.open,viewId:e.viewId,resource:{id:t.id,kind:t.kind,title:t.title,content:t.content,surface:t.surface,url:t.url,path:t.path,revision:e.resourceRevision},view:t.view||{}}),[t,e.viewId,e.resourceRevision]),u=g.useRef(c);u.current=c,g.useEffect(()=>{l.current.forEach(T=>T())},[c]);const d=g.useMemo(()=>Object.freeze({apiVersion:"1.0",instanceId:s.viewId,viewId:s.viewId,getSnapshot:()=>u.current,subscribe:T=>(l.current.add(T),()=>l.current.delete(T)),readSource:()=>Ct(`/api/canvas/views/${s.viewId}/source?`+new URLSearchParams(s)).then(T=>T.content),dispatch:(T,A={})=>{const q={"view.update":"canvas.view","view.report":"canvas.report"}[T];return q?a("canvas.views.command",{...s,action:q,args:A}):Promise.reject(Error("Unsupported renderer capability."))},setDirty:T=>a("canvas.views.dirty",{...s,dirty:!!T})}),[s,a]),p=g.useMemo(()=>(T,A)=>{a("canvas.views.status",{...s,status:T,message:String(A).slice(0,2e3)}).catch(()=>{})},[s,a]),m=r&&!e.renderer.startsWith("builtin."),h=g.useMemo(()=>(T,A)=>p(m||!e.available?"error":T,m?"Recovery mode is displaying the standard viewer.":e.available?A:"The saved renderer is unavailable; displaying the standard viewer."),[p,m,e.available]),f=g.useMemo(()=>(T,A)=>{const q=a("canvas.views.command",{...s,action:T,args:A});return T==="canvas.reference"?q:q.catch(()=>{})},[s,a]),v="builtin.canvas."+t.kind,y=Ns[v],E=e.choices.find(T=>T.id===e.renderer),b=r||!E?v:e.renderer,[x,w]=g.useState(null),[R,S]=g.useState("");g.useEffect(()=>{let T=!0;if(w(null),S(""),!Ns[b])return p("loading","Loading renderer"),yL(E.url).then(A=>{T&&w(()=>A)}).catch(A=>{T&&(S(A.message),p("error",A.message))}),()=>{T=!1}},[b,E==null?void 0:E.url,p]);const I=T=>{S(T),p("error",T)},N=y?n.createElement(y,{canvas:t,act:f,connectionKey:o}):n.createElement("p",{role:"alert"},"No standard viewer supports this artifact."),M=Ns[b],k=x;return n.createElement(n.Fragment,null,(R||!E||r)&&n.createElement("div",{role:"status",className:"a-renderer-notice"},r?"Recovery mode uses standard viewers.":R?`This renderer needs attention: ${R}`:"The saved renderer is unavailable. Showing the standard viewer; your artifact is retained.",n.createElement("button",{type:"button",className:"a-link",onClick:()=>a("canvas.views.recover",s)},"Use standard viewer")),M?n.createElement(n.Fragment,null,n.createElement(M,{canvas:t,act:f,connectionKey:o}),n.createElement(Tf,{report:h})):k?n.createElement(EL,{onError:I,fallback:N},n.createElement(k,{host:d}),n.createElement(Tf,{report:h})):R?N:n.createElement("p",{role:"status"},"Loading viewer…"))}function kL({view:e,state:t,dispatch:a,recovery:r}){var d,p,m,h,f;const[o,i]=g.useState(""),s=g.useMemo(()=>t.canvas?{...t.canvas,...e.app?{app:e.app}:{},...li(e),view:e.view||t.canvas.view,renderReports:e.renderReports}:null,[t.canvas,e]),l=(p=(d=t.smartTools)==null?void 0:d.servers)==null?void 0:p.find(v=>{var y;return v.id===((y=s==null?void 0:s.mcp)==null?void 0:y.serverId)}),c=JSON.stringify([l==null?void 0:l.status,l==null?void 0:l.catalogState,l==null?void 0:l.catalogRevision,l==null?void 0:l.account,l==null?void 0:l.accountBinding,(m=s==null?void 0:s.mcp)==null?void 0:m.catalogRevision]),u=async(v,y)=>{var E;try{const b=await a(v,y);i(((E=b==null?void 0:b.result)==null?void 0:E.status)==="deferred"?b.result.reason:"")}catch(b){i(b.message)}};return n.createElement(Yx,{label:"Artifact controls"},n.createElement("section",{className:"a-resource-view","data-canvas-view":e.viewId,"aria-label":"Artifact view"},n.createElement(vr,null,n.createElement("div",{className:"a-resource-view-controls a-canvas-toolbar"},!!((h=e.versions)!=null&&h.length)&&n.createElement(n.Fragment,null,n.createElement("label",null,"Version",n.createElement("select",{"aria-label":"Artifact version",value:e.selectedVersion??"latest",onChange:v=>u("canvas.select",{id:e.resourceId,...v.target.value==="latest"?{}:{version:Number(v.target.value)}})},n.createElement("option",{value:"latest"},"Latest · Version ",e.latestVersion),e.versions.slice().reverse().map(v=>n.createElement("option",{key:v.version,value:v.version},"Version ",v.version,v.createdAt?" · "+new Date(v.createdAt*1e3).toLocaleString():"")))),e.selectedVersion!=null&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link",onClick:()=>u("canvas.select",{id:e.resourceId})},"Go to Latest"),(s==null?void 0:s.app)&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>u("canvas.apps.restore",{id:e.resourceId,sessionId:s.sessionId,version:e.selectedVersion,expectedRevision:e.latestVersion,expectedStateRevision:e.latestStateRevision})},"Restore as new version"),!(s!=null&&s.app)&&!["mcp-app","browser"].includes(s==null?void 0:s.kind)&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>u("canvas.versions.restore",{id:e.resourceId,sessionId:s.sessionId,version:e.selectedVersion,expectedRevision:e.latestVersion})},"Restore as new version"))),n.createElement("label",null,"Open with",n.createElement("select",{"aria-label":"Open with",value:e.renderer,onFocus:()=>a("canvas.views.inspect",{}).catch(()=>{}),onChange:v=>u("canvas.views.renderer",{...li(e),renderer:v.target.value})},!e.available&&n.createElement("option",{value:e.renderer},"Unavailable renderer"),e.choices.map(v=>n.createElement("option",{key:v.id,value:v.id},v.label)))),((f=e.filePaths)==null?void 0:f.absolute)&&n.createElement("details",{className:"a-canvas-file-path"},n.createElement("summary",null,"File path"),n.createElement("div",null,n.createElement("p",null,"On the app server"),n.createElement("code",null,e.filePaths.absolute),n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.copyPath",onClick:()=>u("canvas.views.command",{...li(e),action:"canvas.copyPath",args:{format:"absolute"}})},"Copy absolute path"),e.filePaths.relative&&n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.copyPath",onClick:()=>u("canvas.views.command",{...li(e),action:"canvas.copyPath",args:{format:"relative"}})},"Copy relative path"))))),e.selectedVersion!=null&&n.createElement("p",{role:"status",className:"a-renderer-notice"},(s==null?void 0:s.kind)==="browser"?"Saved address · Website is live":"Saved version · Read only"),o&&n.createElement("p",{role:"alert",className:"a-renderer-notice"},o),n.createElement("div",{className:"a-resource-renderer"},s!=null&&s.app?n.createElement(sS,{key:e.resourceId+":"+(e.selectedVersion??"latest"),canvas:s,dispatch:a}):s?n.createElement(wL,{key:e.resourceId+":"+e.resourceRevision+":"+e.generation,view:e,canvas:s,dispatch:a,recovery:r,connectionKey:c}):n.createElement("p",{role:"status"},"Loading saved artifact…"))))}function xL({state:e,dispatch:t,hidden:a=!1}){var l;const r=g.useRef(new Map),o=(((l=e.canvasWorkspace)==null?void 0:l.views)||[]).filter(c=>c.viewId==="primary");for(const c of r.current.keys())o.some(u=>u.viewId===c)||r.current.delete(c);const i=o.filter(c=>{var u;return(u=e.canvas)!=null&&u.open&&r.current.set(c.viewId,c.resourceId),r.current.get(c.viewId)===c.resourceId}),s=typeof location<"u"&&new URLSearchParams(location.search).get("shell")==="recovery";return n.createElement("div",{className:"a-canvas-workspace",hidden:a,inert:a},i.map(c=>n.createElement(kL,{key:c.viewId,view:c,state:e,dispatch:t,recovery:s})))}const Rs=360,Ar=300,pr=216;function Su({available:e=1200,gap:t=12,rail:a=0,navPinned:r=!1,canvasOpen:o=!1,navWidth:i=320,canvasWidth:s=440,priority:l="canvas"}={}){const c=o&&e=Rs+pr+(u?Ar+t*2:t),p=e-t*((d||a?1:0)+(u?1:0))-Rs,m=Math.min(16384,Math.max(pr,p-(u?Ar:0))),h=Math.min(16384,Math.max(Ar,p-(d?pr:a)));let f=d?Math.min(Math.max(pr,i),m):a,v=Math.min(Math.max(Ar,s),h);return u&&(l==="nav"?v=Math.max(Ar,Math.min(v,p-f)):d&&(f=Math.max(pr,Math.min(f,p-v)))),{overlay:c,docked:d,nav:f,canvas:v,navMax:m,canvasMax:h,expandedNav:d?f:Math.min(Math.max(pr,i),Math.max(pr,e-a))}}const _w=g.createContext(null);function SL({state:e,act:t,children:a,presentation:r={}}){var v,y;const o=Uu(),i=g.useRef(null),[s,l]=g.useState({available:1200,gap:12,rail:0}),[c,u]=g.useState(null);g.useEffect(()=>{const E=i.current;if(!E)return;const b=()=>l({available:E.clientWidth,gap:parseFloat(getComputedStyle(E).columnGap)||0,rail:0}),x=new ResizeObserver(b);return x.observe(E),b(),()=>x.disconnect()},[]);const d=e.view||{},p=(r.layout||d.layout)==="work",m=d.canvasWidth??((r.layout||d.layout)==="conversation"?300:440),h=Su({...s,navPinned:!o&&!!d.navPinned,canvasOpen:!!e.selectedSessionId&&!!((v=e.canvas)!=null&&v.open),navWidth:d.navWidth,canvasWidth:m,...c}),f=(E,b)=>{var R,S;const x=Su({...s,navPinned:!o&&!!d.navPinned,canvasOpen:!!e.selectedSessionId&&!!((R=e.canvas)!=null&&R.open),navWidth:d.navWidth,canvasWidth:m,[E]:b,priority:E==="navWidth"?"nav":"canvas"}),w={[E]:Math.round(b)};x.docked&&((S=e.canvas)!=null&&S.open)&&!x.overlay&&(w.navWidth=Math.round(x.nav),w.canvasWidth=Math.round(x.canvas)),u(null),t("view.update",{patch:w})};return n.createElement(_w.Provider,{value:{...h,narrow:o,canvasOnLeft:p,preview:(E,b)=>u({[E]:b,priority:E==="navWidth"?"nav":"canvas"}),cancel:()=>u(null),persist:f}},n.createElement("main",{ref:i,className:"a-layout","data-part":"workspace","data-narrow":o,"data-canvas-open":!!e.selectedSessionId&&!!((y=e.canvas)!=null&&y.open),"data-pane-layout":"","data-canvas-overlay":h.overlay,style:{"--nav-width":h.expandedNav+"px","--canvas-width":h.canvas+"px","--chat-min":Rs+"px"}},a))}function Pw(e,t){var r,o,i,s;return g.useContext(_w)||{...Su({navPinned:(r=e.view)==null?void 0:r.navPinned,canvasOpen:!!e.selectedSessionId&&((o=e.canvas)==null?void 0:o.open),navWidth:(i=e.view)==null?void 0:i.navWidth,canvasWidth:(s=e.view)==null?void 0:s.canvasWidth}),preview:()=>{},cancel:()=>{},persist:(l,c)=>t("view.update",{patch:{[l]:c}})}}function Ow({layout:e,pane:t}){const a=g.useRef(null),r=t==="nav",o=r?"navWidth":"canvasWidth",i=r?e.nav:e.canvas,s=r?pr:Ar,l=r?e.navMax:e.canvasMax,c=p=>Math.round(Math.max(s,Math.min(l,p))),u=r||e.canvasOnLeft?1:-1,d=p=>c(a.current.width+(p.clientX-a.current.x)*u);return n.createElement("div",{className:r?"a-nav-resize":"a-canvas-resize",role:"separator","aria-label":r?"Resize navigation":"Resize canvas","aria-orientation":"vertical","aria-valuemin":s,"aria-valuemax":Math.floor(l),"aria-valuenow":Math.round(i),tabIndex:0,"data-action":"view.update",onPointerDown:p=>{p.preventDefault(),a.current={x:p.clientX,width:i},p.currentTarget.setPointerCapture(p.pointerId)},onPointerMove:p=>{a.current&&e.preview(o,d(p))},onPointerUp:p=>{if(a.current){const m=d(p);a.current=null,e.persist(o,m)}},onPointerCancel:()=>{a.current=null,e.cancel()},onKeyDown:p=>{["ArrowLeft","ArrowRight","Home","End"].includes(p.key)&&(p.preventDefault(),e.persist(o,p.key==="Home"?s:p.key==="End"?Math.floor(l):c(i+(p.key==="ArrowLeft"?-20:20)*u)))}})}const mr=(e,t)=>e("view.update",{patch:t});function CL({state:e,act:t,layout:a}){var i,s;const r=(a||((i=e.view)==null?void 0:i.layout))==="work"?zu:Gk,o=!!e.selectedSessionId&&!!((s=e.canvas)!=null&&s.open);return n.createElement("button",{type:"button",className:"a-icon a-canvas-toggle",disabled:!e.selectedSessionId,title:e.selectedSessionId?void 0:"Send a message to start a chat before opening Canvas","aria-label":o?"Close canvas":"Open canvas","aria-pressed":o,"aria-controls":"workspace-canvas","data-action":"canvas.visibility",onClick:()=>{var l;return t("canvas.visibility",{open:!((l=e.canvas)!=null&&l.open)})}},n.createElement(r,null))}function NL({state:e,session:t,act:a,selectSession:r,newSession:o,shell:i,footer:s}){const l=Pw(e,a),c=e.view||{},u=!l.narrow&&!!c.navPinned,d=(u||!!c.navExpanded)&&(!l.narrow||!c.canvasFocused&&!c.panel&&!c.toolbarMenuOpen);c.workspaceDraft;const p=g.useRef(null),m=g.useRef(l.narrow),h=()=>mr(a,{navExpanded:!1});g.useEffect(()=>{l.narrow&&!m.current&&c.navExpanded&&h(),m.current=l.narrow},[l.narrow]),al(p,l.narrow&&d,h),nl(e).find(y=>y.id===e.selectedWorkspaceId);const v=()=>{(o||(()=>a("session.draft",{})))(),u||mr(a,{navExpanded:!1})};return n.createElement(gg.Provider,{value:d},l.narrow&&d&&n.createElement("div",{className:"a-navigation-scrim",onClick:h}),n.createElement("aside",{ref:p,id:"workspace-navigation",role:l.narrow?"dialog":void 0,"aria-modal":l.narrow&&d||void 0,hidden:!d,inert:!d,className:`a-nav-slot ${u?"is-pinned":""} ${d?"is-expanded":""}`,"data-docked":l.docked,"data-part":"navigation","aria-label":"Workspaces and conversations",onClick:y=>{l.narrow&&y.target.closest('[data-navigation-select],[data-action="session.select"]')&&h()}},n.createElement("div",{className:"a-nav-rail"},n.createElement("div",{className:"a-nav-head"},n.createElement("button",{className:"a-icon",type:"button","aria-label":"Close navigation",title:"Close sidebar","aria-pressed":u,"aria-expanded":d,"data-action":"view.update",onClick:()=>l.narrow?h():mr(a,{navPinned:!1,navExpanded:!1}).then(()=>{var y;typeof document<"u"&&((y=document.querySelector('[aria-label="Open navigation"]'))==null||y.focus())})},l.narrow?n.createElement(tn,null):n.createElement(zu,null),!l.narrow&&n.createElement(Da,{state:e,section:"chats"})),n.createElement("strong",{className:"a-nav-reveal"},"Your work")),n.createElement("button",{className:"a-nav-main",type:"button",onClick:v,"data-action":"session.draft","aria-label":"New chat",title:"New chat"},n.createElement(Mn,null),n.createElement("span",{className:"a-nav-reveal"},"New chat")),n.createElement("div",{className:"a-nav-content a-nav-reveal"},n.createElement(Jx,{shell:i})),s),l.docked&&n.createElement(Ow,{layout:l,pane:"nav"})))}function RL({session:e,act:t,onLoadEarlier:a}){var m,h;if(!e)return null;const r=e.workspaceAvailable===!1,o=e.historyReadOnlyReason,i=!!e.historyLoading||e.historyLoaded===!1&&!e.historyError,s=Number(e.sharedHistoryOffset)>0,l=((m=e.historyActivity)==null?void 0:m.diagnostics)||[],c=l.some(f=>["activity_scan_limit","scan_limit","invalid_event","incomplete_event","unreadable_file"].includes(f.code)),u=l.some(f=>f.code==="recovered_backup"),d=()=>t("session.select",{id:e.id}),p=()=>(a==null||a(),t("session.history",{id:e.id,before:e.sharedHistoryOffset,limit:100}));return!i&&!e.historyError&&!s&&!r&&!o&&!c&&!u?null:n.createElement("div",{className:"a-session-history","data-part":"session-history"},(r||o)&&n.createElement("p",{role:"status"},n.createElement(tr,null),o||"This workspace folder is unavailable. You can read its saved chats here."),u&&n.createElement("p",{role:"status"},n.createElement(On,null),"Showing a recovered history backup. Original files are unchanged."),c&&n.createElement("p",{role:"status"},n.createElement(On,null),"Some saved activity is unavailable or outside the loaded window. Conversation text comes from the saved transcript."),i&&!((h=e.messages)!=null&&h.length)&&n.createElement("p",{role:"status"},n.createElement(No,{className:"a-progress-spinner"}),"Loading conversation…"),e.historyError&&n.createElement("div",{className:"a-session-history-error",role:"alert"},n.createElement(On,null),n.createElement("span",null,e.historyError),n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",disabled:i,onClick:d},"Try again")),s&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.history",disabled:i,onClick:p},i?"Loading earlier messages…":"Load earlier messages"))}function TL({state:e,act:t,dispatch:a=t,suppressed:r=!1}){var R,S,I,N,M,k,T,A,q;const o=e.canvas||{},i=e.view||{},s=i.canvasDraft||{},l=Pw(e,t),c=g.useRef(null),u=g.useRef(t);u.current=t;const[d,p]=g.useState(null),m=go(e),h=!!((S=(R=e.canvasWorkspace)==null?void 0:R.views)!=null&&S.length)&&!o.placeholder,f=m.length>0;g.useEffect(()=>{var z,F;!o.open&&((z=c.current)!=null&&z.contains(document.activeElement))&&((F=document.querySelector(".a-canvas-toggle"))==null||F.focus({preventScroll:!0}))},[o.open]);const v=g.useRef(!1);o.open&&(v.current=!0);const y=!r&&!!e.selectedSessionId&&!!o.open&&!!i.canvasFocused,E=!!i.canvasControlsExpanded,b=(N=(I=e.canvasWorkspace)==null?void 0:I.views)==null?void 0:N.find(z=>z.viewId==="primary"),x=z=>mr(t,{canvasDraft:{...s,...z},...z.open||z.browser?{canvasControlsExpanded:!0}:{}});if(al(c,y,()=>mr(u.current,{canvasFocused:!1})),g.useEffect(()=>{var z,F;y&&((F=(z=c.current)==null?void 0:z.querySelector('[aria-label="Exit canvas focus"]'))==null||F.focus({preventScroll:!0}))},[y]),!v.current)return null;const w=(M=o.events)==null?void 0:M.at(-1);return n.createElement(zs.Provider,{value:d},n.createElement("aside",{ref:c,id:"workspace-canvas",className:"a-canvas-panel",hidden:r||!o.open||!e.selectedSessionId,inert:r||!o.open||!e.selectedSessionId,"aria-hidden":r||!o.open||!e.selectedSessionId||void 0,"data-part":"canvas","data-focused":y,"data-controls":E,"data-pinned":!!i.canvasControlsPinned,"aria-label":"Agent canvas",role:y?"dialog":void 0,"aria-modal":y||void 0},!y&&!l.overlay&&n.createElement(Ow,{layout:l,pane:"canvas"}),n.createElement("div",{className:"a-canvas-chrome"},n.createElement("header",{className:"a-canvas-head"},l.narrow&&n.createElement("button",{type:"button",className:"a-canvas-back a-soft","data-action":"canvas.visibility",onClick:()=>t("canvas.visibility",{open:!1})},n.createElement(xa,null),"Back to chat"),n.createElement("button",{type:"button",className:"a-link a-chat-overview-trigger","aria-pressed":!!s.library||!h,onClick:()=>x({library:!s.library,open:!1,browser:!1})},n.createElement(lm,null),"Chat overview"),n.createElement(Qx,{state:e,act:t}),((k=b==null?void 0:b.versions)==null?void 0:k.length)>1&&n.createElement("button",{type:"button",className:"a-link a-canvas-version-shortcut","aria-label":"Choose artifact version",onClick:async()=>{await mr(t,{canvasControlsExpanded:!0}),requestAnimationFrame(()=>{var z,F;return(F=(z=c.current)==null?void 0:z.querySelector('[aria-label="Artifact version"]'))==null?void 0:F.focus()})}},"v",b.selectedVersion??b.latestVersion),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Canvas options","aria-expanded":E,"aria-controls":"canvas-options","data-action":"view.update",onClick:()=>mr(t,{canvasControlsExpanded:!E})},n.createElement(zi,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":y?"Exit canvas focus":"Focus canvas","aria-pressed":y,"data-action":"view.update",onClick:()=>mr(t,{canvasFocused:!y})},y?n.createElement(Jk,null):n.createElement(Bk,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close canvas panel","data-action":"canvas.visibility",onClick:()=>t("canvas.visibility",{open:!1})},n.createElement(tn,null))),n.createElement("div",{id:"canvas-options",className:"a-canvas-controls",hidden:!E,inert:!E},n.createElement("div",{className:"a-canvas-location"},(h||f)&&n.createElement("details",{className:"a-file-actions-menu"},n.createElement("summary",null,"Open…"),n.createElement("div",{className:"a-canvas-actions"},n.createElement(qr,{name:"canvas.toolbar"},n.createElement("button",{type:"button",className:"a-soft","aria-label":`Saved artifacts (${go(e).length})`,"aria-pressed":!!s.library,"data-action":"view.update",onClick:()=>x({library:!s.library,open:!1,browser:!1})},n.createElement(lm,null),"Saved outputs"),n.createElement("button",{type:"button",className:"a-soft","aria-label":"Open a website in canvas","aria-expanded":!!s.browser,"data-action":"view.update",onClick:()=>x({browser:!s.browser,open:!1,library:!1})},n.createElement(gr,null),"Website"),n.createElement("button",{type:"button",className:"a-soft","aria-label":"Open a file in canvas","aria-expanded":!!s.open,"data-action":"view.update",onClick:()=>x({open:!s.open,browser:!1,library:!1})},n.createElement(tr,null),"File")))),o.path&&!s.library&&n.createElement("div",{className:"a-canvas-file-path",title:o.path},o.path)),s.browser&&n.createElement(eS,{state:e,act:t}),s.open&&n.createElement("form",{className:"a-canvas-file-form",onSubmit:z=>{z.preventDefault(),t("canvas.show",{kind:s.kind||"auto",path:s.path||""})}},n.createElement("label",{htmlFor:"canvas-file-path"},"File in this workspace"),n.createElement(Ma,{id:"canvas-file-path",value:s.path||"",onChange:z=>x({path:z}),state:e,act:t,placeholder:"README.md or a full path"}),n.createElement("div",{className:"a-canvas-file-actions"},n.createElement("select",{"aria-label":"Canvas file format",value:s.kind||"auto","data-action":"view.update",onChange:z=>x({kind:z.target.value})},n.createElement("option",{value:"auto"},"Detect automatically"),n.createElement("option",{value:"html"},"HTML"),n.createElement("option",{value:"babylon"},"3D · Babylon.js"),n.createElement("option",{value:"mermaid"},"Mermaid"),n.createElement("option",{value:"dot"},"Graphviz DOT"),n.createElement("option",{value:"json"},"JSON"),n.createElement("option",{value:"jsonl"},"JSONL"),n.createElement("option",{value:"text"},"Text"),n.createElement("option",{value:"markdown"},"Markdown"),n.createElement("option",{value:"code"},"Code"),n.createElement("option",{value:"image"},"Image")),n.createElement("button",{type:"submit",className:"a-primary","data-action":"canvas.show",disabled:!((T=s.path)!=null&&T.trim())},"Open file",n.createElement(Gt,null)))),n.createElement("div",{ref:p,hidden:!!s.library||!h}))),n.createElement("div",{className:"a-canvas-body"},!!((q=(A=e.canvasWorkspace)==null?void 0:A.views)!=null&&q.length)&&n.createElement(uL,{visible:!r&&!!o.open&&!s.library},n.createElement(xL,{state:e,dispatch:a,hidden:!!s.library})),(s.library||!h)&&n.createElement(rS,{state:e,act:t,changeDraft:x})),w&&n.createElement("div",{className:"a-canvas-event",role:"status"},n.createElement(Pt,null),n.createElement("span",null,"Response recorded · ",w.name),n.createElement("small",null,"The agent can see this response in app state."))))}function Ol(e){var r;const t=e==null?void 0:e.ownership,a=(t==null?void 0:t.source)||((r=e==null?void 0:e.lockOwner)==null?void 0:r.app)||"another application";switch(t==null?void 0:t.status){case"blocked":return t.reason==="takeover-failed"?{blocked:!0,canTakeover:!0,retry:!0,label:"Could not continue here",detail:t.detail||"The takeover did not complete. Your draft is kept. Try again to unlock the message box."}:{blocked:!0,canTakeover:!0,label:`In use by ${a}`,detail:t.detail||(t.supportsTakeover===!1?"This running interface does not support takeover requests. Close it, then choose Continue here.":"Continue here to take over and unlock the message box. Your draft is kept.")};case"yielded":return{blocked:!0,canTakeover:!0,label:`Continued in ${a}`,detail:"This view stays connected. Choose Continue here when you want to resume."};case"yielding":return{blocked:!0,canTakeover:!1,label:`Moving to ${a}`,detail:"Finishing current work and saving the session…"};case"taking-over":return{blocked:!0,canTakeover:!1,label:"Taking over…",detail:"Waiting for the current owner to finish, then loading your session."};case"yield-failed":return{blocked:!0,canTakeover:!1,label:"The session could not be released",detail:t.detail||"Saving or cleanup needs attention. Ownership is retained."};default:return{blocked:!1,canTakeover:!1}}}function _a(e){return e.code==="session_busy"?"":e.message}function Mw(e){if(!e)return{label:"Call it. Text it. Chat with it.",detail:"",busy:!1};const t=Ol(e);if(t.blocked)return{label:t.label,detail:t.detail,busy:!1};const a=e.progress,r=typeof a=="string"?a:(a==null?void 0:a.message)||(a==null?void 0:a.detail)||(a==null?void 0:a.description)||"";switch(e.status){case"starting":return{label:"Preparing your Amplifier session…",detail:r,explanation:"First launch loads your configured bundle and tools. Your message stays in this conversation while Amplifier gets ready.",busy:!0};case"stopping":return{label:"Stopping the current work…",detail:r,busy:!0};case"working":case"running":case"busy":return{label:"Amplifier is working…",detail:r,busy:!0};case"error":case"failed":return{label:"Amplifier needs your attention",detail:"",busy:!1};case"stopped":return{label:"Work stopped. Ready for your next message.",detail:"",busy:!1};default:return{label:"Ready when you are",detail:"",busy:!1}}}function zw({label:e,onClose:t,children:a,initialFocus:r}){const o=g.useRef(null);return al(o,!0,t),g.useEffect(()=>{var i,s;r&&((s=(i=o.current)==null?void 0:i.querySelector(r))==null||s.focus())},[r]),Pi.createPortal(n.createElement("div",{className:"a-work-dialog-backdrop",onSubmit:i=>i.stopPropagation(),onPaste:i=>i.stopPropagation(),onDrop:i=>i.stopPropagation(),onClick:i=>{i.target===i.currentTarget&&t()}},n.createElement("section",{ref:o,role:"dialog","aria-modal":"true","aria-label":e,className:"a-work-dialog"},n.createElement("div",{className:"a-work-dialog-head"},n.createElement("strong",null,e),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close "+e,onClick:t},n.createElement(tn,null))),a)),document.getElementById("amp-one"))}function IL({state:e,act:t}){var c,u;const[a,r]=g.useState(!1),o=g.useRef(null),i=Ja(e),s=(c=e.workspaces)==null?void 0:c.find(d=>d.path===i.workspace),l=()=>{r(!1),requestAnimationFrame(()=>{var d;return(d=o.current)==null?void 0:d.focus()})};return n.createElement(n.Fragment,null,n.createElement("button",{type:"button",ref:o,className:"a-composer-workspace","aria-label":"Choose workspace","aria-expanded":a,onClick:d=>{d.currentTarget.focus(),r(!0)}},n.createElement(Lr,null),n.createElement("span",null,((u=i.location)==null?void 0:u.kind)==="managed"||!i.workspace?"No workspace":(s==null?void 0:s.name)||i.workspace.split("/").at(-1)),n.createElement(Gt,null)),a&&n.createElement(zw,{initialFocus:'input[type="search"]',label:"Choose a workspace",onClose:l},n.createElement(Rx,{state:e,act:t,setup:i,onChange:async d=>{const p=await t("view.update",{patch:{newSessionDraft:{...i,...d}}});if(!(p!=null&&p.accepted))throw Error((p==null?void 0:p.error)||"Could not select this workspace.");l()}})))}function AL({state:e,act:t,onClose:a}){const r=g.useContext(Oi);return n.createElement(zw,{label:"Workspace",onClose:a},n.createElement(il,{state:e,act:t,fromDraft:!e.selectedSessionId,onCancel:a,onDone:o=>{a(),o!=null&&o.workspaceId?r.browse("workspace",o.workspaceId):r.browse("workspaces")}}))}function Lw({label:e,children:t,icon:a=n.createElement(zi,null),badge:r}){const o=g.useRef(null),[i,s]=g.useState(!1);return g.useEffect(()=>{var u,d;if(!i)return;(d=(u=o.current)==null?void 0:u.querySelector(".a-work-menu-items button"))==null||d.focus();const l=p=>{var m;(m=o.current)!=null&&m.contains(p.target)||s(!1)},c=p=>{var m,h;p.key==="Escape"&&(s(!1),(h=(m=o.current)==null?void 0:m.querySelector("button"))==null||h.focus())};return document.addEventListener("pointerdown",l),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",l),document.removeEventListener("keydown",c)}},[i]),n.createElement("div",{className:"a-work-menu",ref:o,onBlur:l=>{l.relatedTarget&&!l.currentTarget.contains(l.relatedTarget)&&s(!1)}},n.createElement("button",{type:"button",className:"a-icon","aria-label":e,"aria-expanded":i,onClick:()=>s(!i)},a,r),i&&n.createElement("div",{className:"a-work-menu-items",role:"group","aria-label":e,onClickCapture:()=>{var l,c;return(c=(l=o.current)==null?void 0:l.querySelector("button"))==null?void 0:c.focus()},onClick:l=>{l.target.closest("button")&&s(!1)}},t))}function _L({state:e,connected:t,open:a,act:r}){return n.createElement("div",{className:"a-work-footer"},n.createElement(qr,{name:"app.status"},n.createElement("span",{className:`a-dot ${t?"":"pending"}`,title:t?"Connected":"Reconnecting"})),n.createElement("span",{className:"a-nav-reveal"},t?"Connected":"Reconnecting…"),n.createElement(qr,{name:"app.actions"},n.createElement(Lw,{label:"App options",icon:n.createElement($c,null),badge:n.createElement(Da,{state:e})},n.createElement("button",{onClick:()=>a("activity")},n.createElement(rg,null),"Ready for you",n.createElement(Da,{state:e})),n.createElement("button",{onClick:()=>a("settings")},n.createElement($c,null),"Settings",n.createElement(Da,{state:e,settings:!0})),n.createElement("button",{onClick:()=>a("feedback")},n.createElement(Ak,null),"Send feedback"),n.createElement("button",{onClick:()=>a("agent")},n.createElement(tx,null),"What the agent sees"))))}function PL({state:e,session:t,act:a,open:r,narrow:o,presentation:i}){var m,h,f,v;const s=g.useContext(Oi),l=As(e),c=l!=="chat",u=!t&&!c?Ja(e):null,d=(m=e.workspaces)==null?void 0:m.find(y=>{var E;return u?((E=u.location)==null?void 0:E.kind)!=="managed"&&y.path===u.workspace:y.id===(c?e.view.workWorkspaceId:e.selectedWorkspaceId)}),p=l==="workspaces"?"All workspaces":l==="chats"?"All chats":l==="workspace"?(d==null?void 0:d.name)||"Workspace":(t==null?void 0:t.title)||"New chat";return n.createElement("header",{className:"a-work-header","data-part":"header"},n.createElement("div",{className:"a-brand a-work-brand"},n.createElement("img",{src:"/branding/icons/amplifier-icon-128.png",alt:""}),n.createElement("span",null,"Amplifier")),(o||!((h=e.view)!=null&&h.navPinned)&&!((f=e.view)!=null&&f.navExpanded))&&n.createElement("button",{type:"button",className:"a-icon a-work-nav-toggle","aria-label":"Open navigation","aria-expanded":!1,"aria-controls":"workspace-navigation","data-action":"view.update",onClick:()=>a("view.update",{patch:{navExpanded:!0,...o?{}:{navPinned:!0},toolbarMenuOpen:!1}})},n.createElement(zu,null),n.createElement(Da,{state:e})),n.createElement(qr,{name:"conversation.header"},n.createElement("div",{className:"a-work-heading"},l==="chat"&&d&&((v=t==null?void 0:t.location)==null?void 0:v.kind)!=="managed"&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-work-crumb",onClick:()=>s.browse("workspace",d.id)},n.createElement(Lr,null),d.name),n.createElement(Gt,null)),n.createElement("strong",{title:p},p))),n.createElement("div",{className:"a-work-header-actions"},c&&n.createElement("button",{type:"button",className:"a-link",onClick:()=>s.browse("chat")},n.createElement(xa,null),t?"Back to chat":"Back"),!c&&t&&n.createElement(n.Fragment,null,n.createElement(Lw,{label:"Chat actions"},n.createElement("button",{onClick:()=>r("session-details")},n.createElement(ig,null),"Chat details"),n.createElement("button",{"data-action":"session.pin",onClick:()=>a("session.pin",{id:t.id,pinned:!(e.pinnedSessionIds||[]).includes(t.id)})},n.createElement(Du,null),(e.pinnedSessionIds||[]).includes(t.id)?"Unpin":"Pin chat"),n.createElement("button",{"data-action":"session.archive",onClick:()=>a("session.archive",{id:t.id})},n.createElement(yi,null),"Archive")),n.createElement(CL,{state:e,act:a,layout:i.layout}))))}function OL({workspace:e,state:t,act:a}){var x,w,R,S,I;const[r,o]=g.useState(e.path),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(""),p="workspace-files-"+e.id,m=((x=t.locationListing)==null?void 0:x.controlId)===p?t.locationListing:null,h=(w=t.actionStatus)==null?void 0:w["locations.list"],f=((R=h==null?void 0:h.target)==null?void 0:R.controlId)===p?h:null,v=l||["queued","working"].includes(f==null?void 0:f.phase),y=i||((f==null?void 0:f.phase)==="error"?f.error:"");g.useEffect(()=>{let N=!0;return c(!0),s(""),Promise.resolve(a("locations.list",{controlId:p,path:r,directoriesOnly:!1})).then(M=>{(M==null?void 0:M.accepted)===!1&&N&&s(M.error||"Could not list files.")}).catch(M=>{N&&s(M.message)}).finally(()=>{N&&c(!1)}),()=>{N=!1}},[r,e.id]);const E=(S=t.sessions)==null?void 0:S.find(N=>N.id===t.selectedSessionId),b=(E==null?void 0:E.workspace)===e.path;return n.createElement("section",{className:"a-work-files","aria-label":"Workspace files"},n.createElement("p",{className:"a-caption"},"Files on ",((I=t.workspaceDefaults)==null?void 0:I.hostLabel)||"this host",". Viewing this list does not add files to a message."),n.createElement("div",{className:"a-work-file-path"},n.createElement("button",{className:"a-icon",type:"button",disabled:r===e.path,"aria-label":"Parent folder",onClick:()=>o((m==null?void 0:m.parent)||e.path)},n.createElement(xa,null)),n.createElement("code",null,r)),v&&n.createElement("p",{role:"status"},"Loading files…"),y&&n.createElement("p",{role:"alert"},y),(m==null?void 0:m.path)===r&&m.entries.map(N=>n.createElement("div",{className:"a-work-file-row",key:N.path},N.directory?n.createElement(Lr,null):n.createElement(Co,null),n.createElement("button",{type:"button",disabled:!N.directory&&!b,onClick:()=>N.directory?o(N.path):a("canvas.openFile",{sessionId:E.id,workspace:e.path,path:N.path}).then(M=>{M!=null&&M.accepted&&a("view.update",{patch:{workSurface:"chat"}})})},N.name),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy path for "+N.name,onClick:()=>navigator.clipboard.writeText(N.path).then(()=>d(N.name),()=>s("Clipboard unavailable."))},n.createElement(ar,null)))),(m==null?void 0:m.truncated)&&n.createElement("p",null,"Showing the first 300 entries. Browse a subfolder to see more."),!b&&n.createElement("p",{className:"a-caption"},"Open a chat in this workspace to preview a file beside it."),u&&n.createElement("p",{role:"status"},"Path copied: ",u))}function ML({host:e,workspaceHost:t,state:a,act:r}){var v,y,E;const o=ho(e,"chats"),i=ho(t||e,"workspaces"),s=rl(),l=g.useContext(Oi),c=As(a),u=i.workspace,d=a.view.workWorkspaceTab||"chats",p=b=>r("view.update",{patch:{workWorkspaceTab:b}}),m=c==="chats"?{...o.view,...(v=o.state.sidebarNavigation)==null?void 0:v.recentView,...o.view.navRecentView,navChatScope:"all"}:{...o.view,navChatScope:"workspace"},h=ys({...o.state,view:m},o.workspace,{section:c==="chats"?"recent":"workspace"}),f=(b,x)=>{var R;if(b!=="view.update"||c!=="chats")return o.act(b,x);const w={...(R=o.state.sidebarNavigation)==null?void 0:R.recentView,...o.view.navRecentView,...x.patch};return Object.hasOwn(x.patch,"navChatPage")||delete w.navChatPage,o.act(b,{patch:{navRecentView:w}})};return n.createElement("div",{className:"a-work-browser","data-part":"work-browser"},n.createElement(fo,{model:o}),n.createElement(fo,{model:i}),n.createElement("div",{className:"a-work-browser-heading"},n.createElement("div",null,n.createElement("h1",null,c==="workspace"?(u==null?void 0:u.name)||"Workspace unavailable":c==="workspaces"?"Your workspaces":"Your chats"),n.createElement("p",null,c==="workspace"?"A place for related chats and files.":c==="workspaces"?"Keep related work together. Each workspace has its own chats and files.":"Find a conversation and pick up where you left off.")),n.createElement("button",{type:"button",className:"a-primary",onClick:()=>c==="workspaces"?l.create():l.newChat(c==="workspace"?u==null?void 0:u.path:void 0)},n.createElement(Mn,null),c==="workspaces"?"New workspace":"New chat")),c==="workspaces"?n.createElement(qi,{state:i.state,act:i.act,onEdit:i.setDraft,heading:!1,onSelect:b=>l.browse("workspace",b.workspaceId)}):n.createElement(n.Fragment,null,c==="workspace"&&u&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-work-tabs",role:"group","aria-label":"Workspace view"},["chats","files","details"].map(b=>n.createElement("button",{key:b,type:"button","aria-pressed":d===b,"data-action":"view.update",onClick:()=>p(b)},b[0].toUpperCase()+b.slice(1)))),d==="details"&&n.createElement("div",{className:"a-work-details"},n.createElement(Os,{label:"Folder",value:u.path}),n.createElement("p",null,"Chats are discovered from native Amplifier history for this folder. Files stay in place and are visible from your terminal."),n.createElement("button",{className:"a-soft",onClick:()=>i.setDraft({mode:"rename",id:u.id,name:u.name})},"Rename workspace")),d==="files"&&n.createElement(OL,{key:u.id,workspace:u,state:a,act:r})),c==="chats"&&((E=(y=o.state.sidebarNavigation)==null?void 0:y.pinned)==null?void 0:E.total)>0&&n.createElement("section",{className:"a-browser-pins","aria-label":"Pinned chats"},n.createElement("h2",null,"Pinned"),n.createElement(Ku,{page:o.state.sidebarNavigation.pinned,model:o,now:s})),(c==="chats"||d==="chats")&&n.createElement(Vc,{page:h,model:o,view:m,viewAct:f,now:s,showLocation:c==="chats"})))}function zL({shell:e,state:t,act:a}){const r=e.composition.instances.find(i=>i.package==="builtin.chats"),o=e.composition.instances.find(i=>i.package==="builtin.workspaces");return r?n.createElement(ML,{host:e.hostFor(r),workspaceHost:o?e.hostFor(o):void 0,state:t,act:a}):n.createElement("div",{className:"a-work-browser"},n.createElement("p",null,"Your custom navigation is available in the sidebar. This browser uses the standard Chats component."),n.createElement("a",{href:"?shell=recovery"},"Open with standard navigation"))}function LL({voice:e={},callSession:t,callActive:a,browsing:r,working:o,session:i,act:s,onReturn:l,children:c}){const u=Mw(t).busy||((t==null?void 0:t.workers)||[]).some(p=>["queued","starting","working","running","stopping"].includes(p.status)),d=(t==null?void 0:t.workspaceAvailable)===!1||!!(t!=null&&t.historyReadOnlyReason)||Ol(t).blocked;return n.createElement("div",{className:"a-work-live-controls"},a&&n.createElement("div",{className:"a-call-strip","data-part":"voice"},n.createElement(Ou,null),n.createElement("span",null,e.model||"Voice"," · ",e.status),n.createElement("button",{className:"a-icon","aria-label":e.muted?"Unmute microphone":"Mute microphone",title:e.muted?"Unmute microphone":"Mute microphone; replies and work continue","data-action":"call.mute",onClick:()=>s("call.mute",{muted:!e.muted})},e.muted?n.createElement(Wk,null):n.createElement(Zk,null)),n.createElement("button",{className:"a-soft",title:"End audio; work continues","data-action":"call.end",onClick:()=>s("call.end")},"End call"),u&&t&&n.createElement("button",{type:"button",className:"a-soft","data-action":"conversation.stop",title:"Stop work in "+(t.title||"this call’s conversation")+"; keep the call connected",disabled:t.status==="stopping"||d,onClick:()=>s("conversation.stop",{sessionId:t.id})},t.status==="stopping"?"Stopping work…":"Stop work"),e.muted&&n.createElement("small",{role:"status"},"Microphone muted. Replies and work continue."),n.createElement("button",{className:"a-link","data-action":"call.keepAwake","aria-pressed":e.keepAwake!==!1,onClick:()=>s("call.keepAwake",{enabled:e.keepAwake===!1})},e.wakeLock==="active"?"Screen staying awake":"Keep screen awake"),e.keepAwake!==!1&&["unsupported","unavailable","released"].includes(e.wakeLock)&&n.createElement("small",{role:"status"},"Screen may lock. Keep this page visible; battery-saving settings can prevent staying awake."),e.audioSessionState==="interrupted"&&n.createElement("small",{role:"status"},"Call audio interrupted by your device. Waiting for audio to become available."),e.microphoneEnded?n.createElement("small",{role:"status"},"Microphone stopped. End this call and start again."):e.microphoneInterrupted&&n.createElement("small",{role:"status"},"Microphone temporarily unavailable."),e.playbackBlocked&&n.createElement("small",{role:"status"},"Voice playback paused. ",n.createElement("button",{type:"button",className:"a-link","data-action":"call.resumeAudio",onClick:()=>s("call.resumeAudio")},"Resume audio")),e.fallbackReason&&n.createElement("small",null,e.fallbackReason)),c,r&&o&&i&&n.createElement("div",{className:"a-call-strip",role:"status"},n.createElement("span",null,i.title||"Chat"," · Working…"),n.createElement("button",{type:"button",className:"a-link",onClick:l},"Back to chat"),n.createElement("button",{type:"button",className:"a-soft","data-action":"conversation.stop",onClick:()=>s("conversation.stop",{sessionId:i.id})},"Stop")))}const DL=`/* The shell uses the current theme's tokens and keeps existing viewers mounted. */ +- "app": Tool callable by the app from this server only`),csp:vu().optional(),permissions:vu().optional()});$({mimeTypes:re(C()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var eL=$({method:J("ui/download-file"),params:$({contents:re(Te([Qd,Xd])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),tL=$({method:J("ui/message"),params:$({role:J("user").describe('Message role, currently only "user" is supported.'),content:re(Lo).describe("Message content blocks (text, image, etc.).")})});$({method:J("ui/notifications/sandbox-resource-ready"),params:$({html:C().describe("HTML content to load into the inner iframe."),sandbox:C().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:hp.optional().describe("CSP configuration from resource metadata."),permissions:fp.optional().describe("Sandbox permissions from resource metadata.")})});$({method:J("ui/notifications/tool-result"),params:_l.describe("Standard MCP tool execution result.")});var Iw=$({toolInfo:$({id:Wr.optional().describe("JSON-RPC id of the tools/call request."),tool:Al.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Dz.optional().describe("Current color theme preference."),styles:Zz.optional().describe("Style configuration for theming the app."),displayMode:Ti.optional().describe("How the UI is currently displayed."),availableDisplayModes:re(Ti).optional().describe("Display modes the host supports."),containerDimensions:Te([$({height:fe().describe("Fixed container height in pixels.")}),$({maxHeight:Te([fe(),gu()]).optional().describe("Maximum container height in pixels.")})]).and(Te([$({width:fe().describe("Fixed container width in pixels.")}),$({maxWidth:Te([fe(),gu()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:C().optional().describe("User's language and region preference in BCP 47 format."),timeZone:C().optional().describe("User's timezone in IANA format."),userAgent:C().optional().describe("Host application identifier."),platform:Te([J("web"),J("desktop"),J("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:$({touch:Ae().optional().describe("Whether the device supports touch input."),hover:Ae().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:$({top:fe().describe("Top safe area inset in pixels."),right:fe().describe("Right safe area inset in pixels."),bottom:fe().describe("Bottom safe area inset in pixels."),left:fe().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();$({method:J("ui/notifications/host-context-changed"),params:Iw.describe("Partial context update containing only changed fields.")});var nL=$({method:J("ui/update-model-context"),params:$({content:re(Lo).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Re(C(),He().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),aL=$({method:J("ui/initialize"),params:$({appInfo:Po.describe("App identification (name and version)."),appCapabilities:Gz.describe("Features and capabilities this app provides."),protocolVersion:C().describe("Protocol version this app supports.")})}),rL=$({protocolVersion:C().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Po.describe("Host application identification and version."),hostCapabilities:Yz.describe("Features and capabilities provided by the host."),hostContext:Iw.describe("Rich context about the host environment.")}).passthrough();class oL{constructor(t=window.parent,a){Ye(this,"eventTarget");Ye(this,"eventSource");Ye(this,"messageListener");Ye(this,"onclose");Ye(this,"onerror");Ye(this,"onmessage");Ye(this,"sessionId");Ye(this,"setProtocolVersion");this.eventTarget=t,this.eventSource=a,this.messageListener=r=>{var i,s,l;if(a&&r.source!==this.eventSource){console.debug("Ignoring message from unknown source",r);return}let o=Sy.safeParse(r.data);o.success?(console.debug("Parsed message",o.data),(i=this.onmessage)==null||i.call(this,o.data)):((s=r.data)==null?void 0:s.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",o.error.message,r):(console.error("Failed to parse message",o.error.message,r),(l=this.onerror)==null||l.call(this,Error("Invalid JSON-RPC message received: "+o.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(t,a){t.method!==Lz&&console.debug("Sending message",t),this.eventTarget.postMessage(t,"*")}async close(){var t;window.removeEventListener("message",this.messageListener),(t=this.onclose)==null||t.call(this)}}var iL=[Tw];class sL extends vz{constructor(a,r,o,i){super(i);Ye(this,"_client");Ye(this,"_hostInfo");Ye(this,"_hostCapabilities");Ye(this,"_appCapabilities");Ye(this,"_hostContext",{});Ye(this,"_appInfo");Ye(this,"_initializedReceived",!1);Ye(this,"_registeredEvents",new Set);Ye(this,"_events",new Oz);Ye(this,"_methods",new Mz);Ye(this,"setRequestHandler",(...a)=>{let[r,...o]=xf("request",a)??a;this._methods.claim(r,"setRequestHandler"),super.setRequestHandler.call(this,r,...o)});Ye(this,"setNotificationHandler",(...a)=>{let[r,...o]=xf("notification",a)??a;this._methods.claim(r,"setNotificationHandler"),super.setNotificationHandler.call(this,r,...o)});Ye(this,"removeRequestHandler",a=>{this._methods.release(a),super.removeRequestHandler(a)});Ye(this,"removeNotificationHandler",a=>{this._methods.release(a),super.removeNotificationHandler(a)});Ye(this,"replaceRequestHandler",(a,...r)=>{this._methods.replace(a),super.setRequestHandler.call(this,a,...r)});Ye(this,"eventSchemas",{sizechange:Vz,sandboxready:Hz,initialized:Qz,requestteardown:Kz,loggingmessage:tp});Ye(this,"onping");Ye(this,"_onmessage");Ye(this,"_onopenlink");Ye(this,"_ondownloadfile");Ye(this,"_onrequestdisplaymode");Ye(this,"_onupdatemodelcontext");Ye(this,"_oncalltool");Ye(this,"_oncreatesamplingmessage");Ye(this,"_onlistresources");Ye(this,"_onlistresourcetemplates");Ye(this,"_onreadresource");Ye(this,"_onlistprompts");Ye(this,"sendResourceTeardown",this.teardownResource);this._client=a,this._hostInfo=r,this._hostCapabilities=o,this._methods.replace("notifications/cancelled"),this._methods.replace("notifications/progress"),this._ensureEventSlot("initialized"),this._hostContext=(i==null?void 0:i.hostContext)||{},this.replaceRequestHandler("ui/initialize",{params:aL.shape.params,result:rL},s=>this._onAppsInitialize(s)),this.replaceRequestHandler("ping",(s,l)=>{var c;return(c=this.onping)==null||c.call(this,s.params,l),{}}),this.replaceRequestHandler("ui/request-display-mode",{params:Cf.shape.params,result:Nf},()=>({mode:this._hostContext.displayMode??"inline"}))}_wrapHandler(a,r){let o=super._wrapHandler(a,r);return a==="ui/initialize"||a==="ping"?o:async(i,s)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${a}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),o(i,s))}setEventHandler(a,r){this._ensureEventSlot(a),this._events.setHandler(a,r)}getEventHandler(a){return this._events.getHandler(a)}addEventListener(a,r){this._ensureEventSlot(a),this._events.addEventListener(a,r)}removeEventListener(a,r){this._events.removeEventListener(a,r)}_ensureEventSlot(a){if(this._registeredEvents.has(a))return;let r=this.eventSchemas[a];if(!r)throw Error(`Unknown event: ${String(a)}`);let o=i=>{a==="initialized"&&(this._initializedReceived=!0),this._events.dispatch(a,i)};a==="loggingmessage"?this.setNotificationHandler("notifications/message",i=>{o(i.params)}):this.setNotificationHandler(r.shape.method.value,{params:r.shape.params},i=>o(i)),this._registeredEvents.add(a)}warnIfRequestHandlerReplaced(a,r,o){r&&o&&console.warn(`[MCP Apps] ${a} handler replaced. Previous handler will no longer be called.`)}buildContext(a){return a}assertCapabilityForMethod(a){}assertRequestHandlerCapability(a){}assertNotificationCapability(a){}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(a){this.setEventHandler("sizechange",a)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(a){this.setEventHandler("sandboxready",a)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(a){this.setEventHandler("initialized",a)}get onmessage(){return this._onmessage}set onmessage(a){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,a),this._onmessage=a,this.replaceRequestHandler("ui/message",{params:tL.shape.params,result:Bz},async(r,o)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(r,o)})}get onopenlink(){return this._onopenlink}set onopenlink(a){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,a),this._onopenlink=a,this.replaceRequestHandler("ui/open-link",{params:jz.shape.params,result:Uz},async(r,o)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(r,o)})}get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(a){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,a),this._ondownloadfile=a,this.replaceRequestHandler("ui/download-file",{params:eL.shape.params,result:$z},async(r,o)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(r,o)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(a){this.setEventHandler("requestteardown",a)}get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(a){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,a),this._onrequestdisplaymode=a,this.replaceRequestHandler("ui/request-display-mode",{params:Cf.shape.params,result:Nf},async(r,o)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(r,o)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(a){this.setEventHandler("loggingmessage",a)}get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(a){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,a),this._onupdatemodelcontext=a,this.replaceRequestHandler("ui/update-model-context",{params:nL.shape.params,result:Cl},async(r,o)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(r,o)})}get oncalltool(){return this._oncalltool}set oncalltool(a){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,a),this._oncalltool=a,this.replaceRequestHandler("tools/call",async(r,o)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(r.params,o)})}get oncreatesamplingmessage(){return this._oncreatesamplingmessage}set oncreatesamplingmessage(a){this.warnIfRequestHandlerReplaced("oncreatesamplingmessage",this._oncreatesamplingmessage,a),this._oncreatesamplingmessage=a,this.replaceRequestHandler("sampling/createMessage",async(r,o)=>{if(!this._oncreatesamplingmessage)throw Error("No oncreatesamplingmessage handler set");return this._oncreatesamplingmessage(r.params,o)})}sendToolListChanged(a={}){return this.notification({method:"notifications/tools/list_changed",params:a})}get onlistresources(){return this._onlistresources}set onlistresources(a){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,a),this._onlistresources=a,this.replaceRequestHandler("resources/list",async(r,o)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(r.params,o)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(a){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,a),this._onlistresourcetemplates=a,this.replaceRequestHandler("resources/templates/list",async(r,o)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(r.params,o)})}get onreadresource(){return this._onreadresource}set onreadresource(a){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,a),this._onreadresource=a,this.replaceRequestHandler("resources/read",async(r,o)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(r.params,o)})}sendResourceListChanged(a={}){return this.notification({method:"notifications/resources/list_changed",params:a})}get onlistprompts(){return this._onlistprompts}set onlistprompts(a){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,a),this._onlistprompts=a,this.replaceRequestHandler("prompts/list",async(r,o)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(r.params,o)})}sendPromptListChanged(a={}){return this.notification({method:"notifications/prompts/list_changed",params:a})}getCapabilities(){return this._hostCapabilities}async _onAppsInitialize(a){let r=a.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=a.appCapabilities,this._appInfo=a.appInfo,{protocolVersion:iL.includes(r)?r:Tw,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(a){let r={},o=!1;for(let i of Object.keys(a)){let s=this._hostContext[i],l=a[i];lL(s,l)||(r[i]=l,o=!0)}o&&(this._hostContext=a,this.sendHostContextChange(r))}sendHostContextChange(a){return this.notification({method:"ui/notifications/host-context-changed",params:a})}sendToolInput(a){return this.notification({method:"ui/notifications/tool-input",params:a})}sendToolInputPartial(a){return this.notification({method:"ui/notifications/tool-input-partial",params:a})}sendToolResult(a){return this.notification({method:"ui/notifications/tool-result",params:a})}sendToolCancelled(a){return this.notification({method:"ui/notifications/tool-cancelled",params:a})}sendSandboxResourceReady(a){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:a})}teardownResource(a,r){return this.request({method:"ui/resource-teardown",params:a},Jz,r)}callTool(a,r){return this.request({method:"tools/call",params:a},r)}listTools(a,r){return this.request({method:"tools/list",params:a},r)}async connect(a){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let r=this._client.getServerCapabilities();if(!r)throw Error("Client server capabilities not available");r.tools&&(this.oncalltool=async(o,i)=>this._client.request({method:"tools/call",params:o},{signal:i.mcpReq.signal}),r.tools.listChanged&&this._client.setNotificationHandler("notifications/tools/list_changed",o=>this.sendToolListChanged(o.params))),r.resources&&(this.onlistresources=async(o,i)=>this._client.request({method:"resources/list",params:o},{signal:i.mcpReq.signal}),this.onlistresourcetemplates=async(o,i)=>this._client.request({method:"resources/templates/list",params:o},{signal:i.mcpReq.signal}),this.onreadresource=async(o,i)=>this._client.request({method:"resources/read",params:o},{signal:i.mcpReq.signal}),r.resources.listChanged&&this._client.setNotificationHandler("notifications/resources/list_changed",o=>this.sendResourceListChanged(o.params))),r.prompts&&(this.onlistprompts=async(o,i)=>this._client.request({method:"prompts/list",params:o},{signal:i.mcpReq.signal}),r.prompts.listChanged&&this._client.setNotificationHandler("notifications/prompts/list_changed",o=>this.sendPromptListChanged(o.params)))}return super.connect(a)}}function lL(e,t){return JSON.stringify(e)===JSON.stringify(t)}const Aw=g.createContext("system");function cL({scheme:e,children:t}){return n.createElement(Aw.Provider,{value:e||"system"},t)}function uL(){return g.useContext(Aw)}const us="com.microsoft.amplifier/visibility",_w=g.createContext(!0);function dL({visible:e,children:t}){return n.createElement(_w.Provider,{value:e},t)}function pL(e){const t=g.useContext(_w),[a,r]=g.useState(()=>document.visibilityState!=="hidden");return g.useEffect(()=>{const o=()=>r(document.visibilityState!=="hidden");return document.addEventListener("visibilitychange",o),()=>document.removeEventListener("visibilitychange",o)},[]),e!==!1&&t&&a}const Su=e=>Array.isArray(e)?e.map(Su):e&&typeof e=="object"?Object.fromEntries(Object.keys(e).sort().map(t=>[t,Su(e[t])])):e;function mL({limit:e=2,maxQueued:t=4,isVisible:a=()=>!0}={}){const r=new Map,o=[];let i=0,s=!1;const l=d=>Object.assign(new Error(d),{backgroundReadPaused:!0}),c=()=>l(s?"This tool view closed.":"Background reads are paused. Refresh when the tool view is visible."),u=()=>{for(;o.length&&i{i--,u()})}};return{run(d,p){if(s||!a())return Promise.reject(c());const m=JSON.stringify(Su({name:d.name,arguments:d.arguments||{}}));if(r.has(m))return r.get(m);if(i>=e&&o.length>=t)return Promise.reject(l("Too many background reads. Wait for the current refresh to finish."));const h=new Promise((f,v)=>{o.push({run:p,resolve:f,reject:v}),u()}).finally(()=>r.delete(m));return r.set(m,h),h},close(){for(s=!0;o.length;)o.shift().reject(c())}}}async function Rf(e,t,a){var i;const r=await Ct("/api/actions",{method:"POST",body:{id:crypto.randomUUID(),action:e,args:t},signal:a});if(!r.operationId)return r;const o=Date.now()+31e4;for(;Date.now()setTimeout(l,350))}throw new Error("No completion received. Inspect Smart Tools activity before retrying.")}const hL=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].filter(t=>e[t]!=null).map(t=>[t,e[t]])),dr=(e,t,a={})=>{const r=new URLSearchParams({...hL(e),...a}).toString();return`/api/canvas/${encodeURIComponent(e.id)}/${t}${r?"?"+r:""}`};async function fL(e,t,a){var s;const r=crypto.randomUUID(),o=Date.now()+31e4;let i=await Ct(dr(e,"tools/call"),{method:"POST",body:{id:r,expectedRevision:e.revision||1,name:t.name,arguments:t.arguments||{}},signal:a});for(;["pending","running","queued"].includes(i.status);){if(a!=null&&a.aborted||Date.now()>=o)throw new Error("No completion received. Inspect Smart Tools activity before retrying; input was not replayed.");await new Promise(l=>setTimeout(l,350)),i=await Ct(`/api/smart-tools/operations/${encodeURIComponent(r)}`,{signal:a})}if(i.status==="completed"||(s=i.result)!=null&&s.isError)return i.result;throw new Error(i.error||"Tool work was interrupted; it was not replayed.")}function gL(e){const t=()=>window.matchMedia("(prefers-color-scheme: dark)"),[a,r]=g.useState(()=>t().matches?"dark":"light");return g.useEffect(()=>{if(e!=="system")return;const o=t(),i=s=>r(s.matches?"dark":"light");return r(o.matches?"dark":"light"),o.addEventListener("change",i),()=>o.removeEventListener("change",i)},[e]),e==="dark"||e==="light"?e:a}function vL({canvas:e,act:t,connectionKey:a}){var M,k;const r=g.useRef(null),o=g.useRef(e),i=g.useRef(null),s=g.useRef(null),l=g.useRef(),[c,u]=g.useState({phase:"loading",text:"Connecting tool view…"}),d=g.useRef(null),p=g.useRef(!1),[m,h]=g.useState(null),[f,v]=g.useState(!1),y=g.useRef(null),E=g.useRef(null),b=g.useRef(null),x=g.useRef(null),w=T=>{d.current=T,h(T)},R=gL(uL()),S=pL(e.open!==!1&&!e.visibilityPending),I=g.useRef(S);I.current=S,o.current=e,l.current=R,g.useEffect(()=>{const T=i.current,A=s.current;if(!T||!A||A.theme===R&&A[us]===S)return;const q={...A,theme:R,[us]:S};s.current=q,T.setHostContext(q)},[R,S]),g.useEffect(()=>{const T=new AbortController;let A,q=!0,z=!1,F="",H=0,ne;const B=mL({isVisible:()=>I.current});let P;const _=()=>{P=void 0};E.current=_;const ee=()=>e.readOnlyVersion?Promise.resolve({tools:[]}):P||(P=Ct(dr(e,"tools"),{signal:T.signal}).catch(K=>{throw P=null,K})),Z=(K,oe)=>{!q||F===K+oe||(F=K+oe,u({phase:K,text:oe}),t("canvas.report",{id:e.id,part:"mcp-app",status:K==="ready"?"ready":K==="error"?"error":"pending",message:oe}))};y.current=Z;const D=()=>{const K=++H;return ne=(async()=>{try{const oe=await Ct(dr(e,"status"),{signal:T.signal});return q&&K===H&&(w(oe),z&&Z(["ready","saved_version"].includes(oe.status)?"ready":"error",oe.message),_()),oe}catch(oe){throw q&&K===H&&Z("error",oe.message),oe}})(),ne};b.current=D;const G=async()=>{let K=D(),oe;for(;q;){try{oe=await K}catch(ce){if(K===ne)throw ce}if(K===ne)break;K=ne}if(!q)return;if(oe.source!=="available"){Z("error",oe.message);return}s.current={theme:l.current,[us]:I.current,displayMode:"inline",availableDisplayModes:["inline"],locale:navigator.language},A=new sL(null,{name:"Amplifier Unified",version:"0.6.0"},{serverTools:{},serverResources:{},updateModelContext:{text:{},structuredContent:{}},sandbox:{permissions:{},csp:{connectDomains:[],resourceDomains:[],frameDomains:["blob:"],baseUriDomains:[]}}},{hostContext:s.current}),A.oncalltool=async ce=>{var $e,De,de,ve;const _e=H;try{if(o.current.readOnlyVersion)throw Error("This saved version is read-only. Select Latest for live features.");const W=($e=(await ee().catch(be=>{if(T.signal.aborted)throw be;return{tools:[]}})).tools)==null?void 0:$e.find(be=>be.name===ce.name),ae=()=>fL(e,ce,T.signal),Me=await(((De=W==null?void 0:W.annotations)==null?void 0:De.readOnlyHint)===!0&&((de=W==null?void 0:W.annotations)==null?void 0:de.destructiveHint)!==!0?B.run(ce,ae):ae());return Me!=null&&Me.isError?Z("error","The tool reported an error. See its result below."):_e===H&&((ve=d.current)==null?void 0:ve.status)==="ready"&&Z("ready","Tool view connected"),Me}catch(O){throw O.backgroundReadPaused||Z("error",O.message),O}},A.onlisttools=ee;const xe=(ce,_e={})=>Ct(dr(e,"resources",{kind:ce,..._e}),{signal:T.signal});if(A.onreadresource=ce=>xe("read",{uri:ce.uri}),A.onlistresources=ce=>xe("list",ce!=null&&ce.cursor?{cursor:ce.cursor}:{}),A.onlistresourcetemplates=ce=>xe("templates",ce!=null&&ce.cursor?{cursor:ce.cursor}:{}),A.onupdatemodelcontext=async ce=>e.readOnlyVersion?{}:(await Rf("smartTools.context",{canvasId:e.id,expectedRevision:e.revision||1,context:ce},T.signal),{}),A.oninitialized=async()=>{var ce,_e,$e,De;z=!0,p.current=!0;try{await A.sendToolInput({arguments:((ce=o.current.mcp)==null?void 0:ce.toolArguments)||{}});const de=(_e=o.current.mcp)==null?void 0:_e.operationId,ve=($e=o.current.mcp)!=null&&$e.savedResult?(await Ct(dr(e,"result"),{signal:T.signal})).result:de?(await Ct(`/api/smart-tools/operations/${encodeURIComponent(de)}`,{signal:T.signal})).result:(De=o.current.mcp)==null?void 0:De.result;ve&&await A.sendToolResult(ve);const O=d.current;Z(["ready","saved_version"].includes(O==null?void 0:O.status)?"ready":"error",(O==null?void 0:O.message)||"Tool view connected")}catch(de){Z("error",de.message)}},A.onerror=ce=>Z("error",ce.message),await A.connect(new oL(r.current.contentWindow,r.current.contentWindow)),q){i.current=A;const ce={...s.current,theme:l.current,[us]:I.current};s.current=ce,A.setHostContext(ce),r.current.src=Ui(dr(e,"document"))}};p.current=!1,w(null),Z("loading","Checking saved tool view…"),G().catch(K=>Z("error",K.message));const j=setTimeout(()=>{var K,oe;q&&!z&&Z("error",((K=d.current)==null?void 0:K.source)==="available"?"The saved tool document did not initialize. Reload it to retry. Its scripts must work within the self-contained MCP App sandbox.":((oe=d.current)==null?void 0:oe.message)||"The saved tool document could not be checked. Retry when the host is available.")},15e3);return()=>{q=!1,clearTimeout(j),B.close(),T.abort(),y.current===Z&&(y.current=null),b.current===D&&(b.current=null),E.current===_&&(E.current=null),i.current===A&&(i.current=null),s.current=null,A==null||A.close().catch(()=>{})}},[e.id,e.resourceRevision,e.generation,(M=e.view)==null?void 0:M.reload]),g.useEffect(()=>{var q,z;const T=JSON.stringify([e.id,e.resourceRevision,e.generation,(q=e.view)==null?void 0:q.reload]),A=x.current;x.current={identity:T,connectionKey:a,visible:S},S&&(A==null?void 0:A.identity)===T&&(A.connectionKey!==a||!A.visible)&&((z=b.current)==null||z.call(b).catch(()=>{}))},[a,S,e.id,e.resourceRevision,e.generation,(k=e.view)==null?void 0:k.reload]);const N=async T=>{var A,q,z;v(!0);try{const F=await Ct(dr(e,"status"));if(w(F),!F.canReconnect)throw new Error(F.message);const H=await Rf("smartTools.reconnectView",{canvasId:e.id,expectedBindingRevision:F.bindingRevision,...T?{reviewedContract:T}:{}});w(H),H.status==="ready"&&((A=E.current)==null||A.call(E)),(q=y.current)==null||q.call(y,H.status==="ready"&&p.current?"ready":"error",H.status==="ready"&&!p.current?"Tool reconnected. Reload the saved view to retry initialization.":H.message)}catch(F){try{w(await Ct(dr(e,"status")))}catch{}(z=y.current)==null||z.call(y,"error",F.message)}finally{v(!1)}};return n.createElement("div",{className:"a-mcp-app-viewer",style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0}},n.createElement(vr,{inline:c.phase==="error"},n.createElement("div",{"data-phase":c.phase,className:`a-mcp-status a-canvas-result ${c.phase==="error"?"error":c.phase==="ready"?"success":""}`,role:"status"},c.phase==="error"?n.createElement(On,null):c.phase==="ready"?n.createElement(Pt,null):n.createElement(lg,{className:"a-progress-spinner"}),n.createElement("span",null,c.text),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reconnect tool view","data-action":"smartTools.reconnectView",disabled:f||(m==null?void 0:m.canReconnect)===!1,onClick:()=>N()},n.createElement(zt,null)),c.phase==="error"&&(m==null?void 0:m.source)==="available"&&n.createElement("button",{type:"button",className:"a-link",style:{whiteSpace:"nowrap"},title:"Reloading resets unfinished inputs in this tool view","data-action":"canvas.view",onClick:()=>t("canvas.view",{id:e.id,patch:{reload:Date.now()}})},"Reload saved view"))),(m==null?void 0:m.review)&&n.createElement("div",{className:"a-canvas-result",role:"region","aria-label":"Review saved tool connection"},n.createElement("p",null,"This older view did not save its action schemas. Reconnecting keeps its saved document and existing action names. Review the current definitions before enabling them; no previous calls will run."),n.createElement("details",null,n.createElement("summary",null,"Existing tool actions (",m.review.tools.length,")"),n.createElement("pre",null,JSON.stringify(m.review.tools,null,2))),n.createElement("button",{type:"button",disabled:f,"data-action":"smartTools.reconnectView",onClick:()=>N(m.review.fingerprint)},"Use reviewed actions in this tab")),e.sharedToolView&&n.createElement("p",{className:"a-caption"},"This view shares tool work with the original conversation."),n.createElement("iframe",{ref:r,title:e.title||"Interactive tool",className:"a-canvas-html",style:{flex:1,minHeight:0},sandbox:"allow-scripts allow-downloads",referrerPolicy:"no-referrer"}))}function bL({surface:e,act:t}){const a=new Map(((e==null?void 0:e.components)||[]).map(o=>[o.id,o])),r=(o,i=[])=>{var d;if(i.length>20||i.includes(o))return null;const s=a.get(o);if(!s)return null;const[l,c]=Object.entries(s.component||{})[0]||[];if(!c)return null;const u=()=>{var p;return(((p=c.children)==null?void 0:p.explicitList)||[]).map(m=>n.createElement(n.Fragment,{key:m},r(m,[...i,o])))};if(l==="Text"){const p=["h1","h2","h3","h4","h5"].includes(c.usageHint)?c.usageHint:"p";return n.createElement(p,{className:"a-canvas-text"},((d=c.text)==null?void 0:d.literalString)||"")}return l==="Row"||l==="Column"?n.createElement("div",{className:`a-canvas-${l.toLowerCase()}`},u()):l==="Card"?n.createElement("div",{className:"a-canvas-card"},r(c.child,[...i,o])):l==="Divider"?n.createElement("hr",null):l==="Button"?n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.event",onClick:()=>t("canvas.event",{surfaceId:e.surfaceId,componentId:o,name:c.action.name})},r(c.child,[...i,o])):null};return n.createElement("div",{className:"a-canvas-surface","data-part":"agent-surface"},r(e==null?void 0:e.root))}const yL=({canvas:e,act:t})=>n.createElement(bL,{surface:e.surface,act:t}),Rs=Object.fromEntries(["markdown","text","code","json","jsonl","image","html","babylon","mermaid","dot"].map(e=>["builtin.canvas."+e,PI]));Object.assign(Rs,{"builtin.canvas.browser":aS,"builtin.canvas.mcp-app":vL,"builtin.canvas.a2ui":yL});const li=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].map(t=>[t,e[t]])),ds=new Map;async function EL(e){return ds.has(e)||ds.set(e,import(e).then(t=>{const a=t.default({React:n});if(typeof a!="function")throw Error("The renderer did not export a component.");return a}).catch(t=>{throw ds.delete(e),t})),ds.get(e)}class wL extends n.Component{constructor(){super(...arguments);Ye(this,"state",{error:null})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a){this.props.onError(a.message)}render(){return this.state.error?this.props.fallback:this.props.children}}function Tf({report:e}){return g.useEffect(()=>{e("ready","Renderer mounted")},[e]),null}function kL({view:e,canvas:t,dispatch:a,recovery:r,connectionKey:o}){const i=JSON.stringify(li(e)),s=g.useMemo(()=>JSON.parse(i),[i]),l=g.useRef(new Set),c=g.useMemo(()=>({visible:!!t.open,viewId:e.viewId,resource:{id:t.id,kind:t.kind,title:t.title,content:t.content,surface:t.surface,url:t.url,path:t.path,revision:e.resourceRevision},view:t.view||{}}),[t,e.viewId,e.resourceRevision]),u=g.useRef(c);u.current=c,g.useEffect(()=>{l.current.forEach(T=>T())},[c]);const d=g.useMemo(()=>Object.freeze({apiVersion:"1.0",instanceId:s.viewId,viewId:s.viewId,getSnapshot:()=>u.current,subscribe:T=>(l.current.add(T),()=>l.current.delete(T)),readSource:()=>Ct(`/api/canvas/views/${s.viewId}/source?`+new URLSearchParams(s)).then(T=>T.content),dispatch:(T,A={})=>{const q={"view.update":"canvas.view","view.report":"canvas.report"}[T];return q?a("canvas.views.command",{...s,action:q,args:A}):Promise.reject(Error("Unsupported renderer capability."))},setDirty:T=>a("canvas.views.dirty",{...s,dirty:!!T})}),[s,a]),p=g.useMemo(()=>(T,A)=>{a("canvas.views.status",{...s,status:T,message:String(A).slice(0,2e3)}).catch(()=>{})},[s,a]),m=r&&!e.renderer.startsWith("builtin."),h=g.useMemo(()=>(T,A)=>p(m||!e.available?"error":T,m?"Recovery mode is displaying the standard viewer.":e.available?A:"The saved renderer is unavailable; displaying the standard viewer."),[p,m,e.available]),f=g.useMemo(()=>(T,A)=>{const q=a("canvas.views.command",{...s,action:T,args:A});return T==="canvas.reference"?q:q.catch(()=>{})},[s,a]),v="builtin.canvas."+t.kind,y=Rs[v],E=e.choices.find(T=>T.id===e.renderer),b=r||!E?v:e.renderer,[x,w]=g.useState(null),[R,S]=g.useState("");g.useEffect(()=>{let T=!0;if(w(null),S(""),!Rs[b])return p("loading","Loading renderer"),EL(E.url).then(A=>{T&&w(()=>A)}).catch(A=>{T&&(S(A.message),p("error",A.message))}),()=>{T=!1}},[b,E==null?void 0:E.url,p]);const I=T=>{S(T),p("error",T)},N=y?n.createElement(y,{canvas:t,act:f,connectionKey:o}):n.createElement("p",{role:"alert"},"No standard viewer supports this artifact."),M=Rs[b],k=x;return n.createElement(n.Fragment,null,(R||!E||r)&&n.createElement("div",{role:"status",className:"a-renderer-notice"},r?"Recovery mode uses standard viewers.":R?`This renderer needs attention: ${R}`:"The saved renderer is unavailable. Showing the standard viewer; your artifact is retained.",n.createElement("button",{type:"button",className:"a-link",onClick:()=>a("canvas.views.recover",s)},"Use standard viewer")),M?n.createElement(n.Fragment,null,n.createElement(M,{canvas:t,act:f,connectionKey:o}),n.createElement(Tf,{report:h})):k?n.createElement(wL,{onError:I,fallback:N},n.createElement(k,{host:d}),n.createElement(Tf,{report:h})):R?N:n.createElement("p",{role:"status"},"Loading viewer…"))}function xL({view:e,state:t,dispatch:a,recovery:r}){var d,p,m,h,f;const[o,i]=g.useState(""),s=g.useMemo(()=>t.canvas?{...t.canvas,...e.app?{app:e.app}:{},...li(e),view:e.view||t.canvas.view,renderReports:e.renderReports}:null,[t.canvas,e]),l=(p=(d=t.smartTools)==null?void 0:d.servers)==null?void 0:p.find(v=>{var y;return v.id===((y=s==null?void 0:s.mcp)==null?void 0:y.serverId)}),c=JSON.stringify([l==null?void 0:l.status,l==null?void 0:l.catalogState,l==null?void 0:l.catalogRevision,l==null?void 0:l.account,l==null?void 0:l.accountBinding,(m=s==null?void 0:s.mcp)==null?void 0:m.catalogRevision]),u=async(v,y)=>{var E;try{const b=await a(v,y);i(((E=b==null?void 0:b.result)==null?void 0:E.status)==="deferred"?b.result.reason:"")}catch(b){i(b.message)}};return n.createElement(Gx,{label:"Artifact controls"},n.createElement("section",{className:"a-resource-view","data-canvas-view":e.viewId,"aria-label":"Artifact view"},n.createElement(vr,null,n.createElement("div",{className:"a-resource-view-controls a-canvas-toolbar"},!!((h=e.versions)!=null&&h.length)&&n.createElement(n.Fragment,null,n.createElement("label",null,"Version",n.createElement("select",{"aria-label":"Artifact version",value:e.selectedVersion??"latest",onChange:v=>u("canvas.select",{id:e.resourceId,...v.target.value==="latest"?{}:{version:Number(v.target.value)}})},n.createElement("option",{value:"latest"},"Latest · Version ",e.latestVersion),e.versions.slice().reverse().map(v=>n.createElement("option",{key:v.version,value:v.version},"Version ",v.version,v.createdAt?" · "+new Date(v.createdAt*1e3).toLocaleString():"")))),e.selectedVersion!=null&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link",onClick:()=>u("canvas.select",{id:e.resourceId})},"Go to Latest"),(s==null?void 0:s.app)&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>u("canvas.apps.restore",{id:e.resourceId,sessionId:s.sessionId,version:e.selectedVersion,expectedRevision:e.latestVersion,expectedStateRevision:e.latestStateRevision})},"Restore as new version"),!(s!=null&&s.app)&&!["mcp-app","browser"].includes(s==null?void 0:s.kind)&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>u("canvas.versions.restore",{id:e.resourceId,sessionId:s.sessionId,version:e.selectedVersion,expectedRevision:e.latestVersion})},"Restore as new version"))),n.createElement("label",null,"Open with",n.createElement("select",{"aria-label":"Open with",value:e.renderer,onFocus:()=>a("canvas.views.inspect",{}).catch(()=>{}),onChange:v=>u("canvas.views.renderer",{...li(e),renderer:v.target.value})},!e.available&&n.createElement("option",{value:e.renderer},"Unavailable renderer"),e.choices.map(v=>n.createElement("option",{key:v.id,value:v.id},v.label)))),((f=e.filePaths)==null?void 0:f.absolute)&&n.createElement("details",{className:"a-canvas-file-path"},n.createElement("summary",null,"File path"),n.createElement("div",null,n.createElement("p",null,"On the app server"),n.createElement("code",null,e.filePaths.absolute),n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.copyPath",onClick:()=>u("canvas.views.command",{...li(e),action:"canvas.copyPath",args:{format:"absolute"}})},"Copy absolute path"),e.filePaths.relative&&n.createElement("button",{type:"button",className:"a-soft","data-action":"canvas.copyPath",onClick:()=>u("canvas.views.command",{...li(e),action:"canvas.copyPath",args:{format:"relative"}})},"Copy relative path"))))),e.selectedVersion!=null&&n.createElement("p",{role:"status",className:"a-renderer-notice"},(s==null?void 0:s.kind)==="browser"?"Saved address · Website is live":"Saved version · Read only"),o&&n.createElement("p",{role:"alert",className:"a-renderer-notice"},o),n.createElement("div",{className:"a-resource-renderer"},s!=null&&s.app?n.createElement(lS,{key:e.resourceId+":"+(e.selectedVersion??"latest"),canvas:s,dispatch:a}):s?n.createElement(kL,{key:e.resourceId+":"+e.resourceRevision+":"+e.generation,view:e,canvas:s,dispatch:a,recovery:r,connectionKey:c}):n.createElement("p",{role:"status"},"Loading saved artifact…"))))}function SL({state:e,dispatch:t,hidden:a=!1}){var l;const r=g.useRef(new Map),o=(((l=e.canvasWorkspace)==null?void 0:l.views)||[]).filter(c=>c.viewId==="primary");for(const c of r.current.keys())o.some(u=>u.viewId===c)||r.current.delete(c);const i=o.filter(c=>{var u;return(u=e.canvas)!=null&&u.open&&r.current.set(c.viewId,c.resourceId),r.current.get(c.viewId)===c.resourceId}),s=typeof location<"u"&&new URLSearchParams(location.search).get("shell")==="recovery";return n.createElement("div",{className:"a-canvas-workspace",hidden:a,inert:a},i.map(c=>n.createElement(xL,{key:c.viewId,view:c,state:e,dispatch:t,recovery:s})))}const Ts=360,Ar=300,pr=216;function Cu({available:e=1200,gap:t=12,rail:a=0,navPinned:r=!1,canvasOpen:o=!1,navWidth:i=320,canvasWidth:s=440,priority:l="canvas"}={}){const c=o&&e=Ts+pr+(u?Ar+t*2:t),p=e-t*((d||a?1:0)+(u?1:0))-Ts,m=Math.min(16384,Math.max(pr,p-(u?Ar:0))),h=Math.min(16384,Math.max(Ar,p-(d?pr:a)));let f=d?Math.min(Math.max(pr,i),m):a,v=Math.min(Math.max(Ar,s),h);return u&&(l==="nav"?v=Math.max(Ar,Math.min(v,p-f)):d&&(f=Math.max(pr,Math.min(f,p-v)))),{overlay:c,docked:d,nav:f,canvas:v,navMax:m,canvasMax:h,expandedNav:d?f:Math.min(Math.max(pr,i),Math.max(pr,e-a))}}const Pw=g.createContext(null);function CL({state:e,act:t,children:a,presentation:r={}}){var v,y;const o=Uu(),i=g.useRef(null),[s,l]=g.useState({available:1200,gap:12,rail:0}),[c,u]=g.useState(null);g.useEffect(()=>{const E=i.current;if(!E)return;const b=()=>l({available:E.clientWidth,gap:parseFloat(getComputedStyle(E).columnGap)||0,rail:0}),x=new ResizeObserver(b);return x.observe(E),b(),()=>x.disconnect()},[]);const d=e.view||{},p=(r.layout||d.layout)==="work",m=d.canvasWidth??((r.layout||d.layout)==="conversation"?300:440),h=Cu({...s,navPinned:!o&&!!d.navPinned,canvasOpen:!!e.selectedSessionId&&!!((v=e.canvas)!=null&&v.open),navWidth:d.navWidth,canvasWidth:m,...c}),f=(E,b)=>{var R,S;const x=Cu({...s,navPinned:!o&&!!d.navPinned,canvasOpen:!!e.selectedSessionId&&!!((R=e.canvas)!=null&&R.open),navWidth:d.navWidth,canvasWidth:m,[E]:b,priority:E==="navWidth"?"nav":"canvas"}),w={[E]:Math.round(b)};x.docked&&((S=e.canvas)!=null&&S.open)&&!x.overlay&&(w.navWidth=Math.round(x.nav),w.canvasWidth=Math.round(x.canvas)),u(null),t("view.update",{patch:w})};return n.createElement(Pw.Provider,{value:{...h,narrow:o,canvasOnLeft:p,preview:(E,b)=>u({[E]:b,priority:E==="navWidth"?"nav":"canvas"}),cancel:()=>u(null),persist:f}},n.createElement("main",{ref:i,className:"a-layout","data-part":"workspace","data-narrow":o,"data-canvas-open":!!e.selectedSessionId&&!!((y=e.canvas)!=null&&y.open),"data-pane-layout":"","data-canvas-overlay":h.overlay,style:{"--nav-width":h.expandedNav+"px","--canvas-width":h.canvas+"px","--chat-min":Ts+"px"}},a))}function Ow(e,t){var r,o,i,s;return g.useContext(Pw)||{...Cu({navPinned:(r=e.view)==null?void 0:r.navPinned,canvasOpen:!!e.selectedSessionId&&((o=e.canvas)==null?void 0:o.open),navWidth:(i=e.view)==null?void 0:i.navWidth,canvasWidth:(s=e.view)==null?void 0:s.canvasWidth}),preview:()=>{},cancel:()=>{},persist:(l,c)=>t("view.update",{patch:{[l]:c}})}}function Mw({layout:e,pane:t}){const a=g.useRef(null),r=t==="nav",o=r?"navWidth":"canvasWidth",i=r?e.nav:e.canvas,s=r?pr:Ar,l=r?e.navMax:e.canvasMax,c=p=>Math.round(Math.max(s,Math.min(l,p))),u=r||e.canvasOnLeft?1:-1,d=p=>c(a.current.width+(p.clientX-a.current.x)*u);return n.createElement("div",{className:r?"a-nav-resize":"a-canvas-resize",role:"separator","aria-label":r?"Resize navigation":"Resize canvas","aria-orientation":"vertical","aria-valuemin":s,"aria-valuemax":Math.floor(l),"aria-valuenow":Math.round(i),tabIndex:0,"data-action":"view.update",onPointerDown:p=>{p.preventDefault(),a.current={x:p.clientX,width:i},p.currentTarget.setPointerCapture(p.pointerId)},onPointerMove:p=>{a.current&&e.preview(o,d(p))},onPointerUp:p=>{if(a.current){const m=d(p);a.current=null,e.persist(o,m)}},onPointerCancel:()=>{a.current=null,e.cancel()},onKeyDown:p=>{["ArrowLeft","ArrowRight","Home","End"].includes(p.key)&&(p.preventDefault(),e.persist(o,p.key==="Home"?s:p.key==="End"?Math.floor(l):c(i+(p.key==="ArrowLeft"?-20:20)*u)))}})}const mr=(e,t)=>e("view.update",{patch:t});function NL({state:e,act:t,layout:a}){var i,s;const r=(a||((i=e.view)==null?void 0:i.layout))==="work"?zu:Qk,o=!!e.selectedSessionId&&!!((s=e.canvas)!=null&&s.open);return n.createElement("button",{type:"button",className:"a-icon a-canvas-toggle",disabled:!e.selectedSessionId,title:e.selectedSessionId?void 0:"Send a message to start a chat before opening Canvas","aria-label":o?"Close canvas":"Open canvas","aria-pressed":o,"aria-controls":"workspace-canvas","data-action":"canvas.visibility",onClick:()=>{var l;return t("canvas.visibility",{open:!((l=e.canvas)!=null&&l.open)})}},n.createElement(r,null))}function RL({state:e,session:t,act:a,selectSession:r,newSession:o,shell:i,footer:s}){const l=Ow(e,a),c=e.view||{},u=!l.narrow&&!!c.navPinned,d=(u||!!c.navExpanded)&&(!l.narrow||!c.canvasFocused&&!c.panel&&!c.toolbarMenuOpen);c.workspaceDraft;const p=g.useRef(null),m=g.useRef(l.narrow),h=()=>mr(a,{navExpanded:!1});g.useEffect(()=>{l.narrow&&!m.current&&c.navExpanded&&h(),m.current=l.narrow},[l.narrow]),rl(p,l.narrow&&d,h),al(e).find(y=>y.id===e.selectedWorkspaceId);const v=()=>{(o||(()=>a("session.draft",{})))(),u||mr(a,{navExpanded:!1})};return n.createElement(vg.Provider,{value:d},l.narrow&&d&&n.createElement("div",{className:"a-navigation-scrim",onClick:h}),n.createElement("aside",{ref:p,id:"workspace-navigation",role:l.narrow?"dialog":void 0,"aria-modal":l.narrow&&d||void 0,hidden:!d,inert:!d,className:`a-nav-slot ${u?"is-pinned":""} ${d?"is-expanded":""}`,"data-docked":l.docked,"data-part":"navigation","aria-label":"Workspaces and conversations",onClick:y=>{l.narrow&&y.target.closest('[data-navigation-select],[data-action="session.select"]')&&h()}},n.createElement("div",{className:"a-nav-rail"},n.createElement("div",{className:"a-nav-head"},n.createElement("button",{className:"a-icon",type:"button","aria-label":"Close navigation",title:"Close sidebar","aria-pressed":u,"aria-expanded":d,"data-action":"view.update",onClick:()=>l.narrow?h():mr(a,{navPinned:!1,navExpanded:!1}).then(()=>{var y;typeof document<"u"&&((y=document.querySelector('[aria-label="Open navigation"]'))==null||y.focus())})},l.narrow?n.createElement(tn,null):n.createElement(zu,null),!l.narrow&&n.createElement(Da,{state:e,section:"chats"})),n.createElement("strong",{className:"a-nav-reveal"},"Your work")),n.createElement("button",{className:"a-nav-main",type:"button",onClick:v,"data-action":"session.draft","aria-label":"New chat",title:"New chat"},n.createElement(Mn,null),n.createElement("span",{className:"a-nav-reveal"},"New chat")),n.createElement("div",{className:"a-nav-content a-nav-reveal"},n.createElement(Kx,{shell:i})),s),l.docked&&n.createElement(Mw,{layout:l,pane:"nav"})))}function TL({session:e,act:t,onLoadEarlier:a}){var m,h;if(!e)return null;const r=e.workspaceAvailable===!1,o=e.historyReadOnlyReason,i=!!e.historyLoading||e.historyLoaded===!1&&!e.historyError,s=Number(e.sharedHistoryOffset)>0,l=((m=e.historyActivity)==null?void 0:m.diagnostics)||[],c=l.some(f=>["activity_scan_limit","scan_limit","invalid_event","incomplete_event","unreadable_file"].includes(f.code)),u=l.some(f=>f.code==="recovered_backup"),d=()=>t("session.select",{id:e.id}),p=()=>(a==null||a(),t("session.history",{id:e.id,before:e.sharedHistoryOffset,limit:100}));return!i&&!e.historyError&&!s&&!r&&!o&&!c&&!u?null:n.createElement("div",{className:"a-session-history","data-part":"session-history"},(r||o)&&n.createElement("p",{role:"status"},n.createElement(tr,null),o||"This workspace folder is unavailable. You can read its saved chats here."),u&&n.createElement("p",{role:"status"},n.createElement(On,null),"Showing a recovered history backup. Original files are unchanged."),c&&n.createElement("p",{role:"status"},n.createElement(On,null),"Some saved activity is unavailable or outside the loaded window. Conversation text comes from the saved transcript."),i&&!((h=e.messages)!=null&&h.length)&&n.createElement("p",{role:"status"},n.createElement(No,{className:"a-progress-spinner"}),"Loading conversation…"),e.historyError&&n.createElement("div",{className:"a-session-history-error",role:"alert"},n.createElement(On,null),n.createElement("span",null,e.historyError),n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",disabled:i,onClick:d},"Try again")),s&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.history",disabled:i,onClick:p},i?"Loading earlier messages…":"Load earlier messages"))}function IL({state:e,act:t,dispatch:a=t,suppressed:r=!1}){var R,S,I,N,M,k,T,A,q;const o=e.canvas||{},i=e.view||{},s=i.canvasDraft||{},l=Ow(e,t),c=g.useRef(null),u=g.useRef(t);u.current=t;const[d,p]=g.useState(null),m=go(e),h=!!((S=(R=e.canvasWorkspace)==null?void 0:R.views)!=null&&S.length)&&!o.placeholder,f=m.length>0;g.useEffect(()=>{var z,F;!o.open&&((z=c.current)!=null&&z.contains(document.activeElement))&&((F=document.querySelector(".a-canvas-toggle"))==null||F.focus({preventScroll:!0}))},[o.open]);const v=g.useRef(!1);o.open&&(v.current=!0);const y=!r&&!!e.selectedSessionId&&!!o.open&&!!i.canvasFocused,E=!!i.canvasControlsExpanded,b=(N=(I=e.canvasWorkspace)==null?void 0:I.views)==null?void 0:N.find(z=>z.viewId==="primary"),x=z=>mr(t,{canvasDraft:{...s,...z},...z.open||z.browser?{canvasControlsExpanded:!0}:{}});if(rl(c,y,()=>mr(u.current,{canvasFocused:!1})),g.useEffect(()=>{var z,F;y&&((F=(z=c.current)==null?void 0:z.querySelector('[aria-label="Exit canvas focus"]'))==null||F.focus({preventScroll:!0}))},[y]),!v.current)return null;const w=(M=o.events)==null?void 0:M.at(-1);return n.createElement(Ls.Provider,{value:d},n.createElement("aside",{ref:c,id:"workspace-canvas",className:"a-canvas-panel",hidden:r||!o.open||!e.selectedSessionId,inert:r||!o.open||!e.selectedSessionId,"aria-hidden":r||!o.open||!e.selectedSessionId||void 0,"data-part":"canvas","data-focused":y,"data-controls":E,"data-pinned":!!i.canvasControlsPinned,"aria-label":"Agent canvas",role:y?"dialog":void 0,"aria-modal":y||void 0},!y&&!l.overlay&&n.createElement(Mw,{layout:l,pane:"canvas"}),n.createElement("div",{className:"a-canvas-chrome"},n.createElement("header",{className:"a-canvas-head"},l.narrow&&n.createElement("button",{type:"button",className:"a-canvas-back a-soft","data-action":"canvas.visibility",onClick:()=>t("canvas.visibility",{open:!1})},n.createElement(xa,null),"Back to chat"),n.createElement("button",{type:"button",className:"a-link a-chat-overview-trigger","aria-pressed":!!s.library||!h,onClick:()=>x({library:!s.library,open:!1,browser:!1})},n.createElement(lm,null),"Chat overview"),n.createElement(Xx,{state:e,act:t}),((k=b==null?void 0:b.versions)==null?void 0:k.length)>1&&n.createElement("button",{type:"button",className:"a-link a-canvas-version-shortcut","aria-label":"Choose artifact version",onClick:async()=>{await mr(t,{canvasControlsExpanded:!0}),requestAnimationFrame(()=>{var z,F;return(F=(z=c.current)==null?void 0:z.querySelector('[aria-label="Artifact version"]'))==null?void 0:F.focus()})}},"v",b.selectedVersion??b.latestVersion),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Canvas options","aria-expanded":E,"aria-controls":"canvas-options","data-action":"view.update",onClick:()=>mr(t,{canvasControlsExpanded:!E})},n.createElement(Li,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":y?"Exit canvas focus":"Focus canvas","aria-pressed":y,"data-action":"view.update",onClick:()=>mr(t,{canvasFocused:!y})},y?n.createElement(Kk,null):n.createElement(Hk,null)),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close canvas panel","data-action":"canvas.visibility",onClick:()=>t("canvas.visibility",{open:!1})},n.createElement(tn,null))),n.createElement("div",{id:"canvas-options",className:"a-canvas-controls",hidden:!E,inert:!E},n.createElement("div",{className:"a-canvas-location"},(h||f)&&n.createElement("details",{className:"a-file-actions-menu"},n.createElement("summary",null,"Open…"),n.createElement("div",{className:"a-canvas-actions"},n.createElement(qr,{name:"canvas.toolbar"},n.createElement("button",{type:"button",className:"a-soft","aria-label":`Saved artifacts (${go(e).length})`,"aria-pressed":!!s.library,"data-action":"view.update",onClick:()=>x({library:!s.library,open:!1,browser:!1})},n.createElement(lm,null),"Saved outputs"),n.createElement("button",{type:"button",className:"a-soft","aria-label":"Open a website in canvas","aria-expanded":!!s.browser,"data-action":"view.update",onClick:()=>x({browser:!s.browser,open:!1,library:!1})},n.createElement(gr,null),"Website"),n.createElement("button",{type:"button",className:"a-soft","aria-label":"Open a file in canvas","aria-expanded":!!s.open,"data-action":"view.update",onClick:()=>x({open:!s.open,browser:!1,library:!1})},n.createElement(tr,null),"File")))),o.path&&!s.library&&n.createElement("div",{className:"a-canvas-file-path",title:o.path},o.path)),s.browser&&n.createElement(tS,{state:e,act:t}),s.open&&n.createElement("form",{className:"a-canvas-file-form",onSubmit:z=>{z.preventDefault(),t("canvas.show",{kind:s.kind||"auto",path:s.path||""})}},n.createElement("label",{htmlFor:"canvas-file-path"},"File in this workspace"),n.createElement(Ma,{id:"canvas-file-path",value:s.path||"",onChange:z=>x({path:z}),state:e,act:t,placeholder:"README.md or a full path"}),n.createElement("div",{className:"a-canvas-file-actions"},n.createElement("select",{"aria-label":"Canvas file format",value:s.kind||"auto","data-action":"view.update",onChange:z=>x({kind:z.target.value})},n.createElement("option",{value:"auto"},"Detect automatically"),n.createElement("option",{value:"html"},"HTML"),n.createElement("option",{value:"babylon"},"3D · Babylon.js"),n.createElement("option",{value:"mermaid"},"Mermaid"),n.createElement("option",{value:"dot"},"Graphviz DOT"),n.createElement("option",{value:"json"},"JSON"),n.createElement("option",{value:"jsonl"},"JSONL"),n.createElement("option",{value:"text"},"Text"),n.createElement("option",{value:"markdown"},"Markdown"),n.createElement("option",{value:"code"},"Code"),n.createElement("option",{value:"image"},"Image")),n.createElement("button",{type:"submit",className:"a-primary","data-action":"canvas.show",disabled:!((T=s.path)!=null&&T.trim())},"Open file",n.createElement(Gt,null)))),n.createElement("div",{ref:p,hidden:!!s.library||!h}))),n.createElement("div",{className:"a-canvas-body"},!!((q=(A=e.canvasWorkspace)==null?void 0:A.views)!=null&&q.length)&&n.createElement(dL,{visible:!r&&!!o.open&&!s.library},n.createElement(SL,{state:e,dispatch:a,hidden:!!s.library})),(s.library||!h)&&n.createElement(oS,{state:e,act:t,changeDraft:x})),w&&n.createElement("div",{className:"a-canvas-event",role:"status"},n.createElement(Pt,null),n.createElement("span",null,"Response recorded · ",w.name),n.createElement("small",null,"The agent can see this response in app state."))))}function Ml(e){var r;const t=e==null?void 0:e.ownership,a=(t==null?void 0:t.source)||((r=e==null?void 0:e.lockOwner)==null?void 0:r.app)||"another application";switch(t==null?void 0:t.status){case"blocked":return t.reason==="takeover-failed"?{blocked:!0,canTakeover:!0,retry:!0,label:"Could not continue here",detail:t.detail||"The takeover did not complete. Your draft is kept. Try again to unlock the message box."}:{blocked:!0,canTakeover:!0,label:`In use by ${a}`,detail:t.detail||(t.supportsTakeover===!1?"This running interface does not support takeover requests. Close it, then choose Continue here.":"Continue here to take over and unlock the message box. Your draft is kept.")};case"yielded":return{blocked:!0,canTakeover:!0,label:`Continued in ${a}`,detail:"This view stays connected. Choose Continue here when you want to resume."};case"yielding":return{blocked:!0,canTakeover:!1,label:`Moving to ${a}`,detail:"Finishing current work and saving the session…"};case"taking-over":return{blocked:!0,canTakeover:!1,label:"Taking over…",detail:"Waiting for the current owner to finish, then loading your session."};case"yield-failed":return{blocked:!0,canTakeover:!1,label:"The session could not be released",detail:t.detail||"Saving or cleanup needs attention. Ownership is retained."};default:return{blocked:!1,canTakeover:!1}}}function _a(e){return e.code==="session_busy"?"":e.message}function zw(e){if(!e)return{label:"Call it. Text it. Chat with it.",detail:"",busy:!1};const t=Ml(e);if(t.blocked)return{label:t.label,detail:t.detail,busy:!1};const a=e.progress,r=typeof a=="string"?a:(a==null?void 0:a.message)||(a==null?void 0:a.detail)||(a==null?void 0:a.description)||"";switch(e.status){case"starting":return{label:"Preparing your Amplifier session…",detail:r,explanation:"First launch loads your configured bundle and tools. Your message stays in this conversation while Amplifier gets ready.",busy:!0};case"stopping":return{label:"Stopping the current work…",detail:r,busy:!0};case"working":case"running":case"busy":return{label:"Amplifier is working…",detail:r,busy:!0};case"error":case"failed":return{label:"Amplifier needs your attention",detail:"",busy:!1};case"stopped":return{label:"Work stopped. Ready for your next message.",detail:"",busy:!1};default:return{label:"Ready when you are",detail:"",busy:!1}}}function Lw({label:e,onClose:t,children:a,initialFocus:r}){const o=g.useRef(null);return rl(o,!0,t),g.useEffect(()=>{var i,s;r&&((s=(i=o.current)==null?void 0:i.querySelector(r))==null||s.focus())},[r]),Oi.createPortal(n.createElement("div",{className:"a-work-dialog-backdrop",onSubmit:i=>i.stopPropagation(),onPaste:i=>i.stopPropagation(),onDrop:i=>i.stopPropagation(),onClick:i=>{i.target===i.currentTarget&&t()}},n.createElement("section",{ref:o,role:"dialog","aria-modal":"true","aria-label":e,className:"a-work-dialog"},n.createElement("div",{className:"a-work-dialog-head"},n.createElement("strong",null,e),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close "+e,onClick:t},n.createElement(tn,null))),a)),document.getElementById("amp-one"))}function AL({state:e,act:t}){var c,u;const[a,r]=g.useState(!1),o=g.useRef(null),i=Ja(e),s=(c=e.workspaces)==null?void 0:c.find(d=>d.path===i.workspace),l=()=>{r(!1),requestAnimationFrame(()=>{var d;return(d=o.current)==null?void 0:d.focus()})};return n.createElement(n.Fragment,null,n.createElement("button",{type:"button",ref:o,className:"a-composer-workspace","aria-label":"Choose workspace","aria-expanded":a,onClick:d=>{d.currentTarget.focus(),r(!0)}},n.createElement(Lr,null),n.createElement("span",null,((u=i.location)==null?void 0:u.kind)==="managed"||!i.workspace?"No workspace":(s==null?void 0:s.name)||i.workspace.split("/").at(-1)),n.createElement(Gt,null)),a&&n.createElement(Lw,{initialFocus:'input[type="search"]',label:"Choose a workspace",onClose:l},n.createElement(Tx,{state:e,act:t,setup:i,onChange:async d=>{const p=await t("view.update",{patch:{newSessionDraft:{...i,...d}}});if(!(p!=null&&p.accepted))throw Error((p==null?void 0:p.error)||"Could not select this workspace.");l()}})))}function _L({state:e,act:t,onClose:a}){const r=g.useContext(Mi);return n.createElement(Lw,{label:"Workspace",onClose:a},n.createElement(sl,{state:e,act:t,fromDraft:!e.selectedSessionId,onCancel:a,onDone:o=>{a(),o!=null&&o.workspaceId?r.browse("workspace",o.workspaceId):r.browse("workspaces")}}))}function Dw({label:e,children:t,icon:a=n.createElement(Li,null),badge:r}){const o=g.useRef(null),[i,s]=g.useState(!1);return g.useEffect(()=>{var u,d;if(!i)return;(d=(u=o.current)==null?void 0:u.querySelector(".a-work-menu-items button"))==null||d.focus();const l=p=>{var m;(m=o.current)!=null&&m.contains(p.target)||s(!1)},c=p=>{var m,h;p.key==="Escape"&&(s(!1),(h=(m=o.current)==null?void 0:m.querySelector("button"))==null||h.focus())};return document.addEventListener("pointerdown",l),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",l),document.removeEventListener("keydown",c)}},[i]),n.createElement("div",{className:"a-work-menu",ref:o,onBlur:l=>{l.relatedTarget&&!l.currentTarget.contains(l.relatedTarget)&&s(!1)}},n.createElement("button",{type:"button",className:"a-icon","aria-label":e,"aria-expanded":i,onClick:()=>s(!i)},a,r),i&&n.createElement("div",{className:"a-work-menu-items",role:"group","aria-label":e,onClickCapture:()=>{var l,c;return(c=(l=o.current)==null?void 0:l.querySelector("button"))==null?void 0:c.focus()},onClick:l=>{l.target.closest("button")&&s(!1)}},t))}function PL({state:e,connected:t,open:a,act:r}){return n.createElement("div",{className:"a-work-footer"},n.createElement(qr,{name:"app.status"},n.createElement("span",{className:`a-dot ${t?"":"pending"}`,title:t?"Connected":"Reconnecting"})),n.createElement("span",{className:"a-nav-reveal"},t?"Connected":"Reconnecting…"),n.createElement(qr,{name:"app.actions"},n.createElement(Dw,{label:"App options",icon:n.createElement(Bc,null),badge:n.createElement(Da,{state:e})},n.createElement("button",{onClick:()=>a("activity")},n.createElement(og,null),"Ready for you",n.createElement(Da,{state:e})),n.createElement("button",{onClick:()=>a("settings")},n.createElement(Bc,null),"Settings",n.createElement(Da,{state:e,settings:!0})),n.createElement("button",{onClick:()=>a("feedback")},n.createElement(_k,null),"Send feedback"),n.createElement("button",{onClick:()=>a("agent")},n.createElement(nx,null),"What the agent sees"))))}function OL({state:e,session:t,act:a,open:r,narrow:o,presentation:i}){var m,h,f,v;const s=g.useContext(Mi),l=_s(e),c=l!=="chat",u=!t&&!c?Ja(e):null,d=(m=e.workspaces)==null?void 0:m.find(y=>{var E;return u?((E=u.location)==null?void 0:E.kind)!=="managed"&&y.path===u.workspace:y.id===(c?e.view.workWorkspaceId:e.selectedWorkspaceId)}),p=l==="workspaces"?"All workspaces":l==="chats"?"All chats":l==="workspace"?(d==null?void 0:d.name)||"Workspace":(t==null?void 0:t.title)||"New chat";return n.createElement("header",{className:"a-work-header","data-part":"header"},n.createElement("div",{className:"a-brand a-work-brand"},n.createElement("img",{src:"/branding/icons/amplifier-icon-128.png",alt:""}),n.createElement("span",null,"Amplifier")),(o||!((h=e.view)!=null&&h.navPinned)&&!((f=e.view)!=null&&f.navExpanded))&&n.createElement("button",{type:"button",className:"a-icon a-work-nav-toggle","aria-label":"Open navigation","aria-expanded":!1,"aria-controls":"workspace-navigation","data-action":"view.update",onClick:()=>a("view.update",{patch:{navExpanded:!0,...o?{}:{navPinned:!0},toolbarMenuOpen:!1}})},n.createElement(zu,null),n.createElement(Da,{state:e})),n.createElement(qr,{name:"conversation.header"},n.createElement("div",{className:"a-work-heading"},l==="chat"&&d&&((v=t==null?void 0:t.location)==null?void 0:v.kind)!=="managed"&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-work-crumb",onClick:()=>s.browse("workspace",d.id)},n.createElement(Lr,null),d.name),n.createElement(Gt,null)),n.createElement("strong",{title:p},p))),n.createElement("div",{className:"a-work-header-actions"},c&&n.createElement("button",{type:"button",className:"a-link",onClick:()=>s.browse("chat")},n.createElement(xa,null),t?"Back to chat":"Back"),!c&&t&&n.createElement(n.Fragment,null,n.createElement(Dw,{label:"Chat actions"},n.createElement("button",{onClick:()=>r("session-details")},n.createElement(sg,null),"Chat details"),n.createElement("button",{"data-action":"session.pin",onClick:()=>a("session.pin",{id:t.id,pinned:!(e.pinnedSessionIds||[]).includes(t.id)})},n.createElement(Du,null),(e.pinnedSessionIds||[]).includes(t.id)?"Unpin":"Pin chat"),n.createElement("button",{"data-action":"session.archive",onClick:()=>a("session.archive",{id:t.id})},n.createElement(yi,null),"Archive")),n.createElement(NL,{state:e,act:a,layout:i.layout}))))}function ML({workspace:e,state:t,act:a}){var x,w,R,S,I;const[r,o]=g.useState(e.path),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(""),p="workspace-files-"+e.id,m=((x=t.locationListing)==null?void 0:x.controlId)===p?t.locationListing:null,h=(w=t.actionStatus)==null?void 0:w["locations.list"],f=((R=h==null?void 0:h.target)==null?void 0:R.controlId)===p?h:null,v=l||["queued","working"].includes(f==null?void 0:f.phase),y=i||((f==null?void 0:f.phase)==="error"?f.error:"");g.useEffect(()=>{let N=!0;return c(!0),s(""),Promise.resolve(a("locations.list",{controlId:p,path:r,directoriesOnly:!1})).then(M=>{(M==null?void 0:M.accepted)===!1&&N&&s(M.error||"Could not list files.")}).catch(M=>{N&&s(M.message)}).finally(()=>{N&&c(!1)}),()=>{N=!1}},[r,e.id]);const E=(S=t.sessions)==null?void 0:S.find(N=>N.id===t.selectedSessionId),b=(E==null?void 0:E.workspace)===e.path;return n.createElement("section",{className:"a-work-files","aria-label":"Workspace files"},n.createElement("p",{className:"a-caption"},"Files on ",((I=t.workspaceDefaults)==null?void 0:I.hostLabel)||"this host",". Viewing this list does not add files to a message."),n.createElement("div",{className:"a-work-file-path"},n.createElement("button",{className:"a-icon",type:"button",disabled:r===e.path,"aria-label":"Parent folder",onClick:()=>o((m==null?void 0:m.parent)||e.path)},n.createElement(xa,null)),n.createElement("code",null,r)),v&&n.createElement("p",{role:"status"},"Loading files…"),y&&n.createElement("p",{role:"alert"},y),(m==null?void 0:m.path)===r&&m.entries.map(N=>n.createElement("div",{className:"a-work-file-row",key:N.path},N.directory?n.createElement(Lr,null):n.createElement(Co,null),n.createElement("button",{type:"button",disabled:!N.directory&&!b,onClick:()=>N.directory?o(N.path):a("canvas.openFile",{sessionId:E.id,workspace:e.path,path:N.path}).then(M=>{M!=null&&M.accepted&&a("view.update",{patch:{workSurface:"chat"}})})},N.name),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy path for "+N.name,onClick:()=>navigator.clipboard.writeText(N.path).then(()=>d(N.name),()=>s("Clipboard unavailable."))},n.createElement(ar,null)))),(m==null?void 0:m.truncated)&&n.createElement("p",null,"Showing the first 300 entries. Browse a subfolder to see more."),!b&&n.createElement("p",{className:"a-caption"},"Open a chat in this workspace to preview a file beside it."),u&&n.createElement("p",{role:"status"},"Path copied: ",u))}function zL({host:e,workspaceHost:t,state:a,act:r}){var v,y,E;const o=ho(e,"chats"),i=ho(t||e,"workspaces"),s=ol(),l=g.useContext(Mi),c=_s(a),u=i.workspace,d=a.view.workWorkspaceTab||"chats",p=b=>r("view.update",{patch:{workWorkspaceTab:b}}),m=c==="chats"?{...o.view,...(v=o.state.sidebarNavigation)==null?void 0:v.recentView,...o.view.navRecentView,navChatScope:"all"}:{...o.view,navChatScope:"workspace"},h=Es({...o.state,view:m},o.workspace,{section:c==="chats"?"recent":"workspace"}),f=(b,x)=>{var R;if(b!=="view.update"||c!=="chats")return o.act(b,x);const w={...(R=o.state.sidebarNavigation)==null?void 0:R.recentView,...o.view.navRecentView,...x.patch};return Object.hasOwn(x.patch,"navChatPage")||delete w.navChatPage,o.act(b,{patch:{navRecentView:w}})};return n.createElement("div",{className:"a-work-browser","data-part":"work-browser"},n.createElement(fo,{model:o}),n.createElement(fo,{model:i}),n.createElement("div",{className:"a-work-browser-heading"},n.createElement("div",null,n.createElement("h1",null,c==="workspace"?(u==null?void 0:u.name)||"Workspace unavailable":c==="workspaces"?"Your workspaces":"Your chats"),n.createElement("p",null,c==="workspace"?"A place for related chats and files.":c==="workspaces"?"Keep related work together. Each workspace has its own chats and files.":"Find a conversation and pick up where you left off.")),n.createElement("button",{type:"button",className:"a-primary",onClick:()=>c==="workspaces"?l.create():l.newChat(c==="workspace"?u==null?void 0:u.path:void 0)},n.createElement(Mn,null),c==="workspaces"?"New workspace":"New chat")),c==="workspaces"?n.createElement(ji,{state:i.state,act:i.act,onEdit:i.setDraft,heading:!1,onSelect:b=>l.browse("workspace",b.workspaceId)}):n.createElement(n.Fragment,null,c==="workspace"&&u&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-work-tabs",role:"group","aria-label":"Workspace view"},["chats","files","details"].map(b=>n.createElement("button",{key:b,type:"button","aria-pressed":d===b,"data-action":"view.update",onClick:()=>p(b)},b[0].toUpperCase()+b.slice(1)))),d==="details"&&n.createElement("div",{className:"a-work-details"},n.createElement(Ms,{label:"Folder",value:u.path}),n.createElement("p",null,"Chats are discovered from native Amplifier history for this folder. Files stay in place and are visible from your terminal."),n.createElement("button",{className:"a-soft",onClick:()=>i.setDraft({mode:"rename",id:u.id,name:u.name})},"Rename workspace")),d==="files"&&n.createElement(ML,{key:u.id,workspace:u,state:a,act:r})),c==="chats"&&((E=(y=o.state.sidebarNavigation)==null?void 0:y.pinned)==null?void 0:E.total)>0&&n.createElement("section",{className:"a-browser-pins","aria-label":"Pinned chats"},n.createElement("h2",null,"Pinned"),n.createElement(Ku,{page:o.state.sidebarNavigation.pinned,model:o,now:s})),(c==="chats"||d==="chats")&&n.createElement(Wc,{page:h,model:o,view:m,viewAct:f,now:s,showLocation:c==="chats"})))}function LL({shell:e,state:t,act:a}){const r=e.composition.instances.find(i=>i.package==="builtin.chats"),o=e.composition.instances.find(i=>i.package==="builtin.workspaces");return r?n.createElement(zL,{host:e.hostFor(r),workspaceHost:o?e.hostFor(o):void 0,state:t,act:a}):n.createElement("div",{className:"a-work-browser"},n.createElement("p",null,"Your custom navigation is available in the sidebar. This browser uses the standard Chats component."),n.createElement("a",{href:"?shell=recovery"},"Open with standard navigation"))}function DL({voice:e={},callSession:t,callActive:a,browsing:r,working:o,session:i,act:s,onReturn:l,children:c}){const u=zw(t).busy||((t==null?void 0:t.workers)||[]).some(p=>["queued","starting","working","running","stopping"].includes(p.status)),d=(t==null?void 0:t.workspaceAvailable)===!1||!!(t!=null&&t.historyReadOnlyReason)||Ml(t).blocked;return n.createElement("div",{className:"a-work-live-controls"},a&&n.createElement("div",{className:"a-call-strip","data-part":"voice"},n.createElement(Ou,null),n.createElement("span",null,e.model||"Voice"," · ",e.status),n.createElement("button",{className:"a-icon","aria-label":e.muted?"Unmute microphone":"Mute microphone",title:e.muted?"Unmute microphone":"Mute microphone; replies and work continue","data-action":"call.mute",onClick:()=>s("call.mute",{muted:!e.muted})},e.muted?n.createElement(Zk,null):n.createElement(Jk,null)),n.createElement("button",{className:"a-soft",title:"End audio; work continues","data-action":"call.end",onClick:()=>s("call.end")},"End call"),u&&t&&n.createElement("button",{type:"button",className:"a-soft","data-action":"conversation.stop",title:"Stop work in "+(t.title||"this call’s conversation")+"; keep the call connected",disabled:t.status==="stopping"||d,onClick:()=>s("conversation.stop",{sessionId:t.id})},t.status==="stopping"?"Stopping work…":"Stop work"),e.muted&&n.createElement("small",{role:"status"},"Microphone muted. Replies and work continue."),n.createElement("button",{className:"a-link","data-action":"call.keepAwake","aria-pressed":e.keepAwake!==!1,onClick:()=>s("call.keepAwake",{enabled:e.keepAwake===!1})},e.wakeLock==="active"?"Screen staying awake":"Keep screen awake"),e.keepAwake!==!1&&["unsupported","unavailable","released"].includes(e.wakeLock)&&n.createElement("small",{role:"status"},"Screen may lock. Keep this page visible; battery-saving settings can prevent staying awake."),e.audioSessionState==="interrupted"&&n.createElement("small",{role:"status"},"Call audio interrupted by your device. Waiting for audio to become available."),e.microphoneEnded?n.createElement("small",{role:"status"},"Microphone stopped. End this call and start again."):e.microphoneInterrupted&&n.createElement("small",{role:"status"},"Microphone temporarily unavailable."),e.playbackBlocked&&n.createElement("small",{role:"status"},"Voice playback paused. ",n.createElement("button",{type:"button",className:"a-link","data-action":"call.resumeAudio",onClick:()=>s("call.resumeAudio")},"Resume audio")),e.fallbackReason&&n.createElement("small",null,e.fallbackReason)),c,r&&o&&i&&n.createElement("div",{className:"a-call-strip",role:"status"},n.createElement("span",null,i.title||"Chat"," · Working…"),n.createElement("button",{type:"button",className:"a-link",onClick:l},"Back to chat"),n.createElement("button",{type:"button",className:"a-soft","data-action":"conversation.stop",onClick:()=>s("conversation.stop",{sessionId:i.id})},"Stop")))}const FL=`/* The shell uses the current theme's tokens and keeps existing viewers mounted. */ #amp-one.a-approachable-shell{padding:0 12px 12px;height:100dvh;gap:0;--a-work-row-height:40px} #amp-one.a-approachable-shell .a-layout{gap:12px;padding:0} #amp-one.a-approachable-shell .a-nav-rail{padding:10px 8px 0;inset:0 auto 0 0} @@ -836,30 +836,30 @@ container holding the app. Specify either width or maxWidth, and either height o #amp-one .a-canvas-controls[hidden]{display:none!important} #amp-one .a-canvas-version-shortcut{white-space:nowrap;flex:0 0 auto;font-size:12px} #amp-one .a-canvas-unsaved{margin:0;padding:6px 14px;color:var(--a-muted);font-size:12px} -`;var If={version:"0.20.32",id:"8e210f6105242306"};const Cu=typeof If>"u"?{version:"dev",id:"dev"}:If,bi=new Map;let Dw="unknown";function ei(e){Dw=["connecting","open","reconnecting","closed"].includes(e)?e:"unknown"}function FL(){const e=Symbol();return bi.set(e,Date.now()),()=>bi.delete(e)}function Fw(e,t=globalThis){var l,c,u,d,p,m,h;const a=t.navigator||{},r=a.userAgent||"",o=r.match(/(Edg)\/([0-9.]+)/)||r.match(/(Firefox)\/([0-9.]+)/)||r.match(/(Chrome)\/([0-9.]+)/)||r.match(/(Version)\/([0-9.]+)/),i=!!((l=t.matchMedia)!=null&&l.call(t,"(prefers-color-scheme: dark)").matches),s=["light","dark","system"].includes((c=e==null?void 0:e.view)==null?void 0:c.scheme)?e.view.scheme:"system";return{frontendVersion:Cu.version,frontendBuild:Cu.id,browser:o?{Edg:"Edge",Firefox:"Firefox",Chrome:"Chrome",Version:"Safari"}[o[1]]:"Other",browserVersion:(o==null?void 0:o[2])||"",deviceOS:/Android/.test(r)?"Android":/iPhone|iPad|iPod/.test(r)?"iOS":/Windows/.test(r)?"Windows":/Macintosh/.test(r)?"macOS":/Linux/.test(r)?"Linux":"Other",width:Math.min(32768,t.innerWidth||0),height:Math.min(32768,t.innerHeight||0),pixelRatio:Math.min(16,t.devicePixelRatio||1),colorPreference:i?"dark":"light",appearance:s,resolvedAppearance:s==="system"?i?"dark":"light":s,standalone:!!((u=t.matchMedia)!=null&&u.call(t,"(display-mode: standalone)").matches||a.standalone),secureContext:!!t.isSecureContext,online:a.onLine!==!1,eventStream:Dw,serviceWorkerControlled:!!((d=a.serviceWorker)!=null&&d.controller),reducedMotion:!!((p=t.matchMedia)!=null&&p.call(t,"(prefers-reduced-motion: reduce)").matches),visible:((m=t.document)==null?void 0:m.visibilityState)!=="hidden",pageAgeSeconds:Math.min(31536e3,Math.floor((((h=t.performance)==null?void 0:h.now())||0)/1e3)),pendingActions:bi.size,oldestPendingMs:bi.size?Date.now()-Math.min(...bi.values()):0}}function qL(e,t){const a=r=>typeof r=="string"&&/^[a-f0-9]{12,64}$/.test(r);return a(e==null?void 0:e.id)&&a(t==null?void 0:t.id)&&(e.id!==t.id||e.version!==t.version)}async function jL({prepare:e,reload:t}){await e(),t()}const qw=g.createContext(null);function UL({enabled:e,blocked:t,prepare:a}){const[r,o]=g.useState(null),[i,s]=g.useState(!1),[l,c]=g.useState(""),u=g.useRef(!1),d=g.useRef(a);d.current=a,g.useEffect(()=>{if(!e)return;let m=!0,h=!1;const f=new AbortController,v=async()=>{if(!(h||document.hidden)){h=!0;try{const E=await fetch("/build.json",{cache:"no-store",credentials:"same-origin",signal:f.signal});if(E.ok){const b=await E.json();m&&o(qL(Cu,b)?b:null)}}catch{}finally{h=!1}}};v();const y=setInterval(v,6e4);return window.addEventListener("focus",v),window.addEventListener("amplifier-reconnected",v),document.addEventListener("visibilitychange",v),()=>{m=!1,f.abort(),clearInterval(y),window.removeEventListener("focus",v),window.removeEventListener("amplifier-reconnected",v),document.removeEventListener("visibilitychange",v)}},[e]);const p=async()=>{if(!(!r||t||u.current)){u.current=!0,s(!0),c("");try{await jL({prepare:()=>d.current(),reload:()=>window.location.reload()})}catch(m){c(m.message||"Your changes could not be saved. Try again when connected."),u.current=!1,s(!1)}}};return{available:!!r,version:r==null?void 0:r.version,busy:i,blocked:t,error:l,reload:p}}function jw(){const e=g.useContext(qw);return e!=null&&e.available?n.createElement("aside",{className:"a-reload-notice","data-part":"app-reload","aria-label":"App update ready"},n.createElement(zt,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,"Update ready—reload to finish"),n.createElement("p",null,e.blocked||"Load the updated app in this tab. Your chats and saved settings stay in place."),e.error&&n.createElement("p",{role:"alert"},e.error)),n.createElement("button",{type:"button",className:"a-primary",disabled:e.busy||!!e.blocked,onClick:e.reload},e.busy?"Saving before reload…":"Reload now")):null}const Jr=g.createContext({compact:!1,active:!0,footer:null});function Cn({children:e,active:t=!0,className:a=""}){const r=g.useContext(Jr);if(r.compact&&!t)return null;const o=n.createElement("div",{className:"a-dialog-actions "+a},e);return r.compact&&r.active&&r.footer&&t?Pi.createPortal(o,r.footer):o}function $L(e){const[t,a]=g.useState(()=>typeof window<"u"&&window.matchMedia("(max-width:959px)").matches);return g.useLayoutEffect(()=>{var s;const r=((s=e.current)==null?void 0:s.closest(".a-overlay"))||e.current;if(!r)return;const o=()=>a(r.clientWidth<960);o();const i=new ResizeObserver(o);return i.observe(r),()=>i.disconnect()},[]),t}function BL(e,t){g.useEffect(()=>{var l;const a=(l=e.current)==null?void 0:l.closest(".a-overlay"),r=window.visualViewport;if(!t||!a||!r)return;let o;const i=()=>{r.scale===1&&(a.style.setProperty("--a-settings-viewport-top",r.offsetTop+"px"),a.style.setProperty("--a-settings-viewport-height",r.height+"px"),cancelAnimationFrame(o),o=requestAnimationFrame(()=>{var m;const c=document.activeElement;if(!((m=e.current)!=null&&m.contains(c))||!c.matches("input,textarea,select"))return;const u=c.closest(".a-settings-content");if(!u)return;const d=c.getBoundingClientRect(),p=u.getBoundingClientRect();d.bottom>p.bottom-16?u.scrollTop+=d.bottom-p.bottom+16:d.top{cancelAnimationFrame(o),r.removeEventListener("resize",i),r.removeEventListener("scroll",i),s.removeEventListener("focusin",i),a.style.removeProperty("--a-settings-viewport-top"),a.style.removeProperty("--a-settings-viewport-height")}},[t])}function HL({compact:e,trail:t,view:a,act:r,close:o,body:i,navigationRef:s,confirmClose:l=()=>Promise.resolve(!0),hasUnsaved:c=()=>!1}){const u=g.useRef(null),d=g.useRef(null),p=g.useRef(new Map),m=g.useRef(null),h=g.useRef(!1),[f,v]=g.useState(!1),y=g.useRef(!1);u.current={trail:t,view:a,act:r,close:o,confirmClose:l};const E=t.at(-1),b=E.key,x=g.useRef(a.settingsRootVisit);g.useEffect(()=>{const I=x.current!==a.settingsRootVisit;x.current=a.settingsRootVisit,m.current=b,h.current=!0;const N=requestAnimationFrame(()=>{i.current&&(i.current.scrollTop=I?0:p.current.get(b)||0),h.current=!1});return()=>cancelAnimationFrame(N)},[b,a.settingsRootVisit]);const w=()=>{i.current&&!h.current&&p.current.set(m.current,i.current.scrollTop)};g.useLayoutEffect(()=>{var z;if(!e||typeof window>"u")return;const I=(z=history.state)==null?void 0:z.amplifierSettings,N=typeof(I==null?void 0:I.token)=="string"&&I.token.startsWith("settings-")&&Number.isInteger(I.index)&&I.index>0&&I.index<10?I:null,M=(N==null?void 0:N.token)||"settings-"+crypto.randomUUID(),k={...history.state};delete k.amplifierSettings;const T={token:M,entries:N?[...u.current.trail]:[],index:(N==null?void 0:N.index)||0,closing:!1};d.current=T;const A=F=>{T.entries.splice(T.index),T.entries.push(F),T.index=T.entries.length,history.pushState({...k,amplifierSettings:{token:M,index:T.index}},"")};N||u.current.trail.forEach(A);const q=async F=>{var _,ee;const H=(_=F.state)==null?void 0:_.amplifierSettings;if((H==null?void 0:H.token)!==M){if(T.confirming)return;if(T.closing){u.current.close();return}T.confirming=!0,v(!0);const Z=await u.current.confirmClose();if(T.confirming=!1,Z)T.closing=!0,u.current.close();else for(let D=1;D<=T.index;D++)history.pushState({...k,amplifierSettings:{token:M,index:D}},"");v(!1);return}T.index=H.index;const ne=T.entries[T.index-1];if(!ne)return;const B=Object.keys(ne.navigation).find(Z=>{var D;return((D=ne.navigation[Z])==null?void 0:D.orderOpen)===!0});if(B&&!((ee=u.current.view[B])!=null&&ee.order)){history.back();return}const P={...ne.navigation};for(const Z of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])P[Z]&&(P[Z]={...u.current.view[Z],...P[Z]});u.current.act("view.update",{patch:P})};return window.addEventListener("popstate",q),()=>{var F,H;window.removeEventListener("popstate",q),d.current=null,((H=(F=history.state)==null?void 0:F.amplifierSettings)==null?void 0:H.token)===M&&!T.closing&&history.go(-T.index)}},[e]),g.useLayoutEffect(()=>{const I=d.current;if(!e||!I||I.closing||I.confirming)return;const N=I.entries[I.index-1];if(t.forEach((M,k)=>{I.entries[k]=M}),I.index>t.length){history.go(t.length-I.index);return}if(I.index===t.length){(N==null?void 0:N.key)!==b&&history.replaceState({...history.state,amplifierSettings:{token:I.token,index:I.index}},"");return}for(;I.index{const I=d.current;if(I&&I.index>1)w(),history.back();else if(t.length>1){const N=t.at(-2),M={...N.navigation};for(const k of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])M[k]&&(M[k]={...a[k],...M[k]});r("view.update",{patch:M})}else S()},S=async()=>{if(y.current)return;y.current=!0;const I=d.current;I&&(I.confirming=!0),v(!0);const N=await u.current.confirmClose();I&&(I.confirming=!1),N&&(I&&!I.closing?(I.closing=!0,history.go(-I.index)):o()),y.current=!1,v(!1)};return g.useEffect(()=>(s&&(s.current={close:S,confirmClose:l,hasUnsaved:c}),()=>{s&&(s.current=null)})),{back:R,dismiss:S,rememberScroll:w}}function VL(e){const[t,a]=g.useState(()=>typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches);return g.useEffect(()=>{const r=matchMedia("(prefers-color-scheme: dark)"),o=()=>a(r.matches);return o(),r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[]),e==="dark"||e==="system"&&t?"dark":"light"}function WL({root:e,state:t,shell:a,scheme:r,mode:o,preview:i,css:s}){var l,c;g.useLayoutEffect(()=>{var h,f,v,y,E;if(!e.current||!a.ready||i||(h=t==null?void 0:t.view)!=null&&h.themePreview||(f=a.data)!=null&&f.preview)return;const u=getComputedStyle(e.current),d={};try{Object.assign(d,(v=JSON.parse(sessionStorage.getItem("amplifier.appearance")||"null"))==null?void 0:v.colors)}catch{}d[o]={background:u.backgroundColor,foreground:u.color};const p=(E=(y=t==null?void 0:t.theme)==null?void 0:y.definition)==null?void 0:E.palette;if(p)for(const b of["light","dark"])d[b]={background:p[b].bg,foreground:p[b].ink};const m={version:1,scheme:["light","dark","system"].includes(r)?r:"light",colors:d};try{sessionStorage.setItem("amplifier.appearance",JSON.stringify(m))}catch{}document.documentElement.style.colorScheme=o,document.documentElement.style.setProperty("--boot-bg",d[o].background),document.documentElement.style.setProperty("--boot-ink",d[o].foreground)},[e,a.ready,(l=a.data)==null?void 0:l.preview,(c=t==null?void 0:t.view)==null?void 0:c.themePreview,t==null?void 0:t.theme,r,o,i,s])}function ZL({shell:e,onError:t}){const a=e.composition.presentation.decorations!==!1,[r,o]=g.useState(!1),[i,s]=g.useState(a);g.useEffect(()=>{r||s(a)},[a,r]);async function l(c){const u=c.target.checked;s(u),o(!0);try{await e.setPresentation({decorations:u})}catch(d){s(a),t(d.message)}finally{o(!1)}}return n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:i,disabled:r,"data-action":"shell.changes.apply",onChange:l}),"Show decorative theme background")}const JL={bg:"#e9ecf5",surface:"#ffffff",ink:"#23304d",accent:"#6353c7",line:"#d7ddec"};function KL({item:e}){const t={...JL,...e.palette};return n.createElement("div",{className:"a-appearance-swatch","aria-hidden":"true",style:{"--sw-bg":t.bg,"--sw-surface":t.surface,"--sw-ink":t.ink,"--sw-accent":t.accent,"--sw-line":t.line,"--sw-radius":e.radius||"12px",backgroundImage:e.background||"none",fontFamily:e.heading||"inherit",backgroundSize:e.id==="builtin:graphite"?"16px 16px":"cover"}},n.createElement("div",{className:"a-swatch-header"},n.createElement("span",null,"◉ Amplifier"),n.createElement("span",null,"•••")),n.createElement("div",{className:"a-swatch-body"},n.createElement("div",{className:"a-swatch-nav"},n.createElement("i",null),n.createElement("i",null),n.createElement("i",null)),n.createElement("div",{className:"a-swatch-chat"},n.createElement("strong",null,"Room for ideas."),n.createElement("span",{className:"a-swatch-line"}),n.createElement("span",{className:"a-swatch-line short"}),n.createElement("div",{className:"a-swatch-prompt"},n.createElement("span",null,"Ask anything…"),n.createElement("b",null,"↑")))))}function YL({state:e,shell:t,act:a,name:r,css:o,preview:i,setName:s,setCss:l,setPreview:c,defaultSkin:u,simple:d=!1,advancedOnly:p=!1,onAdvanced:m}){var xe,ce,_e,$e,De;const{active:h}=g.useContext(Jr),[f,v]=g.useState(""),[y,E]=g.useState({items:[],errors:[],directory:""}),[b,x]=g.useState(null),[w,R]=g.useState(!1),[S,I]=g.useState(""),[N,M]=g.useState(""),[k,T]=g.useState(!1),A=g.useRef(a),q=g.useRef(!0),z=g.useRef(0),F=g.useRef(i);A.current=a,F.current=i;const H=t.composition.presentation,ne=H.scheme||((xe=e.view)==null?void 0:xe.scheme)||"system";async function B(){var ve;const de=await A.current("theme.list",{});if(!Array.isArray((ve=de.result)==null?void 0:ve.items))throw Error("The appearance library is unavailable. Try reopening Settings.");q.current&&(E(de.result),v(""))}g.useEffect(()=>{if(!h)return;q.current=!0,B().catch(ve=>v(ve.message));const de=setInterval(()=>B().catch(()=>{}),5e3);return()=>{q.current=!1,z.current++,clearInterval(de),F.current&&(c(!1),A.current("view.update",{patch:{themePreview:!1}}).catch(()=>{}))}},[h]);async function P(de){R(!0),I(""),M("");try{await de()}catch(ve){q.current&&I(ve.message)}finally{q.current&&R(!1)}}async function _(de){const ve=++z.current;await P(async()=>{const{result:O}=await A.current("theme.read",{id:de.id});if(!q.current||ve!==z.current)return;x(de.id),s(O.name),l(O.css);const W=await A.current(d?"theme.apply":"theme.preview",{name:O.name,css:O.css});if((W==null?void 0:W.accepted)===!1)throw Error(W.error||"Could not save appearance.");c(!d),d&&M(O.name+" saved.")})}async function ee(){await P(async()=>{await A.current("theme.apply",{name:r,css:o}),c(!1),M(r+" applied.")})}async function Z(){await P(async()=>{var de,ve;i&&await A.current("theme.revert",{}),c(!1),s(((de=e.theme)==null?void 0:de.name)||"Amplifier Unified"),l(((ve=e.theme)==null?void 0:ve.css)||u),x(null)})}async function D(de){"name"in de&&s(de.name),"css"in de&&l(de.css),x(null),c(!1),await A.current("view.update",{patch:{themeDraft:de.css??o,themeDraftName:de.name??r,themePreview:!1}})}async function G(){await P(async()=>{const{result:de}=await A.current("theme.save",{name:r,css:o});x(de.id),await B(),M("Saved to your appearance library.")})}async function j(de){if(!de)return;if(de.size>99e4)throw Error("Choose a CSS appearance smaller than 1 MB.");const ve=await de.text(),O=de.name.replace(/\.amplifier\.css$|\.css$/i,"").slice(0,100),{result:W}=await A.current("theme.save",{name:O,css:ve});return await B(),M(O+" added to your library. Select it to preview."),W}const K=b||(((ce=e.theme)==null?void 0:ce.name)==="Amplifier Unified"?"builtin:default":(_e=y.items.find(de=>{var ve;return de.name===((ve=e.theme)==null?void 0:ve.name)}))==null?void 0:_e.id),oe=de=>P(()=>t.setPresentation(de));return n.createElement("div",{className:"a-appearance-settings","data-appearance-simple":d,"data-appearance-advanced":p},n.createElement("div",{className:"a-appearance-intro"},n.createElement("div",null,d?n.createElement("p",null,"Choose a look. Your choice is saved automatically."):n.createElement(n.Fragment,null,n.createElement("p",null,"Make this space yours."),n.createElement("small",null,"Choose an appearance to try it. Apply when it feels right."))),!d&&n.createElement("span",{className:"a-appearance-current"},n.createElement(Uc,{size:14}),i?"Previewing "+r:(($e=e.theme)==null?void 0:$e.name)||"Amplifier")),d&&n.createElement("h4",{className:"a-appearance-label"},"Look & feel"),n.createElement("div",{className:"a-appearance-gallery","aria-label":"Appearance library"},y.items.map(de=>n.createElement("button",{type:"button",key:de.id,className:"a-appearance-card","aria-label":(d?"Use ":"Preview ")+de.name,"aria-pressed":K===de.id,disabled:w,"data-action":d?"theme.apply":"theme.preview",onClick:()=>_(de)},n.createElement(KL,{item:de}),n.createElement("div",{className:"a-appearance-card-caption"},n.createElement("div",null,n.createElement("strong",null,de.name),!d&&n.createElement("small",null,de.tag)),K===de.id?n.createElement(Pt,null):n.createElement(Uc,null)),!d&&n.createElement("p",null,de.description))),!y.items.length&&!f&&n.createElement("p",{role:"status"},"Loading appearances…")),i&&n.createElement("div",{className:"a-appearance-preview",role:"status"},n.createElement("span",null,i?"Previewing "+r:"Current appearance"),n.createElement("div",null,i&&n.createElement("button",{type:"button",className:"a-soft",disabled:w,onClick:Z},"Cancel preview"),n.createElement("button",{type:"button",className:"a-primary",disabled:w||!i,"data-action":"theme.apply",onClick:ee},n.createElement(Pt,null),d?"Apply appearance":"Use "+r))),(S||f)&&n.createElement("p",{role:"alert",className:"a-danger"},S||f),N&&n.createElement("p",{role:"status",className:"a-appearance-notice"},n.createElement(Pt,{size:15}),N),n.createElement("section",{className:"a-appearance-options"},d?n.createElement("div",{className:"a-appearance-color"},n.createElement("label",{htmlFor:"appearance-color-mode"},"Color mode"),n.createElement("select",{id:"appearance-color-mode",value:ne,disabled:w,"data-action":"shell.changes.apply",onChange:de=>oe({scheme:de.target.value})},n.createElement("option",{value:"system"},"Device"),n.createElement("option",{value:"light"},"Light"),n.createElement("option",{value:"dark"},"Dark"))):n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("h3",null,"Color mode"),n.createElement("p",null,"Keep a favorite look throughout the day.")),n.createElement("div",{className:"a-appearance-modes",role:"group","aria-label":"Color mode"},[["light","Light",cx],["dark","Dark",Kk],["system","Device",Mu]].map(([de,ve,O])=>n.createElement("button",{type:"button",key:de,disabled:w,"aria-pressed":ne===de,"data-action":"shell.changes.apply",onClick:()=>oe({scheme:de})},n.createElement(O,null),ve)))),n.createElement("fieldset",{className:"a-detail-level"},n.createElement("legend",null,"How much would you like to see?"),n.createElement("p",null,"Choose a calmer workspace or keep more information at hand. You can always open details."),n.createElement("div",{className:"a-detail-choices"},[["minimal","Focused","Quiet lists and simple work summaries. Extra information stays in details."],["standard","Balanced","Useful context and work totals, with deeper details one click away."],["detailed","Everything","Work activity opens automatically. Counts and list actions stay visible."]].map(([de,ve,O])=>n.createElement("label",{key:de,"data-selected":(H.interfaceDetail||H.executionDetail||"standard")===de},n.createElement("input",{type:"radio",name:"interface-detail",value:de,checked:(H.interfaceDetail||H.executionDetail||"standard")===de,disabled:w,"data-action":"shell.changes.apply",onChange:()=>oe({interfaceDetail:de,executionDetail:de})}),n.createElement("span",null,n.createElement("strong",null,ve),n.createElement("small",null,O)))))),n.createElement("details",{className:"a-everyday-disclosure",open:!d||void 0},n.createElement("summary",null,"Layout & background"),n.createElement("div",null,n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("h3",null,"Background"),n.createElement("p",null,"Decorative artwork stays behind your content.")),n.createElement(ZL,{shell:t,onError:I})),n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("label",{htmlFor:"layout"},"Layout"),n.createElement("p",null,"Choose where the conversation and Canvas sit.")),n.createElement("select",{id:"layout",value:H.layout||((De=e.view)==null?void 0:De.layout)||"balanced",disabled:w,"data-action":"shell.changes.apply",onChange:de=>oe({layout:de.target.value})},n.createElement("option",{value:"balanced"},"Canvas on the right"),n.createElement("option",{value:"conversation"},"More room for conversation"),n.createElement("option",{value:"work"},"Canvas on the left")))))),!d&&n.createElement("section",{className:"a-appearance-import"},n.createElement("div",null,n.createElement("h3",null,n.createElement(cg,null),"Your appearance library"),n.createElement("p",null,"Upload a CSS appearance once. It will stay here across restarts and be available to every connected device.")),n.createElement(wg,{id:"theme-import",accept:".css,text/css",action:"theme.save",label:"Upload appearance",hint:"Drop a CSS file here · up to 1 MB",onFile:j}),y.errors.map(de=>n.createElement("p",{className:"a-danger",key:de.name},de.name,": ",de.message)),n.createElement("details",{className:"a-appearance-folder"},n.createElement("summary",null,n.createElement(tr,null),"Theme folder"),n.createElement("p",null,"CSS files placed here appear in the library automatically."),n.createElement("code",null,y.directory))),!d&&n.createElement("details",{className:"a-appearance-advanced",open:k,onToggle:de=>T(de.currentTarget.open)},n.createElement("summary",null,"Advanced customization"),n.createElement("p",null,"Edit or export a complete, portable CSS appearance. Embedded images and fonts travel with it."),n.createElement("label",{htmlFor:"theme-name"},"Appearance name"),n.createElement("input",{id:"theme-name",value:r,"data-action":"view.update",onChange:de=>D({name:de.target.value}).catch(ve=>I(ve.message))}),n.createElement("label",{htmlFor:"theme-css"},"CSS"),n.createElement("textarea",{id:"theme-css",spellCheck:!1,className:"a-css-editor",value:o,"data-action":"view.update",onChange:de=>D({css:de.target.value}).catch(ve=>I(ve.message))}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w,"data-action":"theme.save",onClick:G},"Save to library"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.preview",onClick:()=>P(async()=>{await A.current("theme.preview",{name:r,css:o}),c(!0)})},"Preview"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.apply",onClick:ee},"Apply skin"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,onClick:Z},"Revert edits"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.export",onClick:()=>P(()=>A.current("theme.export",{}))},n.createElement(Ea,null),"Export current appearance"))),d&&n.createElement("div",{className:"a-everyday-footer"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:m},"Custom themes & CSS")),!d&&n.createElement("button",{type:"button",className:"a-link a-appearance-reset",disabled:w,"data-action":"theme.reset",onClick:()=>P(async()=>{await A.current("theme.reset",{}),c(!1),x(null)})},n.createElement(zt,null),"Restore original appearance"))}const Vi=[{id:"ai",title:"AI connections",scope:"Across workspaces on this Amplifier host",pages:[["ai-connections","AI connections"],["overview","AI connections"]]},{id:"smart-tools",title:"Smart Tools",scope:"This Amplifier host",pages:[["smart-tools","Smart Tools"]]},{id:"appearance",title:"Appearance",scope:"This interface",pages:[["appearance","Appearance"]]},{id:"voice",title:"Voice",scope:"Future voice connections",pages:[["voice","Voice"]]},{id:"notifications",title:"Notifications",scope:"This app",pages:[["notifications","Notifications"]]},{id:"privacy",title:"Privacy & files",scope:"Your work and access choices",pages:[["privacy","Privacy & files"],["workspaces","Files & folders"],["recall","Memory & past work"],["permissions","File access"],["desktop","Screen & computer access"],["diagnostics","App diagnostic capture"],["history","Saved work"]]},{id:"updates",title:"Updates",scope:"This Amplifier host",pages:[["updates","Updates"]]},{id:"advanced",title:"Advanced",scope:"Full configuration",pages:[["advanced","Advanced"],["providers","Provider configuration"],["routing","Model rules"],["app-bundles","Configured bundles"],["add-bundles","Discover bundles"],["defaults","Conversation defaults"],["loaded-modules","Conversation modules"],["share-bundle","Save & share a bundle"],["registries","Module & source registries"],["tool-connections","Tool connections"],["custom-appearance","Custom appearance"],["conversation","Current conversation"],["outputs","Outputs & review"],["publishing","Publishing"],["repair","Backup & repair"],["reset","Advanced recovery"],["ready-conversations","Ready conversations"],["automation","Terminal & automation"],["install-app","Install app"],["runtime","Session controls"]]}],Af={setup:["overview","ai-connections","advanced","appearance","voice","providers","routing","defaults","conversation","install-app","runtime","custom-appearance"],capabilities:["smart-tools","tool-connections","app-bundles","add-bundles","loaded-modules","registries","share-bundle"],maintenance:["privacy","ready-conversations","updates","diagnostics","history","recall","outputs","publishing","permissions","notifications","automation","repair","reset"]};function Uw(e={},t=Vi){var o,i;const a=new Set(t.flatMap(s=>s.pages.map(([l])=>l))),r=e.panel==="appearance"?"appearance":((i=(o=e.settingsExpanded)==null?void 0:o.find)==null?void 0:i.call(o,s=>a.has(s)))||{capabilities:"app-bundles",maintenance:"updates"}[e.settingsSection]||"ai-connections";return{page:r,section:t.find(s=>s.pages.some(([l])=>l===r))}}function $w(e,t=Vi){if(!t.some(a=>a.pages.some(([r])=>r===e)))throw new Error("Unknown settings page");return{panel:"settings",settingsSection:Object.keys(Af).find(a=>Af[a].includes(e))||"setup",settingsExpanded:[e]}}function GL(e,t){return t.pages.reduce((a,[r])=>{var o,i;return a+(((i=(o=e.attention)==null?void 0:o.pages)==null?void 0:i[r])||0)},0)}function gp(e,t=Vi){var a;return((a=t.flatMap(r=>r.pages).find(([r])=>r===e))==null?void 0:a[1])||"Settings"}function Ts(e,t=Vi){const a=t.find(r=>r.pages.some(([o])=>o===e));return["privacy","advanced"].includes(a==null?void 0:a.id)&&e!==a.id?a.id:null}function Bw({state:e,id:t,sessionId:a,act:r,disabled:o=!1}){var f,v,y,E;const[i,s]=g.useState(!1),[l,c]=g.useState(""),u=g.useRef(!1),d=g.useRef(null),p=(v=(f=e.setup)==null?void 0:f.operations)==null?void 0:v["providers.testMessage:"+t],m=(E=(y=e.setup)==null?void 0:y.messageTests)==null?void 0:E[t];g.useEffect(()=>{d.current&&(p==null?void 0:p.commandId)===d.current&&["ready","error"].includes(p.phase)&&(u.current=!1,s(!1),c(p.error||""),d.current=null)},[p==null?void 0:p.commandId,p==null?void 0:p.phase]);async function h(){if(!u.current){u.current=!0,s(!0),c("");try{const b=await r("providers.testMessage",{id:t,...a?{sessionId:a}:{}});if(!(b!=null&&b.accepted)||!b.operationId)throw Error((b==null?void 0:b.error)||"The test could not be started.");d.current=b.operationId,s(b.operationId)}catch(b){u.current=!1,s(!1),c(b.message)}}}return g.useEffect(()=>{d.current&&(p==null?void 0:p.commandId)===d.current&&["ready","error"].includes(p.phase)&&(u.current=!1,s(!1),c(p.error||""),d.current=null)},[i]),n.createElement("div",{"data-part":"provider-message-test"},n.createElement("button",{type:"button",className:"a-soft","data-action":"providers.testMessage",disabled:!t||o||!!i,onClick:h},i?"Sending test message…":"Send test message"),n.createElement("p",{className:"a-caption"},"Sends a small message using the saved model and credentials. Provider charges may apply. No chat is created."),l&&n.createElement("p",{role:"alert"},l),!i&&m&&n.createElement("div",{role:"status"},n.createElement("p",null,n.createElement("strong",null,m.reachable?"Test message succeeded":"Test message failed")," · ",m.model," · ",(m.elapsedMs/1e3).toFixed(1)," s",m.statusCode?` · HTTP ${m.statusCode}`:""),n.createElement("p",null,m.reachable?m.response:m.error)))}function Nu({credential:e}){const t=e==null?void 0:e.preview;if(!t)return null;const a=t.source==="key-file"?"Private keys file (keys.env)":t.source==="environment"?"Service environment":t.source==="configuration"?"Provider configuration":"Provider managed";return n.createElement("div",{className:"a-provider-key-preview","data-part":"provider-key-preview"},n.createElement("p",null,"Service API key: ",n.createElement("strong",null,t.status==="available"?n.createElement("code",null,t.masked):t.status==="missing"?"Not available":"Preview unavailable")),n.createElement("p",{className:"a-caption"},a,t.envVar&&n.createElement(n.Fragment,null," · ",n.createElement("code",null,t.envVar))),n.createElement("p",{className:"a-caption"},"For new connections from this running service. Existing chats may still use an earlier key. A changed shell environment does not update a running service."))}function Er(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Provider configuration must be a JSON object.");function a(r){if(!(!r||typeof r!="object"))for(const[o,i]of Object.entries(r)){if(/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(o)&&typeof i=="string"&&!/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/.test(i)&&!/^\[redacted\]$/i.test(i))throw new Error("Enter credentials in the private API key field, or use an environment reference in configuration.");a(i)}}return a(t),t}function Ii(e){return(Array.isArray(e)?e:(e==null?void 0:e.models)||[]).map(a=>typeof a=="string"?{id:a,name:a}:{id:a.id||a.name||a.model,name:a.display_name||a.displayName||a.name||a.id||a.model}).filter(a=>a.id)}function _r(e,t,a){var r;return{...e,roles:{...e==null?void 0:e.roles,[t]:{...(r=e==null?void 0:e.roles)==null?void 0:r[t],...a}}}}function QL(e,t,a,r){var i,s;const o=[...((s=(i=e==null?void 0:e.roles)==null?void 0:i[t])==null?void 0:s.candidates)||[]];return o[a]={...o[a],...r},_r(e,t,{candidates:o})}function _f(e="my-routing"){return{name:e,roles:{general:{description:"General conversation and work",candidates:[{provider:"",model:""}]},fast:{description:"Quick and lightweight work",candidates:[{provider:"",model:""}]}}}}function Hw(e){try{const t=new URL(e);return t.protocol==="https:"?t.href:null}catch{return null}}function vp(e,t={}){var r,o;return(((r=e==null?void 0:e.configSchema)==null?void 0:r.fields)||((o=e==null?void 0:e.info)==null?void 0:o.config_fields)||[]).filter(i=>i.id&&i.field_type!=="secret"&&!/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(i.id)&&!["model","default_model"].includes(i.id)).filter(i=>i.requires_model&&!t.default_model&&!t.model?!1:Object.entries(i.show_when||{}).every(([s,l])=>{const c=String(t[s]??"").toLowerCase(),u=String(l).toLowerCase();if(u.startsWith("matches:"))try{return new RegExp(String(l).slice(8),"i").test(c)}catch{return!1}for(const[d,p]of[["not_contains:",m=>!c.includes(m)],["contains:",m=>c.includes(m)],["not_startswith:",m=>!c.startsWith(m)],["startswith:",m=>c.startsWith(m)]])if(u.startsWith(d))return p(u.slice(d.length));return c===u}))}function Ru(e,t,a){return!!a&&a.role===t&&a.source===JSON.stringify(e)&&Array.isArray(a.ids)&&a.ids.length===e.length&&new Set(a.ids).size===e.length&&a.ids.every(r=>e.some((o,i)=>String(i)===r))}function Nc(e,t,a){return Ru(e,t,a)?a:{role:t,ids:e.map((r,o)=>String(o)),source:JSON.stringify(e),notice:(a==null?void 0:a.role)===t?"The choices changed. Review the current order before saving.":""}}function Tu({login:e,onCancel:t,onRetry:a,busy:r=!1,chooseModel:o=!1}){const{active:i}=g.useContext(Jr),s=g.useId(),l=g.useRef(null),c=g.useRef(""),[u,d]=g.useState(!1),[p,m]=g.useState(!1),h=e.deviceCode||"",f=Hw(e.url),v=["starting","waiting"].includes(e.status);async function y(){var E;try{if(!((E=navigator.clipboard)!=null&&E.writeText))throw Error();await navigator.clipboard.writeText(h),d(!0),m(!1)}catch{d(!1),m(!0)}}return g.useEffect(()=>{i&&h&&c.current!==h&&(c.current=h,y())},[h,i]),e.status==="completed"?n.createElement("p",{className:"a-signin-success",role:"status"},n.createElement(Pt,null),o?"Signed in. Choose your model below.":"Signed in successfully."):n.createElement("div",{className:"a-device-signin"},v?n.createElement(n.Fragment,null,h?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:s},"1. Copy your sign-in code"),n.createElement("div",{className:"a-device-code"},n.createElement("input",{id:s,ref:l,readOnly:!0,value:h,spellCheck:!1,onFocus:E=>E.target.select(),onClick:E=>E.currentTarget.select()}),n.createElement("button",{className:"a-soft",type:"button","aria-label":"Copy sign-in code",onClick:y},u?n.createElement(Pt,null):n.createElement(ar,null),u?"Copied":"Copy")),n.createElement("p",{className:"a-caption",role:"status"},u?"Copied to your clipboard.":p?"Select the code to copy it, or use the Copy button.":"Keep this code ready for the next step.")):n.createElement("p",{role:"status"},"Getting your sign-in code…"),h&&f&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-device-step"},"2. Open ChatGPT and paste the code"),n.createElement("a",{className:"a-primary",href:f,target:"_blank",rel:"noopener noreferrer"},"Open ChatGPT",n.createElement(ba,null)),n.createElement("p",{className:"a-caption",role:"status"},"Waiting for sign-in. This page will continue automatically.")),n.createElement("button",{className:"a-link",type:"button",disabled:r,"data-action":"providers.loginCancel",onClick:t},"Cancel sign-in")):n.createElement(n.Fragment,null,n.createElement("p",{role:e.error?"alert":"status"},e.error||"Sign-in was cancelled. You can try again."),n.createElement("button",{className:"a-primary",disabled:r,"data-action":"providers.login",onClick:a},"Try sign-in again")))}function fr({title:e,description:t,onClick:a,Icon:r=zr,page:o,count:i,disabled:s=!1}){return n.createElement("button",{type:"button",className:"a-everyday-row",disabled:s,"data-action":"view.update","data-settings-destination":o,onClick:a},r!==zr&&n.createElement(r,{"aria-hidden":"true"}),n.createElement("span",null,n.createElement("strong",null,e),t&&n.createElement("small",null,t)),n.createElement(Da,{count:i}),n.createElement(Gt,{"aria-hidden":"true"}))}function XL({navigate:e,state:t}){var r,o,i,s;const a=[["recall","Memory & past work","Choose what is saved and reused. Review and correct memories.",Ik],["workspaces","Files & folders","Choose where new workspaces are created.",tr],["permissions","File access","Review additional allowed and blocked folders.",ox],["desktop","Screen & computer access","Check the host, browser, and permission status.",Mu],["history","Saved work","Import, export, and review cleanup.",yi],["diagnostics","App diagnostic capture","Review recorded data and forwarding destinations.",po]];return n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Your saved work, memory, and access choices."),n.createElement("div",{className:"a-everyday-list"},a.filter(l=>l[0]!=="diagnostics").map(([l,c,u,d])=>{var p,m;return n.createElement(fr,{key:l,count:(m=(p=t.attention)==null?void 0:p.pages)==null?void 0:m[l],page:l,title:c,description:u,Icon:d,onClick:()=>e(l)})})),n.createElement("h4",null,"Diagnostics"),n.createElement("div",{className:"a-everyday-list"},n.createElement(fr,{page:"diagnostics",count:(o=(r=t.attention)==null?void 0:r.pages)==null?void 0:o.diagnostics,title:"App diagnostic capture",description:"Review collected records and forwarding.",Icon:po,onClick:()=>e("diagnostics")})),n.createElement("div",{className:"a-everyday-footer"},n.createElement(fr,{page:"repair",count:(s=(i=t.attention)==null?void 0:i.pages)==null?void 0:s.repair,title:"Backups & recovery",description:"Create a private backup or troubleshoot this app.",onClick:()=>e("repair")})))}function eD({sections:e,navigate:t,state:a}){const r=e.flatMap(i=>i.pages).filter(([i])=>i.startsWith("shell:")),o=[{title:"Model rules",description:"Routing profiles, roles, and model preference.",page:"routing"},{title:"Provider configuration",description:"Instance names, credentials, and custom providers.",page:"providers"},{title:"Bundles & modules",description:"Composition, discovery, defaults, registries, and loaded modules.",pages:["app-bundles","add-bundles","defaults","loaded-modules","share-bundle","registries"]},{title:"Tool connections",description:"MCP connections, installation sources, and authentication.",page:"tool-connections"},{title:"Custom appearance",description:"Import, export, theme folders, and custom CSS.",page:"custom-appearance"},{title:"Conversation & work",description:"Current conversation, outputs, review, and publishing.",pages:["conversation","outputs","publishing"]},{title:"Performance & runtime",description:"Ready conversations, session controls, and terminal access.",pages:["ready-conversations","runtime","automation","install-app"]},{title:"Troubleshooting & recovery",description:"Diagnostics, backups, repair, and reset options.",pages:["diagnostics","repair","reset"]}];return n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"The full configuration, when you need it."),n.createElement("div",{className:"a-everyday-list"},o.map(i=>{var s,l;return i.page?n.createElement(fr,{key:i.title,title:i.title,description:i.description,page:i.page,count:(l=(s=a.attention)==null?void 0:s.pages)==null?void 0:l[i.page],onClick:()=>t(i.page)}):n.createElement("details",{className:"a-advanced-group",key:i.title},n.createElement("summary",null,n.createElement("span",null,n.createElement("strong",null,i.title),n.createElement("small",null,i.description)),n.createElement(Da,{count:i.pages.reduce((c,u)=>{var d,p;return c+(((p=(d=a.attention)==null?void 0:d.pages)==null?void 0:p[u])||0)},0)}),n.createElement(Gt,null)),n.createElement("div",null,i.pages.map(c=>{var u,d;return n.createElement(fr,{key:c,page:c,count:(d=(u=a.attention)==null?void 0:u.pages)==null?void 0:d[c],title:gp(c,e),onClick:()=>t(c)})})))})),r.length>0&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Extension settings"),n.createElement("div",{className:"a-everyday-list"},r.map(([i,s])=>{var l,c;return n.createElement(fr,{key:i,page:i,count:(c=(l=a.attention)==null?void 0:l.pages)==null?void 0:c[i],title:s,Icon:Dr,onClick:()=>t(i)})}))))}const Vw=g.createContext(null);function Ww(e,t){const a=g.useContext(Vw);g.useEffect(()=>{a==null||a.register(e,t)}),g.useEffect(()=>()=>a==null?void 0:a.remove(e),[a,e])}function tD(){const e=g.useRef(new Map),t=g.useRef(null),[a,r]=g.useState(0),[o,i]=g.useState(null),s=g.useCallback(()=>r([...e.current.values()].filter(f=>f.dirty).length),[]),l=g.useCallback((f,v)=>{var E;const y=!!((E=e.current.get(f))!=null&&E.dirty)!=!!v.dirty;e.current.set(f,v),y&&s()},[s]),c=g.useCallback(f=>{e.current.delete(f)&&s()},[s]),u=g.useMemo(()=>({register:l,remove:c}),[l,c]),d=g.useCallback(()=>[...e.current.values()].some(f=>f.dirty),[]),p=g.useCallback(()=>{const f=[...e.current.values()].filter(E=>E.dirty);if(!f.length)return Promise.resolve(!0);if(t.current)return t.current.promise;let v;const y=new Promise(E=>{v=E});return t.current={promise:y,resolve:v},i(f),y},[]),m=f=>{const v=t.current;t.current=null,i(null),v==null||v.resolve(f)};g.useEffect(()=>{if(!a)return;const f=v=>{v.preventDefault(),v.returnValue=""};return window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)},[a]),g.useEffect(()=>()=>{var f;(f=t.current)==null||f.resolve(!1)},[]);const h=o&&n.createElement("div",{className:"a-settings-draft-overlay"},n.createElement("div",{className:"a-settings-draft-confirm",role:"alertdialog","aria-modal":"true","aria-labelledby":"settings-unsaved-title",onKeyDown:f=>{var v;if(f.key==="Escape"&&(f.preventDefault(),f.stopPropagation(),m(!1)),f.key==="Tab"){const y=[...f.currentTarget.querySelectorAll("button")],E=y.indexOf(document.activeElement);f.preventDefault(),(v=y[(E+(f.shiftKey?-1:1)+y.length)%y.length])==null||v.focus()}}},n.createElement("h3",{id:"settings-unsaved-title"},"Unsaved connection changes"),n.createElement("p",null,"Your changes have not been saved. Review them before closing Settings, or discard them."),n.createElement("ul",null,o.map(f=>n.createElement("li",{key:f.label},f.label))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",autoFocus:!0,onClick:()=>{o[0].review(),m(!1)}},"Review and save"),n.createElement("button",{type:"button",className:"a-soft a-danger",onClick:()=>{o.forEach(f=>f.discard()),m(!0)}},"Discard changes"),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>m(!1)},"Keep settings open"))));return{context:u,confirmClose:p,hasUnsaved:d,count:a,dialog:h}}function nD({value:e,children:t}){return n.createElement(Vw.Provider,{value:e},t)}function aD(e,t,a){const[r,o]=g.useState(e),i=g.useRef(a);return i.current=a,g.useEffect(()=>{if(e===r)return;const s=u=>u==="settings"||u==="appearance",l=t.current;if(!s(r)||s(e)||!(l!=null&&l.hasUnsaved())){o(e);return}let c=!0;return l.confirmClose().then(u=>{c&&(u?o(e):i.current(r))}),()=>{c=!1}},[e,r,t]),r}function ka(e,t,a,r,o,i,{simple:s=!1}={}){var h,f;const l=((f=(h=e.view)==null?void 0:h.settingsFilters)==null?void 0:f[a])||"",[c,u]=g.useState(l);g.useEffect(()=>u(l),[l]);const d=tl(r,c,o),p=v=>{var y;u(v),t("view.update",{patch:{settingsFilters:{...(y=e.view)==null?void 0:y.settingsFilters,[a]:v}}})},m=n.createElement("div",{className:"a-list-filter"},n.createElement("label",{htmlFor:"filter-"+a},n.createElement(Ro,null),i),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:"filter-"+a,type:"search",value:c,placeholder:s?i:"Search or pattern, e.g. *openai*","data-action":"view.update",onChange:v=>p(v.target.value)}),c&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Clear "+i.toLowerCase(),"data-action":"view.update",onClick:()=>p("")},n.createElement(tn,null))),n.createElement("small",{role:"status"},d.length," of ",r.length,c&&!d.length?" · No matches":"",!s&&n.createElement(n.Fragment,null," · Text search or wildcards: * ? [abc] [!abc]")));return[d,m,c]}function bp({id:e,label:t="Model",value:a="",onChange:r,onCommit:o,entry:i,models:s,state:l,act:c,disabled:u=!1,placeholder:d="Enter a model ID",catalogKey:p=e,editable:m=!1}){var x;const h=(i==null?void 0:i.phase)==="working"||(i==null?void 0:i.phase)==="queued",f=g.useRef(null),v=g.useRef(null);let y=Ii((i==null?void 0:i.models)??s??[]);!m&&(h||(i==null?void 0:i.phase)==="error")&&!y.length&&((x=f.current)==null?void 0:x.key)===p&&(y=f.current.models),!h&&(i==null?void 0:i.phase)!=="error"&&(f.current={key:p,models:y}),Vu(v,h);const[E,b]=ka(l,c,"model-picker-"+e,y,w=>[w.id,w.name],"Filter "+t.toLowerCase());return m?n.createElement("div",{className:"a-model-select",ref:v,"data-activity-region":"models"},n.createElement("input",{list:y.length?e+"-options":void 0,id:e,"aria-label":t,value:a,disabled:u,placeholder:d,"data-action":"view.update",onChange:w=>r(w.target.value),onBlur:w=>o==null?void 0:o(w.target.value)}),y.length>0&&n.createElement(n.Fragment,null,n.createElement("datalist",{id:e+"-options"},y.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name))),y.length>12&&b,n.createElement("select",{id:e+"-catalog","aria-label":"Choose "+t.toLowerCase()+" from catalog",value:y.some(w=>w.id===a)?a:"",disabled:u,"data-action":"view.update",onChange:w=>{w.target.value&&(r(w.target.value),o==null||o(w.target.value))}},n.createElement("option",{value:""},"Choose from ",y.length," cached models…"),E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name)))),h&&n.createElement("small",{role:"status"},y.length?"Refreshing in the background. Saved models are available.":"Discovering models. You can enter a model ID now."),(i==null?void 0:i.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},i.error||"Model list unavailable. Enter a model ID or refresh this provider."),(i==null?void 0:i.loadedAt)&&n.createElement("small",null,"Catalog checked ",new Date(i.loadedAt*1e3).toLocaleString()),(i==null?void 0:i.phase)==="ready"&&!y.length&&n.createElement("small",null,i.supported===!1?"This provider does not supply a model list.":"This provider returned no models."," Enter a model ID.")):n.createElement("div",{className:"a-model-select",ref:v,"data-activity-region":"models"},y.length>12&&b,(i==null?void 0:i.phase)!=="error"&&(y.length||h)?n.createElement("select",{id:e,"aria-label":t,value:a,disabled:u||h&&!y.length,"data-action":"view.update",onChange:w=>{r(w.target.value),o==null||o(w.target.value)}},n.createElement("option",{value:""},h?"Loading provider models…":"Choose a model…"),a&&!E.some(w=>w.id===a)&&n.createElement("option",{value:a},a," (selected)"),E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name))):n.createElement(n.Fragment,null,n.createElement("input",{list:y.length?e+"-options":void 0,id:e,"aria-label":t,value:a,disabled:u,placeholder:d,"data-action":"view.update",onChange:w=>r(w.target.value),onBlur:w=>o==null?void 0:o(w.target.value)}),y.length>0&&n.createElement("datalist",{id:e+"-options"},E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name)))),(i==null?void 0:i.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},i.error||"Model list unavailable. Enter a model ID or refresh this provider."),(i==null?void 0:i.phase)==="ready"&&!y.length&&n.createElement("small",null,i.supported===!1?"This provider does not supply a model list.":"This provider returned no models."," Enter a model ID."))}const Pf={"provider-anthropic":"git+https://github.com/microsoft/amplifier-module-provider-anthropic@main","provider-azure-openai":"git+https://github.com/microsoft/amplifier-module-provider-azure-openai@main","provider-chat-completions":"git+https://github.com/microsoft/amplifier-module-provider-chat-completions@main","provider-gemini":"git+https://github.com/microsoft/amplifier-module-provider-gemini@main","provider-github-copilot":"git+https://github.com/microsoft/amplifier-module-provider-github-copilot@main","provider-ollama":"git+https://github.com/microsoft/amplifier-module-provider-ollama@main","provider-openai":"git+https://github.com/microsoft/amplifier-module-provider-openai@main","provider-openai-chatgpt":"git+https://github.com/microsoft/amplifier-module-provider-openai-chatgpt@main","provider-vllm":"git+https://github.com/microsoft/amplifier-module-provider-vllm@main"},yp=[{module:"provider-github-copilot",name:"GitHub Copilot Subscription",description:"Use your GitHub Copilot subscription.",auth:"token"},{module:"provider-openai-chatgpt",name:"ChatGPT Subscription",description:"Sign in with your ChatGPT account.",auth:"signin"},{module:"provider-openai",name:"OpenAI API",description:"Use an API key. API billing is separate from ChatGPT.",auth:"key"},{module:"provider-anthropic",name:"Anthropic API",description:"Connect with your Anthropic API key.",auth:"key"},{module:"provider-gemini",name:"Google Gemini API",description:"Connect with your Gemini API key.",auth:"key"},{module:"provider-chat-completions",name:"OpenAI Compatible API",description:"Connect a local model or another compatible service.",auth:"optional-key"}],rD=[...yp,{module:"provider-azure-openai",name:"Azure OpenAI"},{module:"provider-ollama",name:"Ollama"},{module:"provider-vllm",name:"vLLM"}],Rc=Object.keys(Pf).map(e=>({...rD.find(t=>t.module===e),module:e,source:Pf[e]}));function Tc(e){return yp.find(t=>t.module===e)||{module:e,name:(e==null?void 0:e.replace(/^provider-/,""))||"AI service",auth:"key"}}function oD(e,t,a){var r,o;return(o=(r=e.setup)==null?void 0:r.operations)==null?void 0:o[t+":"+a]}function Of(e){return["working","pending","queued"].includes(e==null?void 0:e.phase)}function iD(e,t){if(!t)return null;const a=oD(e,t.action,t.id);return(a==null?void 0:a.commandId)===t.commandId?a:null}function sD({state:e,session:t,act:a,navigate:r}){var D,G,j,K,oe,xe,ce,_e,$e,De,de,ve,O;const o=g.useContext(Jr),i=e.setup||{},s=(i.providers||[]).filter(W=>W.enabled!==!1),l=((D=e.view)==null?void 0:D.aiConnectionEditor)||{},c=l.step||"list",u=Tc(l.module),d=s.find(W=>W.id===l.id),[p,m]=g.useState(""),[h,f]=g.useState(""),[v,y]=g.useState(""),[E,b]=g.useState(null),x=g.useRef(!1),w=g.useRef(t==null?void 0:t.workspace),R=g.useRef(0),S=g.useRef(!0),I=W=>a("view.update",{patch:{aiConnectionEditor:{...l,...W}}});g.useEffect(()=>(S.current=!0,()=>{S.current=!1,R.current++}),[]),g.useEffect(()=>{w.current!==(t==null?void 0:t.workspace)&&(R.current++,w.current=t==null?void 0:t.workspace,m(""),b(null),x.current=!1,I({step:"list",id:"",model:""})),a("providers.list",t?{sessionId:t.id}:{}),a("routing.list")},[t==null?void 0:t.workspace]);async function N(W,ae={},ze=""){if(x.current)return;x.current=!0;const Me=++R.current;f(""),y(""),b({action:W,id:ae.id||ae.module||"",commandId:null,next:ze});try{const be=await a(W,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(W)?{sessionId:t.id}:{},...ae});if(!S.current||Me!==R.current)return;if(!(be!=null&&be.accepted)||!be.operationId)throw Error((be==null?void 0:be.error)||"The request could not be confirmed. Please try again.");b({action:W,id:ae.id||ae.module||"",commandId:be.operationId,next:ze})}catch(be){S.current&&Me===R.current&&(f(be.message),b(null),x.current=!1)}}const M=iD(e,E),k=!!E;g.useEffect(()=>{var ze;if(!M||Of(M))return;const W=E.next,ae=E.action;if(b(null),x.current=!1,M.phase==="error"){f(M.error||"The request did not finish. Your choices are kept.");return}M.phase==="ready"&&(ae==="providers.save"?(m(""),I({saved:!0,...W==="models"?{step:"model"}:{}}),W==="signin"?N("providers.login",{id:l.id}):W==="models"&&N("providers.models",{id:l.id})):ae==="providers.remove"?(m(""),I({step:"list",id:"",saved:!1}),y("Connection removed. Existing conversations keep their configuration.")):ae==="providers.finishSetup"?(I({step:"list",saved:!1}),y((ze=i.setupCompletion)!=null&&ze.routingSelected?"Connection saved. Balanced model rules are ready for new conversations.":"Model saved. Existing model rules are unchanged.")):ae==="providers.models"&&y("Model list checked. No chat request was sent."))},[M==null?void 0:M.commandId,M==null?void 0:M.phase]);const T=((G=i.login)==null?void 0:G.providerId)===l.id?i.login:null;g.useEffect(()=>{o.active&&c==="connect"&&l.saved&&(T==null?void 0:T.status)==="completed"&&T.loginId!==l.previousLoginId&&!k&&(I({step:"model"}),N("providers.models",{id:l.id}))},[c,l.saved,T==null?void 0:T.status,T==null?void 0:T.loginId,k,o.active]);const A=(j=i.providerCatalogs)==null?void 0:j[l.id],q=Ii((A==null?void 0:A.models)||((K=i.modelCatalogs)==null?void 0:K[l.id])||[]),z=Of((oe=i.operations)==null?void 0:oe["providers.models:"+l.id])||(A==null?void 0:A.phase)==="working",F=((xe=i.credentialCheck)==null?void 0:xe.module)===l.module?i.credentialCheck:null,H=l.credentialMode==="auto"?F!=null&&F.githubCliAvailable?"github-cli":F!=null&&F.available?"environment":"private":l.credentialMode||"private",ne=W=>{Tc(W).auth!=="signin"&&N("providers.credentials",{module:W})},B=W=>{x.current||(m(""),f(""),y(""),I({step:"connect",module:W.module,id:W.module.replace("provider-","")+"-"+crypto.randomUUID().slice(0,8),model:"",baseUrl:"",previousLoginId:null,scope:"global",saved:!1,credentialMode:"auto",initializeRouting:s.length===0}),ne(W.module))},P=()=>{var W;return N("providers.save",{id:l.id,module:l.module,config:{...d==null?void 0:d.config,...u.auth==="optional-key"?{base_url:(W=l.baseUrl)==null?void 0:W.trim()}:{}},scope:l.scope||"global",...u.auth==="signin"?{}:H==="environment"?{apiKeyEnv:F==null?void 0:F.envVar}:H==="github-cli"?{useGitHubCli:!0}:{apiKey:p}},u.auth==="signin"?"signin":"models")},_=()=>{f(""),I({step:c==="services"||c==="detail"?"list":c==="model"?"detail":"services"})},ee=()=>r("providers"),Z=!!p||c==="connect"&&!!l.baseUrl&&l.baseUrl!==(((ce=d==null?void 0:d.config)==null?void 0:ce.base_url)||"")||c==="model"&&!!l.model&&l.model!==(((_e=d==null?void 0:d.config)==null?void 0:_e.default_model)||(($e=d==null?void 0:d.config)==null?void 0:$e.model)||"");return Ww("ai-connections",{label:"AI connection setup",dirty:Z,review:()=>{r("ai-connections"),I({step:c})},discard:()=>{m(""),f(""),I({step:"list",id:"",module:"",model:"",baseUrl:"",saved:!1})}}),n.createElement("section",{"data-part":"ai-connections",className:"a-ai-form"},c==="list"?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Connect the AI services Amplifier can use for your work."),s.length?n.createElement(n.Fragment,null,n.createElement("div",{className:"a-everyday-list"},s.map(W=>{var ae,ze,Me,be;return n.createElement(fr,{key:W.id,disabled:k,title:Tc(W.module).name+(s.filter(rt=>rt.module===W.module).length>1?" · "+W.id:""),description:(((ae=W.config)==null?void 0:ae.default_model)||((ze=W.config)==null?void 0:ze.model)||"Choose a model")+" · "+(W.accountConnected?"Account connected":W.credentialsConfigured?"Credentials available":W.keySource==="provider-managed"?"Account sign-in":"Connection needs setup")+((be=(Me=W.credential)==null?void 0:Me.preview)!=null&&be.masked?" · Key "+W.credential.preview.masked:""),onClick:()=>{var rt,wt,Dt,It;f(""),y(""),I({step:"detail",id:W.id,module:W.module,model:((rt=W.config)==null?void 0:rt.default_model)||((wt=W.config)==null?void 0:wt.model)||"",scope:"global",baseUrl:((Dt=W.config)==null?void 0:Dt.base_url)||"",previousLoginId:(It=i.login)==null?void 0:It.loginId,saved:!0,initializeRouting:!1})}})})),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:k,onClick:()=>I({step:"services"})},n.createElement(Mn,null),"Connect another service")):n.createElement("div",{className:"a-ai-welcome"},n.createElement(sx,{"aria-hidden":"true"}),n.createElement("h4",null,"Start with one connection"),n.createElement("p",null,"Choose a service, connect your account, and choose a model. You can add more later."),n.createElement("button",{className:"a-primary","data-action":"view.update",disabled:k,onClick:()=>I({step:"services"})},n.createElement(Mn,null),"Connect AI")),i.active&&s.length>0&&n.createElement("div",{className:"a-ai-hint"},"Your model rules are saved. ",n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>r("routing")},"Advanced model rules")),n.createElement("div",{className:"a-everyday-footer"},n.createElement("p",{className:"a-caption"},"Connections are stored on the Amplifier host. Existing conversations keep their settings."),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Advanced connection settings",n.createElement(ba,null)))):n.createElement(n.Fragment,null,n.createElement("button",{className:"a-link","data-action":"view.update",disabled:k,onClick:_},n.createElement(xa,null),"Back"),c==="services"?n.createElement(n.Fragment,null,n.createElement("h4",null,"Which service would you like to use?"),n.createElement("div",{className:"a-everyday-list"},yp.map(W=>n.createElement(fr,{key:W.module,disabled:k,title:W.name,description:W.description,onClick:()=>B(W)}))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Other provider or custom endpoint")):n.createElement(n.Fragment,null,n.createElement("p",{className:"a-ai-step"},c==="connect"?"1 · Connect":c==="model"?"2 · Choose a model":"Saved connection"),n.createElement("h4",null,u.name),c==="detail"?n.createElement(n.Fragment,null,n.createElement("p",null,d!=null&&d.accountConnected?"Your ChatGPT account is connected.":d!=null&&d.credentialsConfigured?"This connection has credentials available on the Amplifier host.":"This connection needs credentials before it can be used."),n.createElement("p",null,"Model: ",n.createElement("strong",null,((De=d==null?void 0:d.config)==null?void 0:De.default_model)||((de=d==null?void 0:d.config)==null?void 0:de.model)||"Not selected")),n.createElement(Nu,{credential:d==null?void 0:d.credential}),n.createElement("button",{className:"a-link","data-action":"providers.list",disabled:k,onClick:()=>N("providers.list")},n.createElement(zt,null),"Refresh credentials"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"providers.models",disabled:k,onClick:()=>{I({step:"model"}),N("providers.models",{id:l.id})}},"Choose model"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:k,onClick:()=>{I({step:"connect",previousLoginId:T==null?void 0:T.loginId,credentialMode:"private"}),ne(l.module)}},u.auth==="signin"?d!=null&&d.accountConnected?"Reconnect account":"Sign in":"Change credentials"),n.createElement("button",{className:"a-soft","data-action":"providers.test",disabled:k,onClick:()=>N("providers.test",{id:l.id})},"Check connection")),n.createElement("p",{className:"a-caption"},"Checking verifies the model catalog, without sending a chat request."),n.createElement(Bw,{key:l.id,state:e,id:l.id,sessionId:t==null?void 0:t.id,act:a,disabled:k}),n.createElement("div",{className:"a-dialog-actions a-connection-secondary-actions"},n.createElement("button",{className:"a-soft a-danger","data-action":"providers.remove",disabled:k,onClick:()=>N("providers.remove",{id:l.id,scope:l.scope||"global"})},n.createElement(Qn,null),"Remove connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Full connection settings"))):c==="connect"?n.createElement(n.Fragment,null,u.auth==="signin"?n.createElement(n.Fragment,null,T&&T.loginId!==l.previousLoginId?n.createElement(Tu,{login:T,busy:k,onCancel:()=>N("providers.loginCancel",{id:l.id}),onRetry:()=>N("providers.login",{id:l.id})}):n.createElement(n.Fragment,null,n.createElement("p",null,"Connect your ChatGPT subscription with a one-time sign-in code."),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"providers.save",disabled:k,onClick:P},k?"Getting ready…":"Get sign-in code")))):n.createElement(n.Fragment,null,u.auth==="optional-key"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-base-url"},"API base URL"),n.createElement("input",{id:"ai-base-url",type:"url",placeholder:"http://localhost:1234/v1",value:l.baseUrl||"",disabled:k,onChange:W=>I({baseUrl:W.target.value})}),n.createElement("p",{className:"a-caption"},"Use an address reachable from the computer running Amplifier. Include /v1 if your service requires it.")),((F==null?void 0:F.available)||(F==null?void 0:F.githubCliAvailable))&&n.createElement("fieldset",{className:"a-credential-options"},n.createElement("legend",null,"How would you like to connect?"),F.available&&n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="environment",onChange:()=>{m(""),I({credentialMode:"environment"})}}),n.createElement("span",null,n.createElement("strong",null,"Use the key already on this host"),n.createElement("small",null,"Found ",F.envVar,". Only its name is saved; the key stays in the environment."))),F.githubCliAvailable&&n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="github-cli",onChange:()=>{m(""),I({credentialMode:"github-cli"})}}),n.createElement("span",null,n.createElement("strong",null,"Use GitHub CLI sign-in"),n.createElement("small",null,"Use the host’s signed-in GitHub account. Its token is saved privately for this connection."))),n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="private",onChange:()=>I({credentialMode:"private"})}),n.createElement("span",null,n.createElement("strong",null,"Use a different key"),n.createElement("small",null,"Connect another account or enter a key yourself.")))),H==="environment"&&n.createElement(Nu,{credential:F}),H==="private"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-private-key"},u.auth==="token"?"GitHub token":u.auth==="optional-key"?"API key (optional)":"API key"),n.createElement("input",{id:"ai-private-key",type:"password",autoComplete:"off",spellCheck:!1,value:p,onChange:W=>m(W.target.value),disabled:k}),n.createElement("p",{className:"a-caption"},u.auth==="optional-key"?"Leave blank if your local service does not need a key.":"Stored privately for this connection. Other accounts keep their own keys.")),u.auth==="token"&&!(F!=null&&F.githubCliAvailable)&&!(F!=null&&F.available)&&n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Help connecting GitHub Copilot"),n.createElement("div",null,n.createElement("p",null,"Sign in to GitHub CLI on the computer running Amplifier, then check again. Or use a GitHub token for an account with Copilot access."),n.createElement("a",{href:"https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",target:"_blank",rel:"noreferrer"},"GitHub setup guide"),n.createElement("button",{className:"a-link",disabled:k,onClick:()=>ne(l.module)},"Check host sign-in again"))),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"providers.save",disabled:k||u.auth==="optional-key"&&!/^https?:\/\/[^\s]+$/.test(l.baseUrl||"")||(H==="environment"?!(F!=null&&F.available):H==="github-cli"?!(F!=null&&F.githubCliAvailable):u.auth!=="optional-key"&&!p.trim()),onClick:P},k?"Connecting…":"Save and check connection")))):c==="model"?n.createElement(n.Fragment,null,(T==null?void 0:T.status)==="completed"&&n.createElement(Tu,{login:T,chooseModel:!0}),n.createElement("p",null,"Choose from the models available through this connection."),q.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-model"},"Model"),n.createElement(bp,{id:"ai-model",label:"Model",value:l.model||"",catalogKey:l.id,entry:{...A,models:q,phase:"ready"},state:e,act:a,onChange:W=>I({model:W})})):n.createElement("p",{role:"status"},z?"Loading models…":"No model list is available yet. Retry or enter a model ID under More options."),z&&q.length>0&&n.createElement("p",{className:"a-caption",role:"status"},"Refreshing in the background. Saved models remain available."),(A==null?void 0:A.phase)==="error"&&n.createElement(it,{phase:"error",message:A.error||"Could not refresh the model list. Saved choices are kept."}),n.createElement("button",{className:"a-link","data-action":"providers.models",disabled:k||z,onClick:()=>N("providers.models",{id:l.id,refresh:!0})},n.createElement(zt,null),"Refresh models"),n.createElement("div",{className:"a-ai-hint"},l.initializeRouting?"Balanced model rules choose suitable models for each task. This connection’s default is used when no rule applies.":"This changes the connection’s default model. Existing model rules may choose a different model."),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:k||!((ve=l.model)!=null&&ve.trim()),"data-action":"providers.finishSetup",onClick:()=>N("providers.finishSetup",{id:l.id,model:l.model,scope:l.scope||"global",initializeRouting:!!l.initializeRouting})},k?"Saving…":"Finish setup"))):null,n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"More options"),n.createElement("div",null,n.createElement("label",{htmlFor:"ai-scope"},"Save for"),n.createElement("select",{id:"ai-scope",value:l.scope||"global",disabled:k,"data-action":"view.update",onChange:W=>I({scope:W.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"local"},"This workspace on this host"),n.createElement("option",{value:"project"},"This project (shareable configuration)")),c==="model"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-model-manual"},"Model ID"),n.createElement("input",{id:"ai-model-manual",value:l.model||"",disabled:k,"data-action":"view.update",onChange:W=>I({model:W.target.value})})),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Full provider configuration"))))),h&&n.createElement(it,{phase:"error",message:h}),v&&n.createElement(it,{phase:"ready",message:v}),k&&n.createElement(it,{phase:"working",message:"Working on this connection…"}),!k&&((O=i.test)==null?void 0:O.providerId)===l.id&&c==="detail"&&n.createElement(it,{phase:i.test.reachable===!1?"error":"ready",message:i.test.reachable===!1?"Connection check failed.":"Model catalog check passed."}))}function Va({id:e,label:t,description:a,selected:r,onSelect:o,checked:i,onCheck:s,disabled:l,badge:c,checkLabel:u,checkAction:d="view.update"}){return n.createElement("div",{className:"a-collection-row"+(r?" selected":""),"data-collection-id":e},s&&n.createElement("label",{className:"a-collection-check"},n.createElement("input",{type:"checkbox","aria-label":u||"Select "+t,checked:!!i,disabled:l,"data-action":d,onChange:p=>s(p.target.checked)})),n.createElement("button",{type:"button","aria-current":r?"true":void 0,"data-action":"view.update",onClick:o},n.createElement("span",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a)),c&&n.createElement("small",{className:"a-collection-badge"},c),n.createElement(Gt,{"aria-hidden":"true"})))}function So({list:e,children:t,detailOpen:a=!0,onBack:r,label:o="items"}){const i=g.useRef(null),s=g.useRef(null),l=g.useContext(Jr);g.useEffect(()=>{var u;a&&l.compact&&((u=s.current)==null||u.focus({preventScroll:!0}))},[a,l.compact]);const c=()=>{r==null||r(),requestAnimationFrame(()=>{var u,d;return(d=(u=i.current)==null?void 0:u.querySelector("button[aria-current=true],button"))==null?void 0:d.focus({preventScroll:!0})})};return n.createElement("div",{className:"a-collection"+(a?" detail-open":"")},n.createElement("div",{className:"a-collection-list",ref:i},e),n.createElement("div",{className:"a-collection-detail",ref:s,tabIndex:-1},r&&!l.compact&&n.createElement("button",{type:"button",className:"a-link a-collection-back","data-action":"view.update",onClick:c},n.createElement(xa,null),"Back to ",o),t))}function Ep({title:e,description:t,items:a,ids:r,onChange:o,onSave:i,onCancel:s,busy:l=!1,error:c,notice:u,action:d="view.update"}){const[p,m]=g.useState(!1);return n.createElement("section",{className:"a-order-editor"},n.createElement("h4",null,e),u&&n.createElement("p",{role:"status"},u),n.createElement("p",null,t),n.createElement("p",{className:"a-caption"},"Drag the handle or choose a position. Changes apply when you save."),n.createElement(bg,{items:a,ids:r,onChange:o,onDraggingChange:m,busy:l,className:"a-order-list",rowClassName:"a-order-item",floatingClassName:"a-order-item",savedHint:"Save order to apply.",renderItem:(h,{handle:f,index:v,move:y})=>n.createElement(n.Fragment,null,f,n.createElement("span",{className:"a-order-copy"},n.createElement("strong",null,h.label),n.createElement("small",null,h.description)),n.createElement("span",{className:"a-order-arrows"},n.createElement("button",{type:"button",className:"a-icon",disabled:l||v===0,"aria-label":"Move "+h.label+" up","data-action":"view.update",onClick:()=>y(v-1)},n.createElement(Mi,null)),n.createElement("button",{type:"button",className:"a-icon",disabled:l||v===r.length-1,"aria-label":"Move "+h.label+" down","data-action":"view.update",onClick:()=>y(v+1)},n.createElement(ag,null))),n.createElement("select",{"aria-label":"Position of "+h.label,value:v,disabled:l,"data-action":"view.update",onChange:E=>y(Number(E.target.value))},r.map((E,b)=>n.createElement("option",{key:b,value:b},b+1))))}),c&&n.createElement("p",{role:"alert",className:"a-danger"},c),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary",disabled:l||p,"data-action":d,onClick:i},l?"Saving order…":"Save order"),n.createElement("button",{type:"button",className:"a-soft",disabled:l,"data-action":"view.update",onClick:s},"Cancel")))}const lr=e=>JSON.stringify(e,null,2),ds=e=>["queued","working","pending","running"].includes(e==null?void 0:e.phase);function lD({state:e,act:t}){var P,_,ee,Z,D,G,j,K,oe,xe,ce,_e,$e,De,de,ve;g.useContext(Jr);const a=(P=e.view)==null?void 0:P.routingEditor,[r,o]=g.useState({name:"my-routing",scope:"global",matrix:null,newRole:"",...a}),i=g.useRef(r),[s,l]=g.useState({});g.useEffect(()=>{a&&(i.current=a,o(a))},[a]);const c=O=>{const W={...i.current,...O};i.current=W,o(W),t("view.update",{patch:{routingEditor:W}})},u=e.setup||{},d=u.providers||[],p=u.matrices||[],[m,h]=ka(e,t,"routing-profiles",p,O=>[O.name,O.description,O.source],"Filter routing profiles"),f=O=>{var W;return s[O]||((W=e.actionStatus)==null?void 0:W[O])},v=async(O,W={})=>{l(ae=>({...ae,[O]:{phase:"pending"}}));try{const ae=await t(O,W);return l(ze=>({...ze,[O]:ae?null:{phase:"error",error:"Request could not be sent. Try again."}})),ae}catch(ae){l(ze=>({...ze,[O]:{phase:"error",error:ae.message}}))}};g.useEffect(()=>{v("routing.list"),i.current.requested&&v("routing.show",{name:i.current.requested})},[]);const y=()=>({...r.profiles,...r.matrix?{[r.profileKey||r.name]:{matrix:r.matrix,name:r.name,role:r.role,candidate:r.candidate,rawText:r.rawText,raw:r.raw}}:{}}),E=O=>{const W=y(),ae=W[O];ae?c({...ae,profileKey:O,requested:null,profiles:W,order:null,error:"",detailOpen:!1,candidateOpen:!1}):(c({profileKey:O,requested:O,profiles:W,order:null,error:""}),v("routing.show",{name:O}))};g.useEffect(()=>{if(u.matrix&&u.matrix.name===i.current.requested){const O=u.matrix;c({matrix:O,name:O.name,profileKey:O.name,requested:null,rawText:lr(O),raw:!1,role:Object.keys(O.roles||{})[0],candidate:0,detailOpen:!1,candidateOpen:!1,error:""})}},[u.matrix,r.requested]),g.useEffect(()=>{!i.current.matrix&&!i.current.requested&&p.length&&E(u.active||p[0].name)},[p]);const b=r.matrix||_f(r.name),x=Object.entries(b.roles||{}),w=(_=b.roles)!=null&&_[r.role]?r.role:(ee=x[0])==null?void 0:ee[0],R=(Z=b.roles)==null?void 0:Z[w],S=(R==null?void 0:R.candidates)||[],I=Math.min(r.candidate||0,Math.max(0,S.length-1)),N=S[I],[M,k]=ka(e,t,"routing-roles",x,([O,W])=>[O,W.description,...(W.candidates||[]).flatMap(ae=>[ae.provider,ae.model])],"Filter task roles");g.useEffect(()=>{r.order&&r.orderOpen!==!1&&!Ru(S,w,r.order)&&c({order:Nc(S,w,r.order)})},[r.order,r.orderOpen,w,S]);const T=O=>c({matrix:O,rawText:lr(O),error:""}),A=O=>T(QL(b,w,I,O)),q=N?d.filter(O=>O.id===N.provider||O.module==="provider-"+N.provider||O.module===N.provider):[],z=q.find(O=>O.id===(N==null?void 0:N.provider)),F=z?[z]:q,H=[...new Map(F.flatMap(O=>{var W;return(((W=u.modelCatalogs)==null?void 0:W[O.id])||[]).map(ae=>[typeof ae=="string"?ae:ae.id,ae])}).filter(([O])=>O)).values()],ne=z?(D=u.providerCatalogs)==null?void 0:D[z.id]:void 0;g.useEffect(()=>{var W,ae;const O=(W=e.actionStatus)==null?void 0:W["routing.save"];(O==null?void 0:O.phase)==="ready"&&((ae=O.target)==null?void 0:ae.name)===i.current.name&&c({profileKey:i.current.name})},[(j=(G=e.actionStatus)==null?void 0:G["routing.save"])==null?void 0:j.updatedAt]);const B=ds(f("routing.save"))||ds(f("routing.use"));return n.createElement("section",{className:"a-settings-section","data-part":"routing-settings","data-candidate-open":!!r.candidateOpen},n.createElement("div",{className:"a-settings-row"},n.createElement("p",null,"Choose models for each role. Routing uses the first resolvable choice."),n.createElement("button",{className:"a-icon","aria-label":"Refresh routing profiles","data-action":"routing.list",disabled:ds(f("routing.list")),onClick:()=>v("routing.list")},n.createElement(zt,null))),u.routingCatalogError&&n.createElement(it,{phase:"error",message:u.routingCatalogError}),n.createElement("div",{className:"a-routing-profile-picker"},n.createElement("div",null,n.createElement("label",{htmlFor:"routing-profile"},"Routing profile"),n.createElement("select",{id:"routing-profile",value:r.profileKey||"","data-action":"routing.show",onChange:O=>E(O.target.value)},n.createElement("option",{value:"",disabled:!0},"Choose a profile"),m.map(O=>n.createElement("option",{key:O.name,value:O.name},O.name,O.active||u.active===O.name?" · active":"")),r.profileKey&&!m.some(O=>O.name===r.profileKey)&&n.createElement("option",{value:r.profileKey},r.name," · draft"))),n.createElement("button",{className:"a-soft",disabled:!p.some(O=>O.name===r.profileKey)||u.active===r.profileKey||B||!!r.requested,"data-action":"routing.use",onClick:()=>v("routing.use",{name:r.profileKey,scope:r.scope})},"Use profile"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{const O=_f();c({profiles:y(),matrix:O,name:O.name,profileKey:"new:"+Date.now(),requested:null,role:"general",candidate:0,rawText:lr(O),order:null,detailOpen:!1,candidateOpen:!1})}},n.createElement(Mn,null),"New profile")),r.requested&&n.createElement(it,{phase:((K=f("routing.show"))==null?void 0:K.phase)==="error"?"error":"working",message:((oe=f("routing.show"))==null?void 0:oe.error)||"Opening "+r.requested+"…"}),r.requested&&((xe=f("routing.show"))==null?void 0:xe.phase)==="error"&&n.createElement("button",{className:"a-soft","data-action":"routing.show",onClick:()=>v("routing.show",{name:r.requested})},"Retry opening profile"),["routing.list","routing.use"].map(O=>{var W;return((W=f(O))==null?void 0:W.phase)==="error"&&n.createElement(it,{key:O,phase:"error",message:f(O).error})}),r.matrix&&n.createElement(n.Fragment,null,n.createElement("details",{className:"a-routing-profile-options",open:!!r.profileDetails},n.createElement("summary",{"data-action":"view.update",onClick:O=>{O.preventDefault(),c({profileDetails:!r.profileDetails})}},"Profile settings"),h,n.createElement("p",{className:"a-caption"},(ce=p.find(O=>O.name===r.profileKey))==null?void 0:ce.description),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"routing-name"},"Custom profile name"),n.createElement("input",{id:"routing-name",value:r.name,"data-action":"view.update",onChange:O=>c({name:O.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"routing-scope"},"Save for"),n.createElement("select",{id:"routing-scope",value:r.scope,"data-action":"view.update",onChange:O=>c({scope:O.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This workspace"))))),r.order&&r.orderOpen!==!1?n.createElement(Ep,{title:w+" preference order",notice:r.order.notice,description:"Place your preferred choice first. Routing selects the first resolvable match; this is not a retry chain for failed API calls.",items:S.map((O,W)=>({id:String(W),label:O.model||"Choose a model",description:O.provider||"Choose a provider"})),ids:r.order.ids,onChange:O=>c({order:{...r.order,ids:O}}),onCancel:()=>c({order:null}),onSave:()=>{if(!Ru(S,w,r.order)){c({order:Nc(S,w,r.order)});return}const O=_r(b,w,{candidates:r.order.ids.map(W=>S[Number(W)])});c({order:null,matrix:O,rawText:lr(O),candidate:0})}}):n.createElement(So,{label:"roles",detailOpen:!!r.detailOpen,onBack:()=>c({detailOpen:!1,candidateOpen:!1}),list:n.createElement(n.Fragment,null,k,M.map(([O,W])=>{var ae;return n.createElement(Va,{key:O,id:O,label:O,description:W.description||`${((ae=W.candidates)==null?void 0:ae.length)||0} choices`,selected:O===w,onSelect:()=>c({role:O,candidate:0,detailOpen:!0,candidateOpen:!1,candidateRaw:!1})})}))},R&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-settings-row"},n.createElement("h4",null,w),n.createElement("button",{className:"a-icon a-danger","aria-label":"Remove role "+w,disabled:["general","fast"].includes(w),"data-action":"view.update",onClick:()=>{const O={...b,roles:{...b.roles}};delete O.roles[w],T(O)}},n.createElement(Qn,null))),n.createElement("label",{htmlFor:"routing-description"},"Role description"),n.createElement("input",{id:"routing-description","aria-label":w+" description",value:R.description||"",placeholder:"Describe this role","data-action":"view.update",onChange:O=>T(_r(b,w,{description:O.target.value}))}),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,S.length," ordered choices"),n.createElement("button",{className:"a-soft",disabled:S.length<2,"data-action":"view.update",onClick:()=>c({orderOpen:!0,order:Nc(S,w,r.order)})},"Preference order")),n.createElement("div",{className:"a-routing-candidates"},S.map((O,W)=>n.createElement(Va,{key:W,id:String(W),label:`${W+1}. ${O.model||"Choose a model"}`,description:O.provider||"Choose a provider",selected:W===I,onSelect:()=>c({candidate:W,candidateOpen:!0,candidateRaw:!1})}))),N&&n.createElement("div",{className:"a-routing-selected"},n.createElement("div",{className:"a-settings-row"},n.createElement("h4",null,"Choice ",I+1),n.createElement("button",{className:"a-icon a-danger","aria-label":`Remove ${w} candidate ${I+1}`,"data-action":"view.update",onClick:()=>T(_r(b,w,{candidates:S.filter((O,W)=>W!==I)}))},n.createElement(Qn,null))),n.createElement("label",{htmlFor:"routing-candidate-provider"},"Provider or connection name"),n.createElement("input",{id:"routing-candidate-provider","aria-label":`${w} provider ${I+1}`,list:"routing-provider-options",value:N.provider||"",placeholder:"For example, anthropic or opus","data-action":"view.update",onChange:O=>A({provider:O.target.value})}),n.createElement("datalist",{id:"routing-provider-options"},[...new Set(d.flatMap(O=>[O.id,O.module.replace(/^provider-/,"")]))].map(O=>n.createElement("option",{key:O,value:O}))),n.createElement("p",{className:"a-caption"},"Use a provider family for a portable profile, or a connection name for a specific account and configuration."),n.createElement("label",{htmlFor:`routing-${w}-${I}`},"Model ID or pattern"),n.createElement(bp,{editable:!0,catalogKey:N.provider,id:`routing-${w}-${I}`,label:`${w} model ${I+1}`,value:N.model||"",entry:ne,models:H,state:e,act:t,placeholder:"Model ID or pattern, e.g. claude-sonnet-*",onChange:O=>A({model:O})}),n.createElement("p",{className:"a-caption"},"Patterns are resolved by the routing module. Model lists are suggestions and do not limit what you can enter.",F.length>0?" Suggestions from "+F.map(O=>O.id).join(", ")+".":""),n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":!!r.candidateRaw,onClick:()=>c({candidateRaw:!r.candidateRaw,candidateText:lr(N)})},"Edit choice configuration"),r.candidateRaw&&n.createElement(n.Fragment,null,n.createElement("textarea",{"aria-label":"Choice configuration JSON",className:"a-json-editor",value:r.candidateText,"data-action":"view.update",onChange:O=>c({candidateText:O.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const O=Er(r.candidateText);if(!O.provider||!O.model)throw new Error("Include a provider and model.");const W=[...S];W[I]=O,T(_r(b,w,{candidates:W}))}catch(O){c({error:O.message})}}},"Apply choice configuration"))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>{const O=_r(b,w,{candidates:[...S,{provider:"",model:""}]});c({matrix:O,rawText:lr(O),candidate:S.length,candidateOpen:!0,candidateRaw:!1})}},n.createElement(Mn,null),"Add fallback model"))),n.createElement("div",{className:"a-routing-add"},n.createElement("input",{"aria-label":"New routing role",list:"routing-role-options",value:r.newRole||"",placeholder:"Add a role","data-action":"view.update",onChange:O=>c({newRole:O.target.value})}),n.createElement("datalist",{id:"routing-role-options"},(u.roles||[]).map(O=>n.createElement("option",{value:O,key:O}))),n.createElement("button",{className:"a-soft",disabled:!((_e=r.newRole)!=null&&_e.trim())||!!(($e=b.roles)!=null&&$e[r.newRole.trim()]),"data-action":"view.update",onClick:()=>{const O=r.newRole.trim(),W=_r(b,O,{description:"",candidates:[{provider:"",model:""}]});c({matrix:W,rawText:lr(W),newRole:"",role:O,candidate:0,detailOpen:!0,candidateOpen:!0})}},n.createElement(Mn,null),"Add role")),n.createElement("div",{className:"a-routing-advanced"},n.createElement("button",{className:"a-link","aria-expanded":!!r.raw,"data-action":"view.update",onClick:()=>c({raw:!r.raw,rawText:lr(b)})},r.raw?"Hide":"Show"," full profile JSON"),r.raw&&n.createElement(n.Fragment,null,n.createElement("textarea",{"aria-label":"Routing matrix JSON",className:"a-json-editor",spellCheck:!1,value:r.rawText,"data-action":"view.update",onChange:O=>c({rawText:O.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const O=Er(r.rawText);if(!O.roles||typeof O.roles!="object"||Array.isArray(O.roles))throw new Error("A profile needs a roles object.");T(O)}catch(O){c({error:O.message})}}},"Update draft from JSON"))),r.error&&n.createElement("p",{className:"a-danger",role:"alert"},r.error),n.createElement(Cn,{active:!r.order||r.orderOpen===!1},n.createElement("button",{className:"a-primary",disabled:B||!!r.requested||!!r.order&&r.orderOpen!==!1||!r.name.trim()||!x.length||x.some(([,O])=>{var W;return!((W=O.candidates)!=null&&W.length)||O.candidates.some(ae=>!ae.provider||!ae.model)}),"data-action":"routing.save",onClick:()=>v("routing.save",{name:r.name.trim(),matrix:{...b,name:r.name.trim()},scope:r.scope,activate:!0})},n.createElement(jc,null),u.active===r.name?"Save active profile":"Save and use profile")),n.createElement("p",{className:"a-caption"},"General and fast roles are required. Saving applies to future conversation preparation."),n.createElement(it,{phase:(De=f("routing.save"))==null?void 0:De.phase,message:((de=f("routing.save"))==null?void 0:de.error)||(ds(f("routing.save"))?"Saving routing profile…":((ve=f("routing.save"))==null?void 0:ve.phase)==="ready"?"Routing profile saved and selected.":"")})))}const ps=e=>JSON.stringify(e,null,2);function cD(e,t,a,r){var c;const o=(c=e.view)==null?void 0:c[t],[i,s]=g.useState({...a,...o});return g.useEffect(()=>{o&&s(u=>({...u,...o}))},[o]),[i,u=>{const d={...i,...u};s(d),r("view.update",{patch:{[t]:d}})}]}function uD({state:e,session:t,act:a,navigate:r=()=>{}}){var ze,Me,be,rt,wt,Dt,It,Qt,ie,he,Ne,Le,Ge,ft,vt,gt,Se;const[o,i]=cD(e,"providerEditor",{id:"",module:"",source:"",config:"{}",scope:"global",model:"",effort:"",advanced:!1,credentialMode:(Me=(ze=e.view)==null?void 0:ze.providerEditor)!=null&&Me.id?"private":"environment",envVar:""},a),s=X=>i({dirty:!0,...X}),l=g.useRef({}),c=g.useRef(!1),[u,d]=g.useState(""),[p,m]=g.useState(o.config);g.useEffect(()=>{var X;m(c.current?((X=l.current[o.selectionKey??o.id])==null?void 0:X.configText)??o.config:o.config),c.current=!1},[o.config,o.selectionKey]);const h=e.setup||{},f=(h.providers||[]).filter(X=>X.enabled!==!1),v=f.find(X=>X.id===o.id),y=g.useRef(Date.now()/1e3),E=g.useRef(!1),[b,x]=g.useState({}),w=(X,Ce=o.id)=>{var yt;const Fe=X+":"+Ce,We=(yt=h.operations)==null?void 0:yt[Fe],tt=b[Fe];return tt&&(!We||We.commandId!==tt.commandId)?tt:We},R=X=>["queued","working","pending"].includes(X==null?void 0:X.phase),S=async(X,Ce={})=>{const Fe=X+":"+(["providers.credentials","providers.schema"].includes(X)?Ce.module:Ce.id||""),We={phase:"pending",commandId:"local-"+Date.now(),envVar:Ce.envVar||""};x(tt=>({...tt,[Fe]:We}));try{const tt=await a(X,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(X)?{sessionId:t.id}:{},...Ce});return x(yt=>({...yt,[Fe]:tt?null:{phase:"error",error:"The request could not be sent. Please retry."}})),tt}catch(tt){x(yt=>({...yt,[Fe]:{phase:"error",error:tt.message}}))}};g.useEffect(()=>{E.current=!1,y.current=h.providersLoadedAt||Date.now()/1e3,S("providers.list")},[t==null?void 0:t.workspace]);const I=((be=h.credentialCheck)==null?void 0:be.module)===o.module&&(o.envVar?h.credentialCheck.envVar===o.envVar:!h.credentialCheck.requestedEnvVar)?h.credentialCheck:null,N=I||((v==null?void 0:v.module)===o.module?v.credential:null),M=o.envVar||(N==null?void 0:N.envVar)||"",k=w("providers.credentials",o.module),T=k&&k.envVar===(o.envVar||"")?k:null,A=w("providers.models"),q=w("providers.schema",o.module),z=w("providers.test"),F=w("providers.list",""),H=o.credentialMode||"environment",ne=o.module!=="provider-openai-chatgpt";g.useEffect(()=>{if(!o.module||H!=="environment"||!ne)return;const X=setTimeout(()=>S("providers.credentials",{module:o.module,...o.envVar?{envVar:o.envVar}:{}}),250);return()=>clearTimeout(X)},[o.module,o.envVar,H]);const B=["providers.save","providers.remove","providers.login","providers.move","providers.reorder"].some(X=>R(w(X))),P=((wt=(rt=h.providerCatalogs)==null?void 0:rt[o.id])==null?void 0:wt.metadata)||((Dt=h.metadata)==null?void 0:Dt[o.module])||(((It=h.providerMetadata)==null?void 0:It.module)===o.module?h.providerMetadata:null);g.useEffect(()=>{if(!/^provider-[A-Za-z0-9_.-]+$/.test(o.module)||P)return;const X=setTimeout(()=>S("providers.schema",{module:o.module,...o.id?{id:o.id}:{}}),250);return()=>clearTimeout(X)},[o.module,t==null?void 0:t.workspace]);const _=Ii(((Qt=h.modelCatalogs)==null?void 0:Qt[o.id])||((h.modelsProviderId||h.providerId)===o.id?h.models:[])),ee=((ie=h.login)==null?void 0:ie.providerId)===o.id?h.login:null,Z=(ee==null?void 0:ee.status)||(ee==null?void 0:ee.phase),D=Hw(ee==null?void 0:ee.url);let G,j="";try{G=Er(p)}catch(X){j=X.message}const[K,oe]=ka(e,a,"providers",f,X=>{var Ce,Fe;return[X.id,X.module,(Ce=X.config)==null?void 0:Ce.default_model,(Fe=X.config)==null?void 0:Fe.model]},"Filter providers"),xe=t&&["working","starting","running","stopping","busy"].includes(t.status),ce=X=>{var ot,bt,ut,Mt,St,jt,st;c.current=!0;const Ce=o.selectionKey??o.id??"";l.current[Ce]={apiKey:u,configText:p};const{connections:Fe,...We}=o,tt={...Fe,[Ce]:We},yt=(X==null?void 0:X.id)||"",Qe=tt[yt]||(X?{modelEntry:"catalog",dirty:!1,credentialMode:(ot=X.credential)!=null&&ot.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((bt=X.credential)==null?void 0:bt.envVar)||"",id:X.id,module:X.module,source:X.source||"",config:ps(X.config||{}),model:((ut=X.config)==null?void 0:ut.default_model)||((Mt=X.config)==null?void 0:Mt.model)||"",effort:((St=X.config)==null?void 0:St.reasoning_effort)||""}:{modelEntry:"catalog",dirty:!1,id:"",module:"",source:"",config:"{}",model:"",effort:"",credentialMode:"environment",envVar:""});d(((jt=l.current[yt])==null?void 0:jt.apiKey)||""),m(((st=l.current[yt])==null?void 0:st.configText)??Qe.config),i({...Qe,connections:tt,selectionKey:yt,detailOpen:!0,order:null})};g.useEffect(()=>{var Ce,Fe,We,tt,yt;if(E.current||!f.length||!h.providersLoadedAt||h.providersLoadedAtse.id===o.id)||(!o.id&&!o.module?f[0]:null);X&&!o.dirty&&i({id:X.id,selectionKey:X.id,module:X.module,source:X.source||"",config:ps(X.config||{}),model:((Ce=X.config)==null?void 0:Ce.default_model)||((Fe=X.config)==null?void 0:Fe.model)||"",effort:((We=X.config)==null?void 0:We.reasoning_effort)||"",credentialMode:(tt=X.credential)!=null&&tt.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((yt=X.credential)==null?void 0:yt.envVar)||"",dirty:!1})},[h.providersLoadedAt]);const _e=w("providers.remove");g.useEffect(()=>{(_e==null?void 0:_e.phase)==="ready"&&_e.updatedAt>=y.current&&(delete l.current[o.id],d(""),m("{}"),i({id:"",module:"",config:"{}",model:"",dirty:!1,detailOpen:!1,connections:{...o.connections,[o.id]:void 0}}))},[_e==null?void 0:_e.updatedAt]);const $e=w("providers.save");g.useEffect(()=>{($e==null?void 0:$e.phase)==="ready"&&$e.updatedAt>=y.current&&(d(""),l.current[o.selectionKey??o.id]={apiKey:"",configText:p},s({dirty:!1,connections:{...o.connections,[o.selectionKey??o.id]:void 0}}))},[$e==null?void 0:$e.updatedAt]),g.useEffect(()=>{var X;((X=w("providers.reorder",""))==null?void 0:X.phase)==="ready"&&o.order&&i({order:null})},[(he=w("providers.reorder",""))==null?void 0:he.updatedAt]);const De=(X,Ce={})=>S(X,{id:o.id,...Ce}),de=vp(P,{...G,default_model:o.model,model:o.model}),ve=(X,Ce)=>{const Fe={...G};Ce===""?delete Fe[X]:Fe[X]=Ce,m(ps(Fe)),s({config:ps(Fe),dirty:!0,...X==="reasoning_effort"?{effort:Ce}:{}})},O=async()=>{await S("providers.save",{...o.id?{id:o.id}:{},module:o.module.trim(),...o.source.trim()?{source:o.source.trim()}:{},config:{...G,...o.model?{default_model:o.model}:{}},scope:o.scope,...ne&&H==="environment"&&M?{apiKeyEnv:M}:u&&H==="private"?{apiKey:u}:{}})},W=!!u||p!==o.config||Object.values(l.current).some(X=>X.apiKey),ae=!!o.dirty||W||Object.values(o.connections||{}).some(X=>X==null?void 0:X.dirty);return Ww("providers",{label:"Provider configuration",dirty:ae,review:()=>{r("providers");const X=Object.entries(o.connections||{}).find(([,Ce])=>Ce==null?void 0:Ce.dirty);!o.dirty&&!W&&X?ce(f.find(Ce=>Ce.id===X[0])||null):i({detailOpen:!0})},discard:()=>{l.current={},d(""),m("{}"),i({id:"",selectionKey:"",module:"",source:"",config:"{}",model:"",effort:"",dirty:!1,connections:{},detailOpen:!1})}}),n.createElement("section",{className:"a-settings-section","data-part":"provider-settings"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Model providers"),n.createElement("p",null,"Connect a provider and choose models for your conversations.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh providers","data-operation-pending":R(F)||void 0,"aria-busy":R(F)||void 0,"data-action":"providers.list",disabled:R(F),onClick:()=>S("providers.list")},n.createElement(zt,null))),R(F)&&n.createElement("p",{className:"a-caption",role:"status"},"Loading your saved providers…"),(F==null?void 0:F.error)&&n.createElement("p",{className:"a-danger",role:"alert"},F.error),!f.length&&!R(F)&&n.createElement("p",{className:"a-caption"},"No saved providers yet. Add a connection below."),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,f.length," saved connections"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>ce(null)},n.createElement(Mn,null),"Add provider"),n.createElement("button",{className:"a-soft",disabled:f.length<2||B,"data-action":"view.update",onClick:()=>i({orderOpen:!0,order:o.order||{ids:f.map(X=>X.id),expectedIds:f.map(X=>X.id),scope:o.scope}})},"Preference order")),o.order&&o.orderOpen!==!1?n.createElement(Ep,{title:"Provider preference order",description:"Provider priority breaks ties after routing matches a model. Saving for "+({global:"all workspaces",project:"this project",local:"this workspace"}[o.order.scope]||o.order.scope)+". Routing profile choices stay separate.",items:f.map(X=>({id:X.id,label:X.id,description:X.module})),ids:o.order.ids,onChange:X=>i({order:{...o.order,ids:X}}),onCancel:()=>i({order:null}),busy:R(w("providers.reorder","")),error:(Ne=w("providers.reorder",""))==null?void 0:Ne.error,action:"providers.reorder",onSave:()=>S("providers.reorder",{...o.order})}):n.createElement(So,{label:"providers",detailOpen:!!o.detailOpen,onBack:()=>i({detailOpen:!1}),list:n.createElement(n.Fragment,null,oe,n.createElement(Yt,{name:"provider-list",busy:R(F)},K.map(X=>{var Ce,Fe;return n.createElement(Va,{key:X.id,id:X.id,label:X.id,description:(((Ce=X.config)==null?void 0:Ce.default_model)||((Fe=X.config)==null?void 0:Fe.model)||X.module)+" · "+(X.credentialsConfigured?"credentials ready":X.keySource||"credentials not configured"),selected:X.id===(o.selectionKey??o.id),onSelect:()=>ce(X)})})))},n.createElement("div",{className:"a-settings-provider-detail"},n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"provider-id"},"Provider instance name"),n.createElement("input",{id:"provider-id",value:o.id,"data-action":"view.update",onChange:X=>s({id:X.target.value}),placeholder:"openai"})),n.createElement("div",null,n.createElement("label",{htmlFor:"provider-scope"},"Save for"),n.createElement("select",{id:"provider-scope",value:o.scope,"data-action":"view.update",onChange:X=>s({scope:X.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project (shareable)"),n.createElement("option",{value:"local"},"This workspace (private)")))),n.createElement(Yt,{name:"provider-models",busy:R(A)},n.createElement("label",{htmlFor:"provider-model"},"Default model"),n.createElement(bp,{editable:!0,catalogKey:o.id,id:"provider-model",label:"Default model",value:o.model,entry:(Le=h.providerCatalogs)==null?void 0:Le[o.id],models:_,state:e,act:a,onChange:X=>s({model:X})})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!v||R(A),"data-operation-pending":R(A)||void 0,"aria-busy":R(A)||void 0,"data-action":"providers.models",onClick:()=>De("providers.models",{refresh:!0})},n.createElement(zt,null),R(A)?"Discovering models…":"Refresh models"),n.createElement("button",{className:"a-soft",disabled:!v||R(z),"data-operation-pending":R(z)||void 0,"aria-busy":R(z)||void 0,"data-action":"providers.test",onClick:()=>De("providers.test")},n.createElement(Pt,null),R(z)?"Testing provider…":"Test connection"),n.createElement("button",{className:"a-soft",disabled:!v||B,"data-action":"providers.login",onClick:()=>De("providers.login")},n.createElement($k,null),v!=null&&v.accountConnected?"Reconnect account":"Provider sign-in")),n.createElement(it,{phase:A==null?void 0:A.phase,message:R(A)?"Discovering available models…":(A==null?void 0:A.error)||((A==null?void 0:A.phase)==="ready"?`${_.length?`Found ${_.length} models. Choose one above.`:"This provider returned no models. Enter a model ID manually."}`:"")}),n.createElement(it,{phase:z!=null&&z.error?"error":R(z)?"working":((Ge=h.test)==null?void 0:Ge.reachable)===!1?"error":"ready",message:R(z)?"Testing provider connection…":(z==null?void 0:z.error)||((z==null?void 0:z.phase)==="ready"||((ft=h.test)==null?void 0:ft.providerId)===o.id?((vt=h.test)==null?void 0:vt.reachable)!==!1?"Provider check passed":"Provider check failed":""),detail:!R(z)&&!(z!=null&&z.error)&&((gt=h.test)==null?void 0:gt.providerId)===o.id?`${h.test.modelCount??0} models returned. This checks the provider’s model catalog; no chat request was sent.`:void 0}),n.createElement("p",{className:"a-caption"},"Checks use saved provider settings. Save changes before testing."),n.createElement(Bw,{key:o.id,state:e,id:o.id,sessionId:t==null?void 0:t.id,act:a,disabled:!v||B}),ee&&(o.module==="provider-openai-chatgpt"?n.createElement(Tu,{login:ee,busy:B,onCancel:()=>De("providers.loginCancel"),onRetry:()=>De("providers.login")}):n.createElement("div",{className:"a-selection-card",role:"status"},n.createElement("strong",null,"Provider sign-in · ",Z),(ee.instructions||[]).map((X,Ce)=>n.createElement("p",{key:Ce},X)),D&&n.createElement("a",{href:D,target:"_blank",rel:"noopener noreferrer","data-action":"providers.login",className:"a-link"},"Open secure provider sign-in"),ee.error&&n.createElement("p",{className:"a-danger"},ee.error),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"providers.loginStatus",onClick:()=>a("providers.loginStatus",{id:o.id})},"Check sign-in status"),["starting","waiting"].includes(Z)&&n.createElement("button",{className:"a-soft","data-action":"providers.loginCancel",onClick:()=>a("providers.loginCancel",{id:o.id})},"Cancel sign-in")))),n.createElement(Yt,{name:"provider-options",busy:R(q),className:"a-provider-options"},n.createElement("h4",null,"Provider options"),R(q)&&n.createElement("p",{className:"a-caption",role:"status"},"Loading options from this provider…"),(q==null?void 0:q.error)&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-danger"},q.error," You can still edit advanced configuration."),n.createElement("button",{className:"a-link","data-action":"providers.schema",onClick:()=>S("providers.schema",{module:o.module,...o.id?{id:o.id}:{}})},"Retry loading options")),de.map(X=>{var We;const Ce=(G==null?void 0:G[X.id])??"",Fe="provider-option-"+X.id;return n.createElement("div",{key:X.id},n.createElement("label",{htmlFor:Fe},X.display_name||X.id),(We=X.choices)!=null&&We.length?n.createElement("select",{id:Fe,value:String(Ce),"data-action":"view.update",onChange:tt=>ve(X.id,tt.target.value)},n.createElement("option",{value:""},"Provider default",X.default!=null?` (${X.default})`:""),Ce!==""&&!X.choices.includes(String(Ce))&&n.createElement("option",{value:String(Ce)},String(Ce)," (saved)"),X.choices.map(tt=>n.createElement("option",{key:tt,value:tt},tt))):X.field_type==="boolean"?n.createElement("select",{id:Fe,value:String(Ce),"data-action":"view.update",onChange:tt=>ve(X.id,tt.target.value===""?"":tt.target.value==="true")},n.createElement("option",{value:""},"Provider default",X.default!=null?` (${X.default})`:""),n.createElement("option",{value:"true"},"On"),n.createElement("option",{value:"false"},"Off")):n.createElement("input",{id:Fe,value:Ce,"data-action":"view.update",placeholder:X.default||"Provider default",onChange:tt=>ve(X.id,tt.target.value)}),n.createElement("p",{className:"a-caption"},X.prompt))}),P&&!de.length&&n.createElement("p",{className:"a-caption"},"This provider has no additional options for the selected model.")),v&&n.createElement(n.Fragment,null,n.createElement(Nu,{credential:v.credential}),n.createElement("button",{className:"a-link","data-action":"providers.list",disabled:R(F),onClick:()=>S("providers.list")},n.createElement(zt,null),"Refresh credentials")),n.createElement("details",{className:"a-provider-access",open:o.accessOpen??!(v!=null&&v.credentialsConfigured)},n.createElement("summary",{"data-action":"view.update",onClick:X=>{X.preventDefault(),i({accessOpen:!(o.accessOpen??!(v!=null&&v.credentialsConfigured))})}},"Provider & access · ",v!=null&&v.accountConnected?"Account connected":v!=null&&v.credentialsConfigured?"Credentials configured":"Setup needed")," ",n.createElement("label",{htmlFor:"provider-preset"},"Provider"),n.createElement("select",{id:"provider-preset",value:Rc.some(X=>X.module===o.module)?o.module:"custom","data-action":"view.update",onChange:X=>{const Ce=X.target.value==="custom"?"":X.target.value;d(""),s({module:Ce,envVar:"",credentialMode:["provider-chat-completions","provider-ollama","provider-vllm"].includes(Ce)?"private":"environment",...!o.id&&Ce?{id:Ce.replace("provider-","")}:{}})}},n.createElement("option",{value:"custom"},"Custom provider module"),Rc.map(X=>n.createElement("option",{key:X.module,value:X.module},X.name))),!Rc.some(X=>X.module===o.module)&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-module"},"Provider module"),n.createElement("input",{id:"provider-module",value:o.module,"data-action":"view.update",onChange:X=>s({module:X.target.value}),placeholder:"provider-custom"})),ne?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-key-source"},"API key source"),n.createElement("select",{id:"provider-key-source",value:H,"data-action":"view.update",onChange:X=>{d(""),s({credentialMode:X.target.value})}},n.createElement("option",{value:"environment"},"Environment variable"),n.createElement("option",{value:"private"},"Private saved key")),H==="environment"?n.createElement(Yt,{name:"provider-credentials",busy:R(T)},n.createElement("label",{htmlFor:"provider-key-env"},"Environment variable name"),n.createElement("input",{id:"provider-key-env",value:M,"data-action":"view.update",onChange:X=>s({envVar:X.target.value}),placeholder:(N==null?void 0:N.defaultEnvVar)||"MY_PROVIDER_API_KEY",spellCheck:!1,autoComplete:"off"}),(N==null?void 0:N.defaultEnvVar)&&n.createElement("p",{className:"a-caption"},"Default: ",n.createElement("code",null,N.defaultEnvVar),!!((Se=N.alternatives)!=null&&Se.length)&&n.createElement(n.Fragment,null," · Also supported: ",N.alternatives.join(", "))),n.createElement(it,{phase:R(T)?"working":T!=null&&T.error||I&&!(N!=null&&N.available)?"error":"ready",message:R(T)?"Checking environment variable…":(T==null?void 0:T.error)||(I||!o.envVar&&N?N!=null&&N.available?"Found — this variable will supply the key.":"Not found in the app environment. Set it before launching the app, then restart.":""),detail:I!=null&&I.checkedAt&&!R(T)?`Checked ${new Date(I.checkedAt*1e3).toLocaleTimeString()}`:void 0}),n.createElement("button",{className:"a-link","data-action":"providers.credentials",disabled:R(T)||!o.module||!!o.envVar&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(o.envVar),onClick:()=>S("providers.credentials",{module:o.module,...o.envVar?{envVar:o.envVar}:{}})},R(T)?"Checking…":"Check variable"),n.createElement("p",{className:"a-caption"},"Reads the backend’s launch environment and private key file. Only the variable name is saved. Key previews show only the beginning and end of longer keys.")):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-key"},"API key"),n.createElement("input",{id:"provider-key",type:"password",autoComplete:"new-password","data-private":"true","data-action":"providers.save",value:u,onChange:X=>{d(X.target.value),i({dirty:!0})},placeholder:v!=null&&v.credentialsConfigured?"Leave blank to keep current credentials":"Stored privately on this computer"}),n.createElement("p",{className:"a-caption"},"The full key stays private on this computer; only a masked preview is shown."))):n.createElement("p",{className:"a-caption"},"This provider uses account sign-in rather than an API key.")),n.createElement("button",{className:"a-link","aria-expanded":o.advanced,"data-action":"view.update",onClick:()=>i({advanced:!o.advanced})},o.advanced?"Hide":"Show"," advanced configuration"),o.advanced&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-source"},"Module source (optional)"),n.createElement(Ma,{id:"provider-source",value:o.source,onChange:X=>s({source:X}),state:e,act:a,placeholder:"git+https://… or a local module folder"}),n.createElement("label",{htmlFor:"provider-config"},"Provider configuration (JSON)"),n.createElement("textarea",{id:"provider-config",className:"a-json-editor",value:p,spellCheck:!1,"data-private":"true","data-action":"providers.save",onChange:X=>{const Ce=X.target.value;m(Ce);try{Er(Ce),s({config:Ce})}catch{}}})),j&&n.createElement("p",{className:"a-danger"},j),["providers.save","providers.remove"].map(X=>{const Ce=w(X);return Ce&&n.createElement("p",{className:Ce.error?"a-danger":"a-caption",role:"status",key:X},Ce.error||(R(Ce)?"Saving provider settings…":X==="providers.save"?"Provider saved. New conversations will use these settings.":"Provider removed."))}),n.createElement(Cn,{active:!!o.detailOpen},n.createElement("button",{className:"a-primary",disabled:!o.module.trim()||!!j||B||ne&&H==="environment"&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(M),"data-operation-pending":R($e)||void 0,"aria-busy":R($e)||void 0,"data-action":"providers.save",onClick:O},n.createElement(Pt,null),"Save provider"),n.createElement("button",{className:"a-soft a-danger",disabled:!v||B,"data-operation-pending":R(w("providers.remove"))||void 0,"aria-busy":R(w("providers.remove"))||void 0,"data-action":"providers.remove",onClick:()=>S("providers.remove",{id:o.id,scope:o.scope})},n.createElement(Qn,null),"Remove")),t&&v&&n.createElement("div",{className:"a-provider-session"},n.createElement("button",{className:"a-soft",disabled:!o.model||xe||B,"data-action":"runtime.control",onClick:()=>a("runtime.control",{sessionId:t.id,operation:"provider.select",args:{instance:o.id,model:o.model,...G!=null&&G.reasoning_effort?{effort:G.reasoning_effort}:{}}})},"Use model in this conversation"),n.createElement("p",{className:"a-caption"},"Current-session selection requires the provider to be mounted by its bundle.")))))}const dD={open:!1,tab:"modules",scope:"global",section:"tools",id:"",module:"",source:"",config:"{}",enabled:!0,sourceKind:"module",sourceName:"",sourceUri:"",sourceSection:"tools",behavioral:!1,behaviorResultsExpanded:!1},Mf=[["tools","Tools"],["hooks","Hooks"],["providers","Providers"],["orchestrator","Orchestrator"],["context","Context manager"]];function pD({state:e,act:t}){var M,k,T,A,q,z,F,H,ne,B,P,_,ee,Z,D,G,j;const a=(M=e.view)==null?void 0:M.registryDraft,[r,o]=g.useState({...dD,...a});g.useEffect(()=>{a&&o(K=>({...K,...a}))},[a]);const i=K=>{const oe={...r,...K};o(oe),t("view.update",{patch:{registryDraft:oe}})},[s,l]=g.useState(r.config);g.useEffect(()=>{l(r.config)},[r.config]);const c=e.registry||{},u=((k=e.management)==null?void 0:k.phase)==="working",d=["queued","working"].includes((A=(T=e.actionStatus)==null?void 0:T["modules.validate"])==null?void 0:A.phase)&&((F=(z=(q=e.actionStatus)==null?void 0:q["modules.validate"])==null?void 0:z.target)==null?void 0:F.id)===r.id,p=c.modules||[],m=c.sources||[],h=((H=c.validation)==null?void 0:H.id)===r.id?c.validation:null,[f,v]=ka(e,t,"registry-modules",p,K=>[K.id,K.module,K.section,K.source],"Filter registered modules"),[y,E]=ka(e,t,"registry-sources",m,K=>[K.name,K.kind,K.source],"Filter source overrides");let b={},x="";try{b=Er(s)}catch(K){x=K.message}const w=((ne=c.sourceValidation)==null?void 0:ne.kind)===r.sourceKind&&((B=c.sourceValidation)==null?void 0:B.name)===r.sourceName.trim()&&((P=c.sourceValidation)==null?void 0:P.submittedSource)===r.sourceUri.trim()&&((_=c.sourceValidation)==null?void 0:_.scope)===r.scope&&((ee=c.sourceValidation)==null?void 0:ee.section)===r.sourceSection?c.sourceValidation:null,R={kind:r.sourceKind,name:r.sourceName.trim(),source:r.sourceUri.trim(),scope:r.scope,...r.sourceKind==="module"?{section:r.sourceSection}:{}},S=["sources.validate","sources.save"].some(K=>{var oe,xe;return["queued","working"].includes((xe=(oe=e.actionStatus)==null?void 0:oe[K])==null?void 0:xe.phase)}),I=K=>{const oe=JSON.stringify(K.config||{},null,2);l(oe),i({section:K.section,id:K.id,module:K.module,source:K.source||"",config:oe,enabled:K.enabled!==!1})},N=()=>t(r.tab==="modules"?"modules.list":"sources.list",{scope:r.scope});return n.createElement(Pa,{id:"registries",title:"Advanced module & source registries",summary:"Register modules and override their sources",state:e,act:t},n.createElement("section",{className:"a-settings-section a-registry","data-part":"registries"},n.createElement("div",{className:"a-maintenance-content"},n.createElement("p",null,"Register individual modules or override where named modules and bundles are loaded from. Most setups can use community bundles above."),n.createElement("nav",{className:"a-settings-nav","aria-label":"Registry sections"},[["modules","Modules"],["sources","Source overrides"]].map(([K,oe])=>n.createElement("button",{key:K,className:r.tab===K?"selected":"","data-action":"view.update",onClick:()=>i({tab:K})},oe))),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"registry-scope"},"Configuration scope"),n.createElement("select",{id:"registry-scope",value:r.scope,"data-action":"view.update",onChange:K=>i({scope:K.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This workspace (private)"))),n.createElement("button",{className:"a-soft",disabled:u,"data-action":r.tab==="modules"?"modules.list":"sources.list",onClick:N},n.createElement(zt,null),"Load registry")),r.tab==="modules"?n.createElement(n.Fragment,null,v,n.createElement("div",{className:"a-provider-list"},f.map(K=>n.createElement("button",{key:K.section+":"+K.id,className:r.id===K.id&&r.section===K.section?"selected":"","data-action":"view.update",onClick:()=>I(K)},n.createElement("strong",null,K.id),n.createElement("small",null,K.section," · ",K.enabled===!1?"disabled":"enabled"," · ",K.scope||r.scope))),n.createElement("button",{"data-action":"view.update",onClick:()=>{l("{}"),i({id:"",module:"",source:"",config:"{}",enabled:!0})}},n.createElement(Mn,null),"Add module")),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"registry-section"},"Module type"),n.createElement("select",{id:"registry-section",value:r.section,"data-action":"view.update",onChange:K=>i({section:K.target.value})},Mf.map(([K,oe])=>n.createElement("option",{key:K,value:K},oe)))),n.createElement("div",null,n.createElement("label",{htmlFor:"registry-id"},"Instance name (optional)"),n.createElement("input",{id:"registry-id",value:r.id,"data-action":"view.update",onChange:K=>i({id:K.target.value})}))),n.createElement("label",{htmlFor:"registry-module"},"Module name"),n.createElement("input",{id:"registry-module",value:r.module,"data-action":"view.update",onChange:K=>i({module:K.target.value}),placeholder:"tool-example"}),n.createElement("label",{htmlFor:"registry-source"},"Source (optional)"),n.createElement(Ma,{id:"registry-source",state:e,act:t,value:r.source,onChange:K=>i({source:K}),placeholder:"git+https://… or /local/path"}),n.createElement("label",{htmlFor:"registry-config"},"Module configuration (JSON)"),n.createElement("textarea",{id:"registry-config",className:"a-json-editor",value:s,"data-action":"modules.save","data-private":"true",spellCheck:!1,onChange:K=>{const oe=K.target.value;l(oe);try{Er(oe),i({config:oe})}catch{}}}),x&&n.createElement("p",{className:"a-danger"},x),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:r.enabled,"data-action":"view.update",onChange:K=>i({enabled:K.target.checked})}),"Enabled"),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:r.behavioral,"data-action":"view.update",onChange:K=>i({behavioral:K.target.checked})}),"Also run module behavior tests"),n.createElement("p",{className:"a-caption"},"Behavior tests run the module’s code in an isolated process."),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:u||!!x||!r.module.trim(),"data-action":"modules.save",onClick:()=>t("modules.save",{section:r.section,module:r.module.trim(),...r.id?{id:r.id}:{},...r.source?{source:r.source}:{},config:b,enabled:r.enabled,scope:r.scope})},n.createElement(Pt,null),"Save module")),n.createElement("button",{className:"a-soft",disabled:u||!r.id,"data-operation-pending":d||void 0,"aria-busy":d||void 0,"data-action":"modules.validate",onClick:()=>t("modules.validate",{section:r.section,id:r.id,scope:r.scope,behavioral:r.behavioral})},"Validate core contract"),n.createElement("button",{className:"a-soft a-danger",disabled:u||!r.id,"data-action":"modules.remove",onClick:()=>t("modules.remove",{section:r.section,id:r.id,scope:r.scope})},n.createElement(Qn,null),"Remove")),n.createElement(Yt,{name:"module-validation",busy:d},((G=(D=(Z=e.actionStatus)==null?void 0:Z["modules.validate"])==null?void 0:D.target)==null?void 0:G.id)===r.id&&n.createElement(it,{phase:e.actionStatus["modules.validate"].phase==="ready"&&(h==null?void 0:h.passed)===!1?"error":e.actionStatus["modules.validate"].phase,message:e.actionStatus["modules.validate"].error||(e.actionStatus["modules.validate"].phase==="ready"?h!=null&&h.passed?"Module validation passed":"Module validation failed":"Validating module…")}),h&&n.createElement("div",{className:"a-selection-card"},n.createElement("strong",null,h.id,": ",h.passed?"validation passed":"validation needs attention"),n.createElement("ul",{className:"a-catalog-list"},(h.checks||[]).map((K,oe)=>n.createElement("li",{key:oe},n.createElement(it,{phase:K.passed?"ready":"error",message:K.name,detail:K.message})))),h.behavioral&&n.createElement("div",null,n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":r.behaviorResultsExpanded,onClick:()=>i({behaviorResultsExpanded:!r.behaviorResultsExpanded})},h.behavioral.passed?"Behavior tests passed":"Behavior tests need attention"," · ",(h.behavioral.tests||[]).length," tests · ",r.behaviorResultsExpanded?"Hide":"Show"," results"),r.behaviorResultsExpanded&&n.createElement("ul",{className:"a-catalog-list"},(h.behavioral.tests||[]).map((K,oe)=>n.createElement("li",{key:oe},n.createElement(it,{phase:K.status==="failed"?"error":K.status==="skipped"?"neutral":"ready",message:K.name,detail:K.status})))))))):n.createElement(n.Fragment,null,E,n.createElement("div",{className:"a-routing-profiles"},y.map(K=>n.createElement("div",{key:K.kind+":"+K.name},n.createElement("span",null,n.createElement("strong",null,K.name),n.createElement("small",null,K.kind," · ",K.source)),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i({sourceKind:K.kind,sourceName:K.name,sourceUri:K.source})},"Edit"),n.createElement("button",{className:"a-icon a-danger","aria-label":`Remove source ${K.name}`,disabled:u,"data-action":"sources.remove",onClick:()=>t("sources.remove",{kind:K.kind,name:K.name,scope:r.scope})},n.createElement(Qn,null))))),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"source-kind"},"Source type"),n.createElement("select",{id:"source-kind",value:r.sourceKind,"data-action":"view.update",onChange:K=>i({sourceKind:K.target.value})},n.createElement("option",{value:"module"},"Module"),n.createElement("option",{value:"bundle"},"Bundle"))),n.createElement("div",null,n.createElement("label",{htmlFor:"source-name"},"Registered name"),n.createElement("input",{id:"source-name",value:r.sourceName,"data-action":"view.update",onChange:K=>i({sourceName:K.target.value}),placeholder:"tool-example"}))),n.createElement("label",{htmlFor:"source-uri"},"Repository URL or local path"),n.createElement(Ma,{id:"source-uri",state:e,act:t,value:r.sourceUri,onChange:K=>i({sourceUri:K}),placeholder:"git+https://… or /local/path"}),r.sourceKind==="module"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"source-section"},"Module type to validate"),n.createElement("select",{id:"source-section",value:r.sourceSection,"data-action":"view.update",onChange:K=>i({sourceSection:K.target.value})},Mf.map(([K,oe])=>n.createElement("option",{key:K,value:K},oe))),n.createElement("p",{className:"a-caption"},"Check the candidate before replacing the saved source. Validation checks the module contract; it does not start a conversation.")),n.createElement("div",{className:"a-dialog-actions"},r.sourceKind==="module"&&n.createElement("button",{className:"a-soft",disabled:u||S||!R.name||!R.source,"data-action":"sources.validate",onClick:()=>t("sources.validate",R)},"Validate without saving"),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:u||S||!R.name||!R.source,"data-action":"sources.save",onClick:()=>t("sources.save",{...R,...r.sourceKind==="module"?{validate:!0}:{}})},n.createElement(Pt,null),r.sourceKind==="module"?"Validate & save source":"Save source override"))),n.createElement(Yt,{name:"source-validation",busy:S},S&&n.createElement(it,{phase:"working",message:"Validating candidate source…"}),!S&&w&&n.createElement(n.Fragment,null,n.createElement(it,{phase:w.passed?"ready":"error",message:w.saved?"Candidate validated and saved":w.passed?"Candidate validated; nothing saved":"Validation failed; saved source unchanged"}),(j=w.checks)==null?void 0:j.map((K,oe)=>n.createElement(it,{key:oe,phase:K.passed?"ready":"error",message:K.name,detail:K.message}))))),n.createElement("p",{className:"a-caption"},"Saved configuration applies when sessions are prepared again. Use environment references for credentials; configure provider keys under Setup."))))}function wp(e){var a;const t=[];for(const r of["providers","tools","hooks"])for(const[o,i]of(Array.isArray(e==null?void 0:e[r])?e[r]:[]).entries())t.push({key:`${r}:${o}`,section:r,index:o,module:i.module||"Unnamed module",id:i.instance_id||i.id||i.module,enabled:i.enabled!==!1,source:i.source,config:i.config||{},entry:i});for(const r of["orchestrator","context"]){const o=(a=e==null?void 0:e.session)==null?void 0:a[r];o&&t.push({key:`session:${r}`,section:r,index:r,module:typeof o=="string"?o:o.module,id:o.id||o.module||o,enabled:o.enabled!==!1,source:o.source,config:o.config||{},entry:o,required:!0})}return t}function zf(e,t,a){const r=structuredClone(e),o=wp(r).find(l=>l.key===t);if(!o)throw new Error("Select a module to edit.");const s={...typeof o.entry=="string"?{module:o.entry}:o.entry,...a};if(o.required){if(a.enabled===!1)throw new Error("The session requires an orchestrator and a context module.");r.session[o.section]=s}else r[o.section][o.index]=s;return r}function mD(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Configuration must be a JSON object.");return t}const cr=e=>JSON.stringify(e,null,2),hD={source:"",selectedUri:"",alias:"",role:"behavior",exportName:"my-amplifier",exportDescription:""};function Zw(e,t,a,r){const[o,i]=g.useState({...t,...e});g.useEffect(()=>{e&&i(l=>({...l,...e}))},[e]);function s(l){const c={...o,...l};i(c),r("view.update",{patch:{[a]:c}})}return[o,s]}function fD({state:e,session:t,act:a}){var S,I,N,M;const[r,o]=Zw((S=e.view)==null?void 0:S.bundleManager,hD,"bundleManager",a),i=Array.isArray(e.bundles)?e.bundles:((I=e.bundles)==null?void 0:I.entries)||[],[s,l]=g.useState({});g.useEffect(()=>{l(k=>Object.fromEntries(Object.entries(k).filter(([T,A])=>i.some(q=>q.id===T&&q.enabled!==A))))},[e.bundles]);const c=(N=e.actionStatus)==null?void 0:N["bundles.toggle"];g.useEffect(()=>{(c==null?void 0:c.phase)==="error"&&l(k=>{var A;const T={...k};return delete T[(A=c.target)==null?void 0:A.id],T})},[c]);const u=async(k,T)=>{l(A=>({...A,[k]:T}));try{if(!await a("bundles.toggle",{id:k,enabled:T}))throw new Error("Request not sent")}catch{l(A=>{const q={...A};return delete q[k],q})}},d=i.find(k=>k.id===r.entryId)||i[0],p=i.filter(k=>k.role!=="standalone"&&k.enabled!==!1),m=(M=e.actionStatus)==null?void 0:M["bundles.reorder"];g.useEffect(()=>{(m==null?void 0:m.phase)==="ready"&&r.order&&o({order:null})},[m==null?void 0:m.commandId,m==null?void 0:m.phase]);const h=e.bundleDiscovery||{},f=h.candidates||[],[v,y]=ka(e,a,"bundle-discovery",f,k=>[k.display_name,k.name,k.path,k.uri,k.kind,k.description],"Filter discovered bundles"),[E,b]=ka(e,a,"app-bundles",i,k=>[k.name,k.uri,k.role],"Filter app bundles"),x=f.find(k=>k.uri===r.selectedUri),w=e.management||{},R=Object.entries(e.actionStatus||{}).some(([k,T])=>k.startsWith("bundle")&&["queued","running","pending","working","discovering","applying"].includes(T.phase));return g.useEffect(()=>{a("bundles.list",{})},[]),n.createElement("div",{className:"a-bundle-pane"},n.createElement(Pa,{id:"add-bundles",title:"Add capabilities",summary:"Browse community bundle repositories",state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Dr,null),n.createElement("div",null,n.createElement("h3",null,"Build your Amplifier"),n.createElement("p",null,"Add capabilities from community repositories, then shape the modules they compose into."))),w.error&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,w.error)),R&&n.createElement("div",{className:"a-management-status",role:"status"},n.createElement(zt,{className:"a-progress-spinner"}),w.detail||"Updating your configuration…"),!R&&w.detail&&n.createElement("p",{className:"a-caption",role:"status"},w.detail),n.createElement("label",{htmlFor:"bundle-source"},"Repository or bundle URL"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:"bundle-source",type:"url",value:r.source,placeholder:"https://github.com/owner/amplifier-bundle","data-action":"view.update",onChange:k=>o({source:k.target.value})}),n.createElement("button",{className:"a-primary",disabled:!r.source.trim()||R,"data-action":"bundle.discover",onClick:()=>a("bundle.discover",{url:r.source.trim()})},n.createElement(Ro,null),"Browse")),n.createElement("p",{className:"a-caption"},"Browse a repository’s YAML and Markdown bundles before choosing what to add."),f.length>0&&n.createElement("div",{className:"a-discovery","aria-label":"Discovered bundles"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,f.length," ",f.length===1?"bundle found":"bundles found"),h.revision&&n.createElement("code",null,h.revision.slice(0,9))),y,n.createElement("div",{className:"a-candidates"},v.map(k=>n.createElement("label",{className:`a-candidate ${(x==null?void 0:x.uri)===k.uri?"selected":""}`,key:k.uri},n.createElement("input",{type:"radio",name:"bundle-candidate",checked:(x==null?void 0:x.uri)===k.uri,"data-action":"view.update",onChange:()=>o({selectedUri:k.uri,alias:k.name||"",role:k.kind==="standalone"?"standalone":"behavior"})}),n.createElement("span",null,n.createElement("strong",null,k.display_name||k.name||k.path),n.createElement("small",null,k.path||k.uri),k.description&&n.createElement("p",null,k.description)),n.createElement("span",{className:"a-kind-tag"},k.kind||"bundle")))),n.createElement("p",{className:"a-caption"},"Type suggestions are based on file contents. Choose how you want to use the bundle below.")),(x||r.selectedUri)&&n.createElement("div",{className:"a-selection-card"},n.createElement("label",{htmlFor:"bundle-add-role"},"Use this bundle as"),n.createElement("select",{id:"bundle-add-role",value:r.role,"data-action":"view.update",onChange:k=>o({role:k.target.value})},n.createElement("option",{value:"behavior"},"An app capability — compose into sessions"),n.createElement("option",{value:"standalone"},"A standalone bundle — register an alias")),n.createElement("label",{htmlFor:"bundle-alias"},r.role==="standalone"?"Bundle alias":"Display name"),n.createElement("input",{id:"bundle-alias",value:r.alias,"data-action":"view.update",onChange:k=>o({alias:k.target.value}),placeholder:"my-capabilities"}),n.createElement("p",{className:"a-caption a-wrap"},r.selectedUri),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:R||!r.selectedUri||r.role==="standalone"&&!r.alias.trim(),"data-action":"bundles.add",onClick:()=>a("bundles.add",{uri:r.selectedUri,...x!=null&&x.reviewId?{reviewId:x.reviewId}:{},name:r.alias.trim()||void 0,role:r.role})},n.createElement(Mn,null),r.role==="standalone"?"Register bundle":"Add capability"))))),n.createElement(Pa,{id:"app-bundles",title:"App bundles",summary:`${i.length} configured · inspect capabilities and aliases`,state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Your app bundles"),n.createElement("p",null,"Capabilities extend your conversations. Standalone aliases are available when starting a conversation.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh app bundles","data-action":"bundles.list",onClick:()=>a("bundles.list")},n.createElement(zt,null))),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,i.length," configured · ",p.length," enabled capabilities"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:p.length<2||R,onClick:()=>o({orderOpen:!0,order:r.order||{ids:p.map(k=>k.id),expectedIds:p.map(k=>k.id)}})},"Composition order")),r.order&&r.orderOpen!==!1?n.createElement(Ep,{title:"Bundle composition order",description:"Capabilities compose from top to bottom. Later settings can override earlier ones. Disabled entries and standalone aliases are outside this chain.",items:p.map(k=>({id:k.id,label:k.name||k.uri,description:"App capability"})),ids:r.order.ids,onChange:k=>o({order:{...r.order,ids:k}}),onCancel:()=>o({order:null}),busy:["queued","working"].includes(m==null?void 0:m.phase),error:m==null?void 0:m.error,action:"bundles.reorder",onSave:()=>a("bundles.reorder",r.order)}):i.length?n.createElement(So,{label:"bundles",detailOpen:!!r.detailOpen,onBack:()=>o({detailOpen:!1}),list:n.createElement(n.Fragment,null,b,E.map(k=>n.createElement(Va,{key:k.id,id:k.id,label:k.name||k.uri,description:k.role==="standalone"?"Standalone alias":"App capability",checked:s[k.id]??k.enabled!==!1,disabled:R,checkLabel:`Enable ${k.name||k.uri}`,checkAction:"bundles.toggle",onCheck:T=>u(k.id,T),selected:k.id===(d==null?void 0:d.id),onSelect:()=>o({entryId:k.id,detailOpen:!0})})))},d&&n.createElement(n.Fragment,null,n.createElement("h4",null,d.name||"Bundle"),n.createElement("p",null,d.role==="standalone"?"Standalone alias · choose it when starting a conversation.":"App capability · composes into prepared conversations."),n.createElement("p",{className:"a-caption"},d.enabled===!1?"Disabled":d.role==="standalone"?"Available as "+d.name:"Position "+(p.findIndex(k=>k.id===d.id)+1)+" of "+p.length+" in composition"),n.createElement("h5",null,"Source"),n.createElement("p",{className:"a-caption a-wrap"},d.uri),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft a-danger","aria-label":`Remove ${d.name||"bundle"}`,disabled:R,"data-action":"bundles.remove",onClick:()=>a("bundles.remove",{id:d.id})},n.createElement(Qn,null),"Remove bundle")),n.createElement("p",{className:"a-caption"},"Changes apply to future conversation preparation. Inspect conversation modules to change a loaded session."))):n.createElement("div",{className:"a-settings-empty"},n.createElement(Yk,null),n.createElement("span",null,"Your app has no additional bundles yet. Browse a repository to add one.")))),n.createElement(Pa,{id:"loaded-modules",title:"Loaded session modules",summary:t?`Inspect and edit the running mount plan for ${t.title}`:"Select a conversation to inspect its mount plan",state:e,act:a},n.createElement(gD,{state:e,session:t,act:a})),n.createElement(pD,{state:e,act:a}),n.createElement(Pa,{id:"share-bundle",title:"Save and share",summary:"Export this session as a reusable bundle",state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Ea,null),n.createElement("div",null,n.createElement("h3",null,"Share your setup"),n.createElement("p",null,"Export the current session’s bundle and applied configuration for others to load with Amplifier Foundation."))),n.createElement("label",{htmlFor:"bundle-export-name"},"Bundle name"),n.createElement("input",{id:"bundle-export-name",value:r.exportName,"data-action":"view.update",onChange:k=>o({exportName:k.target.value})}),n.createElement("label",{htmlFor:"bundle-export-description"},"Description"),n.createElement("input",{id:"bundle-export-description",value:r.exportDescription,"data-action":"view.update",onChange:k=>o({exportDescription:k.target.value})}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!t||R||!r.exportName.trim(),"data-action":"bundle.export",onClick:()=>a("bundle.export",{sessionId:t.id,name:r.exportName.trim(),description:r.exportDescription})},n.createElement(Ea,null),"Export app bundle")),n.createElement("p",{className:"a-caption"},"Exports include bundle references and configuration. Provider credentials stay on this machine."))))}function gD({state:e,session:t,act:a}){var w,R,S,I;const[r,o]=Zw((w=e.view)==null?void 0:w.moduleEditor,{sessionId:"",text:"",selectedKey:"",configText:"",name:"my-amplifier",description:"",showRaw:!1,configAdvanced:!1},"moduleEditor",a),i=(t==null?void 0:t.configuration)||(((R=e.configuration)==null?void 0:R.sessionId)===(t==null?void 0:t.id)?e.configuration:null),s=i==null?void 0:i.plan;e.management;const l=(S=e.actionStatus)==null?void 0:S["configuration.apply"],c=(I=e.actionStatus)==null?void 0:I["configuration.inspect"],u=!!(t!=null&&t.configurationBusy)||["queued","working"].includes(c==null?void 0:c.phase)||["queued","working"].includes(l==null?void 0:l.phase),d=!!t&&["working","running","busy","starting","stopping"].includes(t.status);g.useEffect(()=>{t&&a("configuration.inspect",{id:t.id})},[t==null?void 0:t.id]),g.useEffect(()=>{var N,M,k;s&&t&&(r.sessionId!==t.id||!r.text||((N=t.pendingConfiguration)==null?void 0:N.phase)==="ready"&&r.appliedAt!==((M=t.pendingConfiguration)==null?void 0:M.appliedAt))&&o({sessionId:t.id,text:cr(s),selectedKey:"",configText:"",appliedAt:(k=t.pendingConfiguration)==null?void 0:k.appliedAt})},[t==null?void 0:t.id,s]);let p=null,m="";try{r.sessionId===(t==null?void 0:t.id)&&r.text&&(p=mD(r.text))}catch(N){m=N.message}const h=wp(p),f=h.find(N=>N.key===r.selectedKey),[v,y]=ka(e,a,"loaded-modules",h,N=>[N.id,N.module,N.section,N.source],"Filter loaded modules"),E=!!p&&cr(p)!==cr(s);function b(N,M){try{const k=zf(p,N,M);o({text:cr(k),...N===r.selectedKey&&M.config?{configText:cr(M.config)}:{}})}catch(k){o({parseError:k.message})}}function x(N){o({selectedKey:N.key,detailOpen:!0,configText:cr(N.config),parseError:""})}return n.createElement("section",{className:"a-settings-section a-module-settings"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Ps,null),n.createElement("div",null,n.createElement("h3",null,"Running mount plan"),n.createElement("p",null,t?`Inspect the loaded configuration behind “${t.title}”.`:"Start or select a conversation to inspect its composed configuration."))),t&&n.createElement(n.Fragment,null,n.createElement(it,{phase:c==null?void 0:c.phase,message:(c==null?void 0:c.error)||(["queued","working"].includes(c==null?void 0:c.phase)?"Reading the loaded AmplifierSession mount plan…":"")}),n.createElement("div",{className:"a-settings-row"},n.createElement("span",{className:"a-caption a-wrap"},t.bundle),n.createElement("button",{className:"a-soft",disabled:u,"data-action":"configuration.inspect",onClick:()=>a("configuration.inspect",{id:t.id})},n.createElement(zt,null),s?"Refresh configuration":"Load configuration")),s&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"The fully composed plan includes your root bundle and app capabilities. Edits below apply to this conversation’s mounted configuration. Apply changes to reload modules and preserve the conversation history."),n.createElement(So,{label:"modules",detailOpen:!!r.detailOpen,onBack:()=>o({detailOpen:!1}),list:n.createElement(n.Fragment,null,y,v.map(N=>n.createElement(Va,{key:N.key,id:N.key,label:N.id,description:N.section+(N.required?" · required":""),checked:N.enabled,disabled:N.required,checkLabel:`Enable ${N.id}`,onCheck:M=>b(N.key,{enabled:M}),selected:N.key===r.selectedKey,onSelect:()=>x(N)})))},f?n.createElement(n.Fragment,null,n.createElement("h4",null,f.module),f.source&&n.createElement("p",{className:"a-caption a-wrap"},f.source),n.createElement("div",{className:"a-module-fields"},Object.entries(f.config).map(([N,M])=>{const k=/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(N),T="module-field-"+N;return n.createElement("div",{key:N},n.createElement("label",{htmlFor:T},N.replaceAll("_"," ")),k?n.createElement("p",{className:"a-caption"},"Credential preserved. Manage keys in Model providers."):typeof M=="boolean"?n.createElement("select",{id:T,value:String(M),"data-action":"view.update",onChange:A=>b(f.key,{config:{...f.config,[N]:A.target.value==="true"}})},n.createElement("option",{value:"true"},"On"),n.createElement("option",{value:"false"},"Off")):M===null||typeof M=="object"?n.createElement("p",{className:"a-caption"},Array.isArray(M)?`${M.length} items`:"Structured value"," · edit in advanced configuration below."):n.createElement("input",{id:T,type:typeof M=="number"?"number":"text",value:M,"data-action":"view.update",onChange:A=>{typeof M=="number"&&!A.target.value||b(f.key,{config:{...f.config,[N]:typeof M=="number"?Number(A.target.value):A.target.value}})}}))})),n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":r.configAdvanced,onClick:()=>o({configAdvanced:!r.configAdvanced})},r.configAdvanced?"Hide":"Edit"," advanced configuration"),r.configAdvanced&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"module-config"},"Module configuration (JSON)"),n.createElement("textarea",{id:"module-config",className:"a-json-editor",value:r.configText,spellCheck:!1,"data-action":"view.update",onChange:N=>{try{Er(N.target.value),o({configText:N.target.value,parseError:""})}catch(M){M.message.includes("private API key")?o({parseError:M.message}):o({configText:N.target.value,parseError:""})}}}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const N=Er(r.configText);o({text:cr(zf(p,f.key,{config:N})),parseError:""})}catch(N){o({parseError:N.message})}}},n.createElement(Pt,null),"Update draft"))):n.createElement("div",{className:"a-settings-empty"},n.createElement(Ps,null),n.createElement("span",null,"Select a module to edit its configuration."))),(m||r.parseError)&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,m||r.parseError)),n.createElement("div",{className:"a-module-plan-options"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>o({showRaw:!r.showRaw})},r.showRaw?"Hide":"Edit"," full configuration JSON"),r.showRaw&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"full-module-plan"},"Full composed plan"),n.createElement("textarea",{id:"full-module-plan",className:"a-json-editor a-full-plan",spellCheck:!1,value:r.text,"data-action":"view.update",onChange:N=>o({text:N.target.value,parseError:""})})),d&&n.createElement("p",{className:"a-caption"},"Work is active. Apply when idle will queue these changes until this turn and its worker lanes finish.")),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:!p||!!m||u||!E,"data-action":"configuration.apply",onClick:()=>a("configuration.apply",{id:t.id,config:p,whenIdle:!0})},n.createElement(Pt,null),d?"Apply when idle":"Apply to loaded session"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:!E&&!r.parseError&&!m,onClick:()=>o({text:cr(s),selectedKey:"",configText:"",parseError:""})},"Revert draft"),n.createElement("span",{className:"a-caption"},E?"Unapplied changes":"Saved configuration")),t.pendingConfiguration&&n.createElement(n.Fragment,null,n.createElement(it,{phase:t.pendingConfiguration.phase==="queued"?"pending":t.pendingConfiguration.phase==="applying"?"working":t.pendingConfiguration.phase,message:t.pendingConfiguration.error||t.pendingConfiguration.detail||"Applying mount-plan changes…"}),t.pendingConfiguration.phase==="queued"&&n.createElement("button",{className:"a-soft","data-action":"configuration.cancel",onClick:()=>a("configuration.cancel",{id:t.id})},"Cancel queued changes")),n.createElement("div",{className:"a-custom-bundle"},n.createElement("h4",null,"Keep this as a custom bundle"),n.createElement("p",null,"Save the applied configuration under your own name. Use Export below to share it. Apply any pending changes first."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"custom-bundle-name"},"Name"),n.createElement("input",{id:"custom-bundle-name",value:r.name,"data-action":"view.update",onChange:N=>o({name:N.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"custom-bundle-description"},"Description"),n.createElement("input",{id:"custom-bundle-description",value:r.description,"data-action":"view.update",onChange:N=>o({description:N.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!p||!!m||E||!r.name.trim()||u,"data-action":"bundle.save",onClick:()=>a("bundle.save",{sessionId:t.id,name:r.name.trim(),description:r.description})},n.createElement(Ea,null),"Save custom bundle"))))))}function Jw(e,t){const[a,r]=g.useState({visibility:"hidden"});return g.useLayoutEffect(()=>{var c,u;if(!e)return;const o=(c=t.current)==null?void 0:c.querySelector(".a-compact-popover"),i=(u=t.current)==null?void 0:u.querySelector("button");if(!o||!i)return;const s=()=>{const d=i.getBoundingClientRect(),p=Math.min(340,window.innerWidth-24),m=o.getBoundingClientRect().height;r({width:p,left:Math.max(12,Math.min(d.left,window.innerWidth-p-12)),top:Math.max(12,Math.min(d.top-m-10,window.innerHeight-m-12)),visibility:"visible"})};s();const l=new ResizeObserver(s);return l.observe(o),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{l.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}},[e,t]),a}const Ai=(e,t)=>{var a,r;return((r=(a=e.registeredBundles)==null?void 0:a.find(o=>o.value===t))==null?void 0:r.label)||t||"Bundle"},kp={};function Kw(e){return e.compact?n.createElement(vD,{...e}):n.createElement(bD,{...e})}function vD({state:e,session:t,act:a,working:r}){var I,N,M,k,T;const o=Ja(e),i=Ng(e),s=((I=e.view)==null?void 0:I.composerBundle)||kp,[l,c]=g.useState(s),[u,d]=g.useState(!1),[p,m]=g.useState(""),h=g.useRef(!1);g.useEffect(()=>c(s),[s]);const f=A=>{const q={...l,...A};c(q),a("view.update",{patch:{composerBundle:q}})},v=(t==null?void 0:t.bundle)||o.bundle||i.bundle||(((N=e.bundleDefaults)==null?void 0:N.workspacePath)===o.workspace?e.bundleDefaults.effective:""),y=l.open&&l.sessionId===((t==null?void 0:t.id)||null),E=g.useRef(null),b=Jw(y,E);ol(y,E,()=>f({open:!1})),g.useEffect(()=>{var A;(A=e.registeredBundles)!=null&&A.length||a("bundles.list",{})},[]);const x=e.registeredBundles||[],w=(t==null?void 0:t.workspaceAvailable)===!1||(t==null?void 0:t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1;async function R(A,q=!1){if(!h.current){h.current=!0,d(!0),m(""),f({bundle:A});try{await a(t?"bundle.switch":"view.update",t?{sessionId:t.id,bundle:A,resetModel:q}:{patch:{newSessionDraft:{...o,bundle:A}}})}catch(z){m(z.message)}finally{h.current=!1,d(!1)}}}const S=(t==null?void 0:t.bundlePreview)&&t.bundlePreview.bundle===l.bundle&&t.bundlePreview.modelCompatible===!1&&((M=t==null?void 0:t.bundleChange)==null?void 0:M.phase)!=="ready";return n.createElement("div",{className:"a-model-control a-bundle-control",ref:E},n.createElement("button",{type:"button",className:"a-model-trigger a-bundle-trigger","aria-label":"Conversation bundle",disabled:!!w,"aria-expanded":!!y,"data-action":"view.update",onClick:()=>f({open:!y,sessionId:(t==null?void 0:t.id)||null,bundle:v})},n.createElement(Dr,null),n.createElement("span",null,v?Ai(e,v):i.phase==="error"?"Bundle unavailable":"Loading bundle…"),n.createElement(Xs,null)),y&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:b,"aria-label":"Choose conversation bundle"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation bundle"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close bundle settings","data-action":"view.update",onClick:()=>f({open:!1})},n.createElement(tn,null))),n.createElement("select",{"aria-label":"Registered root bundles",value:v||"",disabled:r||u||(t==null?void 0:t.configurationBusy),"data-action":t?"bundle.switch":"view.update",onChange:A=>R(A.target.value)},!v&&n.createElement("option",{value:"",disabled:!0},"Loading bundles…"),v&&!x.some(A=>A.value===v)&&n.createElement("option",{value:v},Ai(e,v)),x.map(A=>n.createElement("option",{key:A.value,value:A.value},A.label||A.value))),((k=x.find(A=>A.value===v))==null?void 0:k.description)&&n.createElement("p",{className:"a-caption a-composer-bundle-description"},x.find(A=>A.value===v).description),S&&n.createElement(n.Fragment,null,n.createElement("p",null,"Your pinned model is unavailable in this bundle."),n.createElement("button",{type:"button",className:"a-soft",disabled:u||r,onClick:()=>R(l.bundle,!0)},"Use the new bundle’s model")),(p||((T=t==null?void 0:t.bundleChange)==null?void 0:T.phase)==="error")&&n.createElement("small",{className:"a-danger",role:"status"},p||t.bundleChange.error)))}function bD({state:e,session:t,act:a,working:r}){var M,k,T,A,q;const o=((M=e.view)==null?void 0:M.composerBundle)||kp,[i,s]=g.useState(o),[l,c]=g.useState(null),u=g.useRef(!1);g.useEffect(()=>s(o),[o]);const d=z=>{const F={...i,...z};s(F),a("view.update",{patch:{composerBundle:F}})},p=Ja(e),m=(t==null?void 0:t.bundle)||p.bundle||((k=e.bundleDefaults)==null?void 0:k.effective)||((T=e.settings)==null?void 0:T.bundle)||"work",h=i.open&&i.sessionId===((t==null?void 0:t.id)||null),f=g.useRef(null);ol(h,f,()=>d({open:!1}));const v=t==null?void 0:t.bundleChange,y=t==null?void 0:t.bundlePreview,E=!!l||!!(t!=null&&t.configurationBusy)||(v==null?void 0:v.phase)==="working",b=(y==null?void 0:y.bundle)===i.bundle&&(y==null?void 0:y.previewId),x=(t==null?void 0:t.workspaceAvailable)===!1||(t==null?void 0:t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1,w=r||E||x||!((A=i.bundle)!=null&&A.trim()),R=b&&!y.modelCompatible&&!i.resetModel,S=l||(v==null?void 0:v.action),I=S==="bundle.preview"?"Previewing bundle changes…":S==="bundle.fork"?"Creating a conversation with this bundle…":"Switching bundle…";async function N(z){if(!u.current){u.current=!0,c(z);try{await a(z,z==="view.update"?{patch:{newSessionDraft:{...Ja(e),bundle:i.bundle},composerBundle:{},panel:null}}:{sessionId:t.id,bundle:i.bundle,...z!=="bundle.preview"?{...b?{previewId:y.previewId}:{},resetModel:!!i.resetModel}:{}})}finally{u.current=!1,c(null)}}}return n.createElement("div",{className:"a-model-control a-bundle-control",ref:f},n.createElement("button",{type:"button",className:"a-model-trigger a-bundle-trigger","aria-label":"Conversation bundle","aria-expanded":!!h,"data-action":"view.update",onClick:()=>d({open:!h,sessionId:(t==null?void 0:t.id)||null,bundle:m,resetModel:!1})},n.createElement(Dr,null),n.createElement("span",null,!t&&!p.bundle?"Workspace default":Ai(e,m)),n.createElement(Xs,null)),h&&n.createElement("section",{className:"a-model-popover a-bundle-popover","aria-label":"Choose conversation bundle"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation bundle"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close bundle settings","data-action":"view.update",onClick:()=>d({open:!1})},n.createElement(tn,null))),n.createElement("p",null,"Choose the tools, agents, and instructions for this conversation."),n.createElement(kg,{id:"conversation-bundle",value:i.bundle||m,onChange:z=>d({bundle:z,resetModel:!1}),state:e,act:a}),t?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Switch directly, or preview the changes first. Switching keeps history and compatible model choices, and resets previous module edits, modes, and budget overrides."),b&&n.createElement("div",{className:"a-bundle-changes","aria-label":"Bundle changes"},Object.entries(y.changes||{}).map(([z,F])=>{var H,ne,B,P;return n.createElement("div",{key:z},n.createElement("strong",null,z[0].toUpperCase()+z.slice(1)),"after"in F?n.createElement("p",null,F.before||"None"," → ",F.after||"None"):n.createElement(n.Fragment,null,((H=F.added)==null?void 0:H.length)>0&&n.createElement("p",null,"Add: ",F.added.join(", ")),((ne=F.removed)==null?void 0:ne.length)>0&&n.createElement("p",null,"Remove: ",F.removed.join(", ")),!((B=F.added)!=null&&B.length)&&!((P=F.removed)!=null&&P.length)&&n.createElement("p",null,"Same set; settings may change.")))}),n.createElement("p",null,"Instructions are replaced. Enabled app capabilities and shared settings still apply."),((q=y.appCapabilities)==null?void 0:q.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Added app capabilities (",y.appCapabilities.length,")"),n.createElement("ul",null,y.appCapabilities.map(z=>n.createElement("li",{key:z,className:"a-wrap"},z)))),!y.modelCompatible&&n.createElement(n.Fragment,null,n.createElement("p",null,"Your pinned model is unavailable in this bundle."),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:!!i.resetModel,"data-action":"view.update",onChange:z=>d({resetModel:z.target.checked})})," Use the new bundle’s model"))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w||R||i.bundle===m,"data-action":"bundle.switch",onClick:()=>N("bundle.switch")},"Switch bundle"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"bundle.preview",onClick:()=>N("bundle.preview")},"Preview changes"),n.createElement("button",{type:"button",className:"a-soft",disabled:w||R,"data-action":"bundle.fork",onClick:()=>N("bundle.fork")},"Fork with this bundle")),r&&n.createElement("p",null,"Finish this turn and its workers to preview or switch bundles."),(E||v)&&n.createElement(it,{phase:E?"working":v.phase,message:E?I:v.error||(v.phase==="ready"?v.action==="bundle.preview"?"Preview ready":v.action==="bundle.fork"?"Fork created":"Bundle switched":"")})):n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w,"data-action":"view.update",onClick:()=>N("view.update")},"Use bundle"),n.createElement("button",{type:"button",className:"a-soft",disabled:E||!p.bundle,"data-action":"view.update",onClick:()=>a("view.update",{patch:{newSessionDraft:{...p,bundle:""},composerBundle:{}}})},"Use workspace default"))))}function yD({state:e,act:t}){var h,f;const a=e.bundleDefaults||{},r=((h=e.view)==null?void 0:h.bundleDefaultsDraft)||kp,[o,i]=g.useState(r),[s,l]=g.useState(!1),c=g.useRef(!1);g.useEffect(()=>i(r),[r]);const u=o.scope||"app",d=o.bundle??a[u]??"",p=v=>{const y={...o,...v};i(y),t("view.update",{patch:{bundleDefaultsDraft:y}})};async function m(v){var y;if(!c.current){c.current=!0,l(!0);try{await t("bundle.default",{scope:u,bundle:v,workspace:a.workspacePath||((y=e.settings)==null?void 0:y.workspace)})}finally{c.current=!1,l(!1)}}}return n.createElement("div",null,n.createElement("label",{htmlFor:"bundle-default-scope"},"Default applies to"),n.createElement("select",{id:"bundle-default-scope",value:u,"data-action":"view.update",onChange:v=>p({scope:v.target.value,bundle:a[v.target.value]||""})},n.createElement("option",{value:"app"},"This Unified app"),n.createElement("option",{value:"workspace"},"This workspace on this computer"),n.createElement("option",{value:"shared"},"Shared Amplifier settings (including CLI)")),n.createElement("label",{htmlFor:"default-bundle"},"Default bundle for new conversations"),n.createElement(kg,{id:"default-bundle",value:d,state:e,act:t,onChange:v=>p({bundle:v})}),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary",disabled:s||!d.trim(),"data-action":"bundle.default",onClick:()=>m(d.trim())},"Save default"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"bundle.default",onClick:async()=>{await m(null),p({bundle:""})}},"Use inherited default")),n.createElement("p",{className:"a-caption"},"New conversations here use ",n.createElement("strong",null,Ai(e,a.effective||((f=e.settings)==null?void 0:f.bundle)))," from ",{workspace:"workspace settings",app:"this Unified app",shared:"shared Amplifier settings"}[a.source]||"shared Amplifier settings",". Workspace settings take priority over this app, then shared settings. Existing conversations keep their selected bundles."),u==="workspace"&&a.workspaceInherited&&n.createElement("p",{className:"a-caption"},"Clearing this computer’s override inherits the project’s ",Ai(e,a.workspaceInherited)," default."))}const no={page:"home",serverId:"",toolName:"",repository:"",ref:"",path:"",extras:"",connection:{id:"",name:"",transport:"stdio",command:"",args:"",env:"",cwd:"",url:"",headers:"",auth:"environment",installationId:""},values:{},raw:!1,json:"{}"},Ut=e=>["running","working","queued","pending","connecting","installing"].includes((e==null?void 0:e.status)||(e==null?void 0:e.phase)),Xr=e=>{var t;return["failed","error","interrupted"].includes((e==null?void 0:e.status)||(e==null?void 0:e.phase))||!!(e!=null&&e.error)||((t=e==null?void 0:e.result)==null?void 0:t.isError)===!0},Za=e=>JSON.stringify(e,null,2),ti=e=>Array.isArray(e)?e:Object.values(e||{}),_i=e=>e.replace(/[_.-]+/g," ").replace(/^./,t=>t.toUpperCase()),Ta=e=>(e==null?void 0:e.repository)||(e==null?void 0:e.repo)||(e==null?void 0:e.url)||"",ED=e=>Ut(e)?"working":Xr(e)?"error":"ready",wD={"smartTools.catalog":"Catalog refreshed","smartTools.inspect":"Source inspected","smartTools.install":"Installation complete","smartTools.configure":"Connection saved","smartTools.connect":"Connected","smartTools.disconnect":"Disconnected","smartTools.remove":"Connection removed","smartTools.call":"Tool finished","smartTools.open":"Opened in canvas","smartTools.reconnect":"Reconnected","smartTools.schemas":"Tool fields loaded","smartTools.discover":"Tool definitions found","smartTools.uninstall":"Package uninstalled","smartTools.authStart":"Sign-in started","smartTools.authCancel":"Sign-in cancelled","smartTools.authForget":"Local sign-in removed","smartTools.accountAccept":"Account change accepted; reconnect explicitly"};function kD({value:e}){return typeof e=="string"?n.createElement("p",null,e):!Array.isArray(e)||e.some(t=>typeof t!="string"&&typeof(t==null?void 0:t.name)!="string")?n.createElement("pre",null,Za(e)):n.createElement("ul",{className:"a-smart-setup-requirements"},e.map((t,a)=>typeof t=="string"?n.createElement("li",{key:a},t):n.createElement("li",{key:a},n.createElement("strong",null,t.name),t.optional&&n.createElement("small",null," · Optional"),typeof t.purpose=="string"&&n.createElement("p",null,t.purpose),typeof t.install=="string"&&(/^https?:\/\//.test(t.install)?n.createElement("a",{href:t.install,target:"_blank",rel:"noreferrer"},"Setup instructions",n.createElement(ba,null)):n.createElement("p",null,t.install)),Object.keys(t).some(r=>!["name","optional","purpose","install"].includes(r))&&n.createElement("details",null,n.createElement("summary",null,"More requirement details"),n.createElement("pre",null,Za(t))))))}function xD(e,t){var l;const a=(l=e.view)==null?void 0:l.smartToolsEditor,[r,o]=g.useState({...no,...a}),i=g.useRef(r);return g.useLayoutEffect(()=>{a&&(i.current={...no,...a},o(i.current))},[a]),[r,c=>{const u={...i.current,...c};i.current=u,o(u),t("view.update",{patch:{smartToolsEditor:u}})}]}function SD(e,t,a={}){return[...e].reverse().find(r=>r.action===t&&Object.entries(a).every(([o,i])=>{var l,c;const s=((l=r.target)==null?void 0:l[o])??((c=r.args)==null?void 0:c[o])??(o==="id"?r.serverId:o==="name"?r.tool||r.name:r[o]);return r.target||r.args?(s??"")===(i??""):s==null||s===i}))}function ha({operation:e,busyMessage:t}){var r;if(!e)return null;const a=e.error||((r=e.result)!=null&&r.isError?"The tool reported an error. See its result below.":Ut(e)?t||"Working…":wD[e.action]||"Finished");return n.createElement(it,{phase:ED(e),message:typeof a=="string"?a:Za(a),detail:e.status==="interrupted"?"The previous app run ended before this request finished. Review the tool state before retrying.":void 0})}function CD({operation:e}){if(!e||Ut(e)||e.result==null)return null;const t=e.result,a=!!(t&&typeof t=="object"&&t.$resource),r=a?t.summary??t.preview??null:t,o=typeof r=="string"?r:r==null?"":Za(r);return n.createElement("div",{className:"a-smart-result"},n.createElement("h4",null,"Result"),o&&n.createElement("pre",{tabIndex:0},o.slice(0,24e3)),a?n.createElement("p",{className:"a-caption"},"The full result is saved",typeof t.bytes=="number"?` (${Math.ceil(t.bytes/1024).toLocaleString()} KB)`:"",". Ask your agent to inspect it or show the details you need."):o.length>24e3&&n.createElement("p",{className:"a-caption"},"Showing the first 24,000 characters. The full result is saved and available for your agent to inspect."))}function ND(e){const t=e.split(` -`).map(r=>r.trim()).filter(Boolean),a={};for(const r of t){const o=/^([A-Za-z_][A-Za-z0-9_]*)\s*=\s*([A-Za-z_][A-Za-z0-9_]*)$/.exec(r);if(!o)throw new Error("Use CHILD_VARIABLE=APP_VARIABLE on each line. Enter variable names, not secret values.");if(Object.hasOwn(a,o[1]))throw new Error(`The variable ${o[1]} appears more than once.`);a[o[1]]=o[2]}return a}function RD(e){const t={};for(const a of e.split(` -`).map(r=>r.trim()).filter(Boolean)){const r=/^([A-Za-z][A-Za-z0-9-]*)\s*=\s*([A-Za-z_][A-Za-z0-9_]*)$/.exec(a);if(!r)throw new Error("Use HEADER_NAME=APP_VARIABLE, never credential values.");if(Object.keys(t).some(o=>o.toLowerCase()===r[1].toLowerCase()))throw new Error("Header names must be unique.");t[r[1]]=r[2]}return t}function Ic(e,t,a,r){var i;if(a||!(e!=null&&e.properties)||e.oneOf||e.anyOf||e.$ref){const s=JSON.parse(r);if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Tool arguments must be a JSON object.");return s}const o={};for(const[s,l]of Object.entries(e.properties)){let c=t[s]??(l.default==null?"":l.enum||typeof l.default=="object"?Za(l.default):String(l.default));if(c===""){if((i=e.required)!=null&&i.includes(s))throw new Error(`${l.title||_i(s)} is required.`);continue}if(l.enum)c=JSON.parse(c);else if(l.type==="boolean")c=c==="true";else if(l.type==="integer"||l.type==="number"){if(c=Number(c),!Number.isFinite(c)||l.type==="integer"&&!Number.isInteger(c))throw new Error(`${l.title||_i(s)} must be ${l.type==="integer"?"a whole number":"a number"}.`)}else(l.type==="object"||l.type==="array"||l.oneOf||l.anyOf||l.$ref||Array.isArray(l.type))&&(c=JSON.parse(c));o[s]=c}return o}function TD({schema:e,values:t,edit:a}){return Object.entries(e.properties||{}).map(([r,o])=>{var m,h;const i=`smart-tool-field-${r}`,s=o.title||_i(r),l=(m=e.required)==null?void 0:m.includes(r),c=o.type==="object"||o.type==="array"||o.oneOf||o.anyOf||o.$ref||Array.isArray(o.type),u=o.default==null?"":o.enum||c?Za(o.default):String(o.default),d=t[r]??u,p={id:i,value:d,"data-action":"view.update",onChange:f=>a({...t,[r]:f.target.value}),"aria-describedby":o.description?i+"-hint":void 0};return n.createElement("div",{className:"a-smart-field",key:r},n.createElement("label",{htmlFor:i},s,l&&n.createElement("span",{className:"a-smart-required"},"Required")),o.enum?n.createElement("select",{...p},n.createElement("option",{value:""},l?"Choose…":"Tool default"),o.enum.map((f,v)=>n.createElement("option",{key:v,value:JSON.stringify(f)},typeof f=="string"?f:JSON.stringify(f)))):o.type==="boolean"?n.createElement("select",{...p},n.createElement("option",{value:""},l?"Choose…":"Tool default"),n.createElement("option",{value:"true"},"Yes"),n.createElement("option",{value:"false"},"No")):c?n.createElement("textarea",{...p,className:"a-json-editor",spellCheck:!1,placeholder:o.type==="array"?"[]":"{}"}):o.type==="number"||o.type==="integer"?n.createElement("input",{...p,type:"number",step:o.type==="integer"?"1":"any",min:o.minimum,max:o.maximum}):n.createElement("textarea",{...p,rows:2,placeholder:((h=o.examples)==null?void 0:h[0])==null?"":String(o.examples[0])}),o.description&&n.createElement("p",{id:i+"-hint",className:"a-caption"},o.description))})}function ID({state:e,act:t,simple:a=!1,navigateSettings:r}){var gt,Se,X,Ce,Fe,We,tt,yt,se,Qe,ot,bt,ut,Mt,St,jt,st,lt,Ze,Ot,en,vn,Rn,bn,Ln,Kn,Tn,ge,Ke,Ue,nt,ye,At,an,Zt,Q,rn,ca,Sa,Dn,yn,dn,In,on,mt,ht;const[o,i]=xD(e,t),s=g.useRef(!1),[l,c]=g.useState(null),[u,d]=g.useState(""),[p,m]=g.useState(null),h=e.smartTools||{},f=ti(h.servers),v=ti(h.catalog),y=ti(h.installations).filter(V=>!V.supersededBy&&!V.stagedFrom),E=ti(h.operations),b=f.find(V=>V.id===o.serverId),x=ti(b==null?void 0:b.tools).filter(V=>{var we,Xe;return(((Xe=(we=V._meta)==null?void 0:we.ui)==null?void 0:Xe.visibility)||["model","app"]).includes("model")}),w=x.find(V=>V.name===o.toolName),R=w&&{...w,...(b==null?void 0:b.loadedSchemaRevision)===(b==null?void 0:b.catalogRevision)?(gt=b==null?void 0:b.loadedSchemas)==null?void 0:gt[o.toolName]:{}},S=!!(R!=null&&R.inputSchema)&&(b==null?void 0:b.catalogState)!=="stale",I=(V,we={})=>(l==null?void 0:l.action)===V?l:SD(E,V,we),N=async(V,we={})=>{d(""),c({action:V,status:"pending",target:we});try{const Xe=await t(V,we);if(!Xe||Xe.accepted===!1)throw new Error("The request could not be sent. Please try again.");return c(null),Xe}catch(Xe){return c({action:V,status:"failed",error:Xe.message,target:we}),null}},M=(V,we={})=>{d(""),c(null),i({page:V,catalogReview:!1,catalogInstalling:!1,returnPage:V==="source"&&o.page==="catalog"?"catalog":null,...we})},k={...no.connection,...o.connection},T=V=>i({connection:{...k,...V}}),A=[...E].reverse().find(Ut),q=Ut(l)||E.some(V=>{var we,Xe,Ft;return Ut(V)&&(o.page==="source"?((we=V.target)==null?void 0:we.repository)===o.repository.trim():o.page==="connection"?V.action==="smartTools.configure"&&(((Xe=V.target)==null?void 0:Xe.id)||"")===k.id:["server","tool"].includes(o.page)?((Ft=V.target)==null?void 0:Ft.id)===(b==null?void 0:b.id):!1)}),[z,F]=ka(e,t,"smart-tool-connections",f,V=>[V.name,V.command,V.status],"Filter connections"),[H,ne,B]=ka(e,t,"smart-tool-catalog",v,V=>[V.name,V.id,V.description,Ta(V)],a?"Search tools":"Filter catalog",{simple:a}),[P,_]=ka(e,t,"smart-tool-actions-"+((b==null?void 0:b.id)||""),x,V=>[V.name,V.title,V.description],"Filter tools"),ee=I("smartTools.installBatch"),Z=Ut(ee),D=V=>y.some(we=>Ta(we).replace(/\.git$/,"")===Ta(V).replace(/\.git$/,"")&&(we.path||".")===(V.path||".")),G=o.catalogSelection||[],j=v.filter(V=>G.includes(V.id)&&!D(V)),K=Math.max(1,Math.min(o.catalogPage||1,Math.ceil(H.length/40)||1)),oe=H.length>50,xe=oe?H.slice((K-1)*40,K*40):H,ce=v.find(V=>V.id===o.catalogId)||xe[0],_e=(V,we)=>i({catalogSelection:we?[...new Set([...G,V])]:G.filter(Xe=>Xe!==V)}),$e=V=>i({catalogSelection:[...new Set([...G,...V.filter(we=>!D(we)).map(we=>we.id)])]});g.useEffect(()=>{i({catalogPage:1})},[B]);const De=o.page==="tool"?"server":"home",de=V=>M("connection",{connection:V?{id:V.id,name:V.name,command:V.command,args:(V.args||[]).join(` +`;var If={version:"0.20.33",id:"d8f928d42c7f4bee"};const Nu=typeof If>"u"?{version:"dev",id:"dev"}:If,bi=new Map;let Fw="unknown";function ei(e){Fw=["connecting","open","reconnecting","closed"].includes(e)?e:"unknown"}function qL(){const e=Symbol();return bi.set(e,Date.now()),()=>bi.delete(e)}function qw(e,t=globalThis){var l,c,u,d,p,m,h;const a=t.navigator||{},r=a.userAgent||"",o=r.match(/(Edg)\/([0-9.]+)/)||r.match(/(Firefox)\/([0-9.]+)/)||r.match(/(Chrome)\/([0-9.]+)/)||r.match(/(Version)\/([0-9.]+)/),i=!!((l=t.matchMedia)!=null&&l.call(t,"(prefers-color-scheme: dark)").matches),s=["light","dark","system"].includes((c=e==null?void 0:e.view)==null?void 0:c.scheme)?e.view.scheme:"system";return{frontendVersion:Nu.version,frontendBuild:Nu.id,browser:o?{Edg:"Edge",Firefox:"Firefox",Chrome:"Chrome",Version:"Safari"}[o[1]]:"Other",browserVersion:(o==null?void 0:o[2])||"",deviceOS:/Android/.test(r)?"Android":/iPhone|iPad|iPod/.test(r)?"iOS":/Windows/.test(r)?"Windows":/Macintosh/.test(r)?"macOS":/Linux/.test(r)?"Linux":"Other",width:Math.min(32768,t.innerWidth||0),height:Math.min(32768,t.innerHeight||0),pixelRatio:Math.min(16,t.devicePixelRatio||1),colorPreference:i?"dark":"light",appearance:s,resolvedAppearance:s==="system"?i?"dark":"light":s,standalone:!!((u=t.matchMedia)!=null&&u.call(t,"(display-mode: standalone)").matches||a.standalone),secureContext:!!t.isSecureContext,online:a.onLine!==!1,eventStream:Fw,serviceWorkerControlled:!!((d=a.serviceWorker)!=null&&d.controller),reducedMotion:!!((p=t.matchMedia)!=null&&p.call(t,"(prefers-reduced-motion: reduce)").matches),visible:((m=t.document)==null?void 0:m.visibilityState)!=="hidden",pageAgeSeconds:Math.min(31536e3,Math.floor((((h=t.performance)==null?void 0:h.now())||0)/1e3)),pendingActions:bi.size,oldestPendingMs:bi.size?Date.now()-Math.min(...bi.values()):0}}function jL(e,t){const a=r=>typeof r=="string"&&/^[a-f0-9]{12,64}$/.test(r);return a(e==null?void 0:e.id)&&a(t==null?void 0:t.id)&&(e.id!==t.id||e.version!==t.version)}async function UL({prepare:e,reload:t}){await e(),t()}const jw=g.createContext(null);function $L({enabled:e,blocked:t,prepare:a}){const[r,o]=g.useState(null),[i,s]=g.useState(!1),[l,c]=g.useState(""),u=g.useRef(!1),d=g.useRef(a);d.current=a,g.useEffect(()=>{if(!e)return;let m=!0,h=!1;const f=new AbortController,v=async()=>{if(!(h||document.hidden)){h=!0;try{const E=await fetch("/build.json",{cache:"no-store",credentials:"same-origin",signal:f.signal});if(E.ok){const b=await E.json();m&&o(jL(Nu,b)?b:null)}}catch{}finally{h=!1}}};v();const y=setInterval(v,6e4);return window.addEventListener("focus",v),window.addEventListener("amplifier-reconnected",v),document.addEventListener("visibilitychange",v),()=>{m=!1,f.abort(),clearInterval(y),window.removeEventListener("focus",v),window.removeEventListener("amplifier-reconnected",v),document.removeEventListener("visibilitychange",v)}},[e]);const p=async()=>{if(!(!r||t||u.current)){u.current=!0,s(!0),c("");try{await UL({prepare:()=>d.current(),reload:()=>window.location.reload()})}catch(m){c(m.message||"Your changes could not be saved. Try again when connected."),u.current=!1,s(!1)}}};return{available:!!r,version:r==null?void 0:r.version,busy:i,blocked:t,error:l,reload:p}}function Uw(){const e=g.useContext(jw);return e!=null&&e.available?n.createElement("aside",{className:"a-reload-notice","data-part":"app-reload","aria-label":"App update ready"},n.createElement(zt,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,"Update ready—reload to finish"),n.createElement("p",null,e.blocked||"Load the updated app in this tab. Your chats and saved settings stay in place."),e.error&&n.createElement("p",{role:"alert"},e.error)),n.createElement("button",{type:"button",className:"a-primary",disabled:e.busy||!!e.blocked,onClick:e.reload},e.busy?"Saving before reload…":"Reload now")):null}const Jr=g.createContext({compact:!1,active:!0,footer:null});function Cn({children:e,active:t=!0,className:a=""}){const r=g.useContext(Jr);if(r.compact&&!t)return null;const o=n.createElement("div",{className:"a-dialog-actions "+a},e);return r.compact&&r.active&&r.footer&&t?Oi.createPortal(o,r.footer):o}function BL(e){const[t,a]=g.useState(()=>typeof window<"u"&&window.matchMedia("(max-width:959px)").matches);return g.useLayoutEffect(()=>{var s;const r=((s=e.current)==null?void 0:s.closest(".a-overlay"))||e.current;if(!r)return;const o=()=>a(r.clientWidth<960);o();const i=new ResizeObserver(o);return i.observe(r),()=>i.disconnect()},[]),t}function HL(e,t){g.useEffect(()=>{var l;const a=(l=e.current)==null?void 0:l.closest(".a-overlay"),r=window.visualViewport;if(!t||!a||!r)return;let o;const i=()=>{r.scale===1&&(a.style.setProperty("--a-settings-viewport-top",r.offsetTop+"px"),a.style.setProperty("--a-settings-viewport-height",r.height+"px"),cancelAnimationFrame(o),o=requestAnimationFrame(()=>{var m;const c=document.activeElement;if(!((m=e.current)!=null&&m.contains(c))||!c.matches("input,textarea,select"))return;const u=c.closest(".a-settings-content");if(!u)return;const d=c.getBoundingClientRect(),p=u.getBoundingClientRect();d.bottom>p.bottom-16?u.scrollTop+=d.bottom-p.bottom+16:d.top{cancelAnimationFrame(o),r.removeEventListener("resize",i),r.removeEventListener("scroll",i),s.removeEventListener("focusin",i),a.style.removeProperty("--a-settings-viewport-top"),a.style.removeProperty("--a-settings-viewport-height")}},[t])}function VL({compact:e,trail:t,view:a,act:r,close:o,body:i,navigationRef:s,confirmClose:l=()=>Promise.resolve(!0),hasUnsaved:c=()=>!1}){const u=g.useRef(null),d=g.useRef(null),p=g.useRef(new Map),m=g.useRef(null),h=g.useRef(!1),[f,v]=g.useState(!1),y=g.useRef(!1);u.current={trail:t,view:a,act:r,close:o,confirmClose:l};const E=t.at(-1),b=E.key,x=g.useRef(a.settingsRootVisit);g.useEffect(()=>{const I=x.current!==a.settingsRootVisit;x.current=a.settingsRootVisit,m.current=b,h.current=!0;const N=requestAnimationFrame(()=>{i.current&&(i.current.scrollTop=I?0:p.current.get(b)||0),h.current=!1});return()=>cancelAnimationFrame(N)},[b,a.settingsRootVisit]);const w=()=>{i.current&&!h.current&&p.current.set(m.current,i.current.scrollTop)};g.useLayoutEffect(()=>{var z;if(!e||typeof window>"u")return;const I=(z=history.state)==null?void 0:z.amplifierSettings,N=typeof(I==null?void 0:I.token)=="string"&&I.token.startsWith("settings-")&&Number.isInteger(I.index)&&I.index>0&&I.index<10?I:null,M=(N==null?void 0:N.token)||"settings-"+crypto.randomUUID(),k={...history.state};delete k.amplifierSettings;const T={token:M,entries:N?[...u.current.trail]:[],index:(N==null?void 0:N.index)||0,closing:!1};d.current=T;const A=F=>{T.entries.splice(T.index),T.entries.push(F),T.index=T.entries.length,history.pushState({...k,amplifierSettings:{token:M,index:T.index}},"")};N||u.current.trail.forEach(A);const q=async F=>{var _,ee;const H=(_=F.state)==null?void 0:_.amplifierSettings;if((H==null?void 0:H.token)!==M){if(T.confirming)return;if(T.closing){u.current.close();return}T.confirming=!0,v(!0);const Z=await u.current.confirmClose();if(T.confirming=!1,Z)T.closing=!0,u.current.close();else for(let D=1;D<=T.index;D++)history.pushState({...k,amplifierSettings:{token:M,index:D}},"");v(!1);return}T.index=H.index;const ne=T.entries[T.index-1];if(!ne)return;const B=Object.keys(ne.navigation).find(Z=>{var D;return((D=ne.navigation[Z])==null?void 0:D.orderOpen)===!0});if(B&&!((ee=u.current.view[B])!=null&&ee.order)){history.back();return}const P={...ne.navigation};for(const Z of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])P[Z]&&(P[Z]={...u.current.view[Z],...P[Z]});u.current.act("view.update",{patch:P})};return window.addEventListener("popstate",q),()=>{var F,H;window.removeEventListener("popstate",q),d.current=null,((H=(F=history.state)==null?void 0:F.amplifierSettings)==null?void 0:H.token)===M&&!T.closing&&history.go(-T.index)}},[e]),g.useLayoutEffect(()=>{const I=d.current;if(!e||!I||I.closing||I.confirming)return;const N=I.entries[I.index-1];if(t.forEach((M,k)=>{I.entries[k]=M}),I.index>t.length){history.go(t.length-I.index);return}if(I.index===t.length){(N==null?void 0:N.key)!==b&&history.replaceState({...history.state,amplifierSettings:{token:I.token,index:I.index}},"");return}for(;I.index{const I=d.current;if(I&&I.index>1)w(),history.back();else if(t.length>1){const N=t.at(-2),M={...N.navigation};for(const k of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])M[k]&&(M[k]={...a[k],...M[k]});r("view.update",{patch:M})}else S()},S=async()=>{if(y.current)return;y.current=!0;const I=d.current;I&&(I.confirming=!0),v(!0);const N=await u.current.confirmClose();I&&(I.confirming=!1),N&&(I&&!I.closing?(I.closing=!0,history.go(-I.index)):o()),y.current=!1,v(!1)};return g.useEffect(()=>(s&&(s.current={close:S,confirmClose:l,hasUnsaved:c}),()=>{s&&(s.current=null)})),{back:R,dismiss:S,rememberScroll:w}}function WL(e){const[t,a]=g.useState(()=>typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches);return g.useEffect(()=>{const r=matchMedia("(prefers-color-scheme: dark)"),o=()=>a(r.matches);return o(),r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[]),e==="dark"||e==="system"&&t?"dark":"light"}function ZL({root:e,state:t,shell:a,scheme:r,mode:o,preview:i,css:s}){var l,c;g.useLayoutEffect(()=>{var h,f,v,y,E;if(!e.current||!a.ready||i||(h=t==null?void 0:t.view)!=null&&h.themePreview||(f=a.data)!=null&&f.preview)return;const u=getComputedStyle(e.current),d={};try{Object.assign(d,(v=JSON.parse(sessionStorage.getItem("amplifier.appearance")||"null"))==null?void 0:v.colors)}catch{}d[o]={background:u.backgroundColor,foreground:u.color};const p=(E=(y=t==null?void 0:t.theme)==null?void 0:y.definition)==null?void 0:E.palette;if(p)for(const b of["light","dark"])d[b]={background:p[b].bg,foreground:p[b].ink};const m={version:1,scheme:["light","dark","system"].includes(r)?r:"light",colors:d};try{sessionStorage.setItem("amplifier.appearance",JSON.stringify(m))}catch{}document.documentElement.style.colorScheme=o,document.documentElement.style.setProperty("--boot-bg",d[o].background),document.documentElement.style.setProperty("--boot-ink",d[o].foreground)},[e,a.ready,(l=a.data)==null?void 0:l.preview,(c=t==null?void 0:t.view)==null?void 0:c.themePreview,t==null?void 0:t.theme,r,o,i,s])}function JL({shell:e,onError:t}){const a=e.composition.presentation.decorations!==!1,[r,o]=g.useState(!1),[i,s]=g.useState(a);g.useEffect(()=>{r||s(a)},[a,r]);async function l(c){const u=c.target.checked;s(u),o(!0);try{await e.setPresentation({decorations:u})}catch(d){s(a),t(d.message)}finally{o(!1)}}return n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:i,disabled:r,"data-action":"shell.changes.apply",onChange:l}),"Show decorative theme background")}const KL={bg:"#e9ecf5",surface:"#ffffff",ink:"#23304d",accent:"#6353c7",line:"#d7ddec"};function YL({item:e}){const t={...KL,...e.palette};return n.createElement("div",{className:"a-appearance-swatch","aria-hidden":"true",style:{"--sw-bg":t.bg,"--sw-surface":t.surface,"--sw-ink":t.ink,"--sw-accent":t.accent,"--sw-line":t.line,"--sw-radius":e.radius||"12px",backgroundImage:e.background||"none",fontFamily:e.heading||"inherit",backgroundSize:e.id==="builtin:graphite"?"16px 16px":"cover"}},n.createElement("div",{className:"a-swatch-header"},n.createElement("span",null,"◉ Amplifier"),n.createElement("span",null,"•••")),n.createElement("div",{className:"a-swatch-body"},n.createElement("div",{className:"a-swatch-nav"},n.createElement("i",null),n.createElement("i",null),n.createElement("i",null)),n.createElement("div",{className:"a-swatch-chat"},n.createElement("strong",null,"Room for ideas."),n.createElement("span",{className:"a-swatch-line"}),n.createElement("span",{className:"a-swatch-line short"}),n.createElement("div",{className:"a-swatch-prompt"},n.createElement("span",null,"Ask anything…"),n.createElement("b",null,"↑")))))}function GL({state:e,shell:t,act:a,name:r,css:o,preview:i,setName:s,setCss:l,setPreview:c,defaultSkin:u,simple:d=!1,advancedOnly:p=!1,onAdvanced:m}){var xe,ce,_e,$e,De;const{active:h}=g.useContext(Jr),[f,v]=g.useState(""),[y,E]=g.useState({items:[],errors:[],directory:""}),[b,x]=g.useState(null),[w,R]=g.useState(!1),[S,I]=g.useState(""),[N,M]=g.useState(""),[k,T]=g.useState(!1),A=g.useRef(a),q=g.useRef(!0),z=g.useRef(0),F=g.useRef(i);A.current=a,F.current=i;const H=t.composition.presentation,ne=H.scheme||((xe=e.view)==null?void 0:xe.scheme)||"system";async function B(){var ve;const de=await A.current("theme.list",{});if(!Array.isArray((ve=de.result)==null?void 0:ve.items))throw Error("The appearance library is unavailable. Try reopening Settings.");q.current&&(E(de.result),v(""))}g.useEffect(()=>{if(!h)return;q.current=!0,B().catch(ve=>v(ve.message));const de=setInterval(()=>B().catch(()=>{}),5e3);return()=>{q.current=!1,z.current++,clearInterval(de),F.current&&(c(!1),A.current("view.update",{patch:{themePreview:!1}}).catch(()=>{}))}},[h]);async function P(de){R(!0),I(""),M("");try{await de()}catch(ve){q.current&&I(ve.message)}finally{q.current&&R(!1)}}async function _(de){const ve=++z.current;await P(async()=>{const{result:O}=await A.current("theme.read",{id:de.id});if(!q.current||ve!==z.current)return;x(de.id),s(O.name),l(O.css);const W=await A.current(d?"theme.apply":"theme.preview",{name:O.name,css:O.css});if((W==null?void 0:W.accepted)===!1)throw Error(W.error||"Could not save appearance.");c(!d),d&&M(O.name+" saved.")})}async function ee(){await P(async()=>{await A.current("theme.apply",{name:r,css:o}),c(!1),M(r+" applied.")})}async function Z(){await P(async()=>{var de,ve;i&&await A.current("theme.revert",{}),c(!1),s(((de=e.theme)==null?void 0:de.name)||"Amplifier Unified"),l(((ve=e.theme)==null?void 0:ve.css)||u),x(null)})}async function D(de){"name"in de&&s(de.name),"css"in de&&l(de.css),x(null),c(!1),await A.current("view.update",{patch:{themeDraft:de.css??o,themeDraftName:de.name??r,themePreview:!1}})}async function G(){await P(async()=>{const{result:de}=await A.current("theme.save",{name:r,css:o});x(de.id),await B(),M("Saved to your appearance library.")})}async function j(de){if(!de)return;if(de.size>99e4)throw Error("Choose a CSS appearance smaller than 1 MB.");const ve=await de.text(),O=de.name.replace(/\.amplifier\.css$|\.css$/i,"").slice(0,100),{result:W}=await A.current("theme.save",{name:O,css:ve});return await B(),M(O+" added to your library. Select it to preview."),W}const K=b||(((ce=e.theme)==null?void 0:ce.name)==="Amplifier Unified"?"builtin:default":(_e=y.items.find(de=>{var ve;return de.name===((ve=e.theme)==null?void 0:ve.name)}))==null?void 0:_e.id),oe=de=>P(()=>t.setPresentation(de));return n.createElement("div",{className:"a-appearance-settings","data-appearance-simple":d,"data-appearance-advanced":p},n.createElement("div",{className:"a-appearance-intro"},n.createElement("div",null,d?n.createElement("p",null,"Choose a look. Your choice is saved automatically."):n.createElement(n.Fragment,null,n.createElement("p",null,"Make this space yours."),n.createElement("small",null,"Choose an appearance to try it. Apply when it feels right."))),!d&&n.createElement("span",{className:"a-appearance-current"},n.createElement($c,{size:14}),i?"Previewing "+r:(($e=e.theme)==null?void 0:$e.name)||"Amplifier")),d&&n.createElement("h4",{className:"a-appearance-label"},"Look & feel"),n.createElement("div",{className:"a-appearance-gallery","aria-label":"Appearance library"},y.items.map(de=>n.createElement("button",{type:"button",key:de.id,className:"a-appearance-card","aria-label":(d?"Use ":"Preview ")+de.name,"aria-pressed":K===de.id,disabled:w,"data-action":d?"theme.apply":"theme.preview",onClick:()=>_(de)},n.createElement(YL,{item:de}),n.createElement("div",{className:"a-appearance-card-caption"},n.createElement("div",null,n.createElement("strong",null,de.name),!d&&n.createElement("small",null,de.tag)),K===de.id?n.createElement(Pt,null):n.createElement($c,null)),!d&&n.createElement("p",null,de.description))),!y.items.length&&!f&&n.createElement("p",{role:"status"},"Loading appearances…")),i&&n.createElement("div",{className:"a-appearance-preview",role:"status"},n.createElement("span",null,i?"Previewing "+r:"Current appearance"),n.createElement("div",null,i&&n.createElement("button",{type:"button",className:"a-soft",disabled:w,onClick:Z},"Cancel preview"),n.createElement("button",{type:"button",className:"a-primary",disabled:w||!i,"data-action":"theme.apply",onClick:ee},n.createElement(Pt,null),d?"Apply appearance":"Use "+r))),(S||f)&&n.createElement("p",{role:"alert",className:"a-danger"},S||f),N&&n.createElement("p",{role:"status",className:"a-appearance-notice"},n.createElement(Pt,{size:15}),N),n.createElement("section",{className:"a-appearance-options"},d?n.createElement("div",{className:"a-appearance-color"},n.createElement("label",{htmlFor:"appearance-color-mode"},"Color mode"),n.createElement("select",{id:"appearance-color-mode",value:ne,disabled:w,"data-action":"shell.changes.apply",onChange:de=>oe({scheme:de.target.value})},n.createElement("option",{value:"system"},"Device"),n.createElement("option",{value:"light"},"Light"),n.createElement("option",{value:"dark"},"Dark"))):n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("h3",null,"Color mode"),n.createElement("p",null,"Keep a favorite look throughout the day.")),n.createElement("div",{className:"a-appearance-modes",role:"group","aria-label":"Color mode"},[["light","Light",ux],["dark","Dark",Yk],["system","Device",Mu]].map(([de,ve,O])=>n.createElement("button",{type:"button",key:de,disabled:w,"aria-pressed":ne===de,"data-action":"shell.changes.apply",onClick:()=>oe({scheme:de})},n.createElement(O,null),ve)))),n.createElement("fieldset",{className:"a-detail-level"},n.createElement("legend",null,"How much would you like to see?"),n.createElement("p",null,"Choose a calmer workspace or keep more information at hand. You can always open details."),n.createElement("div",{className:"a-detail-choices"},[["minimal","Focused","Quiet lists and simple work summaries. Extra information stays in details."],["standard","Balanced","Useful context and work totals, with deeper details one click away."],["detailed","Everything","Work activity opens automatically. Counts and list actions stay visible."]].map(([de,ve,O])=>n.createElement("label",{key:de,"data-selected":(H.interfaceDetail||H.executionDetail||"standard")===de},n.createElement("input",{type:"radio",name:"interface-detail",value:de,checked:(H.interfaceDetail||H.executionDetail||"standard")===de,disabled:w,"data-action":"shell.changes.apply",onChange:()=>oe({interfaceDetail:de,executionDetail:de})}),n.createElement("span",null,n.createElement("strong",null,ve),n.createElement("small",null,O)))))),n.createElement("details",{className:"a-everyday-disclosure",open:!d||void 0},n.createElement("summary",null,"Layout & background"),n.createElement("div",null,n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("h3",null,"Background"),n.createElement("p",null,"Decorative artwork stays behind your content.")),n.createElement(JL,{shell:t,onError:I})),n.createElement("div",{className:"a-appearance-option"},n.createElement("div",null,n.createElement("label",{htmlFor:"layout"},"Layout"),n.createElement("p",null,"Choose where the conversation and Canvas sit.")),n.createElement("select",{id:"layout",value:H.layout||((De=e.view)==null?void 0:De.layout)||"balanced",disabled:w,"data-action":"shell.changes.apply",onChange:de=>oe({layout:de.target.value})},n.createElement("option",{value:"balanced"},"Canvas on the right"),n.createElement("option",{value:"conversation"},"More room for conversation"),n.createElement("option",{value:"work"},"Canvas on the left")))))),!d&&n.createElement("section",{className:"a-appearance-import"},n.createElement("div",null,n.createElement("h3",null,n.createElement(ug,null),"Your appearance library"),n.createElement("p",null,"Upload a CSS appearance once. It will stay here across restarts and be available to every connected device.")),n.createElement(kg,{id:"theme-import",accept:".css,text/css",action:"theme.save",label:"Upload appearance",hint:"Drop a CSS file here · up to 1 MB",onFile:j}),y.errors.map(de=>n.createElement("p",{className:"a-danger",key:de.name},de.name,": ",de.message)),n.createElement("details",{className:"a-appearance-folder"},n.createElement("summary",null,n.createElement(tr,null),"Theme folder"),n.createElement("p",null,"CSS files placed here appear in the library automatically."),n.createElement("code",null,y.directory))),!d&&n.createElement("details",{className:"a-appearance-advanced",open:k,onToggle:de=>T(de.currentTarget.open)},n.createElement("summary",null,"Advanced customization"),n.createElement("p",null,"Edit or export a complete, portable CSS appearance. Embedded images and fonts travel with it."),n.createElement("label",{htmlFor:"theme-name"},"Appearance name"),n.createElement("input",{id:"theme-name",value:r,"data-action":"view.update",onChange:de=>D({name:de.target.value}).catch(ve=>I(ve.message))}),n.createElement("label",{htmlFor:"theme-css"},"CSS"),n.createElement("textarea",{id:"theme-css",spellCheck:!1,className:"a-css-editor",value:o,"data-action":"view.update",onChange:de=>D({css:de.target.value}).catch(ve=>I(ve.message))}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w,"data-action":"theme.save",onClick:G},"Save to library"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.preview",onClick:()=>P(async()=>{await A.current("theme.preview",{name:r,css:o}),c(!0)})},"Preview"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.apply",onClick:ee},"Apply skin"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,onClick:Z},"Revert edits"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.export",onClick:()=>P(()=>A.current("theme.export",{}))},n.createElement(Ea,null),"Export current appearance"))),d&&n.createElement("div",{className:"a-everyday-footer"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:m},"Custom themes & CSS")),!d&&n.createElement("button",{type:"button",className:"a-link a-appearance-reset",disabled:w,"data-action":"theme.reset",onClick:()=>P(async()=>{await A.current("theme.reset",{}),c(!1),x(null)})},n.createElement(zt,null),"Restore original appearance"))}const Wi=[{id:"ai",title:"AI connections",scope:"Across workspaces on this Amplifier host",pages:[["ai-connections","AI connections"],["overview","AI connections"]]},{id:"smart-tools",title:"Smart Tools",scope:"This Amplifier host",pages:[["smart-tools","Smart Tools"]]},{id:"appearance",title:"Appearance",scope:"This interface",pages:[["appearance","Appearance"]]},{id:"voice",title:"Voice",scope:"Future voice connections",pages:[["voice","Voice"]]},{id:"notifications",title:"Notifications",scope:"This app",pages:[["notifications","Notifications"]]},{id:"privacy",title:"Privacy & files",scope:"Your work and access choices",pages:[["privacy","Privacy & files"],["workspaces","Files & folders"],["recall","Memory & past work"],["permissions","File access"],["desktop","Screen & computer access"],["diagnostics","App diagnostic capture"],["history","Saved work"]]},{id:"updates",title:"Updates",scope:"This Amplifier host",pages:[["updates","Updates"]]},{id:"advanced",title:"Advanced",scope:"Full configuration",pages:[["advanced","Advanced"],["providers","Provider configuration"],["routing","Model rules"],["app-bundles","Configured bundles"],["add-bundles","Discover bundles"],["defaults","Conversation defaults"],["loaded-modules","Conversation modules"],["share-bundle","Save & share a bundle"],["registries","Module & source registries"],["tool-connections","Tool connections"],["custom-appearance","Custom appearance"],["conversation","Current conversation"],["outputs","Outputs & review"],["publishing","Publishing"],["repair","Backup & repair"],["reset","Advanced recovery"],["ready-conversations","Ready conversations"],["automation","Terminal & automation"],["install-app","Install app"],["runtime","Session controls"]]}],Af={setup:["overview","ai-connections","advanced","appearance","voice","providers","routing","defaults","conversation","install-app","runtime","custom-appearance"],capabilities:["smart-tools","tool-connections","app-bundles","add-bundles","loaded-modules","registries","share-bundle"],maintenance:["privacy","ready-conversations","updates","diagnostics","history","recall","outputs","publishing","permissions","notifications","automation","repair","reset"]};function $w(e={},t=Wi){var o,i;const a=new Set(t.flatMap(s=>s.pages.map(([l])=>l))),r=e.panel==="appearance"?"appearance":((i=(o=e.settingsExpanded)==null?void 0:o.find)==null?void 0:i.call(o,s=>a.has(s)))||{capabilities:"app-bundles",maintenance:"updates"}[e.settingsSection]||"ai-connections";return{page:r,section:t.find(s=>s.pages.some(([l])=>l===r))}}function Bw(e,t=Wi){if(!t.some(a=>a.pages.some(([r])=>r===e)))throw new Error("Unknown settings page");return{panel:"settings",settingsSection:Object.keys(Af).find(a=>Af[a].includes(e))||"setup",settingsExpanded:[e]}}function QL(e,t){return t.pages.reduce((a,[r])=>{var o,i;return a+(((i=(o=e.attention)==null?void 0:o.pages)==null?void 0:i[r])||0)},0)}function gp(e,t=Wi){var a;return((a=t.flatMap(r=>r.pages).find(([r])=>r===e))==null?void 0:a[1])||"Settings"}function Is(e,t=Wi){const a=t.find(r=>r.pages.some(([o])=>o===e));return["privacy","advanced"].includes(a==null?void 0:a.id)&&e!==a.id?a.id:null}function Hw({state:e,id:t,sessionId:a,act:r,disabled:o=!1}){var f,v,y,E;const[i,s]=g.useState(!1),[l,c]=g.useState(""),u=g.useRef(!1),d=g.useRef(null),p=(v=(f=e.setup)==null?void 0:f.operations)==null?void 0:v["providers.testMessage:"+t],m=(E=(y=e.setup)==null?void 0:y.messageTests)==null?void 0:E[t];g.useEffect(()=>{d.current&&(p==null?void 0:p.commandId)===d.current&&["ready","error"].includes(p.phase)&&(u.current=!1,s(!1),c(p.error||""),d.current=null)},[p==null?void 0:p.commandId,p==null?void 0:p.phase]);async function h(){if(!u.current){u.current=!0,s(!0),c("");try{const b=await r("providers.testMessage",{id:t,...a?{sessionId:a}:{}});if(!(b!=null&&b.accepted)||!b.operationId)throw Error((b==null?void 0:b.error)||"The test could not be started.");d.current=b.operationId,s(b.operationId)}catch(b){u.current=!1,s(!1),c(b.message)}}}return g.useEffect(()=>{d.current&&(p==null?void 0:p.commandId)===d.current&&["ready","error"].includes(p.phase)&&(u.current=!1,s(!1),c(p.error||""),d.current=null)},[i]),n.createElement("div",{"data-part":"provider-message-test"},n.createElement("button",{type:"button",className:"a-soft","data-action":"providers.testMessage",disabled:!t||o||!!i,onClick:h},i?"Sending test message…":"Send test message"),n.createElement("p",{className:"a-caption"},"Sends a small message using the saved model and credentials. Provider charges may apply. No chat is created."),l&&n.createElement("p",{role:"alert"},l),!i&&m&&n.createElement("div",{role:"status"},n.createElement("p",null,n.createElement("strong",null,m.reachable?"Test message succeeded":"Test message failed")," · ",m.model," · ",(m.elapsedMs/1e3).toFixed(1)," s",m.statusCode?` · HTTP ${m.statusCode}`:""),n.createElement("p",null,m.reachable?m.response:m.error)))}function Ru({credential:e}){const t=e==null?void 0:e.preview;if(!t)return null;const a=t.source==="key-file"?"Private keys file (keys.env)":t.source==="environment"?"Service environment":t.source==="configuration"?"Provider configuration":"Provider managed";return n.createElement("div",{className:"a-provider-key-preview","data-part":"provider-key-preview"},n.createElement("p",null,"Service API key: ",n.createElement("strong",null,t.status==="available"?n.createElement("code",null,t.masked):t.status==="missing"?"Not available":"Preview unavailable")),n.createElement("p",{className:"a-caption"},a,t.envVar&&n.createElement(n.Fragment,null," · ",n.createElement("code",null,t.envVar))),n.createElement("p",{className:"a-caption"},"For new connections from this running service. Existing chats may still use an earlier key. A changed shell environment does not update a running service."))}function Er(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Provider configuration must be a JSON object.");function a(r){if(!(!r||typeof r!="object"))for(const[o,i]of Object.entries(r)){if(/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(o)&&typeof i=="string"&&!/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/.test(i)&&!/^\[redacted\]$/i.test(i))throw new Error("Enter credentials in the private API key field, or use an environment reference in configuration.");a(i)}}return a(t),t}function Ii(e){return(Array.isArray(e)?e:(e==null?void 0:e.models)||[]).map(a=>typeof a=="string"?{id:a,name:a}:{id:a.id||a.name||a.model,name:a.display_name||a.displayName||a.name||a.id||a.model}).filter(a=>a.id)}function _r(e,t,a){var r;return{...e,roles:{...e==null?void 0:e.roles,[t]:{...(r=e==null?void 0:e.roles)==null?void 0:r[t],...a}}}}function XL(e,t,a,r){var i,s;const o=[...((s=(i=e==null?void 0:e.roles)==null?void 0:i[t])==null?void 0:s.candidates)||[]];return o[a]={...o[a],...r},_r(e,t,{candidates:o})}function _f(e="my-routing"){return{name:e,roles:{general:{description:"General conversation and work",candidates:[{provider:"",model:""}]},fast:{description:"Quick and lightweight work",candidates:[{provider:"",model:""}]}}}}function Vw(e){try{const t=new URL(e);return t.protocol==="https:"?t.href:null}catch{return null}}function vp(e,t={}){var r,o;return(((r=e==null?void 0:e.configSchema)==null?void 0:r.fields)||((o=e==null?void 0:e.info)==null?void 0:o.config_fields)||[]).filter(i=>i.id&&i.field_type!=="secret"&&!/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(i.id)&&!["model","default_model"].includes(i.id)).filter(i=>i.requires_model&&!t.default_model&&!t.model?!1:Object.entries(i.show_when||{}).every(([s,l])=>{const c=String(t[s]??"").toLowerCase(),u=String(l).toLowerCase();if(u.startsWith("matches:"))try{return new RegExp(String(l).slice(8),"i").test(c)}catch{return!1}for(const[d,p]of[["not_contains:",m=>!c.includes(m)],["contains:",m=>c.includes(m)],["not_startswith:",m=>!c.startsWith(m)],["startswith:",m=>c.startsWith(m)]])if(u.startsWith(d))return p(u.slice(d.length));return c===u}))}function Tu(e,t,a){return!!a&&a.role===t&&a.source===JSON.stringify(e)&&Array.isArray(a.ids)&&a.ids.length===e.length&&new Set(a.ids).size===e.length&&a.ids.every(r=>e.some((o,i)=>String(i)===r))}function Rc(e,t,a){return Tu(e,t,a)?a:{role:t,ids:e.map((r,o)=>String(o)),source:JSON.stringify(e),notice:(a==null?void 0:a.role)===t?"The choices changed. Review the current order before saving.":""}}function Iu({login:e,onCancel:t,onRetry:a,busy:r=!1,chooseModel:o=!1}){const{active:i}=g.useContext(Jr),s=g.useId(),l=g.useRef(null),c=g.useRef(""),[u,d]=g.useState(!1),[p,m]=g.useState(!1),h=e.deviceCode||"",f=Vw(e.url),v=["starting","waiting"].includes(e.status);async function y(){var E;try{if(!((E=navigator.clipboard)!=null&&E.writeText))throw Error();await navigator.clipboard.writeText(h),d(!0),m(!1)}catch{d(!1),m(!0)}}return g.useEffect(()=>{i&&h&&c.current!==h&&(c.current=h,y())},[h,i]),e.status==="completed"?n.createElement("p",{className:"a-signin-success",role:"status"},n.createElement(Pt,null),o?"Signed in. Choose your model below.":"Signed in successfully."):n.createElement("div",{className:"a-device-signin"},v?n.createElement(n.Fragment,null,h?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:s},"1. Copy your sign-in code"),n.createElement("div",{className:"a-device-code"},n.createElement("input",{id:s,ref:l,readOnly:!0,value:h,spellCheck:!1,onFocus:E=>E.target.select(),onClick:E=>E.currentTarget.select()}),n.createElement("button",{className:"a-soft",type:"button","aria-label":"Copy sign-in code",onClick:y},u?n.createElement(Pt,null):n.createElement(ar,null),u?"Copied":"Copy")),n.createElement("p",{className:"a-caption",role:"status"},u?"Copied to your clipboard.":p?"Select the code to copy it, or use the Copy button.":"Keep this code ready for the next step.")):n.createElement("p",{role:"status"},"Getting your sign-in code…"),h&&f&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-device-step"},"2. Open ChatGPT and paste the code"),n.createElement("a",{className:"a-primary",href:f,target:"_blank",rel:"noopener noreferrer"},"Open ChatGPT",n.createElement(ba,null)),n.createElement("p",{className:"a-caption",role:"status"},"Waiting for sign-in. This page will continue automatically.")),n.createElement("button",{className:"a-link",type:"button",disabled:r,"data-action":"providers.loginCancel",onClick:t},"Cancel sign-in")):n.createElement(n.Fragment,null,n.createElement("p",{role:e.error?"alert":"status"},e.error||"Sign-in was cancelled. You can try again."),n.createElement("button",{className:"a-primary",disabled:r,"data-action":"providers.login",onClick:a},"Try sign-in again")))}function fr({title:e,description:t,onClick:a,Icon:r=zr,page:o,count:i,disabled:s=!1}){return n.createElement("button",{type:"button",className:"a-everyday-row",disabled:s,"data-action":"view.update","data-settings-destination":o,onClick:a},r!==zr&&n.createElement(r,{"aria-hidden":"true"}),n.createElement("span",null,n.createElement("strong",null,e),t&&n.createElement("small",null,t)),n.createElement(Da,{count:i}),n.createElement(Gt,{"aria-hidden":"true"}))}function eD({navigate:e,state:t}){var r,o,i,s;const a=[["recall","Memory & past work","Choose what is saved and reused. Review and correct memories.",Ak],["workspaces","Files & folders","Choose where new workspaces are created.",tr],["permissions","File access","Review additional allowed and blocked folders.",ix],["desktop","Screen & computer access","Check the host, browser, and permission status.",Mu],["history","Saved work","Import, export, and review cleanup.",yi],["diagnostics","App diagnostic capture","Review recorded data and forwarding destinations.",po]];return n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Your saved work, memory, and access choices."),n.createElement("div",{className:"a-everyday-list"},a.filter(l=>l[0]!=="diagnostics").map(([l,c,u,d])=>{var p,m;return n.createElement(fr,{key:l,count:(m=(p=t.attention)==null?void 0:p.pages)==null?void 0:m[l],page:l,title:c,description:u,Icon:d,onClick:()=>e(l)})})),n.createElement("h4",null,"Diagnostics"),n.createElement("div",{className:"a-everyday-list"},n.createElement(fr,{page:"diagnostics",count:(o=(r=t.attention)==null?void 0:r.pages)==null?void 0:o.diagnostics,title:"App diagnostic capture",description:"Review collected records and forwarding.",Icon:po,onClick:()=>e("diagnostics")})),n.createElement("div",{className:"a-everyday-footer"},n.createElement(fr,{page:"repair",count:(s=(i=t.attention)==null?void 0:i.pages)==null?void 0:s.repair,title:"Backups & recovery",description:"Create a private backup or troubleshoot this app.",onClick:()=>e("repair")})))}function tD({sections:e,navigate:t,state:a}){const r=e.flatMap(i=>i.pages).filter(([i])=>i.startsWith("shell:")),o=[{title:"Model rules",description:"Routing profiles, roles, and model preference.",page:"routing"},{title:"Provider configuration",description:"Instance names, credentials, and custom providers.",page:"providers"},{title:"Bundles & modules",description:"Composition, discovery, defaults, registries, and loaded modules.",pages:["app-bundles","add-bundles","defaults","loaded-modules","share-bundle","registries"]},{title:"Tool connections",description:"MCP connections, installation sources, and authentication.",page:"tool-connections"},{title:"Custom appearance",description:"Import, export, theme folders, and custom CSS.",page:"custom-appearance"},{title:"Conversation & work",description:"Current conversation, outputs, review, and publishing.",pages:["conversation","outputs","publishing"]},{title:"Performance & runtime",description:"Ready conversations, session controls, and terminal access.",pages:["ready-conversations","runtime","automation","install-app"]},{title:"Troubleshooting & recovery",description:"Diagnostics, backups, repair, and reset options.",pages:["diagnostics","repair","reset"]}];return n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"The full configuration, when you need it."),n.createElement("div",{className:"a-everyday-list"},o.map(i=>{var s,l;return i.page?n.createElement(fr,{key:i.title,title:i.title,description:i.description,page:i.page,count:(l=(s=a.attention)==null?void 0:s.pages)==null?void 0:l[i.page],onClick:()=>t(i.page)}):n.createElement("details",{className:"a-advanced-group",key:i.title},n.createElement("summary",null,n.createElement("span",null,n.createElement("strong",null,i.title),n.createElement("small",null,i.description)),n.createElement(Da,{count:i.pages.reduce((c,u)=>{var d,p;return c+(((p=(d=a.attention)==null?void 0:d.pages)==null?void 0:p[u])||0)},0)}),n.createElement(Gt,null)),n.createElement("div",null,i.pages.map(c=>{var u,d;return n.createElement(fr,{key:c,page:c,count:(d=(u=a.attention)==null?void 0:u.pages)==null?void 0:d[c],title:gp(c,e),onClick:()=>t(c)})})))})),r.length>0&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Extension settings"),n.createElement("div",{className:"a-everyday-list"},r.map(([i,s])=>{var l,c;return n.createElement(fr,{key:i,page:i,count:(c=(l=a.attention)==null?void 0:l.pages)==null?void 0:c[i],title:s,Icon:Dr,onClick:()=>t(i)})}))))}const Ww=g.createContext(null);function Zw(e,t){const a=g.useContext(Ww);g.useEffect(()=>{a==null||a.register(e,t)}),g.useEffect(()=>()=>a==null?void 0:a.remove(e),[a,e])}function nD(){const e=g.useRef(new Map),t=g.useRef(null),[a,r]=g.useState(0),[o,i]=g.useState(null),s=g.useCallback(()=>r([...e.current.values()].filter(f=>f.dirty).length),[]),l=g.useCallback((f,v)=>{var E;const y=!!((E=e.current.get(f))!=null&&E.dirty)!=!!v.dirty;e.current.set(f,v),y&&s()},[s]),c=g.useCallback(f=>{e.current.delete(f)&&s()},[s]),u=g.useMemo(()=>({register:l,remove:c}),[l,c]),d=g.useCallback(()=>[...e.current.values()].some(f=>f.dirty),[]),p=g.useCallback(()=>{const f=[...e.current.values()].filter(E=>E.dirty);if(!f.length)return Promise.resolve(!0);if(t.current)return t.current.promise;let v;const y=new Promise(E=>{v=E});return t.current={promise:y,resolve:v},i(f),y},[]),m=f=>{const v=t.current;t.current=null,i(null),v==null||v.resolve(f)};g.useEffect(()=>{if(!a)return;const f=v=>{v.preventDefault(),v.returnValue=""};return window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)},[a]),g.useEffect(()=>()=>{var f;(f=t.current)==null||f.resolve(!1)},[]);const h=o&&n.createElement("div",{className:"a-settings-draft-overlay"},n.createElement("div",{className:"a-settings-draft-confirm",role:"alertdialog","aria-modal":"true","aria-labelledby":"settings-unsaved-title",onKeyDown:f=>{var v;if(f.key==="Escape"&&(f.preventDefault(),f.stopPropagation(),m(!1)),f.key==="Tab"){const y=[...f.currentTarget.querySelectorAll("button")],E=y.indexOf(document.activeElement);f.preventDefault(),(v=y[(E+(f.shiftKey?-1:1)+y.length)%y.length])==null||v.focus()}}},n.createElement("h3",{id:"settings-unsaved-title"},"Unsaved connection changes"),n.createElement("p",null,"Your changes have not been saved. Review them before closing Settings, or discard them."),n.createElement("ul",null,o.map(f=>n.createElement("li",{key:f.label},f.label))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",autoFocus:!0,onClick:()=>{o[0].review(),m(!1)}},"Review and save"),n.createElement("button",{type:"button",className:"a-soft a-danger",onClick:()=>{o.forEach(f=>f.discard()),m(!0)}},"Discard changes"),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>m(!1)},"Keep settings open"))));return{context:u,confirmClose:p,hasUnsaved:d,count:a,dialog:h}}function aD({value:e,children:t}){return n.createElement(Ww.Provider,{value:e},t)}function rD(e,t,a){const[r,o]=g.useState(e),i=g.useRef(a);return i.current=a,g.useEffect(()=>{if(e===r)return;const s=u=>u==="settings"||u==="appearance",l=t.current;if(!s(r)||s(e)||!(l!=null&&l.hasUnsaved())){o(e);return}let c=!0;return l.confirmClose().then(u=>{c&&(u?o(e):i.current(r))}),()=>{c=!1}},[e,r,t]),r}function ka(e,t,a,r,o,i,{simple:s=!1}={}){var h,f;const l=((f=(h=e.view)==null?void 0:h.settingsFilters)==null?void 0:f[a])||"",[c,u]=g.useState(l);g.useEffect(()=>u(l),[l]);const d=nl(r,c,o),p=v=>{var y;u(v),t("view.update",{patch:{settingsFilters:{...(y=e.view)==null?void 0:y.settingsFilters,[a]:v}}})},m=n.createElement("div",{className:"a-list-filter"},n.createElement("label",{htmlFor:"filter-"+a},n.createElement(Ro,null),i),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:"filter-"+a,type:"search",value:c,placeholder:s?i:"Search or pattern, e.g. *openai*","data-action":"view.update",onChange:v=>p(v.target.value)}),c&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Clear "+i.toLowerCase(),"data-action":"view.update",onClick:()=>p("")},n.createElement(tn,null))),n.createElement("small",{role:"status"},d.length," of ",r.length,c&&!d.length?" · No matches":"",!s&&n.createElement(n.Fragment,null," · Text search or wildcards: * ? [abc] [!abc]")));return[d,m,c]}function bp({id:e,label:t="Model",value:a="",onChange:r,onCommit:o,entry:i,models:s,state:l,act:c,disabled:u=!1,placeholder:d="Enter a model ID",catalogKey:p=e,editable:m=!1}){var x;const h=(i==null?void 0:i.phase)==="working"||(i==null?void 0:i.phase)==="queued",f=g.useRef(null),v=g.useRef(null);let y=Ii((i==null?void 0:i.models)??s??[]);!m&&(h||(i==null?void 0:i.phase)==="error")&&!y.length&&((x=f.current)==null?void 0:x.key)===p&&(y=f.current.models),!h&&(i==null?void 0:i.phase)!=="error"&&(f.current={key:p,models:y}),Vu(v,h);const[E,b]=ka(l,c,"model-picker-"+e,y,w=>[w.id,w.name],"Filter "+t.toLowerCase());return m?n.createElement("div",{className:"a-model-select",ref:v,"data-activity-region":"models"},n.createElement("input",{list:y.length?e+"-options":void 0,id:e,"aria-label":t,value:a,disabled:u,placeholder:d,"data-action":"view.update",onChange:w=>r(w.target.value),onBlur:w=>o==null?void 0:o(w.target.value)}),y.length>0&&n.createElement(n.Fragment,null,n.createElement("datalist",{id:e+"-options"},y.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name))),y.length>12&&b,n.createElement("select",{id:e+"-catalog","aria-label":"Choose "+t.toLowerCase()+" from catalog",value:y.some(w=>w.id===a)?a:"",disabled:u,"data-action":"view.update",onChange:w=>{w.target.value&&(r(w.target.value),o==null||o(w.target.value))}},n.createElement("option",{value:""},"Choose from ",y.length," cached models…"),E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name)))),h&&n.createElement("small",{role:"status"},y.length?"Refreshing in the background. Saved models are available.":"Discovering models. You can enter a model ID now."),(i==null?void 0:i.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},i.error||"Model list unavailable. Enter a model ID or refresh this provider."),(i==null?void 0:i.loadedAt)&&n.createElement("small",null,"Catalog checked ",new Date(i.loadedAt*1e3).toLocaleString()),(i==null?void 0:i.phase)==="ready"&&!y.length&&n.createElement("small",null,i.supported===!1?"This provider does not supply a model list.":"This provider returned no models."," Enter a model ID.")):n.createElement("div",{className:"a-model-select",ref:v,"data-activity-region":"models"},y.length>12&&b,(i==null?void 0:i.phase)!=="error"&&(y.length||h)?n.createElement("select",{id:e,"aria-label":t,value:a,disabled:u||h&&!y.length,"data-action":"view.update",onChange:w=>{r(w.target.value),o==null||o(w.target.value)}},n.createElement("option",{value:""},h?"Loading provider models…":"Choose a model…"),a&&!E.some(w=>w.id===a)&&n.createElement("option",{value:a},a," (selected)"),E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name))):n.createElement(n.Fragment,null,n.createElement("input",{list:y.length?e+"-options":void 0,id:e,"aria-label":t,value:a,disabled:u,placeholder:d,"data-action":"view.update",onChange:w=>r(w.target.value),onBlur:w=>o==null?void 0:o(w.target.value)}),y.length>0&&n.createElement("datalist",{id:e+"-options"},E.map(w=>n.createElement("option",{key:w.id,value:w.id},w.name)))),(i==null?void 0:i.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},i.error||"Model list unavailable. Enter a model ID or refresh this provider."),(i==null?void 0:i.phase)==="ready"&&!y.length&&n.createElement("small",null,i.supported===!1?"This provider does not supply a model list.":"This provider returned no models."," Enter a model ID."))}const Pf={"provider-anthropic":"git+https://github.com/microsoft/amplifier-module-provider-anthropic@main","provider-azure-openai":"git+https://github.com/microsoft/amplifier-module-provider-azure-openai@main","provider-chat-completions":"git+https://github.com/microsoft/amplifier-module-provider-chat-completions@main","provider-gemini":"git+https://github.com/microsoft/amplifier-module-provider-gemini@main","provider-github-copilot":"git+https://github.com/microsoft/amplifier-module-provider-github-copilot@main","provider-ollama":"git+https://github.com/microsoft/amplifier-module-provider-ollama@main","provider-openai":"git+https://github.com/microsoft/amplifier-module-provider-openai@main","provider-openai-chatgpt":"git+https://github.com/microsoft/amplifier-module-provider-openai-chatgpt@main","provider-vllm":"git+https://github.com/microsoft/amplifier-module-provider-vllm@main"},yp=[{module:"provider-github-copilot",name:"GitHub Copilot Subscription",description:"Use your GitHub Copilot subscription.",auth:"token"},{module:"provider-openai-chatgpt",name:"ChatGPT Subscription",description:"Sign in with your ChatGPT account.",auth:"signin"},{module:"provider-openai",name:"OpenAI API",description:"Use an API key. API billing is separate from ChatGPT.",auth:"key"},{module:"provider-anthropic",name:"Anthropic API",description:"Connect with your Anthropic API key.",auth:"key"},{module:"provider-gemini",name:"Google Gemini API",description:"Connect with your Gemini API key.",auth:"key"},{module:"provider-chat-completions",name:"OpenAI Compatible API",description:"Connect a local model or another compatible service.",auth:"optional-key"}],oD=[...yp,{module:"provider-azure-openai",name:"Azure OpenAI"},{module:"provider-ollama",name:"Ollama"},{module:"provider-vllm",name:"vLLM"}],Tc=Object.keys(Pf).map(e=>({...oD.find(t=>t.module===e),module:e,source:Pf[e]}));function Ic(e){return yp.find(t=>t.module===e)||{module:e,name:(e==null?void 0:e.replace(/^provider-/,""))||"AI service",auth:"key"}}function iD(e,t,a){var r,o;return(o=(r=e.setup)==null?void 0:r.operations)==null?void 0:o[t+":"+a]}function Of(e){return["working","pending","queued"].includes(e==null?void 0:e.phase)}function sD(e,t){if(!t)return null;const a=iD(e,t.action,t.id);return(a==null?void 0:a.commandId)===t.commandId?a:null}function lD({state:e,session:t,act:a,navigate:r}){var D,G,j,K,oe,xe,ce,_e,$e,De,de,ve,O;const o=g.useContext(Jr),i=e.setup||{},s=(i.providers||[]).filter(W=>W.enabled!==!1),l=((D=e.view)==null?void 0:D.aiConnectionEditor)||{},c=l.step||"list",u=Ic(l.module),d=s.find(W=>W.id===l.id),[p,m]=g.useState(""),[h,f]=g.useState(""),[v,y]=g.useState(""),[E,b]=g.useState(null),x=g.useRef(!1),w=g.useRef(t==null?void 0:t.workspace),R=g.useRef(0),S=g.useRef(!0),I=W=>a("view.update",{patch:{aiConnectionEditor:{...l,...W}}});g.useEffect(()=>(S.current=!0,()=>{S.current=!1,R.current++}),[]),g.useEffect(()=>{w.current!==(t==null?void 0:t.workspace)&&(R.current++,w.current=t==null?void 0:t.workspace,m(""),b(null),x.current=!1,I({step:"list",id:"",model:""})),a("providers.list",t?{sessionId:t.id}:{}),a("routing.list")},[t==null?void 0:t.workspace]);async function N(W,ae={},ze=""){if(x.current)return;x.current=!0;const Me=++R.current;f(""),y(""),b({action:W,id:ae.id||ae.module||"",commandId:null,next:ze});try{const be=await a(W,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(W)?{sessionId:t.id}:{},...ae});if(!S.current||Me!==R.current)return;if(!(be!=null&&be.accepted)||!be.operationId)throw Error((be==null?void 0:be.error)||"The request could not be confirmed. Please try again.");b({action:W,id:ae.id||ae.module||"",commandId:be.operationId,next:ze})}catch(be){S.current&&Me===R.current&&(f(be.message),b(null),x.current=!1)}}const M=sD(e,E),k=!!E;g.useEffect(()=>{var ze;if(!M||Of(M))return;const W=E.next,ae=E.action;if(b(null),x.current=!1,M.phase==="error"){f(M.error||"The request did not finish. Your choices are kept.");return}M.phase==="ready"&&(ae==="providers.save"?(m(""),I({saved:!0,...W==="models"?{step:"model"}:{}}),W==="signin"?N("providers.login",{id:l.id}):W==="models"&&N("providers.models",{id:l.id})):ae==="providers.remove"?(m(""),I({step:"list",id:"",saved:!1}),y("Connection removed. Existing conversations keep their configuration.")):ae==="providers.finishSetup"?(I({step:"list",saved:!1}),y((ze=i.setupCompletion)!=null&&ze.routingSelected?"Connection saved. Balanced model rules are ready for new conversations.":"Model saved. Existing model rules are unchanged.")):ae==="providers.models"&&y("Model list checked. No chat request was sent."))},[M==null?void 0:M.commandId,M==null?void 0:M.phase]);const T=((G=i.login)==null?void 0:G.providerId)===l.id?i.login:null;g.useEffect(()=>{o.active&&c==="connect"&&l.saved&&(T==null?void 0:T.status)==="completed"&&T.loginId!==l.previousLoginId&&!k&&(I({step:"model"}),N("providers.models",{id:l.id}))},[c,l.saved,T==null?void 0:T.status,T==null?void 0:T.loginId,k,o.active]);const A=(j=i.providerCatalogs)==null?void 0:j[l.id],q=Ii((A==null?void 0:A.models)||((K=i.modelCatalogs)==null?void 0:K[l.id])||[]),z=Of((oe=i.operations)==null?void 0:oe["providers.models:"+l.id])||(A==null?void 0:A.phase)==="working",F=((xe=i.credentialCheck)==null?void 0:xe.module)===l.module?i.credentialCheck:null,H=l.credentialMode==="auto"?F!=null&&F.githubCliAvailable?"github-cli":F!=null&&F.available?"environment":"private":l.credentialMode||"private",ne=W=>{Ic(W).auth!=="signin"&&N("providers.credentials",{module:W})},B=W=>{x.current||(m(""),f(""),y(""),I({step:"connect",module:W.module,id:W.module.replace("provider-","")+"-"+crypto.randomUUID().slice(0,8),model:"",baseUrl:"",previousLoginId:null,scope:"global",saved:!1,credentialMode:"auto",initializeRouting:s.length===0}),ne(W.module))},P=()=>{var W;return N("providers.save",{id:l.id,module:l.module,config:{...d==null?void 0:d.config,...u.auth==="optional-key"?{base_url:(W=l.baseUrl)==null?void 0:W.trim()}:{}},scope:l.scope||"global",...u.auth==="signin"?{}:H==="environment"?{apiKeyEnv:F==null?void 0:F.envVar}:H==="github-cli"?{useGitHubCli:!0}:{apiKey:p}},u.auth==="signin"?"signin":"models")},_=()=>{f(""),I({step:c==="services"||c==="detail"?"list":c==="model"?"detail":"services"})},ee=()=>r("providers"),Z=!!p||c==="connect"&&!!l.baseUrl&&l.baseUrl!==(((ce=d==null?void 0:d.config)==null?void 0:ce.base_url)||"")||c==="model"&&!!l.model&&l.model!==(((_e=d==null?void 0:d.config)==null?void 0:_e.default_model)||(($e=d==null?void 0:d.config)==null?void 0:$e.model)||"");return Zw("ai-connections",{label:"AI connection setup",dirty:Z,review:()=>{r("ai-connections"),I({step:c})},discard:()=>{m(""),f(""),I({step:"list",id:"",module:"",model:"",baseUrl:"",saved:!1})}}),n.createElement("section",{"data-part":"ai-connections",className:"a-ai-form"},c==="list"?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Connect the AI services Amplifier can use for your work."),s.length?n.createElement(n.Fragment,null,n.createElement("div",{className:"a-everyday-list"},s.map(W=>{var ae,ze,Me,be;return n.createElement(fr,{key:W.id,disabled:k,title:Ic(W.module).name+(s.filter(rt=>rt.module===W.module).length>1?" · "+W.id:""),description:(((ae=W.config)==null?void 0:ae.default_model)||((ze=W.config)==null?void 0:ze.model)||"Choose a model")+" · "+(W.accountConnected?"Account connected":W.credentialsConfigured?"Credentials available":W.keySource==="provider-managed"?"Account sign-in":"Connection needs setup")+((be=(Me=W.credential)==null?void 0:Me.preview)!=null&&be.masked?" · Key "+W.credential.preview.masked:""),onClick:()=>{var rt,wt,Dt,It;f(""),y(""),I({step:"detail",id:W.id,module:W.module,model:((rt=W.config)==null?void 0:rt.default_model)||((wt=W.config)==null?void 0:wt.model)||"",scope:"global",baseUrl:((Dt=W.config)==null?void 0:Dt.base_url)||"",previousLoginId:(It=i.login)==null?void 0:It.loginId,saved:!0,initializeRouting:!1})}})})),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:k,onClick:()=>I({step:"services"})},n.createElement(Mn,null),"Connect another service")):n.createElement("div",{className:"a-ai-welcome"},n.createElement(lx,{"aria-hidden":"true"}),n.createElement("h4",null,"Start with one connection"),n.createElement("p",null,"Choose a service, connect your account, and choose a model. You can add more later."),n.createElement("button",{className:"a-primary","data-action":"view.update",disabled:k,onClick:()=>I({step:"services"})},n.createElement(Mn,null),"Connect AI")),i.active&&s.length>0&&n.createElement("div",{className:"a-ai-hint"},"Your model rules are saved. ",n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>r("routing")},"Advanced model rules")),n.createElement("div",{className:"a-everyday-footer"},n.createElement("p",{className:"a-caption"},"Connections are stored on the Amplifier host. Existing conversations keep their settings."),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Advanced connection settings",n.createElement(ba,null)))):n.createElement(n.Fragment,null,n.createElement("button",{className:"a-link","data-action":"view.update",disabled:k,onClick:_},n.createElement(xa,null),"Back"),c==="services"?n.createElement(n.Fragment,null,n.createElement("h4",null,"Which service would you like to use?"),n.createElement("div",{className:"a-everyday-list"},yp.map(W=>n.createElement(fr,{key:W.module,disabled:k,title:W.name,description:W.description,onClick:()=>B(W)}))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Other provider or custom endpoint")):n.createElement(n.Fragment,null,n.createElement("p",{className:"a-ai-step"},c==="connect"?"1 · Connect":c==="model"?"2 · Choose a model":"Saved connection"),n.createElement("h4",null,u.name),c==="detail"?n.createElement(n.Fragment,null,n.createElement("p",null,d!=null&&d.accountConnected?"Your ChatGPT account is connected.":d!=null&&d.credentialsConfigured?"This connection has credentials available on the Amplifier host.":"This connection needs credentials before it can be used."),n.createElement("p",null,"Model: ",n.createElement("strong",null,((De=d==null?void 0:d.config)==null?void 0:De.default_model)||((de=d==null?void 0:d.config)==null?void 0:de.model)||"Not selected")),n.createElement(Ru,{credential:d==null?void 0:d.credential}),n.createElement("button",{className:"a-link","data-action":"providers.list",disabled:k,onClick:()=>N("providers.list")},n.createElement(zt,null),"Refresh credentials"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"providers.models",disabled:k,onClick:()=>{I({step:"model"}),N("providers.models",{id:l.id})}},"Choose model"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:k,onClick:()=>{I({step:"connect",previousLoginId:T==null?void 0:T.loginId,credentialMode:"private"}),ne(l.module)}},u.auth==="signin"?d!=null&&d.accountConnected?"Reconnect account":"Sign in":"Change credentials"),n.createElement("button",{className:"a-soft","data-action":"providers.test",disabled:k,onClick:()=>N("providers.test",{id:l.id})},"Check connection")),n.createElement("p",{className:"a-caption"},"Checking verifies the model catalog, without sending a chat request."),n.createElement(Hw,{key:l.id,state:e,id:l.id,sessionId:t==null?void 0:t.id,act:a,disabled:k}),n.createElement("div",{className:"a-dialog-actions a-connection-secondary-actions"},n.createElement("button",{className:"a-soft a-danger","data-action":"providers.remove",disabled:k,onClick:()=>N("providers.remove",{id:l.id,scope:l.scope||"global"})},n.createElement(Qn,null),"Remove connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Full connection settings"))):c==="connect"?n.createElement(n.Fragment,null,u.auth==="signin"?n.createElement(n.Fragment,null,T&&T.loginId!==l.previousLoginId?n.createElement(Iu,{login:T,busy:k,onCancel:()=>N("providers.loginCancel",{id:l.id}),onRetry:()=>N("providers.login",{id:l.id})}):n.createElement(n.Fragment,null,n.createElement("p",null,"Connect your ChatGPT subscription with a one-time sign-in code."),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"providers.save",disabled:k,onClick:P},k?"Getting ready…":"Get sign-in code")))):n.createElement(n.Fragment,null,u.auth==="optional-key"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-base-url"},"API base URL"),n.createElement("input",{id:"ai-base-url",type:"url",placeholder:"http://localhost:1234/v1",value:l.baseUrl||"",disabled:k,onChange:W=>I({baseUrl:W.target.value})}),n.createElement("p",{className:"a-caption"},"Use an address reachable from the computer running Amplifier. Include /v1 if your service requires it.")),((F==null?void 0:F.available)||(F==null?void 0:F.githubCliAvailable))&&n.createElement("fieldset",{className:"a-credential-options"},n.createElement("legend",null,"How would you like to connect?"),F.available&&n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="environment",onChange:()=>{m(""),I({credentialMode:"environment"})}}),n.createElement("span",null,n.createElement("strong",null,"Use the key already on this host"),n.createElement("small",null,"Found ",F.envVar,". Only its name is saved; the key stays in the environment."))),F.githubCliAvailable&&n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="github-cli",onChange:()=>{m(""),I({credentialMode:"github-cli"})}}),n.createElement("span",null,n.createElement("strong",null,"Use GitHub CLI sign-in"),n.createElement("small",null,"Use the host’s signed-in GitHub account. Its token is saved privately for this connection."))),n.createElement("label",null,n.createElement("input",{type:"radio",name:"ai-credential",checked:H==="private",onChange:()=>I({credentialMode:"private"})}),n.createElement("span",null,n.createElement("strong",null,"Use a different key"),n.createElement("small",null,"Connect another account or enter a key yourself.")))),H==="environment"&&n.createElement(Ru,{credential:F}),H==="private"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-private-key"},u.auth==="token"?"GitHub token":u.auth==="optional-key"?"API key (optional)":"API key"),n.createElement("input",{id:"ai-private-key",type:"password",autoComplete:"off",spellCheck:!1,value:p,onChange:W=>m(W.target.value),disabled:k}),n.createElement("p",{className:"a-caption"},u.auth==="optional-key"?"Leave blank if your local service does not need a key.":"Stored privately for this connection. Other accounts keep their own keys.")),u.auth==="token"&&!(F!=null&&F.githubCliAvailable)&&!(F!=null&&F.available)&&n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Help connecting GitHub Copilot"),n.createElement("div",null,n.createElement("p",null,"Sign in to GitHub CLI on the computer running Amplifier, then check again. Or use a GitHub token for an account with Copilot access."),n.createElement("a",{href:"https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",target:"_blank",rel:"noreferrer"},"GitHub setup guide"),n.createElement("button",{className:"a-link",disabled:k,onClick:()=>ne(l.module)},"Check host sign-in again"))),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"providers.save",disabled:k||u.auth==="optional-key"&&!/^https?:\/\/[^\s]+$/.test(l.baseUrl||"")||(H==="environment"?!(F!=null&&F.available):H==="github-cli"?!(F!=null&&F.githubCliAvailable):u.auth!=="optional-key"&&!p.trim()),onClick:P},k?"Connecting…":"Save and check connection")))):c==="model"?n.createElement(n.Fragment,null,(T==null?void 0:T.status)==="completed"&&n.createElement(Iu,{login:T,chooseModel:!0}),n.createElement("p",null,"Choose from the models available through this connection."),q.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-model"},"Model"),n.createElement(bp,{id:"ai-model",label:"Model",value:l.model||"",catalogKey:l.id,entry:{...A,models:q,phase:"ready"},state:e,act:a,onChange:W=>I({model:W})})):n.createElement("p",{role:"status"},z?"Loading models…":"No model list is available yet. Retry or enter a model ID under More options."),z&&q.length>0&&n.createElement("p",{className:"a-caption",role:"status"},"Refreshing in the background. Saved models remain available."),(A==null?void 0:A.phase)==="error"&&n.createElement(it,{phase:"error",message:A.error||"Could not refresh the model list. Saved choices are kept."}),n.createElement("button",{className:"a-link","data-action":"providers.models",disabled:k||z,onClick:()=>N("providers.models",{id:l.id,refresh:!0})},n.createElement(zt,null),"Refresh models"),n.createElement("div",{className:"a-ai-hint"},l.initializeRouting?"Balanced model rules choose suitable models for each task. This connection’s default is used when no rule applies.":"This changes the connection’s default model. Existing model rules may choose a different model."),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:k||!((ve=l.model)!=null&&ve.trim()),"data-action":"providers.finishSetup",onClick:()=>N("providers.finishSetup",{id:l.id,model:l.model,scope:l.scope||"global",initializeRouting:!!l.initializeRouting})},k?"Saving…":"Finish setup"))):null,n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"More options"),n.createElement("div",null,n.createElement("label",{htmlFor:"ai-scope"},"Save for"),n.createElement("select",{id:"ai-scope",value:l.scope||"global",disabled:k,"data-action":"view.update",onChange:W=>I({scope:W.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"local"},"This workspace on this host"),n.createElement("option",{value:"project"},"This project (shareable configuration)")),c==="model"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"ai-model-manual"},"Model ID"),n.createElement("input",{id:"ai-model-manual",value:l.model||"",disabled:k,"data-action":"view.update",onChange:W=>I({model:W.target.value})})),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:ee},"Full provider configuration"))))),h&&n.createElement(it,{phase:"error",message:h}),v&&n.createElement(it,{phase:"ready",message:v}),k&&n.createElement(it,{phase:"working",message:"Working on this connection…"}),!k&&((O=i.test)==null?void 0:O.providerId)===l.id&&c==="detail"&&n.createElement(it,{phase:i.test.reachable===!1?"error":"ready",message:i.test.reachable===!1?"Connection check failed.":"Model catalog check passed."}))}function Va({id:e,label:t,description:a,selected:r,onSelect:o,checked:i,onCheck:s,disabled:l,badge:c,checkLabel:u,checkAction:d="view.update"}){return n.createElement("div",{className:"a-collection-row"+(r?" selected":""),"data-collection-id":e},s&&n.createElement("label",{className:"a-collection-check"},n.createElement("input",{type:"checkbox","aria-label":u||"Select "+t,checked:!!i,disabled:l,"data-action":d,onChange:p=>s(p.target.checked)})),n.createElement("button",{type:"button","aria-current":r?"true":void 0,"data-action":"view.update",onClick:o},n.createElement("span",null,n.createElement("strong",null,t),a&&n.createElement("small",null,a)),c&&n.createElement("small",{className:"a-collection-badge"},c),n.createElement(Gt,{"aria-hidden":"true"})))}function So({list:e,children:t,detailOpen:a=!0,onBack:r,label:o="items"}){const i=g.useRef(null),s=g.useRef(null),l=g.useContext(Jr);g.useEffect(()=>{var u;a&&l.compact&&((u=s.current)==null||u.focus({preventScroll:!0}))},[a,l.compact]);const c=()=>{r==null||r(),requestAnimationFrame(()=>{var u,d;return(d=(u=i.current)==null?void 0:u.querySelector("button[aria-current=true],button"))==null?void 0:d.focus({preventScroll:!0})})};return n.createElement("div",{className:"a-collection"+(a?" detail-open":"")},n.createElement("div",{className:"a-collection-list",ref:i},e),n.createElement("div",{className:"a-collection-detail",ref:s,tabIndex:-1},r&&!l.compact&&n.createElement("button",{type:"button",className:"a-link a-collection-back","data-action":"view.update",onClick:c},n.createElement(xa,null),"Back to ",o),t))}function Ep({title:e,description:t,items:a,ids:r,onChange:o,onSave:i,onCancel:s,busy:l=!1,error:c,notice:u,action:d="view.update"}){const[p,m]=g.useState(!1);return n.createElement("section",{className:"a-order-editor"},n.createElement("h4",null,e),u&&n.createElement("p",{role:"status"},u),n.createElement("p",null,t),n.createElement("p",{className:"a-caption"},"Drag the handle or choose a position. Changes apply when you save."),n.createElement(yg,{items:a,ids:r,onChange:o,onDraggingChange:m,busy:l,className:"a-order-list",rowClassName:"a-order-item",floatingClassName:"a-order-item",savedHint:"Save order to apply.",renderItem:(h,{handle:f,index:v,move:y})=>n.createElement(n.Fragment,null,f,n.createElement("span",{className:"a-order-copy"},n.createElement("strong",null,h.label),n.createElement("small",null,h.description)),n.createElement("span",{className:"a-order-arrows"},n.createElement("button",{type:"button",className:"a-icon",disabled:l||v===0,"aria-label":"Move "+h.label+" up","data-action":"view.update",onClick:()=>y(v-1)},n.createElement(zi,null)),n.createElement("button",{type:"button",className:"a-icon",disabled:l||v===r.length-1,"aria-label":"Move "+h.label+" down","data-action":"view.update",onClick:()=>y(v+1)},n.createElement(rg,null))),n.createElement("select",{"aria-label":"Position of "+h.label,value:v,disabled:l,"data-action":"view.update",onChange:E=>y(Number(E.target.value))},r.map((E,b)=>n.createElement("option",{key:b,value:b},b+1))))}),c&&n.createElement("p",{role:"alert",className:"a-danger"},c),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary",disabled:l||p,"data-action":d,onClick:i},l?"Saving order…":"Save order"),n.createElement("button",{type:"button",className:"a-soft",disabled:l,"data-action":"view.update",onClick:s},"Cancel")))}const lr=e=>JSON.stringify(e,null,2),ps=e=>["queued","working","pending","running"].includes(e==null?void 0:e.phase);function cD({state:e,act:t}){var P,_,ee,Z,D,G,j,K,oe,xe,ce,_e,$e,De,de,ve;g.useContext(Jr);const a=(P=e.view)==null?void 0:P.routingEditor,[r,o]=g.useState({name:"my-routing",scope:"global",matrix:null,newRole:"",...a}),i=g.useRef(r),[s,l]=g.useState({});g.useEffect(()=>{a&&(i.current=a,o(a))},[a]);const c=O=>{const W={...i.current,...O};i.current=W,o(W),t("view.update",{patch:{routingEditor:W}})},u=e.setup||{},d=u.providers||[],p=u.matrices||[],[m,h]=ka(e,t,"routing-profiles",p,O=>[O.name,O.description,O.source],"Filter routing profiles"),f=O=>{var W;return s[O]||((W=e.actionStatus)==null?void 0:W[O])},v=async(O,W={})=>{l(ae=>({...ae,[O]:{phase:"pending"}}));try{const ae=await t(O,W);return l(ze=>({...ze,[O]:ae?null:{phase:"error",error:"Request could not be sent. Try again."}})),ae}catch(ae){l(ze=>({...ze,[O]:{phase:"error",error:ae.message}}))}};g.useEffect(()=>{v("routing.list"),i.current.requested&&v("routing.show",{name:i.current.requested})},[]);const y=()=>({...r.profiles,...r.matrix?{[r.profileKey||r.name]:{matrix:r.matrix,name:r.name,role:r.role,candidate:r.candidate,rawText:r.rawText,raw:r.raw}}:{}}),E=O=>{const W=y(),ae=W[O];ae?c({...ae,profileKey:O,requested:null,profiles:W,order:null,error:"",detailOpen:!1,candidateOpen:!1}):(c({profileKey:O,requested:O,profiles:W,order:null,error:""}),v("routing.show",{name:O}))};g.useEffect(()=>{if(u.matrix&&u.matrix.name===i.current.requested){const O=u.matrix;c({matrix:O,name:O.name,profileKey:O.name,requested:null,rawText:lr(O),raw:!1,role:Object.keys(O.roles||{})[0],candidate:0,detailOpen:!1,candidateOpen:!1,error:""})}},[u.matrix,r.requested]),g.useEffect(()=>{!i.current.matrix&&!i.current.requested&&p.length&&E(u.active||p[0].name)},[p]);const b=r.matrix||_f(r.name),x=Object.entries(b.roles||{}),w=(_=b.roles)!=null&&_[r.role]?r.role:(ee=x[0])==null?void 0:ee[0],R=(Z=b.roles)==null?void 0:Z[w],S=(R==null?void 0:R.candidates)||[],I=Math.min(r.candidate||0,Math.max(0,S.length-1)),N=S[I],[M,k]=ka(e,t,"routing-roles",x,([O,W])=>[O,W.description,...(W.candidates||[]).flatMap(ae=>[ae.provider,ae.model])],"Filter task roles");g.useEffect(()=>{r.order&&r.orderOpen!==!1&&!Tu(S,w,r.order)&&c({order:Rc(S,w,r.order)})},[r.order,r.orderOpen,w,S]);const T=O=>c({matrix:O,rawText:lr(O),error:""}),A=O=>T(XL(b,w,I,O)),q=N?d.filter(O=>O.id===N.provider||O.module==="provider-"+N.provider||O.module===N.provider):[],z=q.find(O=>O.id===(N==null?void 0:N.provider)),F=z?[z]:q,H=[...new Map(F.flatMap(O=>{var W;return(((W=u.modelCatalogs)==null?void 0:W[O.id])||[]).map(ae=>[typeof ae=="string"?ae:ae.id,ae])}).filter(([O])=>O)).values()],ne=z?(D=u.providerCatalogs)==null?void 0:D[z.id]:void 0;g.useEffect(()=>{var W,ae;const O=(W=e.actionStatus)==null?void 0:W["routing.save"];(O==null?void 0:O.phase)==="ready"&&((ae=O.target)==null?void 0:ae.name)===i.current.name&&c({profileKey:i.current.name})},[(j=(G=e.actionStatus)==null?void 0:G["routing.save"])==null?void 0:j.updatedAt]);const B=ps(f("routing.save"))||ps(f("routing.use"));return n.createElement("section",{className:"a-settings-section","data-part":"routing-settings","data-candidate-open":!!r.candidateOpen},n.createElement("div",{className:"a-settings-row"},n.createElement("p",null,"Choose models for each role. Routing uses the first resolvable choice."),n.createElement("button",{className:"a-icon","aria-label":"Refresh routing profiles","data-action":"routing.list",disabled:ps(f("routing.list")),onClick:()=>v("routing.list")},n.createElement(zt,null))),u.routingCatalogError&&n.createElement(it,{phase:"error",message:u.routingCatalogError}),n.createElement("div",{className:"a-routing-profile-picker"},n.createElement("div",null,n.createElement("label",{htmlFor:"routing-profile"},"Routing profile"),n.createElement("select",{id:"routing-profile",value:r.profileKey||"","data-action":"routing.show",onChange:O=>E(O.target.value)},n.createElement("option",{value:"",disabled:!0},"Choose a profile"),m.map(O=>n.createElement("option",{key:O.name,value:O.name},O.name,O.active||u.active===O.name?" · active":"")),r.profileKey&&!m.some(O=>O.name===r.profileKey)&&n.createElement("option",{value:r.profileKey},r.name," · draft"))),n.createElement("button",{className:"a-soft",disabled:!p.some(O=>O.name===r.profileKey)||u.active===r.profileKey||B||!!r.requested,"data-action":"routing.use",onClick:()=>v("routing.use",{name:r.profileKey,scope:r.scope})},"Use profile"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{const O=_f();c({profiles:y(),matrix:O,name:O.name,profileKey:"new:"+Date.now(),requested:null,role:"general",candidate:0,rawText:lr(O),order:null,detailOpen:!1,candidateOpen:!1})}},n.createElement(Mn,null),"New profile")),r.requested&&n.createElement(it,{phase:((K=f("routing.show"))==null?void 0:K.phase)==="error"?"error":"working",message:((oe=f("routing.show"))==null?void 0:oe.error)||"Opening "+r.requested+"…"}),r.requested&&((xe=f("routing.show"))==null?void 0:xe.phase)==="error"&&n.createElement("button",{className:"a-soft","data-action":"routing.show",onClick:()=>v("routing.show",{name:r.requested})},"Retry opening profile"),["routing.list","routing.use"].map(O=>{var W;return((W=f(O))==null?void 0:W.phase)==="error"&&n.createElement(it,{key:O,phase:"error",message:f(O).error})}),r.matrix&&n.createElement(n.Fragment,null,n.createElement("details",{className:"a-routing-profile-options",open:!!r.profileDetails},n.createElement("summary",{"data-action":"view.update",onClick:O=>{O.preventDefault(),c({profileDetails:!r.profileDetails})}},"Profile settings"),h,n.createElement("p",{className:"a-caption"},(ce=p.find(O=>O.name===r.profileKey))==null?void 0:ce.description),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"routing-name"},"Custom profile name"),n.createElement("input",{id:"routing-name",value:r.name,"data-action":"view.update",onChange:O=>c({name:O.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"routing-scope"},"Save for"),n.createElement("select",{id:"routing-scope",value:r.scope,"data-action":"view.update",onChange:O=>c({scope:O.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This workspace"))))),r.order&&r.orderOpen!==!1?n.createElement(Ep,{title:w+" preference order",notice:r.order.notice,description:"Place your preferred choice first. Routing selects the first resolvable match; this is not a retry chain for failed API calls.",items:S.map((O,W)=>({id:String(W),label:O.model||"Choose a model",description:O.provider||"Choose a provider"})),ids:r.order.ids,onChange:O=>c({order:{...r.order,ids:O}}),onCancel:()=>c({order:null}),onSave:()=>{if(!Tu(S,w,r.order)){c({order:Rc(S,w,r.order)});return}const O=_r(b,w,{candidates:r.order.ids.map(W=>S[Number(W)])});c({order:null,matrix:O,rawText:lr(O),candidate:0})}}):n.createElement(So,{label:"roles",detailOpen:!!r.detailOpen,onBack:()=>c({detailOpen:!1,candidateOpen:!1}),list:n.createElement(n.Fragment,null,k,M.map(([O,W])=>{var ae;return n.createElement(Va,{key:O,id:O,label:O,description:W.description||`${((ae=W.candidates)==null?void 0:ae.length)||0} choices`,selected:O===w,onSelect:()=>c({role:O,candidate:0,detailOpen:!0,candidateOpen:!1,candidateRaw:!1})})}))},R&&n.createElement(n.Fragment,null,n.createElement("div",{className:"a-settings-row"},n.createElement("h4",null,w),n.createElement("button",{className:"a-icon a-danger","aria-label":"Remove role "+w,disabled:["general","fast"].includes(w),"data-action":"view.update",onClick:()=>{const O={...b,roles:{...b.roles}};delete O.roles[w],T(O)}},n.createElement(Qn,null))),n.createElement("label",{htmlFor:"routing-description"},"Role description"),n.createElement("input",{id:"routing-description","aria-label":w+" description",value:R.description||"",placeholder:"Describe this role","data-action":"view.update",onChange:O=>T(_r(b,w,{description:O.target.value}))}),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,S.length," ordered choices"),n.createElement("button",{className:"a-soft",disabled:S.length<2,"data-action":"view.update",onClick:()=>c({orderOpen:!0,order:Rc(S,w,r.order)})},"Preference order")),n.createElement("div",{className:"a-routing-candidates"},S.map((O,W)=>n.createElement(Va,{key:W,id:String(W),label:`${W+1}. ${O.model||"Choose a model"}`,description:O.provider||"Choose a provider",selected:W===I,onSelect:()=>c({candidate:W,candidateOpen:!0,candidateRaw:!1})}))),N&&n.createElement("div",{className:"a-routing-selected"},n.createElement("div",{className:"a-settings-row"},n.createElement("h4",null,"Choice ",I+1),n.createElement("button",{className:"a-icon a-danger","aria-label":`Remove ${w} candidate ${I+1}`,"data-action":"view.update",onClick:()=>T(_r(b,w,{candidates:S.filter((O,W)=>W!==I)}))},n.createElement(Qn,null))),n.createElement("label",{htmlFor:"routing-candidate-provider"},"Provider or connection name"),n.createElement("input",{id:"routing-candidate-provider","aria-label":`${w} provider ${I+1}`,list:"routing-provider-options",value:N.provider||"",placeholder:"For example, anthropic or opus","data-action":"view.update",onChange:O=>A({provider:O.target.value})}),n.createElement("datalist",{id:"routing-provider-options"},[...new Set(d.flatMap(O=>[O.id,O.module.replace(/^provider-/,"")]))].map(O=>n.createElement("option",{key:O,value:O}))),n.createElement("p",{className:"a-caption"},"Use a provider family for a portable profile, or a connection name for a specific account and configuration."),n.createElement("label",{htmlFor:`routing-${w}-${I}`},"Model ID or pattern"),n.createElement(bp,{editable:!0,catalogKey:N.provider,id:`routing-${w}-${I}`,label:`${w} model ${I+1}`,value:N.model||"",entry:ne,models:H,state:e,act:t,placeholder:"Model ID or pattern, e.g. claude-sonnet-*",onChange:O=>A({model:O})}),n.createElement("p",{className:"a-caption"},"Patterns are resolved by the routing module. Model lists are suggestions and do not limit what you can enter.",F.length>0?" Suggestions from "+F.map(O=>O.id).join(", ")+".":""),n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":!!r.candidateRaw,onClick:()=>c({candidateRaw:!r.candidateRaw,candidateText:lr(N)})},"Edit choice configuration"),r.candidateRaw&&n.createElement(n.Fragment,null,n.createElement("textarea",{"aria-label":"Choice configuration JSON",className:"a-json-editor",value:r.candidateText,"data-action":"view.update",onChange:O=>c({candidateText:O.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const O=Er(r.candidateText);if(!O.provider||!O.model)throw new Error("Include a provider and model.");const W=[...S];W[I]=O,T(_r(b,w,{candidates:W}))}catch(O){c({error:O.message})}}},"Apply choice configuration"))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>{const O=_r(b,w,{candidates:[...S,{provider:"",model:""}]});c({matrix:O,rawText:lr(O),candidate:S.length,candidateOpen:!0,candidateRaw:!1})}},n.createElement(Mn,null),"Add fallback model"))),n.createElement("div",{className:"a-routing-add"},n.createElement("input",{"aria-label":"New routing role",list:"routing-role-options",value:r.newRole||"",placeholder:"Add a role","data-action":"view.update",onChange:O=>c({newRole:O.target.value})}),n.createElement("datalist",{id:"routing-role-options"},(u.roles||[]).map(O=>n.createElement("option",{value:O,key:O}))),n.createElement("button",{className:"a-soft",disabled:!((_e=r.newRole)!=null&&_e.trim())||!!(($e=b.roles)!=null&&$e[r.newRole.trim()]),"data-action":"view.update",onClick:()=>{const O=r.newRole.trim(),W=_r(b,O,{description:"",candidates:[{provider:"",model:""}]});c({matrix:W,rawText:lr(W),newRole:"",role:O,candidate:0,detailOpen:!0,candidateOpen:!0})}},n.createElement(Mn,null),"Add role")),n.createElement("div",{className:"a-routing-advanced"},n.createElement("button",{className:"a-link","aria-expanded":!!r.raw,"data-action":"view.update",onClick:()=>c({raw:!r.raw,rawText:lr(b)})},r.raw?"Hide":"Show"," full profile JSON"),r.raw&&n.createElement(n.Fragment,null,n.createElement("textarea",{"aria-label":"Routing matrix JSON",className:"a-json-editor",spellCheck:!1,value:r.rawText,"data-action":"view.update",onChange:O=>c({rawText:O.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const O=Er(r.rawText);if(!O.roles||typeof O.roles!="object"||Array.isArray(O.roles))throw new Error("A profile needs a roles object.");T(O)}catch(O){c({error:O.message})}}},"Update draft from JSON"))),r.error&&n.createElement("p",{className:"a-danger",role:"alert"},r.error),n.createElement(Cn,{active:!r.order||r.orderOpen===!1},n.createElement("button",{className:"a-primary",disabled:B||!!r.requested||!!r.order&&r.orderOpen!==!1||!r.name.trim()||!x.length||x.some(([,O])=>{var W;return!((W=O.candidates)!=null&&W.length)||O.candidates.some(ae=>!ae.provider||!ae.model)}),"data-action":"routing.save",onClick:()=>v("routing.save",{name:r.name.trim(),matrix:{...b,name:r.name.trim()},scope:r.scope,activate:!0})},n.createElement(Uc,null),u.active===r.name?"Save active profile":"Save and use profile")),n.createElement("p",{className:"a-caption"},"General and fast roles are required. Saving applies to future conversation preparation."),n.createElement(it,{phase:(De=f("routing.save"))==null?void 0:De.phase,message:((de=f("routing.save"))==null?void 0:de.error)||(ps(f("routing.save"))?"Saving routing profile…":((ve=f("routing.save"))==null?void 0:ve.phase)==="ready"?"Routing profile saved and selected.":"")})))}const ms=e=>JSON.stringify(e,null,2);function uD(e,t,a,r){var c;const o=(c=e.view)==null?void 0:c[t],[i,s]=g.useState({...a,...o});return g.useEffect(()=>{o&&s(u=>({...u,...o}))},[o]),[i,u=>{const d={...i,...u};s(d),r("view.update",{patch:{[t]:d}})}]}function dD({state:e,session:t,act:a,navigate:r=()=>{}}){var ze,Me,be,rt,wt,Dt,It,Qt,ie,he,Ne,Le,Ge,ft,vt,gt,Se;const[o,i]=uD(e,"providerEditor",{id:"",module:"",source:"",config:"{}",scope:"global",model:"",effort:"",advanced:!1,credentialMode:(Me=(ze=e.view)==null?void 0:ze.providerEditor)!=null&&Me.id?"private":"environment",envVar:""},a),s=X=>i({dirty:!0,...X}),l=g.useRef({}),c=g.useRef(!1),[u,d]=g.useState(""),[p,m]=g.useState(o.config);g.useEffect(()=>{var X;m(c.current?((X=l.current[o.selectionKey??o.id])==null?void 0:X.configText)??o.config:o.config),c.current=!1},[o.config,o.selectionKey]);const h=e.setup||{},f=(h.providers||[]).filter(X=>X.enabled!==!1),v=f.find(X=>X.id===o.id),y=g.useRef(Date.now()/1e3),E=g.useRef(!1),[b,x]=g.useState({}),w=(X,Ce=o.id)=>{var yt;const Fe=X+":"+Ce,We=(yt=h.operations)==null?void 0:yt[Fe],tt=b[Fe];return tt&&(!We||We.commandId!==tt.commandId)?tt:We},R=X=>["queued","working","pending"].includes(X==null?void 0:X.phase),S=async(X,Ce={})=>{const Fe=X+":"+(["providers.credentials","providers.schema"].includes(X)?Ce.module:Ce.id||""),We={phase:"pending",commandId:"local-"+Date.now(),envVar:Ce.envVar||""};x(tt=>({...tt,[Fe]:We}));try{const tt=await a(X,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(X)?{sessionId:t.id}:{},...Ce});return x(yt=>({...yt,[Fe]:tt?null:{phase:"error",error:"The request could not be sent. Please retry."}})),tt}catch(tt){x(yt=>({...yt,[Fe]:{phase:"error",error:tt.message}}))}};g.useEffect(()=>{E.current=!1,y.current=h.providersLoadedAt||Date.now()/1e3,S("providers.list")},[t==null?void 0:t.workspace]);const I=((be=h.credentialCheck)==null?void 0:be.module)===o.module&&(o.envVar?h.credentialCheck.envVar===o.envVar:!h.credentialCheck.requestedEnvVar)?h.credentialCheck:null,N=I||((v==null?void 0:v.module)===o.module?v.credential:null),M=o.envVar||(N==null?void 0:N.envVar)||"",k=w("providers.credentials",o.module),T=k&&k.envVar===(o.envVar||"")?k:null,A=w("providers.models"),q=w("providers.schema",o.module),z=w("providers.test"),F=w("providers.list",""),H=o.credentialMode||"environment",ne=o.module!=="provider-openai-chatgpt";g.useEffect(()=>{if(!o.module||H!=="environment"||!ne)return;const X=setTimeout(()=>S("providers.credentials",{module:o.module,...o.envVar?{envVar:o.envVar}:{}}),250);return()=>clearTimeout(X)},[o.module,o.envVar,H]);const B=["providers.save","providers.remove","providers.login","providers.move","providers.reorder"].some(X=>R(w(X))),P=((wt=(rt=h.providerCatalogs)==null?void 0:rt[o.id])==null?void 0:wt.metadata)||((Dt=h.metadata)==null?void 0:Dt[o.module])||(((It=h.providerMetadata)==null?void 0:It.module)===o.module?h.providerMetadata:null);g.useEffect(()=>{if(!/^provider-[A-Za-z0-9_.-]+$/.test(o.module)||P)return;const X=setTimeout(()=>S("providers.schema",{module:o.module,...o.id?{id:o.id}:{}}),250);return()=>clearTimeout(X)},[o.module,t==null?void 0:t.workspace]);const _=Ii(((Qt=h.modelCatalogs)==null?void 0:Qt[o.id])||((h.modelsProviderId||h.providerId)===o.id?h.models:[])),ee=((ie=h.login)==null?void 0:ie.providerId)===o.id?h.login:null,Z=(ee==null?void 0:ee.status)||(ee==null?void 0:ee.phase),D=Vw(ee==null?void 0:ee.url);let G,j="";try{G=Er(p)}catch(X){j=X.message}const[K,oe]=ka(e,a,"providers",f,X=>{var Ce,Fe;return[X.id,X.module,(Ce=X.config)==null?void 0:Ce.default_model,(Fe=X.config)==null?void 0:Fe.model]},"Filter providers"),xe=t&&["working","starting","running","stopping","busy"].includes(t.status),ce=X=>{var ot,bt,ut,Mt,St,jt,st;c.current=!0;const Ce=o.selectionKey??o.id??"";l.current[Ce]={apiKey:u,configText:p};const{connections:Fe,...We}=o,tt={...Fe,[Ce]:We},yt=(X==null?void 0:X.id)||"",Qe=tt[yt]||(X?{modelEntry:"catalog",dirty:!1,credentialMode:(ot=X.credential)!=null&&ot.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((bt=X.credential)==null?void 0:bt.envVar)||"",id:X.id,module:X.module,source:X.source||"",config:ms(X.config||{}),model:((ut=X.config)==null?void 0:ut.default_model)||((Mt=X.config)==null?void 0:Mt.model)||"",effort:((St=X.config)==null?void 0:St.reasoning_effort)||""}:{modelEntry:"catalog",dirty:!1,id:"",module:"",source:"",config:"{}",model:"",effort:"",credentialMode:"environment",envVar:""});d(((jt=l.current[yt])==null?void 0:jt.apiKey)||""),m(((st=l.current[yt])==null?void 0:st.configText)??Qe.config),i({...Qe,connections:tt,selectionKey:yt,detailOpen:!0,order:null})};g.useEffect(()=>{var Ce,Fe,We,tt,yt;if(E.current||!f.length||!h.providersLoadedAt||h.providersLoadedAtse.id===o.id)||(!o.id&&!o.module?f[0]:null);X&&!o.dirty&&i({id:X.id,selectionKey:X.id,module:X.module,source:X.source||"",config:ms(X.config||{}),model:((Ce=X.config)==null?void 0:Ce.default_model)||((Fe=X.config)==null?void 0:Fe.model)||"",effort:((We=X.config)==null?void 0:We.reasoning_effort)||"",credentialMode:(tt=X.credential)!=null&&tt.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((yt=X.credential)==null?void 0:yt.envVar)||"",dirty:!1})},[h.providersLoadedAt]);const _e=w("providers.remove");g.useEffect(()=>{(_e==null?void 0:_e.phase)==="ready"&&_e.updatedAt>=y.current&&(delete l.current[o.id],d(""),m("{}"),i({id:"",module:"",config:"{}",model:"",dirty:!1,detailOpen:!1,connections:{...o.connections,[o.id]:void 0}}))},[_e==null?void 0:_e.updatedAt]);const $e=w("providers.save");g.useEffect(()=>{($e==null?void 0:$e.phase)==="ready"&&$e.updatedAt>=y.current&&(d(""),l.current[o.selectionKey??o.id]={apiKey:"",configText:p},s({dirty:!1,connections:{...o.connections,[o.selectionKey??o.id]:void 0}}))},[$e==null?void 0:$e.updatedAt]),g.useEffect(()=>{var X;((X=w("providers.reorder",""))==null?void 0:X.phase)==="ready"&&o.order&&i({order:null})},[(he=w("providers.reorder",""))==null?void 0:he.updatedAt]);const De=(X,Ce={})=>S(X,{id:o.id,...Ce}),de=vp(P,{...G,default_model:o.model,model:o.model}),ve=(X,Ce)=>{const Fe={...G};Ce===""?delete Fe[X]:Fe[X]=Ce,m(ms(Fe)),s({config:ms(Fe),dirty:!0,...X==="reasoning_effort"?{effort:Ce}:{}})},O=async()=>{await S("providers.save",{...o.id?{id:o.id}:{},module:o.module.trim(),...o.source.trim()?{source:o.source.trim()}:{},config:{...G,...o.model?{default_model:o.model}:{}},scope:o.scope,...ne&&H==="environment"&&M?{apiKeyEnv:M}:u&&H==="private"?{apiKey:u}:{}})},W=!!u||p!==o.config||Object.values(l.current).some(X=>X.apiKey),ae=!!o.dirty||W||Object.values(o.connections||{}).some(X=>X==null?void 0:X.dirty);return Zw("providers",{label:"Provider configuration",dirty:ae,review:()=>{r("providers");const X=Object.entries(o.connections||{}).find(([,Ce])=>Ce==null?void 0:Ce.dirty);!o.dirty&&!W&&X?ce(f.find(Ce=>Ce.id===X[0])||null):i({detailOpen:!0})},discard:()=>{l.current={},d(""),m("{}"),i({id:"",selectionKey:"",module:"",source:"",config:"{}",model:"",effort:"",dirty:!1,connections:{},detailOpen:!1})}}),n.createElement("section",{className:"a-settings-section","data-part":"provider-settings"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Model providers"),n.createElement("p",null,"Connect a provider and choose models for your conversations.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh providers","data-operation-pending":R(F)||void 0,"aria-busy":R(F)||void 0,"data-action":"providers.list",disabled:R(F),onClick:()=>S("providers.list")},n.createElement(zt,null))),R(F)&&n.createElement("p",{className:"a-caption",role:"status"},"Loading your saved providers…"),(F==null?void 0:F.error)&&n.createElement("p",{className:"a-danger",role:"alert"},F.error),!f.length&&!R(F)&&n.createElement("p",{className:"a-caption"},"No saved providers yet. Add a connection below."),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,f.length," saved connections"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>ce(null)},n.createElement(Mn,null),"Add provider"),n.createElement("button",{className:"a-soft",disabled:f.length<2||B,"data-action":"view.update",onClick:()=>i({orderOpen:!0,order:o.order||{ids:f.map(X=>X.id),expectedIds:f.map(X=>X.id),scope:o.scope}})},"Preference order")),o.order&&o.orderOpen!==!1?n.createElement(Ep,{title:"Provider preference order",description:"Provider priority breaks ties after routing matches a model. Saving for "+({global:"all workspaces",project:"this project",local:"this workspace"}[o.order.scope]||o.order.scope)+". Routing profile choices stay separate.",items:f.map(X=>({id:X.id,label:X.id,description:X.module})),ids:o.order.ids,onChange:X=>i({order:{...o.order,ids:X}}),onCancel:()=>i({order:null}),busy:R(w("providers.reorder","")),error:(Ne=w("providers.reorder",""))==null?void 0:Ne.error,action:"providers.reorder",onSave:()=>S("providers.reorder",{...o.order})}):n.createElement(So,{label:"providers",detailOpen:!!o.detailOpen,onBack:()=>i({detailOpen:!1}),list:n.createElement(n.Fragment,null,oe,n.createElement(Yt,{name:"provider-list",busy:R(F)},K.map(X=>{var Ce,Fe;return n.createElement(Va,{key:X.id,id:X.id,label:X.id,description:(((Ce=X.config)==null?void 0:Ce.default_model)||((Fe=X.config)==null?void 0:Fe.model)||X.module)+" · "+(X.credentialsConfigured?"credentials ready":X.keySource||"credentials not configured"),selected:X.id===(o.selectionKey??o.id),onSelect:()=>ce(X)})})))},n.createElement("div",{className:"a-settings-provider-detail"},n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"provider-id"},"Provider instance name"),n.createElement("input",{id:"provider-id",value:o.id,"data-action":"view.update",onChange:X=>s({id:X.target.value}),placeholder:"openai"})),n.createElement("div",null,n.createElement("label",{htmlFor:"provider-scope"},"Save for"),n.createElement("select",{id:"provider-scope",value:o.scope,"data-action":"view.update",onChange:X=>s({scope:X.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project (shareable)"),n.createElement("option",{value:"local"},"This workspace (private)")))),n.createElement(Yt,{name:"provider-models",busy:R(A)},n.createElement("label",{htmlFor:"provider-model"},"Default model"),n.createElement(bp,{editable:!0,catalogKey:o.id,id:"provider-model",label:"Default model",value:o.model,entry:(Le=h.providerCatalogs)==null?void 0:Le[o.id],models:_,state:e,act:a,onChange:X=>s({model:X})})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!v||R(A),"data-operation-pending":R(A)||void 0,"aria-busy":R(A)||void 0,"data-action":"providers.models",onClick:()=>De("providers.models",{refresh:!0})},n.createElement(zt,null),R(A)?"Discovering models…":"Refresh models"),n.createElement("button",{className:"a-soft",disabled:!v||R(z),"data-operation-pending":R(z)||void 0,"aria-busy":R(z)||void 0,"data-action":"providers.test",onClick:()=>De("providers.test")},n.createElement(Pt,null),R(z)?"Testing provider…":"Test connection"),n.createElement("button",{className:"a-soft",disabled:!v||B,"data-action":"providers.login",onClick:()=>De("providers.login")},n.createElement(Bk,null),v!=null&&v.accountConnected?"Reconnect account":"Provider sign-in")),n.createElement(it,{phase:A==null?void 0:A.phase,message:R(A)?"Discovering available models…":(A==null?void 0:A.error)||((A==null?void 0:A.phase)==="ready"?`${_.length?`Found ${_.length} models. Choose one above.`:"This provider returned no models. Enter a model ID manually."}`:"")}),n.createElement(it,{phase:z!=null&&z.error?"error":R(z)?"working":((Ge=h.test)==null?void 0:Ge.reachable)===!1?"error":"ready",message:R(z)?"Testing provider connection…":(z==null?void 0:z.error)||((z==null?void 0:z.phase)==="ready"||((ft=h.test)==null?void 0:ft.providerId)===o.id?((vt=h.test)==null?void 0:vt.reachable)!==!1?"Provider check passed":"Provider check failed":""),detail:!R(z)&&!(z!=null&&z.error)&&((gt=h.test)==null?void 0:gt.providerId)===o.id?`${h.test.modelCount??0} models returned. This checks the provider’s model catalog; no chat request was sent.`:void 0}),n.createElement("p",{className:"a-caption"},"Checks use saved provider settings. Save changes before testing."),n.createElement(Hw,{key:o.id,state:e,id:o.id,sessionId:t==null?void 0:t.id,act:a,disabled:!v||B}),ee&&(o.module==="provider-openai-chatgpt"?n.createElement(Iu,{login:ee,busy:B,onCancel:()=>De("providers.loginCancel"),onRetry:()=>De("providers.login")}):n.createElement("div",{className:"a-selection-card",role:"status"},n.createElement("strong",null,"Provider sign-in · ",Z),(ee.instructions||[]).map((X,Ce)=>n.createElement("p",{key:Ce},X)),D&&n.createElement("a",{href:D,target:"_blank",rel:"noopener noreferrer","data-action":"providers.login",className:"a-link"},"Open secure provider sign-in"),ee.error&&n.createElement("p",{className:"a-danger"},ee.error),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"providers.loginStatus",onClick:()=>a("providers.loginStatus",{id:o.id})},"Check sign-in status"),["starting","waiting"].includes(Z)&&n.createElement("button",{className:"a-soft","data-action":"providers.loginCancel",onClick:()=>a("providers.loginCancel",{id:o.id})},"Cancel sign-in")))),n.createElement(Yt,{name:"provider-options",busy:R(q),className:"a-provider-options"},n.createElement("h4",null,"Provider options"),R(q)&&n.createElement("p",{className:"a-caption",role:"status"},"Loading options from this provider…"),(q==null?void 0:q.error)&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-danger"},q.error," You can still edit advanced configuration."),n.createElement("button",{className:"a-link","data-action":"providers.schema",onClick:()=>S("providers.schema",{module:o.module,...o.id?{id:o.id}:{}})},"Retry loading options")),de.map(X=>{var We;const Ce=(G==null?void 0:G[X.id])??"",Fe="provider-option-"+X.id;return n.createElement("div",{key:X.id},n.createElement("label",{htmlFor:Fe},X.display_name||X.id),(We=X.choices)!=null&&We.length?n.createElement("select",{id:Fe,value:String(Ce),"data-action":"view.update",onChange:tt=>ve(X.id,tt.target.value)},n.createElement("option",{value:""},"Provider default",X.default!=null?` (${X.default})`:""),Ce!==""&&!X.choices.includes(String(Ce))&&n.createElement("option",{value:String(Ce)},String(Ce)," (saved)"),X.choices.map(tt=>n.createElement("option",{key:tt,value:tt},tt))):X.field_type==="boolean"?n.createElement("select",{id:Fe,value:String(Ce),"data-action":"view.update",onChange:tt=>ve(X.id,tt.target.value===""?"":tt.target.value==="true")},n.createElement("option",{value:""},"Provider default",X.default!=null?` (${X.default})`:""),n.createElement("option",{value:"true"},"On"),n.createElement("option",{value:"false"},"Off")):n.createElement("input",{id:Fe,value:Ce,"data-action":"view.update",placeholder:X.default||"Provider default",onChange:tt=>ve(X.id,tt.target.value)}),n.createElement("p",{className:"a-caption"},X.prompt))}),P&&!de.length&&n.createElement("p",{className:"a-caption"},"This provider has no additional options for the selected model.")),v&&n.createElement(n.Fragment,null,n.createElement(Ru,{credential:v.credential}),n.createElement("button",{className:"a-link","data-action":"providers.list",disabled:R(F),onClick:()=>S("providers.list")},n.createElement(zt,null),"Refresh credentials")),n.createElement("details",{className:"a-provider-access",open:o.accessOpen??!(v!=null&&v.credentialsConfigured)},n.createElement("summary",{"data-action":"view.update",onClick:X=>{X.preventDefault(),i({accessOpen:!(o.accessOpen??!(v!=null&&v.credentialsConfigured))})}},"Provider & access · ",v!=null&&v.accountConnected?"Account connected":v!=null&&v.credentialsConfigured?"Credentials configured":"Setup needed")," ",n.createElement("label",{htmlFor:"provider-preset"},"Provider"),n.createElement("select",{id:"provider-preset",value:Tc.some(X=>X.module===o.module)?o.module:"custom","data-action":"view.update",onChange:X=>{const Ce=X.target.value==="custom"?"":X.target.value;d(""),s({module:Ce,envVar:"",credentialMode:["provider-chat-completions","provider-ollama","provider-vllm"].includes(Ce)?"private":"environment",...!o.id&&Ce?{id:Ce.replace("provider-","")}:{}})}},n.createElement("option",{value:"custom"},"Custom provider module"),Tc.map(X=>n.createElement("option",{key:X.module,value:X.module},X.name))),!Tc.some(X=>X.module===o.module)&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-module"},"Provider module"),n.createElement("input",{id:"provider-module",value:o.module,"data-action":"view.update",onChange:X=>s({module:X.target.value}),placeholder:"provider-custom"})),ne?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-key-source"},"API key source"),n.createElement("select",{id:"provider-key-source",value:H,"data-action":"view.update",onChange:X=>{d(""),s({credentialMode:X.target.value})}},n.createElement("option",{value:"environment"},"Environment variable"),n.createElement("option",{value:"private"},"Private saved key")),H==="environment"?n.createElement(Yt,{name:"provider-credentials",busy:R(T)},n.createElement("label",{htmlFor:"provider-key-env"},"Environment variable name"),n.createElement("input",{id:"provider-key-env",value:M,"data-action":"view.update",onChange:X=>s({envVar:X.target.value}),placeholder:(N==null?void 0:N.defaultEnvVar)||"MY_PROVIDER_API_KEY",spellCheck:!1,autoComplete:"off"}),(N==null?void 0:N.defaultEnvVar)&&n.createElement("p",{className:"a-caption"},"Default: ",n.createElement("code",null,N.defaultEnvVar),!!((Se=N.alternatives)!=null&&Se.length)&&n.createElement(n.Fragment,null," · Also supported: ",N.alternatives.join(", "))),n.createElement(it,{phase:R(T)?"working":T!=null&&T.error||I&&!(N!=null&&N.available)?"error":"ready",message:R(T)?"Checking environment variable…":(T==null?void 0:T.error)||(I||!o.envVar&&N?N!=null&&N.available?"Found — this variable will supply the key.":"Not found in the app environment. Set it before launching the app, then restart.":""),detail:I!=null&&I.checkedAt&&!R(T)?`Checked ${new Date(I.checkedAt*1e3).toLocaleTimeString()}`:void 0}),n.createElement("button",{className:"a-link","data-action":"providers.credentials",disabled:R(T)||!o.module||!!o.envVar&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(o.envVar),onClick:()=>S("providers.credentials",{module:o.module,...o.envVar?{envVar:o.envVar}:{}})},R(T)?"Checking…":"Check variable"),n.createElement("p",{className:"a-caption"},"Reads the backend’s launch environment and private key file. Only the variable name is saved. Key previews show only the beginning and end of longer keys.")):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-key"},"API key"),n.createElement("input",{id:"provider-key",type:"password",autoComplete:"new-password","data-private":"true","data-action":"providers.save",value:u,onChange:X=>{d(X.target.value),i({dirty:!0})},placeholder:v!=null&&v.credentialsConfigured?"Leave blank to keep current credentials":"Stored privately on this computer"}),n.createElement("p",{className:"a-caption"},"The full key stays private on this computer; only a masked preview is shown."))):n.createElement("p",{className:"a-caption"},"This provider uses account sign-in rather than an API key.")),n.createElement("button",{className:"a-link","aria-expanded":o.advanced,"data-action":"view.update",onClick:()=>i({advanced:!o.advanced})},o.advanced?"Hide":"Show"," advanced configuration"),o.advanced&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-source"},"Module source (optional)"),n.createElement(Ma,{id:"provider-source",value:o.source,onChange:X=>s({source:X}),state:e,act:a,placeholder:"git+https://… or a local module folder"}),n.createElement("label",{htmlFor:"provider-config"},"Provider configuration (JSON)"),n.createElement("textarea",{id:"provider-config",className:"a-json-editor",value:p,spellCheck:!1,"data-private":"true","data-action":"providers.save",onChange:X=>{const Ce=X.target.value;m(Ce);try{Er(Ce),s({config:Ce})}catch{}}})),j&&n.createElement("p",{className:"a-danger"},j),["providers.save","providers.remove"].map(X=>{const Ce=w(X);return Ce&&n.createElement("p",{className:Ce.error?"a-danger":"a-caption",role:"status",key:X},Ce.error||(R(Ce)?"Saving provider settings…":X==="providers.save"?"Provider saved. New conversations will use these settings.":"Provider removed."))}),n.createElement(Cn,{active:!!o.detailOpen},n.createElement("button",{className:"a-primary",disabled:!o.module.trim()||!!j||B||ne&&H==="environment"&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(M),"data-operation-pending":R($e)||void 0,"aria-busy":R($e)||void 0,"data-action":"providers.save",onClick:O},n.createElement(Pt,null),"Save provider"),n.createElement("button",{className:"a-soft a-danger",disabled:!v||B,"data-operation-pending":R(w("providers.remove"))||void 0,"aria-busy":R(w("providers.remove"))||void 0,"data-action":"providers.remove",onClick:()=>S("providers.remove",{id:o.id,scope:o.scope})},n.createElement(Qn,null),"Remove")),t&&v&&n.createElement("div",{className:"a-provider-session"},n.createElement("button",{className:"a-soft",disabled:!o.model||xe||B,"data-action":"runtime.control",onClick:()=>a("runtime.control",{sessionId:t.id,operation:"provider.select",args:{instance:o.id,model:o.model,...G!=null&&G.reasoning_effort?{effort:G.reasoning_effort}:{}}})},"Use model in this conversation"),n.createElement("p",{className:"a-caption"},"Current-session selection requires the provider to be mounted by its bundle.")))))}const pD={open:!1,tab:"modules",scope:"global",section:"tools",id:"",module:"",source:"",config:"{}",enabled:!0,sourceKind:"module",sourceName:"",sourceUri:"",sourceSection:"tools",behavioral:!1,behaviorResultsExpanded:!1},Mf=[["tools","Tools"],["hooks","Hooks"],["providers","Providers"],["orchestrator","Orchestrator"],["context","Context manager"]];function mD({state:e,act:t}){var M,k,T,A,q,z,F,H,ne,B,P,_,ee,Z,D,G,j;const a=(M=e.view)==null?void 0:M.registryDraft,[r,o]=g.useState({...pD,...a});g.useEffect(()=>{a&&o(K=>({...K,...a}))},[a]);const i=K=>{const oe={...r,...K};o(oe),t("view.update",{patch:{registryDraft:oe}})},[s,l]=g.useState(r.config);g.useEffect(()=>{l(r.config)},[r.config]);const c=e.registry||{},u=((k=e.management)==null?void 0:k.phase)==="working",d=["queued","working"].includes((A=(T=e.actionStatus)==null?void 0:T["modules.validate"])==null?void 0:A.phase)&&((F=(z=(q=e.actionStatus)==null?void 0:q["modules.validate"])==null?void 0:z.target)==null?void 0:F.id)===r.id,p=c.modules||[],m=c.sources||[],h=((H=c.validation)==null?void 0:H.id)===r.id?c.validation:null,[f,v]=ka(e,t,"registry-modules",p,K=>[K.id,K.module,K.section,K.source],"Filter registered modules"),[y,E]=ka(e,t,"registry-sources",m,K=>[K.name,K.kind,K.source],"Filter source overrides");let b={},x="";try{b=Er(s)}catch(K){x=K.message}const w=((ne=c.sourceValidation)==null?void 0:ne.kind)===r.sourceKind&&((B=c.sourceValidation)==null?void 0:B.name)===r.sourceName.trim()&&((P=c.sourceValidation)==null?void 0:P.submittedSource)===r.sourceUri.trim()&&((_=c.sourceValidation)==null?void 0:_.scope)===r.scope&&((ee=c.sourceValidation)==null?void 0:ee.section)===r.sourceSection?c.sourceValidation:null,R={kind:r.sourceKind,name:r.sourceName.trim(),source:r.sourceUri.trim(),scope:r.scope,...r.sourceKind==="module"?{section:r.sourceSection}:{}},S=["sources.validate","sources.save"].some(K=>{var oe,xe;return["queued","working"].includes((xe=(oe=e.actionStatus)==null?void 0:oe[K])==null?void 0:xe.phase)}),I=K=>{const oe=JSON.stringify(K.config||{},null,2);l(oe),i({section:K.section,id:K.id,module:K.module,source:K.source||"",config:oe,enabled:K.enabled!==!1})},N=()=>t(r.tab==="modules"?"modules.list":"sources.list",{scope:r.scope});return n.createElement(Pa,{id:"registries",title:"Advanced module & source registries",summary:"Register modules and override their sources",state:e,act:t},n.createElement("section",{className:"a-settings-section a-registry","data-part":"registries"},n.createElement("div",{className:"a-maintenance-content"},n.createElement("p",null,"Register individual modules or override where named modules and bundles are loaded from. Most setups can use community bundles above."),n.createElement("nav",{className:"a-settings-nav","aria-label":"Registry sections"},[["modules","Modules"],["sources","Source overrides"]].map(([K,oe])=>n.createElement("button",{key:K,className:r.tab===K?"selected":"","data-action":"view.update",onClick:()=>i({tab:K})},oe))),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"registry-scope"},"Configuration scope"),n.createElement("select",{id:"registry-scope",value:r.scope,"data-action":"view.update",onChange:K=>i({scope:K.target.value})},n.createElement("option",{value:"global"},"All workspaces"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This workspace (private)"))),n.createElement("button",{className:"a-soft",disabled:u,"data-action":r.tab==="modules"?"modules.list":"sources.list",onClick:N},n.createElement(zt,null),"Load registry")),r.tab==="modules"?n.createElement(n.Fragment,null,v,n.createElement("div",{className:"a-provider-list"},f.map(K=>n.createElement("button",{key:K.section+":"+K.id,className:r.id===K.id&&r.section===K.section?"selected":"","data-action":"view.update",onClick:()=>I(K)},n.createElement("strong",null,K.id),n.createElement("small",null,K.section," · ",K.enabled===!1?"disabled":"enabled"," · ",K.scope||r.scope))),n.createElement("button",{"data-action":"view.update",onClick:()=>{l("{}"),i({id:"",module:"",source:"",config:"{}",enabled:!0})}},n.createElement(Mn,null),"Add module")),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"registry-section"},"Module type"),n.createElement("select",{id:"registry-section",value:r.section,"data-action":"view.update",onChange:K=>i({section:K.target.value})},Mf.map(([K,oe])=>n.createElement("option",{key:K,value:K},oe)))),n.createElement("div",null,n.createElement("label",{htmlFor:"registry-id"},"Instance name (optional)"),n.createElement("input",{id:"registry-id",value:r.id,"data-action":"view.update",onChange:K=>i({id:K.target.value})}))),n.createElement("label",{htmlFor:"registry-module"},"Module name"),n.createElement("input",{id:"registry-module",value:r.module,"data-action":"view.update",onChange:K=>i({module:K.target.value}),placeholder:"tool-example"}),n.createElement("label",{htmlFor:"registry-source"},"Source (optional)"),n.createElement(Ma,{id:"registry-source",state:e,act:t,value:r.source,onChange:K=>i({source:K}),placeholder:"git+https://… or /local/path"}),n.createElement("label",{htmlFor:"registry-config"},"Module configuration (JSON)"),n.createElement("textarea",{id:"registry-config",className:"a-json-editor",value:s,"data-action":"modules.save","data-private":"true",spellCheck:!1,onChange:K=>{const oe=K.target.value;l(oe);try{Er(oe),i({config:oe})}catch{}}}),x&&n.createElement("p",{className:"a-danger"},x),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:r.enabled,"data-action":"view.update",onChange:K=>i({enabled:K.target.checked})}),"Enabled"),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:r.behavioral,"data-action":"view.update",onChange:K=>i({behavioral:K.target.checked})}),"Also run module behavior tests"),n.createElement("p",{className:"a-caption"},"Behavior tests run the module’s code in an isolated process."),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:u||!!x||!r.module.trim(),"data-action":"modules.save",onClick:()=>t("modules.save",{section:r.section,module:r.module.trim(),...r.id?{id:r.id}:{},...r.source?{source:r.source}:{},config:b,enabled:r.enabled,scope:r.scope})},n.createElement(Pt,null),"Save module")),n.createElement("button",{className:"a-soft",disabled:u||!r.id,"data-operation-pending":d||void 0,"aria-busy":d||void 0,"data-action":"modules.validate",onClick:()=>t("modules.validate",{section:r.section,id:r.id,scope:r.scope,behavioral:r.behavioral})},"Validate core contract"),n.createElement("button",{className:"a-soft a-danger",disabled:u||!r.id,"data-action":"modules.remove",onClick:()=>t("modules.remove",{section:r.section,id:r.id,scope:r.scope})},n.createElement(Qn,null),"Remove")),n.createElement(Yt,{name:"module-validation",busy:d},((G=(D=(Z=e.actionStatus)==null?void 0:Z["modules.validate"])==null?void 0:D.target)==null?void 0:G.id)===r.id&&n.createElement(it,{phase:e.actionStatus["modules.validate"].phase==="ready"&&(h==null?void 0:h.passed)===!1?"error":e.actionStatus["modules.validate"].phase,message:e.actionStatus["modules.validate"].error||(e.actionStatus["modules.validate"].phase==="ready"?h!=null&&h.passed?"Module validation passed":"Module validation failed":"Validating module…")}),h&&n.createElement("div",{className:"a-selection-card"},n.createElement("strong",null,h.id,": ",h.passed?"validation passed":"validation needs attention"),n.createElement("ul",{className:"a-catalog-list"},(h.checks||[]).map((K,oe)=>n.createElement("li",{key:oe},n.createElement(it,{phase:K.passed?"ready":"error",message:K.name,detail:K.message})))),h.behavioral&&n.createElement("div",null,n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":r.behaviorResultsExpanded,onClick:()=>i({behaviorResultsExpanded:!r.behaviorResultsExpanded})},h.behavioral.passed?"Behavior tests passed":"Behavior tests need attention"," · ",(h.behavioral.tests||[]).length," tests · ",r.behaviorResultsExpanded?"Hide":"Show"," results"),r.behaviorResultsExpanded&&n.createElement("ul",{className:"a-catalog-list"},(h.behavioral.tests||[]).map((K,oe)=>n.createElement("li",{key:oe},n.createElement(it,{phase:K.status==="failed"?"error":K.status==="skipped"?"neutral":"ready",message:K.name,detail:K.status})))))))):n.createElement(n.Fragment,null,E,n.createElement("div",{className:"a-routing-profiles"},y.map(K=>n.createElement("div",{key:K.kind+":"+K.name},n.createElement("span",null,n.createElement("strong",null,K.name),n.createElement("small",null,K.kind," · ",K.source)),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i({sourceKind:K.kind,sourceName:K.name,sourceUri:K.source})},"Edit"),n.createElement("button",{className:"a-icon a-danger","aria-label":`Remove source ${K.name}`,disabled:u,"data-action":"sources.remove",onClick:()=>t("sources.remove",{kind:K.kind,name:K.name,scope:r.scope})},n.createElement(Qn,null))))),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"source-kind"},"Source type"),n.createElement("select",{id:"source-kind",value:r.sourceKind,"data-action":"view.update",onChange:K=>i({sourceKind:K.target.value})},n.createElement("option",{value:"module"},"Module"),n.createElement("option",{value:"bundle"},"Bundle"))),n.createElement("div",null,n.createElement("label",{htmlFor:"source-name"},"Registered name"),n.createElement("input",{id:"source-name",value:r.sourceName,"data-action":"view.update",onChange:K=>i({sourceName:K.target.value}),placeholder:"tool-example"}))),n.createElement("label",{htmlFor:"source-uri"},"Repository URL or local path"),n.createElement(Ma,{id:"source-uri",state:e,act:t,value:r.sourceUri,onChange:K=>i({sourceUri:K}),placeholder:"git+https://… or /local/path"}),r.sourceKind==="module"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"source-section"},"Module type to validate"),n.createElement("select",{id:"source-section",value:r.sourceSection,"data-action":"view.update",onChange:K=>i({sourceSection:K.target.value})},Mf.map(([K,oe])=>n.createElement("option",{key:K,value:K},oe))),n.createElement("p",{className:"a-caption"},"Check the candidate before replacing the saved source. Validation checks the module contract; it does not start a conversation.")),n.createElement("div",{className:"a-dialog-actions"},r.sourceKind==="module"&&n.createElement("button",{className:"a-soft",disabled:u||S||!R.name||!R.source,"data-action":"sources.validate",onClick:()=>t("sources.validate",R)},"Validate without saving"),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:u||S||!R.name||!R.source,"data-action":"sources.save",onClick:()=>t("sources.save",{...R,...r.sourceKind==="module"?{validate:!0}:{}})},n.createElement(Pt,null),r.sourceKind==="module"?"Validate & save source":"Save source override"))),n.createElement(Yt,{name:"source-validation",busy:S},S&&n.createElement(it,{phase:"working",message:"Validating candidate source…"}),!S&&w&&n.createElement(n.Fragment,null,n.createElement(it,{phase:w.passed?"ready":"error",message:w.saved?"Candidate validated and saved":w.passed?"Candidate validated; nothing saved":"Validation failed; saved source unchanged"}),(j=w.checks)==null?void 0:j.map((K,oe)=>n.createElement(it,{key:oe,phase:K.passed?"ready":"error",message:K.name,detail:K.message}))))),n.createElement("p",{className:"a-caption"},"Saved configuration applies when sessions are prepared again. Use environment references for credentials; configure provider keys under Setup."))))}function wp(e){var a;const t=[];for(const r of["providers","tools","hooks"])for(const[o,i]of(Array.isArray(e==null?void 0:e[r])?e[r]:[]).entries())t.push({key:`${r}:${o}`,section:r,index:o,module:i.module||"Unnamed module",id:i.instance_id||i.id||i.module,enabled:i.enabled!==!1,source:i.source,config:i.config||{},entry:i});for(const r of["orchestrator","context"]){const o=(a=e==null?void 0:e.session)==null?void 0:a[r];o&&t.push({key:`session:${r}`,section:r,index:r,module:typeof o=="string"?o:o.module,id:o.id||o.module||o,enabled:o.enabled!==!1,source:o.source,config:o.config||{},entry:o,required:!0})}return t}function zf(e,t,a){const r=structuredClone(e),o=wp(r).find(l=>l.key===t);if(!o)throw new Error("Select a module to edit.");const s={...typeof o.entry=="string"?{module:o.entry}:o.entry,...a};if(o.required){if(a.enabled===!1)throw new Error("The session requires an orchestrator and a context module.");r.session[o.section]=s}else r[o.section][o.index]=s;return r}function hD(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Configuration must be a JSON object.");return t}const cr=e=>JSON.stringify(e,null,2),fD={source:"",selectedUri:"",alias:"",role:"behavior",exportName:"my-amplifier",exportDescription:""};function Jw(e,t,a,r){const[o,i]=g.useState({...t,...e});g.useEffect(()=>{e&&i(l=>({...l,...e}))},[e]);function s(l){const c={...o,...l};i(c),r("view.update",{patch:{[a]:c}})}return[o,s]}function gD({state:e,session:t,act:a}){var S,I,N,M;const[r,o]=Jw((S=e.view)==null?void 0:S.bundleManager,fD,"bundleManager",a),i=Array.isArray(e.bundles)?e.bundles:((I=e.bundles)==null?void 0:I.entries)||[],[s,l]=g.useState({});g.useEffect(()=>{l(k=>Object.fromEntries(Object.entries(k).filter(([T,A])=>i.some(q=>q.id===T&&q.enabled!==A))))},[e.bundles]);const c=(N=e.actionStatus)==null?void 0:N["bundles.toggle"];g.useEffect(()=>{(c==null?void 0:c.phase)==="error"&&l(k=>{var A;const T={...k};return delete T[(A=c.target)==null?void 0:A.id],T})},[c]);const u=async(k,T)=>{l(A=>({...A,[k]:T}));try{if(!await a("bundles.toggle",{id:k,enabled:T}))throw new Error("Request not sent")}catch{l(A=>{const q={...A};return delete q[k],q})}},d=i.find(k=>k.id===r.entryId)||i[0],p=i.filter(k=>k.role!=="standalone"&&k.enabled!==!1),m=(M=e.actionStatus)==null?void 0:M["bundles.reorder"];g.useEffect(()=>{(m==null?void 0:m.phase)==="ready"&&r.order&&o({order:null})},[m==null?void 0:m.commandId,m==null?void 0:m.phase]);const h=e.bundleDiscovery||{},f=h.candidates||[],[v,y]=ka(e,a,"bundle-discovery",f,k=>[k.display_name,k.name,k.path,k.uri,k.kind,k.description],"Filter discovered bundles"),[E,b]=ka(e,a,"app-bundles",i,k=>[k.name,k.uri,k.role],"Filter app bundles"),x=f.find(k=>k.uri===r.selectedUri),w=e.management||{},R=Object.entries(e.actionStatus||{}).some(([k,T])=>k.startsWith("bundle")&&["queued","running","pending","working","discovering","applying"].includes(T.phase));return g.useEffect(()=>{a("bundles.list",{})},[]),n.createElement("div",{className:"a-bundle-pane"},n.createElement(Pa,{id:"add-bundles",title:"Add capabilities",summary:"Browse community bundle repositories",state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Dr,null),n.createElement("div",null,n.createElement("h3",null,"Build your Amplifier"),n.createElement("p",null,"Add capabilities from community repositories, then shape the modules they compose into."))),w.error&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,w.error)),R&&n.createElement("div",{className:"a-management-status",role:"status"},n.createElement(zt,{className:"a-progress-spinner"}),w.detail||"Updating your configuration…"),!R&&w.detail&&n.createElement("p",{className:"a-caption",role:"status"},w.detail),n.createElement("label",{htmlFor:"bundle-source"},"Repository or bundle URL"),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:"bundle-source",type:"url",value:r.source,placeholder:"https://github.com/owner/amplifier-bundle","data-action":"view.update",onChange:k=>o({source:k.target.value})}),n.createElement("button",{className:"a-primary",disabled:!r.source.trim()||R,"data-action":"bundle.discover",onClick:()=>a("bundle.discover",{url:r.source.trim()})},n.createElement(Ro,null),"Browse")),n.createElement("p",{className:"a-caption"},"Browse a repository’s YAML and Markdown bundles before choosing what to add."),f.length>0&&n.createElement("div",{className:"a-discovery","aria-label":"Discovered bundles"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,f.length," ",f.length===1?"bundle found":"bundles found"),h.revision&&n.createElement("code",null,h.revision.slice(0,9))),y,n.createElement("div",{className:"a-candidates"},v.map(k=>n.createElement("label",{className:`a-candidate ${(x==null?void 0:x.uri)===k.uri?"selected":""}`,key:k.uri},n.createElement("input",{type:"radio",name:"bundle-candidate",checked:(x==null?void 0:x.uri)===k.uri,"data-action":"view.update",onChange:()=>o({selectedUri:k.uri,alias:k.name||"",role:k.kind==="standalone"?"standalone":"behavior"})}),n.createElement("span",null,n.createElement("strong",null,k.display_name||k.name||k.path),n.createElement("small",null,k.path||k.uri),k.description&&n.createElement("p",null,k.description)),n.createElement("span",{className:"a-kind-tag"},k.kind||"bundle")))),n.createElement("p",{className:"a-caption"},"Type suggestions are based on file contents. Choose how you want to use the bundle below.")),(x||r.selectedUri)&&n.createElement("div",{className:"a-selection-card"},n.createElement("label",{htmlFor:"bundle-add-role"},"Use this bundle as"),n.createElement("select",{id:"bundle-add-role",value:r.role,"data-action":"view.update",onChange:k=>o({role:k.target.value})},n.createElement("option",{value:"behavior"},"An app capability — compose into sessions"),n.createElement("option",{value:"standalone"},"A standalone bundle — register an alias")),n.createElement("label",{htmlFor:"bundle-alias"},r.role==="standalone"?"Bundle alias":"Display name"),n.createElement("input",{id:"bundle-alias",value:r.alias,"data-action":"view.update",onChange:k=>o({alias:k.target.value}),placeholder:"my-capabilities"}),n.createElement("p",{className:"a-caption a-wrap"},r.selectedUri),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:R||!r.selectedUri||r.role==="standalone"&&!r.alias.trim(),"data-action":"bundles.add",onClick:()=>a("bundles.add",{uri:r.selectedUri,...x!=null&&x.reviewId?{reviewId:x.reviewId}:{},name:r.alias.trim()||void 0,role:r.role})},n.createElement(Mn,null),r.role==="standalone"?"Register bundle":"Add capability"))))),n.createElement(Pa,{id:"app-bundles",title:"App bundles",summary:`${i.length} configured · inspect capabilities and aliases`,state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Your app bundles"),n.createElement("p",null,"Capabilities extend your conversations. Standalone aliases are available when starting a conversation.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh app bundles","data-action":"bundles.list",onClick:()=>a("bundles.list")},n.createElement(zt,null))),n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,i.length," configured · ",p.length," enabled capabilities"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:p.length<2||R,onClick:()=>o({orderOpen:!0,order:r.order||{ids:p.map(k=>k.id),expectedIds:p.map(k=>k.id)}})},"Composition order")),r.order&&r.orderOpen!==!1?n.createElement(Ep,{title:"Bundle composition order",description:"Capabilities compose from top to bottom. Later settings can override earlier ones. Disabled entries and standalone aliases are outside this chain.",items:p.map(k=>({id:k.id,label:k.name||k.uri,description:"App capability"})),ids:r.order.ids,onChange:k=>o({order:{...r.order,ids:k}}),onCancel:()=>o({order:null}),busy:["queued","working"].includes(m==null?void 0:m.phase),error:m==null?void 0:m.error,action:"bundles.reorder",onSave:()=>a("bundles.reorder",r.order)}):i.length?n.createElement(So,{label:"bundles",detailOpen:!!r.detailOpen,onBack:()=>o({detailOpen:!1}),list:n.createElement(n.Fragment,null,b,E.map(k=>n.createElement(Va,{key:k.id,id:k.id,label:k.name||k.uri,description:k.role==="standalone"?"Standalone alias":"App capability",checked:s[k.id]??k.enabled!==!1,disabled:R,checkLabel:`Enable ${k.name||k.uri}`,checkAction:"bundles.toggle",onCheck:T=>u(k.id,T),selected:k.id===(d==null?void 0:d.id),onSelect:()=>o({entryId:k.id,detailOpen:!0})})))},d&&n.createElement(n.Fragment,null,n.createElement("h4",null,d.name||"Bundle"),n.createElement("p",null,d.role==="standalone"?"Standalone alias · choose it when starting a conversation.":"App capability · composes into prepared conversations."),n.createElement("p",{className:"a-caption"},d.enabled===!1?"Disabled":d.role==="standalone"?"Available as "+d.name:"Position "+(p.findIndex(k=>k.id===d.id)+1)+" of "+p.length+" in composition"),n.createElement("h5",null,"Source"),n.createElement("p",{className:"a-caption a-wrap"},d.uri),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft a-danger","aria-label":`Remove ${d.name||"bundle"}`,disabled:R,"data-action":"bundles.remove",onClick:()=>a("bundles.remove",{id:d.id})},n.createElement(Qn,null),"Remove bundle")),n.createElement("p",{className:"a-caption"},"Changes apply to future conversation preparation. Inspect conversation modules to change a loaded session."))):n.createElement("div",{className:"a-settings-empty"},n.createElement(Gk,null),n.createElement("span",null,"Your app has no additional bundles yet. Browse a repository to add one.")))),n.createElement(Pa,{id:"loaded-modules",title:"Loaded session modules",summary:t?`Inspect and edit the running mount plan for ${t.title}`:"Select a conversation to inspect its mount plan",state:e,act:a},n.createElement(vD,{state:e,session:t,act:a})),n.createElement(mD,{state:e,act:a}),n.createElement(Pa,{id:"share-bundle",title:"Save and share",summary:"Export this session as a reusable bundle",state:e,act:a},n.createElement("section",{className:"a-settings-section"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Ea,null),n.createElement("div",null,n.createElement("h3",null,"Share your setup"),n.createElement("p",null,"Export the current session’s bundle and applied configuration for others to load with Amplifier Foundation."))),n.createElement("label",{htmlFor:"bundle-export-name"},"Bundle name"),n.createElement("input",{id:"bundle-export-name",value:r.exportName,"data-action":"view.update",onChange:k=>o({exportName:k.target.value})}),n.createElement("label",{htmlFor:"bundle-export-description"},"Description"),n.createElement("input",{id:"bundle-export-description",value:r.exportDescription,"data-action":"view.update",onChange:k=>o({exportDescription:k.target.value})}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!t||R||!r.exportName.trim(),"data-action":"bundle.export",onClick:()=>a("bundle.export",{sessionId:t.id,name:r.exportName.trim(),description:r.exportDescription})},n.createElement(Ea,null),"Export app bundle")),n.createElement("p",{className:"a-caption"},"Exports include bundle references and configuration. Provider credentials stay on this machine."))))}function vD({state:e,session:t,act:a}){var w,R,S,I;const[r,o]=Jw((w=e.view)==null?void 0:w.moduleEditor,{sessionId:"",text:"",selectedKey:"",configText:"",name:"my-amplifier",description:"",showRaw:!1,configAdvanced:!1},"moduleEditor",a),i=(t==null?void 0:t.configuration)||(((R=e.configuration)==null?void 0:R.sessionId)===(t==null?void 0:t.id)?e.configuration:null),s=i==null?void 0:i.plan;e.management;const l=(S=e.actionStatus)==null?void 0:S["configuration.apply"],c=(I=e.actionStatus)==null?void 0:I["configuration.inspect"],u=!!(t!=null&&t.configurationBusy)||["queued","working"].includes(c==null?void 0:c.phase)||["queued","working"].includes(l==null?void 0:l.phase),d=!!t&&["working","running","busy","starting","stopping"].includes(t.status);g.useEffect(()=>{t&&a("configuration.inspect",{id:t.id})},[t==null?void 0:t.id]),g.useEffect(()=>{var N,M,k;s&&t&&(r.sessionId!==t.id||!r.text||((N=t.pendingConfiguration)==null?void 0:N.phase)==="ready"&&r.appliedAt!==((M=t.pendingConfiguration)==null?void 0:M.appliedAt))&&o({sessionId:t.id,text:cr(s),selectedKey:"",configText:"",appliedAt:(k=t.pendingConfiguration)==null?void 0:k.appliedAt})},[t==null?void 0:t.id,s]);let p=null,m="";try{r.sessionId===(t==null?void 0:t.id)&&r.text&&(p=hD(r.text))}catch(N){m=N.message}const h=wp(p),f=h.find(N=>N.key===r.selectedKey),[v,y]=ka(e,a,"loaded-modules",h,N=>[N.id,N.module,N.section,N.source],"Filter loaded modules"),E=!!p&&cr(p)!==cr(s);function b(N,M){try{const k=zf(p,N,M);o({text:cr(k),...N===r.selectedKey&&M.config?{configText:cr(M.config)}:{}})}catch(k){o({parseError:k.message})}}function x(N){o({selectedKey:N.key,detailOpen:!0,configText:cr(N.config),parseError:""})}return n.createElement("section",{className:"a-settings-section a-module-settings"},n.createElement("div",{className:"a-settings-heading"},n.createElement(Os,null),n.createElement("div",null,n.createElement("h3",null,"Running mount plan"),n.createElement("p",null,t?`Inspect the loaded configuration behind “${t.title}”.`:"Start or select a conversation to inspect its composed configuration."))),t&&n.createElement(n.Fragment,null,n.createElement(it,{phase:c==null?void 0:c.phase,message:(c==null?void 0:c.error)||(["queued","working"].includes(c==null?void 0:c.phase)?"Reading the loaded AmplifierSession mount plan…":"")}),n.createElement("div",{className:"a-settings-row"},n.createElement("span",{className:"a-caption a-wrap"},t.bundle),n.createElement("button",{className:"a-soft",disabled:u,"data-action":"configuration.inspect",onClick:()=>a("configuration.inspect",{id:t.id})},n.createElement(zt,null),s?"Refresh configuration":"Load configuration")),s&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"The fully composed plan includes your root bundle and app capabilities. Edits below apply to this conversation’s mounted configuration. Apply changes to reload modules and preserve the conversation history."),n.createElement(So,{label:"modules",detailOpen:!!r.detailOpen,onBack:()=>o({detailOpen:!1}),list:n.createElement(n.Fragment,null,y,v.map(N=>n.createElement(Va,{key:N.key,id:N.key,label:N.id,description:N.section+(N.required?" · required":""),checked:N.enabled,disabled:N.required,checkLabel:`Enable ${N.id}`,onCheck:M=>b(N.key,{enabled:M}),selected:N.key===r.selectedKey,onSelect:()=>x(N)})))},f?n.createElement(n.Fragment,null,n.createElement("h4",null,f.module),f.source&&n.createElement("p",{className:"a-caption a-wrap"},f.source),n.createElement("div",{className:"a-module-fields"},Object.entries(f.config).map(([N,M])=>{const k=/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(N),T="module-field-"+N;return n.createElement("div",{key:N},n.createElement("label",{htmlFor:T},N.replaceAll("_"," ")),k?n.createElement("p",{className:"a-caption"},"Credential preserved. Manage keys in Model providers."):typeof M=="boolean"?n.createElement("select",{id:T,value:String(M),"data-action":"view.update",onChange:A=>b(f.key,{config:{...f.config,[N]:A.target.value==="true"}})},n.createElement("option",{value:"true"},"On"),n.createElement("option",{value:"false"},"Off")):M===null||typeof M=="object"?n.createElement("p",{className:"a-caption"},Array.isArray(M)?`${M.length} items`:"Structured value"," · edit in advanced configuration below."):n.createElement("input",{id:T,type:typeof M=="number"?"number":"text",value:M,"data-action":"view.update",onChange:A=>{typeof M=="number"&&!A.target.value||b(f.key,{config:{...f.config,[N]:typeof M=="number"?Number(A.target.value):A.target.value}})}}))})),n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":r.configAdvanced,onClick:()=>o({configAdvanced:!r.configAdvanced})},r.configAdvanced?"Hide":"Edit"," advanced configuration"),r.configAdvanced&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"module-config"},"Module configuration (JSON)"),n.createElement("textarea",{id:"module-config",className:"a-json-editor",value:r.configText,spellCheck:!1,"data-action":"view.update",onChange:N=>{try{Er(N.target.value),o({configText:N.target.value,parseError:""})}catch(M){M.message.includes("private API key")?o({parseError:M.message}):o({configText:N.target.value,parseError:""})}}}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const N=Er(r.configText);o({text:cr(zf(p,f.key,{config:N})),parseError:""})}catch(N){o({parseError:N.message})}}},n.createElement(Pt,null),"Update draft"))):n.createElement("div",{className:"a-settings-empty"},n.createElement(Os,null),n.createElement("span",null,"Select a module to edit its configuration."))),(m||r.parseError)&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,m||r.parseError)),n.createElement("div",{className:"a-module-plan-options"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>o({showRaw:!r.showRaw})},r.showRaw?"Hide":"Edit"," full configuration JSON"),r.showRaw&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"full-module-plan"},"Full composed plan"),n.createElement("textarea",{id:"full-module-plan",className:"a-json-editor a-full-plan",spellCheck:!1,value:r.text,"data-action":"view.update",onChange:N=>o({text:N.target.value,parseError:""})})),d&&n.createElement("p",{className:"a-caption"},"Work is active. Apply when idle will queue these changes until this turn and its worker lanes finish.")),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:!p||!!m||u||!E,"data-action":"configuration.apply",onClick:()=>a("configuration.apply",{id:t.id,config:p,whenIdle:!0})},n.createElement(Pt,null),d?"Apply when idle":"Apply to loaded session"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:!E&&!r.parseError&&!m,onClick:()=>o({text:cr(s),selectedKey:"",configText:"",parseError:""})},"Revert draft"),n.createElement("span",{className:"a-caption"},E?"Unapplied changes":"Saved configuration")),t.pendingConfiguration&&n.createElement(n.Fragment,null,n.createElement(it,{phase:t.pendingConfiguration.phase==="queued"?"pending":t.pendingConfiguration.phase==="applying"?"working":t.pendingConfiguration.phase,message:t.pendingConfiguration.error||t.pendingConfiguration.detail||"Applying mount-plan changes…"}),t.pendingConfiguration.phase==="queued"&&n.createElement("button",{className:"a-soft","data-action":"configuration.cancel",onClick:()=>a("configuration.cancel",{id:t.id})},"Cancel queued changes")),n.createElement("div",{className:"a-custom-bundle"},n.createElement("h4",null,"Keep this as a custom bundle"),n.createElement("p",null,"Save the applied configuration under your own name. Use Export below to share it. Apply any pending changes first."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"custom-bundle-name"},"Name"),n.createElement("input",{id:"custom-bundle-name",value:r.name,"data-action":"view.update",onChange:N=>o({name:N.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"custom-bundle-description"},"Description"),n.createElement("input",{id:"custom-bundle-description",value:r.description,"data-action":"view.update",onChange:N=>o({description:N.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:!p||!!m||E||!r.name.trim()||u,"data-action":"bundle.save",onClick:()=>a("bundle.save",{sessionId:t.id,name:r.name.trim(),description:r.description})},n.createElement(Ea,null),"Save custom bundle"))))))}function Kw(e,t){const[a,r]=g.useState({visibility:"hidden"});return g.useLayoutEffect(()=>{var c,u;if(!e)return;const o=(c=t.current)==null?void 0:c.querySelector(".a-compact-popover"),i=(u=t.current)==null?void 0:u.querySelector("button");if(!o||!i)return;const s=()=>{const d=i.getBoundingClientRect(),p=Math.min(340,window.innerWidth-24),m=o.getBoundingClientRect().height;r({width:p,left:Math.max(12,Math.min(d.left,window.innerWidth-p-12)),top:Math.max(12,Math.min(d.top-m-10,window.innerHeight-m-12)),visibility:"visible"})};s();const l=new ResizeObserver(s);return l.observe(o),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{l.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}},[e,t]),a}const Ai=(e,t)=>{var a,r;return((r=(a=e.registeredBundles)==null?void 0:a.find(o=>o.value===t))==null?void 0:r.label)||t||"Bundle"},kp={};function Yw(e){return e.compact?n.createElement(bD,{...e}):n.createElement(yD,{...e})}function bD({state:e,session:t,act:a,working:r}){var I,N,M,k,T;const o=Ja(e),i=Rg(e),s=((I=e.view)==null?void 0:I.composerBundle)||kp,[l,c]=g.useState(s),[u,d]=g.useState(!1),[p,m]=g.useState(""),h=g.useRef(!1);g.useEffect(()=>c(s),[s]);const f=A=>{const q={...l,...A};c(q),a("view.update",{patch:{composerBundle:q}})},v=(t==null?void 0:t.bundle)||o.bundle||i.bundle||(((N=e.bundleDefaults)==null?void 0:N.workspacePath)===o.workspace?e.bundleDefaults.effective:""),y=l.open&&l.sessionId===((t==null?void 0:t.id)||null),E=g.useRef(null),b=Kw(y,E);il(y,E,()=>f({open:!1})),g.useEffect(()=>{var A;(A=e.registeredBundles)!=null&&A.length||a("bundles.list",{})},[]);const x=e.registeredBundles||[],w=(t==null?void 0:t.workspaceAvailable)===!1||(t==null?void 0:t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1;async function R(A,q=!1){if(!h.current){h.current=!0,d(!0),m(""),f({bundle:A});try{await a(t?"bundle.switch":"view.update",t?{sessionId:t.id,bundle:A,resetModel:q}:{patch:{newSessionDraft:{...o,bundle:A}}})}catch(z){m(z.message)}finally{h.current=!1,d(!1)}}}const S=(t==null?void 0:t.bundlePreview)&&t.bundlePreview.bundle===l.bundle&&t.bundlePreview.modelCompatible===!1&&((M=t==null?void 0:t.bundleChange)==null?void 0:M.phase)!=="ready";return n.createElement("div",{className:"a-model-control a-bundle-control",ref:E},n.createElement("button",{type:"button",className:"a-model-trigger a-bundle-trigger","aria-label":"Conversation bundle",disabled:!!w,"aria-expanded":!!y,"data-action":"view.update",onClick:()=>f({open:!y,sessionId:(t==null?void 0:t.id)||null,bundle:v})},n.createElement(Dr,null),n.createElement("span",null,v?Ai(e,v):i.phase==="error"?"Bundle unavailable":"Loading bundle…"),n.createElement(el,null)),y&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:b,"aria-label":"Choose conversation bundle"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation bundle"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close bundle settings","data-action":"view.update",onClick:()=>f({open:!1})},n.createElement(tn,null))),n.createElement("select",{"aria-label":"Registered root bundles",value:v||"",disabled:r||u||(t==null?void 0:t.configurationBusy),"data-action":t?"bundle.switch":"view.update",onChange:A=>R(A.target.value)},!v&&n.createElement("option",{value:"",disabled:!0},"Loading bundles…"),v&&!x.some(A=>A.value===v)&&n.createElement("option",{value:v},Ai(e,v)),x.map(A=>n.createElement("option",{key:A.value,value:A.value},A.label||A.value))),((k=x.find(A=>A.value===v))==null?void 0:k.description)&&n.createElement("p",{className:"a-caption a-composer-bundle-description"},x.find(A=>A.value===v).description),S&&n.createElement(n.Fragment,null,n.createElement("p",null,"Your pinned model is unavailable in this bundle."),n.createElement("button",{type:"button",className:"a-soft",disabled:u||r,onClick:()=>R(l.bundle,!0)},"Use the new bundle’s model")),(p||((T=t==null?void 0:t.bundleChange)==null?void 0:T.phase)==="error")&&n.createElement("small",{className:"a-danger",role:"status"},p||t.bundleChange.error)))}function yD({state:e,session:t,act:a,working:r}){var M,k,T,A,q;const o=((M=e.view)==null?void 0:M.composerBundle)||kp,[i,s]=g.useState(o),[l,c]=g.useState(null),u=g.useRef(!1);g.useEffect(()=>s(o),[o]);const d=z=>{const F={...i,...z};s(F),a("view.update",{patch:{composerBundle:F}})},p=Ja(e),m=(t==null?void 0:t.bundle)||p.bundle||((k=e.bundleDefaults)==null?void 0:k.effective)||((T=e.settings)==null?void 0:T.bundle)||"work",h=i.open&&i.sessionId===((t==null?void 0:t.id)||null),f=g.useRef(null);il(h,f,()=>d({open:!1}));const v=t==null?void 0:t.bundleChange,y=t==null?void 0:t.bundlePreview,E=!!l||!!(t!=null&&t.configurationBusy)||(v==null?void 0:v.phase)==="working",b=(y==null?void 0:y.bundle)===i.bundle&&(y==null?void 0:y.previewId),x=(t==null?void 0:t.workspaceAvailable)===!1||(t==null?void 0:t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1,w=r||E||x||!((A=i.bundle)!=null&&A.trim()),R=b&&!y.modelCompatible&&!i.resetModel,S=l||(v==null?void 0:v.action),I=S==="bundle.preview"?"Previewing bundle changes…":S==="bundle.fork"?"Creating a conversation with this bundle…":"Switching bundle…";async function N(z){if(!u.current){u.current=!0,c(z);try{await a(z,z==="view.update"?{patch:{newSessionDraft:{...Ja(e),bundle:i.bundle},composerBundle:{},panel:null}}:{sessionId:t.id,bundle:i.bundle,...z!=="bundle.preview"?{...b?{previewId:y.previewId}:{},resetModel:!!i.resetModel}:{}})}finally{u.current=!1,c(null)}}}return n.createElement("div",{className:"a-model-control a-bundle-control",ref:f},n.createElement("button",{type:"button",className:"a-model-trigger a-bundle-trigger","aria-label":"Conversation bundle","aria-expanded":!!h,"data-action":"view.update",onClick:()=>d({open:!h,sessionId:(t==null?void 0:t.id)||null,bundle:m,resetModel:!1})},n.createElement(Dr,null),n.createElement("span",null,!t&&!p.bundle?"Workspace default":Ai(e,m)),n.createElement(el,null)),h&&n.createElement("section",{className:"a-model-popover a-bundle-popover","aria-label":"Choose conversation bundle"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation bundle"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close bundle settings","data-action":"view.update",onClick:()=>d({open:!1})},n.createElement(tn,null))),n.createElement("p",null,"Choose the tools, agents, and instructions for this conversation."),n.createElement(xg,{id:"conversation-bundle",value:i.bundle||m,onChange:z=>d({bundle:z,resetModel:!1}),state:e,act:a}),t?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Switch directly, or preview the changes first. Switching keeps history and compatible model choices, and resets previous module edits, modes, and budget overrides."),b&&n.createElement("div",{className:"a-bundle-changes","aria-label":"Bundle changes"},Object.entries(y.changes||{}).map(([z,F])=>{var H,ne,B,P;return n.createElement("div",{key:z},n.createElement("strong",null,z[0].toUpperCase()+z.slice(1)),"after"in F?n.createElement("p",null,F.before||"None"," → ",F.after||"None"):n.createElement(n.Fragment,null,((H=F.added)==null?void 0:H.length)>0&&n.createElement("p",null,"Add: ",F.added.join(", ")),((ne=F.removed)==null?void 0:ne.length)>0&&n.createElement("p",null,"Remove: ",F.removed.join(", ")),!((B=F.added)!=null&&B.length)&&!((P=F.removed)!=null&&P.length)&&n.createElement("p",null,"Same set; settings may change.")))}),n.createElement("p",null,"Instructions are replaced. Enabled app capabilities and shared settings still apply."),((q=y.appCapabilities)==null?void 0:q.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Added app capabilities (",y.appCapabilities.length,")"),n.createElement("ul",null,y.appCapabilities.map(z=>n.createElement("li",{key:z,className:"a-wrap"},z)))),!y.modelCompatible&&n.createElement(n.Fragment,null,n.createElement("p",null,"Your pinned model is unavailable in this bundle."),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:!!i.resetModel,"data-action":"view.update",onChange:z=>d({resetModel:z.target.checked})})," Use the new bundle’s model"))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w||R||i.bundle===m,"data-action":"bundle.switch",onClick:()=>N("bundle.switch")},"Switch bundle"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"bundle.preview",onClick:()=>N("bundle.preview")},"Preview changes"),n.createElement("button",{type:"button",className:"a-soft",disabled:w||R,"data-action":"bundle.fork",onClick:()=>N("bundle.fork")},"Fork with this bundle")),r&&n.createElement("p",null,"Finish this turn and its workers to preview or switch bundles."),(E||v)&&n.createElement(it,{phase:E?"working":v.phase,message:E?I:v.error||(v.phase==="ready"?v.action==="bundle.preview"?"Preview ready":v.action==="bundle.fork"?"Fork created":"Bundle switched":"")})):n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-primary",disabled:w,"data-action":"view.update",onClick:()=>N("view.update")},"Use bundle"),n.createElement("button",{type:"button",className:"a-soft",disabled:E||!p.bundle,"data-action":"view.update",onClick:()=>a("view.update",{patch:{newSessionDraft:{...p,bundle:""},composerBundle:{}}})},"Use workspace default"))))}function ED({state:e,act:t}){var h,f;const a=e.bundleDefaults||{},r=((h=e.view)==null?void 0:h.bundleDefaultsDraft)||kp,[o,i]=g.useState(r),[s,l]=g.useState(!1),c=g.useRef(!1);g.useEffect(()=>i(r),[r]);const u=o.scope||"app",d=o.bundle??a[u]??"",p=v=>{const y={...o,...v};i(y),t("view.update",{patch:{bundleDefaultsDraft:y}})};async function m(v){var y;if(!c.current){c.current=!0,l(!0);try{await t("bundle.default",{scope:u,bundle:v,workspace:a.workspacePath||((y=e.settings)==null?void 0:y.workspace)})}finally{c.current=!1,l(!1)}}}return n.createElement("div",null,n.createElement("label",{htmlFor:"bundle-default-scope"},"Default applies to"),n.createElement("select",{id:"bundle-default-scope",value:u,"data-action":"view.update",onChange:v=>p({scope:v.target.value,bundle:a[v.target.value]||""})},n.createElement("option",{value:"app"},"This Unified app"),n.createElement("option",{value:"workspace"},"This workspace on this computer"),n.createElement("option",{value:"shared"},"Shared Amplifier settings (including CLI)")),n.createElement("label",{htmlFor:"default-bundle"},"Default bundle for new conversations"),n.createElement(xg,{id:"default-bundle",value:d,state:e,act:t,onChange:v=>p({bundle:v})}),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary",disabled:s||!d.trim(),"data-action":"bundle.default",onClick:()=>m(d.trim())},"Save default"),n.createElement("button",{type:"button",className:"a-soft",disabled:s,"data-action":"bundle.default",onClick:async()=>{await m(null),p({bundle:""})}},"Use inherited default")),n.createElement("p",{className:"a-caption"},"New conversations here use ",n.createElement("strong",null,Ai(e,a.effective||((f=e.settings)==null?void 0:f.bundle)))," from ",{workspace:"workspace settings",app:"this Unified app",shared:"shared Amplifier settings"}[a.source]||"shared Amplifier settings",". Workspace settings take priority over this app, then shared settings. Existing conversations keep their selected bundles."),u==="workspace"&&a.workspaceInherited&&n.createElement("p",{className:"a-caption"},"Clearing this computer’s override inherits the project’s ",Ai(e,a.workspaceInherited)," default."))}const no={page:"home",serverId:"",toolName:"",repository:"",ref:"",path:"",extras:"",connection:{id:"",name:"",transport:"stdio",command:"",args:"",env:"",cwd:"",url:"",headers:"",auth:"environment",installationId:""},values:{},raw:!1,json:"{}"},Ut=e=>["running","working","queued","pending","connecting","installing"].includes((e==null?void 0:e.status)||(e==null?void 0:e.phase)),Xr=e=>{var t;return["failed","error","interrupted"].includes((e==null?void 0:e.status)||(e==null?void 0:e.phase))||!!(e!=null&&e.error)||((t=e==null?void 0:e.result)==null?void 0:t.isError)===!0},Za=e=>JSON.stringify(e,null,2),ti=e=>Array.isArray(e)?e:Object.values(e||{}),_i=e=>e.replace(/[_.-]+/g," ").replace(/^./,t=>t.toUpperCase()),Ta=e=>(e==null?void 0:e.repository)||(e==null?void 0:e.repo)||(e==null?void 0:e.url)||"",wD=e=>Ut(e)?"working":Xr(e)?"error":"ready",kD={"smartTools.catalog":"Catalog refreshed","smartTools.inspect":"Source inspected","smartTools.install":"Installation complete","smartTools.configure":"Connection saved","smartTools.connect":"Connected","smartTools.disconnect":"Disconnected","smartTools.remove":"Connection removed","smartTools.call":"Tool finished","smartTools.open":"Opened in canvas","smartTools.reconnect":"Reconnected","smartTools.schemas":"Tool fields loaded","smartTools.discover":"Tool definitions found","smartTools.uninstall":"Package uninstalled","smartTools.authStart":"Sign-in started","smartTools.authCancel":"Sign-in cancelled","smartTools.authForget":"Local sign-in removed","smartTools.accountAccept":"Account change accepted; reconnect explicitly"};function xD({value:e}){return typeof e=="string"?n.createElement("p",null,e):!Array.isArray(e)||e.some(t=>typeof t!="string"&&typeof(t==null?void 0:t.name)!="string")?n.createElement("pre",null,Za(e)):n.createElement("ul",{className:"a-smart-setup-requirements"},e.map((t,a)=>typeof t=="string"?n.createElement("li",{key:a},t):n.createElement("li",{key:a},n.createElement("strong",null,t.name),t.optional&&n.createElement("small",null," · Optional"),typeof t.purpose=="string"&&n.createElement("p",null,t.purpose),typeof t.install=="string"&&(/^https?:\/\//.test(t.install)?n.createElement("a",{href:t.install,target:"_blank",rel:"noreferrer"},"Setup instructions",n.createElement(ba,null)):n.createElement("p",null,t.install)),Object.keys(t).some(r=>!["name","optional","purpose","install"].includes(r))&&n.createElement("details",null,n.createElement("summary",null,"More requirement details"),n.createElement("pre",null,Za(t))))))}function SD(e,t){var l;const a=(l=e.view)==null?void 0:l.smartToolsEditor,[r,o]=g.useState({...no,...a}),i=g.useRef(r);return g.useLayoutEffect(()=>{a&&(i.current={...no,...a},o(i.current))},[a]),[r,c=>{const u={...i.current,...c};i.current=u,o(u),t("view.update",{patch:{smartToolsEditor:u}})}]}function CD(e,t,a={}){return[...e].reverse().find(r=>r.action===t&&Object.entries(a).every(([o,i])=>{var l,c;const s=((l=r.target)==null?void 0:l[o])??((c=r.args)==null?void 0:c[o])??(o==="id"?r.serverId:o==="name"?r.tool||r.name:r[o]);return r.target||r.args?(s??"")===(i??""):s==null||s===i}))}function ha({operation:e,busyMessage:t}){var r;if(!e)return null;const a=e.error||((r=e.result)!=null&&r.isError?"The tool reported an error. See its result below.":Ut(e)?t||"Working…":kD[e.action]||"Finished");return n.createElement(it,{phase:wD(e),message:typeof a=="string"?a:Za(a),detail:e.status==="interrupted"?"The previous app run ended before this request finished. Review the tool state before retrying.":void 0})}function ND({operation:e}){if(!e||Ut(e)||e.result==null)return null;const t=e.result,a=!!(t&&typeof t=="object"&&t.$resource),r=a?t.summary??t.preview??null:t,o=typeof r=="string"?r:r==null?"":Za(r);return n.createElement("div",{className:"a-smart-result"},n.createElement("h4",null,"Result"),o&&n.createElement("pre",{tabIndex:0},o.slice(0,24e3)),a?n.createElement("p",{className:"a-caption"},"The full result is saved",typeof t.bytes=="number"?` (${Math.ceil(t.bytes/1024).toLocaleString()} KB)`:"",". Ask your agent to inspect it or show the details you need."):o.length>24e3&&n.createElement("p",{className:"a-caption"},"Showing the first 24,000 characters. The full result is saved and available for your agent to inspect."))}function RD(e){const t=e.split(` +`).map(r=>r.trim()).filter(Boolean),a={};for(const r of t){const o=/^([A-Za-z_][A-Za-z0-9_]*)\s*=\s*([A-Za-z_][A-Za-z0-9_]*)$/.exec(r);if(!o)throw new Error("Use CHILD_VARIABLE=APP_VARIABLE on each line. Enter variable names, not secret values.");if(Object.hasOwn(a,o[1]))throw new Error(`The variable ${o[1]} appears more than once.`);a[o[1]]=o[2]}return a}function TD(e){const t={};for(const a of e.split(` +`).map(r=>r.trim()).filter(Boolean)){const r=/^([A-Za-z][A-Za-z0-9-]*)\s*=\s*([A-Za-z_][A-Za-z0-9_]*)$/.exec(a);if(!r)throw new Error("Use HEADER_NAME=APP_VARIABLE, never credential values.");if(Object.keys(t).some(o=>o.toLowerCase()===r[1].toLowerCase()))throw new Error("Header names must be unique.");t[r[1]]=r[2]}return t}function Ac(e,t,a,r){var i;if(a||!(e!=null&&e.properties)||e.oneOf||e.anyOf||e.$ref){const s=JSON.parse(r);if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Tool arguments must be a JSON object.");return s}const o={};for(const[s,l]of Object.entries(e.properties)){let c=t[s]??(l.default==null?"":l.enum||typeof l.default=="object"?Za(l.default):String(l.default));if(c===""){if((i=e.required)!=null&&i.includes(s))throw new Error(`${l.title||_i(s)} is required.`);continue}if(l.enum)c=JSON.parse(c);else if(l.type==="boolean")c=c==="true";else if(l.type==="integer"||l.type==="number"){if(c=Number(c),!Number.isFinite(c)||l.type==="integer"&&!Number.isInteger(c))throw new Error(`${l.title||_i(s)} must be ${l.type==="integer"?"a whole number":"a number"}.`)}else(l.type==="object"||l.type==="array"||l.oneOf||l.anyOf||l.$ref||Array.isArray(l.type))&&(c=JSON.parse(c));o[s]=c}return o}function ID({schema:e,values:t,edit:a}){return Object.entries(e.properties||{}).map(([r,o])=>{var m,h;const i=`smart-tool-field-${r}`,s=o.title||_i(r),l=(m=e.required)==null?void 0:m.includes(r),c=o.type==="object"||o.type==="array"||o.oneOf||o.anyOf||o.$ref||Array.isArray(o.type),u=o.default==null?"":o.enum||c?Za(o.default):String(o.default),d=t[r]??u,p={id:i,value:d,"data-action":"view.update",onChange:f=>a({...t,[r]:f.target.value}),"aria-describedby":o.description?i+"-hint":void 0};return n.createElement("div",{className:"a-smart-field",key:r},n.createElement("label",{htmlFor:i},s,l&&n.createElement("span",{className:"a-smart-required"},"Required")),o.enum?n.createElement("select",{...p},n.createElement("option",{value:""},l?"Choose…":"Tool default"),o.enum.map((f,v)=>n.createElement("option",{key:v,value:JSON.stringify(f)},typeof f=="string"?f:JSON.stringify(f)))):o.type==="boolean"?n.createElement("select",{...p},n.createElement("option",{value:""},l?"Choose…":"Tool default"),n.createElement("option",{value:"true"},"Yes"),n.createElement("option",{value:"false"},"No")):c?n.createElement("textarea",{...p,className:"a-json-editor",spellCheck:!1,placeholder:o.type==="array"?"[]":"{}"}):o.type==="number"||o.type==="integer"?n.createElement("input",{...p,type:"number",step:o.type==="integer"?"1":"any",min:o.minimum,max:o.maximum}):n.createElement("textarea",{...p,rows:2,placeholder:((h=o.examples)==null?void 0:h[0])==null?"":String(o.examples[0])}),o.description&&n.createElement("p",{id:i+"-hint",className:"a-caption"},o.description))})}function AD({state:e,act:t,simple:a=!1,navigateSettings:r}){var gt,Se,X,Ce,Fe,We,tt,yt,se,Qe,ot,bt,ut,Mt,St,jt,st,lt,Ze,Ot,en,vn,Rn,bn,Ln,Kn,Tn,ge,Ke,Ue,nt,ye,At,an,Zt,Q,rn,ca,Sa,Dn,yn,dn,In,on,mt,ht;const[o,i]=SD(e,t),s=g.useRef(!1),[l,c]=g.useState(null),[u,d]=g.useState(""),[p,m]=g.useState(null),h=e.smartTools||{},f=ti(h.servers),v=ti(h.catalog),y=ti(h.installations).filter(V=>!V.supersededBy&&!V.stagedFrom),E=ti(h.operations),b=f.find(V=>V.id===o.serverId),x=ti(b==null?void 0:b.tools).filter(V=>{var we,Xe;return(((Xe=(we=V._meta)==null?void 0:we.ui)==null?void 0:Xe.visibility)||["model","app"]).includes("model")}),w=x.find(V=>V.name===o.toolName),R=w&&{...w,...(b==null?void 0:b.loadedSchemaRevision)===(b==null?void 0:b.catalogRevision)?(gt=b==null?void 0:b.loadedSchemas)==null?void 0:gt[o.toolName]:{}},S=!!(R!=null&&R.inputSchema)&&(b==null?void 0:b.catalogState)!=="stale",I=(V,we={})=>(l==null?void 0:l.action)===V?l:CD(E,V,we),N=async(V,we={})=>{d(""),c({action:V,status:"pending",target:we});try{const Xe=await t(V,we);if(!Xe||Xe.accepted===!1)throw new Error("The request could not be sent. Please try again.");return c(null),Xe}catch(Xe){return c({action:V,status:"failed",error:Xe.message,target:we}),null}},M=(V,we={})=>{d(""),c(null),i({page:V,catalogReview:!1,catalogInstalling:!1,returnPage:V==="source"&&o.page==="catalog"?"catalog":null,...we})},k={...no.connection,...o.connection},T=V=>i({connection:{...k,...V}}),A=[...E].reverse().find(Ut),q=Ut(l)||E.some(V=>{var we,Xe,Ft;return Ut(V)&&(o.page==="source"?((we=V.target)==null?void 0:we.repository)===o.repository.trim():o.page==="connection"?V.action==="smartTools.configure"&&(((Xe=V.target)==null?void 0:Xe.id)||"")===k.id:["server","tool"].includes(o.page)?((Ft=V.target)==null?void 0:Ft.id)===(b==null?void 0:b.id):!1)}),[z,F]=ka(e,t,"smart-tool-connections",f,V=>[V.name,V.command,V.status],"Filter connections"),[H,ne,B]=ka(e,t,"smart-tool-catalog",v,V=>[V.name,V.id,V.description,Ta(V)],a?"Search tools":"Filter catalog",{simple:a}),[P,_]=ka(e,t,"smart-tool-actions-"+((b==null?void 0:b.id)||""),x,V=>[V.name,V.title,V.description],"Filter tools"),ee=I("smartTools.installBatch"),Z=Ut(ee),D=V=>y.some(we=>Ta(we).replace(/\.git$/,"")===Ta(V).replace(/\.git$/,"")&&(we.path||".")===(V.path||".")),G=o.catalogSelection||[],j=v.filter(V=>G.includes(V.id)&&!D(V)),K=Math.max(1,Math.min(o.catalogPage||1,Math.ceil(H.length/40)||1)),oe=H.length>50,xe=oe?H.slice((K-1)*40,K*40):H,ce=v.find(V=>V.id===o.catalogId)||xe[0],_e=(V,we)=>i({catalogSelection:we?[...new Set([...G,V])]:G.filter(Xe=>Xe!==V)}),$e=V=>i({catalogSelection:[...new Set([...G,...V.filter(we=>!D(we)).map(we=>we.id)])]});g.useEffect(()=>{i({catalogPage:1})},[B]);const De=o.page==="tool"?"server":"home",de=V=>M("connection",{connection:V?{id:V.id,name:V.name,command:V.command,args:(V.args||[]).join(` `),env:Object.entries(V.env||{}).map(([we,Xe])=>we+"="+Xe).join(` `),cwd:V.cwd||"",transport:V.transport||"stdio",url:V.url||"",headers:Object.entries(V.headers||{}).map(([we,Xe])=>we+"="+Xe).join(` -`),auth:V.auth||"environment",installationId:V.installationId||""}:no.connection}),ve=()=>({repository:o.repository.trim(),...o.ref.trim()?{ref:o.ref.trim()}:{},...o.path.trim()?{path:o.path.trim()}:{}}),O={repository:o.repository.trim(),ref:o.ref.trim(),path:o.path.trim()},W=I("smartTools.inspect",O),ae=I("smartTools.install",O),ze=JSON.stringify(O),Me=Hc(ze,W==null?void 0:W.result,Ut(W)||Xr(W)),be=y.find(V=>Ta(V)===o.repository.trim()&&(V.path||".")===(o.path||".")),rt=!Ut(ae)&&!Xr(ae)&&(ae==null?void 0:ae.result)||be,wt=I("smartTools.call",{id:b==null?void 0:b.id,name:R==null?void 0:R.name,sessionId:e.selectedSessionId}),Dt=Hc(JSON.stringify([e.selectedSessionId,b==null?void 0:b.id,R==null?void 0:R.name]),wt,Ut(wt)||Xr(wt)),It=[...E].reverse().find(V=>{var we,Xe,Ft;return V.action==="smartTools.call"&&V.status==="completed"&&((we=V.target)==null?void 0:we.id)===(b==null?void 0:b.id)&&((Xe=V.target)==null?void 0:Xe.name)===(R==null?void 0:R.name)&&((Ft=V.target)==null?void 0:Ft.sessionId)===e.selectedSessionId}),Qt=async()=>{const V=e.selectedSessionId,we=await N("smartTools.open",{id:b.id,tool:R.name,...V?{sessionId:V}:{},...It?{operationId:It.id}:{}});we!=null&&we.operationId&&m({id:we.operationId,sessionId:V,serverId:b.id,toolName:R.name})};g.useEffect(()=>{var we;if(!p)return;const V=E.find(Xe=>Xe.id===p.id);!V||Ut(V)||(V.status==="completed"&&e.selectedSessionId===p.sessionId&&((we=e.view)==null?void 0:we.panel)==="settings"&&o.page==="tool"&&o.serverId===p.serverId&&o.toolName===p.toolName&&t("view.update",{patch:{panel:null}}),m(null))},[p,E,e.selectedSessionId,(Se=e.view)==null?void 0:Se.panel,o.page,o.serverId,o.toolName]),g.useEffect(()=>{var V,we;!a||s.current||(s.current=!0,(we=(V=e.view)==null?void 0:V.smartToolsEditor)!=null&&we.page||(M("home"),v.length||N("smartTools.catalog")))},[a]);const ie=()=>(i({catalogReview:!1,catalogInstalling:!0}),N("smartTools.installBatch",{ids:j.map(V=>V.id),extrasById:Object.fromEntries(j.map(V=>{var we;return[V.id,(((we=o.catalogExtras)==null?void 0:we[V.id])||"").split(",").map(Xe=>Xe.trim()).filter(Boolean)]}))})),he=V=>M("setup",{setupInstructions:!1,repository:Ta(V),ref:V.ref||"",path:V.path||"",extras:(V.extras||[]).join(", ")}),Ne=(R==null?void 0:R.inputSchema)||{type:"object",properties:{}},Le=!Ne.properties||!!(Ne.oneOf||Ne.anyOf||Ne.$ref),Ge=["smartTools.configure","smartTools.connect","smartTools.reconnect","smartTools.disconnect","smartTools.remove","smartTools.authForget","smartTools.accountAccept"].map(V=>I(V,{id:b==null?void 0:b.id})).filter(Boolean).sort((V,we)=>(we.updatedAt||we.createdAt||1/0)-(V.updatedAt||V.createdAt||1/0))[0],ft=g.useRef(null),vt=o.catalogReview?"review":o.catalogInstalling||Z?"install":"browse";return g.useLayoutEffect(()=>{var V,we;o.page==="catalog"&&vt!=="browse"&&((V=ft.current)==null||V.focus(),(we=ft.current)==null||we.scrollIntoView({block:"start"}))},[vt,o.page]),n.createElement("section",{className:"a-settings-section a-smart-tools","data-part":"smart-tools-settings","data-simple":a},o.page!=="home"&&(!a||!["catalog"].includes(o.page))&&n.createElement("button",{type:"button",className:"a-link a-smart-back","data-action":"view.update",onClick:()=>M(De)},n.createElement(xa,null),"Back to ",De==="server"?(b==null?void 0:b.name)||"connection":"Smart Tools"),u&&n.createElement(it,{phase:"error",message:u}),a?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Add tools that help Amplifier do more of your work."),n.createElement("div",{className:"a-tool-browse-tabs"},n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":o.page==="home","data-action":"view.update",onClick:()=>M("home")},"Installed"),n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":o.page==="catalog","data-action":"smartTools.catalog",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},"Tool catalog"),n.createElement("button",{className:"a-link",disabled:Z,"data-action":"view.update",onClick:()=>M("source",{repository:"",ref:"",path:"",extras:""})},"Add from GitHub URL"))):n.createElement("div",{className:"a-collection-toolbar"},n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>M("home")},"Installed & connected"),n.createElement("button",{className:"a-soft","data-action":"smartTools.catalog",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},n.createElement(gr,null),"Tool catalog"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>M("source")},n.createElement(Ea,null),"Add from Git"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>de()},n.createElement(Mn,null),"Add MCP connection")),o.page==="catalog"&&n.createElement(Yt,{className:a?"a-tool-catalog-simple":void 0,name:"smart-tool-catalog",busy:Ut(I("smartTools.catalog"))},vt==="review"&&n.createElement("section",{className:"a-tool-batch-review","aria-label":"Review installation"},n.createElement("h4",{ref:ft,tabIndex:-1},"Install ",j.length," tools?"),n.createElement("p",null,"Installation adds the packages. Accounts and permissions are connected separately."),n.createElement("ul",null,j.map(V=>n.createElement("li",{key:V.id},V.name||V.id))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"smartTools.installBatch",disabled:Z||!j.length,onClick:ie},"Install selected (",j.length,")"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:Z,onClick:()=>i({catalogReview:!1})},"Cancel"))),vt==="install"&&n.createElement("section",{"aria-label":"Catalog installation results"},n.createElement("h4",{ref:ft,tabIndex:-1},Z?"Installing your tools…":Xr(ee)?"Some tools need attention":"Installation complete"),n.createElement(ha,{operation:ee,busyMessage:"Installing selected packages…"}),n.createElement("ul",{className:"a-catalog-results"},((ee==null?void 0:ee.items)||[]).map(V=>n.createElement("li",{key:V.id},n.createElement("strong",null,V.name)," · ",V.status,n.createElement("small",null,V.error),V.status==="completed"&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>he(V.source)},"Finish setup")))),!Z&&((X=ee==null?void 0:ee.items)==null?void 0:X.some(V=>V.status!=="completed"))&&n.createElement("button",{className:"a-soft","data-action":"smartTools.installBatch",onClick:()=>N("smartTools.installBatch",{retryOperationId:ee.id})},"Retry unfinished installations"),!Z&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",onClick:()=>M("home")},"View installed tools"),n.createElement("button",{className:"a-soft",onClick:()=>M("catalog")},"Back to catalog"))),vt==="browse"?n.createElement(n.Fragment,null,n.createElement("div",{className:"a-catalog-controls"},n.createElement("div",{className:"a-smart-heading"},!a&&n.createElement("h4",null,"Smart Tools catalog"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh Smart Tools catalog","data-action":"smartTools.catalog",disabled:Ut(I("smartTools.catalog")),onClick:()=>N("smartTools.catalog")},n.createElement(zt,null))),!a&&n.createElement("p",null,"Select tools to install together. Each package keeps its own installation result and setup steps."),(!a||Ut(I("smartTools.catalog"))||Xr(I("smartTools.catalog")))&&n.createElement(ha,{operation:I("smartTools.catalog"),busyMessage:"Loading the catalog…"}),ne,n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,a?oe?`${(K-1)*40+1}–${Math.min(K*40,H.length)} of ${H.length} tools`:`${H.length===v.length?"All ":""}${H.length} tools`:`${j.length} selected across the catalog`),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>$e(xe)},"Select ",oe?"page":a?"all available":"matching"),oe&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>$e(H)},"Select all matching"),(!a||G.length>0)&&n.createElement("button",{className:"a-link",disabled:!G.length,"data-action":"view.update",onClick:()=>i({catalogSelection:[]})},"Clear selection"))),(a||j.length>0||Z)&&n.createElement(Cn,null,n.createElement("span",{className:"a-catalog-selection-summary"},j.length," selected",j.some(V=>!xe.includes(V))&&n.createElement("small",null,j.filter(V=>!xe.includes(V)).length," outside this view")),n.createElement("button",{className:"a-primary",disabled:!j.length||Z,"data-action":"smartTools.installBatch",onClick:()=>i({catalogReview:!0})},n.createElement(Ea,null),"Review & install")),n.createElement(So,{label:"catalog",detailOpen:!!o.catalogDetail,onBack:()=>i({catalogDetail:!1}),list:a?xe.map(V=>n.createElement("div",{className:"a-tool-catalog-row",key:V.id},n.createElement("input",{type:"checkbox",id:"select-tool-"+V.id,"aria-label":"Select "+(V.name||V.id),checked:G.includes(V.id),disabled:D(V),"data-action":"view.update",onChange:we=>_e(V.id,we.target.checked)}),n.createElement("label",{htmlFor:"select-tool-"+V.id},n.createElement("strong",null,V.name||V.id),n.createElement("small",null,V.description||"Open details to learn more."),D(V)&&n.createElement("span",{className:"a-count"},"Installed")),n.createElement("button",{className:"a-icon","aria-label":"Details for "+(V.name||V.id),"data-action":"view.update",onClick:()=>i({catalogId:V.id,catalogDetail:!0})},n.createElement(Gt,null)))):xe.map(V=>n.createElement(Va,{key:V.id,id:V.id,label:V.name||V.id,description:V.description||Ta(V),badge:D(V)?"Installed":void 0,checked:G.includes(V.id),disabled:D(V),onCheck:we=>_e(V.id,we),selected:!a&&V.id===(ce==null?void 0:ce.id),onSelect:()=>i({catalogId:V.id,catalogDetail:!0})}))},ce?n.createElement(n.Fragment,null,n.createElement("h4",null,ce.name||ce.id),n.createElement("p",null,ce.description),n.createElement("details",{className:"a-everyday-disclosure",open:!a||void 0},n.createElement("summary",null,"Source & installation options"),n.createElement("div",null,n.createElement("p",{className:"a-caption a-wrap"},Ta(ce)),n.createElement("dl",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,ce.version||((Ce=ce.manifest)==null?void 0:Ce.version)||"See manifest"),n.createElement("dt",null,"Branch or revision"),n.createElement("dd",null,ce.ref||"Repository default")),((Fe=ce.manifest)==null?void 0:Fe.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",{className:"a-wrap"},typeof ce.manifest.requires=="string"?ce.manifest.requires:Za(ce.manifest.requires))),n.createElement("label",{htmlFor:"catalog-package-extras"},"Optional package extras"),n.createElement("input",{id:"catalog-package-extras",value:((We=o.catalogExtras)==null?void 0:We[ce.id])||"",placeholder:"For example, mcp","data-action":"view.update",onChange:V=>i({catalogExtras:{...o.catalogExtras,[ce.id]:V.target.value}})}),n.createElement("p",{className:"a-caption"},"Comma-separated extras from this tool’s instructions. Applied only to this selected package."))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:D(ce),"data-action":"view.update",onClick:()=>_e(ce.id,!G.includes(ce.id))},D(ce)?"Installed":G.includes(ce.id)?"Deselect tool":"Select for installation"),n.createElement("button",{className:"a-link","data-action":"smartTools.inspect",onClick:()=>{M("source",{returnPage:"catalog",repository:Ta(ce),ref:ce.ref||"",path:ce.path||"",extras:""}),N("smartTools.inspect",{repository:Ta(ce),...ce.ref?{ref:ce.ref}:{},...ce.path?{path:ce.path}:{}})}},"Inspect source and setup")),n.createElement("p",{className:"a-caption"},"Installing a package does not connect an account or grant access. Some tools need advanced setup before they can be used.")):n.createElement("p",null,"No matching catalog items.")),oe&&n.createElement("div",{className:"a-catalog-pages"},n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:K===1,onClick:()=>i({catalogPage:K-1,catalogDetail:!1})},"Previous"),n.createElement("span",null,(K-1)*40+1,"–",Math.min(K*40,H.length)," of ",H.length),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:K*40>=H.length,onClick:()=>i({catalogPage:K+1,catalogDetail:!1})},"Next")),!v.length&&!Ut(I("smartTools.catalog"))&&n.createElement("p",{className:"a-smart-empty"},"The catalog has not loaded yet. Refresh to try again, or add a tool from a Git URL.")):null),a&&o.page==="home"&&n.createElement("section",{className:"a-installed-tools","aria-label":"Installed tools"},!y.length&&!f.length?n.createElement("div",{className:"a-ai-welcome"},n.createElement(Tk,{"aria-hidden":"true"}),n.createElement("h4",null,"No tools installed yet"),n.createElement("p",null,"Find tools for your work in the catalog, or add one using its GitHub URL."),n.createElement("button",{className:"a-primary",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},"Explore tool catalog")):n.createElement(n.Fragment,null,!!y.length&&n.createElement("div",{className:"a-everyday-list"},y.map((V,we)=>{var Xe;return n.createElement(Va,{key:V.id||we,id:V.id||String(we),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:f.some(Ft=>Ft.installationId===V.id)?"Installed · connection configured":"Installed · finish setup",onSelect:()=>he(V)})})),!!f.length&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Connected services"),f.length>6&&F,n.createElement("div",{className:"a-everyday-list"},z.map(V=>n.createElement(Va,{key:V.id,id:V.id,label:V.name,description:V.connectionState||(V.error?"Needs attention":V.status||"Not connected"),onSelect:()=>M("server",{serverId:V.id})})))))),o.page!=="catalog"&&!(a&&o.page==="home")&&n.createElement(So,{label:"configurations",detailOpen:o.page!=="home",onBack:()=>M("home"),list:n.createElement(n.Fragment,null,f.length>6&&F,f.length>0&&n.createElement("div",{className:"a-smart-heading"},n.createElement("h4",null,"Connections"),n.createElement("small",null,f.filter(V=>["ready","connected"].includes(V.status)).length," ready · ",f.length," configured")),z.map(V=>{var we,Xe;return n.createElement(Va,{key:V.id,id:V.id,label:V.name,description:(V.connectionState||(V.error?"Needs attention":V.status||"Not connected"))+((we=V.tools)!=null&&we.length?` · ${V.tools.length} tools`:"")+(V.uiCapable||(Xe=V.tools)!=null&&Xe.some(Ft=>{var En,sn;return(sn=(En=Ft._meta)==null?void 0:En.ui)==null?void 0:sn.resourceUri})?" · Canvas views":""),selected:V.id===(b==null?void 0:b.id),onSelect:()=>M("server",{serverId:V.id})})}),n.createElement("div",{className:"a-smart-heading"},n.createElement("h4",null,a?"Installed tools":"Installed packages"),n.createElement("small",null,y.length)),y.map((V,we)=>{var Xe,Ft;return n.createElement(Va,{key:V.id||we,id:V.id||String(we),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:a?f.some(En=>En.installationId===V.id)?"Installed · connection configured":"Installed · finish setup":V.version||((Ft=V.commit)==null?void 0:Ft.slice(0,8))||"Installed",selected:o.page==="source"&&Ta(V)===o.repository,onSelect:()=>he(V)})}),!f.length&&!y.length&&n.createElement("div",{className:"a-smart-empty"},n.createElement("h4",null,"No tools installed yet"),n.createElement("p",null,"Choose a tool from the catalog, add a GitHub URL, or connect an MCP service.")))},o.page==="home"&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Your Smart Tools"),n.createElement("p",null,"Choose a connection to browse its tools, run a tool, or open its interactive view. Installed packages have their own setup details."),A&&n.createElement(ha,{operation:A}),n.createElement(ha,{operation:I("smartTools.remove")})),o.page==="setup"&&n.createElement(n.Fragment,null,n.createElement("h4",null,(be==null?void 0:be.name)||((tt=be==null?void 0:be.manifest)==null?void 0:tt.name)||"Finish setup"),n.createElement("p",null,"The package is installed. A connection and any required account access are separate."),f.filter(V=>V.installationId===(be==null?void 0:be.id)&&!!(be!=null&&be.id)).map(V=>n.createElement("button",{key:V.id,className:"a-soft","data-action":"view.update",onClick:()=>M("server",{serverId:V.id})},"Open ",V.name)),!o.setupInstructions&&!f.some(V=>V.installationId===(be==null?void 0:be.id)&&!!(be!=null&&be.id))&&n.createElement("div",{className:"a-ai-hint"},n.createElement("strong",null,"Advanced setup required"),n.createElement("p",null,"This tool does not provide a guided connection setup. Use its documented connection details before using it."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i({setupInstructions:!0})},"Open setup instructions")),o.setupInstructions&&n.createElement("section",{className:"a-smart-setup-instructions","aria-label":"Setup instructions"},n.createElement("h4",null,"Set up ",(be==null?void 0:be.name)||((yt=be==null?void 0:be.manifest)==null?void 0:yt.name)||"this tool"),n.createElement("p",null,be!=null&&be.guidance&&typeof be.guidance=="string"?be.guidance:(be==null?void 0:be.nextStep)||"Follow the tool author’s instructions to connect the installed package."),/^https?:\/\//.test(o.repository)&&n.createElement("p",null,n.createElement("a",{href:o.repository,target:"_blank",rel:"noreferrer"},"Open the tool’s documentation",n.createElement(ba,null))),(be==null?void 0:be.binDir)&&n.createElement(n.Fragment,null,n.createElement("p",null,"Installed executables"),n.createElement("code",{className:"a-smart-path"},be.binDir)),((se=be==null?void 0:be.manifest)==null?void 0:se.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement(kD,{value:be.manifest.requires})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"view.update",onClick:()=>{var V;return M("connection",{connection:{...no.connection,name:(be==null?void 0:be.name)||((V=be==null?void 0:be.manifest)==null?void 0:V.name)||"",installationId:(be==null?void 0:be.id)||""}})}},"Configure MCP connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>M("source")},"Source & installation options"))),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Installation details"),n.createElement("div",null,n.createElement("p",null,be==null?void 0:be.description),n.createElement("code",{className:"a-wrap"},o.repository),n.createElement("p",{className:"a-caption"},be==null?void 0:be.nextStep)))),o.page==="source"&&n.createElement(n.Fragment,null,n.createElement("h4",null,be?`Set up ${be.name||((Qe=be.manifest)==null?void 0:Qe.name)||"tool"}`:a?"Add from GitHub URL":"Add from Git"),n.createElement("p",null,be?"Review the installed tool’s instructions and configure its connection below.":a?"Paste the repository link for a Smart Tool. Review its details before installing.":"Inspect the tool’s manifest and source revision, then install the Python package into its own environment."),n.createElement("label",{htmlFor:"smart-tool-repository"},"Repository URL"),n.createElement("input",{id:"smart-tool-repository",type:"url",value:o.repository,placeholder:"https://github.com/owner/tool","data-action":"view.update",onChange:V=>i({repository:V.target.value})}),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Branch & folder options"),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"smart-tool-ref"},"Branch, tag or commit (optional)"),n.createElement("input",{id:"smart-tool-ref",value:o.ref,placeholder:"Repository default","data-action":"view.update",onChange:V=>i({ref:V.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"smart-tool-path"},"Package folder (optional)"),n.createElement("input",{id:"smart-tool-path",value:o.path,placeholder:"Repository root","data-action":"view.update",onChange:V=>i({path:V.target.value})})))),n.createElement(Yt,{name:"smart-tool-inspection",busy:Ut(W)},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-operation-pending":Ut(W)||void 0,"aria-busy":Ut(W)||void 0,"data-action":"smartTools.inspect",disabled:!o.repository.trim()||q,onClick:()=>N("smartTools.inspect",ve())},n.createElement(zt,null),"Inspect source")),n.createElement(ha,{operation:W,busyMessage:"Reading the tool manifest…"}),Me&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,Me.name||((ot=Me.manifest)==null?void 0:ot.name)||((bt=Me.metadata)==null?void 0:bt.name)||"Tool source"),n.createElement("p",null,Me.description||((ut=Me.manifest)==null?void 0:ut.description)||((Mt=Me.metadata)==null?void 0:Mt.description)),n.createElement("dl",null,n.createElement("div",null,n.createElement("dt",null,"Revision"),n.createElement("dd",null,n.createElement("code",null,((St=Me.commit)==null?void 0:St.slice(0,12))||Me.revision||o.ref||"Default branch"))),Me.version||(jt=Me.manifest)!=null&&jt.version?n.createElement("div",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,Me.version||((st=Me.manifest)==null?void 0:st.version))):null),(((lt=Me.manifest)==null?void 0:lt.requires)||Me.requires)&&n.createElement("div",{className:"a-smart-requirements"},n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",null,typeof(((Ze=Me.manifest)==null?void 0:Ze.requires)||Me.requires)=="string"?((Ot=Me.manifest)==null?void 0:Ot.requires)||Me.requires:Za(((en=Me.manifest)==null?void 0:en.requires)||Me.requires))))),n.createElement(Yt,{name:"smart-tool-installation",busy:Ut(ae)},n.createElement("label",{htmlFor:"smart-tool-extras"},"Optional package extras"),n.createElement("input",{id:"smart-tool-extras",value:o.extras,placeholder:"For example, mcp","data-action":"view.update",onChange:V=>i({extras:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use extras documented by the tool author, separated by commas. An MCP adapter may be an optional extra."),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary","data-operation-pending":Ut(ae)||void 0,"aria-busy":Ut(ae)||void 0,"data-action":"smartTools.install",disabled:!o.repository.trim()||q,onClick:()=>N("smartTools.install",{...ve(),...o.extras.trim()?{extras:o.extras.split(",").map(V=>V.trim()).filter(Boolean)}:{}})},n.createElement(Ea,null),be?"Install source revision":"Install package")),n.createElement(ha,{operation:ae,busyMessage:"Installing the package in its own environment…"}),(rt==null?void 0:rt.previousInstallationId)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"updates.smartToolRollback",onClick:()=>t("updates.smartToolRollback",{id:rt.id})},"Restore previous version"),rt&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,n.createElement(Pt,null),"Package installed"),rt.binDir&&n.createElement(n.Fragment,null,n.createElement("p",null,"Executables are available in:"),n.createElement("code",{className:"a-smart-path"},rt.binDir)),rt.guidance&&n.createElement("p",null,typeof rt.guidance=="string"?rt.guidance:Za(rt.guidance)),n.createElement("p",null,rt.nextStep||"Use the tool’s documented MCP executable and arguments to add a connection."),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>{var V;de(),i({connection:{...no.connection,name:rt.name||((V=rt.manifest)==null?void 0:V.name)||"",command:"",installationId:rt.id}})}},n.createElement(im,null),"Configure MCP connection",n.createElement(zr,null)),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"smartTools.uninstall",disabled:q,onClick:()=>N("smartTools.uninstall",{id:rt.id})},n.createElement(Qn,null),"Uninstall package"),n.createElement("p",{className:"a-caption"},"Remove dependent connections first. This deletes the app-managed package folder; work stored elsewhere is kept."),n.createElement(ha,{operation:I("smartTools.uninstall",{id:rt.id})})))),o.page==="connection"&&n.createElement("form",{id:"smart-connection-form",onSubmit:async V=>{V.preventDefault();try{await N("smartTools.configure",{...k.id?{id:k.id}:{},name:k.name.trim(),transport:k.transport,...k.installationId?{installationId:k.installationId}:{},...k.transport==="stdio"?{command:k.command.trim(),args:k.args.split(` -`).map(we=>we.trim()).filter(Boolean),env:ND(k.env),...k.cwd.trim()?{cwd:k.cwd.trim()}:{}}:{url:k.url.trim(),auth:k.auth,headers:k.auth==="oauth"?{}:RD(k.headers)}})}catch(we){d(we.message)}}},n.createElement("h4",null,k.id?"Edit connection":"Add MCP connection"),n.createElement("p",null,"Save a connection, then connect when you are ready. Saving does not contact the server."),n.createElement("label",{htmlFor:"smart-tool-connection-name"},"Display name"),n.createElement("input",{id:"smart-tool-connection-name",required:!0,value:k.name,placeholder:"My Smart Tool","data-action":"view.update",onChange:V=>T({name:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-transport"},"Connection type"),n.createElement("select",{id:"smart-tool-transport",value:k.transport,"data-action":"view.update",onChange:V=>T({transport:V.target.value})},n.createElement("option",{value:"stdio"},"Local executable"),n.createElement("option",{value:"streamable-http"},"Remote MCP endpoint")),k.transport==="stdio"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-command"},"Executable"),n.createElement("input",{id:"smart-tool-command",required:!0,value:k.command,placeholder:"/path/to/environment/bin/tool-mcp",spellCheck:!1,"data-action":"view.update",onChange:V=>T({command:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-arguments"},"Arguments — one per line"),n.createElement("textarea",{id:"smart-tool-arguments",value:k.args,spellCheck:!1,"data-action":"view.update",onChange:V=>T({args:V.target.value})}),n.createElement("p",{className:"a-caption"},"Each line is one argument. Shell commands are not evaluated."),n.createElement("label",{htmlFor:"smart-tool-cwd"},"Working folder (optional)"),n.createElement(Ma,{id:"smart-tool-cwd",value:k.cwd,onChange:V=>T({cwd:V}),directory:!0,state:e,act:t}),n.createElement("label",{htmlFor:"smart-tool-environment"},"Environment variable references (optional)"),n.createElement("textarea",{id:"smart-tool-environment",value:k.env,spellCheck:!1,placeholder:"TOOL_API_KEY=MY_TOOL_API_KEY","data-action":"view.update",onChange:V=>T({env:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use CHILD_VARIABLE=APP_VARIABLE. Enter names, never key values.")):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-url"},"MCP endpoint"),n.createElement("input",{id:"smart-tool-url",type:"url",required:!0,value:k.url,placeholder:"https://example.com/mcp","data-action":"view.update",onChange:V=>T({url:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-auth"},"Authorization"),n.createElement("select",{id:"smart-tool-auth",value:k.auth,"data-action":"view.update",onChange:V=>T({auth:V.target.value})},n.createElement("option",{value:"environment"},"Header references or no authentication"),n.createElement("option",{value:"oauth"},"Browser sign-in (OAuth)")),k.auth==="environment"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-headers"},"Header references (optional)"),n.createElement("textarea",{id:"smart-tool-headers",value:k.headers,placeholder:"Authorization=MY_TOOL_AUTHORIZATION","data-action":"view.update",onChange:V=>T({headers:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use HEADER_NAME=APP_VARIABLE. The variable must contain the complete header value, such as a Bearer token. Never paste credentials here.")):n.createElement("p",{className:"a-caption"},"The server must support MCP OAuth discovery. Start sign-in after saving, then review the provider’s consent page.")),n.createElement(ha,{operation:I("smartTools.configure"),busyMessage:"Saving the connection…"}),n.createElement(Cn,null,n.createElement("button",{type:"submit",form:"smart-connection-form",className:"a-primary","data-action":"smartTools.configure",disabled:!k.name.trim()||!(k.transport==="stdio"?k.command:k.url).trim()||q},n.createElement(Pt,null),"Save connection"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>M("home")},"View connections",n.createElement(zr,null)))),(o.page==="server"||o.page==="tool")&&!b&&n.createElement(it,{phase:"neutral",message:"This connection is no longer configured."}),o.page==="server"&&b&&n.createElement(Yt,{name:"smart-tool-connection-"+b.id,busy:Ut(Ge)},n.createElement("div",{className:"a-smart-heading"},n.createElement("div",null,n.createElement("h4",null,b.name),n.createElement("p",null,b.connectionState||b.status||"Not connected"," · ",x.length," tools")),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Edit "+b.name,"data-action":"view.update",onClick:()=>de(b)},n.createElement(ax,null))),n.createElement("div",{className:"a-smart-source-summary","data-part":"connector-account"},n.createElement("p",null,"Account identity: ",["verified","accepted"].includes((vn=b.account)==null?void 0:vn.status)?b.account.displayName||b.account.subject:((Rn=b.account)==null?void 0:Rn.status)==="changed"?"Changed — review required":((bn=b.account)==null?void 0:bn.status)==="unconfirmed"?"Unconfirmed — reconnect is blocked":"Unknown — the server has not supplied supported account details."),((Ln=b.account)==null?void 0:Ln.subject)&&n.createElement("p",{className:"a-caption"},b.account.issuer," · ",b.account.subject),((Kn=b.account)==null?void 0:Kn.provenance)&&n.createElement("p",{className:"a-caption"},"Server-attested through authenticated transport. This is not independent identity verification. Last observed: ",new Date(b.account.observedAt*1e3).toLocaleString(),"."),((Tn=b.account)==null?void 0:Tn.detail)&&n.createElement("p",null,b.account.detail),((ge=b.account)==null?void 0:ge.status)==="changed"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Previously accepted: ",b.account.expected.issuer," · ",b.account.expected.subject),n.createElement("p",null,"Reported now: ",b.account.candidate.displayName||b.account.candidate.subject," · ",b.account.candidate.issuer," · ",b.account.candidate.subject),n.createElement("p",{className:"a-caption"},"The connector attests this identity through its authenticated transport. Accepting saves this account choice; it does not reconnect or call a tool."),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.accountAccept",disabled:q,onClick:()=>N("smartTools.accountAccept",{id:b.id,expectedRevision:b.account.revision,issuer:b.account.candidate.issuer,subject:b.account.candidate.subject})},"Accept this account change"))),((Ue=(Ke=b.authorization)==null?void 0:Ke.requestedScopes)==null?void 0:Ue.length)>0&&n.createElement("p",{className:"a-caption"},"Requested access: ",b.authorization.requestedScopes.join(", ")),n.createElement("p",{className:"a-caption"},"Granted access: ",((ye=(nt=b.authorization)==null?void 0:nt.grantedScopes)==null?void 0:ye.join(", "))||"Not reported"," · Consent: ",((At=b.authorization)==null?void 0:At.consent)||"Unknown"),b.auth==="oauth"&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("p",null,"Sign-in: ",((an=b.login)==null?void 0:an.phase)||"Not started"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.authStart",disabled:["starting","waiting"].includes((Zt=b.login)==null?void 0:Zt.phase),onClick:()=>N("smartTools.authStart",{id:b.id,redirectOrigin:window.location.origin})},"Sign in"),((Q=b.login)==null?void 0:Q.url)&&n.createElement("a",{className:"a-soft",href:b.login.url,target:"_blank",rel:"noopener noreferrer"},"Review access and authorize"),["starting","waiting"].includes((rn=b.login)==null?void 0:rn.phase)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.authCancel",onClick:()=>N("smartTools.authCancel",{id:b.id})},"Cancel sign-in"),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"smartTools.authForget",onClick:()=>N("smartTools.authForget",{id:b.id})},"Forget local sign-in")),((Sa=(ca=b.login)==null?void 0:ca.requestedScopes)==null?void 0:Sa.length)>0&&b.login.requestedScopes.join(" ")!==((yn=(Dn=b.authorization)==null?void 0:Dn.requestedScopes)==null?void 0:yn.join(" "))&&n.createElement("p",null,"Requested access: ",b.login.requestedScopes.join(", ")),((dn=b.login)==null?void 0:dn.error)&&n.createElement(it,{phase:"error",message:b.login.error}),n.createElement("p",{className:"a-caption"},"You complete consent with the provider. Forgetting sign-in removes local credentials; revoke remote access in your provider’s account settings.")),b.error&&n.createElement(it,{phase:"error",message:b.error}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","aria-busy":Ut(I("smartTools.connect",{id:b.id}))||void 0,"data-action":"smartTools.connect",disabled:q||["connected","ready"].includes(b.status),onClick:()=>N("smartTools.connect",{id:b.id})},n.createElement(im,null),b.status==="connected"||b.status==="ready"?"Connected":"Connect"),n.createElement("button",{type:"button",className:"a-soft","aria-busy":Ut(I("smartTools.disconnect",{id:b.id}))||void 0,"data-action":"smartTools.disconnect",disabled:q||!["connected","ready"].includes(b.status),onClick:()=>N("smartTools.disconnect",{id:b.id})},n.createElement(px,null),"Disconnect"),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.reconnect",disabled:q||["starting","waiting"].includes((In=b.login)==null?void 0:In.phase),onClick:()=>N("smartTools.reconnect",{id:b.id})},n.createElement(zt,null),"Reconnect")),n.createElement(ha,{operation:Ge,busyMessage:"Updating the connection…"}),b.catalogState==="stale"&&n.createElement(it,{phase:"neutral",message:"Tool definitions need a refresh before another call."}),n.createElement("button",{type:"button",className:"a-link","data-action":"smartTools.discover",disabled:q||!["connected","ready"].includes(b.status),onClick:()=>N("smartTools.discover",{id:b.id,refresh:!0})},"Refresh tool definitions"),n.createElement(ha,{operation:I("smartTools.discover",{id:b.id})}),x.length>4&&_,n.createElement("div",{className:"a-smart-list"},P.map(V=>{var we,Xe,Ft;return n.createElement("button",{type:"button",key:V.name,className:"a-smart-list-row","data-action":"view.update",onClick:()=>{M("tool",{toolName:V.name,values:{},raw:!1,json:"{}"}),b.catalogState!=="stale"&&N("smartTools.schemas",{id:b.id,names:[V.name],catalogRevision:b.catalogRevision})}},n.createElement(Ps,null),n.createElement("span",null,n.createElement("strong",null,V.title||((we=V.annotations)==null?void 0:we.title)||_i(V.name)),n.createElement("small",null,V.description||V.name),((Ft=(Xe=V._meta)==null?void 0:Xe.ui)==null?void 0:Ft.resourceUri)&&n.createElement("small",{className:"a-smart-view-label"},"Interactive canvas view")),n.createElement(Gt,null))})),!x.length&&n.createElement("p",{className:"a-smart-empty"},"Connect to discover the tools supplied by this server."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link a-danger",disabled:q,"data-action":"smartTools.remove",onClick:async()=>{await N("smartTools.remove",{id:b.id})&&M("home")}},n.createElement(Qn,null),"Remove connection")),n.createElement("p",{className:"a-caption"},"Removing a connection keeps the installed package and the tool’s saved work.")),o.page==="tool"&&b&&!R&&n.createElement(it,{phase:"neutral",message:"This tool is no longer in the server’s tool list. Reconnect to discover its current tools."}),o.page==="tool"&&R&&n.createElement(n.Fragment,null,n.createElement("h4",null,R.title||((on=R.annotations)==null?void 0:on.title)||_i(R.name)),n.createElement("p",null,R.description),n.createElement("code",{className:"a-smart-tool-id"},b.name," / ",R.name),((ht=(mt=R._meta)==null?void 0:mt.ui)==null?void 0:ht.resourceUri)&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.open",disabled:q,onClick:Qt},n.createElement(ba,null),"Open interactive view")),n.createElement(ha,{operation:I("smartTools.open",{id:b.id,tool:R.name}),busyMessage:"Opening the canvas view…"}),!S&&n.createElement(n.Fragment,null,n.createElement("p",null,"Load the current tool fields before making a call."),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.schemas",disabled:q||b.catalogState==="stale",onClick:()=>N("smartTools.schemas",{id:b.id,names:[R.name],catalogRevision:b.catalogRevision})},"Load tool fields")),n.createElement(ha,{operation:I("smartTools.schemas",{id:b.id})}),S&&n.createElement("form",{id:"smart-tool-form",onSubmit:V=>{V.preventDefault();try{const we=Ic(Ne,o.values,o.raw,o.json);N("smartTools.call",{id:b.id,name:R.name,arguments:we,catalogRevision:b.catalogRevision})}catch(we){d(we.message)}}},!Le&&!o.raw?n.createElement(TD,{schema:Ne,values:o.values,edit:V=>i({values:V})}):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-json"},"Tool arguments (JSON)"),n.createElement("textarea",{id:"smart-tool-json",className:"a-json-editor",value:o.json,spellCheck:!1,"data-action":"view.update",onChange:V=>i({json:V.target.value})})),!Le&&n.createElement("button",{type:"button",className:"a-link a-smart-advanced","data-action":"view.update","aria-expanded":o.raw,onClick:()=>{try{if(o.raw){const V=Ic(Ne,{},!0,o.json);if(Object.keys(V).some(Xe=>!Object.hasOwn(Ne.properties,Xe)))throw new Error("These arguments include extra properties. Keep the JSON editor to preserve them.");const we=Object.fromEntries(Object.entries(V).map(([Xe,Ft])=>{var En,sn;return[Xe,(sn=(En=Ne.properties)==null?void 0:En[Xe])!=null&&sn.enum||typeof Ft=="object"?JSON.stringify(Ft):String(Ft)]}));i({raw:!1,values:we})}else{let V;try{V=Ic({...Ne,required:[]},o.values,!1,"{}")}catch{V={}}i({raw:!0,json:Za(V)})}d("")}catch(V){d(V.message)}}},o.raw?"Use form fields":"Edit arguments as JSON"),n.createElement(Cn,null,n.createElement("button",{type:"submit",form:"smart-tool-form",className:"a-primary","data-operation-pending":Ut(wt)||void 0,"aria-busy":Ut(wt)||void 0,"data-action":"smartTools.call",disabled:q||!["connected","ready"].includes(b.status)},n.createElement(lg,null),"Run tool"))),n.createElement(Yt,{name:"smart-tool-result",busy:Ut(wt)},n.createElement(ha,{operation:wt,busyMessage:"Running the tool…"}),n.createElement(CD,{operation:Dt})))),a&&n.createElement("div",{className:"a-everyday-footer"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>r==null?void 0:r("tool-connections")},"Advanced tool connections",n.createElement(ba,null))))}function AD({state:e,act:t}){var S,I;const a=e.notificationSettings||{},r=((S=e.view)==null?void 0:S.maintenanceDraft)||{},[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(null),[d,p]=g.useState(""),[m,h]=g.useState(""),f=g.useRef({topic:0,token:0}),v=g.useRef(!1),y=N=>{t("view.update",{patch:{maintenanceDraft:{...r,...N}}})},E=N=>{f.current.topic++,i(N)},b=r.notifyEnabled??a.enabled??!1,x=r.notifyServer??a.server??"https://ntfy.sh",w=(I=e.actionStatus)==null?void 0:I["notifications.save"];g.useEffect(()=>{if(!(!c||(w==null?void 0:w.commandId)!==c.id||["queued","working"].includes(w.phase))){if(v.current=!1,u(null),w.phase==="error"){p(w.error||"Could not save. Your entries are kept.");return}w.phase==="ready"&&(f.current.topic===c.version.topic&&i(""),f.current.token===c.version.token&&l(""),h("Notification preferences saved."))}},[w==null?void 0:w.commandId,w==null?void 0:w.phase,c]);const R=async()=>{if(v.current)return;v.current=!0,p(""),h("");const N={...f.current};try{const M=await t("notifications.save",{patch:{desktop:r.notifyDesktop??a.desktop??!0,server:x,enabled:b,preview:r.notifyPreview??a.preview??!1,...o?{topic:o}:{},...s?{token:s}:{}}});if(!(M!=null&&M.accepted)||!M.operationId)throw Error((M==null?void 0:M.error)||"Could not save. Please retry.");u({id:M.operationId,version:N})}catch(M){v.current=!1,p(M.message)}};return n.createElement("div",{className:"a-notification-settings"},n.createElement("p",{className:"a-everyday-intro"},"Know when your response is ready, wherever you’re working."),n.createElement("section",{className:"a-notification-card"},n.createElement("label",{className:"a-everyday-toggle"},n.createElement("span",null,n.createElement("strong",null,"On this device"),n.createElement("small",null,"Show a browser notification when a response is ready.")),n.createElement("input",{type:"checkbox",checked:r.notifyDesktop??a.desktop??!0,"data-action":"view.update",onChange:N=>y({notifyDesktop:N.target.checked})})),n.createElement("p",{className:"a-caption"},"Your browser also needs permission."),n.createElement("button",{className:"a-link","data-action":"notification.request",onClick:()=>t("notification.request")},"Allow browser notifications")),n.createElement("section",{className:"a-notification-card"},n.createElement("label",{className:"a-everyday-toggle"},n.createElement("span",null,n.createElement("strong",null,"On another device"),n.createElement("small",null,a.enabled&&a.topicConfigured?"Connected through ntfy.":"Get notifications on your phone with ntfy.")),n.createElement("input",{type:"checkbox","data-action":"view.update",checked:b,onChange:N=>y({notifyEnabled:N.target.checked})})),n.createElement("details",{className:"a-everyday-disclosure",open:b||void 0},n.createElement("summary",null,a.topicConfigured?"Manage phone notifications":"Set up phone notifications"),n.createElement("div",{className:"a-notification-steps"},n.createElement("div",null,n.createElement("h4",null,"1. Open ntfy on your phone"),n.createElement("p",null,n.createElement("a",{href:"https://ntfy.sh",target:"_blank",rel:"noreferrer"},"Get the ntfy app"),", then subscribe to a topic. A topic is the name of your notification channel.")),n.createElement("div",null,n.createElement("h4",null,"2. Use the same topic here"),n.createElement("label",{htmlFor:"notify-topic"},"Topic name ",a.topicConfigured&&"(saved)"),n.createElement("div",{className:"a-topic-entry"},n.createElement("input",{id:"notify-topic",type:"password",autoComplete:"off",placeholder:a.topicConfigured?"Leave blank to keep your saved topic":"Your topic name",value:o,"data-private":"true","data-action":"notifications.save",onChange:N=>E(N.target.value)}),n.createElement("button",{className:"a-soft",onClick:()=>E("amplifier-"+crypto.randomUUID().replaceAll("-","").slice(0,20))},"Create a name")),o&&n.createElement("button",{className:"a-link",onClick:async()=>{var N;try{await navigator.clipboard.writeText(o),h("Topic copied. Subscribe to it in ntfy.")}catch{(N=document.getElementById("notify-topic"))==null||N.select(),h("Select and copy the topic, then subscribe to it in ntfy.")}}},"Copy topic name"),n.createElement("p",{className:"a-caption"},"Use an unguessable name or a protected topic. Anyone with access to the topic can read its notifications.")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Server & account"),n.createElement("div",null,n.createElement("label",{htmlFor:"notify-server"},"Notification server"),n.createElement("input",{id:"notify-server",type:"url","data-action":"view.update",value:x,onChange:N=>y({notifyServer:N.target.value})}),n.createElement("p",{className:"a-caption"},"Use the same server in the ntfy app. The default is ntfy.sh."),n.createElement("label",{htmlFor:"notify-token"},"Access token (optional)",a.tokenConfigured?" · saved":""),n.createElement("input",{id:"notify-token",type:"password",autoComplete:"off","data-private":"true","data-action":"notifications.save",value:s,placeholder:a.tokenConfigured?"Leave blank to keep saved token":"",onChange:N=>{f.current.token++,l(N.target.value)}}),n.createElement("p",{className:"a-caption"},"For protected topics, create a token in your ntfy account. It stays private on this host."))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:r.notifyPreview??a.preview??!1,onChange:N=>y({notifyPreview:N.target.checked})}),"Include a response preview"),n.createElement("p",{className:"a-caption"},"Off by default. Notifications say your response is ready without including its content.")))),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:!!c||b&&!o&&!a.topicConfigured,"data-action":"notifications.save",onClick:R},c?"Saving…":"Save notifications")),d&&n.createElement(it,{phase:"error",message:d}),n.createElement(it,{phase:"ready",message:m}))}const _D=()=>({id:crypto.randomUUID(),name:"Personal server",url:"",enabled:!1,streams:["sessions","workers","tools","usage","updates"],workspace:"amplifier-unified",workspacePattern:"*",includePaths:!1,authMode:"static",apiKeyEnv:"AMPLIFIER_CONTEXT_INTELLIGENCE_API_KEY",authResource:""});function PD({state:e,act:t}){var E,b,x,w,R,S,I,N,M,k,T,A,q,z,F,H,ne;const a=B=>{var P,_;return["queued","working","pending"].includes((_=(P=e.actionStatus)==null?void 0:P[B])==null?void 0:_.phase)},r=e.diagnostics||{},o=((E=e.view)==null?void 0:E.diagnosticsDraft)||{},i=o.config||r.config,s=r.streams||[];if(!i)return null;const l=B=>t("view.update",{patch:{diagnosticsDraft:{...o,...B}}}),c=B=>l({config:{...i,...B}}),u=i.destinations.find(B=>B.id===o.destinationId),d=B=>c({destinations:i.destinations.map(P=>P.id===u.id?{...P,...B}:P)}),p=async()=>{const B=await t("diagnostics.configure",{config:i});B!=null&&B.accepted&&l({config:null})},m=r.lastResult,h=u&&((b=r.destinations)==null?void 0:b.find(B=>B.id===u.id)),f=u&&((x=r.results)==null?void 0:x[u.id]),v=(B,P,_)=>_?[...B,P]:B.filter(ee=>ee!==P),y=(B,P,_=!1)=>n.createElement("div",{className:"a-diagnostic-streams"},s.map(ee=>n.createElement("label",{className:"a-inline-checkbox",key:ee.id},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:B.includes(ee.id),disabled:!_&&!i.streams.includes(ee.id),onChange:Z=>P(v(B,ee.id,Z.target.checked))}),n.createElement("span",null,ee.label))));return n.createElement(Pa,{id:"diagnostics",title:"Diagnostics & Context Intelligence",summary:"Local capture, selected streams and your servers",state:e,act:t},n.createElement("p",null,"Keep diagnostic records on this computer, or send selected streams to your own Context Intelligence servers. Each server has its own choices. App forwarding starts only after you save an enabled destination. Bundle exporters have their own settings."),u?n.createElement(Yt,{name:"diagnostic-destination-"+u.id,busy:(f==null?void 0:f.phase)==="working"},n.createElement("button",{className:"a-link a-diagnostics-back","data-action":"view.update",onClick:()=>l({destinationId:null})},n.createElement(xa,null),"All destinations"),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Name",n.createElement("input",{"data-action":"view.update",value:u.name,onChange:B=>d({name:B.target.value})})),n.createElement("label",null,"Server URL",n.createElement("input",{type:"url",placeholder:"https://context.example.com","data-action":"view.update",value:u.url,onChange:B=>d({url:B.target.value})}))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:u.enabled,onChange:B=>d({enabled:B.target.checked})}),"Send new selected records to this server"),n.createElement("label",null,"Authentication",n.createElement("select",{"data-action":"view.update",value:u.authMode,onChange:B=>d({authMode:B.target.value})},n.createElement("option",{value:"static"},"API key from environment"),n.createElement("option",{value:"entra"},"Microsoft Entra"))),u.authMode==="static"?n.createElement(n.Fragment,null,n.createElement("label",null,"API key environment variable",n.createElement("input",{"data-action":"view.update",value:u.apiKeyEnv,onChange:B=>d({apiKeyEnv:B.target.value})})),n.createElement("button",{className:"a-soft","data-action":"diagnostics.environment",onClick:()=>t("diagnostics.environment",{name:u.apiKeyEnv})},"Check variable"),(m==null?void 0:m.action)==="diagnostics.environment"&&m.name===u.apiKeyEnv&&n.createElement(it,{...m})):n.createElement("label",null,"Entra resource URI",n.createElement("input",{"data-action":"view.update",value:u.authResource,placeholder:"api://application-id",onChange:B=>d({authResource:B.target.value})})),n.createElement("h4",null,"Streams for this server"),y(u.streams,B=>d({streams:B})),n.createElement("p",{className:"a-caption"},"Conversation text may contain private information. Redaction is best effort. Tool arguments, results, reasoning, file contents and canvas HTML are excluded from metadata streams."),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Server workspace label",n.createElement("input",{"data-action":"view.update",value:u.workspace,onChange:B=>d({workspace:B.target.value})})),n.createElement("label",null,"Capture from workspace paths",n.createElement("input",{"data-action":"view.update",value:u.workspacePattern,placeholder:"* or /Users/me/work/*",onChange:B=>d({workspacePattern:B.target.value})}))),n.createElement("p",{className:"a-caption"},"The label organizes records; it is not an access boundary on a shared server. Path filters use * and ? wildcards."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:u.includePaths,onChange:B=>d({includePaths:B.target.checked})}),"Include workspace folder paths in remote records"),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"diagnostics.configure",onClick:p},"Save destination")),n.createElement("button",{className:"a-soft","data-operation-pending":(f==null?void 0:f.phase)==="working"||void 0,"aria-busy":(f==null?void 0:f.phase)==="working"||void 0,"data-action":"diagnostics.test",disabled:!!o.config||(f==null?void 0:f.phase)==="working",onClick:()=>t("diagnostics.test",{id:u.id})},"Test connection"),n.createElement("button",{className:"a-soft","data-action":"diagnostics.retry",disabled:!((w=h==null?void 0:h.counts)!=null&&w.failed),onClick:()=>t("diagnostics.retry",{id:u.id})},n.createElement(zt,null),"Retry failed deliveries")),n.createElement("p",{className:"a-caption"},"Save before testing. A test sends one synthetic event to verify authentication and write access."),!o.config&&n.createElement(it,{...f}),n.createElement("p",{className:"a-caption"},((R=h==null?void 0:h.counts)==null?void 0:R.accepted)||0," accepted · ",((S=h==null?void 0:h.counts)==null?void 0:S.duplicate)||0," recognized retries · ",((I=h==null?void 0:h.counts)==null?void 0:I.pending)||0," queued · ",((N=h==null?void 0:h.counts)==null?void 0:N.failed)||0," failed · ",((M=h==null?void 0:h.counts)==null?void 0:M.cancelled)||0," cancelled"),(h==null?void 0:h.error)&&n.createElement(it,{phase:"error",message:`Delivery needs attention: ${h.error.type}${h.error.statusCode?" (HTTP "+h.error.statusCode+")":""}`}),n.createElement("button",{className:"a-soft a-danger","data-action":"diagnostics.configure",onClick:async()=>{const B=await t("diagnostics.configure",{config:{...i,destinations:i.destinations.filter(P=>P.id!==u.id)}});B!=null&&B.accepted&&l({config:null,destinationId:null})}},n.createElement(Qn,null),"Remove destination")):n.createElement(n.Fragment,null,n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:i.enabled,onChange:B=>c({enabled:B.target.checked})}),"Collect app diagnostics and enable selected forwarding"),n.createElement("p",{className:"a-caption"},"Sessions use the community Context Intelligence hook and shared files. Configure raw session capture in the running mount plan. The choices below control this app’s metadata index and forwarding; they do not disable the hook."),n.createElement("h4",null,"Streams to index and make available for forwarding"),y(i.streams,B=>c({streams:B,destinations:i.destinations.map(P=>({...P,streams:P.streams.filter(_=>B.includes(_))}))}),!0),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Index days",n.createElement("input",{type:"number",min:"1",max:"365",value:i.retentionDays,"data-action":"view.update",onChange:B=>c({retentionDays:Number(B.target.value)})})),n.createElement("label",null,"Maximum indexed records",n.createElement("input",{type:"number",min:"100",max:"100000",value:i.maxRecords,"data-action":"view.update",onChange:B=>c({maxRecords:Number(B.target.value)})}))),n.createElement("p",{className:"a-caption"},"These limits apply to the local index and queued deliveries. Shared Context Intelligence events.jsonl files are preserved. Indexed: ",(k=r.local)!=null&&k.storageError&&((T=r.local)==null?void 0:T.records)==null?"unavailable":(((A=r.local)==null?void 0:A.records)??0)+" records",".",(q=r.local)!=null&&q.dropped||(z=r.local)!=null&&z.outboxDropped||(F=r.local)!=null&&F.expiredPending?` Dropped: ${r.local.dropped||0}; outbox limit: ${r.local.outboxDropped||0}; expired before delivery: ${r.local.expiredPending||0}.`:""),((H=r.local)==null?void 0:H.configurationError)&&n.createElement(it,{phase:"error",message:"The saved diagnostics configuration could not be read. Capture and forwarding are disabled; save reviewed settings to restore them."}),((ne=r.local)==null?void 0:ne.storageError)&&n.createElement(it,{phase:"error",message:"Local diagnostic storage needs attention. Conversations can continue."}),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"diagnostics.configure",onClick:p},"Save capture settings")),n.createElement("h4",null,"Destinations"),n.createElement("div",{className:"a-diagnostic-destinations"},i.destinations.map(B=>{var _;const P=(_=r.destinations)==null?void 0:_.find(ee=>ee.id===B.id);return n.createElement("button",{className:"a-settings-group-title","data-action":"view.update",key:B.id,onClick:()=>l({destinationId:B.id})},n.createElement("span",null,n.createElement("strong",null,B.name),n.createElement("small",null,B.enabled?"Sending selected streams":"Disabled"," · ",B.streams.length," streams",P!=null&&P.error?" · Needs attention":"")),n.createElement(po,null))})),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{const B=_D();l({config:{...i,destinations:[...i.destinations,B]},destinationId:B.id})}},n.createElement(Mn,null),"Add server"),n.createElement("p",{className:"a-caption"},"Saving a changed destination cancels its old pending deliveries. Data already accepted or in flight cannot be recalled. Selecting another stream starts with new records; history is never uploaded automatically."),n.createElement(Yt,{name:"diagnostic-records",busy:a("diagnostics.records")},n.createElement("h4",null,"Inspect local records"),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Stream filter",n.createElement("input",{"data-action":"view.update",value:o.stream||"*",onChange:B=>l({stream:B.target.value}),placeholder:"* or updates"})),n.createElement("label",null,"Session ID (optional)",n.createElement("input",{"data-action":"view.update",value:o.sessionId||"",onChange:B=>l({sessionId:B.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"diagnostics.records",onClick:()=>t("diagnostics.records",{stream:o.stream||"*",...o.sessionId?{sessionId:o.sessionId}:{}})},"Read records"),(m==null?void 0:m.action)==="diagnostics.records"&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft","data-action":"diagnostics.export",onClick:()=>t("diagnostics.export")},n.createElement(Ea,null),"Export this page"),m.nextBefore&&n.createElement("button",{className:"a-soft","data-action":"diagnostics.records",onClick:()=>t("diagnostics.records",{stream:o.stream||"*",...o.sessionId?{sessionId:o.sessionId}:{},before:m.nextBefore})},"Older records"))),(m==null?void 0:m.action)==="diagnostics.records"&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(m.items,null,2)))),(m==null?void 0:m.action)!=="diagnostics.records"&&(m==null?void 0:m.action)!=="diagnostics.test"&&(m==null?void 0:m.action)!=="diagnostics.environment"&&n.createElement(it,{phase:(m==null?void 0:m.phase)||"ready",message:m==null?void 0:m.message}))}const Lf=1e6;async function OD(e,t={}){var r,o;if(!e)throw new Error("Choose a conversation export.");if(e.size>Lf)throw new Error("Choose a conversation export smaller than 1 MB.");if(!/\.(json|jsonl)$/i.test(e.name||""))throw new Error("Choose a JSON or JSONL conversation export.");const a=await e.text();if(new TextEncoder().encode(a).length>Lf)throw new Error("Choose a conversation export smaller than 1 MB.");if(!a.trim())throw new Error("The selected conversation export is empty.");return{content:a,format:/\.jsonl$/i.test(e.name)?"jsonl":"json",...(r=t.title)!=null&&r.trim()?{title:t.title.trim()}:{},...(o=t.bundle)!=null&&o.trim()?{bundle:t.bundle.trim()}:{}}}function MD({state:e,act:t}){var f,v,y,E,b,x,w;const a=g.useContext(Wu);g.useEffect(()=>{a==="notifications"&&t("notifications.get")},[a]);const r=(f=e.sessions)==null?void 0:f.find(R=>R.id===e.selectedSessionId),o=((v=e.view)==null?void 0:v.maintenanceDraft)||{},i=e.permissions||{};e.notificationSettings;const s=((y=e.management)==null?void 0:y.phase)==="working",l=R=>{var I,N;const S=(I=e.actionStatus)==null?void 0:I[R];return["queued","working"].includes(S==null?void 0:S.phase)&&(!((N=S.target)!=null&&N.sessionId)||S.target.sessionId===(r==null?void 0:r.id))},c=R=>t("view.update",{patch:{maintenanceDraft:{...o,...R}}}),u=o.scope||"global",d=o.resetParts||[],p=(E=e.maintenance)==null?void 0:E.resetPreview,m=p&&JSON.stringify([...d].sort())===JSON.stringify([...p.parts||[]].sort()),h=(R,S={})=>t(R,{...r?{sessionId:r.id}:{},...S});return n.createElement("div",{"data-part":"maintenance"},n.createElement(PD,{state:e,act:t}),n.createElement(Pa,{id:"history",title:"Conversation history",state:e,act:t},n.createElement("p",null,"Your CLI projects and conversations appear automatically in the workspace sidebar. Open a chat there to continue the same conversation, or export its transcript here."),r&&n.createElement("button",{className:"a-soft","aria-busy":l("history.export")||void 0,"data-action":"history.export",onClick:()=>h("history.export",{format:"jsonl"})},"Export runtime transcript"),n.createElement("div",{className:"a-selection-card"},n.createElement("h4",null,"Import a conversation file"),n.createElement("p",null,"Load a Unified JSON export or CLI JSONL transcript as a new conversation."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"history-import-title"},"Conversation title (optional)"),n.createElement("input",{id:"history-import-title",value:o.importTitle||"","data-action":"view.update",onChange:R=>c({importTitle:R.target.value})})),n.createElement("details",null,n.createElement("summary",null,"Advanced import options"),n.createElement("label",{htmlFor:"history-import-bundle"},"Bundle override (optional)"),n.createElement("input",{id:"history-import-bundle",value:o.importBundle||"","data-action":"view.update",onChange:R=>c({importBundle:R.target.value}),placeholder:"Use the export’s bundle"}))),n.createElement("label",{htmlFor:"history-import-file"},"Choose JSON or JSONL (up to 1 MB)"),n.createElement(wg,{id:"history-import-file",accept:".json,.jsonl,application/json,application/x-ndjson",disabled:s,action:"history.importFile",label:"Choose a conversation",hint:"Drop JSON or JSONL here · up to 1 MB",onFile:async R=>{const S=await OD(R,{title:o.importTitle,bundle:o.importBundle});c({importError:""}),await t("history.importFile",S)}}),o.importError&&n.createElement("p",{className:"a-danger",role:"alert"},o.importError),n.createElement("p",{className:"a-caption"},"Original transcript entries are preserved. Imported jobs do not restart automatically.")),n.createElement("label",null,"Older than (days)",n.createElement("input",{type:"number",min:"1",value:o.cleanupDays||30,"data-action":"view.update",onChange:R=>c({cleanupDays:Number(R.target.value)})})),n.createElement("button",{className:"a-soft","aria-busy":l("history.cleanup")||void 0,"data-action":"history.cleanup",onClick:()=>t("history.cleanup",{days:o.cleanupDays||30})},"Preview cleanup"),e.cleanupPreview&&n.createElement(n.Fragment,null,n.createElement("p",null,e.cleanupPreview.sessions.length," inactive conversations eligible. Your selected conversation is kept."),n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"view.update",checked:!!o.purge,onChange:R=>c({purge:R.target.checked})}),"Also remove retained legacy app files (shared CLI history is kept)"),n.createElement("button",{className:"a-soft a-danger","aria-busy":l("history.cleanup")||void 0,"data-action":"history.cleanup",disabled:!e.cleanupPreview.sessions.length,onClick:()=>t("history.cleanup",{days:o.cleanupDays||30,apply:!0,purge:!!o.purge})},"Clean up these conversations"))),n.createElement(Pa,{id:"permissions",title:"File access",state:e,act:t},n.createElement(Yt,{className:"a-settings-page-body",name:"permissions-preferences",busy:l("permissions.get")},n.createElement("p",null,"File tools can write within your project by default. Add other allowed locations below. Denied locations take precedence, and individual tools may apply stricter limits. Shell commands and other tools can have separate policies."),n.createElement("p",{className:"a-caption"},"These fields edit write overrides at the selected scope. Empty fields do not show all effective access: inherited settings and bundle restrictions can still apply."),n.createElement("label",null,"Edit overrides for",n.createElement("select",{value:u,"data-action":"view.update",onChange:R=>c({scope:R.target.value})},n.createElement("option",{value:"global"},"All projects"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This computer’s project settings"))),n.createElement("button",{className:"a-soft","aria-busy":l("permissions.get")||void 0,"data-action":"permissions.get",disabled:!r,onClick:()=>h("permissions.get",{scope:u})},"Load permissions"),n.createElement("label",{htmlFor:"allowed-folders"},"Allowed folders (one per line)"),n.createElement(Ma,{id:"allowed-folders",multiline:!0,directory:!0,state:e,act:t,value:o.allowed??(i.allowed||[]).join(` +`),auth:V.auth||"environment",installationId:V.installationId||""}:no.connection}),ve=()=>({repository:o.repository.trim(),...o.ref.trim()?{ref:o.ref.trim()}:{},...o.path.trim()?{path:o.path.trim()}:{}}),O={repository:o.repository.trim(),ref:o.ref.trim(),path:o.path.trim()},W=I("smartTools.inspect",O),ae=I("smartTools.install",O),ze=JSON.stringify(O),Me=Vc(ze,W==null?void 0:W.result,Ut(W)||Xr(W)),be=y.find(V=>Ta(V)===o.repository.trim()&&(V.path||".")===(o.path||".")),rt=!Ut(ae)&&!Xr(ae)&&(ae==null?void 0:ae.result)||be,wt=I("smartTools.call",{id:b==null?void 0:b.id,name:R==null?void 0:R.name,sessionId:e.selectedSessionId}),Dt=Vc(JSON.stringify([e.selectedSessionId,b==null?void 0:b.id,R==null?void 0:R.name]),wt,Ut(wt)||Xr(wt)),It=[...E].reverse().find(V=>{var we,Xe,Ft;return V.action==="smartTools.call"&&V.status==="completed"&&((we=V.target)==null?void 0:we.id)===(b==null?void 0:b.id)&&((Xe=V.target)==null?void 0:Xe.name)===(R==null?void 0:R.name)&&((Ft=V.target)==null?void 0:Ft.sessionId)===e.selectedSessionId}),Qt=async()=>{const V=e.selectedSessionId,we=await N("smartTools.open",{id:b.id,tool:R.name,...V?{sessionId:V}:{},...It?{operationId:It.id}:{}});we!=null&&we.operationId&&m({id:we.operationId,sessionId:V,serverId:b.id,toolName:R.name})};g.useEffect(()=>{var we;if(!p)return;const V=E.find(Xe=>Xe.id===p.id);!V||Ut(V)||(V.status==="completed"&&e.selectedSessionId===p.sessionId&&((we=e.view)==null?void 0:we.panel)==="settings"&&o.page==="tool"&&o.serverId===p.serverId&&o.toolName===p.toolName&&t("view.update",{patch:{panel:null}}),m(null))},[p,E,e.selectedSessionId,(Se=e.view)==null?void 0:Se.panel,o.page,o.serverId,o.toolName]),g.useEffect(()=>{var V,we;!a||s.current||(s.current=!0,(we=(V=e.view)==null?void 0:V.smartToolsEditor)!=null&&we.page||(M("home"),v.length||N("smartTools.catalog")))},[a]);const ie=()=>(i({catalogReview:!1,catalogInstalling:!0}),N("smartTools.installBatch",{ids:j.map(V=>V.id),extrasById:Object.fromEntries(j.map(V=>{var we;return[V.id,(((we=o.catalogExtras)==null?void 0:we[V.id])||"").split(",").map(Xe=>Xe.trim()).filter(Boolean)]}))})),he=V=>M("setup",{setupInstructions:!1,repository:Ta(V),ref:V.ref||"",path:V.path||"",extras:(V.extras||[]).join(", ")}),Ne=(R==null?void 0:R.inputSchema)||{type:"object",properties:{}},Le=!Ne.properties||!!(Ne.oneOf||Ne.anyOf||Ne.$ref),Ge=["smartTools.configure","smartTools.connect","smartTools.reconnect","smartTools.disconnect","smartTools.remove","smartTools.authForget","smartTools.accountAccept"].map(V=>I(V,{id:b==null?void 0:b.id})).filter(Boolean).sort((V,we)=>(we.updatedAt||we.createdAt||1/0)-(V.updatedAt||V.createdAt||1/0))[0],ft=g.useRef(null),vt=o.catalogReview?"review":o.catalogInstalling||Z?"install":"browse";return g.useLayoutEffect(()=>{var V,we;o.page==="catalog"&&vt!=="browse"&&((V=ft.current)==null||V.focus(),(we=ft.current)==null||we.scrollIntoView({block:"start"}))},[vt,o.page]),n.createElement("section",{className:"a-settings-section a-smart-tools","data-part":"smart-tools-settings","data-simple":a},o.page!=="home"&&(!a||!["catalog"].includes(o.page))&&n.createElement("button",{type:"button",className:"a-link a-smart-back","data-action":"view.update",onClick:()=>M(De)},n.createElement(xa,null),"Back to ",De==="server"?(b==null?void 0:b.name)||"connection":"Smart Tools"),u&&n.createElement(it,{phase:"error",message:u}),a?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Add tools that help Amplifier do more of your work."),n.createElement("div",{className:"a-tool-browse-tabs"},n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":o.page==="home","data-action":"view.update",onClick:()=>M("home")},"Installed"),n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":o.page==="catalog","data-action":"smartTools.catalog",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},"Tool catalog"),n.createElement("button",{className:"a-link",disabled:Z,"data-action":"view.update",onClick:()=>M("source",{repository:"",ref:"",path:"",extras:""})},"Add from GitHub URL"))):n.createElement("div",{className:"a-collection-toolbar"},n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>M("home")},"Installed & connected"),n.createElement("button",{className:"a-soft","data-action":"smartTools.catalog",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},n.createElement(gr,null),"Tool catalog"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>M("source")},n.createElement(Ea,null),"Add from Git"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>de()},n.createElement(Mn,null),"Add MCP connection")),o.page==="catalog"&&n.createElement(Yt,{className:a?"a-tool-catalog-simple":void 0,name:"smart-tool-catalog",busy:Ut(I("smartTools.catalog"))},vt==="review"&&n.createElement("section",{className:"a-tool-batch-review","aria-label":"Review installation"},n.createElement("h4",{ref:ft,tabIndex:-1},"Install ",j.length," tools?"),n.createElement("p",null,"Installation adds the packages. Accounts and permissions are connected separately."),n.createElement("ul",null,j.map(V=>n.createElement("li",{key:V.id},V.name||V.id))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"smartTools.installBatch",disabled:Z||!j.length,onClick:ie},"Install selected (",j.length,")"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:Z,onClick:()=>i({catalogReview:!1})},"Cancel"))),vt==="install"&&n.createElement("section",{"aria-label":"Catalog installation results"},n.createElement("h4",{ref:ft,tabIndex:-1},Z?"Installing your tools…":Xr(ee)?"Some tools need attention":"Installation complete"),n.createElement(ha,{operation:ee,busyMessage:"Installing selected packages…"}),n.createElement("ul",{className:"a-catalog-results"},((ee==null?void 0:ee.items)||[]).map(V=>n.createElement("li",{key:V.id},n.createElement("strong",null,V.name)," · ",V.status,n.createElement("small",null,V.error),V.status==="completed"&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>he(V.source)},"Finish setup")))),!Z&&((X=ee==null?void 0:ee.items)==null?void 0:X.some(V=>V.status!=="completed"))&&n.createElement("button",{className:"a-soft","data-action":"smartTools.installBatch",onClick:()=>N("smartTools.installBatch",{retryOperationId:ee.id})},"Retry unfinished installations"),!Z&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",onClick:()=>M("home")},"View installed tools"),n.createElement("button",{className:"a-soft",onClick:()=>M("catalog")},"Back to catalog"))),vt==="browse"?n.createElement(n.Fragment,null,n.createElement("div",{className:"a-catalog-controls"},n.createElement("div",{className:"a-smart-heading"},!a&&n.createElement("h4",null,"Smart Tools catalog"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Refresh Smart Tools catalog","data-action":"smartTools.catalog",disabled:Ut(I("smartTools.catalog")),onClick:()=>N("smartTools.catalog")},n.createElement(zt,null))),!a&&n.createElement("p",null,"Select tools to install together. Each package keeps its own installation result and setup steps."),(!a||Ut(I("smartTools.catalog"))||Xr(I("smartTools.catalog")))&&n.createElement(ha,{operation:I("smartTools.catalog"),busyMessage:"Loading the catalog…"}),ne,n.createElement("div",{className:"a-collection-toolbar"},n.createElement("span",null,a?oe?`${(K-1)*40+1}–${Math.min(K*40,H.length)} of ${H.length} tools`:`${H.length===v.length?"All ":""}${H.length} tools`:`${j.length} selected across the catalog`),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>$e(xe)},"Select ",oe?"page":a?"all available":"matching"),oe&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>$e(H)},"Select all matching"),(!a||G.length>0)&&n.createElement("button",{className:"a-link",disabled:!G.length,"data-action":"view.update",onClick:()=>i({catalogSelection:[]})},"Clear selection"))),(a||j.length>0||Z)&&n.createElement(Cn,null,n.createElement("span",{className:"a-catalog-selection-summary"},j.length," selected",j.some(V=>!xe.includes(V))&&n.createElement("small",null,j.filter(V=>!xe.includes(V)).length," outside this view")),n.createElement("button",{className:"a-primary",disabled:!j.length||Z,"data-action":"smartTools.installBatch",onClick:()=>i({catalogReview:!0})},n.createElement(Ea,null),"Review & install")),n.createElement(So,{label:"catalog",detailOpen:!!o.catalogDetail,onBack:()=>i({catalogDetail:!1}),list:a?xe.map(V=>n.createElement("div",{className:"a-tool-catalog-row",key:V.id},n.createElement("input",{type:"checkbox",id:"select-tool-"+V.id,"aria-label":"Select "+(V.name||V.id),checked:G.includes(V.id),disabled:D(V),"data-action":"view.update",onChange:we=>_e(V.id,we.target.checked)}),n.createElement("label",{htmlFor:"select-tool-"+V.id},n.createElement("strong",null,V.name||V.id),n.createElement("small",null,V.description||"Open details to learn more."),D(V)&&n.createElement("span",{className:"a-count"},"Installed")),n.createElement("button",{className:"a-icon","aria-label":"Details for "+(V.name||V.id),"data-action":"view.update",onClick:()=>i({catalogId:V.id,catalogDetail:!0})},n.createElement(Gt,null)))):xe.map(V=>n.createElement(Va,{key:V.id,id:V.id,label:V.name||V.id,description:V.description||Ta(V),badge:D(V)?"Installed":void 0,checked:G.includes(V.id),disabled:D(V),onCheck:we=>_e(V.id,we),selected:!a&&V.id===(ce==null?void 0:ce.id),onSelect:()=>i({catalogId:V.id,catalogDetail:!0})}))},ce?n.createElement(n.Fragment,null,n.createElement("h4",null,ce.name||ce.id),n.createElement("p",null,ce.description),n.createElement("details",{className:"a-everyday-disclosure",open:!a||void 0},n.createElement("summary",null,"Source & installation options"),n.createElement("div",null,n.createElement("p",{className:"a-caption a-wrap"},Ta(ce)),n.createElement("dl",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,ce.version||((Ce=ce.manifest)==null?void 0:Ce.version)||"See manifest"),n.createElement("dt",null,"Branch or revision"),n.createElement("dd",null,ce.ref||"Repository default")),((Fe=ce.manifest)==null?void 0:Fe.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",{className:"a-wrap"},typeof ce.manifest.requires=="string"?ce.manifest.requires:Za(ce.manifest.requires))),n.createElement("label",{htmlFor:"catalog-package-extras"},"Optional package extras"),n.createElement("input",{id:"catalog-package-extras",value:((We=o.catalogExtras)==null?void 0:We[ce.id])||"",placeholder:"For example, mcp","data-action":"view.update",onChange:V=>i({catalogExtras:{...o.catalogExtras,[ce.id]:V.target.value}})}),n.createElement("p",{className:"a-caption"},"Comma-separated extras from this tool’s instructions. Applied only to this selected package."))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:D(ce),"data-action":"view.update",onClick:()=>_e(ce.id,!G.includes(ce.id))},D(ce)?"Installed":G.includes(ce.id)?"Deselect tool":"Select for installation"),n.createElement("button",{className:"a-link","data-action":"smartTools.inspect",onClick:()=>{M("source",{returnPage:"catalog",repository:Ta(ce),ref:ce.ref||"",path:ce.path||"",extras:""}),N("smartTools.inspect",{repository:Ta(ce),...ce.ref?{ref:ce.ref}:{},...ce.path?{path:ce.path}:{}})}},"Inspect source and setup")),n.createElement("p",{className:"a-caption"},"Installing a package does not connect an account or grant access. Some tools need advanced setup before they can be used.")):n.createElement("p",null,"No matching catalog items.")),oe&&n.createElement("div",{className:"a-catalog-pages"},n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:K===1,onClick:()=>i({catalogPage:K-1,catalogDetail:!1})},"Previous"),n.createElement("span",null,(K-1)*40+1,"–",Math.min(K*40,H.length)," of ",H.length),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:K*40>=H.length,onClick:()=>i({catalogPage:K+1,catalogDetail:!1})},"Next")),!v.length&&!Ut(I("smartTools.catalog"))&&n.createElement("p",{className:"a-smart-empty"},"The catalog has not loaded yet. Refresh to try again, or add a tool from a Git URL.")):null),a&&o.page==="home"&&n.createElement("section",{className:"a-installed-tools","aria-label":"Installed tools"},!y.length&&!f.length?n.createElement("div",{className:"a-ai-welcome"},n.createElement(Ik,{"aria-hidden":"true"}),n.createElement("h4",null,"No tools installed yet"),n.createElement("p",null,"Find tools for your work in the catalog, or add one using its GitHub URL."),n.createElement("button",{className:"a-primary",onClick:()=>{M("catalog"),v.length||N("smartTools.catalog")}},"Explore tool catalog")):n.createElement(n.Fragment,null,!!y.length&&n.createElement("div",{className:"a-everyday-list"},y.map((V,we)=>{var Xe;return n.createElement(Va,{key:V.id||we,id:V.id||String(we),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:f.some(Ft=>Ft.installationId===V.id)?"Installed · connection configured":"Installed · finish setup",onSelect:()=>he(V)})})),!!f.length&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Connected services"),f.length>6&&F,n.createElement("div",{className:"a-everyday-list"},z.map(V=>n.createElement(Va,{key:V.id,id:V.id,label:V.name,description:V.connectionState||(V.error?"Needs attention":V.status||"Not connected"),onSelect:()=>M("server",{serverId:V.id})})))))),o.page!=="catalog"&&!(a&&o.page==="home")&&n.createElement(So,{label:"configurations",detailOpen:o.page!=="home",onBack:()=>M("home"),list:n.createElement(n.Fragment,null,f.length>6&&F,f.length>0&&n.createElement("div",{className:"a-smart-heading"},n.createElement("h4",null,"Connections"),n.createElement("small",null,f.filter(V=>["ready","connected"].includes(V.status)).length," ready · ",f.length," configured")),z.map(V=>{var we,Xe;return n.createElement(Va,{key:V.id,id:V.id,label:V.name,description:(V.connectionState||(V.error?"Needs attention":V.status||"Not connected"))+((we=V.tools)!=null&&we.length?` · ${V.tools.length} tools`:"")+(V.uiCapable||(Xe=V.tools)!=null&&Xe.some(Ft=>{var En,sn;return(sn=(En=Ft._meta)==null?void 0:En.ui)==null?void 0:sn.resourceUri})?" · Canvas views":""),selected:V.id===(b==null?void 0:b.id),onSelect:()=>M("server",{serverId:V.id})})}),n.createElement("div",{className:"a-smart-heading"},n.createElement("h4",null,a?"Installed tools":"Installed packages"),n.createElement("small",null,y.length)),y.map((V,we)=>{var Xe,Ft;return n.createElement(Va,{key:V.id||we,id:V.id||String(we),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:a?f.some(En=>En.installationId===V.id)?"Installed · connection configured":"Installed · finish setup":V.version||((Ft=V.commit)==null?void 0:Ft.slice(0,8))||"Installed",selected:o.page==="source"&&Ta(V)===o.repository,onSelect:()=>he(V)})}),!f.length&&!y.length&&n.createElement("div",{className:"a-smart-empty"},n.createElement("h4",null,"No tools installed yet"),n.createElement("p",null,"Choose a tool from the catalog, add a GitHub URL, or connect an MCP service.")))},o.page==="home"&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Your Smart Tools"),n.createElement("p",null,"Choose a connection to browse its tools, run a tool, or open its interactive view. Installed packages have their own setup details."),A&&n.createElement(ha,{operation:A}),n.createElement(ha,{operation:I("smartTools.remove")})),o.page==="setup"&&n.createElement(n.Fragment,null,n.createElement("h4",null,(be==null?void 0:be.name)||((tt=be==null?void 0:be.manifest)==null?void 0:tt.name)||"Finish setup"),n.createElement("p",null,"The package is installed. A connection and any required account access are separate."),f.filter(V=>V.installationId===(be==null?void 0:be.id)&&!!(be!=null&&be.id)).map(V=>n.createElement("button",{key:V.id,className:"a-soft","data-action":"view.update",onClick:()=>M("server",{serverId:V.id})},"Open ",V.name)),!o.setupInstructions&&!f.some(V=>V.installationId===(be==null?void 0:be.id)&&!!(be!=null&&be.id))&&n.createElement("div",{className:"a-ai-hint"},n.createElement("strong",null,"Advanced setup required"),n.createElement("p",null,"This tool does not provide a guided connection setup. Use its documented connection details before using it."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i({setupInstructions:!0})},"Open setup instructions")),o.setupInstructions&&n.createElement("section",{className:"a-smart-setup-instructions","aria-label":"Setup instructions"},n.createElement("h4",null,"Set up ",(be==null?void 0:be.name)||((yt=be==null?void 0:be.manifest)==null?void 0:yt.name)||"this tool"),n.createElement("p",null,be!=null&&be.guidance&&typeof be.guidance=="string"?be.guidance:(be==null?void 0:be.nextStep)||"Follow the tool author’s instructions to connect the installed package."),/^https?:\/\//.test(o.repository)&&n.createElement("p",null,n.createElement("a",{href:o.repository,target:"_blank",rel:"noreferrer"},"Open the tool’s documentation",n.createElement(ba,null))),(be==null?void 0:be.binDir)&&n.createElement(n.Fragment,null,n.createElement("p",null,"Installed executables"),n.createElement("code",{className:"a-smart-path"},be.binDir)),((se=be==null?void 0:be.manifest)==null?void 0:se.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement(xD,{value:be.manifest.requires})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"view.update",onClick:()=>{var V;return M("connection",{connection:{...no.connection,name:(be==null?void 0:be.name)||((V=be==null?void 0:be.manifest)==null?void 0:V.name)||"",installationId:(be==null?void 0:be.id)||""}})}},"Configure MCP connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>M("source")},"Source & installation options"))),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Installation details"),n.createElement("div",null,n.createElement("p",null,be==null?void 0:be.description),n.createElement("code",{className:"a-wrap"},o.repository),n.createElement("p",{className:"a-caption"},be==null?void 0:be.nextStep)))),o.page==="source"&&n.createElement(n.Fragment,null,n.createElement("h4",null,be?`Set up ${be.name||((Qe=be.manifest)==null?void 0:Qe.name)||"tool"}`:a?"Add from GitHub URL":"Add from Git"),n.createElement("p",null,be?"Review the installed tool’s instructions and configure its connection below.":a?"Paste the repository link for a Smart Tool. Review its details before installing.":"Inspect the tool’s manifest and source revision, then install the Python package into its own environment."),n.createElement("label",{htmlFor:"smart-tool-repository"},"Repository URL"),n.createElement("input",{id:"smart-tool-repository",type:"url",value:o.repository,placeholder:"https://github.com/owner/tool","data-action":"view.update",onChange:V=>i({repository:V.target.value})}),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Branch & folder options"),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"smart-tool-ref"},"Branch, tag or commit (optional)"),n.createElement("input",{id:"smart-tool-ref",value:o.ref,placeholder:"Repository default","data-action":"view.update",onChange:V=>i({ref:V.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"smart-tool-path"},"Package folder (optional)"),n.createElement("input",{id:"smart-tool-path",value:o.path,placeholder:"Repository root","data-action":"view.update",onChange:V=>i({path:V.target.value})})))),n.createElement(Yt,{name:"smart-tool-inspection",busy:Ut(W)},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-operation-pending":Ut(W)||void 0,"aria-busy":Ut(W)||void 0,"data-action":"smartTools.inspect",disabled:!o.repository.trim()||q,onClick:()=>N("smartTools.inspect",ve())},n.createElement(zt,null),"Inspect source")),n.createElement(ha,{operation:W,busyMessage:"Reading the tool manifest…"}),Me&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,Me.name||((ot=Me.manifest)==null?void 0:ot.name)||((bt=Me.metadata)==null?void 0:bt.name)||"Tool source"),n.createElement("p",null,Me.description||((ut=Me.manifest)==null?void 0:ut.description)||((Mt=Me.metadata)==null?void 0:Mt.description)),n.createElement("dl",null,n.createElement("div",null,n.createElement("dt",null,"Revision"),n.createElement("dd",null,n.createElement("code",null,((St=Me.commit)==null?void 0:St.slice(0,12))||Me.revision||o.ref||"Default branch"))),Me.version||(jt=Me.manifest)!=null&&jt.version?n.createElement("div",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,Me.version||((st=Me.manifest)==null?void 0:st.version))):null),(((lt=Me.manifest)==null?void 0:lt.requires)||Me.requires)&&n.createElement("div",{className:"a-smart-requirements"},n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",null,typeof(((Ze=Me.manifest)==null?void 0:Ze.requires)||Me.requires)=="string"?((Ot=Me.manifest)==null?void 0:Ot.requires)||Me.requires:Za(((en=Me.manifest)==null?void 0:en.requires)||Me.requires))))),n.createElement(Yt,{name:"smart-tool-installation",busy:Ut(ae)},n.createElement("label",{htmlFor:"smart-tool-extras"},"Optional package extras"),n.createElement("input",{id:"smart-tool-extras",value:o.extras,placeholder:"For example, mcp","data-action":"view.update",onChange:V=>i({extras:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use extras documented by the tool author, separated by commas. An MCP adapter may be an optional extra."),n.createElement(Cn,null,n.createElement("button",{type:"button",className:"a-primary","data-operation-pending":Ut(ae)||void 0,"aria-busy":Ut(ae)||void 0,"data-action":"smartTools.install",disabled:!o.repository.trim()||q,onClick:()=>N("smartTools.install",{...ve(),...o.extras.trim()?{extras:o.extras.split(",").map(V=>V.trim()).filter(Boolean)}:{}})},n.createElement(Ea,null),be?"Install source revision":"Install package")),n.createElement(ha,{operation:ae,busyMessage:"Installing the package in its own environment…"}),(rt==null?void 0:rt.previousInstallationId)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"updates.smartToolRollback",onClick:()=>t("updates.smartToolRollback",{id:rt.id})},"Restore previous version"),rt&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,n.createElement(Pt,null),"Package installed"),rt.binDir&&n.createElement(n.Fragment,null,n.createElement("p",null,"Executables are available in:"),n.createElement("code",{className:"a-smart-path"},rt.binDir)),rt.guidance&&n.createElement("p",null,typeof rt.guidance=="string"?rt.guidance:Za(rt.guidance)),n.createElement("p",null,rt.nextStep||"Use the tool’s documented MCP executable and arguments to add a connection."),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>{var V;de(),i({connection:{...no.connection,name:rt.name||((V=rt.manifest)==null?void 0:V.name)||"",command:"",installationId:rt.id}})}},n.createElement(im,null),"Configure MCP connection",n.createElement(zr,null)),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"smartTools.uninstall",disabled:q,onClick:()=>N("smartTools.uninstall",{id:rt.id})},n.createElement(Qn,null),"Uninstall package"),n.createElement("p",{className:"a-caption"},"Remove dependent connections first. This deletes the app-managed package folder; work stored elsewhere is kept."),n.createElement(ha,{operation:I("smartTools.uninstall",{id:rt.id})})))),o.page==="connection"&&n.createElement("form",{id:"smart-connection-form",onSubmit:async V=>{V.preventDefault();try{await N("smartTools.configure",{...k.id?{id:k.id}:{},name:k.name.trim(),transport:k.transport,...k.installationId?{installationId:k.installationId}:{},...k.transport==="stdio"?{command:k.command.trim(),args:k.args.split(` +`).map(we=>we.trim()).filter(Boolean),env:RD(k.env),...k.cwd.trim()?{cwd:k.cwd.trim()}:{}}:{url:k.url.trim(),auth:k.auth,headers:k.auth==="oauth"?{}:TD(k.headers)}})}catch(we){d(we.message)}}},n.createElement("h4",null,k.id?"Edit connection":"Add MCP connection"),n.createElement("p",null,"Save a connection, then connect when you are ready. Saving does not contact the server."),n.createElement("label",{htmlFor:"smart-tool-connection-name"},"Display name"),n.createElement("input",{id:"smart-tool-connection-name",required:!0,value:k.name,placeholder:"My Smart Tool","data-action":"view.update",onChange:V=>T({name:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-transport"},"Connection type"),n.createElement("select",{id:"smart-tool-transport",value:k.transport,"data-action":"view.update",onChange:V=>T({transport:V.target.value})},n.createElement("option",{value:"stdio"},"Local executable"),n.createElement("option",{value:"streamable-http"},"Remote MCP endpoint")),k.transport==="stdio"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-command"},"Executable"),n.createElement("input",{id:"smart-tool-command",required:!0,value:k.command,placeholder:"/path/to/environment/bin/tool-mcp",spellCheck:!1,"data-action":"view.update",onChange:V=>T({command:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-arguments"},"Arguments — one per line"),n.createElement("textarea",{id:"smart-tool-arguments",value:k.args,spellCheck:!1,"data-action":"view.update",onChange:V=>T({args:V.target.value})}),n.createElement("p",{className:"a-caption"},"Each line is one argument. Shell commands are not evaluated."),n.createElement("label",{htmlFor:"smart-tool-cwd"},"Working folder (optional)"),n.createElement(Ma,{id:"smart-tool-cwd",value:k.cwd,onChange:V=>T({cwd:V}),directory:!0,state:e,act:t}),n.createElement("label",{htmlFor:"smart-tool-environment"},"Environment variable references (optional)"),n.createElement("textarea",{id:"smart-tool-environment",value:k.env,spellCheck:!1,placeholder:"TOOL_API_KEY=MY_TOOL_API_KEY","data-action":"view.update",onChange:V=>T({env:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use CHILD_VARIABLE=APP_VARIABLE. Enter names, never key values.")):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-url"},"MCP endpoint"),n.createElement("input",{id:"smart-tool-url",type:"url",required:!0,value:k.url,placeholder:"https://example.com/mcp","data-action":"view.update",onChange:V=>T({url:V.target.value})}),n.createElement("label",{htmlFor:"smart-tool-auth"},"Authorization"),n.createElement("select",{id:"smart-tool-auth",value:k.auth,"data-action":"view.update",onChange:V=>T({auth:V.target.value})},n.createElement("option",{value:"environment"},"Header references or no authentication"),n.createElement("option",{value:"oauth"},"Browser sign-in (OAuth)")),k.auth==="environment"?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-headers"},"Header references (optional)"),n.createElement("textarea",{id:"smart-tool-headers",value:k.headers,placeholder:"Authorization=MY_TOOL_AUTHORIZATION","data-action":"view.update",onChange:V=>T({headers:V.target.value})}),n.createElement("p",{className:"a-caption"},"Use HEADER_NAME=APP_VARIABLE. The variable must contain the complete header value, such as a Bearer token. Never paste credentials here.")):n.createElement("p",{className:"a-caption"},"The server must support MCP OAuth discovery. Start sign-in after saving, then review the provider’s consent page.")),n.createElement(ha,{operation:I("smartTools.configure"),busyMessage:"Saving the connection…"}),n.createElement(Cn,null,n.createElement("button",{type:"submit",form:"smart-connection-form",className:"a-primary","data-action":"smartTools.configure",disabled:!k.name.trim()||!(k.transport==="stdio"?k.command:k.url).trim()||q},n.createElement(Pt,null),"Save connection"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>M("home")},"View connections",n.createElement(zr,null)))),(o.page==="server"||o.page==="tool")&&!b&&n.createElement(it,{phase:"neutral",message:"This connection is no longer configured."}),o.page==="server"&&b&&n.createElement(Yt,{name:"smart-tool-connection-"+b.id,busy:Ut(Ge)},n.createElement("div",{className:"a-smart-heading"},n.createElement("div",null,n.createElement("h4",null,b.name),n.createElement("p",null,b.connectionState||b.status||"Not connected"," · ",x.length," tools")),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Edit "+b.name,"data-action":"view.update",onClick:()=>de(b)},n.createElement(rx,null))),n.createElement("div",{className:"a-smart-source-summary","data-part":"connector-account"},n.createElement("p",null,"Account identity: ",["verified","accepted"].includes((vn=b.account)==null?void 0:vn.status)?b.account.displayName||b.account.subject:((Rn=b.account)==null?void 0:Rn.status)==="changed"?"Changed — review required":((bn=b.account)==null?void 0:bn.status)==="unconfirmed"?"Unconfirmed — reconnect is blocked":"Unknown — the server has not supplied supported account details."),((Ln=b.account)==null?void 0:Ln.subject)&&n.createElement("p",{className:"a-caption"},b.account.issuer," · ",b.account.subject),((Kn=b.account)==null?void 0:Kn.provenance)&&n.createElement("p",{className:"a-caption"},"Server-attested through authenticated transport. This is not independent identity verification. Last observed: ",new Date(b.account.observedAt*1e3).toLocaleString(),"."),((Tn=b.account)==null?void 0:Tn.detail)&&n.createElement("p",null,b.account.detail),((ge=b.account)==null?void 0:ge.status)==="changed"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Previously accepted: ",b.account.expected.issuer," · ",b.account.expected.subject),n.createElement("p",null,"Reported now: ",b.account.candidate.displayName||b.account.candidate.subject," · ",b.account.candidate.issuer," · ",b.account.candidate.subject),n.createElement("p",{className:"a-caption"},"The connector attests this identity through its authenticated transport. Accepting saves this account choice; it does not reconnect or call a tool."),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.accountAccept",disabled:q,onClick:()=>N("smartTools.accountAccept",{id:b.id,expectedRevision:b.account.revision,issuer:b.account.candidate.issuer,subject:b.account.candidate.subject})},"Accept this account change"))),((Ue=(Ke=b.authorization)==null?void 0:Ke.requestedScopes)==null?void 0:Ue.length)>0&&n.createElement("p",{className:"a-caption"},"Requested access: ",b.authorization.requestedScopes.join(", ")),n.createElement("p",{className:"a-caption"},"Granted access: ",((ye=(nt=b.authorization)==null?void 0:nt.grantedScopes)==null?void 0:ye.join(", "))||"Not reported"," · Consent: ",((At=b.authorization)==null?void 0:At.consent)||"Unknown"),b.auth==="oauth"&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("p",null,"Sign-in: ",((an=b.login)==null?void 0:an.phase)||"Not started"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.authStart",disabled:["starting","waiting"].includes((Zt=b.login)==null?void 0:Zt.phase),onClick:()=>N("smartTools.authStart",{id:b.id,redirectOrigin:window.location.origin})},"Sign in"),((Q=b.login)==null?void 0:Q.url)&&n.createElement("a",{className:"a-soft",href:b.login.url,target:"_blank",rel:"noopener noreferrer"},"Review access and authorize"),["starting","waiting"].includes((rn=b.login)==null?void 0:rn.phase)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.authCancel",onClick:()=>N("smartTools.authCancel",{id:b.id})},"Cancel sign-in"),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"smartTools.authForget",onClick:()=>N("smartTools.authForget",{id:b.id})},"Forget local sign-in")),((Sa=(ca=b.login)==null?void 0:ca.requestedScopes)==null?void 0:Sa.length)>0&&b.login.requestedScopes.join(" ")!==((yn=(Dn=b.authorization)==null?void 0:Dn.requestedScopes)==null?void 0:yn.join(" "))&&n.createElement("p",null,"Requested access: ",b.login.requestedScopes.join(", ")),((dn=b.login)==null?void 0:dn.error)&&n.createElement(it,{phase:"error",message:b.login.error}),n.createElement("p",{className:"a-caption"},"You complete consent with the provider. Forgetting sign-in removes local credentials; revoke remote access in your provider’s account settings.")),b.error&&n.createElement(it,{phase:"error",message:b.error}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","aria-busy":Ut(I("smartTools.connect",{id:b.id}))||void 0,"data-action":"smartTools.connect",disabled:q||["connected","ready"].includes(b.status),onClick:()=>N("smartTools.connect",{id:b.id})},n.createElement(im,null),b.status==="connected"||b.status==="ready"?"Connected":"Connect"),n.createElement("button",{type:"button",className:"a-soft","aria-busy":Ut(I("smartTools.disconnect",{id:b.id}))||void 0,"data-action":"smartTools.disconnect",disabled:q||!["connected","ready"].includes(b.status),onClick:()=>N("smartTools.disconnect",{id:b.id})},n.createElement(mx,null),"Disconnect"),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.reconnect",disabled:q||["starting","waiting"].includes((In=b.login)==null?void 0:In.phase),onClick:()=>N("smartTools.reconnect",{id:b.id})},n.createElement(zt,null),"Reconnect")),n.createElement(ha,{operation:Ge,busyMessage:"Updating the connection…"}),b.catalogState==="stale"&&n.createElement(it,{phase:"neutral",message:"Tool definitions need a refresh before another call."}),n.createElement("button",{type:"button",className:"a-link","data-action":"smartTools.discover",disabled:q||!["connected","ready"].includes(b.status),onClick:()=>N("smartTools.discover",{id:b.id,refresh:!0})},"Refresh tool definitions"),n.createElement(ha,{operation:I("smartTools.discover",{id:b.id})}),x.length>4&&_,n.createElement("div",{className:"a-smart-list"},P.map(V=>{var we,Xe,Ft;return n.createElement("button",{type:"button",key:V.name,className:"a-smart-list-row","data-action":"view.update",onClick:()=>{M("tool",{toolName:V.name,values:{},raw:!1,json:"{}"}),b.catalogState!=="stale"&&N("smartTools.schemas",{id:b.id,names:[V.name],catalogRevision:b.catalogRevision})}},n.createElement(Os,null),n.createElement("span",null,n.createElement("strong",null,V.title||((we=V.annotations)==null?void 0:we.title)||_i(V.name)),n.createElement("small",null,V.description||V.name),((Ft=(Xe=V._meta)==null?void 0:Xe.ui)==null?void 0:Ft.resourceUri)&&n.createElement("small",{className:"a-smart-view-label"},"Interactive canvas view")),n.createElement(Gt,null))})),!x.length&&n.createElement("p",{className:"a-smart-empty"},"Connect to discover the tools supplied by this server."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link a-danger",disabled:q,"data-action":"smartTools.remove",onClick:async()=>{await N("smartTools.remove",{id:b.id})&&M("home")}},n.createElement(Qn,null),"Remove connection")),n.createElement("p",{className:"a-caption"},"Removing a connection keeps the installed package and the tool’s saved work.")),o.page==="tool"&&b&&!R&&n.createElement(it,{phase:"neutral",message:"This tool is no longer in the server’s tool list. Reconnect to discover its current tools."}),o.page==="tool"&&R&&n.createElement(n.Fragment,null,n.createElement("h4",null,R.title||((on=R.annotations)==null?void 0:on.title)||_i(R.name)),n.createElement("p",null,R.description),n.createElement("code",{className:"a-smart-tool-id"},b.name," / ",R.name),((ht=(mt=R._meta)==null?void 0:mt.ui)==null?void 0:ht.resourceUri)&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.open",disabled:q,onClick:Qt},n.createElement(ba,null),"Open interactive view")),n.createElement(ha,{operation:I("smartTools.open",{id:b.id,tool:R.name}),busyMessage:"Opening the canvas view…"}),!S&&n.createElement(n.Fragment,null,n.createElement("p",null,"Load the current tool fields before making a call."),n.createElement("button",{type:"button",className:"a-soft","data-action":"smartTools.schemas",disabled:q||b.catalogState==="stale",onClick:()=>N("smartTools.schemas",{id:b.id,names:[R.name],catalogRevision:b.catalogRevision})},"Load tool fields")),n.createElement(ha,{operation:I("smartTools.schemas",{id:b.id})}),S&&n.createElement("form",{id:"smart-tool-form",onSubmit:V=>{V.preventDefault();try{const we=Ac(Ne,o.values,o.raw,o.json);N("smartTools.call",{id:b.id,name:R.name,arguments:we,catalogRevision:b.catalogRevision})}catch(we){d(we.message)}}},!Le&&!o.raw?n.createElement(ID,{schema:Ne,values:o.values,edit:V=>i({values:V})}):n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"smart-tool-json"},"Tool arguments (JSON)"),n.createElement("textarea",{id:"smart-tool-json",className:"a-json-editor",value:o.json,spellCheck:!1,"data-action":"view.update",onChange:V=>i({json:V.target.value})})),!Le&&n.createElement("button",{type:"button",className:"a-link a-smart-advanced","data-action":"view.update","aria-expanded":o.raw,onClick:()=>{try{if(o.raw){const V=Ac(Ne,{},!0,o.json);if(Object.keys(V).some(Xe=>!Object.hasOwn(Ne.properties,Xe)))throw new Error("These arguments include extra properties. Keep the JSON editor to preserve them.");const we=Object.fromEntries(Object.entries(V).map(([Xe,Ft])=>{var En,sn;return[Xe,(sn=(En=Ne.properties)==null?void 0:En[Xe])!=null&&sn.enum||typeof Ft=="object"?JSON.stringify(Ft):String(Ft)]}));i({raw:!1,values:we})}else{let V;try{V=Ac({...Ne,required:[]},o.values,!1,"{}")}catch{V={}}i({raw:!0,json:Za(V)})}d("")}catch(V){d(V.message)}}},o.raw?"Use form fields":"Edit arguments as JSON"),n.createElement(Cn,null,n.createElement("button",{type:"submit",form:"smart-tool-form",className:"a-primary","data-operation-pending":Ut(wt)||void 0,"aria-busy":Ut(wt)||void 0,"data-action":"smartTools.call",disabled:q||!["connected","ready"].includes(b.status)},n.createElement(cg,null),"Run tool"))),n.createElement(Yt,{name:"smart-tool-result",busy:Ut(wt)},n.createElement(ha,{operation:wt,busyMessage:"Running the tool…"}),n.createElement(ND,{operation:Dt})))),a&&n.createElement("div",{className:"a-everyday-footer"},n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>r==null?void 0:r("tool-connections")},"Advanced tool connections",n.createElement(ba,null))))}function _D({state:e,act:t}){var S,I;const a=e.notificationSettings||{},r=((S=e.view)==null?void 0:S.maintenanceDraft)||{},[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(null),[d,p]=g.useState(""),[m,h]=g.useState(""),f=g.useRef({topic:0,token:0}),v=g.useRef(!1),y=N=>{t("view.update",{patch:{maintenanceDraft:{...r,...N}}})},E=N=>{f.current.topic++,i(N)},b=r.notifyEnabled??a.enabled??!1,x=r.notifyServer??a.server??"https://ntfy.sh",w=(I=e.actionStatus)==null?void 0:I["notifications.save"];g.useEffect(()=>{if(!(!c||(w==null?void 0:w.commandId)!==c.id||["queued","working"].includes(w.phase))){if(v.current=!1,u(null),w.phase==="error"){p(w.error||"Could not save. Your entries are kept.");return}w.phase==="ready"&&(f.current.topic===c.version.topic&&i(""),f.current.token===c.version.token&&l(""),h("Notification preferences saved."))}},[w==null?void 0:w.commandId,w==null?void 0:w.phase,c]);const R=async()=>{if(v.current)return;v.current=!0,p(""),h("");const N={...f.current};try{const M=await t("notifications.save",{patch:{desktop:r.notifyDesktop??a.desktop??!0,server:x,enabled:b,preview:r.notifyPreview??a.preview??!1,...o?{topic:o}:{},...s?{token:s}:{}}});if(!(M!=null&&M.accepted)||!M.operationId)throw Error((M==null?void 0:M.error)||"Could not save. Please retry.");u({id:M.operationId,version:N})}catch(M){v.current=!1,p(M.message)}};return n.createElement("div",{className:"a-notification-settings"},n.createElement("p",{className:"a-everyday-intro"},"Know when your response is ready, wherever you’re working."),n.createElement("section",{className:"a-notification-card"},n.createElement("label",{className:"a-everyday-toggle"},n.createElement("span",null,n.createElement("strong",null,"On this device"),n.createElement("small",null,"Show a browser notification when a response is ready.")),n.createElement("input",{type:"checkbox",checked:r.notifyDesktop??a.desktop??!0,"data-action":"view.update",onChange:N=>y({notifyDesktop:N.target.checked})})),n.createElement("p",{className:"a-caption"},"Your browser also needs permission."),n.createElement("button",{className:"a-link","data-action":"notification.request",onClick:()=>t("notification.request")},"Allow browser notifications")),n.createElement("section",{className:"a-notification-card"},n.createElement("label",{className:"a-everyday-toggle"},n.createElement("span",null,n.createElement("strong",null,"On another device"),n.createElement("small",null,a.enabled&&a.topicConfigured?"Connected through ntfy.":"Get notifications on your phone with ntfy.")),n.createElement("input",{type:"checkbox","data-action":"view.update",checked:b,onChange:N=>y({notifyEnabled:N.target.checked})})),n.createElement("details",{className:"a-everyday-disclosure",open:b||void 0},n.createElement("summary",null,a.topicConfigured?"Manage phone notifications":"Set up phone notifications"),n.createElement("div",{className:"a-notification-steps"},n.createElement("div",null,n.createElement("h4",null,"1. Open ntfy on your phone"),n.createElement("p",null,n.createElement("a",{href:"https://ntfy.sh",target:"_blank",rel:"noreferrer"},"Get the ntfy app"),", then subscribe to a topic. A topic is the name of your notification channel.")),n.createElement("div",null,n.createElement("h4",null,"2. Use the same topic here"),n.createElement("label",{htmlFor:"notify-topic"},"Topic name ",a.topicConfigured&&"(saved)"),n.createElement("div",{className:"a-topic-entry"},n.createElement("input",{id:"notify-topic",type:"password",autoComplete:"off",placeholder:a.topicConfigured?"Leave blank to keep your saved topic":"Your topic name",value:o,"data-private":"true","data-action":"notifications.save",onChange:N=>E(N.target.value)}),n.createElement("button",{className:"a-soft",onClick:()=>E("amplifier-"+crypto.randomUUID().replaceAll("-","").slice(0,20))},"Create a name")),o&&n.createElement("button",{className:"a-link",onClick:async()=>{var N;try{await navigator.clipboard.writeText(o),h("Topic copied. Subscribe to it in ntfy.")}catch{(N=document.getElementById("notify-topic"))==null||N.select(),h("Select and copy the topic, then subscribe to it in ntfy.")}}},"Copy topic name"),n.createElement("p",{className:"a-caption"},"Use an unguessable name or a protected topic. Anyone with access to the topic can read its notifications.")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Server & account"),n.createElement("div",null,n.createElement("label",{htmlFor:"notify-server"},"Notification server"),n.createElement("input",{id:"notify-server",type:"url","data-action":"view.update",value:x,onChange:N=>y({notifyServer:N.target.value})}),n.createElement("p",{className:"a-caption"},"Use the same server in the ntfy app. The default is ntfy.sh."),n.createElement("label",{htmlFor:"notify-token"},"Access token (optional)",a.tokenConfigured?" · saved":""),n.createElement("input",{id:"notify-token",type:"password",autoComplete:"off","data-private":"true","data-action":"notifications.save",value:s,placeholder:a.tokenConfigured?"Leave blank to keep saved token":"",onChange:N=>{f.current.token++,l(N.target.value)}}),n.createElement("p",{className:"a-caption"},"For protected topics, create a token in your ntfy account. It stays private on this host."))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:r.notifyPreview??a.preview??!1,onChange:N=>y({notifyPreview:N.target.checked})}),"Include a response preview"),n.createElement("p",{className:"a-caption"},"Off by default. Notifications say your response is ready without including its content.")))),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:!!c||b&&!o&&!a.topicConfigured,"data-action":"notifications.save",onClick:R},c?"Saving…":"Save notifications")),d&&n.createElement(it,{phase:"error",message:d}),n.createElement(it,{phase:"ready",message:m}))}const PD=()=>({id:crypto.randomUUID(),name:"Personal server",url:"",enabled:!1,streams:["sessions","workers","tools","usage","updates"],workspace:"amplifier-unified",workspacePattern:"*",includePaths:!1,authMode:"static",apiKeyEnv:"AMPLIFIER_CONTEXT_INTELLIGENCE_API_KEY",authResource:""});function OD({state:e,act:t}){var E,b,x,w,R,S,I,N,M,k,T,A,q,z,F,H,ne;const a=B=>{var P,_;return["queued","working","pending"].includes((_=(P=e.actionStatus)==null?void 0:P[B])==null?void 0:_.phase)},r=e.diagnostics||{},o=((E=e.view)==null?void 0:E.diagnosticsDraft)||{},i=o.config||r.config,s=r.streams||[];if(!i)return null;const l=B=>t("view.update",{patch:{diagnosticsDraft:{...o,...B}}}),c=B=>l({config:{...i,...B}}),u=i.destinations.find(B=>B.id===o.destinationId),d=B=>c({destinations:i.destinations.map(P=>P.id===u.id?{...P,...B}:P)}),p=async()=>{const B=await t("diagnostics.configure",{config:i});B!=null&&B.accepted&&l({config:null})},m=r.lastResult,h=u&&((b=r.destinations)==null?void 0:b.find(B=>B.id===u.id)),f=u&&((x=r.results)==null?void 0:x[u.id]),v=(B,P,_)=>_?[...B,P]:B.filter(ee=>ee!==P),y=(B,P,_=!1)=>n.createElement("div",{className:"a-diagnostic-streams"},s.map(ee=>n.createElement("label",{className:"a-inline-checkbox",key:ee.id},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:B.includes(ee.id),disabled:!_&&!i.streams.includes(ee.id),onChange:Z=>P(v(B,ee.id,Z.target.checked))}),n.createElement("span",null,ee.label))));return n.createElement(Pa,{id:"diagnostics",title:"Diagnostics & Context Intelligence",summary:"Local capture, selected streams and your servers",state:e,act:t},n.createElement("p",null,"Keep diagnostic records on this computer, or send selected streams to your own Context Intelligence servers. Each server has its own choices. App forwarding starts only after you save an enabled destination. Bundle exporters have their own settings."),u?n.createElement(Yt,{name:"diagnostic-destination-"+u.id,busy:(f==null?void 0:f.phase)==="working"},n.createElement("button",{className:"a-link a-diagnostics-back","data-action":"view.update",onClick:()=>l({destinationId:null})},n.createElement(xa,null),"All destinations"),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Name",n.createElement("input",{"data-action":"view.update",value:u.name,onChange:B=>d({name:B.target.value})})),n.createElement("label",null,"Server URL",n.createElement("input",{type:"url",placeholder:"https://context.example.com","data-action":"view.update",value:u.url,onChange:B=>d({url:B.target.value})}))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:u.enabled,onChange:B=>d({enabled:B.target.checked})}),"Send new selected records to this server"),n.createElement("label",null,"Authentication",n.createElement("select",{"data-action":"view.update",value:u.authMode,onChange:B=>d({authMode:B.target.value})},n.createElement("option",{value:"static"},"API key from environment"),n.createElement("option",{value:"entra"},"Microsoft Entra"))),u.authMode==="static"?n.createElement(n.Fragment,null,n.createElement("label",null,"API key environment variable",n.createElement("input",{"data-action":"view.update",value:u.apiKeyEnv,onChange:B=>d({apiKeyEnv:B.target.value})})),n.createElement("button",{className:"a-soft","data-action":"diagnostics.environment",onClick:()=>t("diagnostics.environment",{name:u.apiKeyEnv})},"Check variable"),(m==null?void 0:m.action)==="diagnostics.environment"&&m.name===u.apiKeyEnv&&n.createElement(it,{...m})):n.createElement("label",null,"Entra resource URI",n.createElement("input",{"data-action":"view.update",value:u.authResource,placeholder:"api://application-id",onChange:B=>d({authResource:B.target.value})})),n.createElement("h4",null,"Streams for this server"),y(u.streams,B=>d({streams:B})),n.createElement("p",{className:"a-caption"},"Conversation text may contain private information. Redaction is best effort. Tool arguments, results, reasoning, file contents and canvas HTML are excluded from metadata streams."),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Server workspace label",n.createElement("input",{"data-action":"view.update",value:u.workspace,onChange:B=>d({workspace:B.target.value})})),n.createElement("label",null,"Capture from workspace paths",n.createElement("input",{"data-action":"view.update",value:u.workspacePattern,placeholder:"* or /Users/me/work/*",onChange:B=>d({workspacePattern:B.target.value})}))),n.createElement("p",{className:"a-caption"},"The label organizes records; it is not an access boundary on a shared server. Path filters use * and ? wildcards."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:u.includePaths,onChange:B=>d({includePaths:B.target.checked})}),"Include workspace folder paths in remote records"),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"diagnostics.configure",onClick:p},"Save destination")),n.createElement("button",{className:"a-soft","data-operation-pending":(f==null?void 0:f.phase)==="working"||void 0,"aria-busy":(f==null?void 0:f.phase)==="working"||void 0,"data-action":"diagnostics.test",disabled:!!o.config||(f==null?void 0:f.phase)==="working",onClick:()=>t("diagnostics.test",{id:u.id})},"Test connection"),n.createElement("button",{className:"a-soft","data-action":"diagnostics.retry",disabled:!((w=h==null?void 0:h.counts)!=null&&w.failed),onClick:()=>t("diagnostics.retry",{id:u.id})},n.createElement(zt,null),"Retry failed deliveries")),n.createElement("p",{className:"a-caption"},"Save before testing. A test sends one synthetic event to verify authentication and write access."),!o.config&&n.createElement(it,{...f}),n.createElement("p",{className:"a-caption"},((R=h==null?void 0:h.counts)==null?void 0:R.accepted)||0," accepted · ",((S=h==null?void 0:h.counts)==null?void 0:S.duplicate)||0," recognized retries · ",((I=h==null?void 0:h.counts)==null?void 0:I.pending)||0," queued · ",((N=h==null?void 0:h.counts)==null?void 0:N.failed)||0," failed · ",((M=h==null?void 0:h.counts)==null?void 0:M.cancelled)||0," cancelled"),(h==null?void 0:h.error)&&n.createElement(it,{phase:"error",message:`Delivery needs attention: ${h.error.type}${h.error.statusCode?" (HTTP "+h.error.statusCode+")":""}`}),n.createElement("button",{className:"a-soft a-danger","data-action":"diagnostics.configure",onClick:async()=>{const B=await t("diagnostics.configure",{config:{...i,destinations:i.destinations.filter(P=>P.id!==u.id)}});B!=null&&B.accepted&&l({config:null,destinationId:null})}},n.createElement(Qn,null),"Remove destination")):n.createElement(n.Fragment,null,n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:i.enabled,onChange:B=>c({enabled:B.target.checked})}),"Collect app diagnostics and enable selected forwarding"),n.createElement("p",{className:"a-caption"},"Sessions use the community Context Intelligence hook and shared files. Configure raw session capture in the running mount plan. The choices below control this app’s metadata index and forwarding; they do not disable the hook."),n.createElement("h4",null,"Streams to index and make available for forwarding"),y(i.streams,B=>c({streams:B,destinations:i.destinations.map(P=>({...P,streams:P.streams.filter(_=>B.includes(_))}))}),!0),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Index days",n.createElement("input",{type:"number",min:"1",max:"365",value:i.retentionDays,"data-action":"view.update",onChange:B=>c({retentionDays:Number(B.target.value)})})),n.createElement("label",null,"Maximum indexed records",n.createElement("input",{type:"number",min:"100",max:"100000",value:i.maxRecords,"data-action":"view.update",onChange:B=>c({maxRecords:Number(B.target.value)})}))),n.createElement("p",{className:"a-caption"},"These limits apply to the local index and queued deliveries. Shared Context Intelligence events.jsonl files are preserved. Indexed: ",(k=r.local)!=null&&k.storageError&&((T=r.local)==null?void 0:T.records)==null?"unavailable":(((A=r.local)==null?void 0:A.records)??0)+" records",".",(q=r.local)!=null&&q.dropped||(z=r.local)!=null&&z.outboxDropped||(F=r.local)!=null&&F.expiredPending?` Dropped: ${r.local.dropped||0}; outbox limit: ${r.local.outboxDropped||0}; expired before delivery: ${r.local.expiredPending||0}.`:""),((H=r.local)==null?void 0:H.configurationError)&&n.createElement(it,{phase:"error",message:"The saved diagnostics configuration could not be read. Capture and forwarding are disabled; save reviewed settings to restore them."}),((ne=r.local)==null?void 0:ne.storageError)&&n.createElement(it,{phase:"error",message:"Local diagnostic storage needs attention. Conversations can continue."}),n.createElement(Cn,null,n.createElement("button",{className:"a-primary","data-action":"diagnostics.configure",onClick:p},"Save capture settings")),n.createElement("h4",null,"Destinations"),n.createElement("div",{className:"a-diagnostic-destinations"},i.destinations.map(B=>{var _;const P=(_=r.destinations)==null?void 0:_.find(ee=>ee.id===B.id);return n.createElement("button",{className:"a-settings-group-title","data-action":"view.update",key:B.id,onClick:()=>l({destinationId:B.id})},n.createElement("span",null,n.createElement("strong",null,B.name),n.createElement("small",null,B.enabled?"Sending selected streams":"Disabled"," · ",B.streams.length," streams",P!=null&&P.error?" · Needs attention":"")),n.createElement(po,null))})),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{const B=PD();l({config:{...i,destinations:[...i.destinations,B]},destinationId:B.id})}},n.createElement(Mn,null),"Add server"),n.createElement("p",{className:"a-caption"},"Saving a changed destination cancels its old pending deliveries. Data already accepted or in flight cannot be recalled. Selecting another stream starts with new records; history is never uploaded automatically."),n.createElement(Yt,{name:"diagnostic-records",busy:a("diagnostics.records")},n.createElement("h4",null,"Inspect local records"),n.createElement("div",{className:"a-form-grid"},n.createElement("label",null,"Stream filter",n.createElement("input",{"data-action":"view.update",value:o.stream||"*",onChange:B=>l({stream:B.target.value}),placeholder:"* or updates"})),n.createElement("label",null,"Session ID (optional)",n.createElement("input",{"data-action":"view.update",value:o.sessionId||"",onChange:B=>l({sessionId:B.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"diagnostics.records",onClick:()=>t("diagnostics.records",{stream:o.stream||"*",...o.sessionId?{sessionId:o.sessionId}:{}})},"Read records"),(m==null?void 0:m.action)==="diagnostics.records"&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft","data-action":"diagnostics.export",onClick:()=>t("diagnostics.export")},n.createElement(Ea,null),"Export this page"),m.nextBefore&&n.createElement("button",{className:"a-soft","data-action":"diagnostics.records",onClick:()=>t("diagnostics.records",{stream:o.stream||"*",...o.sessionId?{sessionId:o.sessionId}:{},before:m.nextBefore})},"Older records"))),(m==null?void 0:m.action)==="diagnostics.records"&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(m.items,null,2)))),(m==null?void 0:m.action)!=="diagnostics.records"&&(m==null?void 0:m.action)!=="diagnostics.test"&&(m==null?void 0:m.action)!=="diagnostics.environment"&&n.createElement(it,{phase:(m==null?void 0:m.phase)||"ready",message:m==null?void 0:m.message}))}const Lf=1e6;async function MD(e,t={}){var r,o;if(!e)throw new Error("Choose a conversation export.");if(e.size>Lf)throw new Error("Choose a conversation export smaller than 1 MB.");if(!/\.(json|jsonl)$/i.test(e.name||""))throw new Error("Choose a JSON or JSONL conversation export.");const a=await e.text();if(new TextEncoder().encode(a).length>Lf)throw new Error("Choose a conversation export smaller than 1 MB.");if(!a.trim())throw new Error("The selected conversation export is empty.");return{content:a,format:/\.jsonl$/i.test(e.name)?"jsonl":"json",...(r=t.title)!=null&&r.trim()?{title:t.title.trim()}:{},...(o=t.bundle)!=null&&o.trim()?{bundle:t.bundle.trim()}:{}}}function zD({state:e,act:t}){var f,v,y,E,b,x,w;const a=g.useContext(Wu);g.useEffect(()=>{a==="notifications"&&t("notifications.get")},[a]);const r=(f=e.sessions)==null?void 0:f.find(R=>R.id===e.selectedSessionId),o=((v=e.view)==null?void 0:v.maintenanceDraft)||{},i=e.permissions||{};e.notificationSettings;const s=((y=e.management)==null?void 0:y.phase)==="working",l=R=>{var I,N;const S=(I=e.actionStatus)==null?void 0:I[R];return["queued","working"].includes(S==null?void 0:S.phase)&&(!((N=S.target)!=null&&N.sessionId)||S.target.sessionId===(r==null?void 0:r.id))},c=R=>t("view.update",{patch:{maintenanceDraft:{...o,...R}}}),u=o.scope||"global",d=o.resetParts||[],p=(E=e.maintenance)==null?void 0:E.resetPreview,m=p&&JSON.stringify([...d].sort())===JSON.stringify([...p.parts||[]].sort()),h=(R,S={})=>t(R,{...r?{sessionId:r.id}:{},...S});return n.createElement("div",{"data-part":"maintenance"},n.createElement(OD,{state:e,act:t}),n.createElement(Pa,{id:"history",title:"Conversation history",state:e,act:t},n.createElement("p",null,"Your CLI projects and conversations appear automatically in the workspace sidebar. Open a chat there to continue the same conversation, or export its transcript here."),r&&n.createElement("button",{className:"a-soft","aria-busy":l("history.export")||void 0,"data-action":"history.export",onClick:()=>h("history.export",{format:"jsonl"})},"Export runtime transcript"),n.createElement("div",{className:"a-selection-card"},n.createElement("h4",null,"Import a conversation file"),n.createElement("p",null,"Load a Unified JSON export or CLI JSONL transcript as a new conversation."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"history-import-title"},"Conversation title (optional)"),n.createElement("input",{id:"history-import-title",value:o.importTitle||"","data-action":"view.update",onChange:R=>c({importTitle:R.target.value})})),n.createElement("details",null,n.createElement("summary",null,"Advanced import options"),n.createElement("label",{htmlFor:"history-import-bundle"},"Bundle override (optional)"),n.createElement("input",{id:"history-import-bundle",value:o.importBundle||"","data-action":"view.update",onChange:R=>c({importBundle:R.target.value}),placeholder:"Use the export’s bundle"}))),n.createElement("label",{htmlFor:"history-import-file"},"Choose JSON or JSONL (up to 1 MB)"),n.createElement(kg,{id:"history-import-file",accept:".json,.jsonl,application/json,application/x-ndjson",disabled:s,action:"history.importFile",label:"Choose a conversation",hint:"Drop JSON or JSONL here · up to 1 MB",onFile:async R=>{const S=await MD(R,{title:o.importTitle,bundle:o.importBundle});c({importError:""}),await t("history.importFile",S)}}),o.importError&&n.createElement("p",{className:"a-danger",role:"alert"},o.importError),n.createElement("p",{className:"a-caption"},"Original transcript entries are preserved. Imported jobs do not restart automatically.")),n.createElement("label",null,"Older than (days)",n.createElement("input",{type:"number",min:"1",value:o.cleanupDays||30,"data-action":"view.update",onChange:R=>c({cleanupDays:Number(R.target.value)})})),n.createElement("button",{className:"a-soft","aria-busy":l("history.cleanup")||void 0,"data-action":"history.cleanup",onClick:()=>t("history.cleanup",{days:o.cleanupDays||30})},"Preview cleanup"),e.cleanupPreview&&n.createElement(n.Fragment,null,n.createElement("p",null,e.cleanupPreview.sessions.length," inactive conversations eligible. Your selected conversation is kept."),n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"view.update",checked:!!o.purge,onChange:R=>c({purge:R.target.checked})}),"Also remove retained legacy app files (shared CLI history is kept)"),n.createElement("button",{className:"a-soft a-danger","aria-busy":l("history.cleanup")||void 0,"data-action":"history.cleanup",disabled:!e.cleanupPreview.sessions.length,onClick:()=>t("history.cleanup",{days:o.cleanupDays||30,apply:!0,purge:!!o.purge})},"Clean up these conversations"))),n.createElement(Pa,{id:"permissions",title:"File access",state:e,act:t},n.createElement(Yt,{className:"a-settings-page-body",name:"permissions-preferences",busy:l("permissions.get")},n.createElement("p",null,"File tools can write within your project by default. Add other allowed locations below. Denied locations take precedence, and individual tools may apply stricter limits. Shell commands and other tools can have separate policies."),n.createElement("p",{className:"a-caption"},"These fields edit write overrides at the selected scope. Empty fields do not show all effective access: inherited settings and bundle restrictions can still apply."),n.createElement("label",null,"Edit overrides for",n.createElement("select",{value:u,"data-action":"view.update",onChange:R=>c({scope:R.target.value})},n.createElement("option",{value:"global"},"All projects"),n.createElement("option",{value:"project"},"This project"),n.createElement("option",{value:"local"},"This computer’s project settings"))),n.createElement("button",{className:"a-soft","aria-busy":l("permissions.get")||void 0,"data-action":"permissions.get",disabled:!r,onClick:()=>h("permissions.get",{scope:u})},"Load permissions"),n.createElement("label",{htmlFor:"allowed-folders"},"Allowed folders (one per line)"),n.createElement(Ma,{id:"allowed-folders",multiline:!0,directory:!0,state:e,act:t,value:o.allowed??(i.allowed||[]).join(` `),onChange:R=>c({allowed:R})}),n.createElement("label",{htmlFor:"denied-folders"},"Denied folders (one per line)"),n.createElement(Ma,{id:"denied-folders",multiline:!0,directory:!0,state:e,act:t,value:o.denied??(i.denied||[]).join(` `),onChange:R=>c({denied:R})}),n.createElement(Cn,null,n.createElement("button",{className:"a-primary",disabled:!r||s,"aria-busy":l("permissions.save")||void 0,"data-action":"permissions.save",onClick:()=>h("permissions.save",{scope:u,allowed:(o.allowed??(i.allowed||[]).join(` `)).split(` `).filter(Boolean),denied:(o.denied??(i.denied||[]).join(` `)).split(` -`).filter(Boolean)})},"Save permissions")),i.detail&&n.createElement("p",null,i.detail))),n.createElement(Pa,{id:"notifications",title:"Notifications",state:e,act:t},n.createElement(AD,{state:e,act:t})),n.createElement(Pa,{id:"automation",title:"Terminal and automation",state:e,act:t},n.createElement("p",null,"Run a task without opening the web app. It uses the same Amplifier host, saved configuration, and tool permissions."),n.createElement("pre",{className:"a-state-view"},`amplifier-unified run "Summarize the changes in this workspace" +`).filter(Boolean)})},"Save permissions")),i.detail&&n.createElement("p",null,i.detail))),n.createElement(Pa,{id:"notifications",title:"Notifications",state:e,act:t},n.createElement(_D,{state:e,act:t})),n.createElement(Pa,{id:"automation",title:"Terminal and automation",state:e,act:t},n.createElement("p",null,"Run a task without opening the web app. It uses the same Amplifier host, saved configuration, and tool permissions."),n.createElement("pre",{className:"a-state-view"},`amplifier-unified run "Summarize the changes in this workspace" amplifier-unified run "Review this project" --output-format json -amplifier-unified continue --resume SESSION_ID "Continue the work"`),n.createElement("p",{className:"a-caption"},"Use --bundle to choose a bundle and --provider / --model to select a model. JSON output is suitable for scripts; json-trace also includes execution events. Headless runs cannot answer an interactive approval prompt.")),n.createElement(Pa,{id:"repair",title:"Backup and repair",state:e,act:t},n.createElement("p",null,"Save a full private backup of your configuration, credentials, and conversations, or repair installed runtime dependencies. Repair waits until work is idle."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","aria-busy":l("maintenance.backup")||void 0,"data-action":"maintenance.backup",disabled:s,onClick:()=>t("maintenance.backup")},"Create full backup"),n.createElement("button",{className:"a-soft","aria-busy":l("maintenance.repair")||void 0,"data-action":"maintenance.repair",disabled:s,onClick:()=>t("maintenance.repair")},"Repair runtime")),n.createElement("p",{className:"a-caption"},"Backups contain credentials and are not encrypted. Keep them private."),((b=e.maintenance)==null?void 0:b.backup)&&n.createElement("p",{className:"a-caption a-wrap"},"Saved backup: ",e.maintenance.backup),((x=e.maintenance)==null?void 0:x.detail)&&n.createElement("p",null,e.maintenance.detail)),n.createElement(Pa,{id:"reset",title:"Advanced recovery",state:e,act:t},n.createElement("p",null,"Reset selected app data when ordinary repair is not enough. Your workspace files and original CLI data are kept."),[["runtime","Rebuild installed runtime"],["cache","Clear downloaded bundle and module caches"],["settings","Reset app configuration and credentials"],["conversations","Remove saved conversations from the app"]].map(([R,S])=>n.createElement("label",{className:"a-inline-checkbox",key:R},n.createElement("input",{type:"checkbox",checked:d.includes(R),"data-action":"view.update",onChange:I=>c({resetParts:I.target.checked?[...d,R]:d.filter(N=>N!==R),resetConfirmation:""})}),S)),n.createElement("button",{className:"a-soft",disabled:s||!d.length,"aria-busy":l("maintenance.reset")||void 0,"data-action":"maintenance.reset",onClick:()=>t("maintenance.reset",{parts:d})},"Preview selected reset"),m&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,"These locations will be moved into a recovery folder:"),n.createElement("ul",{className:"a-catalog-list"},(p.paths||[]).map((R,S)=>n.createElement("li",{className:"a-wrap",key:S},n.createElement("code",null,typeof R=="string"?R:JSON.stringify(R))))),n.createElement("label",{htmlFor:"reset-confirmation"},"Type RESET to apply this selection"),n.createElement("input",{id:"reset-confirmation",value:o.resetConfirmation||"","data-action":"view.update",onChange:R=>c({resetConfirmation:R.target.value})}),n.createElement("button",{className:"a-soft a-danger",disabled:s||o.resetConfirmation!=="RESET","aria-busy":l("maintenance.reset")||void 0,"data-action":"maintenance.reset",onClick:()=>t("maintenance.reset",{parts:d,apply:!0,confirmation:o.resetConfirmation})},"Apply selected reset")),((w=e.maintenance)==null?void 0:w.retained)&&n.createElement("p",{className:"a-caption a-wrap"},"Original files retained at: ",e.maintenance.retained)))}function zD(e={},t={}){var f,v,y,E,b,x,w,R,S,I,N;const a=e.application||(e.items||[]).find(M=>M.kind==="app")||{},r=e.sequence||{},o=(e.items||[]).filter(M=>M.kind!=="app"&&M.id!=="application"),i=o.filter(M=>["check_failed","local_changes"].includes(M.status)),s=Math.max(o.filter(M=>M.status==="update").length,(((f=r.included)==null?void 0:f.available)||0)+(((v=r.other)==null?void 0:v.available)||0)),l=a.status==="update",c=l||s>0||!!e.pendingApp||!!e.pendingRelease,u=l&&a.canInstall===!1||e.pendingReplacement!=null||!!e.pendingRestart||!!(r.stage==="included"&&((y=r.included)!=null&&y.issues)),d=e.pendingReplacement!=null||!!e.error||["error","interrupted"].includes(e.phase)||((E=e.pendingRestart)==null?void 0:E.requestStatus)==="rejected"||a.status==="check_failed"||!!(r.stage==="included"&&((b=r.included)!=null&&b.issues)),p=["checking","staging","validating","activating"].includes(e.phase),m=r.nextStage||r.stage||"application",h={stage:m,installable:c,blocked:u,busy:p||!!r.nextStage||e.pendingReplacement!=null,continuing:!!r.install,title:"Check for updates",detail:"We’ll check Amplifier and the components it uses.",tone:"neutral"};return d?{...h,title:"Updates need attention",tone:"error",detail:e.pendingReplacement!=null?"The installation needs verification before work can continue. Open details for the recovery steps.":e.pendingRestart?"The app update needs help finishing its restart. Open details for the next step.":(x=r.included)!=null&&x.issues?"Some required components could not be updated. Your existing configuration is preserved. Review the issue below.":"The update could not finish. Review the issue below before trying again."}:e.pendingRestart?{...h,title:e.pendingRestart.requestStatus==="uncertain"?"Waiting for restart confirmation":"Restarting Amplifier",detail:"Waiting for a healthy restarted app before continuing with the remaining updates.",tone:"working"}:e.pendingApp||e.pendingRelease||(w=e.pendingSmartTools)!=null&&w.length?{...h,title:"Waiting for your work to finish",detail:"The update is ready. It will continue automatically when conversations, tools, and calls are idle.",tone:"working"}:p?{...h,title:e.phase==="checking"?"Checking for updates":"Updating Amplifier",detail:e.detail||(e.phase==="checking"?m==="application"?"Checking for a new app version first.":m==="included"?"Checking included components…":"Checking other components…":"Preparing and verifying the update…"),tone:"working"}:r.nextStage||r.install&&c?{...h,title:"Updating Amplifier",detail:m==="included"?"Continuing with included components…":"Continuing with other components…",tone:"working"}:c?{...h,title:"Updates available",detail:(l?String(a.current||"").replace(/^v/,"")===String(a.latest||"").replace(/^v/,"")?"App component updates are ready. ":"A new app version is ready. ":"")+(s?`${s} component ${s===1?"update is":"updates are"} ${l?"also ":""}ready. `:"")+(t.autoInstall!==!1?"They’ll install automatically when work is idle.":"One update request handles the app and all eligible components."),tone:"available"}:i.length||(R=r.included)!=null&&R.issues||(S=r.other)!=null&&S.issues?{...h,title:"Some updates need attention",detail:"No installable updates remain, but some checks or local changes need review.",tone:"error"}:r.stage==="complete"?{...h,title:"You’re up to date",detail:(I=r.included)!=null&&I.protected||(N=r.other)!=null&&N.protected?"All eligible updates are complete. Pinned versions and local overrides were kept.":"Amplifier and its eligible components are up to date.",tone:"ready"}:a.status==="release_channel_needed"?{...h,title:"Automatic app updates aren’t configured",detail:"This installation needs a release channel. Component updates and technical details are available below."}:e.lastCheck?{...h,title:"App checked · components not fully checked",detail:"Run a check to confirm the full update status."}:h}const LD={"candidate-install":"Prepare application","candidate-probe":"Check candidate package","candidate-version":"Check candidate version","candidate-record":"Save candidate validation","target-discovery":"Find active installation","runtime-close":"Stop idle runtimes","recovery-record":"Save recovery reference","replacement-install":"Install application","replacement-probe":"Check installed package","replacement-version":"Check installed version","restart-configuration":"Prepare restart settings","restart-helper-file":"Prepare restart helper","restart-helper":"Start restart helper","service-restart":"Restart system service","service-restart-request":"Request service restart","restart-request":"Request restart","restart-readiness":"Check restarted host readiness","restart-ack":"Confirm restarted version","restart-reconcile":"Verify current installation","activation-validation":"Check staged release","ecosystem-copy":"Prepare ecosystem copy","ecosystem-source-preflight":"Check cached source changes","ecosystem-runtime-preflight":"Check installed worker sources","ecosystem-runtime-lock":"Resolve worker dependencies","ecosystem-runtime-policy":"Prepare worker installer policy","ecosystem-runtime-freeze":"Record qualified worker","ecosystem-runtime-freeze-install":"Verify recorded worker","ecosystem-validation":"Validate ecosystem","ecosystem-fetch":"Fetch source update","ecosystem-checkout":"Switch staged source","ecosystem-probe":"Check bundles and modules","ecosystem-prepare":"Prepare bundle dependencies","ecosystem-compatibility":"Check frozen bundle compatibility","smart-tool-stage":"Prepare Smart Tool update","smart-tool-activate":"Verify and activate Smart Tool","ecosystem-activation":"Activate ecosystem","ecosystem-stage":"Prepare ecosystem",stage:"Prepare application update"},Df={"host-component-conflict":"App behavior module identities conflict. Review duplicate module declarations and instance IDs in Bundles & modules; the current ecosystem is preserved.","module-prepare-failed":"A module could not be prepared in the new worker. The current ecosystem is preserved; review its dependencies before retrying.","bundle-not-found":"A configured bundle could not be found. Review its registration in Bundles & modules.","bundle-load-failed":"A configured bundle could not be loaded. Review its source and dependencies in Bundles & modules.","bundle-validation-failed":"A configured bundle did not pass validation. Review its configuration before retrying.","bundle-dependency-failed":"A bundle dependency could not be prepared. Review its source and dependency configuration.","protected-runtime-source":"Local source changes or an explicit dependency override were preserved. Review this module in Bundles & modules and preserve its source configuration before checking for updates again.","runtime-source-changed":"Worker sources changed while checking. Let source changes finish, then check for updates again."},DD={started:"Running",accepted:"Accepted",rejected:"Rejected",uncertain:"Unconfirmed",succeeded:"Succeeded",failed:"Failed",interrupted:"Interrupted"},Ff=["failed","interrupted","rejected"],Is=e=>LD[e]||(e==null?void 0:e.replaceAll("-"," "))||"Update";function FD(e,t){const a=["id","at","attemptId","kind","phase","status","revision","commandId","durationMs","exitCode","stdoutBytes","stderrBytes","errorType","timedOut","expectedVersion","observedVersion","expectedRevision","observedRevision","reason","package"],r=i=>{if(!i)return;const s=Object.fromEntries(a.filter(l=>i[l]!==void 0).map(l=>[l,i[l]]));return i.probe&&(s.probe=Object.fromEntries(["ok","isolated","packageInEnvironment","frontendPresent","loginAvailable","standalone","providersPresent","cliAbsent","dependenciesPrepared","stage","errorType","version","pythonVersion","reason"].filter(l=>i.probe[l]!==void 0).map(l=>[l,i.probe[l]]))),s},o=t?Object.fromEntries(["attemptId","version","revision","verifiedAt"].filter(i=>t[i]!==void 0).map(i=>[i,t[i]])):void 0;return JSON.stringify({attemptId:e.attemptId,lastFailure:r(e.lastFailure),reconciliation:o,events:(e.events||[]).slice(-50).map(r)},null,2)}function Yw(e){var o;const t=e.reconciliation,a=(o=e.diagnostics)==null?void 0:o.lastFailure,r=e.application||(e.items||[]).find(i=>i.kind==="app")||{};return!!(a!=null&&a.attemptId&&(t==null?void 0:t.attemptId)===a.attemptId&&Number.isFinite(t.verifiedAt)&&t.verifiedAt>0&&typeof t.version=="string"&&t.version===r.current&&(!r.runningRevision||t.revision===r.runningRevision)&&!e.error&&!e.pendingRestart&&!e.pendingApp&&e.pendingReplacement==null)}function ci(e){var a,r,o,i;const t=[];return e.package&&t.push(e.package),Df[e.reason||((a=e.probe)==null?void 0:a.reason)]&&t.push(Df[e.reason||((r=e.probe)==null?void 0:r.reason)]),(o=e.probe)!=null&&o.errorType?t.push(e.probe.errorType):e.errorType&&t.push(e.errorType),(i=e.probe)!=null&&i.stage&&e.probe.stage!=="complete"&&t.push("Probe: "+e.probe.stage),e.timedOut&&t.push("Timed out"),e.exitCode!==void 0&&t.push("Exit "+e.exitCode),e.expectedVersion&&t.push("Expected "+e.expectedVersion),e.observedVersion&&t.push("Found "+e.observedVersion),e.expectedRevision&&t.push("Expected revision "+e.expectedRevision.slice(0,12)),e.observedRevision&&t.push("Found revision "+e.observedRevision.slice(0,12)),e.durationMs!==void 0&&t.push(e.durationMs<1e3?e.durationMs+" ms":(e.durationMs/1e3).toFixed(1)+" s"),t.join(" · ")}function qD({state:e}){var r;const t=e.updates||{},a=(r=t.diagnostics)==null?void 0:r.lastFailure;return!a||Yw(t)?null:n.createElement("div",{className:"a-update-failure",role:"alert"},n.createElement(On,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,"Last update did not finish: ",Is(a.phase)),n.createElement("p",null,a.phase==="target-discovery"?"This installation cannot be replaced by the in-app updater. Ask the person who runs Amplifier to update this installation.":ci(a)||"Open Component updates & details for the failure receipt.")))}function jD({state:e,act:t}){var m,h;const a=e.updates||{},r=a.diagnostics||{},o=r.lastFailure,i=r.events||[];if(!i.length&&!o)return null;const s=!!((h=(m=e.view)==null?void 0:m.maintenanceDraft)!=null&&h.updateDiagnosticsExpanded),l=i.filter(f=>f.attemptId===r.attemptId),c=l.filter(f=>f.status!=="started"||!l.some(v=>v.commandId&&v.commandId===f.commandId&&v.status!=="started")),u=Yw(a),d=i.find(f=>f.attemptId===((o==null?void 0:o.attemptId)||r.attemptId)&&Ff.includes(f.status))||o,p=u?Pt:On;return n.createElement("div",{className:"a-update-diagnostics","data-part":"update-diagnostics"},o&&n.createElement("div",{className:"a-update-failure"+(u?" resolved":""),role:"status"},n.createElement(p,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,u?"Previous update issue resolved":"Last update issue",": ",Is(o.phase)),n.createElement("p",null,u?"The current installation is verified healthy. The original failure remains in the receipt for reference.":ci(o)||"The phase did not finish. Review the receipt before retrying."),n.createElement("span",{className:"a-caption"},"Attempt ",n.createElement("code",null,o.attemptId||"Not recorded")))),n.createElement("button",{type:"button",className:"a-link a-update-diagnostics-toggle","data-action":"view.update","aria-expanded":s,onClick:()=>{var f;return t("view.update",{patch:{maintenanceDraft:{...(f=e.view)==null?void 0:f.maintenanceDraft,updateDiagnosticsExpanded:!s}}})}},s?n.createElement(Xs,null):n.createElement(Gt,null),s?"Hide update details":"View update details"),s&&n.createElement("div",{className:"a-update-diagnostic-details"},d&&d.id!==(o==null?void 0:o.id)&&n.createElement("p",{className:"a-caption"},u?"First historical issue":"First recorded issue",": ",Is(d.phase)," · ",ci(d)),r.attemptId&&n.createElement("p",{className:"a-caption"},"Latest attempt ",n.createElement("code",null,r.attemptId)),n.createElement("ol",{className:"a-update-phase-list"},c.map(f=>{const v=Ff.includes(f.status),y=u&&v&&f.attemptId===o.attemptId,E=f.status==="succeeded"?Pt:v?On:_s;return n.createElement("li",{key:f.id,className:f.status+(y?" historical":"")},n.createElement("div",null,n.createElement(E,{"aria-hidden":"true"}),n.createElement("span",null,Is(f.phase)),n.createElement("span",{className:"a-update-phase-status"},DD[f.status]||f.status,y?" (historical)":"")),ci(f)&&n.createElement("p",{className:"a-caption"},ci(f)))})),n.createElement("label",{className:"a-caption",htmlFor:"update-diagnostic-receipt"},"Sanitized receipt — select and copy to share"),n.createElement("textarea",{id:"update-diagnostic-receipt",className:"a-update-receipt",readOnly:!0,rows:5,spellCheck:!1,value:FD(r,a.reconciliation)}),n.createElement("p",{className:"a-caption"},"Includes phase, timing, exit code and probe results. Command output, credentials, environment values and local paths are excluded.")))}const Iu=(e,t)=>`release-notice:${e.version}:${t.id}`,qf=e=>String(e||"").replace(/^v/,"").split(".").map(Number),Gw=(e,t)=>{const a=qf(e),r=qf(t);for(let o=0;o<3;o++)if(a[o]!==r[o])return a[o]>r[o];return!1},Qw=(e,t)=>e.version===t.current?"Installed":Gw(e.version,t.current)?"Upcoming":"Earlier release";function Xw({notice:e}){return n.createElement(n.Fragment,null,n.createElement("strong",null,e.title),n.createElement("p",null,e.detail),n.createElement("p",null,n.createElement("b",null,"What to do:")," ",e.action))}function UD({application:e,state:t,act:a}){var i;const r=new Map((((i=t.attention)==null?void 0:i.items)||[]).map(s=>[s.id,s])),o=(e.releaseNotes||[]).flatMap(s=>s.notices.map(l=>({release:s,notice:l,item:r.get(Iu(s,l))}))).filter(({item:s})=>s);return o.length?n.createElement("section",{className:"a-release-notices","aria-label":"High-impact changes"},n.createElement("h4",null,n.createElement(On,{"aria-hidden":"true"}),"High-impact changes"),n.createElement("p",{className:"a-caption"},"Changes that may affect your settings or workflow. Notices are marked read as you view them."),o.map(({release:s,notice:l,item:c})=>n.createElement("article",{key:c.id,className:"a-release-notice"},n.createElement("span",{className:"a-caption"},"Version ",s.version," · ",Qw(s,e)),n.createElement(Fi,{item:c,act:a},n.createElement(Xw,{notice:l}))))):null}function $D({application:e,state:t,act:a}){var s;const r=e.releaseNotes||[],o=new Set((((s=t.attention)==null?void 0:s.items)||[]).filter(l=>l.read).map(l=>l.id)),i=/^v?\d+\.\d+\.\d+$/.test(e.latest||"")?e.latest:null;return n.createElement("section",{className:"a-release-history","aria-label":"Changelog"},n.createElement("details",{className:"a-update-disclosure"},n.createElement("summary",null,"Changelog"),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement("p",{className:"a-caption"},"Application release history · installed notes are available offline."),e.releaseNotesWarning&&n.createElement("p",{className:"a-release-notes-warning",role:"status"},e.releaseNotesWarning," ",i&&n.createElement("a",{href:"https://github.com/microsoft/amplifier-unified/releases/tag/"+i,target:"_blank",rel:"noreferrer"},"View published release")),!r.length&&n.createElement("p",{className:"a-caption"},"No release notes are included with this installation."),r.map(l=>n.createElement("details",{key:l.version,className:"a-release-entry",open:l.version===e.current||Gw(l.version,e.current)},n.createElement("summary",null,n.createElement("strong",null,l.version," · ",l.title),n.createElement("span",{className:"a-caption"},Qw(l,e)),l.notices.length>0&&n.createElement("span",{className:"a-release-impact"},"High impact")),n.createElement("ul",null,l.changes.map((c,u)=>n.createElement("li",{key:u},c))),l.notices.map(c=>{var u;return n.createElement("div",{key:c.id,className:"a-release-notice archived"},n.createElement(Fi,{item:(((u=t.attention)==null?void 0:u.items)||[]).find(d=>d.id===Iu(l,c)),act:a},n.createElement(Xw,{notice:c})),o.has(Iu(l,c))&&n.createElement("span",{className:"a-release-reviewed"},n.createElement(Pt,{"aria-hidden":"true"}),"Reviewed"))}))))))}const Ac={update:"Update available",current:"Current",pinned:"Pinned",check_failed:"Check failed",local_changes:"Local changes",not_checked:"Not checked",release_channel_needed:"Release channel not configured",historical:"Older saved configuration"};function ni({items:e,state:t,act:a,id:r}){const[o,i,s]=ka(t,a,r,e,l=>[l.label,l.id,l.kind,l.status,l.ref,l.detail,l.usage,...l.usageEvidence||[]],"Filter update sources");return n.createElement(n.Fragment,null,(e.length>6||s)&&i,n.createElement("ul",{id:r+"-list",className:"a-update-list a-source-list"},o.map(l=>{var p,m,h,f,v,y;const c=["check_failed","local_changes"].includes(l.status),u=l.status==="historical"?_s:c?On:l.status==="update"?qc:l.status==="pinned"?Du:Pt,d=(m=(p=t.attention)==null?void 0:p.items)==null?void 0:m.some(E=>E.id==="source:"+l.id&&!E.read);return n.createElement("li",{key:l.id},n.createElement("div",{className:"a-source-line"},n.createElement(u,{className:c?"a-source-warning":"a-source-status","aria-label":Ac[l.status]||l.status},n.createElement("title",null,l.detail||Ac[l.status]||l.status)),d&&n.createElement("span",{className:"a-unread-dot","aria-label":"Unread"}),n.createElement(Fi,{item:(f=(h=t.attention)==null?void 0:h.items)==null?void 0:f.find(E=>E.id==="source:"+l.id),act:a},n.createElement("strong",{title:l.label},l.label.split("/").pop().replace(/^amplifier-(bundle-|module-)/,""))),l.cacheCopies>1&&n.createElement("span",{title:"Identical cached copies"},"×",l.cacheCopies),n.createElement("span",{className:"a-source-ref"},l.ref||l.kind),n.createElement("code",{title:l.current&&l.latest?l.current+" → "+l.latest:void 0},(v=l.current)==null?void 0:v.slice(0,7),l.latest&&l.latest!==l.current?" → "+l.latest.slice(0,7):"")),l.usage&&n.createElement("p",{className:"a-caption"},l.usage==="configured"?"Configured: "+(l.usageEvidence||[]).join(", "):"Usage unknown; it may still be needed."),(c||l.kind==="history")&&n.createElement(it,{phase:l.status==="check_failed"?"error":"neutral",message:l.detail||Ac[l.status]}),((y=l.sourceIssues)==null?void 0:y.length)>0&&n.createElement("ul",null,l.sourceIssues.map((E,b)=>n.createElement("li",{key:b,style:{overflowWrap:"anywhere"}},n.createElement("strong",null,E.reference||"Settings"),n.createElement("p",null,E.reason),E.workspace&&n.createElement("p",null,E.workspace),E.sessionId&&n.createElement("p",null,"Session ID: ",n.createElement("code",null,E.sessionId)),E.appSessionId&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.select",onClick:async()=>{const x=await a("session.select",{id:E.appSessionId});x&&x.accepted!==!1&&await a("view.update",{patch:{panel:null}})}},"Open conversation")))))})))}function BD({updates:e,items:t,busy:a}){const r=e.sequence||{};return n.createElement("div",{className:"a-update-summary","aria-label":"Component update summary"},[["included","Included components"],["other","Other components"]].map(([o,i])=>{const s=t.filter(d=>(d.updateTier||"other")===o),l=r[o]||{status:e.lastCheck?"current":"waiting",available:s.filter(d=>d.status==="update").length,issues:s.filter(d=>["check_failed","local_changes"].includes(d.status)).length},u=a&&e.phase==="checking"&&r.stage===o?"Checking…":l.available?`${l.available} available${l.missing?` · ${l.missing} to install`:""}${l.issues?` · ${l.issues} need attention`:""}`:l.status==="waiting"?r.stage==="application"?"After app update":o==="other"?"After included components":"Not checked":l.issues?`${l.issues} need attention`:l.protected?`${l.protected} kept as configured`:"Up to date";return n.createElement("div",{key:o},n.createElement("span",null,i),n.createElement("strong",null,u))}))}function HD({state:e,act:t}){var B,P,_,ee,Z,D;const a=(((B=e.attention)==null?void 0:B.items)||[]).filter(G=>G.page==="updates"&&!G.read),r=a.filter(G=>G.id.startsWith("release-notice:")),o=a.filter(G=>!G.id.startsWith("release-notice:")),i=e.updates||{},s=((P=e.settings)==null?void 0:P.updates)||{},l=i.pendingReplacement!=null,c=l||["checking","staging","validating","activating"].includes(i.phase),u=s.intervalHours??4,d=![1,4,8,24].includes(u),p=i.application||(i.items||[]).find(G=>G.kind==="app")||{},m=(i.items||[]).filter(G=>G.kind!=="app"&&G.id!=="application"),h=m.filter(G=>G.status==="update").sort((G,j)=>G.label.localeCompare(j.label)),f=m.filter(G=>["check_failed","local_changes"].includes(G.status)),v=m.filter(G=>G.usage==="unknown"),y=f.filter(G=>G.usage!=="unknown"),E=v.filter(G=>["check_failed","local_changes"].includes(G.status)),b=[["check_failed","check failed"],["local_changes","with local changes"],["update","with updates"],["pinned","pinned"],["current","current"],["not_checked","not checked"]].map(([G,j])=>[v.filter(K=>K.status===G).length,j]).filter(([G])=>G).map(([G,j])=>`${G} ${j}`).join(", ");p.status;const x=i.pendingApp||i.pendingRelease||i.pendingRestart,w=!!i.pendingRestart&&(!!i.error||["error","interrupted"].includes(i.phase)||i.pendingRestart.requestStatus==="rejected"),R=((_=i.pendingRestart)==null?void 0:_.requestStatus)==="uncertain",S=l?"failed":i.pendingRestart?w?"failed":R?"restart_pending":"restarting":i.pendingApp?i.error?"failed":"staged":p.status==="check_failed"?"failed":p.releaseBehind?"ahead":p.status||"not_checked",I={restarting:"Restarting",restart_pending:"Awaiting restarted host",staged:"Ready to restart",update:"Update available",current:"Latest release installed",failed:"Needs attention",ahead:"Ahead of published release",not_checked:"Not checked",release_channel_needed:"Release channel not configured",historical:"Older saved configuration"},N=S==="current"?Pt:S==="update"?qc:S==="failed"?On:_s,M=l?i.error||i.detail||"The installation outcome is unknown. Work remains paused until the qualified app and dependencies are verified on a new host.":i.pendingRestart?i.error||i.detail||(w?"The app installed, but its restart did not complete. Restart Amplifier Unified manually to continue.":"The app is installed. Waiting for a healthy restarted host before resuming work."):i.pendingApp?i.error||"The app passed validation and will restart when conversations, worker lanes, smart tools, and calls are idle.":p.detail,k=w||i.error||["error","interrupted"].includes(i.phase)?"error":i.pendingRestart||c?"working":i.phase==="installed"?"success":"neutral",T=i.error||(["error","interrupted"].includes(i.phase)?i.detail||"The update did not finish.":c||x||i.phase==="installed"?i.detail:""),A=zD(i,s),q=n.useRef(null);yg(a.filter(G=>G.id==="updates:pending"||G.id==="source:application"),t,q);const z=!!((Z=(ee=e.view)==null?void 0:ee.maintenanceDraft)!=null&&Z.updatesExpanded),F=c||A.busy,H=F||x?A.detail:A.blocked?"App updates for this development preview are managed by its owner.":"",ne=G=>t("settings.update",{patch:{updates:G}});return n.createElement(Yt,{as:"section",name:"updates",busy:c,className:"a-updates","data-part":"updates"},n.createElement("div",{ref:q,className:"a-app-update","data-part":"application-update","aria-label":"Overall update status",role:"status","aria-live":"polite"},n.createElement("div",{className:"a-update-overall"},A.tone==="error"?n.createElement(On,null):A.tone==="ready"?n.createElement(Pt,null):A.tone==="available"?n.createElement(qc,null):n.createElement(_s,null),n.createElement("div",null,n.createElement("h4",null,A.title),n.createElement("p",null,A.detail))),(A.tone==="working"||A.tone==="available")&&n.createElement("div",{className:"a-update-progress","aria-label":"Update order"},[["application","App"],["included","Included components"],["other","Other components"]].map(([G,j],K)=>n.createElement("span",{key:G,"data-active":A.stage===G},K>0&&"→ ",j))),n.createElement("p",{className:"a-update-version-line"},"Amplifier ",p.current||"version not reported",p.latest&&p.latest.replace(/^v/,"")!==((D=p.current)==null?void 0:D.replace(/^v/,""))?" · Latest "+p.latest:"",i.lastCheck?" · Checked "+new Date(i.lastCheck*1e3).toLocaleString():"")),A.tone!=="working"&&n.createElement(Fi,{item:a.find(G=>G.id==="updates:error"),act:t},n.createElement(it,{phase:k,message:T})),n.createElement(qD,{state:e}),n.createElement(jw,null),p.canInstall===!1&&n.createElement("p",{className:"a-ai-hint",role:"status"},"This is a development preview. App updates are deployed by its owner; this preview cannot replace the installed app."),n.createElement("div",{className:"a-update-controls","data-part":"update-controls"},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:A.installable?"a-soft":"a-primary",disabled:F||!!x,"aria-describedby":H?"update-action-status":void 0,"data-action":"updates.check",onClick:()=>t("updates.check")},n.createElement(zt,{className:F?"a-progress-spinner":void 0}),F?i.phase==="checking"?"Checking…":"Update in progress…":x?"Waiting for update…":"Check for updates"),A.installable&&(!A.continuing||A.tone==="error")&&n.createElement("button",{className:"a-primary",disabled:F||A.blocked,"aria-describedby":H?"update-action-status":void 0,"data-action":"updates.install",onClick:()=>t("updates.install")},n.createElement(Ea,null),"Update Amplifier")),H&&n.createElement("p",{id:"update-action-status",role:"status",className:"a-caption"},H," ",F?"You can keep working; this page will update automatically.":""),n.createElement("p",{className:"a-caption"},"One request handles everything in order. Updates wait for work and calls to finish; an app update may restart the server."),n.createElement("div",{className:"a-update-simple-options"},n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"settings.update",checked:s.autoCheck!==!1&&s.autoInstall!==!1,onChange:G=>ne(G.target.checked?{autoCheck:!0,autoInstall:!0}:{autoInstall:!1})}),"Keep Amplifier up to date automatically"),n.createElement("p",{className:"a-caption"},"Install eligible app and component updates when work is idle. Existing pins and local edits are kept.")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Update preferences"),n.createElement("div",{className:"a-update-options"},n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"settings.update",checked:s.autoCheck!==!1,onChange:G=>ne({autoCheck:G.target.checked,...G.target.checked?{}:{autoInstall:!1}})}),"Automatically check for updates"),n.createElement("label",{htmlFor:"update-frequency"},"Check for updates"),n.createElement("select",{id:"update-frequency","data-action":"settings.update",value:d?"":u,"aria-describedby":d?"update-frequency-saved":void 0,onChange:G=>ne({intervalHours:Number(G.target.value)})},d&&n.createElement("option",{value:"",disabled:!0},"Choose a new interval"),n.createElement("option",{value:"1"},"Every 1 hour"),n.createElement("option",{value:"4"},"Every 4 hours"),n.createElement("option",{value:"8"},"Every 8 hours"),n.createElement("option",{value:"24"},"Daily")),d&&n.createElement("p",{id:"update-frequency-saved",className:"a-caption"},"Your saved schedule checks every ",u," hours. It stays in effect until you choose a new interval.")))),n.createElement("details",{className:"a-update-disclosure","data-part":"ecosystem-update-details",open:A.tone==="error"||void 0},n.createElement("summary",null,A.tone==="error"?"Review update issue":"Component updates & details",n.createElement(Da,{count:o.length})),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(Ms,{state:e,act:t,page:"updates",items:o,showItems:!0}),n.createElement(BD,{updates:i,items:m,busy:c}),n.createElement("div",{className:"a-app-update-heading"},n.createElement("h4",null,"App release"),n.createElement("span",{className:"a-app-update-status "+S},n.createElement(N,{"aria-hidden":"true"}),I[S]||S)),M&&(S==="failed"?n.createElement(it,{phase:"error",message:M}):n.createElement("p",{className:"a-caption a-wrap"},M)),n.createElement(jD,{state:e,act:t}),i.canRollback&&n.createElement("button",{className:"a-soft",disabled:c||!!x,"data-action":"updates.rollback",onClick:()=>t("updates.rollback")},n.createElement(dx,null),"Roll back ecosystem"),n.createElement("div",{"data-part":"available-updates"},n.createElement("h4",null,"Ecosystem updates ",h.length>0&&n.createElement("span",{className:"a-update-count"},h.length," available")),h.length?n.createElement(ni,{items:h,state:e,act:t,id:"available-updates"}):n.createElement("p",{className:"a-caption"},A.stage!=="complete"?"Remaining components are checked after the preceding update stage.":"No eligible component updates remain.")),!!y.length&&n.createElement("div",null,n.createElement("h4",null,"Needs attention"),n.createElement(ni,{items:y,state:e,act:t,id:"update-issues"})),!!v.length&&n.createElement("div",null,n.createElement("h4",null,"Other cached sources"),n.createElement("p",{className:"a-caption"},v.length," sources: ",b,". Usage is unknown; these files may still be needed and are kept."),!!E.length&&n.createElement(ni,{items:E,state:e,act:t,id:"unknown-source-issues"})),!!m.length&&n.createElement("div",null,n.createElement("button",{className:"a-link","aria-expanded":z,"data-action":"view.update",onClick:()=>{var G;return t("view.update",{patch:{maintenanceDraft:{...(G=e.view)==null?void 0:G.maintenanceDraft,updatesExpanded:!z}}})}},z?"Hide all sources":"Show all "+m.length+" "+(m.length===1?"source":"sources")),z&&n.createElement(ni,{items:m,state:e,act:t,id:"update-sources"})))),n.createElement("details",{className:"a-update-disclosure"},n.createElement("summary",null,"Release notices",n.createElement(Da,{count:r.length})),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(Ms,{state:e,act:t,page:"updates",items:r}),n.createElement(UD,{application:p,state:e,act:t}))),m.some(G=>G.kind==="history")&&n.createElement("details",{className:"a-update-disclosure","data-part":"historical-source-settings"},n.createElement("summary",null,"Older conversation settings"),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(ni,{items:m.filter(G=>G.kind==="history"),state:e,act:t,id:"historical-source-settings"}))),n.createElement($D,{application:p,state:e,act:t}))}function VD({state:e,act:t}){var h;const a=(h=e.runtime)==null?void 0:h.retention,[r,o]=g.useState("32"),[i,s]=g.useState("12"),[l,c]=g.useState(!0),[u,d]=g.useState(!1);if(g.useEffect(()=>{a&&(o(String(a.max_warm_workers)),s(String(a.idle_timeout_hours)),c(a.prewarm_on_select))},[a==null?void 0:a.max_warm_workers,a==null?void 0:a.idle_timeout_hours,a==null?void 0:a.prewarm_on_select]),!a)return null;const p=r!==""&&i!==""&&Number.isInteger(Number(r))&&Number(r)>=0&&Number.isFinite(Number(i))&&Number(i)>=0;async function m(f){if(f.preventDefault(),!(!p||u)){d(!0);try{await t("runtime.retention.update",{patch:{max_warm_workers:Number(r),idle_timeout_hours:Number(i),prewarm_on_select:l}})}finally{d(!1)}}}return n.createElement("form",{id:"settings-readiness-form","aria-label":"Ready conversations",onSubmit:m},n.createElement("p",null,"Keep recently used conversations ready for their next message. These limits apply to idle conversations on this host; work in progress and pending interactions stay protected."),n.createElement("label",{htmlFor:"warm-worker-count"},"Conversations to keep ready"),n.createElement("input",{id:"warm-worker-count",type:"number",min:"0",step:"1",value:r,onChange:f=>o(f.target.value)}),n.createElement("label",{htmlFor:"warm-worker-hours"},"Hours to keep an idle conversation ready"),n.createElement("input",{id:"warm-worker-hours",type:"number",min:"0",step:"any",value:i,onChange:f=>s(f.target.value)}),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:l,onChange:f=>c(f.target.checked)}),"Prepare a conversation in the background when I select it"),n.createElement("p",{className:"a-caption"},"Setting either limit to zero releases idle conversations as soon as they settle and disables background preparation. Saved history remains available."),n.createElement(Cn,null,n.createElement("button",{form:"settings-readiness-form",type:"submit",className:"a-primary","data-action":"runtime.retention.update",disabled:!p||u},u?"Saving…":"Save readiness settings")))}function WD({results:e,run:t,busy:a,active:r}){var i;const o=e["native.status"]||e["native.compact"];return n.createElement("section",{className:"a-settings-section","data-part":"native-provider-settings"},n.createElement("h3",null,"Live direction & saved context"),n.createElement("p",null,"Check whether this model can apply new direction during a response. Other models receive it at the next request."),n.createElement("button",{className:"a-soft",disabled:a,"data-action":"runtime.control",onClick:()=>t("native.status")},"Check provider support"),o&&n.createElement(n.Fragment,null,n.createElement("p",null,o.supported?"Native direction is available for this selected model.":o.reason||"Direction is delivered at the next request."),((i=o.receipt)==null?void 0:i.outcome)==="unknown"&&n.createElement("p",{role:"alert"},"The previous request’s outcome is unknown. It was not replayed."),o.checkpoint&&n.createElement("p",null,"Saved provider context: ",o.checkpoint,"."),n.createElement("button",{className:"a-soft",disabled:a||r||!o.compactAvailable,"data-action":"runtime.control",onClick:()=>t("native.compact")},"Compact provider context"),n.createElement("p",{className:"a-caption"},"Original conversation history stays intact. Compaction makes a model request; its private provider state is never displayed.")))}const ms=e=>(e==null?void 0:e.value)==null?"Unknown":e.value.toLocaleString(void 0,{maximumFractionDigits:6});function ZD({session:e,act:t}){var w,R;const[a,r]=g.useState(null),[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(0),[m,h]=g.useState({enabled:!1,maxTotalTokens:"",maxCostUsd:"",warningFraction:.8,unknownPolicy:"pause",includeEstimatedCost:!1}),f=(S,I=!0)=>{if(r(S),!I)return;const N=S.budget;p(N.revision),h({enabled:!!N.enabled,maxTotalTokens:N.maxTotalTokens??"",maxCostUsd:N.maxCostUsd??"",warningFraction:N.warningFraction??.8,unknownPolicy:N.unknownPolicy??"pause",includeEstimatedCost:!!N.includeEstimatedCost})},v=async(S,I={})=>{l(!0),u("");try{const N=await t(S,{sessionId:e.id,...I});N!=null&&N.result?S==="capacity.quota"?i(N.result):f(N.result):N!=null&&N.error&&u(N.error)}catch(N){u(N.message)}finally{l(!1)}},y=S=>h(I=>({...I,...S})),E=(((w=e.execution)==null?void 0:w.nodes)||[]).filter(S=>S.kind==="llm").map(S=>`${S.id}:${S.revision||0}:${S.phase}`).join("|");g.useEffect(()=>{if(!a)return;let S=!1;return t("capacity.read",{sessionId:e.id}).then(I=>{!S&&(I!=null&&I.result)&&f(I.result,!1)}).catch(()=>{}),()=>{S=!0}},[E]);const b=((R=a==null?void 0:a.usage)==null?void 0:R.metrics)||{},x=!m.maxTotalTokens&&!m.maxCostUsd&&m.enabled||m.maxTotalTokens!==""&&(!Number.isInteger(Number(m.maxTotalTokens))||Number(m.maxTotalTokens)<=0)||m.maxCostUsd!==""&&!(Number(m.maxCostUsd)>0);return n.createElement("section",{className:"a-settings-section","aria-label":"Task usage and budget","data-part":"capacity-controls"},n.createElement("h3",null,"Task usage & budget"),n.createElement("p",null,"Track this conversation and its observed workers. Existing calls may finish and exceed a limit; new model calls wait when the budget is reached."),n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.read",onClick:()=>v("capacity.read")},"Inspect task usage"),c&&n.createElement("p",{role:"alert"},c),a&&n.createElement(n.Fragment,null,n.createElement("p",{role:"status"},"Budget ",a.admission.state," · ",a.usage.calls," recorded model calls"),a.admission.reasons.map(S=>n.createElement("p",{key:S},S)),a.admission.warnings.map(S=>n.createElement("p",{key:S},S)),n.createElement("dl",{className:"a-capability-counts"},n.createElement("div",null,n.createElement("dt",null,"Total tokens including cache writes"),n.createElement("dd",null,ms(b.grossTotalTokens)," · ",b.grossTotalTokens.status)),n.createElement("div",null,n.createElement("dt",null,"Cost (USD)"),n.createElement("dd",null,ms(b.costUsd)," · ",b.costUsd.status,b.costUsd.estimatedCalls>0?" · includes estimates":""))),n.createElement("p",{className:"a-caption"},b.grossTotalTokens.unknownCalls," calls with unknown token totals · ",b.costUsd.unknownCalls," calls with unknown cost · ",a.admission.inFlightCalls," in flight. Totals cover observed calls; missing telemetry is not zero."),n.createElement("details",null,n.createElement("summary",null,"Model breakdown and receipts"),a.usage.providers.map(S=>n.createElement("p",{key:S.provider+"|"+S.model},S.provider," / ",S.model," · ",S.calls," calls · ",ms(S.metrics.grossTotalTokens)," tokens · ",ms(S.metrics.costUsd)," USD")),n.createElement("p",{className:"a-caption"},"Receipts ",a.usage.offset+1,"–",a.usage.offset+a.usage.receipts.length," of ",a.usage.receiptCount,". Observed ",new Date(a.observedAt*1e3).toLocaleTimeString(),"."),n.createElement("pre",{className:"a-state-view"},JSON.stringify(a.usage.receipts,null,2)),a.usage.nextOffset!=null&&n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.read",onClick:()=>v("capacity.read",{offset:a.usage.nextOffset})},"Next receipts")),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:m.enabled,onChange:S=>y({enabled:S.target.checked})}),"Enable cumulative task budget"),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"capacity-tokens"},"Total token limit"),n.createElement("input",{id:"capacity-tokens",type:"number",min:"1",value:m.maxTotalTokens,onChange:S=>y({maxTotalTokens:S.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"capacity-cost"},"Cost limit (USD)"),n.createElement("input",{id:"capacity-cost",type:"number",min:"0.000001",step:"any",value:m.maxCostUsd,onChange:S=>y({maxCostUsd:S.target.value})}))),n.createElement("label",{htmlFor:"capacity-warning"},"Warn at percentage"),n.createElement("input",{id:"capacity-warning",type:"number",min:"1",max:"100",value:Math.round(m.warningFraction*100),onChange:S=>y({warningFraction:Number(S.target.value)/100})}),n.createElement("label",{htmlFor:"capacity-unknown"},"When settled usage is unknown"),n.createElement("select",{id:"capacity-unknown",value:m.unknownPolicy,onChange:S=>y({unknownPolicy:S.target.value})},n.createElement("option",{value:"pause"},"Pause future model calls"),n.createElement("option",{value:"allow"},"Allow calls with incomplete totals")),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:m.includeEstimatedCost,onChange:S=>y({includeEstimatedCost:S.target.checked})}),"Include attributed estimates in the cost limit"),d!==a.budget.revision&&n.createElement("p",{role:"alert"},"This budget changed. Inspect usage again before saving your changes."),n.createElement("button",{className:"a-primary",disabled:d!==a.budget.revision||s||x||!(m.warningFraction>0&&m.warningFraction<=1),"data-action":"capacity.set",onClick:()=>v("capacity.set",{...m,expectedRevision:d,maxTotalTokens:m.maxTotalTokens===""?null:Number(m.maxTotalTokens),maxCostUsd:m.maxCostUsd===""?null:Number(m.maxCostUsd)})},"Save budget"),n.createElement("p",{className:"a-caption"},"Saving updates the next admission check. It does not send a message or resume a separately paused task. Revision ",a.budget.revision,".")),n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.quota",onClick:()=>v("capacity.quota")},"Inspect provider quota"),o&&n.createElement("div",null,!o.providers.length&&n.createElement("p",null,"No provider quota capability is available."),o.providers.map(S=>n.createElement("div",{key:S.provider},n.createElement("p",null,S.provider,": ",S.status,S.status==="unsupported"?" · remaining capacity and reset time unknown":""),S.windows&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(S.windows,null,2))))))}const JD=(e,t)=>Object.fromEntries(new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)).map(a=>[a.type,a.value])),jf=(e,t)=>{const a=JD(e,t);return{startDate:`${a.year}-${a.month}-${a.day}`,localTime:`${a.hour}:${a.minute}`}};function KD({session:e,act:t}){const a=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",r=()=>({prompt:"",destination:"same_task",newTaskTitle:"Scheduled task",newTaskMaxTurns:1,kind:"monitor",recurrence:"daily",timezone:a,...jf(Date.now()+36e5,a),intervalMinutes:60,weekdays:[0],missedRunPolicy:"latest",notificationPolicy:"changes"}),o=g.useRef(0),[i,s]=g.useState(r),[l,c]=g.useState(null),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=w=>{o.current++,s(R=>({...R,...w})),d(null)},y=()=>({prompt:i.prompt,destination:i.destination,...i.destination==="new_task"?{newTaskTitle:i.newTaskTitle,newTaskMaxTurns:Number(i.newTaskMaxTurns)}:{},kind:i.kind,missedRunPolicy:i.missedRunPolicy,notificationPolicy:i.notificationPolicy,spec:{kind:i.recurrence,timezone:i.timezone,startDate:i.startDate,localTime:i.localTime,...i.recurrence==="interval"?{intervalSeconds:Number(i.intervalMinutes)*60}:{},...i.recurrence==="weekly"?{weekdays:i.weekdays}:{}}}),E=async(w,R={})=>{m(!0);try{return await t(w,{sessionId:e.id,...R})}finally{m(!1)}},b=w=>{o.current++,c(w),d(null),s({prompt:w.prompt,destination:w.destination||"same_task",newTaskTitle:w.newTaskTitle||"Scheduled task",newTaskMaxTurns:w.newTaskMaxTurns||1,kind:w.kind,recurrence:w.spec.kind,timezone:w.spec.timezone,...w.spec.startAt?jf(w.spec.startAt,w.spec.timezone):{startDate:w.spec.startDate,localTime:w.spec.localTime},intervalMinutes:(w.spec.intervalSeconds||3600)/60,weekdays:w.spec.weekdays||[0],missedRunPolicy:w.missedRunPolicy,notificationPolicy:w.notificationPolicy})},x=async()=>{const w=o.current,R=await E(l?"schedule.update":"schedule.create",{...y(),...l?{id:l.id}:{},expectedRevision:(l==null?void 0:l.revision)||0,previewHash:u.previewHash});R!=null&&R.accepted&&o.current===w&&(c(null),d(null),s(r()))};return n.createElement("section",{className:"a-settings-section","aria-label":"Scheduled work","data-part":"schedules"},n.createElement("h3",null,"Scheduled work"),n.createElement("p",null,"Continue this task or create a new task for each run. Each run uses normal tool permissions. Stops and changes to the reviewed configuration require schedule review."),n.createElement("button",{className:"a-soft","data-action":"schedule.list",disabled:p,onClick:()=>E("schedule.list")},"Refresh schedules"),(e.schedules||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-schedule-id":w.id},n.createElement("p",null,n.createElement("strong",null,w.prompt)),n.createElement("p",null,w.destination==="new_task"?"Creates a new task for each run":"Continues this saved task"),n.createElement("p",{role:"status"},"Schedule ",w.status.replaceAll("_"," ")),w.nextDue&&w.status==="active"&&n.createElement("p",null,"Next: ",new Date(w.nextDue*1e3).toLocaleString(void 0,{timeZone:w.spec.timezone})," (",w.spec.timezone,")"),w.status==="needs_review"&&w.reviewReason&&n.createElement("p",{role:"alert"},w.reviewReason),n.createElement("p",{className:"a-caption"},"Notifications: ",w.notificationPolicy==="changes"?"changes and failures":w.notificationPolicy==="always"?"every result and failure":"failures only"," · Missed runs: ",w.missedRunPolicy==="skip"?"skip after one minute":"run only the latest occurrence"),n.createElement("div",{className:"a-dialog-actions"},w.status!=="cancelled"&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft",onClick:()=>b(w)},"Review schedule"),w.status==="active"&&n.createElement("button",{className:"a-soft","data-action":"schedule.pause",disabled:p,onClick:()=>E("schedule.pause",{id:w.id,expectedRevision:w.revision})},"Pause schedule"),n.createElement("button",{className:"a-soft","data-action":"schedule.cancel",disabled:p,onClick:()=>E("schedule.cancel",{id:w.id,expectedRevision:w.revision})},"Cancel schedule"))),((R=w.runs)==null?void 0:R.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Recent runs (",w.runs.length,")"),w.runs.map(S=>n.createElement("div",{key:S.id,"data-run-id":S.id},n.createElement("p",null,n.createElement("strong",null,S.phase)," · ",new Date(S.dueAt*1e3).toLocaleString()),n.createElement("p",null,S.detail),S.destinationSessionId&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Reserved task: ",S.destinationSessionId),S.creationConfirmed&&n.createElement("button",{className:"a-soft","data-action":"session.select",onClick:()=>t("session.select",{id:S.destinationSessionId})},"Open new task")),S.notificationDecision&&n.createElement("p",{className:"a-caption"},S.notificationDecision.notify?"Notification requested":"Stayed quiet"," · evidence: ",S.notificationDecision.source.replaceAll("_"," ")),S.report&&n.createElement("details",null,n.createElement("summary",null,"Reported evidence"),n.createElement("p",null,S.report.detail),"values"in S.report&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(S.report.values,null,2))),S.phase==="unknown"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-evidence-"+w.id},"Reconciliation evidence"),n.createElement("textarea",{id:"schedule-evidence-"+w.id,value:h,onChange:I=>f(I.target.value)}),n.createElement("p",{className:"a-caption"},"These actions record your finding and never send the old input again. Review the schedule separately to enable future runs."),n.createElement("div",{className:"a-dialog-actions"},["abandoned","completed"].map(I=>n.createElement("button",{className:"a-soft",key:I,disabled:p||!h.trim(),"data-action":"schedule.reconcile",onClick:()=>E("schedule.reconcile",{runId:S.id,expectedRevision:S.revision,resolution:I,evidence:h.trim()})},"Mark run ",I))))))))}),n.createElement("h4",null,l?"Review this schedule":"New schedule"),n.createElement("label",{htmlFor:"schedule-destination"},"Where to run"),n.createElement("select",{id:"schedule-destination",value:i.destination,onChange:w=>v({destination:w.target.value})},n.createElement("option",{value:"same_task"},"Continue this task"),n.createElement("option",{value:"new_task"},"Create a new task for each run")),i.destination==="new_task"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-title"},"New task title"),n.createElement("input",{id:"schedule-title",value:i.newTaskTitle,onChange:w=>v({newTaskTitle:w.target.value})}),n.createElement("label",{htmlFor:"schedule-turns"},"Maximum turns in each new task"),n.createElement("input",{id:"schedule-turns",type:"number",min:"1",max:"100",value:i.newTaskMaxTurns,onChange:w=>v({newTaskMaxTurns:w.target.value})}),n.createElement("p",{className:"a-caption"},"Uses this task’s reviewed workspace, bundle and model configuration. Starts fresh without copying its conversation or objective.")),n.createElement("label",{htmlFor:"schedule-prompt"},"Saved instructions"),n.createElement("textarea",{id:"schedule-prompt",value:i.prompt,onChange:w=>v({prompt:w.target.value})}),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-kind"},"Purpose"),n.createElement("select",{id:"schedule-kind",value:i.kind,onChange:w=>v({kind:w.target.value})},n.createElement("option",{value:"monitor"},"Monitor changes"),n.createElement("option",{value:"task"},"Work on the saved instructions"))),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-recurrence"},"Repeat"),n.createElement("select",{id:"schedule-recurrence",value:i.recurrence,onChange:w=>v({recurrence:w.target.value})},n.createElement("option",{value:"once"},"Once"),n.createElement("option",{value:"daily"},"Daily"),n.createElement("option",{value:"weekly"},"Weekly"),n.createElement("option",{value:"interval"},"At an interval"))),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-date"},"Start date"),n.createElement("input",{id:"schedule-date",type:"date",value:i.startDate,onChange:w=>v({startDate:w.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-time"},"Local time"),n.createElement("input",{id:"schedule-time",type:"time",value:i.localTime,onChange:w=>v({localTime:w.target.value})}))),n.createElement("label",{htmlFor:"schedule-zone"},"Timezone"),n.createElement("input",{id:"schedule-zone",value:i.timezone,onChange:w=>v({timezone:w.target.value})}),i.recurrence==="interval"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-interval"},"Repeat every (minutes)"),n.createElement("input",{id:"schedule-interval",type:"number",min:"1",value:i.intervalMinutes,onChange:w=>v({intervalMinutes:w.target.value})})),i.recurrence==="weekly"&&n.createElement("div",null,["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map((w,R)=>n.createElement("label",{className:"a-inline-checkbox",key:w},n.createElement("input",{type:"checkbox",checked:i.weekdays.includes(R),onChange:S=>v({weekdays:S.target.checked?[...i.weekdays,R]:i.weekdays.filter(I=>I!==R)})}),w))),n.createElement("label",{htmlFor:"schedule-missed"},"If the app misses a run"),n.createElement("select",{id:"schedule-missed",value:i.missedRunPolicy,onChange:w=>v({missedRunPolicy:w.target.value})},n.createElement("option",{value:"latest"},"Run only the latest missed occurrence"),n.createElement("option",{value:"skip"},"Skip occurrences more than a minute late")),n.createElement("label",{htmlFor:"schedule-notify"},"Notify me"),n.createElement("select",{id:"schedule-notify",value:i.notificationPolicy,onChange:w=>v({notificationPolicy:w.target.value})},n.createElement("option",{value:"changes"},"For changes and failures"),n.createElement("option",{value:"always"},"After every result and failure"),n.createElement("option",{value:"failures_only"},"For failures only")),n.createElement("button",{className:"a-soft",disabled:p||!i.prompt.trim(),"data-action":"schedule.preview",onClick:async()=>{const w=o.current,R=await E("schedule.preview",y());o.current===w&&d((R==null?void 0:R.result)||null)}},"Preview schedule"),u&&n.createElement("div",{className:"a-selection-card","data-part":"schedule-preview"},n.createElement("h4",null,"Confirm scheduled work"),n.createElement("p",null,u.binding.prompt),u.binding.destination==="new_task"?n.createElement("div",{"data-part":"schedule-destination-preview"},n.createElement("p",null,"Create a new task for each run: ",u.binding.newTaskTitle),n.createElement("p",null,"Workspace: ",u.binding.newTaskConfiguration.workspace),n.createElement("p",null,"Bundle: ",u.binding.newTaskConfiguration.bundle),n.createElement("p",null,"Model configuration: ",JSON.stringify(u.binding.newTaskConfiguration.selection||"Bundle defaults")),n.createElement("p",null,"Maximum turns: ",u.binding.newTaskMaxTurns)):n.createElement("p",null,"Continue this saved task."),n.createElement("ul",null,u.occurrences.map(w=>n.createElement("li",{key:w.utc},new Date(w.dueAt*1e3).toLocaleString(void 0,{timeZone:u.binding.spec.timezone})," (",u.binding.spec.timezone,")"))),n.createElement("p",{className:"a-caption"},u.daylightSaving),n.createElement("p",null,"Approval applies to this saved prompt and schedule. Normal tool permissions still apply during each run."),n.createElement("button",{className:"a-primary","data-action":l?"schedule.update":"schedule.create",disabled:p||!u.occurrences.length,onClick:x},"Save and activate schedule")))}function YD({state:e,session:t,act:a}){var S,I,N,M,k;const r=((I=(S=e.runtimeControl)==null?void 0:S[t.id])==null?void 0:I["task.get"])||{},o=r.task||t.task,i=r.continuity||t.continuity,[s,l]=g.useState(""),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(""),[y,E]=g.useState(!1),[b,x]=g.useState(""),w=async(T,A={})=>{E(!0),x("");try{await a(T,{sessionId:t.id,...T==="task.get"?{}:{expectedRevision:(o==null?void 0:o.revision)||0},...A})}catch(q){x(q.message||String(q))}finally{E(!1)}},R=o&&o.status!=="completed";return n.createElement("section",{className:"a-settings-section","data-part":"task-continuity","aria-label":"Saved task"},n.createElement("h3",null,"Saved task"),n.createElement("p",null,"Keep the objective, corrections, and evidence across restarts and long conversations. Saving a task does not send a message."),n.createElement("button",{className:"a-soft",disabled:y,"data-action":"task.get",onClick:()=>w("task.get")},"Load saved task"),o&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,n.createElement("strong",null,o.objective)),n.createElement("p",{role:"status"},"Task ",o.status," · revision ",o.revision,o.appliedRevision!==o.revision?" · applies at the next request":""),((N=o.constraints)==null?void 0:N.length)>0&&n.createElement("ul",null,o.constraints.map((T,A)=>n.createElement("li",{key:A},T))),o.status==="blocked"&&o.blockedReason&&n.createElement("p",null,"Waiting because: ",o.blockedReason),((M=o.corrections)==null?void 0:M.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Saved corrections (",o.corrections.length,")"),n.createElement("ul",null,o.corrections.map((T,A)=>n.createElement("li",{key:A},T.text)))),((k=o.completionEvidence)==null?void 0:k.length)>0&&n.createElement("ul",null,o.completionEvidence.map((T,A)=>n.createElement("li",{key:A},T))),n.createElement("details",null,n.createElement("summary",null,"Linked questions, operations, and artifacts"),["questionIds","operationIds","artifactRefs"].map(T=>{var A;return n.createElement("p",{key:T},T==="questionIds"?"Questions":T==="operationIds"?"Operations":"Artifacts",": ",((A=o[T])==null?void 0:A.join(", "))||"None")}))),!R&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"task-objective"},"Task objective"),n.createElement("textarea",{id:"task-objective",value:s,onChange:T=>l(T.target.value)}),n.createElement("label",{htmlFor:"task-constraints"},"Constraints (one per line)"),n.createElement("textarea",{id:"task-constraints",value:c,onChange:T=>u(T.target.value)}),n.createElement("button",{className:"a-primary","data-action":"task.create",disabled:y||!s.trim(),onClick:()=>w("task.create",{objective:s.trim(),constraints:c.split(` +amplifier-unified continue --resume SESSION_ID "Continue the work"`),n.createElement("p",{className:"a-caption"},"Use --bundle to choose a bundle and --provider / --model to select a model. JSON output is suitable for scripts; json-trace also includes execution events. Headless runs cannot answer an interactive approval prompt.")),n.createElement(Pa,{id:"repair",title:"Backup and repair",state:e,act:t},n.createElement("p",null,"Save a full private backup of your configuration, credentials, and conversations, or repair installed runtime dependencies. Repair waits until work is idle."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","aria-busy":l("maintenance.backup")||void 0,"data-action":"maintenance.backup",disabled:s,onClick:()=>t("maintenance.backup")},"Create full backup"),n.createElement("button",{className:"a-soft","aria-busy":l("maintenance.repair")||void 0,"data-action":"maintenance.repair",disabled:s,onClick:()=>t("maintenance.repair")},"Repair runtime")),n.createElement("p",{className:"a-caption"},"Backups contain credentials and are not encrypted. Keep them private."),((b=e.maintenance)==null?void 0:b.backup)&&n.createElement("p",{className:"a-caption a-wrap"},"Saved backup: ",e.maintenance.backup),((x=e.maintenance)==null?void 0:x.detail)&&n.createElement("p",null,e.maintenance.detail)),n.createElement(Pa,{id:"reset",title:"Advanced recovery",state:e,act:t},n.createElement("p",null,"Reset selected app data when ordinary repair is not enough. Your workspace files and original CLI data are kept."),[["runtime","Rebuild installed runtime"],["cache","Clear downloaded bundle and module caches"],["settings","Reset app configuration and credentials"],["conversations","Remove saved conversations from the app"]].map(([R,S])=>n.createElement("label",{className:"a-inline-checkbox",key:R},n.createElement("input",{type:"checkbox",checked:d.includes(R),"data-action":"view.update",onChange:I=>c({resetParts:I.target.checked?[...d,R]:d.filter(N=>N!==R),resetConfirmation:""})}),S)),n.createElement("button",{className:"a-soft",disabled:s||!d.length,"aria-busy":l("maintenance.reset")||void 0,"data-action":"maintenance.reset",onClick:()=>t("maintenance.reset",{parts:d})},"Preview selected reset"),m&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,"These locations will be moved into a recovery folder:"),n.createElement("ul",{className:"a-catalog-list"},(p.paths||[]).map((R,S)=>n.createElement("li",{className:"a-wrap",key:S},n.createElement("code",null,typeof R=="string"?R:JSON.stringify(R))))),n.createElement("label",{htmlFor:"reset-confirmation"},"Type RESET to apply this selection"),n.createElement("input",{id:"reset-confirmation",value:o.resetConfirmation||"","data-action":"view.update",onChange:R=>c({resetConfirmation:R.target.value})}),n.createElement("button",{className:"a-soft a-danger",disabled:s||o.resetConfirmation!=="RESET","aria-busy":l("maintenance.reset")||void 0,"data-action":"maintenance.reset",onClick:()=>t("maintenance.reset",{parts:d,apply:!0,confirmation:o.resetConfirmation})},"Apply selected reset")),((w=e.maintenance)==null?void 0:w.retained)&&n.createElement("p",{className:"a-caption a-wrap"},"Original files retained at: ",e.maintenance.retained)))}function LD(e={},t={}){var f,v,y,E,b,x,w,R,S,I,N;const a=e.application||(e.items||[]).find(M=>M.kind==="app")||{},r=e.sequence||{},o=(e.items||[]).filter(M=>M.kind!=="app"&&M.id!=="application"),i=o.filter(M=>["check_failed","local_changes"].includes(M.status)),s=Math.max(o.filter(M=>M.status==="update").length,(((f=r.included)==null?void 0:f.available)||0)+(((v=r.other)==null?void 0:v.available)||0)),l=a.status==="update",c=l||s>0||!!e.pendingApp||!!e.pendingRelease,u=l&&a.canInstall===!1||e.pendingReplacement!=null||!!e.pendingRestart||!!(r.stage==="included"&&((y=r.included)!=null&&y.issues)),d=e.pendingReplacement!=null||!!e.error||["error","interrupted"].includes(e.phase)||((E=e.pendingRestart)==null?void 0:E.requestStatus)==="rejected"||a.status==="check_failed"||!!(r.stage==="included"&&((b=r.included)!=null&&b.issues)),p=["checking","staging","validating","activating"].includes(e.phase),m=r.nextStage||r.stage||"application",h={stage:m,installable:c,blocked:u,busy:p||!!r.nextStage||e.pendingReplacement!=null,continuing:!!r.install,title:"Check for updates",detail:"We’ll check Amplifier and the components it uses.",tone:"neutral"};return d?{...h,title:"Updates need attention",tone:"error",detail:e.pendingReplacement!=null?"The installation needs verification before work can continue. Open details for the recovery steps.":e.pendingRestart?"The app update needs help finishing its restart. Open details for the next step.":(x=r.included)!=null&&x.issues?"Some required components could not be updated. Your existing configuration is preserved. Review the issue below.":"The update could not finish. Review the issue below before trying again."}:e.pendingRestart?{...h,title:e.pendingRestart.requestStatus==="uncertain"?"Waiting for restart confirmation":"Restarting Amplifier",detail:"Waiting for a healthy restarted app before continuing with the remaining updates.",tone:"working"}:e.pendingApp||e.pendingRelease||(w=e.pendingSmartTools)!=null&&w.length?{...h,title:"Waiting for your work to finish",detail:"The update is ready. It will continue automatically when conversations, tools, and calls are idle.",tone:"working"}:p?{...h,title:e.phase==="checking"?"Checking for updates":"Updating Amplifier",detail:e.detail||(e.phase==="checking"?m==="application"?"Checking for a new app version first.":m==="included"?"Checking included components…":"Checking other components…":"Preparing and verifying the update…"),tone:"working"}:r.nextStage||r.install&&c?{...h,title:"Updating Amplifier",detail:m==="included"?"Continuing with included components…":"Continuing with other components…",tone:"working"}:c?{...h,title:"Updates available",detail:(l?String(a.current||"").replace(/^v/,"")===String(a.latest||"").replace(/^v/,"")?"App component updates are ready. ":"A new app version is ready. ":"")+(s?`${s} component ${s===1?"update is":"updates are"} ${l?"also ":""}ready. `:"")+(t.autoInstall!==!1?"They’ll install automatically when work is idle.":"One update request handles the app and all eligible components."),tone:"available"}:i.length||(R=r.included)!=null&&R.issues||(S=r.other)!=null&&S.issues?{...h,title:"Some updates need attention",detail:"No installable updates remain, but some checks or local changes need review.",tone:"error"}:r.stage==="complete"?{...h,title:"You’re up to date",detail:(I=r.included)!=null&&I.protected||(N=r.other)!=null&&N.protected?"All eligible updates are complete. Pinned versions and local overrides were kept.":"Amplifier and its eligible components are up to date.",tone:"ready"}:a.status==="release_channel_needed"?{...h,title:"Automatic app updates aren’t configured",detail:"This installation needs a release channel. Component updates and technical details are available below."}:e.lastCheck?{...h,title:"App checked · components not fully checked",detail:"Run a check to confirm the full update status."}:h}const DD={"candidate-install":"Prepare application","candidate-probe":"Check candidate package","candidate-version":"Check candidate version","candidate-record":"Save candidate validation","target-discovery":"Find active installation","runtime-close":"Stop idle runtimes","recovery-record":"Save recovery reference","replacement-install":"Install application","replacement-probe":"Check installed package","replacement-version":"Check installed version","restart-configuration":"Prepare restart settings","restart-helper-file":"Prepare restart helper","restart-helper":"Start restart helper","service-restart":"Restart system service","service-restart-request":"Request service restart","restart-request":"Request restart","restart-readiness":"Check restarted host readiness","restart-ack":"Confirm restarted version","restart-reconcile":"Verify current installation","activation-validation":"Check staged release","ecosystem-copy":"Prepare ecosystem copy","ecosystem-source-preflight":"Check cached source changes","ecosystem-runtime-preflight":"Check installed worker sources","ecosystem-runtime-lock":"Resolve worker dependencies","ecosystem-runtime-policy":"Prepare worker installer policy","ecosystem-runtime-freeze":"Record qualified worker","ecosystem-runtime-freeze-install":"Verify recorded worker","ecosystem-validation":"Validate ecosystem","ecosystem-fetch":"Fetch source update","ecosystem-checkout":"Switch staged source","ecosystem-probe":"Check bundles and modules","ecosystem-prepare":"Prepare bundle dependencies","ecosystem-compatibility":"Check frozen bundle compatibility","smart-tool-stage":"Prepare Smart Tool update","smart-tool-activate":"Verify and activate Smart Tool","ecosystem-activation":"Activate ecosystem","ecosystem-stage":"Prepare ecosystem",stage:"Prepare application update"},Df={"host-component-conflict":"App behavior module identities conflict. Review duplicate module declarations and instance IDs in Bundles & modules; the current ecosystem is preserved.","module-prepare-failed":"A module could not be prepared in the new worker. The current ecosystem is preserved; review its dependencies before retrying.","bundle-not-found":"A configured bundle could not be found. Review its registration in Bundles & modules.","bundle-load-failed":"A configured bundle could not be loaded. Review its source and dependencies in Bundles & modules.","bundle-validation-failed":"A configured bundle did not pass validation. Review its configuration before retrying.","bundle-dependency-failed":"A bundle dependency could not be prepared. Review its source and dependency configuration.","protected-runtime-source":"Local source changes or an explicit dependency override were preserved. Review this module in Bundles & modules and preserve its source configuration before checking for updates again.","runtime-source-changed":"Worker sources changed while checking. Let source changes finish, then check for updates again."},FD={started:"Running",accepted:"Accepted",rejected:"Rejected",uncertain:"Unconfirmed",succeeded:"Succeeded",failed:"Failed",interrupted:"Interrupted"},Ff=["failed","interrupted","rejected"],As=e=>DD[e]||(e==null?void 0:e.replaceAll("-"," "))||"Update";function qD(e,t){const a=["id","at","attemptId","kind","phase","status","revision","commandId","durationMs","exitCode","stdoutBytes","stderrBytes","errorType","timedOut","expectedVersion","observedVersion","expectedRevision","observedRevision","reason","package"],r=i=>{if(!i)return;const s=Object.fromEntries(a.filter(l=>i[l]!==void 0).map(l=>[l,i[l]]));return i.probe&&(s.probe=Object.fromEntries(["ok","isolated","packageInEnvironment","frontendPresent","loginAvailable","standalone","providersPresent","cliAbsent","dependenciesPrepared","stage","errorType","version","pythonVersion","reason"].filter(l=>i.probe[l]!==void 0).map(l=>[l,i.probe[l]]))),s},o=t?Object.fromEntries(["attemptId","version","revision","verifiedAt"].filter(i=>t[i]!==void 0).map(i=>[i,t[i]])):void 0;return JSON.stringify({attemptId:e.attemptId,lastFailure:r(e.lastFailure),reconciliation:o,events:(e.events||[]).slice(-50).map(r)},null,2)}function Gw(e){var o;const t=e.reconciliation,a=(o=e.diagnostics)==null?void 0:o.lastFailure,r=e.application||(e.items||[]).find(i=>i.kind==="app")||{};return!!(a!=null&&a.attemptId&&(t==null?void 0:t.attemptId)===a.attemptId&&Number.isFinite(t.verifiedAt)&&t.verifiedAt>0&&typeof t.version=="string"&&t.version===r.current&&(!r.runningRevision||t.revision===r.runningRevision)&&!e.error&&!e.pendingRestart&&!e.pendingApp&&e.pendingReplacement==null)}function ci(e){var a,r,o,i;const t=[];return e.package&&t.push(e.package),Df[e.reason||((a=e.probe)==null?void 0:a.reason)]&&t.push(Df[e.reason||((r=e.probe)==null?void 0:r.reason)]),(o=e.probe)!=null&&o.errorType?t.push(e.probe.errorType):e.errorType&&t.push(e.errorType),(i=e.probe)!=null&&i.stage&&e.probe.stage!=="complete"&&t.push("Probe: "+e.probe.stage),e.timedOut&&t.push("Timed out"),e.exitCode!==void 0&&t.push("Exit "+e.exitCode),e.expectedVersion&&t.push("Expected "+e.expectedVersion),e.observedVersion&&t.push("Found "+e.observedVersion),e.expectedRevision&&t.push("Expected revision "+e.expectedRevision.slice(0,12)),e.observedRevision&&t.push("Found revision "+e.observedRevision.slice(0,12)),e.durationMs!==void 0&&t.push(e.durationMs<1e3?e.durationMs+" ms":(e.durationMs/1e3).toFixed(1)+" s"),t.join(" · ")}function jD({state:e}){var r;const t=e.updates||{},a=(r=t.diagnostics)==null?void 0:r.lastFailure;return!a||Gw(t)?null:n.createElement("div",{className:"a-update-failure",role:"alert"},n.createElement(On,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,"Last update did not finish: ",As(a.phase)),n.createElement("p",null,a.phase==="target-discovery"?"This installation cannot be replaced by the in-app updater. Ask the person who runs Amplifier to update this installation.":ci(a)||"Open Component updates & details for the failure receipt.")))}function UD({state:e,act:t}){var m,h;const a=e.updates||{},r=a.diagnostics||{},o=r.lastFailure,i=r.events||[];if(!i.length&&!o)return null;const s=!!((h=(m=e.view)==null?void 0:m.maintenanceDraft)!=null&&h.updateDiagnosticsExpanded),l=i.filter(f=>f.attemptId===r.attemptId),c=l.filter(f=>f.status!=="started"||!l.some(v=>v.commandId&&v.commandId===f.commandId&&v.status!=="started")),u=Gw(a),d=i.find(f=>f.attemptId===((o==null?void 0:o.attemptId)||r.attemptId)&&Ff.includes(f.status))||o,p=u?Pt:On;return n.createElement("div",{className:"a-update-diagnostics","data-part":"update-diagnostics"},o&&n.createElement("div",{className:"a-update-failure"+(u?" resolved":""),role:"status"},n.createElement(p,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,u?"Previous update issue resolved":"Last update issue",": ",As(o.phase)),n.createElement("p",null,u?"The current installation is verified healthy. The original failure remains in the receipt for reference.":ci(o)||"The phase did not finish. Review the receipt before retrying."),n.createElement("span",{className:"a-caption"},"Attempt ",n.createElement("code",null,o.attemptId||"Not recorded")))),n.createElement("button",{type:"button",className:"a-link a-update-diagnostics-toggle","data-action":"view.update","aria-expanded":s,onClick:()=>{var f;return t("view.update",{patch:{maintenanceDraft:{...(f=e.view)==null?void 0:f.maintenanceDraft,updateDiagnosticsExpanded:!s}}})}},s?n.createElement(el,null):n.createElement(Gt,null),s?"Hide update details":"View update details"),s&&n.createElement("div",{className:"a-update-diagnostic-details"},d&&d.id!==(o==null?void 0:o.id)&&n.createElement("p",{className:"a-caption"},u?"First historical issue":"First recorded issue",": ",As(d.phase)," · ",ci(d)),r.attemptId&&n.createElement("p",{className:"a-caption"},"Latest attempt ",n.createElement("code",null,r.attemptId)),n.createElement("ol",{className:"a-update-phase-list"},c.map(f=>{const v=Ff.includes(f.status),y=u&&v&&f.attemptId===o.attemptId,E=f.status==="succeeded"?Pt:v?On:Ps;return n.createElement("li",{key:f.id,className:f.status+(y?" historical":"")},n.createElement("div",null,n.createElement(E,{"aria-hidden":"true"}),n.createElement("span",null,As(f.phase)),n.createElement("span",{className:"a-update-phase-status"},FD[f.status]||f.status,y?" (historical)":"")),ci(f)&&n.createElement("p",{className:"a-caption"},ci(f)))})),n.createElement("label",{className:"a-caption",htmlFor:"update-diagnostic-receipt"},"Sanitized receipt — select and copy to share"),n.createElement("textarea",{id:"update-diagnostic-receipt",className:"a-update-receipt",readOnly:!0,rows:5,spellCheck:!1,value:qD(r,a.reconciliation)}),n.createElement("p",{className:"a-caption"},"Includes phase, timing, exit code and probe results. Command output, credentials, environment values and local paths are excluded.")))}const Au=(e,t)=>`release-notice:${e.version}:${t.id}`,qf=e=>String(e||"").replace(/^v/,"").split(".").map(Number),Qw=(e,t)=>{const a=qf(e),r=qf(t);for(let o=0;o<3;o++)if(a[o]!==r[o])return a[o]>r[o];return!1},Xw=(e,t)=>e.version===t.current?"Installed":Qw(e.version,t.current)?"Upcoming":"Earlier release";function ek({notice:e}){return n.createElement(n.Fragment,null,n.createElement("strong",null,e.title),n.createElement("p",null,e.detail),n.createElement("p",null,n.createElement("b",null,"What to do:")," ",e.action))}function $D({application:e,state:t,act:a}){var i;const r=new Map((((i=t.attention)==null?void 0:i.items)||[]).map(s=>[s.id,s])),o=(e.releaseNotes||[]).flatMap(s=>s.notices.map(l=>({release:s,notice:l,item:r.get(Au(s,l))}))).filter(({item:s})=>s);return o.length?n.createElement("section",{className:"a-release-notices","aria-label":"High-impact changes"},n.createElement("h4",null,n.createElement(On,{"aria-hidden":"true"}),"High-impact changes"),n.createElement("p",{className:"a-caption"},"Changes that may affect your settings or workflow. Notices are marked read as you view them."),o.map(({release:s,notice:l,item:c})=>n.createElement("article",{key:c.id,className:"a-release-notice"},n.createElement("span",{className:"a-caption"},"Version ",s.version," · ",Xw(s,e)),n.createElement(qi,{item:c,act:a},n.createElement(ek,{notice:l}))))):null}function BD({application:e,state:t,act:a}){var s;const r=e.releaseNotes||[],o=new Set((((s=t.attention)==null?void 0:s.items)||[]).filter(l=>l.read).map(l=>l.id)),i=/^v?\d+\.\d+\.\d+$/.test(e.latest||"")?e.latest:null;return n.createElement("section",{className:"a-release-history","aria-label":"Changelog"},n.createElement("details",{className:"a-update-disclosure"},n.createElement("summary",null,"Changelog"),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement("p",{className:"a-caption"},"Application release history · installed notes are available offline."),e.releaseNotesWarning&&n.createElement("p",{className:"a-release-notes-warning",role:"status"},e.releaseNotesWarning," ",i&&n.createElement("a",{href:"https://github.com/microsoft/amplifier-unified/releases/tag/"+i,target:"_blank",rel:"noreferrer"},"View published release")),!r.length&&n.createElement("p",{className:"a-caption"},"No release notes are included with this installation."),r.map(l=>n.createElement("details",{key:l.version,className:"a-release-entry",open:l.version===e.current||Qw(l.version,e.current)},n.createElement("summary",null,n.createElement("strong",null,l.version," · ",l.title),n.createElement("span",{className:"a-caption"},Xw(l,e)),l.notices.length>0&&n.createElement("span",{className:"a-release-impact"},"High impact")),n.createElement("ul",null,l.changes.map((c,u)=>n.createElement("li",{key:u},c))),l.notices.map(c=>{var u;return n.createElement("div",{key:c.id,className:"a-release-notice archived"},n.createElement(qi,{item:(((u=t.attention)==null?void 0:u.items)||[]).find(d=>d.id===Au(l,c)),act:a},n.createElement(ek,{notice:c})),o.has(Au(l,c))&&n.createElement("span",{className:"a-release-reviewed"},n.createElement(Pt,{"aria-hidden":"true"}),"Reviewed"))}))))))}const _c={update:"Update available",current:"Current",pinned:"Pinned",check_failed:"Check failed",local_changes:"Local changes",not_checked:"Not checked",release_channel_needed:"Release channel not configured",historical:"Older saved configuration"};function ni({items:e,state:t,act:a,id:r}){const[o,i,s]=ka(t,a,r,e,l=>[l.label,l.id,l.kind,l.status,l.ref,l.detail,l.usage,...l.usageEvidence||[]],"Filter update sources");return n.createElement(n.Fragment,null,(e.length>6||s)&&i,n.createElement("ul",{id:r+"-list",className:"a-update-list a-source-list"},o.map(l=>{var p,m,h,f,v,y;const c=["check_failed","local_changes"].includes(l.status),u=l.status==="historical"?Ps:c?On:l.status==="update"?jc:l.status==="pinned"?Du:Pt,d=(m=(p=t.attention)==null?void 0:p.items)==null?void 0:m.some(E=>E.id==="source:"+l.id&&!E.read);return n.createElement("li",{key:l.id},n.createElement("div",{className:"a-source-line"},n.createElement(u,{className:c?"a-source-warning":"a-source-status","aria-label":_c[l.status]||l.status},n.createElement("title",null,l.detail||_c[l.status]||l.status)),d&&n.createElement("span",{className:"a-unread-dot","aria-label":"Unread"}),n.createElement(qi,{item:(f=(h=t.attention)==null?void 0:h.items)==null?void 0:f.find(E=>E.id==="source:"+l.id),act:a},n.createElement("strong",{title:l.label},l.label.split("/").pop().replace(/^amplifier-(bundle-|module-)/,""))),l.cacheCopies>1&&n.createElement("span",{title:"Identical cached copies"},"×",l.cacheCopies),n.createElement("span",{className:"a-source-ref"},l.ref||l.kind),n.createElement("code",{title:l.current&&l.latest?l.current+" → "+l.latest:void 0},(v=l.current)==null?void 0:v.slice(0,7),l.latest&&l.latest!==l.current?" → "+l.latest.slice(0,7):"")),l.usage&&n.createElement("p",{className:"a-caption"},l.usage==="configured"?"Configured: "+(l.usageEvidence||[]).join(", "):"Usage unknown; it may still be needed."),(c||l.kind==="history")&&n.createElement(it,{phase:l.status==="check_failed"?"error":"neutral",message:l.detail||_c[l.status]}),((y=l.sourceIssues)==null?void 0:y.length)>0&&n.createElement("ul",null,l.sourceIssues.map((E,b)=>n.createElement("li",{key:b,style:{overflowWrap:"anywhere"}},n.createElement("strong",null,E.reference||"Settings"),n.createElement("p",null,E.reason),E.workspace&&n.createElement("p",null,E.workspace),E.sessionId&&n.createElement("p",null,"Session ID: ",n.createElement("code",null,E.sessionId)),E.appSessionId&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.select",onClick:async()=>{const x=await a("session.select",{id:E.appSessionId});x&&x.accepted!==!1&&await a("view.update",{patch:{panel:null}})}},"Open conversation")))))})))}function HD({updates:e,items:t,busy:a}){const r=e.sequence||{};return n.createElement("div",{className:"a-update-summary","aria-label":"Component update summary"},[["included","Included components"],["other","Other components"]].map(([o,i])=>{const s=t.filter(d=>(d.updateTier||"other")===o),l=r[o]||{status:e.lastCheck?"current":"waiting",available:s.filter(d=>d.status==="update").length,issues:s.filter(d=>["check_failed","local_changes"].includes(d.status)).length},u=a&&e.phase==="checking"&&r.stage===o?"Checking…":l.available?`${l.available} available${l.missing?` · ${l.missing} to install`:""}${l.issues?` · ${l.issues} need attention`:""}`:l.status==="waiting"?r.stage==="application"?"After app update":o==="other"?"After included components":"Not checked":l.issues?`${l.issues} need attention`:l.protected?`${l.protected} kept as configured`:"Up to date";return n.createElement("div",{key:o},n.createElement("span",null,i),n.createElement("strong",null,u))}))}function VD({state:e,act:t}){var B,P,_,ee,Z,D;const a=(((B=e.attention)==null?void 0:B.items)||[]).filter(G=>G.page==="updates"&&!G.read),r=a.filter(G=>G.id.startsWith("release-notice:")),o=a.filter(G=>!G.id.startsWith("release-notice:")),i=e.updates||{},s=((P=e.settings)==null?void 0:P.updates)||{},l=i.pendingReplacement!=null,c=l||["checking","staging","validating","activating"].includes(i.phase),u=s.intervalHours??4,d=![1,4,8,24].includes(u),p=i.application||(i.items||[]).find(G=>G.kind==="app")||{},m=(i.items||[]).filter(G=>G.kind!=="app"&&G.id!=="application"),h=m.filter(G=>G.status==="update").sort((G,j)=>G.label.localeCompare(j.label)),f=m.filter(G=>["check_failed","local_changes"].includes(G.status)),v=m.filter(G=>G.usage==="unknown"),y=f.filter(G=>G.usage!=="unknown"),E=v.filter(G=>["check_failed","local_changes"].includes(G.status)),b=[["check_failed","check failed"],["local_changes","with local changes"],["update","with updates"],["pinned","pinned"],["current","current"],["not_checked","not checked"]].map(([G,j])=>[v.filter(K=>K.status===G).length,j]).filter(([G])=>G).map(([G,j])=>`${G} ${j}`).join(", ");p.status;const x=i.pendingApp||i.pendingRelease||i.pendingRestart,w=!!i.pendingRestart&&(!!i.error||["error","interrupted"].includes(i.phase)||i.pendingRestart.requestStatus==="rejected"),R=((_=i.pendingRestart)==null?void 0:_.requestStatus)==="uncertain",S=l?"failed":i.pendingRestart?w?"failed":R?"restart_pending":"restarting":i.pendingApp?i.error?"failed":"staged":p.status==="check_failed"?"failed":p.releaseBehind?"ahead":p.status||"not_checked",I={restarting:"Restarting",restart_pending:"Awaiting restarted host",staged:"Ready to restart",update:"Update available",current:"Latest release installed",failed:"Needs attention",ahead:"Ahead of published release",not_checked:"Not checked",release_channel_needed:"Release channel not configured",historical:"Older saved configuration"},N=S==="current"?Pt:S==="update"?jc:S==="failed"?On:Ps,M=l?i.error||i.detail||"The installation outcome is unknown. Work remains paused until the qualified app and dependencies are verified on a new host.":i.pendingRestart?i.error||i.detail||(w?"The app installed, but its restart did not complete. Restart Amplifier Unified manually to continue.":"The app is installed. Waiting for a healthy restarted host before resuming work."):i.pendingApp?i.error||"The app passed validation and will restart when conversations, worker lanes, smart tools, and calls are idle.":p.detail,k=w||i.error||["error","interrupted"].includes(i.phase)?"error":i.pendingRestart||c?"working":i.phase==="installed"?"success":"neutral",T=i.error||(["error","interrupted"].includes(i.phase)?i.detail||"The update did not finish.":c||x||i.phase==="installed"?i.detail:""),A=LD(i,s),q=n.useRef(null);Eg(a.filter(G=>G.id==="updates:pending"||G.id==="source:application"),t,q);const z=!!((Z=(ee=e.view)==null?void 0:ee.maintenanceDraft)!=null&&Z.updatesExpanded),F=c||A.busy,H=F||x?A.detail:A.blocked?"App updates for this development preview are managed by its owner.":"",ne=G=>t("settings.update",{patch:{updates:G}});return n.createElement(Yt,{as:"section",name:"updates",busy:c,className:"a-updates","data-part":"updates"},n.createElement("div",{ref:q,className:"a-app-update","data-part":"application-update","aria-label":"Overall update status",role:"status","aria-live":"polite"},n.createElement("div",{className:"a-update-overall"},A.tone==="error"?n.createElement(On,null):A.tone==="ready"?n.createElement(Pt,null):A.tone==="available"?n.createElement(jc,null):n.createElement(Ps,null),n.createElement("div",null,n.createElement("h4",null,A.title),n.createElement("p",null,A.detail))),(A.tone==="working"||A.tone==="available")&&n.createElement("div",{className:"a-update-progress","aria-label":"Update order"},[["application","App"],["included","Included components"],["other","Other components"]].map(([G,j],K)=>n.createElement("span",{key:G,"data-active":A.stage===G},K>0&&"→ ",j))),n.createElement("p",{className:"a-update-version-line"},"Amplifier ",p.current||"version not reported",p.latest&&p.latest.replace(/^v/,"")!==((D=p.current)==null?void 0:D.replace(/^v/,""))?" · Latest "+p.latest:"",i.lastCheck?" · Checked "+new Date(i.lastCheck*1e3).toLocaleString():"")),A.tone!=="working"&&n.createElement(qi,{item:a.find(G=>G.id==="updates:error"),act:t},n.createElement(it,{phase:k,message:T})),n.createElement(jD,{state:e}),n.createElement(Uw,null),p.canInstall===!1&&n.createElement("p",{className:"a-ai-hint",role:"status"},"This is a development preview. App updates are deployed by its owner; this preview cannot replace the installed app."),n.createElement("div",{className:"a-update-controls","data-part":"update-controls"},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:A.installable?"a-soft":"a-primary",disabled:F||!!x,"aria-describedby":H?"update-action-status":void 0,"data-action":"updates.check",onClick:()=>t("updates.check")},n.createElement(zt,{className:F?"a-progress-spinner":void 0}),F?i.phase==="checking"?"Checking…":"Update in progress…":x?"Waiting for update…":"Check for updates"),A.installable&&(!A.continuing||A.tone==="error")&&n.createElement("button",{className:"a-primary",disabled:F||A.blocked,"aria-describedby":H?"update-action-status":void 0,"data-action":"updates.install",onClick:()=>t("updates.install")},n.createElement(Ea,null),"Update Amplifier")),H&&n.createElement("p",{id:"update-action-status",role:"status",className:"a-caption"},H," ",F?"You can keep working; this page will update automatically.":""),n.createElement("p",{className:"a-caption"},"One request handles everything in order. Updates wait for work and calls to finish; an app update may restart the server."),n.createElement("div",{className:"a-update-simple-options"},n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"settings.update",checked:s.autoCheck!==!1&&s.autoInstall!==!1,onChange:G=>ne(G.target.checked?{autoCheck:!0,autoInstall:!0}:{autoInstall:!1})}),"Keep Amplifier up to date automatically"),n.createElement("p",{className:"a-caption"},"Install eligible app and component updates when work is idle. Existing pins and local edits are kept.")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Update preferences"),n.createElement("div",{className:"a-update-options"},n.createElement("label",null,n.createElement("input",{type:"checkbox","data-action":"settings.update",checked:s.autoCheck!==!1,onChange:G=>ne({autoCheck:G.target.checked,...G.target.checked?{}:{autoInstall:!1}})}),"Automatically check for updates"),n.createElement("label",{htmlFor:"update-frequency"},"Check for updates"),n.createElement("select",{id:"update-frequency","data-action":"settings.update",value:d?"":u,"aria-describedby":d?"update-frequency-saved":void 0,onChange:G=>ne({intervalHours:Number(G.target.value)})},d&&n.createElement("option",{value:"",disabled:!0},"Choose a new interval"),n.createElement("option",{value:"1"},"Every 1 hour"),n.createElement("option",{value:"4"},"Every 4 hours"),n.createElement("option",{value:"8"},"Every 8 hours"),n.createElement("option",{value:"24"},"Daily")),d&&n.createElement("p",{id:"update-frequency-saved",className:"a-caption"},"Your saved schedule checks every ",u," hours. It stays in effect until you choose a new interval.")))),n.createElement("details",{className:"a-update-disclosure","data-part":"ecosystem-update-details",open:A.tone==="error"||void 0},n.createElement("summary",null,A.tone==="error"?"Review update issue":"Component updates & details",n.createElement(Da,{count:o.length})),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(zs,{state:e,act:t,page:"updates",items:o,showItems:!0}),n.createElement(HD,{updates:i,items:m,busy:c}),n.createElement("div",{className:"a-app-update-heading"},n.createElement("h4",null,"App release"),n.createElement("span",{className:"a-app-update-status "+S},n.createElement(N,{"aria-hidden":"true"}),I[S]||S)),M&&(S==="failed"?n.createElement(it,{phase:"error",message:M}):n.createElement("p",{className:"a-caption a-wrap"},M)),n.createElement(UD,{state:e,act:t}),i.canRollback&&n.createElement("button",{className:"a-soft",disabled:c||!!x,"data-action":"updates.rollback",onClick:()=>t("updates.rollback")},n.createElement(px,null),"Roll back ecosystem"),n.createElement("div",{"data-part":"available-updates"},n.createElement("h4",null,"Ecosystem updates ",h.length>0&&n.createElement("span",{className:"a-update-count"},h.length," available")),h.length?n.createElement(ni,{items:h,state:e,act:t,id:"available-updates"}):n.createElement("p",{className:"a-caption"},A.stage!=="complete"?"Remaining components are checked after the preceding update stage.":"No eligible component updates remain.")),!!y.length&&n.createElement("div",null,n.createElement("h4",null,"Needs attention"),n.createElement(ni,{items:y,state:e,act:t,id:"update-issues"})),!!v.length&&n.createElement("div",null,n.createElement("h4",null,"Other cached sources"),n.createElement("p",{className:"a-caption"},v.length," sources: ",b,". Usage is unknown; these files may still be needed and are kept."),!!E.length&&n.createElement(ni,{items:E,state:e,act:t,id:"unknown-source-issues"})),!!m.length&&n.createElement("div",null,n.createElement("button",{className:"a-link","aria-expanded":z,"data-action":"view.update",onClick:()=>{var G;return t("view.update",{patch:{maintenanceDraft:{...(G=e.view)==null?void 0:G.maintenanceDraft,updatesExpanded:!z}}})}},z?"Hide all sources":"Show all "+m.length+" "+(m.length===1?"source":"sources")),z&&n.createElement(ni,{items:m,state:e,act:t,id:"update-sources"})))),n.createElement("details",{className:"a-update-disclosure"},n.createElement("summary",null,"Release notices",n.createElement(Da,{count:r.length})),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(zs,{state:e,act:t,page:"updates",items:r}),n.createElement($D,{application:p,state:e,act:t}))),m.some(G=>G.kind==="history")&&n.createElement("details",{className:"a-update-disclosure","data-part":"historical-source-settings"},n.createElement("summary",null,"Older conversation settings"),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(ni,{items:m.filter(G=>G.kind==="history"),state:e,act:t,id:"historical-source-settings"}))),n.createElement(BD,{application:p,state:e,act:t}))}function WD({state:e,act:t}){var h;const a=(h=e.runtime)==null?void 0:h.retention,[r,o]=g.useState("32"),[i,s]=g.useState("12"),[l,c]=g.useState(!0),[u,d]=g.useState(!1);if(g.useEffect(()=>{a&&(o(String(a.max_warm_workers)),s(String(a.idle_timeout_hours)),c(a.prewarm_on_select))},[a==null?void 0:a.max_warm_workers,a==null?void 0:a.idle_timeout_hours,a==null?void 0:a.prewarm_on_select]),!a)return null;const p=r!==""&&i!==""&&Number.isInteger(Number(r))&&Number(r)>=0&&Number.isFinite(Number(i))&&Number(i)>=0;async function m(f){if(f.preventDefault(),!(!p||u)){d(!0);try{await t("runtime.retention.update",{patch:{max_warm_workers:Number(r),idle_timeout_hours:Number(i),prewarm_on_select:l}})}finally{d(!1)}}}return n.createElement("form",{id:"settings-readiness-form","aria-label":"Ready conversations",onSubmit:m},n.createElement("p",null,"Keep recently used conversations ready for their next message. These limits apply to idle conversations on this host; work in progress and pending interactions stay protected."),n.createElement("label",{htmlFor:"warm-worker-count"},"Conversations to keep ready"),n.createElement("input",{id:"warm-worker-count",type:"number",min:"0",step:"1",value:r,onChange:f=>o(f.target.value)}),n.createElement("label",{htmlFor:"warm-worker-hours"},"Hours to keep an idle conversation ready"),n.createElement("input",{id:"warm-worker-hours",type:"number",min:"0",step:"any",value:i,onChange:f=>s(f.target.value)}),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:l,onChange:f=>c(f.target.checked)}),"Prepare a conversation in the background when I select it"),n.createElement("p",{className:"a-caption"},"Setting either limit to zero releases idle conversations as soon as they settle and disables background preparation. Saved history remains available."),n.createElement(Cn,null,n.createElement("button",{form:"settings-readiness-form",type:"submit",className:"a-primary","data-action":"runtime.retention.update",disabled:!p||u},u?"Saving…":"Save readiness settings")))}function ZD({results:e,run:t,busy:a,active:r}){var i;const o=e["native.status"]||e["native.compact"];return n.createElement("section",{className:"a-settings-section","data-part":"native-provider-settings"},n.createElement("h3",null,"Live direction & saved context"),n.createElement("p",null,"Check whether this model can apply new direction during a response. Other models receive it at the next request."),n.createElement("button",{className:"a-soft",disabled:a,"data-action":"runtime.control",onClick:()=>t("native.status")},"Check provider support"),o&&n.createElement(n.Fragment,null,n.createElement("p",null,o.supported?"Native direction is available for this selected model.":o.reason||"Direction is delivered at the next request."),((i=o.receipt)==null?void 0:i.outcome)==="unknown"&&n.createElement("p",{role:"alert"},"The previous request’s outcome is unknown. It was not replayed."),o.checkpoint&&n.createElement("p",null,"Saved provider context: ",o.checkpoint,"."),n.createElement("button",{className:"a-soft",disabled:a||r||!o.compactAvailable,"data-action":"runtime.control",onClick:()=>t("native.compact")},"Compact provider context"),n.createElement("p",{className:"a-caption"},"Original conversation history stays intact. Compaction makes a model request; its private provider state is never displayed.")))}const hs=e=>(e==null?void 0:e.value)==null?"Unknown":e.value.toLocaleString(void 0,{maximumFractionDigits:6});function JD({session:e,act:t}){var w,R;const[a,r]=g.useState(null),[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(0),[m,h]=g.useState({enabled:!1,maxTotalTokens:"",maxCostUsd:"",warningFraction:.8,unknownPolicy:"pause",includeEstimatedCost:!1}),f=(S,I=!0)=>{if(r(S),!I)return;const N=S.budget;p(N.revision),h({enabled:!!N.enabled,maxTotalTokens:N.maxTotalTokens??"",maxCostUsd:N.maxCostUsd??"",warningFraction:N.warningFraction??.8,unknownPolicy:N.unknownPolicy??"pause",includeEstimatedCost:!!N.includeEstimatedCost})},v=async(S,I={})=>{l(!0),u("");try{const N=await t(S,{sessionId:e.id,...I});N!=null&&N.result?S==="capacity.quota"?i(N.result):f(N.result):N!=null&&N.error&&u(N.error)}catch(N){u(N.message)}finally{l(!1)}},y=S=>h(I=>({...I,...S})),E=(((w=e.execution)==null?void 0:w.nodes)||[]).filter(S=>S.kind==="llm").map(S=>`${S.id}:${S.revision||0}:${S.phase}`).join("|");g.useEffect(()=>{if(!a)return;let S=!1;return t("capacity.read",{sessionId:e.id}).then(I=>{!S&&(I!=null&&I.result)&&f(I.result,!1)}).catch(()=>{}),()=>{S=!0}},[E]);const b=((R=a==null?void 0:a.usage)==null?void 0:R.metrics)||{},x=!m.maxTotalTokens&&!m.maxCostUsd&&m.enabled||m.maxTotalTokens!==""&&(!Number.isInteger(Number(m.maxTotalTokens))||Number(m.maxTotalTokens)<=0)||m.maxCostUsd!==""&&!(Number(m.maxCostUsd)>0);return n.createElement("section",{className:"a-settings-section","aria-label":"Task usage and budget","data-part":"capacity-controls"},n.createElement("h3",null,"Task usage & budget"),n.createElement("p",null,"Track this conversation and its observed workers. Existing calls may finish and exceed a limit; new model calls wait when the budget is reached."),n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.read",onClick:()=>v("capacity.read")},"Inspect task usage"),c&&n.createElement("p",{role:"alert"},c),a&&n.createElement(n.Fragment,null,n.createElement("p",{role:"status"},"Budget ",a.admission.state," · ",a.usage.calls," recorded model calls"),a.admission.reasons.map(S=>n.createElement("p",{key:S},S)),a.admission.warnings.map(S=>n.createElement("p",{key:S},S)),n.createElement("dl",{className:"a-capability-counts"},n.createElement("div",null,n.createElement("dt",null,"Total tokens including cache writes"),n.createElement("dd",null,hs(b.grossTotalTokens)," · ",b.grossTotalTokens.status)),n.createElement("div",null,n.createElement("dt",null,"Cost (USD)"),n.createElement("dd",null,hs(b.costUsd)," · ",b.costUsd.status,b.costUsd.estimatedCalls>0?" · includes estimates":""))),n.createElement("p",{className:"a-caption"},b.grossTotalTokens.unknownCalls," calls with unknown token totals · ",b.costUsd.unknownCalls," calls with unknown cost · ",a.admission.inFlightCalls," in flight. Totals cover observed calls; missing telemetry is not zero."),n.createElement("details",null,n.createElement("summary",null,"Model breakdown and receipts"),a.usage.providers.map(S=>n.createElement("p",{key:S.provider+"|"+S.model},S.provider," / ",S.model," · ",S.calls," calls · ",hs(S.metrics.grossTotalTokens)," tokens · ",hs(S.metrics.costUsd)," USD")),n.createElement("p",{className:"a-caption"},"Receipts ",a.usage.offset+1,"–",a.usage.offset+a.usage.receipts.length," of ",a.usage.receiptCount,". Observed ",new Date(a.observedAt*1e3).toLocaleTimeString(),"."),n.createElement("pre",{className:"a-state-view"},JSON.stringify(a.usage.receipts,null,2)),a.usage.nextOffset!=null&&n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.read",onClick:()=>v("capacity.read",{offset:a.usage.nextOffset})},"Next receipts")),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:m.enabled,onChange:S=>y({enabled:S.target.checked})}),"Enable cumulative task budget"),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"capacity-tokens"},"Total token limit"),n.createElement("input",{id:"capacity-tokens",type:"number",min:"1",value:m.maxTotalTokens,onChange:S=>y({maxTotalTokens:S.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"capacity-cost"},"Cost limit (USD)"),n.createElement("input",{id:"capacity-cost",type:"number",min:"0.000001",step:"any",value:m.maxCostUsd,onChange:S=>y({maxCostUsd:S.target.value})}))),n.createElement("label",{htmlFor:"capacity-warning"},"Warn at percentage"),n.createElement("input",{id:"capacity-warning",type:"number",min:"1",max:"100",value:Math.round(m.warningFraction*100),onChange:S=>y({warningFraction:Number(S.target.value)/100})}),n.createElement("label",{htmlFor:"capacity-unknown"},"When settled usage is unknown"),n.createElement("select",{id:"capacity-unknown",value:m.unknownPolicy,onChange:S=>y({unknownPolicy:S.target.value})},n.createElement("option",{value:"pause"},"Pause future model calls"),n.createElement("option",{value:"allow"},"Allow calls with incomplete totals")),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:m.includeEstimatedCost,onChange:S=>y({includeEstimatedCost:S.target.checked})}),"Include attributed estimates in the cost limit"),d!==a.budget.revision&&n.createElement("p",{role:"alert"},"This budget changed. Inspect usage again before saving your changes."),n.createElement("button",{className:"a-primary",disabled:d!==a.budget.revision||s||x||!(m.warningFraction>0&&m.warningFraction<=1),"data-action":"capacity.set",onClick:()=>v("capacity.set",{...m,expectedRevision:d,maxTotalTokens:m.maxTotalTokens===""?null:Number(m.maxTotalTokens),maxCostUsd:m.maxCostUsd===""?null:Number(m.maxCostUsd)})},"Save budget"),n.createElement("p",{className:"a-caption"},"Saving updates the next admission check. It does not send a message or resume a separately paused task. Revision ",a.budget.revision,".")),n.createElement("button",{className:"a-soft",disabled:s,"data-action":"capacity.quota",onClick:()=>v("capacity.quota")},"Inspect provider quota"),o&&n.createElement("div",null,!o.providers.length&&n.createElement("p",null,"No provider quota capability is available."),o.providers.map(S=>n.createElement("div",{key:S.provider},n.createElement("p",null,S.provider,": ",S.status,S.status==="unsupported"?" · remaining capacity and reset time unknown":""),S.windows&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(S.windows,null,2))))))}const KD=(e,t)=>Object.fromEntries(new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)).map(a=>[a.type,a.value])),jf=(e,t)=>{const a=KD(e,t);return{startDate:`${a.year}-${a.month}-${a.day}`,localTime:`${a.hour}:${a.minute}`}};function YD({session:e,act:t}){const a=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",r=()=>({prompt:"",destination:"same_task",newTaskTitle:"Scheduled task",newTaskMaxTurns:1,kind:"monitor",recurrence:"daily",timezone:a,...jf(Date.now()+36e5,a),intervalMinutes:60,weekdays:[0],missedRunPolicy:"latest",notificationPolicy:"changes"}),o=g.useRef(0),[i,s]=g.useState(r),[l,c]=g.useState(null),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=w=>{o.current++,s(R=>({...R,...w})),d(null)},y=()=>({prompt:i.prompt,destination:i.destination,...i.destination==="new_task"?{newTaskTitle:i.newTaskTitle,newTaskMaxTurns:Number(i.newTaskMaxTurns)}:{},kind:i.kind,missedRunPolicy:i.missedRunPolicy,notificationPolicy:i.notificationPolicy,spec:{kind:i.recurrence,timezone:i.timezone,startDate:i.startDate,localTime:i.localTime,...i.recurrence==="interval"?{intervalSeconds:Number(i.intervalMinutes)*60}:{},...i.recurrence==="weekly"?{weekdays:i.weekdays}:{}}}),E=async(w,R={})=>{m(!0);try{return await t(w,{sessionId:e.id,...R})}finally{m(!1)}},b=w=>{o.current++,c(w),d(null),s({prompt:w.prompt,destination:w.destination||"same_task",newTaskTitle:w.newTaskTitle||"Scheduled task",newTaskMaxTurns:w.newTaskMaxTurns||1,kind:w.kind,recurrence:w.spec.kind,timezone:w.spec.timezone,...w.spec.startAt?jf(w.spec.startAt,w.spec.timezone):{startDate:w.spec.startDate,localTime:w.spec.localTime},intervalMinutes:(w.spec.intervalSeconds||3600)/60,weekdays:w.spec.weekdays||[0],missedRunPolicy:w.missedRunPolicy,notificationPolicy:w.notificationPolicy})},x=async()=>{const w=o.current,R=await E(l?"schedule.update":"schedule.create",{...y(),...l?{id:l.id}:{},expectedRevision:(l==null?void 0:l.revision)||0,previewHash:u.previewHash});R!=null&&R.accepted&&o.current===w&&(c(null),d(null),s(r()))};return n.createElement("section",{className:"a-settings-section","aria-label":"Scheduled work","data-part":"schedules"},n.createElement("h3",null,"Scheduled work"),n.createElement("p",null,"Continue this task or create a new task for each run. Each run uses normal tool permissions. Stops and changes to the reviewed configuration require schedule review."),n.createElement("button",{className:"a-soft","data-action":"schedule.list",disabled:p,onClick:()=>E("schedule.list")},"Refresh schedules"),(e.schedules||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-schedule-id":w.id},n.createElement("p",null,n.createElement("strong",null,w.prompt)),n.createElement("p",null,w.destination==="new_task"?"Creates a new task for each run":"Continues this saved task"),n.createElement("p",{role:"status"},"Schedule ",w.status.replaceAll("_"," ")),w.nextDue&&w.status==="active"&&n.createElement("p",null,"Next: ",new Date(w.nextDue*1e3).toLocaleString(void 0,{timeZone:w.spec.timezone})," (",w.spec.timezone,")"),w.status==="needs_review"&&w.reviewReason&&n.createElement("p",{role:"alert"},w.reviewReason),n.createElement("p",{className:"a-caption"},"Notifications: ",w.notificationPolicy==="changes"?"changes and failures":w.notificationPolicy==="always"?"every result and failure":"failures only"," · Missed runs: ",w.missedRunPolicy==="skip"?"skip after one minute":"run only the latest occurrence"),n.createElement("div",{className:"a-dialog-actions"},w.status!=="cancelled"&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft",onClick:()=>b(w)},"Review schedule"),w.status==="active"&&n.createElement("button",{className:"a-soft","data-action":"schedule.pause",disabled:p,onClick:()=>E("schedule.pause",{id:w.id,expectedRevision:w.revision})},"Pause schedule"),n.createElement("button",{className:"a-soft","data-action":"schedule.cancel",disabled:p,onClick:()=>E("schedule.cancel",{id:w.id,expectedRevision:w.revision})},"Cancel schedule"))),((R=w.runs)==null?void 0:R.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Recent runs (",w.runs.length,")"),w.runs.map(S=>n.createElement("div",{key:S.id,"data-run-id":S.id},n.createElement("p",null,n.createElement("strong",null,S.phase)," · ",new Date(S.dueAt*1e3).toLocaleString()),n.createElement("p",null,S.detail),S.destinationSessionId&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Reserved task: ",S.destinationSessionId),S.creationConfirmed&&n.createElement("button",{className:"a-soft","data-action":"session.select",onClick:()=>t("session.select",{id:S.destinationSessionId})},"Open new task")),S.notificationDecision&&n.createElement("p",{className:"a-caption"},S.notificationDecision.notify?"Notification requested":"Stayed quiet"," · evidence: ",S.notificationDecision.source.replaceAll("_"," ")),S.report&&n.createElement("details",null,n.createElement("summary",null,"Reported evidence"),n.createElement("p",null,S.report.detail),"values"in S.report&&n.createElement("pre",{className:"a-state-view"},JSON.stringify(S.report.values,null,2))),S.phase==="unknown"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-evidence-"+w.id},"Reconciliation evidence"),n.createElement("textarea",{id:"schedule-evidence-"+w.id,value:h,onChange:I=>f(I.target.value)}),n.createElement("p",{className:"a-caption"},"These actions record your finding and never send the old input again. Review the schedule separately to enable future runs."),n.createElement("div",{className:"a-dialog-actions"},["abandoned","completed"].map(I=>n.createElement("button",{className:"a-soft",key:I,disabled:p||!h.trim(),"data-action":"schedule.reconcile",onClick:()=>E("schedule.reconcile",{runId:S.id,expectedRevision:S.revision,resolution:I,evidence:h.trim()})},"Mark run ",I))))))))}),n.createElement("h4",null,l?"Review this schedule":"New schedule"),n.createElement("label",{htmlFor:"schedule-destination"},"Where to run"),n.createElement("select",{id:"schedule-destination",value:i.destination,onChange:w=>v({destination:w.target.value})},n.createElement("option",{value:"same_task"},"Continue this task"),n.createElement("option",{value:"new_task"},"Create a new task for each run")),i.destination==="new_task"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-title"},"New task title"),n.createElement("input",{id:"schedule-title",value:i.newTaskTitle,onChange:w=>v({newTaskTitle:w.target.value})}),n.createElement("label",{htmlFor:"schedule-turns"},"Maximum turns in each new task"),n.createElement("input",{id:"schedule-turns",type:"number",min:"1",max:"100",value:i.newTaskMaxTurns,onChange:w=>v({newTaskMaxTurns:w.target.value})}),n.createElement("p",{className:"a-caption"},"Uses this task’s reviewed workspace, bundle and model configuration. Starts fresh without copying its conversation or objective.")),n.createElement("label",{htmlFor:"schedule-prompt"},"Saved instructions"),n.createElement("textarea",{id:"schedule-prompt",value:i.prompt,onChange:w=>v({prompt:w.target.value})}),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-kind"},"Purpose"),n.createElement("select",{id:"schedule-kind",value:i.kind,onChange:w=>v({kind:w.target.value})},n.createElement("option",{value:"monitor"},"Monitor changes"),n.createElement("option",{value:"task"},"Work on the saved instructions"))),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-recurrence"},"Repeat"),n.createElement("select",{id:"schedule-recurrence",value:i.recurrence,onChange:w=>v({recurrence:w.target.value})},n.createElement("option",{value:"once"},"Once"),n.createElement("option",{value:"daily"},"Daily"),n.createElement("option",{value:"weekly"},"Weekly"),n.createElement("option",{value:"interval"},"At an interval"))),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-date"},"Start date"),n.createElement("input",{id:"schedule-date",type:"date",value:i.startDate,onChange:w=>v({startDate:w.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"schedule-time"},"Local time"),n.createElement("input",{id:"schedule-time",type:"time",value:i.localTime,onChange:w=>v({localTime:w.target.value})}))),n.createElement("label",{htmlFor:"schedule-zone"},"Timezone"),n.createElement("input",{id:"schedule-zone",value:i.timezone,onChange:w=>v({timezone:w.target.value})}),i.recurrence==="interval"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-interval"},"Repeat every (minutes)"),n.createElement("input",{id:"schedule-interval",type:"number",min:"1",value:i.intervalMinutes,onChange:w=>v({intervalMinutes:w.target.value})})),i.recurrence==="weekly"&&n.createElement("div",null,["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map((w,R)=>n.createElement("label",{className:"a-inline-checkbox",key:w},n.createElement("input",{type:"checkbox",checked:i.weekdays.includes(R),onChange:S=>v({weekdays:S.target.checked?[...i.weekdays,R]:i.weekdays.filter(I=>I!==R)})}),w))),n.createElement("label",{htmlFor:"schedule-missed"},"If the app misses a run"),n.createElement("select",{id:"schedule-missed",value:i.missedRunPolicy,onChange:w=>v({missedRunPolicy:w.target.value})},n.createElement("option",{value:"latest"},"Run only the latest missed occurrence"),n.createElement("option",{value:"skip"},"Skip occurrences more than a minute late")),n.createElement("label",{htmlFor:"schedule-notify"},"Notify me"),n.createElement("select",{id:"schedule-notify",value:i.notificationPolicy,onChange:w=>v({notificationPolicy:w.target.value})},n.createElement("option",{value:"changes"},"For changes and failures"),n.createElement("option",{value:"always"},"After every result and failure"),n.createElement("option",{value:"failures_only"},"For failures only")),n.createElement("button",{className:"a-soft",disabled:p||!i.prompt.trim(),"data-action":"schedule.preview",onClick:async()=>{const w=o.current,R=await E("schedule.preview",y());o.current===w&&d((R==null?void 0:R.result)||null)}},"Preview schedule"),u&&n.createElement("div",{className:"a-selection-card","data-part":"schedule-preview"},n.createElement("h4",null,"Confirm scheduled work"),n.createElement("p",null,u.binding.prompt),u.binding.destination==="new_task"?n.createElement("div",{"data-part":"schedule-destination-preview"},n.createElement("p",null,"Create a new task for each run: ",u.binding.newTaskTitle),n.createElement("p",null,"Workspace: ",u.binding.newTaskConfiguration.workspace),n.createElement("p",null,"Bundle: ",u.binding.newTaskConfiguration.bundle),n.createElement("p",null,"Model configuration: ",JSON.stringify(u.binding.newTaskConfiguration.selection||"Bundle defaults")),n.createElement("p",null,"Maximum turns: ",u.binding.newTaskMaxTurns)):n.createElement("p",null,"Continue this saved task."),n.createElement("ul",null,u.occurrences.map(w=>n.createElement("li",{key:w.utc},new Date(w.dueAt*1e3).toLocaleString(void 0,{timeZone:u.binding.spec.timezone})," (",u.binding.spec.timezone,")"))),n.createElement("p",{className:"a-caption"},u.daylightSaving),n.createElement("p",null,"Approval applies to this saved prompt and schedule. Normal tool permissions still apply during each run."),n.createElement("button",{className:"a-primary","data-action":l?"schedule.update":"schedule.create",disabled:p||!u.occurrences.length,onClick:x},"Save and activate schedule")))}function GD({state:e,session:t,act:a}){var S,I,N,M,k;const r=((I=(S=e.runtimeControl)==null?void 0:S[t.id])==null?void 0:I["task.get"])||{},o=r.task||t.task,i=r.continuity||t.continuity,[s,l]=g.useState(""),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(""),[y,E]=g.useState(!1),[b,x]=g.useState(""),w=async(T,A={})=>{E(!0),x("");try{await a(T,{sessionId:t.id,...T==="task.get"?{}:{expectedRevision:(o==null?void 0:o.revision)||0},...A})}catch(q){x(q.message||String(q))}finally{E(!1)}},R=o&&o.status!=="completed";return n.createElement("section",{className:"a-settings-section","data-part":"task-continuity","aria-label":"Saved task"},n.createElement("h3",null,"Saved task"),n.createElement("p",null,"Keep the objective, corrections, and evidence across restarts and long conversations. Saving a task does not send a message."),n.createElement("button",{className:"a-soft",disabled:y,"data-action":"task.get",onClick:()=>w("task.get")},"Load saved task"),o&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,n.createElement("strong",null,o.objective)),n.createElement("p",{role:"status"},"Task ",o.status," · revision ",o.revision,o.appliedRevision!==o.revision?" · applies at the next request":""),((N=o.constraints)==null?void 0:N.length)>0&&n.createElement("ul",null,o.constraints.map((T,A)=>n.createElement("li",{key:A},T))),o.status==="blocked"&&o.blockedReason&&n.createElement("p",null,"Waiting because: ",o.blockedReason),((M=o.corrections)==null?void 0:M.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Saved corrections (",o.corrections.length,")"),n.createElement("ul",null,o.corrections.map((T,A)=>n.createElement("li",{key:A},T.text)))),((k=o.completionEvidence)==null?void 0:k.length)>0&&n.createElement("ul",null,o.completionEvidence.map((T,A)=>n.createElement("li",{key:A},T))),n.createElement("details",null,n.createElement("summary",null,"Linked questions, operations, and artifacts"),["questionIds","operationIds","artifactRefs"].map(T=>{var A;return n.createElement("p",{key:T},T==="questionIds"?"Questions":T==="operationIds"?"Operations":"Artifacts",": ",((A=o[T])==null?void 0:A.join(", "))||"None")}))),!R&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"task-objective"},"Task objective"),n.createElement("textarea",{id:"task-objective",value:s,onChange:T=>l(T.target.value)}),n.createElement("label",{htmlFor:"task-constraints"},"Constraints (one per line)"),n.createElement("textarea",{id:"task-constraints",value:c,onChange:T=>u(T.target.value)}),n.createElement("button",{className:"a-primary","data-action":"task.create",disabled:y||!s.trim(),onClick:()=>w("task.create",{objective:s.trim(),constraints:c.split(` `).map(T=>T.trim()).filter(Boolean)})},"Save task")),R&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"task-correction"},"Correction to retain"),n.createElement("textarea",{id:"task-correction",value:d,onChange:T=>p(T.target.value)}),n.createElement("button",{className:"a-soft","data-action":"task.update",disabled:y||!d.trim(),onClick:()=>w("task.update",{correction:d.trim()})},"Save correction"),n.createElement("div",{className:"a-dialog-actions"},o.status==="active"?n.createElement("button",{className:"a-soft","data-action":"task.pause",disabled:y,onClick:()=>w("task.pause")},"Pause task"):n.createElement("button",{className:"a-primary","data-action":"task.resume",disabled:y,onClick:()=>w("task.resume")},"Resume task")),n.createElement("p",{className:"a-caption"},"Pause stops future automatic continuation. Current work can finish. Resume does not send a message or answer a pending question."),n.createElement("details",null,n.createElement("summary",null,"Record a blocker or completion"),n.createElement("label",{htmlFor:"task-blocker"},"What is blocking this task?"),n.createElement("input",{id:"task-blocker",value:m,onChange:T=>h(T.target.value)}),n.createElement("button",{className:"a-soft","data-action":"task.block",disabled:y||!m.trim(),onClick:()=>w("task.block",{reason:m.trim()})},"Mark blocked"),n.createElement("label",{htmlFor:"task-evidence"},"Evidence that the objective is complete (one per line)"),n.createElement("textarea",{id:"task-evidence",value:f,onChange:T=>v(T.target.value)}),n.createElement("button",{className:"a-soft","data-action":"task.complete",disabled:y||!f.trim(),onClick:()=>w("task.complete",{condition:o.objective,evidence:f.split(` -`).map(T=>T.trim()).filter(Boolean)})},"Complete task with evidence"))),o&&r.continuationSupported===!1&&n.createElement("p",{role:"alert"},"This runtime cannot automatically continue saved tasks. Update its task support before resuming."),i&&n.createElement("p",{className:"a-caption"},"Conversation continuity: ",i.supported?i.status:"not available in this context module",i.reason?` — ${i.reason}`:"",". The original transcript remains available."),b&&n.createElement("p",{role:"alert",className:"a-danger"},b))}function GD({session:e,act:t}){var b,x;const[a,r]=g.useState("HEAD"),[o,i]=g.useState(""),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(!1),f=async(w,R={})=>{h(!0);try{return await t(w,{sessionId:e.id,...R})}finally{h(!1)}},v=e.worktreeInspection,y=e.workingDirectory||e.workspace,E=w=>f("worktree.handoff",{id:w,expectedExecutionRevision:e.executionRevision||0});return n.createElement("section",{className:"a-settings-section","aria-label":"Task worktrees","data-part":"worktrees"},n.createElement("h3",null,"Task execution folder"),n.createElement("p",null,"Run this task in a separate Git checkout while keeping its saved conversation, voice history, artifacts and settings in their original home."),n.createElement("dl",null,n.createElement("dt",null,"Saved history and settings home"),n.createElement("dd",{className:"a-state-view"},e.workspace),n.createElement("dt",null,"Execution host"),n.createElement("dd",{"data-part":"execution-host"},((b=v==null?void 0:v.executionHost)==null?void 0:b.label)||((x=e.executionHost)==null?void 0:x.label)||"Inspect to identify this local host"),n.createElement("dt",null,"Execution folder"),n.createElement("dd",{className:"a-state-view","data-part":"execution-directory"},y)),n.createElement("button",{className:"a-soft",disabled:m,"data-action":"worktree.inspect",onClick:()=>f("worktree.inspect")},"Inspect repository"),y!==e.workspace&&n.createElement("button",{className:"a-soft",disabled:m||e.configurationBusy,"data-action":"worktree.handoff",onClick:()=>E(null)},"Return execution to home"),(v==null?void 0:v.repository)&&n.createElement(n.Fragment,null,n.createElement("p",null,v.repository.branch||"Detached commit"," · ",v.repository.dirty?"Uncommitted changes present":"Checkout clean"),n.createElement("details",null,n.createElement("summary",null,"Source changes"),n.createElement("pre",{className:"a-state-view"},v.repository.status||"No changes")),n.createElement("h4",null,"Create a checkout"),n.createElement("label",{htmlFor:"worktree-ref"},"Starting Git ref or commit"),n.createElement("input",{id:"worktree-ref",value:a,onChange:w=>r(w.target.value)}),n.createElement("label",{htmlFor:"worktree-branch"},"New branch (optional)"),n.createElement("input",{id:"worktree-branch",value:o,onChange:w=>i(w.target.value)}),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s,onChange:w=>l(w.target.checked)}),"Include my uncommitted changes"),n.createElement("p",{className:"a-caption"},s?"Copy staged, unstaged and untracked files with an inspectable manifest. Ignored files are excluded. Repositories with submodules need separate handling; the source stays intact.":"Start from the committed ref in a clean checkout. Your current uncommitted changes stay in the source."),n.createElement("button",{className:"a-primary",disabled:m||!a.trim(),"data-action":"worktree.create",onClick:()=>f("worktree.create",{sourceRevision:v.repository.sourceRevision,ref:a.trim(),...o.trim()?{branch:o.trim()}:{},mode:s?"carry_dirty":"clean"})},"Create managed checkout")),n.createElement("details",null,n.createElement("summary",null,"Attach an existing checkout"),n.createElement("label",{htmlFor:"worktree-path"},"Existing worktree path"),n.createElement("input",{id:"worktree-path",value:c,onChange:w=>u(w.target.value)}),n.createElement("button",{className:"a-soft",disabled:m||!c.trim(),"data-action":"worktree.attach",onClick:()=>f("worktree.attach",{path:c.trim()})},"Attach checkout"),n.createElement("p",{className:"a-caption"},"The folder must belong to this repository. Attaching does not start work or grant cleanup ownership.")),(e.worktrees||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-worktree-id":w.id},n.createElement("p",{className:"a-state-view"},w.path),n.createElement("p",{role:"status"},"Checkout ",w.status),n.createElement("p",null,"Local host: ",((R=w.executionHost)==null?void 0:R.label)||"Not recorded for this checkout"),w.error&&n.createElement("p",{role:"alert"},w.error),n.createElement("p",null,w.branch||"Detached commit"," · ",w.mode==="carry_dirty"?"Changes copied":w.mode==="attached"?"Existing checkout":"Committed source"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:m,"data-action":"worktree.status",onClick:()=>f("worktree.status",{id:w.id})},"Inspect checkout and manifest"),w.status==="ready"&&n.createElement("button",{className:"a-primary",disabled:m||e.configurationBusy||y===w.path,"data-action":"worktree.handoff",onClick:()=>E(w.id)},"Move execution here"),w.owned&&w.status!=="removed"&&n.createElement("button",{className:"a-soft",disabled:m||y===w.path||e.configurationBusy,"data-action":"worktree.remove",onClick:()=>f("worktree.remove",{id:w.id,expectedRevision:w.revision})},"Remove clean checkout")))}),e.worktreeStatus&&n.createElement("details",{open:!0},n.createElement("summary",null,"Checkout inspection"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(e.worktreeStatus,null,2))),(e.worktreeHandoffs||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-handoff-id":w.id},n.createElement("p",{role:"status"},"Handoff ",w.phase),n.createElement("p",null,"Local host: ",((R=w.executionHost)==null?void 0:R.label)||"Not recorded for this receipt"),n.createElement("p",null,w.detail),w.phase==="unknown"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"handoff-evidence-"+w.id},"What did you verify?"),n.createElement("textarea",{id:"handoff-evidence-"+w.id,value:d,onChange:S=>p(S.target.value)}),n.createElement("p",{className:"a-caption"},"Confirm saved writer release again and choose the execution folder. Neither choice sends a message or replays work."),n.createElement("div",{className:"a-dialog-actions"},["source","target"].map(S=>n.createElement("button",{className:"a-soft",key:S,disabled:m||!d.trim(),"data-action":"worktree.reconcile",onClick:()=>f("worktree.reconcile",{id:w.id,expectedRevision:w.revision,destination:S,evidence:d.trim()})},"Use ",S," folder")))))}))}function Uf({state:e,session:t,act:a}){var T,A,q;const[r,o]=g.useState(null),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(!1),[p,m]=g.useState(""),[h,f]=g.useState(""),[v,y]=g.useState(""),[E,b]=g.useState(""),[x,w]=g.useState(!1),[R,S]=g.useState(""),I=((T=e.portability)==null?void 0:T.receipts)||((A=t==null?void 0:t.portability)==null?void 0:A.receipts)||[],N=async(z,F={})=>{w(!0),S("");try{const H=await a(z,F);return z==="portability.inspect"&&o(H==null?void 0:H.result),H}catch(H){S(H.message||"Transfer could not finish. Inspect the saved receipt.")}finally{w(!1)}},M=()=>N("portability.inspect",t?{sessionId:t.id}:{}),k=(q=t==null?void 0:t.worktreeInspection)==null?void 0:q.repository;return n.createElement("section",{className:"a-settings-section","aria-label":"Move task between hosts","data-part":"portability"},n.createElement("h3",null,"Move task between hosts"),n.createElement("p",null,"Stage a private transfer, verify the destination, then release this host. Your task keeps its saved history and outputs. Moving never sends a message or retries unfinished work."),n.createElement("button",{className:"a-soft",disabled:x,"data-action":"portability.inspect",onClick:M},"Inspect hosts and transfers"),r&&n.createElement(n.Fragment,null,n.createElement("p",null,"This host: ",r.host.label),!Object.keys(r.peers||{}).length&&n.createElement("p",{role:"status"},"No hosts are paired. Configure trusted host keys and upgrade Foundation on both hosts before transferring.")),t&&n.createElement("details",null,n.createElement("summary",null,"Export this task"),n.createElement("p",null,"Inspect the repository above, then choose a paired destination."),n.createElement("label",{htmlFor:"portability-destination"},"Destination"),n.createElement("select",{id:"portability-destination",value:i,onChange:z=>s(z.target.value)},n.createElement("option",{value:""},"Choose a paired host"),Object.entries((r==null?void 0:r.peers)||{}).map(([z,F])=>n.createElement("option",{key:z,value:z},F.label||z))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:l,onChange:z=>c(z.target.checked)}),"Include staged, unstaged and untracked work"),n.createElement("p",{className:"a-caption"},"Ignored files and local settings stay here. Export stops if a bound is exceeded or recognizable credentials are found. Review the selected history, outputs and files for private credentials before continuing."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:u,onChange:z=>d(z.target.checked)}),"I reviewed this task’s transfer contents"),n.createElement("button",{className:"a-primary",disabled:x||!i||!k||!u||t.configurationBusy,"data-action":"portability.export",onClick:()=>N("portability.export",{sessionId:t.id,destination:i,sourceRevision:k.sourceRevision,expectedExecutionRevision:t.executionRevision||0,mode:l?"carry_dirty":"clean",reviewedContent:!0})},"Stage export and stop execution here")),n.createElement("details",null,n.createElement("summary",null,"Import a staged task"),n.createElement("p",null,"Copy the private signed package over your authenticated host connection. The destination repository must already contain its exact commit. A small provider check uses this host’s credentials."),n.createElement("label",{htmlFor:"portability-package"},"Package path on this host"),n.createElement("input",{id:"portability-package",value:p,onChange:z=>m(z.target.value)}),n.createElement("label",{htmlFor:"portability-repository"},"Destination repository"),n.createElement("input",{id:"portability-repository",value:h,onChange:z=>f(z.target.value)}),n.createElement("button",{className:"a-soft",disabled:x||!p||!h,"data-action":"portability.stage",onClick:()=>N("portability.stage",{path:p,repository:h})},"Verify and stage import")),!!I.length&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"portability-receipt"},"Signed receipt path copied from the other host"),n.createElement("input",{id:"portability-receipt",value:v,onChange:z=>y(z.target.value)}),n.createElement("label",{htmlFor:"portability-evidence"},"What did you verify?"),n.createElement("input",{id:"portability-evidence",value:E,onChange:z=>b(z.target.value),placeholder:"Reason to cancel an unreleased export"})),I.map(z=>n.createElement("article",{className:"a-selection-card",key:z.id,"data-transfer-id":z.id},n.createElement("p",{role:"status"},z.direction==="outgoing"?"Export":"Import"," · ",z.phase),n.createElement("p",{className:"a-state-view"},"Task ",z.sessionId),z.package&&n.createElement("p",{className:"a-state-view"},"Package: ",z.package),z.receiptPath&&n.createElement("p",{className:"a-state-view"},"Receipt: ",z.receiptPath),z.detail&&n.createElement("p",null,z.detail),(z.phase==="prepared"||z.phase==="releasing"||z.phase==="unknown"&&z.previousPhase==="releasing")&&n.createElement("button",{className:"a-primary",disabled:x||!v,"data-action":"portability.release",onClick:()=>N("portability.release",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},"Release source ownership"),z.direction==="incoming"&&["ready","active"].includes(z.phase)&&n.createElement("button",{className:"a-primary",disabled:x||!v,"data-action":"portability.activate",onClick:()=>N("portability.activate",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},z.phase==="active"?"Verify activation receipt":"Activate on this host"),z.phase==="unknown"&&n.createElement("p",null,"Inspect both hosts before any further action. Original data remains preserved; no work was replayed."))),I.filter(z=>z.direction==="outgoing"&&(z.phase==="prepared"||z.phase==="unknown"&&z.previousPhase==="preparing")).map(z=>n.createElement("button",{key:"cancel-"+z.id,className:"a-soft",disabled:x||!E.trim(),"data-action":"portability.cancel",onClick:()=>N("portability.cancel",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,evidence:E})},"Cancel unreleased export")),I.filter(z=>z.direction==="incoming"&&["ready","unknown"].includes(z.phase)&&!z.releaseCertificate).map(z=>n.createElement("button",{key:"discard-"+z.id,className:"a-soft",disabled:x||!v,"data-action":"portability.discard",onClick:()=>N("portability.discard",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},"Retain source cancellation")),R&&n.createElement("p",{role:"alert"},R))}const QD=new Set(["working","running","busy","starting","stopping","retrying"]),XD=new Set(["working","running","busy","starting","pending","queued","preparing","retrying"]);function _c(e){if(typeof e=="number")return e<1e12?e*1e3:e;const t=Date.parse(e);return Number.isFinite(t)?t:null}function eF(e){const t=Math.max(0,Math.floor(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${String(t%60).padStart(2,"0")}s`}const tF={"job.returned":"completed","job.failed":"error","job.cancelled":"cancelled"};function ek(e=[]){const t=new Map,a=new Map;for(const[r,o]of e.entries()){const i=o.callId||o.call_id||o.id||`worker-${r}`,s=t.get(i);if(o.kind==="job"){const l=tF[o.event]||(["completed","cancelled","error","failed","stopped","interrupted"].includes(o.status)?o.status:null);l&&a.set(i,l)}(!s||o.kind==="session"||s.kind!=="session")&&t.set(i,o)}return[...t].map(([r,o])=>a.has(r)?{...o,status:a.get(r),phase:a.get(r)}:o)}function nF(e,t=Date.now()){var v;if(!e)return null;const a=QD.has(e.status),r=ek(e.workers||[]).filter(y=>XD.has(y.status)),o=e.activity,i=new Map;let s=null;if(o!=null&&o.activeTools)for(const y of o.activeTools)i.set(y.callId||y.call_id||y.tool,{tool:y.tool||y.name||"tool",startedAt:y.startedAt});else if(a){const y=new Map;for(const E of e.runtimeEvents||[]){const b=E.type==="runtime.tool"?`tool.${E.phase}`:E.type||E.event,x=E.callId||E.call_id||E.tool_call_id||E.job_id||E.tool,w=E.tool||E.tool_name||E.name;w&&/^(tool[.:]|job\.)/.test(b||"")&&(s=w),["tool.pre","tool:pre","tool.start","tool.started"].includes(b)&&y.set(`tool:${x}`,{id:x,tool:w||"tool",startedAt:E.time||E.createdAt}),["tool.post","tool:post","tool.error","tool:error","tool.end","tool.finished"].includes(b)&&y.delete(`tool:${x}`),b==="job.queued"&&y.set(`job:${x}`,{id:x,tool:w||"delegate",startedAt:E.time||E.createdAt}),["job.returned","job.failed","job.cancelled","job.canceled","job.error"].includes(b)&&y.delete(`job:${x}`),["session.closed","generation.detached"].includes(b)&&y.clear()}for(const E of y.values())i.set(E.id,E)}if(!a&&!r.length)return null;const l=[...i.values()],c=new Map;for(const y of l)c.set(y.tool,(c.get(y.tool)||0)+1);let u,d;e.status==="starting"?(u="Preparing your Amplifier session…",d="preparing"):e.status==="stopping"?(u="Stopping the current work…",d="stopping"):l.length?(u=o?`Running ${l.length} ${l.length===1?"tool":"tools"}`:`${l.length} ${l.length===1?"tool call":"tool calls"} pending`,d="tools"):r.length?(u=`${r.length} ${r.length===1?"worker lane is":"worker lanes are"} active`,d="workers"):(u=e.streaming?"Writing a response…":"Composing a response…",d="composing"),o!=null&&o.phase&&(d=o.phase),typeof(o==null?void 0:o.label)=="string"&&o.label.trim()&&(u=o.label);const p=[...e.messages||[]].reverse().find(y=>y.role==="user"),m=_c(o==null?void 0:o.startedAt)||_c(p==null?void 0:p.createdAt)||Math.min(...l.map(y=>_c(y.startedAt)).filter(Boolean)),h=Number.isFinite(m)?eF(t-m):null,f=[...c].map(([y,E])=>E>1?`${y} × ${E}`:y);return!s&&((v=o==null?void 0:o.lastEvent)!=null&&v.tool)&&(s=o.lastEvent.tool),{phase:d,label:u,elapsed:h,toolLabels:f,workerCount:r.length,lastTool:l.length?null:s}}function aF(e){var l,c,u,d;if((c=(l=e==null?void 0:e.execution)==null?void 0:l.nodes)!=null&&c.length||(d=(u=e==null?void 0:e.execution)==null?void 0:u.turns)!=null&&d.length){const p=e.execution.nodes||[],m=[...e.execution.turns||[]];for(const h of p)h.turnId&&!m.some(f=>f.id===h.turnId)&&m.push({id:h.turnId});return{nodes:p,turns:m,segments:e.execution.segments||[]}}const t=ek((e==null?void 0:e.workers)||[]),a=(e==null?void 0:e.runtimeEvents)||[];if(!t.length&&!a.some(p=>p.type==="runtime.tool"||String(p.type).startsWith("tool.")))return{nodes:[],turns:[]};const r="observed-activity",o=[],i=new Map;for(const p of a){const m=p.type==="runtime.tool"?p.phase:String(p.type).replace(/^tool[.:]/,"");if(p.type!=="runtime.tool"&&!/^tool[.:]/.test(p.type||""))continue;const h=p.callId||p.call_id||p.tool_call_id;if(!h)continue;const f=i.get(h)||{id:`tool:${h}`,kind:"tool",turnId:r,label:p.tool||p.tool_name||"Tool call",callId:h,startedAt:p.at||p.time};f.status=["post","end","finished"].includes(m)?"completed":["error","failed"].includes(m)?"error":"running",f.actualSessionId=p.actualSessionId||f.actualSessionId,i.set(h,f)}const s=new Map(t.map(p=>[p.sessionId||p.id,p]));for(const p of i.values())s.has(p.actualSessionId)&&(p.parentId=`worker:${p.actualSessionId}`),o.push(p);for(const p of t){const m=p.sessionId||p.id,h=p.callId||p.call_id,f=s.get(p.parentSessionId);o.push({id:`worker:${m}`,kind:"worker",turnId:r,routing:p.routing,provider:p.provider,model:p.model,label:p.name||p.agent||p.title||"Worker",status:p.status,phase:p.phase,summary:p.detail||p.report||p.result,summaryDetail:p.detail?p.detailDetail:p.report?p.reportDetail:p.resultDetail,startedAt:p.startedAt,endedAt:p.endedAt,workerId:p.id||m,parentId:i.has(h)?`tool:${h}`:f?`worker:${f.sessionId||f.id}`:null})}return{nodes:o,turns:[{id:r,label:"Recent execution activity",status:o.some(p=>["running","working","starting","queued","pending","retrying","idle"].includes(p.status))?"running":"completed"}]}}function rF(e,t){var i;const a=new Map,r=[],o=new Set(e.map(s=>s.id));for(const s of t.turns){let l=s.anchorMessageId;if(!Object.hasOwn(s,"anchorMessageId")){const c=e.find(p=>p.role==="user"&&(s.messageId&&s.messageId===p.id||s.userMessageId&&s.userMessageId===p.id||p.inputId&&(s.inputId===p.inputId||s.id===p.inputId))),u=t.nodes.filter(p=>p.turnId===s.id&&Number.isFinite(p.startedAt)).map(p=>p.startedAt),d=Number.isFinite(s.startedAt)?s.startedAt:u.length?Math.min(...u):null;l=(c==null?void 0:c.id)||(d!==null?(i=e.findLast(p=>Number.isFinite(p.createdAt)&&p.createdAt<=d))==null?void 0:i.id:null)}l&&o.has(l)?(a.has(l)||a.set(l,[]),a.get(l).push(s.id)):r.push(s.id)}return{after:a,before:r}}function oF(e){return e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}m`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(e)}const iF=new Set(["running","working","starting","queued","pending","retrying","idle"]);function Un(e){return iF.has((e==null?void 0:e.status)||(e==null?void 0:e.phase))&&!Number.isFinite(e==null?void 0:e.endedAt)}function xp(e,t=Date.now()/1e3){if(!Number.isFinite(e==null?void 0:e.startedAt))return null;const a=Number.isFinite(e.endedAt)?e.endedAt:Un(e)?t:null;if(a===null)return null;const r=Math.max(0,a-e.startedAt),o=Math.floor(r);return r>=60?`${Math.floor(o/60)}m ${o%60}s`:Un(e)?`${o}s`:`${Number(r.toFixed(1))}s`}function Sp(e,{pending:t=!1}={}){if(!e)return t?{text:"usage pending",title:"Usage has not been reported yet."}:null;if(e.calls===0&&!e.totalTokens&&!e.inputTokens&&!e.outputTokens&&!e.costUsd)return t?{text:"usage pending",title:"Usage has not been reported yet."}:null;const a=e.totalTokens??(e.inputTokens!=null||e.outputTokens!=null?(e.inputTokens||0)+(e.outputTokens||0):null),r=e.grossTotalTokens??(a===null?null:a+(e.cacheWriteTokens||0)),o=e.tokenPendingCalls??(t&&e.tokenUnknownCalls||0),i=e.costPendingCalls??(t&&e.unknownCalls||0),s=e.costType||(e.costUsd!=null&&e.unknownCalls===0?"reported":"unavailable"),l=typeof e.costUsd=="number"&&s!=="unavailable"?`${s==="estimated"||e.estimatedCalls>0?"≈":""}$${e.costUsd<.01?e.costUsd.toFixed(6).replace(/0+$/,"").replace(/\.$/,".00"):e.costUsd.toFixed(3)}${s==="partial"&&!i?"+":""}`:null,c=[];if(e.calls>0&&e.tokenUnknownCalls>=e.calls?c.push(o===e.calls?"tokens pending":o?"tokens partly pending":"tokens unavailable"):r!=null&&c.push(`${oF(r)} tokens${e.tokenUnknownCalls?o===e.tokenUnknownCalls?" + pending":" + ?":""}`),l?c.push(l+(i?" + pending":"")):(e.calls||r!=null)&&c.push(i===e.calls?"cost pending":i?"cost partly pending":"cost unavailable"),!c.length)return null;const u=[e.inputTokens!=null&&(e.calls==null||e.tokenUnknownCalls!==e.calls)?`${e.inputTokens} input tokens`:null,e.outputTokens!=null&&(e.calls==null||e.tokenUnknownCalls!==e.calls)?`${e.outputTokens} output tokens`:null,e.cacheReadTokens?`${e.cacheReadTokens} cache-read tokens`:null,e.cacheWriteTokens?`${e.cacheWriteTokens} cache-write tokens`:null,o?`${o} call(s) awaiting token usage`:null,i?`${i} call(s) awaiting cost`:null,s==="partial"?`Partial cost: ${e.pricedCalls||0} of ${e.calls||"?"} calls priced`:s==="estimated"?"Cost is estimated":s==="reported"?"Cost reported by the provider":i===e.calls?"Cost has not been reported yet":"Provider did not report a cost for completed calls",e.estimatedCalls&&s==="partial"?"Includes estimated cost":null].filter(Boolean).join(" · ");return{text:c.join(" · "),title:u}}function sF(e,t){const a=e.nodes.filter(c=>c.turnId===t),r=new Map(a.map(c=>[c.id,c])),o=new Map;for(const c of a){const u=c.parentId&&c.parentId!==c.id&&r.has(c.parentId)?c.parentId:null;o.has(u)||o.set(u,[]),o.get(u).push(c)}const i=o.get(null)||[],s=new Set,l=c=>{if(!s.has(c.id)){s.add(c.id);for(const u of o.get(c.id)||[])l(u)}};i.forEach(l);for(const c of a)s.has(c.id)||(i.push(c),l(c));return{roots:i,children:o}}function lF(e){let t;try{t=JSON.parse(e)}catch{return[]}const a=new Set;function r(o,i=0){if(!(!o||typeof o!="object"||i>8))for(const[s,l]of Object.entries(o).slice(0,100)){if(a.size>=8)return;if(["url","uri","html_url","web_url","artifact_url"].includes(s)&&typeof l=="string")try{const c=new URL(l);["https:","http:"].includes(c.protocol)&&!c.username&&!c.password&&a.add(c.href)}catch{}else typeof l=="object"&&r(l,i+1)}}return r(t),[...a]}function cF(e){const t=e.filter(r=>r.kind==="llm"),a={calls:t.length,pricedCalls:0,unknownCalls:0,estimatedCalls:0,tokenUnknownCalls:0,costPendingCalls:0,tokenPendingCalls:0,costUsd:0};for(const r of["inputTokens","outputTokens","totalTokens","cacheReadTokens","cacheWriteTokens"])a[r]=0;for(const r of t){const o=r.usage||{},i=Un(r);for(const s of["inputTokens","outputTokens","totalTokens","cacheReadTokens","cacheWriteTokens"])Number.isFinite(o[s])&&(a[s]+=o[s]);o.totalTokens==null&&(o.inputTokens!=null||o.outputTokens!=null)&&(a.totalTokens+=(o.inputTokens||0)+(o.outputTokens||0)),o.totalTokens==null&&o.inputTokens==null&&o.outputTokens==null&&(a.tokenUnknownCalls++,i&&a.tokenPendingCalls++),Number.isFinite(o.costUsd)?(a.costUsd+=o.costUsd,a.pricedCalls++,o.costType==="estimated"&&a.estimatedCalls++):(a.unknownCalls++,i&&a.costPendingCalls++)}return a.costType=a.pricedCalls?a.unknownCalls?"partial":a.estimatedCalls?"estimated":"reported":"unavailable",a}function uF(e,t){const a=[],r=[];for(const o of t.turns){const i=t.nodes.filter(l=>l.turnId===o.id),s=new Map;for(const l of i){const c=Number.isFinite(l.startedAt)?l.startedAt:Number.isFinite(l.endedAt)?l.endedAt:o.startedAt;let u=o.anchorMessageId??null;if(Object.hasOwn(l,"anchorMessageId"))u=l.anchorMessageId;else if(Number.isFinite(c))for(const p of e)p.timestampKnown!==!1&&Number.isFinite(p.createdAt)&&p.createdAt<=c&&(u=p.id);const d=`${o.id}@${u||"start"}`;s.has(d)||s.set(d,{id:d,anchor:u,nodes:[]}),s.get(d).nodes.push({...l,turnId:d})}!i.length&&Un(o)&&s.set(`${o.id}@${o.anchorMessageId||"start"}`,{id:`${o.id}@${o.anchorMessageId||"start"}`,anchor:o.anchorMessageId,nodes:[]});for(const l of s.values()){const c=l.nodes.map(m=>m.startedAt).filter(Number.isFinite),u=l.nodes.map(m=>m.endedAt).filter(Number.isFinite),d=l.nodes.some(Un)||!c.length&&!u.length&&Un(o),p=l.nodes.find(m=>["error","failed","cancelled","interrupted"].includes(m.status||m.phase));a.push({...o,id:l.id,originalTurnId:o.id,anchorMessageId:l.anchor,startedAt:c.length?Math.min(...c):o.startedAt,endedAt:d?void 0:u.length?Math.max(...u):o.endedAt,phase:d?"running":p?p.status||p.phase:u.length||o.endedAt?"completed":"recorded",status:void 0,aggregateUsage:cF(l.nodes),nodeCounts:{tools:l.nodes.filter(m=>m.kind==="tool").length,models:l.nodes.filter(m=>m.kind==="llm").length},...(t.segments||[]).find(m=>m.id===l.id)}),r.push(...l.nodes)}}return{nodes:r,turns:a}}function dF({sessionId:e,act:t}){const[a,r]=g.useState(null),[o,i]=g.useState(!1),[s,l]=g.useState(""),c=g.useRef(0);g.useEffect(()=>(c.current++,r(null),i(!1),l(""),()=>{c.current++}),[e]);async function u(d=!1){const p=++c.current;i(!0),l("");try{const m=await t("runtime.dependencies",{sessionId:e,...d?{verifyImports:!0}:{}});if(c.current===p){if(!(m!=null&&m.result))throw Error("Runtime inspection did not return a result.");r(m.result)}}catch(m){c.current===p&&l(m.message)}finally{c.current===p&&i(!1)}}return n.createElement(Yt,{as:"section",name:"runtime.dependencies",busy:o,className:"a-settings-section"},n.createElement("h3",null,"Document and data tools"),n.createElement("p",null,"Check the tools available for documents, spreadsheets, PDFs and plots."),n.createElement("button",{className:"a-soft","data-action":"runtime.dependencies",disabled:o,onClick:()=>u()},n.createElement(zt,null),"Inspect document tools"),n.createElement("button",{className:"a-soft","data-action":"runtime.dependencies",disabled:o,onClick:()=>u(!0)},"Check library imports"),s&&n.createElement("p",{role:"alert",className:"a-danger"},s),a&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Availability is separate from a successful render, visual review or formula calculation."),Object.entries(a).map(([d,p])=>n.createElement("section",{key:d,"aria-label":d==="host"?"App environment":"Conversation environment"},n.createElement("h4",null,d==="host"?"App environment":"Conversation environment"),p.status!=="available"?n.createElement("p",null,p.reason||"Environment not available."):n.createElement(n.Fragment,null,n.createElement("p",{className:"a-wrap"},"Python ",p.python.version,n.createElement("br",null),n.createElement("code",null,p.python.path)),n.createElement("ul",{className:"a-catalog-list"},p.python.packages.map(m=>n.createElement("li",{key:m.name},n.createElement("strong",null,m.name)," — ",m.version||m.status,m.importStatus&&` · Import ${m.importStatus}`))),Object.entries(p.executables).map(([m,h])=>n.createElement("p",{key:m,className:"a-wrap"},n.createElement("strong",null,{node:"Node.js",libreoffice:"LibreOffice",pdftoppm:"PDF renderer"}[m]||m)," — ",h.version||h.status,h.path&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement("code",null,h.path)),h.reason&&n.createElement(n.Fragment,null,n.createElement("br",null),h.reason))))))))}const hs=e=>JSON.stringify(e,null,2),pF={tab:"overview",goalCondition:"",goalMaxTurns:"",mode:"",maxIterations:"",contextTokens:"",tool:"",toolArgs:"{}",clearConfirm:!1};function tk({state:e,session:t,act:a,computerControls:r}){var H,ne,B,P,_,ee,Z,D,G;const o=(H=e.view)==null?void 0:H.runtimeDraft,i=g.useRef(null),[s,l]=g.useState({...pF,...o});g.useEffect(()=>{o&&l(j=>({...j,...o}))},[o]);const c=j=>{l(K=>({...K,...j})),a("view.update",{patch:{runtimeDraft:j}})};g.useLayoutEffect(()=>{var K;if(!s.section)return;const j=[...((K=i.current)==null?void 0:K.querySelectorAll("[data-runtime-section]"))||[]].find(oe=>oe.dataset.runtimeSection===s.section);j==null||j.scrollIntoView({block:"nearest"}),j==null||j.focus({preventScroll:!0})},[s.section,s.tab,s.revealRevision]);const u=((ne=e.runtimeControl)==null?void 0:ne[t==null?void 0:t.id])||{},d=u["catalog.inspect"]||{},p=u["mode.list"]||{},m=u["goals.get"]||u["goals.set"]||{},h=u["budget.get"]||u["budget.set"]||{},f=u["usage.inspect"],v=d.capabilities||{},y=((B=u["task.get"])==null?void 0:B.task)||(t==null?void 0:t.task),E=e.management||{},b=["working","running","pending","queued"].includes(E.phase),x=(P=e.actionStatus)==null?void 0:P["runtime.control"],w=j=>{var K,oe;return["queued","working"].includes(x==null?void 0:x.phase)&&((K=x==null?void 0:x.target)==null?void 0:K.sessionId)===(t==null?void 0:t.id)&&((oe=x==null?void 0:x.target)==null?void 0:oe.operation)===j},R=t&&["working","starting","running","stopping","busy"].includes(t.status),S=(j,K={})=>a("runtime.control",{sessionId:t.id,operation:j,args:K}),I=d.tools||[],N=I.find(j=>j.name===s.tool),M=u["tool.invoke"],k=!!v.goals,T=!!v.modes,A=Sp(f==null?void 0:f.usage);let q={},z="";try{if(q=JSON.parse(s.toolArgs),!q||typeof q!="object"||Array.isArray(q))throw new Error("Tool arguments must be a JSON object.")}catch(j){z=j.message}const F=[["overview","Session",el],["direction","Goals & modes",um],["limits","Limits & context",Rk],["tools","Tools & skills",Ps],["computer","Computer use",Mu]];return t?n.createElement("div",{ref:i,className:"a-runtime-settings","data-part":"runtime-controls"},n.createElement("p",null,"Inspect and control the active Amplifier session. Its bundle determines which capabilities are available."),n.createElement("nav",{className:"a-settings-nav","aria-label":"Session control sections"},F.map(([j,K,oe])=>n.createElement("button",{key:j,className:s.tab===j?"selected":"","data-action":"view.update",onClick:()=>c({tab:j,section:null})},n.createElement(oe,null),K))),n.createElement("div",{"data-runtime-section":s.tab,tabIndex:-1},s.tab==="computer"&&r,E.error&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,E.error)),b&&n.createElement("p",{className:"a-management-status",role:"status"},n.createElement(zt,{className:"a-progress-spinner"}),E.detail||"Updating the session…"),s.tab==="overview"&&n.createElement(n.Fragment,null,n.createElement(GD,{session:t,act:a}),n.createElement(Yt,{as:"section",name:"runtime-catalog.inspect",busy:w("catalog.inspect"),className:"a-settings-section"},n.createElement("h3",null,"Session capabilities"),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("catalog.inspect")},n.createElement(zt,null),"Inspect capabilities"),I.length>0&&n.createElement("div",{className:"a-capability-counts"},n.createElement("span",null,n.createElement("strong",null,I.length)," tools"),n.createElement("span",null,n.createElement("strong",null,Object.keys(d.agents||{}).length)," agents"),n.createElement("span",null,n.createElement("strong",null,(d.skills||[]).length)," skills")),Object.keys(v).length>0&&n.createElement("div",{className:"a-capability-tags"},Object.entries(v).map(([j,K])=>n.createElement("span",{key:j,className:K?"available":"unavailable"},j," · ",K?"available":"unavailable")))),n.createElement(Yt,{as:"section",name:"runtime-usage.inspect",busy:w("usage.inspect"),className:"a-settings-section"},n.createElement("h3",null,"Usage & context"),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("usage.inspect")},n.createElement(zt,null),"Refresh usage"),f&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},f.calls??0," model calls · ",f.messages??0," messages · ",f.userTurns??0," user turns"),A&&n.createElement("p",{title:A.title},A.text),n.createElement("p",{className:"a-caption"},((ee=(_=f.contextCharacters)==null?void 0:_.toLocaleString)==null?void 0:ee.call(_))??"Unknown"," context characters. Character counts are not token counts.")))),s.tab==="direction"&&n.createElement(n.Fragment,null,n.createElement(YD,{state:e,session:t,act:a}),n.createElement(KD,{session:t,act:a}),!y&&n.createElement(Yt,{as:"section",name:"runtime-goals.get",busy:w("goals.get"),className:"a-settings-section"},n.createElement("h3",null,"Goal"),n.createElement("p",null,"Give the session an explicit condition to work toward and an optional turn limit."),!k&&n.createElement("p",{className:"a-caption"},Object.keys(v).length?"This bundle does not expose a goal controller.":"Inspect session capabilities first to check goal support."),n.createElement("button",{className:"a-soft",disabled:!k||b,"data-action":"runtime.control",onClick:()=>S("goals.get")},n.createElement(zt,null),"Load current goal"),m.goal&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,n.createElement("strong",null,m.goal.condition)),n.createElement("small",null,m.goal.turns_used??0," turns used",m.goal.cap?` of ${m.goal.cap}`:""),m.goal.last_reason&&n.createElement("p",null,m.goal.last_reason)),n.createElement("label",{htmlFor:"runtime-goal"},"Goal condition"),n.createElement("textarea",{id:"runtime-goal",value:s.goalCondition,"data-action":"view.update",onChange:j=>c({goalCondition:j.target.value}),placeholder:"The requested changes are implemented and the checks pass."}),n.createElement("label",{htmlFor:"runtime-goal-turns"},"Maximum continuation turns (optional)"),n.createElement("input",{id:"runtime-goal-turns",type:"number",min:"1",value:s.goalMaxTurns,"data-action":"view.update",onChange:j=>c({goalMaxTurns:j.target.value})}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:!k||!s.goalCondition.trim()||R||b||s.goalMaxTurns!==""&&(!Number.isInteger(Number(s.goalMaxTurns))||Number(s.goalMaxTurns)<1),"data-action":"runtime.control",onClick:()=>S("goals.set",{condition:s.goalCondition.trim(),maxTurns:s.goalMaxTurns?Number(s.goalMaxTurns):null})},n.createElement(um,null),"Set goal"),n.createElement("button",{className:"a-soft",disabled:!k||R||b,"data-action":"runtime.control",onClick:()=>S("goals.clear")},"Clear goal"))),n.createElement(Yt,{as:"section",name:"runtime-mode.list",busy:w("mode.list"),className:"a-settings-section"},n.createElement("h3",null,"Mode"),n.createElement("p",null,"Use a mode supplied by your bundle to adjust how the session works."),n.createElement("button",{className:"a-soft",disabled:!T||b,"data-action":"runtime.control",onClick:()=>S("mode.list")},n.createElement(zt,null),"Load modes"),p.active&&n.createElement("p",{className:"a-caption"},"Active: ",typeof p.active=="string"?p.active:hs(p.active)),n.createElement("label",{htmlFor:"runtime-mode"},"Mode"),n.createElement("select",{id:"runtime-mode",value:s.mode,"data-action":"view.update",onChange:j=>c({mode:j.target.value})},n.createElement("option",{value:""},"Choose a mode"),(p.modes||[]).map(j=>n.createElement("option",{value:j.name,key:j.name},j.name,j.description?` — ${j.description}`:""))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:!T||!s.mode||R||b,"data-action":"runtime.control",onClick:()=>S("mode.set",{name:s.mode})},n.createElement(Pt,null),"Apply mode"),n.createElement("button",{className:"a-soft",disabled:!T||R||b,"data-action":"runtime.control",onClick:()=>S("mode.clear")},"Clear mode")),!T&&n.createElement("p",{className:"a-caption"},Object.keys(v).length?"This bundle does not expose modes.":"Inspect session capabilities first to check mode support."))),s.tab==="limits"&&n.createElement(n.Fragment,null,n.createElement(ZD,{key:t.id,session:t,act:a}),n.createElement(WD,{results:u,run:S,busy:b,active:R}),n.createElement(Yt,{as:"section",name:"runtime-budget.get",busy:w("budget.get"),className:"a-settings-section"},n.createElement("h3",null,"Session limits"),n.createElement("p",null,"Adjust the active session’s model-turn and context limits."),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("budget.get")},n.createElement(zt,null),"Load limits"),Object.keys(h).length>0&&n.createElement("p",{className:"a-caption"},"Current: ",h.maxIterations===-1?"unlimited":h.maxIterations??"unknown"," model turns · ",h.contextTokens??"unknown"," context tokens. ",h.contextNote||""),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"runtime-max-iterations"},"Maximum model turns (−1 for unlimited)"),n.createElement("input",{id:"runtime-max-iterations",type:"number",min:"-1","data-action":"view.update",value:s.maxIterations,placeholder:String(h.maxIterations??""),onChange:j=>c({maxIterations:j.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"runtime-context-tokens"},"Context token budget"),n.createElement("input",{id:"runtime-context-tokens",type:"number",min:"1","data-action":"view.update",value:s.contextTokens,placeholder:String(h.contextTokens??""),onChange:j=>c({contextTokens:j.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:R||b||!s.maxIterations&&!s.contextTokens||s.maxIterations!==""&&(!Number.isInteger(Number(s.maxIterations))||Number(s.maxIterations)!==-1&&Number(s.maxIterations)<1)||s.contextTokens!==""&&(!Number.isInteger(Number(s.contextTokens))||Number(s.contextTokens)<1),"data-action":"runtime.control",onClick:()=>S("budget.set",{...s.maxIterations!==""?{maxIterations:Number(s.maxIterations)}:{},...s.contextTokens!==""?{contextTokens:Number(s.contextTokens)}:{}})},n.createElement(Pt,null),"Update limits"))),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Clear model context"),n.createElement("p",null,"Clear the model’s active context. The saved conversation remains in the app."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s.clearConfirm,"data-action":"view.update",onChange:j=>c({clearConfirm:j.target.checked})}),"I want to clear the active model context."),n.createElement("button",{className:"a-soft a-danger",disabled:!s.clearConfirm||R||b,"data-action":"runtime.control",onClick:()=>S("context.clear")},n.createElement(Qn,null),"Clear context"))),s.tab==="tools"&&n.createElement(n.Fragment,null,n.createElement(Yt,{as:"section",name:"runtime-catalog.inspect",busy:w("catalog.inspect"),className:"a-settings-section"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Tools"),n.createElement("p",null,"Inspect the actual tool schema, then invoke it through the session’s permission checks.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh tool catalog",disabled:b,"data-action":"runtime.control",onClick:()=>S("catalog.inspect")},n.createElement(zt,null))),n.createElement("label",{htmlFor:"runtime-tool"},"Tool"),n.createElement("select",{id:"runtime-tool","data-action":"view.update",value:s.tool,onChange:j=>c({tool:j.target.value,toolArgs:"{}"})},n.createElement("option",{value:""},"Choose a tool"),I.map(j=>n.createElement("option",{key:j.name,value:j.name},j.name))),N&&n.createElement(n.Fragment,null,n.createElement("p",null,N.description),n.createElement("pre",{className:"a-state-view"},hs(N.inputSchema)),n.createElement("label",{htmlFor:"runtime-tool-arguments"},"Arguments (JSON)"),n.createElement("textarea",{id:"runtime-tool-arguments",className:"a-json-editor",spellCheck:!1,value:s.toolArgs,"data-action":"view.update",onChange:j=>c({toolArgs:j.target.value})}),z&&n.createElement("p",{className:"a-danger"},z),n.createElement("button",{className:"a-primary",disabled:!!z||R||b,"data-action":"runtime.control",onClick:()=>S("tool.invoke",{name:s.tool,arguments:q})},n.createElement(lg,null),"Run tool")),M&&n.createElement("div",{className:"a-tool-result"},n.createElement("h4",null,"Tool result"),((Z=M.result)==null?void 0:Z.error)&&n.createElement("p",{className:"a-danger"},typeof M.result.error=="string"?M.result.error:hs(M.result.error)),n.createElement(pl,{text:typeof((D=M.result)==null?void 0:D.output)=="string"?M.result.output:hs(((G=M.result)==null?void 0:G.output)??M)}))),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Skills"),(d.skills||[]).length?n.createElement("ul",{className:"a-catalog-list"},d.skills.map(j=>n.createElement("li",{key:j.name},n.createElement("strong",null,j.name),n.createElement("p",null,j.description)))):n.createElement("p",null,"Inspect capabilities to see skills available in this bundle."),n.createElement("p",{className:"a-caption"},"Ask Amplifier to use a skill in the conversation, or select its loading tool above to inspect the exact arguments.")),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Available agents"),n.createElement("ul",{className:"a-catalog-list"},Object.entries(d.agents||{}).map(([j,K])=>{var oe;return n.createElement("li",{key:j},n.createElement("strong",null,j),n.createElement("p",null,K.description||((oe=K.meta)==null?void 0:oe.description)||""))})))),s.tab==="overview"&&n.createElement(dF,{sessionId:t.id,act:a}),s.tab==="overview"&&n.createElement(Uf,{state:e,session:t,act:a}),R&&n.createElement("p",{className:"a-caption"},"Changes and direct tool calls become available when this session and its workers are idle."))):n.createElement(Uf,{state:e,session:null,act:a})}const $f=e=>new Date(e*1e3).toLocaleString();function Bf({value:e}){return n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Technical environment details"),n.createElement("p",{className:"a-wrap"},e.host.label," · ",e.platform,n.createElement("br",null),"Python ",e.python.version,n.createElement("br",null),n.createElement("code",null,e.python.path),n.createElement("br",null),"Computer-use package: ",e.computerUsePackage.version||e.computerUsePackage.status))}function mF({state:e,session:t,act:a}){var M,k,T,A,q,z,F,H,ne;const r=JSON.stringify([t==null?void 0:t.id,(M=e.voice)==null?void 0:M.id,(k=e.voice)==null?void 0:k.status,(A=(T=e.voice)==null?void 0:T.visual)==null?void 0:A.id,(q=e.computerVisual)==null?void 0:q.id,(z=e.computerVisual)==null?void 0:z.available,(F=e.computerVisual)==null?void 0:F.sessionId,(H=e.updates)==null?void 0:H.installedAt]),o=g.useRef(0),[i,s]=g.useState(null),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(!1),[h,f]=g.useState("");g.useEffect(()=>(o.current++,s(null),c(!1),d(""),()=>{o.current++}),[r]);const v=(i==null?void 0:i.context)===r?i.value:null,y=v==null?void 0:v.worker,E=y==null?void 0:y.computerControl,b=v==null?void 0:v.featureSetup,x=Object.values(((ne=e.updates)==null?void 0:ne.featureResults)||{}).filter(B=>B.feature==="native-desktop"),w=x.sort((B,P)=>P.updatedAt-B.updatedAt)[0],R=p||(b==null?void 0:b.pending)||x.some(B=>["queued","staging","qualified","activating","restart_pending"].includes(B.phase));async function S(){if(!(p||!v)){m(!0),f("");try{const B=await a("updates.featureInstall",{feature:"native-desktop",hostInstanceId:v.host.instanceId});if(!(B!=null&&B.accepted)||!B.requestId)throw Error("The installation request could not be confirmed. Inspect Updates before retrying.")}catch(B){f(B.message)}finally{m(!1)}}}async function I(){const B=++o.current;c(!0),d("");try{const P=await a("desktop.readiness",t!=null&&t.id?{sessionId:t.id}:{});if(B!==o.current)return;if(!(P!=null&&P.result)||P.result.sessionId!==((t==null?void 0:t.id)||null))throw Error("Readiness did not return for this conversation. Check again.");s({context:r,value:P.result})}catch(P){B===o.current&&(d(P.message),s(null))}finally{B===o.current&&c(!1)}}const N=(B="",P="{}")=>a("view.update",{patch:{...$w("runtime"),runtimeDraft:{tab:"tools",tool:B,toolArgs:P}}});return n.createElement("section",{"aria-label":"Desktop and browser readiness"},n.createElement("p",null,"Check which device and environment supply screen observation and optional computer or browser tools."),n.createElement("p",null,"Checking does not enable desktop control, capture a screen, request OS permission, start a conversation runtime or change your model."),n.createElement("button",{className:"a-soft","data-action":"desktop.readiness",disabled:l,onClick:I},l?"Checking…":"Check desktop and browser setup"),u&&n.createElement("p",{role:"alert"},u),w&&n.createElement("p",{role:"status"},"Native feature request: ",w.phase.replaceAll("_"," "),". ",w.detail),h&&n.createElement("p",{role:"alert"},h),v&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Checked ",$f(v.observedAt),". This is a setup snapshot; check again after changing the host, tools or permissions."),n.createElement("section",{"aria-label":"Native screen observation"},n.createElement("h4",null,"Native screen observation"),n.createElement("p",null,"The serving app host can differ from your browser device and the conversation worker."),n.createElement(Bf,{value:v.host}),n.createElement("p",{role:"status"},"Native observation: ",v.nativeObservation.available?"ready for explicit consent":v.nativeObservation.code||v.nativeObservation.status),v.nativeObservation.reason&&n.createElement("p",{className:"a-wrap"},v.nativeObservation.reason),n.createElement("p",null,v.nativeObservation.nextStep),b!=null&&b.supported?n.createElement(n.Fragment,null,b.installedExtras.includes("native-desktop")?n.createElement("p",null,"The native observation package is installed. OS permission and consent for this conversation and browser are separate."):n.createElement(n.Fragment,null,n.createElement("p",null,b.detail),n.createElement("button",{className:"a-soft","data-action":"updates.featureInstall",disabled:R||!!h,onClick:S},"Install native screen observation"))):(b==null?void 0:b.reason)&&n.createElement("p",null,b.reason),n.createElement("p",{className:"a-caption"},"The Python path identifies the executing interpreter. It does not identify which parent application macOS lists in Screen Recording settings.")),n.createElement("section",{"aria-label":"Browser screen observation"},n.createElement("h4",null,"Shared screen source"),v.voiceObservation.source?n.createElement("p",null,"Selected ",v.voiceObservation.source.kind,": ",v.voiceObservation.source.label,". Permission expires ",$f(v.voiceObservation.expiresAt),"."):n.createElement("p",null,"No source is shared for this conversation in this browser."),n.createElement("p",null,v.voiceObservation.nextStep),n.createElement("p",{className:"a-caption"},v.voiceObservation.browserContext)),n.createElement("section",{"aria-label":"Conversation computer tools"},n.createElement("h4",null,"Conversation computer and browser tools"),y.status!=="available"?n.createElement("p",null,y.reason):n.createElement(n.Fragment,null,n.createElement(Bf,{value:y}),n.createElement("p",null,"Computer control: ",E.status.replaceAll("_"," "),". Mounted tools are separate from native screen observation."),E.detail&&n.createElement("p",{className:"a-wrap"},E.detail),n.createElement("p",{className:"a-wrap"},"Mounted tools: ",y.mountedTools.join(", ")||"none"),n.createElement("details",null,n.createElement("summary",null,"Configured tool modules"),n.createElement("ul",null,y.modules.map(B=>n.createElement("li",{key:B.id},B.module," (",B.enabled?"enabled":"disabled",")")))),n.createElement("p",{className:"a-caption"},y.browserContext.reason),E.status==="unavailable"&&n.createElement(n.Fragment,null,n.createElement("p",null,"The computer-use module could not mount a working backend. Its existing setup tool can discover candidate targets, explicitly activate one, and separately persist that choice."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>N("computer_use_unavailable",'{"action":"discover"}')},"Open computer target setup")),E.status==="not_mounted"&&n.createElement("p",null,"Review a computer-use bundle or connect a browser adapter in Smart Tools. A skill or installed library alone does not mount these tools in this conversation."),E.doctorSupported&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>N("desktop",'{"action":"doctor"}')},"Open desktop doctor"),n.createElement("p",{className:"a-caption"},"In Session tools, refresh the catalog and run the prefilled doctor action. It is a prompt-free, no-content diagnostic through normal session policy; policy approval may still be required. It does not clear a halt or prove physical capture/control. Remote facts retain their connection-time ages; guard state is the last recorded state.")),E.status==="mounted"&&!E.doctorSupported&&n.createElement("p",null,"The mounted desktop tool does not advertise doctor. Review its own schema in Session tools."))),n.createElement("section",{"aria-label":"Desktop setup actions"},n.createElement("h4",null,"Set up optional tools"),n.createElement("p",null,"Use bundle review to add or enable tools, and Smart Tools to inspect an adapter's published schemas, connection and reported account identity. Confirm target and account through that adapter before acting."),n.createElement("div",{className:"a-dialog-actions"},v.nextActions.map(B=>n.createElement("button",{className:"a-soft",key:B.label,"data-action":B.action,onClick:()=>a(B.action,B.args)},B.label))),n.createElement("p",null,n.createElement("a",{href:"https://github.com/microsoft/amplifier-bundle-computer-use",target:"_blank",rel:"noreferrer"},"Computer-use installation and target setup")))))}function ai(e,t=!1){if(!e||e.value==null)return(e==null?void 0:e.status)==="empty"?"No recorded calls":(e==null?void 0:e.status)==="pending"?"Pending":"Unavailable";const a=e.value.toLocaleString(void 0,{maximumFractionDigits:t?6:0}),r=[];return e.estimatedCalls>0&&r.push("includes estimates"),e.pendingCalls>0&&r.push(`${e.pendingCalls} pending`),e.unknownCalls>0&&r.push(`${e.unknownCalls} unavailable`),`${t?"$":""}${a}${r.length?" · "+r.join(" · "):""}`}function Hf(e){const{sessionId:t,scope:a,source:r,calls:o,metrics:i,providers:s,coverage:l,excludedUnboundCalls:c}=e.usage;return{observedAt:e.observedAt,sessionId:t,scope:a,source:r,calls:o,metrics:i,providers:s,coverage:l,excludedUnboundCalls:c}}function hF({sessionId:e,act:t}){var y;const[a,r]=g.useState(null),[o,i]=g.useState(!1),[s,l]=g.useState(""),[c,u]=g.useState(!1),d=g.useRef(0);async function p(){var b,x;const E=++d.current;i(!0),l(""),u(!1);try{const w=await t("capacity.read",{sessionId:e,limit:1});if((w==null?void 0:w.accepted)===!1||((x=(b=w==null?void 0:w.result)==null?void 0:b.usage)==null?void 0:x.sessionId)!==e)throw Error("Usage could not be read.");E===d.current&&r(w.result)}catch(w){E===d.current&&l(w.message||"Usage could not be read.")}finally{E===d.current&&i(!1)}}g.useEffect(()=>(r(null),p(),()=>{d.current++}),[e]);const m=((y=a==null?void 0:a.usage)==null?void 0:y.sessionId)===e?a:null,h=m==null?void 0:m.usage,f=(h==null?void 0:h.metrics)||{};async function v(){try{await navigator.clipboard.writeText(JSON.stringify(Hf(m),null,2)),u(!0)}catch{l("Clipboard unavailable. Expand the usage data to select and copy it.")}}return n.createElement("section",{"aria-label":"Conversation usage",className:"a-settings-section"},n.createElement("h3",null,"Conversation usage"),n.createElement("p",{className:"a-caption"},"Recorded model calls in this chat and its observed workers. Cumulative tokens are not the current context-window size."),m&&n.createElement(n.Fragment,null,n.createElement("p",null,h.calls," recorded model calls · Snapshot ",new Date(m.observedAt*1e3).toLocaleTimeString()),n.createElement("dl",{className:"a-capability-counts"},n.createElement("div",null,n.createElement("dt",null,"Total tokens including cache writes"),n.createElement("dd",null,ai(f.grossTotalTokens))),n.createElement("div",null,n.createElement("dt",null,"Cost (USD)"),n.createElement("dd",null,ai(f.costUsd,!0)))),n.createElement("details",null,n.createElement("summary",null,"Token and model breakdown"),n.createElement("dl",null,[["inputTokens","Input tokens (includes cache reads)"],["outputTokens","Output tokens"],["reasoningTokens","Reasoning tokens (part of output)"],["cacheReadTokens","Cache-read tokens"],["cacheWriteTokens","Cache-write tokens"]].map(([E,b])=>n.createElement("div",{key:E},n.createElement("dt",null,b),n.createElement("dd",null,ai(f[E]))))),h.providers.map(E=>n.createElement("p",{key:E.provider+"|"+E.model},E.provider," / ",E.model," · ",E.calls," calls · ",ai(E.metrics.grossTotalTokens)," tokens · ",ai(E.metrics.costUsd,!0)))),n.createElement("p",{className:"a-caption"},"Historical calls without telemetry and provider-internal retries may be missing. Unavailable values are not zero.",h.excludedUnboundCalls>0?` ${h.excludedUnboundCalls} records could not be bound to this chat and are excluded.`:"")),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"capacity.read",disabled:o,onClick:p},o?"Reading usage…":"Refresh usage"),m&&n.createElement("button",{type:"button",className:"a-soft",onClick:v},"Copy usage")),m&&n.createElement("details",null,n.createElement("summary",null,"Usage data"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(Hf(m),null,2))),c&&n.createElement("p",{role:"status"},"Usage copied"),s&&n.createElement("p",{role:"alert"},s))}function nk(e){return["working","running","starting","stopping"].includes(e.status)||e.configurationBusy||(e.workers||[]).some(t=>["queued","starting","running","working","stopping"].includes(t.status))}function ak({session:e,act:t}){var y,E;const[a,r]=g.useState(e.title||""),[o,i]=g.useState(!1),[s,l]=g.useState(""),c=g.useRef(!1),u=g.useRef(!1),d=e.autoName??(e.titleSource!=="manual"&&e.nativeNameSource!=="manual"),p=((y=e.naming)==null?void 0:y.status)==="working",[m,h]=g.useState(d);g.useEffect(()=>h(d),[d]),g.useEffect(()=>{c.current||r(e.title||"")},[e.title]);async function f(b){if(b.preventDefault(),!(u.current||!a.trim())){u.current=!0,i(!0),l("");try{const x=await t("session.rename",{id:e.id,title:a.trim()});if(!x||x.accepted===!1)throw Error("Could not save the name. Your edit is kept.");c.current=!1,r(a.trim())}catch(x){l(x.message)}finally{u.current=!1,i(!1)}}}async function v(b){if(!u.current){u.current=!0,i(!0),l(""),"automatic"in b&&h(b.automatic);try{const x=await t("session.naming",{id:e.id,...b});if(!x||x.accepted===!1)throw Error("Could not update chat naming.")}catch(x){h(d),l(x.message)}finally{u.current=!1,i(!1)}}}return n.createElement(n.Fragment,null,n.createElement("form",{onSubmit:f,"aria-busy":o||p},n.createElement("label",{htmlFor:"session-title"},"Chat name"),n.createElement("div",{className:"a-chat-name-row"},n.createElement("input",{id:"session-title",value:a,disabled:o,required:!0,maxLength:200,onChange:b=>{c.current=!0,r(b.target.value),l("")}}),n.createElement("label",{className:"a-chat-name-auto"},n.createElement("input",{type:"checkbox","aria-label":"Automatic chat naming","data-action":"session.naming",checked:m,disabled:o,onChange:b=>v({automatic:b.target.checked})}),"Auto"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Regenerate chat name",title:"Generate a name from this conversation","data-action":"session.naming",disabled:o||p||a!==e.title,onClick:()=>v({regenerate:!0})},n.createElement(zt,{className:p?"a-name-spinning":void 0}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"submit",className:"a-soft","data-action":"session.rename",disabled:o||!a.trim()||a===e.title},o?"Saving…":"Save name")),p&&n.createElement("p",{role:"status"},"Generating chat name…"),(s||((E=e.naming)==null?void 0:E.error))&&n.createElement("p",{role:"alert",className:"a-danger"},s||e.naming.error)),n.createElement(fF,{key:e.id,session:e,act:t}))}function fF({session:e,act:t}){const[a,r]=g.useState(e.health),[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(""),d=g.useRef(!1);g.useEffect(()=>{r(e.health),u(""),l("")},[e.id,e.health,e.status,e.failure]);async function p(){var w;if(!d.current){d.current=!0,i("inspect"),l("");try{const R=await t("session.inspect",{id:e.id});if(!R||R.accepted===!1)throw Error("Could not inspect this conversation.");if((w=R.result)!=null&&w.stale)throw Error("The conversation changed while reading its diagnostics. Try copying again.");return r(R.result),R.result}catch(R){l(R.message)}finally{d.current=!1,i("")}}}g.useEffect(()=>{p()},[e.id]);async function m(){if(!d.current){d.current=!0,i("recover"),l("");try{const w=await t("session.recover",{id:e.id});if(!w||w.accepted===!1)throw Error("Could not create the recovery copy.")}catch(w){l(w.message)}finally{d.current=!1,i("")}}}async function h(w,R){try{await navigator.clipboard.writeText(w),u(R)}catch{l("Clipboard unavailable. Select and copy the session ID below.")}}async function f(){var R;if(d.current)return;const w=p();if((R=navigator.clipboard)!=null&&R.write&&typeof ClipboardItem<"u"){const S=w.then(I=>{if(!I)throw Error("Diagnostics unavailable");return new Blob([JSON.stringify(I,null,2)],{type:"text/plain"})});S.catch(()=>{});try{await navigator.clipboard.write([new ClipboardItem({"text/plain":S})]),u("Diagnostics copied")}catch{l(I=>I||"Clipboard unavailable. Select and copy the session ID below.")}}else{const S=await w;S&&await h(JSON.stringify(S,null,2),"Diagnostics copied")}}const v=a!=null&&a.status&&a.status!==e.status?void 0:a,y=Fu(e),E=(v==null?void 0:v.failure)||e.failure,b=(v==null?void 0:v.moduleFailures)||e.moduleFailures||[],x=nk(e);return n.createElement("div",{className:"a-conversation-details","aria-busy":!!o},n.createElement("div",null,n.createElement("p",null,n.createElement("strong",null,"Session ID"),n.createElement("span",{className:"a-session-identity"},n.createElement("code",null,y),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy session ID",title:"Copy session ID",onClick:()=>h(y,"Session ID copied")},n.createElement(ar,null)))),y!==e.id&&n.createElement("p",null,"App ID: ",n.createElement("code",{style:{overflowWrap:"anywhere"}},e.id)),n.createElement("p",{style:{overflowWrap:"anywhere"}},e.workspace,n.createElement("br",null),"Bundle: ",e.bundle," · Status: ",e.status),(E||e.error||b.length>0)&&(b.length>0?n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,"Configured modules could not load")),n.createElement("ul",null,b.map((w,R)=>n.createElement("li",{key:R},n.createElement("strong",null,w.module),": ",w.guidance)))):n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,(E==null?void 0:E.summary)||"The turn failed. Inspect the recorded details for its cause.")),n.createElement("p",null,(E==null?void 0:E.guidance)||"Work was not automatically replayed."),E&&n.createElement("p",null,"Recorded error: ",E.errorType,E.recordedAt?" · "+new Date(E.recordedAt*1e3||E.recordedAt).toLocaleString():""),e.error&&n.createElement("details",null,n.createElement("summary",null,"Runtime message"),n.createElement("p",{style:{overflowWrap:"anywhere"}},e.error)))),n.createElement("p",null,"Create an independent copy with readable history. Old tool calls and image payloads stay in the original; reattach images if needed. Safety stops remain in effect. Nothing runs until you send a new message."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"session.recover",disabled:!!o||x,onClick:m},o==="recover"?"Creating recovery copy…":"Create recovery copy"),n.createElement("button",{type:"button",className:"a-soft",disabled:!!o,onClick:f},"Copy diagnostics")),x&&n.createElement("p",null,"Wait for the current work to stop before creating a copy.")),c&&n.createElement("p",{role:"status"},c),s&&n.createElement("p",{role:"alert",className:"a-danger"},s),n.createElement(hF,{key:e.id,sessionId:e.id,act:t}))}function gF({state:e,session:t,act:a}){var d,p;const[r,o]=g.useState(!1);if(!(t!=null&&t.error))return t!=null&&t.recovery?n.createElement("p",{className:"a-hint"},"Recovery copy · Readable history retained. Old tool and image payloads remain in the original conversation. No work was replayed."):null;const i=(p=(d=e.attention)==null?void 0:d.items)==null?void 0:p.find(m=>m.id==="session:"+t.id),s=t.failure,l=(s==null?void 0:s.category)==="context_limit",c=nk(t);async function u(){if(!(r||c)){o(!0);try{await a("session.recover",{id:t.id})}finally{o(!1)}}}return i!=null&&i.read?null:l?n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,n.createElement("strong",null,"Context limit reached.")," ",s.summary," ",s.guidance),n.createElement("button",{type:"button",className:"a-link","data-action":"session.recover",disabled:r||c,onClick:u},r?"Creating recovery copy…":"Create recovery copy"),i&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[i])},n.createElement(tn,null))):n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,n.createElement("strong",null,"Conversation stopped.")," ",(s==null?void 0:s.summary)||"The last turn failed. Your conversation is saved; work was not automatically replayed."),i&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[i])},n.createElement(tn,null)))}function vF({session:e,act:t}){const[a,r]=g.useState(""),[o,i]=g.useState("workspace"),[s,l]=g.useState(null),[c,u]=g.useState(null),[d,p]=g.useState(null),[m,h]=g.useState([]),[f,v]=g.useState(null),[y,E]=g.useState(""),[b,x]=g.useState("task"),[w,R]=g.useState("available"),[S,I]=g.useState(null),[N,M]=g.useState(""),[k,T]=g.useState(!1),[A,q]=g.useState(null),z=g.useRef(!0),F=g.useRef(!1),H=g.useRef(null),ne=e==null?void 0:e.id,B=g.useRef(ne);B.current=ne,g.useEffect(()=>{H.current=null,u(null),p(null),h([]),v(null),I(null),E(""),l(null),q(null),M("")},[ne]),g.useEffect(()=>(z.current=!0,()=>{z.current=!1}),[]);async function P(j,K,oe){if(!F.current){F.current=!0,T(!0),M("");try{const xe=await t(j,{sessionId:ne,...K});if(!(xe!=null&&xe.accepted))throw Error("The request was not accepted.");return z.current&&B.current===ne&&(oe==null||oe(xe.result)),xe.result}catch(xe){z.current&&M(xe.message)}finally{F.current=!1,z.current&&T(!1)}}}g.useEffect(()=>{if(!ne||(s==null?void 0:s.status)!=="indexing")return;const j=setInterval(()=>P("recall.status",{},l),750);return()=>clearInterval(j)},[ne,s]),g.useEffect(()=>{ne&&!k&&!F.current&&H.current!==ne&&(H.current=ne,P("memory.status",{},q))},[ne,k]),g.useEffect(()=>{if(!(A!=null&&A.running))return;const j=setInterval(()=>P("memory.status",{},q),750);return()=>clearInterval(j)},[ne,A==null?void 0:A.running]);const _=j=>P("memory.configure",{expectedRevision:A.settings.revision,...j},q),ee=(j=0)=>P("recall.search",{query:a,scope:o,offset:j},K=>{u(oe=>j?{...K,items:[...oe.items,...K.items]}:K),l(K.coverage)}),Z=(j=0,K=w)=>P("memory.list",{scope:K,offset:j},oe=>{h(xe=>j?[...xe,...oe.items]:oe.items),v(oe.nextOffset)}),D=j=>P("recall.read",{sourceSessionId:j.sessionId,messageId:j.messageId,sourceRevision:j.sourceRevision},p),G=async j=>{j.preventDefault(),await P(S?"memory.update":"memory.create",{...S?{id:S.id,expectedRevision:S.revision,allScopes:w==="all"}:{scope:b},text:y})&&(E(""),I(null),await Z())};return ne?n.createElement(n.Fragment,null,n.createElement("section",{className:"a-settings-section","aria-label":"Automatic memory"},n.createElement("h3",null,"Automatic memory"),n.createElement("p",null,"Workspace references can capture your stated preferences, settled decisions, and approaches you said worked. Review their exact sources and correct them when needed."),A&&n.createElement(n.Fragment,null,n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.contribute,disabled:k,"data-action":"memory.configure",onChange:j=>_({contribute:j.target.checked})}),"Save useful details from this workspace"),n.createElement("p",null,"Saving memory uses your chosen AI models and may incur provider charges. Review saved details to correct mistakes."),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.use,disabled:k,"data-action":"memory.configure",onChange:j=>_({use:j.target.checked})}),"Use saved memory in this workspace"),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.excludedSessions.includes(ne),disabled:k,"data-action":"memory.configure",onChange:j=>_({excludedSessions:j.target.checked?[...A.settings.excludedSessions,ne]:A.settings.excludedSessions.filter(K=>K!==ne)})}),"Exclude this conversation from contribution and automatic use"),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Memory activity & limits"),n.createElement("div",null,n.createElement("p",null,"Up to ",A.settings.maxCallsPerDay," model attempts per day, 16,000 source characters and 4,096 output tokens per attempt. Only attributable user statements qualify."),n.createElement("label",{htmlFor:"memory-call-limit"},"Maximum model attempts per day"),n.createElement("input",{id:"memory-call-limit",type:"number",min:1,max:10,disabled:k,value:A.settings.maxCallsPerDay,onChange:j=>{const K=Number(j.target.value);K>=1&&K<=10&&_({maxCallsPerDay:K})}}),n.createElement("button",{type:"button",className:"a-soft",disabled:k||A.running||!A.settings.contribute,"data-action":"memory.consolidate",onClick:()=>P("memory.consolidate",{},q)},"Consolidate eligible past conversations"),n.createElement("p",{role:"status"},A.running?"Consolidating…":"No consolidation running",". Saved references remain inspectable when contribution or use is off."),A.activity&&n.createElement("p",null,A.activity.status,A.activity.reason?" · "+A.activity.reason:""),A.attempts.map(j=>n.createElement("p",{key:j.id},"Conversation ",j.sessionId,": ",j.status,j.saved?` · ${j.saved.length} saved`:"",j.reason?` · ${j.reason}`:"",j.model?` · ${j.model}`:"")),A.lastContext&&n.createElement("div",{"aria-label":"Last memory context"},n.createElement("strong",null,"Last context supplied"),A.lastContext.items.length?A.lastContext.items.map(j=>n.createElement("p",{key:j.id},j.id," · revision ",j.revision," · matched ",j.matchTerms.join(", "))):n.createElement("p",null,"No relevant memory was selected."))))),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.status",onClick:()=>P("memory.status",{},q)},"Refresh memory activity")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Find past work"),n.createElement("section",{className:"a-settings-section","aria-label":"Indexed recall"},n.createElement("p",null,"Search saved conversation text. Reading a result leaves your current conversation and draft in place."),n.createElement("button",{type:"button",className:"a-soft",disabled:k||(s==null?void 0:s.status)==="indexing","data-action":"recall.refresh",onClick:()=>P("recall.refresh",{},l)},"Update search index"),s&&n.createElement("p",{role:"status"},s.status," · ",s.indexed," of ",s.total??"unknown"," conversations indexed",s.errorCount?` · ${s.errorCount} unavailable`:"",". ",s.checkedAt?"Last checked "+new Date(s.checkedAt*1e3).toLocaleString():""),n.createElement("form",{onSubmit:j=>{j.preventDefault(),ee()}},n.createElement("label",{htmlFor:"recall-query"},"Search conversations, tasks and outputs"),n.createElement("input",{id:"recall-query",value:a,maxLength:500,onChange:j=>r(j.target.value)}),n.createElement("label",{htmlFor:"recall-scope"},"Search scope"),n.createElement("select",{id:"recall-scope",value:o,onChange:j=>i(j.target.value)},n.createElement("option",{value:"task"},"This conversation"),n.createElement("option",{value:"workspace"},"This workspace"),n.createElement("option",{value:"all"},"All registered conversations")),n.createElement("button",{type:"submit",className:"a-primary","data-action":"recall.search",disabled:k||!a.trim()},"Search past work")),c&&n.createElement(n.Fragment,null,n.createElement("p",null,"Matches contain all search terms. Coverage and source dates matter; an empty partial search does not prove nothing exists."),c.items.map(j=>n.createElement("div",{className:"a-selection-card",key:j.sessionId+j.messageId},n.createElement("strong",null,j.session.title),n.createElement("p",null,j.snippet),n.createElement("small",null,j.role,j.via==="call"?" · voice":""),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>D(j)},"Read source"))),c.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>ee(c.nextOffset)},"More matches")),d&&n.createElement("div",{className:"a-selection-card","aria-label":"Verified source"},n.createElement("strong",null,"Source verified for this read"),n.createElement("pre",{className:"a-state-view",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},d.text),n.createElement("small",null,"Conversation ",d.sessionId," · ",d.sourceKind==="message"?"message":"record"," ",d.recordId||d.messageId),d.nextOffset!=null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>P("recall.read",{sourceSessionId:d.sessionId,messageId:d.messageId,sourceRevision:d.sourceRevision,offset:d.nextOffset},j=>p(K=>({...j,text:K.text+j.text})))},"Read more")))),n.createElement("section",{className:"a-settings-section","aria-label":"Saved memory"},n.createElement("h3",null,"Saved memory"),n.createElement("p",null,"Notes are reference material. They do not grant permission or start work. Automatic contribution and use are separately controlled above."),n.createElement("label",{htmlFor:"memory-view"},"Inspect scope"),n.createElement("select",{id:"memory-view",disabled:k,value:w,onChange:j=>{R(j.target.value),Z(0,j.target.value)}},n.createElement("option",{value:"available"},"Notes for this work"),n.createElement("option",{value:"all"},"All saved notes, including removed chats")),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.list",onClick:()=>Z()},"Inspect saved memory"),n.createElement("form",{onSubmit:G},n.createElement("label",{htmlFor:"memory-text"},"Memory note"),n.createElement("textarea",{id:"memory-text",disabled:k,value:y,maxLength:8e3,rows:4,onChange:j=>E(j.target.value)}),!S&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"memory-scope"},"Remember for"),n.createElement("select",{id:"memory-scope",disabled:k,value:b,onChange:j=>x(j.target.value)},n.createElement("option",{value:"task"},"This conversation"),n.createElement("option",{value:"workspace"},"This workspace"),n.createElement("option",{value:"global"},"All work"))),n.createElement("button",{type:"submit",className:"a-primary","data-action":S?"memory.update":"memory.create",disabled:k||!y.trim()},S?"Save correction":"Save memory"),S&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>{I(null),E("")}},"Cancel edit")),m.map(j=>{var K;return n.createElement("div",{key:j.id,className:"a-selection-card"},n.createElement("strong",null,j.scope," · revision ",j.revision),j.supersededBy&&n.createElement("p",null,"Superseded by ",j.supersededBy,"; excluded from automatic context."),n.createElement("p",{style:{whiteSpace:"pre-wrap"}},j.text),n.createElement("small",null,"Saved through ",j.provenance.origin,j.provenance.wording?" · "+j.provenance.wording:""),((K=j.source)==null?void 0:K.quote)&&n.createElement("blockquote",null,j.source.quote),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.read",onClick:()=>P("memory.read",{id:j.id,allScopes:w==="all"},oe=>{I(oe),E(oe.text)})},"Inspect or correct"),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.delete",onClick:async()=>{await P("memory.delete",{id:j.id,expectedRevision:j.revision,allScopes:w==="all"})&&((S==null?void 0:S.id)===j.id&&(I(null),E("")),await Z())}},"Delete memory")),j.source&&n.createElement("button",{type:"button",className:"a-link",disabled:k,onClick:()=>j.source.kind==="attributed-user"?P("memory.source",{id:j.id},p):D(j.source)},"Read original source"))}),f!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>Z(f)},"More saved notes"),S&&n.createElement("details",null,n.createElement("summary",null,"Retained revisions (",S.versions.length,", up to 50)"),S.versions.map(j=>n.createElement("p",{key:j.revision},"Revision ",j.revision,": ",j.text))),n.createElement("p",null,"Deleting removes the saved note and its retained revisions. Original chats and existing private backups remain.")),N&&n.createElement("p",{role:"alert",className:"a-danger"},N)):n.createElement("p",null,"Open a conversation to manage memory for its workspace. Your existing memory settings are kept.")}function rk(e){return n.createElement(bF,{key:e.session.id,...e})}function bF({session:e,state:t,act:a}){var k,T,A;const[r,o]=g.useState("all"),[i,s]=g.useState(!1),l=(e.messages||[]).filter(q=>q.id&&["user","assistant"].includes(q.role)&&!q.streaming),[c,u]=g.useState(((k=l[0])==null?void 0:k.id)||""),[d,p]=g.useState(((T=l.at(-1))==null?void 0:T.id)||""),[m,h]=g.useState(null),[f,v]=g.useState(!1),[y,E]=g.useState(""),b=g.useRef(0);g.useEffect(()=>()=>{b.current++},[]);const x=(A=t.view)==null?void 0:A.conversationExport,w=(x==null?void 0:x.sessionId)===e.id?x:null,R=f||(w==null?void 0:w.status)==="pending",S=q=>{b.current++,h(null),E(""),q()},I=async()=>{var z;const q=++b.current;v(!0),E(""),h(null);try{const F=await a("session.export",{id:e.id,format:"markdown",destination:"none",scope:r,minimal:i,...r!=="all"?{fromMessageId:c}:{},...r==="range"?{throughMessageId:d}:{}});if(q!==b.current)return;if(!((z=F==null?void 0:F.result)!=null&&z.snapshotId))throw Error("The export could not be prepared. Please try again.");const H=F.result,ne=await Ct(H.url,{cache:"no-store"});if(typeof ne.content!="string")throw Error("The reviewed export is unavailable.");q===b.current&&h({...H,text:ne.content})}catch(F){q===b.current&&E(F.message||"The export could not be prepared.")}finally{q===b.current&&v(!1)}},N=async q=>{E("");try{await a("session.exportDeliver",{id:e.id,snapshotId:m.snapshotId,destination:q})}catch(z){E(z.message||"The export could not be delivered.")}},M=l.map((q,z)=>n.createElement("option",{key:q.id+":"+z,value:q.id},z+1,". ",q.role==="user"?"You":"Amplifier",": ",String(q.text||"").replace(/\s+/g," ").slice(0,90)));return n.createElement("div",null,n.createElement("p",{className:"a-caption"},"Preview user-visible conversation text before copying or downloading. Full exports include history outside the loaded page. Voice exchanges are included; files are referenced, never embedded."),n.createElement("label",{className:"a-field"},"Export scope",n.createElement("select",{"aria-label":"Export scope",value:r,disabled:R,onChange:q=>S(()=>o(q.target.value))},n.createElement("option",{value:"all"},"Full conversation"),n.createElement("option",{value:"from",disabled:!l.length},"From a message onward"),n.createElement("option",{value:"range",disabled:!l.length},"Selected message range"))),r!=="all"&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Choose boundaries from loaded messages. Load earlier messages in the chat to choose an older starting point."),n.createElement("label",{className:"a-field"},"Starting message",n.createElement("select",{"aria-label":"Starting message",value:c,disabled:R,onChange:q=>S(()=>u(q.target.value))},M)),r==="range"&&n.createElement("label",{className:"a-field"},"Ending message",n.createElement("select",{"aria-label":"Ending message",value:d,disabled:R,onChange:q=>S(()=>p(q.target.value))},M))),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:i,disabled:R,onChange:q=>S(()=>s(q.target.checked))})," Minimal context: omit conversation identifiers"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:R,onClick:I},f?"Preparing preview…":m?"Refresh preview":"Preview Markdown"),n.createElement("button",{type:"button",className:"a-link","data-action":"session.export",disabled:R,onClick:()=>a("session.export",{id:e.id})},"Export JSON")),m&&n.createElement("section",{"aria-label":"Conversation export preview"},n.createElement("p",null,m.summary.messageCount," messages · ",m.summary.bytes.toLocaleString()," bytes · ",m.summary.attachmentCount," attachment references · ",m.summary.artifactCount," artifact references"),n.createElement("p",{className:"a-caption"},"Captured ",new Date(m.capturedAt).toLocaleString(),". Copy and download use this exact preview, even if the conversation continues."),m.summary.omissions.map(q=>n.createElement("p",{className:"a-caption",key:q},q)),n.createElement("textarea",{"aria-label":"Reviewed Markdown",readOnly:!0,value:m.text,rows:10,style:{width:"100%",maxWidth:"100%",boxSizing:"border-box"}}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"session.exportDeliver",disabled:R,onClick:()=>N("clipboard")},n.createElement(ar,null),"Copy Markdown"),n.createElement("button",{type:"button",className:"a-soft","data-action":"session.exportDeliver",disabled:R,onClick:()=>N("download")},n.createElement(Ea,null),"Download Markdown"))),y&&n.createElement("p",{role:"alert"},y),w&&n.createElement("p",{role:w.status==="error"?"alert":"status"},w.status==="pending"?"Delivering reviewed export…":w.message))}function yF({session:e,act:t}){var de,ve;const[a,r]=g.useState([]),[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(null),[d,p]=g.useState(!1),[m,h]=g.useState(""),[f,v]=g.useState("file"),[y,E]=g.useState(""),[b,x]=g.useState(""),[w,R]=g.useState(""),[S,I]=g.useState(""),[N,M]=g.useState("document"),[k,T]=g.useState(null),[A,q]=g.useState("unstaged"),[z,F]=g.useState(""),[H,ne]=g.useState(""),[B,P]=g.useState(""),[_,ee]=g.useState(""),[Z,D]=g.useState("right"),[G,j]=g.useState(""),K=g.useRef(!1),oe=e==null?void 0:e.id;async function xe(O,W,ae){if(!K.current){K.current=!0,p(!0),h("");try{const ze=await t(O,{sessionId:oe,...W});if(!(ze!=null&&ze.accepted))throw Error("The request was not accepted.");return ae==null||ae(ze.result),ze.result}catch(ze){h(ze.message)}finally{K.current=!1,p(!1)}}}const ce=(O=0,W=s)=>xe("outputs.list",{includeUnlinked:W,offset:O},ae=>{r(ze=>O?[...ze,...ae.items]:ae.items),i(ae.nextOffset)}),_e=O=>xe("outputs.read",{id:O},u),$e=async(O,W)=>{const ae=await xe(O,W,u);return ae&&await ce(),ae},De=async()=>{let O=await xe("outputs.read",{id:c.id});if(!O)return;let W=O.text||"";for(;O.nextOffset!==null&&O.nextOffset!==void 0;){if(O=await xe("outputs.read",{id:c.id,offset:O.nextOffset}),!O)return;W+=O.text||""}I(W),M(c.variant||"document"),E(c.title),T(c.id)};return oe?n.createElement("section",{"aria-label":"Output relationships"},n.createElement("h3",null,"Outputs & review"),n.createElement("p",null,"Keep exact saved versions, their origin and review notes with this conversation."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s,disabled:d,onChange:O=>{l(O.target.checked),ce(0,O.target.checked)}}),"Include unlinked outputs"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.list",onClick:()=>ce()},"Inspect outputs"),a.map(O=>n.createElement("div",{className:"a-selection-card",key:O.id},n.createElement("strong",null,O.title),n.createElement("p",null,O.kind," · version ",O.version," · ",O.linked?"linked":"unlinked"),n.createElement("small",null,O.versionEvidence==="snapshot"?"Saved exact content":O.externalVersion?"Version reference: "+O.externalVersion:"External reference; version unknown"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.read",onClick:()=>_e(O.id)},"Read saved output"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":O.linked?"outputs.unlink":"outputs.relink",onClick:async()=>{await xe(O.linked?"outputs.unlink":"outputs.relink",{id:O.id,expectedRevision:O.revision})&&((c==null?void 0:c.id)===O.id&&u(null),await ce())}},O.linked?"Unlink":"Restore link")))),o!==null&&n.createElement("button",{type:"button",disabled:d,className:"a-soft",onClick:()=>ce(o)},"More outputs"),c&&n.createElement("div",{className:"a-selection-card","aria-label":"Saved output detail"},n.createElement("h4",null,c.title),n.createElement("p",null,c.versionEvidence==="snapshot"?"Immutable saved content":"External reference only; remote contents were not fetched."),c.text!==void 0&&n.createElement("pre",{className:"a-state-view",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},c.text),c.nextOffset!==null&&c.nextOffset!==void 0&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:()=>xe("outputs.read",{id:c.id,offset:c.nextOffset},O=>u(W=>({...O,text:W.text+O.text})))},"Read more"),c.downloadUrl&&n.createElement("a",{href:c.downloadUrl,download:!0},"Download exact version"),c.binary&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.image",onClick:()=>xe("outputs.image",{id:c.id,sha256:c.sha256},O=>u(W=>({...W,image:O})))},"View saved PNG"),c.image&&n.createElement("figure",null,n.createElement("img",{src:c.image.imageUrl,alt:"Saved output: "+c.title,style:{maxWidth:"100%",height:"auto"}}),n.createElement("figcaption",null,"Exact saved image · ",c.image.width," × ",c.image.height,". Viewing does not send a message.")),c.url&&n.createElement("a",{href:c.url,target:"_blank",rel:"noopener noreferrer"},"Open external reference"),n.createElement("p",null,"Origin: ",c.origin.source,c.origin.messageId?" · message "+c.origin.messageId:" · no originating message supplied"),c.sha256&&n.createElement("small",{style:{overflowWrap:"anywhere"}},"Content hash: ",c.sha256),c.parentId&&n.createElement("button",{type:"button",className:"a-link",disabled:d,onClick:()=>_e(c.parentId)},"Read prior version"),(de=c.evidenceIds)==null?void 0:de.map(O=>n.createElement("button",{type:"button",className:"a-link",key:O,disabled:d,onClick:()=>_e(O)},"Read evidence ",O)),c.kind==="writing"&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:De},"Edit as a new version"),n.createElement("h4",null,"Local review notes"),c.nextCommentOffset!==null&&c.nextCommentOffset!==void 0&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:()=>xe("outputs.read",{id:c.id,commentOffset:c.nextCommentOffset},O=>u(W=>({...W,comments:[...W.comments||[],...O.comments],nextCommentOffset:O.nextCommentOffset})))},"More review notes"),(ve=c.comments)==null?void 0:ve.map(O=>n.createElement("p",{key:O.id},O.path&&`${O.path}:${O.line} (${O.side}) · `,O.body)),n.createElement("form",{onSubmit:async O=>{O.preventDefault(),await xe("outputs.comment",{id:c.id,body:B,..._?{path:G,side:Z,line:Number(_)}:{}})&&(P(""),await _e(c.id))}},n.createElement("label",{htmlFor:"output-comment"},"Review note"),n.createElement("textarea",{id:"output-comment",disabled:d,value:B,onChange:O=>P(O.target.value),maxLength:8e3}),c.kind==="git_review"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"output-comment-path"},"Diff file (optional)"),n.createElement("input",{id:"output-comment-path",value:G,disabled:d,onChange:O=>j(O.target.value)}),n.createElement("label",{htmlFor:"output-comment-line"},"Displayed line (optional)"),n.createElement("input",{id:"output-comment-line",type:"number",min:"1",value:_,disabled:d,onChange:O=>ee(O.target.value)}),n.createElement("label",{htmlFor:"output-comment-side"},"Diff side"),n.createElement("select",{id:"output-comment-side",disabled:d,value:Z,onChange:O=>D(O.target.value)},n.createElement("option",{value:"right"},"Updated"),n.createElement("option",{value:"left"},"Original"))),n.createElement("button",{className:"a-primary",disabled:d||!B.trim(),"data-action":"outputs.comment"},"Save local review note")),n.createElement("p",null,"Review notes stay here. They are not posted to a remote service.")),n.createElement("h4",null,"Attach an output"),n.createElement("form",{onSubmit:O=>{O.preventDefault(),$e("outputs.attach",{kind:f,title:y,...f==="canvas"?{canvasId:b}:["file","dataset"].includes(f)?{path:b}:{url:b,...w?{version:w}:{}}})}},n.createElement("label",{htmlFor:"output-kind"},"Output type"),n.createElement("select",{id:"output-kind",value:f,disabled:d,onChange:O=>v(O.target.value)},["file","dataset","canvas","pull_request","external_document"].map(O=>n.createElement("option",{key:O,value:O},O.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"output-title"},"Output title"),n.createElement("input",{id:"output-title",value:y,disabled:d,maxLength:200,onChange:O=>E(O.target.value)}),n.createElement("label",{htmlFor:"output-location"},f==="canvas"?"Saved canvas ID":["file","dataset"].includes(f)?"File in this workspace":"External URL"),n.createElement("input",{id:"output-location",disabled:d,value:b,onChange:O=>x(O.target.value)}),["pull_request","external_document"].includes(f)&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"output-version"},"Version reference (optional)"),n.createElement("input",{id:"output-version",disabled:d,value:w,onChange:O=>R(O.target.value)})),n.createElement("button",{className:"a-primary",disabled:d||!y.trim()||!b.trim(),"data-action":"outputs.attach"},"Attach output")),n.createElement("h4",null,"Reusable writing"),n.createElement("form",{onSubmit:async O=>{O.preventDefault(),await $e("outputs.write",{title:y||"Writing",content:S,variant:N,...k?{parentId:k}:{}})&&T(null)}},n.createElement("label",{htmlFor:"writing-variant"},"Writing type"),n.createElement("select",{id:"writing-variant",value:N,disabled:d,onChange:O=>M(O.target.value)},["document","email","chat_message","social_post","standard"].map(O=>n.createElement("option",{key:O,value:O},O.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"writing-content"},"Writing content"),n.createElement("textarea",{id:"writing-content",rows:6,value:S,disabled:d,maxLength:1e5,onChange:O=>I(O.target.value)}),n.createElement("p",null,k?"Saving creates a new version; the prior version remains.":"Saving keeps a copy here; it does not send or publish."),n.createElement("button",{className:"a-primary",disabled:d||!S.trim(),"data-action":"outputs.write"},"Save writing version"),k&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>T(null)},"Start separate output")),n.createElement("h4",null,"Git review"),n.createElement("form",{onSubmit:O=>{O.preventDefault(),$e("outputs.review",{mode:A,...A==="branch"?{base:z}:{},...H?{path:H}:{}})}},n.createElement("label",{htmlFor:"review-mode"},"Changes to inspect"),n.createElement("select",{id:"review-mode",value:A,disabled:d,onChange:O=>q(O.target.value)},n.createElement("option",{value:"unstaged"},"Unstaged tracked changes"),n.createElement("option",{value:"staged"},"Staged changes"),n.createElement("option",{value:"branch"},"Base revision to HEAD")),A==="branch"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"review-base"},"Existing base revision"),n.createElement("input",{id:"review-base",value:z,disabled:d,onChange:O=>F(O.target.value)})),n.createElement("label",{htmlFor:"review-path"},"Relative file path (optional)"),n.createElement("input",{id:"review-path",value:H,disabled:d,onChange:O=>ne(O.target.value)}),n.createElement("button",{className:"a-primary",disabled:d||A==="branch"&&!z.trim(),"data-action":"outputs.review"},"Save review snapshot")),n.createElement("p",null,"Untracked files and binary contents are excluded. This only reads changes."),m&&n.createElement("p",{role:"alert"},m)):n.createElement("p",null,"Choose a conversation to inspect its outputs.")}const Pc=new Map;function EF(e){return Pc.has(e)||Pc.set(e,{pending:null,busy:!1,listeners:new Set}),Pc.get(e)}function ri(e){e.listeners.forEach(t=>t())}const eo=e=>typeof e=="string"?e:(e==null?void 0:e.message)||JSON.stringify(e||"The action failed."),Vf=(e,t)=>Object.assign(Error(e!=null&&e.error?eo(e.error):t),{code:e==null?void 0:e.code,state:e==null?void 0:e.state,receipt:e==null?void 0:e.receipt,status:e==null?void 0:e.status}),wF=e=>{var t;return(e==null?void 0:e.code)==="unknown_outcome"||["unknown","running"].includes(e==null?void 0:e.state)||["unknown","running"].includes((t=e==null?void 0:e.receipt)==null?void 0:t.state)},fs=e=>{try{const t=new URL(e);return["http:","https:"].includes(t.protocol)?t.href:null}catch{return null}},gs={targetId:"",label:"",hostname:"",username:"",python:"",socketPath:"",expectedBind:"127.0.0.1"};function kF({session:e,act:t}){var rt,wt,Dt,It,Qt,ie,he,Ne,Le,Ge,ft,vt,gt,Se,X,Ce,Fe,We,tt,yt;const a=e==null?void 0:e.id,r=EF(a),[,o]=g.useReducer(se=>se+1,0),i=((rt=r.pending)==null?void 0:rt.args.targetId)||"loopback",s=g.useRef(i),[l,c]=g.useState(i),[u,d]=g.useState(null),[p,m]=g.useState({...gs}),[h,f]=g.useState(0),[v,y]=g.useState(null),[E,b]=g.useState(((wt=r.pending)==null?void 0:wt.args.siteId)||""),[x,w]=g.useState(""),[R,S]=g.useState(((Dt=r.pending)==null?void 0:Dt.args.releaseId)||""),[I,N]=g.useState(""),[M,k]=g.useState(!1),[T,A]=g.useState(""),[q,z]=g.useState(""),[F,H]=g.useState(null),ne=g.useRef(!0),B=g.useRef(!1);g.useEffect(()=>(ne.current=!0,r.listeners.add(o),()=>{ne.current=!1,r.listeners.delete(o)}),[r]);const P=se=>{ne.current&&se()},_=(v==null?void 0:v.sites)||[],ee=(v==null?void 0:v.releases)||[],Z=_.find(se=>se.id===E),D=ee.find(se=>se.id===R&&se.siteId===E),G=(u==null?void 0:u.targets)||[],j=G.find(se=>se.id===l),K=r.busy||M,oe=K||!!r.pending,xe=ee.filter(se=>se.siteId===E),ce=(u==null?void 0:u.selectedTargetId)===l&&((j==null?void 0:j.kind)==="loopback"||((It=j==null?void 0:j.inspection)==null?void 0:It.revision)===(j==null?void 0:j.revision)&&u.selectedTargetRevision===j.revision&&u.selectedServiceId===((Qt=j.inspection)==null?void 0:Qt.serviceId)),_e=oe||!ce,$e=((ie=v==null?void 0:v.target)==null?void 0:ie.accessPolicy)||((Ne=(he=j==null?void 0:j.inspection)==null?void 0:he.capabilities)==null?void 0:Ne.accessPolicy);function De(se){s.current!==se&&(s.current=se,P(()=>{c(se),y(null),b(""),S(""),N(""),H(null)}))}async function de(se,Qe={},ot=s.current){const bt=await t(se,{sessionId:a,...se.startsWith("publishing.target.")?{}:{targetId:ot},...Qe});if(!(bt!=null&&bt.accepted))throw Vf(bt,"The server did not confirm this request.");return bt.result}async function ve({reconcile:se=!1,followSelection:Qe=!1,target:ot=s.current}={}){var Mt,St,jt;const bt=await de("publishing.target.list");if(P(()=>d(bt)),Qe&&(ot=((Mt=r.pending)==null?void 0:Mt.args.targetId)||bt.selectedTargetId||"loopback"),De(ot),(St=r.pending)!=null&&St.action.startsWith("publishing.target."))return bt;const ut=await de("publishing.list",{},ot);if(P(()=>y(ut)),se&&r.pending&&r.pending.args.targetId===ot){const st=(jt=ut.receipts)==null?void 0:jt.find(lt=>lt.requestId===r.pending.args.requestId);["unknown","running"].includes(st==null?void 0:st.state)?(r.pending={...r.pending,receipt:st},ri(r),P(()=>z(st.state==="unknown"?"The saved receipt records an unknown outcome. Nothing was replayed.":"The saved receipt is still running. Nothing was replayed."))):st&&["succeeded","failed"].includes(st.state)&&(r.pending=null,ri(r),P(()=>st.state==="failed"?A(eo(st.error)):z("The saved receipt confirms this request succeeded.")))}return ut}async function O(se="publishing.list",Qe=!0){if(!(r.busy||B.current)){B.current=!0,k(!0),A("");try{se==="publishing.list"?await ve({reconcile:Qe,followSelection:!0}):(H({action:se,value:await de(se,{siteId:E})}),se==="publishing.status"&&await ve())}catch(ot){A(ot.message)}finally{B.current=!1,k(!1)}}}g.useEffect(()=>{a&&O("publishing.list",!1)},[a]);async function W(se,Qe,ot=!1){var St,jt;if(r.busy||B.current||!ot&&r.pending)return;const bt=se==null?void 0:se.startsWith("publishing.target.");if(!ot&&!bt&&!ce){A("Inspect and select this exact target before starting another publishing action.");return}const ut=ot?r.pending:{action:se,args:{sessionId:a,...bt?{}:{targetId:s.current,...(j==null?void 0:j.kind)==="ssh"?{targetRevision:j.revision,serviceId:j.inspection.serviceId}:{},requestId:crypto.randomUUID()},...Qe}};if(!ut)return;const Mt=ut.action.startsWith("publishing.target.");r.pending=ut,r.busy=!0,ri(r),A(""),z("");try{const st=await t(ut.action,ut.args);if(!(st!=null&&st.accepted))throw Vf(st,"The connection ended before the outcome was confirmed.");const lt=st.result;if(Mt){if(!Array.isArray(lt==null?void 0:lt.targets))throw Error("The server returned no complete target state.");r.pending=null,P(()=>{d(lt),z(ut.action==="publishing.target.save"?"Target saved. No connection was made.":ut.action==="publishing.target.inspect"?"Target identity and capabilities inspected.":ut.action==="publishing.target.remove"?"Target configuration removed. Existing remote sites were not stopped.":"Publishing target selected.")}),ut.action==="publishing.target.save"&&P(()=>{var Ze;f(((Ze=lt.targets.find(Ot=>Ot.id===ut.args.targetId))==null?void 0:Ze.revision)??0),ut.args.targetId===s.current&&y(null)}),ut.action==="publishing.target.select"&&(De(lt.selectedTargetId),await ve({target:lt.selectedTargetId}))}else{if(!lt||(ut.action==="publishing.build"?!lt.id:!["succeeded","failed","unknown","running"].includes(lt.state)))throw Error("The server returned no complete publishing receipt.");(lt==null?void 0:lt.state)==="unknown"||(lt==null?void 0:lt.state)==="running"?(r.pending={...ut,receipt:lt},P(()=>A(eo(lt.error||"The outcome is not confirmed. Inspect receipts before continuing.")))):(lt==null?void 0:lt.state)==="failed"?(r.pending=null,P(()=>A(eo(lt.error)))):(r.pending=null,P(()=>{z(ut.action.slice(11)+" completed."),ut.action==="publishing.build"&&(b(lt.siteId),S(lt.id),N(""))}));try{await ve({target:ut.args.targetId})}catch(Ze){P(()=>A("The action returned, but the list could not refresh. "+Ze.message))}}}catch(st){const lt=["succeeded","failed"].includes((St=st.receipt)==null?void 0:St.state);if(wF(st)||ot&&ut.args.requestId&&!lt)["unknown","running"].includes((jt=st.receipt)==null?void 0:jt.state)&&(r.pending={...ut,receipt:st.receipt}),P(()=>A(st.message+" Keep this request unchanged until its outcome is known."));else if(lt||st.status>=400&&st.status<500&&st.status!==408){r.pending=null,P(()=>{var Ze;return((Ze=st.receipt)==null?void 0:Ze.state)==="succeeded"?z("The saved receipt confirms this request succeeded."):A(st.message)});try{if(Mt){const Ze=await de("publishing.target.list");P(()=>d(Ze))}else await ve({target:ut.args.targetId})}catch{}}else P(()=>A(st.message+" Keep this request unchanged until its outcome is known."))}finally{r.busy=!1,ri(r)}}function ae(){var se,Qe;r.busy||((Qe=(se=r.pending)==null?void 0:se.receipt)==null?void 0:Qe.state)!=="unknown"||(r.pending=null,ri(r),A(""),z("Unknown outcome acknowledged. Inspect the current site status. Any site marked unknown requires an explicit stop or remove action."))}function ze(se){b(se),S(""),N(""),H(null)}function Me(se){f(se.revision),m(Object.fromEntries(Object.keys(gs).map(Qe=>[Qe,Qe==="targetId"?se.id:se[Qe]||gs[Qe]])))}function be(se){se.preventDefault(),W("publishing.target.save",{...p,...p.username?{}:{username:void 0},expectedRevision:h})}return a?n.createElement("section",{className:"a-publishing","aria-label":"Managed publishing"},n.createElement("h3",null,"Publishing"),n.createElement("p",null,"Save a built site as an immutable release, preview it, record your review, and explicitly deploy that version."),n.createElement("div",{className:"a-selection-card","aria-label":"Publishing target"},n.createElement("strong",null,(j==null?void 0:j.label)||((Ge=(Le=v==null?void 0:v.target)==null?void 0:Le.host)==null?void 0:Ge.label)||"Local server"),n.createElement("p",null,"Target: ",n.createElement("code",null,l),(u==null?void 0:u.selectedTargetId)!==l&&u&&" · task selection: "+u.selectedTargetId),n.createElement("p",null,"Access: ",$e||(l==="loopback"?"loopback-only":"Not inspected")),u&&!ce&&n.createElement("p",null,"Inspect and select this exact target before starting another publishing action."),n.createElement("p",null,((ft=v==null?void 0:v.target)==null?void 0:ft.detail)||"URLs belong to the publishing service host."),n.createElement("p",{className:"a-caption"},"A loopback URL opens only on the service host. No tunnel, service installation, credentials, or public route is created here.")),n.createElement("details",{className:"a-publishing-targets"},n.createElement("summary",null,"Publishing targets for this task"),n.createElement("div",{"aria-label":"Publishing targets"},G.map(se=>{var bt;const Qe=((bt=se.inspection)==null?void 0:bt.revision)===se.revision?se.inspection:null,ot=Qe==null?void 0:Qe.capabilities;return n.createElement("div",{className:"a-selection-card",key:se.id,"aria-label":"Target "+se.id},n.createElement("h4",null,se.label),n.createElement("p",null,n.createElement("code",null,se.id)," · revision ",se.revision,u.selectedTargetId===se.id?u.selectedTargetRevision===se.revision?" · selected":" · configuration changed; inspect and select again":""),se.kind==="ssh"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Configured SSH destination: ",se.username?se.username+"@":"",se.hostname),n.createElement("p",null,"Expected bind: ",n.createElement("code",null,se.expectedBind),". Access policy is verified by inspection of the service."),Qe?n.createElement("dl",null,n.createElement("dt",null,"Inspected service"),n.createElement("dd",null,Qe.serviceId),n.createElement("dt",null,"Actual bind"),n.createElement("dd",null,ot==null?void 0:ot.bind),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,ot==null?void 0:ot.accessPolicy),n.createElement("dt",null,"Authentication"),n.createElement("dd",null,ot==null?void 0:ot.authentication)):n.createElement("p",null,"Not inspected. Service identity and access policy are unverified.")),n.createElement("div",{className:"a-dialog-actions"},se.kind==="ssh"&&n.createElement("button",{type:"button",className:"a-soft",disabled:oe,"data-action":"publishing.target.inspect",onClick:()=>W("publishing.target.inspect",{targetId:se.id,expectedRevision:se.revision})},"Inspect target"),n.createElement("button",{type:"button",className:"a-soft",disabled:oe||se.kind==="loopback"&&u.selectedTargetId===se.id||se.kind==="ssh"&&!Qe,"data-action":"publishing.target.select",onClick:()=>W("publishing.target.select",{targetId:se.id,expectedRevision:se.revision,...Qe?{serviceId:Qe.serviceId}:{}})},"Select target"),se.kind==="ssh"&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft",disabled:oe,onClick:()=>Me(se)},"Edit target"),n.createElement("button",{type:"button",className:"a-soft a-danger",disabled:oe||u.selectedTargetId===se.id,"data-action":"publishing.target.remove",onClick:()=>W("publishing.target.remove",{targetId:se.id,expectedRevision:se.revision})},"Remove target configuration"))))}),n.createElement("h4",null,"Save a target configuration"),n.createElement("p",null,"Use an existing SSH account and running publishing service. Saving these paths does not connect or install anything. Only unused configurations can be removed; configurations with publishing records remain available for control and audit. Removing a configuration does not stop sites on that service."),n.createElement("form",{onSubmit:be},[["targetId","Target ID"],["label","Target label"],["hostname","SSH hostname"],["username","SSH username (optional)"],["python","Remote Python path"],["socketPath","Remote service socket"],["expectedBind","Expected bind address"]].map(([se,Qe])=>n.createElement(n.Fragment,{key:se},n.createElement("label",{htmlFor:"publishing-target-"+se},Qe),n.createElement("input",{id:"publishing-target-"+se,value:p[se],required:se!=="username",disabled:oe,onChange:ot=>{se==="targetId"&&f(0),m(bt=>({...bt,[se]:ot.target.value}))}}))),n.createElement("button",{className:"a-primary",disabled:oe,"data-action":"publishing.target.save"},"Save target configuration"),n.createElement("button",{type:"button",className:"a-soft",disabled:oe,onClick:()=>{m({...gs}),f(0)}},"Clear target form")))),n.createElement("button",{type:"button",className:"a-soft","data-action":"publishing.list",disabled:K,onClick:()=>O()},"Inspect publishing"),T&&n.createElement("p",{role:"alert"},T),q&&n.createElement("p",{role:"status"},q),r.pending&&n.createElement("div",{className:"a-selection-card","aria-label":"Unconfirmed publishing request"},n.createElement("strong",null,r.busy?"Request in progress":((vt=r.pending.receipt)==null?void 0:vt.state)==="unknown"?"Recorded unknown outcome":"Request outcome unconfirmed"),n.createElement("p",null,r.pending.action," · target ",n.createElement("code",null,r.pending.args.targetId)," · ",r.pending.args.siteId||r.pending.args.releaseId),r.pending.args.requestId&&n.createElement("code",null,r.pending.args.requestId),n.createElement("p",null,"The exact submitted arguments are retained while this browser page stays open. Inspect publishing to check the saved receipt, or retry this same request. Nothing is retried automatically."),((gt=r.pending.receipt)==null?void 0:gt.state)==="unknown"?n.createElement(n.Fragment,null,n.createElement("p",null,eo(r.pending.receipt.error)),n.createElement("button",{type:"button",className:"a-soft",disabled:K,onClick:ae},"Acknowledge unknown outcome"),n.createElement("p",null,"Acknowledgement dismisses this pending request only. It does not repeat or resolve the operation; any site marked unknown requires an explicit stop or remove action.")):n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":r.pending.action,onClick:()=>W(null,null,!0)},"Retry exact request")),n.createElement("h4",null,"Sites"),v&&!_.length&&n.createElement("p",null,"No sites yet. Capture a release below to get started."),n.createElement("div",{className:"a-publishing-sites"},_.map(se=>n.createElement("button",{type:"button",className:"a-selection-card",key:se.id,disabled:_e,"aria-pressed":E===se.id,onClick:()=>ze(se.id)},n.createElement("strong",null,se.id),n.createElement("span",null,se.status," · revision ",se.revision)))),n.createElement("h4",null,"Capture built output"),n.createElement("p",null,"Build with your existing project tools first, then enter its output folder relative to this task’s execution folder. Capturing preserves the current files as a new release."),n.createElement("form",{onSubmit:se=>{se.preventDefault(),W("publishing.build",{siteId:E.trim(),sourcePath:x.trim()})}},n.createElement("label",{htmlFor:"publishing-site"},"Site ID"),n.createElement("input",{id:"publishing-site",value:E,disabled:_e,maxLength:63,pattern:"[a-z0-9][a-z0-9-]{0,62}",onChange:se=>ze(se.target.value),placeholder:"my-site"}),n.createElement("label",{htmlFor:"publishing-source"},"Built output folder"),n.createElement("input",{id:"publishing-source",value:x,disabled:_e,onChange:se=>w(se.target.value),placeholder:"dist"}),n.createElement("button",{className:"a-primary","data-action":"publishing.build",disabled:_e||!E.trim()||!x.trim()},"Capture release")),E&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Saved releases for ",E),n.createElement("label",{htmlFor:"publishing-release"},"Release to preview, review, or deploy"),n.createElement("select",{id:"publishing-release",value:(D==null?void 0:D.id)||"",disabled:_e,onChange:se=>{S(se.target.value),N("")}},n.createElement("option",{value:""},"Choose a saved release"),xe.map(se=>n.createElement("option",{key:se.id,value:se.id},se.createdAt," · ",se.id)))),D&&n.createElement("div",{className:"a-selection-card","aria-label":"Selected release"},n.createElement("h4",null,"Exact release"),n.createElement("dl",null,n.createElement("dt",null,"Release ID"),n.createElement("dd",null,D.id),n.createElement("dt",null,"Manifest digest"),n.createElement("dd",null,D.manifestDigest),n.createElement("dt",null,"Files"),n.createElement("dd",null,((Se=D.files)==null?void 0:Se.length)||0," · ",D.totalBytes||0," bytes"),n.createElement("dt",null,"Preview"),n.createElement("dd",null,D.previewStatus||"none"),n.createElement("dt",null,"Review"),n.createElement("dd",null,D.review?`Reviewed: ${D.review.note}`:"Not reviewed")),n.createElement("details",null,n.createElement("summary",null,"Release files"),n.createElement("ul",null,(X=D.files)==null?void 0:X.map(se=>n.createElement("li",{key:se.path},n.createElement("strong",null,se.path)," · ",se.size," bytes",n.createElement("br",null),n.createElement("code",null,se.sha256))))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:_e,"data-action":"publishing.preview",onClick:()=>W("publishing.preview",{releaseId:D.id})},"Start preview"),D.previewStatus==="running"&&fs(D.previewUrl)&&n.createElement("a",{href:fs(D.previewUrl),target:"_blank",rel:"noopener noreferrer"},"Open exact release preview")),n.createElement("form",{onSubmit:se=>{se.preventDefault(),W("publishing.review",{releaseId:D.id,note:I.trim()})}},n.createElement("label",{htmlFor:"publishing-note"},"Review note for this exact release"),n.createElement("textarea",{id:"publishing-note",value:I,disabled:_e,maxLength:4e3,onChange:se=>N(se.target.value)}),n.createElement("button",{className:"a-soft","data-action":"publishing.review",disabled:_e||!I.trim()},"Record review")),n.createElement("p",null,"Deploy release ",n.createElement("code",null,D.id)," to ",n.createElement("strong",null,E)," on target ",n.createElement("strong",null,l)," with ",n.createElement("strong",null,((Ce=v==null?void 0:v.target)==null?void 0:Ce.accessPolicy)||((We=(Fe=j==null?void 0:j.inspection)==null?void 0:Fe.capabilities)==null?void 0:We.accessPolicy)||"unverified")," access."),n.createElement("button",{type:"button",className:"a-primary",disabled:_e||!D.review||(Z==null?void 0:Z.status)==="unknown"||!$e,"data-action":"publishing.deploy",onClick:()=>W("publishing.deploy",{siteId:E,releaseId:D.id,expectedRevision:(Z==null?void 0:Z.revision)??0})},"Deploy reviewed release")),Z&&n.createElement("div",{className:"a-selection-card","aria-label":"Site status"},n.createElement("h4",null,Z.id),n.createElement("dl",null,n.createElement("dt",null,"Status"),n.createElement("dd",null,Z.status),n.createElement("dt",null,"Revision"),n.createElement("dd",null,Z.revision),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,Z.accessPolicy),n.createElement("dt",null,"Deployed release"),n.createElement("dd",null,Z.releaseId||"None"),n.createElement("dt",null,"Previous release"),n.createElement("dd",null,Z.previousReleaseId||"None")),fs(Z.url)&&n.createElement("p",null,n.createElement("a",{href:fs(Z.url),target:"_blank",rel:"noopener noreferrer"},"Open deployed site"),n.createElement("br",null),n.createElement("code",null,Z.url)),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.status",onClick:()=>O("publishing.status")},"Check site status"),n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.logs",onClick:()=>O("publishing.logs")},"Read site logs")),Z.previousReleaseId&&n.createElement(n.Fragment,null,n.createElement("p",null,"Rollback restores release ",n.createElement("code",null,Z.previousReleaseId),"."),n.createElement("button",{type:"button",className:"a-soft",disabled:_e,"data-action":"publishing.rollback",onClick:()=>W("publishing.rollback",{siteId:E,releaseId:Z.previousReleaseId,expectedRevision:Z.revision})},"Roll back to previous release")),n.createElement("p",null,"Stopping or removing this site preserves its saved releases and receipts."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:_e||["stopped","removed"].includes(Z.status),"data-action":"publishing.stop",onClick:()=>W("publishing.stop",{siteId:E,expectedRevision:Z.revision})},"Stop site"),n.createElement("button",{type:"button",className:"a-soft a-danger",disabled:_e||Z.status==="removed","data-action":"publishing.remove",onClick:()=>W("publishing.remove",{siteId:E,expectedRevision:Z.revision})},"Remove site"))),F&&n.createElement("div",{"aria-label":"Publishing inspection"},n.createElement("h4",null,F.action==="publishing.logs"?"Site logs":"Current site status"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(F.value,null,2))),n.createElement("details",null,n.createElement("summary",null,"Durable publishing receipts (",((tt=v==null?void 0:v.receipts)==null?void 0:tt.length)||0,")"),n.createElement("div",{"aria-label":"Publishing receipts"},(yt=v==null?void 0:v.receipts)==null?void 0:yt.map(se=>n.createElement("div",{className:"a-selection-card",key:se.id},n.createElement("strong",null,se.action," · ",se.state),n.createElement("p",null,se.siteId," · ",se.createdAt),n.createElement("p",null,"Request: ",n.createElement("code",null,se.requestId)),se.releaseId&&n.createElement("p",null,"Release: ",n.createElement("code",null,se.releaseId)),se.error&&n.createElement("p",null,eo(se.error))))))):n.createElement("p",null,"Choose a conversation to manage its published sites.")}const xF=[{id:"gpt-live-1",name:"GPT Live 1",description:"A natural conversation: listen and speak at the same time.",source:"https://developers.openai.com/api/docs/guides/live-conversations",voices:[{id:"marin",name:"Marin",description:"The default GPT Live voice."},{id:"cedar",name:"Cedar",description:"Built-in OpenAI voice."},{id:"alloy",name:"Alloy",description:"Built-in OpenAI voice."},{id:"ash",name:"Ash",description:"Built-in OpenAI voice."},{id:"ballad",name:"Ballad",description:"Built-in OpenAI voice."},{id:"coral",name:"Coral",description:"Built-in OpenAI voice."},{id:"echo",name:"Echo",description:"Built-in OpenAI voice."},{id:"sage",name:"Sage",description:"Built-in OpenAI voice."},{id:"shimmer",name:"Shimmer",description:"Built-in OpenAI voice."},{id:"verse",name:"Verse",description:"Built-in OpenAI voice."},{id:"quartz",name:"Quartz",description:"English · Australian influence · feminine"},{id:"ripple",name:"Ripple",description:"English · Australian influence · masculine"},{id:"vesper",name:"Vesper",description:"English · British influence · masculine"},{id:"willow",name:"Willow",description:"English · Irish influence · feminine"},{id:"stone",name:"Stone",description:"English · Irish influence · masculine"},{id:"gleam",name:"Gleam",description:"English · North American influence · feminine"},{id:"meridian",name:"Meridian",description:"English · North American influence · masculine"},{id:"bossa",name:"Bossa",description:"Portuguese · Brazilian influence · feminine"},{id:"tempo",name:"Tempo",description:"Portuguese · Brazilian influence · masculine"},{id:"beacon",name:"Beacon",description:"English · Filipino influence · masculine"},{id:"delta",name:"Delta",description:"English · Southern U.S. influence · feminine"},{id:"cinder",name:"Cinder",description:"English · Southern U.S. influence · masculine"}],reference:"https://developers.openai.com/api/reference/resources/live/primary-websocket"},{id:"gpt-realtime-2.1",name:"GPT Realtime 2.1",description:"A responsive voice conversation with turn detection.",source:"https://developers.openai.com/api/docs/guides/realtime-conversations",voices:[{id:"marin",name:"Marin",description:"Recommended for best quality."},{id:"cedar",name:"Cedar",description:"Recommended for best quality."},{id:"alloy",name:"Alloy",description:"OpenAI Realtime voice."},{id:"ash",name:"Ash",description:"OpenAI Realtime voice."},{id:"ballad",name:"Ballad",description:"OpenAI Realtime voice."},{id:"coral",name:"Coral",description:"OpenAI Realtime voice."},{id:"echo",name:"Echo",description:"OpenAI Realtime voice."},{id:"sage",name:"Sage",description:"OpenAI Realtime voice."},{id:"shimmer",name:"Shimmer",description:"OpenAI Realtime voice."},{id:"verse",name:"Verse",description:"OpenAI Realtime voice."}]}],vs={models:xF};function SF({state:e,act:t}){const a=e.settings||{},r=vs.models.find(P=>P.id===a.preferredVoice)||vs.models[0],o=r.voices.find(P=>P.id===a.voiceName)||r.voices[0],i=e.voiceConfiguration,[s,l]=n.useState(""),[c,u]=n.useState(""),[d,p]=n.useState(""),[m,h]=n.useState(!1),[f,v]=n.useState(""),[y,E]=n.useState(!1),[b,x]=n.useState(null),[w,R]=n.useState(""),S=n.useRef(null);n.useLayoutEffect(()=>{var P,_;y&&((P=S.current)==null||P.focus(),(_=S.current)==null||_.scrollIntoView({block:"start"}))},[y]);const I=n.useRef(null),N=n.useRef(null),M=n.useRef(!0),k=n.useRef(0);n.useEffect(()=>(M.current=!0,t("voice.configuration").catch(P=>l(P.message)),()=>{var P;M.current=!1,k.current++,(P=N.current)==null||P.pause(),I.current&&URL.revokeObjectURL(I.current)}),[]);const T=()=>{var P;(P=N.current)==null||P.pause(),x(null),I.current&&(URL.revokeObjectURL(I.current),I.current=null)},A=d||((i==null?void 0:i.source)==="private"?"private":i!=null&&i.environmentAvailable?"environment":"private"),q=async P=>{l("");try{const _=await t("settings.update",{patch:P});if((_==null?void 0:_.accepted)===!1)throw Error(_.error||"Could not save voice settings.")}catch(_){l(_.message)}};async function z(){h(!0),l("");try{const P=await t("voice.configure",{source:A,...A==="private"?{apiKey:c}:{}});if((P==null?void 0:P.accepted)===!1)throw Error(P.error||"Could not save voice key.");u("")}catch(P){l(P.message)}finally{h(!1)}}async function F(P){var ee;if(w)return;const _=++k.current;R(P.id),l(""),T();try{const Z=await t("voice.preview",{model:r.id,voice:P.id});if((Z==null?void 0:Z.accepted)===!1||!((ee=Z==null?void 0:Z.result)!=null&&ee.audio))throw Error((Z==null?void 0:Z.error)||"The sample was unavailable. Try again.");if(M.current&&_===k.current){const D=Uint8Array.from(atob(Z.result.audio),G=>G.charCodeAt(0));I.current=URL.createObjectURL(new Blob([D],{type:Z.result.mimeType})),x({...Z.result,audio:void 0,url:I.current,name:P.name})}}catch(Z){M.current&&_===k.current&&l(Z.message)}finally{M.current&&_===k.current&&R("")}}const H=P=>{T(),q({voiceName:P.id}),E(!1)},ne=r.voices.filter(P=>(P.name+" "+P.description).toLowerCase().includes(f.toLowerCase())),B=n.createElement("div",{className:"a-voice-key-form"},n.createElement("p",null,"Voice uses an OpenAI API key, separate from a ChatGPT subscription."),(i==null?void 0:i.environmentAvailable)&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"radio",name:"voice-key-source",checked:A==="environment",onChange:()=>p("environment")}),"Use the key on this host (OPENAI_API_KEY)"),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"radio",name:"voice-key-source",checked:A==="private"||!(i!=null&&i.environmentAvailable),onChange:()=>p("private")}),"Use a separate key"),(A==="private"||!(i!=null&&i.environmentAvailable))&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"voice-api-key"},"OpenAI API key"),n.createElement("input",{id:"voice-api-key",type:"password",autoComplete:"off",value:c,onChange:P=>{p("private"),u(P.target.value)},placeholder:i!=null&&i.privateKeyAvailable?"Saved key · enter a new key to replace it":""})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"voice.configure",disabled:m||(A==="private"||!(i!=null&&i.environmentAvailable))&&!c.trim()&&!(i!=null&&i.privateKeyAvailable),onClick:z},m?"Saving…":"Save voice connection")));return n.createElement("div",{className:"a-voice-settings"},n.createElement("section",{className:"a-voice-connection","aria-label":"Voice connection"},n.createElement("strong",null,i!=null&&i.available?"Voice key configured":i?"Connect voice":"Checking voice connection…"),i!=null&&i.available?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},i.source==="private"?"Using your separate voice API key.":"Using the OpenAI API key on this host."),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Change voice connection"),B)):B),n.createElement("label",{htmlFor:"preferred-voice"},"Voice model"),n.createElement("select",{id:"preferred-voice","data-action":"settings.update",disabled:!!w,value:r.id,onChange:P=>{const _=vs.models.find(ee=>ee.id===P.target.value);T(),v(""),q({preferredVoice:_.id,voiceName:_.voices.some(ee=>ee.id===o.id)?o.id:"marin"})}},vs.models.map(P=>n.createElement("option",{key:P.id,value:P.id},P.name))),n.createElement("p",{className:"a-caption"},r.description),n.createElement("h4",{className:"a-voice-label"},"Speaking voice"),n.createElement("div",{className:"a-voice-current"},n.createElement("div",null,n.createElement("strong",null,o.name),n.createElement("p",null,o.description)),n.createElement("button",{className:"a-soft",disabled:!!w,"aria-expanded":y,onClick:()=>E(!y)},y?"Close voice list":"Choose a voice"),n.createElement("button",{className:"a-soft","data-action":"voice.preview",disabled:!(i!=null&&i.available)||!!w||e.voicePreviewBusy,onClick:()=>F(o)},w===o.id?"Preparing sample…":"Preview voice")),y&&n.createElement("section",{className:"a-voice-picker","aria-label":"Choose a speaking voice"},n.createElement("h4",{ref:S,tabIndex:-1},"Voices for ",r.name),n.createElement("label",{htmlFor:"voice-search"},"Find a voice"),n.createElement("input",{id:"voice-search",type:"search",placeholder:"Search names or descriptions",value:f,onChange:P=>v(P.target.value)}),n.createElement("div",{role:"radiogroup","aria-label":"Speaking voice"},ne.map(P=>n.createElement("div",{key:P.id,className:"a-voice-option","data-selected":P.id===o.id},n.createElement("label",null,n.createElement("input",{type:"radio",name:"speaking-voice",checked:P.id===o.id,disabled:!!w,"data-action":"settings.update",onChange:()=>H(P)}),n.createElement("span",null,n.createElement("strong",null,P.name),n.createElement("small",null,P.description))),n.createElement("button",{className:"a-soft","aria-label":"Preview "+P.name,disabled:!(i!=null&&i.available)||!!w||e.voicePreviewBusy,"data-action":"voice.preview",onClick:()=>F(P)},w===P.id?"Preparing…":"Preview"),(b==null?void 0:b.voice)===P.id&&n.createElement("audio",{ref:N,controls:!0,autoPlay:!0,"aria-label":b.name+" sample",src:b.url,onError:()=>l("This browser could not play the sample. Try the preview again.")})))),!ne.length&&n.createElement("p",null,"No voices match your search.")),b&&!y&&n.createElement("div",{className:"a-voice-sample"},n.createElement("p",null,b.name," · ",r.name),n.createElement("audio",{ref:N,controls:!0,autoPlay:!0,src:b.url,onError:()=>l("This browser could not play the sample. Try the preview again.")},"Your browser does not support audio playback.")),n.createElement("p",{className:"a-caption"},"Previews use a short AI-generated sample and your OpenAI API usage. Your microphone and conversations are not used."),r.id==="gpt-realtime-2.1"&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:a.voiceInterruptions!==!1,"data-action":"settings.update",onChange:P=>q({voiceInterruptions:P.target.checked})}),"Let me interrupt by speaking"),n.createElement("p",{className:"a-caption"},"Changes apply to your next call. Your browser manages microphone access."),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"About these voices"),n.createElement("div",null,n.createElement("p",null,"Available voices depend on the model. Regional descriptions come from OpenAI; voices can speak other languages too. OpenAI does not describe the tone of every voice. Preview those voices to compare how they sound."),n.createElement("a",{href:r.source,target:"_blank",rel:"noreferrer"},"Voice guide from OpenAI"))),s&&n.createElement("p",{role:"alert",className:"a-danger"},s))}function CF(){return n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("a",{href:"/setup/terminal",target:"_blank",rel:"noopener noreferrer"},"Install the Terminal app on this computer")," to connect to this Unified service. The setup page handles the client and its saved connection."),n.createElement("p",null,"In Edge or Chrome, choose the install icon in the address bar or Install this site as an app in the browser menu. In Safari on Mac, use File → Add to Dock. On iPhone or iPad, use Share → Add to Home Screen."),n.createElement("p",null,"Keep the Python service running on the host computer. Installation gives this interface its own window; the service still runs your conversations and tools."),n.createElement("p",{className:"a-caption"},"Use localhost on this computer, or a trusted HTTPS address on other devices. Your saved chats and canvas artifacts stay on the host."))}const NF={panel:"settings",settingsSection:"index",settingsExpanded:[]};function Au(e,t){const a={...$w(e,t)};return["ai-connections","overview"].includes(e)&&(a.aiConnectionEditor={step:"list"}),e==="diagnostics"&&(a.diagnosticsDraft={destinationId:null}),e==="providers"&&(a.providerEditor={detailOpen:!1,orderOpen:!1}),e==="routing"&&(a.routingEditor={detailOpen:!1,candidateOpen:!1,orderOpen:!1}),e==="app-bundles"&&(a.bundleManager={detailOpen:!1,orderOpen:!1}),e==="loaded-modules"&&(a.moduleEditor={detailOpen:!1}),["smart-tools","tool-connections"].includes(e)&&(a.smartToolsEditor={page:"home",catalogDetail:!1}),a}function RF(e,t){const a={...t};for(const r of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])r in a&&(a[r]={...e[r],...a[r]});return a}function TF(e={},t={},a){var u,d,p,m,h,f,v,y,E,b;const{page:r,section:o}=Uw(e,a),i=[{key:"index",title:"Settings",navigation:NF}];if(e.settingsSection==="index"&&e.panel!=="appearance")return i;const s=Au(r,a),l=Ts(r,a);l&&i.push({key:l,title:o.title,navigation:Au(l,a)}),i.push({key:r,title:gp(r,a),navigation:s});const c=(x,w,R,S)=>i.push({key:x,title:w,navigation:{...s,[R]:{...s[R],...S}}});if(["ai-connections","overview"].includes(r)){const x=e.aiConnectionEditor||{},w=x.step||"list";w!=="list"&&c("ai/"+w,w==="services"?"Connect AI":w==="model"?"Choose model":"AI connection","aiConnectionEditor",{step:w})}else if(r==="diagnostics"){const x=e.diagnosticsDraft||{},w=x.config||((u=t.diagnostics)==null?void 0:u.config),R=(d=w==null?void 0:w.destinations)==null?void 0:d.find(S=>S.id===x.destinationId);R&&c("diagnostics/destination",R.name||"Destination","diagnosticsDraft",{destinationId:R.id})}else if(r==="providers"){const x=e.providerEditor||{};x.order&&x.orderOpen!==!1?c("providers/order","Preference order","providerEditor",{orderOpen:!0}):x.detailOpen&&c("providers/detail",x.id||"Add connection","providerEditor",{detailOpen:!0})}else if(r==="routing"){const x=e.routingEditor||{},w=x.role||"general";(x.detailOpen||x.order&&x.orderOpen!==!1)&&(c("routing/role/"+w,w,"routingEditor",{role:w,detailOpen:!0}),x.order&&x.orderOpen!==!1?c("routing/order/"+w,"Preference order","routingEditor",{role:w,detailOpen:!0,orderOpen:!0}):x.candidateOpen&&c("routing/choice/"+w,"Choice "+((x.candidate||0)+1),"routingEditor",{role:w,detailOpen:!0,candidateOpen:!0}))}else if(r==="app-bundles"){const x=e.bundleManager||{},w=Array.isArray(t.bundles)?t.bundles:((p=t.bundles)==null?void 0:p.entries)||[];x.order&&x.orderOpen!==!1?c("bundles/order","Composition order","bundleManager",{orderOpen:!0}):x.detailOpen&&c("bundles/detail",((m=w.find(R=>R.id===x.entryId))==null?void 0:m.name)||"Bundle","bundleManager",{detailOpen:!0})}else if(r==="loaded-modules"){const x=e.moduleEditor||{};x.detailOpen&&c("modules/detail",(()=>{var w;try{return(w=wp(JSON.parse(x.text)).find(R=>R.key===x.selectedKey))==null?void 0:w.id}catch{return null}})()||"Module","moduleEditor",{detailOpen:!0})}else if(["smart-tools","tool-connections"].includes(r)){const x=e.smartToolsEditor||{},w=x.page||"home";w==="catalog"?(c("tools/catalog","Catalog","smartToolsEditor",{page:"catalog"}),x.catalogDetail&&c("tools/catalog/detail",((v=(f=(h=t.smartTools)==null?void 0:h.catalog)==null?void 0:f.find(R=>R.id===x.catalogId))==null?void 0:v.name)||"Tool details","smartToolsEditor",{page:"catalog",catalogDetail:!0})):w!=="home"&&(w==="source"&&x.returnPage==="catalog"&&c("tools/catalog","Catalog","smartToolsEditor",{page:"catalog"}),w==="tool"&&c("tools/server",((b=(E=(y=t.smartTools)==null?void 0:y.servers)==null?void 0:E.find(R=>R.id===x.serverId))==null?void 0:b.name)||"Connection","smartToolsEditor",{page:"server"}),c("tools/"+w,{source:"Install from source",connection:"Connection settings",server:"Connection",tool:x.toolName||"Tool"}[w]||"Smart Tools","smartToolsEditor",{page:w}))}return i}const IF={ai:jc,privacy:yi,workspaces:Dr,overview:el,appearance:Uc,voice:Ou,notifications:rg,models:jc,bundles:Dr,"smart-tools":Qk,updates:Ea,diagnostics:po,history:yi,advanced:$c};function AF({state:e,session:t,act:a,dispatch:r,open:o,close:i=()=>a("view.update",{patch:{panel:null}}),navigationRef:s,appearance:l}){var F,H,ne,B;const c=Yu(),u=(((F=c==null?void 0:c.data)==null?void 0:F.resolvedInstances)||[]).filter(P=>P.slot==="settings.section"),d=Vi.map(P=>P.id==="advanced"?{...P,pages:[...P.pages,...u.map(_=>{var ee,Z;return["shell:"+_.id,((Z=(ee=c.data.packages[_.package])==null?void 0:ee.manifest)==null?void 0:Z.label)||_.id]})]}:P),{page:p,section:m}=Uw(e.view,d),h=g.useRef(null),f=g.useRef(null),v=g.useRef(null),[y,E]=g.useState(null),b=$L(v),x=TF(e.view,e,d),w=x.at(-1),R=b&&w.key==="index",S=b&&x.length>(Ts(p,d)?3:2);BL(v,b);const I=tD(),N=HL({compact:b,trail:x,view:e.view||{},act:a,close:i,body:f,navigationRef:s,confirmClose:I.confirmClose,hasUnsaved:I.hasUnsaved}),M=(P,_=!1)=>{N.rememberScroll(),a("view.update",{patch:{...RF(e.view||{},Au(P,d)),..._?{settingsRootVisit:crypto.randomUUID()}:{}}})};g.useLayoutEffect(()=>{var P,_;if((P=e.view)!=null&&P.settingsRootVisit){f.current&&(f.current.scrollTop=0);for(const ee of((_=v.current)==null?void 0:_.querySelectorAll(".a-settings-page-content:not([hidden]) details[open]"))||[])ee.open=!1}},[(H=e.view)==null?void 0:H.settingsRootVisit]),g.useEffect(()=>{var P;(P=h.current)==null||P.focus({preventScroll:!0}),!b&&f.current&&(f.current.scrollTop=0)},[p,w.key,b]);const k={state:e,session:t,act:a,navigate:M},T=g.useRef(new Map),q=(P=>["ai-connections","overview"].includes(P)?"ai-connections":["appearance","custom-appearance"].includes(P)?"appearance":["smart-tools","tool-connections"].includes(P)?"smart-tools":["app-bundles","add-bundles","loaded-modules","share-bundle","registries"].includes(P)?"bundles":["notifications","diagnostics","history","permissions","automation","repair","reset"].includes(P)?"maintenance":P)(p);R||T.current.set(q,p);function z(P){var ee,Z;let _;return["overview","ai-connections"].includes(P)?_=n.createElement(sD,{...k,act:r||a,navigate:M}):P==="privacy"?_=n.createElement(XL,{state:e,navigate:M}):P==="advanced"?_=n.createElement(eD,{...k,sections:d,navigate:M}):P==="appearance"?_=n.createElement(qr,{name:"settings.appearance"},n.isValidElement(l)?n.cloneElement(l,{simple:!0,onAdvanced:()=>M("custom-appearance")}):l):P==="custom-appearance"?_=n.isValidElement(l)?n.cloneElement(l,{advancedOnly:!0}):l:P.startsWith("shell:")?_=n.createElement(qr,{name:"settings.section",instanceId:P.slice(6)}):P==="workspaces"?_=n.createElement(Tx,{...k}):P==="voice"?_=n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Choose how your conversations sound."),n.createElement(SF,{...k})):P==="providers"?_=n.createElement(uD,{...k}):P==="routing"?_=n.createElement(lD,{...k}):P==="defaults"?_=n.createElement(yD,{...k}):["app-bundles","add-bundles","loaded-modules","share-bundle","registries"].includes(P)?_=n.createElement(fD,{...k}):["smart-tools","tool-connections"].includes(P)?_=n.createElement(ID,{...k,simple:P==="smart-tools",navigateSettings:M}):P==="updates"?_=n.createElement(HD,{...k}):P==="ready-conversations"?_=(ee=e.runtime)!=null&&ee.retention?n.createElement(VD,{...k}):n.createElement("p",null,"This host does not expose conversation readiness settings."):P==="install-app"?_=n.createElement(CF,null):P==="runtime"?_=n.createElement(tk,{...k}):P==="desktop"?_=n.createElement(mF,{...k}):P==="recall"?_=n.createElement(vF,{key:(t==null?void 0:t.id)||"none",...k}):P==="outputs"?_=n.createElement(yF,{key:t==null?void 0:t.id,...k}):P==="publishing"?_=n.createElement(kF,{key:t==null?void 0:t.id,...k,act:r||a}):P==="conversation"?_=n.createElement(n.Fragment,null,t?n.createElement(n.Fragment,null,n.createElement(ak,{key:t.id,session:t,act:a}),n.createElement(rk,{...k}),((Z=t.location)==null?void 0:Z.kind)==="managed"&&mo(t)&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft a-danger","data-action":"view.update",onClick:()=>o("delete-session")},"Delete chat")),n.createElement("h3",null,"Conversation bundle")):n.createElement("p",null,"Choose a bundle to start a conversation."),n.createElement(Kw,{...k,working:["working","starting","running","stopping","busy"].includes(t==null?void 0:t.status)})):_=n.createElement(MD,{...k}),P==="conversation"&&t&&(_=n.createElement(n.Fragment,null,_,n.createElement(Ax,{key:"library-"+t.id,...k}),n.createElement(_x,{key:"sharing-"+t.id,...k}))),_}return n.createElement(nD,{value:I.context},n.createElement("div",{ref:v,className:"a-settings-experience a-settings-everyday","data-part":"settings-experience","data-settings-page":p,"data-compact":b,"data-settings-index":R,"data-settings-detail":S,"data-settings-route":w.key},n.createElement("header",{className:"a-settings-mobile-head"},R?n.createElement("span",null):n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Back to "+(((ne=x.at(-2))==null?void 0:ne.title)||"Settings"),onClick:N.back},n.createElement(xa,null),n.createElement("span",null,x.length>2?"Back":"Settings")),n.createElement("h3",{ref:b?h:void 0,tabIndex:-1},w.title),n.createElement("button",{type:"button",className:"a-icon","data-action":"view.update","aria-label":"Close settings",onClick:N.dismiss},n.createElement(tn,null))),n.createElement("nav",{className:"a-settings-sidebar","aria-label":"Settings sections"},d.map((P,_)=>{var Z;const ee=IF[P.id]||Dr;return n.createElement(n.Fragment,{key:P.id},P.group&&P.group!==((Z=d[_-1])==null?void 0:Z.group)&&n.createElement("div",{className:"a-settings-category"},P.group),n.createElement("button",{type:"button","data-action":"view.update","data-settings-section":P.id,"aria-current":P.id===m.id?"page":void 0,onClick:()=>M(P.pages[0][0],!0)},n.createElement(ee,{"aria-hidden":"true"}),n.createElement("span",null,P.title),n.createElement(Da,{count:GL(e,P)})))})),n.createElement("div",{ref:f,onScroll:N.rememberScroll,className:"a-settings-content",role:"region","aria-label":"Settings content"},n.createElement("header",{className:"a-settings-page-heading"},n.createElement("div",null,n.createElement("h3",{ref:b?void 0:h,tabIndex:-1},gp(p,d))),t&&["loaded-modules","conversation","runtime"].includes(p)&&n.createElement("span",{className:"a-settings-conversation"},n.createElement(Vk,{"aria-hidden":"true"}),t.title)),Ts(p,d)&&n.createElement("button",{type:"button",className:"a-link a-settings-breadcrumb","data-action":"view.update",onClick:()=>M(Ts(p,d))},n.createElement(xa,null),"Back to ",m.title),p!=="updates"&&n.createElement(Ms,{state:e,act:a,page:p}),I.count>0&&n.createElement("p",{className:"a-alert",role:"status"},"You have unsaved connection changes. They are kept while Settings stays open."),((B=e.management)==null?void 0:B.error)&&p!=="add-bundles"&&n.createElement("div",{className:"a-alert",role:"alert"},e.management.error),n.createElement(n.Fragment,null,[...T.current].map(([P,_])=>n.createElement(Wu.Provider,{key:P,value:_},n.createElement(Jr.Provider,{value:{compact:b,active:P===q&&!R,footer:y}},n.createElement("div",{className:"a-settings-page-content",hidden:P!==q},z(_))))))),n.createElement("div",{ref:E,className:"a-settings-mobile-actions"}),I.dialog))}const ok="amplifier.messageOutbox.v1";function _F(e){try{return JSON.parse((e==null?void 0:e.getItem(ok))||"[]").filter(t=>t&&typeof t.id=="string"&&typeof t.commandId=="string"&&(t.sessionId===null||typeof t.sessionId=="string")&&typeof t.text=="string"&&Array.isArray(t.attachmentIds)&&t.attachmentIds.every(a=>typeof a=="string")&&["sending","failed","unknown"].includes(t.status)).map(t=>({...t,status:t.status==="sending"?"unknown":t.status}))}catch{return[]}}function PF(e,t,a){const r=t.filter(i=>i.sessionId===(a??null));return[...e.map(i=>{var l,c;const s=r.find(u=>u.commandId===i.inputId);return s&&((l=i.delivery)==null?void 0:l.status)!=="accepted"?{...i,localDelivery:{...s,...((c=i.delivery)==null?void 0:c.status)==="failed"?{status:"failed"}:{}}}:i}),...r.filter(i=>!e.some(s=>s.inputId===i.commandId)).map(i=>({id:i.id,inputId:i.commandId,role:"user",text:i.text,via:i.via,createdAt:i.createdAt,attachments:i.attachments,replyTo:i.replyTo,localDelivery:i}))]}function OF(){const[e,t]=g.useState(()=>{try{return _F(sessionStorage)}catch{return[]}}),a=g.useRef(e),[r,o]=g.useState(!1),i=g.useCallback((s,l)=>{const c=a.current,u=c.some(p=>p.id===s);if(!u&&l!==null&&!l.commandId)return;const d=l===null?c.filter(p=>p.id!==s):u?c.map(p=>p.id===s?{...p,...l}:p):[...c,{id:s,...l}];a.current=d,t(d);try{sessionStorage.setItem(ok,JSON.stringify(d)),o(!1)}catch{o(!0)}return d.find(p=>p.id===s)},[]);return{entries:e,current:a,update:i,storageError:r}}async function Ml(e,t=Ct,a){let r=0,o="";do{const i=await t("/api/conversation/detail?"+new URLSearchParams({...e,offset:r}),{signal:a});o+=i.value,r=i.nextOffset}while(r!==null);return o}function _u({text:e,reference:t,markdown:a=!1,automatic:r=!1,writingContext:o,fileContext:i}){const[s,l]=g.useState(null),[c,u]=g.useState(!1),[d,p]=g.useState(""),[m,h]=g.useState(!1),f=g.useRef(null),v=g.useRef(null),y=t?JSON.stringify(t):null,E=g.useRef(y);E.current=y;const b=(s==null?void 0:s.key)===y?s.value:null;g.useEffect(()=>(l(null),p(""),u(!1),()=>{var w;return(w=v.current)==null?void 0:w.abort()}),[y]),g.useEffect(()=>{if(!r||!t)return;if(!globalThis.IntersectionObserver){h(!0);return}const w=new IntersectionObserver(R=>{R.some(S=>S.isIntersecting)&&(h(!0),w.disconnect())},{rootMargin:"400px"});return f.current&&w.observe(f.current),()=>w.disconnect()},[r,y]);async function x(){var S;const w=y,R=new AbortController;(S=v.current)==null||S.abort(),v.current=R,u(!0),p("");try{const I=await Ml(t,Ct,R.signal);!R.signal.aborted&&E.current===w&&l({key:w,value:I})}catch(I){!R.signal.aborted&&E.current===w&&p(I.message)}finally{!R.signal.aborted&&E.current===w&&u(!1)}}return g.useEffect(()=>{r&&m&&t&&x()},[r,m,y]),n.createElement("div",{className:"a-detail-text",ref:f},a?n.createElement(pl,{text:b??e,writingContext:o,fileContext:i}):n.createElement("p",null,b??e),t&&b===null&&(r&&!d?n.createElement("span",{className:"a-caption",role:"status"},c?"Loading complete response…":"Complete response loads when visible."):n.createElement("button",{type:"button",className:"a-link",disabled:c,onClick:x},c?"Loading full text…":d?"Retry loading full text":"Show full text")),d&&n.createElement("p",{role:"alert"},d))}const Nr=e=>[...new Map(e.map(t=>[t.id,t])).values()];function MF(e,t){var v,y,E,b,x,w,R;const[a,r]=g.useState(null),[o,i]=g.useState(""),[s,l]=g.useState(""),c=g.useRef(e==null?void 0:e.id);c.current=e==null?void 0:e.id;const u=g.useRef((v=e==null?void 0:e.messageWindow)==null?void 0:v.total);g.useEffect(()=>{r(null),l(""),i("")},[e==null?void 0:e.id,e==null?void 0:e.sharedHistoryOffset]),g.useEffect(()=>{var S,I;((S=e==null?void 0:e.messageWindow)==null?void 0:S.total){var I;return{...S,...(I=e.messageAnnotations)==null?void 0:I[S.id]}})},m=e&&d?{...e,messages:Nr([...d.messages,...e.messages]).map(S=>{var I;return{...S,...(I=e.messageAnnotations)==null?void 0:I[S.id]}}),sharedHistoryUserTurnOffset:d.userOffset??e.sharedHistoryUserTurnOffset,messageWindow:{...e.messageWindow,...d.messages.length?{offset:d.messageOffset,before:d.messages[0].id}:{}},execution:{...e.execution,nodes:Nr([...d.nodes,...((E=e.execution)==null?void 0:E.nodes)||[]]),turns:Nr([...d.turns,...((b=e.execution)==null?void 0:b.turns)||[]]),segments:Nr([...d.segments||[],...((x=e.execution)==null?void 0:x.segments)||[]])},executionWindow:{...e.executionWindow,...d.nodes.length?{offset:d.nodeOffset,before:d.nodes[0].id}:{}}}:p;async function h(S){if(o||!m)return;const I=m.id,N=S==="messages"?m.messageWindow:m.executionWindow;i(S),l("");try{const M=await Ct("/api/conversation/detail?"+new URLSearchParams({sessionId:I,part:S,before:N.before}));if(c.current!==I)return;t==null||t(),r(k=>{const T=(k==null?void 0:k.id)===I?k:{id:I,messages:[],nodes:[],turns:[]};return{...T,[S]:Nr([...M.items,...T[S]]),...S==="messages"?{messageOffset:M.offset,userOffset:M.userOffset}:{nodeOffset:M.offset,turns:Nr([...M.turns,...T.turns]),segments:Nr([...M.segments||[],...T.segments||[]])}}})}catch(M){c.current===I&&l(M.message)}finally{c.current===I&&i("")}}const f=n.createElement(n.Fragment,null,((w=m==null?void 0:m.messageWindow)==null?void 0:w.offset)>0&&n.createElement("button",{className:"a-soft",type:"button",disabled:!!o,onClick:()=>h("messages")},"Load earlier messages"),((R=m==null?void 0:m.executionWindow)==null?void 0:R.offset)>0&&n.createElement("button",{className:"a-soft",type:"button",disabled:!!o,onClick:()=>h("nodes")},"Load earlier activity"),o&&n.createElement("span",{role:"status"},"Loading earlier ",o==="nodes"?"activity":"messages","…"),s&&n.createElement("p",{role:"alert"},s));return{session:m,controls:f,earlier:h,busy:o}}const Wf=[["👍","Thumbs up"],["❤️","Heart"],["😂","Laugh"],["🎉","Celebrate"],["😮","Surprised"],["😢","Sad"],["👎","Thumbs down"],["✅","Check"]],ik=e=>e.role==="user"?"You":"Amplifier";function zF({quote:e,sessionId:t,dispatch:a}){const[r,o]=g.useState("");if(!e)return null;const i=(e.navigationSessionId||e.sessionId)===t;return n.createElement("blockquote",{className:"a-reply-quote"},n.createElement("button",{type:"button",className:"a-quoted-source","data-action":"message.reveal",title:i?"Go to original message":"Open the original message in its conversation",onClick:async()=>{o("");try{const s=e.navigationSessionId||e.sessionId;await a("message.reveal",{sessionId:s,messageId:e.messageId})}catch(s){o(s.message)}}},n.createElement("strong",null,ik(e)),n.createElement("span",null,e.excerpt,e.truncated?"…":"")),!i&&n.createElement("small",null,"Quoted from the original conversation"),r&&n.createElement("small",{role:"status"},r))}function LF({quote:e,sessionId:t,dispatch:a}){const[r,o]=g.useState("");return!e||e.sessionId!==t?null:n.createElement("div",{className:"a-reply-preview","aria-label":"Quoted reply"},n.createElement("div",null,n.createElement("strong",null,"Replying to ",ik(e)),n.createElement("p",null,e.excerpt,e.truncated?"…":"")),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove quoted reply","data-action":"message.replyClear",onClick:async()=>{o("");try{await a("message.replyClear",{sessionId:t,expectedReplyId:e.id})}catch(i){o(i.message)}}},n.createElement(tn,null)),r&&n.createElement("small",{role:"alert"},r))}function DF({message:e,sessionId:t,dispatch:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(!1),[l,c]=g.useState(!1),[u,d]=g.useState(""),p=e.reactions||[];async function m(h,f){var v;if(!l){c(!0),d("");try{await a(h,{sessionId:t,messageId:e.id,...f}),h==="message.reply"&&((v=document.querySelector('[aria-label="Message Amplifier"]'))==null||v.focus())}catch(y){d(y.message)}finally{c(!1)}}}return n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reply to message",title:"Reply to message","data-action":"message.reply",disabled:l,onClick:()=>m("message.reply",{})},n.createElement(Xk,null)),n.createElement("div",{className:"a-reaction-control",onBlur:h=>{h.currentTarget.contains(h.relatedTarget)||o(!1)},onKeyDown:h=>{var f;h.key==="Escape"&&(o(!1),(f=h.currentTarget.querySelector("button"))==null||f.focus())}},n.createElement("button",{type:"button",className:"a-icon","aria-label":"React to message",title:"React to message","aria-expanded":r,onClick:h=>{var v;const f=(v=h.currentTarget.closest(".a-messages"))==null?void 0:v.getBoundingClientRect();s(h.currentTarget.getBoundingClientRect().top-((f==null?void 0:f.top)||0)<110),o(!r)}},n.createElement(ix,null)),r&&n.createElement("div",{className:"a-reaction-picker","data-below":i,role:"group","aria-label":"Choose reaction"},Wf.map(([h,f])=>n.createElement("button",{key:h,type:"button","aria-label":f,"aria-pressed":p.includes(h),disabled:l,"data-action":"message.reaction",onClick:async()=>{await m("message.reaction",{emoji:h,present:!p.includes(h)}),o(!1)}},h)))),p.map(h=>{var f;return n.createElement("button",{key:h,type:"button",className:"a-reaction-chip","aria-label":`Remove ${((f=Wf.find(v=>v[0]===h))==null?void 0:f[1])||h} reaction`,"aria-pressed":"true",disabled:l,"data-action":"message.reaction",onClick:()=>m("message.reaction",{emoji:h,present:!1})},h)}),u&&n.createElement("span",{className:"a-message-interaction-error",role:"alert"},u))}function FF({session:e,focus:t,detail:a}){var i,s;const r=g.useRef(""),o=g.useRef("");return g.useEffect(()=>{var d,p;if(!t||t.sessionId!==(e==null?void 0:e.id)||a.busy)return;const l=`${t.sessionId}:${t.revision}`;if(o.current===l)return;const c=`${l}:${((d=e.messageWindow)==null?void 0:d.offset)??0}`;if(r.current===c)return;r.current=c;const u=[...document.querySelectorAll("[data-message-id]")].find(m=>m.dataset.messageId===t.messageId);if(u){o.current=l,u.tabIndex=-1,u.scrollIntoView({block:"center"}),u.focus({preventScroll:!0});return}((p=e.messageWindow)==null?void 0:p.offset)>0&&a.earlier("messages")},[e==null?void 0:e.id,(i=e==null?void 0:e.messages)==null?void 0:i.length,(s=e==null?void 0:e.messageWindow)==null?void 0:s.offset,t==null?void 0:t.revision,t==null?void 0:t.sessionId,a.busy]),null}function qF({message:e,session:t,delivery:a,localDelivery:r,dispatch:o,retry:i,discard:s}){var R,S;const[l,c]=g.useState(!1),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=e.inputId||(r==null?void 0:r.commandId),y=t.configurationBusy||((R=t.ownership)==null?void 0:R.status)==="blocked"||t.workspaceAvailable===!1||!!t.historyReadOnlyReason,E=["working","starting","running","stopping"].includes(t.status),b=async()=>{if(!l){c(!0),f(""),m(!1);try{if(!t.id){d({delivery:"not_saved",message:"This message has no confirmed conversation yet. Choose Send again to retry the original submission."});return}const I=await o("conversation.delivery",{sessionId:t.id,inputId:v},{feedback:!1});d(I.result)}catch(I){f(I.message)}finally{c(!1)}}},x=async()=>{var I;if(!l){c(!0),f("");try{if((I=t.messages)==null?void 0:I.some(M=>M.role==="user"&&M.inputId===v)){const M=await o("conversation.retry",{sessionId:t.id,inputId:v,confirmUncertain:!0},{feedback:!1});d(M.result)}else await i(e);m(!1)}catch(N){f(N.message)}finally{c(!1)}}};if(!a)return null;const w=a.status==="sending";return n.createElement(n.Fragment,null,n.createElement("span",{className:"a-message-delivery",role:"status"},w?n.createElement(n.Fragment,null,n.createElement(No,{className:"a-progress-spinner"}),"Sending…"):n.createElement(n.Fragment,null,n.createElement(On,null),a.status==="failed"?"Not sent":"Delivery not confirmed",a.status==="failed"?n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.send",disabled:l||y,onClick:()=>{var I;return(I=t.messages)!=null&&I.some(N=>N.inputId===v)?x():i(e)}},n.createElement(cm,null),"Retry"):n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.delivery",disabled:l||!v,onClick:b},n.createElement(cm,null),l?"Checking…":"Check delivery"))),!w&&a.error&&n.createElement("p",{role:"alert",className:"a-delivery-detail"},a.error),r&&a.status==="failed"&&!((S=t.messages)!=null&&S.some(I=>I.inputId===v))&&n.createElement("button",{type:"button",className:"a-link",disabled:l,onClick:()=>s==null?void 0:s(e)},"Discard unsent message"),(u==null?void 0:u.message)&&n.createElement("p",{role:"status",className:"a-delivery-detail"},u.message),h&&n.createElement("p",{role:"alert",className:"a-delivery-detail"},h),!w&&u&&!["accepted","sending"].includes(u.delivery)&&!p&&n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.retry",disabled:l||y||E,onClick:()=>m(!0)},"Send again"),p&&n.createElement("div",{className:"a-delivery-confirm",role:"alert"},n.createElement("p",null,"The earlier attempt may have run even though delivery was not confirmed. Sending again could repeat that work. Your saved message and history will be kept."),n.createElement("button",{type:"button",className:"a-soft",disabled:l,onClick:()=>m(!1)},"Cancel"),n.createElement("button",{type:"button",className:"a-primary","data-action":"conversation.retry",disabled:l||y||E,onClick:x},l?"Sending…":"Send this message again")))}function sk(e){if(!e)return"Worker routing has not been reported.";const t={inherited_conversation:"This worker inherited the conversation selection.",delegation_preferences:"This worker uses delegation provider preferences.",agent_provider:"This worker uses its agent provider configuration.",agent_model_role:"This worker uses its agent model role.",session_defaults:"This worker uses its session defaults."},a=e.modelInheritance==="conversation_when_unspecified"?"Workers inherit the conversation model unless their configuration overrides it.":"Workers use bundle and agent model settings.",r=e.matrixSource==="user"?" from user settings":e.matrixSource==="bundle"?" from the bundle":"",o=e.resolverActive?` Routing is active${e.resolverName?` (${e.resolverName})`:""}${r}.`:"";return`${t[e.selectionSource]||a}${o} Other connected providers may be used.`}const Oc={};function lk({items:e=[],remove:t}){return e.length?n.createElement("div",{className:"a-attachments"},e.map(a=>{var r;return n.createElement("div",{className:"a-attachment",key:a.id},(r=a.mime)!=null&&r.startsWith("image/")?n.createElement("a",{href:a.url,target:"_blank",rel:"noopener noreferrer"},n.createElement("img",{src:a.url,alt:a.name})):n.createElement(Lu,null),n.createElement("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",title:a.name},a.name,n.createElement("small",null,Math.ceil(a.size/1024)," KB")),t&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove "+a.name,"data-action":"attachment.remove",onClick:()=>t(a.id)},n.createElement(tn,null)))})):null}function jF(e){var a,r;const t=new Map;for(const o of e){const i=((a=o.info)==null?void 0:a.id)||o.module||o.id;t.has(i)||t.set(i,{id:i,label:((r=o.info)==null?void 0:r.display_name)||i,rows:[]}),t.get(i).rows.push(o)}return[...t.values()].sort((o,i)=>o.label.localeCompare(i.label,void 0,{sensitivity:"base"}))}function Mc(e,t){var r,o,i;const a=vp(e,{model:t,default_model:t}).find(s=>s.id==="reasoning_effort");return(e==null?void 0:e.effort)||((r=e==null?void 0:e.config)==null?void 0:r.reasoning_effort)||((i=(o=e==null?void 0:e.info)==null?void 0:o.defaults)==null?void 0:i.reasoning_effort)||(a==null?void 0:a.default)||""}function UF({state:e,session:t,act:a,working:r}){var Le,Ge,ft,vt,gt,Se,X,Ce,Fe,We,tt,yt,se,Qe,ot,bt,ut,Mt,St,jt,st,lt,Ze,Ot,en,vn,Rn,bn,Ln,Kn,Tn;const o=Ja(e),i=!t,s=(t==null?void 0:t.id)||null,l=Ng(e),c=e.configurationRevision||0,u=JSON.stringify([((Le=o.location)==null?void 0:Le.kind)||"workspace",o.workspace,c]),d=g.useRef(null);i&&l.phase==="ready"&&(d.current={context:u,value:l});const p=l.phase==="ready"||l.phase==="error"?l:((Ge=d.current)==null?void 0:Ge.context)===u?d.current.value:l,m=i&&l.phase!=="ready"&&l.phase!=="error",h=(t==null?void 0:t.workspaceAvailable)===!1||!!(t!=null&&t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1,f=((ft=e.view)==null?void 0:ft.composerModel)||Oc,[v,y]=g.useState(f),[E,b]=g.useState("");g.useEffect(()=>y(f),[f]);const x=ge=>{const Ke={...v,...ge};y(Ke),a("view.update",{patch:{composerModel:Ke}})},w=((vt=o.location)==null?void 0:vt.kind)==="managed",R=w?{location:{kind:"managed"}}:{},S=((gt=e.setup)==null?void 0:gt.providersRequestedWorkspace)===o.workspace&&((X=(Se=e.setup)==null?void 0:Se.providersLocation)==null?void 0:X.kind)==="managed"===w?e.setup:Oc,I=(S.providers||[]).filter(ge=>ge.enabled!==!1).map(ge=>{var Ue,nt,ye,At,an,Zt,Q,rn;const Ke=((nt=(Ue=S.providerCatalogs)==null?void 0:Ue[ge.id])==null?void 0:nt.metadata)||((ye=S.metadata)==null?void 0:ye[ge.module])||{};return{...ge,...Ke,info:{...Ke.info,defaults:{...(At=Ke.info)==null?void 0:At.defaults,model:((an=ge.config)==null?void 0:an.default_model)||((Zt=ge.config)==null?void 0:Zt.model)||((rn=(Q=Ke.info)==null?void 0:Q.defaults)==null?void 0:rn.model)}}}}),N=((Ce=e.runtimeControl)==null?void 0:Ce[s])||{},M=N["configuration.providers"],k=i?p.providers||I:(M==null?void 0:M.providers)||((We=(Fe=t==null?void 0:t.runtimeReport)==null?void 0:Fe.provider_choices)==null?void 0:We.map(ge=>({id:ge.id,info:{id:ge.provider,display_name:ge.display_name,defaults:{model:ge.model,reasoning_effort:ge.effort}}})))||[],T=i?!!((tt=o.selection)!=null&&tt.model):(M==null?void 0:M.pinned)??!!((yt=t==null?void 0:t.runtimeReport)!=null&&yt.selection||t!=null&&t.selection),A=!M&&!(t!=null&&t.runtimeReport)?t==null?void 0:t.initialModel:void 0,q=i?T?o.selection:p.effective||{}:(M==null?void 0:M.effective)||((se=t==null?void 0:t.runtimeReport)==null?void 0:se.effective_selection)||(t==null?void 0:t.selection)||A||{},z=[...((Qe=t==null?void 0:t.execution)==null?void 0:Qe.nodes)||[]].reverse().find(ge=>ge.kind==="llm"&&(ge.sessionId===s||!ge.sessionId&&!ge.parentId)),F=(i?l.phase==="ready":Array.isArray(M==null?void 0:M.providers))&&!k.length,H=q.model||(i?"":z==null?void 0:z.model)||(F?"Set up a model":l.phase==="error"?"Model unavailable":i?"Loading model…":"Choose a model"),ne=q.instance||q.id||(i?"":z==null?void 0:z.provider)||"",B=k.find(ge=>ge.id===ne),P=q.effort||Mc(B,H),_=(((ot=e.setup)==null?void 0:ot.providers)||[]).find(ge=>ge.id===ne),ee={...(Mt=(ut=(bt=e.setup)==null?void 0:bt.metadata)==null?void 0:ut[_==null?void 0:_.module])==null?void 0:Mt.info,...(lt=(st=(jt=(St=e.setup)==null?void 0:St.providerCatalogs)==null?void 0:jt[ne])==null?void 0:st.metadata)==null?void 0:lt.info,...B==null?void 0:B.info},Z=(ee==null?void 0:ee.display_name)||(ee==null?void 0:ee.id)||((A==null?void 0:A.instance)===ne?A.providerLabel:"")||ne,D=P?`${H} (${P})`:H,G=Z?`${Z} · ${D}`:D,j=v.open&&(v.sessionId??null)===s,K=g.useRef(null),oe=Jw(j,K);ol(j,K,()=>x({open:!1}));const xe=jF(k),ce=xe.find(ge=>ge.rows.some(Ke=>Ke.id===v.instance)),_e=k.find(ge=>ge.id===v.instance),$e=N["configuration.providerModels"],De=i?(Ze=S.providerCatalogs)==null?void 0:Ze[v.instance]:((Ot=N.modelCatalogs)==null?void 0:Ot[v.instance])||($e&&$e.provider===v.instance?{phase:"ready",models:$e.models}:null),de=g.useRef(new Map);let ve=Ii((De==null?void 0:De.models)||[]);ve.length?de.current.set((i?Es(o):s)+"|"+v.instance,ve):ve=de.current.get((i?Es(o):s)+"|"+v.instance)||[];const O=new Map(ve.map(ge=>[ge.id,ge]));for(const ge of(ce==null?void 0:ce.rows)||[]){const Ke=i?(en=S.providerCatalogs)==null?void 0:en[ge.id]:(vn=N.modelCatalogs)==null?void 0:vn[ge.id];for(const nt of Ii((Ke==null?void 0:Ke.models)||[]))O.set(nt.id,nt);const Ue=(bn=(Rn=ge.info)==null?void 0:Rn.defaults)==null?void 0:bn.model;Ue&&!O.has(Ue)&&O.set(Ue,{id:Ue,name:Ue})}ve=[...O.values()];const W=(De==null?void 0:De.metadata)||_e||{},ae=((Ln=vp(W,{model:v.model,default_model:v.model}).find(ge=>ge.id==="reasoning_effort"))==null?void 0:Ln.choices)||[],ze=v.effort||Mc(_e,v.model)||Mc(W,v.model),Me=g.useRef(!1),be=g.useRef(""),rt=g.useRef(!1);g.useEffect(()=>{if(!i||!o.workspace&&!w)return;const ge=JSON.stringify([Es(o),c]);if(be.current===ge)return;const Ke=setTimeout(()=>{be.current=ge,a("configuration.defaults",{workspace:o.workspace,bundle:o.bundle||"",...R}),S===Oc&&a("providers.list",{workspace:o.workspace,...R})},250);return()=>clearTimeout(Ke)},[i,o.workspace,o.bundle,w,c]),g.useEffect(()=>{var ge,Ke;if(j&&!rt.current&&k.length){const Ue=k.find(nt=>nt.id===(q.instance||q.id))||k[0];x({instance:Ue.id,model:q.model||((Ke=(ge=Ue.info)==null?void 0:ge.defaults)==null?void 0:Ke.model)||"",effort:P||""})}},[j,s,k.map(ge=>ge.id).join("|"),q.model,P]);function wt(){if(rt.current=!1,b(""),j){x({open:!1});return}x({open:!0,sessionId:s,instance:ne,model:q.model||"",effort:P||""}),t&&a("runtime.control",{sessionId:s,operation:"configuration.providers",args:{}})}async function Dt(ge){rt.current=!0;const Ke={...v,...ge};if(x(ge),b(""),!Ke.instance||!Ke.model)return;const Ue={instance:Ke.instance,model:Ke.model,...Ke.effort?{effort:Ke.effort}:{}};try{i?await a("view.update",{patch:{newSessionDraft:{...o,selection:Ue}}}):await a("runtime.control",{sessionId:s,operation:"provider.select",args:Ue})}catch(nt){b(nt.message)}}function It(ge){var nt,ye,At,an;if(!ge)return;const Ke=xe.find(Zt=>Zt.id===ge),Ue=(Ke==null?void 0:Ke.rows.find(Zt=>Zt.id===v.instance))||(Ke==null?void 0:Ke.rows[0]);ge=Ue==null?void 0:Ue.id,ge&&(Dt({instance:ge,model:((ye=(nt=Ue.info)==null?void 0:nt.defaults)==null?void 0:ye.model)||"",effort:""}),i&&!((At=S.providerCatalogs)!=null&&At[ge])?a("providers.models",{id:ge,workspace:o.workspace,...R}):!i&&!((an=N.modelCatalogs)!=null&&an[ge])&&a("runtime.control",{sessionId:s,operation:"configuration.providerModels",args:{instance:ge}}))}function Qt(ge){rt.current=!0,Me.current=!0,y({...v,effort:ae[Number(ge.currentTarget.value)]})}function ie(ge){if(!Me.current)return;Me.current=!1;const Ke=ae[Number(ge.currentTarget.value)];Ke&&Dt({effort:Ke})}const he=(Kn=e.actionStatus)==null?void 0:Kn[i?"configuration.defaults":"runtime.control"],Ne=E||((he==null?void 0:he.phase)==="error"?he.error:"")||l.error;return n.createElement("div",{className:"a-model-control",ref:K},n.createElement("button",{type:"button",className:"a-model-trigger","aria-label":"Model and reasoning settings",disabled:h,"aria-expanded":!!j,"aria-busy":m||void 0,title:m?`${G} · Checking bundle settings…`:G,"data-action":"view.update",onClick:wt},n.createElement("span",null,G),n.createElement(Xs,null)),j&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:oe,"aria-label":"Conversation model"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation model"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close model settings","data-action":"view.update",onClick:()=>x({open:!1})},n.createElement(tn,null))),n.createElement("label",{htmlFor:"chat-provider"},"Provider"),n.createElement("select",{id:"chat-provider",value:(ce==null?void 0:ce.id)||v.instance||"","data-action":i?"view.update":"runtime.control",disabled:r,onChange:ge=>It(ge.target.value)},!v.instance&&n.createElement("option",{value:"",disabled:!0},k.length?"Choose a provider":F?"No providers configured":"Loading providers…"),v.instance&&!k.some(ge=>ge.id===v.instance)&&n.createElement("option",{value:v.instance},v.instance),xe.map(ge=>n.createElement("option",{key:ge.id,value:ge.id},ge.label))),n.createElement("label",{htmlFor:"chat-model"},"Model"),n.createElement("select",{id:"chat-model","aria-label":"Conversation model",value:v.model||"",disabled:r||!v.instance,"data-action":i?"view.update":"runtime.control",onChange:ge=>{const Ke=ge.target.value,Ue=(ce==null?void 0:ce.rows.find(nt=>{var ye,At;return nt.id===v.instance&&((At=(ye=nt.info)==null?void 0:ye.defaults)==null?void 0:At.model)===Ke}))||(ce==null?void 0:ce.rows.find(nt=>{var ye,At;return((At=(ye=nt.info)==null?void 0:ye.defaults)==null?void 0:At.model)===Ke}));Dt({instance:(Ue==null?void 0:Ue.id)||v.instance,model:Ke,effort:""})}},!v.model&&n.createElement("option",{value:""},(De==null?void 0:De.phase)==="working"?"Loading models…":"Choose a model"),v.model&&!ve.some(ge=>ge.id===v.model)&&n.createElement("option",{value:v.model},v.model),ve.map(ge=>n.createElement("option",{key:ge.id,value:ge.id},ge.name))),ae.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"chat-effort"},"Reasoning effort ",n.createElement("strong",null,ze||"Choose effort")),n.createElement("input",{id:"chat-effort",type:"range",min:"0",max:ae.length-1,step:"1",value:Math.max(0,ae.indexOf(ze)),"aria-valuetext":ze||"Choose effort",disabled:r||!v.model,"data-action":i?"view.update":"runtime.control",onChange:Qt,onPointerUp:ie,onKeyUp:ie,onBlur:ie}),n.createElement("div",{className:"a-effort-labels"},n.createElement("span",null,ae[0]),n.createElement("span",null,ae.at(-1)))):n.createElement("small",null,"Reasoning effort is not configurable for this model."),!i&&n.createElement("p",{className:"a-muted","data-part":"delegation-routing"},sk((M==null?void 0:M.delegationRouting)||((Tn=t==null?void 0:t.runtimeReport)==null?void 0:Tn.delegationRouting))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ge;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ge=e.view)==null?void 0:ge.aiConnectionEditor)||{},step:"services"}}})}},"Add connection"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ge;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ge=e.view)==null?void 0:ge.aiConnectionEditor)||{},step:"list"}}})}},"Manage connections")),n.createElement("small",null,"Model changes here apply to this conversation."),Ne&&n.createElement("small",{className:"a-danger",role:"status"},Ne),!Ne&&(De==null?void 0:De.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},"The model list is unavailable. Your current selection is preserved.")))}function $F(e){return new Promise((t,a)=>{if(e.size>32*1024*1024||!e.size){a(new Error("Choose a nonempty file up to 32 MB."));return}const r=new FileReader;r.onload=()=>t(String(r.result).split(",")[1]),r.onerror=()=>a(new Error("Could not read "+e.name)),r.readAsDataURL(e)})}function BF(e){var o,i;const t=(e==null?void 0:e.messages)||[],a=new Map;let r=Number(e==null?void 0:e.sharedHistoryUserTurnOffset)||0;for(let s=0;sp.role==="assistant");if(!c)continue;const u=(i=(o=e.execution)==null?void 0:o.turns)==null?void 0:i.find(p=>p.inputId===t[s].inputId&&t[s].inputId);(u?["completed","complete","done"].includes(u.phase||u.status):l{r.length&&a.push(r.length>1?r:r[0]),r=[]};for(const s of e)((i=s.observation)==null?void 0:i.source)==="local-job-recovery"&&!(t.get(s.id)||[]).length?r.push(s):(o(),a.push(s));return o(),a}function VF({messages:e,renderArtifacts:t,...a}){return n.createElement("details",{className:"a-recovery-group"},n.createElement("summary",null,e.length," recovered work updates"),e.map(r=>n.createElement(n.Fragment,{key:r.id},n.createElement(ck,{message:r,...a,expandedObservation:!0}),t==null?void 0:t(r))))}function ck({message:e,session:t,state:a,act:r,stamp:o,working:i,forkTurn:s,retry:l,discard:c,dispatch:u=r,expandedObservation:d=!1}){var F,H,ne;const[p,m]=g.useState(!1),[h,f]=g.useState(!1),[v,y]=g.useState(!1),[E,b]=g.useState(""),x=(F=a.view)==null?void 0:F.messageEdit,w=(x==null?void 0:x.sessionId)===t.id&&(x==null?void 0:x.messageId)===e.id,[R,S]=g.useState(w?x.text:""),I=g.useRef(null);g.useEffect(()=>{if(!w){I.current=null;return}(I.current===null||x.text===I.current)&&(S(x.text||""),I.current=null)},[w,x==null?void 0:x.text]);const N=(H=a.view)==null?void 0:H.messageCopy,M=(N==null?void 0:N.sessionId)===t.id&&(N==null?void 0:N.messageId)===e.id?N:null,k=i||t.configurationBusy||t.workspaceAvailable===!1||!!t.historyReadOnlyReason,T=B=>r("view.update",{patch:{messageEdit:B}}),A=e.localDelivery,q=A||((ne=e.delivery)!=null&&ne.status&&e.delivery.status!=="accepted"?e.delivery:null),z=async B=>{if(B.preventDefault(),!(p||k||!R.trim())){m(!0);try{A?await l(e,R):await u("message.edit",{sessionId:t.id,messageId:e.id,text:R,mode:x!=null&&x.fork?"fork":"current"})}catch(P){b(P.message)}finally{m(!1)}}};if(e.observation){const B=n.createElement(n.Fragment,null,n.createElement(_u,{text:e.text,reference:e.textDetail,markdown:!0}),n.createElement("button",{type:"button",className:"a-link","data-action":"message.copy",onClick:()=>r("message.copy",{sessionId:t.id,messageId:e.id})},"Copy observation"));return n.createElement("article",{className:"a-message a-assistant","data-message-id":e.id},d?B:n.createElement("details",null,n.createElement("summary",null,e.observation.source==="local-job-recovery"?"Recovered work update":["amplifier-delegate","amplifier-child","amplifier-child-lifecycle"].includes(e.observation.source)?"Delegated work update":"Service observation"," · Details"),B))}return n.createElement("article",{className:`a-message a-${e.role==="user"?"user":"assistant"}`,"data-message-id":e.id},n.createElement("div",{className:"a-msg-meta"},n.createElement("strong",null,e.role==="user"?"You":e.role==="assistant"?"Amplifier":e.role),n.createElement("span",null,e.via&&(e.via==="observation"?"Background follow-up · ":`via ${e.via} · `),e.timestampKnown===!1?"Time unavailable":o(e.createdAt))),n.createElement(zF,{quote:e.replyTo,sessionId:t.id,dispatch:u}),n.createElement(lk,{items:e.attachments}),E&&n.createElement("p",{role:"alert"},E),w?n.createElement("form",{className:"a-message-editor",onSubmit:z},n.createElement("textarea",{autoFocus:!0,"aria-label":"Edit your message",value:R,"data-action":"view.update",onChange:B=>{S(B.target.value),I.current=B.target.value,T({...x,text:B.target.value})},onKeyDown:B=>{B.key==="Escape"&&(B.preventDefault(),T(null)),B.key==="Enter"&&(B.metaKey||B.ctrlKey)&&(B.preventDefault(),B.currentTarget.form.requestSubmit())}}),n.createElement("p",{className:"a-caption"},A?"Update this unsent message and try again.":"Continue from this point. Later messages leave the active conversation; saved event history and earlier tool effects remain."),!A&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:!!(x!=null&&x.fork),"data-action":"view.update",onChange:B=>T({...x,text:R,fork:B.target.checked})}),"Start a new conversation instead"),n.createElement("div",{className:"a-message-edit-actions"},n.createElement("button",{className:"a-soft",type:"button",disabled:p,"data-action":"view.update",onClick:()=>T(null)},"Cancel"),n.createElement("button",{className:"a-primary",type:"submit",disabled:p||k||!R.trim(),"data-action":"message.edit","data-operation-pending":p||void 0,"aria-busy":p||void 0},n.createElement(Mi,null),p?"Starting…":"Save & regenerate"))):n.createElement(_u,{text:e.text||(i?"…":""),reference:e.textDetail,markdown:e.role!=="user",automatic:e.role==="assistant",writingContext:e.role==="assistant"?{sessionId:t.id,messageId:e.id,act:r}:void 0,fileContext:e.role==="assistant"?{sessionId:t.id,workspace:t.workspace,act:r}:void 0}),!w&&n.createElement("div",{className:"a-message-actions"},n.createElement("button",{type:"button",className:"a-icon",title:"Copy as Markdown","aria-label":"Copy message as Markdown","data-action":"message.copy",disabled:v,"data-operation-pending":v||void 0,"aria-busy":v||void 0,onClick:async()=>{if(!A){await r("message.copy",{sessionId:t.id,messageId:e.id});return}y(!0);try{await navigator.clipboard.writeText(e.text),f(!0)}catch(B){b(B.message)}finally{y(!1)}}},(M==null?void 0:M.status)==="ready"||h?n.createElement(Pt,null):n.createElement(ar,null)),!A&&["user","assistant"].includes(e.role)&&n.createElement(DF,{message:e,sessionId:t.id,dispatch:u}),e.role==="user"&&n.createElement("button",{type:"button",className:"a-icon",title:t.historyReadOnlyReason||(t.workspaceAvailable===!1?"Workspace folder unavailable":k?"Wait for the current work to finish":"Edit message"),"aria-label":"Edit message",disabled:k||p||!!A&&q.status!=="failed","data-operation-pending":p||void 0,"aria-busy":p||void 0,"data-action":"view.update",onClick:async()=>{m(!0);try{T({sessionId:t.id,messageId:e.id,text:e.textDetail?await Ml(e.textDetail):e.text,fork:!1})}catch(B){b(B.message)}finally{m(!1)}}},n.createElement(Di,null)),n.createElement(qF,{message:e,session:t,delivery:q,localDelivery:A,dispatch:u,retry:l,discard:c}),s&&n.createElement(WF,{session:t,turn:s,act:r,working:i}),(M==null?void 0:M.status)==="ready"&&n.createElement("span",{role:"status",className:"a-copy-result success"},"Copied Markdown"),(M==null?void 0:M.status)==="error"&&n.createElement("span",{role:"alert",className:"a-copy-result error"},n.createElement(On,null),M.message||"Could not copy")))}function WF({session:e,turn:t,act:a,working:r}){return n.createElement("button",{type:"button",className:"a-icon",title:e.historyReadOnlyReason||(e.workspaceAvailable===!1?"Workspace folder unavailable":r?"Wait for the current work to finish":"Fork a new chat from here"),"aria-label":`Fork conversation after turn ${t}`,disabled:r||e.configurationBusy||e.workspaceAvailable===!1||!!e.historyReadOnlyReason,"data-action":"session.fork",onClick:()=>a("session.fork",{id:e.id,turn:t})},n.createElement(Wa,null))}const Ia=e=>JSON.stringify([e.sessionId,e.workerId||null]),ZF={idle:"Ready for follow-up",working:"Working",running:"Working",starting:"Starting",queued:"Queued",stopping:"Interruption requested",completed:"Completed",interrupted:"Outcome unknown",error:"Needs attention",cancelled:"Cancelled",stopped:"Stopped"},Zf={selected:[],cursors:{},results:{},drafts:{}};function JF({dispatch:e}){const t="amplifier-coordination-v1",[a,r]=g.useState(()=>{try{return{...Zf,...JSON.parse(sessionStorage.getItem(t)||"null")}}catch{return Zf}}),o=g.useRef(new Set),i=g.useRef(a),[s,l]=g.useState([]),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(null),[y,E]=g.useState(!1),b=S=>{const I=S(i.current);i.current=I,r(I);try{sessionStorage.setItem(t,JSON.stringify(I))}catch{h("This browser could not save delivery cursors. Reports may appear again after reload.")}},x=async()=>{try{const S=await e("coordination.list",{},{feedback:!1});l(S.result.items),S.result.truncated&&h("Showing the first 100 targets. Agents can address any known conversation directly.")}catch(S){u(S.message)}};g.useEffect(()=>{x()},[]),g.useEffect(()=>{if(!a.selected.length)return;let S=!0,I=0;const N=new AbortController;return(async()=>{for(;S;){const M=a.selected.map(k=>({...k,...i.current.cursors[Ia(k)]?{afterCursor:i.current.cursors[Ia(k)]}:{}}));try{E(!0);const k=await e("coordination.wait",{targets:M,waitMs:3e4,maxBytes:32768},{feedback:!1,signal:N.signal});if(!S)return;I=0,p("");const T=k.result;if(T.errors.length){p(T.errors.map(A=>A.error).join(" "));return}b(A=>{const q={...A.cursors},z={...A.results};for(const H of T.targets){const ne=Ia(H.target),B=z[ne]||[],P=new Set(B.map(_=>_.id));z[ne]=[...B,...H.results.filter(_=>!P.has(_.id)).map(_=>({..._,text:_.text.slice(0,4096),textTruncated:_.textTruncated||_.text.length>4096}))].slice(-8),q[ne]=H.nextCursor}const F=new Set([...Object.keys(z).slice(-16),...A.selected.map(Ia)]);return{...A,cursors:Object.fromEntries(Object.entries(q).filter(([H])=>F.has(H))),results:Object.fromEntries(Object.entries(z).filter(([H])=>F.has(H)))}}),l(A=>A.map(q=>T.targets.find(z=>Ia(z.target)===Ia(q.target))||q)),T.targets.some(A=>A.cursorGap)&&h("Some older reports are no longer retained here. Open the saved conversation for its available history.")}catch(k){if(!S||k.name==="AbortError")return;p("Waiting to reconnect: "+k.message),await new Promise(T=>{const A=()=>{clearTimeout(q),N.signal.removeEventListener("abort",A),T()},q=setTimeout(A,Math.min(15e3,1e3*2**I++));N.signal.addEventListener("abort",A,{once:!0})})}finally{S&&E(!1)}}})(),()=>{S=!1,N.abort()}},[JSON.stringify(a.selected)]);const w=S=>b(I=>{const N=Ia(S),M=I.selected.some(k=>Ia(k)===N);return{...I,selected:M?I.selected.filter(k=>Ia(k)!==N):[...I.selected,S].slice(0,8)}}),R=async(S,I)=>{const N=Ia(S.target);if(o.current.has(N))return;o.current.add(N);const M=i.current.drafts[N]||"";v(N),u("");try{if((await e(I,{...S.target,...I==="coordination.followup"?{text:M}:{}})).delivery==="unknown"){u("Delivery is unknown. Work was not replayed. Inspect the target before sending another instruction.");return}I==="coordination.followup"&&b(T=>({...T,drafts:{...T.drafts,[N]:""}})),h(I==="coordination.interrupt"?"Interruption requested. Effects may already have happened.":"Follow-up accepted."),await x()}catch(k){u(k.message)}finally{o.current.delete(N),v(null)}};return n.createElement("div",{className:"a-coordination"},n.createElement("p",null,"Follow up on a conversation or its workers without switching away from your current draft. Watch up to eight targets for reports or requests for attention."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"coordination.list",onClick:x},"Refresh targets"),n.createElement("button",{className:"a-link",disabled:!a.selected.length,onClick:()=>b(S=>({...S,selected:[]}))},"Stop watching"),n.createElement("span",{role:"status"},y?"Waiting for updates…":a.selected.length?`${a.selected.length} targets watched`:"Choose targets to watch")),c&&n.createElement("p",{role:"alert",className:"a-alert"},c),d&&n.createElement("p",{role:"alert",className:"a-alert"},d),m&&n.createElement("p",{role:"status"},m),s.map(S=>{var k;const I=Ia(S.target),N=a.selected.some(T=>Ia(T)===I),M=a.results[I]||[];return n.createElement("section",{key:I,className:"a-coordination-target","aria-label":`${S.kind==="worker"?"Worker":"Conversation"}: ${S.title}`},n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:N,disabled:!N&&a.selected.length>=8,onChange:()=>w(S.target)}),n.createElement("strong",null,S.title)," · ",S.kind==="worker"?"Worker":"Conversation"),n.createElement("p",{className:"a-caption"},ZF[S.status]||S.status,S.attention?" · Needs attention":""),M.map(T=>n.createElement("article",{key:T.id,"data-report-id":T.id},n.createElement("p",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},T.text),T.textTruncated&&n.createElement("small",null,"Report excerpt. Open the saved conversation for more."))),n.createElement("details",null,n.createElement("summary",null,"Follow up"),n.createElement("form",{onSubmit:T=>{T.preventDefault(),R(S,"coordination.followup")}},n.createElement("label",null,"Follow-up for ",S.title,n.createElement("textarea",{value:a.drafts[I]||"",disabled:!S.canFollowup||f===I,onChange:T=>b(A=>({...A,drafts:{...A.drafts,[I]:T.target.value}}))})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"coordination.followup",disabled:!S.canFollowup||!((k=a.drafts[I])!=null&&k.trim())||f===I},"Send follow-up")))),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"coordination.interrupt",disabled:!S.canInterrupt||f===I,onClick:()=>R(S,"coordination.interrupt")},"Interrupt"))}))}function KF(){const e=new Map;return{add(t,a){const r=Symbol();return e.set(r,{patch:{...t},sessionId:a}),r},addCanvas(t,a){var o,i;const r=Symbol();return e.set(r,{canvas:{open:a,sessionId:t.selectedSessionId,canvasId:(o=t.canvas)==null?void 0:o.id,host:(i=t.client)==null?void 0:i.hostInstanceId}}),r},settle(t){e.delete(t)},bindDraft(t,a){const r=e.get(t);r&&Object.hasOwn(r.patch,"draft")&&(r.sessionId=a)},apply(t){var o,i;if(!t||!e.size)return t;let a={...t.view},r=t.canvas;for(const{patch:s,sessionId:l,canvas:c}of e.values()){if(c){c.sessionId===t.selectedSessionId&&c.canvasId===((o=t.canvas)==null?void 0:o.id)&&c.host===((i=t.client)==null?void 0:i.hostInstanceId)&&(r={...r,open:c.open,visibilityPending:!0},c.open||(a.canvasFocused=!1));continue}const u={...s};l!==void 0&&l!==t.selectedSessionId&&delete u.draft,a={...a,...u}}return{...t,view:a,canvas:r}}}}const YF=new Set(["aiConnectionEditor","providerEditor","composerModel","composerBundle","bundleDefaultsDraft"]),GF=(e,t={})=>t.expectedRevision===void 0&&["providers.list","providers.models","providers.schema"].includes(e);function QF(e,t,a={}){var s;if(e!=="view.update"||a.id||a.expectedRevision!==void 0||a.signal||a.pendingViewToken||Object.keys(t).some(l=>!["patch","sessionId"].includes(l)))return null;const r=Object.keys(t.patch||{}),o=r[0],i=(s=t.patch)==null?void 0:s[o];return r.length!==1||!YF.has(o)||!i||typeof i!="object"||Array.isArray(i)?null:JSON.stringify([o,t.sessionId??null,i.sessionId??null])}function XF(){let e=null;return(t,a,r=null,o=null)=>{if(r&&(e==null?void 0:e.queue)===t&&e.key===r&&!e.started)return e.execute=a,e.promise;const i={queue:t,key:r,execute:a,started:!1},s=()=>{i.started=!0,e===i&&(e=null);const l=i.execute;return i.execute=null,l()};return i.promise=(o?Promise.all([t.current,o]):t.current).then(s,s),t.current=i.promise.catch(()=>{}),e=i,i.promise}}function eq(e,t){if(!e||e.revision!==t.baseRevision)throw Error("State stream needs a fresh snapshot.");const a=(o,i,s)=>{if(!i.length)return s.value;const[l,...c]=i,u=Array.isArray(o)?[...o]:{...o};return!c.length&&s.remove?delete u[l]:Object.defineProperty(u,l,{value:a(Object.hasOwn(o||{},l)?o[l]:void 0,c,s),enumerable:!0,configurable:!0,writable:!0}),u};let r=e;for(const o of t.changes)r=a(r,o.path,o);if(r.revision!==t.revision)throw Error("State stream revision mismatch.");return r}function tq(e,t=()=>{}){let a=null,r=null,o=null,i=0;function s(){return r||(a===o?(a=null,Promise.resolve()):(r=(async()=>{for(;a!==null;){const c=a,u=i;if(a=null,c!==o)try{await e(JSON.parse(c)),u===i&&(o=c)}catch(d){t(d)}}})().finally(()=>{r=null,a!==null&&s()}),r))}const l=c=>(a=JSON.stringify(c),s());return l.invalidate=()=>{i++,o=null},l}function nq(e=32){const t=new Map,a=new Map;let r;const o=c=>{var u;return(u=c==null?void 0:c.sessions)==null?void 0:u.find(d=>d.id===c.selectedSessionId)};function i(c){var p;const u=(p=c==null?void 0:c.client)==null?void 0:p.hostInstanceId;r!==void 0&&u!==r&&(t.clear(),a.clear()),r=u;const d=o(c);if(d)for(t.delete(d.id),t.set(d.id,{session:d,canvas:c.canvas,canvasWorkspace:c.canvasWorkspace,canvasArtifacts:c.canvasArtifacts});t.size>e;)t.delete(t.keys().next().value)}function s(c,u){var h,f,v,y;if((f=(h=c==null?void 0:c.canvasWorkspace)==null?void 0:h.views)!=null&&f.some(E=>E.dirty))return null;const d=((v=c==null?void 0:c.sessions)==null?void 0:v.find(E=>E.id===u))||((y=t.get(u))==null?void 0:y.session);if(!d)return null;const p=o(c);p&&i({...c,sessions:c.sessions.map(E=>{var b;return E.id===p.id?{...E,draft:((b=c.view)==null?void 0:b.draft)||""}:E})});const m=Symbol();return a.set(m,{id:u,row:d}),m}function l(c){var x,w,R;if(!c||!a.size)return c;const{id:u,row:d}=Array.from(a.values()).at(-1);if(c.selectedSessionId===u)return{...c,navigationPending:!0};const p=t.get(u),m=((x=c.sessions)==null?void 0:x.find(S=>S.id===u))||d,{messages:h,workers:f,approvals:v,...y}=m,b=m.messageWindow||m.executionWindow||((w=m.messages)==null?void 0:w.length)||((R=m.approvals)==null?void 0:R.length)||m.streaming?m:p?{...p.session,...y}:{...m,historyLoading:!0,messages:[],workers:[],approvals:[]};return{...c,selectedSessionId:u,selectedWorkspaceId:b.workspaceId??c.selectedWorkspaceId,navigationPending:!0,sessions:[...(c.sessions||[]).filter(S=>S.id!==u),b],view:{...c.view,draft:b.draft||""},canvas:(p==null?void 0:p.canvas)||{open:!1},canvasWorkspace:(p==null?void 0:p.canvasWorkspace)||{views:[]},canvasArtifacts:(p==null?void 0:p.canvasArtifacts)||[]}}return{remember:i,begin:s,apply:l,settle:c=>a.delete(c)}}async function aq(e,t,a){const r=i=>{var s,l,c;return(c=(l=(s=i==null?void 0:i.sessions)==null?void 0:s.find(u=>u.id===t.sessionId))==null?void 0:l.messages)==null?void 0:c.find(u=>u.id===t.messageId)};let o=r(e);if(!o){const i=await a("/api/state?sessionId="+encodeURIComponent(t.sessionId));o=r(i.state||i)}if(!o)throw Error("Message no longer available");return o.textDetail?Ml(o.textDetail,a):o.text||""}async function rq(e,{request:t,download:a,clipboard:r}){let o="ready",i=e.destination==="clipboard"?"Copied conversation Markdown":"Markdown download started";try{const s=await t(e.url);e.destination==="clipboard"?await r.writeText(s.content):a(s.filename,s.content,s.mimeType)}catch(s){o="error",i="Could not export: "+s.message}await t("/api/actions",{method:"POST",body:{action:"session.exportResult",args:{requestId:e.requestId,status:o,message:i}}})}class oq{constructor({document:t=globalThis.document,navigator:a=globalThis.navigator,onState:r=()=>{}}={}){var o;this.document=t,this.navigator=a,this.onState=r,this.active=!1,this.enabled=!0,this.sentinel=null,this.pending=null,this.epoch=0,this.visible=()=>{var i;((i=this.document)==null?void 0:i.visibilityState)==="visible"&&this.acquire()},(o=this.document)==null||o.addEventListener("visibilitychange",this.visible)}setActive(t){this.active!==t&&(this.active=t,t?this.acquire():this.release())}setEnabled(t){this.enabled=t,t?this.acquire():this.release()}async acquire(){var r,o,i;if(!this.active||!this.enabled||((r=this.document)==null?void 0:r.visibilityState)!=="visible"||this.sentinel||this.pending)return;if(!((i=(o=this.navigator)==null?void 0:o.wakeLock)!=null&&i.request)){this.onState("unsupported");return}const t=this.epoch,a=this.pending=Promise.resolve().then(()=>this.navigator.wakeLock.request("screen"));try{const s=await a;if(t!==this.epoch||!this.active||!this.enabled||this.document.visibilityState!=="visible"){await s.release();return}this.sentinel=s,s.addEventListener("release",()=>{this.sentinel===s&&(this.sentinel=null,this.onState(this.active&&this.enabled?"released":"off"))},{once:!0}),this.onState(s.released?"released":"active"),s.released&&(this.sentinel=null)}catch{t===this.epoch&&this.active&&this.enabled&&this.onState("unavailable")}finally{this.pending===a&&(this.pending=null),t!==this.epoch&&this.active&&this.enabled&&this.acquire()}}release(){++this.epoch;const t=this.sentinel;this.sentinel=null,t&&Promise.resolve(t.release()).catch(()=>{}),this.onState("off")}dispose(){var t;this.active=!1,this.release(),(t=this.document)==null||t.removeEventListener("visibilitychange",this.visible)}}class iq{constructor({navigator:t=globalThis.navigator,document:a=globalThis.document,Metadata:r=globalThis.MediaMetadata,getAudio:o=()=>null,onState:i=()=>{},onAction:s=()=>{},onError:l=()=>{}}={}){Object.assign(this,{navigator:t,document:a,Metadata:r,getAudio:o,onState:i,onAction:s,onError:l}),this.active=!1,this.epoch=0,this.handlers=[],this.trackListeners=[],this.tracks=[],this.onVisibility=()=>{this.active&&(a==null?void 0:a.visibilityState)==="visible"&&this.resumePlayback()},a==null||a.addEventListener("visibilitychange",this.onVisibility)}start(){var t,a,r,o;if(!this.active){if(this.active=!0,++this.epoch,this.onState({audioSessionState:"unavailable",microphoneInterrupted:!1,microphoneEnded:!1,playbackBlocked:!1}),this.audioSession=(t=this.navigator)==null?void 0:t.audioSession,this.audioSession){try{this.previousType=this.audioSession.type,this.audioSession.type="play-and-record"}catch{this.previousType=void 0}this.audioChanged=()=>{this.active&&(this.onState({audioSessionState:this.audioSession.state}),this.syncMicrophone(),this.audioSession.state==="active"&&this.resumePlayback())},(r=(a=this.audioSession).addEventListener)==null||r.call(a,"statechange",this.audioChanged),this.audioChanged()}if(this.mediaSession=(o=this.navigator)==null?void 0:o.mediaSession,!!this.mediaSession){try{this.previousMetadata=this.mediaSession.metadata,this.previousPlaybackState=this.mediaSession.playbackState,this.Metadata&&(this.metadata=new this.Metadata({title:"Amplifier voice call"}),this.mediaSession.metadata=this.metadata),this.mediaSession.playbackState="playing"}catch{}for(const[i,s]of[["togglemicrophone",()=>this.onAction("call.mute",{muted:!this.muted})],["hangup",()=>this.onAction("call.end")]]){const l=this.epoch;try{this.mediaSession.setActionHandler(i,()=>{if(!(!this.active||l!==this.epoch))try{Promise.resolve(s()).catch(c=>this.onError(c))}catch(c){this.onError(c)}}),this.handlers.push(i)}catch{}}}}}attachStream(t){this.removeTrackListeners(),this.tracks=t.getAudioTracks();for(const a of this.tracks)for(const r of["mute","unmute","ended"]){const o=()=>{this.active&&(this.syncMicrophone(),r==="unmute"&&this.resumePlayback())};a.addEventListener(r,o),this.trackListeners.push([a,r,o])}this.syncMicrophone()}setMuted(t){this.muted=t,this.syncMicrophone()}syncMicrophone(){var r,o,i;if(!this.active)return;const t=this.tracks.filter(s=>s.readyState!=="ended"),a=t.some(s=>s.muted);this.onState({microphoneInterrupted:a,microphoneEnded:this.tracks.length>0&&!t.length});try{Promise.resolve((i=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:i.call(r,!this.muted&&((o=this.audioSession)==null?void 0:o.state)!=="interrupted"&&t.some(s=>s.enabled&&!s.muted))).catch(()=>{})}catch{}}async resumePlayback(){var o;const t=this.getAudio();if(!this.active||!(t!=null&&t.srcObject)||((o=this.audioSession)==null?void 0:o.state)==="interrupted"||this.playPending)return;const a=this.epoch;let r;try{r=Promise.resolve(t.play())}catch(i){r=Promise.reject(i)}this.playPending=r;try{await r,this.active&&a===this.epoch&&this.onState({playbackBlocked:!1})}catch{this.active&&a===this.epoch&&this.onState({playbackBlocked:!0})}finally{this.playPending===r&&(this.playPending=null)}}removeTrackListeners(){for(const[t,a,r]of this.trackListeners)t.removeEventListener(a,r);this.trackListeners=[],this.tracks=[]}stop(){var t,a,r,o;if(this.active){this.active=!1,++this.epoch,this.playPending=null,this.removeTrackListeners(),(a=(t=this.audioSession)==null?void 0:t.removeEventListener)==null||a.call(t,"statechange",this.audioChanged);try{this.previousType!==void 0&&this.audioSession.type==="play-and-record"&&(this.audioSession.type=this.previousType)}catch{}for(const i of this.handlers)try{this.mediaSession.setActionHandler(i,null)}catch{}this.handlers=[];try{Promise.resolve((o=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:o.call(r,!1)).catch(()=>{})}catch{}try{this.mediaSession&&(!this.metadata||this.mediaSession.metadata===this.metadata)&&(this.mediaSession.metadata=this.previousMetadata??null,this.mediaSession.playbackState=this.previousPlaybackState||"none")}catch{}this.audioSession=this.mediaSession=this.metadata=null,this.onState({audioSessionState:"inactive",microphoneInterrupted:!1,microphoneEnded:!1,playbackBlocked:!1})}}dispose(){var t;this.stop(),(t=this.document)==null||t.removeEventListener("visibilitychange",this.onVisibility)}}class sq{constructor({request:t,onState:a=()=>{},onError:r=()=>{},onAction:o}){this.request=t,this.onState=a,this.onError=r,this.state={status:"idle",muted:!1,keepAwake:!0,wakeLock:"off"},this.wakeLock=new oq({onState:i=>this.update({wakeLock:i})}),this.generation=0,this.peer=null,this.stream=null,this.events=null,this.audio=null,this.callAudio=new iq({getAudio:()=>this.audio,onState:i=>this.update(i),onError:r,onAction:o||((i,s)=>i==="call.mute"?this.setMuted(s.muted):this.end())}),this.readySent=!1,this.onPageHide=()=>{++this.generation,this.state.id&&this.request("/api/voice/end",{method:"POST",body:{id:this.state.id},keepalive:!0}).catch(()=>{}),this.release(),this.update({status:"ended",id:null})},window.addEventListener("pagehide",this.onPageHide)}update(t){this.state={...this.state,...t},this.onState({...this.state}),t.status&&this.wakeLock.setActive(["connecting","connected"].includes(t.status))}async start({provider:t="auto",sessionId:a=null}={}){var o;if(["connecting","connected"].includes(this.state.status))return this.state;if(!((o=navigator.mediaDevices)!=null&&o.getUserMedia)||!window.RTCPeerConnection)throw new Error("Voice needs a browser with microphone and WebRTC support, on localhost or HTTPS.");const r=++this.generation;this.update({status:"connecting",error:null,muted:!1});try{const i=await this.request("/api/voice/config");if(!i.available)throw new Error(i.reason||"Voice is not configured on the host.");if(r!==this.generation)return this.state;this.callAudio.start(),this.callAudio.setMuted(!1);const s=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});if(r!==this.generation)return s.getTracks().forEach(p=>p.stop()),this.state;this.stream=s,s.getAudioTracks().forEach(p=>{p.enabled=!this.state.muted}),this.callAudio.attachStream(s);const l=this.peer=new RTCPeerConnection;this.audio=new Audio,this.audio.autoplay=!0,this.audio.setAttribute("playsinline",""),l.addEventListener("track",p=>{r!==this.generation||!this.audio||(this.audio.srcObject=p.streams[0]||new MediaStream([p.track]),this.callAudio.resumePlayback())}),s.getTracks().forEach(p=>l.addTrack(p,s));const c=this.events=l.createDataChannel("oai-events");this.readySent=!1;const u=async()=>{if(!(this.readySent||!this.state.id||l.connectionState!=="connected"||c.readyState!=="open")){this.readySent=!0;try{await this.request("/api/voice/ready",{method:"POST",body:{id:this.state.id}}),r===this.generation&&this.update({status:"connected"})}catch(p){this.onError(p),await this.end()}}};c.addEventListener("open",u),c.addEventListener("message",p=>{try{JSON.parse(p.data).type==="session.closed"&&r===this.generation&&(this.release(),this.update({status:"ended",finalized:!0}))}catch{}}),l.addEventListener("connectionstatechange",()=>{u(),l.connectionState==="failed"&&r===this.generation&&(this.onError(new Error("The voice connection failed. Your background work continues.")),this.end().catch(this.onError))}),await l.setLocalDescription(await l.createOffer());const d=await this.request("/api/voice/connect",{method:"POST",body:{sdp:l.localDescription.sdp,provider:t,sessionId:a}});return r!==this.generation?(await this.request("/api/voice/end",{method:"POST",body:{id:d.id}}),this.state):(this.update({id:d.id,provider:d.provider,model:d.model,fallbackReason:d.fallbackReason||null}),await l.setRemoteDescription({type:"answer",sdp:d.sdp}),await u(),this.connectionTimer=setTimeout(()=>{r===this.generation&&this.state.status==="connecting"&&(this.onError(new Error("Voice media could not connect. Check microphone and network access, then try again.")),this.end().catch(this.onError))},25e3),this.state)}catch(i){if(r!==this.generation)return this.state;if(this.state.id)try{await this.request("/api/voice/end",{method:"POST",body:{id:this.state.id}})}catch{}this.release();const s=i.name==="NotAllowedError"?"Microphone access was declined. Allow microphone access for this site, then call again.":i.message;throw this.update({status:"error",error:s,id:null}),new Error(s)}}setKeepAwake(t){this.update({keepAwake:!!t}),this.wakeLock.setEnabled(!!t)}setMuted(t){var r;const a=!!t;(r=this.stream)==null||r.getAudioTracks().forEach(o=>{o.enabled=!a}),this.update({muted:a}),this.callAudio.setMuted(a)}async end(){var a;++this.generation,this.update({status:"ending"}),(a=this.stream)==null||a.getAudioTracks().forEach(r=>{r.enabled=!1});let t;try{return t=await this.request("/api/voice/end",{method:"POST",body:{id:this.state.id||null}}),t}finally{this.release(),this.update({status:"ended",finalized:(t==null?void 0:t.finalized)||!1,id:null})}}release(){var t,a,r;this.callAudio.stop(),this.wakeLock.setActive(!1),clearTimeout(this.connectionTimer),(t=this.stream)==null||t.getTracks().forEach(o=>o.stop()),(a=this.events)==null||a.close(),(r=this.peer)==null||r.close(),this.audio&&(this.audio.pause(),this.audio.srcObject=null),this.peer=this.stream=this.events=this.audio=null}dispose(){++this.generation,this.onPageHide(),window.removeEventListener("pagehide",this.onPageHide),this.wakeLock.dispose(),this.callAudio.dispose()}}function lq(e,t){return new Promise((a,r)=>{let o=!1,i;const s=(c,u)=>{var d,p;if(o){(d=u==null?void 0:u.close)==null||d.call(u);return}o=!0,clearTimeout(l),i!==void 0&&((p=t.cancelVideoFrameCallback)==null||p.call(t,i)),c?r(c):a(u)},l=setTimeout(()=>s(Error("No fresh screen frame arrived.")),2e3);try{globalThis.ImageCapture?new globalThis.ImageCapture(e).grabFrame().then(c=>s(null,c),c=>s(c)):t.requestVideoFrameCallback?i=t.requestVideoFrameCallback(()=>s(null,t)):s(Error("Fresh frame capture is unsupported by this browser."))}catch(c){s(c)}})}class uk{constructor({request:t,onState:a=()=>{},getVoice:r,scope:o="voice",media:i=(s=>(s=globalThis.navigator)==null?void 0:s.mediaDevices)()}){var l;Object.assign(this,{request:t,onState:a,getVoice:r,media:i,scope:o}),this.generation=0,this.stream=null,this.grant=null,this.video=null,this.onPageHide=()=>this.stop(),(l=globalThis.window)==null||l.addEventListener("pagehide",this.onPageHide)}url(t){return`/api/${this.scope}/visual/${t}`}target(t){return{sessionId:t.sessionId,callId:this.scope==="voice"?t.id:null}}state(t){this.value={...this.value,...t},this.onState(this.value)}active(t){const a=this.getVoice();return(a==null?void 0:a.status)==="connected"&&a.id===t}async choose(){var r;const t=this.getVoice();if((t==null?void 0:t.status)!=="connected"||!t.id)throw Error(this.scope==="voice"?"Connect a voice call before choosing a screen source.":"Open a conversation before choosing a screen source.");if(!((r=this.media)!=null&&r.getDisplayMedia))throw Error("Screen capture is unavailable in this browser. Use a desktop browser on localhost or HTTPS.");this.stop();const a=this.generation;this.state({status:"choosing",error:null});try{const o=await this.media.getDisplayMedia({video:{width:{ideal:1280},height:{ideal:1280}},audio:!1});if(a!==this.generation||!this.active(t.id))throw o.getTracks().forEach(d=>d.stop()),Error("The chat or call changed while choosing a source.");this.stream=o;const i=o.getVideoTracks()[0];if(!i)throw Error("The selected source has no video track.");i.addEventListener("ended",()=>this.stop());const s=document.createElement("video");if(s.muted=!0,s.playsInline=!0,s.srcObject=o,this.video=s,await s.play(),a!==this.generation||!this.active(t.id))throw Error("The chat or call ended while preparing the source.");const l=i.getSettings().displaySurface||"unknown",c={kind:["browser","window","monitor"].includes(l)?l:"unknown",label:(i.label||"User-selected source").slice(0,200)},u=await this.request(this.url("grant"),{method:"POST",body:{...this.target(t),source:c}});if(a!==this.generation||!this.active(t.id))throw await this.request(this.url("revoke"),{method:"POST",body:{grantId:u.id}}).catch(()=>{}),Error("The chat or call changed; source permission was discarded.");this.grant=u,this.expiry=setTimeout(()=>this.stop(),Math.max(0,u.expiresAt*1e3-Date.now())),this.state({status:"ready",source:c,grantId:u.id})}catch(o){throw a===this.generation&&(this.stop(),this.state({status:"error",error:o.name==="NotAllowedError"?"Screen permission was not granted.":o.message})),o}}async checkNative(){const t=this.getVoice(),a=await this.request(this.url("native/status"),{method:"POST",body:this.target(t)});if(!this.active(t.id))throw Error("The chat or call ended while checking the desktop host.");return this.state({native:a}),a}async chooseNative(){var i;const t=this.getVoice(),a=(i=this.value)==null?void 0:i.native;if(!(a!=null&&a.available)||!this.active(t.id))throw Error("Check the desktop host before granting access.");this.stop();const r=this.generation,o=await this.request(this.url("grant"),{method:"POST",body:{...this.target(t),source:{kind:"native-foreground",hostId:a.host.id,hostInstanceId:a.hostInstanceId}}});if(r!==this.generation||!this.active(t.id))throw await this.request(this.url("revoke"),{method:"POST",body:{grantId:o.id}}).catch(()=>{}),Error("The chat or call changed; source permission was discarded.");this.grant=o,this.expiry=setTimeout(()=>this.stop(),Math.max(0,o.expiresAt*1e3-Date.now())),this.state({status:"ready",source:o.source,grantId:o.id})}sync(t,a,r){var i,s,l,c,u;const o=(i=this.getVoice())==null?void 0:i.id;this.scope==="computer"&&this.lastIdentity!==void 0&&this.lastIdentity!==o&&(this.stop(),this.state({native:null,capturedAt:null})),this.lastIdentity=o,this.grant&&(!a||!this.active(((s=this.grant)==null?void 0:s.callId)||((l=this.grant)==null?void 0:l.sessionId)||(t==null?void 0:t.id))||this.grant&&((r==null?void 0:r.available)===!1||r!=null&&r.id&&r.id!==this.grant.id))&&this.stop(),this.grant&&((c=r==null?void 0:r.lastCapture)==null?void 0:c.grantId)===this.grant.id&&r.lastCapture.capturedAt!==((u=this.value)==null?void 0:u.capturedAt)&&this.state({capturedAt:r.lastCapture.capturedAt})}async capture(t){var i,s;const a=this.grant,r=this.generation,o={requestId:t.id,grantId:t.grantId,sessionId:t.sessionId,callId:t.callId};try{if(!a||t.grantId!==a.id||t.callId!==a.callId||t.sessionId!==a.sessionId||!this.active(a.callId||a.sessionId))throw Error("This screen source is no longer authorized.");const l=(i=this.stream)==null?void 0:i.getVideoTracks()[0];if(!l||l.readyState!=="live"||l.muted)throw Error("The selected source is unavailable or paused.");const c=this.video,u=await lq(l,c);let d;try{if(r!==this.generation||!this.active(a.callId||a.sessionId)||l.readyState!=="live"||l.muted)throw Error("Screen sharing ended before capture.");const m=u===c?c.videoWidth:u.width,h=u===c?c.videoHeight:u.height;if(!m||!h)throw Error("The source did not provide visible pixels.");const f=document.createElement("canvas"),v=Math.min(1,1280/Math.max(m,h));if(f.width=Math.max(1,Math.round(m*v)),f.height=Math.max(1,Math.round(h*v)),f.getContext("2d").drawImage(u,0,0,f.width,f.height),d=f.toDataURL("image/png").split(",")[1],d.length>666668)throw Error("This image is too large. Select a smaller window.")}finally{u!==c&&u.close()}const p=Date.now()/1e3;await this.request(this.url("complete"),{method:"POST",body:{...o,image:d,capturedAt:p}}),r===this.generation&&((s=this.grant)==null?void 0:s.id)===a.id&&this.state({status:"ready",capturedAt:p,error:null})}catch(l){this.state({error:l.message}),await this.request(this.url("complete"),{method:"POST",body:{...o,error:l.message}}).catch(()=>{})}}stop(){var a;++this.generation,clearTimeout(this.expiry);const t=this.grant;this.grant=null,(a=this.stream)==null||a.getTracks().forEach(r=>r.stop()),this.stream=null,this.video&&(this.video.pause(),this.video.srcObject=null,this.video=null),this.state({status:"idle",source:null,grantId:null,capturedAt:null}),t&&this.request(this.url("revoke"),{method:"POST",body:{grantId:t.id},keepalive:!0}).catch(()=>{})}dispose(){var t;this.stop(),(t=globalThis.window)==null||t.removeEventListener("pagehide",this.onPageHide)}}class cq extends uk{constructor({getSession:t,...a}){super({...a,scope:"computer",getVoice:()=>{const r=t();return{sessionId:r,id:r,status:r?"connected":"idle"}}})}}function uq({sessionId:e,visual:t,client:a,dispatch:r,onError:o}){const i=u=>Promise.resolve().then(u).catch(o),s="this chat in this browser",l="computer.visual",c={sessionId:e};return e?n.createElement("section",{className:"a-card","aria-label":"Computer use"},n.createElement("h3",null,"Screen context for ",s),n.createElement("p",{className:"a-caption"},"Choose a window, tab, display, or the named desktop host. Only explicit captures are sent. Amplifier may capture that source when you ask about it. Access expires after 15 minutes or when you stop sharing, switch chats or disconnect. Sharing works with both text and voice, and stays active when a call starts or ends. Saved snapshots stay in the conversation."),n.createElement("div",{"data-runtime-section":"desktop-host",tabIndex:-1},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",onClick:()=>i(()=>a.current.checkNative())},"Check desktop host")),t.native&&n.createElement("div",{role:"status"},n.createElement("p",null,"Desktop host: ",t.native.host.label,". This is the server's desktop, which may differ from this browser's device."),t.native.available?n.createElement("button",{className:"a-soft",onClick:()=>i(()=>a.current.chooseNative())},"Allow foreground snapshots from ",t.native.host.label," for ",s):n.createElement(n.Fragment,null,n.createElement("p",null,"Native observation is unavailable (",t.native.code||t.native.status,"). ",t.native.code==="backend_not_installed"?"The optional native-desktop library is missing from the serving app environment; a worker installation does not supply it.":t.native.code==="unsupported"?"The native source requires a local macOS host. Choose a browser screen source instead.":"Check the named host and its Screen Recording permission. Checking does not request permission or capture the screen."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i(()=>r("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["desktop"]}}))},"Open desktop setup")))),n.createElement("div",{"data-runtime-section":"screen-source",tabIndex:-1},t.source&&n.createElement("p",null,"Selected ",t.source.kind,": ",t.source.label),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:t.status==="choosing",onClick:()=>{a.current.choose().catch(o)}},"Choose screen source"))),n.createElement("div",{"data-runtime-section":"capture",tabIndex:-1,className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":l+".capture",disabled:t.status!=="ready",onClick:()=>i(()=>r(l+".capture",c))},"Capture screen"),n.createElement("button",{className:"a-soft","data-action":l+".revoke",disabled:t.status!=="ready",onClick:()=>i(async()=>{a.current.stop(),await r(l+".revoke",c)})},"Stop screen sharing")),t.capturedAt&&n.createElement("p",{className:"a-caption"},"Last captured ",new Date(t.capturedAt*1e3).toLocaleTimeString(),". Available for the next text or spoken request for 30 seconds."),t.error&&n.createElement("p",{role:"status"},t.error),n.createElement("p",{className:"a-caption"},"Native foreground snapshots identify the visible window on the explicitly selected host. Desktop control is not granted.")):null}function dq({sessionId:e,visual:t,client:a,dispatch:r,onError:o}){return t.status!=="ready"||!t.source?null:n.createElement("div",{className:"a-sharing-strip",role:"status","aria-label":"Screen sharing active","data-part":"screen-sharing"},n.createElement("span",null,n.createElement("strong",null,"Sharing active"),n.createElement("small",null,t.source.label||t.source.kind)),n.createElement("button",{type:"button",className:"a-soft","data-action":"computer.visual.revoke",onClick:()=>{a.current.stop(),r("computer.visual.revoke",{sessionId:e}).catch(o)}},"Stop sharing"))}function pq({state:e,act:t}){var m,h;const[a,r]=g.useState(""),[o,i]=g.useState(!1),[s,l]=g.useState(null),c=g.useRef(!1),u=(((m=e.feedback)==null?void 0:m.requests)||[]).filter(f=>f.status==="unknown"),d=(((h=e.feedback)==null?void 0:h.followups)||[]).find(f=>f.requestId===s);async function p(f){if(c.current)return;c.current=!0,i(!0),r("");const v=crypto.randomUUID();l(v);try{await t("feedback.reconcile",{requestId:v,feedbackId:f})}catch(y){r(y.message)}finally{c.current=!1,i(!1)}}return n.createElement("section",{"aria-label":"Unconfirmed feedback delivery"},!!u.length&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Unconfirmed delivery"),n.createElement("p",null,"Check for the original report using its saved identity. Checking never sends it again."),u.map(f=>n.createElement("div",{key:f.requestId},n.createElement("strong",null,f.title),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.reconcile",disabled:o||["queued","sending"].includes(d==null?void 0:d.status),onClick:()=>p(f.requestId)},"Check delivery")))),d&&n.createElement("p",{role:"status"},d.message),a&&n.createElement("p",{role:"alert"},a))}function mq({state:e,report:t,act:a}){var S,I;const r=(S=e.view)==null?void 0:S.feedbackCorrectionDraft,[o,i]=g.useState(r||null),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(o),p=g.useRef(Promise.resolve()),m=g.useRef(!1),h=g.useRef(null),f=g.useRef(!1);g.useEffect(()=>()=>{clearTimeout(h.current),f.current&&b(d.current).catch(()=>{})},[]),g.useEffect(()=>{!f.current&&!m.current&&(d.current=r||null,i(r||null))},[r]);const v=(((I=e.feedback)==null?void 0:I.followups)||[]).find(N=>{var M;return N.requestId===((M=o==null?void 0:o.pending)==null?void 0:M.requestId)}),y=(o==null?void 0:o.feedbackId)===t.feedbackId,E=["submitted","unknown","failed"].includes(v==null?void 0:v.status);function b(N){clearTimeout(h.current),f.current=!0,d.current=N,i(N);const M=p.current.catch(()=>{}).then(()=>a("view.update",{patch:{feedbackCorrectionDraft:N}})).then(k=>{if((k==null?void 0:k.accepted)===!1)throw Error("The correction draft could not be saved.");d.current===N&&(f.current=!1)});return p.current=M,M.catch(k=>u(k.message)),M}function x(N){f.current=!0,d.current={...d.current,...N},i(d.current),clearTimeout(h.current),h.current=setTimeout(()=>void b(d.current).catch(()=>{}),250)}function w(){u(""),b({feedbackId:t.feedbackId,title:t.editableTitle,body:t.editableBody,expectedRevision:t.revision})}async function R(N){if(N.preventDefault(),!(m.current||E)){m.current=!0,l(!0),u("");try{const M=d.current,k=M.pending||{requestId:crypto.randomUUID(),feedbackId:M.feedbackId,title:M.title,body:M.body,expectedRevision:M.expectedRevision};await b({...M,pending:k}),await a("feedback.update",k)}catch(M){u(M.message||"Delivery was not acknowledged. Retry only this same request.")}finally{m.current=!1,l(!1)}}}return y?n.createElement("form",{onSubmit:R,"aria-label":"Feedback correction"},n.createElement("h4",null,"Correction version"),n.createElement("p",null,"The correction is added as a comment. The original report and maintainer edits stay intact."),n.createElement("label",{htmlFor:"feedback-corrected-title"},"Corrected title"),n.createElement("input",{id:"feedback-corrected-title",maxLength:200,required:!0,disabled:!!o.pending||s,value:o.title,onChange:N=>x({title:N.target.value}),onBlur:()=>void b(d.current).catch(()=>{})}),n.createElement("label",{htmlFor:"feedback-corrected-body"},"Corrected description"),n.createElement("textarea",{id:"feedback-corrected-body",maxLength:16e3,required:!0,disabled:!!o.pending||s,value:o.body,onChange:N=>x({body:N.target.value}),onBlur:()=>void b(d.current).catch(()=>{})}),o.expectedRevision!==t.revision&&!o.pending&&n.createElement(n.Fragment,null,n.createElement("p",null,"The report changed. Review the refreshed report before using it as the correction's starting revision."),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>b({...d.current,expectedRevision:t.revision})},"Use reviewed revision")),!E&&n.createElement("button",{className:"a-primary","data-action":"feedback.update",disabled:s||["queued","sending"].includes(v==null?void 0:v.status)||o.expectedRevision!==t.revision||!o.title.trim()||!o.body.trim()},o.pending?"Check correction status":"Publish correction comment"),v&&n.createElement("p",{role:"status"},v.message),(v==null?void 0:v.commentUrl)&&n.createElement("a",{href:v.commentUrl,target:"_blank",rel:"noopener noreferrer"},"View correction"),(E||!o.pending)&&n.createElement("button",{type:"button",className:"a-soft",disabled:s,onClick:()=>b(null)},"Close correction draft"),c&&n.createElement("p",{role:"alert"},c)):n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft",onClick:w,disabled:!!(o!=null&&o.body)},"Draft a correction"),(o==null?void 0:o.body)&&n.createElement("p",null,"A correction for another report is saved. Return to that report before starting another."))}function hq({state:e,report:t,act:a}){var f,v;const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1),c=(f=e.view)==null?void 0:f.feedbackLifecycleDraft,u=(c==null?void 0:c.feedbackId)===t.feedbackId?c:null,d=(((v=e.feedback)==null?void 0:v.followups)||[]).find(y=>y.requestId===(u==null?void 0:u.requestId)),p=u&&!["submitted","failed","unknown"].includes(d==null?void 0:d.status);async function m(){if(l.current)return;l.current=!0,o(!0),s("");const y=t.state==="closed"?"feedback.reopen":"feedback.close",E=p?u:{action:y,requestId:crypto.randomUUID(),feedbackId:t.feedbackId,expectedRevision:t.revision};try{const b=await a("view.update",{patch:{feedbackLifecycleDraft:{...E,readRequestId:t.requestId}}});if((b==null?void 0:b.accepted)===!1)throw Error("Could not save the change request.");const{action:x,readRequestId:w,...R}=E;await a(x,R)}catch(b){s(b.message||"The state change was not acknowledged. Check this same request.")}finally{l.current=!1,o(!1)}}const h=d&&["submitted","unknown"].includes(d.status)&&t.requestId===(u==null?void 0:u.readRequestId);return n.createElement("section",{"aria-label":"Feedback report state"},n.createElement("button",{type:"button",className:"a-soft","data-action":t.state==="closed"?"feedback.reopen":"feedback.close",disabled:r||["queued","sending"].includes(d==null?void 0:d.status)||h,onClick:m},p?"Check state change":t.state==="closed"?"Reopen my report":"Close my report"),d&&n.createElement("p",{role:"status"},d.message," Refresh the report to review its current state."),i&&n.createElement("p",{role:"alert"},i))}function fq({state:e,act:t}){var A,q,z,F,H,ne,B;const a=(((A=e.feedback)==null?void 0:A.requests)||[]).filter(P=>P.status==="submitted"),r=(q=e.view)==null?void 0:q.feedbackFollowupDraft,[o,i]=g.useState(r||{feedbackId:"",body:""}),[s,l]=g.useState(""),[c,u]=g.useState(!1),d=g.useRef(o),p=g.useRef(!1),m=g.useRef(!1),h=g.useRef(null),f=g.useRef(null);g.useEffect(()=>()=>{clearTimeout(h.current),p.current&&I().catch(()=>{})},[]),g.useEffect(()=>{r&&!p.current&&!m.current&&(d.current=r,i(r))},[r]);const v=o.pending,y=v&&(((z=e.feedback)==null?void 0:z.followups)||[]).find(P=>P.requestId===v.requestId),E=y||(((F=e.feedback)==null?void 0:F.followups)||[]).find(P=>P.requestId===o.submittedRequestId&&P.feedbackId===o.feedbackId&&P.status==="submitted");g.useEffect(()=>{var P;(y==null?void 0:y.status)!=="submitted"||((P=d.current.pending)==null?void 0:P.requestId)!==y.requestId||(l(""),N({feedbackId:d.current.feedbackId,body:"",submittedRequestId:y.requestId}).catch(()=>l("The comment was sent, but the cleared draft could not be saved. Reconnect and try again.")))},[y==null?void 0:y.status,y==null?void 0:y.requestId]);const b=(((H=e.feedback)==null?void 0:H.followups)||[]).find(P=>{var _;return P.feedbackId===o.feedbackId&&P.requestId===((_=e.feedback)==null?void 0:_.readRequestId)}),x=((B=(ne=e.feedback)==null?void 0:ne.report)==null?void 0:B.feedbackId)===o.feedbackId?e.feedback.report:null,w=c||["queued","sending"].includes(y==null?void 0:y.status),R=["submitted","unknown","failed"].includes(y==null?void 0:y.status);function S(P){p.current=!0,d.current={...d.current,...P},i(d.current),clearTimeout(h.current),h.current=setTimeout(()=>I().catch(()=>l("The draft could not be saved.")),250)}async function I(){if(clearTimeout(h.current),f.current)return await f.current,I();if(!p.current)return;const P=d.current,_=t("view.update",{patch:{feedbackFollowupDraft:P}});f.current=_;try{const ee=await _;if(!ee||ee.accepted===!1)throw Error("The draft could not be saved.");d.current===P&&(p.current=!1)}finally{f.current=null}if(p.current)return I()}async function N(P){d.current=P,p.current=!0,i(P),await I()}async function M(P=1){l("");try{await N(d.current),await t("feedback.get",{requestId:crypto.randomUUID(),feedbackId:d.current.feedbackId,page:P})}catch{l("Could not load the report. Check the connection and try again.")}}async function k(P){if(P.preventDefault(),m.current||w||R)return;m.current=!0,u(!0),l("");const _=d.current.pending||{requestId:crypto.randomUUID(),feedbackId:d.current.feedbackId,body:d.current.body},ee={...d.current,pending:_};d.current=ee,i(ee);try{await N(ee),await t("feedback.comment",_)}catch{l("The comment was not acknowledged. Check the same request below; it will not post twice.")}finally{m.current=!1,u(!1)}}async function T(){const P={feedbackId:o.feedbackId,body:""};try{await N(P),d.current=P,i(P),l("")}catch{l("Could not start a new comment.")}}return a.length?n.createElement("section",{className:"a-feedback-followup","aria-label":"Feedback follow-up"},n.createElement("h3",null,"Follow up on feedback"),n.createElement("label",{htmlFor:"feedback-report"},"Submitted report"),n.createElement("select",{id:"feedback-report","data-action":"view.update",disabled:!!v||c,value:o.feedbackId,onChange:P=>S({feedbackId:P.target.value})},n.createElement("option",{value:""},"Choose a report"),a.map(P=>n.createElement("option",{key:P.requestId,value:P.requestId},P.title))),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.get",disabled:!o.feedbackId||c||["queued","sending"].includes(b==null?void 0:b.status),onClick:()=>M()},"Refresh report"),b&&n.createElement(it,{phase:b.status==="failed"?"error":b.status==="completed"?"success":"working",message:b.message}),x&&n.createElement("div",{className:"a-feedback-report"},n.createElement("h4",null,x.title," · ",x.state),n.createElement("a",{href:x.url,target:"_blank",rel:"noopener noreferrer"},"Open issue on GitHub"),n.createElement("pre",null,x.body),x.comments.map(P=>n.createElement("div",{key:P.id},n.createElement("strong",null,P.author.login),n.createElement("small",null," ",P.createdAt),n.createElement("pre",null,P.body))),n.createElement("div",null,x.page>1&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>M(x.page-1)},"Previous comments"),x.hasMore&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>M(x.page+1)},"More comments"))),x&&n.createElement(mq,{key:x.feedbackId,state:e,report:x,act:t}),x&&n.createElement(hq,{state:e,report:x,act:t}),n.createElement("form",{onSubmit:k,"data-action":"feedback.comment"},n.createElement("label",{htmlFor:"feedback-comment"},"Add a comment"),n.createElement("textarea",{id:"feedback-comment","data-action":"view.update",maxLength:16e3,required:!0,disabled:!!v||c,value:(v==null?void 0:v.body)??o.body,onChange:P=>S({body:P.target.value}),onBlur:()=>N(d.current).catch(()=>l("The draft could not be saved."))}),n.createElement("p",{className:"a-caption"},"Only this text is added to the selected report, using the host’s GitHub sign-in. The report must belong to that account."),E&&n.createElement(it,{phase:E.status==="submitted"?"success":["unknown","failed"].includes(E.status)?"error":"working",message:E.message}),s&&n.createElement(it,{phase:"error",message:s}),(E==null?void 0:E.commentUrl)&&n.createElement("a",{href:E.commentUrl,target:"_blank",rel:"noopener noreferrer"},"View comment"),(y==null?void 0:y.status)==="unknown"&&n.createElement("a",{href:y.url,target:"_blank",rel:"noopener noreferrer"},"Check the issue before starting another comment"),!R&&n.createElement("button",{type:"submit",className:"a-primary","data-action":"feedback.comment",disabled:w||!o.feedbackId||!o.body.trim()},w?"Sending…":v?"Check comment status":"Send comment"),R&&n.createElement("button",{type:"button",className:"a-soft",onClick:T},"New comment"))):null}function gq({state:e,act:t,frozen:a,onStage:r}){var i;const o=(i=e.sessions)==null?void 0:i.find(s=>s.id===e.selectedSessionId);return o?n.createElement(vq,{key:o.id,session:o,act:t,frozen:a,onStage:r}):null}function vq({session:e,act:t,frozen:a,onStage:r}){var ne,B;const o=(e.messages||[]).filter(P=>P.id&&["user","assistant"].includes(P.role)&&!P.streaming),[i,s]=g.useState(!1),[l,c]=g.useState(((ne=o.at(-1))==null?void 0:ne.id)||""),[u,d]=g.useState(((B=o.at(-1))==null?void 0:B.id)||""),[p,m]=g.useState(null),[h,f]=g.useState(""),[v,y]=g.useState(!1),[E,b]=g.useState(""),[x,w]=g.useState(!1),[R,S]=g.useState(!1),[I,N]=g.useState(!1),M=g.useRef(0),k=g.useRef(null);g.useEffect(()=>()=>{M.current++},[]);function T(){M.current++,m(null),w(!1),S(!1),b(""),N(!1),k.current=null}async function A(P=!1){var ee,Z;const _=++M.current;y(!0),b(""),w(!1),S(!1),k.current=null;try{const D=P?p.snapshotId:(Z=(ee=await t("session.export",{id:e.id,format:"markdown",destination:"none",scope:"range",minimal:!0,fromMessageId:l,throughMessageId:u}))==null?void 0:ee.result)==null?void 0:Z.snapshotId;if(!D)throw Error("The selected excerpt could not be prepared.");const G=await t("feedback.excerpt.review",{id:e.id,snapshotId:D,...P?{text:h}:{}});if(!(G!=null&&G.result))throw Error("The excerpt or destination could not be checked. Nothing was sent.");_===M.current&&(m(G.result),f(G.result.text),N(!1))}catch(D){_===M.current&&b(D.message)}finally{_===M.current&&y(!1)}}async function q(){const P=++M.current;y(!0),b(""),k.current||(k.current={id:e.id,reviewId:p.reviewId,requestId:crypto.randomUUID(),acknowledgeDisclosure:!0,acknowledgeWarnings:R});try{await r(k.current),P===M.current&&(N(!0),k.current=null)}catch(_){P===M.current&&b(_.message||"The attachment was not acknowledged. Check again using the same review.")}finally{P===M.current&&y(!1)}}const z=p&&h!==p.text,F=a||v,H=o.map((P,_)=>n.createElement("option",{key:P.id+_,value:P.id},_+1,". ",P.role==="user"?"You":"Amplifier",": ",String(P.text||"").replace(/\s+/g," ").slice(0,80)));return n.createElement("section",{"aria-label":"Optional conversation excerpt"},n.createElement("button",{type:"button",className:"a-soft",disabled:F,onClick:()=>s(!i)},i?"Hide excerpt review":"Attach transcript excerpt"),i&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Optional. Starts with one message; choose only the context needed. Hidden instructions, tool payloads and file contents are excluded. Nothing uploads until you send feedback."),n.createElement("label",null,"Excerpt start",n.createElement("select",{"aria-label":"Excerpt start",value:l,disabled:F,onChange:P=>{T(),c(P.target.value)}},H)),n.createElement("label",null,"Excerpt end",n.createElement("select",{"aria-label":"Excerpt end",value:u,disabled:F,onChange:P=>{T(),d(P.target.value)}},H)),n.createElement("button",{type:"button",className:"a-soft",disabled:F||!l||!u,onClick:()=>A()},"Preview selected excerpt"),p&&n.createElement("div",{"aria-label":"Reviewed feedback excerpt"},n.createElement("p",null,n.createElement("strong",null,p.visibility==="public"?"Publicly visible on GitHub":"Private GitHub repository"),": ",p.repository,". Submitted content may remain in repository history and cannot be retracted through this app."),n.createElement("p",null,p.summary.messageCount," source messages · ",p.bytes.toLocaleString()," bytes · ",p.filename),n.createElement("p",{className:"a-caption"},p.redactions.length?p.redactions.map(P=>`${P.count} ${P.kind.toLowerCase()} redaction(s)`).join(" · "):"No additional redactions in this review."),p.warnings.map(P=>n.createElement("p",{className:"a-caption",key:P},P)),n.createElement("textarea",{"aria-label":"Edit feedback excerpt",rows:8,maxLength:64e3,value:h,disabled:F||I,onChange:P=>{M.current++,k.current=null,f(P.target.value),w(!1),S(!1)}}),z&&n.createElement("button",{type:"button",className:"a-soft",disabled:F,onClick:()=>A(!0)},"Review edited excerpt"),n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:x,disabled:F||z||I,onChange:P=>w(P.target.checked)}),"I reviewed this exact text and agree to share it with ",p.visibility==="public"?"the public":"people with access to this repository",", where it may be retained."),p.requiresExtraReview&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:R,disabled:F||z||I,onChange:P=>S(P.target.checked)}),"I reviewed the scope, sensitive-content warnings and automatic redactions."),n.createElement("button",{type:"button",className:"a-soft",disabled:F||z||!x||p.requiresExtraReview&&!R||I,onClick:q},I?"Excerpt attached locally":"Attach reviewed excerpt")),v&&n.createElement("p",{role:"status"},"Preparing the local excerpt and checking its destination…"),E&&n.createElement("p",{role:"alert"},E)))}const zc=()=>({title:"",body:"",category:"bug",includeDiagnostics:!0,attachments:[],confirmExcerpts:!1,confirmedExcerpts:[]}),bq=e=>e<1024?`${e} B`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`,yq=e=>new Promise((t,a)=>{const r=new FileReader;r.onerror=()=>a(new Error("Could not read this file.")),r.onload=()=>t(String(r.result).split(",")[1]),r.readAsDataURL(e)});function Eq({state:e,act:t}){var _e,$e,De,de,ve;const a=(_e=e.view)==null?void 0:_e.feedbackDraft,r=g.useRef(e.selectedSessionId);r.current=e.selectedSessionId;const o=g.useRef(!0);g.useEffect(()=>(o.current=!0,()=>{o.current=!1}),[]);const[i,s]=g.useState(()=>a||zc()),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(!1),[h,f]=g.useState(!1),[v,y]=g.useState(null),E=g.useRef(i),b=g.useRef(!1),x=g.useRef(null),w=g.useRef(!1),R=g.useRef(!1),S=g.useRef(null),I=g.useRef(null);g.useEffect(()=>()=>{clearTimeout(S.current),R.current&&B().catch(()=>{})},[]),g.useEffect(()=>{a&&!R.current&&!b.current&&(E.current=a,s(a))},[a]);const N=(($e=e.feedback)==null?void 0:$e.requests)||[],M=i.pending,k=M&&N.find(O=>O.requestId===M.requestId),T=M||i;g.useEffect(()=>{k&&["submitted","failed","unknown"].includes(k.status)&&d("")},[k==null?void 0:k.status]),g.useEffect(()=>{var O;(k==null?void 0:k.status)!=="submitted"||((O=E.current.pending)==null?void 0:O.requestId)!==k.requestId||(y(null),P(zc()).catch(()=>d("Feedback was sent, but the cleared draft could not be saved. Reconnect and try again.")))},[k==null?void 0:k.status,k==null?void 0:k.requestId]);const A=l||["queued","sending"].includes(k==null?void 0:k.status),q=["submitted","failed","unknown"].includes(k==null?void 0:k.status),z=!!M||p,F=i.previewId,H=(i.attachments||[]).filter(O=>{var W;return!M||((W=M.attachmentIds)==null?void 0:W.includes(O.id))}),ne=((De=e.feedback)==null?void 0:De.issuesUrl)||"https://github.com/microsoft/amplifier-unified/issues";async function B(){if(clearTimeout(S.current),I.current)return await I.current,B();if(!R.current)return;const O=E.current,W=t("view.update",{patch:{feedbackDraft:O}});I.current=W;try{const ae=await W;if(!ae||ae.accepted===!1)throw Error("The draft could not be saved.");E.current===O&&(R.current=!1)}finally{I.current=null}if(R.current)return B()}function P(O){return E.current=O,R.current=!0,s(O),B()}function _(O){d(""),E.current={...E.current,...O},R.current=!0,s(E.current),clearTimeout(S.current),S.current=setTimeout(()=>B().catch(()=>d("The draft could not be saved. Reconnect and try again.")),250)}function ee(O){_({previewId:O})}async function Z(O){if(w.current||E.current.pending)throw Error("Wait for the current attachment or submission to finish.");w.current=!0,m(!0);try{if(await B(),r.current!==O.id)throw Error("The selected conversation changed. Review its excerpt again.");const W=await t("feedback.excerpt.stage",O);if(!(W!=null&&W.result))throw Error("The excerpt was not attached. Check the same review again.");o.current&&r.current===O.id&&D(W)}finally{w.current=!1,m(!1)}}function D(O){var ae,ze;const W=(ze=(ae=O==null?void 0:O.state)==null?void 0:ae.view)==null?void 0:ze.feedbackDraft;if(W){const Me=JSON.stringify(W.attachments)!==JSON.stringify(E.current.attachments);E.current={...E.current,attachments:W.attachments,...Me?{confirmExcerpts:!1,confirmedExcerpts:[]}:{}},s(E.current),Me&&(R.current=!0,B().catch(()=>d("The updated attachment list could not be saved.")))}}async function G(O,W){if(!(w.current||E.current.pending)){w.current=!0,m(!0),d(""),f(!1);try{await B(),W&&(D(await t("feedback.attachment.add",W)),y(null));for(const ae of O){if(!ae.size||ae.size>8*1024*1024)throw new Error("Choose nonempty files up to 8 MB each.");const ze={requestId:crypto.randomUUID(),name:ae.name||"pasted-image.png",base64:await yq(ae)};try{D(await t("feedback.attachment.add",ze))}catch(Me){throw y(ze),Me}}}catch(ae){d((ae==null?void 0:ae.message)||"The file could not be added. Check the draft and retry; it will not be added twice.")}finally{w.current=!1,m(!1)}}}async function j(O){if(!z){d("");try{await B(),D(await t("feedback.attachment.remove",{id:O})),F===O&&ee(null)}catch(W){d((W==null?void 0:W.message)||"The attachment could not be removed.")}}}function K(O){var ae;const W=Array.from(((ae=O.clipboardData)==null?void 0:ae.files)||[]);W.length&&(O.preventDefault(),O.stopPropagation(),z||G(W))}function oe(O){var W,ae;(ae=(W=O.dataTransfer)==null?void 0:W.types)!=null&&ae.includes("Files")&&(O.preventDefault(),O.stopPropagation(),f(!1),z||G(Array.from(O.dataTransfer.files||[])))}async function xe(O){if(O.preventDefault(),b.current||w.current||A||q||v)return;b.current=!0,c(!0),d("");const W=E.current,ae=W.pending||{requestId:crypto.randomUUID(),title:W.title,body:W.body,category:W.category,includeDiagnostics:W.includeDiagnostics!==!1,...W.includeDiagnostics!==!1?{deviceDiagnostics:Fw(e)}:{},confirmExcerpts:W.confirmExcerpts===!0,confirmedExcerpts:W.confirmedExcerpts||[],attachmentIds:(W.attachments||[]).map(ze=>ze.id)};try{await P({...W,pending:ae}),await t("feedback.submit",ae)}catch{d("The submission was not acknowledged. Check its status using the same request below; this will not post it twice.")}finally{b.current=!1,c(!1)}}async function ce(){if(!(l||p)){d(""),y(null);try{await P(zc())}catch{d("Could not start a new draft. Reconnect and try again.")}}}return n.createElement("section",{className:`a-feedback${h?" is-dragging":""}`,"data-part":"feedback",onPaste:K,onDrop:oe,onDragOver:O=>{var W,ae;(ae=(W=O.dataTransfer)==null?void 0:W.types)!=null&&ae.includes("Files")&&(O.preventDefault(),O.stopPropagation(),z||f(!0))},onDragLeave:O=>{O.currentTarget.contains(O.relatedTarget)||f(!1)}},n.createElement("p",null,"Send a bug report, idea, or question to ",n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"microsoft/amplifier-unified"),". Uses the host’s GitHub sign-in."),(k||u)&&n.createElement("div",{className:"a-feedback-result"},n.createElement(it,{phase:(k==null?void 0:k.status)==="submitted"?"success":["failed","unknown"].includes(k==null?void 0:k.status)?"error":"working",message:k==null?void 0:k.message}),u&&n.createElement(it,{phase:"error",message:u})," ",(k==null?void 0:k.url)&&n.createElement("a",{className:"a-feedback-link",href:k.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14}))," ",(k==null?void 0:k.status)==="unknown"&&n.createElement(n.Fragment,null,n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues ",n.createElement(ba,{size:14})),k.attachmentsUrl&&n.createElement("a",{href:k.attachmentsUrl,target:"_blank",rel:"noopener noreferrer"},"Check attachment branch ",n.createElement(ba,{size:14})))),n.createElement("form",{onSubmit:xe,"data-action":"feedback.submit"},n.createElement("label",{htmlFor:"feedback-category"},"Type"),n.createElement("select",{id:"feedback-category","data-action":"view.update",value:T.category||"bug",disabled:z,onChange:O=>_({category:O.target.value})},n.createElement("option",{value:"bug"},"Bug report"),n.createElement("option",{value:"idea"},"Feature idea"),n.createElement("option",{value:"question"},"Question"),n.createElement("option",{value:"other"},"Other feedback")),n.createElement("label",{htmlFor:"feedback-title"},"Title"),n.createElement("input",{id:"feedback-title","data-action":"view.update",maxLength:200,required:!0,disabled:z,value:T.title||"",onChange:O=>_({title:O.target.value}),placeholder:"A short description"}),n.createElement("label",{htmlFor:"feedback-body"},"Details"),n.createElement("textarea",{id:"feedback-body","data-action":"view.update",maxLength:16e3,rows:4,required:!0,disabled:z,value:T.body||"",onChange:O=>_({body:O.target.value}),placeholder:"What happened, what you expected, or what you’d like to do…","aria-describedby":T.category==="bug"?"feedback-reproduction-help":void 0}),T.category==="bug"&&n.createElement("p",{id:"feedback-reproduction-help",className:"a-caption"},"What action triggered it? Was this a new chat or an existing one? Describe what you expected, what happened, and whether it repeats. Leave out private conversation text and credentials."),n.createElement("div",{className:"a-feedback-files","aria-label":"Feedback attachments"},n.createElement("input",{ref:x,type:"file",multiple:!0,hidden:!0,disabled:z,"aria-label":"Choose feedback files",onChange:O=>{const W=Array.from(O.target.files||[]);O.target.value="",G(W)}}),!M&&n.createElement("button",{type:"button",className:"a-soft a-feedback-add-files","data-action":"feedback.attachment.add",disabled:p||!!v,onClick:()=>{var O;return(O=x.current)==null?void 0:O.click()}},n.createElement(Lu,{size:16}),p?"Adding files…":"Add files or images"),!M&&n.createElement("p",{className:"a-caption"},"Or drop files here, or paste an image. Up to 8 files, 8 MB each, 24 MB total."),!!H.length&&n.createElement("ul",null,H.map(O=>{var W;return n.createElement("li",{key:O.id},n.createElement("button",{type:"button",className:"a-feedback-file-preview","data-action":"view.update",disabled:p,"aria-label":`Preview ${O.name}`,onClick:()=>ee(F===O.id?null:O.id)},(W=O.mime)!=null&&W.startsWith("image/")&&/^[a-f0-9]{32}$/.test(O.id)?n.createElement("img",{src:`/api/attachments/${O.id}`,alt:""}):n.createElement(Dl,{size:22}),n.createElement("span",null,n.createElement("strong",null,O.name),n.createElement("small",null,bq(O.size)," · ",M?"Included":O.excerpt?`Reviewed excerpt · ${O.excerpt.visibility}`:"Ready to include"))),!M&&n.createElement("button",{type:"button",className:"a-icon","data-action":"feedback.attachment.remove","aria-label":`Remove ${O.name}`,disabled:p,onClick:()=>j(O.id)},n.createElement(tn,{size:16})))})),H.filter(O=>O.id===F&&/^[a-f0-9]{32}$/.test(O.id)).map(O=>{var W,ae;return n.createElement("div",{className:"a-feedback-preview",key:O.id},(W=O.mime)!=null&&W.startsWith("image/")?n.createElement("img",{src:`/api/attachments/${O.id}`,alt:`Preview of ${O.name}`}):n.createElement(Dl,{size:32}),n.createElement("a",{href:`/api/attachments/${O.id}`,download:O.name},(ae=O.mime)!=null&&ae.startsWith("image/")?n.createElement(qk,{size:14}):n.createElement(Dl,{size:14}),"Open ",O.name))}),v&&n.createElement("div",{className:"a-feedback-upload-retry"},n.createElement("button",{type:"button",className:"a-soft",disabled:p,onClick:()=>G([],v)},"Check attachment: ",v.name),n.createElement("button",{type:"button",className:"a-soft",disabled:p,onClick:()=>{y(null),d("")}},"Stop retrying"))),!M&&n.createElement(gq,{state:e,act:t,frozen:z,onStage:Z}),H.some(O=>O.excerpt)&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:T.confirmExcerpts===!0,disabled:z,onChange:O=>_({confirmExcerpts:O.target.checked,confirmedExcerpts:O.target.checked?H.filter(W=>W.excerpt).map(W=>({id:W.id,sha256:W.excerpt.sha256})):[]})}),"Include the reviewed conversation excerpts listed above when I send this feedback."),n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:T.includeDiagnostics!==!1,disabled:z,onChange:O=>_({includeDiagnostics:O.target.checked})}),"Include reproduction diagnostics"),T.includeDiagnostics!==!1&&n.createElement(Jf,{key:k?`receipt:${k.requestId}`:e.selectedSessionId||"current",state:e,act:t,requestId:k==null?void 0:k.requestId,device:M==null?void 0:M.deviceDiagnostics}),n.createElement("p",{className:"a-caption"},"Your text, selected diagnostics and the files listed above are sent when you submit. Files stay in repository history and are linked from the issue. Reviewed excerpts use the visibility shown during review; other file uploads require a private repository; your GitHub sign-in needs repository Contents write access. Chats, paths, provider settings, and credentials are not attached automatically."),n.createElement("div",{className:"a-dialog-actions"},!q&&n.createElement("button",{type:"submit",className:"a-primary","data-action":"feedback.submit",disabled:A||p||!!v||H.some(O=>O.excerpt)&&!T.confirmExcerpts||!((de=T.title)!=null&&de.trim())||!((ve=T.body)!=null&&ve.trim())},n.createElement(nx,null),A?"Sending…":M?"Check submission":"Send feedback"),(q||M&&!l)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:ce},n.createElement(Mn,null),"New feedback"))),!!N.filter(O=>O.requestId!==(M==null?void 0:M.requestId)).length&&n.createElement("div",{className:"a-feedback-recent"},n.createElement("h3",null,"Submissions"),N.filter(O=>O.requestId!==(M==null?void 0:M.requestId)).map(O=>{var W;return n.createElement("div",{key:O.requestId,className:"a-feedback-receipt"},n.createElement("strong",null,O.title),n.createElement(it,{phase:O.status==="submitted"?"success":["failed","unknown"].includes(O.status)?"error":"working",message:O.message}),O.url&&n.createElement("a",{href:O.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),n.createElement(Jf,{state:e,act:t,requestId:O.requestId}),O.status==="unknown"&&n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues"),(((W=e.attention)==null?void 0:W.items)||[]).filter(ae=>ae.requestId===O.requestId&&!ae.read).map(ae=>n.createElement("button",{key:ae.id,className:"a-link",type:"button","data-action":"attention.read",onClick:()=>Fr(t,[ae])},"Mark reviewed")))})),n.createElement(pq,{state:e,act:t}),n.createElement(fq,{state:e,act:t}))}function Jf({state:e,act:t,requestId:a,device:r}){const[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(!1),p=g.useRef(!1),m=g.useRef(!0);g.useEffect(()=>(m.current=!0,()=>{m.current=!1}),[]);async function h(){if(!d.current){d.current=!0,l(!0),u("");try{const f=await t("feedback.diagnostics",a?{requestId:a}:{deviceDiagnostics:r||Fw(e)});if(!(f!=null&&f.result))throw Error("Unavailable");m.current&&(i(f.result),p.current=!0)}catch{m.current&&u("Diagnostics could not be loaded. Try Refresh.")}finally{d.current=!1,m.current&&l(!1)}}}return n.createElement("details",{"data-part":"feedback-diagnostics",onToggle:f=>{f.currentTarget.open&&!p.current&&h()}},n.createElement("summary",null,a?"Submitted diagnostics":"Preview reproduction diagnostics"),n.createElement("p",{className:"a-caption"},a?"This is the snapshot saved when this submission was accepted.":"Loads only when opened. This is a current preview; live status may change before you submit."," Host active component generation does not prove which code a running worker loaded. Reported online views counts device reports, not live event-stream connections. No message text, workspace paths, raw logs, or credentials."),s&&n.createElement("p",{role:"status"},"Loading diagnostics…"),c&&n.createElement("p",{role:"alert"},c),o&&(o.diagnostics?n.createElement("pre",{className:"a-state-view"},JSON.stringify(o.diagnostics,null,2)):n.createElement("p",null,"No diagnostics were saved with this submission.")),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.diagnostics",disabled:s,onClick:()=>void h()},"Refresh diagnostics"))}function wq({state:e,act:t}){var s,l,c,u,d,p;if(["feedback","activity"].includes((s=e.view)==null?void 0:s.panel))return null;const a=(((l=e.attention)==null?void 0:l.items)||[]).filter(m=>m.requestId&&!m.read),r=(u=(c=e.feedback)==null?void 0:c.requests)==null?void 0:u.find(m=>["queued","sending"].includes(m.status)),o=a[0],i=r||((p=(d=e.feedback)==null?void 0:d.requests)==null?void 0:p.find(m=>m.requestId===(o==null?void 0:o.requestId)));return i?n.createElement("aside",{className:"a-feedback-notice","aria-label":"Feedback status"},n.createElement("div",{role:"status"},n.createElement(it,{phase:r?"working":i.status==="submitted"?"success":"error",message:r?"Feedback received — sending in the background.":i.message})),n.createElement("div",{className:"a-feedback-notice-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>t("view.update",{patch:{panel:"feedback"}})},"View ",r?"status":"feedback"),i.url&&n.createElement("a",{href:i.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),!r&&o&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Dismiss feedback notification","data-action":"attention.read",onClick:()=>Fr(t,[o])},n.createElement(tn,{size:16})))):null}function kq(e,t={}){var a;return t.preview===!0?((a=e.text)==null?void 0:a.slice(0,180))||"Your response is ready.":"Your Amplifier response is ready."}function xq(e={}){return e.desktop!==!1}function Kf(e){if(Array.isArray(e.notificationMessages))return e.notificationMessages.filter(a=>a.id&&a.sessionId&&a.role==="assistant"&&a.via==="text");const t=new Map;for(const a of e.sessions||[])for(const r of a.messages||[])r.id&&r.role==="assistant"&&r.via==="text"&&t.set(r.id,{...r,sessionId:a.id});return[...t.values()]}const dk=(e,t,a)=>e.has(t)||a==="detailed"&&!e.has("closed:"+t);function Sq(e,t,a){const r=new Set(e),o=dk(r,t,a);return r.delete(t),r.delete("closed:"+t),r.add(o?"closed:"+t:t),r}const hr=e=>typeof e=="string"?e:e==null?"":JSON.stringify(e,null,2);function Yf(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}const oo=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Cq(e){const t=oo(e);return Object.hasOwn(t,"output")?t.output:e}function pk(e){return(typeof e=="string"?e:"").replace(/^Tool completed\. Expand any delegated actions below for their progress and results\.\s*/,"")}const La=(e,t)=>t.map(a=>e[a]).find(a=>typeof a=="string"&&a.length)||"",Rr=e=>hr(e).replace(/\s+/g," ").slice(0,180);function Nq(e,t=e.input,a=e.output){const r=Yf(t),o=oo(r),i=Yf(a),s=Cq(i),l=oo(s),c=String(e.tool||e.label||"Tool"),u=c.toLowerCase().replace(/.*[.:/]/,""),d=e.status||e.phase,p=["running","working","starting","pending","queued","retrying"].includes(d),m=["error","failed","cancelled","interrupted"].includes(d)||oo(i).success===!1,h=["completed","complete","success","done"].includes(d)&&!m,f=La(o,["file_path","path","filename"]),v=La(o,["command","cmd"]),y=La(o,["patch","diff"])||La(l,["diff","patch"])||(/apply_patch/.test(u)&&typeof r=="string"?r:""),E=La(o,["old_string","old_text"]),b=La(o,["new_string","new_text"]),x=Array.isArray(o.todos)?o.todos:Array.isArray(l.todos)?l.todos:null,w=pk(e.summary||e.detail),R=w.replace(new RegExp(`^(?:Completed|Running|Failed) ${c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?: · )?`),""),S=l.returncode??l.exit_code??l.exitCode,I=(M,k,T)=>h?M:p?k:T,N={tool:c,input:r,args:o,result:i,output:s,out:l,phase:d,running:p,failed:m,done:h,path:f,exit:S,preview:Rr(R)};if(v)return{...N,kind:"command",title:I("Ran","Running","Run"),target:v,command:v,preview:typeof l.stdout=="string"?Rr(l.stdout.trim().split(` +`).map(T=>T.trim()).filter(Boolean)})},"Complete task with evidence"))),o&&r.continuationSupported===!1&&n.createElement("p",{role:"alert"},"This runtime cannot automatically continue saved tasks. Update its task support before resuming."),i&&n.createElement("p",{className:"a-caption"},"Conversation continuity: ",i.supported?i.status:"not available in this context module",i.reason?` — ${i.reason}`:"",". The original transcript remains available."),b&&n.createElement("p",{role:"alert",className:"a-danger"},b))}function QD({session:e,act:t}){var b,x;const[a,r]=g.useState("HEAD"),[o,i]=g.useState(""),[s,l]=g.useState(!1),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(!1),f=async(w,R={})=>{h(!0);try{return await t(w,{sessionId:e.id,...R})}finally{h(!1)}},v=e.worktreeInspection,y=e.workingDirectory||e.workspace,E=w=>f("worktree.handoff",{id:w,expectedExecutionRevision:e.executionRevision||0});return n.createElement("section",{className:"a-settings-section","aria-label":"Task worktrees","data-part":"worktrees"},n.createElement("h3",null,"Task execution folder"),n.createElement("p",null,"Run this task in a separate Git checkout while keeping its saved conversation, voice history, artifacts and settings in their original home."),n.createElement("dl",null,n.createElement("dt",null,"Saved history and settings home"),n.createElement("dd",{className:"a-state-view"},e.workspace),n.createElement("dt",null,"Execution host"),n.createElement("dd",{"data-part":"execution-host"},((b=v==null?void 0:v.executionHost)==null?void 0:b.label)||((x=e.executionHost)==null?void 0:x.label)||"Inspect to identify this local host"),n.createElement("dt",null,"Execution folder"),n.createElement("dd",{className:"a-state-view","data-part":"execution-directory"},y)),n.createElement("button",{className:"a-soft",disabled:m,"data-action":"worktree.inspect",onClick:()=>f("worktree.inspect")},"Inspect repository"),y!==e.workspace&&n.createElement("button",{className:"a-soft",disabled:m||e.configurationBusy,"data-action":"worktree.handoff",onClick:()=>E(null)},"Return execution to home"),(v==null?void 0:v.repository)&&n.createElement(n.Fragment,null,n.createElement("p",null,v.repository.branch||"Detached commit"," · ",v.repository.dirty?"Uncommitted changes present":"Checkout clean"),n.createElement("details",null,n.createElement("summary",null,"Source changes"),n.createElement("pre",{className:"a-state-view"},v.repository.status||"No changes")),n.createElement("h4",null,"Create a checkout"),n.createElement("label",{htmlFor:"worktree-ref"},"Starting Git ref or commit"),n.createElement("input",{id:"worktree-ref",value:a,onChange:w=>r(w.target.value)}),n.createElement("label",{htmlFor:"worktree-branch"},"New branch (optional)"),n.createElement("input",{id:"worktree-branch",value:o,onChange:w=>i(w.target.value)}),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s,onChange:w=>l(w.target.checked)}),"Include my uncommitted changes"),n.createElement("p",{className:"a-caption"},s?"Copy staged, unstaged and untracked files with an inspectable manifest. Ignored files are excluded. Repositories with submodules need separate handling; the source stays intact.":"Start from the committed ref in a clean checkout. Your current uncommitted changes stay in the source."),n.createElement("button",{className:"a-primary",disabled:m||!a.trim(),"data-action":"worktree.create",onClick:()=>f("worktree.create",{sourceRevision:v.repository.sourceRevision,ref:a.trim(),...o.trim()?{branch:o.trim()}:{},mode:s?"carry_dirty":"clean"})},"Create managed checkout")),n.createElement("details",null,n.createElement("summary",null,"Attach an existing checkout"),n.createElement("label",{htmlFor:"worktree-path"},"Existing worktree path"),n.createElement("input",{id:"worktree-path",value:c,onChange:w=>u(w.target.value)}),n.createElement("button",{className:"a-soft",disabled:m||!c.trim(),"data-action":"worktree.attach",onClick:()=>f("worktree.attach",{path:c.trim()})},"Attach checkout"),n.createElement("p",{className:"a-caption"},"The folder must belong to this repository. Attaching does not start work or grant cleanup ownership.")),(e.worktrees||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-worktree-id":w.id},n.createElement("p",{className:"a-state-view"},w.path),n.createElement("p",{role:"status"},"Checkout ",w.status),n.createElement("p",null,"Local host: ",((R=w.executionHost)==null?void 0:R.label)||"Not recorded for this checkout"),w.error&&n.createElement("p",{role:"alert"},w.error),n.createElement("p",null,w.branch||"Detached commit"," · ",w.mode==="carry_dirty"?"Changes copied":w.mode==="attached"?"Existing checkout":"Committed source"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:m,"data-action":"worktree.status",onClick:()=>f("worktree.status",{id:w.id})},"Inspect checkout and manifest"),w.status==="ready"&&n.createElement("button",{className:"a-primary",disabled:m||e.configurationBusy||y===w.path,"data-action":"worktree.handoff",onClick:()=>E(w.id)},"Move execution here"),w.owned&&w.status!=="removed"&&n.createElement("button",{className:"a-soft",disabled:m||y===w.path||e.configurationBusy,"data-action":"worktree.remove",onClick:()=>f("worktree.remove",{id:w.id,expectedRevision:w.revision})},"Remove clean checkout")))}),e.worktreeStatus&&n.createElement("details",{open:!0},n.createElement("summary",null,"Checkout inspection"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(e.worktreeStatus,null,2))),(e.worktreeHandoffs||[]).map(w=>{var R;return n.createElement("article",{className:"a-selection-card",key:w.id,"data-handoff-id":w.id},n.createElement("p",{role:"status"},"Handoff ",w.phase),n.createElement("p",null,"Local host: ",((R=w.executionHost)==null?void 0:R.label)||"Not recorded for this receipt"),n.createElement("p",null,w.detail),w.phase==="unknown"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"handoff-evidence-"+w.id},"What did you verify?"),n.createElement("textarea",{id:"handoff-evidence-"+w.id,value:d,onChange:S=>p(S.target.value)}),n.createElement("p",{className:"a-caption"},"Confirm saved writer release again and choose the execution folder. Neither choice sends a message or replays work."),n.createElement("div",{className:"a-dialog-actions"},["source","target"].map(S=>n.createElement("button",{className:"a-soft",key:S,disabled:m||!d.trim(),"data-action":"worktree.reconcile",onClick:()=>f("worktree.reconcile",{id:w.id,expectedRevision:w.revision,destination:S,evidence:d.trim()})},"Use ",S," folder")))))}))}function Uf({state:e,session:t,act:a}){var T,A,q;const[r,o]=g.useState(null),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(!1),[p,m]=g.useState(""),[h,f]=g.useState(""),[v,y]=g.useState(""),[E,b]=g.useState(""),[x,w]=g.useState(!1),[R,S]=g.useState(""),I=((T=e.portability)==null?void 0:T.receipts)||((A=t==null?void 0:t.portability)==null?void 0:A.receipts)||[],N=async(z,F={})=>{w(!0),S("");try{const H=await a(z,F);return z==="portability.inspect"&&o(H==null?void 0:H.result),H}catch(H){S(H.message||"Transfer could not finish. Inspect the saved receipt.")}finally{w(!1)}},M=()=>N("portability.inspect",t?{sessionId:t.id}:{}),k=(q=t==null?void 0:t.worktreeInspection)==null?void 0:q.repository;return n.createElement("section",{className:"a-settings-section","aria-label":"Move task between hosts","data-part":"portability"},n.createElement("h3",null,"Move task between hosts"),n.createElement("p",null,"Stage a private transfer, verify the destination, then release this host. Your task keeps its saved history and outputs. Moving never sends a message or retries unfinished work."),n.createElement("button",{className:"a-soft",disabled:x,"data-action":"portability.inspect",onClick:M},"Inspect hosts and transfers"),r&&n.createElement(n.Fragment,null,n.createElement("p",null,"This host: ",r.host.label),!Object.keys(r.peers||{}).length&&n.createElement("p",{role:"status"},"No hosts are paired. Configure trusted host keys and upgrade Foundation on both hosts before transferring.")),t&&n.createElement("details",null,n.createElement("summary",null,"Export this task"),n.createElement("p",null,"Inspect the repository above, then choose a paired destination."),n.createElement("label",{htmlFor:"portability-destination"},"Destination"),n.createElement("select",{id:"portability-destination",value:i,onChange:z=>s(z.target.value)},n.createElement("option",{value:""},"Choose a paired host"),Object.entries((r==null?void 0:r.peers)||{}).map(([z,F])=>n.createElement("option",{key:z,value:z},F.label||z))),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:l,onChange:z=>c(z.target.checked)}),"Include staged, unstaged and untracked work"),n.createElement("p",{className:"a-caption"},"Ignored files and local settings stay here. Export stops if a bound is exceeded or recognizable credentials are found. Review the selected history, outputs and files for private credentials before continuing."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:u,onChange:z=>d(z.target.checked)}),"I reviewed this task’s transfer contents"),n.createElement("button",{className:"a-primary",disabled:x||!i||!k||!u||t.configurationBusy,"data-action":"portability.export",onClick:()=>N("portability.export",{sessionId:t.id,destination:i,sourceRevision:k.sourceRevision,expectedExecutionRevision:t.executionRevision||0,mode:l?"carry_dirty":"clean",reviewedContent:!0})},"Stage export and stop execution here")),n.createElement("details",null,n.createElement("summary",null,"Import a staged task"),n.createElement("p",null,"Copy the private signed package over your authenticated host connection. The destination repository must already contain its exact commit. A small provider check uses this host’s credentials."),n.createElement("label",{htmlFor:"portability-package"},"Package path on this host"),n.createElement("input",{id:"portability-package",value:p,onChange:z=>m(z.target.value)}),n.createElement("label",{htmlFor:"portability-repository"},"Destination repository"),n.createElement("input",{id:"portability-repository",value:h,onChange:z=>f(z.target.value)}),n.createElement("button",{className:"a-soft",disabled:x||!p||!h,"data-action":"portability.stage",onClick:()=>N("portability.stage",{path:p,repository:h})},"Verify and stage import")),!!I.length&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"portability-receipt"},"Signed receipt path copied from the other host"),n.createElement("input",{id:"portability-receipt",value:v,onChange:z=>y(z.target.value)}),n.createElement("label",{htmlFor:"portability-evidence"},"What did you verify?"),n.createElement("input",{id:"portability-evidence",value:E,onChange:z=>b(z.target.value),placeholder:"Reason to cancel an unreleased export"})),I.map(z=>n.createElement("article",{className:"a-selection-card",key:z.id,"data-transfer-id":z.id},n.createElement("p",{role:"status"},z.direction==="outgoing"?"Export":"Import"," · ",z.phase),n.createElement("p",{className:"a-state-view"},"Task ",z.sessionId),z.package&&n.createElement("p",{className:"a-state-view"},"Package: ",z.package),z.receiptPath&&n.createElement("p",{className:"a-state-view"},"Receipt: ",z.receiptPath),z.detail&&n.createElement("p",null,z.detail),(z.phase==="prepared"||z.phase==="releasing"||z.phase==="unknown"&&z.previousPhase==="releasing")&&n.createElement("button",{className:"a-primary",disabled:x||!v,"data-action":"portability.release",onClick:()=>N("portability.release",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},"Release source ownership"),z.direction==="incoming"&&["ready","active"].includes(z.phase)&&n.createElement("button",{className:"a-primary",disabled:x||!v,"data-action":"portability.activate",onClick:()=>N("portability.activate",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},z.phase==="active"?"Verify activation receipt":"Activate on this host"),z.phase==="unknown"&&n.createElement("p",null,"Inspect both hosts before any further action. Original data remains preserved; no work was replayed."))),I.filter(z=>z.direction==="outgoing"&&(z.phase==="prepared"||z.phase==="unknown"&&z.previousPhase==="preparing")).map(z=>n.createElement("button",{key:"cancel-"+z.id,className:"a-soft",disabled:x||!E.trim(),"data-action":"portability.cancel",onClick:()=>N("portability.cancel",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,evidence:E})},"Cancel unreleased export")),I.filter(z=>z.direction==="incoming"&&["ready","unknown"].includes(z.phase)&&!z.releaseCertificate).map(z=>n.createElement("button",{key:"discard-"+z.id,className:"a-soft",disabled:x||!v,"data-action":"portability.discard",onClick:()=>N("portability.discard",{sessionId:z.sessionId,id:z.id,expectedRevision:z.revision,path:v})},"Retain source cancellation")),R&&n.createElement("p",{role:"alert"},R))}const XD=new Set(["working","running","busy","starting","stopping","retrying"]),eF=new Set(["working","running","busy","starting","pending","queued","preparing","retrying"]);function Pc(e){if(typeof e=="number")return e<1e12?e*1e3:e;const t=Date.parse(e);return Number.isFinite(t)?t:null}function tF(e){const t=Math.max(0,Math.floor(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${String(t%60).padStart(2,"0")}s`}const nF={"job.returned":"completed","job.failed":"error","job.cancelled":"cancelled"};function tk(e=[]){const t=new Map,a=new Map;for(const[r,o]of e.entries()){const i=o.callId||o.call_id||o.id||`worker-${r}`,s=t.get(i);if(o.kind==="job"){const l=nF[o.event]||(["completed","cancelled","error","failed","stopped","interrupted"].includes(o.status)?o.status:null);l&&a.set(i,l)}(!s||o.kind==="session"||s.kind!=="session")&&t.set(i,o)}return[...t].map(([r,o])=>a.has(r)?{...o,status:a.get(r),phase:a.get(r)}:o)}function aF(e,t=Date.now()){var v;if(!e)return null;const a=XD.has(e.status),r=tk(e.workers||[]).filter(y=>eF.has(y.status)),o=e.activity,i=new Map;let s=null;if(o!=null&&o.activeTools)for(const y of o.activeTools)i.set(y.callId||y.call_id||y.tool,{tool:y.tool||y.name||"tool",startedAt:y.startedAt});else if(a){const y=new Map;for(const E of e.runtimeEvents||[]){const b=E.type==="runtime.tool"?`tool.${E.phase}`:E.type||E.event,x=E.callId||E.call_id||E.tool_call_id||E.job_id||E.tool,w=E.tool||E.tool_name||E.name;w&&/^(tool[.:]|job\.)/.test(b||"")&&(s=w),["tool.pre","tool:pre","tool.start","tool.started"].includes(b)&&y.set(`tool:${x}`,{id:x,tool:w||"tool",startedAt:E.time||E.createdAt}),["tool.post","tool:post","tool.error","tool:error","tool.end","tool.finished"].includes(b)&&y.delete(`tool:${x}`),b==="job.queued"&&y.set(`job:${x}`,{id:x,tool:w||"delegate",startedAt:E.time||E.createdAt}),["job.returned","job.failed","job.cancelled","job.canceled","job.error"].includes(b)&&y.delete(`job:${x}`),["session.closed","generation.detached"].includes(b)&&y.clear()}for(const E of y.values())i.set(E.id,E)}if(!a&&!r.length)return null;const l=[...i.values()],c=new Map;for(const y of l)c.set(y.tool,(c.get(y.tool)||0)+1);let u,d;e.status==="starting"?(u="Preparing your Amplifier session…",d="preparing"):e.status==="stopping"?(u="Stopping the current work…",d="stopping"):l.length?(u=o?`Running ${l.length} ${l.length===1?"tool":"tools"}`:`${l.length} ${l.length===1?"tool call":"tool calls"} pending`,d="tools"):r.length?(u=`${r.length} ${r.length===1?"worker lane is":"worker lanes are"} active`,d="workers"):(u=e.streaming?"Writing a response…":"Composing a response…",d="composing"),o!=null&&o.phase&&(d=o.phase),typeof(o==null?void 0:o.label)=="string"&&o.label.trim()&&(u=o.label);const p=[...e.messages||[]].reverse().find(y=>y.role==="user"),m=Pc(o==null?void 0:o.startedAt)||Pc(p==null?void 0:p.createdAt)||Math.min(...l.map(y=>Pc(y.startedAt)).filter(Boolean)),h=Number.isFinite(m)?tF(t-m):null,f=[...c].map(([y,E])=>E>1?`${y} × ${E}`:y);return!s&&((v=o==null?void 0:o.lastEvent)!=null&&v.tool)&&(s=o.lastEvent.tool),{phase:d,label:u,elapsed:h,toolLabels:f,workerCount:r.length,lastTool:l.length?null:s}}function rF(e){var l,c,u,d;if((c=(l=e==null?void 0:e.execution)==null?void 0:l.nodes)!=null&&c.length||(d=(u=e==null?void 0:e.execution)==null?void 0:u.turns)!=null&&d.length){const p=e.execution.nodes||[],m=[...e.execution.turns||[]];for(const h of p)h.turnId&&!m.some(f=>f.id===h.turnId)&&m.push({id:h.turnId});return{nodes:p,turns:m,segments:e.execution.segments||[]}}const t=tk((e==null?void 0:e.workers)||[]),a=(e==null?void 0:e.runtimeEvents)||[];if(!t.length&&!a.some(p=>p.type==="runtime.tool"||String(p.type).startsWith("tool.")))return{nodes:[],turns:[]};const r="observed-activity",o=[],i=new Map;for(const p of a){const m=p.type==="runtime.tool"?p.phase:String(p.type).replace(/^tool[.:]/,"");if(p.type!=="runtime.tool"&&!/^tool[.:]/.test(p.type||""))continue;const h=p.callId||p.call_id||p.tool_call_id;if(!h)continue;const f=i.get(h)||{id:`tool:${h}`,kind:"tool",turnId:r,label:p.tool||p.tool_name||"Tool call",callId:h,startedAt:p.at||p.time};f.status=["post","end","finished"].includes(m)?"completed":["error","failed"].includes(m)?"error":"running",f.actualSessionId=p.actualSessionId||f.actualSessionId,i.set(h,f)}const s=new Map(t.map(p=>[p.sessionId||p.id,p]));for(const p of i.values())s.has(p.actualSessionId)&&(p.parentId=`worker:${p.actualSessionId}`),o.push(p);for(const p of t){const m=p.sessionId||p.id,h=p.callId||p.call_id,f=s.get(p.parentSessionId);o.push({id:`worker:${m}`,kind:"worker",turnId:r,routing:p.routing,provider:p.provider,model:p.model,label:p.name||p.agent||p.title||"Worker",status:p.status,phase:p.phase,summary:p.detail||p.report||p.result,summaryDetail:p.detail?p.detailDetail:p.report?p.reportDetail:p.resultDetail,startedAt:p.startedAt,endedAt:p.endedAt,workerId:p.id||m,parentId:i.has(h)?`tool:${h}`:f?`worker:${f.sessionId||f.id}`:null})}return{nodes:o,turns:[{id:r,label:"Recent execution activity",status:o.some(p=>["running","working","starting","queued","pending","retrying","idle"].includes(p.status))?"running":"completed"}]}}function oF(e,t){var i;const a=new Map,r=[],o=new Set(e.map(s=>s.id));for(const s of t.turns){let l=s.anchorMessageId;if(!Object.hasOwn(s,"anchorMessageId")){const c=e.find(p=>p.role==="user"&&(s.messageId&&s.messageId===p.id||s.userMessageId&&s.userMessageId===p.id||p.inputId&&(s.inputId===p.inputId||s.id===p.inputId))),u=t.nodes.filter(p=>p.turnId===s.id&&Number.isFinite(p.startedAt)).map(p=>p.startedAt),d=Number.isFinite(s.startedAt)?s.startedAt:u.length?Math.min(...u):null;l=(c==null?void 0:c.id)||(d!==null?(i=e.findLast(p=>Number.isFinite(p.createdAt)&&p.createdAt<=d))==null?void 0:i.id:null)}l&&o.has(l)?(a.has(l)||a.set(l,[]),a.get(l).push(s.id)):r.push(s.id)}return{after:a,before:r}}function iF(e){return e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}m`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(e)}const sF=new Set(["running","working","starting","queued","pending","retrying","idle"]);function Un(e){return sF.has((e==null?void 0:e.status)||(e==null?void 0:e.phase))&&!Number.isFinite(e==null?void 0:e.endedAt)}function xp(e,t=Date.now()/1e3){if(!Number.isFinite(e==null?void 0:e.startedAt))return null;const a=Number.isFinite(e.endedAt)?e.endedAt:Un(e)?t:null;if(a===null)return null;const r=Math.max(0,a-e.startedAt),o=Math.floor(r);return r>=60?`${Math.floor(o/60)}m ${o%60}s`:Un(e)?`${o}s`:`${Number(r.toFixed(1))}s`}function Sp(e,{pending:t=!1}={}){if(!e)return t?{text:"usage pending",title:"Usage has not been reported yet."}:null;if(e.calls===0&&!e.totalTokens&&!e.inputTokens&&!e.outputTokens&&!e.costUsd)return t?{text:"usage pending",title:"Usage has not been reported yet."}:null;const a=e.totalTokens??(e.inputTokens!=null||e.outputTokens!=null?(e.inputTokens||0)+(e.outputTokens||0):null),r=e.grossTotalTokens??(a===null?null:a+(e.cacheWriteTokens||0)),o=e.tokenPendingCalls??(t&&e.tokenUnknownCalls||0),i=e.costPendingCalls??(t&&e.unknownCalls||0),s=e.costType||(e.costUsd!=null&&e.unknownCalls===0?"reported":"unavailable"),l=typeof e.costUsd=="number"&&s!=="unavailable"?`${s==="estimated"||e.estimatedCalls>0?"≈":""}$${e.costUsd<.01?e.costUsd.toFixed(6).replace(/0+$/,"").replace(/\.$/,".00"):e.costUsd.toFixed(3)}${s==="partial"&&!i?"+":""}`:null,c=[];if(e.calls>0&&e.tokenUnknownCalls>=e.calls?c.push(o===e.calls?"tokens pending":o?"tokens partly pending":"tokens unavailable"):r!=null&&c.push(`${iF(r)} tokens${e.tokenUnknownCalls?o===e.tokenUnknownCalls?" + pending":" + ?":""}`),l?c.push(l+(i?" + pending":"")):(e.calls||r!=null)&&c.push(i===e.calls?"cost pending":i?"cost partly pending":"cost unavailable"),!c.length)return null;const u=[e.inputTokens!=null&&(e.calls==null||e.tokenUnknownCalls!==e.calls)?`${e.inputTokens} input tokens`:null,e.outputTokens!=null&&(e.calls==null||e.tokenUnknownCalls!==e.calls)?`${e.outputTokens} output tokens`:null,e.cacheReadTokens?`${e.cacheReadTokens} cache-read tokens`:null,e.cacheWriteTokens?`${e.cacheWriteTokens} cache-write tokens`:null,o?`${o} call(s) awaiting token usage`:null,i?`${i} call(s) awaiting cost`:null,s==="partial"?`Partial cost: ${e.pricedCalls||0} of ${e.calls||"?"} calls priced`:s==="estimated"?"Cost is estimated":s==="reported"?"Cost reported by the provider":i===e.calls?"Cost has not been reported yet":"Provider did not report a cost for completed calls",e.estimatedCalls&&s==="partial"?"Includes estimated cost":null].filter(Boolean).join(" · ");return{text:c.join(" · "),title:u}}function lF(e,t){const a=e.nodes.filter(c=>c.turnId===t),r=new Map(a.map(c=>[c.id,c])),o=new Map;for(const c of a){const u=c.parentId&&c.parentId!==c.id&&r.has(c.parentId)?c.parentId:null;o.has(u)||o.set(u,[]),o.get(u).push(c)}const i=o.get(null)||[],s=new Set,l=c=>{if(!s.has(c.id)){s.add(c.id);for(const u of o.get(c.id)||[])l(u)}};i.forEach(l);for(const c of a)s.has(c.id)||(i.push(c),l(c));return{roots:i,children:o}}function cF(e){let t;try{t=JSON.parse(e)}catch{return[]}const a=new Set;function r(o,i=0){if(!(!o||typeof o!="object"||i>8))for(const[s,l]of Object.entries(o).slice(0,100)){if(a.size>=8)return;if(["url","uri","html_url","web_url","artifact_url"].includes(s)&&typeof l=="string")try{const c=new URL(l);["https:","http:"].includes(c.protocol)&&!c.username&&!c.password&&a.add(c.href)}catch{}else typeof l=="object"&&r(l,i+1)}}return r(t),[...a]}function uF(e){const t=e.filter(r=>r.kind==="llm"),a={calls:t.length,pricedCalls:0,unknownCalls:0,estimatedCalls:0,tokenUnknownCalls:0,costPendingCalls:0,tokenPendingCalls:0,costUsd:0};for(const r of["inputTokens","outputTokens","totalTokens","cacheReadTokens","cacheWriteTokens"])a[r]=0;for(const r of t){const o=r.usage||{},i=Un(r);for(const s of["inputTokens","outputTokens","totalTokens","cacheReadTokens","cacheWriteTokens"])Number.isFinite(o[s])&&(a[s]+=o[s]);o.totalTokens==null&&(o.inputTokens!=null||o.outputTokens!=null)&&(a.totalTokens+=(o.inputTokens||0)+(o.outputTokens||0)),o.totalTokens==null&&o.inputTokens==null&&o.outputTokens==null&&(a.tokenUnknownCalls++,i&&a.tokenPendingCalls++),Number.isFinite(o.costUsd)?(a.costUsd+=o.costUsd,a.pricedCalls++,o.costType==="estimated"&&a.estimatedCalls++):(a.unknownCalls++,i&&a.costPendingCalls++)}return a.costType=a.pricedCalls?a.unknownCalls?"partial":a.estimatedCalls?"estimated":"reported":"unavailable",a}function dF(e,t){const a=[],r=[];for(const o of t.turns){const i=t.nodes.filter(u=>u.turnId===o.id),s=new Map;let l,c=-1/0;for(const u of i){const d=Number.isFinite(u.startedAt)?u.startedAt:Number.isFinite(u.endedAt)?u.endedAt:o.startedAt;let p=o.anchorMessageId??null;if(Object.hasOwn(u,"anchorMessageId"))p=u.anchorMessageId;else if(Number.isFinite(d))for(const f of e)f.timestampKnown!==!1&&Number.isFinite(f.createdAt)&&f.createdAt<=d&&(p=f.id);const m=`${o.id}@${p||"start"}`;s.has(m)||s.set(m,{id:m,anchor:p,nodes:[]}),s.get(m).nodes.push({...u,turnId:m});const h=Number.isFinite(d)?d:-1/0;(l===void 0||h>=c)&&(c=h,l=m)}!i.length&&Un(o)&&s.set(`${o.id}@${o.anchorMessageId||"start"}`,{id:`${o.id}@${o.anchorMessageId||"start"}`,anchor:o.anchorMessageId,nodes:[]});for(const u of s.values()){const d=u.nodes.map(v=>v.startedAt).filter(Number.isFinite),p=u.nodes.map(v=>v.endedAt).filter(Number.isFinite),m=u.id===l&&["error","failed","cancelled","interrupted"].includes(o.status||o.phase)?o.status||o.phase:null,h=!m&&(u.nodes.some(Un)||!d.length&&!p.length&&Un(o)),f=u.nodes.find(v=>["error","failed","cancelled","interrupted"].includes(v.status||v.phase));m&&Number.isFinite(o.endedAt)&&p.push(o.endedAt),a.push({...o,id:u.id,originalTurnId:o.id,anchorMessageId:u.anchor,startedAt:d.length?Math.min(...d):o.startedAt,endedAt:h?void 0:p.length?Math.max(...p):o.endedAt,phase:h?"running":m||(f?f.status||f.phase:p.length||o.endedAt?"completed":"recorded"),status:void 0,aggregateUsage:uF(u.nodes),nodeCounts:{tools:u.nodes.filter(v=>v.kind==="tool").length,models:u.nodes.filter(v=>v.kind==="llm").length},...(t.segments||[]).find(v=>v.id===u.id)}),r.push(...u.nodes)}}return{nodes:r,turns:a}}function pF({sessionId:e,act:t}){const[a,r]=g.useState(null),[o,i]=g.useState(!1),[s,l]=g.useState(""),c=g.useRef(0);g.useEffect(()=>(c.current++,r(null),i(!1),l(""),()=>{c.current++}),[e]);async function u(d=!1){const p=++c.current;i(!0),l("");try{const m=await t("runtime.dependencies",{sessionId:e,...d?{verifyImports:!0}:{}});if(c.current===p){if(!(m!=null&&m.result))throw Error("Runtime inspection did not return a result.");r(m.result)}}catch(m){c.current===p&&l(m.message)}finally{c.current===p&&i(!1)}}return n.createElement(Yt,{as:"section",name:"runtime.dependencies",busy:o,className:"a-settings-section"},n.createElement("h3",null,"Document and data tools"),n.createElement("p",null,"Check the tools available for documents, spreadsheets, PDFs and plots."),n.createElement("button",{className:"a-soft","data-action":"runtime.dependencies",disabled:o,onClick:()=>u()},n.createElement(zt,null),"Inspect document tools"),n.createElement("button",{className:"a-soft","data-action":"runtime.dependencies",disabled:o,onClick:()=>u(!0)},"Check library imports"),s&&n.createElement("p",{role:"alert",className:"a-danger"},s),a&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Availability is separate from a successful render, visual review or formula calculation."),Object.entries(a).map(([d,p])=>n.createElement("section",{key:d,"aria-label":d==="host"?"App environment":"Conversation environment"},n.createElement("h4",null,d==="host"?"App environment":"Conversation environment"),p.status!=="available"?n.createElement("p",null,p.reason||"Environment not available."):n.createElement(n.Fragment,null,n.createElement("p",{className:"a-wrap"},"Python ",p.python.version,n.createElement("br",null),n.createElement("code",null,p.python.path)),n.createElement("ul",{className:"a-catalog-list"},p.python.packages.map(m=>n.createElement("li",{key:m.name},n.createElement("strong",null,m.name)," — ",m.version||m.status,m.importStatus&&` · Import ${m.importStatus}`))),Object.entries(p.executables).map(([m,h])=>n.createElement("p",{key:m,className:"a-wrap"},n.createElement("strong",null,{node:"Node.js",libreoffice:"LibreOffice",pdftoppm:"PDF renderer"}[m]||m)," — ",h.version||h.status,h.path&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement("code",null,h.path)),h.reason&&n.createElement(n.Fragment,null,n.createElement("br",null),h.reason))))))))}const fs=e=>JSON.stringify(e,null,2),mF={tab:"overview",goalCondition:"",goalMaxTurns:"",mode:"",maxIterations:"",contextTokens:"",tool:"",toolArgs:"{}",clearConfirm:!1};function nk({state:e,session:t,act:a,computerControls:r}){var H,ne,B,P,_,ee,Z,D,G;const o=(H=e.view)==null?void 0:H.runtimeDraft,i=g.useRef(null),[s,l]=g.useState({...mF,...o});g.useEffect(()=>{o&&l(j=>({...j,...o}))},[o]);const c=j=>{l(K=>({...K,...j})),a("view.update",{patch:{runtimeDraft:j}})};g.useLayoutEffect(()=>{var K;if(!s.section)return;const j=[...((K=i.current)==null?void 0:K.querySelectorAll("[data-runtime-section]"))||[]].find(oe=>oe.dataset.runtimeSection===s.section);j==null||j.scrollIntoView({block:"nearest"}),j==null||j.focus({preventScroll:!0})},[s.section,s.tab,s.revealRevision]);const u=((ne=e.runtimeControl)==null?void 0:ne[t==null?void 0:t.id])||{},d=u["catalog.inspect"]||{},p=u["mode.list"]||{},m=u["goals.get"]||u["goals.set"]||{},h=u["budget.get"]||u["budget.set"]||{},f=u["usage.inspect"],v=d.capabilities||{},y=((B=u["task.get"])==null?void 0:B.task)||(t==null?void 0:t.task),E=e.management||{},b=["working","running","pending","queued"].includes(E.phase),x=(P=e.actionStatus)==null?void 0:P["runtime.control"],w=j=>{var K,oe;return["queued","working"].includes(x==null?void 0:x.phase)&&((K=x==null?void 0:x.target)==null?void 0:K.sessionId)===(t==null?void 0:t.id)&&((oe=x==null?void 0:x.target)==null?void 0:oe.operation)===j},R=t&&["working","starting","running","stopping","busy"].includes(t.status),S=(j,K={})=>a("runtime.control",{sessionId:t.id,operation:j,args:K}),I=d.tools||[],N=I.find(j=>j.name===s.tool),M=u["tool.invoke"],k=!!v.goals,T=!!v.modes,A=Sp(f==null?void 0:f.usage);let q={},z="";try{if(q=JSON.parse(s.toolArgs),!q||typeof q!="object"||Array.isArray(q))throw new Error("Tool arguments must be a JSON object.")}catch(j){z=j.message}const F=[["overview","Session",tl],["direction","Goals & modes",um],["limits","Limits & context",Tk],["tools","Tools & skills",Os],["computer","Computer use",Mu]];return t?n.createElement("div",{ref:i,className:"a-runtime-settings","data-part":"runtime-controls"},n.createElement("p",null,"Inspect and control the active Amplifier session. Its bundle determines which capabilities are available."),n.createElement("nav",{className:"a-settings-nav","aria-label":"Session control sections"},F.map(([j,K,oe])=>n.createElement("button",{key:j,className:s.tab===j?"selected":"","data-action":"view.update",onClick:()=>c({tab:j,section:null})},n.createElement(oe,null),K))),n.createElement("div",{"data-runtime-section":s.tab,tabIndex:-1},s.tab==="computer"&&r,E.error&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,E.error)),b&&n.createElement("p",{className:"a-management-status",role:"status"},n.createElement(zt,{className:"a-progress-spinner"}),E.detail||"Updating the session…"),s.tab==="overview"&&n.createElement(n.Fragment,null,n.createElement(QD,{session:t,act:a}),n.createElement(Yt,{as:"section",name:"runtime-catalog.inspect",busy:w("catalog.inspect"),className:"a-settings-section"},n.createElement("h3",null,"Session capabilities"),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("catalog.inspect")},n.createElement(zt,null),"Inspect capabilities"),I.length>0&&n.createElement("div",{className:"a-capability-counts"},n.createElement("span",null,n.createElement("strong",null,I.length)," tools"),n.createElement("span",null,n.createElement("strong",null,Object.keys(d.agents||{}).length)," agents"),n.createElement("span",null,n.createElement("strong",null,(d.skills||[]).length)," skills")),Object.keys(v).length>0&&n.createElement("div",{className:"a-capability-tags"},Object.entries(v).map(([j,K])=>n.createElement("span",{key:j,className:K?"available":"unavailable"},j," · ",K?"available":"unavailable")))),n.createElement(Yt,{as:"section",name:"runtime-usage.inspect",busy:w("usage.inspect"),className:"a-settings-section"},n.createElement("h3",null,"Usage & context"),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("usage.inspect")},n.createElement(zt,null),"Refresh usage"),f&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},f.calls??0," model calls · ",f.messages??0," messages · ",f.userTurns??0," user turns"),A&&n.createElement("p",{title:A.title},A.text),n.createElement("p",{className:"a-caption"},((ee=(_=f.contextCharacters)==null?void 0:_.toLocaleString)==null?void 0:ee.call(_))??"Unknown"," context characters. Character counts are not token counts.")))),s.tab==="direction"&&n.createElement(n.Fragment,null,n.createElement(GD,{state:e,session:t,act:a}),n.createElement(YD,{session:t,act:a}),!y&&n.createElement(Yt,{as:"section",name:"runtime-goals.get",busy:w("goals.get"),className:"a-settings-section"},n.createElement("h3",null,"Goal"),n.createElement("p",null,"Give the session an explicit condition to work toward and an optional turn limit."),!k&&n.createElement("p",{className:"a-caption"},Object.keys(v).length?"This bundle does not expose a goal controller.":"Inspect session capabilities first to check goal support."),n.createElement("button",{className:"a-soft",disabled:!k||b,"data-action":"runtime.control",onClick:()=>S("goals.get")},n.createElement(zt,null),"Load current goal"),m.goal&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,n.createElement("strong",null,m.goal.condition)),n.createElement("small",null,m.goal.turns_used??0," turns used",m.goal.cap?` of ${m.goal.cap}`:""),m.goal.last_reason&&n.createElement("p",null,m.goal.last_reason)),n.createElement("label",{htmlFor:"runtime-goal"},"Goal condition"),n.createElement("textarea",{id:"runtime-goal",value:s.goalCondition,"data-action":"view.update",onChange:j=>c({goalCondition:j.target.value}),placeholder:"The requested changes are implemented and the checks pass."}),n.createElement("label",{htmlFor:"runtime-goal-turns"},"Maximum continuation turns (optional)"),n.createElement("input",{id:"runtime-goal-turns",type:"number",min:"1",value:s.goalMaxTurns,"data-action":"view.update",onChange:j=>c({goalMaxTurns:j.target.value})}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:!k||!s.goalCondition.trim()||R||b||s.goalMaxTurns!==""&&(!Number.isInteger(Number(s.goalMaxTurns))||Number(s.goalMaxTurns)<1),"data-action":"runtime.control",onClick:()=>S("goals.set",{condition:s.goalCondition.trim(),maxTurns:s.goalMaxTurns?Number(s.goalMaxTurns):null})},n.createElement(um,null),"Set goal"),n.createElement("button",{className:"a-soft",disabled:!k||R||b,"data-action":"runtime.control",onClick:()=>S("goals.clear")},"Clear goal"))),n.createElement(Yt,{as:"section",name:"runtime-mode.list",busy:w("mode.list"),className:"a-settings-section"},n.createElement("h3",null,"Mode"),n.createElement("p",null,"Use a mode supplied by your bundle to adjust how the session works."),n.createElement("button",{className:"a-soft",disabled:!T||b,"data-action":"runtime.control",onClick:()=>S("mode.list")},n.createElement(zt,null),"Load modes"),p.active&&n.createElement("p",{className:"a-caption"},"Active: ",typeof p.active=="string"?p.active:fs(p.active)),n.createElement("label",{htmlFor:"runtime-mode"},"Mode"),n.createElement("select",{id:"runtime-mode",value:s.mode,"data-action":"view.update",onChange:j=>c({mode:j.target.value})},n.createElement("option",{value:""},"Choose a mode"),(p.modes||[]).map(j=>n.createElement("option",{value:j.name,key:j.name},j.name,j.description?` — ${j.description}`:""))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:!T||!s.mode||R||b,"data-action":"runtime.control",onClick:()=>S("mode.set",{name:s.mode})},n.createElement(Pt,null),"Apply mode"),n.createElement("button",{className:"a-soft",disabled:!T||R||b,"data-action":"runtime.control",onClick:()=>S("mode.clear")},"Clear mode")),!T&&n.createElement("p",{className:"a-caption"},Object.keys(v).length?"This bundle does not expose modes.":"Inspect session capabilities first to check mode support."))),s.tab==="limits"&&n.createElement(n.Fragment,null,n.createElement(JD,{key:t.id,session:t,act:a}),n.createElement(ZD,{results:u,run:S,busy:b,active:R}),n.createElement(Yt,{as:"section",name:"runtime-budget.get",busy:w("budget.get"),className:"a-settings-section"},n.createElement("h3",null,"Session limits"),n.createElement("p",null,"Adjust the active session’s model-turn and context limits."),n.createElement("button",{className:"a-soft",disabled:b,"data-action":"runtime.control",onClick:()=>S("budget.get")},n.createElement(zt,null),"Load limits"),Object.keys(h).length>0&&n.createElement("p",{className:"a-caption"},"Current: ",h.maxIterations===-1?"unlimited":h.maxIterations??"unknown"," model turns · ",h.contextTokens??"unknown"," context tokens. ",h.contextNote||""),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",{htmlFor:"runtime-max-iterations"},"Maximum model turns (−1 for unlimited)"),n.createElement("input",{id:"runtime-max-iterations",type:"number",min:"-1","data-action":"view.update",value:s.maxIterations,placeholder:String(h.maxIterations??""),onChange:j=>c({maxIterations:j.target.value})})),n.createElement("div",null,n.createElement("label",{htmlFor:"runtime-context-tokens"},"Context token budget"),n.createElement("input",{id:"runtime-context-tokens",type:"number",min:"1","data-action":"view.update",value:s.contextTokens,placeholder:String(h.contextTokens??""),onChange:j=>c({contextTokens:j.target.value})}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:R||b||!s.maxIterations&&!s.contextTokens||s.maxIterations!==""&&(!Number.isInteger(Number(s.maxIterations))||Number(s.maxIterations)!==-1&&Number(s.maxIterations)<1)||s.contextTokens!==""&&(!Number.isInteger(Number(s.contextTokens))||Number(s.contextTokens)<1),"data-action":"runtime.control",onClick:()=>S("budget.set",{...s.maxIterations!==""?{maxIterations:Number(s.maxIterations)}:{},...s.contextTokens!==""?{contextTokens:Number(s.contextTokens)}:{}})},n.createElement(Pt,null),"Update limits"))),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Clear model context"),n.createElement("p",null,"Clear the model’s active context. The saved conversation remains in the app."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s.clearConfirm,"data-action":"view.update",onChange:j=>c({clearConfirm:j.target.checked})}),"I want to clear the active model context."),n.createElement("button",{className:"a-soft a-danger",disabled:!s.clearConfirm||R||b,"data-action":"runtime.control",onClick:()=>S("context.clear")},n.createElement(Qn,null),"Clear context"))),s.tab==="tools"&&n.createElement(n.Fragment,null,n.createElement(Yt,{as:"section",name:"runtime-catalog.inspect",busy:w("catalog.inspect"),className:"a-settings-section"},n.createElement("div",{className:"a-settings-row"},n.createElement("div",null,n.createElement("h3",null,"Tools"),n.createElement("p",null,"Inspect the actual tool schema, then invoke it through the session’s permission checks.")),n.createElement("button",{className:"a-icon","aria-label":"Refresh tool catalog",disabled:b,"data-action":"runtime.control",onClick:()=>S("catalog.inspect")},n.createElement(zt,null))),n.createElement("label",{htmlFor:"runtime-tool"},"Tool"),n.createElement("select",{id:"runtime-tool","data-action":"view.update",value:s.tool,onChange:j=>c({tool:j.target.value,toolArgs:"{}"})},n.createElement("option",{value:""},"Choose a tool"),I.map(j=>n.createElement("option",{key:j.name,value:j.name},j.name))),N&&n.createElement(n.Fragment,null,n.createElement("p",null,N.description),n.createElement("pre",{className:"a-state-view"},fs(N.inputSchema)),n.createElement("label",{htmlFor:"runtime-tool-arguments"},"Arguments (JSON)"),n.createElement("textarea",{id:"runtime-tool-arguments",className:"a-json-editor",spellCheck:!1,value:s.toolArgs,"data-action":"view.update",onChange:j=>c({toolArgs:j.target.value})}),z&&n.createElement("p",{className:"a-danger"},z),n.createElement("button",{className:"a-primary",disabled:!!z||R||b,"data-action":"runtime.control",onClick:()=>S("tool.invoke",{name:s.tool,arguments:q})},n.createElement(cg,null),"Run tool")),M&&n.createElement("div",{className:"a-tool-result"},n.createElement("h4",null,"Tool result"),((Z=M.result)==null?void 0:Z.error)&&n.createElement("p",{className:"a-danger"},typeof M.result.error=="string"?M.result.error:fs(M.result.error)),n.createElement(ml,{text:typeof((D=M.result)==null?void 0:D.output)=="string"?M.result.output:fs(((G=M.result)==null?void 0:G.output)??M)}))),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Skills"),(d.skills||[]).length?n.createElement("ul",{className:"a-catalog-list"},d.skills.map(j=>n.createElement("li",{key:j.name},n.createElement("strong",null,j.name),n.createElement("p",null,j.description)))):n.createElement("p",null,"Inspect capabilities to see skills available in this bundle."),n.createElement("p",{className:"a-caption"},"Ask Amplifier to use a skill in the conversation, or select its loading tool above to inspect the exact arguments.")),n.createElement("section",{className:"a-settings-section"},n.createElement("h3",null,"Available agents"),n.createElement("ul",{className:"a-catalog-list"},Object.entries(d.agents||{}).map(([j,K])=>{var oe;return n.createElement("li",{key:j},n.createElement("strong",null,j),n.createElement("p",null,K.description||((oe=K.meta)==null?void 0:oe.description)||""))})))),s.tab==="overview"&&n.createElement(pF,{sessionId:t.id,act:a}),s.tab==="overview"&&n.createElement(Uf,{state:e,session:t,act:a}),R&&n.createElement("p",{className:"a-caption"},"Changes and direct tool calls become available when this session and its workers are idle."))):n.createElement(Uf,{state:e,session:null,act:a})}const $f=e=>new Date(e*1e3).toLocaleString();function Bf({value:e}){return n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Technical environment details"),n.createElement("p",{className:"a-wrap"},e.host.label," · ",e.platform,n.createElement("br",null),"Python ",e.python.version,n.createElement("br",null),n.createElement("code",null,e.python.path),n.createElement("br",null),"Computer-use package: ",e.computerUsePackage.version||e.computerUsePackage.status))}function hF({state:e,session:t,act:a}){var M,k,T,A,q,z,F,H,ne;const r=JSON.stringify([t==null?void 0:t.id,(M=e.voice)==null?void 0:M.id,(k=e.voice)==null?void 0:k.status,(A=(T=e.voice)==null?void 0:T.visual)==null?void 0:A.id,(q=e.computerVisual)==null?void 0:q.id,(z=e.computerVisual)==null?void 0:z.available,(F=e.computerVisual)==null?void 0:F.sessionId,(H=e.updates)==null?void 0:H.installedAt]),o=g.useRef(0),[i,s]=g.useState(null),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(!1),[h,f]=g.useState("");g.useEffect(()=>(o.current++,s(null),c(!1),d(""),()=>{o.current++}),[r]);const v=(i==null?void 0:i.context)===r?i.value:null,y=v==null?void 0:v.worker,E=y==null?void 0:y.computerControl,b=v==null?void 0:v.featureSetup,x=Object.values(((ne=e.updates)==null?void 0:ne.featureResults)||{}).filter(B=>B.feature==="native-desktop"),w=x.sort((B,P)=>P.updatedAt-B.updatedAt)[0],R=p||(b==null?void 0:b.pending)||x.some(B=>["queued","staging","qualified","activating","restart_pending"].includes(B.phase));async function S(){if(!(p||!v)){m(!0),f("");try{const B=await a("updates.featureInstall",{feature:"native-desktop",hostInstanceId:v.host.instanceId});if(!(B!=null&&B.accepted)||!B.requestId)throw Error("The installation request could not be confirmed. Inspect Updates before retrying.")}catch(B){f(B.message)}finally{m(!1)}}}async function I(){const B=++o.current;c(!0),d("");try{const P=await a("desktop.readiness",t!=null&&t.id?{sessionId:t.id}:{});if(B!==o.current)return;if(!(P!=null&&P.result)||P.result.sessionId!==((t==null?void 0:t.id)||null))throw Error("Readiness did not return for this conversation. Check again.");s({context:r,value:P.result})}catch(P){B===o.current&&(d(P.message),s(null))}finally{B===o.current&&c(!1)}}const N=(B="",P="{}")=>a("view.update",{patch:{...Bw("runtime"),runtimeDraft:{tab:"tools",tool:B,toolArgs:P}}});return n.createElement("section",{"aria-label":"Desktop and browser readiness"},n.createElement("p",null,"Check which device and environment supply screen observation and optional computer or browser tools."),n.createElement("p",null,"Checking does not enable desktop control, capture a screen, request OS permission, start a conversation runtime or change your model."),n.createElement("button",{className:"a-soft","data-action":"desktop.readiness",disabled:l,onClick:I},l?"Checking…":"Check desktop and browser setup"),u&&n.createElement("p",{role:"alert"},u),w&&n.createElement("p",{role:"status"},"Native feature request: ",w.phase.replaceAll("_"," "),". ",w.detail),h&&n.createElement("p",{role:"alert"},h),v&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Checked ",$f(v.observedAt),". This is a setup snapshot; check again after changing the host, tools or permissions."),n.createElement("section",{"aria-label":"Native screen observation"},n.createElement("h4",null,"Native screen observation"),n.createElement("p",null,"The serving app host can differ from your browser device and the conversation worker."),n.createElement(Bf,{value:v.host}),n.createElement("p",{role:"status"},"Native observation: ",v.nativeObservation.available?"ready for explicit consent":v.nativeObservation.code||v.nativeObservation.status),v.nativeObservation.reason&&n.createElement("p",{className:"a-wrap"},v.nativeObservation.reason),n.createElement("p",null,v.nativeObservation.nextStep),b!=null&&b.supported?n.createElement(n.Fragment,null,b.installedExtras.includes("native-desktop")?n.createElement("p",null,"The native observation package is installed. OS permission and consent for this conversation and browser are separate."):n.createElement(n.Fragment,null,n.createElement("p",null,b.detail),n.createElement("button",{className:"a-soft","data-action":"updates.featureInstall",disabled:R||!!h,onClick:S},"Install native screen observation"))):(b==null?void 0:b.reason)&&n.createElement("p",null,b.reason),n.createElement("p",{className:"a-caption"},"The Python path identifies the executing interpreter. It does not identify which parent application macOS lists in Screen Recording settings.")),n.createElement("section",{"aria-label":"Browser screen observation"},n.createElement("h4",null,"Shared screen source"),v.voiceObservation.source?n.createElement("p",null,"Selected ",v.voiceObservation.source.kind,": ",v.voiceObservation.source.label,". Permission expires ",$f(v.voiceObservation.expiresAt),"."):n.createElement("p",null,"No source is shared for this conversation in this browser."),n.createElement("p",null,v.voiceObservation.nextStep),n.createElement("p",{className:"a-caption"},v.voiceObservation.browserContext)),n.createElement("section",{"aria-label":"Conversation computer tools"},n.createElement("h4",null,"Conversation computer and browser tools"),y.status!=="available"?n.createElement("p",null,y.reason):n.createElement(n.Fragment,null,n.createElement(Bf,{value:y}),n.createElement("p",null,"Computer control: ",E.status.replaceAll("_"," "),". Mounted tools are separate from native screen observation."),E.detail&&n.createElement("p",{className:"a-wrap"},E.detail),n.createElement("p",{className:"a-wrap"},"Mounted tools: ",y.mountedTools.join(", ")||"none"),n.createElement("details",null,n.createElement("summary",null,"Configured tool modules"),n.createElement("ul",null,y.modules.map(B=>n.createElement("li",{key:B.id},B.module," (",B.enabled?"enabled":"disabled",")")))),n.createElement("p",{className:"a-caption"},y.browserContext.reason),E.status==="unavailable"&&n.createElement(n.Fragment,null,n.createElement("p",null,"The computer-use module could not mount a working backend. Its existing setup tool can discover candidate targets, explicitly activate one, and separately persist that choice."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>N("computer_use_unavailable",'{"action":"discover"}')},"Open computer target setup")),E.status==="not_mounted"&&n.createElement("p",null,"Review a computer-use bundle or connect a browser adapter in Smart Tools. A skill or installed library alone does not mount these tools in this conversation."),E.doctorSupported&&n.createElement(n.Fragment,null,n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>N("desktop",'{"action":"doctor"}')},"Open desktop doctor"),n.createElement("p",{className:"a-caption"},"In Session tools, refresh the catalog and run the prefilled doctor action. It is a prompt-free, no-content diagnostic through normal session policy; policy approval may still be required. It does not clear a halt or prove physical capture/control. Remote facts retain their connection-time ages; guard state is the last recorded state.")),E.status==="mounted"&&!E.doctorSupported&&n.createElement("p",null,"The mounted desktop tool does not advertise doctor. Review its own schema in Session tools."))),n.createElement("section",{"aria-label":"Desktop setup actions"},n.createElement("h4",null,"Set up optional tools"),n.createElement("p",null,"Use bundle review to add or enable tools, and Smart Tools to inspect an adapter's published schemas, connection and reported account identity. Confirm target and account through that adapter before acting."),n.createElement("div",{className:"a-dialog-actions"},v.nextActions.map(B=>n.createElement("button",{className:"a-soft",key:B.label,"data-action":B.action,onClick:()=>a(B.action,B.args)},B.label))),n.createElement("p",null,n.createElement("a",{href:"https://github.com/microsoft/amplifier-bundle-computer-use",target:"_blank",rel:"noreferrer"},"Computer-use installation and target setup")))))}function ai(e,t=!1){if(!e||e.value==null)return(e==null?void 0:e.status)==="empty"?"No recorded calls":(e==null?void 0:e.status)==="pending"?"Pending":"Unavailable";const a=e.value.toLocaleString(void 0,{maximumFractionDigits:t?6:0}),r=[];return e.estimatedCalls>0&&r.push("includes estimates"),e.pendingCalls>0&&r.push(`${e.pendingCalls} pending`),e.unknownCalls>0&&r.push(`${e.unknownCalls} unavailable`),`${t?"$":""}${a}${r.length?" · "+r.join(" · "):""}`}function Hf(e){const{sessionId:t,scope:a,source:r,calls:o,metrics:i,providers:s,coverage:l,excludedUnboundCalls:c}=e.usage;return{observedAt:e.observedAt,sessionId:t,scope:a,source:r,calls:o,metrics:i,providers:s,coverage:l,excludedUnboundCalls:c}}function fF({sessionId:e,act:t}){var y;const[a,r]=g.useState(null),[o,i]=g.useState(!1),[s,l]=g.useState(""),[c,u]=g.useState(!1),d=g.useRef(0);async function p(){var b,x;const E=++d.current;i(!0),l(""),u(!1);try{const w=await t("capacity.read",{sessionId:e,limit:1});if((w==null?void 0:w.accepted)===!1||((x=(b=w==null?void 0:w.result)==null?void 0:b.usage)==null?void 0:x.sessionId)!==e)throw Error("Usage could not be read.");E===d.current&&r(w.result)}catch(w){E===d.current&&l(w.message||"Usage could not be read.")}finally{E===d.current&&i(!1)}}g.useEffect(()=>(r(null),p(),()=>{d.current++}),[e]);const m=((y=a==null?void 0:a.usage)==null?void 0:y.sessionId)===e?a:null,h=m==null?void 0:m.usage,f=(h==null?void 0:h.metrics)||{};async function v(){try{await navigator.clipboard.writeText(JSON.stringify(Hf(m),null,2)),u(!0)}catch{l("Clipboard unavailable. Expand the usage data to select and copy it.")}}return n.createElement("section",{"aria-label":"Conversation usage",className:"a-settings-section"},n.createElement("h3",null,"Conversation usage"),n.createElement("p",{className:"a-caption"},"Recorded model calls in this chat and its observed workers. Cumulative tokens are not the current context-window size."),m&&n.createElement(n.Fragment,null,n.createElement("p",null,h.calls," recorded model calls · Snapshot ",new Date(m.observedAt*1e3).toLocaleTimeString()),n.createElement("dl",{className:"a-capability-counts"},n.createElement("div",null,n.createElement("dt",null,"Total tokens including cache writes"),n.createElement("dd",null,ai(f.grossTotalTokens))),n.createElement("div",null,n.createElement("dt",null,"Cost (USD)"),n.createElement("dd",null,ai(f.costUsd,!0)))),n.createElement("details",null,n.createElement("summary",null,"Token and model breakdown"),n.createElement("dl",null,[["inputTokens","Input tokens (includes cache reads)"],["outputTokens","Output tokens"],["reasoningTokens","Reasoning tokens (part of output)"],["cacheReadTokens","Cache-read tokens"],["cacheWriteTokens","Cache-write tokens"]].map(([E,b])=>n.createElement("div",{key:E},n.createElement("dt",null,b),n.createElement("dd",null,ai(f[E]))))),h.providers.map(E=>n.createElement("p",{key:E.provider+"|"+E.model},E.provider," / ",E.model," · ",E.calls," calls · ",ai(E.metrics.grossTotalTokens)," tokens · ",ai(E.metrics.costUsd,!0)))),n.createElement("p",{className:"a-caption"},"Historical calls without telemetry and provider-internal retries may be missing. Unavailable values are not zero.",h.excludedUnboundCalls>0?` ${h.excludedUnboundCalls} records could not be bound to this chat and are excluded.`:"")),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"capacity.read",disabled:o,onClick:p},o?"Reading usage…":"Refresh usage"),m&&n.createElement("button",{type:"button",className:"a-soft",onClick:v},"Copy usage")),m&&n.createElement("details",null,n.createElement("summary",null,"Usage data"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(Hf(m),null,2))),c&&n.createElement("p",{role:"status"},"Usage copied"),s&&n.createElement("p",{role:"alert"},s))}function ak(e){return["working","running","starting","stopping"].includes(e.status)||e.configurationBusy||(e.workers||[]).some(t=>["queued","starting","running","working","stopping"].includes(t.status))}function rk({session:e,act:t}){var y,E;const[a,r]=g.useState(e.title||""),[o,i]=g.useState(!1),[s,l]=g.useState(""),c=g.useRef(!1),u=g.useRef(!1),d=e.autoName??(e.titleSource!=="manual"&&e.nativeNameSource!=="manual"),p=((y=e.naming)==null?void 0:y.status)==="working",[m,h]=g.useState(d);g.useEffect(()=>h(d),[d]),g.useEffect(()=>{c.current||r(e.title||"")},[e.title]);async function f(b){if(b.preventDefault(),!(u.current||!a.trim())){u.current=!0,i(!0),l("");try{const x=await t("session.rename",{id:e.id,title:a.trim()});if(!x||x.accepted===!1)throw Error("Could not save the name. Your edit is kept.");c.current=!1,r(a.trim())}catch(x){l(x.message)}finally{u.current=!1,i(!1)}}}async function v(b){if(!u.current){u.current=!0,i(!0),l(""),"automatic"in b&&h(b.automatic);try{const x=await t("session.naming",{id:e.id,...b});if(!x||x.accepted===!1)throw Error("Could not update chat naming.")}catch(x){h(d),l(x.message)}finally{u.current=!1,i(!1)}}}return n.createElement(n.Fragment,null,n.createElement("form",{onSubmit:f,"aria-busy":o||p},n.createElement("label",{htmlFor:"session-title"},"Chat name"),n.createElement("div",{className:"a-chat-name-row"},n.createElement("input",{id:"session-title",value:a,disabled:o,required:!0,maxLength:200,onChange:b=>{c.current=!0,r(b.target.value),l("")}}),n.createElement("label",{className:"a-chat-name-auto"},n.createElement("input",{type:"checkbox","aria-label":"Automatic chat naming","data-action":"session.naming",checked:m,disabled:o,onChange:b=>v({automatic:b.target.checked})}),"Auto"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Regenerate chat name",title:"Generate a name from this conversation","data-action":"session.naming",disabled:o||p||a!==e.title,onClick:()=>v({regenerate:!0})},n.createElement(zt,{className:p?"a-name-spinning":void 0}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"submit",className:"a-soft","data-action":"session.rename",disabled:o||!a.trim()||a===e.title},o?"Saving…":"Save name")),p&&n.createElement("p",{role:"status"},"Generating chat name…"),(s||((E=e.naming)==null?void 0:E.error))&&n.createElement("p",{role:"alert",className:"a-danger"},s||e.naming.error)),n.createElement(gF,{key:e.id,session:e,act:t}))}function gF({session:e,act:t}){const[a,r]=g.useState(e.health),[o,i]=g.useState(""),[s,l]=g.useState(""),[c,u]=g.useState(""),d=g.useRef(!1);g.useEffect(()=>{r(e.health),u(""),l("")},[e.id,e.health,e.status,e.failure]);async function p(){var w;if(!d.current){d.current=!0,i("inspect"),l("");try{const R=await t("session.inspect",{id:e.id});if(!R||R.accepted===!1)throw Error("Could not inspect this conversation.");if((w=R.result)!=null&&w.stale)throw Error("The conversation changed while reading its diagnostics. Try copying again.");return r(R.result),R.result}catch(R){l(R.message)}finally{d.current=!1,i("")}}}g.useEffect(()=>{p()},[e.id]);async function m(){if(!d.current){d.current=!0,i("recover"),l("");try{const w=await t("session.recover",{id:e.id});if(!w||w.accepted===!1)throw Error("Could not create the recovery copy.")}catch(w){l(w.message)}finally{d.current=!1,i("")}}}async function h(w,R){try{await navigator.clipboard.writeText(w),u(R)}catch{l("Clipboard unavailable. Select and copy the session ID below.")}}async function f(){var R;if(d.current)return;const w=p();if((R=navigator.clipboard)!=null&&R.write&&typeof ClipboardItem<"u"){const S=w.then(I=>{if(!I)throw Error("Diagnostics unavailable");return new Blob([JSON.stringify(I,null,2)],{type:"text/plain"})});S.catch(()=>{});try{await navigator.clipboard.write([new ClipboardItem({"text/plain":S})]),u("Diagnostics copied")}catch{l(I=>I||"Clipboard unavailable. Select and copy the session ID below.")}}else{const S=await w;S&&await h(JSON.stringify(S,null,2),"Diagnostics copied")}}const v=a!=null&&a.status&&a.status!==e.status?void 0:a,y=Fu(e),E=(v==null?void 0:v.failure)||e.failure,b=(v==null?void 0:v.moduleFailures)||e.moduleFailures||[],x=ak(e);return n.createElement("div",{className:"a-conversation-details","aria-busy":!!o},n.createElement("div",null,n.createElement("p",null,n.createElement("strong",null,"Session ID"),n.createElement("span",{className:"a-session-identity"},n.createElement("code",null,y),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Copy session ID",title:"Copy session ID",onClick:()=>h(y,"Session ID copied")},n.createElement(ar,null)))),y!==e.id&&n.createElement("p",null,"App ID: ",n.createElement("code",{style:{overflowWrap:"anywhere"}},e.id)),n.createElement("p",{style:{overflowWrap:"anywhere"}},e.workspace,n.createElement("br",null),"Bundle: ",e.bundle," · Status: ",e.status),(E||e.error||b.length>0)&&(b.length>0?n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,"Configured modules could not load")),n.createElement("ul",null,b.map((w,R)=>n.createElement("li",{key:R},n.createElement("strong",null,w.module),": ",w.guidance)))):n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,(E==null?void 0:E.summary)||"The turn failed. Inspect the recorded details for its cause.")),n.createElement("p",null,(E==null?void 0:E.guidance)||"Work was not automatically replayed."),E&&n.createElement("p",null,"Recorded error: ",E.errorType,E.recordedAt?" · "+new Date(E.recordedAt*1e3||E.recordedAt).toLocaleString():""),(E==null?void 0:E.generationId)&&n.createElement("p",null,"Failed turn: ",n.createElement("code",null,E.generationId)),e.error&&n.createElement("details",null,n.createElement("summary",null,"Runtime message"),n.createElement("p",{style:{overflowWrap:"anywhere"}},e.error)))),n.createElement("p",null,"Create an independent copy with readable history. Old tool calls and image payloads stay in the original; reattach images if needed. Safety stops remain in effect. Nothing runs until you send a new message."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"session.recover",disabled:!!o||x,onClick:m},o==="recover"?"Creating recovery copy…":"Create recovery copy"),n.createElement("button",{type:"button",className:"a-soft",disabled:!!o,onClick:f},"Copy diagnostics")),x&&n.createElement("p",null,"Wait for the current work to stop before creating a copy.")),c&&n.createElement("p",{role:"status"},c),s&&n.createElement("p",{role:"alert",className:"a-danger"},s),n.createElement(fF,{key:e.id,sessionId:e.id,act:t}))}function vF({state:e,session:t,act:a}){var h,f;const[r,o]=g.useState(!1);if(!(t!=null&&t.error))return t!=null&&t.recovery?n.createElement("p",{className:"a-hint"},"Recovery copy · Readable history retained. Old tool and image payloads remain in the original conversation. No work was replayed."):null;const i=(f=(h=e.attention)==null?void 0:h.items)==null?void 0:f.find(v=>v.id==="session:"+t.id),s=t.failure,l=(s==null?void 0:s.category)==="context_limit",c=ak(t);async function u(){if(!(r||c)){o(!0);try{await a("session.recover",{id:t.id})}finally{o(!1)}}}if(i!=null&&i.read)return null;if(l)return n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,n.createElement("strong",null,"Context limit reached.")," ",s.summary," ",s.guidance),n.createElement("button",{type:"button",className:"a-link","data-action":"session.recover",disabled:r||c,onClick:u},r?"Creating recovery copy…":"Create recovery copy"),i&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[i])},n.createElement(tn,null)));const d=(s==null?void 0:s.recordedAt)??t.errorAt,p=Number.isFinite(d)&&d>0?new Date(d*1e3):null,m=p&&Number.isFinite(p.getTime())?p:null;return n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,n.createElement("strong",null,(s==null?void 0:s.category)==="worker_startup"?"Chat could not start.":"A turn stopped.")," ",m&&n.createElement("time",{dateTime:m.toISOString()},m.toLocaleString()," · "),(s==null?void 0:s.summary)||"The cause is not available in the saved details."," Your conversation is saved."),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>a("view.update",{patch:{panel:"session-details"}})},"View error details"),i&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[i])},n.createElement(tn,null)))}function bF({session:e,act:t}){const[a,r]=g.useState(""),[o,i]=g.useState("workspace"),[s,l]=g.useState(null),[c,u]=g.useState(null),[d,p]=g.useState(null),[m,h]=g.useState([]),[f,v]=g.useState(null),[y,E]=g.useState(""),[b,x]=g.useState("task"),[w,R]=g.useState("available"),[S,I]=g.useState(null),[N,M]=g.useState(""),[k,T]=g.useState(!1),[A,q]=g.useState(null),z=g.useRef(!0),F=g.useRef(!1),H=g.useRef(null),ne=e==null?void 0:e.id,B=g.useRef(ne);B.current=ne,g.useEffect(()=>{H.current=null,u(null),p(null),h([]),v(null),I(null),E(""),l(null),q(null),M("")},[ne]),g.useEffect(()=>(z.current=!0,()=>{z.current=!1}),[]);async function P(j,K,oe){if(!F.current){F.current=!0,T(!0),M("");try{const xe=await t(j,{sessionId:ne,...K});if(!(xe!=null&&xe.accepted))throw Error("The request was not accepted.");return z.current&&B.current===ne&&(oe==null||oe(xe.result)),xe.result}catch(xe){z.current&&M(xe.message)}finally{F.current=!1,z.current&&T(!1)}}}g.useEffect(()=>{if(!ne||(s==null?void 0:s.status)!=="indexing")return;const j=setInterval(()=>P("recall.status",{},l),750);return()=>clearInterval(j)},[ne,s]),g.useEffect(()=>{ne&&!k&&!F.current&&H.current!==ne&&(H.current=ne,P("memory.status",{},q))},[ne,k]),g.useEffect(()=>{if(!(A!=null&&A.running))return;const j=setInterval(()=>P("memory.status",{},q),750);return()=>clearInterval(j)},[ne,A==null?void 0:A.running]);const _=j=>P("memory.configure",{expectedRevision:A.settings.revision,...j},q),ee=(j=0)=>P("recall.search",{query:a,scope:o,offset:j},K=>{u(oe=>j?{...K,items:[...oe.items,...K.items]}:K),l(K.coverage)}),Z=(j=0,K=w)=>P("memory.list",{scope:K,offset:j},oe=>{h(xe=>j?[...xe,...oe.items]:oe.items),v(oe.nextOffset)}),D=j=>P("recall.read",{sourceSessionId:j.sessionId,messageId:j.messageId,sourceRevision:j.sourceRevision},p),G=async j=>{j.preventDefault(),await P(S?"memory.update":"memory.create",{...S?{id:S.id,expectedRevision:S.revision,allScopes:w==="all"}:{scope:b},text:y})&&(E(""),I(null),await Z())};return ne?n.createElement(n.Fragment,null,n.createElement("section",{className:"a-settings-section","aria-label":"Automatic memory"},n.createElement("h3",null,"Automatic memory"),n.createElement("p",null,"Workspace references can capture your stated preferences, settled decisions, and approaches you said worked. Review their exact sources and correct them when needed."),A&&n.createElement(n.Fragment,null,n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.contribute,disabled:k,"data-action":"memory.configure",onChange:j=>_({contribute:j.target.checked})}),"Save useful details from this workspace"),n.createElement("p",null,"Saving memory uses your chosen AI models and may incur provider charges. Review saved details to correct mistakes."),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.use,disabled:k,"data-action":"memory.configure",onChange:j=>_({use:j.target.checked})}),"Use saved memory in this workspace"),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:A.settings.excludedSessions.includes(ne),disabled:k,"data-action":"memory.configure",onChange:j=>_({excludedSessions:j.target.checked?[...A.settings.excludedSessions,ne]:A.settings.excludedSessions.filter(K=>K!==ne)})}),"Exclude this conversation from contribution and automatic use"),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Memory activity & limits"),n.createElement("div",null,n.createElement("p",null,"Up to ",A.settings.maxCallsPerDay," model attempts per day, 16,000 source characters and 4,096 output tokens per attempt. Only attributable user statements qualify."),n.createElement("label",{htmlFor:"memory-call-limit"},"Maximum model attempts per day"),n.createElement("input",{id:"memory-call-limit",type:"number",min:1,max:10,disabled:k,value:A.settings.maxCallsPerDay,onChange:j=>{const K=Number(j.target.value);K>=1&&K<=10&&_({maxCallsPerDay:K})}}),n.createElement("button",{type:"button",className:"a-soft",disabled:k||A.running||!A.settings.contribute,"data-action":"memory.consolidate",onClick:()=>P("memory.consolidate",{},q)},"Consolidate eligible past conversations"),n.createElement("p",{role:"status"},A.running?"Consolidating…":"No consolidation running",". Saved references remain inspectable when contribution or use is off."),A.activity&&n.createElement("p",null,A.activity.status,A.activity.reason?" · "+A.activity.reason:""),A.attempts.map(j=>n.createElement("p",{key:j.id},"Conversation ",j.sessionId,": ",j.status,j.saved?` · ${j.saved.length} saved`:"",j.reason?` · ${j.reason}`:"",j.model?` · ${j.model}`:"")),A.lastContext&&n.createElement("div",{"aria-label":"Last memory context"},n.createElement("strong",null,"Last context supplied"),A.lastContext.items.length?A.lastContext.items.map(j=>n.createElement("p",{key:j.id},j.id," · revision ",j.revision," · matched ",j.matchTerms.join(", "))):n.createElement("p",null,"No relevant memory was selected."))))),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.status",onClick:()=>P("memory.status",{},q)},"Refresh memory activity")),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Find past work"),n.createElement("section",{className:"a-settings-section","aria-label":"Indexed recall"},n.createElement("p",null,"Search saved conversation text. Reading a result leaves your current conversation and draft in place."),n.createElement("button",{type:"button",className:"a-soft",disabled:k||(s==null?void 0:s.status)==="indexing","data-action":"recall.refresh",onClick:()=>P("recall.refresh",{},l)},"Update search index"),s&&n.createElement("p",{role:"status"},s.status," · ",s.indexed," of ",s.total??"unknown"," conversations indexed",s.errorCount?` · ${s.errorCount} unavailable`:"",". ",s.checkedAt?"Last checked "+new Date(s.checkedAt*1e3).toLocaleString():""),n.createElement("form",{onSubmit:j=>{j.preventDefault(),ee()}},n.createElement("label",{htmlFor:"recall-query"},"Search conversations, tasks and outputs"),n.createElement("input",{id:"recall-query",value:a,maxLength:500,onChange:j=>r(j.target.value)}),n.createElement("label",{htmlFor:"recall-scope"},"Search scope"),n.createElement("select",{id:"recall-scope",value:o,onChange:j=>i(j.target.value)},n.createElement("option",{value:"task"},"This conversation"),n.createElement("option",{value:"workspace"},"This workspace"),n.createElement("option",{value:"all"},"All registered conversations")),n.createElement("button",{type:"submit",className:"a-primary","data-action":"recall.search",disabled:k||!a.trim()},"Search past work")),c&&n.createElement(n.Fragment,null,n.createElement("p",null,"Matches contain all search terms. Coverage and source dates matter; an empty partial search does not prove nothing exists."),c.items.map(j=>n.createElement("div",{className:"a-selection-card",key:j.sessionId+j.messageId},n.createElement("strong",null,j.session.title),n.createElement("p",null,j.snippet),n.createElement("small",null,j.role,j.via==="call"?" · voice":""),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>D(j)},"Read source"))),c.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>ee(c.nextOffset)},"More matches")),d&&n.createElement("div",{className:"a-selection-card","aria-label":"Verified source"},n.createElement("strong",null,"Source verified for this read"),n.createElement("pre",{className:"a-state-view",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},d.text),n.createElement("small",null,"Conversation ",d.sessionId," · ",d.sourceKind==="message"?"message":"record"," ",d.recordId||d.messageId),d.nextOffset!=null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>P("recall.read",{sourceSessionId:d.sessionId,messageId:d.messageId,sourceRevision:d.sourceRevision,offset:d.nextOffset},j=>p(K=>({...j,text:K.text+j.text})))},"Read more")))),n.createElement("section",{className:"a-settings-section","aria-label":"Saved memory"},n.createElement("h3",null,"Saved memory"),n.createElement("p",null,"Notes are reference material. They do not grant permission or start work. Automatic contribution and use are separately controlled above."),n.createElement("label",{htmlFor:"memory-view"},"Inspect scope"),n.createElement("select",{id:"memory-view",disabled:k,value:w,onChange:j=>{R(j.target.value),Z(0,j.target.value)}},n.createElement("option",{value:"available"},"Notes for this work"),n.createElement("option",{value:"all"},"All saved notes, including removed chats")),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.list",onClick:()=>Z()},"Inspect saved memory"),n.createElement("form",{onSubmit:G},n.createElement("label",{htmlFor:"memory-text"},"Memory note"),n.createElement("textarea",{id:"memory-text",disabled:k,value:y,maxLength:8e3,rows:4,onChange:j=>E(j.target.value)}),!S&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"memory-scope"},"Remember for"),n.createElement("select",{id:"memory-scope",disabled:k,value:b,onChange:j=>x(j.target.value)},n.createElement("option",{value:"task"},"This conversation"),n.createElement("option",{value:"workspace"},"This workspace"),n.createElement("option",{value:"global"},"All work"))),n.createElement("button",{type:"submit",className:"a-primary","data-action":S?"memory.update":"memory.create",disabled:k||!y.trim()},S?"Save correction":"Save memory"),S&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>{I(null),E("")}},"Cancel edit")),m.map(j=>{var K;return n.createElement("div",{key:j.id,className:"a-selection-card"},n.createElement("strong",null,j.scope," · revision ",j.revision),j.supersededBy&&n.createElement("p",null,"Superseded by ",j.supersededBy,"; excluded from automatic context."),n.createElement("p",{style:{whiteSpace:"pre-wrap"}},j.text),n.createElement("small",null,"Saved through ",j.provenance.origin,j.provenance.wording?" · "+j.provenance.wording:""),((K=j.source)==null?void 0:K.quote)&&n.createElement("blockquote",null,j.source.quote),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.read",onClick:()=>P("memory.read",{id:j.id,allScopes:w==="all"},oe=>{I(oe),E(oe.text)})},"Inspect or correct"),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"memory.delete",onClick:async()=>{await P("memory.delete",{id:j.id,expectedRevision:j.revision,allScopes:w==="all"})&&((S==null?void 0:S.id)===j.id&&(I(null),E("")),await Z())}},"Delete memory")),j.source&&n.createElement("button",{type:"button",className:"a-link",disabled:k,onClick:()=>j.source.kind==="attributed-user"?P("memory.source",{id:j.id},p):D(j.source)},"Read original source"))}),f!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>Z(f)},"More saved notes"),S&&n.createElement("details",null,n.createElement("summary",null,"Retained revisions (",S.versions.length,", up to 50)"),S.versions.map(j=>n.createElement("p",{key:j.revision},"Revision ",j.revision,": ",j.text))),n.createElement("p",null,"Deleting removes the saved note and its retained revisions. Original chats and existing private backups remain.")),N&&n.createElement("p",{role:"alert",className:"a-danger"},N)):n.createElement("p",null,"Open a conversation to manage memory for its workspace. Your existing memory settings are kept.")}function ok(e){return n.createElement(yF,{key:e.session.id,...e})}function yF({session:e,state:t,act:a}){var k,T,A;const[r,o]=g.useState("all"),[i,s]=g.useState(!1),l=(e.messages||[]).filter(q=>q.id&&["user","assistant"].includes(q.role)&&!q.streaming),[c,u]=g.useState(((k=l[0])==null?void 0:k.id)||""),[d,p]=g.useState(((T=l.at(-1))==null?void 0:T.id)||""),[m,h]=g.useState(null),[f,v]=g.useState(!1),[y,E]=g.useState(""),b=g.useRef(0);g.useEffect(()=>()=>{b.current++},[]);const x=(A=t.view)==null?void 0:A.conversationExport,w=(x==null?void 0:x.sessionId)===e.id?x:null,R=f||(w==null?void 0:w.status)==="pending",S=q=>{b.current++,h(null),E(""),q()},I=async()=>{var z;const q=++b.current;v(!0),E(""),h(null);try{const F=await a("session.export",{id:e.id,format:"markdown",destination:"none",scope:r,minimal:i,...r!=="all"?{fromMessageId:c}:{},...r==="range"?{throughMessageId:d}:{}});if(q!==b.current)return;if(!((z=F==null?void 0:F.result)!=null&&z.snapshotId))throw Error("The export could not be prepared. Please try again.");const H=F.result,ne=await Ct(H.url,{cache:"no-store"});if(typeof ne.content!="string")throw Error("The reviewed export is unavailable.");q===b.current&&h({...H,text:ne.content})}catch(F){q===b.current&&E(F.message||"The export could not be prepared.")}finally{q===b.current&&v(!1)}},N=async q=>{E("");try{await a("session.exportDeliver",{id:e.id,snapshotId:m.snapshotId,destination:q})}catch(z){E(z.message||"The export could not be delivered.")}},M=l.map((q,z)=>n.createElement("option",{key:q.id+":"+z,value:q.id},z+1,". ",q.role==="user"?"You":"Amplifier",": ",String(q.text||"").replace(/\s+/g," ").slice(0,90)));return n.createElement("div",null,n.createElement("p",{className:"a-caption"},"Preview user-visible conversation text before copying or downloading. Full exports include history outside the loaded page. Voice exchanges are included; files are referenced, never embedded."),n.createElement("label",{className:"a-field"},"Export scope",n.createElement("select",{"aria-label":"Export scope",value:r,disabled:R,onChange:q=>S(()=>o(q.target.value))},n.createElement("option",{value:"all"},"Full conversation"),n.createElement("option",{value:"from",disabled:!l.length},"From a message onward"),n.createElement("option",{value:"range",disabled:!l.length},"Selected message range"))),r!=="all"&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Choose boundaries from loaded messages. Load earlier messages in the chat to choose an older starting point."),n.createElement("label",{className:"a-field"},"Starting message",n.createElement("select",{"aria-label":"Starting message",value:c,disabled:R,onChange:q=>S(()=>u(q.target.value))},M)),r==="range"&&n.createElement("label",{className:"a-field"},"Ending message",n.createElement("select",{"aria-label":"Ending message",value:d,disabled:R,onChange:q=>S(()=>p(q.target.value))},M))),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:i,disabled:R,onChange:q=>S(()=>s(q.target.checked))})," Minimal context: omit conversation identifiers"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:R,onClick:I},f?"Preparing preview…":m?"Refresh preview":"Preview Markdown"),n.createElement("button",{type:"button",className:"a-link","data-action":"session.export",disabled:R,onClick:()=>a("session.export",{id:e.id})},"Export JSON")),m&&n.createElement("section",{"aria-label":"Conversation export preview"},n.createElement("p",null,m.summary.messageCount," messages · ",m.summary.bytes.toLocaleString()," bytes · ",m.summary.attachmentCount," attachment references · ",m.summary.artifactCount," artifact references"),n.createElement("p",{className:"a-caption"},"Captured ",new Date(m.capturedAt).toLocaleString(),". Copy and download use this exact preview, even if the conversation continues."),m.summary.omissions.map(q=>n.createElement("p",{className:"a-caption",key:q},q)),n.createElement("textarea",{"aria-label":"Reviewed Markdown",readOnly:!0,value:m.text,rows:10,style:{width:"100%",maxWidth:"100%",boxSizing:"border-box"}}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-action":"session.exportDeliver",disabled:R,onClick:()=>N("clipboard")},n.createElement(ar,null),"Copy Markdown"),n.createElement("button",{type:"button",className:"a-soft","data-action":"session.exportDeliver",disabled:R,onClick:()=>N("download")},n.createElement(Ea,null),"Download Markdown"))),y&&n.createElement("p",{role:"alert"},y),w&&n.createElement("p",{role:w.status==="error"?"alert":"status"},w.status==="pending"?"Delivering reviewed export…":w.message))}function EF({session:e,act:t}){var de,ve;const[a,r]=g.useState([]),[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(null),[d,p]=g.useState(!1),[m,h]=g.useState(""),[f,v]=g.useState("file"),[y,E]=g.useState(""),[b,x]=g.useState(""),[w,R]=g.useState(""),[S,I]=g.useState(""),[N,M]=g.useState("document"),[k,T]=g.useState(null),[A,q]=g.useState("unstaged"),[z,F]=g.useState(""),[H,ne]=g.useState(""),[B,P]=g.useState(""),[_,ee]=g.useState(""),[Z,D]=g.useState("right"),[G,j]=g.useState(""),K=g.useRef(!1),oe=e==null?void 0:e.id;async function xe(O,W,ae){if(!K.current){K.current=!0,p(!0),h("");try{const ze=await t(O,{sessionId:oe,...W});if(!(ze!=null&&ze.accepted))throw Error("The request was not accepted.");return ae==null||ae(ze.result),ze.result}catch(ze){h(ze.message)}finally{K.current=!1,p(!1)}}}const ce=(O=0,W=s)=>xe("outputs.list",{includeUnlinked:W,offset:O},ae=>{r(ze=>O?[...ze,...ae.items]:ae.items),i(ae.nextOffset)}),_e=O=>xe("outputs.read",{id:O},u),$e=async(O,W)=>{const ae=await xe(O,W,u);return ae&&await ce(),ae},De=async()=>{let O=await xe("outputs.read",{id:c.id});if(!O)return;let W=O.text||"";for(;O.nextOffset!==null&&O.nextOffset!==void 0;){if(O=await xe("outputs.read",{id:c.id,offset:O.nextOffset}),!O)return;W+=O.text||""}I(W),M(c.variant||"document"),E(c.title),T(c.id)};return oe?n.createElement("section",{"aria-label":"Output relationships"},n.createElement("h3",null,"Outputs & review"),n.createElement("p",null,"Keep exact saved versions, their origin and review notes with this conversation."),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:s,disabled:d,onChange:O=>{l(O.target.checked),ce(0,O.target.checked)}}),"Include unlinked outputs"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.list",onClick:()=>ce()},"Inspect outputs"),a.map(O=>n.createElement("div",{className:"a-selection-card",key:O.id},n.createElement("strong",null,O.title),n.createElement("p",null,O.kind," · version ",O.version," · ",O.linked?"linked":"unlinked"),n.createElement("small",null,O.versionEvidence==="snapshot"?"Saved exact content":O.externalVersion?"Version reference: "+O.externalVersion:"External reference; version unknown"),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.read",onClick:()=>_e(O.id)},"Read saved output"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":O.linked?"outputs.unlink":"outputs.relink",onClick:async()=>{await xe(O.linked?"outputs.unlink":"outputs.relink",{id:O.id,expectedRevision:O.revision})&&((c==null?void 0:c.id)===O.id&&u(null),await ce())}},O.linked?"Unlink":"Restore link")))),o!==null&&n.createElement("button",{type:"button",disabled:d,className:"a-soft",onClick:()=>ce(o)},"More outputs"),c&&n.createElement("div",{className:"a-selection-card","aria-label":"Saved output detail"},n.createElement("h4",null,c.title),n.createElement("p",null,c.versionEvidence==="snapshot"?"Immutable saved content":"External reference only; remote contents were not fetched."),c.text!==void 0&&n.createElement("pre",{className:"a-state-view",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},c.text),c.nextOffset!==null&&c.nextOffset!==void 0&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:()=>xe("outputs.read",{id:c.id,offset:c.nextOffset},O=>u(W=>({...O,text:W.text+O.text})))},"Read more"),c.downloadUrl&&n.createElement("a",{href:c.downloadUrl,download:!0},"Download exact version"),c.binary&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.image",onClick:()=>xe("outputs.image",{id:c.id,sha256:c.sha256},O=>u(W=>({...W,image:O})))},"View saved PNG"),c.image&&n.createElement("figure",null,n.createElement("img",{src:c.image.imageUrl,alt:"Saved output: "+c.title,style:{maxWidth:"100%",height:"auto"}}),n.createElement("figcaption",null,"Exact saved image · ",c.image.width," × ",c.image.height,". Viewing does not send a message.")),c.url&&n.createElement("a",{href:c.url,target:"_blank",rel:"noopener noreferrer"},"Open external reference"),n.createElement("p",null,"Origin: ",c.origin.source,c.origin.messageId?" · message "+c.origin.messageId:" · no originating message supplied"),c.sha256&&n.createElement("small",{style:{overflowWrap:"anywhere"}},"Content hash: ",c.sha256),c.parentId&&n.createElement("button",{type:"button",className:"a-link",disabled:d,onClick:()=>_e(c.parentId)},"Read prior version"),(de=c.evidenceIds)==null?void 0:de.map(O=>n.createElement("button",{type:"button",className:"a-link",key:O,disabled:d,onClick:()=>_e(O)},"Read evidence ",O)),c.kind==="writing"&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:De},"Edit as a new version"),n.createElement("h4",null,"Local review notes"),c.nextCommentOffset!==null&&c.nextCommentOffset!==void 0&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:()=>xe("outputs.read",{id:c.id,commentOffset:c.nextCommentOffset},O=>u(W=>({...W,comments:[...W.comments||[],...O.comments],nextCommentOffset:O.nextCommentOffset})))},"More review notes"),(ve=c.comments)==null?void 0:ve.map(O=>n.createElement("p",{key:O.id},O.path&&`${O.path}:${O.line} (${O.side}) · `,O.body)),n.createElement("form",{onSubmit:async O=>{O.preventDefault(),await xe("outputs.comment",{id:c.id,body:B,..._?{path:G,side:Z,line:Number(_)}:{}})&&(P(""),await _e(c.id))}},n.createElement("label",{htmlFor:"output-comment"},"Review note"),n.createElement("textarea",{id:"output-comment",disabled:d,value:B,onChange:O=>P(O.target.value),maxLength:8e3}),c.kind==="git_review"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"output-comment-path"},"Diff file (optional)"),n.createElement("input",{id:"output-comment-path",value:G,disabled:d,onChange:O=>j(O.target.value)}),n.createElement("label",{htmlFor:"output-comment-line"},"Displayed line (optional)"),n.createElement("input",{id:"output-comment-line",type:"number",min:"1",value:_,disabled:d,onChange:O=>ee(O.target.value)}),n.createElement("label",{htmlFor:"output-comment-side"},"Diff side"),n.createElement("select",{id:"output-comment-side",disabled:d,value:Z,onChange:O=>D(O.target.value)},n.createElement("option",{value:"right"},"Updated"),n.createElement("option",{value:"left"},"Original"))),n.createElement("button",{className:"a-primary",disabled:d||!B.trim(),"data-action":"outputs.comment"},"Save local review note")),n.createElement("p",null,"Review notes stay here. They are not posted to a remote service.")),n.createElement("h4",null,"Attach an output"),n.createElement("form",{onSubmit:O=>{O.preventDefault(),$e("outputs.attach",{kind:f,title:y,...f==="canvas"?{canvasId:b}:["file","dataset"].includes(f)?{path:b}:{url:b,...w?{version:w}:{}}})}},n.createElement("label",{htmlFor:"output-kind"},"Output type"),n.createElement("select",{id:"output-kind",value:f,disabled:d,onChange:O=>v(O.target.value)},["file","dataset","canvas","pull_request","external_document"].map(O=>n.createElement("option",{key:O,value:O},O.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"output-title"},"Output title"),n.createElement("input",{id:"output-title",value:y,disabled:d,maxLength:200,onChange:O=>E(O.target.value)}),n.createElement("label",{htmlFor:"output-location"},f==="canvas"?"Saved canvas ID":["file","dataset"].includes(f)?"File in this workspace":"External URL"),n.createElement("input",{id:"output-location",disabled:d,value:b,onChange:O=>x(O.target.value)}),["pull_request","external_document"].includes(f)&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"output-version"},"Version reference (optional)"),n.createElement("input",{id:"output-version",disabled:d,value:w,onChange:O=>R(O.target.value)})),n.createElement("button",{className:"a-primary",disabled:d||!y.trim()||!b.trim(),"data-action":"outputs.attach"},"Attach output")),n.createElement("h4",null,"Reusable writing"),n.createElement("form",{onSubmit:async O=>{O.preventDefault(),await $e("outputs.write",{title:y||"Writing",content:S,variant:N,...k?{parentId:k}:{}})&&T(null)}},n.createElement("label",{htmlFor:"writing-variant"},"Writing type"),n.createElement("select",{id:"writing-variant",value:N,disabled:d,onChange:O=>M(O.target.value)},["document","email","chat_message","social_post","standard"].map(O=>n.createElement("option",{key:O,value:O},O.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"writing-content"},"Writing content"),n.createElement("textarea",{id:"writing-content",rows:6,value:S,disabled:d,maxLength:1e5,onChange:O=>I(O.target.value)}),n.createElement("p",null,k?"Saving creates a new version; the prior version remains.":"Saving keeps a copy here; it does not send or publish."),n.createElement("button",{className:"a-primary",disabled:d||!S.trim(),"data-action":"outputs.write"},"Save writing version"),k&&n.createElement("button",{type:"button",className:"a-soft",onClick:()=>T(null)},"Start separate output")),n.createElement("h4",null,"Git review"),n.createElement("form",{onSubmit:O=>{O.preventDefault(),$e("outputs.review",{mode:A,...A==="branch"?{base:z}:{},...H?{path:H}:{}})}},n.createElement("label",{htmlFor:"review-mode"},"Changes to inspect"),n.createElement("select",{id:"review-mode",value:A,disabled:d,onChange:O=>q(O.target.value)},n.createElement("option",{value:"unstaged"},"Unstaged tracked changes"),n.createElement("option",{value:"staged"},"Staged changes"),n.createElement("option",{value:"branch"},"Base revision to HEAD")),A==="branch"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"review-base"},"Existing base revision"),n.createElement("input",{id:"review-base",value:z,disabled:d,onChange:O=>F(O.target.value)})),n.createElement("label",{htmlFor:"review-path"},"Relative file path (optional)"),n.createElement("input",{id:"review-path",value:H,disabled:d,onChange:O=>ne(O.target.value)}),n.createElement("button",{className:"a-primary",disabled:d||A==="branch"&&!z.trim(),"data-action":"outputs.review"},"Save review snapshot")),n.createElement("p",null,"Untracked files and binary contents are excluded. This only reads changes."),m&&n.createElement("p",{role:"alert"},m)):n.createElement("p",null,"Choose a conversation to inspect its outputs.")}const Oc=new Map;function wF(e){return Oc.has(e)||Oc.set(e,{pending:null,busy:!1,listeners:new Set}),Oc.get(e)}function ri(e){e.listeners.forEach(t=>t())}const eo=e=>typeof e=="string"?e:(e==null?void 0:e.message)||JSON.stringify(e||"The action failed."),Vf=(e,t)=>Object.assign(Error(e!=null&&e.error?eo(e.error):t),{code:e==null?void 0:e.code,state:e==null?void 0:e.state,receipt:e==null?void 0:e.receipt,status:e==null?void 0:e.status}),kF=e=>{var t;return(e==null?void 0:e.code)==="unknown_outcome"||["unknown","running"].includes(e==null?void 0:e.state)||["unknown","running"].includes((t=e==null?void 0:e.receipt)==null?void 0:t.state)},gs=e=>{try{const t=new URL(e);return["http:","https:"].includes(t.protocol)?t.href:null}catch{return null}},vs={targetId:"",label:"",hostname:"",username:"",python:"",socketPath:"",expectedBind:"127.0.0.1"};function xF({session:e,act:t}){var rt,wt,Dt,It,Qt,ie,he,Ne,Le,Ge,ft,vt,gt,Se,X,Ce,Fe,We,tt,yt;const a=e==null?void 0:e.id,r=wF(a),[,o]=g.useReducer(se=>se+1,0),i=((rt=r.pending)==null?void 0:rt.args.targetId)||"loopback",s=g.useRef(i),[l,c]=g.useState(i),[u,d]=g.useState(null),[p,m]=g.useState({...vs}),[h,f]=g.useState(0),[v,y]=g.useState(null),[E,b]=g.useState(((wt=r.pending)==null?void 0:wt.args.siteId)||""),[x,w]=g.useState(""),[R,S]=g.useState(((Dt=r.pending)==null?void 0:Dt.args.releaseId)||""),[I,N]=g.useState(""),[M,k]=g.useState(!1),[T,A]=g.useState(""),[q,z]=g.useState(""),[F,H]=g.useState(null),ne=g.useRef(!0),B=g.useRef(!1);g.useEffect(()=>(ne.current=!0,r.listeners.add(o),()=>{ne.current=!1,r.listeners.delete(o)}),[r]);const P=se=>{ne.current&&se()},_=(v==null?void 0:v.sites)||[],ee=(v==null?void 0:v.releases)||[],Z=_.find(se=>se.id===E),D=ee.find(se=>se.id===R&&se.siteId===E),G=(u==null?void 0:u.targets)||[],j=G.find(se=>se.id===l),K=r.busy||M,oe=K||!!r.pending,xe=ee.filter(se=>se.siteId===E),ce=(u==null?void 0:u.selectedTargetId)===l&&((j==null?void 0:j.kind)==="loopback"||((It=j==null?void 0:j.inspection)==null?void 0:It.revision)===(j==null?void 0:j.revision)&&u.selectedTargetRevision===j.revision&&u.selectedServiceId===((Qt=j.inspection)==null?void 0:Qt.serviceId)),_e=oe||!ce,$e=((ie=v==null?void 0:v.target)==null?void 0:ie.accessPolicy)||((Ne=(he=j==null?void 0:j.inspection)==null?void 0:he.capabilities)==null?void 0:Ne.accessPolicy);function De(se){s.current!==se&&(s.current=se,P(()=>{c(se),y(null),b(""),S(""),N(""),H(null)}))}async function de(se,Qe={},ot=s.current){const bt=await t(se,{sessionId:a,...se.startsWith("publishing.target.")?{}:{targetId:ot},...Qe});if(!(bt!=null&&bt.accepted))throw Vf(bt,"The server did not confirm this request.");return bt.result}async function ve({reconcile:se=!1,followSelection:Qe=!1,target:ot=s.current}={}){var Mt,St,jt;const bt=await de("publishing.target.list");if(P(()=>d(bt)),Qe&&(ot=((Mt=r.pending)==null?void 0:Mt.args.targetId)||bt.selectedTargetId||"loopback"),De(ot),(St=r.pending)!=null&&St.action.startsWith("publishing.target."))return bt;const ut=await de("publishing.list",{},ot);if(P(()=>y(ut)),se&&r.pending&&r.pending.args.targetId===ot){const st=(jt=ut.receipts)==null?void 0:jt.find(lt=>lt.requestId===r.pending.args.requestId);["unknown","running"].includes(st==null?void 0:st.state)?(r.pending={...r.pending,receipt:st},ri(r),P(()=>z(st.state==="unknown"?"The saved receipt records an unknown outcome. Nothing was replayed.":"The saved receipt is still running. Nothing was replayed."))):st&&["succeeded","failed"].includes(st.state)&&(r.pending=null,ri(r),P(()=>st.state==="failed"?A(eo(st.error)):z("The saved receipt confirms this request succeeded.")))}return ut}async function O(se="publishing.list",Qe=!0){if(!(r.busy||B.current)){B.current=!0,k(!0),A("");try{se==="publishing.list"?await ve({reconcile:Qe,followSelection:!0}):(H({action:se,value:await de(se,{siteId:E})}),se==="publishing.status"&&await ve())}catch(ot){A(ot.message)}finally{B.current=!1,k(!1)}}}g.useEffect(()=>{a&&O("publishing.list",!1)},[a]);async function W(se,Qe,ot=!1){var St,jt;if(r.busy||B.current||!ot&&r.pending)return;const bt=se==null?void 0:se.startsWith("publishing.target.");if(!ot&&!bt&&!ce){A("Inspect and select this exact target before starting another publishing action.");return}const ut=ot?r.pending:{action:se,args:{sessionId:a,...bt?{}:{targetId:s.current,...(j==null?void 0:j.kind)==="ssh"?{targetRevision:j.revision,serviceId:j.inspection.serviceId}:{},requestId:crypto.randomUUID()},...Qe}};if(!ut)return;const Mt=ut.action.startsWith("publishing.target.");r.pending=ut,r.busy=!0,ri(r),A(""),z("");try{const st=await t(ut.action,ut.args);if(!(st!=null&&st.accepted))throw Vf(st,"The connection ended before the outcome was confirmed.");const lt=st.result;if(Mt){if(!Array.isArray(lt==null?void 0:lt.targets))throw Error("The server returned no complete target state.");r.pending=null,P(()=>{d(lt),z(ut.action==="publishing.target.save"?"Target saved. No connection was made.":ut.action==="publishing.target.inspect"?"Target identity and capabilities inspected.":ut.action==="publishing.target.remove"?"Target configuration removed. Existing remote sites were not stopped.":"Publishing target selected.")}),ut.action==="publishing.target.save"&&P(()=>{var Ze;f(((Ze=lt.targets.find(Ot=>Ot.id===ut.args.targetId))==null?void 0:Ze.revision)??0),ut.args.targetId===s.current&&y(null)}),ut.action==="publishing.target.select"&&(De(lt.selectedTargetId),await ve({target:lt.selectedTargetId}))}else{if(!lt||(ut.action==="publishing.build"?!lt.id:!["succeeded","failed","unknown","running"].includes(lt.state)))throw Error("The server returned no complete publishing receipt.");(lt==null?void 0:lt.state)==="unknown"||(lt==null?void 0:lt.state)==="running"?(r.pending={...ut,receipt:lt},P(()=>A(eo(lt.error||"The outcome is not confirmed. Inspect receipts before continuing.")))):(lt==null?void 0:lt.state)==="failed"?(r.pending=null,P(()=>A(eo(lt.error)))):(r.pending=null,P(()=>{z(ut.action.slice(11)+" completed."),ut.action==="publishing.build"&&(b(lt.siteId),S(lt.id),N(""))}));try{await ve({target:ut.args.targetId})}catch(Ze){P(()=>A("The action returned, but the list could not refresh. "+Ze.message))}}}catch(st){const lt=["succeeded","failed"].includes((St=st.receipt)==null?void 0:St.state);if(kF(st)||ot&&ut.args.requestId&&!lt)["unknown","running"].includes((jt=st.receipt)==null?void 0:jt.state)&&(r.pending={...ut,receipt:st.receipt}),P(()=>A(st.message+" Keep this request unchanged until its outcome is known."));else if(lt||st.status>=400&&st.status<500&&st.status!==408){r.pending=null,P(()=>{var Ze;return((Ze=st.receipt)==null?void 0:Ze.state)==="succeeded"?z("The saved receipt confirms this request succeeded."):A(st.message)});try{if(Mt){const Ze=await de("publishing.target.list");P(()=>d(Ze))}else await ve({target:ut.args.targetId})}catch{}}else P(()=>A(st.message+" Keep this request unchanged until its outcome is known."))}finally{r.busy=!1,ri(r)}}function ae(){var se,Qe;r.busy||((Qe=(se=r.pending)==null?void 0:se.receipt)==null?void 0:Qe.state)!=="unknown"||(r.pending=null,ri(r),A(""),z("Unknown outcome acknowledged. Inspect the current site status. Any site marked unknown requires an explicit stop or remove action."))}function ze(se){b(se),S(""),N(""),H(null)}function Me(se){f(se.revision),m(Object.fromEntries(Object.keys(vs).map(Qe=>[Qe,Qe==="targetId"?se.id:se[Qe]||vs[Qe]])))}function be(se){se.preventDefault(),W("publishing.target.save",{...p,...p.username?{}:{username:void 0},expectedRevision:h})}return a?n.createElement("section",{className:"a-publishing","aria-label":"Managed publishing"},n.createElement("h3",null,"Publishing"),n.createElement("p",null,"Save a built site as an immutable release, preview it, record your review, and explicitly deploy that version."),n.createElement("div",{className:"a-selection-card","aria-label":"Publishing target"},n.createElement("strong",null,(j==null?void 0:j.label)||((Ge=(Le=v==null?void 0:v.target)==null?void 0:Le.host)==null?void 0:Ge.label)||"Local server"),n.createElement("p",null,"Target: ",n.createElement("code",null,l),(u==null?void 0:u.selectedTargetId)!==l&&u&&" · task selection: "+u.selectedTargetId),n.createElement("p",null,"Access: ",$e||(l==="loopback"?"loopback-only":"Not inspected")),u&&!ce&&n.createElement("p",null,"Inspect and select this exact target before starting another publishing action."),n.createElement("p",null,((ft=v==null?void 0:v.target)==null?void 0:ft.detail)||"URLs belong to the publishing service host."),n.createElement("p",{className:"a-caption"},"A loopback URL opens only on the service host. No tunnel, service installation, credentials, or public route is created here.")),n.createElement("details",{className:"a-publishing-targets"},n.createElement("summary",null,"Publishing targets for this task"),n.createElement("div",{"aria-label":"Publishing targets"},G.map(se=>{var bt;const Qe=((bt=se.inspection)==null?void 0:bt.revision)===se.revision?se.inspection:null,ot=Qe==null?void 0:Qe.capabilities;return n.createElement("div",{className:"a-selection-card",key:se.id,"aria-label":"Target "+se.id},n.createElement("h4",null,se.label),n.createElement("p",null,n.createElement("code",null,se.id)," · revision ",se.revision,u.selectedTargetId===se.id?u.selectedTargetRevision===se.revision?" · selected":" · configuration changed; inspect and select again":""),se.kind==="ssh"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Configured SSH destination: ",se.username?se.username+"@":"",se.hostname),n.createElement("p",null,"Expected bind: ",n.createElement("code",null,se.expectedBind),". Access policy is verified by inspection of the service."),Qe?n.createElement("dl",null,n.createElement("dt",null,"Inspected service"),n.createElement("dd",null,Qe.serviceId),n.createElement("dt",null,"Actual bind"),n.createElement("dd",null,ot==null?void 0:ot.bind),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,ot==null?void 0:ot.accessPolicy),n.createElement("dt",null,"Authentication"),n.createElement("dd",null,ot==null?void 0:ot.authentication)):n.createElement("p",null,"Not inspected. Service identity and access policy are unverified.")),n.createElement("div",{className:"a-dialog-actions"},se.kind==="ssh"&&n.createElement("button",{type:"button",className:"a-soft",disabled:oe,"data-action":"publishing.target.inspect",onClick:()=>W("publishing.target.inspect",{targetId:se.id,expectedRevision:se.revision})},"Inspect target"),n.createElement("button",{type:"button",className:"a-soft",disabled:oe||se.kind==="loopback"&&u.selectedTargetId===se.id||se.kind==="ssh"&&!Qe,"data-action":"publishing.target.select",onClick:()=>W("publishing.target.select",{targetId:se.id,expectedRevision:se.revision,...Qe?{serviceId:Qe.serviceId}:{}})},"Select target"),se.kind==="ssh"&&n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft",disabled:oe,onClick:()=>Me(se)},"Edit target"),n.createElement("button",{type:"button",className:"a-soft a-danger",disabled:oe||u.selectedTargetId===se.id,"data-action":"publishing.target.remove",onClick:()=>W("publishing.target.remove",{targetId:se.id,expectedRevision:se.revision})},"Remove target configuration"))))}),n.createElement("h4",null,"Save a target configuration"),n.createElement("p",null,"Use an existing SSH account and running publishing service. Saving these paths does not connect or install anything. Only unused configurations can be removed; configurations with publishing records remain available for control and audit. Removing a configuration does not stop sites on that service."),n.createElement("form",{onSubmit:be},[["targetId","Target ID"],["label","Target label"],["hostname","SSH hostname"],["username","SSH username (optional)"],["python","Remote Python path"],["socketPath","Remote service socket"],["expectedBind","Expected bind address"]].map(([se,Qe])=>n.createElement(n.Fragment,{key:se},n.createElement("label",{htmlFor:"publishing-target-"+se},Qe),n.createElement("input",{id:"publishing-target-"+se,value:p[se],required:se!=="username",disabled:oe,onChange:ot=>{se==="targetId"&&f(0),m(bt=>({...bt,[se]:ot.target.value}))}}))),n.createElement("button",{className:"a-primary",disabled:oe,"data-action":"publishing.target.save"},"Save target configuration"),n.createElement("button",{type:"button",className:"a-soft",disabled:oe,onClick:()=>{m({...vs}),f(0)}},"Clear target form")))),n.createElement("button",{type:"button",className:"a-soft","data-action":"publishing.list",disabled:K,onClick:()=>O()},"Inspect publishing"),T&&n.createElement("p",{role:"alert"},T),q&&n.createElement("p",{role:"status"},q),r.pending&&n.createElement("div",{className:"a-selection-card","aria-label":"Unconfirmed publishing request"},n.createElement("strong",null,r.busy?"Request in progress":((vt=r.pending.receipt)==null?void 0:vt.state)==="unknown"?"Recorded unknown outcome":"Request outcome unconfirmed"),n.createElement("p",null,r.pending.action," · target ",n.createElement("code",null,r.pending.args.targetId)," · ",r.pending.args.siteId||r.pending.args.releaseId),r.pending.args.requestId&&n.createElement("code",null,r.pending.args.requestId),n.createElement("p",null,"The exact submitted arguments are retained while this browser page stays open. Inspect publishing to check the saved receipt, or retry this same request. Nothing is retried automatically."),((gt=r.pending.receipt)==null?void 0:gt.state)==="unknown"?n.createElement(n.Fragment,null,n.createElement("p",null,eo(r.pending.receipt.error)),n.createElement("button",{type:"button",className:"a-soft",disabled:K,onClick:ae},"Acknowledge unknown outcome"),n.createElement("p",null,"Acknowledgement dismisses this pending request only. It does not repeat or resolve the operation; any site marked unknown requires an explicit stop or remove action.")):n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":r.pending.action,onClick:()=>W(null,null,!0)},"Retry exact request")),n.createElement("h4",null,"Sites"),v&&!_.length&&n.createElement("p",null,"No sites yet. Capture a release below to get started."),n.createElement("div",{className:"a-publishing-sites"},_.map(se=>n.createElement("button",{type:"button",className:"a-selection-card",key:se.id,disabled:_e,"aria-pressed":E===se.id,onClick:()=>ze(se.id)},n.createElement("strong",null,se.id),n.createElement("span",null,se.status," · revision ",se.revision)))),n.createElement("h4",null,"Capture built output"),n.createElement("p",null,"Build with your existing project tools first, then enter its output folder relative to this task’s execution folder. Capturing preserves the current files as a new release."),n.createElement("form",{onSubmit:se=>{se.preventDefault(),W("publishing.build",{siteId:E.trim(),sourcePath:x.trim()})}},n.createElement("label",{htmlFor:"publishing-site"},"Site ID"),n.createElement("input",{id:"publishing-site",value:E,disabled:_e,maxLength:63,pattern:"[a-z0-9][a-z0-9-]{0,62}",onChange:se=>ze(se.target.value),placeholder:"my-site"}),n.createElement("label",{htmlFor:"publishing-source"},"Built output folder"),n.createElement("input",{id:"publishing-source",value:x,disabled:_e,onChange:se=>w(se.target.value),placeholder:"dist"}),n.createElement("button",{className:"a-primary","data-action":"publishing.build",disabled:_e||!E.trim()||!x.trim()},"Capture release")),E&&n.createElement(n.Fragment,null,n.createElement("h4",null,"Saved releases for ",E),n.createElement("label",{htmlFor:"publishing-release"},"Release to preview, review, or deploy"),n.createElement("select",{id:"publishing-release",value:(D==null?void 0:D.id)||"",disabled:_e,onChange:se=>{S(se.target.value),N("")}},n.createElement("option",{value:""},"Choose a saved release"),xe.map(se=>n.createElement("option",{key:se.id,value:se.id},se.createdAt," · ",se.id)))),D&&n.createElement("div",{className:"a-selection-card","aria-label":"Selected release"},n.createElement("h4",null,"Exact release"),n.createElement("dl",null,n.createElement("dt",null,"Release ID"),n.createElement("dd",null,D.id),n.createElement("dt",null,"Manifest digest"),n.createElement("dd",null,D.manifestDigest),n.createElement("dt",null,"Files"),n.createElement("dd",null,((Se=D.files)==null?void 0:Se.length)||0," · ",D.totalBytes||0," bytes"),n.createElement("dt",null,"Preview"),n.createElement("dd",null,D.previewStatus||"none"),n.createElement("dt",null,"Review"),n.createElement("dd",null,D.review?`Reviewed: ${D.review.note}`:"Not reviewed")),n.createElement("details",null,n.createElement("summary",null,"Release files"),n.createElement("ul",null,(X=D.files)==null?void 0:X.map(se=>n.createElement("li",{key:se.path},n.createElement("strong",null,se.path)," · ",se.size," bytes",n.createElement("br",null),n.createElement("code",null,se.sha256))))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:_e,"data-action":"publishing.preview",onClick:()=>W("publishing.preview",{releaseId:D.id})},"Start preview"),D.previewStatus==="running"&&gs(D.previewUrl)&&n.createElement("a",{href:gs(D.previewUrl),target:"_blank",rel:"noopener noreferrer"},"Open exact release preview")),n.createElement("form",{onSubmit:se=>{se.preventDefault(),W("publishing.review",{releaseId:D.id,note:I.trim()})}},n.createElement("label",{htmlFor:"publishing-note"},"Review note for this exact release"),n.createElement("textarea",{id:"publishing-note",value:I,disabled:_e,maxLength:4e3,onChange:se=>N(se.target.value)}),n.createElement("button",{className:"a-soft","data-action":"publishing.review",disabled:_e||!I.trim()},"Record review")),n.createElement("p",null,"Deploy release ",n.createElement("code",null,D.id)," to ",n.createElement("strong",null,E)," on target ",n.createElement("strong",null,l)," with ",n.createElement("strong",null,((Ce=v==null?void 0:v.target)==null?void 0:Ce.accessPolicy)||((We=(Fe=j==null?void 0:j.inspection)==null?void 0:Fe.capabilities)==null?void 0:We.accessPolicy)||"unverified")," access."),n.createElement("button",{type:"button",className:"a-primary",disabled:_e||!D.review||(Z==null?void 0:Z.status)==="unknown"||!$e,"data-action":"publishing.deploy",onClick:()=>W("publishing.deploy",{siteId:E,releaseId:D.id,expectedRevision:(Z==null?void 0:Z.revision)??0})},"Deploy reviewed release")),Z&&n.createElement("div",{className:"a-selection-card","aria-label":"Site status"},n.createElement("h4",null,Z.id),n.createElement("dl",null,n.createElement("dt",null,"Status"),n.createElement("dd",null,Z.status),n.createElement("dt",null,"Revision"),n.createElement("dd",null,Z.revision),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,Z.accessPolicy),n.createElement("dt",null,"Deployed release"),n.createElement("dd",null,Z.releaseId||"None"),n.createElement("dt",null,"Previous release"),n.createElement("dd",null,Z.previousReleaseId||"None")),gs(Z.url)&&n.createElement("p",null,n.createElement("a",{href:gs(Z.url),target:"_blank",rel:"noopener noreferrer"},"Open deployed site"),n.createElement("br",null),n.createElement("code",null,Z.url)),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.status",onClick:()=>O("publishing.status")},"Check site status"),n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.logs",onClick:()=>O("publishing.logs")},"Read site logs")),Z.previousReleaseId&&n.createElement(n.Fragment,null,n.createElement("p",null,"Rollback restores release ",n.createElement("code",null,Z.previousReleaseId),"."),n.createElement("button",{type:"button",className:"a-soft",disabled:_e,"data-action":"publishing.rollback",onClick:()=>W("publishing.rollback",{siteId:E,releaseId:Z.previousReleaseId,expectedRevision:Z.revision})},"Roll back to previous release")),n.createElement("p",null,"Stopping or removing this site preserves its saved releases and receipts."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft",disabled:_e||["stopped","removed"].includes(Z.status),"data-action":"publishing.stop",onClick:()=>W("publishing.stop",{siteId:E,expectedRevision:Z.revision})},"Stop site"),n.createElement("button",{type:"button",className:"a-soft a-danger",disabled:_e||Z.status==="removed","data-action":"publishing.remove",onClick:()=>W("publishing.remove",{siteId:E,expectedRevision:Z.revision})},"Remove site"))),F&&n.createElement("div",{"aria-label":"Publishing inspection"},n.createElement("h4",null,F.action==="publishing.logs"?"Site logs":"Current site status"),n.createElement("pre",{className:"a-state-view"},JSON.stringify(F.value,null,2))),n.createElement("details",null,n.createElement("summary",null,"Durable publishing receipts (",((tt=v==null?void 0:v.receipts)==null?void 0:tt.length)||0,")"),n.createElement("div",{"aria-label":"Publishing receipts"},(yt=v==null?void 0:v.receipts)==null?void 0:yt.map(se=>n.createElement("div",{className:"a-selection-card",key:se.id},n.createElement("strong",null,se.action," · ",se.state),n.createElement("p",null,se.siteId," · ",se.createdAt),n.createElement("p",null,"Request: ",n.createElement("code",null,se.requestId)),se.releaseId&&n.createElement("p",null,"Release: ",n.createElement("code",null,se.releaseId)),se.error&&n.createElement("p",null,eo(se.error))))))):n.createElement("p",null,"Choose a conversation to manage its published sites.")}const SF=[{id:"gpt-live-1",name:"GPT Live 1",description:"A natural conversation: listen and speak at the same time.",source:"https://developers.openai.com/api/docs/guides/live-conversations",voices:[{id:"marin",name:"Marin",description:"The default GPT Live voice."},{id:"cedar",name:"Cedar",description:"Built-in OpenAI voice."},{id:"alloy",name:"Alloy",description:"Built-in OpenAI voice."},{id:"ash",name:"Ash",description:"Built-in OpenAI voice."},{id:"ballad",name:"Ballad",description:"Built-in OpenAI voice."},{id:"coral",name:"Coral",description:"Built-in OpenAI voice."},{id:"echo",name:"Echo",description:"Built-in OpenAI voice."},{id:"sage",name:"Sage",description:"Built-in OpenAI voice."},{id:"shimmer",name:"Shimmer",description:"Built-in OpenAI voice."},{id:"verse",name:"Verse",description:"Built-in OpenAI voice."},{id:"quartz",name:"Quartz",description:"English · Australian influence · feminine"},{id:"ripple",name:"Ripple",description:"English · Australian influence · masculine"},{id:"vesper",name:"Vesper",description:"English · British influence · masculine"},{id:"willow",name:"Willow",description:"English · Irish influence · feminine"},{id:"stone",name:"Stone",description:"English · Irish influence · masculine"},{id:"gleam",name:"Gleam",description:"English · North American influence · feminine"},{id:"meridian",name:"Meridian",description:"English · North American influence · masculine"},{id:"bossa",name:"Bossa",description:"Portuguese · Brazilian influence · feminine"},{id:"tempo",name:"Tempo",description:"Portuguese · Brazilian influence · masculine"},{id:"beacon",name:"Beacon",description:"English · Filipino influence · masculine"},{id:"delta",name:"Delta",description:"English · Southern U.S. influence · feminine"},{id:"cinder",name:"Cinder",description:"English · Southern U.S. influence · masculine"}],reference:"https://developers.openai.com/api/reference/resources/live/primary-websocket"},{id:"gpt-realtime-2.1",name:"GPT Realtime 2.1",description:"A responsive voice conversation with turn detection.",source:"https://developers.openai.com/api/docs/guides/realtime-conversations",voices:[{id:"marin",name:"Marin",description:"Recommended for best quality."},{id:"cedar",name:"Cedar",description:"Recommended for best quality."},{id:"alloy",name:"Alloy",description:"OpenAI Realtime voice."},{id:"ash",name:"Ash",description:"OpenAI Realtime voice."},{id:"ballad",name:"Ballad",description:"OpenAI Realtime voice."},{id:"coral",name:"Coral",description:"OpenAI Realtime voice."},{id:"echo",name:"Echo",description:"OpenAI Realtime voice."},{id:"sage",name:"Sage",description:"OpenAI Realtime voice."},{id:"shimmer",name:"Shimmer",description:"OpenAI Realtime voice."},{id:"verse",name:"Verse",description:"OpenAI Realtime voice."}]}],bs={models:SF};function CF({state:e,act:t}){const a=e.settings||{},r=bs.models.find(P=>P.id===a.preferredVoice)||bs.models[0],o=r.voices.find(P=>P.id===a.voiceName)||r.voices[0],i=e.voiceConfiguration,[s,l]=n.useState(""),[c,u]=n.useState(""),[d,p]=n.useState(""),[m,h]=n.useState(!1),[f,v]=n.useState(""),[y,E]=n.useState(!1),[b,x]=n.useState(null),[w,R]=n.useState(""),S=n.useRef(null);n.useLayoutEffect(()=>{var P,_;y&&((P=S.current)==null||P.focus(),(_=S.current)==null||_.scrollIntoView({block:"start"}))},[y]);const I=n.useRef(null),N=n.useRef(null),M=n.useRef(!0),k=n.useRef(0);n.useEffect(()=>(M.current=!0,t("voice.configuration").catch(P=>l(P.message)),()=>{var P;M.current=!1,k.current++,(P=N.current)==null||P.pause(),I.current&&URL.revokeObjectURL(I.current)}),[]);const T=()=>{var P;(P=N.current)==null||P.pause(),x(null),I.current&&(URL.revokeObjectURL(I.current),I.current=null)},A=d||((i==null?void 0:i.source)==="private"?"private":i!=null&&i.environmentAvailable?"environment":"private"),q=async P=>{l("");try{const _=await t("settings.update",{patch:P});if((_==null?void 0:_.accepted)===!1)throw Error(_.error||"Could not save voice settings.")}catch(_){l(_.message)}};async function z(){h(!0),l("");try{const P=await t("voice.configure",{source:A,...A==="private"?{apiKey:c}:{}});if((P==null?void 0:P.accepted)===!1)throw Error(P.error||"Could not save voice key.");u("")}catch(P){l(P.message)}finally{h(!1)}}async function F(P){var ee;if(w)return;const _=++k.current;R(P.id),l(""),T();try{const Z=await t("voice.preview",{model:r.id,voice:P.id});if((Z==null?void 0:Z.accepted)===!1||!((ee=Z==null?void 0:Z.result)!=null&&ee.audio))throw Error((Z==null?void 0:Z.error)||"The sample was unavailable. Try again.");if(M.current&&_===k.current){const D=Uint8Array.from(atob(Z.result.audio),G=>G.charCodeAt(0));I.current=URL.createObjectURL(new Blob([D],{type:Z.result.mimeType})),x({...Z.result,audio:void 0,url:I.current,name:P.name})}}catch(Z){M.current&&_===k.current&&l(Z.message)}finally{M.current&&_===k.current&&R("")}}const H=P=>{T(),q({voiceName:P.id}),E(!1)},ne=r.voices.filter(P=>(P.name+" "+P.description).toLowerCase().includes(f.toLowerCase())),B=n.createElement("div",{className:"a-voice-key-form"},n.createElement("p",null,"Voice uses an OpenAI API key, separate from a ChatGPT subscription."),(i==null?void 0:i.environmentAvailable)&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"radio",name:"voice-key-source",checked:A==="environment",onChange:()=>p("environment")}),"Use the key on this host (OPENAI_API_KEY)"),n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"radio",name:"voice-key-source",checked:A==="private"||!(i!=null&&i.environmentAvailable),onChange:()=>p("private")}),"Use a separate key"),(A==="private"||!(i!=null&&i.environmentAvailable))&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"voice-api-key"},"OpenAI API key"),n.createElement("input",{id:"voice-api-key",type:"password",autoComplete:"off",value:c,onChange:P=>{p("private"),u(P.target.value)},placeholder:i!=null&&i.privateKeyAvailable?"Saved key · enter a new key to replace it":""})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"voice.configure",disabled:m||(A==="private"||!(i!=null&&i.environmentAvailable))&&!c.trim()&&!(i!=null&&i.privateKeyAvailable),onClick:z},m?"Saving…":"Save voice connection")));return n.createElement("div",{className:"a-voice-settings"},n.createElement("section",{className:"a-voice-connection","aria-label":"Voice connection"},n.createElement("strong",null,i!=null&&i.available?"Voice key configured":i?"Connect voice":"Checking voice connection…"),i!=null&&i.available?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},i.source==="private"?"Using your separate voice API key.":"Using the OpenAI API key on this host."),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"Change voice connection"),B)):B),n.createElement("label",{htmlFor:"preferred-voice"},"Voice model"),n.createElement("select",{id:"preferred-voice","data-action":"settings.update",disabled:!!w,value:r.id,onChange:P=>{const _=bs.models.find(ee=>ee.id===P.target.value);T(),v(""),q({preferredVoice:_.id,voiceName:_.voices.some(ee=>ee.id===o.id)?o.id:"marin"})}},bs.models.map(P=>n.createElement("option",{key:P.id,value:P.id},P.name))),n.createElement("p",{className:"a-caption"},r.description),n.createElement("h4",{className:"a-voice-label"},"Speaking voice"),n.createElement("div",{className:"a-voice-current"},n.createElement("div",null,n.createElement("strong",null,o.name),n.createElement("p",null,o.description)),n.createElement("button",{className:"a-soft",disabled:!!w,"aria-expanded":y,onClick:()=>E(!y)},y?"Close voice list":"Choose a voice"),n.createElement("button",{className:"a-soft","data-action":"voice.preview",disabled:!(i!=null&&i.available)||!!w||e.voicePreviewBusy,onClick:()=>F(o)},w===o.id?"Preparing sample…":"Preview voice")),y&&n.createElement("section",{className:"a-voice-picker","aria-label":"Choose a speaking voice"},n.createElement("h4",{ref:S,tabIndex:-1},"Voices for ",r.name),n.createElement("label",{htmlFor:"voice-search"},"Find a voice"),n.createElement("input",{id:"voice-search",type:"search",placeholder:"Search names or descriptions",value:f,onChange:P=>v(P.target.value)}),n.createElement("div",{role:"radiogroup","aria-label":"Speaking voice"},ne.map(P=>n.createElement("div",{key:P.id,className:"a-voice-option","data-selected":P.id===o.id},n.createElement("label",null,n.createElement("input",{type:"radio",name:"speaking-voice",checked:P.id===o.id,disabled:!!w,"data-action":"settings.update",onChange:()=>H(P)}),n.createElement("span",null,n.createElement("strong",null,P.name),n.createElement("small",null,P.description))),n.createElement("button",{className:"a-soft","aria-label":"Preview "+P.name,disabled:!(i!=null&&i.available)||!!w||e.voicePreviewBusy,"data-action":"voice.preview",onClick:()=>F(P)},w===P.id?"Preparing…":"Preview"),(b==null?void 0:b.voice)===P.id&&n.createElement("audio",{ref:N,controls:!0,autoPlay:!0,"aria-label":b.name+" sample",src:b.url,onError:()=>l("This browser could not play the sample. Try the preview again.")})))),!ne.length&&n.createElement("p",null,"No voices match your search.")),b&&!y&&n.createElement("div",{className:"a-voice-sample"},n.createElement("p",null,b.name," · ",r.name),n.createElement("audio",{ref:N,controls:!0,autoPlay:!0,src:b.url,onError:()=>l("This browser could not play the sample. Try the preview again.")},"Your browser does not support audio playback.")),n.createElement("p",{className:"a-caption"},"Previews use a short AI-generated sample and your OpenAI API usage. Your microphone and conversations are not used."),r.id==="gpt-realtime-2.1"&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:a.voiceInterruptions!==!1,"data-action":"settings.update",onChange:P=>q({voiceInterruptions:P.target.checked})}),"Let me interrupt by speaking"),n.createElement("p",{className:"a-caption"},"Changes apply to your next call. Your browser manages microphone access."),n.createElement("details",{className:"a-everyday-disclosure"},n.createElement("summary",null,"About these voices"),n.createElement("div",null,n.createElement("p",null,"Available voices depend on the model. Regional descriptions come from OpenAI; voices can speak other languages too. OpenAI does not describe the tone of every voice. Preview those voices to compare how they sound."),n.createElement("a",{href:r.source,target:"_blank",rel:"noreferrer"},"Voice guide from OpenAI"))),s&&n.createElement("p",{role:"alert",className:"a-danger"},s))}function NF(){return n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("a",{href:"/setup/terminal",target:"_blank",rel:"noopener noreferrer"},"Install the Terminal app on this computer")," to connect to this Unified service. The setup page handles the client and its saved connection."),n.createElement("p",null,"In Edge or Chrome, choose the install icon in the address bar or Install this site as an app in the browser menu. In Safari on Mac, use File → Add to Dock. On iPhone or iPad, use Share → Add to Home Screen."),n.createElement("p",null,"Keep the Python service running on the host computer. Installation gives this interface its own window; the service still runs your conversations and tools."),n.createElement("p",{className:"a-caption"},"Use localhost on this computer, or a trusted HTTPS address on other devices. Your saved chats and canvas artifacts stay on the host."))}const RF={panel:"settings",settingsSection:"index",settingsExpanded:[]};function _u(e,t){const a={...Bw(e,t)};return["ai-connections","overview"].includes(e)&&(a.aiConnectionEditor={step:"list"}),e==="diagnostics"&&(a.diagnosticsDraft={destinationId:null}),e==="providers"&&(a.providerEditor={detailOpen:!1,orderOpen:!1}),e==="routing"&&(a.routingEditor={detailOpen:!1,candidateOpen:!1,orderOpen:!1}),e==="app-bundles"&&(a.bundleManager={detailOpen:!1,orderOpen:!1}),e==="loaded-modules"&&(a.moduleEditor={detailOpen:!1}),["smart-tools","tool-connections"].includes(e)&&(a.smartToolsEditor={page:"home",catalogDetail:!1}),a}function TF(e,t){const a={...t};for(const r of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])r in a&&(a[r]={...e[r],...a[r]});return a}function IF(e={},t={},a){var u,d,p,m,h,f,v,y,E,b;const{page:r,section:o}=$w(e,a),i=[{key:"index",title:"Settings",navigation:RF}];if(e.settingsSection==="index"&&e.panel!=="appearance")return i;const s=_u(r,a),l=Is(r,a);l&&i.push({key:l,title:o.title,navigation:_u(l,a)}),i.push({key:r,title:gp(r,a),navigation:s});const c=(x,w,R,S)=>i.push({key:x,title:w,navigation:{...s,[R]:{...s[R],...S}}});if(["ai-connections","overview"].includes(r)){const x=e.aiConnectionEditor||{},w=x.step||"list";w!=="list"&&c("ai/"+w,w==="services"?"Connect AI":w==="model"?"Choose model":"AI connection","aiConnectionEditor",{step:w})}else if(r==="diagnostics"){const x=e.diagnosticsDraft||{},w=x.config||((u=t.diagnostics)==null?void 0:u.config),R=(d=w==null?void 0:w.destinations)==null?void 0:d.find(S=>S.id===x.destinationId);R&&c("diagnostics/destination",R.name||"Destination","diagnosticsDraft",{destinationId:R.id})}else if(r==="providers"){const x=e.providerEditor||{};x.order&&x.orderOpen!==!1?c("providers/order","Preference order","providerEditor",{orderOpen:!0}):x.detailOpen&&c("providers/detail",x.id||"Add connection","providerEditor",{detailOpen:!0})}else if(r==="routing"){const x=e.routingEditor||{},w=x.role||"general";(x.detailOpen||x.order&&x.orderOpen!==!1)&&(c("routing/role/"+w,w,"routingEditor",{role:w,detailOpen:!0}),x.order&&x.orderOpen!==!1?c("routing/order/"+w,"Preference order","routingEditor",{role:w,detailOpen:!0,orderOpen:!0}):x.candidateOpen&&c("routing/choice/"+w,"Choice "+((x.candidate||0)+1),"routingEditor",{role:w,detailOpen:!0,candidateOpen:!0}))}else if(r==="app-bundles"){const x=e.bundleManager||{},w=Array.isArray(t.bundles)?t.bundles:((p=t.bundles)==null?void 0:p.entries)||[];x.order&&x.orderOpen!==!1?c("bundles/order","Composition order","bundleManager",{orderOpen:!0}):x.detailOpen&&c("bundles/detail",((m=w.find(R=>R.id===x.entryId))==null?void 0:m.name)||"Bundle","bundleManager",{detailOpen:!0})}else if(r==="loaded-modules"){const x=e.moduleEditor||{};x.detailOpen&&c("modules/detail",(()=>{var w;try{return(w=wp(JSON.parse(x.text)).find(R=>R.key===x.selectedKey))==null?void 0:w.id}catch{return null}})()||"Module","moduleEditor",{detailOpen:!0})}else if(["smart-tools","tool-connections"].includes(r)){const x=e.smartToolsEditor||{},w=x.page||"home";w==="catalog"?(c("tools/catalog","Catalog","smartToolsEditor",{page:"catalog"}),x.catalogDetail&&c("tools/catalog/detail",((v=(f=(h=t.smartTools)==null?void 0:h.catalog)==null?void 0:f.find(R=>R.id===x.catalogId))==null?void 0:v.name)||"Tool details","smartToolsEditor",{page:"catalog",catalogDetail:!0})):w!=="home"&&(w==="source"&&x.returnPage==="catalog"&&c("tools/catalog","Catalog","smartToolsEditor",{page:"catalog"}),w==="tool"&&c("tools/server",((b=(E=(y=t.smartTools)==null?void 0:y.servers)==null?void 0:E.find(R=>R.id===x.serverId))==null?void 0:b.name)||"Connection","smartToolsEditor",{page:"server"}),c("tools/"+w,{source:"Install from source",connection:"Connection settings",server:"Connection",tool:x.toolName||"Tool"}[w]||"Smart Tools","smartToolsEditor",{page:w}))}return i}const AF={ai:Uc,privacy:yi,workspaces:Dr,overview:tl,appearance:$c,voice:Ou,notifications:og,models:Uc,bundles:Dr,"smart-tools":Xk,updates:Ea,diagnostics:po,history:yi,advanced:Bc};function _F({state:e,session:t,act:a,dispatch:r,open:o,close:i=()=>a("view.update",{patch:{panel:null}}),navigationRef:s,appearance:l}){var F,H,ne,B;const c=Yu(),u=(((F=c==null?void 0:c.data)==null?void 0:F.resolvedInstances)||[]).filter(P=>P.slot==="settings.section"),d=Wi.map(P=>P.id==="advanced"?{...P,pages:[...P.pages,...u.map(_=>{var ee,Z;return["shell:"+_.id,((Z=(ee=c.data.packages[_.package])==null?void 0:ee.manifest)==null?void 0:Z.label)||_.id]})]}:P),{page:p,section:m}=$w(e.view,d),h=g.useRef(null),f=g.useRef(null),v=g.useRef(null),[y,E]=g.useState(null),b=BL(v),x=IF(e.view,e,d),w=x.at(-1),R=b&&w.key==="index",S=b&&x.length>(Is(p,d)?3:2);HL(v,b);const I=nD(),N=VL({compact:b,trail:x,view:e.view||{},act:a,close:i,body:f,navigationRef:s,confirmClose:I.confirmClose,hasUnsaved:I.hasUnsaved}),M=(P,_=!1)=>{N.rememberScroll(),a("view.update",{patch:{...TF(e.view||{},_u(P,d)),..._?{settingsRootVisit:crypto.randomUUID()}:{}}})};g.useLayoutEffect(()=>{var P,_;if((P=e.view)!=null&&P.settingsRootVisit){f.current&&(f.current.scrollTop=0);for(const ee of((_=v.current)==null?void 0:_.querySelectorAll(".a-settings-page-content:not([hidden]) details[open]"))||[])ee.open=!1}},[(H=e.view)==null?void 0:H.settingsRootVisit]),g.useEffect(()=>{var P;(P=h.current)==null||P.focus({preventScroll:!0}),!b&&f.current&&(f.current.scrollTop=0)},[p,w.key,b]);const k={state:e,session:t,act:a,navigate:M},T=g.useRef(new Map),q=(P=>["ai-connections","overview"].includes(P)?"ai-connections":["appearance","custom-appearance"].includes(P)?"appearance":["smart-tools","tool-connections"].includes(P)?"smart-tools":["app-bundles","add-bundles","loaded-modules","share-bundle","registries"].includes(P)?"bundles":["notifications","diagnostics","history","permissions","automation","repair","reset"].includes(P)?"maintenance":P)(p);R||T.current.set(q,p);function z(P){var ee,Z;let _;return["overview","ai-connections"].includes(P)?_=n.createElement(lD,{...k,act:r||a,navigate:M}):P==="privacy"?_=n.createElement(eD,{state:e,navigate:M}):P==="advanced"?_=n.createElement(tD,{...k,sections:d,navigate:M}):P==="appearance"?_=n.createElement(qr,{name:"settings.appearance"},n.isValidElement(l)?n.cloneElement(l,{simple:!0,onAdvanced:()=>M("custom-appearance")}):l):P==="custom-appearance"?_=n.isValidElement(l)?n.cloneElement(l,{advancedOnly:!0}):l:P.startsWith("shell:")?_=n.createElement(qr,{name:"settings.section",instanceId:P.slice(6)}):P==="workspaces"?_=n.createElement(Ix,{...k}):P==="voice"?_=n.createElement(n.Fragment,null,n.createElement("p",{className:"a-everyday-intro"},"Choose how your conversations sound."),n.createElement(CF,{...k})):P==="providers"?_=n.createElement(dD,{...k}):P==="routing"?_=n.createElement(cD,{...k}):P==="defaults"?_=n.createElement(ED,{...k}):["app-bundles","add-bundles","loaded-modules","share-bundle","registries"].includes(P)?_=n.createElement(gD,{...k}):["smart-tools","tool-connections"].includes(P)?_=n.createElement(AD,{...k,simple:P==="smart-tools",navigateSettings:M}):P==="updates"?_=n.createElement(VD,{...k}):P==="ready-conversations"?_=(ee=e.runtime)!=null&&ee.retention?n.createElement(WD,{...k}):n.createElement("p",null,"This host does not expose conversation readiness settings."):P==="install-app"?_=n.createElement(NF,null):P==="runtime"?_=n.createElement(nk,{...k}):P==="desktop"?_=n.createElement(hF,{...k}):P==="recall"?_=n.createElement(bF,{key:(t==null?void 0:t.id)||"none",...k}):P==="outputs"?_=n.createElement(EF,{key:t==null?void 0:t.id,...k}):P==="publishing"?_=n.createElement(xF,{key:t==null?void 0:t.id,...k,act:r||a}):P==="conversation"?_=n.createElement(n.Fragment,null,t?n.createElement(n.Fragment,null,n.createElement(rk,{key:t.id,session:t,act:a}),n.createElement(ok,{...k}),((Z=t.location)==null?void 0:Z.kind)==="managed"&&mo(t)&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft a-danger","data-action":"view.update",onClick:()=>o("delete-session")},"Delete chat")),n.createElement("h3",null,"Conversation bundle")):n.createElement("p",null,"Choose a bundle to start a conversation."),n.createElement(Yw,{...k,working:["working","starting","running","stopping","busy"].includes(t==null?void 0:t.status)})):_=n.createElement(zD,{...k}),P==="conversation"&&t&&(_=n.createElement(n.Fragment,null,_,n.createElement(_x,{key:"library-"+t.id,...k}),n.createElement(Px,{key:"sharing-"+t.id,...k}))),_}return n.createElement(aD,{value:I.context},n.createElement("div",{ref:v,className:"a-settings-experience a-settings-everyday","data-part":"settings-experience","data-settings-page":p,"data-compact":b,"data-settings-index":R,"data-settings-detail":S,"data-settings-route":w.key},n.createElement("header",{className:"a-settings-mobile-head"},R?n.createElement("span",null):n.createElement("button",{type:"button",className:"a-link","data-action":"view.update","aria-label":"Back to "+(((ne=x.at(-2))==null?void 0:ne.title)||"Settings"),onClick:N.back},n.createElement(xa,null),n.createElement("span",null,x.length>2?"Back":"Settings")),n.createElement("h3",{ref:b?h:void 0,tabIndex:-1},w.title),n.createElement("button",{type:"button",className:"a-icon","data-action":"view.update","aria-label":"Close settings",onClick:N.dismiss},n.createElement(tn,null))),n.createElement("nav",{className:"a-settings-sidebar","aria-label":"Settings sections"},d.map((P,_)=>{var Z;const ee=AF[P.id]||Dr;return n.createElement(n.Fragment,{key:P.id},P.group&&P.group!==((Z=d[_-1])==null?void 0:Z.group)&&n.createElement("div",{className:"a-settings-category"},P.group),n.createElement("button",{type:"button","data-action":"view.update","data-settings-section":P.id,"aria-current":P.id===m.id?"page":void 0,onClick:()=>M(P.pages[0][0],!0)},n.createElement(ee,{"aria-hidden":"true"}),n.createElement("span",null,P.title),n.createElement(Da,{count:QL(e,P)})))})),n.createElement("div",{ref:f,onScroll:N.rememberScroll,className:"a-settings-content",role:"region","aria-label":"Settings content"},n.createElement("header",{className:"a-settings-page-heading"},n.createElement("div",null,n.createElement("h3",{ref:b?void 0:h,tabIndex:-1},gp(p,d))),t&&["loaded-modules","conversation","runtime"].includes(p)&&n.createElement("span",{className:"a-settings-conversation"},n.createElement(Wk,{"aria-hidden":"true"}),t.title)),Is(p,d)&&n.createElement("button",{type:"button",className:"a-link a-settings-breadcrumb","data-action":"view.update",onClick:()=>M(Is(p,d))},n.createElement(xa,null),"Back to ",m.title),p!=="updates"&&n.createElement(zs,{state:e,act:a,page:p}),I.count>0&&n.createElement("p",{className:"a-alert",role:"status"},"You have unsaved connection changes. They are kept while Settings stays open."),((B=e.management)==null?void 0:B.error)&&p!=="add-bundles"&&n.createElement("div",{className:"a-alert",role:"alert"},e.management.error),n.createElement(n.Fragment,null,[...T.current].map(([P,_])=>n.createElement(Wu.Provider,{key:P,value:_},n.createElement(Jr.Provider,{value:{compact:b,active:P===q&&!R,footer:y}},n.createElement("div",{className:"a-settings-page-content",hidden:P!==q},z(_))))))),n.createElement("div",{ref:E,className:"a-settings-mobile-actions"}),I.dialog))}const ik="amplifier.messageOutbox.v1";function PF(e){try{return JSON.parse((e==null?void 0:e.getItem(ik))||"[]").filter(t=>t&&typeof t.id=="string"&&typeof t.commandId=="string"&&(t.sessionId===null||typeof t.sessionId=="string")&&typeof t.text=="string"&&Array.isArray(t.attachmentIds)&&t.attachmentIds.every(a=>typeof a=="string")&&["sending","failed","unknown"].includes(t.status)).map(t=>({...t,status:t.status==="sending"?"unknown":t.status}))}catch{return[]}}function OF(e,t,a){const r=t.filter(i=>i.sessionId===(a??null));return[...e.map(i=>{var l,c;const s=r.find(u=>u.commandId===i.inputId);return s&&((l=i.delivery)==null?void 0:l.status)!=="accepted"?{...i,localDelivery:{...s,...((c=i.delivery)==null?void 0:c.status)==="failed"?{status:"failed"}:{}}}:i}),...r.filter(i=>!e.some(s=>s.inputId===i.commandId)).map(i=>({id:i.id,inputId:i.commandId,role:"user",text:i.text,via:i.via,createdAt:i.createdAt,attachments:i.attachments,replyTo:i.replyTo,localDelivery:i}))]}function MF(){const[e,t]=g.useState(()=>{try{return PF(sessionStorage)}catch{return[]}}),a=g.useRef(e),[r,o]=g.useState(!1),i=g.useCallback((s,l)=>{const c=a.current,u=c.some(p=>p.id===s);if(!u&&l!==null&&!l.commandId)return;const d=l===null?c.filter(p=>p.id!==s):u?c.map(p=>p.id===s?{...p,...l}:p):[...c,{id:s,...l}];a.current=d,t(d);try{sessionStorage.setItem(ik,JSON.stringify(d)),o(!1)}catch{o(!0)}return d.find(p=>p.id===s)},[]);return{entries:e,current:a,update:i,storageError:r}}async function zl(e,t=Ct,a){let r=0,o="";do{const i=await t("/api/conversation/detail?"+new URLSearchParams({...e,offset:r}),{signal:a});o+=i.value,r=i.nextOffset}while(r!==null);return o}function Pi({text:e,reference:t,markdown:a=!1,automatic:r=!1,writingContext:o,fileContext:i}){const[s,l]=g.useState(null),[c,u]=g.useState(!1),[d,p]=g.useState(""),[m,h]=g.useState(!1),f=g.useRef(null),v=g.useRef(null),y=t?JSON.stringify(t):null,E=g.useRef(y);E.current=y;const b=(s==null?void 0:s.key)===y?s.value:null;g.useEffect(()=>(l(null),p(""),u(!1),()=>{var w;return(w=v.current)==null?void 0:w.abort()}),[y]),g.useEffect(()=>{if(!r||!t)return;if(!globalThis.IntersectionObserver){h(!0);return}const w=new IntersectionObserver(R=>{R.some(S=>S.isIntersecting)&&(h(!0),w.disconnect())},{rootMargin:"400px"});return f.current&&w.observe(f.current),()=>w.disconnect()},[r,y]);async function x(){var S;const w=y,R=new AbortController;(S=v.current)==null||S.abort(),v.current=R,u(!0),p("");try{const I=await zl(t,Ct,R.signal);!R.signal.aborted&&E.current===w&&l({key:w,value:I})}catch(I){!R.signal.aborted&&E.current===w&&p(I.message)}finally{!R.signal.aborted&&E.current===w&&u(!1)}}return g.useEffect(()=>{r&&m&&t&&x()},[r,m,y]),n.createElement("div",{className:"a-detail-text",ref:f},a?n.createElement(ml,{text:b??e,writingContext:o,fileContext:i}):n.createElement("p",null,b??e),t&&b===null&&(r&&!d?n.createElement("span",{className:"a-caption",role:"status"},c?"Loading complete response…":"Complete response loads when visible."):n.createElement("button",{type:"button",className:"a-link",disabled:c,onClick:x},c?"Loading full text…":d?"Retry loading full text":"Show full text")),d&&n.createElement("p",{role:"alert"},d))}const Nr=e=>[...new Map(e.map(t=>[t.id,t])).values()];function zF(e,t){var v,y,E,b,x,w,R;const[a,r]=g.useState(null),[o,i]=g.useState(""),[s,l]=g.useState(""),c=g.useRef(e==null?void 0:e.id);c.current=e==null?void 0:e.id;const u=g.useRef((v=e==null?void 0:e.messageWindow)==null?void 0:v.total);g.useEffect(()=>{r(null),l(""),i("")},[e==null?void 0:e.id,e==null?void 0:e.sharedHistoryOffset]),g.useEffect(()=>{var S,I;((S=e==null?void 0:e.messageWindow)==null?void 0:S.total){var I;return{...S,...(I=e.messageAnnotations)==null?void 0:I[S.id]}})},m=e&&d?{...e,messages:Nr([...d.messages,...e.messages]).map(S=>{var I;return{...S,...(I=e.messageAnnotations)==null?void 0:I[S.id]}}),sharedHistoryUserTurnOffset:d.userOffset??e.sharedHistoryUserTurnOffset,messageWindow:{...e.messageWindow,...d.messages.length?{offset:d.messageOffset,before:d.messages[0].id}:{}},execution:{...e.execution,nodes:Nr([...d.nodes,...((E=e.execution)==null?void 0:E.nodes)||[]]),turns:Nr([...d.turns,...((b=e.execution)==null?void 0:b.turns)||[]]),segments:Nr([...d.segments||[],...((x=e.execution)==null?void 0:x.segments)||[]])},executionWindow:{...e.executionWindow,...d.nodes.length?{offset:d.nodeOffset,before:d.nodes[0].id}:{}}}:p;async function h(S){if(o||!m)return;const I=m.id,N=S==="messages"?m.messageWindow:m.executionWindow;i(S),l("");try{const M=await Ct("/api/conversation/detail?"+new URLSearchParams({sessionId:I,part:S,before:N.before}));if(c.current!==I)return;t==null||t(),r(k=>{const T=(k==null?void 0:k.id)===I?k:{id:I,messages:[],nodes:[],turns:[]};return{...T,[S]:Nr([...M.items,...T[S]]),...S==="messages"?{messageOffset:M.offset,userOffset:M.userOffset}:{nodeOffset:M.offset,turns:Nr([...M.turns,...T.turns]),segments:Nr([...M.segments||[],...T.segments||[]])}}})}catch(M){c.current===I&&l(M.message)}finally{c.current===I&&i("")}}const f=n.createElement(n.Fragment,null,((w=m==null?void 0:m.messageWindow)==null?void 0:w.offset)>0&&n.createElement("button",{className:"a-soft",type:"button",disabled:!!o,onClick:()=>h("messages")},"Load earlier messages"),((R=m==null?void 0:m.executionWindow)==null?void 0:R.offset)>0&&n.createElement("button",{className:"a-soft",type:"button",disabled:!!o,onClick:()=>h("nodes")},"Load earlier activity"),o&&n.createElement("span",{role:"status"},"Loading earlier ",o==="nodes"?"activity":"messages","…"),s&&n.createElement("p",{role:"alert"},s));return{session:m,controls:f,earlier:h,busy:o}}const Wf=[["👍","Thumbs up"],["❤️","Heart"],["😂","Laugh"],["🎉","Celebrate"],["😮","Surprised"],["😢","Sad"],["👎","Thumbs down"],["✅","Check"]],sk=e=>e.role==="user"?"You":"Amplifier";function LF({quote:e,sessionId:t,dispatch:a}){const[r,o]=g.useState("");if(!e)return null;const i=(e.navigationSessionId||e.sessionId)===t;return n.createElement("blockquote",{className:"a-reply-quote"},n.createElement("button",{type:"button",className:"a-quoted-source","data-action":"message.reveal",title:i?"Go to original message":"Open the original message in its conversation",onClick:async()=>{o("");try{const s=e.navigationSessionId||e.sessionId;await a("message.reveal",{sessionId:s,messageId:e.messageId})}catch(s){o(s.message)}}},n.createElement("strong",null,sk(e)),n.createElement("span",null,e.excerpt,e.truncated?"…":"")),!i&&n.createElement("small",null,"Quoted from the original conversation"),r&&n.createElement("small",{role:"status"},r))}function DF({quote:e,sessionId:t,dispatch:a}){const[r,o]=g.useState("");return!e||e.sessionId!==t?null:n.createElement("div",{className:"a-reply-preview","aria-label":"Quoted reply"},n.createElement("div",null,n.createElement("strong",null,"Replying to ",sk(e)),n.createElement("p",null,e.excerpt,e.truncated?"…":"")),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove quoted reply","data-action":"message.replyClear",onClick:async()=>{o("");try{await a("message.replyClear",{sessionId:t,expectedReplyId:e.id})}catch(i){o(i.message)}}},n.createElement(tn,null)),r&&n.createElement("small",{role:"alert"},r))}function FF({message:e,sessionId:t,dispatch:a}){const[r,o]=g.useState(!1),[i,s]=g.useState(!1),[l,c]=g.useState(!1),[u,d]=g.useState(""),p=e.reactions||[];async function m(h,f){var v;if(!l){c(!0),d("");try{await a(h,{sessionId:t,messageId:e.id,...f}),h==="message.reply"&&((v=document.querySelector('[aria-label="Message Amplifier"]'))==null||v.focus())}catch(y){d(y.message)}finally{c(!1)}}}return n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-icon","aria-label":"Reply to message",title:"Reply to message","data-action":"message.reply",disabled:l,onClick:()=>m("message.reply",{})},n.createElement(ex,null)),n.createElement("div",{className:"a-reaction-control",onBlur:h=>{h.currentTarget.contains(h.relatedTarget)||o(!1)},onKeyDown:h=>{var f;h.key==="Escape"&&(o(!1),(f=h.currentTarget.querySelector("button"))==null||f.focus())}},n.createElement("button",{type:"button",className:"a-icon","aria-label":"React to message",title:"React to message","aria-expanded":r,onClick:h=>{var v;const f=(v=h.currentTarget.closest(".a-messages"))==null?void 0:v.getBoundingClientRect();s(h.currentTarget.getBoundingClientRect().top-((f==null?void 0:f.top)||0)<110),o(!r)}},n.createElement(sx,null)),r&&n.createElement("div",{className:"a-reaction-picker","data-below":i,role:"group","aria-label":"Choose reaction"},Wf.map(([h,f])=>n.createElement("button",{key:h,type:"button","aria-label":f,"aria-pressed":p.includes(h),disabled:l,"data-action":"message.reaction",onClick:async()=>{await m("message.reaction",{emoji:h,present:!p.includes(h)}),o(!1)}},h)))),p.map(h=>{var f;return n.createElement("button",{key:h,type:"button",className:"a-reaction-chip","aria-label":`Remove ${((f=Wf.find(v=>v[0]===h))==null?void 0:f[1])||h} reaction`,"aria-pressed":"true",disabled:l,"data-action":"message.reaction",onClick:()=>m("message.reaction",{emoji:h,present:!1})},h)}),u&&n.createElement("span",{className:"a-message-interaction-error",role:"alert"},u))}function qF({session:e,focus:t,detail:a}){var i,s;const r=g.useRef(""),o=g.useRef("");return g.useEffect(()=>{var d,p;if(!t||t.sessionId!==(e==null?void 0:e.id)||a.busy)return;const l=`${t.sessionId}:${t.revision}`;if(o.current===l)return;const c=`${l}:${((d=e.messageWindow)==null?void 0:d.offset)??0}`;if(r.current===c)return;r.current=c;const u=[...document.querySelectorAll("[data-message-id]")].find(m=>m.dataset.messageId===t.messageId);if(u){o.current=l,u.tabIndex=-1,u.scrollIntoView({block:"center"}),u.focus({preventScroll:!0});return}((p=e.messageWindow)==null?void 0:p.offset)>0&&a.earlier("messages")},[e==null?void 0:e.id,(i=e==null?void 0:e.messages)==null?void 0:i.length,(s=e==null?void 0:e.messageWindow)==null?void 0:s.offset,t==null?void 0:t.revision,t==null?void 0:t.sessionId,a.busy]),null}function jF({message:e,session:t,delivery:a,localDelivery:r,dispatch:o,retry:i,discard:s}){var R,S;const[l,c]=g.useState(!1),[u,d]=g.useState(null),[p,m]=g.useState(!1),[h,f]=g.useState(""),v=e.inputId||(r==null?void 0:r.commandId),y=t.configurationBusy||((R=t.ownership)==null?void 0:R.status)==="blocked"||t.workspaceAvailable===!1||!!t.historyReadOnlyReason,E=["working","starting","running","stopping"].includes(t.status),b=async()=>{if(!l){c(!0),f(""),m(!1);try{if(!t.id){d({delivery:"not_saved",message:"This message has no confirmed conversation yet. Choose Send again to retry the original submission."});return}const I=await o("conversation.delivery",{sessionId:t.id,inputId:v},{feedback:!1});d(I.result)}catch(I){f(I.message)}finally{c(!1)}}},x=async()=>{var I;if(!l){c(!0),f("");try{if((I=t.messages)==null?void 0:I.some(M=>M.role==="user"&&M.inputId===v)){const M=await o("conversation.retry",{sessionId:t.id,inputId:v,confirmUncertain:!0},{feedback:!1});d(M.result)}else await i(e);m(!1)}catch(N){f(N.message)}finally{c(!1)}}};if(!a)return null;const w=a.status==="sending";return n.createElement(n.Fragment,null,n.createElement("span",{className:"a-message-delivery",role:"status"},w?n.createElement(n.Fragment,null,n.createElement(No,{className:"a-progress-spinner"}),"Sending…"):n.createElement(n.Fragment,null,n.createElement(On,null),a.status==="failed"?"Not sent":"Delivery not confirmed",a.status==="failed"?n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.send",disabled:l||y,onClick:()=>{var I;return(I=t.messages)!=null&&I.some(N=>N.inputId===v)?x():i(e)}},n.createElement(cm,null),"Retry"):n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.delivery",disabled:l||!v,onClick:b},n.createElement(cm,null),l?"Checking…":"Check delivery"))),!w&&a.error&&n.createElement("p",{role:"alert",className:"a-delivery-detail"},a.error),r&&a.status==="failed"&&!((S=t.messages)!=null&&S.some(I=>I.inputId===v))&&n.createElement("button",{type:"button",className:"a-link",disabled:l,onClick:()=>s==null?void 0:s(e)},"Discard unsent message"),(u==null?void 0:u.message)&&n.createElement("p",{role:"status",className:"a-delivery-detail"},u.message),h&&n.createElement("p",{role:"alert",className:"a-delivery-detail"},h),!w&&u&&!["accepted","sending"].includes(u.delivery)&&!p&&n.createElement("button",{type:"button",className:"a-link","data-action":"conversation.retry",disabled:l||y||E,onClick:()=>m(!0)},"Send again"),p&&n.createElement("div",{className:"a-delivery-confirm",role:"alert"},n.createElement("p",null,"The earlier attempt may have run even though delivery was not confirmed. Sending again could repeat that work. Your saved message and history will be kept."),n.createElement("button",{type:"button",className:"a-soft",disabled:l,onClick:()=>m(!1)},"Cancel"),n.createElement("button",{type:"button",className:"a-primary","data-action":"conversation.retry",disabled:l||y||E,onClick:x},l?"Sending…":"Send this message again")))}function lk(e){if(!e)return"Worker routing has not been reported.";const t={inherited_conversation:"This worker inherited the conversation selection.",delegation_preferences:"This worker uses delegation provider preferences.",agent_provider:"This worker uses its agent provider configuration.",agent_model_role:"This worker uses its agent model role.",session_defaults:"This worker uses its session defaults."},a=e.modelInheritance==="conversation_when_unspecified"?"Workers inherit the conversation model unless their configuration overrides it.":"Workers use bundle and agent model settings.",r=e.matrixSource==="user"?" from user settings":e.matrixSource==="bundle"?" from the bundle":"",o=e.resolverActive?` Routing is active${e.resolverName?` (${e.resolverName})`:""}${r}.`:"";return`${t[e.selectionSource]||a}${o} Other connected providers may be used.`}const Mc={};function ck({items:e=[],remove:t}){return e.length?n.createElement("div",{className:"a-attachments"},e.map(a=>{var r;return n.createElement("div",{className:"a-attachment",key:a.id},(r=a.mime)!=null&&r.startsWith("image/")?n.createElement("a",{href:a.url,target:"_blank",rel:"noopener noreferrer"},n.createElement("img",{src:a.url,alt:a.name})):n.createElement(Lu,null),n.createElement("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",title:a.name},a.name,n.createElement("small",null,Math.ceil(a.size/1024)," KB")),t&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Remove "+a.name,"data-action":"attachment.remove",onClick:()=>t(a.id)},n.createElement(tn,null)))})):null}function UF(e){var a,r;const t=new Map;for(const o of e){const i=((a=o.info)==null?void 0:a.id)||o.module||o.id;t.has(i)||t.set(i,{id:i,label:((r=o.info)==null?void 0:r.display_name)||i,rows:[]}),t.get(i).rows.push(o)}return[...t.values()].sort((o,i)=>o.label.localeCompare(i.label,void 0,{sensitivity:"base"}))}function zc(e,t){var r,o,i;const a=vp(e,{model:t,default_model:t}).find(s=>s.id==="reasoning_effort");return(e==null?void 0:e.effort)||((r=e==null?void 0:e.config)==null?void 0:r.reasoning_effort)||((i=(o=e==null?void 0:e.info)==null?void 0:o.defaults)==null?void 0:i.reasoning_effort)||(a==null?void 0:a.default)||""}function $F({state:e,session:t,act:a,working:r}){var Le,Ge,ft,vt,gt,Se,X,Ce,Fe,We,tt,yt,se,Qe,ot,bt,ut,Mt,St,jt,st,lt,Ze,Ot,en,vn,Rn,bn,Ln,Kn,Tn;const o=Ja(e),i=!t,s=(t==null?void 0:t.id)||null,l=Rg(e),c=e.configurationRevision||0,u=JSON.stringify([((Le=o.location)==null?void 0:Le.kind)||"workspace",o.workspace,c]),d=g.useRef(null);i&&l.phase==="ready"&&(d.current={context:u,value:l});const p=l.phase==="ready"||l.phase==="error"?l:((Ge=d.current)==null?void 0:Ge.context)===u?d.current.value:l,m=i&&l.phase!=="ready"&&l.phase!=="error",h=(t==null?void 0:t.workspaceAvailable)===!1||!!(t!=null&&t.historyReadOnlyReason)||(t==null?void 0:t.historyLoaded)===!1,f=((ft=e.view)==null?void 0:ft.composerModel)||Mc,[v,y]=g.useState(f),[E,b]=g.useState("");g.useEffect(()=>y(f),[f]);const x=ge=>{const Ke={...v,...ge};y(Ke),a("view.update",{patch:{composerModel:Ke}})},w=((vt=o.location)==null?void 0:vt.kind)==="managed",R=w?{location:{kind:"managed"}}:{},S=((gt=e.setup)==null?void 0:gt.providersRequestedWorkspace)===o.workspace&&((X=(Se=e.setup)==null?void 0:Se.providersLocation)==null?void 0:X.kind)==="managed"===w?e.setup:Mc,I=(S.providers||[]).filter(ge=>ge.enabled!==!1).map(ge=>{var Ue,nt,ye,At,an,Zt,Q,rn;const Ke=((nt=(Ue=S.providerCatalogs)==null?void 0:Ue[ge.id])==null?void 0:nt.metadata)||((ye=S.metadata)==null?void 0:ye[ge.module])||{};return{...ge,...Ke,info:{...Ke.info,defaults:{...(At=Ke.info)==null?void 0:At.defaults,model:((an=ge.config)==null?void 0:an.default_model)||((Zt=ge.config)==null?void 0:Zt.model)||((rn=(Q=Ke.info)==null?void 0:Q.defaults)==null?void 0:rn.model)}}}}),N=((Ce=e.runtimeControl)==null?void 0:Ce[s])||{},M=N["configuration.providers"],k=i?p.providers||I:(M==null?void 0:M.providers)||((We=(Fe=t==null?void 0:t.runtimeReport)==null?void 0:Fe.provider_choices)==null?void 0:We.map(ge=>({id:ge.id,info:{id:ge.provider,display_name:ge.display_name,defaults:{model:ge.model,reasoning_effort:ge.effort}}})))||[],T=i?!!((tt=o.selection)!=null&&tt.model):(M==null?void 0:M.pinned)??!!((yt=t==null?void 0:t.runtimeReport)!=null&&yt.selection||t!=null&&t.selection),A=!M&&!(t!=null&&t.runtimeReport)?t==null?void 0:t.initialModel:void 0,q=i?T?o.selection:p.effective||{}:(M==null?void 0:M.effective)||((se=t==null?void 0:t.runtimeReport)==null?void 0:se.effective_selection)||(t==null?void 0:t.selection)||A||{},z=[...((Qe=t==null?void 0:t.execution)==null?void 0:Qe.nodes)||[]].reverse().find(ge=>ge.kind==="llm"&&(ge.sessionId===s||!ge.sessionId&&!ge.parentId)),F=(i?l.phase==="ready":Array.isArray(M==null?void 0:M.providers))&&!k.length,H=q.model||(i?"":z==null?void 0:z.model)||(F?"Set up a model":l.phase==="error"?"Model unavailable":i?"Loading model…":"Choose a model"),ne=q.instance||q.id||(i?"":z==null?void 0:z.provider)||"",B=k.find(ge=>ge.id===ne),P=q.effort||zc(B,H),_=(((ot=e.setup)==null?void 0:ot.providers)||[]).find(ge=>ge.id===ne),ee={...(Mt=(ut=(bt=e.setup)==null?void 0:bt.metadata)==null?void 0:ut[_==null?void 0:_.module])==null?void 0:Mt.info,...(lt=(st=(jt=(St=e.setup)==null?void 0:St.providerCatalogs)==null?void 0:jt[ne])==null?void 0:st.metadata)==null?void 0:lt.info,...B==null?void 0:B.info},Z=(ee==null?void 0:ee.display_name)||(ee==null?void 0:ee.id)||((A==null?void 0:A.instance)===ne?A.providerLabel:"")||ne,D=P?`${H} (${P})`:H,G=Z?`${Z} · ${D}`:D,j=v.open&&(v.sessionId??null)===s,K=g.useRef(null),oe=Kw(j,K);il(j,K,()=>x({open:!1}));const xe=UF(k),ce=xe.find(ge=>ge.rows.some(Ke=>Ke.id===v.instance)),_e=k.find(ge=>ge.id===v.instance),$e=N["configuration.providerModels"],De=i?(Ze=S.providerCatalogs)==null?void 0:Ze[v.instance]:((Ot=N.modelCatalogs)==null?void 0:Ot[v.instance])||($e&&$e.provider===v.instance?{phase:"ready",models:$e.models}:null),de=g.useRef(new Map);let ve=Ii((De==null?void 0:De.models)||[]);ve.length?de.current.set((i?ws(o):s)+"|"+v.instance,ve):ve=de.current.get((i?ws(o):s)+"|"+v.instance)||[];const O=new Map(ve.map(ge=>[ge.id,ge]));for(const ge of(ce==null?void 0:ce.rows)||[]){const Ke=i?(en=S.providerCatalogs)==null?void 0:en[ge.id]:(vn=N.modelCatalogs)==null?void 0:vn[ge.id];for(const nt of Ii((Ke==null?void 0:Ke.models)||[]))O.set(nt.id,nt);const Ue=(bn=(Rn=ge.info)==null?void 0:Rn.defaults)==null?void 0:bn.model;Ue&&!O.has(Ue)&&O.set(Ue,{id:Ue,name:Ue})}ve=[...O.values()];const W=(De==null?void 0:De.metadata)||_e||{},ae=((Ln=vp(W,{model:v.model,default_model:v.model}).find(ge=>ge.id==="reasoning_effort"))==null?void 0:Ln.choices)||[],ze=v.effort||zc(_e,v.model)||zc(W,v.model),Me=g.useRef(!1),be=g.useRef(""),rt=g.useRef(!1);g.useEffect(()=>{if(!i||!o.workspace&&!w)return;const ge=JSON.stringify([ws(o),c]);if(be.current===ge)return;const Ke=setTimeout(()=>{be.current=ge,a("configuration.defaults",{workspace:o.workspace,bundle:o.bundle||"",...R}),S===Mc&&a("providers.list",{workspace:o.workspace,...R})},250);return()=>clearTimeout(Ke)},[i,o.workspace,o.bundle,w,c]),g.useEffect(()=>{var ge,Ke;if(j&&!rt.current&&k.length){const Ue=k.find(nt=>nt.id===(q.instance||q.id))||k[0];x({instance:Ue.id,model:q.model||((Ke=(ge=Ue.info)==null?void 0:ge.defaults)==null?void 0:Ke.model)||"",effort:P||""})}},[j,s,k.map(ge=>ge.id).join("|"),q.model,P]);function wt(){if(rt.current=!1,b(""),j){x({open:!1});return}x({open:!0,sessionId:s,instance:ne,model:q.model||"",effort:P||""}),t&&a("runtime.control",{sessionId:s,operation:"configuration.providers",args:{}})}async function Dt(ge){rt.current=!0;const Ke={...v,...ge};if(x(ge),b(""),!Ke.instance||!Ke.model)return;const Ue={instance:Ke.instance,model:Ke.model,...Ke.effort?{effort:Ke.effort}:{}};try{i?await a("view.update",{patch:{newSessionDraft:{...o,selection:Ue}}}):await a("runtime.control",{sessionId:s,operation:"provider.select",args:Ue})}catch(nt){b(nt.message)}}function It(ge){var nt,ye,At,an;if(!ge)return;const Ke=xe.find(Zt=>Zt.id===ge),Ue=(Ke==null?void 0:Ke.rows.find(Zt=>Zt.id===v.instance))||(Ke==null?void 0:Ke.rows[0]);ge=Ue==null?void 0:Ue.id,ge&&(Dt({instance:ge,model:((ye=(nt=Ue.info)==null?void 0:nt.defaults)==null?void 0:ye.model)||"",effort:""}),i&&!((At=S.providerCatalogs)!=null&&At[ge])?a("providers.models",{id:ge,workspace:o.workspace,...R}):!i&&!((an=N.modelCatalogs)!=null&&an[ge])&&a("runtime.control",{sessionId:s,operation:"configuration.providerModels",args:{instance:ge}}))}function Qt(ge){rt.current=!0,Me.current=!0,y({...v,effort:ae[Number(ge.currentTarget.value)]})}function ie(ge){if(!Me.current)return;Me.current=!1;const Ke=ae[Number(ge.currentTarget.value)];Ke&&Dt({effort:Ke})}const he=(Kn=e.actionStatus)==null?void 0:Kn[i?"configuration.defaults":"runtime.control"],Ne=E||((he==null?void 0:he.phase)==="error"?he.error:"")||l.error;return n.createElement("div",{className:"a-model-control",ref:K},n.createElement("button",{type:"button",className:"a-model-trigger","aria-label":"Model and reasoning settings",disabled:h,"aria-expanded":!!j,"aria-busy":m||void 0,title:m?`${G} · Checking bundle settings…`:G,"data-action":"view.update",onClick:wt},n.createElement("span",null,G),n.createElement(el,null)),j&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:oe,"aria-label":"Conversation model"},n.createElement("div",{className:"a-settings-row"},n.createElement("strong",null,"Conversation model"),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Close model settings","data-action":"view.update",onClick:()=>x({open:!1})},n.createElement(tn,null))),n.createElement("label",{htmlFor:"chat-provider"},"Provider"),n.createElement("select",{id:"chat-provider",value:(ce==null?void 0:ce.id)||v.instance||"","data-action":i?"view.update":"runtime.control",disabled:r,onChange:ge=>It(ge.target.value)},!v.instance&&n.createElement("option",{value:"",disabled:!0},k.length?"Choose a provider":F?"No providers configured":"Loading providers…"),v.instance&&!k.some(ge=>ge.id===v.instance)&&n.createElement("option",{value:v.instance},v.instance),xe.map(ge=>n.createElement("option",{key:ge.id,value:ge.id},ge.label))),n.createElement("label",{htmlFor:"chat-model"},"Model"),n.createElement("select",{id:"chat-model","aria-label":"Conversation model",value:v.model||"",disabled:r||!v.instance,"data-action":i?"view.update":"runtime.control",onChange:ge=>{const Ke=ge.target.value,Ue=(ce==null?void 0:ce.rows.find(nt=>{var ye,At;return nt.id===v.instance&&((At=(ye=nt.info)==null?void 0:ye.defaults)==null?void 0:At.model)===Ke}))||(ce==null?void 0:ce.rows.find(nt=>{var ye,At;return((At=(ye=nt.info)==null?void 0:ye.defaults)==null?void 0:At.model)===Ke}));Dt({instance:(Ue==null?void 0:Ue.id)||v.instance,model:Ke,effort:""})}},!v.model&&n.createElement("option",{value:""},(De==null?void 0:De.phase)==="working"?"Loading models…":"Choose a model"),v.model&&!ve.some(ge=>ge.id===v.model)&&n.createElement("option",{value:v.model},v.model),ve.map(ge=>n.createElement("option",{key:ge.id,value:ge.id},ge.name))),ae.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"chat-effort"},"Reasoning effort ",n.createElement("strong",null,ze||"Choose effort")),n.createElement("input",{id:"chat-effort",type:"range",min:"0",max:ae.length-1,step:"1",value:Math.max(0,ae.indexOf(ze)),"aria-valuetext":ze||"Choose effort",disabled:r||!v.model,"data-action":i?"view.update":"runtime.control",onChange:Qt,onPointerUp:ie,onKeyUp:ie,onBlur:ie}),n.createElement("div",{className:"a-effort-labels"},n.createElement("span",null,ae[0]),n.createElement("span",null,ae.at(-1)))):n.createElement("small",null,"Reasoning effort is not configurable for this model."),!i&&n.createElement("p",{className:"a-muted","data-part":"delegation-routing"},lk((M==null?void 0:M.delegationRouting)||((Tn=t==null?void 0:t.runtimeReport)==null?void 0:Tn.delegationRouting))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ge;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ge=e.view)==null?void 0:ge.aiConnectionEditor)||{},step:"services"}}})}},"Add connection"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ge;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ge=e.view)==null?void 0:ge.aiConnectionEditor)||{},step:"list"}}})}},"Manage connections")),n.createElement("small",null,"Model changes here apply to this conversation."),Ne&&n.createElement("small",{className:"a-danger",role:"status"},Ne),!Ne&&(De==null?void 0:De.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},"The model list is unavailable. Your current selection is preserved.")))}function BF(e){return new Promise((t,a)=>{if(e.size>32*1024*1024||!e.size){a(new Error("Choose a nonempty file up to 32 MB."));return}const r=new FileReader;r.onload=()=>t(String(r.result).split(",")[1]),r.onerror=()=>a(new Error("Could not read "+e.name)),r.readAsDataURL(e)})}function HF(e,t){var u,d,p;const a=((u=e.observation)==null?void 0:u.recovery)||{},r=a.call_id||((d=e.observation)==null?void 0:d.call_id),o=r?(((p=t==null?void 0:t.execution)==null?void 0:p.nodes)||[]).find(m=>m.kind==="tool"&&m.toolCallId===r):null,i=r?((t==null?void 0:t.workers)||[]).find(m=>m.callId===r||m.toolCallId===r):null,s={returned:"Result returned",cancelled:"Work cancelled",interrupted:"Work interrupted",failed:"Work failed",pending:"Outcome unknown"}[a.status]||"Saved work notice",c=a.outcome==="unconfirmed"||["cancelled","interrupted","pending"].includes(a.status)?"The final outcome is unconfirmed. Inspect the saved work before deciding whether to continue.":a.reason==="restored_evidence"?"A saved call or result was restored to this chat.":a.reason==="changed_evidence"?"A saved result replaced an earlier pending record.":"Saved work was found when this chat resumed.";return{facts:a,node:o,worker:i,status:s,explanation:c}}function Zf({message:e,session:t,state:a,act:r}){const{facts:o,node:i,worker:s,status:l,explanation:c}=HF(e,t),u=s&&(a.sessions||[]).find(m=>m.id===s.id||m.runtimeSessionId===s.sessionId),d=i==null?void 0:i.output,p=i==null?void 0:i.outputDetail;return n.createElement("div",{className:"a-recovery-notice"},n.createElement("p",null,n.createElement("strong",null,(s==null?void 0:s.name)||(s==null?void 0:s.agent)||(i==null?void 0:i.label)||"Background work"," · ",l)),n.createElement("p",null,c," This notice does not mean the work ran again."),u&&n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",onClick:()=>r("session.select",{id:u.id})},"Open worker chat"),(typeof d=="string"||p)&&n.createElement("details",null,n.createElement("summary",null,"View saved result"),n.createElement(Pi,{text:d||"",reference:p})),n.createElement("details",null,n.createElement("summary",null,"Technical details"),o.job_id&&n.createElement("p",null,"Job: ",n.createElement("code",null,o.job_id),n.createElement("br",null),"Call: ",n.createElement("code",null,o.call_id)),o.status==="returned"&&n.createElement("p",null,"A returned report does not independently verify that its claimed effects succeeded."),n.createElement(Pi,{text:e.text,reference:e.textDetail}),n.createElement("button",{type:"button",className:"a-link","data-action":"message.copy",onClick:()=>r("message.copy",{sessionId:t.id,messageId:e.id})},"Copy observation")))}function VF(e){var o,i;const t=(e==null?void 0:e.messages)||[],a=new Map;let r=Number(e==null?void 0:e.sharedHistoryUserTurnOffset)||0;for(let s=0;sp.role==="assistant");if(!c)continue;const u=(i=(o=e.execution)==null?void 0:o.turns)==null?void 0:i.find(p=>p.inputId===t[s].inputId&&t[s].inputId);(u?["completed","complete","done"].includes(u.phase||u.status):l{r.length&&a.push(r.length>1?r:r[0]),r=[]};for(const s of e)((i=s.observation)==null?void 0:i.source)==="local-job-recovery"&&!(t.get(s.id)||[]).length?r.push(s):(o(),a.push(s));return o(),a}function ZF({messages:e,renderArtifacts:t,...a}){return n.createElement("details",{className:"a-recovery-group"},n.createElement("summary",null,"Saved work notices (",e.length,")"),n.createElement("p",null,"Recorded when this chat resumed. These notices are part of its history."),e.map(r=>n.createElement(n.Fragment,{key:r.id},n.createElement(uk,{message:r,...a,expandedObservation:!0}),t==null?void 0:t(r))))}function uk({message:e,session:t,state:a,act:r,stamp:o,working:i,forkTurn:s,retry:l,discard:c,dispatch:u=r,expandedObservation:d=!1}){var F,H,ne;const[p,m]=g.useState(!1),[h,f]=g.useState(!1),[v,y]=g.useState(!1),[E,b]=g.useState(""),x=(F=a.view)==null?void 0:F.messageEdit,w=(x==null?void 0:x.sessionId)===t.id&&(x==null?void 0:x.messageId)===e.id,[R,S]=g.useState(w?x.text:""),I=g.useRef(null);g.useEffect(()=>{if(!w){I.current=null;return}(I.current===null||x.text===I.current)&&(S(x.text||""),I.current=null)},[w,x==null?void 0:x.text]);const N=(H=a.view)==null?void 0:H.messageCopy,M=(N==null?void 0:N.sessionId)===t.id&&(N==null?void 0:N.messageId)===e.id?N:null,k=i||t.configurationBusy||t.workspaceAvailable===!1||!!t.historyReadOnlyReason,T=B=>r("view.update",{patch:{messageEdit:B}}),A=e.localDelivery,q=A||((ne=e.delivery)!=null&&ne.status&&e.delivery.status!=="accepted"?e.delivery:null),z=async B=>{if(B.preventDefault(),!(p||k||!R.trim())){m(!0);try{A?await l(e,R):await u("message.edit",{sessionId:t.id,messageId:e.id,text:R,mode:x!=null&&x.fork?"fork":"current"})}catch(P){b(P.message)}finally{m(!1)}}};if(e.observation){if(e.observation.source==="local-job-recovery")return n.createElement("article",{className:"a-message a-assistant","data-message-id":e.id},d?n.createElement(Zf,{message:e,session:t,state:a,act:r}):n.createElement("details",null,n.createElement("summary",null,"Saved work notice"),n.createElement(Zf,{message:e,session:t,state:a,act:r})));const B=n.createElement(n.Fragment,null,n.createElement(Pi,{text:e.text,reference:e.textDetail,markdown:!0}),n.createElement("button",{type:"button",className:"a-link","data-action":"message.copy",onClick:()=>r("message.copy",{sessionId:t.id,messageId:e.id})},"Copy observation"));return n.createElement("article",{className:"a-message a-assistant","data-message-id":e.id},d?B:n.createElement("details",null,n.createElement("summary",null,e.observation.source==="local-job-recovery"?"Recovered work update":["amplifier-delegate","amplifier-child","amplifier-child-lifecycle"].includes(e.observation.source)?"Delegated work update":"Service observation"," · Details"),B))}return n.createElement("article",{className:`a-message a-${e.role==="user"?"user":"assistant"}`,"data-message-id":e.id},n.createElement("div",{className:"a-msg-meta"},n.createElement("strong",null,e.role==="user"?"You":e.role==="assistant"?"Amplifier":e.role),n.createElement("span",null,e.via&&(e.via==="observation"?"Background follow-up · ":`via ${e.via} · `),e.timestampKnown===!1?"Time unavailable":o(e.createdAt))),n.createElement(LF,{quote:e.replyTo,sessionId:t.id,dispatch:u}),n.createElement(ck,{items:e.attachments}),E&&n.createElement("p",{role:"alert"},E),w?n.createElement("form",{className:"a-message-editor",onSubmit:z},n.createElement("textarea",{autoFocus:!0,"aria-label":"Edit your message",value:R,"data-action":"view.update",onChange:B=>{S(B.target.value),I.current=B.target.value,T({...x,text:B.target.value})},onKeyDown:B=>{B.key==="Escape"&&(B.preventDefault(),T(null)),B.key==="Enter"&&(B.metaKey||B.ctrlKey)&&(B.preventDefault(),B.currentTarget.form.requestSubmit())}}),n.createElement("p",{className:"a-caption"},A?"Update this unsent message and try again.":"Continue from this point. Later messages leave the active conversation; saved event history and earlier tool effects remain."),!A&&n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:!!(x!=null&&x.fork),"data-action":"view.update",onChange:B=>T({...x,text:R,fork:B.target.checked})}),"Start a new conversation instead"),n.createElement("div",{className:"a-message-edit-actions"},n.createElement("button",{className:"a-soft",type:"button",disabled:p,"data-action":"view.update",onClick:()=>T(null)},"Cancel"),n.createElement("button",{className:"a-primary",type:"submit",disabled:p||k||!R.trim(),"data-action":"message.edit","data-operation-pending":p||void 0,"aria-busy":p||void 0},n.createElement(zi,null),p?"Starting…":"Save & regenerate"))):n.createElement(Pi,{text:e.text||(i?"…":""),reference:e.textDetail,markdown:e.role!=="user",automatic:e.role==="assistant",writingContext:e.role==="assistant"?{sessionId:t.id,messageId:e.id,act:r}:void 0,fileContext:e.role==="assistant"?{sessionId:t.id,workspace:t.workspace,act:r}:void 0}),!w&&n.createElement("div",{className:"a-message-actions"},n.createElement("button",{type:"button",className:"a-icon",title:"Copy as Markdown","aria-label":"Copy message as Markdown","data-action":"message.copy",disabled:v,"data-operation-pending":v||void 0,"aria-busy":v||void 0,onClick:async()=>{if(!A){await r("message.copy",{sessionId:t.id,messageId:e.id});return}y(!0);try{await navigator.clipboard.writeText(e.text),f(!0)}catch(B){b(B.message)}finally{y(!1)}}},(M==null?void 0:M.status)==="ready"||h?n.createElement(Pt,null):n.createElement(ar,null)),!A&&["user","assistant"].includes(e.role)&&n.createElement(FF,{message:e,sessionId:t.id,dispatch:u}),e.role==="user"&&n.createElement("button",{type:"button",className:"a-icon",title:t.historyReadOnlyReason||(t.workspaceAvailable===!1?"Workspace folder unavailable":k?"Wait for the current work to finish":"Edit message"),"aria-label":"Edit message",disabled:k||p||!!A&&q.status!=="failed","data-operation-pending":p||void 0,"aria-busy":p||void 0,"data-action":"view.update",onClick:async()=>{m(!0);try{T({sessionId:t.id,messageId:e.id,text:e.textDetail?await zl(e.textDetail):e.text,fork:!1})}catch(B){b(B.message)}finally{m(!1)}}},n.createElement(Fi,null)),n.createElement(jF,{message:e,session:t,delivery:q,localDelivery:A,dispatch:u,retry:l,discard:c}),s&&n.createElement(JF,{session:t,turn:s,act:r,working:i}),(M==null?void 0:M.status)==="ready"&&n.createElement("span",{role:"status",className:"a-copy-result success"},"Copied Markdown"),(M==null?void 0:M.status)==="error"&&n.createElement("span",{role:"alert",className:"a-copy-result error"},n.createElement(On,null),M.message||"Could not copy")))}function JF({session:e,turn:t,act:a,working:r}){return n.createElement("button",{type:"button",className:"a-icon",title:e.historyReadOnlyReason||(e.workspaceAvailable===!1?"Workspace folder unavailable":r?"Wait for the current work to finish":"Fork a new chat from here"),"aria-label":`Fork conversation after turn ${t}`,disabled:r||e.configurationBusy||e.workspaceAvailable===!1||!!e.historyReadOnlyReason,"data-action":"session.fork",onClick:()=>a("session.fork",{id:e.id,turn:t})},n.createElement(Wa,null))}const Ia=e=>JSON.stringify([e.sessionId,e.workerId||null]),KF={idle:"Ready for follow-up",working:"Working",running:"Working",starting:"Starting",queued:"Queued",stopping:"Interruption requested",completed:"Completed",interrupted:"Outcome unknown",error:"Needs attention",cancelled:"Cancelled",stopped:"Stopped"},Jf={selected:[],cursors:{},results:{},drafts:{}};function YF({dispatch:e}){const t="amplifier-coordination-v1",[a,r]=g.useState(()=>{try{return{...Jf,...JSON.parse(sessionStorage.getItem(t)||"null")}}catch{return Jf}}),o=g.useRef(new Set),i=g.useRef(a),[s,l]=g.useState([]),[c,u]=g.useState(""),[d,p]=g.useState(""),[m,h]=g.useState(""),[f,v]=g.useState(null),[y,E]=g.useState(!1),b=S=>{const I=S(i.current);i.current=I,r(I);try{sessionStorage.setItem(t,JSON.stringify(I))}catch{h("This browser could not save delivery cursors. Reports may appear again after reload.")}},x=async()=>{try{const S=await e("coordination.list",{},{feedback:!1});l(S.result.items),S.result.truncated&&h("Showing the first 100 targets. Agents can address any known conversation directly.")}catch(S){u(S.message)}};g.useEffect(()=>{x()},[]),g.useEffect(()=>{if(!a.selected.length)return;let S=!0,I=0;const N=new AbortController;return(async()=>{for(;S;){const M=a.selected.map(k=>({...k,...i.current.cursors[Ia(k)]?{afterCursor:i.current.cursors[Ia(k)]}:{}}));try{E(!0);const k=await e("coordination.wait",{targets:M,waitMs:3e4,maxBytes:32768},{feedback:!1,signal:N.signal});if(!S)return;I=0,p("");const T=k.result;if(T.errors.length){p(T.errors.map(A=>A.error).join(" "));return}b(A=>{const q={...A.cursors},z={...A.results};for(const H of T.targets){const ne=Ia(H.target),B=z[ne]||[],P=new Set(B.map(_=>_.id));z[ne]=[...B,...H.results.filter(_=>!P.has(_.id)).map(_=>({..._,text:_.text.slice(0,4096),textTruncated:_.textTruncated||_.text.length>4096}))].slice(-8),q[ne]=H.nextCursor}const F=new Set([...Object.keys(z).slice(-16),...A.selected.map(Ia)]);return{...A,cursors:Object.fromEntries(Object.entries(q).filter(([H])=>F.has(H))),results:Object.fromEntries(Object.entries(z).filter(([H])=>F.has(H)))}}),l(A=>A.map(q=>T.targets.find(z=>Ia(z.target)===Ia(q.target))||q)),T.targets.some(A=>A.cursorGap)&&h("Some older reports are no longer retained here. Open the saved conversation for its available history.")}catch(k){if(!S||k.name==="AbortError")return;p("Waiting to reconnect: "+k.message),await new Promise(T=>{const A=()=>{clearTimeout(q),N.signal.removeEventListener("abort",A),T()},q=setTimeout(A,Math.min(15e3,1e3*2**I++));N.signal.addEventListener("abort",A,{once:!0})})}finally{S&&E(!1)}}})(),()=>{S=!1,N.abort()}},[JSON.stringify(a.selected)]);const w=S=>b(I=>{const N=Ia(S),M=I.selected.some(k=>Ia(k)===N);return{...I,selected:M?I.selected.filter(k=>Ia(k)!==N):[...I.selected,S].slice(0,8)}}),R=async(S,I)=>{const N=Ia(S.target);if(o.current.has(N))return;o.current.add(N);const M=i.current.drafts[N]||"";v(N),u("");try{if((await e(I,{...S.target,...I==="coordination.followup"?{text:M}:{}})).delivery==="unknown"){u("Delivery is unknown. Work was not replayed. Inspect the target before sending another instruction.");return}I==="coordination.followup"&&b(T=>({...T,drafts:{...T.drafts,[N]:""}})),h(I==="coordination.interrupt"?"Interruption requested. Effects may already have happened.":"Follow-up accepted."),await x()}catch(k){u(k.message)}finally{o.current.delete(N),v(null)}};return n.createElement("div",{className:"a-coordination"},n.createElement("p",null,"Follow up on a conversation or its workers without switching away from your current draft. Watch up to eight targets for reports or requests for attention."),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"coordination.list",onClick:x},"Refresh targets"),n.createElement("button",{className:"a-link",disabled:!a.selected.length,onClick:()=>b(S=>({...S,selected:[]}))},"Stop watching"),n.createElement("span",{role:"status"},y?"Waiting for updates…":a.selected.length?`${a.selected.length} targets watched`:"Choose targets to watch")),c&&n.createElement("p",{role:"alert",className:"a-alert"},c),d&&n.createElement("p",{role:"alert",className:"a-alert"},d),m&&n.createElement("p",{role:"status"},m),s.map(S=>{var k;const I=Ia(S.target),N=a.selected.some(T=>Ia(T)===I),M=a.results[I]||[];return n.createElement("section",{key:I,className:"a-coordination-target","aria-label":`${S.kind==="worker"?"Worker":"Conversation"}: ${S.title}`},n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:N,disabled:!N&&a.selected.length>=8,onChange:()=>w(S.target)}),n.createElement("strong",null,S.title)," · ",S.kind==="worker"?"Worker":"Conversation"),n.createElement("p",{className:"a-caption"},KF[S.status]||S.status,S.attention?" · Needs attention":""),M.map(T=>n.createElement("article",{key:T.id,"data-report-id":T.id},n.createElement("p",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"}},T.text),T.textTruncated&&n.createElement("small",null,"Report excerpt. Open the saved conversation for more."))),n.createElement("details",null,n.createElement("summary",null,"Follow up"),n.createElement("form",{onSubmit:T=>{T.preventDefault(),R(S,"coordination.followup")}},n.createElement("label",null,"Follow-up for ",S.title,n.createElement("textarea",{value:a.drafts[I]||"",disabled:!S.canFollowup||f===I,onChange:T=>b(A=>({...A,drafts:{...A.drafts,[I]:T.target.value}}))})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"coordination.followup",disabled:!S.canFollowup||!((k=a.drafts[I])!=null&&k.trim())||f===I},"Send follow-up")))),n.createElement("button",{type:"button",className:"a-link a-danger","data-action":"coordination.interrupt",disabled:!S.canInterrupt||f===I,onClick:()=>R(S,"coordination.interrupt")},"Interrupt"))}))}function GF(){const e=new Map;return{add(t,a){const r=Symbol();return e.set(r,{patch:{...t},sessionId:a}),r},addCanvas(t,a){var o,i;const r=Symbol();return e.set(r,{canvas:{open:a,sessionId:t.selectedSessionId,canvasId:(o=t.canvas)==null?void 0:o.id,host:(i=t.client)==null?void 0:i.hostInstanceId}}),r},settle(t){e.delete(t)},bindDraft(t,a){const r=e.get(t);r&&Object.hasOwn(r.patch,"draft")&&(r.sessionId=a)},apply(t){var o,i;if(!t||!e.size)return t;let a={...t.view},r=t.canvas;for(const{patch:s,sessionId:l,canvas:c}of e.values()){if(c){c.sessionId===t.selectedSessionId&&c.canvasId===((o=t.canvas)==null?void 0:o.id)&&c.host===((i=t.client)==null?void 0:i.hostInstanceId)&&(r={...r,open:c.open,visibilityPending:!0},c.open||(a.canvasFocused=!1));continue}const u={...s};l!==void 0&&l!==t.selectedSessionId&&delete u.draft,a={...a,...u}}return{...t,view:a,canvas:r}}}}const QF=new Set(["aiConnectionEditor","providerEditor","composerModel","composerBundle","bundleDefaultsDraft"]),XF=(e,t={})=>t.expectedRevision===void 0&&["providers.list","providers.models","providers.schema"].includes(e);function eq(e,t,a={}){var s;if(e!=="view.update"||a.id||a.expectedRevision!==void 0||a.signal||a.pendingViewToken||Object.keys(t).some(l=>!["patch","sessionId"].includes(l)))return null;const r=Object.keys(t.patch||{}),o=r[0],i=(s=t.patch)==null?void 0:s[o];return r.length!==1||!QF.has(o)||!i||typeof i!="object"||Array.isArray(i)?null:JSON.stringify([o,t.sessionId??null,i.sessionId??null])}function tq(){let e=null;return(t,a,r=null,o=null)=>{if(r&&(e==null?void 0:e.queue)===t&&e.key===r&&!e.started)return e.execute=a,e.promise;const i={queue:t,key:r,execute:a,started:!1},s=()=>{i.started=!0,e===i&&(e=null);const l=i.execute;return i.execute=null,l()};return i.promise=(o?Promise.all([t.current,o]):t.current).then(s,s),t.current=i.promise.catch(()=>{}),e=i,i.promise}}function nq(e,t){if(!e||e.revision!==t.baseRevision)throw Error("State stream needs a fresh snapshot.");const a=(o,i,s)=>{if(!i.length)return s.value;const[l,...c]=i,u=Array.isArray(o)?[...o]:{...o};return!c.length&&s.remove?delete u[l]:Object.defineProperty(u,l,{value:a(Object.hasOwn(o||{},l)?o[l]:void 0,c,s),enumerable:!0,configurable:!0,writable:!0}),u};let r=e;for(const o of t.changes)r=a(r,o.path,o);if(r.revision!==t.revision)throw Error("State stream revision mismatch.");return r}function aq(e,t=()=>{}){let a=null,r=null,o=null,i=0;function s(){return r||(a===o?(a=null,Promise.resolve()):(r=(async()=>{for(;a!==null;){const c=a,u=i;if(a=null,c!==o)try{await e(JSON.parse(c)),u===i&&(o=c)}catch(d){t(d)}}})().finally(()=>{r=null,a!==null&&s()}),r))}const l=c=>(a=JSON.stringify(c),s());return l.invalidate=()=>{i++,o=null},l}function rq(e=32){const t=new Map,a=new Map;let r;const o=c=>{var u;return(u=c==null?void 0:c.sessions)==null?void 0:u.find(d=>d.id===c.selectedSessionId)};function i(c){var p;const u=(p=c==null?void 0:c.client)==null?void 0:p.hostInstanceId;r!==void 0&&u!==r&&(t.clear(),a.clear()),r=u;const d=o(c);if(d)for(t.delete(d.id),t.set(d.id,{session:d,canvas:c.canvas,canvasWorkspace:c.canvasWorkspace,canvasArtifacts:c.canvasArtifacts});t.size>e;)t.delete(t.keys().next().value)}function s(c,u){var h,f,v,y;if((f=(h=c==null?void 0:c.canvasWorkspace)==null?void 0:h.views)!=null&&f.some(E=>E.dirty))return null;const d=((v=c==null?void 0:c.sessions)==null?void 0:v.find(E=>E.id===u))||((y=t.get(u))==null?void 0:y.session);if(!d)return null;const p=o(c);p&&i({...c,sessions:c.sessions.map(E=>{var b;return E.id===p.id?{...E,draft:((b=c.view)==null?void 0:b.draft)||""}:E})});const m=Symbol();return a.set(m,{id:u,row:d}),m}function l(c){var x,w,R;if(!c||!a.size)return c;const{id:u,row:d}=Array.from(a.values()).at(-1);if(c.selectedSessionId===u)return{...c,navigationPending:!0};const p=t.get(u),m=((x=c.sessions)==null?void 0:x.find(S=>S.id===u))||d,{messages:h,workers:f,approvals:v,...y}=m,b=m.messageWindow||m.executionWindow||((w=m.messages)==null?void 0:w.length)||((R=m.approvals)==null?void 0:R.length)||m.streaming?m:p?{...p.session,...y}:{...m,historyLoading:!0,messages:[],workers:[],approvals:[]};return{...c,selectedSessionId:u,selectedWorkspaceId:b.workspaceId??c.selectedWorkspaceId,navigationPending:!0,sessions:[...(c.sessions||[]).filter(S=>S.id!==u),b],view:{...c.view,draft:b.draft||""},canvas:(p==null?void 0:p.canvas)||{open:!1},canvasWorkspace:(p==null?void 0:p.canvasWorkspace)||{views:[]},canvasArtifacts:(p==null?void 0:p.canvasArtifacts)||[]}}return{remember:i,begin:s,apply:l,settle:c=>a.delete(c)}}async function oq(e,t,a){const r=i=>{var s,l,c;return(c=(l=(s=i==null?void 0:i.sessions)==null?void 0:s.find(u=>u.id===t.sessionId))==null?void 0:l.messages)==null?void 0:c.find(u=>u.id===t.messageId)};let o=r(e);if(!o){const i=await a("/api/state?sessionId="+encodeURIComponent(t.sessionId));o=r(i.state||i)}if(!o)throw Error("Message no longer available");return o.textDetail?zl(o.textDetail,a):o.text||""}async function iq(e,{request:t,download:a,clipboard:r}){let o="ready",i=e.destination==="clipboard"?"Copied conversation Markdown":"Markdown download started";try{const s=await t(e.url);e.destination==="clipboard"?await r.writeText(s.content):a(s.filename,s.content,s.mimeType)}catch(s){o="error",i="Could not export: "+s.message}await t("/api/actions",{method:"POST",body:{action:"session.exportResult",args:{requestId:e.requestId,status:o,message:i}}})}class sq{constructor({document:t=globalThis.document,navigator:a=globalThis.navigator,onState:r=()=>{}}={}){var o;this.document=t,this.navigator=a,this.onState=r,this.active=!1,this.enabled=!0,this.sentinel=null,this.pending=null,this.epoch=0,this.visible=()=>{var i;((i=this.document)==null?void 0:i.visibilityState)==="visible"&&this.acquire()},(o=this.document)==null||o.addEventListener("visibilitychange",this.visible)}setActive(t){this.active!==t&&(this.active=t,t?this.acquire():this.release())}setEnabled(t){this.enabled=t,t?this.acquire():this.release()}async acquire(){var r,o,i;if(!this.active||!this.enabled||((r=this.document)==null?void 0:r.visibilityState)!=="visible"||this.sentinel||this.pending)return;if(!((i=(o=this.navigator)==null?void 0:o.wakeLock)!=null&&i.request)){this.onState("unsupported");return}const t=this.epoch,a=this.pending=Promise.resolve().then(()=>this.navigator.wakeLock.request("screen"));try{const s=await a;if(t!==this.epoch||!this.active||!this.enabled||this.document.visibilityState!=="visible"){await s.release();return}this.sentinel=s,s.addEventListener("release",()=>{this.sentinel===s&&(this.sentinel=null,this.onState(this.active&&this.enabled?"released":"off"))},{once:!0}),this.onState(s.released?"released":"active"),s.released&&(this.sentinel=null)}catch{t===this.epoch&&this.active&&this.enabled&&this.onState("unavailable")}finally{this.pending===a&&(this.pending=null),t!==this.epoch&&this.active&&this.enabled&&this.acquire()}}release(){++this.epoch;const t=this.sentinel;this.sentinel=null,t&&Promise.resolve(t.release()).catch(()=>{}),this.onState("off")}dispose(){var t;this.active=!1,this.release(),(t=this.document)==null||t.removeEventListener("visibilitychange",this.visible)}}class lq{constructor({navigator:t=globalThis.navigator,document:a=globalThis.document,Metadata:r=globalThis.MediaMetadata,getAudio:o=()=>null,onState:i=()=>{},onAction:s=()=>{},onError:l=()=>{}}={}){Object.assign(this,{navigator:t,document:a,Metadata:r,getAudio:o,onState:i,onAction:s,onError:l}),this.active=!1,this.epoch=0,this.handlers=[],this.trackListeners=[],this.tracks=[],this.onVisibility=()=>{this.active&&(a==null?void 0:a.visibilityState)==="visible"&&this.resumePlayback()},a==null||a.addEventListener("visibilitychange",this.onVisibility)}start(){var t,a,r,o;if(!this.active){if(this.active=!0,++this.epoch,this.onState({audioSessionState:"unavailable",microphoneInterrupted:!1,microphoneEnded:!1,playbackBlocked:!1}),this.audioSession=(t=this.navigator)==null?void 0:t.audioSession,this.audioSession){try{this.previousType=this.audioSession.type,this.audioSession.type="play-and-record"}catch{this.previousType=void 0}this.audioChanged=()=>{this.active&&(this.onState({audioSessionState:this.audioSession.state}),this.syncMicrophone(),this.audioSession.state==="active"&&this.resumePlayback())},(r=(a=this.audioSession).addEventListener)==null||r.call(a,"statechange",this.audioChanged),this.audioChanged()}if(this.mediaSession=(o=this.navigator)==null?void 0:o.mediaSession,!!this.mediaSession){try{this.previousMetadata=this.mediaSession.metadata,this.previousPlaybackState=this.mediaSession.playbackState,this.Metadata&&(this.metadata=new this.Metadata({title:"Amplifier voice call"}),this.mediaSession.metadata=this.metadata),this.mediaSession.playbackState="playing"}catch{}for(const[i,s]of[["togglemicrophone",()=>this.onAction("call.mute",{muted:!this.muted})],["hangup",()=>this.onAction("call.end")]]){const l=this.epoch;try{this.mediaSession.setActionHandler(i,()=>{if(!(!this.active||l!==this.epoch))try{Promise.resolve(s()).catch(c=>this.onError(c))}catch(c){this.onError(c)}}),this.handlers.push(i)}catch{}}}}}attachStream(t){this.removeTrackListeners(),this.tracks=t.getAudioTracks();for(const a of this.tracks)for(const r of["mute","unmute","ended"]){const o=()=>{this.active&&(this.syncMicrophone(),r==="unmute"&&this.resumePlayback())};a.addEventListener(r,o),this.trackListeners.push([a,r,o])}this.syncMicrophone()}setMuted(t){this.muted=t,this.syncMicrophone()}syncMicrophone(){var r,o,i;if(!this.active)return;const t=this.tracks.filter(s=>s.readyState!=="ended"),a=t.some(s=>s.muted);this.onState({microphoneInterrupted:a,microphoneEnded:this.tracks.length>0&&!t.length});try{Promise.resolve((i=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:i.call(r,!this.muted&&((o=this.audioSession)==null?void 0:o.state)!=="interrupted"&&t.some(s=>s.enabled&&!s.muted))).catch(()=>{})}catch{}}async resumePlayback(){var o;const t=this.getAudio();if(!this.active||!(t!=null&&t.srcObject)||((o=this.audioSession)==null?void 0:o.state)==="interrupted"||this.playPending)return;const a=this.epoch;let r;try{r=Promise.resolve(t.play())}catch(i){r=Promise.reject(i)}this.playPending=r;try{await r,this.active&&a===this.epoch&&this.onState({playbackBlocked:!1})}catch{this.active&&a===this.epoch&&this.onState({playbackBlocked:!0})}finally{this.playPending===r&&(this.playPending=null)}}removeTrackListeners(){for(const[t,a,r]of this.trackListeners)t.removeEventListener(a,r);this.trackListeners=[],this.tracks=[]}stop(){var t,a,r,o;if(this.active){this.active=!1,++this.epoch,this.playPending=null,this.removeTrackListeners(),(a=(t=this.audioSession)==null?void 0:t.removeEventListener)==null||a.call(t,"statechange",this.audioChanged);try{this.previousType!==void 0&&this.audioSession.type==="play-and-record"&&(this.audioSession.type=this.previousType)}catch{}for(const i of this.handlers)try{this.mediaSession.setActionHandler(i,null)}catch{}this.handlers=[];try{Promise.resolve((o=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:o.call(r,!1)).catch(()=>{})}catch{}try{this.mediaSession&&(!this.metadata||this.mediaSession.metadata===this.metadata)&&(this.mediaSession.metadata=this.previousMetadata??null,this.mediaSession.playbackState=this.previousPlaybackState||"none")}catch{}this.audioSession=this.mediaSession=this.metadata=null,this.onState({audioSessionState:"inactive",microphoneInterrupted:!1,microphoneEnded:!1,playbackBlocked:!1})}}dispose(){var t;this.stop(),(t=this.document)==null||t.removeEventListener("visibilitychange",this.onVisibility)}}class cq{constructor({request:t,onState:a=()=>{},onError:r=()=>{},onAction:o}){this.request=t,this.onState=a,this.onError=r,this.state={status:"idle",muted:!1,keepAwake:!0,wakeLock:"off"},this.wakeLock=new sq({onState:i=>this.update({wakeLock:i})}),this.generation=0,this.peer=null,this.stream=null,this.events=null,this.audio=null,this.callAudio=new lq({getAudio:()=>this.audio,onState:i=>this.update(i),onError:r,onAction:o||((i,s)=>i==="call.mute"?this.setMuted(s.muted):this.end())}),this.readySent=!1,this.onPageHide=()=>{++this.generation,this.state.id&&this.request("/api/voice/end",{method:"POST",body:{id:this.state.id},keepalive:!0}).catch(()=>{}),this.release(),this.update({status:"ended",id:null})},window.addEventListener("pagehide",this.onPageHide)}update(t){this.state={...this.state,...t},this.onState({...this.state}),t.status&&this.wakeLock.setActive(["connecting","connected"].includes(t.status))}async start({provider:t="auto",sessionId:a=null}={}){var o;if(["connecting","connected"].includes(this.state.status))return this.state;if(!((o=navigator.mediaDevices)!=null&&o.getUserMedia)||!window.RTCPeerConnection)throw new Error("Voice needs a browser with microphone and WebRTC support, on localhost or HTTPS.");const r=++this.generation;this.update({status:"connecting",error:null,muted:!1});try{const i=await this.request("/api/voice/config");if(!i.available)throw new Error(i.reason||"Voice is not configured on the host.");if(r!==this.generation)return this.state;this.callAudio.start(),this.callAudio.setMuted(!1);const s=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});if(r!==this.generation)return s.getTracks().forEach(p=>p.stop()),this.state;this.stream=s,s.getAudioTracks().forEach(p=>{p.enabled=!this.state.muted}),this.callAudio.attachStream(s);const l=this.peer=new RTCPeerConnection;this.audio=new Audio,this.audio.autoplay=!0,this.audio.setAttribute("playsinline",""),l.addEventListener("track",p=>{r!==this.generation||!this.audio||(this.audio.srcObject=p.streams[0]||new MediaStream([p.track]),this.callAudio.resumePlayback())}),s.getTracks().forEach(p=>l.addTrack(p,s));const c=this.events=l.createDataChannel("oai-events");this.readySent=!1;const u=async()=>{if(!(this.readySent||!this.state.id||l.connectionState!=="connected"||c.readyState!=="open")){this.readySent=!0;try{await this.request("/api/voice/ready",{method:"POST",body:{id:this.state.id}}),r===this.generation&&this.update({status:"connected"})}catch(p){this.onError(p),await this.end()}}};c.addEventListener("open",u),c.addEventListener("message",p=>{try{JSON.parse(p.data).type==="session.closed"&&r===this.generation&&(this.release(),this.update({status:"ended",finalized:!0}))}catch{}}),l.addEventListener("connectionstatechange",()=>{u(),l.connectionState==="failed"&&r===this.generation&&(this.onError(new Error("The voice connection failed. Your background work continues.")),this.end().catch(this.onError))}),await l.setLocalDescription(await l.createOffer());const d=await this.request("/api/voice/connect",{method:"POST",body:{sdp:l.localDescription.sdp,provider:t,sessionId:a}});return r!==this.generation?(await this.request("/api/voice/end",{method:"POST",body:{id:d.id}}),this.state):(this.update({id:d.id,provider:d.provider,model:d.model,fallbackReason:d.fallbackReason||null}),await l.setRemoteDescription({type:"answer",sdp:d.sdp}),await u(),this.connectionTimer=setTimeout(()=>{r===this.generation&&this.state.status==="connecting"&&(this.onError(new Error("Voice media could not connect. Check microphone and network access, then try again.")),this.end().catch(this.onError))},25e3),this.state)}catch(i){if(r!==this.generation)return this.state;if(this.state.id)try{await this.request("/api/voice/end",{method:"POST",body:{id:this.state.id}})}catch{}this.release();const s=i.name==="NotAllowedError"?"Microphone access was declined. Allow microphone access for this site, then call again.":i.message;throw this.update({status:"error",error:s,id:null}),new Error(s)}}setKeepAwake(t){this.update({keepAwake:!!t}),this.wakeLock.setEnabled(!!t)}setMuted(t){var r;const a=!!t;(r=this.stream)==null||r.getAudioTracks().forEach(o=>{o.enabled=!a}),this.update({muted:a}),this.callAudio.setMuted(a)}async end(){var a;++this.generation,this.update({status:"ending"}),(a=this.stream)==null||a.getAudioTracks().forEach(r=>{r.enabled=!1});let t;try{return t=await this.request("/api/voice/end",{method:"POST",body:{id:this.state.id||null}}),t}finally{this.release(),this.update({status:"ended",finalized:(t==null?void 0:t.finalized)||!1,id:null})}}release(){var t,a,r;this.callAudio.stop(),this.wakeLock.setActive(!1),clearTimeout(this.connectionTimer),(t=this.stream)==null||t.getTracks().forEach(o=>o.stop()),(a=this.events)==null||a.close(),(r=this.peer)==null||r.close(),this.audio&&(this.audio.pause(),this.audio.srcObject=null),this.peer=this.stream=this.events=this.audio=null}dispose(){++this.generation,this.onPageHide(),window.removeEventListener("pagehide",this.onPageHide),this.wakeLock.dispose(),this.callAudio.dispose()}}function uq(e,t){return new Promise((a,r)=>{let o=!1,i;const s=(c,u)=>{var d,p;if(o){(d=u==null?void 0:u.close)==null||d.call(u);return}o=!0,clearTimeout(l),i!==void 0&&((p=t.cancelVideoFrameCallback)==null||p.call(t,i)),c?r(c):a(u)},l=setTimeout(()=>s(Error("No fresh screen frame arrived.")),2e3);try{globalThis.ImageCapture?new globalThis.ImageCapture(e).grabFrame().then(c=>s(null,c),c=>s(c)):t.requestVideoFrameCallback?i=t.requestVideoFrameCallback(()=>s(null,t)):s(Error("Fresh frame capture is unsupported by this browser."))}catch(c){s(c)}})}class dk{constructor({request:t,onState:a=()=>{},getVoice:r,scope:o="voice",media:i=(s=>(s=globalThis.navigator)==null?void 0:s.mediaDevices)()}){var l;Object.assign(this,{request:t,onState:a,getVoice:r,media:i,scope:o}),this.generation=0,this.stream=null,this.grant=null,this.video=null,this.onPageHide=()=>this.stop(),(l=globalThis.window)==null||l.addEventListener("pagehide",this.onPageHide)}url(t){return`/api/${this.scope}/visual/${t}`}target(t){return{sessionId:t.sessionId,callId:this.scope==="voice"?t.id:null}}state(t){this.value={...this.value,...t},this.onState(this.value)}active(t){const a=this.getVoice();return(a==null?void 0:a.status)==="connected"&&a.id===t}async choose(){var r;const t=this.getVoice();if((t==null?void 0:t.status)!=="connected"||!t.id)throw Error(this.scope==="voice"?"Connect a voice call before choosing a screen source.":"Open a conversation before choosing a screen source.");if(!((r=this.media)!=null&&r.getDisplayMedia))throw Error("Screen capture is unavailable in this browser. Use a desktop browser on localhost or HTTPS.");this.stop();const a=this.generation;this.state({status:"choosing",error:null});try{const o=await this.media.getDisplayMedia({video:{width:{ideal:1280},height:{ideal:1280}},audio:!1});if(a!==this.generation||!this.active(t.id))throw o.getTracks().forEach(d=>d.stop()),Error("The chat or call changed while choosing a source.");this.stream=o;const i=o.getVideoTracks()[0];if(!i)throw Error("The selected source has no video track.");i.addEventListener("ended",()=>this.stop());const s=document.createElement("video");if(s.muted=!0,s.playsInline=!0,s.srcObject=o,this.video=s,await s.play(),a!==this.generation||!this.active(t.id))throw Error("The chat or call ended while preparing the source.");const l=i.getSettings().displaySurface||"unknown",c={kind:["browser","window","monitor"].includes(l)?l:"unknown",label:(i.label||"User-selected source").slice(0,200)},u=await this.request(this.url("grant"),{method:"POST",body:{...this.target(t),source:c}});if(a!==this.generation||!this.active(t.id))throw await this.request(this.url("revoke"),{method:"POST",body:{grantId:u.id}}).catch(()=>{}),Error("The chat or call changed; source permission was discarded.");this.grant=u,this.expiry=setTimeout(()=>this.stop(),Math.max(0,u.expiresAt*1e3-Date.now())),this.state({status:"ready",source:c,grantId:u.id})}catch(o){throw a===this.generation&&(this.stop(),this.state({status:"error",error:o.name==="NotAllowedError"?"Screen permission was not granted.":o.message})),o}}async checkNative(){const t=this.getVoice(),a=await this.request(this.url("native/status"),{method:"POST",body:this.target(t)});if(!this.active(t.id))throw Error("The chat or call ended while checking the desktop host.");return this.state({native:a}),a}async chooseNative(){var i;const t=this.getVoice(),a=(i=this.value)==null?void 0:i.native;if(!(a!=null&&a.available)||!this.active(t.id))throw Error("Check the desktop host before granting access.");this.stop();const r=this.generation,o=await this.request(this.url("grant"),{method:"POST",body:{...this.target(t),source:{kind:"native-foreground",hostId:a.host.id,hostInstanceId:a.hostInstanceId}}});if(r!==this.generation||!this.active(t.id))throw await this.request(this.url("revoke"),{method:"POST",body:{grantId:o.id}}).catch(()=>{}),Error("The chat or call changed; source permission was discarded.");this.grant=o,this.expiry=setTimeout(()=>this.stop(),Math.max(0,o.expiresAt*1e3-Date.now())),this.state({status:"ready",source:o.source,grantId:o.id})}sync(t,a,r){var i,s,l,c,u;const o=(i=this.getVoice())==null?void 0:i.id;this.scope==="computer"&&this.lastIdentity!==void 0&&this.lastIdentity!==o&&(this.stop(),this.state({native:null,capturedAt:null})),this.lastIdentity=o,this.grant&&(!a||!this.active(((s=this.grant)==null?void 0:s.callId)||((l=this.grant)==null?void 0:l.sessionId)||(t==null?void 0:t.id))||this.grant&&((r==null?void 0:r.available)===!1||r!=null&&r.id&&r.id!==this.grant.id))&&this.stop(),this.grant&&((c=r==null?void 0:r.lastCapture)==null?void 0:c.grantId)===this.grant.id&&r.lastCapture.capturedAt!==((u=this.value)==null?void 0:u.capturedAt)&&this.state({capturedAt:r.lastCapture.capturedAt})}async capture(t){var i,s;const a=this.grant,r=this.generation,o={requestId:t.id,grantId:t.grantId,sessionId:t.sessionId,callId:t.callId};try{if(!a||t.grantId!==a.id||t.callId!==a.callId||t.sessionId!==a.sessionId||!this.active(a.callId||a.sessionId))throw Error("This screen source is no longer authorized.");const l=(i=this.stream)==null?void 0:i.getVideoTracks()[0];if(!l||l.readyState!=="live"||l.muted)throw Error("The selected source is unavailable or paused.");const c=this.video,u=await uq(l,c);let d;try{if(r!==this.generation||!this.active(a.callId||a.sessionId)||l.readyState!=="live"||l.muted)throw Error("Screen sharing ended before capture.");const m=u===c?c.videoWidth:u.width,h=u===c?c.videoHeight:u.height;if(!m||!h)throw Error("The source did not provide visible pixels.");const f=document.createElement("canvas"),v=Math.min(1,1280/Math.max(m,h));if(f.width=Math.max(1,Math.round(m*v)),f.height=Math.max(1,Math.round(h*v)),f.getContext("2d").drawImage(u,0,0,f.width,f.height),d=f.toDataURL("image/png").split(",")[1],d.length>666668)throw Error("This image is too large. Select a smaller window.")}finally{u!==c&&u.close()}const p=Date.now()/1e3;await this.request(this.url("complete"),{method:"POST",body:{...o,image:d,capturedAt:p}}),r===this.generation&&((s=this.grant)==null?void 0:s.id)===a.id&&this.state({status:"ready",capturedAt:p,error:null})}catch(l){this.state({error:l.message}),await this.request(this.url("complete"),{method:"POST",body:{...o,error:l.message}}).catch(()=>{})}}stop(){var a;++this.generation,clearTimeout(this.expiry);const t=this.grant;this.grant=null,(a=this.stream)==null||a.getTracks().forEach(r=>r.stop()),this.stream=null,this.video&&(this.video.pause(),this.video.srcObject=null,this.video=null),this.state({status:"idle",source:null,grantId:null,capturedAt:null}),t&&this.request(this.url("revoke"),{method:"POST",body:{grantId:t.id},keepalive:!0}).catch(()=>{})}dispose(){var t;this.stop(),(t=globalThis.window)==null||t.removeEventListener("pagehide",this.onPageHide)}}class dq extends dk{constructor({getSession:t,...a}){super({...a,scope:"computer",getVoice:()=>{const r=t();return{sessionId:r,id:r,status:r?"connected":"idle"}}})}}function pq({sessionId:e,visual:t,client:a,dispatch:r,onError:o}){const i=u=>Promise.resolve().then(u).catch(o),s="this chat in this browser",l="computer.visual",c={sessionId:e};return e?n.createElement("section",{className:"a-card","aria-label":"Computer use"},n.createElement("h3",null,"Screen context for ",s),n.createElement("p",{className:"a-caption"},"Choose a window, tab, display, or the named desktop host. Only explicit captures are sent. Amplifier may capture that source when you ask about it. Access expires after 15 minutes or when you stop sharing, switch chats or disconnect. Sharing works with both text and voice, and stays active when a call starts or ends. Saved snapshots stay in the conversation."),n.createElement("div",{"data-runtime-section":"desktop-host",tabIndex:-1},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",onClick:()=>i(()=>a.current.checkNative())},"Check desktop host")),t.native&&n.createElement("div",{role:"status"},n.createElement("p",null,"Desktop host: ",t.native.host.label,". This is the server's desktop, which may differ from this browser's device."),t.native.available?n.createElement("button",{className:"a-soft",onClick:()=>i(()=>a.current.chooseNative())},"Allow foreground snapshots from ",t.native.host.label," for ",s):n.createElement(n.Fragment,null,n.createElement("p",null,"Native observation is unavailable (",t.native.code||t.native.status,"). ",t.native.code==="backend_not_installed"?"The optional native-desktop library is missing from the serving app environment; a worker installation does not supply it.":t.native.code==="unsupported"?"The native source requires a local macOS host. Choose a browser screen source instead.":"Check the named host and its Screen Recording permission. Checking does not request permission or capture the screen."),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>i(()=>r("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["desktop"]}}))},"Open desktop setup")))),n.createElement("div",{"data-runtime-section":"screen-source",tabIndex:-1},t.source&&n.createElement("p",null,"Selected ",t.source.kind,": ",t.source.label),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft",disabled:t.status==="choosing",onClick:()=>{a.current.choose().catch(o)}},"Choose screen source"))),n.createElement("div",{"data-runtime-section":"capture",tabIndex:-1,className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":l+".capture",disabled:t.status!=="ready",onClick:()=>i(()=>r(l+".capture",c))},"Capture screen"),n.createElement("button",{className:"a-soft","data-action":l+".revoke",disabled:t.status!=="ready",onClick:()=>i(async()=>{a.current.stop(),await r(l+".revoke",c)})},"Stop screen sharing")),t.capturedAt&&n.createElement("p",{className:"a-caption"},"Last captured ",new Date(t.capturedAt*1e3).toLocaleTimeString(),". Available for the next text or spoken request for 30 seconds."),t.error&&n.createElement("p",{role:"status"},t.error),n.createElement("p",{className:"a-caption"},"Native foreground snapshots identify the visible window on the explicitly selected host. Desktop control is not granted.")):null}function mq({sessionId:e,visual:t,client:a,dispatch:r,onError:o}){return t.status!=="ready"||!t.source?null:n.createElement("div",{className:"a-sharing-strip",role:"status","aria-label":"Screen sharing active","data-part":"screen-sharing"},n.createElement("span",null,n.createElement("strong",null,"Sharing active"),n.createElement("small",null,t.source.label||t.source.kind)),n.createElement("button",{type:"button",className:"a-soft","data-action":"computer.visual.revoke",onClick:()=>{a.current.stop(),r("computer.visual.revoke",{sessionId:e}).catch(o)}},"Stop sharing"))}function hq({state:e,act:t}){var m,h;const[a,r]=g.useState(""),[o,i]=g.useState(!1),[s,l]=g.useState(null),c=g.useRef(!1),u=(((m=e.feedback)==null?void 0:m.requests)||[]).filter(f=>f.status==="unknown"),d=(((h=e.feedback)==null?void 0:h.followups)||[]).find(f=>f.requestId===s);async function p(f){if(c.current)return;c.current=!0,i(!0),r("");const v=crypto.randomUUID();l(v);try{await t("feedback.reconcile",{requestId:v,feedbackId:f})}catch(y){r(y.message)}finally{c.current=!1,i(!1)}}return n.createElement("section",{"aria-label":"Unconfirmed feedback delivery"},!!u.length&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Unconfirmed delivery"),n.createElement("p",null,"Check for the original report using its saved identity. Checking never sends it again."),u.map(f=>n.createElement("div",{key:f.requestId},n.createElement("strong",null,f.title),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.reconcile",disabled:o||["queued","sending"].includes(d==null?void 0:d.status),onClick:()=>p(f.requestId)},"Check delivery")))),d&&n.createElement("p",{role:"status"},d.message),a&&n.createElement("p",{role:"alert"},a))}function fq({state:e,report:t,act:a}){var S,I;const r=(S=e.view)==null?void 0:S.feedbackCorrectionDraft,[o,i]=g.useState(r||null),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(o),p=g.useRef(Promise.resolve()),m=g.useRef(!1),h=g.useRef(null),f=g.useRef(!1);g.useEffect(()=>()=>{clearTimeout(h.current),f.current&&b(d.current).catch(()=>{})},[]),g.useEffect(()=>{!f.current&&!m.current&&(d.current=r||null,i(r||null))},[r]);const v=(((I=e.feedback)==null?void 0:I.followups)||[]).find(N=>{var M;return N.requestId===((M=o==null?void 0:o.pending)==null?void 0:M.requestId)}),y=(o==null?void 0:o.feedbackId)===t.feedbackId,E=["submitted","unknown","failed"].includes(v==null?void 0:v.status);function b(N){clearTimeout(h.current),f.current=!0,d.current=N,i(N);const M=p.current.catch(()=>{}).then(()=>a("view.update",{patch:{feedbackCorrectionDraft:N}})).then(k=>{if((k==null?void 0:k.accepted)===!1)throw Error("The correction draft could not be saved.");d.current===N&&(f.current=!1)});return p.current=M,M.catch(k=>u(k.message)),M}function x(N){f.current=!0,d.current={...d.current,...N},i(d.current),clearTimeout(h.current),h.current=setTimeout(()=>void b(d.current).catch(()=>{}),250)}function w(){u(""),b({feedbackId:t.feedbackId,title:t.editableTitle,body:t.editableBody,expectedRevision:t.revision})}async function R(N){if(N.preventDefault(),!(m.current||E)){m.current=!0,l(!0),u("");try{const M=d.current,k=M.pending||{requestId:crypto.randomUUID(),feedbackId:M.feedbackId,title:M.title,body:M.body,expectedRevision:M.expectedRevision};await b({...M,pending:k}),await a("feedback.update",k)}catch(M){u(M.message||"Delivery was not acknowledged. Retry only this same request.")}finally{m.current=!1,l(!1)}}}return y?n.createElement("form",{onSubmit:R,"aria-label":"Feedback correction"},n.createElement("h4",null,"Correction version"),n.createElement("p",null,"The correction is added as a comment. The original report and maintainer edits stay intact."),n.createElement("label",{htmlFor:"feedback-corrected-title"},"Corrected title"),n.createElement("input",{id:"feedback-corrected-title",maxLength:200,required:!0,disabled:!!o.pending||s,value:o.title,onChange:N=>x({title:N.target.value}),onBlur:()=>void b(d.current).catch(()=>{})}),n.createElement("label",{htmlFor:"feedback-corrected-body"},"Corrected description"),n.createElement("textarea",{id:"feedback-corrected-body",maxLength:16e3,required:!0,disabled:!!o.pending||s,value:o.body,onChange:N=>x({body:N.target.value}),onBlur:()=>void b(d.current).catch(()=>{})}),o.expectedRevision!==t.revision&&!o.pending&&n.createElement(n.Fragment,null,n.createElement("p",null,"The report changed. Review the refreshed report before using it as the correction's starting revision."),n.createElement("button",{type:"button",className:"a-soft",onClick:()=>b({...d.current,expectedRevision:t.revision})},"Use reviewed revision")),!E&&n.createElement("button",{className:"a-primary","data-action":"feedback.update",disabled:s||["queued","sending"].includes(v==null?void 0:v.status)||o.expectedRevision!==t.revision||!o.title.trim()||!o.body.trim()},o.pending?"Check correction status":"Publish correction comment"),v&&n.createElement("p",{role:"status"},v.message),(v==null?void 0:v.commentUrl)&&n.createElement("a",{href:v.commentUrl,target:"_blank",rel:"noopener noreferrer"},"View correction"),(E||!o.pending)&&n.createElement("button",{type:"button",className:"a-soft",disabled:s,onClick:()=>b(null)},"Close correction draft"),c&&n.createElement("p",{role:"alert"},c)):n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-soft",onClick:w,disabled:!!(o!=null&&o.body)},"Draft a correction"),(o==null?void 0:o.body)&&n.createElement("p",null,"A correction for another report is saved. Return to that report before starting another."))}function gq({state:e,report:t,act:a}){var f,v;const[r,o]=g.useState(!1),[i,s]=g.useState(""),l=g.useRef(!1),c=(f=e.view)==null?void 0:f.feedbackLifecycleDraft,u=(c==null?void 0:c.feedbackId)===t.feedbackId?c:null,d=(((v=e.feedback)==null?void 0:v.followups)||[]).find(y=>y.requestId===(u==null?void 0:u.requestId)),p=u&&!["submitted","failed","unknown"].includes(d==null?void 0:d.status);async function m(){if(l.current)return;l.current=!0,o(!0),s("");const y=t.state==="closed"?"feedback.reopen":"feedback.close",E=p?u:{action:y,requestId:crypto.randomUUID(),feedbackId:t.feedbackId,expectedRevision:t.revision};try{const b=await a("view.update",{patch:{feedbackLifecycleDraft:{...E,readRequestId:t.requestId}}});if((b==null?void 0:b.accepted)===!1)throw Error("Could not save the change request.");const{action:x,readRequestId:w,...R}=E;await a(x,R)}catch(b){s(b.message||"The state change was not acknowledged. Check this same request.")}finally{l.current=!1,o(!1)}}const h=d&&["submitted","unknown"].includes(d.status)&&t.requestId===(u==null?void 0:u.readRequestId);return n.createElement("section",{"aria-label":"Feedback report state"},n.createElement("button",{type:"button",className:"a-soft","data-action":t.state==="closed"?"feedback.reopen":"feedback.close",disabled:r||["queued","sending"].includes(d==null?void 0:d.status)||h,onClick:m},p?"Check state change":t.state==="closed"?"Reopen my report":"Close my report"),d&&n.createElement("p",{role:"status"},d.message," Refresh the report to review its current state."),i&&n.createElement("p",{role:"alert"},i))}function vq({state:e,act:t}){var A,q,z,F,H,ne,B;const a=(((A=e.feedback)==null?void 0:A.requests)||[]).filter(P=>P.status==="submitted"),r=(q=e.view)==null?void 0:q.feedbackFollowupDraft,[o,i]=g.useState(r||{feedbackId:"",body:""}),[s,l]=g.useState(""),[c,u]=g.useState(!1),d=g.useRef(o),p=g.useRef(!1),m=g.useRef(!1),h=g.useRef(null),f=g.useRef(null);g.useEffect(()=>()=>{clearTimeout(h.current),p.current&&I().catch(()=>{})},[]),g.useEffect(()=>{r&&!p.current&&!m.current&&(d.current=r,i(r))},[r]);const v=o.pending,y=v&&(((z=e.feedback)==null?void 0:z.followups)||[]).find(P=>P.requestId===v.requestId),E=y||(((F=e.feedback)==null?void 0:F.followups)||[]).find(P=>P.requestId===o.submittedRequestId&&P.feedbackId===o.feedbackId&&P.status==="submitted");g.useEffect(()=>{var P;(y==null?void 0:y.status)!=="submitted"||((P=d.current.pending)==null?void 0:P.requestId)!==y.requestId||(l(""),N({feedbackId:d.current.feedbackId,body:"",submittedRequestId:y.requestId}).catch(()=>l("The comment was sent, but the cleared draft could not be saved. Reconnect and try again.")))},[y==null?void 0:y.status,y==null?void 0:y.requestId]);const b=(((H=e.feedback)==null?void 0:H.followups)||[]).find(P=>{var _;return P.feedbackId===o.feedbackId&&P.requestId===((_=e.feedback)==null?void 0:_.readRequestId)}),x=((B=(ne=e.feedback)==null?void 0:ne.report)==null?void 0:B.feedbackId)===o.feedbackId?e.feedback.report:null,w=c||["queued","sending"].includes(y==null?void 0:y.status),R=["submitted","unknown","failed"].includes(y==null?void 0:y.status);function S(P){p.current=!0,d.current={...d.current,...P},i(d.current),clearTimeout(h.current),h.current=setTimeout(()=>I().catch(()=>l("The draft could not be saved.")),250)}async function I(){if(clearTimeout(h.current),f.current)return await f.current,I();if(!p.current)return;const P=d.current,_=t("view.update",{patch:{feedbackFollowupDraft:P}});f.current=_;try{const ee=await _;if(!ee||ee.accepted===!1)throw Error("The draft could not be saved.");d.current===P&&(p.current=!1)}finally{f.current=null}if(p.current)return I()}async function N(P){d.current=P,p.current=!0,i(P),await I()}async function M(P=1){l("");try{await N(d.current),await t("feedback.get",{requestId:crypto.randomUUID(),feedbackId:d.current.feedbackId,page:P})}catch{l("Could not load the report. Check the connection and try again.")}}async function k(P){if(P.preventDefault(),m.current||w||R)return;m.current=!0,u(!0),l("");const _=d.current.pending||{requestId:crypto.randomUUID(),feedbackId:d.current.feedbackId,body:d.current.body},ee={...d.current,pending:_};d.current=ee,i(ee);try{await N(ee),await t("feedback.comment",_)}catch{l("The comment was not acknowledged. Check the same request below; it will not post twice.")}finally{m.current=!1,u(!1)}}async function T(){const P={feedbackId:o.feedbackId,body:""};try{await N(P),d.current=P,i(P),l("")}catch{l("Could not start a new comment.")}}return a.length?n.createElement("section",{className:"a-feedback-followup","aria-label":"Feedback follow-up"},n.createElement("h3",null,"Follow up on feedback"),n.createElement("label",{htmlFor:"feedback-report"},"Submitted report"),n.createElement("select",{id:"feedback-report","data-action":"view.update",disabled:!!v||c,value:o.feedbackId,onChange:P=>S({feedbackId:P.target.value})},n.createElement("option",{value:""},"Choose a report"),a.map(P=>n.createElement("option",{key:P.requestId,value:P.requestId},P.title))),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.get",disabled:!o.feedbackId||c||["queued","sending"].includes(b==null?void 0:b.status),onClick:()=>M()},"Refresh report"),b&&n.createElement(it,{phase:b.status==="failed"?"error":b.status==="completed"?"success":"working",message:b.message}),x&&n.createElement("div",{className:"a-feedback-report"},n.createElement("h4",null,x.title," · ",x.state),n.createElement("a",{href:x.url,target:"_blank",rel:"noopener noreferrer"},"Open issue on GitHub"),n.createElement("pre",null,x.body),x.comments.map(P=>n.createElement("div",{key:P.id},n.createElement("strong",null,P.author.login),n.createElement("small",null," ",P.createdAt),n.createElement("pre",null,P.body))),n.createElement("div",null,x.page>1&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>M(x.page-1)},"Previous comments"),x.hasMore&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>M(x.page+1)},"More comments"))),x&&n.createElement(fq,{key:x.feedbackId,state:e,report:x,act:t}),x&&n.createElement(gq,{state:e,report:x,act:t}),n.createElement("form",{onSubmit:k,"data-action":"feedback.comment"},n.createElement("label",{htmlFor:"feedback-comment"},"Add a comment"),n.createElement("textarea",{id:"feedback-comment","data-action":"view.update",maxLength:16e3,required:!0,disabled:!!v||c,value:(v==null?void 0:v.body)??o.body,onChange:P=>S({body:P.target.value}),onBlur:()=>N(d.current).catch(()=>l("The draft could not be saved."))}),n.createElement("p",{className:"a-caption"},"Only this text is added to the selected report, using the host’s GitHub sign-in. The report must belong to that account."),E&&n.createElement(it,{phase:E.status==="submitted"?"success":["unknown","failed"].includes(E.status)?"error":"working",message:E.message}),s&&n.createElement(it,{phase:"error",message:s}),(E==null?void 0:E.commentUrl)&&n.createElement("a",{href:E.commentUrl,target:"_blank",rel:"noopener noreferrer"},"View comment"),(y==null?void 0:y.status)==="unknown"&&n.createElement("a",{href:y.url,target:"_blank",rel:"noopener noreferrer"},"Check the issue before starting another comment"),!R&&n.createElement("button",{type:"submit",className:"a-primary","data-action":"feedback.comment",disabled:w||!o.feedbackId||!o.body.trim()},w?"Sending…":v?"Check comment status":"Send comment"),R&&n.createElement("button",{type:"button",className:"a-soft",onClick:T},"New comment"))):null}function bq({state:e,act:t,frozen:a,onStage:r}){var i;const o=(i=e.sessions)==null?void 0:i.find(s=>s.id===e.selectedSessionId);return o?n.createElement(yq,{key:o.id,session:o,act:t,frozen:a,onStage:r}):null}function yq({session:e,act:t,frozen:a,onStage:r}){var ne,B;const o=(e.messages||[]).filter(P=>P.id&&["user","assistant"].includes(P.role)&&!P.streaming),[i,s]=g.useState(!1),[l,c]=g.useState(((ne=o.at(-1))==null?void 0:ne.id)||""),[u,d]=g.useState(((B=o.at(-1))==null?void 0:B.id)||""),[p,m]=g.useState(null),[h,f]=g.useState(""),[v,y]=g.useState(!1),[E,b]=g.useState(""),[x,w]=g.useState(!1),[R,S]=g.useState(!1),[I,N]=g.useState(!1),M=g.useRef(0),k=g.useRef(null);g.useEffect(()=>()=>{M.current++},[]);function T(){M.current++,m(null),w(!1),S(!1),b(""),N(!1),k.current=null}async function A(P=!1){var ee,Z;const _=++M.current;y(!0),b(""),w(!1),S(!1),k.current=null;try{const D=P?p.snapshotId:(Z=(ee=await t("session.export",{id:e.id,format:"markdown",destination:"none",scope:"range",minimal:!0,fromMessageId:l,throughMessageId:u}))==null?void 0:ee.result)==null?void 0:Z.snapshotId;if(!D)throw Error("The selected excerpt could not be prepared.");const G=await t("feedback.excerpt.review",{id:e.id,snapshotId:D,...P?{text:h}:{}});if(!(G!=null&&G.result))throw Error("The excerpt or destination could not be checked. Nothing was sent.");_===M.current&&(m(G.result),f(G.result.text),N(!1))}catch(D){_===M.current&&b(D.message)}finally{_===M.current&&y(!1)}}async function q(){const P=++M.current;y(!0),b(""),k.current||(k.current={id:e.id,reviewId:p.reviewId,requestId:crypto.randomUUID(),acknowledgeDisclosure:!0,acknowledgeWarnings:R});try{await r(k.current),P===M.current&&(N(!0),k.current=null)}catch(_){P===M.current&&b(_.message||"The attachment was not acknowledged. Check again using the same review.")}finally{P===M.current&&y(!1)}}const z=p&&h!==p.text,F=a||v,H=o.map((P,_)=>n.createElement("option",{key:P.id+_,value:P.id},_+1,". ",P.role==="user"?"You":"Amplifier",": ",String(P.text||"").replace(/\s+/g," ").slice(0,80)));return n.createElement("section",{"aria-label":"Optional conversation excerpt"},n.createElement("button",{type:"button",className:"a-soft",disabled:F,onClick:()=>s(!i)},i?"Hide excerpt review":"Attach transcript excerpt"),i&&n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},"Optional. Starts with one message; choose only the context needed. Hidden instructions, tool payloads and file contents are excluded. Nothing uploads until you send feedback."),n.createElement("label",null,"Excerpt start",n.createElement("select",{"aria-label":"Excerpt start",value:l,disabled:F,onChange:P=>{T(),c(P.target.value)}},H)),n.createElement("label",null,"Excerpt end",n.createElement("select",{"aria-label":"Excerpt end",value:u,disabled:F,onChange:P=>{T(),d(P.target.value)}},H)),n.createElement("button",{type:"button",className:"a-soft",disabled:F||!l||!u,onClick:()=>A()},"Preview selected excerpt"),p&&n.createElement("div",{"aria-label":"Reviewed feedback excerpt"},n.createElement("p",null,n.createElement("strong",null,p.visibility==="public"?"Publicly visible on GitHub":"Private GitHub repository"),": ",p.repository,". Submitted content may remain in repository history and cannot be retracted through this app."),n.createElement("p",null,p.summary.messageCount," source messages · ",p.bytes.toLocaleString()," bytes · ",p.filename),n.createElement("p",{className:"a-caption"},p.redactions.length?p.redactions.map(P=>`${P.count} ${P.kind.toLowerCase()} redaction(s)`).join(" · "):"No additional redactions in this review."),p.warnings.map(P=>n.createElement("p",{className:"a-caption",key:P},P)),n.createElement("textarea",{"aria-label":"Edit feedback excerpt",rows:8,maxLength:64e3,value:h,disabled:F||I,onChange:P=>{M.current++,k.current=null,f(P.target.value),w(!1),S(!1)}}),z&&n.createElement("button",{type:"button",className:"a-soft",disabled:F,onClick:()=>A(!0)},"Review edited excerpt"),n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:x,disabled:F||z||I,onChange:P=>w(P.target.checked)}),"I reviewed this exact text and agree to share it with ",p.visibility==="public"?"the public":"people with access to this repository",", where it may be retained."),p.requiresExtraReview&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:R,disabled:F||z||I,onChange:P=>S(P.target.checked)}),"I reviewed the scope, sensitive-content warnings and automatic redactions."),n.createElement("button",{type:"button",className:"a-soft",disabled:F||z||!x||p.requiresExtraReview&&!R||I,onClick:q},I?"Excerpt attached locally":"Attach reviewed excerpt")),v&&n.createElement("p",{role:"status"},"Preparing the local excerpt and checking its destination…"),E&&n.createElement("p",{role:"alert"},E)))}const Lc=()=>({title:"",body:"",category:"bug",includeDiagnostics:!0,attachments:[],confirmExcerpts:!1,confirmedExcerpts:[]}),Eq=e=>e<1024?`${e} B`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`,wq=e=>new Promise((t,a)=>{const r=new FileReader;r.onerror=()=>a(new Error("Could not read this file.")),r.onload=()=>t(String(r.result).split(",")[1]),r.readAsDataURL(e)});function kq({state:e,act:t}){var _e,$e,De,de,ve;const a=(_e=e.view)==null?void 0:_e.feedbackDraft,r=g.useRef(e.selectedSessionId);r.current=e.selectedSessionId;const o=g.useRef(!0);g.useEffect(()=>(o.current=!0,()=>{o.current=!1}),[]);const[i,s]=g.useState(()=>a||Lc()),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(!1),[h,f]=g.useState(!1),[v,y]=g.useState(null),E=g.useRef(i),b=g.useRef(!1),x=g.useRef(null),w=g.useRef(!1),R=g.useRef(!1),S=g.useRef(null),I=g.useRef(null);g.useEffect(()=>()=>{clearTimeout(S.current),R.current&&B().catch(()=>{})},[]),g.useEffect(()=>{a&&!R.current&&!b.current&&(E.current=a,s(a))},[a]);const N=(($e=e.feedback)==null?void 0:$e.requests)||[],M=i.pending,k=M&&N.find(O=>O.requestId===M.requestId),T=M||i;g.useEffect(()=>{k&&["submitted","failed","unknown"].includes(k.status)&&d("")},[k==null?void 0:k.status]),g.useEffect(()=>{var O;(k==null?void 0:k.status)!=="submitted"||((O=E.current.pending)==null?void 0:O.requestId)!==k.requestId||(y(null),P(Lc()).catch(()=>d("Feedback was sent, but the cleared draft could not be saved. Reconnect and try again.")))},[k==null?void 0:k.status,k==null?void 0:k.requestId]);const A=l||["queued","sending"].includes(k==null?void 0:k.status),q=["submitted","failed","unknown"].includes(k==null?void 0:k.status),z=!!M||p,F=i.previewId,H=(i.attachments||[]).filter(O=>{var W;return!M||((W=M.attachmentIds)==null?void 0:W.includes(O.id))}),ne=((De=e.feedback)==null?void 0:De.issuesUrl)||"https://github.com/microsoft/amplifier-unified/issues";async function B(){if(clearTimeout(S.current),I.current)return await I.current,B();if(!R.current)return;const O=E.current,W=t("view.update",{patch:{feedbackDraft:O}});I.current=W;try{const ae=await W;if(!ae||ae.accepted===!1)throw Error("The draft could not be saved.");E.current===O&&(R.current=!1)}finally{I.current=null}if(R.current)return B()}function P(O){return E.current=O,R.current=!0,s(O),B()}function _(O){d(""),E.current={...E.current,...O},R.current=!0,s(E.current),clearTimeout(S.current),S.current=setTimeout(()=>B().catch(()=>d("The draft could not be saved. Reconnect and try again.")),250)}function ee(O){_({previewId:O})}async function Z(O){if(w.current||E.current.pending)throw Error("Wait for the current attachment or submission to finish.");w.current=!0,m(!0);try{if(await B(),r.current!==O.id)throw Error("The selected conversation changed. Review its excerpt again.");const W=await t("feedback.excerpt.stage",O);if(!(W!=null&&W.result))throw Error("The excerpt was not attached. Check the same review again.");o.current&&r.current===O.id&&D(W)}finally{w.current=!1,m(!1)}}function D(O){var ae,ze;const W=(ze=(ae=O==null?void 0:O.state)==null?void 0:ae.view)==null?void 0:ze.feedbackDraft;if(W){const Me=JSON.stringify(W.attachments)!==JSON.stringify(E.current.attachments);E.current={...E.current,attachments:W.attachments,...Me?{confirmExcerpts:!1,confirmedExcerpts:[]}:{}},s(E.current),Me&&(R.current=!0,B().catch(()=>d("The updated attachment list could not be saved.")))}}async function G(O,W){if(!(w.current||E.current.pending)){w.current=!0,m(!0),d(""),f(!1);try{await B(),W&&(D(await t("feedback.attachment.add",W)),y(null));for(const ae of O){if(!ae.size||ae.size>8*1024*1024)throw new Error("Choose nonempty files up to 8 MB each.");const ze={requestId:crypto.randomUUID(),name:ae.name||"pasted-image.png",base64:await wq(ae)};try{D(await t("feedback.attachment.add",ze))}catch(Me){throw y(ze),Me}}}catch(ae){d((ae==null?void 0:ae.message)||"The file could not be added. Check the draft and retry; it will not be added twice.")}finally{w.current=!1,m(!1)}}}async function j(O){if(!z){d("");try{await B(),D(await t("feedback.attachment.remove",{id:O})),F===O&&ee(null)}catch(W){d((W==null?void 0:W.message)||"The attachment could not be removed.")}}}function K(O){var ae;const W=Array.from(((ae=O.clipboardData)==null?void 0:ae.files)||[]);W.length&&(O.preventDefault(),O.stopPropagation(),z||G(W))}function oe(O){var W,ae;(ae=(W=O.dataTransfer)==null?void 0:W.types)!=null&&ae.includes("Files")&&(O.preventDefault(),O.stopPropagation(),f(!1),z||G(Array.from(O.dataTransfer.files||[])))}async function xe(O){if(O.preventDefault(),b.current||w.current||A||q||v)return;b.current=!0,c(!0),d("");const W=E.current,ae=W.pending||{requestId:crypto.randomUUID(),title:W.title,body:W.body,category:W.category,includeDiagnostics:W.includeDiagnostics!==!1,...W.includeDiagnostics!==!1?{deviceDiagnostics:qw(e)}:{},confirmExcerpts:W.confirmExcerpts===!0,confirmedExcerpts:W.confirmedExcerpts||[],attachmentIds:(W.attachments||[]).map(ze=>ze.id)};try{await P({...W,pending:ae}),await t("feedback.submit",ae)}catch{d("The submission was not acknowledged. Check its status using the same request below; this will not post it twice.")}finally{b.current=!1,c(!1)}}async function ce(){if(!(l||p)){d(""),y(null);try{await P(Lc())}catch{d("Could not start a new draft. Reconnect and try again.")}}}return n.createElement("section",{className:`a-feedback${h?" is-dragging":""}`,"data-part":"feedback",onPaste:K,onDrop:oe,onDragOver:O=>{var W,ae;(ae=(W=O.dataTransfer)==null?void 0:W.types)!=null&&ae.includes("Files")&&(O.preventDefault(),O.stopPropagation(),z||f(!0))},onDragLeave:O=>{O.currentTarget.contains(O.relatedTarget)||f(!1)}},n.createElement("p",null,"Send a bug report, idea, or question to ",n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"microsoft/amplifier-unified"),". Uses the host’s GitHub sign-in."),(k||u)&&n.createElement("div",{className:"a-feedback-result"},n.createElement(it,{phase:(k==null?void 0:k.status)==="submitted"?"success":["failed","unknown"].includes(k==null?void 0:k.status)?"error":"working",message:k==null?void 0:k.message}),u&&n.createElement(it,{phase:"error",message:u})," ",(k==null?void 0:k.url)&&n.createElement("a",{className:"a-feedback-link",href:k.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14}))," ",(k==null?void 0:k.status)==="unknown"&&n.createElement(n.Fragment,null,n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues ",n.createElement(ba,{size:14})),k.attachmentsUrl&&n.createElement("a",{href:k.attachmentsUrl,target:"_blank",rel:"noopener noreferrer"},"Check attachment branch ",n.createElement(ba,{size:14})))),n.createElement("form",{onSubmit:xe,"data-action":"feedback.submit"},n.createElement("label",{htmlFor:"feedback-category"},"Type"),n.createElement("select",{id:"feedback-category","data-action":"view.update",value:T.category||"bug",disabled:z,onChange:O=>_({category:O.target.value})},n.createElement("option",{value:"bug"},"Bug report"),n.createElement("option",{value:"idea"},"Feature idea"),n.createElement("option",{value:"question"},"Question"),n.createElement("option",{value:"other"},"Other feedback")),n.createElement("label",{htmlFor:"feedback-title"},"Title"),n.createElement("input",{id:"feedback-title","data-action":"view.update",maxLength:200,required:!0,disabled:z,value:T.title||"",onChange:O=>_({title:O.target.value}),placeholder:"A short description"}),n.createElement("label",{htmlFor:"feedback-body"},"Details"),n.createElement("textarea",{id:"feedback-body","data-action":"view.update",maxLength:16e3,rows:4,required:!0,disabled:z,value:T.body||"",onChange:O=>_({body:O.target.value}),placeholder:"What happened, what you expected, or what you’d like to do…","aria-describedby":T.category==="bug"?"feedback-reproduction-help":void 0}),T.category==="bug"&&n.createElement("p",{id:"feedback-reproduction-help",className:"a-caption"},"What action triggered it? Was this a new chat or an existing one? Describe what you expected, what happened, and whether it repeats. Leave out private conversation text and credentials."),n.createElement("div",{className:"a-feedback-files","aria-label":"Feedback attachments"},n.createElement("input",{ref:x,type:"file",multiple:!0,hidden:!0,disabled:z,"aria-label":"Choose feedback files",onChange:O=>{const W=Array.from(O.target.files||[]);O.target.value="",G(W)}}),!M&&n.createElement("button",{type:"button",className:"a-soft a-feedback-add-files","data-action":"feedback.attachment.add",disabled:p||!!v,onClick:()=>{var O;return(O=x.current)==null?void 0:O.click()}},n.createElement(Lu,{size:16}),p?"Adding files…":"Add files or images"),!M&&n.createElement("p",{className:"a-caption"},"Or drop files here, or paste an image. Up to 8 files, 8 MB each, 24 MB total."),!!H.length&&n.createElement("ul",null,H.map(O=>{var W;return n.createElement("li",{key:O.id},n.createElement("button",{type:"button",className:"a-feedback-file-preview","data-action":"view.update",disabled:p,"aria-label":`Preview ${O.name}`,onClick:()=>ee(F===O.id?null:O.id)},(W=O.mime)!=null&&W.startsWith("image/")&&/^[a-f0-9]{32}$/.test(O.id)?n.createElement("img",{src:`/api/attachments/${O.id}`,alt:""}):n.createElement(Fl,{size:22}),n.createElement("span",null,n.createElement("strong",null,O.name),n.createElement("small",null,Eq(O.size)," · ",M?"Included":O.excerpt?`Reviewed excerpt · ${O.excerpt.visibility}`:"Ready to include"))),!M&&n.createElement("button",{type:"button",className:"a-icon","data-action":"feedback.attachment.remove","aria-label":`Remove ${O.name}`,disabled:p,onClick:()=>j(O.id)},n.createElement(tn,{size:16})))})),H.filter(O=>O.id===F&&/^[a-f0-9]{32}$/.test(O.id)).map(O=>{var W,ae;return n.createElement("div",{className:"a-feedback-preview",key:O.id},(W=O.mime)!=null&&W.startsWith("image/")?n.createElement("img",{src:`/api/attachments/${O.id}`,alt:`Preview of ${O.name}`}):n.createElement(Fl,{size:32}),n.createElement("a",{href:`/api/attachments/${O.id}`,download:O.name},(ae=O.mime)!=null&&ae.startsWith("image/")?n.createElement(jk,{size:14}):n.createElement(Fl,{size:14}),"Open ",O.name))}),v&&n.createElement("div",{className:"a-feedback-upload-retry"},n.createElement("button",{type:"button",className:"a-soft",disabled:p,onClick:()=>G([],v)},"Check attachment: ",v.name),n.createElement("button",{type:"button",className:"a-soft",disabled:p,onClick:()=>{y(null),d("")}},"Stop retrying"))),!M&&n.createElement(bq,{state:e,act:t,frozen:z,onStage:Z}),H.some(O=>O.excerpt)&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:T.confirmExcerpts===!0,disabled:z,onChange:O=>_({confirmExcerpts:O.target.checked,confirmedExcerpts:O.target.checked?H.filter(W=>W.excerpt).map(W=>({id:W.id,sha256:W.excerpt.sha256})):[]})}),"Include the reviewed conversation excerpts listed above when I send this feedback."),n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:T.includeDiagnostics!==!1,disabled:z,onChange:O=>_({includeDiagnostics:O.target.checked})}),"Include reproduction diagnostics"),T.includeDiagnostics!==!1&&n.createElement(Kf,{key:k?`receipt:${k.requestId}`:e.selectedSessionId||"current",state:e,act:t,requestId:k==null?void 0:k.requestId,device:M==null?void 0:M.deviceDiagnostics}),n.createElement("p",{className:"a-caption"},"Your text, selected diagnostics and the files listed above are sent when you submit. Files stay in repository history and are linked from the issue. Reviewed excerpts use the visibility shown during review; other file uploads require a private repository; your GitHub sign-in needs repository Contents write access. Chats, paths, provider settings, and credentials are not attached automatically."),n.createElement("div",{className:"a-dialog-actions"},!q&&n.createElement("button",{type:"submit",className:"a-primary","data-action":"feedback.submit",disabled:A||p||!!v||H.some(O=>O.excerpt)&&!T.confirmExcerpts||!((de=T.title)!=null&&de.trim())||!((ve=T.body)!=null&&ve.trim())},n.createElement(ax,null),A?"Sending…":M?"Check submission":"Send feedback"),(q||M&&!l)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:ce},n.createElement(Mn,null),"New feedback"))),!!N.filter(O=>O.requestId!==(M==null?void 0:M.requestId)).length&&n.createElement("div",{className:"a-feedback-recent"},n.createElement("h3",null,"Submissions"),N.filter(O=>O.requestId!==(M==null?void 0:M.requestId)).map(O=>{var W;return n.createElement("div",{key:O.requestId,className:"a-feedback-receipt"},n.createElement("strong",null,O.title),n.createElement(it,{phase:O.status==="submitted"?"success":["failed","unknown"].includes(O.status)?"error":"working",message:O.message}),O.url&&n.createElement("a",{href:O.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),n.createElement(Kf,{state:e,act:t,requestId:O.requestId}),O.status==="unknown"&&n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues"),(((W=e.attention)==null?void 0:W.items)||[]).filter(ae=>ae.requestId===O.requestId&&!ae.read).map(ae=>n.createElement("button",{key:ae.id,className:"a-link",type:"button","data-action":"attention.read",onClick:()=>Fr(t,[ae])},"Mark reviewed")))})),n.createElement(hq,{state:e,act:t}),n.createElement(vq,{state:e,act:t}))}function Kf({state:e,act:t,requestId:a,device:r}){const[o,i]=g.useState(null),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(!1),p=g.useRef(!1),m=g.useRef(!0);g.useEffect(()=>(m.current=!0,()=>{m.current=!1}),[]);async function h(){if(!d.current){d.current=!0,l(!0),u("");try{const f=await t("feedback.diagnostics",a?{requestId:a}:{deviceDiagnostics:r||qw(e)});if(!(f!=null&&f.result))throw Error("Unavailable");m.current&&(i(f.result),p.current=!0)}catch{m.current&&u("Diagnostics could not be loaded. Try Refresh.")}finally{d.current=!1,m.current&&l(!1)}}}return n.createElement("details",{"data-part":"feedback-diagnostics",onToggle:f=>{f.currentTarget.open&&!p.current&&h()}},n.createElement("summary",null,a?"Submitted diagnostics":"Preview reproduction diagnostics"),n.createElement("p",{className:"a-caption"},a?"This is the snapshot saved when this submission was accepted.":"Loads only when opened. This is a current preview; live status may change before you submit."," Host active component generation does not prove which code a running worker loaded. Reported online views counts device reports, not live event-stream connections. No message text, workspace paths, raw logs, or credentials."),s&&n.createElement("p",{role:"status"},"Loading diagnostics…"),c&&n.createElement("p",{role:"alert"},c),o&&(o.diagnostics?n.createElement("pre",{className:"a-state-view"},JSON.stringify(o.diagnostics,null,2)):n.createElement("p",null,"No diagnostics were saved with this submission.")),n.createElement("button",{type:"button",className:"a-soft","data-action":"feedback.diagnostics",disabled:s,onClick:()=>void h()},"Refresh diagnostics"))}function xq({state:e,act:t}){var s,l,c,u,d,p;if(["feedback","activity"].includes((s=e.view)==null?void 0:s.panel))return null;const a=(((l=e.attention)==null?void 0:l.items)||[]).filter(m=>m.requestId&&!m.read),r=(u=(c=e.feedback)==null?void 0:c.requests)==null?void 0:u.find(m=>["queued","sending"].includes(m.status)),o=a[0],i=r||((p=(d=e.feedback)==null?void 0:d.requests)==null?void 0:p.find(m=>m.requestId===(o==null?void 0:o.requestId)));return i?n.createElement("aside",{className:"a-feedback-notice","aria-label":"Feedback status"},n.createElement("div",{role:"status"},n.createElement(it,{phase:r?"working":i.status==="submitted"?"success":"error",message:r?"Feedback received — sending in the background.":i.message})),n.createElement("div",{className:"a-feedback-notice-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>t("view.update",{patch:{panel:"feedback"}})},"View ",r?"status":"feedback"),i.url&&n.createElement("a",{href:i.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),!r&&o&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Dismiss feedback notification","data-action":"attention.read",onClick:()=>Fr(t,[o])},n.createElement(tn,{size:16})))):null}function Sq(e,t={}){var a;return t.preview===!0?((a=e.text)==null?void 0:a.slice(0,180))||"Your response is ready.":"Your Amplifier response is ready."}function Cq(e={}){return e.desktop!==!1}function Yf(e){if(Array.isArray(e.notificationMessages))return e.notificationMessages.filter(a=>a.id&&a.sessionId&&a.role==="assistant"&&a.via==="text");const t=new Map;for(const a of e.sessions||[])for(const r of a.messages||[])r.id&&r.role==="assistant"&&r.via==="text"&&t.set(r.id,{...r,sessionId:a.id});return[...t.values()]}const pk=(e,t,a)=>e.has(t)||a==="detailed"&&!e.has("closed:"+t);function Nq(e,t,a){const r=new Set(e),o=pk(r,t,a);return r.delete(t),r.delete("closed:"+t),r.add(o?"closed:"+t:t),r}const hr=e=>typeof e=="string"?e:e==null?"":JSON.stringify(e,null,2);function Gf(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}const oo=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Rq(e){const t=oo(e);return Object.hasOwn(t,"output")?t.output:e}function mk(e){return(typeof e=="string"?e:"").replace(/^Tool completed\. Expand any delegated actions below for their progress and results\.\s*/,"")}const La=(e,t)=>t.map(a=>e[a]).find(a=>typeof a=="string"&&a.length)||"",Rr=e=>hr(e).replace(/\s+/g," ").slice(0,180);function Tq(e,t=e.input,a=e.output){const r=Gf(t),o=oo(r),i=Gf(a),s=Rq(i),l=oo(s),c=String(e.tool||e.label||"Tool"),u=c.toLowerCase().replace(/.*[.:/]/,""),d=e.status||e.phase,p=["running","working","starting","pending","queued","retrying"].includes(d),m=["error","failed","cancelled","interrupted"].includes(d)||oo(i).success===!1,h=["completed","complete","success","done"].includes(d)&&!m,f=La(o,["file_path","path","filename"]),v=La(o,["command","cmd"]),y=La(o,["patch","diff"])||La(l,["diff","patch"])||(/apply_patch/.test(u)&&typeof r=="string"?r:""),E=La(o,["old_string","old_text"]),b=La(o,["new_string","new_text"]),x=Array.isArray(o.todos)?o.todos:Array.isArray(l.todos)?l.todos:null,w=mk(e.summary||e.detail),R=w.replace(new RegExp(`^(?:Completed|Running|Failed) ${c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?: · )?`),""),S=l.returncode??l.exit_code??l.exitCode,I=(M,k,T)=>h?M:p?k:T,N={tool:c,input:r,args:o,result:i,output:s,out:l,phase:d,running:p,failed:m,done:h,path:f,exit:S,preview:Rr(R)};if(v)return{...N,kind:"command",title:I("Ran","Running","Run"),target:v,command:v,preview:typeof l.stdout=="string"?Rr(l.stdout.trim().split(` `).filter(Boolean).at(-1))+(S!=null?` · exit ${S}`:""):Rr(s)};if(y||/edit_file|apply_patch/.test(u)&&(E||b)){const M=y||["@@",...E.split(` `).map(z=>"-"+z),...b.split(` `).map(z=>"+"+z)].join(` -`),k=Rq(M),T=k.filter(z=>z.file),A=[...new Set(T.map(z=>z.file))],q=T.length&&T.every(z=>z.operation==="Delete")?I("Deleted","Deleting","Delete"):T.length&&T.every(z=>z.operation==="Add")?I("Created","Creating","Create"):I("Edited","Editing","Edit");return{...N,kind:"patch",title:q,target:f||A.join(", ")||c,diff:M,rows:k,added:k.filter(z=>z.type==="add").length,removed:k.filter(z=>z.type==="remove").length,preview:Rr(s)}}return x?{...N,kind:"tasks",title:I("Updated task list","Updating task list","Task list update"),tasks:x,preview:`${x.filter(M=>(M==null?void 0:M.status)==="completed").length} of ${x.length} complete`}:/read(_file)?$/.test(u)&&f?{...N,kind:"read",title:I("Read","Reading","Read"),target:f,content:typeof s=="string"?s:La(l,["content","text"]),preview:o.offset!=null?`From line ${o.offset}${o.limit!=null?` · up to ${o.limit} lines`:""}`:Rr(R)}:/write(_file)?$/.test(u)&&f?{...N,kind:"write",title:I("Wrote","Writing","Write"),target:f,content:La(o,["content","text"])}:typeof o.action=="string"||typeof o.operation=="string"?{...N,kind:"app",title:"App action",target:typeof o.action=="string"?o.action:o.operation,preview:Rr(s)}:/delegate|task|agent/.test(u)&&La(o,["instruction","instructions","prompt","task"])?{...N,kind:"delegate",title:I("Delegated","Delegating","Delegate"),target:La(o,["agent","name","description"]),task:La(o,["instruction","instructions","prompt","task"])}:{...N,kind:"generic",title:c,preview:Rr(R)}}function Rq(e){let t=null,a=null,r=!1,o=null,i=null;const s=()=>{t=a=o=i=null,r=!1};return String(e).split(` -`).map(l=>{const c=l.match(/^\*\*\* (Update|Add|Delete) File: (.+)$/);if(c)return s(),{type:"header",text:l,file:c[2],operation:c[1]};if(/^(?:diff --git |\*\*\*)/.test(l))return s(),{type:"header",text:l};if(!r&&/^(?:--- |\+\+\+ )/.test(l))return{type:"header",text:l,...l.startsWith("+++ ")&&l.slice(4)!=="/dev/null"?{file:l.slice(4).replace(/^b\//,"")}:{}};const u=l.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);if(l.startsWith("@@"))return t=u?Number(u[1]):null,a=u?Number(u[3]):null,o=u?Number(u[2]??1):null,i=u?Number(u[4]??1):null,r=!0,{type:"header",text:l};let d;if(l.startsWith("+"))d={type:"add",old:null,new:a===null?null:a++,text:l.slice(1)},i!==null&&i--;else if(l.startsWith("-"))d={type:"remove",old:t===null?null:t++,new:null,text:l.slice(1)},o!==null&&o--;else if(l.startsWith(" "))d={type:"context",old:t===null?null:t++,new:a===null?null:a++,text:l.slice(1)},o!==null&&o--,i!==null&&i--;else return{type:"header",text:l};return r=!(o===0&&i===0),d})}function bs(e,t,a){const r=e[t+"Detail"],o=JSON.stringify([e.id,t,r||e[t]]),[i,s]=g.useState(null),[l,c]=g.useState(null),[u,d]=g.useState(0),p=(i==null?void 0:i.key)===o?i.value:e[t],m=(l==null?void 0:l.key)===o?l.message:"";return g.useEffect(()=>{if(!a||!r||(i==null?void 0:i.key)===o)return;const h=new AbortController;return c(null),Ml({...r,complete:"true"},Ct,h.signal).then(f=>{h.signal.aborted||s({key:o,value:f})}).catch(f=>{h.signal.aborted||c({key:o,message:f.message})}),()=>h.abort()},[a,o,u,i==null?void 0:i.key]),{value:p,error:m,incomplete:!!r&&(i==null?void 0:i.key)!==o,loading:!!r&&(i==null?void 0:i.key)!==o&&!m,retry:()=>d(h=>h+1)}}function Tq({text:e,label:t,disabled:a=!1}){const[r,o]=g.useState("");return g.useEffect(()=>o(""),[e]),n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link",disabled:a,"aria-label":`Copy ${t.toLowerCase()}`,onClick:async()=>{try{await navigator.clipboard.writeText(e),o("Copied")}catch{o("Select the text to copy it manually.")}}},n.createElement(ar,null),r==="Copied"?"Copied":"Copy"),r&&n.createElement("span",{className:"a-caption",role:"status"},r))}function Iq({text:e}){const[t,a]=g.useState(!1),r=hr(e),o=r.split(` +`),k=Iq(M),T=k.filter(z=>z.file),A=[...new Set(T.map(z=>z.file))],q=T.length&&T.every(z=>z.operation==="Delete")?I("Deleted","Deleting","Delete"):T.length&&T.every(z=>z.operation==="Add")?I("Created","Creating","Create"):I("Edited","Editing","Edit");return{...N,kind:"patch",title:q,target:f||A.join(", ")||c,diff:M,rows:k,added:k.filter(z=>z.type==="add").length,removed:k.filter(z=>z.type==="remove").length,preview:Rr(s)}}return x?{...N,kind:"tasks",title:I("Updated task list","Updating task list","Task list update"),tasks:x,preview:`${x.filter(M=>(M==null?void 0:M.status)==="completed").length} of ${x.length} complete`}:/read(_file)?$/.test(u)&&f?{...N,kind:"read",title:I("Read","Reading","Read"),target:f,content:typeof s=="string"?s:La(l,["content","text"]),preview:o.offset!=null?`From line ${o.offset}${o.limit!=null?` · up to ${o.limit} lines`:""}`:Rr(R)}:/write(_file)?$/.test(u)&&f?{...N,kind:"write",title:I("Wrote","Writing","Write"),target:f,content:La(o,["content","text"])}:typeof o.action=="string"||typeof o.operation=="string"?{...N,kind:"app",title:"App action",target:typeof o.action=="string"?o.action:o.operation,preview:Rr(s)}:/delegate|task|agent/.test(u)&&La(o,["instruction","instructions","prompt","task"])?{...N,kind:"delegate",title:I("Delegated","Delegating","Delegate"),target:La(o,["agent","name","description"]),task:La(o,["instruction","instructions","prompt","task"])}:{...N,kind:"generic",title:c,preview:Rr(R)}}function Iq(e){let t=null,a=null,r=!1,o=null,i=null;const s=()=>{t=a=o=i=null,r=!1};return String(e).split(` +`).map(l=>{const c=l.match(/^\*\*\* (Update|Add|Delete) File: (.+)$/);if(c)return s(),{type:"header",text:l,file:c[2],operation:c[1]};if(/^(?:diff --git |\*\*\*)/.test(l))return s(),{type:"header",text:l};if(!r&&/^(?:--- |\+\+\+ )/.test(l))return{type:"header",text:l,...l.startsWith("+++ ")&&l.slice(4)!=="/dev/null"?{file:l.slice(4).replace(/^b\//,"")}:{}};const u=l.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);if(l.startsWith("@@"))return t=u?Number(u[1]):null,a=u?Number(u[3]):null,o=u?Number(u[2]??1):null,i=u?Number(u[4]??1):null,r=!0,{type:"header",text:l};let d;if(l.startsWith("+"))d={type:"add",old:null,new:a===null?null:a++,text:l.slice(1)},i!==null&&i--;else if(l.startsWith("-"))d={type:"remove",old:t===null?null:t++,new:null,text:l.slice(1)},o!==null&&o--;else if(l.startsWith(" "))d={type:"context",old:t===null?null:t++,new:a===null?null:a++,text:l.slice(1)},o!==null&&o--,i!==null&&i--;else return{type:"header",text:l};return r=!(o===0&&i===0),d})}function ys(e,t,a){const r=e[t+"Detail"],o=JSON.stringify([e.id,t,r||e[t]]),[i,s]=g.useState(null),[l,c]=g.useState(null),[u,d]=g.useState(0),p=(i==null?void 0:i.key)===o?i.value:e[t],m=(l==null?void 0:l.key)===o?l.message:"";return g.useEffect(()=>{if(!a||!r||(i==null?void 0:i.key)===o)return;const h=new AbortController;return c(null),zl({...r,complete:"true"},Ct,h.signal).then(f=>{h.signal.aborted||s({key:o,value:f})}).catch(f=>{h.signal.aborted||c({key:o,message:f.message})}),()=>h.abort()},[a,o,u,i==null?void 0:i.key]),{value:p,error:m,incomplete:!!r&&(i==null?void 0:i.key)!==o,loading:!!r&&(i==null?void 0:i.key)!==o&&!m,retry:()=>d(h=>h+1)}}function Aq({text:e,label:t,disabled:a=!1}){const[r,o]=g.useState("");return g.useEffect(()=>o(""),[e]),n.createElement(n.Fragment,null,n.createElement("button",{type:"button",className:"a-link",disabled:a,"aria-label":`Copy ${t.toLowerCase()}`,onClick:async()=>{try{await navigator.clipboard.writeText(e),o("Copied")}catch{o("Select the text to copy it manually.")}}},n.createElement(ar,null),r==="Copied"?"Copied":"Copy"),r&&n.createElement("span",{className:"a-caption",role:"status"},r))}function _q({text:e}){const[t,a]=g.useState(!1),r=hr(e),o=r.split(` `),i=o.length>15||r.length>3e3,s=i?o.slice(0,10).join(` -`).slice(0,2e3):r;return g.useEffect(()=>a(!1),[r]),n.createElement(n.Fragment,null,n.createElement("pre",null,n.createElement("code",null,t?r:s)),i&&n.createElement("button",{type:"button",className:"a-link a-execution-more","aria-expanded":t,onClick:()=>a(!t)},t?"Show less":o.length>15?`Show all ${o.length} lines`:`Show all ${r.length.toLocaleString()} characters`))}function _n({label:e,text:t,meta:a,children:r,copy:o=!0,loading:i=!1}){return t==null&&!r?null:n.createElement("section",{className:"a-execution-payload"},n.createElement("header",null,n.createElement("span",null,e),a!=null&&n.createElement("span",null,hr(a)),o&&n.createElement(Tq,{text:hr(t),label:e,disabled:i})),r||n.createElement(Iq,{text:t}))}function Pu({label:e,field:t}){return t.error?n.createElement("p",{role:"alert",className:"a-execution-load-error"},t.error," ",n.createElement("button",{type:"button",className:"a-link",onClick:t.retry},"Retry ",e.toLowerCase())):t.loading?n.createElement("small",{role:"status"},"Loading complete ",e.toLowerCase(),"…"):null}function Aq({action:e}){const[t,a]=g.useState(!1),r=e.rows.filter(o=>o.type!=="header"||!/^\*\*\* (Begin|End) Patch$/.test(o.text));return n.createElement(_n,{label:e.path||"Patch",text:e.diff,meta:e.done?"Applied":e.running?"In progress":"Requested changes"},n.createElement("div",{className:"a-execution-diff","aria-label":"File changes"},(t||r.length<=15?r:r.slice(0,10)).map((o,i)=>o.type==="header"?n.createElement("div",{key:i,className:"a-execution-diff-header"},o.file||o.text):n.createElement("div",{key:i,className:`a-execution-diff-row ${o.type}`},n.createElement("span",{className:"a-execution-line-number"},o.old),n.createElement("span",{className:"a-execution-line-number"},o.new),n.createElement("span",null,o.type==="add"?"+":o.type==="remove"?"−":" "),n.createElement("code",null,o.text)))),r.length>15&&n.createElement("button",{type:"button",className:"a-link a-execution-more","aria-expanded":t,onClick:()=>a(!t)},t?"Show less":`Show all ${r.length} patch lines`))}function _q({node:e,action:t,input:a,output:r,error:o}){const i=t,s=hr(i.output),l=typeof i.out.stdout=="string"||typeof i.out.stderr=="string",c=r.value!=null;let u;i.kind==="command"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Command",text:i.command,meta:i.args.working_directory||i.args.cwd}),c&&(l?n.createElement(n.Fragment,null,n.createElement(_n,{label:"Output",text:i.out.stdout||"No output",meta:i.exit!=null?`Exit ${i.exit}`:null}),i.out.stderr&&n.createElement(_n,{label:"Standard error",text:i.out.stderr})):n.createElement(_n,{label:"Output",text:s||"No output",loading:r.incomplete}))):i.kind==="patch"?u=n.createElement(n.Fragment,null,n.createElement(Aq,{action:i}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="read"||i.kind==="write"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:i.kind==="read"?"File content":i.done?"Written content":"Requested content",text:i.kind==="read"&&i.failed?null:i.content||null,loading:i.kind==="read"?r.incomplete:a.incomplete}),c&&(!i.content||i.failed||i.kind==="write")&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="tasks"?u=n.createElement(n.Fragment,null,n.createElement("section",{className:"a-execution-payload"},n.createElement("header",null,n.createElement("span",null,i.done?"Task list":"Requested task list"),n.createElement("span",null,i.preview)),n.createElement("ul",{className:"a-execution-checklist"},i.tasks.map((y,E)=>{const b=typeof(y==null?void 0:y.status)=="string"?y.status:"unknown",x=b==="completed"?Pt:b==="in_progress"?No:og;return n.createElement("li",{key:E,"data-status":b},n.createElement(x,{"aria-label":b}),n.createElement("span",null,hr((y==null?void 0:y.content)||(y==null?void 0:y.activeForm)||(y==null?void 0:y.title)||y)),n.createElement("small",null,b.replaceAll("_"," ")))}))),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="delegate"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Task sent",text:i.task}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):u=n.createElement(n.Fragment,null,n.createElement(_n,{label:i.kind==="app"?i.target:"Input",text:a.value,loading:a.incomplete}),n.createElement(_n,{label:"Result",text:r.value,loading:r.incomplete}));const d={command:["command","cmd","working_directory","cwd"],patch:["patch","diff","file_path","path","filename","old_string","old_text","new_string","new_text"],read:["file_path","path","filename"],write:["file_path","path","filename","content","text"],tasks:["todos"],delegate:["agent","name","description","instruction","instructions","prompt","task"]}[i.kind],p=d?Object.fromEntries(Object.entries(i.args).filter(([y])=>!d.includes(y))):{},m=i.kind==="command"&&l?["stdout","stderr","returncode","exit_code","exitCode"]:i.kind==="read"&&i.content&&!i.failed?[typeof i.out.content=="string"&&i.out.content?"content":"text"]:null,h=m?Object.fromEntries(Object.entries(i.out).filter(([y])=>!m.includes(y))):{},v={...Object.hasOwn(oo(i.result),"output")?Object.fromEntries(Object.entries(i.result).filter(([y])=>!["output","success","error"].includes(y))):{},...h};return n.createElement(n.Fragment,null,u,Object.keys(p).length>0&&n.createElement(_n,{label:"Arguments",text:hr(p),loading:a.incomplete}),n.createElement(_n,{label:"Result details",text:d&&Object.keys(v).length?hr(v):null}),n.createElement(_n,{label:"Error",text:o.value??(i.kind!=="generic"&&i.kind!=="app"&&Object.hasOwn(oo(i.result),"output")?i.result.error:null),loading:o.incomplete}),[["Input",a],["Result",r],["Error",o]].map(([y,E])=>n.createElement(Pu,{key:y,label:y,field:E})),lF(r.value).map(y=>n.createElement("a",{key:y,className:"a-execution-result-link",href:y,target:"_blank",rel:"noopener noreferrer"},y)),a.value==null&&r.value==null&&o.value==null&&!a.loading&&!r.loading&&!o.loading&&n.createElement("small",null,i.running?"Waiting for the event log…":"No action content is available in the event log."))}const Pq={message_count:"Messages",tool_count:"Tools",has_instructions:"Instructions",has_system:"System message",reasoning_enabled:"Reasoning enabled",thinking_enabled:"Thinking enabled",thinking_budget:"Thinking budget",background_mode:"Background mode",stream:"Streaming",max_tokens:"Maximum tokens",max_output_tokens:"Maximum output tokens",temperature:"Temperature",top_p:"Top P",parallel_tool_calls:"Parallel tool calls",tool_choice:"Tool choice",purpose:"Purpose",reasoning_effort:"Reasoning effort"};function Oq({node:e,request:t,error:a,requestOpen:r,requestInline:o,toggleRequest:i,now:s}){const l=d=>Number.isFinite(d)?new Date(d*1e3).toLocaleString():null,c=[["Provider",e.provider],["Model",e.model],["Status",e.status||e.phase],["Started",l(e.startedAt)],["Ended",l(e.endedAt)],["Elapsed",xp(e,s)],...Object.entries(e.requestInfo||{}).map(([d,p])=>[Pq[d]||d,typeof p=="boolean"?p?"Yes":"No":p])].filter(([,d])=>d!=null&&d!==""),u=Sp(e.usage,{pending:Un(e)});return n.createElement(n.Fragment,null,n.createElement("dl",{className:"a-execution-model-facts"},c.map(([d,p])=>n.createElement(n.Fragment,{key:d},n.createElement("dt",null,d),n.createElement("dd",null,String(p))))),u&&n.createElement("p",{className:"a-execution-model-usage"},u.title),n.createElement(_n,{label:"Error",text:a.value,loading:a.incomplete}),n.createElement(Pu,{label:"Error",field:a}),e.requestDetail?n.createElement(n.Fragment,null,!o&&n.createElement("button",{type:"button",className:"a-link a-execution-request-toggle","data-action":"view.update","aria-expanded":r,onClick:i},r?"Hide raw request":"Load raw request",!r&&` · ${e.requestDetail.length.toLocaleString()} characters`),(o||r)&&n.createElement(n.Fragment,null,n.createElement(_n,{label:"Raw request",text:t.value,loading:t.incomplete}),n.createElement(Pu,{label:"Request",field:t}))):n.createElement("small",null,Un(e)?"Waiting for the recorded request…":"No recorded raw request is available for this call."))}function mk({value:e,pending:t=!1}){const a=Sp(e,{pending:t});return a?n.createElement("span",{className:"a-execution-usage",title:a.title},a.text):null}function hk({status:e}){return["error","failed","cancelled","interrupted"].includes(e)?n.createElement(On,{className:"a-execution-warning","aria-label":e}):["complete","completed","success","done"].includes(e)?n.createElement(Pt,{className:"a-execution-complete","aria-label":"Completed"}):Un({phase:e})?n.createElement("span",{className:"a-execution-dot","aria-label":e}):n.createElement(og,{"aria-label":e||"Recorded"})}const Gf=e=>Number.isFinite(e)?new Date(e*1e3).toLocaleString():null;function fk({node:e,depth:t=0,ancestors:a=[],tree:r,act:o,now:i,expanded:s,toggle:l}){var T,A;const c=e.kind==="tool",u=r.children.get(e.id)||[],d=pk(e.summary||e.detail),p=c||e.kind==="llm"||!!d||u.length>15,m=!p||s.has(e.id),h=s.has(`request:${e.id}`),f=p?"button":"div",v=((T=e.requestDetail)==null?void 0:T.lines)<=15&&((A=e.requestDetail)==null?void 0:A.length)<=3e3,y=bs(e,"input",m&&c),E=bs(e,"output",m&&c),b=bs(e,"error",m),x=bs(e,"request",m&&(v||h));if(t>20||a.includes(e.id))return null;const w=c?Nq(e,y.value,E.value):null,R=e.kind==="worker"?Wa:e.kind==="llm"?Li:{command:ux,read:Co,write:sm,patch:sm,tasks:jk,delegate:Wa}[w==null?void 0:w.kind]||mx,S=e.status||e.phase,I=xp(e,i),N=e.kind==="llm"?e.usage:e.kind==="worker"?e.aggregateUsage:null,M=(w==null?void 0:w.title)||e.label||e.model||e.kind,k=[e.provider,e.model].filter(Boolean).join(" · ");return n.createElement("div",{className:"a-execution-node","data-kind":e.kind,"data-node-id":e.id,"data-action-kind":w==null?void 0:w.kind},n.createElement(f,{className:"a-execution-line a-execution-action-line",...p?{type:"button","data-action":"view.update","data-view-label":[M,w==null?void 0:w.target,k,S].filter(Boolean).join(" · "),"aria-expanded":m,onClick:()=>l(e.id)}:{}},p&&n.createElement(Gt,{className:`a-execution-chevron ${m?"open":""}`}),n.createElement(R,null),n.createElement("span",{className:"a-execution-label",title:[M,w==null?void 0:w.target,k,(w==null?void 0:w.preview)||d].filter(Boolean).join(" · ")},n.createElement("span",null,M,(w==null?void 0:w.target)&&n.createElement(n.Fragment,null," ",n.createElement("code",null,w.target)),["llm","worker"].includes(e.kind)&&k&&n.createElement(n.Fragment,null," · ",k),!(w!=null&&w.target)&&(w==null?void 0:w.preview)&&n.createElement(n.Fragment,null," · ",w.preview),(w==null?void 0:w.kind)==="patch"&&(w.added>0||w.removed>0)&&n.createElement("span",{className:"a-execution-counts"},n.createElement("span",null,"+",w.added),n.createElement("span",null,"−",w.removed)))),n.createElement("span",{className:"a-execution-phase",title:[e.toolCallId&&`Call: ${e.toolCallId}`,Gf(e.startedAt),Gf(e.endedAt)].filter(Boolean).join(" · ")},Un(e)||["error","failed","cancelled","interrupted"].includes(S)?`${S}${I?" · ":""}`:"",I),n.createElement(mk,{value:N,pending:["llm","worker"].includes(e.kind)&&Un(e)}),n.createElement(hk,{status:S})),m&&n.createElement("div",{className:"a-execution-body"},c?n.createElement(_q,{node:e,action:w,input:y,output:E,error:b}):e.kind==="llm"?n.createElement(Oq,{node:e,request:x,error:b,requestOpen:h,requestInline:v,toggleRequest:()=>l(`request:${e.id}`),now:i}):d&&n.createElement(_u,{text:d,reference:e.summaryDetail||e.detailDetail,automatic:!0,markdown:!0}),e.kind==="worker"&&e.routing&&n.createElement("p",{className:"a-muted"},sk(e.routing),e.parentProvider&&e.provider&&e.parentProvider!==e.provider&&` This worker used ${e.provider}; the parent used ${e.parentProvider}.`),e.kind==="worker"&&Un(e)&&(e.workerId||e.sessionId)&&n.createElement("button",{className:"a-link a-danger","data-action":"worker.stop",onClick:()=>o("worker.stop",{id:e.workerId||e.sessionId})},n.createElement(lx,null),"Stop worker"),u.length>0&&n.createElement("div",{className:"a-execution-children"},u.map(q=>n.createElement(fk,{key:q.id,node:q,depth:t+1,ancestors:[...a,e.id],tree:r,act:o,now:i,expanded:s,toggle:l})))))}function Qf({data:e,turnId:t,state:a,act:r}){var w,R,S,I,N,M,k;const o=Yu(),i=((R=(w=o==null?void 0:o.composition)==null?void 0:w.presentation)==null?void 0:R.interfaceDetail)||((I=(S=o==null?void 0:o.composition)==null?void 0:S.presentation)==null?void 0:I.executionDetail)||"standard",s=e.turns.find(T=>T.id===t)||{},l=sF(e,t),c=e.nodes.filter(T=>T.turnId===t),u=Un(s)||c.some(Un),[d,p]=g.useState(()=>ws());if(g.useEffect(()=>{if(!u)return;p(ws());const T=setInterval(()=>p(ws()),1e3);return()=>clearInterval(T)},[u]),!l.roots.length&&!s.startedAt)return null;const m=new Set(((N=a.view)==null?void 0:N.executionExpanded)||[]),h=`turn:${t}`,f=dk(m,h,i),v=T=>{const A=T===h?Sq(m,T,i):new Set(m);T!==h&&(A.has(T)?A.delete(T):A.add(T)),r("view.update",{patch:{executionExpanded:[...A]}})},y=((M=s.nodeCounts)==null?void 0:M.tools)??c.filter(T=>T.kind==="tool").length,E=((k=s.nodeCounts)==null?void 0:k.models)??c.filter(T=>T.kind==="llm").length,b=xp(s,d),x=Un(s)?`Working${b?` · ${b}`:"…"}`:b?`Worked for ${b}`:"Work details";return n.createElement("section",{className:"a-execution-turn a-execution-content","data-part":"execution","data-turn-id":s.originalTurnId||t,"data-group-id":t,"aria-label":"Execution details"},n.createElement("button",{type:"button",className:"a-execution-line a-execution-turn-line","data-action":"view.update","data-view-label":Un(s)?"Working · expand work details":"Completed work · expand work details","aria-expanded":f,onClick:()=>v(h)},n.createElement(Gt,{className:`a-execution-chevron ${f?"open":""}`}),n.createElement("span",{className:"a-execution-label"},x),n.createElement(mk,{value:s.aggregateUsage||s.usage,pending:Un(s)}),n.createElement("span",{className:"a-execution-call-counts"},y," ",y===1?"tool call":"tool calls"," · ",E," ",E===1?"model call":"model calls"),n.createElement(hk,{status:s.status||s.phase})),f&&l.roots.length>0&&n.createElement("div",{className:"a-execution-roots"},l.roots.map(T=>n.createElement(fk,{key:T.id,node:T,tree:l,act:r,now:d,expanded:m,toggle:v}))))}function Xf(e){if(!e)return;e.style.minHeight="44px",e.style.maxHeight="180px",e.style.height="auto";const t=Math.max(44,Math.min(180,e.scrollHeight));e.style.height=`${t}px`,e.style.overflowY=e.scrollHeight>180?"auto":"hidden",e.style.resize="none"}function Mq({draft:e="",attachments:t=[],uploading:a=!1,working:r=!1,responseActive:o=!1,stopping:i=!1,voiceStatus:s="idle",voiceStarting:l=!1,busy:c=!1,newChatPending:u=!1,sending:d=!1,historyPending:p=!1,executionUnavailable:m=!1}={}){const h=!!e.trim()||t.length>0;return h||a?{action:"conversation.send",label:r?"Send a correction":"Send message",icon:"send",disabled:!h||c||u||a||p||m}:["idle","ended","error"].includes(s)?o?{action:"conversation.stop",label:"Stop response",icon:"cancel",disabled:i||m}:u||d?{action:"conversation.send",label:"Send message",icon:"send",disabled:!0}:{action:"call.start",label:"Start voice call",icon:"voice",disabled:c||l||p||m}:{action:"call.end",label:"End voice call",icon:"cancel",disabled:s==="ending"}}function zq({session:e,runtimeAvailable:t=!0,dispatch:a,children:r}){var w,R,S,I;const o=Ol(e),i=e==null?void 0:e.id,[s,l]=g.useState(null),[c,u]=g.useState(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),h=g.useRef(i);h.current=i;const f=s===i,v=o.blocked||f,y=(e==null?void 0:e.workspaceAvailable)===!1?"This workspace is unavailable. Restore access to it before continuing.":(e==null?void 0:e.historyReadOnlyReason)||(t?"":"The Amplifier runtime is unavailable. Check Settings before trying again."),E=c&&c.id===i?c.message:"";g.useEffect(()=>u(null),[i,(w=e==null?void 0:e.ownership)==null?void 0:w.status,(R=e==null?void 0:e.ownership)==null?void 0:R.reason,(S=e==null?void 0:e.ownership)==null?void 0:S.detail]),g.useEffect(()=>{var N,M,k;v||m.current!==i||(m.current=null,(document.activeElement===document.body||(N=d.current)!=null&&N.contains(document.activeElement))&&((k=(M=d.current)==null?void 0:M.querySelector("textarea"))==null||k.focus()))},[v,i]);async function b(){if(p.current===i||!o.canTakeover||y)return;const N=i;p.current=N,m.current=N,l(N),u(null);try{await a("session.takeover",{id:N})}catch(M){h.current===N&&u({id:N,message:_a(M)})}finally{p.current===N&&(p.current=null),l(M=>M===N?null:M)}}const x=f||((I=e==null?void 0:e.ownership)==null?void 0:I.status)==="taking-over";return n.createElement("div",{className:`a-composer-access ${v?"is-blocked":""}`,ref:d},n.createElement("fieldset",{className:"a-composer-fields",disabled:v,inert:v},r),v&&n.createElement("section",{className:"a-composer-lock","aria-label":"Conversation access","aria-busy":x},n.createElement("div",{className:"a-composer-lock-copy",role:"status","aria-live":"polite","aria-atomic":"true"},x?n.createElement(sg,{className:"a-progress-spinner","aria-hidden":"true"}):n.createElement(Uk,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,x?"Taking over…":o.label),n.createElement("p",null,x?"Waiting for ownership, then loading your session. Your draft is kept.":o.detail),y&&n.createElement("p",null,y))),E&&n.createElement("p",{className:"a-composer-lock-error",role:"alert"},E," Your draft is kept. Try again when the connection is available."),o.canTakeover&&n.createElement("button",{type:"button",className:"a-primary","data-action":"session.takeover",disabled:f||!!y,onClick:b},f?"Taking over…":o.retry?"Try again":"Continue here")))}function eg({question:e,sessionId:t,dispatch:a}){var E,b;const[r,o]=g.useState(""),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(""),p=g.useRef(!1),m=g.useRef(null),h=e;async function f(x){var I;if(x.preventDefault(),p.current)return;const w=r?{optionId:r}:{text:i.trim()};if(!r&&!w.text)return;const R={sessionId:t,id:h.id,expectedRevision:h.revision,...w},S=JSON.stringify(R);((I=m.current)==null?void 0:I.key)!==S&&(m.current={key:S,id:crypto.randomUUID()}),p.current=!0,c(!0),d("");try{await a("question.answer",R,{id:m.current.id})}catch(N){d(N.message||"The answer could not be confirmed. Your choice is kept.")}finally{p.current=!1,c(!1)}}async function v(){if(!p.current){p.current=!0,c(!0),d("");try{await a("question.cancel",{sessionId:t,id:h.id,expectedRevision:h.revision,reason:"Skipped by the user"})}catch(x){d(x.message)}finally{p.current=!1,c(!1)}}}const y=(E=h.delivery)==null?void 0:E.status;return n.createElement("article",{className:"a-question","aria-label":`Question ${h.id}`,"data-question-id":h.id},n.createElement("div",{className:"a-question-kind"},h.required?"Answer needed for this step":"Optional question"),n.createElement("p",{className:"a-question-prompt"},h.prompt),n.createElement("p",{className:"a-caption"},h.dependency),h.status==="pending"?n.createElement("form",{onSubmit:f,"aria-label":`Answer: ${h.prompt}`},n.createElement("fieldset",{disabled:l},n.createElement("legend",{className:"a-sr-only"},h.prompt),h.options.map(x=>n.createElement("label",{className:"a-question-option",key:x.id},n.createElement("input",{type:"radio",name:`question-${h.id}`,value:x.id,checked:r===x.id,onChange:()=>{o(x.id),s("")}}),n.createElement("span",null,n.createElement("strong",null,x.label),x.description&&n.createElement("small",null,x.description)))),h.allowFreeText&&n.createElement("label",{className:"a-question-text"},h.options.length?"Or write your own answer":"Your answer",n.createElement("textarea",{"aria-label":`Your answer: ${h.prompt}`,value:i,rows:2,maxLength:8e3,onChange:x=>{s(x.target.value),o("")}}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"question.answer",disabled:l||!r&&!i.trim()},l?"Saving answer…":"Submit answer"),!h.required&&n.createElement("button",{className:"a-soft",type:"button","data-action":"question.cancel",disabled:l,onClick:v},"Skip question")),h.required&&n.createElement("p",{className:"a-caption"},"This step waits for your answer. Other work can continue.")):n.createElement("div",{className:"a-question-result",role:"status"},h.status==="answered"?n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,"Your answer:")," ",h.answer.text),n.createElement("small",null,y==="accepted"?"Answer saved and delivered to Amplifier.":y==="sending"?"Answer saved. Confirming delivery…":y==="rejected"?"Answer saved. Amplifier could not accept it.":"Answer saved. Delivery is unconfirmed; it has not been sent again."),((b=h.delivery)==null?void 0:b.message)&&y!=="accepted"&&n.createElement("p",null,h.delivery.message)):n.createElement("small",null,h.status==="superseded"?"Replaced by a newer question.":"Question cancelled without an answer.")),u&&n.createElement("p",{role:"alert"},u))}function Lq({session:e,dispatch:t}){const a=(e==null?void 0:e.questions)||[],r=a.filter(i=>{var s;return i.status==="pending"||i.status==="answered"&&((s=i.delivery)==null?void 0:s.status)!=="accepted"}),o=a.filter(i=>!r.includes(i)).slice(-3);return a.length?n.createElement("section",{className:"a-questions","data-part":"questions","aria-label":"Questions for you"},r.map(i=>n.createElement(eg,{key:`${i.id}:${i.revision}`,question:i,sessionId:e.id,dispatch:t})),!!o.length&&n.createElement("details",{className:"a-question-history"},n.createElement("summary",null,"Recent answers and closed questions"),o.map(i=>n.createElement(eg,{key:`${i.id}:${i.revision}`,question:i,sessionId:e.id,dispatch:t})))):null}function Dq(){let e=null;const t=new Map;function a(i){var c,u,d;const s=i.submitter||((u=(c=i.target)==null?void 0:c.closest)==null?void 0:u.call(c,"button,select,input[type=checkbox],input[type=radio],input[type=file]"));if(!s)return;if(i.type==="click"&&t.has(s)){i.preventDefault(),i.stopPropagation();return}const l={button:s,action:s.dataset.action||((d=s.closest("[data-action]"))==null?void 0:d.dataset.action)};e=l,setTimeout(()=>{e===l&&(e=null)},0)}function r(i){if(i==="view.update"||i==="canvas.visibility")return()=>{};const s=(e==null?void 0:e.action)===i?e.button:null;if(!s)return()=>{};const l=i==="view.update"?()=>{}:Hu(Eg(s)),c=t.get(s)||{count:0,busy:s.getAttribute("aria-busy")};c.count++,t.set(s,c),s.setAttribute("aria-busy","true"),s.setAttribute("data-action-pending","");let u=!1;return()=>{if(!u&&(u=!0,l(),!--c.count)){t.delete(s);for(const[d,p]of[["aria-busy",c.busy]])d==="aria-busy"&&s.getAttribute("data-operation-pending")==="true"||(p===null?s.removeAttribute(d):s.setAttribute(d,p));s.removeAttribute("data-action-pending")}}}function o(i){return i.addEventListener("click",a,!0),i.addEventListener("submit",a,!0),i.addEventListener("change",a,!0),()=>{i.removeEventListener("click",a,!0),i.removeEventListener("submit",a,!0),i.removeEventListener("change",a,!0)}}return{attach:o,begin:r}}function Fq(e,t={current:!0}){const a=e.ownerDocument.defaultView,r=()=>({top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight});let o=r(),i=0,s=!1,l=null;const c=()=>{i=0,!s&&(t.current&&(e.scrollTop=e.scrollHeight),o=r())},u=()=>{!i&&!s&&(i=a.requestAnimationFrame(c))},d=()=>{const x=r(),w=x.height===o.height&&x.viewport===o.viewport;w&&x.topo.top+1&&x.height-x.top-x.viewport<80&&(t.current=!0),o=x,t.current&&!w&&u()},p=x=>{x.deltaY<0&&(t.current=!1)},m=x=>{var w;l=((w=x.touches[0])==null?void 0:w.clientY)??null},h=x=>{var R;const w=(R=x.touches[0])==null?void 0:R.clientY;l!==null&&w>l&&(t.current=!1),l=w??null},f=x=>{x.target.closest('input,textarea,select,[contenteditable="true"]')||(["ArrowUp","PageUp","Home"].includes(x.key)||x.key===" "&&x.shiftKey)&&(t.current=!1)},v=new a.ResizeObserver(u),y=new Set,E=()=>{for(const x of y)x.parentElement!==e&&(v.unobserve(x),y.delete(x));for(const x of e.children)y.has(x)||(v.observe(x),y.add(x))},b=new a.MutationObserver(()=>{E(),u()});return v.observe(e),E(),b.observe(e,{subtree:!0,childList:!0,characterData:!0}),e.addEventListener("scroll",d,{passive:!0}),e.addEventListener("wheel",p,{passive:!0}),e.addEventListener("touchstart",m,{passive:!0}),e.addEventListener("touchmove",h,{passive:!0}),e.addEventListener("keydown",f),u(),{update:u,reveal(){t.current=!0,a.cancelAnimationFrame(i),c(),u()},dispose(){s=!0,a.cancelAnimationFrame(i),v.disconnect(),b.disconnect(),e.removeEventListener("scroll",d),e.removeEventListener("wheel",p),e.removeEventListener("touchstart",m),e.removeEventListener("touchmove",h),e.removeEventListener("keydown",f)}}}function qq(e,t,a){let r=e.scrollTop,o=!1,i=!1;const s=()=>{const l=e.scrollTop,c=l120||!t())&&(o=!0,Promise.resolve().then(a).finally(()=>{o=!1,r=e.scrollTop}))};return e.addEventListener("scroll",s,{passive:!0}),()=>{i=!0,e.removeEventListener("scroll",s)}}const Lc=`/* +`).slice(0,2e3):r;return g.useEffect(()=>a(!1),[r]),n.createElement(n.Fragment,null,n.createElement("pre",null,n.createElement("code",null,t?r:s)),i&&n.createElement("button",{type:"button",className:"a-link a-execution-more","aria-expanded":t,onClick:()=>a(!t)},t?"Show less":o.length>15?`Show all ${o.length} lines`:`Show all ${r.length.toLocaleString()} characters`))}function _n({label:e,text:t,meta:a,children:r,copy:o=!0,loading:i=!1}){return t==null&&!r?null:n.createElement("section",{className:"a-execution-payload"},n.createElement("header",null,n.createElement("span",null,e),a!=null&&n.createElement("span",null,hr(a)),o&&n.createElement(Aq,{text:hr(t),label:e,disabled:i})),r||n.createElement(_q,{text:t}))}function Pu({label:e,field:t}){return t.error?n.createElement("p",{role:"alert",className:"a-execution-load-error"},t.error," ",n.createElement("button",{type:"button",className:"a-link",onClick:t.retry},"Retry ",e.toLowerCase())):t.loading?n.createElement("small",{role:"status"},"Loading complete ",e.toLowerCase(),"…"):null}function Pq({action:e}){const[t,a]=g.useState(!1),r=e.rows.filter(o=>o.type!=="header"||!/^\*\*\* (Begin|End) Patch$/.test(o.text));return n.createElement(_n,{label:e.path||"Patch",text:e.diff,meta:e.done?"Applied":e.running?"In progress":"Requested changes"},n.createElement("div",{className:"a-execution-diff","aria-label":"File changes"},(t||r.length<=15?r:r.slice(0,10)).map((o,i)=>o.type==="header"?n.createElement("div",{key:i,className:"a-execution-diff-header"},o.file||o.text):n.createElement("div",{key:i,className:`a-execution-diff-row ${o.type}`},n.createElement("span",{className:"a-execution-line-number"},o.old),n.createElement("span",{className:"a-execution-line-number"},o.new),n.createElement("span",null,o.type==="add"?"+":o.type==="remove"?"−":" "),n.createElement("code",null,o.text)))),r.length>15&&n.createElement("button",{type:"button",className:"a-link a-execution-more","aria-expanded":t,onClick:()=>a(!t)},t?"Show less":`Show all ${r.length} patch lines`))}function Oq({node:e,action:t,input:a,output:r,error:o}){const i=t,s=hr(i.output),l=typeof i.out.stdout=="string"||typeof i.out.stderr=="string",c=r.value!=null;let u;i.kind==="command"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Command",text:i.command,meta:i.args.working_directory||i.args.cwd}),c&&(l?n.createElement(n.Fragment,null,n.createElement(_n,{label:"Output",text:i.out.stdout||"No output",meta:i.exit!=null?`Exit ${i.exit}`:null}),i.out.stderr&&n.createElement(_n,{label:"Standard error",text:i.out.stderr})):n.createElement(_n,{label:"Output",text:s||"No output",loading:r.incomplete}))):i.kind==="patch"?u=n.createElement(n.Fragment,null,n.createElement(Pq,{action:i}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="read"||i.kind==="write"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:i.kind==="read"?"File content":i.done?"Written content":"Requested content",text:i.kind==="read"&&i.failed?null:i.content||null,loading:i.kind==="read"?r.incomplete:a.incomplete}),c&&(!i.content||i.failed||i.kind==="write")&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="tasks"?u=n.createElement(n.Fragment,null,n.createElement("section",{className:"a-execution-payload"},n.createElement("header",null,n.createElement("span",null,i.done?"Task list":"Requested task list"),n.createElement("span",null,i.preview)),n.createElement("ul",{className:"a-execution-checklist"},i.tasks.map((y,E)=>{const b=typeof(y==null?void 0:y.status)=="string"?y.status:"unknown",x=b==="completed"?Pt:b==="in_progress"?No:ig;return n.createElement("li",{key:E,"data-status":b},n.createElement(x,{"aria-label":b}),n.createElement("span",null,hr((y==null?void 0:y.content)||(y==null?void 0:y.activeForm)||(y==null?void 0:y.title)||y)),n.createElement("small",null,b.replaceAll("_"," ")))}))),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):i.kind==="delegate"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Task sent",text:i.task}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):u=n.createElement(n.Fragment,null,n.createElement(_n,{label:i.kind==="app"?i.target:"Input",text:a.value,loading:a.incomplete}),n.createElement(_n,{label:"Result",text:r.value,loading:r.incomplete}));const d={command:["command","cmd","working_directory","cwd"],patch:["patch","diff","file_path","path","filename","old_string","old_text","new_string","new_text"],read:["file_path","path","filename"],write:["file_path","path","filename","content","text"],tasks:["todos"],delegate:["agent","name","description","instruction","instructions","prompt","task"]}[i.kind],p=d?Object.fromEntries(Object.entries(i.args).filter(([y])=>!d.includes(y))):{},m=i.kind==="command"&&l?["stdout","stderr","returncode","exit_code","exitCode"]:i.kind==="read"&&i.content&&!i.failed?[typeof i.out.content=="string"&&i.out.content?"content":"text"]:null,h=m?Object.fromEntries(Object.entries(i.out).filter(([y])=>!m.includes(y))):{},v={...Object.hasOwn(oo(i.result),"output")?Object.fromEntries(Object.entries(i.result).filter(([y])=>!["output","success","error"].includes(y))):{},...h};return n.createElement(n.Fragment,null,u,Object.keys(p).length>0&&n.createElement(_n,{label:"Arguments",text:hr(p),loading:a.incomplete}),n.createElement(_n,{label:"Result details",text:d&&Object.keys(v).length?hr(v):null}),n.createElement(_n,{label:"Error",text:o.value??(i.kind!=="generic"&&i.kind!=="app"&&Object.hasOwn(oo(i.result),"output")?i.result.error:null),loading:o.incomplete}),[["Input",a],["Result",r],["Error",o]].map(([y,E])=>n.createElement(Pu,{key:y,label:y,field:E})),cF(r.value).map(y=>n.createElement("a",{key:y,className:"a-execution-result-link",href:y,target:"_blank",rel:"noopener noreferrer"},y)),a.value==null&&r.value==null&&o.value==null&&!a.loading&&!r.loading&&!o.loading&&n.createElement("small",null,i.running?"Waiting for the event log…":"No action content is available in the event log."))}const Mq={message_count:"Messages",tool_count:"Tools",has_instructions:"Instructions",has_system:"System message",reasoning_enabled:"Reasoning enabled",thinking_enabled:"Thinking enabled",thinking_budget:"Thinking budget",background_mode:"Background mode",stream:"Streaming",max_tokens:"Maximum tokens",max_output_tokens:"Maximum output tokens",temperature:"Temperature",top_p:"Top P",parallel_tool_calls:"Parallel tool calls",tool_choice:"Tool choice",purpose:"Purpose",reasoning_effort:"Reasoning effort"};function zq({node:e,request:t,error:a,requestOpen:r,requestInline:o,toggleRequest:i,now:s}){const l=d=>Number.isFinite(d)?new Date(d*1e3).toLocaleString():null,c=[["Provider",e.provider],["Model",e.model],["Status",e.status||e.phase],["Started",l(e.startedAt)],["Ended",l(e.endedAt)],["Elapsed",xp(e,s)],...Object.entries(e.requestInfo||{}).map(([d,p])=>[Mq[d]||d,typeof p=="boolean"?p?"Yes":"No":p])].filter(([,d])=>d!=null&&d!==""),u=Sp(e.usage,{pending:Un(e)});return n.createElement(n.Fragment,null,n.createElement("dl",{className:"a-execution-model-facts"},c.map(([d,p])=>n.createElement(n.Fragment,{key:d},n.createElement("dt",null,d),n.createElement("dd",null,String(p))))),u&&n.createElement("p",{className:"a-execution-model-usage"},u.title),n.createElement(_n,{label:"Error",text:a.value,loading:a.incomplete}),n.createElement(Pu,{label:"Error",field:a}),e.requestDetail?n.createElement(n.Fragment,null,!o&&n.createElement("button",{type:"button",className:"a-link a-execution-request-toggle","data-action":"view.update","aria-expanded":r,onClick:i},r?"Hide raw request":"Load raw request",!r&&` · ${e.requestDetail.length.toLocaleString()} characters`),(o||r)&&n.createElement(n.Fragment,null,n.createElement(_n,{label:"Raw request",text:t.value,loading:t.incomplete}),n.createElement(Pu,{label:"Request",field:t}))):n.createElement("small",null,Un(e)?"Waiting for the recorded request…":"No recorded raw request is available for this call."))}function hk({value:e,pending:t=!1}){const a=Sp(e,{pending:t});return a?n.createElement("span",{className:"a-execution-usage",title:a.title},a.text):null}function fk({status:e}){return["error","failed","cancelled","interrupted"].includes(e)?n.createElement(On,{className:"a-execution-warning","aria-label":e}):["complete","completed","success","done"].includes(e)?n.createElement(Pt,{className:"a-execution-complete","aria-label":"Completed"}):Un({phase:e})?n.createElement("span",{className:"a-execution-dot","aria-label":e}):n.createElement(ig,{"aria-label":e||"Recorded"})}const Qf=e=>Number.isFinite(e)?new Date(e*1e3).toLocaleString():null;function gk({node:e,depth:t=0,ancestors:a=[],tree:r,act:o,now:i,expanded:s,toggle:l}){var T,A;const c=e.kind==="tool",u=r.children.get(e.id)||[],d=mk(e.summary||e.detail),p=c||e.kind==="llm"||!!d||u.length>15,m=!p||s.has(e.id),h=s.has(`request:${e.id}`),f=p?"button":"div",v=((T=e.requestDetail)==null?void 0:T.lines)<=15&&((A=e.requestDetail)==null?void 0:A.length)<=3e3,y=ys(e,"input",m&&c),E=ys(e,"output",m&&c),b=ys(e,"error",m),x=ys(e,"request",m&&(v||h));if(t>20||a.includes(e.id))return null;const w=c?Tq(e,y.value,E.value):null,R=e.kind==="worker"?Wa:e.kind==="llm"?Di:{command:dx,read:Co,write:sm,patch:sm,tasks:Uk,delegate:Wa}[w==null?void 0:w.kind]||hx,S=e.status||e.phase,I=xp(e,i),N=e.kind==="llm"?e.usage:e.kind==="worker"?e.aggregateUsage:null,M=(w==null?void 0:w.title)||e.label||e.model||e.kind,k=[e.provider,e.model].filter(Boolean).join(" · ");return n.createElement("div",{className:"a-execution-node","data-kind":e.kind,"data-node-id":e.id,"data-action-kind":w==null?void 0:w.kind},n.createElement(f,{className:"a-execution-line a-execution-action-line",...p?{type:"button","data-action":"view.update","data-view-label":[M,w==null?void 0:w.target,k,S].filter(Boolean).join(" · "),"aria-expanded":m,onClick:()=>l(e.id)}:{}},p&&n.createElement(Gt,{className:`a-execution-chevron ${m?"open":""}`}),n.createElement(R,null),n.createElement("span",{className:"a-execution-label",title:[M,w==null?void 0:w.target,k,(w==null?void 0:w.preview)||d].filter(Boolean).join(" · ")},n.createElement("span",null,M,(w==null?void 0:w.target)&&n.createElement(n.Fragment,null," ",n.createElement("code",null,w.target)),["llm","worker"].includes(e.kind)&&k&&n.createElement(n.Fragment,null," · ",k),!(w!=null&&w.target)&&(w==null?void 0:w.preview)&&n.createElement(n.Fragment,null," · ",w.preview),(w==null?void 0:w.kind)==="patch"&&(w.added>0||w.removed>0)&&n.createElement("span",{className:"a-execution-counts"},n.createElement("span",null,"+",w.added),n.createElement("span",null,"−",w.removed)))),n.createElement("span",{className:"a-execution-phase",title:[e.toolCallId&&`Call: ${e.toolCallId}`,Qf(e.startedAt),Qf(e.endedAt)].filter(Boolean).join(" · ")},Un(e)||["error","failed","cancelled","interrupted"].includes(S)?`${S}${I?" · ":""}`:"",I),n.createElement(hk,{value:N,pending:["llm","worker"].includes(e.kind)&&Un(e)}),n.createElement(fk,{status:S})),m&&n.createElement("div",{className:"a-execution-body"},c?n.createElement(Oq,{node:e,action:w,input:y,output:E,error:b}):e.kind==="llm"?n.createElement(zq,{node:e,request:x,error:b,requestOpen:h,requestInline:v,toggleRequest:()=>l(`request:${e.id}`),now:i}):d&&n.createElement(Pi,{text:d,reference:e.summaryDetail||e.detailDetail,automatic:!0,markdown:!0}),e.kind==="worker"&&e.routing&&n.createElement("p",{className:"a-muted"},lk(e.routing),e.parentProvider&&e.provider&&e.parentProvider!==e.provider&&` This worker used ${e.provider}; the parent used ${e.parentProvider}.`),e.kind==="worker"&&Un(e)&&(e.workerId||e.sessionId)&&n.createElement("button",{className:"a-link a-danger","data-action":"worker.stop",onClick:()=>o("worker.stop",{id:e.workerId||e.sessionId})},n.createElement(cx,null),"Stop worker"),u.length>0&&n.createElement("div",{className:"a-execution-children"},u.map(q=>n.createElement(gk,{key:q.id,node:q,depth:t+1,ancestors:[...a,e.id],tree:r,act:o,now:i,expanded:s,toggle:l})))))}function Xf({data:e,turnId:t,state:a,act:r}){var w,R,S,I,N,M,k;const o=Yu(),i=((R=(w=o==null?void 0:o.composition)==null?void 0:w.presentation)==null?void 0:R.interfaceDetail)||((I=(S=o==null?void 0:o.composition)==null?void 0:S.presentation)==null?void 0:I.executionDetail)||"standard",s=e.turns.find(T=>T.id===t)||{},l=lF(e,t),c=e.nodes.filter(T=>T.turnId===t),u=Un(s)||c.some(Un),[d,p]=g.useState(()=>ks());if(g.useEffect(()=>{if(!u)return;p(ks());const T=setInterval(()=>p(ks()),1e3);return()=>clearInterval(T)},[u]),!l.roots.length&&!s.startedAt)return null;const m=new Set(((N=a.view)==null?void 0:N.executionExpanded)||[]),h=`turn:${t}`,f=pk(m,h,i),v=T=>{const A=T===h?Nq(m,T,i):new Set(m);T!==h&&(A.has(T)?A.delete(T):A.add(T)),r("view.update",{patch:{executionExpanded:[...A]}})},y=((M=s.nodeCounts)==null?void 0:M.tools)??c.filter(T=>T.kind==="tool").length,E=((k=s.nodeCounts)==null?void 0:k.models)??c.filter(T=>T.kind==="llm").length,b=xp(s,d),x=Un(s)?`Working${b?` · ${b}`:"…"}`:b?`Worked for ${b}`:"Work details";return n.createElement("section",{className:"a-execution-turn a-execution-content","data-part":"execution","data-turn-id":s.originalTurnId||t,"data-group-id":t,"aria-label":"Execution details"},n.createElement("button",{type:"button",className:"a-execution-line a-execution-turn-line","data-action":"view.update","data-view-label":Un(s)?"Working · expand work details":"Completed work · expand work details","aria-expanded":f,onClick:()=>v(h)},n.createElement(Gt,{className:`a-execution-chevron ${f?"open":""}`}),n.createElement("span",{className:"a-execution-label"},x),n.createElement(hk,{value:s.aggregateUsage||s.usage,pending:Un(s)}),n.createElement("span",{className:"a-execution-call-counts"},y," ",y===1?"tool call":"tool calls"," · ",E," ",E===1?"model call":"model calls"),n.createElement(fk,{status:s.status||s.phase})),f&&l.roots.length>0&&n.createElement("div",{className:"a-execution-roots"},l.roots.map(T=>n.createElement(gk,{key:T.id,node:T,tree:l,act:r,now:d,expanded:m,toggle:v}))))}function eg(e){if(!e)return;e.style.minHeight="44px",e.style.maxHeight="180px",e.style.height="auto";const t=Math.max(44,Math.min(180,e.scrollHeight));e.style.height=`${t}px`,e.style.overflowY=e.scrollHeight>180?"auto":"hidden",e.style.resize="none"}function Lq({draft:e="",attachments:t=[],uploading:a=!1,working:r=!1,responseActive:o=!1,stopping:i=!1,voiceStatus:s="idle",voiceStarting:l=!1,busy:c=!1,newChatPending:u=!1,sending:d=!1,historyPending:p=!1,executionUnavailable:m=!1}={}){const h=!!e.trim()||t.length>0;return h||a?{action:"conversation.send",label:r?"Send a correction":"Send message",icon:"send",disabled:!h||c||u||a||p||m}:["idle","ended","error"].includes(s)?o?{action:"conversation.stop",label:"Stop response",icon:"cancel",disabled:i||m}:u||d?{action:"conversation.send",label:"Send message",icon:"send",disabled:!0}:{action:"call.start",label:"Start voice call",icon:"voice",disabled:c||l||p||m}:{action:"call.end",label:"End voice call",icon:"cancel",disabled:s==="ending"}}function Dq({session:e,runtimeAvailable:t=!0,dispatch:a,children:r}){var w,R,S,I;const o=Ml(e),i=e==null?void 0:e.id,[s,l]=g.useState(null),[c,u]=g.useState(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),h=g.useRef(i);h.current=i;const f=s===i,v=o.blocked||f,y=(e==null?void 0:e.workspaceAvailable)===!1?"This workspace is unavailable. Restore access to it before continuing.":(e==null?void 0:e.historyReadOnlyReason)||(t?"":"The Amplifier runtime is unavailable. Check Settings before trying again."),E=c&&c.id===i?c.message:"";g.useEffect(()=>u(null),[i,(w=e==null?void 0:e.ownership)==null?void 0:w.status,(R=e==null?void 0:e.ownership)==null?void 0:R.reason,(S=e==null?void 0:e.ownership)==null?void 0:S.detail]),g.useEffect(()=>{var N,M,k;v||m.current!==i||(m.current=null,(document.activeElement===document.body||(N=d.current)!=null&&N.contains(document.activeElement))&&((k=(M=d.current)==null?void 0:M.querySelector("textarea"))==null||k.focus()))},[v,i]);async function b(){if(p.current===i||!o.canTakeover||y)return;const N=i;p.current=N,m.current=N,l(N),u(null);try{await a("session.takeover",{id:N})}catch(M){h.current===N&&u({id:N,message:_a(M)})}finally{p.current===N&&(p.current=null),l(M=>M===N?null:M)}}const x=f||((I=e==null?void 0:e.ownership)==null?void 0:I.status)==="taking-over";return n.createElement("div",{className:`a-composer-access ${v?"is-blocked":""}`,ref:d},n.createElement("fieldset",{className:"a-composer-fields",disabled:v,inert:v},r),v&&n.createElement("section",{className:"a-composer-lock","aria-label":"Conversation access","aria-busy":x},n.createElement("div",{className:"a-composer-lock-copy",role:"status","aria-live":"polite","aria-atomic":"true"},x?n.createElement(lg,{className:"a-progress-spinner","aria-hidden":"true"}):n.createElement($k,{"aria-hidden":"true"}),n.createElement("div",null,n.createElement("strong",null,x?"Taking over…":o.label),n.createElement("p",null,x?"Waiting for ownership, then loading your session. Your draft is kept.":o.detail),y&&n.createElement("p",null,y))),E&&n.createElement("p",{className:"a-composer-lock-error",role:"alert"},E," Your draft is kept. Try again when the connection is available."),o.canTakeover&&n.createElement("button",{type:"button",className:"a-primary","data-action":"session.takeover",disabled:f||!!y,onClick:b},f?"Taking over…":o.retry?"Try again":"Continue here")))}function tg({question:e,sessionId:t,dispatch:a}){var E,b;const[r,o]=g.useState(""),[i,s]=g.useState(""),[l,c]=g.useState(!1),[u,d]=g.useState(""),p=g.useRef(!1),m=g.useRef(null),h=e;async function f(x){var I;if(x.preventDefault(),p.current)return;const w=r?{optionId:r}:{text:i.trim()};if(!r&&!w.text)return;const R={sessionId:t,id:h.id,expectedRevision:h.revision,...w},S=JSON.stringify(R);((I=m.current)==null?void 0:I.key)!==S&&(m.current={key:S,id:crypto.randomUUID()}),p.current=!0,c(!0),d("");try{await a("question.answer",R,{id:m.current.id})}catch(N){d(N.message||"The answer could not be confirmed. Your choice is kept.")}finally{p.current=!1,c(!1)}}async function v(){if(!p.current){p.current=!0,c(!0),d("");try{await a("question.cancel",{sessionId:t,id:h.id,expectedRevision:h.revision,reason:"Skipped by the user"})}catch(x){d(x.message)}finally{p.current=!1,c(!1)}}}const y=(E=h.delivery)==null?void 0:E.status;return n.createElement("article",{className:"a-question","aria-label":`Question ${h.id}`,"data-question-id":h.id},n.createElement("div",{className:"a-question-kind"},h.required?"Answer needed for this step":"Optional question"),n.createElement("p",{className:"a-question-prompt"},h.prompt),n.createElement("p",{className:"a-caption"},h.dependency),h.status==="pending"?n.createElement("form",{onSubmit:f,"aria-label":`Answer: ${h.prompt}`},n.createElement("fieldset",{disabled:l},n.createElement("legend",{className:"a-sr-only"},h.prompt),h.options.map(x=>n.createElement("label",{className:"a-question-option",key:x.id},n.createElement("input",{type:"radio",name:`question-${h.id}`,value:x.id,checked:r===x.id,onChange:()=>{o(x.id),s("")}}),n.createElement("span",null,n.createElement("strong",null,x.label),x.description&&n.createElement("small",null,x.description)))),h.allowFreeText&&n.createElement("label",{className:"a-question-text"},h.options.length?"Or write your own answer":"Your answer",n.createElement("textarea",{"aria-label":`Your answer: ${h.prompt}`,value:i,rows:2,maxLength:8e3,onChange:x=>{s(x.target.value),o("")}}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"question.answer",disabled:l||!r&&!i.trim()},l?"Saving answer…":"Submit answer"),!h.required&&n.createElement("button",{className:"a-soft",type:"button","data-action":"question.cancel",disabled:l,onClick:v},"Skip question")),h.required&&n.createElement("p",{className:"a-caption"},"This step waits for your answer. Other work can continue.")):n.createElement("div",{className:"a-question-result",role:"status"},h.status==="answered"?n.createElement(n.Fragment,null,n.createElement("p",null,n.createElement("strong",null,"Your answer:")," ",h.answer.text),n.createElement("small",null,y==="accepted"?"Answer saved and delivered to Amplifier.":y==="sending"?"Answer saved. Confirming delivery…":y==="rejected"?"Answer saved. Amplifier could not accept it.":"Answer saved. Delivery is unconfirmed; it has not been sent again."),((b=h.delivery)==null?void 0:b.message)&&y!=="accepted"&&n.createElement("p",null,h.delivery.message)):n.createElement("small",null,h.status==="superseded"?"Replaced by a newer question.":"Question cancelled without an answer.")),u&&n.createElement("p",{role:"alert"},u))}function Fq({session:e,dispatch:t}){const a=(e==null?void 0:e.questions)||[],r=a.filter(i=>{var s;return i.status==="pending"||i.status==="answered"&&((s=i.delivery)==null?void 0:s.status)!=="accepted"}),o=a.filter(i=>!r.includes(i)).slice(-3);return a.length?n.createElement("section",{className:"a-questions","data-part":"questions","aria-label":"Questions for you"},r.map(i=>n.createElement(tg,{key:`${i.id}:${i.revision}`,question:i,sessionId:e.id,dispatch:t})),!!o.length&&n.createElement("details",{className:"a-question-history"},n.createElement("summary",null,"Recent answers and closed questions"),o.map(i=>n.createElement(tg,{key:`${i.id}:${i.revision}`,question:i,sessionId:e.id,dispatch:t})))):null}function qq(){let e=null;const t=new Map;function a(i){var c,u,d;const s=i.submitter||((u=(c=i.target)==null?void 0:c.closest)==null?void 0:u.call(c,"button,select,input[type=checkbox],input[type=radio],input[type=file]"));if(!s)return;if(i.type==="click"&&t.has(s)){i.preventDefault(),i.stopPropagation();return}const l={button:s,action:s.dataset.action||((d=s.closest("[data-action]"))==null?void 0:d.dataset.action)};e=l,setTimeout(()=>{e===l&&(e=null)},0)}function r(i){if(i==="view.update"||i==="canvas.visibility")return()=>{};const s=(e==null?void 0:e.action)===i?e.button:null;if(!s)return()=>{};const l=i==="view.update"?()=>{}:Hu(wg(s)),c=t.get(s)||{count:0,busy:s.getAttribute("aria-busy")};c.count++,t.set(s,c),s.setAttribute("aria-busy","true"),s.setAttribute("data-action-pending","");let u=!1;return()=>{if(!u&&(u=!0,l(),!--c.count)){t.delete(s);for(const[d,p]of[["aria-busy",c.busy]])d==="aria-busy"&&s.getAttribute("data-operation-pending")==="true"||(p===null?s.removeAttribute(d):s.setAttribute(d,p));s.removeAttribute("data-action-pending")}}}function o(i){return i.addEventListener("click",a,!0),i.addEventListener("submit",a,!0),i.addEventListener("change",a,!0),()=>{i.removeEventListener("click",a,!0),i.removeEventListener("submit",a,!0),i.removeEventListener("change",a,!0)}}return{attach:o,begin:r}}function jq(e,t={current:!0}){const a=e.ownerDocument.defaultView,r=()=>({top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight});let o=r(),i=0,s=!1,l=null;const c=()=>{i=0,!s&&(t.current&&(e.scrollTop=e.scrollHeight),o=r())},u=()=>{!i&&!s&&(i=a.requestAnimationFrame(c))},d=()=>{const x=r(),w=x.height===o.height&&x.viewport===o.viewport;w&&x.topo.top+1&&x.height-x.top-x.viewport<80&&(t.current=!0),o=x,t.current&&!w&&u()},p=x=>{x.deltaY<0&&(t.current=!1)},m=x=>{var w;l=((w=x.touches[0])==null?void 0:w.clientY)??null},h=x=>{var R;const w=(R=x.touches[0])==null?void 0:R.clientY;l!==null&&w>l&&(t.current=!1),l=w??null},f=x=>{x.target.closest('input,textarea,select,[contenteditable="true"]')||(["ArrowUp","PageUp","Home"].includes(x.key)||x.key===" "&&x.shiftKey)&&(t.current=!1)},v=new a.ResizeObserver(u),y=new Set,E=()=>{for(const x of y)x.parentElement!==e&&(v.unobserve(x),y.delete(x));for(const x of e.children)y.has(x)||(v.observe(x),y.add(x))},b=new a.MutationObserver(()=>{E(),u()});return v.observe(e),E(),b.observe(e,{subtree:!0,childList:!0,characterData:!0}),e.addEventListener("scroll",d,{passive:!0}),e.addEventListener("wheel",p,{passive:!0}),e.addEventListener("touchstart",m,{passive:!0}),e.addEventListener("touchmove",h,{passive:!0}),e.addEventListener("keydown",f),u(),{update:u,reveal(){t.current=!0,a.cancelAnimationFrame(i),c(),u()},dispose(){s=!0,a.cancelAnimationFrame(i),v.disconnect(),b.disconnect(),e.removeEventListener("scroll",d),e.removeEventListener("wheel",p),e.removeEventListener("touchstart",m),e.removeEventListener("touchmove",h),e.removeEventListener("keydown",f)}}}function Uq(e,t,a){let r=e.scrollTop,o=!1,i=!1;const s=()=>{const l=e.scrollTop,c=l120||!t())&&(o=!0,Promise.resolve().then(a).finally(()=>{o=!1,r=e.scrollTop}))};return e.addEventListener("scroll",s,{passive:!0}),()=>{i=!0,e.removeEventListener("scroll",s)}}const Dc=`/* * Amplifier theme v1 — Amplifier Unified * A single, self-contained skin. Edit this file and share it. * A blue/lilac palette with light and dark variants. @@ -1659,7 +1659,7 @@ html,body,#root{height:100%;height:100dvh;overflow:hidden} #amp-one[data-interface-detail="detailed"] .a-navigation-more{opacity:1;visibility:visible} .a-canvas-reference{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem 1rem;border-bottom:1px solid var(--border)} -`,jq=`/* App navigation uses full-width content on narrow screens; desktop preferences +`,$q=`/* App navigation uses full-width content on narrow screens; desktop preferences survive resizing. Hidden viewers stay mounted but never occupy layout space. */ #amp-one.a-chat-shell [hidden]{display:none!important} #amp-one.a-chat-shell .a-mobile-chat-title,#amp-one.a-chat-shell .a-toolbar-scrim{display:none} @@ -1705,4 +1705,4 @@ html,body,#root{height:100%;height:100dvh;overflow:hidden} #amp-one.a-chat-shell .a-composer{width:calc(100% - 16px);margin-bottom:calc(8px + env(safe-area-inset-bottom))} #amp-one.a-chat-shell :is(input,textarea,select){font-size:max(16px,var(--a-text-base,14px))!important} } -`,Dc="/branding/icons/amplifier-icon-128.png",Fc=e=>JSON.stringify(e,null,2),Uq=e=>{try{return new Date(typeof e=="number"&&e<1e12?e*1e3:e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}catch{return""}};function $q(){var Fn,qn,Kr,An,Fo,zl,Cp,Np,Rp,Tp,Ip,Ap,_p,Pp,Op,Mp,zp,Lp,Dp,Fp,qp,jp,Up,$p,Bp,Hp,Vp;const e=Uu(),[t,a]=g.useState(!1),r=g.useRef(Dq()),o=g.useRef(!1),i=g.useRef(null),s=g.useRef(null),[l,c]=g.useState(null),[u,d]=g.useState([]),[p,m]=g.useState(""),[h,f]=g.useState(!1),[v,y]=g.useState(!1),[E,b]=g.useState(0),[x,w]=g.useState(""),[R,S]=g.useState(""),[I,N]=g.useState(Lc),[M,k]=g.useState("Amplifier Unified"),[T,A]=g.useState(!1),[q,z]=g.useState("view.update"),[F,H]=g.useState('{"patch":{"mode":"chat"}}'),[ne,B]=g.useState({status:"idle"}),[P,_]=g.useState(Date.now()),[ee,Z]=g.useState(!1),[D,G]=g.useState(!1),j=g.useRef(null),K=g.useRef(null),[oe,xe]=g.useState({status:"idle"}),[ce,_e]=g.useState({status:"idle"}),$e=g.useRef(!1),[De,de]=g.useState(!1),ve=OF(),O=g.useRef(new Set),W=g.useRef(Promise.resolve()),ae=g.useRef(new WeakMap),ze=g.useRef(!1),[Me,be]=g.useState(!1),rt=g.useRef({busy:!1,revision:0}),[wt,Dt]=g.useState(!1),It=g.useRef(null),Qt=g.useRef(Promise.resolve()),ie=g.useRef(0),he=g.useRef(null),Ne=g.useRef(null),Le=g.useRef(!0),Ge=g.useRef(null),ft=g.useRef(null),vt=g.useRef(null),gt=g.useRef(null),Se=g.useRef(null),X=g.useRef(null),Ce=g.useRef(null),Fe=g.useRef(),We=g.useRef(null),tt=g.useRef(null),yt=g.useRef(new Set),se=g.useRef(null),Qe=g.useRef(""),ot=g.useRef(Promise.resolve()),bt=g.useRef(Promise.resolve()),ut=g.useRef(Promise.resolve()),Mt=g.useRef(null),St=g.useRef(Promise.resolve()),jt=g.useRef(new Set),st=g.useRef(new Set),lt=g.useRef(()=>{}),Ze=g.useRef(KF()),Ot=g.useRef(null),en=g.useRef(nq()),vn=g.useCallback(L=>{for(const Y of L||[])Y.id&&st.current.has(Y.id)||(Y.id&&st.current.add(Y.id),!(Y.createdAt&&Date.now()-new Date(typeof Y.createdAt=="number"&&Y.createdAt<1e12?Y.createdAt*1e3:Y.createdAt).getTime()>6e4)&&Promise.resolve().then(async()=>{var ue,Ie,qe,je;if(Y.type==="download"&&mm(Y.filename||"amplifier-export.json",Y.content??Y.data,Y.mimeType||Y.mime||"application/json"),Y.type==="conversation.export"&&await rq(Y,{request:Ct,download:mm,clipboard:navigator.clipboard}),Y.type==="message.copy"){let Pe="ready",_t="Copied Markdown";try{await navigator.clipboard.writeText(await aq(Se.current,Y,Ct))}catch(Et){Pe="error",_t="Could not copy: "+Et.message}await Ct("/api/actions",{method:"POST",body:{action:"message.copyResult",args:{requestId:Y.requestId,status:Pe,message:_t}}})}if(Y.type==="download.url"){const Pe=document.createElement("a");Pe.href=Y.url,Pe.download=Y.filename,Pe.click()}if(Y.type==="browser.open"&&window.open(Y.url,"_blank","noopener,noreferrer"),["clipboard.write","clipboard.url"].includes(Y.type))try{let Pe=Y.content;if(Y.type==="clipboard.url"){const _t=await fetch(Y.url);if(!_t.ok)throw Error("Source unavailable");Pe=await _t.text()}await navigator.clipboard.writeText(Pe),await Ct("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"ready",message:"Source copied"}}})}catch(Pe){throw await Ct("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"error",message:"Clipboard unavailable: "+Pe.message}}}),Pe}if(Y.type==="call.start")try{await X.current.start(Y.args||{})}catch(Pe){throw await Ct("/api/voice/end",{method:"POST",body:{id:null}}).catch(()=>{}),Pe}if(Y.type==="canvas.checkpoint"&&await Ul(Y.sessionId,Y.id),Y.type==="voice.visual.capture"&&await((ue=j.current)==null?void 0:ue.capture(Y)),Y.type==="computer.visual.capture"&&await((Ie=K.current)==null?void 0:Ie.capture(Y)),Y.type==="call.end"&&await X.current.end(),Y.type==="call.resumeAudio"&&X.current.callAudio.resumePlayback(),Y.type==="call.keepAwake"&&X.current.setKeepAwake(Y.enabled??((qe=Y.args)==null?void 0:qe.enabled)??!0),Y.type==="call.mute"&&X.current.setMuted(Y.muted??((je=Y.args)==null?void 0:je.muted)??!0),["notification.request","notification-permission"].includes(Y.type)&&"Notification"in window){const Pe=await Notification.requestPermission();await Ct("/api/view",{method:"POST",body:{clientId:Ha,notificationPermission:Pe}})}}).catch(ue=>m(_a(ue))))},[]);lt.current=vn;const Rn=g.useRef(new Set),bn=g.useRef(null),Ln=g.useRef(XF()),Kn=g.useRef(Promise.resolve()),Tn=g.useRef(new WeakSet),ge=g.useCallback(L=>{var Ie,qe,je,Pe,_t;if(!L||typeof L!="object"||Ot.current&&((Ie=L.client)==null?void 0:Ie.hostInstanceId)===((qe=Ot.current.client)==null?void 0:qe.hostInstanceId)&&L.revisionEt.id===Se.current.selectedSessionId),ue=(_t=L.sessions)==null?void 0:_t.find(Et=>Et.id===L.selectedSessionId);if((Y==null?void 0:Y.id)===(ue==null?void 0:ue.id)&&Number(ue==null?void 0:ue.sharedHistoryOffset)xr.getBoundingClientRect().bottom>Lt);un&&(ft.current={sessionId:ue.id,messageId:un.dataset.messageId,top:un.getBoundingClientRect().top},Le.current=!1)}Ot.current=L,en.current.remember(L);for(const Et of Rn.current)Et(L);Se.current=en.current.apply(L),c(Ze.current.apply(Se.current)),jt.current.forEach(Et=>Et(Ze.current.apply(Se.current)))},[]),Ke=g.useCallback(L=>{if(L.stateRevision===void 0)return Promise.resolve();const Y=ue=>{var Ie;return((Ie=ue==null?void 0:ue.client)==null?void 0:Ie.hostInstanceId)===L.hostInstanceId&&ue.revision>=L.stateRevision};return Y(Ot.current)?Promise.resolve():new Promise((ue,Ie)=>{const qe=()=>{clearTimeout(Pe),Rn.current.delete(je),ue()},je=_t=>{Y(_t)&&qe()},Pe=setTimeout(()=>{Rn.current.delete(je),bn.current||(bn.current=Ct("/api/state").then(ge).finally(()=>{bn.current=null})),bn.current.then(ue,Ie)},1500);Rn.current.add(je)})},[ge]),Ue=g.useCallback((L,Y={},ue={})=>{var Jp,Kp,Yp,Gp,Qp,Xp,em,tm;if(L==="call.resumeAudio"&&((Jp=X.current)==null||Jp.callAudio.resumePlayback()),(L==="message.reply"||L==="canvas.reference"||L==="canvas.views.command"&&Y.action==="canvas.reference")&&!ue.referencePrepared){if(ze.current)return Promise.reject(Error("A reference is already being added."));const Kt=Ze.current.apply(Se.current),jo=Kt==null?void 0:Kt.selectedSessionId,vk=((Kp=Kt==null?void 0:Kt.view)==null?void 0:Kp.draft)||"",Ll=L==="canvas.views.command"?Y.args:Y;ze.current=!0,be(!0),clearTimeout(Fe.current);const nm=tt.current,am=We.current;return(async()=>{var om;if(am&&nm&&await wn(nm,am),((om=Se.current)==null?void 0:om.selectedSessionId)!==jo)throw Error("The conversation changed. Your draft was kept; select the text again.");const rm={...Ll,sessionId:Ll.sessionId??jo,...L==="message.reply"?{}:{expectedDraft:Ll.expectedDraft??vk}};return await Ue(L,L==="canvas.views.command"?{...Y,args:rm}:rm,{...ue,referencePrepared:!0})})().finally(()=>{ze.current=!1,be(!1)})}if(["conversation.send","conversation.stop","worker.spawn","worker.stop","worker.steer","approval.respond","attachment.add","attachment.remove"].includes(L)&&(Y={sessionId:(Yp=Se.current)==null?void 0:Yp.selectedSessionId,...Y}),L==="conversation.send"&&!ue.checkpointed)return Ul(Y.sessionId).then(()=>Ue(L,Y,{...ue,checkpointed:!0}));L==="view.update"&&Object.hasOwn(Y.patch||{},"draft")&&(Y={sessionId:(Gp=Se.current)==null?void 0:Gp.selectedSessionId,...Y});const qe=L==="session.select"?Y.id:L==="shell.command"&&Y.action==="session.select"?(Qp=Y.args)==null?void 0:Qp.id:null,je=qe&&!Mt.current?en.current.begin(Ze.current.apply(Se.current),qe):null;je&&Ot.current&&(Se.current=en.current.apply(Ot.current),c(Ze.current.apply(Se.current))),L==="canvas.visibility"&&(Y={sessionId:((Xp=Se.current)==null?void 0:Xp.selectedSessionId)??null,canvasId:((tm=(em=Se.current)==null?void 0:em.canvas)==null?void 0:tm.id)??null,...Y});const Pe=L==="canvas.visibility"?Ze.current.addCanvas(Se.current,Y.open):L==="view.update"?ue.pendingViewToken??Ze.current.add(Y.patch||{},Y.sessionId):null;Pe&&Se.current&&c(Ze.current.apply(Se.current));const _t=FL(),Et=ue.feedback===!1?()=>{}:r.current.begin(L==="shell.command"?Y.action:L),Lt=Mt.current,un=async()=>{xr&&Lt&&await Lt;const Kt=await Ct("/api/actions",{signal:ue.signal,method:"POST",body:{action:L,args:Y,id:ue.id||crypto.randomUUID(),...ue.expectedRevision!==void 0?{expectedRevision:ue.expectedRevision}:{}}});return Kt.state?ge(Kt.state):await Ke(Kt),Kt},xr=["session.select","session.draft","workspace.select"].includes(L)||L==="shell.command"&&["session.select","session.draft","workspace.select"].includes(Y.action),gk=L==="attention.read"&&Array.isArray(Y.ids)&&Y.ids.length>0&&Y.ids.every(Kt=>{var jo;return typeof((jo=Y.fingerprints)==null?void 0:jo[Kt])=="string"}),Wp=GF(L,ue),Zp=L.startsWith("coordination.")||ue.presentation?{current:Promise.resolve()}:L==="canvas.visibility"?ot:xr?ut:gk?St:["conversation.send","message.edit","question.answer"].includes(L)?W:Wp?Kn:bt,qo=Ln.current(Zp,un,QF(L,Y,ue),Wp?bt.current:null).then(Kt=>(Pe&&Ze.current.settle(Pe),je&&en.current.settle(je),Pe&&Se.current&&c(Ze.current.apply(Se.current)),Tn.current.has(Kt)||(Tn.current.add(Kt),vn(Kt.effects)),Kt)).catch(Kt=>{throw je&&(en.current.settle(je),Ot.current&&(Se.current=en.current.apply(Ot.current),c(Ze.current.apply(Se.current)))),Kt.state&&ge(Kt.state),Pe&&(Ze.current.settle(Pe),Se.current&&c(Ze.current.apply(Se.current))),Kt}).finally(()=>{_t(),Et()});if(Zp.current=qo.catch(()=>{}),L==="canvas.views.dirty"){Mt.current=qo;const Kt=()=>{Mt.current===qo&&(Mt.current=null)};qo.then(Kt,Kt)}return qo},[ge,vn,Ke]);g.useEffect(()=>{var L,Y;for(const ue of ve.entries){if(ue.sessionId||!((L=ue.creation)!=null&&L.id))continue;const Ie=(Y=l==null?void 0:l.sessions)==null?void 0:Y.find(qe=>qe.creationCommandId===ue.creation.id);Ie&&ve.update(ue.id,{sessionId:Ie.id})}},[l==null?void 0:l.sessions,ve.entries]);const nt=Wx(Ot.current,Ue,Ha);g.useEffect(()=>gt.current?r.current.attach(gt.current):void 0,[!!l,nt.ready]);const ye=g.useCallback((L,Y={})=>Ue(L,Y).catch(ue=>m(_a(ue))),[Ue]),At=g.useRef(null);At.current||(At.current=tq(L=>Ct("/api/view",{method:"POST",body:L})));const an=g.useCallback(()=>{var L;Se.current&&!document.hidden&&At.current({...ql(gt.current,Ha,{interfaceOnly:!0}),sessionId:Se.current.selectedSessionId??null,voice:(L=X.current)==null?void 0:L.state,notificationPermission:"Notification"in window?Notification.permission:"unsupported"})},[]);g.useEffect(()=>{let L=!0,Y;const ue=new AbortController;m("");const Ie=setTimeout(()=>{ue.abort(),L&&!Se.current&&m("The workspace is taking too long to respond. You can retry the connection.")},1e4);return jx(ue.signal).then(()=>{if(!L)return;Ct("/api/state",{signal:ue.signal}).then(je=>{L&&(ge(je.state||je),f(!0))}).catch(je=>{L&&je.name!=="AbortError"&&!Se.current&&m(_a(je))}).finally(()=>clearTimeout(Ie)),Ct("/api/actions",{signal:ue.signal}).then(je=>{L&&d(Array.isArray(je)?je:je.actions||[])}).catch(()=>{});let qe;ei("connecting"),Y=new EventSource(ji("/api/events?transport=delta-v1")),Y.addEventListener("state",je=>{if(L)try{const Pe=!Se.current;qe=JSON.parse(je.data),ge(qe),f(!0),Pe&&m(""),clearTimeout(Ie)}catch{}}),Y.addEventListener("state-delta",je=>{if(L)try{qe=eq(qe,JSON.parse(je.data)),ge(qe),f(!0)}catch{Y.close(),ei("closed"),f(!1),b(Pe=>Pe+1)}}),Y.addEventListener("shell",je=>{try{window.dispatchEvent(new CustomEvent("amplifier-shell",{detail:JSON.parse(je.data)}))}catch{}}),Y.onopen=()=>{ei("open"),f(!0),At.current.invalidate(),an(),window.dispatchEvent(new Event("amplifier-reconnected"))},Y.onerror=()=>{ei(Y.readyState===2?"closed":"reconnecting"),f(!1)}}).catch(qe=>{clearTimeout(Ie),L&&qe.name!=="AbortError"&&m(_a(qe))}),()=>{L=!1,clearTimeout(Ie),ue.abort(),Y==null||Y.close(),ei("closed")}},[ge,E]),g.useEffect(()=>(window.amplifier=Object.freeze({shellClientId:Ha,getShellState:()=>nt.data,getState:()=>({...Ze.current.apply(Se.current),renderedView:ql(gt.current,Ha)}),getActions:()=>u,dispatch:Ue,subscribe:L=>(jt.current.add(L),()=>jt.current.delete(L))}),()=>{delete window.amplifier}),[u,Ue,nt.data]),g.useEffect(()=>{const L=gt.current;if(!L)return;const Y=()=>Ux(L),ue=new MutationObserver(Y);return Y(),ue.observe(L,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>ue.disconnect()},[!!l,nt.ready]),g.useEffect(()=>{const L=setTimeout(an,300);return()=>clearTimeout(L)},[l,x,I,T,ne,an,nt.data]),g.useEffect(()=>{let L;const Y=()=>{clearTimeout(L),L=setTimeout(an,200)};return document.addEventListener("visibilitychange",Y),document.addEventListener("selectionchange",Y),document.addEventListener("focusin",Y),document.addEventListener("input",Y),window.addEventListener("resize",Y),()=>{clearTimeout(L),document.removeEventListener("visibilitychange",Y),document.removeEventListener("selectionchange",Y),document.removeEventListener("focusin",Y),document.removeEventListener("input",Y),window.removeEventListener("resize",Y)}},[an]),g.useEffect(()=>{var Y;if(!l)return;const L=((Y=l.view)==null?void 0:Y.draft)||"";L!==Qe.current&&(w(L),Qe.current=L)},[(Fn=l==null?void 0:l.view)==null?void 0:Fn.draft,l==null?void 0:l.selectedSessionId]),g.useEffect(()=>{var Y,ue,Ie,qe;if(!l)return;const L=((Y=l.theme)==null?void 0:Y.name)+"::"+((ue=l.theme)==null?void 0:ue.css);L!==se.current&&(N(((Ie=l.theme)==null?void 0:Ie.css)||Lc),k(((qe=l.theme)==null?void 0:qe.name)||"Amplifier Unified"),A(!1),se.current=L)},[l==null?void 0:l.theme]),g.useEffect(()=>{const L=l==null?void 0:l.view;L&&(L.workerDraft!==void 0&&S(L.workerDraft),L.themeDraft!==void 0&&N(L.themeDraft),L.themeDraftName!==void 0&&k(L.themeDraftName),L.themePreview!==void 0&&A(L.themePreview),L.agentAction!==void 0&&z(L.agentAction),L.agentArgs!==void 0&&H(L.agentArgs))},[(qn=l==null?void 0:l.view)==null?void 0:qn.workerDraft,(Kr=l==null?void 0:l.view)==null?void 0:Kr.themeDraft,(An=l==null?void 0:l.view)==null?void 0:An.themeDraftName,(Fo=l==null?void 0:l.view)==null?void 0:Fo.themePreview,(zl=l==null?void 0:l.view)==null?void 0:zl.agentAction,(Cp=l==null?void 0:l.view)==null?void 0:Cp.agentArgs]);const Zt=MF((Np=l==null?void 0:l.sessions)==null?void 0:Np.find(L=>L.id===l.selectedSessionId),()=>{Le.current=!1;const L=Ne.current;if(!L)return;const Y=L.getBoundingClientRect().top,ue=[...L.querySelectorAll("[data-message-id]")].find(Ie=>Ie.getBoundingClientRect().bottom>Y);ue&&(ft.current={sessionId:l.selectedSessionId,messageId:ue.dataset.messageId,top:ue.getBoundingClientRect().top})}),Q=Zt.session,rn=(l==null?void 0:l.view)||{},ca=rn.mode||"chat",Sa=Mw(Q),Dn=Sa.busy,yn=PF((Q==null?void 0:Q.messages)||[],ve.entries,Q==null?void 0:Q.id),dn=(Q==null?void 0:Q.historyLoaded)===!1||!!(Q!=null&&Q.historyLoading)&&!yn.length,In=Ol(Q),on=(Q==null?void 0:Q.workspaceAvailable)===!1||!!(Q!=null&&Q.historyReadOnlyReason)||In.blocked,mt=aD(rn.panel,s,L=>ye("view.update",{patch:{panel:L}}));g.useEffect(()=>{var Y;const L=(Y=Q==null?void 0:Q.title)==null?void 0:Y.trim();document.title=L?L+" - Amplifier":"Amplifier"},[Q==null?void 0:Q.id,Q==null?void 0:Q.title]),Sx(l,ye,Ne,nt.ready);const ht=nF(Q,P),V=uF(yn,aF(Q)),we=g.useRef(null);g.useEffect(()=>{var Y,ue,Ie;if(Q!=null&&Q.historyManaged)return;const L=(Q==null?void 0:Q.workspace)||((Y=l==null?void 0:l.settings)==null?void 0:Y.workspace);!L||we.current===L||(we.current=L,(((ue=l.setup)==null?void 0:ue.providersWorkspace)!==L||!((Ie=l.setup)!=null&&Ie.providersLoadedAt))&&ye("providers.list",Q?{sessionId:Q.id}:{}))},[Q==null?void 0:Q.workspace,Q==null?void 0:Q.historyManaged,(Rp=l==null?void 0:l.settings)==null?void 0:Rp.workspace]);const Xe=((Q==null?void 0:Q.draftAttachments)||(l==null?void 0:l.draftAttachments)||[]).filter(L=>!ve.entries.some(Y=>Y.sessionId===(Q==null?void 0:Q.id)&&Y.attachmentIds.includes(L.id)));g.useEffect(()=>{var L,Y,ue,Ie;for(const qe of ve.entries){const je=(ue=(Y=(L=l==null?void 0:l.sessions)==null?void 0:L.find(Pe=>Pe.id===qe.sessionId))==null?void 0:Y.messages)==null?void 0:ue.find(Pe=>Pe.inputId===qe.commandId);((Ie=je==null?void 0:je.delivery)==null?void 0:Ie.status)==="accepted"&&ve.update(qe.id,null)}},[l]);const Ft=BF(Q),En=rF(yn,V);g.useEffect(()=>{if(!ht)return;const L=setInterval(()=>_(Date.now()),1e3);return()=>clearInterval(L)},[!!ht,Q==null?void 0:Q.id]),g.useLayoutEffect(()=>{if(!Ne.current)return;const L=Fq(Ne.current,Le);return Ge.current=L,()=>{L.dispose(),Ge.current=null}},[!!l,nt.ready]),g.useLayoutEffect(()=>{var L;(L=Ge.current)==null||L.reveal()},[Q==null?void 0:Q.id,nt.ready]),g.useEffect(()=>{const L=Ne.current;if(!(!L||!Q))return qq(L,()=>{var Y;return!Zt.busy&&!Q.historyLoading&&(((Y=Q.messageWindow)==null?void 0:Y.offset)>0||Q.sharedHistoryOffset>0)},()=>{var Y;return Le.current=!1,((Y=Q.messageWindow)==null?void 0:Y.offset)>0?Zt.earlier("messages"):ye("session.history",{id:Q.id,before:Q.sharedHistoryOffset,limit:100})})},[Q==null?void 0:Q.id,(Tp=Q==null?void 0:Q.messageWindow)==null?void 0:Tp.offset,Q==null?void 0:Q.sharedHistoryOffset,Q==null?void 0:Q.historyLoading,Zt.busy,ye,nt.ready]),g.useLayoutEffect(()=>{const L=ft.current;if(!L||!Ne.current||(ft.current=null,L.sessionId!==(Q==null?void 0:Q.id)))return;const Y=Ne.current,ue=[...(Y==null?void 0:Y.querySelectorAll("[data-message-id]"))||[]].find(Ie=>Ie.dataset.messageId===L.messageId);ue&&(Y.scrollTop+=ue.getBoundingClientRect().top-L.top)},[Q==null?void 0:Q.id,Q==null?void 0:Q.sharedHistoryOffset,(Ip=Q==null?void 0:Q.messageWindow)==null?void 0:Ip.offset,(Ap=Q==null?void 0:Q.executionWindow)==null?void 0:Ap.offset,nt.ready]),g.useLayoutEffect(()=>{var L;Xf(vt.current),(L=Ge.current)==null||L.update()},[x,l==null?void 0:l.selectedSessionId,nt.ready]),g.useEffect(()=>{const L=()=>Xf(vt.current);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]),g.useEffect(()=>{if(l){for(const L of Kf(l))if(!yt.current.has(L.id)&&(yt.current.add(L.id),xq(l.notificationSettings)&&h&&"Notification"in window&&Notification.permission==="granted"&&(document.hidden||L.sessionId!==l.selectedSessionId))){const Y=new Notification("Amplifier",{body:kq(L,l.notificationSettings),icon:Dc,tag:L.id});Y.onclick=()=>{window.focus(),ye("session.select",{id:L.sessionId}),ye("view.update",{patch:{mode:"text"}})}}}},[l,h,ye]),g.useEffect(()=>(X.current=new sq({request:Ct,onAction:(L,Y)=>Ue(L,Y),onState:L=>{var Y;B(L),L.status!=="connected"&&((Y=j.current)==null||Y.stop())},onError:L=>m(L.message||String(L))}),j.current=new uk({request:Ct,onState:xe,getVoice:()=>{var L,Y,ue;return{...(L=X.current)==null?void 0:L.state,sessionId:(ue=(Y=Se.current)==null?void 0:Y.voice)==null?void 0:ue.sessionId}}}),K.current=new cq({request:Ct,onState:_e,getSession:()=>{var L;return(L=Se.current)==null?void 0:L.selectedSessionId}}),()=>{var L,Y,ue;(L=K.current)==null||L.dispose(),(Y=j.current)==null||Y.dispose(),(ue=X.current)==null||ue.dispose()}),[]),g.useEffect(()=>{var L;(L=K.current)==null||L.sync(null,h,l==null?void 0:l.computerVisual)},[h,l==null?void 0:l.computerVisual,l==null?void 0:l.selectedSessionId]),g.useEffect(()=>{var L,Y;(Y=j.current)==null||Y.sync(ne,h,(L=l==null?void 0:l.voice)==null?void 0:L.visual)},[ne,h,(_p=l==null?void 0:l.voice)==null?void 0:_p.visual]);const sn=L=>{var Y,ue;if(L==="new-session"){kn();return}(ue=(Y=Se.current)==null?void 0:Y.view)!=null&&ue.panel||(i.current=document.activeElement),m(""),ye("view.update",{patch:{panel:L,toolbarMenuOpen:!1,...L==="settings"&&window.matchMedia("(max-width:959px)").matches?{settingsSection:"index",settingsExpanded:[]}:{}}})},Ca=()=>{A(!1),ye("view.update",{patch:{panel:null,themePreview:!1}})},Na=()=>s.current?s.current.close():Ca();g.useEffect(()=>{var qe,je;if(!mt||!nt.ready)return;const L=i.current||document.activeElement,Y=(qe=gt.current)==null?void 0:qe.querySelector(".a-overlay [role=dialog]");if(!Y)return;const ue=()=>[...Y.querySelectorAll("button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href]")].filter(Pe=>Pe.getClientRects().length);Y.contains(document.activeElement)||(je=ue()[0])==null||je.focus();const Ie=Pe=>{var _t;if(Pe.key==="Escape"&&(s.current?s.current.close():(A(!1),ye("view.update",{patch:{panel:null,themePreview:!1}}))),Pe.key==="Tab"){const Et=ue(),Lt=Et[0],un=Et.at(-1);Et.includes(document.activeElement)?Pe.shiftKey&&document.activeElement===Lt?(Pe.preventDefault(),un==null||un.focus()):!Pe.shiftKey&&document.activeElement===un&&(Pe.preventDefault(),Lt==null||Lt.focus()):(Pe.preventDefault(),(_t=Pe.shiftKey?un:Lt)==null||_t.focus())}};return window.addEventListener("keydown",Ie),()=>{window.removeEventListener("keydown",Ie),i.current=null,L!=null&&L.isConnected&&L.focus()}},[mt,ye,nt.ready]);function ua(L){const Y=tt.current;!We.current||(Y==null?void 0:Y.sessionId)===L||(clearTimeout(Fe.current),wn(Y,We.current).catch(ue=>m(_a(ue))),We.current=null)}function wn(L,Y){if(ae.current.has(L))return ae.current.get(L);const ue=(async()=>{if(L.sessionId===null&&It.current){const Ie=await It.current;L.sessionId=Ie.id,Ze.current.bindDraft(Y,Ie.id)}try{return await Ue("view.update",L,{pendingViewToken:Y})}catch(Ie){throw We.current===Y&&(We.current=Ze.current.add(L.patch,L.sessionId),Se.current&&c(Ze.current.apply(Se.current))),Ie}finally{We.current===Y&&(We.current=null)}})();return ae.current.set(L,ue),ue.catch(()=>ae.current.delete(L)),ue}function Xn(L){var qe;if(ze.current)return;const Y=((qe=Se.current)==null?void 0:qe.selectedSessionId)??null;ua(Y),w(L),Qe.current=L,Ze.current.settle(We.current);const ue=Ze.current.add({draft:L},Y),Ie={patch:{draft:L},sessionId:Y};We.current=ue,tt.current=Ie,Se.current&&c(Ze.current.apply(Se.current)),clearTimeout(Fe.current),Fe.current=setTimeout(()=>{wn(Ie,ue).catch(je=>m(_a(je)))},220)}async function kn(L){ua(null),Le.current=!0,await ye("session.draft",L?{workspace:L}:{})}async function da(L){var ue,Ie;const Y=!L&&((Ie=(ue=Se.current)==null?void 0:ue.sessions)==null?void 0:Ie.find(qe=>{var je;return qe.id===((je=Se.current)==null?void 0:je.selectedSessionId)}));return Y||(It.current||(It.current=Ue("session.create",{...(L==null?void 0:L.setup)||Ja(Ze.current.apply(Se.current)),fromDraft:!0},{id:L==null?void 0:L.id}).catch(qe=>{var Pe,_t;const je=(L==null?void 0:L.id)&&((_t=(Pe=Se.current)==null?void 0:Pe.sessions)==null?void 0:_t.find(Et=>Et.creationCommandId===L.id));if(je)return{sessionId:je.id};throw qe}).then(qe=>{const je={id:qe.sessionId||qe.state.selectedSessionId},Pe=tt.current;return We.current&&(Pe==null?void 0:Pe.sessionId)===null&&(Pe.sessionId=je.id,Ze.current.bindDraft(We.current,je.id),clearTimeout(Fe.current),wn(Pe,We.current).catch(_t=>m(_a(_t))),Se.current&&c(Ze.current.apply(Se.current))),je}).finally(()=>{It.current=null})),It.current)}function ea(L){var Ie;if(!(L!=null&&L.length)||on||dn)return;const Y=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null;ie.current++,Z(!0),m("");const ue=async()=>{try{for(const qe of L)await Ue("attachment.add",{sessionId:Y,name:qe.name,base64:await $F(qe)})}catch(qe){m(qe.message)}finally{ie.current--,Z(ie.current>0)}};Qt.current=Qt.current.then(ue,ue)}async function Ga(L){var Y,ue,Ie,qe,je;if(!O.current.has(L.id)){O.current.add(L.id),ve.update(L.id,{status:"sending",error:""});try{if(!L.sessionId){const _t=await da(L.creation);L=ve.update(L.id,{sessionId:_t.id})}const Pe=await Ue("conversation.send",{sessionId:L.sessionId,text:L.text,...L.replyTo?{replyId:L.replyTo.id}:{},attachmentIds:L.attachmentIds,via:L.via,preserveDraft:!0},{id:L.commandId,feedback:!1});ve.update(L.id,["sending","unknown"].includes(Pe.delivery)?{status:"unknown",error:"Delivery has not been confirmed. Checking again will not run it twice."}:null)}catch(Pe){((qe=(Ie=(ue=(Y=Se.current)==null?void 0:Y.sessions)==null?void 0:ue.find(Et=>Et.id===L.sessionId))==null?void 0:Ie.messages)==null?void 0:qe.some(Et=>{var Lt;return Et.inputId===L.commandId&&((Lt=Et.delivery)==null?void 0:Lt.status)==="accepted"}))&&Pe.code!=="session_busy"?ve.update(L.id,null):ve.update(L.id,{status:((je=Pe.receipt)==null?void 0:je.delivery)==="failed"||Pe.status>=400&&Pe.status<500&&Pe.status!==408?"failed":"unknown",error:_a(Pe)})}finally{O.current.delete(L.id)}}}function Qa(L){var Ie,qe,je,Pe,_t,Et,Lt;const Y=ve.current.current.find(un=>{var xr;return un.id===((xr=L.localDelivery)==null?void 0:xr.id)});!Y||Y.status!=="failed"||O.current.has(Y.id)||(Pe=(je=(qe=(Ie=Se.current)==null?void 0:Ie.sessions)==null?void 0:qe.find(un=>un.id===Y.sessionId))==null?void 0:je.messages)!=null&&Pe.some(un=>un.inputId===Y.commandId)||(ve.update(Y.id,null),((Lt=(Et=(_t=Se.current)==null?void 0:_t.view)==null?void 0:Et.messageEdit)==null?void 0:Lt.messageId)===L.id&&ye("view.update",{patch:{messageEdit:null}}))}async function Xa(L,Y){const ue=ve.current.current.find(je=>{var Pe;return je.id===(((Pe=L.localDelivery)==null?void 0:Pe.id)||L.id)});if(!ue||ue.status==="sending"||ue.status==="unknown"&&Y!==void 0)return;const Ie=ue.status==="failed"&&!ue.sessionId?{id:crypto.randomUUID(),setup:Ja(Ze.current.apply(Se.current))}:ue.creation,qe=ve.update(ue.id,{creation:Ie,...ue.status==="failed"?{commandId:crypto.randomUUID(),...Y!==void 0?{text:Y}:{}}:{},status:"sending",error:""});Y!==void 0&&ye("view.update",{patch:{messageEdit:null}}),await Ga(qe)}async function ta(L){var Pe,_t,Et;if(L==null||L.preventDefault(),ze.current||!x.trim()&&!Xe.length||ie.current||v||me||dn||on)return;ua((Q==null?void 0:Q.id)??null);const Y=x,ue=crypto.randomUUID(),Ie=Xe;if(!Y.trim()&&!Ie.length)return;(Pe=Ge.current)==null||Pe.reveal(),m(""),Xn(""),clearTimeout(Fe.current);const qe=We.current;let je=ve.update(ue,{commandId:ue,sessionId:(Q==null?void 0:Q.id)??null,...Q?{}:{creation:{id:crypto.randomUUID(),setup:Ja(Ze.current.apply(Se.current))}},text:Y,...(_t=l.view)!=null&&_t.messageReply?{replyTo:l.view.messageReply}:{},via:ca==="text"?"text":"chat",attachmentIds:Ie.map(Lt=>Lt.id),attachments:Ie,status:"sending",createdAt:Date.now()/1e3});try{await wn(tt.current,qe);const Lt=Q||await da(je.creation);je=ve.update(ue,{sessionId:Lt.id}),await Ga(je)}catch(Lt){ve.update(ue,{status:((Et=Lt.receipt)==null?void 0:Et.delivery)==="failed"||Lt.status>=400&&Lt.status<500&&Lt.status!==408?"failed":"unknown",error:_a(Lt)})}finally{Ze.current.settle(qe),We.current===qe&&(We.current=null),Se.current&&c(Ze.current.apply(Se.current))}}async function xn(L){var qe,je,Pe,_t,Et,Lt;if(L.preventDefault(),rt.current.busy||!R.trim())return;const Y=rt.current.revision,ue=(qe=Se.current)==null?void 0:qe.selectedSessionId,Ie=R;rt.current.busy=!0,Dt(!0),m("");try{await Ue("worker.spawn",{sessionId:ue,instruction:Ie});const un=(Pe=(je=Ze.current.apply(Se.current))==null?void 0:je.view)==null?void 0:Pe.workerDraft;rt.current.revision===Y&&((_t=Se.current)==null?void 0:_t.selectedSessionId)===ue&&un===Ie&&(S(""),await Ue("view.update",{patch:{workerDraft:"",...((Lt=(Et=Se.current)==null?void 0:Et.view)==null?void 0:Lt.panel)==="worker"?{panel:null}:{}}}))}catch(un){m(un.message)}finally{rt.current.busy=!1,Dt(!1)}}async function or(){var L;if(((L=l.voiceConfiguration)==null?void 0:L.available)===!1){await Ue("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["voice"]}});return}if(!$e.current){$e.current=!0,de(!0),m("");try{await da(),await Ue("view.update",{patch:{mode:"call"}}),await Ue("call.start",{})}catch(Y){m(_a(Y))}finally{$e.current=!1,de(!1)}}}const pa=!["idle","ended","error"].includes(ne.status||"idle"),Ra=T?I:((Pp=l==null?void 0:l.theme)==null?void 0:Pp.css)||"",ln=nt.composition.presentation,Yn=ln.scheme||rn.scheme,Ua=Yn==="system"?"light dark":Yn||"light",cn=VL(Yn);WL({root:gt,state:l,shell:nt,scheme:Yn,mode:cn,preview:T,css:Ra}),yx(l);const me=!Q&&ve.entries.some(L=>L.sessionId===null&&["sending","unknown"].includes(L.status)),U=Dn||((Q==null?void 0:Q.workers)||[]).some(L=>["queued","starting","working","running","stopping"].includes(L.status)),te=ve.entries.some(L=>L.sessionId===((Q==null?void 0:Q.id)??null)&&L.status==="sending"),pe=Mq({draft:x,attachments:Xe,uploading:ee,working:Dn,responseActive:U,stopping:(Q==null?void 0:Q.status)==="stopping",voiceStatus:ne.status,voiceStarting:De,busy:v,newChatPending:me,sending:te,historyPending:dn,executionUnavailable:on}),Oe=UL({enabled:!!l&&nt.ready,blocked:pa||De?"Finish your voice call, then reload.":ee||te||v?"Wait for the current upload or send to finish.":"",prepare:async()=>{var ue,Ie,qe;await Promise.all([ut.current,bt.current,W.current,Qt.current]),await Ul((ue=Se.current)==null?void 0:ue.selectedSessionId),clearTimeout(Fe.current),We.current&&await wn(tt.current,We.current);const L=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null,Y=Qe.current;if(await Ue("view.update",{sessionId:L,patch:{draft:Y}}),Y!==Qe.current||L!==(((qe=Se.current)==null?void 0:qe.selectedSessionId)??null))throw Error("Your draft changed while saving. Select Reload now again when you’re ready.")}}),Be=As(l)!=="chat",ct=(L,Y=null)=>ye("view.update",{patch:{...wk(L,Y),navExpanded:!1}}),qt={browse:ct,create:()=>a(!0),newChat:kn},Jt=Be?{...l,canvas:{...l==null?void 0:l.canvas,open:!1}}:l;return!l||!nt.ready?n.createElement("div",{className:"boot"},n.createElement("img",{src:Dc}),n.createElement("h1",null,"Amplifier"),n.createElement("p",null,p||nt.error||"Connecting to your workspace…"),(p||nt.error)&&n.createElement(n.Fragment,null,n.createElement("button",{onClick:()=>{b(L=>L+1),nt.refresh()}},"Retry connection"),n.createElement("p",null,n.createElement("a",{href:"?shell=recovery"},"Open recovery mode")))):n.createElement(Oi.Provider,{value:qt},n.createElement(Rg.Provider,{value:nt},n.createElement(qw.Provider,{value:Oe},n.createElement("div",{id:"amp-one",className:"a-chat-shell a-approachable-shell","data-work-surface":As(l),ref:gt,"data-layout":ln.layout||rn.layout||"balanced","data-interface-detail":ln.interfaceDetail||ln.executionDetail||"standard","data-execution-detail":ln.interfaceDetail||ln.executionDetail||"standard","data-density":ln.density||"comfortable",style:{colorScheme:Ua,...ln.accent?{"--a-accent":ln.accent}:{}},"data-theme-scheme":cn,"data-decorations":ln.decorations===!1?"off":"on","data-part":"app"},Ra&&n.createElement("style",null,Ra),n.createElement("style",null,jq),n.createElement("style",null,DL),n.createElement(PL,{state:l,session:Q,act:ye,open:sn,narrow:e,presentation:ln}),n.createElement(jw,null),p&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,p),n.createElement("button",{"aria-label":"Dismiss error",onClick:()=>{m(""),ye("view.update",{patch:{notice:null}})},"data-action":"view.update"},n.createElement(tn,null))),n.createElement(gF,{state:l,session:Q,act:ye}),!((Op=l.runtime)!=null&&Op.available)&&n.createElement("div",{className:"a-alert a-runtime"},n.createElement("span",null,n.createElement("strong",null,"Connect Amplifier to get started.")," ",((Mp=l.runtime)==null?void 0:Mp.error)||"The Amplifier runtime is not installed. Install this app with its runtime dependencies, then relaunch."),n.createElement("button",{className:"a-link",onClick:()=>sn("settings"),"data-action":"view.update"},"Setup details ",n.createElement(Gt,null))),n.createElement(LL,{voice:ne,callSession:l.sessions.find(L=>{var Y;return L.id===((Y=l.voice)==null?void 0:Y.sessionId)}),callActive:pa,browsing:Be,working:Dn&&!on,session:Q,act:ye,onReturn:()=>ct("chat")},n.createElement(dq,{sessionId:Q==null?void 0:Q.id,visual:ce,client:K,dispatch:Ue,onError:L=>m(L.message)})),n.createElement(SL,{state:Jt,act:ye,presentation:ln},n.createElement(NL,{footer:n.createElement(_L,{state:l,act:ye,connected:h,open:sn}),shell:nt,state:l,session:Q,act:ye,selectSession:L=>{Le.current=!0,ye("session.select",{id:L})},newSession:kn}),n.createElement("section",{className:`a-conversation ${yn.length||dn||Q!=null&&Q.historyError||on?"has-messages":"is-empty"}`,"data-part":"conversation","aria-label":"Shared conversation"},Be&&n.createElement(zL,{shell:nt,state:l,act:ye}),n.createElement(FF,{session:Q,focus:(zp=l.view)==null?void 0:zp.messageFocus,detail:Zt}),n.createElement("div",{className:"a-messages",ref:Ne,"data-part":"messages","data-view-source":Q?"conversation":void 0,role:"log","aria-label":"Conversation messages","aria-live":"polite","aria-busy":!!(Q!=null&&Q.historyLoading)},n.createElement("div",{className:"a-session-history"},Zt.controls),n.createElement(RL,{session:((Lp=Q==null?void 0:Q.messageWindow)==null?void 0:Lp.offset)>0?{...Q,sharedHistoryOffset:0}:Q,act:ye,onLoadEarlier:()=>{Le.current=!1}}),(Q==null?void 0:Q.parentId)&&n.createElement("div",{className:"a-chat-origin"},n.createElement(Wa,null),n.createElement("span",null,mo(Q)?Q.editOrigin?"Continued from an edited message":"Forked conversation":"Subagent conversation"),n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",disabled:!l.sessions.some(L=>L.id===Q.parentId),onClick:()=>ye("session.select",{id:Q.parentId})},mo(Q)?"Open original chat":"Open parent chat")),En.before.map(L=>n.createElement(Qf,{key:L,data:V,turnId:L,state:l,act:ye})),!Q&&n.createElement(qx,{state:l,act:ye})," ",yn.length===0&&!dn&&!(Q!=null&&Q.historyError)&&!on?Q&&n.createElement("div",{className:"a-empty"},n.createElement("img",{src:Dc,alt:""}),n.createElement("h2",null,"What shall we work on?"),n.createElement("p",null,"Bring an idea, a question, or a file.")):HF(yn,En.after).map(L=>Array.isArray(L)?n.createElement(VF,{key:L[0].id,messages:L,session:Q||{id:null},state:l,act:ye,renderArtifacts:Y=>n.createElement(vm,{state:l,message:Y,act:ye})}):n.createElement(n.Fragment,{key:L.id},n.createElement(ck,{message:L,session:Q||{id:null},state:l,act:ye,stamp:Uq,working:Dn,forkTurn:Ft.get(L.id),retry:Xa,discard:Qa,dispatch:Ue}),(En.after.get(L.id)||[]).map(Y=>n.createElement(Qf,{key:Y,data:V,turnId:Y,state:l,act:ye})),n.createElement(vm,{state:l,message:L,act:ye}))),(Q==null?void 0:Q.streaming)&&n.createElement("article",{className:"a-message a-assistant"},n.createElement("div",{className:"a-msg-meta"},n.createElement("strong",null,"Amplifier"),n.createElement("span",null,"Working…")),n.createElement(pl,{text:Q.streaming})),n.createElement("div",{ref:Ce})),ht&&n.createElement("div",{className:"a-live-activity","data-part":"activity","data-view-source":"activity",role:"status","aria-live":"polite"},n.createElement("span",{className:"a-activity-pulse","aria-hidden":"true"},n.createElement("b",null),n.createElement("b",null),n.createElement("b",null)),n.createElement("div",null,n.createElement("strong",null,ht.label),(ht.toolLabels.length>0||ht.lastTool||ht.workerCount>0)&&n.createElement("small",null,ht.toolLabels.join(" · "),ht.lastTool&&`Last tool: ${ht.lastTool}`,ht.workerCount>0&&ht.phase!=="workers"?`${ht.toolLabels.length||ht.lastTool?" · ":""}${ht.workerCount} active ${ht.workerCount===1?"worker":"workers"}`:"")),ht.elapsed&&n.createElement("span",{className:"a-activity-elapsed",role:"timer","aria-live":"off","aria-label":`Elapsed ${ht.elapsed}`},ht.elapsed)),!!((Dp=Q==null?void 0:Q.approvals)!=null&&Dp.filter(L=>L.status==="pending"||!L.status).length)&&n.createElement("section",{className:"a-card a-approvals","data-part":"approvals"},n.createElement("div",{className:"a-card-header"},n.createElement("h2",null,"Needs your attention")),Q.approvals.filter(L=>L.status==="pending"||!L.status).map(L=>n.createElement("div",{key:L.id,"data-approval-id":L.id},n.createElement("strong",null,L.title||L.tool||"Approval requested"),n.createElement("p",null,L.prompt||L.message||L.description),L.details&&n.createElement("pre",null,typeof L.details=="string"?L.details:Fc(L.details)),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"approval.respond",onClick:()=>ye("approval.respond",{id:L.id,decision:"approve"})},n.createElement(Pt,null),"Allow"),n.createElement("button",{className:"a-soft","data-action":"approval.respond",onClick:()=>ye("approval.respond",{id:L.id,decision:"deny"})},"Deny"))))),n.createElement(Lq,{session:Q,dispatch:Ue}),n.createElement("form",{className:`a-composer ${D?"drag-over":""}`,"data-part":"composer","data-action":"conversation.send",onSubmit:ta,onDragOver:L=>{L.dataTransfer.types.includes("Files")&&(L.preventDefault(),on||G(!0))},onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||G(!1)},onDrop:L=>{L.dataTransfer.files.length&&(L.preventDefault(),G(!1),ea([...L.dataTransfer.files]))},onPaste:L=>{if(on){L.preventDefault();return}const Y=[...L.clipboardData.items].filter(ue=>ue.kind==="file").map(ue=>ue.getAsFile()).filter(Boolean);if(Y.length){L.preventDefault();const ue=L.clipboardData.getData("text/plain");if(ue){const Ie=vt.current,qe=(Ie==null?void 0:Ie.selectionStart)??x.length,je=(Ie==null?void 0:Ie.selectionEnd)??qe;Xn(x.slice(0,qe)+ue+x.slice(je))}ea(Y)}}},ve.storageError&&ve.entries.length>0&&n.createElement("p",{role:"alert",className:"a-upload-status"},"This browser could not save the pending message. Keep this tab open until delivery is confirmed."),n.createElement(zq,{session:Q,runtimeAvailable:((Fp=l.runtime)==null?void 0:Fp.available)!==!1,dispatch:Ue},!Q&&n.createElement(IL,{state:l,act:ye}),n.createElement(lk,{items:Xe,remove:L=>ye("attachment.remove",{sessionId:(Q==null?void 0:Q.id)??null,id:L})}),ee&&n.createElement("p",{role:"status",className:"a-upload-status"},"Uploading attachments…"),D&&n.createElement("p",{className:"a-upload-status"},"Drop files or images to attach"),n.createElement(LF,{quote:(qp=l.view)==null?void 0:qp.messageReply,sessionId:Q==null?void 0:Q.id,dispatch:Ue}),n.createElement("textarea",{ref:vt,rows:1,disabled:on,readOnly:Me,"aria-busy":Me,value:x,onChange:L=>Xn(L.target.value),"data-action":"view.update","aria-label":"Message Amplifier",placeholder:"Ask Amplifier anything…",onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey&&!L.nativeEvent.isComposing&&(L.preventDefault(),ta())}}),n.createElement("div",{className:"a-compose-bottom"},te&&n.createElement("span",{role:"status",className:"a-caption"},"Sending message…"),n.createElement("div",{className:"a-compose-tools"},n.createElement("input",{ref:he,type:"file",multiple:!0,className:"a-file-input","aria-label":"Attach files","data-action":"attachment.add",onChange:L=>{ea([...L.target.files]),L.target.value=""}}),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Add attachments",title:"Attach files or images · up to 32 MB each",disabled:ee||on||dn,"data-action":"attachment.add",onClick:()=>he.current.click()},n.createElement(Mn,null)),n.createElement(qr,{name:"composer.actions"},n.createElement(UF,{state:l,session:Q,act:ye,ensureSession:da,working:Dn}),n.createElement(Kw,{compact:!0,state:l,session:Q,act:ye,working:Dn}),Q&&n.createElement("button",{type:"button",className:"a-icon a-composer-controls","aria-label":"Chat controls","data-action":"view.update",disabled:on||dn,onClick:()=>sn("runtime")},n.createElement(el,null)))),n.createElement("button",{type:pe.action==="conversation.send"?"submit":"button",className:"a-send","data-part":"composer-primary-action","data-action":pe.action,"aria-label":pe.action==="call.start"&&((jp=l.voiceConfiguration)==null?void 0:jp.available)===!1?"Set up voice":pe.label,title:pe.action==="call.start"&&((Up=l.voiceConfiguration)==null?void 0:Up.available)===!1?"Set up voice in Settings":pe.label,disabled:pe.disabled||Me&&pe.action==="conversation.send",onClick:pe.action==="call.start"?or:pe.action==="call.end"?()=>ye("call.end"):pe.action==="conversation.stop"?()=>ye("conversation.stop",{sessionId:Q.id}):void 0},pe.icon==="voice"?n.createElement(Ou,null):pe.icon==="cancel"?n.createElement(tn,null):n.createElement(Mi,null)))))),n.createElement(lL,{scheme:Yn},n.createElement(TL,{suppressed:Be,state:l,act:ye,dispatch:Ue}))),t&&n.createElement(AL,{state:l,act:ye,onClose:()=>a(!1)}),n.createElement(wq,{state:l,act:ye}),mt&&n.createElement("div",{className:`a-overlay ${mt==="settings"||mt==="appearance"?"a-settings-overlay a-settings-redesign-overlay":""}`,"data-part":"overlay",onPointerDown:L=>{o.current=L.target===L.currentTarget},onClick:L=>{o.current&&L.target===L.currentTarget&&Na()}},n.createElement("section",{role:"dialog","aria-modal":"true","aria-labelledby":"panel-title",className:`a-dialog ${mt==="appearance"||mt==="agent"||mt==="runtime"||mt==="settings"?"wide":""}`,"data-part":"dialog"},n.createElement("div",{className:"a-dialog-head"},n.createElement("h2",{id:"panel-title"},{appearance:"Settings",agent:"What the agent sees",settings:"Settings",activity:"Ready for you",feedback:"Send feedback",worker:"Give it a worker lane","delete-session":"Delete chat?",runtime:"Chat controls","session-details":"Chat details","subagent-history":"Subagent history",coordination:"Tasks and workers"}[mt]||mt),n.createElement("button",{className:"a-icon","data-action":"view.update","aria-label":"Close panel",onClick:Na},n.createElement(tn,null))),p&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,p),n.createElement("button",{type:"button","aria-label":"Dismiss error",onClick:()=>m("")},n.createElement(tn,null))),mt==="session-details"&&Q&&n.createElement(n.Fragment,null,n.createElement(ak,{key:Q.id,session:Q,act:Ue}),n.createElement("h3",null,"Export chat"),n.createElement(rk,{session:Q,state:l,act:ye}),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Ag,{state:l,session:Q,act:ye}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>sn("coordination")},n.createElement(Wa,null),"Tasks and workers"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>sn("worker")},n.createElement(Wa,null),"Delegate work"))),mt==="coordination"&&n.createElement(JF,{dispatch:Ue}),mt==="subagent-history"&&n.createElement(aS,{state:l,session:Q,act:ye}),mt==="activity"&&n.createElement(kx,{state:l,act:ye}),mt==="feedback"&&n.createElement(Eq,{state:l,act:Ue}),mt==="runtime"&&n.createElement(tk,{state:l,session:Q,act:ye,computerControls:n.createElement(uq,{sessionId:Q==null?void 0:Q.id,visual:ce,client:K,dispatch:Ue,onError:L=>m(L.message||String(L))})}),mt==="worker"&&n.createElement("form",{"data-action":"worker.spawn",onSubmit:xn},n.createElement("p",null,"Tell the worker what to investigate or build. Results return to this conversation."),n.createElement("label",{htmlFor:"worker-instruction"},"Work to delegate"),n.createElement("textarea",{id:"worker-instruction",value:R,"data-action":"view.update",onChange:L=>{rt.current.revision++,S(L.target.value),ye("view.update",{patch:{workerDraft:L.target.value}})},placeholder:"Review the project and propose a focused implementation plan…"}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:wt||!R.trim()},n.createElement(Wa,null),wt?"Starting…":"Start worker"))),mt==="agent"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Every app control uses the same action interface. The agent can read the selected conversation, worker lanes, drafts, open panels, and the controls currently on screen."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",null,"Current state"),n.createElement("pre",{className:"a-state-view"},Fc({...l,devices:Object.fromEntries(Object.entries(l.devices||{}).map(([L,Y])=>{var ue,Ie;return[L,{clientId:Y.clientId,viewport:Y.viewport,controls:(ue=Y.controls)==null?void 0:ue.length,visibleTextLength:(Ie=Y.visibleText)==null?void 0:Ie.length,voice:Y.voice,notificationPermission:Y.notificationPermission}]})),deviceCommands:(l.deviceCommands||[]).map(({id:L,type:Y,origin:ue,createdAt:Ie})=>({id:L,type:Y,origin:ue,createdAt:Ie})),theme:{name:($p=l.theme)==null?void 0:$p.name,css:`${((Hp=(Bp=l.theme)==null?void 0:Bp.css)==null?void 0:Hp.length)||0} characters`},view:{...rn,themeDraft:rn.themeDraft?`${rn.themeDraft.length} characters`:void 0}}))),n.createElement("div",null,n.createElement("label",null,"Visible controls"),n.createElement("pre",{className:"a-state-view"},Fc((Vp=ql(gt.current,Ha).controls)==null?void 0:Vp.map(L=>({label:L.label,action:L.action,disabled:L.disabled})))))),n.createElement("label",{htmlFor:"agent-action"},"Run an app action"),n.createElement("select",{id:"agent-action",value:q,"data-action":"view.update",onChange:L=>{z(L.target.value),ye("view.update",{patch:{agentAction:L.target.value}})}},u.map(L=>n.createElement("option",{key:L.name||L.action,value:L.name||L.action},L.name||L.action))),n.createElement("label",{htmlFor:"agent-args"},"Arguments (JSON)"),n.createElement("textarea",{id:"agent-args",className:"a-css-editor",style:{minHeight:100},value:F,"data-action":"view.update",onChange:L=>{H(L.target.value),ye("view.update",{patch:{agentArgs:L.target.value}})}}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":q,onClick:()=>{try{ye(q,JSON.parse(F))}catch(L){m(_a(L))}}},"Run action"),n.createElement("button",{className:"a-soft","data-action":"state.export",onClick:()=>ye("state.export")},n.createElement(Ea,null),"Export app state")),n.createElement("p",{className:"a-caption"},"Also available to integrations as window.amplifier.getState(), getActions(), and dispatch().")),mt==="delete-session"&&n.createElement(Sg,{key:Q==null?void 0:Q.id,id:Q==null?void 0:Q.id,act:Ue,cancel:Na}),(mt==="settings"||mt==="appearance")&&n.createElement(AF,{state:l,session:Q,act:ye,dispatch:Ue,open:sn,close:Ca,navigationRef:s,appearance:n.createElement(YL,{state:l,shell:nt,act:Ue,name:M,css:I,preview:T,setName:k,setCss:N,setPreview:A,defaultSkin:Lc})})))))))}Ek.createRoot(document.getElementById("root")).render(n.createElement($q,null));export{_g as _,JS as p}; +`,Fc="/branding/icons/amplifier-icon-128.png",qc=e=>JSON.stringify(e,null,2),Bq=e=>{try{return new Date(typeof e=="number"&&e<1e12?e*1e3:e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}catch{return""}};function Hq(){var Fn,qn,Kr,An,Fo,Ll,Cp,Np,Rp,Tp,Ip,Ap,_p,Pp,Op,Mp,zp,Lp,Dp,Fp,qp,jp,Up,$p,Bp,Hp,Vp;const e=Uu(),[t,a]=g.useState(!1),r=g.useRef(qq()),o=g.useRef(!1),i=g.useRef(null),s=g.useRef(null),[l,c]=g.useState(null),[u,d]=g.useState([]),[p,m]=g.useState(""),[h,f]=g.useState(!1),[v,y]=g.useState(!1),[E,b]=g.useState(0),[x,w]=g.useState(""),[R,S]=g.useState(""),[I,N]=g.useState(Dc),[M,k]=g.useState("Amplifier Unified"),[T,A]=g.useState(!1),[q,z]=g.useState("view.update"),[F,H]=g.useState('{"patch":{"mode":"chat"}}'),[ne,B]=g.useState({status:"idle"}),[P,_]=g.useState(Date.now()),[ee,Z]=g.useState(!1),[D,G]=g.useState(!1),j=g.useRef(null),K=g.useRef(null),[oe,xe]=g.useState({status:"idle"}),[ce,_e]=g.useState({status:"idle"}),$e=g.useRef(!1),[De,de]=g.useState(!1),ve=MF(),O=g.useRef(new Set),W=g.useRef(Promise.resolve()),ae=g.useRef(new WeakMap),ze=g.useRef(!1),[Me,be]=g.useState(!1),rt=g.useRef({busy:!1,revision:0}),[wt,Dt]=g.useState(!1),It=g.useRef(null),Qt=g.useRef(Promise.resolve()),ie=g.useRef(0),he=g.useRef(null),Ne=g.useRef(null),Le=g.useRef(!0),Ge=g.useRef(null),ft=g.useRef(null),vt=g.useRef(null),gt=g.useRef(null),Se=g.useRef(null),X=g.useRef(null),Ce=g.useRef(null),Fe=g.useRef(),We=g.useRef(null),tt=g.useRef(null),yt=g.useRef(new Set),se=g.useRef(null),Qe=g.useRef(""),ot=g.useRef(Promise.resolve()),bt=g.useRef(Promise.resolve()),ut=g.useRef(Promise.resolve()),Mt=g.useRef(null),St=g.useRef(Promise.resolve()),jt=g.useRef(new Set),st=g.useRef(new Set),lt=g.useRef(()=>{}),Ze=g.useRef(GF()),Ot=g.useRef(null),en=g.useRef(rq()),vn=g.useCallback(L=>{for(const Y of L||[])Y.id&&st.current.has(Y.id)||(Y.id&&st.current.add(Y.id),!(Y.createdAt&&Date.now()-new Date(typeof Y.createdAt=="number"&&Y.createdAt<1e12?Y.createdAt*1e3:Y.createdAt).getTime()>6e4)&&Promise.resolve().then(async()=>{var ue,Ie,qe,je;if(Y.type==="download"&&mm(Y.filename||"amplifier-export.json",Y.content??Y.data,Y.mimeType||Y.mime||"application/json"),Y.type==="conversation.export"&&await iq(Y,{request:Ct,download:mm,clipboard:navigator.clipboard}),Y.type==="message.copy"){let Pe="ready",_t="Copied Markdown";try{await navigator.clipboard.writeText(await oq(Se.current,Y,Ct))}catch(Et){Pe="error",_t="Could not copy: "+Et.message}await Ct("/api/actions",{method:"POST",body:{action:"message.copyResult",args:{requestId:Y.requestId,status:Pe,message:_t}}})}if(Y.type==="download.url"){const Pe=document.createElement("a");Pe.href=Y.url,Pe.download=Y.filename,Pe.click()}if(Y.type==="browser.open"&&window.open(Y.url,"_blank","noopener,noreferrer"),["clipboard.write","clipboard.url"].includes(Y.type))try{let Pe=Y.content;if(Y.type==="clipboard.url"){const _t=await fetch(Y.url);if(!_t.ok)throw Error("Source unavailable");Pe=await _t.text()}await navigator.clipboard.writeText(Pe),await Ct("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"ready",message:"Source copied"}}})}catch(Pe){throw await Ct("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"error",message:"Clipboard unavailable: "+Pe.message}}}),Pe}if(Y.type==="call.start")try{await X.current.start(Y.args||{})}catch(Pe){throw await Ct("/api/voice/end",{method:"POST",body:{id:null}}).catch(()=>{}),Pe}if(Y.type==="canvas.checkpoint"&&await $l(Y.sessionId,Y.id),Y.type==="voice.visual.capture"&&await((ue=j.current)==null?void 0:ue.capture(Y)),Y.type==="computer.visual.capture"&&await((Ie=K.current)==null?void 0:Ie.capture(Y)),Y.type==="call.end"&&await X.current.end(),Y.type==="call.resumeAudio"&&X.current.callAudio.resumePlayback(),Y.type==="call.keepAwake"&&X.current.setKeepAwake(Y.enabled??((qe=Y.args)==null?void 0:qe.enabled)??!0),Y.type==="call.mute"&&X.current.setMuted(Y.muted??((je=Y.args)==null?void 0:je.muted)??!0),["notification.request","notification-permission"].includes(Y.type)&&"Notification"in window){const Pe=await Notification.requestPermission();await Ct("/api/view",{method:"POST",body:{clientId:Ha,notificationPermission:Pe}})}}).catch(ue=>m(_a(ue))))},[]);lt.current=vn;const Rn=g.useRef(new Set),bn=g.useRef(null),Ln=g.useRef(tq()),Kn=g.useRef(Promise.resolve()),Tn=g.useRef(new WeakSet),ge=g.useCallback(L=>{var Ie,qe,je,Pe,_t;if(!L||typeof L!="object"||Ot.current&&((Ie=L.client)==null?void 0:Ie.hostInstanceId)===((qe=Ot.current.client)==null?void 0:qe.hostInstanceId)&&L.revisionEt.id===Se.current.selectedSessionId),ue=(_t=L.sessions)==null?void 0:_t.find(Et=>Et.id===L.selectedSessionId);if((Y==null?void 0:Y.id)===(ue==null?void 0:ue.id)&&Number(ue==null?void 0:ue.sharedHistoryOffset)xr.getBoundingClientRect().bottom>Lt);un&&(ft.current={sessionId:ue.id,messageId:un.dataset.messageId,top:un.getBoundingClientRect().top},Le.current=!1)}Ot.current=L,en.current.remember(L);for(const Et of Rn.current)Et(L);Se.current=en.current.apply(L),c(Ze.current.apply(Se.current)),jt.current.forEach(Et=>Et(Ze.current.apply(Se.current)))},[]),Ke=g.useCallback(L=>{if(L.stateRevision===void 0)return Promise.resolve();const Y=ue=>{var Ie;return((Ie=ue==null?void 0:ue.client)==null?void 0:Ie.hostInstanceId)===L.hostInstanceId&&ue.revision>=L.stateRevision};return Y(Ot.current)?Promise.resolve():new Promise((ue,Ie)=>{const qe=()=>{clearTimeout(Pe),Rn.current.delete(je),ue()},je=_t=>{Y(_t)&&qe()},Pe=setTimeout(()=>{Rn.current.delete(je),bn.current||(bn.current=Ct("/api/state").then(ge).finally(()=>{bn.current=null})),bn.current.then(ue,Ie)},1500);Rn.current.add(je)})},[ge]),Ue=g.useCallback((L,Y={},ue={})=>{var Jp,Kp,Yp,Gp,Qp,Xp,em,tm;if(L==="call.resumeAudio"&&((Jp=X.current)==null||Jp.callAudio.resumePlayback()),(L==="message.reply"||L==="canvas.reference"||L==="canvas.views.command"&&Y.action==="canvas.reference")&&!ue.referencePrepared){if(ze.current)return Promise.reject(Error("A reference is already being added."));const Kt=Ze.current.apply(Se.current),jo=Kt==null?void 0:Kt.selectedSessionId,bk=((Kp=Kt==null?void 0:Kt.view)==null?void 0:Kp.draft)||"",Dl=L==="canvas.views.command"?Y.args:Y;ze.current=!0,be(!0),clearTimeout(Fe.current);const nm=tt.current,am=We.current;return(async()=>{var om;if(am&&nm&&await wn(nm,am),((om=Se.current)==null?void 0:om.selectedSessionId)!==jo)throw Error("The conversation changed. Your draft was kept; select the text again.");const rm={...Dl,sessionId:Dl.sessionId??jo,...L==="message.reply"?{}:{expectedDraft:Dl.expectedDraft??bk}};return await Ue(L,L==="canvas.views.command"?{...Y,args:rm}:rm,{...ue,referencePrepared:!0})})().finally(()=>{ze.current=!1,be(!1)})}if(["conversation.send","conversation.stop","worker.spawn","worker.stop","worker.steer","approval.respond","attachment.add","attachment.remove"].includes(L)&&(Y={sessionId:(Yp=Se.current)==null?void 0:Yp.selectedSessionId,...Y}),L==="conversation.send"&&!ue.checkpointed)return $l(Y.sessionId).then(()=>Ue(L,Y,{...ue,checkpointed:!0}));L==="view.update"&&Object.hasOwn(Y.patch||{},"draft")&&(Y={sessionId:(Gp=Se.current)==null?void 0:Gp.selectedSessionId,...Y});const qe=L==="session.select"?Y.id:L==="shell.command"&&Y.action==="session.select"?(Qp=Y.args)==null?void 0:Qp.id:null,je=qe&&!Mt.current?en.current.begin(Ze.current.apply(Se.current),qe):null;je&&Ot.current&&(Se.current=en.current.apply(Ot.current),c(Ze.current.apply(Se.current))),L==="canvas.visibility"&&(Y={sessionId:((Xp=Se.current)==null?void 0:Xp.selectedSessionId)??null,canvasId:((tm=(em=Se.current)==null?void 0:em.canvas)==null?void 0:tm.id)??null,...Y});const Pe=L==="canvas.visibility"?Ze.current.addCanvas(Se.current,Y.open):L==="view.update"?ue.pendingViewToken??Ze.current.add(Y.patch||{},Y.sessionId):null;Pe&&Se.current&&c(Ze.current.apply(Se.current));const _t=qL(),Et=ue.feedback===!1?()=>{}:r.current.begin(L==="shell.command"?Y.action:L),Lt=Mt.current,un=async()=>{xr&&Lt&&await Lt;const Kt=await Ct("/api/actions",{signal:ue.signal,method:"POST",body:{action:L,args:Y,id:ue.id||crypto.randomUUID(),...ue.expectedRevision!==void 0?{expectedRevision:ue.expectedRevision}:{}}});return Kt.state?ge(Kt.state):await Ke(Kt),Kt},xr=["session.select","session.draft","workspace.select"].includes(L)||L==="shell.command"&&["session.select","session.draft","workspace.select"].includes(Y.action),vk=L==="attention.read"&&Array.isArray(Y.ids)&&Y.ids.length>0&&Y.ids.every(Kt=>{var jo;return typeof((jo=Y.fingerprints)==null?void 0:jo[Kt])=="string"}),Wp=XF(L,ue),Zp=L.startsWith("coordination.")||ue.presentation?{current:Promise.resolve()}:L==="canvas.visibility"?ot:xr?ut:vk?St:["conversation.send","message.edit","question.answer"].includes(L)?W:Wp?Kn:bt,qo=Ln.current(Zp,un,eq(L,Y,ue),Wp?bt.current:null).then(Kt=>(Pe&&Ze.current.settle(Pe),je&&en.current.settle(je),Pe&&Se.current&&c(Ze.current.apply(Se.current)),Tn.current.has(Kt)||(Tn.current.add(Kt),vn(Kt.effects)),Kt)).catch(Kt=>{throw je&&(en.current.settle(je),Ot.current&&(Se.current=en.current.apply(Ot.current),c(Ze.current.apply(Se.current)))),Kt.state&&ge(Kt.state),Pe&&(Ze.current.settle(Pe),Se.current&&c(Ze.current.apply(Se.current))),Kt}).finally(()=>{_t(),Et()});if(Zp.current=qo.catch(()=>{}),L==="canvas.views.dirty"){Mt.current=qo;const Kt=()=>{Mt.current===qo&&(Mt.current=null)};qo.then(Kt,Kt)}return qo},[ge,vn,Ke]);g.useEffect(()=>{var L,Y;for(const ue of ve.entries){if(ue.sessionId||!((L=ue.creation)!=null&&L.id))continue;const Ie=(Y=l==null?void 0:l.sessions)==null?void 0:Y.find(qe=>qe.creationCommandId===ue.creation.id);Ie&&ve.update(ue.id,{sessionId:Ie.id})}},[l==null?void 0:l.sessions,ve.entries]);const nt=Zx(Ot.current,Ue,Ha);g.useEffect(()=>gt.current?r.current.attach(gt.current):void 0,[!!l,nt.ready]);const ye=g.useCallback((L,Y={})=>Ue(L,Y).catch(ue=>m(_a(ue))),[Ue]),At=g.useRef(null);At.current||(At.current=aq(L=>Ct("/api/view",{method:"POST",body:L})));const an=g.useCallback(()=>{var L;Se.current&&!document.hidden&&At.current({...jl(gt.current,Ha,{interfaceOnly:!0}),sessionId:Se.current.selectedSessionId??null,voice:(L=X.current)==null?void 0:L.state,notificationPermission:"Notification"in window?Notification.permission:"unsupported"})},[]);g.useEffect(()=>{let L=!0,Y;const ue=new AbortController;m("");const Ie=setTimeout(()=>{ue.abort(),L&&!Se.current&&m("The workspace is taking too long to respond. You can retry the connection.")},1e4);return Ux(ue.signal).then(()=>{if(!L)return;Ct("/api/state",{signal:ue.signal}).then(je=>{L&&(ge(je.state||je),f(!0))}).catch(je=>{L&&je.name!=="AbortError"&&!Se.current&&m(_a(je))}).finally(()=>clearTimeout(Ie)),Ct("/api/actions",{signal:ue.signal}).then(je=>{L&&d(Array.isArray(je)?je:je.actions||[])}).catch(()=>{});let qe;ei("connecting"),Y=new EventSource(Ui("/api/events?transport=delta-v1")),Y.addEventListener("state",je=>{if(L)try{const Pe=!Se.current;qe=JSON.parse(je.data),ge(qe),f(!0),Pe&&m(""),clearTimeout(Ie)}catch{}}),Y.addEventListener("state-delta",je=>{if(L)try{qe=nq(qe,JSON.parse(je.data)),ge(qe),f(!0)}catch{Y.close(),ei("closed"),f(!1),b(Pe=>Pe+1)}}),Y.addEventListener("shell",je=>{try{window.dispatchEvent(new CustomEvent("amplifier-shell",{detail:JSON.parse(je.data)}))}catch{}}),Y.onopen=()=>{ei("open"),f(!0),At.current.invalidate(),an(),window.dispatchEvent(new Event("amplifier-reconnected"))},Y.onerror=()=>{ei(Y.readyState===2?"closed":"reconnecting"),f(!1)}}).catch(qe=>{clearTimeout(Ie),L&&qe.name!=="AbortError"&&m(_a(qe))}),()=>{L=!1,clearTimeout(Ie),ue.abort(),Y==null||Y.close(),ei("closed")}},[ge,E]),g.useEffect(()=>(window.amplifier=Object.freeze({shellClientId:Ha,getShellState:()=>nt.data,getState:()=>({...Ze.current.apply(Se.current),renderedView:jl(gt.current,Ha)}),getActions:()=>u,dispatch:Ue,subscribe:L=>(jt.current.add(L),()=>jt.current.delete(L))}),()=>{delete window.amplifier}),[u,Ue,nt.data]),g.useEffect(()=>{const L=gt.current;if(!L)return;const Y=()=>$x(L),ue=new MutationObserver(Y);return Y(),ue.observe(L,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>ue.disconnect()},[!!l,nt.ready]),g.useEffect(()=>{const L=setTimeout(an,300);return()=>clearTimeout(L)},[l,x,I,T,ne,an,nt.data]),g.useEffect(()=>{let L;const Y=()=>{clearTimeout(L),L=setTimeout(an,200)};return document.addEventListener("visibilitychange",Y),document.addEventListener("selectionchange",Y),document.addEventListener("focusin",Y),document.addEventListener("input",Y),window.addEventListener("resize",Y),()=>{clearTimeout(L),document.removeEventListener("visibilitychange",Y),document.removeEventListener("selectionchange",Y),document.removeEventListener("focusin",Y),document.removeEventListener("input",Y),window.removeEventListener("resize",Y)}},[an]),g.useEffect(()=>{var Y;if(!l)return;const L=((Y=l.view)==null?void 0:Y.draft)||"";L!==Qe.current&&(w(L),Qe.current=L)},[(Fn=l==null?void 0:l.view)==null?void 0:Fn.draft,l==null?void 0:l.selectedSessionId]),g.useEffect(()=>{var Y,ue,Ie,qe;if(!l)return;const L=((Y=l.theme)==null?void 0:Y.name)+"::"+((ue=l.theme)==null?void 0:ue.css);L!==se.current&&(N(((Ie=l.theme)==null?void 0:Ie.css)||Dc),k(((qe=l.theme)==null?void 0:qe.name)||"Amplifier Unified"),A(!1),se.current=L)},[l==null?void 0:l.theme]),g.useEffect(()=>{const L=l==null?void 0:l.view;L&&(L.workerDraft!==void 0&&S(L.workerDraft),L.themeDraft!==void 0&&N(L.themeDraft),L.themeDraftName!==void 0&&k(L.themeDraftName),L.themePreview!==void 0&&A(L.themePreview),L.agentAction!==void 0&&z(L.agentAction),L.agentArgs!==void 0&&H(L.agentArgs))},[(qn=l==null?void 0:l.view)==null?void 0:qn.workerDraft,(Kr=l==null?void 0:l.view)==null?void 0:Kr.themeDraft,(An=l==null?void 0:l.view)==null?void 0:An.themeDraftName,(Fo=l==null?void 0:l.view)==null?void 0:Fo.themePreview,(Ll=l==null?void 0:l.view)==null?void 0:Ll.agentAction,(Cp=l==null?void 0:l.view)==null?void 0:Cp.agentArgs]);const Zt=zF((Np=l==null?void 0:l.sessions)==null?void 0:Np.find(L=>L.id===l.selectedSessionId),()=>{Le.current=!1;const L=Ne.current;if(!L)return;const Y=L.getBoundingClientRect().top,ue=[...L.querySelectorAll("[data-message-id]")].find(Ie=>Ie.getBoundingClientRect().bottom>Y);ue&&(ft.current={sessionId:l.selectedSessionId,messageId:ue.dataset.messageId,top:ue.getBoundingClientRect().top})}),Q=Zt.session,rn=(l==null?void 0:l.view)||{},ca=rn.mode||"chat",Sa=zw(Q),Dn=Sa.busy,yn=OF((Q==null?void 0:Q.messages)||[],ve.entries,Q==null?void 0:Q.id),dn=(Q==null?void 0:Q.historyLoaded)===!1||!!(Q!=null&&Q.historyLoading)&&!yn.length,In=Ml(Q),on=(Q==null?void 0:Q.workspaceAvailable)===!1||!!(Q!=null&&Q.historyReadOnlyReason)||In.blocked,mt=rD(rn.panel,s,L=>ye("view.update",{patch:{panel:L}}));g.useEffect(()=>{var Y;const L=(Y=Q==null?void 0:Q.title)==null?void 0:Y.trim();document.title=L?L+" - Amplifier":"Amplifier"},[Q==null?void 0:Q.id,Q==null?void 0:Q.title]),Cx(l,ye,Ne,nt.ready);const ht=aF(Q,P),V=dF(yn,rF(Q)),we=g.useRef(null);g.useEffect(()=>{var Y,ue,Ie;if(Q!=null&&Q.historyManaged)return;const L=(Q==null?void 0:Q.workspace)||((Y=l==null?void 0:l.settings)==null?void 0:Y.workspace);!L||we.current===L||(we.current=L,(((ue=l.setup)==null?void 0:ue.providersWorkspace)!==L||!((Ie=l.setup)!=null&&Ie.providersLoadedAt))&&ye("providers.list",Q?{sessionId:Q.id}:{}))},[Q==null?void 0:Q.workspace,Q==null?void 0:Q.historyManaged,(Rp=l==null?void 0:l.settings)==null?void 0:Rp.workspace]);const Xe=((Q==null?void 0:Q.draftAttachments)||(l==null?void 0:l.draftAttachments)||[]).filter(L=>!ve.entries.some(Y=>Y.sessionId===(Q==null?void 0:Q.id)&&Y.attachmentIds.includes(L.id)));g.useEffect(()=>{var L,Y,ue,Ie;for(const qe of ve.entries){const je=(ue=(Y=(L=l==null?void 0:l.sessions)==null?void 0:L.find(Pe=>Pe.id===qe.sessionId))==null?void 0:Y.messages)==null?void 0:ue.find(Pe=>Pe.inputId===qe.commandId);((Ie=je==null?void 0:je.delivery)==null?void 0:Ie.status)==="accepted"&&ve.update(qe.id,null)}},[l]);const Ft=VF(Q),En=oF(yn,V);g.useEffect(()=>{if(!ht)return;const L=setInterval(()=>_(Date.now()),1e3);return()=>clearInterval(L)},[!!ht,Q==null?void 0:Q.id]),g.useLayoutEffect(()=>{if(!Ne.current)return;const L=jq(Ne.current,Le);return Ge.current=L,()=>{L.dispose(),Ge.current=null}},[!!l,nt.ready]),g.useLayoutEffect(()=>{var L;(L=Ge.current)==null||L.reveal()},[Q==null?void 0:Q.id,nt.ready]),g.useEffect(()=>{const L=Ne.current;if(!(!L||!Q))return Uq(L,()=>{var Y;return!Zt.busy&&!Q.historyLoading&&(((Y=Q.messageWindow)==null?void 0:Y.offset)>0||Q.sharedHistoryOffset>0)},()=>{var Y;return Le.current=!1,((Y=Q.messageWindow)==null?void 0:Y.offset)>0?Zt.earlier("messages"):ye("session.history",{id:Q.id,before:Q.sharedHistoryOffset,limit:100})})},[Q==null?void 0:Q.id,(Tp=Q==null?void 0:Q.messageWindow)==null?void 0:Tp.offset,Q==null?void 0:Q.sharedHistoryOffset,Q==null?void 0:Q.historyLoading,Zt.busy,ye,nt.ready]),g.useLayoutEffect(()=>{const L=ft.current;if(!L||!Ne.current||(ft.current=null,L.sessionId!==(Q==null?void 0:Q.id)))return;const Y=Ne.current,ue=[...(Y==null?void 0:Y.querySelectorAll("[data-message-id]"))||[]].find(Ie=>Ie.dataset.messageId===L.messageId);ue&&(Y.scrollTop+=ue.getBoundingClientRect().top-L.top)},[Q==null?void 0:Q.id,Q==null?void 0:Q.sharedHistoryOffset,(Ip=Q==null?void 0:Q.messageWindow)==null?void 0:Ip.offset,(Ap=Q==null?void 0:Q.executionWindow)==null?void 0:Ap.offset,nt.ready]),g.useLayoutEffect(()=>{var L;eg(vt.current),(L=Ge.current)==null||L.update()},[x,l==null?void 0:l.selectedSessionId,nt.ready]),g.useEffect(()=>{const L=()=>eg(vt.current);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]),g.useEffect(()=>{if(l){for(const L of Yf(l))if(!yt.current.has(L.id)&&(yt.current.add(L.id),Cq(l.notificationSettings)&&h&&"Notification"in window&&Notification.permission==="granted"&&(document.hidden||L.sessionId!==l.selectedSessionId))){const Y=new Notification("Amplifier",{body:Sq(L,l.notificationSettings),icon:Fc,tag:L.id});Y.onclick=()=>{window.focus(),ye("session.select",{id:L.sessionId}),ye("view.update",{patch:{mode:"text"}})}}}},[l,h,ye]),g.useEffect(()=>(X.current=new cq({request:Ct,onAction:(L,Y)=>Ue(L,Y),onState:L=>{var Y;B(L),L.status!=="connected"&&((Y=j.current)==null||Y.stop())},onError:L=>m(L.message||String(L))}),j.current=new dk({request:Ct,onState:xe,getVoice:()=>{var L,Y,ue;return{...(L=X.current)==null?void 0:L.state,sessionId:(ue=(Y=Se.current)==null?void 0:Y.voice)==null?void 0:ue.sessionId}}}),K.current=new dq({request:Ct,onState:_e,getSession:()=>{var L;return(L=Se.current)==null?void 0:L.selectedSessionId}}),()=>{var L,Y,ue;(L=K.current)==null||L.dispose(),(Y=j.current)==null||Y.dispose(),(ue=X.current)==null||ue.dispose()}),[]),g.useEffect(()=>{var L;(L=K.current)==null||L.sync(null,h,l==null?void 0:l.computerVisual)},[h,l==null?void 0:l.computerVisual,l==null?void 0:l.selectedSessionId]),g.useEffect(()=>{var L,Y;(Y=j.current)==null||Y.sync(ne,h,(L=l==null?void 0:l.voice)==null?void 0:L.visual)},[ne,h,(_p=l==null?void 0:l.voice)==null?void 0:_p.visual]);const sn=L=>{var Y,ue;if(L==="new-session"){kn();return}(ue=(Y=Se.current)==null?void 0:Y.view)!=null&&ue.panel||(i.current=document.activeElement),m(""),ye("view.update",{patch:{panel:L,toolbarMenuOpen:!1,...L==="settings"&&window.matchMedia("(max-width:959px)").matches?{settingsSection:"index",settingsExpanded:[]}:{}}})},Ca=()=>{A(!1),ye("view.update",{patch:{panel:null,themePreview:!1}})},Na=()=>s.current?s.current.close():Ca();g.useEffect(()=>{var qe,je;if(!mt||!nt.ready)return;const L=i.current||document.activeElement,Y=(qe=gt.current)==null?void 0:qe.querySelector(".a-overlay [role=dialog]");if(!Y)return;const ue=()=>[...Y.querySelectorAll("button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href]")].filter(Pe=>Pe.getClientRects().length);Y.contains(document.activeElement)||(je=ue()[0])==null||je.focus();const Ie=Pe=>{var _t;if(Pe.key==="Escape"&&(s.current?s.current.close():(A(!1),ye("view.update",{patch:{panel:null,themePreview:!1}}))),Pe.key==="Tab"){const Et=ue(),Lt=Et[0],un=Et.at(-1);Et.includes(document.activeElement)?Pe.shiftKey&&document.activeElement===Lt?(Pe.preventDefault(),un==null||un.focus()):!Pe.shiftKey&&document.activeElement===un&&(Pe.preventDefault(),Lt==null||Lt.focus()):(Pe.preventDefault(),(_t=Pe.shiftKey?un:Lt)==null||_t.focus())}};return window.addEventListener("keydown",Ie),()=>{window.removeEventListener("keydown",Ie),i.current=null,L!=null&&L.isConnected&&L.focus()}},[mt,ye,nt.ready]);function ua(L){const Y=tt.current;!We.current||(Y==null?void 0:Y.sessionId)===L||(clearTimeout(Fe.current),wn(Y,We.current).catch(ue=>m(_a(ue))),We.current=null)}function wn(L,Y){if(ae.current.has(L))return ae.current.get(L);const ue=(async()=>{if(L.sessionId===null&&It.current){const Ie=await It.current;L.sessionId=Ie.id,Ze.current.bindDraft(Y,Ie.id)}try{return await Ue("view.update",L,{pendingViewToken:Y})}catch(Ie){throw We.current===Y&&(We.current=Ze.current.add(L.patch,L.sessionId),Se.current&&c(Ze.current.apply(Se.current))),Ie}finally{We.current===Y&&(We.current=null)}})();return ae.current.set(L,ue),ue.catch(()=>ae.current.delete(L)),ue}function Xn(L){var qe;if(ze.current)return;const Y=((qe=Se.current)==null?void 0:qe.selectedSessionId)??null;ua(Y),w(L),Qe.current=L,Ze.current.settle(We.current);const ue=Ze.current.add({draft:L},Y),Ie={patch:{draft:L},sessionId:Y};We.current=ue,tt.current=Ie,Se.current&&c(Ze.current.apply(Se.current)),clearTimeout(Fe.current),Fe.current=setTimeout(()=>{wn(Ie,ue).catch(je=>m(_a(je)))},220)}async function kn(L){ua(null),Le.current=!0,await ye("session.draft",L?{workspace:L}:{})}async function da(L){var ue,Ie;const Y=!L&&((Ie=(ue=Se.current)==null?void 0:ue.sessions)==null?void 0:Ie.find(qe=>{var je;return qe.id===((je=Se.current)==null?void 0:je.selectedSessionId)}));return Y||(It.current||(It.current=Ue("session.create",{...(L==null?void 0:L.setup)||Ja(Ze.current.apply(Se.current)),fromDraft:!0},{id:L==null?void 0:L.id}).catch(qe=>{var Pe,_t;const je=(L==null?void 0:L.id)&&((_t=(Pe=Se.current)==null?void 0:Pe.sessions)==null?void 0:_t.find(Et=>Et.creationCommandId===L.id));if(je)return{sessionId:je.id};throw qe}).then(qe=>{const je={id:qe.sessionId||qe.state.selectedSessionId},Pe=tt.current;return We.current&&(Pe==null?void 0:Pe.sessionId)===null&&(Pe.sessionId=je.id,Ze.current.bindDraft(We.current,je.id),clearTimeout(Fe.current),wn(Pe,We.current).catch(_t=>m(_a(_t))),Se.current&&c(Ze.current.apply(Se.current))),je}).finally(()=>{It.current=null})),It.current)}function ea(L){var Ie;if(!(L!=null&&L.length)||on||dn)return;const Y=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null;ie.current++,Z(!0),m("");const ue=async()=>{try{for(const qe of L)await Ue("attachment.add",{sessionId:Y,name:qe.name,base64:await BF(qe)})}catch(qe){m(qe.message)}finally{ie.current--,Z(ie.current>0)}};Qt.current=Qt.current.then(ue,ue)}async function Ga(L){var Y,ue,Ie,qe,je;if(!O.current.has(L.id)){O.current.add(L.id),ve.update(L.id,{status:"sending",error:""});try{if(!L.sessionId){const _t=await da(L.creation);L=ve.update(L.id,{sessionId:_t.id})}const Pe=await Ue("conversation.send",{sessionId:L.sessionId,text:L.text,...L.replyTo?{replyId:L.replyTo.id}:{},attachmentIds:L.attachmentIds,via:L.via,preserveDraft:!0},{id:L.commandId,feedback:!1});ve.update(L.id,["sending","unknown"].includes(Pe.delivery)?{status:"unknown",error:"Delivery has not been confirmed. Checking again will not run it twice."}:null)}catch(Pe){((qe=(Ie=(ue=(Y=Se.current)==null?void 0:Y.sessions)==null?void 0:ue.find(Et=>Et.id===L.sessionId))==null?void 0:Ie.messages)==null?void 0:qe.some(Et=>{var Lt;return Et.inputId===L.commandId&&((Lt=Et.delivery)==null?void 0:Lt.status)==="accepted"}))&&Pe.code!=="session_busy"?ve.update(L.id,null):ve.update(L.id,{status:((je=Pe.receipt)==null?void 0:je.delivery)==="failed"||Pe.status>=400&&Pe.status<500&&Pe.status!==408?"failed":"unknown",error:_a(Pe)})}finally{O.current.delete(L.id)}}}function Qa(L){var Ie,qe,je,Pe,_t,Et,Lt;const Y=ve.current.current.find(un=>{var xr;return un.id===((xr=L.localDelivery)==null?void 0:xr.id)});!Y||Y.status!=="failed"||O.current.has(Y.id)||(Pe=(je=(qe=(Ie=Se.current)==null?void 0:Ie.sessions)==null?void 0:qe.find(un=>un.id===Y.sessionId))==null?void 0:je.messages)!=null&&Pe.some(un=>un.inputId===Y.commandId)||(ve.update(Y.id,null),((Lt=(Et=(_t=Se.current)==null?void 0:_t.view)==null?void 0:Et.messageEdit)==null?void 0:Lt.messageId)===L.id&&ye("view.update",{patch:{messageEdit:null}}))}async function Xa(L,Y){const ue=ve.current.current.find(je=>{var Pe;return je.id===(((Pe=L.localDelivery)==null?void 0:Pe.id)||L.id)});if(!ue||ue.status==="sending"||ue.status==="unknown"&&Y!==void 0)return;const Ie=ue.status==="failed"&&!ue.sessionId?{id:crypto.randomUUID(),setup:Ja(Ze.current.apply(Se.current))}:ue.creation,qe=ve.update(ue.id,{creation:Ie,...ue.status==="failed"?{commandId:crypto.randomUUID(),...Y!==void 0?{text:Y}:{}}:{},status:"sending",error:""});Y!==void 0&&ye("view.update",{patch:{messageEdit:null}}),await Ga(qe)}async function ta(L){var Pe,_t,Et;if(L==null||L.preventDefault(),ze.current||!x.trim()&&!Xe.length||ie.current||v||me||dn||on)return;ua((Q==null?void 0:Q.id)??null);const Y=x,ue=crypto.randomUUID(),Ie=Xe;if(!Y.trim()&&!Ie.length)return;(Pe=Ge.current)==null||Pe.reveal(),m(""),Xn(""),clearTimeout(Fe.current);const qe=We.current;let je=ve.update(ue,{commandId:ue,sessionId:(Q==null?void 0:Q.id)??null,...Q?{}:{creation:{id:crypto.randomUUID(),setup:Ja(Ze.current.apply(Se.current))}},text:Y,...(_t=l.view)!=null&&_t.messageReply?{replyTo:l.view.messageReply}:{},via:ca==="text"?"text":"chat",attachmentIds:Ie.map(Lt=>Lt.id),attachments:Ie,status:"sending",createdAt:Date.now()/1e3});try{await wn(tt.current,qe);const Lt=Q||await da(je.creation);je=ve.update(ue,{sessionId:Lt.id}),await Ga(je)}catch(Lt){ve.update(ue,{status:((Et=Lt.receipt)==null?void 0:Et.delivery)==="failed"||Lt.status>=400&&Lt.status<500&&Lt.status!==408?"failed":"unknown",error:_a(Lt)})}finally{Ze.current.settle(qe),We.current===qe&&(We.current=null),Se.current&&c(Ze.current.apply(Se.current))}}async function xn(L){var qe,je,Pe,_t,Et,Lt;if(L.preventDefault(),rt.current.busy||!R.trim())return;const Y=rt.current.revision,ue=(qe=Se.current)==null?void 0:qe.selectedSessionId,Ie=R;rt.current.busy=!0,Dt(!0),m("");try{await Ue("worker.spawn",{sessionId:ue,instruction:Ie});const un=(Pe=(je=Ze.current.apply(Se.current))==null?void 0:je.view)==null?void 0:Pe.workerDraft;rt.current.revision===Y&&((_t=Se.current)==null?void 0:_t.selectedSessionId)===ue&&un===Ie&&(S(""),await Ue("view.update",{patch:{workerDraft:"",...((Lt=(Et=Se.current)==null?void 0:Et.view)==null?void 0:Lt.panel)==="worker"?{panel:null}:{}}}))}catch(un){m(un.message)}finally{rt.current.busy=!1,Dt(!1)}}async function or(){var L;if(((L=l.voiceConfiguration)==null?void 0:L.available)===!1){await Ue("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["voice"]}});return}if(!$e.current){$e.current=!0,de(!0),m("");try{await da(),await Ue("view.update",{patch:{mode:"call"}}),await Ue("call.start",{})}catch(Y){m(_a(Y))}finally{$e.current=!1,de(!1)}}}const pa=!["idle","ended","error"].includes(ne.status||"idle"),Ra=T?I:((Pp=l==null?void 0:l.theme)==null?void 0:Pp.css)||"",ln=nt.composition.presentation,Yn=ln.scheme||rn.scheme,Ua=Yn==="system"?"light dark":Yn||"light",cn=WL(Yn);ZL({root:gt,state:l,shell:nt,scheme:Yn,mode:cn,preview:T,css:Ra}),Ex(l);const me=!Q&&ve.entries.some(L=>L.sessionId===null&&["sending","unknown"].includes(L.status)),U=Dn||((Q==null?void 0:Q.workers)||[]).some(L=>["queued","starting","working","running","stopping"].includes(L.status)),te=ve.entries.some(L=>L.sessionId===((Q==null?void 0:Q.id)??null)&&L.status==="sending"),pe=Lq({draft:x,attachments:Xe,uploading:ee,working:Dn,responseActive:U,stopping:(Q==null?void 0:Q.status)==="stopping",voiceStatus:ne.status,voiceStarting:De,busy:v,newChatPending:me,sending:te,historyPending:dn,executionUnavailable:on}),Oe=$L({enabled:!!l&&nt.ready,blocked:pa||De?"Finish your voice call, then reload.":ee||te||v?"Wait for the current upload or send to finish.":"",prepare:async()=>{var ue,Ie,qe;await Promise.all([ut.current,bt.current,W.current,Qt.current]),await $l((ue=Se.current)==null?void 0:ue.selectedSessionId),clearTimeout(Fe.current),We.current&&await wn(tt.current,We.current);const L=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null,Y=Qe.current;if(await Ue("view.update",{sessionId:L,patch:{draft:Y}}),Y!==Qe.current||L!==(((qe=Se.current)==null?void 0:qe.selectedSessionId)??null))throw Error("Your draft changed while saving. Select Reload now again when you’re ready.")}}),Be=_s(l)!=="chat",ct=(L,Y=null)=>ye("view.update",{patch:{...kk(L,Y),navExpanded:!1}}),qt={browse:ct,create:()=>a(!0),newChat:kn},Jt=Be?{...l,canvas:{...l==null?void 0:l.canvas,open:!1}}:l;return!l||!nt.ready?n.createElement("div",{className:"boot"},n.createElement("img",{src:Fc}),n.createElement("h1",null,"Amplifier"),n.createElement("p",null,p||nt.error||"Connecting to your workspace…"),(p||nt.error)&&n.createElement(n.Fragment,null,n.createElement("button",{onClick:()=>{b(L=>L+1),nt.refresh()}},"Retry connection"),n.createElement("p",null,n.createElement("a",{href:"?shell=recovery"},"Open recovery mode")))):n.createElement(Mi.Provider,{value:qt},n.createElement(Tg.Provider,{value:nt},n.createElement(jw.Provider,{value:Oe},n.createElement("div",{id:"amp-one",className:"a-chat-shell a-approachable-shell","data-work-surface":_s(l),ref:gt,"data-layout":ln.layout||rn.layout||"balanced","data-interface-detail":ln.interfaceDetail||ln.executionDetail||"standard","data-execution-detail":ln.interfaceDetail||ln.executionDetail||"standard","data-density":ln.density||"comfortable",style:{colorScheme:Ua,...ln.accent?{"--a-accent":ln.accent}:{}},"data-theme-scheme":cn,"data-decorations":ln.decorations===!1?"off":"on","data-part":"app"},Ra&&n.createElement("style",null,Ra),n.createElement("style",null,$q),n.createElement("style",null,FL),n.createElement(OL,{state:l,session:Q,act:ye,open:sn,narrow:e,presentation:ln}),n.createElement(Uw,null),p&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,p),n.createElement("button",{"aria-label":"Dismiss error",onClick:()=>{m(""),ye("view.update",{patch:{notice:null}})},"data-action":"view.update"},n.createElement(tn,null))),n.createElement(vF,{state:l,session:Q,act:ye}),!((Op=l.runtime)!=null&&Op.available)&&n.createElement("div",{className:"a-alert a-runtime"},n.createElement("span",null,n.createElement("strong",null,"Connect Amplifier to get started.")," ",((Mp=l.runtime)==null?void 0:Mp.error)||"The Amplifier runtime is not installed. Install this app with its runtime dependencies, then relaunch."),n.createElement("button",{className:"a-link",onClick:()=>sn("settings"),"data-action":"view.update"},"Setup details ",n.createElement(Gt,null))),n.createElement(DL,{voice:ne,callSession:l.sessions.find(L=>{var Y;return L.id===((Y=l.voice)==null?void 0:Y.sessionId)}),callActive:pa,browsing:Be,working:Dn&&!on,session:Q,act:ye,onReturn:()=>ct("chat")},n.createElement(mq,{sessionId:Q==null?void 0:Q.id,visual:ce,client:K,dispatch:Ue,onError:L=>m(L.message)})),n.createElement(CL,{state:Jt,act:ye,presentation:ln},n.createElement(RL,{footer:n.createElement(PL,{state:l,act:ye,connected:h,open:sn}),shell:nt,state:l,session:Q,act:ye,selectSession:L=>{Le.current=!0,ye("session.select",{id:L})},newSession:kn}),n.createElement("section",{className:`a-conversation ${yn.length||dn||Q!=null&&Q.historyError||on?"has-messages":"is-empty"}`,"data-part":"conversation","aria-label":"Shared conversation"},Be&&n.createElement(LL,{shell:nt,state:l,act:ye}),n.createElement(qF,{session:Q,focus:(zp=l.view)==null?void 0:zp.messageFocus,detail:Zt}),n.createElement("div",{className:"a-messages",ref:Ne,"data-part":"messages","data-view-source":Q?"conversation":void 0,role:"log","aria-label":"Conversation messages","aria-live":"polite","aria-busy":!!(Q!=null&&Q.historyLoading)},n.createElement("div",{className:"a-session-history"},Zt.controls),n.createElement(TL,{session:((Lp=Q==null?void 0:Q.messageWindow)==null?void 0:Lp.offset)>0?{...Q,sharedHistoryOffset:0}:Q,act:ye,onLoadEarlier:()=>{Le.current=!1}}),(Q==null?void 0:Q.parentId)&&n.createElement("div",{className:"a-chat-origin"},n.createElement(Wa,null),n.createElement("span",null,mo(Q)?Q.editOrigin?"Continued from an edited message":"Forked conversation":"Subagent conversation"),n.createElement("button",{type:"button",className:"a-link","data-action":"session.select",disabled:!l.sessions.some(L=>L.id===Q.parentId),onClick:()=>ye("session.select",{id:Q.parentId})},mo(Q)?"Open original chat":"Open parent chat")),En.before.map(L=>n.createElement(Xf,{key:L,data:V,turnId:L,state:l,act:ye})),!Q&&n.createElement(jx,{state:l,act:ye})," ",yn.length===0&&!dn&&!(Q!=null&&Q.historyError)&&!on?Q&&n.createElement("div",{className:"a-empty"},n.createElement("img",{src:Fc,alt:""}),n.createElement("h2",null,"What shall we work on?"),n.createElement("p",null,"Bring an idea, a question, or a file.")):WF(yn,En.after).map(L=>Array.isArray(L)?n.createElement(ZF,{key:L[0].id,messages:L,session:Q||{id:null},state:l,act:ye,renderArtifacts:Y=>n.createElement(vm,{state:l,message:Y,act:ye})}):n.createElement(n.Fragment,{key:L.id},n.createElement(uk,{message:L,session:Q||{id:null},state:l,act:ye,stamp:Bq,working:Dn,forkTurn:Ft.get(L.id),retry:Xa,discard:Qa,dispatch:Ue}),(En.after.get(L.id)||[]).map(Y=>n.createElement(Xf,{key:Y,data:V,turnId:Y,state:l,act:ye})),n.createElement(vm,{state:l,message:L,act:ye}))),(Q==null?void 0:Q.streaming)&&n.createElement("article",{className:"a-message a-assistant"},n.createElement("div",{className:"a-msg-meta"},n.createElement("strong",null,"Amplifier"),n.createElement("span",null,"Working…")),n.createElement(ml,{text:Q.streaming})),n.createElement("div",{ref:Ce})),ht&&n.createElement("div",{className:"a-live-activity","data-part":"activity","data-view-source":"activity",role:"status","aria-live":"polite"},n.createElement("span",{className:"a-activity-pulse","aria-hidden":"true"},n.createElement("b",null),n.createElement("b",null),n.createElement("b",null)),n.createElement("div",null,n.createElement("strong",null,ht.label),(ht.toolLabels.length>0||ht.lastTool||ht.workerCount>0)&&n.createElement("small",null,ht.toolLabels.join(" · "),ht.lastTool&&`Last tool: ${ht.lastTool}`,ht.workerCount>0&&ht.phase!=="workers"?`${ht.toolLabels.length||ht.lastTool?" · ":""}${ht.workerCount} active ${ht.workerCount===1?"worker":"workers"}`:"")),ht.elapsed&&n.createElement("span",{className:"a-activity-elapsed",role:"timer","aria-live":"off","aria-label":`Elapsed ${ht.elapsed}`},ht.elapsed)),!!((Dp=Q==null?void 0:Q.approvals)!=null&&Dp.filter(L=>L.status==="pending"||!L.status).length)&&n.createElement("section",{className:"a-card a-approvals","data-part":"approvals"},n.createElement("div",{className:"a-card-header"},n.createElement("h2",null,"Needs your attention")),Q.approvals.filter(L=>L.status==="pending"||!L.status).map(L=>n.createElement("div",{key:L.id,"data-approval-id":L.id},n.createElement("strong",null,L.title||L.tool||"Approval requested"),n.createElement("p",null,L.prompt||L.message||L.description),L.details&&n.createElement("pre",null,typeof L.details=="string"?L.details:qc(L.details)),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"approval.respond",onClick:()=>ye("approval.respond",{id:L.id,decision:"approve"})},n.createElement(Pt,null),"Allow"),n.createElement("button",{className:"a-soft","data-action":"approval.respond",onClick:()=>ye("approval.respond",{id:L.id,decision:"deny"})},"Deny"))))),n.createElement(Fq,{session:Q,dispatch:Ue}),n.createElement("form",{className:`a-composer ${D?"drag-over":""}`,"data-part":"composer","data-action":"conversation.send",onSubmit:ta,onDragOver:L=>{L.dataTransfer.types.includes("Files")&&(L.preventDefault(),on||G(!0))},onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||G(!1)},onDrop:L=>{L.dataTransfer.files.length&&(L.preventDefault(),G(!1),ea([...L.dataTransfer.files]))},onPaste:L=>{if(on){L.preventDefault();return}const Y=[...L.clipboardData.items].filter(ue=>ue.kind==="file").map(ue=>ue.getAsFile()).filter(Boolean);if(Y.length){L.preventDefault();const ue=L.clipboardData.getData("text/plain");if(ue){const Ie=vt.current,qe=(Ie==null?void 0:Ie.selectionStart)??x.length,je=(Ie==null?void 0:Ie.selectionEnd)??qe;Xn(x.slice(0,qe)+ue+x.slice(je))}ea(Y)}}},ve.storageError&&ve.entries.length>0&&n.createElement("p",{role:"alert",className:"a-upload-status"},"This browser could not save the pending message. Keep this tab open until delivery is confirmed."),n.createElement(Dq,{session:Q,runtimeAvailable:((Fp=l.runtime)==null?void 0:Fp.available)!==!1,dispatch:Ue},!Q&&n.createElement(AL,{state:l,act:ye}),n.createElement(ck,{items:Xe,remove:L=>ye("attachment.remove",{sessionId:(Q==null?void 0:Q.id)??null,id:L})}),ee&&n.createElement("p",{role:"status",className:"a-upload-status"},"Uploading attachments…"),D&&n.createElement("p",{className:"a-upload-status"},"Drop files or images to attach"),n.createElement(DF,{quote:(qp=l.view)==null?void 0:qp.messageReply,sessionId:Q==null?void 0:Q.id,dispatch:Ue}),n.createElement("textarea",{ref:vt,rows:1,disabled:on,readOnly:Me,"aria-busy":Me,value:x,onChange:L=>Xn(L.target.value),"data-action":"view.update","aria-label":"Message Amplifier",placeholder:"Ask Amplifier anything…",onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey&&!L.nativeEvent.isComposing&&(L.preventDefault(),ta())}}),n.createElement("div",{className:"a-compose-bottom"},te&&n.createElement("span",{role:"status",className:"a-caption"},"Sending message…"),n.createElement("div",{className:"a-compose-tools"},n.createElement("input",{ref:he,type:"file",multiple:!0,className:"a-file-input","aria-label":"Attach files","data-action":"attachment.add",onChange:L=>{ea([...L.target.files]),L.target.value=""}}),n.createElement("button",{type:"button",className:"a-icon","aria-label":"Add attachments",title:"Attach files or images · up to 32 MB each",disabled:ee||on||dn,"data-action":"attachment.add",onClick:()=>he.current.click()},n.createElement(Mn,null)),n.createElement(qr,{name:"composer.actions"},n.createElement($F,{state:l,session:Q,act:ye,ensureSession:da,working:Dn}),n.createElement(Yw,{compact:!0,state:l,session:Q,act:ye,working:Dn}),Q&&n.createElement("button",{type:"button",className:"a-icon a-composer-controls","aria-label":"Chat controls","data-action":"view.update",disabled:on||dn,onClick:()=>sn("runtime")},n.createElement(tl,null)))),n.createElement("button",{type:pe.action==="conversation.send"?"submit":"button",className:"a-send","data-part":"composer-primary-action","data-action":pe.action,"aria-label":pe.action==="call.start"&&((jp=l.voiceConfiguration)==null?void 0:jp.available)===!1?"Set up voice":pe.label,title:pe.action==="call.start"&&((Up=l.voiceConfiguration)==null?void 0:Up.available)===!1?"Set up voice in Settings":pe.label,disabled:pe.disabled||Me&&pe.action==="conversation.send",onClick:pe.action==="call.start"?or:pe.action==="call.end"?()=>ye("call.end"):pe.action==="conversation.stop"?()=>ye("conversation.stop",{sessionId:Q.id}):void 0},pe.icon==="voice"?n.createElement(Ou,null):pe.icon==="cancel"?n.createElement(tn,null):n.createElement(zi,null)))))),n.createElement(cL,{scheme:Yn},n.createElement(IL,{suppressed:Be,state:l,act:ye,dispatch:Ue}))),t&&n.createElement(_L,{state:l,act:ye,onClose:()=>a(!1)}),n.createElement(xq,{state:l,act:ye}),mt&&n.createElement("div",{className:`a-overlay ${mt==="settings"||mt==="appearance"?"a-settings-overlay a-settings-redesign-overlay":""}`,"data-part":"overlay",onPointerDown:L=>{o.current=L.target===L.currentTarget},onClick:L=>{o.current&&L.target===L.currentTarget&&Na()}},n.createElement("section",{role:"dialog","aria-modal":"true","aria-labelledby":"panel-title",className:`a-dialog ${mt==="appearance"||mt==="agent"||mt==="runtime"||mt==="settings"?"wide":""}`,"data-part":"dialog"},n.createElement("div",{className:"a-dialog-head"},n.createElement("h2",{id:"panel-title"},{appearance:"Settings",agent:"What the agent sees",settings:"Settings",activity:"Ready for you",feedback:"Send feedback",worker:"Give it a worker lane","delete-session":"Delete chat?",runtime:"Chat controls","session-details":"Chat details","subagent-history":"Subagent history",coordination:"Tasks and workers"}[mt]||mt),n.createElement("button",{className:"a-icon","data-action":"view.update","aria-label":"Close panel",onClick:Na},n.createElement(tn,null))),p&&n.createElement("div",{className:"a-alert",role:"alert"},n.createElement("span",null,p),n.createElement("button",{type:"button","aria-label":"Dismiss error",onClick:()=>m("")},n.createElement(tn,null))),mt==="session-details"&&Q&&n.createElement(n.Fragment,null,n.createElement(rk,{key:Q.id,session:Q,act:Ue}),n.createElement("h3",null,"Export chat"),n.createElement(ok,{session:Q,state:l,act:ye}),n.createElement("div",{className:"a-dialog-actions"},n.createElement(_g,{state:l,session:Q,act:ye}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>sn("coordination")},n.createElement(Wa,null),"Tasks and workers"),n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:()=>sn("worker")},n.createElement(Wa,null),"Delegate work"))),mt==="coordination"&&n.createElement(YF,{dispatch:Ue}),mt==="subagent-history"&&n.createElement(rS,{state:l,session:Q,act:ye}),mt==="activity"&&n.createElement(xx,{state:l,act:ye}),mt==="feedback"&&n.createElement(kq,{state:l,act:Ue}),mt==="runtime"&&n.createElement(nk,{state:l,session:Q,act:ye,computerControls:n.createElement(pq,{sessionId:Q==null?void 0:Q.id,visual:ce,client:K,dispatch:Ue,onError:L=>m(L.message||String(L))})}),mt==="worker"&&n.createElement("form",{"data-action":"worker.spawn",onSubmit:xn},n.createElement("p",null,"Tell the worker what to investigate or build. Results return to this conversation."),n.createElement("label",{htmlFor:"worker-instruction"},"Work to delegate"),n.createElement("textarea",{id:"worker-instruction",value:R,"data-action":"view.update",onChange:L=>{rt.current.revision++,S(L.target.value),ye("view.update",{patch:{workerDraft:L.target.value}})},placeholder:"Review the project and propose a focused implementation plan…"}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",disabled:wt||!R.trim()},n.createElement(Wa,null),wt?"Starting…":"Start worker"))),mt==="agent"&&n.createElement(n.Fragment,null,n.createElement("p",null,"Every app control uses the same action interface. The agent can read the selected conversation, worker lanes, drafts, open panels, and the controls currently on screen."),n.createElement("div",{className:"a-form-grid"},n.createElement("div",null,n.createElement("label",null,"Current state"),n.createElement("pre",{className:"a-state-view"},qc({...l,devices:Object.fromEntries(Object.entries(l.devices||{}).map(([L,Y])=>{var ue,Ie;return[L,{clientId:Y.clientId,viewport:Y.viewport,controls:(ue=Y.controls)==null?void 0:ue.length,visibleTextLength:(Ie=Y.visibleText)==null?void 0:Ie.length,voice:Y.voice,notificationPermission:Y.notificationPermission}]})),deviceCommands:(l.deviceCommands||[]).map(({id:L,type:Y,origin:ue,createdAt:Ie})=>({id:L,type:Y,origin:ue,createdAt:Ie})),theme:{name:($p=l.theme)==null?void 0:$p.name,css:`${((Hp=(Bp=l.theme)==null?void 0:Bp.css)==null?void 0:Hp.length)||0} characters`},view:{...rn,themeDraft:rn.themeDraft?`${rn.themeDraft.length} characters`:void 0}}))),n.createElement("div",null,n.createElement("label",null,"Visible controls"),n.createElement("pre",{className:"a-state-view"},qc((Vp=jl(gt.current,Ha).controls)==null?void 0:Vp.map(L=>({label:L.label,action:L.action,disabled:L.disabled})))))),n.createElement("label",{htmlFor:"agent-action"},"Run an app action"),n.createElement("select",{id:"agent-action",value:q,"data-action":"view.update",onChange:L=>{z(L.target.value),ye("view.update",{patch:{agentAction:L.target.value}})}},u.map(L=>n.createElement("option",{key:L.name||L.action,value:L.name||L.action},L.name||L.action))),n.createElement("label",{htmlFor:"agent-args"},"Arguments (JSON)"),n.createElement("textarea",{id:"agent-args",className:"a-css-editor",style:{minHeight:100},value:F,"data-action":"view.update",onChange:L=>{H(L.target.value),ye("view.update",{patch:{agentArgs:L.target.value}})}}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":q,onClick:()=>{try{ye(q,JSON.parse(F))}catch(L){m(_a(L))}}},"Run action"),n.createElement("button",{className:"a-soft","data-action":"state.export",onClick:()=>ye("state.export")},n.createElement(Ea,null),"Export app state")),n.createElement("p",{className:"a-caption"},"Also available to integrations as window.amplifier.getState(), getActions(), and dispatch().")),mt==="delete-session"&&n.createElement(Cg,{key:Q==null?void 0:Q.id,id:Q==null?void 0:Q.id,act:Ue,cancel:Na}),(mt==="settings"||mt==="appearance")&&n.createElement(_F,{state:l,session:Q,act:ye,dispatch:Ue,open:sn,close:Ca,navigationRef:s,appearance:n.createElement(GL,{state:l,shell:nt,act:Ue,name:M,css:I,preview:T,setName:k,setCss:N,setPreview:A,defaultSkin:Dc})})))))))}wk.createRoot(document.getElementById("root")).render(n.createElement(Hq,null));export{Pg as _,KS as p}; diff --git a/amplifier_web/static/assets/arc-C0HCYinx.js b/amplifier_web/static/assets/arc-BZobgCN0.js similarity index 98% rename from amplifier_web/static/assets/arc-C0HCYinx.js rename to amplifier_web/static/assets/arc-BZobgCN0.js index 637a8cd9b..cc0ce4fc1 100644 --- a/amplifier_web/static/assets/arc-C0HCYinx.js +++ b/amplifier_web/static/assets/arc-BZobgCN0.js @@ -1 +1 @@ -import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-Db1rVExV.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*ur*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,C=rn(c-f),t=c>f;if(a||(a=n=O()),sy))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(Cy?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),pr*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,C=rn(c-f),t=c>f;if(a||(a=n=O()),sy))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(Cy?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),ps?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e}),(function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l}),(function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v}),(function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&G>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(G,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,G,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s}),(function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=G,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=G,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,G=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,G=o-h,Y=h*c-o*T,B=L*G-b*w,B===0?null:(u=(w*Y-G*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l}),(function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v}),(function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v}),(function(C,x,N){var v=(function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l}),(function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var G=L[0];L.splice(0,1),d.add(G);for(var V=G.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&G.push(a),T.set(a,p)}})}h=h.concat(G),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s}),(function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v}),(function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l}),(function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i})();C.exports=r}),(function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=(function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt})(Math.min(this.m+1,this.n)),this.U=(function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt})(this.n),i=(function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt})(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if((function(Tt,wt){return Tt&&wt})(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v}),(function(C,x,N){var v=(function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:((n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f}),806:((n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e}),767:((n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),880:((n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),578:((n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),765:((n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,G=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),k=O[tt],O[tt]=O[H],O[H]=k;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,k=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(k)||(a.nodesInRelativeHorizontal.push(k),a.nodeToRelativeConstraintMapHorizontal.set(k,[]),a.dummyToNodeForVerticalAlignment.has(k)?a.nodeToTempPositionMapHorizontal.set(k,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(k)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(k,a.idToNodeMap.get(k).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:k,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(k).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,k=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(k):Q.set(H,[k]),Q.has(k)?Q.get(k).push(H):Q.set(k,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,k){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),k.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var k=H[0];H.splice(0,1);var tt=z.indexOf(k);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,k=0;k{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){Z=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){Z=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=kt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var ce=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+ce)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var Z=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?Z++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),Z>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(P,U){m[U]=[P.position.x,P.position.y],y[U]=[d[u.get(P.nodeId)],L[u.get(P.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var P=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,Z=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[P]=[Mt,L[u.get(pt)]],y[P]=[d[u.get(pt)],L[u.get(pt)]],P++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[P]=[d[u.get(pt)],Mt],y[P]=[d[u.get(pt)],L[u.get(pt)]],P++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(P,U){var Z={x:d[u.get(P.nodeId)],y:L[u.get(P.nodeId)]},K=P.position,q=Y(K,Z);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(P,U){d[U]+=mt.x}),L.forEach(function(P,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(P){d[u.get(P.nodeId)]=P.position.x,L[u.get(P.nodeId)]=P.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var Z=new Set;Ot[U].forEach(function(at){Z.add(at)});var K=new Set([].concat(f(Z)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(Z).x,Z.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(Z).y,Z.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C})},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})})(le)),le.exports}var mr=he.exports,xe;function Er(){return xe||(xe=1,(function(I,M){(function(x,N){I.exports=N(yr())})(mr,function(C){return(()=>{var x={658:(n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=(function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),G;!(d=(G=w.next()).done);d=!0){var V=G.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,G=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,G=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),k),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(G),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}}),212:((n,r,i)=>{var f=(function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(G,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=G.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],k=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(k).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(k).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Pt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Pt.push(Yt.topLeftX+Yt.width/2),Pt.push(Yt.topLeftY+Yt.height/2)}else Pt.push(Y[it].xCoords[Ht]),Pt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Pt[0],endY:Pt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(G,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d})();n.exports=u}),657:((n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],G=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,Z=0,K=!1;Z=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var Z=void 0;if(U){Z=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(Z.isParent()?w[U].push(b.get(Z.id())):w[U].push(Z.id()))})});var Nt=function(U){var Z=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[Z].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(P){it=!0,ut=P}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e}),140:(n=>{n.exports=C})},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(he)),he.exports}var Tr=Er();const Nr=ur(Tr);var Ie={L:"left",R:"right",T:"top",B:"bottom"},Re={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},Lr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Se=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),wr=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Cr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),ye=ct(function(I,M){const C=`${I}${M}`;return Cr(C)?C:void 0},"getArchitectureDirectionPair"),Mr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ar=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),Dr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Or=ct(function(I){return I.type==="service"},"isArchitectureService"),xr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Pe=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Ge=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ir=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Or)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(xr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Se(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Se(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=Dr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Pe(t,s),o)}if(g.lhsId===i){const o=ye(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=ye(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Mr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ir,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Rr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await gr("architecture",I);Fe.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Rr(M,C)},"parse")},Sr=ct(I=>` +import{p as qe}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as ct,D as Qe,X as Je,l as Fe,b as Ke,a as je,n as _e,o as tr,g as er,s as rr,p as ir,A as ar,y as nr,B as or,c as Ee,b4 as Te,aj as pe,i as sr,j as hr,q as lr,ak as fr,b5 as cr}from"./mermaid.core-DCzavt_d.js";import{p as gr}from"./cynefin-OW5HDTMX-D2urArke.js";import{c as be}from"./cytoscape.esm-Ix0LnXOy.js";import{g as ur}from"./client-BPXDbY79.js";import"./app-DiRg4AEn.js";var he={exports:{}},le={exports:{}},fe={exports:{}},dr=fe.exports,De;function vr(){return De||(De=1,(function(I,M){(function(x,N){I.exports=N()})(dr,function(){return(function(C){var x={};function N(v){if(x[v])return x[v].exports;var l=x[v]={i:v,l:!1,exports:{}};return C[v].call(l.exports,l,l.exports,N),l.l=!0,l.exports}return N.m=C,N.c=x,N.i=function(v){return v},N.d=function(v,l,n){N.o(v,l)||Object.defineProperty(v,l,{configurable:!1,enumerable:!0,get:n})},N.n=function(v){var l=v&&v.__esModule?function(){return v.default}:function(){return v};return N.d(l,"a",l),l},N.o=function(v,l){return Object.prototype.hasOwnProperty.call(v,l)},N.p="",N(N.s=28)})([(function(C,x,N){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,C.exports=v}),(function(C,x,N){var v=N(2),l=N(8),n=N(9);function r(f,e,g){v.call(this,g),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=g,this.bendpoints=[],this.source=f,this.target=e}r.prototype=Object.create(v.prototype);for(var i in v)r[i]=v[i];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,e){for(var g=this.getOtherEnd(f),t=e.getGraphManager().getRoot();;){if(g.getOwner()==e)return g;if(g.getOwner()==t)break;g=g.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=l.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=r}),(function(C,x,N){function v(l){this.vGraphObject=l}C.exports=v}),(function(C,x,N){var v=N(2),l=N(10),n=N(13),r=N(0),i=N(16),f=N(5);function e(t,s,o,c){o==null&&c==null&&(c=s),v.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=l.MIN_VALUE,this.inclusionTreeDepth=l.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&s!=null?this.rect=new n(s.x,s.y,o.width,o.height):this.rect=new n}e.prototype=Object.create(v.prototype);for(var g in v)e[g]=v[g];e.prototype.getEdges=function(){return this.edges},e.prototype.getChild=function(){return this.child},e.prototype.getOwner=function(){return this.owner},e.prototype.getWidth=function(){return this.rect.width},e.prototype.setWidth=function(t){this.rect.width=t},e.prototype.getHeight=function(){return this.rect.height},e.prototype.setHeight=function(t){this.rect.height=t},e.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},e.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},e.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},e.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},e.prototype.getRect=function(){return this.rect},e.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},e.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},e.prototype.setRect=function(t,s){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=s.width,this.rect.height=s.height},e.prototype.setCenter=function(t,s){this.rect.x=t-this.rect.width/2,this.rect.y=s-this.rect.height/2},e.prototype.setLocation=function(t,s){this.rect.x=t,this.rect.y=s},e.prototype.moveBy=function(t,s){this.rect.x+=t,this.rect.y+=s},e.prototype.getEdgeListToNode=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";s.push(c)}}),s},e.prototype.getEdgesBetween=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&s.push(c)}),s},e.prototype.getNeighborsList=function(){var t=new Set,s=this;return s.edges.forEach(function(o){if(o.source==s)t.add(o.target);else{if(o.target!=s)throw"Incorrect incidency!";t.add(o.source)}}),t},e.prototype.withChildren=function(){var t=new Set,s,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),h=0;hs?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e}),(function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l}),(function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v}),(function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&G>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(G,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,G,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s}),(function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=G,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=G,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,G=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,G=o-h,Y=h*c-o*T,B=L*G-b*w,B===0?null:(u=(w*Y-G*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l}),(function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v}),(function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v}),(function(C,x,N){var v=(function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l}),(function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var G=L[0];L.splice(0,1),d.add(G);for(var V=G.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&G.push(a),T.set(a,p)}})}h=h.concat(G),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s}),(function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v}),(function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l}),(function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i})();C.exports=r}),(function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=(function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt})(Math.min(this.m+1,this.n)),this.U=(function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt})(this.n),i=(function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt})(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if((function(Tt,wt){return Tt&&wt})(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v}),(function(C,x,N){var v=(function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:((n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f}),806:((n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e}),767:((n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),880:((n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),578:((n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e}),765:((n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,G=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),k=O[tt],O[tt]=O[H],O[H]=k;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,k=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(k)||(a.nodesInRelativeHorizontal.push(k),a.nodeToRelativeConstraintMapHorizontal.set(k,[]),a.dummyToNodeForVerticalAlignment.has(k)?a.nodeToTempPositionMapHorizontal.set(k,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(k)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(k,a.idToNodeMap.get(k).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:k,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(k).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,k=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(k):Q.set(H,[k]),Q.has(k)?Q.get(k).push(H):Q.set(k,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,k){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),k.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var k=H[0];H.splice(0,1);var tt=z.indexOf(k);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,k=0;k{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){Z=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){Z=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=kt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var ce=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+ce)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var Z=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?Z++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),Z>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(P,U){m[U]=[P.position.x,P.position.y],y[U]=[d[u.get(P.nodeId)],L[u.get(P.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var P=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,Z=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[P]=[Mt,L[u.get(pt)]],y[P]=[d[u.get(pt)],L[u.get(pt)]],P++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[P]=[d[u.get(pt)],Mt],y[P]=[d[u.get(pt)],L[u.get(pt)]],P++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(P,U){var Z={x:d[u.get(P.nodeId)],y:L[u.get(P.nodeId)]},K=P.position,q=Y(K,Z);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(P,U){d[U]+=mt.x}),L.forEach(function(P,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(P){d[u.get(P.nodeId)]=P.position.x,L[u.get(P.nodeId)]=P.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var Z=new Set;Ot[U].forEach(function(at){Z.add(at)});var K=new Set([].concat(f(Z)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(Z).x,Z.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(Z).y,Z.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C})},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})})(le)),le.exports}var mr=he.exports,xe;function Er(){return xe||(xe=1,(function(I,M){(function(x,N){I.exports=N(yr())})(mr,function(C){return(()=>{var x={658:(n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=(function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),G;!(d=(G=w.next()).done);d=!0){var V=G.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,G=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,G=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),k),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(G),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}}),212:((n,r,i)=>{var f=(function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(G,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=G.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],k=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(k).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(k).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Pt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Pt.push(Yt.topLeftX+Yt.width/2),Pt.push(Yt.topLeftY+Yt.height/2)}else Pt.push(Y[it].xCoords[Ht]),Pt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Pt[0],endY:Pt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(G,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d})();n.exports=u}),657:((n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],G=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,Z=0,K=!1;Z=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var Z=void 0;if(U){Z=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(Z.isParent()?w[U].push(b.get(Z.id())):w[U].push(Z.id()))})});var Nt=function(U){var Z=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[Z].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(P){it=!0,ut=P}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e}),140:(n=>{n.exports=C})},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(he)),he.exports}var Tr=Er();const Nr=ur(Tr);var Ie={L:"left",R:"right",T:"top",B:"bottom"},Re={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},Lr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Se=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),wr=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Cr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),ye=ct(function(I,M){const C=`${I}${M}`;return Cr(C)?C:void 0},"getArchitectureDirectionPair"),Mr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ar=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),Dr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Or=ct(function(I){return I.type==="service"},"isArchitectureService"),xr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Pe=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Ge=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ir=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Or)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(xr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Se(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Se(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=Dr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Pe(t,s),o)}if(g.lhsId===i){const o=ye(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=ye(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Mr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ir,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Rr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await gr("architecture",I);Fe.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Rr(M,C)},"parse")},Sr=ct(I=>` .edge { stroke-width: ${I.archEdgeWidth}; stroke: ${I.archEdgeColor}; diff --git a/amplifier_web/static/assets/blockDiagram-I7D4REHJ-By5ih9VU.js b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js similarity index 99% rename from amplifier_web/static/assets/blockDiagram-I7D4REHJ-By5ih9VU.js rename to amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js index 79b352725..e8b631975 100644 --- a/amplifier_web/static/assets/blockDiagram-I7D4REHJ-By5ih9VU.js +++ b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js @@ -1,4 +1,4 @@ -import{g as Pe}from"./chunk-5VM5RSS4-DRn7AX50.js";import{aC as Fe,aD as ye,aE as Me,aF as Ke,aG as Ye,aH as We,aI as Ve,aJ as Ue,aK as He,aL as Xe,aM as je,aN as Ge,aO as qe,aP as Je,aQ as Ze,aR as Qe,aS as $e,aT as et,aU as tt,aV as st,aW as rt,aX as it,aY as at,aZ as nt,a_ as ot,_ as g,y as j,j as J,a$ as ct,d as lt,l as m,p as ut,r as gt,c as me,P as ht,ay as dt,ax as pt,az as ft,k as St,b0 as xt,af as be,ag as Lt}from"./mermaid.core-Db1rVExV.js";import{c as yt}from"./channel-tqVB_xud.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";function mt(e){return Array.isArray(e)}function bt(e){if(Fe(e))return e;const n=ye(e);if(!wt(e))return{};if(mt(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(Me(e)){const s=e,c=s.constructor;return new c(s.buffer,s.byteOffset,s.length)}if(n==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(n==="[object DataView]"){const s=e,c=s.buffer,p=s.byteOffset,r=s.byteLength,d=new ArrayBuffer(r),x=new Uint8Array(c,p,r);return new Uint8Array(d).set(x),new DataView(d)}if(n==="[object Boolean]"||n==="[object Number]"||n==="[object String]"){const s=e.constructor,c=new s(e.valueOf());return n==="[object String]"?_t(c,e):re(c,e),c}if(n==="[object Date]")return new Date(Number(e));if(n==="[object RegExp]"){const s=e,c=new RegExp(s.source,s.flags);return c.lastIndex=s.lastIndex,c}if(n==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(n==="[object Map]"){const s=e,c=new Map;return s.forEach((p,r)=>{c.set(r,p)}),c}if(n==="[object Set]"){const s=e,c=new Set;return s.forEach(p=>{c.add(p)}),c}if(n==="[object Arguments]"){const s=e,c={};return re(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}const l={};return Dt(l,e),re(l,e),Et(l,e),l}function wt(e){switch(ye(e)){case ot:case nt:case at:case it:case rt:case st:case tt:case et:case $e:case Qe:case Ze:case Je:case qe:case Ge:case je:case Xe:case He:case Ue:case Ve:case We:case Ye:case Ke:return!0;default:return!1}}function re(e,n){for(const l in n)Object.hasOwn(n,l)&&(e[l]=n[l])}function Et(e,n){const l=Object.getOwnPropertySymbols(n);for(let s=0;s=l)&&(e[s]=n[s])}function Dt(e,n){const l=Object.getPrototypeOf(n);l!==null&&typeof n.constructor=="function"&&Object.setPrototypeOf(e,l)}var ae=(function(){var e=g(function(T,h,i,o){for(i=i||{},o=T.length;o--;i[T[o]]=h);return i},"o"),n=[1,15],l=[1,7],s=[1,13],c=[1,14],p=[1,19],r=[1,16],d=[1,17],x=[1,18],y=[8,30],S=[8,10,21,28,29,30,31,39,43,46],E=[1,23],z=[1,24],A=[8,10,15,16,21,28,29,30,31,39,43,46],_=[8,10,15,16,21,27,28,29,30,31,39,43,46],N=[1,49],I={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:g(function(h,i,o,u,L,t,O){var a=t.length-1;switch(L){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[a-1]),u.setHierarchy(t[a-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[a]),typeof t[a].length=="number"?this.$=t[a]:this.$=[t[a]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[a-1]),this.$=[t[a-1]].concat(t[a]);break;case 14:u.getLogger().debug("Rule: link: ",t[a],h),this.$={edgeTypeStr:t[a],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[a-3],t[a-1],t[a]),this.$={edgeTypeStr:t[a],label:t[a-1]};break;case 18:const f=parseInt(t[a]),w=u.generateId();this.$={id:w,type:"space",label:"",width:f,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[a-2],t[a-1],t[a]," typestr: ",t[a-1].edgeTypeStr);const C=u.edgeStrToEdgeData(t[a-1].edgeTypeStr),M=u.edgeStrToEdgeStartData(t[a-1].edgeTypeStr),K=u.edgeStrToThickness(t[a-1].edgeTypeStr),b=u.edgeStrToPattern(t[a-1].edgeTypeStr);this.$=[{id:t[a-2].id,label:t[a-2].label,type:t[a-2].type,directions:t[a-2].directions},{id:t[a-2].id+"-"+t[a].id,start:t[a-2].id,end:t[a].id,label:t[a-1].label,type:"edge",thickness:K,pattern:b,directions:t[a].directions,arrowTypeEnd:C,arrowTypeStart:M},{id:t[a].id,label:t[a].label,type:u.typeStr2Type(t[a].typeStr),directions:t[a].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[a-1],t[a]),this.$={id:t[a-1].id,label:t[a-1].label,type:u.typeStr2Type(t[a-1].typeStr),directions:t[a-1].directions,widthInColumns:parseInt(t[a],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[a]),this.$={id:t[a].id,label:t[a].label,type:u.typeStr2Type(t[a].typeStr),directions:t[a].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[a]),this.$={type:"column-setting",columns:t[a]==="auto"?-1:parseInt(t[a])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[a-2],t[a-1]),u.generateId(),this.$={...t[a-2],type:"composite",children:t[a-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[a-2],t[a-1],t[a]);const R=u.generateId();this.$={id:R,type:"composite",label:"",children:t[a-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[a]),this.$={id:t[a]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[a-1],t[a]),this.$={id:t[a-1],label:t[a].label,typeStr:t[a].typeStr,directions:t[a].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[a]),this.$=[t[a]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[a-1],t[a]),this.$=[t[a-1]].concat(t[a]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[a-2],t[a-1],t[a]),this.$={typeStr:t[a-2]+t[a],label:t[a-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[a-3],t[a-2]," #3:",t[a-1],t[a]),this.$={typeStr:t[a-3]+t[a],label:t[a-2],directions:t[a-1]};break;case 35:case 36:this.$={type:"classDef",id:t[a-1].trim(),css:t[a].trim()};break;case 37:this.$={type:"applyClass",id:t[a-1].trim(),styleClass:t[a].trim()};break;case 38:this.$={type:"applyStyles",id:t[a-1].trim(),stylesStr:t[a].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:n,11:3,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{8:[1,20]},e(y,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:n,21:l,28:s,29:c,31:p,39:r,43:d,46:x}),e(S,[2,16],{14:22,15:E,16:z}),e(S,[2,17]),e(S,[2,18]),e(S,[2,19]),e(S,[2,20]),e(S,[2,21]),e(S,[2,22]),e(A,[2,25],{27:[1,25]}),e(S,[2,26]),{19:26,26:12,31:p},{10:n,11:27,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(_,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(y,[2,13]),{26:35,31:p},{31:[2,14]},{17:[1,36]},e(A,[2,24]),{10:n,11:37,13:4,14:22,15:E,16:z,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(_,[2,30]),{18:[1,43]},{18:[1,44]},e(A,[2,23]),{18:[1,45]},{30:[1,46]},e(S,[2,28]),e(S,[2,35]),e(S,[2,36]),e(S,[2,37]),e(S,[2,38]),{36:[1,47]},{33:48,34:N},{15:[1,50]},e(S,[2,27]),e(_,[2,33]),{38:[1,51]},{33:52,34:N,38:[2,31]},{31:[2,15]},e(_,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:g(function(h,i){if(i.recoverable)this.trace(h);else{var o=new Error(h);throw o.hash=i,o}},"parseError"),parse:g(function(h){var i=this,o=[0],u=[],L=[null],t=[],O=this.table,a="",f=0,w=0,C=2,M=1,K=t.slice.call(arguments,1),b=Object.create(this.lexer),R={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(R.yy[Y]=this.yy[Y]);b.setInput(h,R.yy),R.yy.lexer=b,R.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var H=b.yylloc;t.push(H);var ee=b.options&&b.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(k){o.length=o.length-2*k,L.length=L.length-k,t.length=t.length-k}g(ke,"popStack");function pe(){var k;return k=u.pop()||b.lex()||M,typeof k!="number"&&(k instanceof Array&&(u=k,k=u.pop()),k=i.symbols_[k]||k),k}g(pe,"lex");for(var B,V,P,te,U={},G,W,fe,q;;){if(V=o[o.length-1],this.defaultActions[V]?P=this.defaultActions[V]:((B===null||typeof B>"u")&&(B=pe()),P=O[V]&&O[V][B]),typeof P>"u"||!P.length||!P[0]){var se="";q=[];for(G in O[V])this.terminals_[G]&&G>C&&q.push("'"+this.terminals_[G]+"'");b.showPosition?se="Parse error on line "+(f+1)+`: +import{g as Pe}from"./chunk-5VM5RSS4-BvUIUVyo.js";import{aC as Fe,aD as ye,aE as Me,aF as Ke,aG as Ye,aH as We,aI as Ve,aJ as Ue,aK as He,aL as Xe,aM as je,aN as Ge,aO as qe,aP as Je,aQ as Ze,aR as Qe,aS as $e,aT as et,aU as tt,aV as st,aW as rt,aX as it,aY as at,aZ as nt,a_ as ot,_ as g,y as j,j as J,a$ as ct,d as lt,l as m,p as ut,r as gt,c as me,P as ht,ay as dt,ax as pt,az as ft,k as St,b0 as xt,af as be,ag as Lt}from"./mermaid.core-DCzavt_d.js";import{c as yt}from"./channel-BGpu3HdG.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";function mt(e){return Array.isArray(e)}function bt(e){if(Fe(e))return e;const n=ye(e);if(!wt(e))return{};if(mt(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(Me(e)){const s=e,c=s.constructor;return new c(s.buffer,s.byteOffset,s.length)}if(n==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(n==="[object DataView]"){const s=e,c=s.buffer,p=s.byteOffset,r=s.byteLength,d=new ArrayBuffer(r),x=new Uint8Array(c,p,r);return new Uint8Array(d).set(x),new DataView(d)}if(n==="[object Boolean]"||n==="[object Number]"||n==="[object String]"){const s=e.constructor,c=new s(e.valueOf());return n==="[object String]"?_t(c,e):re(c,e),c}if(n==="[object Date]")return new Date(Number(e));if(n==="[object RegExp]"){const s=e,c=new RegExp(s.source,s.flags);return c.lastIndex=s.lastIndex,c}if(n==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(n==="[object Map]"){const s=e,c=new Map;return s.forEach((p,r)=>{c.set(r,p)}),c}if(n==="[object Set]"){const s=e,c=new Set;return s.forEach(p=>{c.add(p)}),c}if(n==="[object Arguments]"){const s=e,c={};return re(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}const l={};return Dt(l,e),re(l,e),Et(l,e),l}function wt(e){switch(ye(e)){case ot:case nt:case at:case it:case rt:case st:case tt:case et:case $e:case Qe:case Ze:case Je:case qe:case Ge:case je:case Xe:case He:case Ue:case Ve:case We:case Ye:case Ke:return!0;default:return!1}}function re(e,n){for(const l in n)Object.hasOwn(n,l)&&(e[l]=n[l])}function Et(e,n){const l=Object.getOwnPropertySymbols(n);for(let s=0;s=l)&&(e[s]=n[s])}function Dt(e,n){const l=Object.getPrototypeOf(n);l!==null&&typeof n.constructor=="function"&&Object.setPrototypeOf(e,l)}var ae=(function(){var e=g(function(T,h,i,o){for(i=i||{},o=T.length;o--;i[T[o]]=h);return i},"o"),n=[1,15],l=[1,7],s=[1,13],c=[1,14],p=[1,19],r=[1,16],d=[1,17],x=[1,18],y=[8,30],S=[8,10,21,28,29,30,31,39,43,46],E=[1,23],z=[1,24],A=[8,10,15,16,21,28,29,30,31,39,43,46],_=[8,10,15,16,21,27,28,29,30,31,39,43,46],N=[1,49],I={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:g(function(h,i,o,u,L,t,O){var a=t.length-1;switch(L){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[a-1]),u.setHierarchy(t[a-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[a]),typeof t[a].length=="number"?this.$=t[a]:this.$=[t[a]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[a-1]),this.$=[t[a-1]].concat(t[a]);break;case 14:u.getLogger().debug("Rule: link: ",t[a],h),this.$={edgeTypeStr:t[a],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[a-3],t[a-1],t[a]),this.$={edgeTypeStr:t[a],label:t[a-1]};break;case 18:const f=parseInt(t[a]),w=u.generateId();this.$={id:w,type:"space",label:"",width:f,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[a-2],t[a-1],t[a]," typestr: ",t[a-1].edgeTypeStr);const C=u.edgeStrToEdgeData(t[a-1].edgeTypeStr),M=u.edgeStrToEdgeStartData(t[a-1].edgeTypeStr),K=u.edgeStrToThickness(t[a-1].edgeTypeStr),b=u.edgeStrToPattern(t[a-1].edgeTypeStr);this.$=[{id:t[a-2].id,label:t[a-2].label,type:t[a-2].type,directions:t[a-2].directions},{id:t[a-2].id+"-"+t[a].id,start:t[a-2].id,end:t[a].id,label:t[a-1].label,type:"edge",thickness:K,pattern:b,directions:t[a].directions,arrowTypeEnd:C,arrowTypeStart:M},{id:t[a].id,label:t[a].label,type:u.typeStr2Type(t[a].typeStr),directions:t[a].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[a-1],t[a]),this.$={id:t[a-1].id,label:t[a-1].label,type:u.typeStr2Type(t[a-1].typeStr),directions:t[a-1].directions,widthInColumns:parseInt(t[a],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[a]),this.$={id:t[a].id,label:t[a].label,type:u.typeStr2Type(t[a].typeStr),directions:t[a].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[a]),this.$={type:"column-setting",columns:t[a]==="auto"?-1:parseInt(t[a])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[a-2],t[a-1]),u.generateId(),this.$={...t[a-2],type:"composite",children:t[a-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[a-2],t[a-1],t[a]);const R=u.generateId();this.$={id:R,type:"composite",label:"",children:t[a-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[a]),this.$={id:t[a]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[a-1],t[a]),this.$={id:t[a-1],label:t[a].label,typeStr:t[a].typeStr,directions:t[a].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[a]),this.$=[t[a]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[a-1],t[a]),this.$=[t[a-1]].concat(t[a]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[a-2],t[a-1],t[a]),this.$={typeStr:t[a-2]+t[a],label:t[a-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[a-3],t[a-2]," #3:",t[a-1],t[a]),this.$={typeStr:t[a-3]+t[a],label:t[a-2],directions:t[a-1]};break;case 35:case 36:this.$={type:"classDef",id:t[a-1].trim(),css:t[a].trim()};break;case 37:this.$={type:"applyClass",id:t[a-1].trim(),styleClass:t[a].trim()};break;case 38:this.$={type:"applyStyles",id:t[a-1].trim(),stylesStr:t[a].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:n,11:3,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{8:[1,20]},e(y,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:n,21:l,28:s,29:c,31:p,39:r,43:d,46:x}),e(S,[2,16],{14:22,15:E,16:z}),e(S,[2,17]),e(S,[2,18]),e(S,[2,19]),e(S,[2,20]),e(S,[2,21]),e(S,[2,22]),e(A,[2,25],{27:[1,25]}),e(S,[2,26]),{19:26,26:12,31:p},{10:n,11:27,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(_,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(y,[2,13]),{26:35,31:p},{31:[2,14]},{17:[1,36]},e(A,[2,24]),{10:n,11:37,13:4,14:22,15:E,16:z,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:s,29:c,31:p,39:r,43:d,46:x},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(_,[2,30]),{18:[1,43]},{18:[1,44]},e(A,[2,23]),{18:[1,45]},{30:[1,46]},e(S,[2,28]),e(S,[2,35]),e(S,[2,36]),e(S,[2,37]),e(S,[2,38]),{36:[1,47]},{33:48,34:N},{15:[1,50]},e(S,[2,27]),e(_,[2,33]),{38:[1,51]},{33:52,34:N,38:[2,31]},{31:[2,15]},e(_,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:g(function(h,i){if(i.recoverable)this.trace(h);else{var o=new Error(h);throw o.hash=i,o}},"parseError"),parse:g(function(h){var i=this,o=[0],u=[],L=[null],t=[],O=this.table,a="",f=0,w=0,C=2,M=1,K=t.slice.call(arguments,1),b=Object.create(this.lexer),R={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(R.yy[Y]=this.yy[Y]);b.setInput(h,R.yy),R.yy.lexer=b,R.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var H=b.yylloc;t.push(H);var ee=b.options&&b.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(k){o.length=o.length-2*k,L.length=L.length-k,t.length=t.length-k}g(ke,"popStack");function pe(){var k;return k=u.pop()||b.lex()||M,typeof k!="number"&&(k instanceof Array&&(u=k,k=u.pop()),k=i.symbols_[k]||k),k}g(pe,"lex");for(var B,V,P,te,U={},G,W,fe,q;;){if(V=o[o.length-1],this.defaultActions[V]?P=this.defaultActions[V]:((B===null||typeof B>"u")&&(B=pe()),P=O[V]&&O[V][B]),typeof P>"u"||!P.length||!P[0]){var se="";q=[];for(G in O[V])this.terminals_[G]&&G>C&&q.push("'"+this.terminals_[G]+"'");b.showPosition?se="Parse error on line "+(f+1)+`: `+b.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[B]||B)+"'":se="Parse error on line "+(f+1)+": Unexpected "+(B==M?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(se,{text:b.match,token:this.terminals_[B]||B,line:b.yylineno,loc:H,expected:q})}if(P[0]instanceof Array&&P.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+B);switch(P[0]){case 1:o.push(B),L.push(b.yytext),t.push(b.yylloc),o.push(P[1]),B=null,w=b.yyleng,a=b.yytext,f=b.yylineno,H=b.yylloc;break;case 2:if(W=this.productions_[P[1]][1],U.$=L[L.length-W],U._$={first_line:t[t.length-(W||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(W||1)].first_column,last_column:t[t.length-1].last_column},ee&&(U._$.range=[t[t.length-(W||1)].range[0],t[t.length-1].range[1]]),te=this.performAction.apply(U,[a,w,f,R.yy,P[1],L,t].concat(K)),typeof te<"u")return te;W&&(o=o.slice(0,-1*W*2),L=L.slice(0,-1*W),t=t.slice(0,-1*W)),o.push(this.productions_[P[1]][0]),L.push(U.$),t.push(U._$),fe=O[o[o.length-2]][o[o.length-1]],o.push(fe);break;case 3:return!0}}return!0},"parse")},D=(function(){var T={EOF:1,parseError:g(function(i,o){if(this.yy.parser)this.yy.parser.parseError(i,o);else throw new Error(i)},"parseError"),setInput:g(function(h,i){return this.yy=i||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var i=h.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:g(function(h){var i=h.length,o=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===u.length?this.yylloc.first_column:0)+u[u.length-o.length].length-o[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(h){this.unput(this.match.slice(h))},"less"),pastInput:g(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var h=this.pastInput(),i=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/c4Diagram-7LVT6UL2-CAT7R2xj.js b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js similarity index 99% rename from amplifier_web/static/assets/c4Diagram-7LVT6UL2-CAT7R2xj.js rename to amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js index 000ebf930..9fee4f836 100644 --- a/amplifier_web/static/assets/c4Diagram-7LVT6UL2-CAT7R2xj.js +++ b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js @@ -1,4 +1,4 @@ -import{d as Le}from"./chunk-F27PBJKO-nNeL4pO3.js";import{s as Ie,g as Me,a as Be,b as Ve,_ as d,c as wt,l as he,d as Ye,e as Fe,f as Dt,h as Ue,i as be,j as Jt,w as je,k as $t,m as de}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var Ut=(function(){var t=d(function(yt,m,x,E){for(x=x||{},E=yt.length;E--;x[yt[E]]=m);return x},"o"),e=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],n=[1,63],u=[1,64],r=[1,65],h=[1,66],y=[1,67],f=[1,68],b=[1,69],v=[1,29],w=[1,30],N=[1,31],O=[1,32],P=[1,33],I=[1,34],W=[1,35],X=[1,36],q=[1,37],H=[1,38],Q=[1,39],K=[1,40],G=[1,41],J=[1,42],Z=[1,43],$=[1,44],tt=[1,45],et=[1,46],nt=[1,47],st=[1,48],rt=[1,50],at=[1,51],it=[1,52],ot=[1,53],lt=[1,54],ct=[1,55],ut=[1,56],ht=[1,57],dt=[1,58],pt=[1,59],ft=[1,60],kt=[14,42],Wt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],k=[1,83],T=[1,84],C=[1,85],R=[12,14,42],ie=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],gt=[12,33],Xt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:d(function(m,x,E,_,D,i,Pt){var p=i.length-1;switch(D){case 3:_.setDirection("TB");break;case 4:_.setDirection("BT");break;case 5:_.setDirection("RL");break;case 6:_.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:_.setC4Type(i[p-3]);break;case 19:_.setTitle(i[p].substring(6)),this.$=i[p].substring(6);break;case 20:_.setAccDescription(i[p].substring(15)),this.$=i[p].substring(15);break;case 21:this.$=i[p].trim(),_.setTitle(this.$);break;case 22:case 23:this.$=i[p].trim(),_.setAccDescription(this.$);break;case 28:i[p].splice(2,0,"ENTERPRISE"),_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 29:i[p].splice(2,0,"SYSTEM"),_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 30:_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 31:i[p].splice(2,0,"CONTAINER"),_.addContainerBoundary(...i[p]),this.$=i[p];break;case 32:_.addDeploymentNode("node",...i[p]),this.$=i[p];break;case 33:_.addDeploymentNode("nodeL",...i[p]),this.$=i[p];break;case 34:_.addDeploymentNode("nodeR",...i[p]),this.$=i[p];break;case 35:_.popBoundaryParseStack();break;case 39:_.addPersonOrSystem("person",...i[p]),this.$=i[p];break;case 40:_.addPersonOrSystem("external_person",...i[p]),this.$=i[p];break;case 41:_.addPersonOrSystem("system",...i[p]),this.$=i[p];break;case 42:_.addPersonOrSystem("system_db",...i[p]),this.$=i[p];break;case 43:_.addPersonOrSystem("system_queue",...i[p]),this.$=i[p];break;case 44:_.addPersonOrSystem("external_system",...i[p]),this.$=i[p];break;case 45:_.addPersonOrSystem("external_system_db",...i[p]),this.$=i[p];break;case 46:_.addPersonOrSystem("external_system_queue",...i[p]),this.$=i[p];break;case 47:_.addContainer("container",...i[p]),this.$=i[p];break;case 48:_.addContainer("container_db",...i[p]),this.$=i[p];break;case 49:_.addContainer("container_queue",...i[p]),this.$=i[p];break;case 50:_.addContainer("external_container",...i[p]),this.$=i[p];break;case 51:_.addContainer("external_container_db",...i[p]),this.$=i[p];break;case 52:_.addContainer("external_container_queue",...i[p]),this.$=i[p];break;case 53:_.addComponent("component",...i[p]),this.$=i[p];break;case 54:_.addComponent("component_db",...i[p]),this.$=i[p];break;case 55:_.addComponent("component_queue",...i[p]),this.$=i[p];break;case 56:_.addComponent("external_component",...i[p]),this.$=i[p];break;case 57:_.addComponent("external_component_db",...i[p]),this.$=i[p];break;case 58:_.addComponent("external_component_queue",...i[p]),this.$=i[p];break;case 60:_.addRel("rel",...i[p]),this.$=i[p];break;case 61:_.addRel("birel",...i[p]),this.$=i[p];break;case 62:_.addRel("rel_u",...i[p]),this.$=i[p];break;case 63:_.addRel("rel_d",...i[p]),this.$=i[p];break;case 64:_.addRel("rel_l",...i[p]),this.$=i[p];break;case 65:_.addRel("rel_r",...i[p]),this.$=i[p];break;case 66:_.addRel("rel_b",...i[p]),this.$=i[p];break;case 67:i[p].splice(0,1),_.addRel("rel",...i[p]),this.$=i[p];break;case 68:_.updateElStyle("update_el_style",...i[p]),this.$=i[p];break;case 69:_.updateRelStyle("update_rel_style",...i[p]),this.$=i[p];break;case 70:_.updateLayoutConfig("update_layout_config",...i[p]),this.$=i[p];break;case 71:this.$=[i[p]];break;case 72:i[p].unshift(i[p-1]),this.$=i[p];break;case 73:case 75:this.$=i[p].trim();break;case 74:let xt={};xt[i[p-1].trim()]=i[p].trim(),this.$=xt;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:70,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:71,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:72,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:73,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{14:[1,74]},t(kt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:n,36:u,37:r,38:h,39:y,40:f,41:b,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft}),t(kt,[2,14]),t(Wt,[2,16],{12:[1,76]}),t(kt,[2,36],{12:[1,77]}),t(Ot,[2,19]),t(Ot,[2,20]),{25:[1,78]},{27:[1,79]},t(Ot,[2,23]),{35:80,75:81,76:S,77:k,79:T,80:C},{35:86,75:81,76:S,77:k,79:T,80:C},{35:87,75:81,76:S,77:k,79:T,80:C},{35:88,75:81,76:S,77:k,79:T,80:C},{35:89,75:81,76:S,77:k,79:T,80:C},{35:90,75:81,76:S,77:k,79:T,80:C},{35:91,75:81,76:S,77:k,79:T,80:C},{35:92,75:81,76:S,77:k,79:T,80:C},{35:93,75:81,76:S,77:k,79:T,80:C},{35:94,75:81,76:S,77:k,79:T,80:C},{35:95,75:81,76:S,77:k,79:T,80:C},{35:96,75:81,76:S,77:k,79:T,80:C},{35:97,75:81,76:S,77:k,79:T,80:C},{35:98,75:81,76:S,77:k,79:T,80:C},{35:99,75:81,76:S,77:k,79:T,80:C},{35:100,75:81,76:S,77:k,79:T,80:C},{35:101,75:81,76:S,77:k,79:T,80:C},{35:102,75:81,76:S,77:k,79:T,80:C},{35:103,75:81,76:S,77:k,79:T,80:C},{35:104,75:81,76:S,77:k,79:T,80:C},t(R,[2,59]),{35:105,75:81,76:S,77:k,79:T,80:C},{35:106,75:81,76:S,77:k,79:T,80:C},{35:107,75:81,76:S,77:k,79:T,80:C},{35:108,75:81,76:S,77:k,79:T,80:C},{35:109,75:81,76:S,77:k,79:T,80:C},{35:110,75:81,76:S,77:k,79:T,80:C},{35:111,75:81,76:S,77:k,79:T,80:C},{35:112,75:81,76:S,77:k,79:T,80:C},{35:113,75:81,76:S,77:k,79:T,80:C},{35:114,75:81,76:S,77:k,79:T,80:C},{35:115,75:81,76:S,77:k,79:T,80:C},{20:116,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:k,79:T,80:C},{35:120,75:81,76:S,77:k,79:T,80:C},{35:121,75:81,76:S,77:k,79:T,80:C},{35:122,75:81,76:S,77:k,79:T,80:C},{35:123,75:81,76:S,77:k,79:T,80:C},{35:124,75:81,76:S,77:k,79:T,80:C},{35:125,75:81,76:S,77:k,79:T,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(kt,[2,15]),t(Wt,[2,17],{21:22,19:130,22:e,23:s,24:o,26:l,28:a}),t(kt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:s,24:o,26:l,28:a,34:n,36:u,37:r,38:h,39:y,40:f,41:b,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft}),t(Ot,[2,21]),t(Ot,[2,22]),t(R,[2,39]),t(ie,[2,71],{75:81,35:132,76:S,77:k,79:T,80:C}),t(Mt,[2,73]),{78:[1,133]},t(Mt,[2,75]),t(Mt,[2,76]),t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(R,[2,52]),t(R,[2,53]),t(R,[2,54]),t(R,[2,55]),t(R,[2,56]),t(R,[2,57]),t(R,[2,58]),t(R,[2,60]),t(R,[2,61]),t(R,[2,62]),t(R,[2,63]),t(R,[2,64]),t(R,[2,65]),t(R,[2,66]),t(R,[2,67]),t(R,[2,68]),t(R,[2,69]),t(R,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(gt,[2,28]),t(gt,[2,29]),t(gt,[2,30]),t(gt,[2,31]),t(gt,[2,32]),t(gt,[2,33]),t(gt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(Wt,[2,18]),t(kt,[2,38]),t(ie,[2,72]),t(Mt,[2,74]),t(R,[2,24]),t(R,[2,35]),t(Xt,[2,25]),t(Xt,[2,26],{12:[1,138]}),t(Xt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:d(function(m,x){if(x.recoverable)this.trace(m);else{var E=new Error(m);throw E.hash=x,E}},"parseError"),parse:d(function(m){var x=this,E=[0],_=[],D=[null],i=[],Pt=this.table,p="",xt=0,oe=0,Pe=2,le=1,De=i.slice.call(arguments,1),A=Object.create(this.lexer),vt={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(vt.yy[Ht]=this.yy[Ht]);A.setInput(m,vt.yy),vt.yy.lexer=A,vt.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var Qt=A.yylloc;i.push(Qt);var Ne=A.options&&A.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(B){E.length=E.length-2*B,D.length=D.length-B,i.length=i.length-B}d(Ae,"popStack");function ce(){var B;return B=_.pop()||A.lex()||le,typeof B!="number"&&(B instanceof Array&&(_=B,B=_.pop()),B=x.symbols_[B]||B),B}d(ce,"lex");for(var M,Et,V,Kt,Tt={},Vt,j,ue,Yt;;){if(Et=E[E.length-1],this.defaultActions[Et]?V=this.defaultActions[Et]:((M===null||typeof M>"u")&&(M=ce()),V=Pt[Et]&&Pt[Et][M]),typeof V>"u"||!V.length||!V[0]){var Gt="";Yt=[];for(Vt in Pt[Et])this.terminals_[Vt]&&Vt>Pe&&Yt.push("'"+this.terminals_[Vt]+"'");A.showPosition?Gt="Parse error on line "+(xt+1)+`: +import{d as Le}from"./chunk-F27PBJKO-CeZTmtp_.js";import{s as Ie,g as Me,a as Be,b as Ve,_ as d,c as wt,l as he,d as Ye,e as Fe,f as Dt,h as Ue,i as be,j as Jt,w as je,k as $t,m as de}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var Ut=(function(){var t=d(function(yt,m,x,E){for(x=x||{},E=yt.length;E--;x[yt[E]]=m);return x},"o"),e=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],n=[1,63],u=[1,64],r=[1,65],h=[1,66],y=[1,67],f=[1,68],b=[1,69],v=[1,29],w=[1,30],N=[1,31],O=[1,32],P=[1,33],I=[1,34],W=[1,35],X=[1,36],q=[1,37],H=[1,38],Q=[1,39],K=[1,40],G=[1,41],J=[1,42],Z=[1,43],$=[1,44],tt=[1,45],et=[1,46],nt=[1,47],st=[1,48],rt=[1,50],at=[1,51],it=[1,52],ot=[1,53],lt=[1,54],ct=[1,55],ut=[1,56],ht=[1,57],dt=[1,58],pt=[1,59],ft=[1,60],kt=[14,42],Wt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],k=[1,83],T=[1,84],C=[1,85],R=[12,14,42],ie=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],gt=[12,33],Xt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:d(function(m,x,E,_,D,i,Pt){var p=i.length-1;switch(D){case 3:_.setDirection("TB");break;case 4:_.setDirection("BT");break;case 5:_.setDirection("RL");break;case 6:_.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:_.setC4Type(i[p-3]);break;case 19:_.setTitle(i[p].substring(6)),this.$=i[p].substring(6);break;case 20:_.setAccDescription(i[p].substring(15)),this.$=i[p].substring(15);break;case 21:this.$=i[p].trim(),_.setTitle(this.$);break;case 22:case 23:this.$=i[p].trim(),_.setAccDescription(this.$);break;case 28:i[p].splice(2,0,"ENTERPRISE"),_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 29:i[p].splice(2,0,"SYSTEM"),_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 30:_.addPersonOrSystemBoundary(...i[p]),this.$=i[p];break;case 31:i[p].splice(2,0,"CONTAINER"),_.addContainerBoundary(...i[p]),this.$=i[p];break;case 32:_.addDeploymentNode("node",...i[p]),this.$=i[p];break;case 33:_.addDeploymentNode("nodeL",...i[p]),this.$=i[p];break;case 34:_.addDeploymentNode("nodeR",...i[p]),this.$=i[p];break;case 35:_.popBoundaryParseStack();break;case 39:_.addPersonOrSystem("person",...i[p]),this.$=i[p];break;case 40:_.addPersonOrSystem("external_person",...i[p]),this.$=i[p];break;case 41:_.addPersonOrSystem("system",...i[p]),this.$=i[p];break;case 42:_.addPersonOrSystem("system_db",...i[p]),this.$=i[p];break;case 43:_.addPersonOrSystem("system_queue",...i[p]),this.$=i[p];break;case 44:_.addPersonOrSystem("external_system",...i[p]),this.$=i[p];break;case 45:_.addPersonOrSystem("external_system_db",...i[p]),this.$=i[p];break;case 46:_.addPersonOrSystem("external_system_queue",...i[p]),this.$=i[p];break;case 47:_.addContainer("container",...i[p]),this.$=i[p];break;case 48:_.addContainer("container_db",...i[p]),this.$=i[p];break;case 49:_.addContainer("container_queue",...i[p]),this.$=i[p];break;case 50:_.addContainer("external_container",...i[p]),this.$=i[p];break;case 51:_.addContainer("external_container_db",...i[p]),this.$=i[p];break;case 52:_.addContainer("external_container_queue",...i[p]),this.$=i[p];break;case 53:_.addComponent("component",...i[p]),this.$=i[p];break;case 54:_.addComponent("component_db",...i[p]),this.$=i[p];break;case 55:_.addComponent("component_queue",...i[p]),this.$=i[p];break;case 56:_.addComponent("external_component",...i[p]),this.$=i[p];break;case 57:_.addComponent("external_component_db",...i[p]),this.$=i[p];break;case 58:_.addComponent("external_component_queue",...i[p]),this.$=i[p];break;case 60:_.addRel("rel",...i[p]),this.$=i[p];break;case 61:_.addRel("birel",...i[p]),this.$=i[p];break;case 62:_.addRel("rel_u",...i[p]),this.$=i[p];break;case 63:_.addRel("rel_d",...i[p]),this.$=i[p];break;case 64:_.addRel("rel_l",...i[p]),this.$=i[p];break;case 65:_.addRel("rel_r",...i[p]),this.$=i[p];break;case 66:_.addRel("rel_b",...i[p]),this.$=i[p];break;case 67:i[p].splice(0,1),_.addRel("rel",...i[p]),this.$=i[p];break;case 68:_.updateElStyle("update_el_style",...i[p]),this.$=i[p];break;case 69:_.updateRelStyle("update_rel_style",...i[p]),this.$=i[p];break;case 70:_.updateLayoutConfig("update_layout_config",...i[p]),this.$=i[p];break;case 71:this.$=[i[p]];break;case 72:i[p].unshift(i[p-1]),this.$=i[p];break;case 73:case 75:this.$=i[p].trim();break;case 74:let xt={};xt[i[p-1].trim()]=i[p].trim(),this.$=xt;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:70,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:71,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:72,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{13:73,19:20,20:21,21:22,22:e,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{14:[1,74]},t(kt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:n,36:u,37:r,38:h,39:y,40:f,41:b,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft}),t(kt,[2,14]),t(Wt,[2,16],{12:[1,76]}),t(kt,[2,36],{12:[1,77]}),t(Ot,[2,19]),t(Ot,[2,20]),{25:[1,78]},{27:[1,79]},t(Ot,[2,23]),{35:80,75:81,76:S,77:k,79:T,80:C},{35:86,75:81,76:S,77:k,79:T,80:C},{35:87,75:81,76:S,77:k,79:T,80:C},{35:88,75:81,76:S,77:k,79:T,80:C},{35:89,75:81,76:S,77:k,79:T,80:C},{35:90,75:81,76:S,77:k,79:T,80:C},{35:91,75:81,76:S,77:k,79:T,80:C},{35:92,75:81,76:S,77:k,79:T,80:C},{35:93,75:81,76:S,77:k,79:T,80:C},{35:94,75:81,76:S,77:k,79:T,80:C},{35:95,75:81,76:S,77:k,79:T,80:C},{35:96,75:81,76:S,77:k,79:T,80:C},{35:97,75:81,76:S,77:k,79:T,80:C},{35:98,75:81,76:S,77:k,79:T,80:C},{35:99,75:81,76:S,77:k,79:T,80:C},{35:100,75:81,76:S,77:k,79:T,80:C},{35:101,75:81,76:S,77:k,79:T,80:C},{35:102,75:81,76:S,77:k,79:T,80:C},{35:103,75:81,76:S,77:k,79:T,80:C},{35:104,75:81,76:S,77:k,79:T,80:C},t(R,[2,59]),{35:105,75:81,76:S,77:k,79:T,80:C},{35:106,75:81,76:S,77:k,79:T,80:C},{35:107,75:81,76:S,77:k,79:T,80:C},{35:108,75:81,76:S,77:k,79:T,80:C},{35:109,75:81,76:S,77:k,79:T,80:C},{35:110,75:81,76:S,77:k,79:T,80:C},{35:111,75:81,76:S,77:k,79:T,80:C},{35:112,75:81,76:S,77:k,79:T,80:C},{35:113,75:81,76:S,77:k,79:T,80:C},{35:114,75:81,76:S,77:k,79:T,80:C},{35:115,75:81,76:S,77:k,79:T,80:C},{20:116,29:49,30:61,32:62,34:n,36:u,37:r,38:h,39:y,40:f,41:b,43:23,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:k,79:T,80:C},{35:120,75:81,76:S,77:k,79:T,80:C},{35:121,75:81,76:S,77:k,79:T,80:C},{35:122,75:81,76:S,77:k,79:T,80:C},{35:123,75:81,76:S,77:k,79:T,80:C},{35:124,75:81,76:S,77:k,79:T,80:C},{35:125,75:81,76:S,77:k,79:T,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(kt,[2,15]),t(Wt,[2,17],{21:22,19:130,22:e,23:s,24:o,26:l,28:a}),t(kt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:s,24:o,26:l,28:a,34:n,36:u,37:r,38:h,39:y,40:f,41:b,44:v,45:w,46:N,47:O,48:P,49:I,50:W,51:X,52:q,53:H,54:Q,55:K,56:G,57:J,58:Z,59:$,60:tt,61:et,62:nt,63:st,64:rt,65:at,66:it,67:ot,68:lt,69:ct,70:ut,71:ht,72:dt,73:pt,74:ft}),t(Ot,[2,21]),t(Ot,[2,22]),t(R,[2,39]),t(ie,[2,71],{75:81,35:132,76:S,77:k,79:T,80:C}),t(Mt,[2,73]),{78:[1,133]},t(Mt,[2,75]),t(Mt,[2,76]),t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(R,[2,52]),t(R,[2,53]),t(R,[2,54]),t(R,[2,55]),t(R,[2,56]),t(R,[2,57]),t(R,[2,58]),t(R,[2,60]),t(R,[2,61]),t(R,[2,62]),t(R,[2,63]),t(R,[2,64]),t(R,[2,65]),t(R,[2,66]),t(R,[2,67]),t(R,[2,68]),t(R,[2,69]),t(R,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(gt,[2,28]),t(gt,[2,29]),t(gt,[2,30]),t(gt,[2,31]),t(gt,[2,32]),t(gt,[2,33]),t(gt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(Wt,[2,18]),t(kt,[2,38]),t(ie,[2,72]),t(Mt,[2,74]),t(R,[2,24]),t(R,[2,35]),t(Xt,[2,25]),t(Xt,[2,26],{12:[1,138]}),t(Xt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:d(function(m,x){if(x.recoverable)this.trace(m);else{var E=new Error(m);throw E.hash=x,E}},"parseError"),parse:d(function(m){var x=this,E=[0],_=[],D=[null],i=[],Pt=this.table,p="",xt=0,oe=0,Pe=2,le=1,De=i.slice.call(arguments,1),A=Object.create(this.lexer),vt={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(vt.yy[Ht]=this.yy[Ht]);A.setInput(m,vt.yy),vt.yy.lexer=A,vt.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var Qt=A.yylloc;i.push(Qt);var Ne=A.options&&A.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(B){E.length=E.length-2*B,D.length=D.length-B,i.length=i.length-B}d(Ae,"popStack");function ce(){var B;return B=_.pop()||A.lex()||le,typeof B!="number"&&(B instanceof Array&&(_=B,B=_.pop()),B=x.symbols_[B]||B),B}d(ce,"lex");for(var M,Et,V,Kt,Tt={},Vt,j,ue,Yt;;){if(Et=E[E.length-1],this.defaultActions[Et]?V=this.defaultActions[Et]:((M===null||typeof M>"u")&&(M=ce()),V=Pt[Et]&&Pt[Et][M]),typeof V>"u"||!V.length||!V[0]){var Gt="";Yt=[];for(Vt in Pt[Et])this.terminals_[Vt]&&Vt>Pe&&Yt.push("'"+this.terminals_[Vt]+"'");A.showPosition?Gt="Parse error on line "+(xt+1)+`: `+A.showPosition()+` Expecting `+Yt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Gt="Parse error on line "+(xt+1)+": Unexpected "+(M==le?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Gt,{text:A.match,token:this.terminals_[M]||M,line:A.yylineno,loc:Qt,expected:Yt})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+M);switch(V[0]){case 1:E.push(M),D.push(A.yytext),i.push(A.yylloc),E.push(V[1]),M=null,oe=A.yyleng,p=A.yytext,xt=A.yylineno,Qt=A.yylloc;break;case 2:if(j=this.productions_[V[1]][1],Tt.$=D[D.length-j],Tt._$={first_line:i[i.length-(j||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(j||1)].first_column,last_column:i[i.length-1].last_column},Ne&&(Tt._$.range=[i[i.length-(j||1)].range[0],i[i.length-1].range[1]]),Kt=this.performAction.apply(Tt,[p,oe,xt,vt.yy,V[1],D,i].concat(De)),typeof Kt<"u")return Kt;j&&(E=E.slice(0,-1*j*2),D=D.slice(0,-1*j),i=i.slice(0,-1*j)),E.push(this.productions_[V[1]][0]),D.push(Tt.$),i.push(Tt._$),ue=Pt[E[E.length-2]][E[E.length-1]],E.push(ue);break;case 3:return!0}}return!0},"parse")},Oe=(function(){var yt={EOF:1,parseError:d(function(x,E){if(this.yy.parser)this.yy.parser.parseError(x,E);else throw new Error(x)},"parseError"),setInput:d(function(m,x){return this.yy=x||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var x=m.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:d(function(m){var x=m.length,E=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(m){this.unput(this.match.slice(m))},"less"),pastInput:d(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var m=this.pastInput(),x=new Array(m.length+1).join("-");return m+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/channel-BGpu3HdG.js b/amplifier_web/static/assets/channel-BGpu3HdG.js new file mode 100644 index 000000000..1f054d193 --- /dev/null +++ b/amplifier_web/static/assets/channel-BGpu3HdG.js @@ -0,0 +1 @@ +import{ah as o,ai as n}from"./mermaid.core-DCzavt_d.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c}; diff --git a/amplifier_web/static/assets/channel-tqVB_xud.js b/amplifier_web/static/assets/channel-tqVB_xud.js deleted file mode 100644 index 14ce69013..000000000 --- a/amplifier_web/static/assets/channel-tqVB_xud.js +++ /dev/null @@ -1 +0,0 @@ -import{ah as o,ai as n}from"./mermaid.core-Db1rVExV.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c}; diff --git a/amplifier_web/static/assets/chunk-2Q5K7J3B-h1yMEKAe.js b/amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js similarity index 66% rename from amplifier_web/static/assets/chunk-2Q5K7J3B-h1yMEKAe.js rename to amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js index c4d327602..8d8315048 100644 --- a/amplifier_web/static/assets/chunk-2Q5K7J3B-h1yMEKAe.js +++ b/amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js @@ -1 +1 @@ -import{_ as s}from"./mermaid.core-Db1rVExV.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; +import{_ as s}from"./mermaid.core-DCzavt_d.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; diff --git a/amplifier_web/static/assets/chunk-5VM5RSS4-DRn7AX50.js b/amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js similarity index 83% rename from amplifier_web/static/assets/chunk-5VM5RSS4-DRn7AX50.js rename to amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js index 784b387f0..915d66dc8 100644 --- a/amplifier_web/static/assets/chunk-5VM5RSS4-DRn7AX50.js +++ b/amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js @@ -1,4 +1,4 @@ -import{_ as e}from"./mermaid.core-Db1rVExV.js";var l=e(()=>` +import{_ as e}from"./mermaid.core-DCzavt_d.js";var l=e(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; diff --git a/amplifier_web/static/assets/chunk-F27PBJKO-nNeL4pO3.js b/amplifier_web/static/assets/chunk-F27PBJKO-CeZTmtp_.js similarity index 96% rename from amplifier_web/static/assets/chunk-F27PBJKO-nNeL4pO3.js rename to amplifier_web/static/assets/chunk-F27PBJKO-CeZTmtp_.js index f36a2f3dc..f192dbc4a 100644 --- a/amplifier_web/static/assets/chunk-F27PBJKO-nNeL4pO3.js +++ b/amplifier_web/static/assets/chunk-F27PBJKO-CeZTmtp_.js @@ -1 +1 @@ -import{_ as i,j as l,T as d,G as o}from"./mermaid.core-Db1rVExV.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const s in t.attrs)e.attr(s,t.attrs[s]);return t.class&&e.attr("class",t.class),e},"drawRect"),p=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),y=i((r,t)=>{const e=t.text.replace(d," "),s=r.append("text");s.attr("x",t.x),s.attr("y",t.y),s.attr("class","legend"),s.style("text-anchor",t.anchor),t.class&&s.attr("class",t.class);const a=s.append("tspan");return a.attr("x",t.x+t.textMargin*2),a.text(e),s},"drawText"),m=i((r,t,e,s)=>{const a=r.append("image");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",n)},"drawImage"),g=i((r,t,e,s)=>{const a=r.append("use");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),f=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),w=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{p as a,h as b,g as c,x as d,m as e,w as f,f as g,y as h}; +import{_ as i,j as l,T as d,G as o}from"./mermaid.core-DCzavt_d.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const s in t.attrs)e.attr(s,t.attrs[s]);return t.class&&e.attr("class",t.class),e},"drawRect"),p=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),y=i((r,t)=>{const e=t.text.replace(d," "),s=r.append("text");s.attr("x",t.x),s.attr("y",t.y),s.attr("class","legend"),s.style("text-anchor",t.anchor),t.class&&s.attr("class",t.class);const a=s.append("tspan");return a.attr("x",t.x+t.textMargin*2),a.text(e),s},"drawText"),m=i((r,t,e,s)=>{const a=r.append("image");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",n)},"drawImage"),g=i((r,t,e,s)=>{const a=r.append("use");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),f=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),w=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{p as a,h as b,g as c,x as d,m as e,w as f,f as g,y as h}; diff --git a/amplifier_web/static/assets/chunk-IMKFNOWR-BHywLYsX.js b/amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js similarity index 99% rename from amplifier_web/static/assets/chunk-IMKFNOWR-BHywLYsX.js rename to amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js index 32eed6b66..67c7b14bf 100644 --- a/amplifier_web/static/assets/chunk-IMKFNOWR-BHywLYsX.js +++ b/amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js @@ -1,4 +1,4 @@ -import{g as ee}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as se}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as S,l as b,c as F,v as ie,x as re,a as ae,b as ne,g as oe,s as le,n as ce,o as he,S as ue,k as K,p as de,j as Dt}from"./mermaid.core-Db1rVExV.js";import{f as fe}from"./chunk-F27PBJKO-nNeL4pO3.js";import{p as pe}from"./app-CI1rDkjG.js";var Ct=(function(){var t=S(function(U,l,u,n){for(u=u||{},n=U.length;n--;u[U[n]]=l);return u},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],d=[1,17],T=[1,18],E=[1,19],m=[1,33],I=[1,20],v=[1,21],x=[1,22],$=[1,23],O=[1,24],f=[1,26],L=[1,27],C=[1,28],V=[1,29],P=[1,30],k=[1,31],B=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,u,n,g,_,r,Y){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:d,19:T,22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,21:[1,72],22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,21:[1,81],22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=u,n}},"parseError"),parse:S(function(l){var u=this,n=[0],g=[],_=[null],r=[],Y=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(R){n.length=n.length-2*R,_.length=_.length-R,r.length=r.length-R}S(te,"popStack");function wt(){var R;return R=g.pop()||D.lex()||et,typeof R!="number"&&(R instanceof Array&&(g=R,R=g.pop()),R=u.symbols_[R]||R),R}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,It,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=Y[z]&&Y[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in Y[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: +import{g as ee}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as se}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as S,l as b,c as F,v as ie,x as re,a as ae,b as ne,g as oe,s as le,n as ce,o as he,S as ue,k as K,p as de,j as Dt}from"./mermaid.core-DCzavt_d.js";import{f as fe}from"./chunk-F27PBJKO-CeZTmtp_.js";import{p as pe}from"./app-DiRg4AEn.js";var Ct=(function(){var t=S(function(U,l,u,n){for(u=u||{},n=U.length;n--;u[U[n]]=l);return u},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],d=[1,17],T=[1,18],E=[1,19],m=[1,33],I=[1,20],v=[1,21],x=[1,22],$=[1,23],O=[1,24],f=[1,26],L=[1,27],C=[1,28],V=[1,29],P=[1,30],k=[1,31],B=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,u,n,g,_,r,Y){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:d,19:T,22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,21:[1,72],22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:d,19:T,21:[1,81],22:E,24:m,25:I,26:v,27:x,28:$,29:O,32:25,33:f,35:L,37:C,38:V,41:P,45:k,48:B,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,u){if(u.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=u,n}},"parseError"),parse:S(function(l){var u=this,n=[0],g=[],_=[null],r=[],Y=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(R){n.length=n.length-2*R,_.length=_.length-R,r.length=r.length-R}S(te,"popStack");function wt(){var R;return R=g.pop()||D.lex()||et,typeof R!="number"&&(R instanceof Array&&(g=R,R=g.pop()),R=u.symbols_[R]||R),R}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,It,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=Y[z]&&Y[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in Y[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: `+D.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[w]||w)+"'":bt="Parse error on line "+(G+1)+": Unexpected "+(w==et?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(bt,{text:D.match,token:this.terminals_[w]||w,line:D.yylineno,loc:_t,expected:ft})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+w);switch(N[0]){case 1:n.push(w),_.push(D.yytext),r.push(D.yylloc),n.push(N[1]),w=null,q=D.yyleng,c=D.yytext,G=D.yylineno,_t=D.yylloc;break;case 2:if(M=this.productions_[N[1]][1],Q.$=_[_.length-M],Q._$={first_line:r[r.length-(M||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(M||1)].first_column,last_column:r[r.length-1].last_column},Zt&&(Q._$.range=[r[r.length-(M||1)].range[0],r[r.length-1].range[1]]),mt=this.performAction.apply(Q,[c,q,G,H.yy,N[1],_,r].concat(Tt)),typeof mt<"u")return mt;M&&(n=n.slice(0,-1*M*2),_=_.slice(0,-1*M),r=r.slice(0,-1*M)),n.push(this.productions_[N[1]][0]),_.push(Q.$),r.push(Q._$),It=Y[n[n.length-2]][n[n.length-1]],n.push(It);break;case 3:return!0}}return!0},"parse")},Qt=(function(){var U={EOF:1,parseError:S(function(u,n){if(this.yy.parser)this.yy.parser.parseError(u,n);else throw new Error(u)},"parseError"),setInput:S(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var u=l.length,n=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===g.length?this.yylloc.first_column:0)+g[g.length-n.length].length-n[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/chunk-JWPE2WC7-DrQCOfW2.js b/amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js similarity index 78% rename from amplifier_web/static/assets/chunk-JWPE2WC7-DrQCOfW2.js rename to amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js index f75480e95..72a352f84 100644 --- a/amplifier_web/static/assets/chunk-JWPE2WC7-DrQCOfW2.js +++ b/amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js @@ -1 +1 @@ -import{_ as l}from"./mermaid.core-Db1rVExV.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; +import{_ as l}from"./mermaid.core-DCzavt_d.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; diff --git a/amplifier_web/static/assets/chunk-POPQ4Y6H-D4TU3m_X.js b/amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js similarity index 87% rename from amplifier_web/static/assets/chunk-POPQ4Y6H-D4TU3m_X.js rename to amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js index 2854ac043..2196c06e9 100644 --- a/amplifier_web/static/assets/chunk-POPQ4Y6H-D4TU3m_X.js +++ b/amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js @@ -1 +1 @@ -import{_ as a,d as w,l as x}from"./mermaid.core-Db1rVExV.js";var B=a((e,t,i,o)=>{e.attr("class",i);const{width:r,height:h,x:n,y:c}=u(e,t);w(e,h,r,o);const s=d(n,c,r,h,t);e.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${t}`)},"setupViewPortForSVG"),u=a((e,t)=>{var o;const i=((o=e.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),d=a((e,t,i,o,r)=>`${e-r} ${t-r} ${i} ${o}`,"createViewBox");export{B as s}; +import{_ as a,d as w,l as x}from"./mermaid.core-DCzavt_d.js";var B=a((e,t,i,o)=>{e.attr("class",i);const{width:r,height:h,x:n,y:c}=u(e,t);w(e,h,r,o);const s=d(n,c,r,h,t);e.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${t}`)},"setupViewPortForSVG"),u=a((e,t)=>{var o;const i=((o=e.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),d=a((e,t,i,o,r)=>`${e-r} ${t-r} ${i} ${o}`,"createViewBox");export{B as s}; diff --git a/amplifier_web/static/assets/chunk-SVP7TREG-XhllUbrG.js b/amplifier_web/static/assets/chunk-SVP7TREG-Dk8R8Cc6.js similarity index 99% rename from amplifier_web/static/assets/chunk-SVP7TREG-XhllUbrG.js rename to amplifier_web/static/assets/chunk-SVP7TREG-Dk8R8Cc6.js index 66ceaeafe..4cbc5d5ba 100644 --- a/amplifier_web/static/assets/chunk-SVP7TREG-XhllUbrG.js +++ b/amplifier_web/static/assets/chunk-SVP7TREG-Dk8R8Cc6.js @@ -1,4 +1,4 @@ -import{_ as p,l as k,D as H,y as B,p as q,E as G,d as U,i as j,c as K}from"./mermaid.core-Db1rVExV.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),J=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),Q=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` +import{_ as p,l as k,D as H,y as B,p as q,E as G,d as U,i as j,c as K}from"./mermaid.core-DCzavt_d.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),J=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),Q=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` `),k.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),ie=p(()=>O,"getAccDescription"),ne=Y,ae=P,oe={clear:J,setTitle:Y,getTitle:P,addRule:Q,getRules:Z,getRule:V,setAccTitle:ee,getAccTitle:te,setAccDescription:re,getAccDescription:ie,setDiagramTitle:ne,getDiagramTitle:ae},f={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},le=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,se=/^[\w "',.-]+$/,de=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),L=p(e=>e?Object.keys(e).every(i=>i==="railroad"||de.has(i)):!1,"isRailroadStyleOptions"),ce=p(e=>e?"railroad"in e&&e.railroad?e.railroad:L(e)?e:{}:{},"extractRailroadOverrides"),me=p(e=>{if(!e||L(e))return{};const{railroad:i,svgId:a,theme:n,look:t,...r}=e;return r},"extractThemeOverrides"),m=p((e,i)=>{if(typeof e!="string")return i;const a=e.trim();return le.test(a)?a:i},"sanitizeColorValue"),I=p((e,i)=>{if(typeof e!="string")return i;const a=e.trim();return se.test(a)?a:i},"sanitizeFontFamilyValue"),F=p((e,i)=>{const a=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(a)&&a>=0?a:i},"sanitizeNumberValue"),he=p(e=>{const i=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(i)&&i>0?i:void 0},"parseThemeFontSize"),pe=p(e=>{const i=I(e.fontFamily,f.fontFamily),a=he(e.fontSize)??f.fontSize;return{...f,fontFamily:i,fontSize:a,terminalFill:m(e.secondBkg??e.secondaryColor,f.terminalFill),terminalStroke:m(e.secondaryBorderColor??e.lineColor,f.terminalStroke),terminalTextColor:m(e.secondaryTextColor??e.textColor,f.terminalTextColor),nonTerminalFill:m(e.mainBkg??e.background,f.nonTerminalFill),nonTerminalStroke:m(e.primaryBorderColor??e.lineColor,f.nonTerminalStroke),nonTerminalTextColor:m(e.primaryTextColor??e.textColor,f.nonTerminalTextColor),lineColor:m(e.lineColor,f.lineColor),markerFill:m(e.lineColor,f.markerFill),commentFill:m(e.labelBackground??e.tertiaryColor,f.commentFill),commentStroke:m(e.tertiaryBorderColor??e.lineColor,f.commentStroke),commentTextColor:m(e.tertiaryTextColor??e.textColor,f.commentTextColor),specialFill:m(e.tertiaryColor??e.secondaryColor,f.specialFill),specialStroke:m(e.tertiaryBorderColor??e.secondaryBorderColor,f.specialStroke),ruleNameColor:m(e.titleColor??e.textColor,f.ruleNameColor)}},"buildThemeDefaults"),E=p(e=>{const i=B(),a={...G(),...i.themeVariables??{},...me(e)},n=pe(a),t={...i.railroad??{},...ce(e)};return{compactMode:t.compactMode??n.compactMode,padding:F(t.padding,n.padding),verticalSeparation:F(t.verticalSeparation,n.verticalSeparation),horizontalSeparation:F(t.horizontalSeparation,n.horizontalSeparation),arcRadius:F(t.arcRadius,n.arcRadius),fontSize:F(t.fontSize,n.fontSize),fontFamily:I(t.fontFamily,n.fontFamily),terminalFill:m(t.terminalFill,n.terminalFill),terminalStroke:m(t.terminalStroke,n.terminalStroke),terminalTextColor:m(t.terminalTextColor,n.terminalTextColor),nonTerminalFill:m(t.nonTerminalFill,n.nonTerminalFill),nonTerminalStroke:m(t.nonTerminalStroke,n.nonTerminalStroke),nonTerminalTextColor:m(t.nonTerminalTextColor,n.nonTerminalTextColor),lineColor:m(t.lineColor,n.lineColor),strokeWidth:F(t.strokeWidth,n.strokeWidth),markerFill:m(t.markerFill,n.markerFill),commentFill:m(t.commentFill,n.commentFill),commentStroke:m(t.commentStroke,n.commentStroke),commentTextColor:m(t.commentTextColor,n.commentTextColor),specialFill:m(t.specialFill,n.specialFill),specialStroke:m(t.specialStroke,n.specialStroke),ruleNameColor:m(t.ruleNameColor,n.ruleNameColor),showMarkers:t.showMarkers??n.showMarkers,markerRadius:F(t.markerRadius,n.markerRadius)}},"buildRailroadStyleOptions"),Te=p(e=>{const{fontFamily:i,fontSize:a,terminalFill:n,terminalStroke:t,terminalTextColor:r,nonTerminalFill:o,nonTerminalStroke:g,nonTerminalTextColor:l,lineColor:s,strokeWidth:h,markerFill:u,commentFill:c,commentStroke:w,commentTextColor:d,specialFill:T,specialStroke:z,ruleNameColor:S}=E(e);return` .railroad-diagram { font-family: ${i}; diff --git a/amplifier_web/static/assets/chunk-TICWLB2K-CTNsQHy0.js b/amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js similarity index 99% rename from amplifier_web/static/assets/chunk-TICWLB2K-CTNsQHy0.js rename to amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js index c1f652cbf..59a3c3edb 100644 --- a/amplifier_web/static/assets/chunk-TICWLB2K-CTNsQHy0.js +++ b/amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js @@ -1,4 +1,4 @@ -import{g as st}from"./chunk-5VM5RSS4-DRn7AX50.js";import{g as it}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as at}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as g,l as we,c as F,u as rt,v as nt,x as Ve,j as fe,b as ut,a as lt,s as ct,g as ot,n as ht,o as dt,k as I,p as pt,q as At,i as ft,O as z}from"./mermaid.core-Db1rVExV.js";import{f as gt}from"./chunk-F27PBJKO-nNeL4pO3.js";import{p as mt}from"./app-CI1rDkjG.js";var Pe=(function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],q=[1,114],H=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:q,87:H,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:q,87:H,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:q,87:H,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:q,87:H,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:q,87:H,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: +import{g as st}from"./chunk-5VM5RSS4-BvUIUVyo.js";import{g as it}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as at}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as g,l as we,c as F,u as rt,v as nt,x as Ve,j as fe,b as ut,a as lt,s as ct,g as ot,n as ht,o as dt,k as I,p as pt,q as At,i as ft,O as z}from"./mermaid.core-DCzavt_d.js";import{f as gt}from"./chunk-F27PBJKO-CeZTmtp_.js";import{p as mt}from"./app-DiRg4AEn.js";var Pe=(function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],q=[1,114],H=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:q,87:H,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:q,87:H,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:q,87:H,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:q,87:H,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:q,87:H,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: `+D.showPosition()+` Expecting `+Ae.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Oe="Parse error on line "+(de+1)+": Unexpected "+(_==We?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Oe,{text:D.match,token:this.terminals_[_]||_,line:D.yylineno,loc:ve,expected:Ae})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(L[0]){case 1:p.push(_),C.push(D.yytext),e.push(D.yylloc),p.push(L[1]),_=null,Ke=D.yyleng,t=D.yytext,de=D.yylineno,ve=D.yylloc;break;case 2:if(v=this.productions_[L[1]][1],U.$=C[C.length-v],U._$={first_line:e[e.length-(v||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(v||1)].first_column,last_column:e[e.length-1].last_column},et&&(U._$.range=[e[e.length-(v||1)].range[0],e[e.length-1].range[1]]),Ie=this.performAction.apply(U,[t,Ke,de,V.yy,L[1],C,e].concat($e)),typeof Ie<"u")return Ie;v&&(p=p.slice(0,-1*v*2),C=C.slice(0,-1*v),e=e.slice(0,-1*v)),p.push(this.productions_[L[1]][0]),C.push(U.$),e.push(U._$),je=ee[p[p.length-2]][p[p.length-1]],p.push(je);break;case 3:return!0}}return!0},"parse")},Je=(function(){var O={EOF:1,parseError:g(function(d,p){if(this.yy.parser)this.yy.parser.parseError(d,p);else throw new Error(d)},"parseError"),setInput:g(function(o,d){return this.yy=d||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:g(function(o){var d=o.length,p=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===l.length?this.yylloc.first_column:0)+l[l.length-p.length].length-p[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(o){this.unput(this.match.slice(o))},"less"),pastInput:g(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/chunk-XXDRQBXY-Np_UiiaV.js b/amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js similarity index 72% rename from amplifier_web/static/assets/chunk-XXDRQBXY-Np_UiiaV.js rename to amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js index 42a2efcb6..7d9429100 100644 --- a/amplifier_web/static/assets/chunk-XXDRQBXY-Np_UiiaV.js +++ b/amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js @@ -1 +1 @@ -import{_ as a,j as o}from"./mermaid.core-Db1rVExV.js";var g=a((t,e)=>{let n;return e==="sandbox"&&(n=o("#i"+t)),(e==="sandbox"?o(n.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; +import{_ as a,j as o}from"./mermaid.core-DCzavt_d.js";var g=a((t,e)=>{let n;return e==="sandbox"&&(n=o("#i"+t)),(e==="sandbox"?o(n.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; diff --git a/amplifier_web/static/assets/classDiagram-ZZMXUADV-D-DEwEAs.js b/amplifier_web/static/assets/classDiagram-ZZMXUADV-D-DEwEAs.js deleted file mode 100644 index 9f2ad0b73..000000000 --- a/amplifier_web/static/assets/classDiagram-ZZMXUADV-D-DEwEAs.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CTNsQHy0.js";import{_ as i}from"./mermaid.core-Db1rVExV.js";import"./chunk-5VM5RSS4-DRn7AX50.js";import"./chunk-XXDRQBXY-Np_UiiaV.js";import"./chunk-POPQ4Y6H-D4TU3m_X.js";import"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram}; diff --git a/amplifier_web/static/assets/classDiagram-ZZMXUADV-DMRSfdSH.js b/amplifier_web/static/assets/classDiagram-ZZMXUADV-DMRSfdSH.js new file mode 100644 index 000000000..053ec34a2 --- /dev/null +++ b/amplifier_web/static/assets/classDiagram-ZZMXUADV-DMRSfdSH.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CPGc4f7a.js";import{_ as i}from"./mermaid.core-DCzavt_d.js";import"./chunk-5VM5RSS4-BvUIUVyo.js";import"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram}; diff --git a/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-D-DEwEAs.js b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-D-DEwEAs.js deleted file mode 100644 index 9f2ad0b73..000000000 --- a/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-D-DEwEAs.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CTNsQHy0.js";import{_ as i}from"./mermaid.core-Db1rVExV.js";import"./chunk-5VM5RSS4-DRn7AX50.js";import"./chunk-XXDRQBXY-Np_UiiaV.js";import"./chunk-POPQ4Y6H-D4TU3m_X.js";import"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram}; diff --git a/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-DMRSfdSH.js b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-DMRSfdSH.js new file mode 100644 index 000000000..053ec34a2 --- /dev/null +++ b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-DMRSfdSH.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CPGc4f7a.js";import{_ as i}from"./mermaid.core-DCzavt_d.js";import"./chunk-5VM5RSS4-BvUIUVyo.js";import"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram}; diff --git a/amplifier_web/static/assets/cose-bilkent-JH36ORCC-uMnsdoF-.js b/amplifier_web/static/assets/cose-bilkent-JH36ORCC-DZZeoui0.js similarity index 99% rename from amplifier_web/static/assets/cose-bilkent-JH36ORCC-uMnsdoF-.js rename to amplifier_web/static/assets/cose-bilkent-JH36ORCC-DZZeoui0.js index d36de7b7e..5b647bee8 100644 --- a/amplifier_web/static/assets/cose-bilkent-JH36ORCC-uMnsdoF-.js +++ b/amplifier_web/static/assets/cose-bilkent-JH36ORCC-DZZeoui0.js @@ -1 +1 @@ -import{_ as V,l as k,j as lt}from"./mermaid.core-Db1rVExV.js";import{c as tt}from"./cytoscape.esm-Ix0LnXOy.js";import{g as gt}from"./client-BPXDbY79.js";import"./app-CI1rDkjG.js";var Z={exports:{}},$={exports:{}},Q={exports:{}},ut=Q.exports,q;function ft(){return q||(q=1,(function(G,b){(function(I,T){G.exports=T()})(ut,function(){return(function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)})([(function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o}),(function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i}),(function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o}),(function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n}),(function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o}),(function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h}),(function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,R=!0):(l[0]=p,l[1]=a,R=!0):S===w&&(g>d?(l[0]=h,l[1]=a,R=!0):(l[0]=u,l[1]=D,R=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),R&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!R)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-C/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+C/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o}),(function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o}),(function(N,I,T){var o=(function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e}),(function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(C,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(R){if(v.indexOf(R)<0){var M=D.get(R),S=M-1;S==1&&f.push(R),D.set(R,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h}),(function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o}),(function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e}),(function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l})();N.exports=i}),(function(N,I,T){var o=(function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var R;for(R=0;RL&&(L=Math.floor(C.y)),m=Math.floor(C.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-C.x/2,r.WORLD_CENTER_Y-C.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var C=0;C1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[R]=[]),f[R]=f[R].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(R,M){return R.rect.width*R.rect.height>M.rect.width*M.rect.height?-1:R.rect.width*R.rect.height0&&(C+=s.horizontalPadding),s.rowWidth[c]=C,s.width0&&(R+=s.verticalPadding);var M=0;R>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=R,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var C;s.width-A>=f+s.horizontalPadding?C=(s.height+m)/(A+f+s.horizontalPadding):C=(s.height+m)/s.width,m=c+s.verticalPadding;var R;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var C=Number.MIN_VALUE,R=0;RC&&(C=L[R].height);f>0&&(C+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=C,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][C-1].length+this.grid[F][C].length-1;if(m0)for(var F=C;F<=R;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var R;R=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(R,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v})])})})(Z)),Z.exports}var yt=vt();const Et=gt(yt);tt.use(Et);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=lt("body").append("div").attr("id","cy").attr("style","display:none"),I=tt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var Lt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Ot=Lt;export{Ot as render}; +import{_ as V,l as k,j as lt}from"./mermaid.core-DCzavt_d.js";import{c as tt}from"./cytoscape.esm-Ix0LnXOy.js";import{g as gt}from"./client-BPXDbY79.js";import"./app-DiRg4AEn.js";var Z={exports:{}},$={exports:{}},Q={exports:{}},ut=Q.exports,q;function ft(){return q||(q=1,(function(G,b){(function(I,T){G.exports=T()})(ut,function(){return(function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)})([(function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o}),(function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i}),(function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o}),(function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n}),(function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o}),(function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h}),(function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,R=!0):(l[0]=p,l[1]=a,R=!0):S===w&&(g>d?(l[0]=h,l[1]=a,R=!0):(l[0]=u,l[1]=D,R=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),R&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!R)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-C/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+C/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o}),(function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o}),(function(N,I,T){var o=(function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e}),(function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(C,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(R){if(v.indexOf(R)<0){var M=D.get(R),S=M-1;S==1&&f.push(R),D.set(R,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h}),(function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o}),(function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e}),(function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l})();N.exports=i}),(function(N,I,T){var o=(function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var R;for(R=0;RL&&(L=Math.floor(C.y)),m=Math.floor(C.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-C.x/2,r.WORLD_CENTER_Y-C.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var C=0;C1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[R]=[]),f[R]=f[R].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(R,M){return R.rect.width*R.rect.height>M.rect.width*M.rect.height?-1:R.rect.width*R.rect.height0&&(C+=s.horizontalPadding),s.rowWidth[c]=C,s.width0&&(R+=s.verticalPadding);var M=0;R>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=R,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var C;s.width-A>=f+s.horizontalPadding?C=(s.height+m)/(A+f+s.horizontalPadding):C=(s.height+m)/s.width,m=c+s.verticalPadding;var R;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var C=Number.MIN_VALUE,R=0;RC&&(C=L[R].height);f>0&&(C+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=C,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][C-1].length+this.grid[F][C].length-1;if(m0)for(var F=C;F<=R;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var R;R=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(R,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v})])})})(Z)),Z.exports}var yt=vt();const Et=gt(yt);tt.use(Et);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=lt("body").append("div").attr("id","cy").attr("style","display:none"),I=tt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var Lt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Ot=Lt;export{Ot as render}; diff --git a/amplifier_web/static/assets/cynefin-OW5HDTMX-BLW9r9wv.js b/amplifier_web/static/assets/cynefin-OW5HDTMX-D2urArke.js similarity index 99% rename from amplifier_web/static/assets/cynefin-OW5HDTMX-BLW9r9wv.js rename to amplifier_web/static/assets/cynefin-OW5HDTMX-D2urArke.js index b861c16d8..46174f828 100644 --- a/amplifier_web/static/assets/cynefin-OW5HDTMX-BLW9r9wv.js +++ b/amplifier_web/static/assets/cynefin-OW5HDTMX-D2urArke.js @@ -1,4 +1,4 @@ -var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"./app-CI1rDkjG.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})(Ac||(Ac={})),(function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i})(Rp||(Rp={})),(function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i})(Kl||(Kl={})),(function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o})(oe||(oe={})),(function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o})(te||(te={})),(function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o})(Wl||(Wl={})),(function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o})(Ap||(Ap={})),(function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o})(Ec||(Ec={})),(function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o})(Ep||(Ep={})),(function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o})(Cp||(Cp={})),(function(a){a.Comment="comment",a.Imports="imports",a.Region="region"})(bp||(bp={})),(function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o})(_p||(_p={})),(function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o})(Cc||(Cc={})),(function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4})(Sp||(Sp={})),(function(a){a.Unnecessary=1,a.Deprecated=2})(wp||(wp={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i})(Ip||(Ip={})),(function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o})(Vl||(Vl={})),(function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o})(pn||(pn={})),(function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l})(ar||(ar={})),(function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o})(mn||(mn={})),(function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i})(et||(et={})),(function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l})(Ar||(Ar={})),(function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o})(ql||(ql={})),(function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(_a||(_a={})),(function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(Sa||(Sa={})),(function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(wa||(wa={})),(function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i})(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),(function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o})(Np||(Np={})),(function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o})(Pp||(Pp={})),(function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o})(Hl||(Hl={})),(function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o})(kp||(kp={})),(function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i})(_c||(_c={})),(function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i})(Ia||(Ia={})),(function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25})(Op||(Op={})),(function(a){a.PlainText=1,a.Snippet=2})(Lp||(Lp={})),(function(a){a.Deprecated=1})(Dp||(Dp={})),(function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o})(Mp||(Mp={})),(function(a){a.asIs=1,a.adjustIndentation=2})(xp||(xp={})),(function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i})(Gp||(Gp={})),(function(a){function i(o){return{label:o}}s(i,"create"),a.create=i})(Fp||(Fp={})),(function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i})(zp||(zp={})),(function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o})(Yl||(Yl={})),(function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i})(jp||(jp={})),(function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i})(Bp||(Bp={})),(function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i})(Up||(Up={})),(function(a){a.Text=1,a.Read=2,a.Write=3})(Kp||(Kp={})),(function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i})(Wp||(Wp={})),(function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26})(Vp||(Vp={})),(function(a){a.Deprecated=1})(qp||(qp={})),(function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i})(Hp||(Hp={})),(function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i})(Yp||(Yp={})),(function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o})(Xp||(Xp={})),(function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"})(Jp||(Jp={})),(function(a){a.Invoked=1,a.Automatic=2})(Xl||(Xl={})),(function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o})(Zp||(Zp={})),(function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o})(Qp||(Qp={})),(function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o})(em||(em={})),(function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o})(tm||(tm={})),(function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o})(rm||(rm={})),(function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o})(nm||(nm={})),(function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"})(am||(am={})),(function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"})(im||(im={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i})(sm||(sm={})),(function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o})(om||(om={})),(function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o})(lm||(lm={})),(function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o})(um||(um={})),(function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o})(cm||(cm={})),(function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i})(Sc||(Sc={})),(function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o})(wc||(wc={})),(function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o})(fm||(fm={})),(function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i})(dm||(dm={})),(function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i})(pm||(pm={})),(function(a){function i(o){return{items:o}}s(i,"create"),a.create=i})(mm||(mm={})),(function(a){a.Invoked=0,a.Automatic=1})(hm||(hm={})),(function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i})(ym||(ym={})),(function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i})(gm||(gm={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i})(vm||(vm={})),x$=[` +var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"./app-DiRg4AEn.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})(Ac||(Ac={})),(function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i})(Rp||(Rp={})),(function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i})(Kl||(Kl={})),(function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o})(oe||(oe={})),(function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o})(te||(te={})),(function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o})(Wl||(Wl={})),(function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o})(Ap||(Ap={})),(function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o})(Ec||(Ec={})),(function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o})(Ep||(Ep={})),(function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o})(Cp||(Cp={})),(function(a){a.Comment="comment",a.Imports="imports",a.Region="region"})(bp||(bp={})),(function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o})(_p||(_p={})),(function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o})(Cc||(Cc={})),(function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4})(Sp||(Sp={})),(function(a){a.Unnecessary=1,a.Deprecated=2})(wp||(wp={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i})(Ip||(Ip={})),(function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o})(Vl||(Vl={})),(function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o})(pn||(pn={})),(function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l})(ar||(ar={})),(function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o})(mn||(mn={})),(function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i})(et||(et={})),(function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l})(Ar||(Ar={})),(function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o})(ql||(ql={})),(function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(_a||(_a={})),(function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(Sa||(Sa={})),(function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o})(wa||(wa={})),(function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i})(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),(function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o})(Np||(Np={})),(function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o})(Pp||(Pp={})),(function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o})(Hl||(Hl={})),(function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o})(kp||(kp={})),(function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i})(_c||(_c={})),(function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i})(Ia||(Ia={})),(function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25})(Op||(Op={})),(function(a){a.PlainText=1,a.Snippet=2})(Lp||(Lp={})),(function(a){a.Deprecated=1})(Dp||(Dp={})),(function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o})(Mp||(Mp={})),(function(a){a.asIs=1,a.adjustIndentation=2})(xp||(xp={})),(function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i})(Gp||(Gp={})),(function(a){function i(o){return{label:o}}s(i,"create"),a.create=i})(Fp||(Fp={})),(function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i})(zp||(zp={})),(function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o})(Yl||(Yl={})),(function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i})(jp||(jp={})),(function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i})(Bp||(Bp={})),(function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i})(Up||(Up={})),(function(a){a.Text=1,a.Read=2,a.Write=3})(Kp||(Kp={})),(function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i})(Wp||(Wp={})),(function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26})(Vp||(Vp={})),(function(a){a.Deprecated=1})(qp||(qp={})),(function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i})(Hp||(Hp={})),(function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i})(Yp||(Yp={})),(function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o})(Xp||(Xp={})),(function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"})(Jp||(Jp={})),(function(a){a.Invoked=1,a.Automatic=2})(Xl||(Xl={})),(function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o})(Zp||(Zp={})),(function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o})(Qp||(Qp={})),(function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o})(em||(em={})),(function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o})(tm||(tm={})),(function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o})(rm||(rm={})),(function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o})(nm||(nm={})),(function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"})(am||(am={})),(function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"})(im||(im={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i})(sm||(sm={})),(function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o})(om||(om={})),(function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o})(lm||(lm={})),(function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o})(um||(um={})),(function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o})(cm||(cm={})),(function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i})(Sc||(Sc={})),(function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o})(wc||(wc={})),(function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o})(fm||(fm={})),(function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i})(dm||(dm={})),(function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i})(pm||(pm={})),(function(a){function i(o){return{items:o}}s(i,"create"),a.create=i})(mm||(mm={})),(function(a){a.Invoked=0,a.Automatic=1})(hm||(hm={})),(function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i})(ym||(ym={})),(function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i})(gm||(gm={})),(function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i})(vm||(vm={})),x$=[` `,`\r `,"\r"],(function(a){function i(c,f,d,p){return new iv(c,f,d,p)}s(i,"create"),a.create=i;function o(c){let f=c;return!!(C.defined(f)&&C.string(f.uri)&&(C.undefined(f.languageId)||C.string(f.languageId))&&C.uinteger(f.lineCount)&&C.func(f.getText)&&C.func(f.positionAt)&&C.func(f.offsetAt))}s(o,"is"),a.is=o;function u(c,f){let d=c.getText(),p=l(f,(y,v)=>{let E=y.range.start.line-v.range.start.line;return E===0?y.range.start.character-v.range.start.character:E}),h=d.length;for(let y=p.length-1;y>=0;y--){let v=p[y],E=c.offsetAt(v.range.start),T=c.offsetAt(v.range.end);if(T<=h)d=d.substring(0,E)+v.newText+d.substring(T,d.length);else throw new Error("Overlapping edit");h=E}return d}s(u,"applyEdits"),a.applyEdits=u;function l(c,f){if(c.length<=1)return c;const d=c.length/2|0,p=c.slice(0,d),h=c.slice(d);l(p,f),l(h,f);let y=0,v=0,E=0;for(;y({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(O.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>U({...Tt.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{At(),H=rt()},"clear"),Y={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},It=s(t=>{xt(t,Y),Y.setDomains(t.domains),Y.setTransitions(t.transitions)},"populate"),Wt={parse:s(async t=>{const e=await Bt("cynefin",t);O.debug(e),It(e)},"parse")};function V(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(V,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),_t=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,Et=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=_t();O.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,_=i+b*2,E=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,E,_,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${_} ${E}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const A=k.append("g").attr("transform",`translate(${b}, ${b})`),F=Rt(i,f),Z=it(o.seed,e),mt=A.append("g").attr("class","cynefin-backgrounds"),X=["complex","complicated","chaotic","clear"];for(const l of X){const r=F[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=A.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;A.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=A.append("g").attr("class","cynefin-labels");for(const l of X){const r=F[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=A.append("g").attr("class","cynefin-subtitles");for(const r of X){const u=F[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=A.append("g").attr("class","cynefin-items"),T=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=F[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(T+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,I=u.cx-C/2;M.attr("transform",`translate(${I}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",T/2)}),N>0){const g=B+L.length*(T+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const I=$.getBBox();I.width>0&&(P=I.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",T/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=A.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=F[y.from],N=F[y.to];if(!L||!N)return;if(y.from===y.to){O.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),I=C*.15,G=-x/C,ht=$/C,et=M+G*I,nt=P+ht*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&A.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),Ft={draw:Et},Vt=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Vt();return` +import{p as xt}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{s as gt,g as $t,o as bt,n as wt,a as Ct,b as vt,_ as s,l as O,D as Dt,d as kt,p as At,A as U,y as Q,B as Tt,E as ot}from"./mermaid.core-DCzavt_d.js";import{p as Bt}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var rt=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(O.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>U({...Tt.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{At(),H=rt()},"clear"),Y={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},It=s(t=>{xt(t,Y),Y.setDomains(t.domains),Y.setTransitions(t.transitions)},"populate"),Wt={parse:s(async t=>{const e=await Bt("cynefin",t);O.debug(e),It(e)},"parse")};function V(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(V,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),_t=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,Et=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=_t();O.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,_=i+b*2,E=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,E,_,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${_} ${E}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const A=k.append("g").attr("transform",`translate(${b}, ${b})`),F=Rt(i,f),Z=it(o.seed,e),mt=A.append("g").attr("class","cynefin-backgrounds"),X=["complex","complicated","chaotic","clear"];for(const l of X){const r=F[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=A.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;A.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=A.append("g").attr("class","cynefin-labels");for(const l of X){const r=F[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=A.append("g").attr("class","cynefin-subtitles");for(const r of X){const u=F[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=A.append("g").attr("class","cynefin-items"),T=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=F[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(T+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,I=u.cx-C/2;M.attr("transform",`translate(${I}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",T/2)}),N>0){const g=B+L.length*(T+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const I=$.getBBox();I.width>0&&(P=I.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",T/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=A.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=F[y.from],N=F[y.to];if(!L||!N)return;if(y.from===y.to){O.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),I=C*.15,G=-x/C,ht=$/C,et=M+G*I,nt=P+ht*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&A.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),Ft={draw:Et},Vt=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Vt();return` .cynefinDomain { stroke: none; } diff --git a/amplifier_web/static/assets/dagre-GXQ25YYZ-KzOZEMD1.js b/amplifier_web/static/assets/dagre-GXQ25YYZ-Do0UHSPN.js similarity index 98% rename from amplifier_web/static/assets/dagre-GXQ25YYZ-KzOZEMD1.js rename to amplifier_web/static/assets/dagre-GXQ25YYZ-Do0UHSPN.js index 4a55b4b5f..a9d0ba98a 100644 --- a/amplifier_web/static/assets/dagre-GXQ25YYZ-KzOZEMD1.js +++ b/amplifier_web/static/assets/dagre-GXQ25YYZ-Do0UHSPN.js @@ -1,4 +1,4 @@ -import{_ as m,an as D,c as A,P as Y,l as p,ao as _,ap as z,aq as b,ar as H,as as J,at as T,au as R,av as F,aw as q,ax as C,ag as P,ae as W,ay as j,az as U}from"./mermaid.core-Db1rVExV.js";import{l as K}from"./layout-DVk1QBeS.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var v=m((t,e,d)=>Math.max(e,Math.min(d,t)),"clamp"),B=m((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),Q=m(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),V=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Z=m((t,e,d,g,s)=>{const h=[],L=new Set;if(d.forEach(({start:l,end:r})=>{l!==g&&L.add(l),r!==g&&L.add(r)}),L.forEach(l=>{const r=t.node(l);typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)}),h.length===0&&d.forEach(({edge:l})=>{(l.points??[]).forEach(r=>{typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)})}),h.length===0)return B(s);const c=h.reduce((l,r)=>({x:l.x+r.x/h.length,y:l.y+r.y/h.length}),{x:0,y:0}),i=c.x-e.x,o=c.y-e.y;return Math.abs(i)>Math.abs(o)?i>0?"right":"left":Math.abs(o)>0?o>0?"bottom":"top":B(s)},"getSelfLoopSide"),$=m((t,e="top",d=0,g=0)=>{const s=t.x,h=t.y-d,L=t.width/2,c=t.height/2,i=Math.max(36,Math.min(100,t.width*.8)),o=v(Math.max(g,t.width*.35),36,i),l=v(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const r=h+c;return[{x:s-o/2,y:r},{x:s-o/2,y:r+l},{x:s+o/2,y:r+l},{x:s+o/2,y:r}]}case"right":{const r=s+L;return[{x:r,y:h-o/2},{x:r+l,y:h-o/2},{x:r+l,y:h+o/2},{x:r,y:h+o/2}]}case"left":{const r=s-L;return[{x:r,y:h-o/2},{x:r-l,y:h-o/2},{x:r-l,y:h+o/2},{x:r,y:h+o/2}]}case"top":default:{const r=h-c;return[{x:s-o/2,y:r},{x:s-o/2,y:r-l},{x:s+o/2,y:r-l},{x:s+o/2,y:r}]}}},"getSelfLoopPoints"),ee=m((t,e,d="top",g=0,s={})=>{const L=t.x,c=t.y-g,i=s.width??0,o=s.height??0;switch(d){case"bottom":return{x:L,y:Math.max(...e.map(l=>l.y))+o/2+4};case"right":return{x:Math.max(...e.map(l=>l.x))+i/2+4,y:c};case"left":return{x:Math.min(...e.map(l=>l.x))-i/2-4,y:c};case"top":default:return{x:L,y:Math.min(...e.map(l=>l.y))-o/2-4}}},"getSelfLoopLabelPosition"),M=m((t,e=0,{mergeSelfLoops:d=!0}={})=>{var L;const g=new Map,s=[],h=(L=t.graph())==null?void 0:L.rankdir;return t.edges().forEach(c=>{const i=t.edge(c);if(d&&i.selfLoop){const o=i.selfLoop.id;g.has(o)||g.set(o,[]),g.get(o).push({edge:i,start:c.v,end:c.w})}else s.push({edge:i,start:c.v,end:c.w})}),g.forEach(c=>{if(c.length!==3){c.forEach(E=>s.push(E));return}c.sort((E,x)=>E.edge.selfLoop.order-x.edge.selfLoop.order);const[i,o,l]=c,r=i.edge.originalEdge??o.edge.originalEdge??l.edge.originalEdge??o.edge,a=t.node(r.start);if(!a){c.forEach(E=>s.push(E));return}const w={width:o.edge.width,height:o.edge.height},y=Z(t,a,c,r.start,h),f=$(a,y,e,w.width??0),n=ee(a,f,y,e,w),u={...o.edge,...r,id:r.id,points:f,start:r.start,end:r.end,x:n.x,y:n.y,width:w.width,height:w.height,labelStyle:o.edge.labelStyle,fromCluster:i.edge.fromCluster??o.edge.fromCluster??l.edge.fromCluster,toCluster:i.edge.toCluster??o.edge.toCluster??l.edge.toCluster};delete u.selfLoop,delete u.originalEdge,s.push({edge:u,start:u.start,end:u.end})}),s},"getEdgesToRender"),G=m(async({element:t,graph:e,diagramType:d,id:g,parentCluster:s,siteConfig:h})=>{const L=e.graph().rankdir;p.trace("Dir in recursive render - dir:",L);const{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r}=H(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const a=Q(d);await Promise.all(e.nodes().map(async function(f){const n=e.node(f);if(s!==void 0){const u=JSON.parse(JSON.stringify(s.clusterData));p.trace(`Setting data for parent cluster XXX +import{_ as m,an as D,c as A,P as Y,l as p,ao as _,ap as z,aq as b,ar as H,as as J,at as T,au as R,av as F,aw as q,ax as C,ag as P,ae as W,ay as j,az as U}from"./mermaid.core-DCzavt_d.js";import{l as K}from"./layout-C8YZk5aC.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var v=m((t,e,d)=>Math.max(e,Math.min(d,t)),"clamp"),B=m((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),Q=m(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),V=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Z=m((t,e,d,g,s)=>{const h=[],L=new Set;if(d.forEach(({start:l,end:r})=>{l!==g&&L.add(l),r!==g&&L.add(r)}),L.forEach(l=>{const r=t.node(l);typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)}),h.length===0&&d.forEach(({edge:l})=>{(l.points??[]).forEach(r=>{typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)})}),h.length===0)return B(s);const c=h.reduce((l,r)=>({x:l.x+r.x/h.length,y:l.y+r.y/h.length}),{x:0,y:0}),i=c.x-e.x,o=c.y-e.y;return Math.abs(i)>Math.abs(o)?i>0?"right":"left":Math.abs(o)>0?o>0?"bottom":"top":B(s)},"getSelfLoopSide"),$=m((t,e="top",d=0,g=0)=>{const s=t.x,h=t.y-d,L=t.width/2,c=t.height/2,i=Math.max(36,Math.min(100,t.width*.8)),o=v(Math.max(g,t.width*.35),36,i),l=v(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const r=h+c;return[{x:s-o/2,y:r},{x:s-o/2,y:r+l},{x:s+o/2,y:r+l},{x:s+o/2,y:r}]}case"right":{const r=s+L;return[{x:r,y:h-o/2},{x:r+l,y:h-o/2},{x:r+l,y:h+o/2},{x:r,y:h+o/2}]}case"left":{const r=s-L;return[{x:r,y:h-o/2},{x:r-l,y:h-o/2},{x:r-l,y:h+o/2},{x:r,y:h+o/2}]}case"top":default:{const r=h-c;return[{x:s-o/2,y:r},{x:s-o/2,y:r-l},{x:s+o/2,y:r-l},{x:s+o/2,y:r}]}}},"getSelfLoopPoints"),ee=m((t,e,d="top",g=0,s={})=>{const L=t.x,c=t.y-g,i=s.width??0,o=s.height??0;switch(d){case"bottom":return{x:L,y:Math.max(...e.map(l=>l.y))+o/2+4};case"right":return{x:Math.max(...e.map(l=>l.x))+i/2+4,y:c};case"left":return{x:Math.min(...e.map(l=>l.x))-i/2-4,y:c};case"top":default:return{x:L,y:Math.min(...e.map(l=>l.y))-o/2-4}}},"getSelfLoopLabelPosition"),M=m((t,e=0,{mergeSelfLoops:d=!0}={})=>{var L;const g=new Map,s=[],h=(L=t.graph())==null?void 0:L.rankdir;return t.edges().forEach(c=>{const i=t.edge(c);if(d&&i.selfLoop){const o=i.selfLoop.id;g.has(o)||g.set(o,[]),g.get(o).push({edge:i,start:c.v,end:c.w})}else s.push({edge:i,start:c.v,end:c.w})}),g.forEach(c=>{if(c.length!==3){c.forEach(E=>s.push(E));return}c.sort((E,x)=>E.edge.selfLoop.order-x.edge.selfLoop.order);const[i,o,l]=c,r=i.edge.originalEdge??o.edge.originalEdge??l.edge.originalEdge??o.edge,a=t.node(r.start);if(!a){c.forEach(E=>s.push(E));return}const w={width:o.edge.width,height:o.edge.height},y=Z(t,a,c,r.start,h),f=$(a,y,e,w.width??0),n=ee(a,f,y,e,w),u={...o.edge,...r,id:r.id,points:f,start:r.start,end:r.end,x:n.x,y:n.y,width:w.width,height:w.height,labelStyle:o.edge.labelStyle,fromCluster:i.edge.fromCluster??o.edge.fromCluster??l.edge.fromCluster,toCluster:i.edge.toCluster??o.edge.toCluster??l.edge.toCluster};delete u.selfLoop,delete u.originalEdge,s.push({edge:u,start:u.start,end:u.end})}),s},"getEdgesToRender"),G=m(async({element:t,graph:e,diagramType:d,id:g,parentCluster:s,siteConfig:h})=>{const L=e.graph().rankdir;p.trace("Dir in recursive render - dir:",L);const{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r}=H(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const a=Q(d);await Promise.all(e.nodes().map(async function(f){const n=e.node(f);if(s!==void 0){const u=JSON.parse(JSON.stringify(s.clusterData));p.trace(`Setting data for parent cluster XXX Node.id = `,f,` data=`,u.height,` Parent cluster`,s.height),e.setNode(s.id,u),e.parent(f)||(p.trace("Setting parent",f,s.id),e.setParent(f,s.id,u))}if(p.info("(Insert) Node XXX"+f+": "+JSON.stringify(e.node(f))),n!=null&&n.clusterNode){p.info("Cluster identified XBX",f,n.width,e.node(f));const{ranksep:u,nodesep:E}=e.graph();n.graph.setGraph({...n.graph.graph(),ranksep:u+25,nodesep:E});const x=await ne({element:l,graph:n.graph,diagramType:d,id:g,parentCluster:e.node(f),siteConfig:h}),S=x.elem;J(n,S),n.diff=x.diff||0,p.info("New compound node after recursive render XAX",f,"width",n.width,"height",n.height),T(S,n)}else e.children(f).length>0?(p.trace("Cluster - the non recursive path XBX",f,n.id,n,n.width,"Graph:",e),p.trace(R(n.id,e)),b.set(n.id,{id:R(n.id,e),node:n})):(p.trace("Node - the non recursive path XAX",f,l,e.node(f),L),await F(l,e.node(f),{config:h,dir:L}))})),await m(async()=>{const f=e.edges().map(async function(n){var E,x,S,X;const u=e.edge(n.v,n.w,n.name);if(p.info("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),p.info("Edge "+n.v+" -> "+n.w+": ",n," ",JSON.stringify(e.edge(n))),p.info("Fix",b,"ids:",n.v,n.w,"Translating: ",b.get(n.v),b.get(n.w)),a&&u.selfLoop){if(u.selfLoop.order!==1)return;const N={...u.originalEdge,...u,id:u.selfLoop.id,startLabelLeft:((E=u.originalEdge)==null?void 0:E.startLabelLeft)??u.startLabelLeft,startLabelRight:((x=u.originalEdge)==null?void 0:x.startLabelRight)??u.startLabelRight,endLabelLeft:((S=u.originalEdge)==null?void 0:S.endLabelLeft)??u.endLabelLeft,endLabelRight:((X=u.originalEdge)==null?void 0:X.endLabelRight)??u.endLabelRight};await C(o,N),u.width=N.width,u.height=N.height,u.labelStyle=N.labelStyle;return}await C(o,u)});await Promise.all(f)},"processEdges")();const{subGraphTitleTotalMargin:y}=q(h);return{elem:r,graph:e,groups:{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r},diagramType:d,id:g,mergeSelfLoops:a,subGraphTitleTotalMargin:y}},"measureDagreGraph"),k=m(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),K(t)},"runDagreGraphLayout"),te=m((t,e,d)=>{const g=t.node(e);if(!g)return;const s={...g};return g!=null&&g.clusterNode?s.y=(g.y??0)+d:t.children(e).length>0?s.height=(g.height??0)+d:s.y=(g.y??0)+d/2,s},"normalizeDagreNode"),I=m((t,e)=>{V.forEach(d=>{e[d]!==void 0&&(t[d]=e[d])})},"applyDagreNodeLayout"),re=m((t,e,d,g)=>({...t,start:t.start??e,end:t.end??d,points:(t.points??[]).map(s=>({...s,y:typeof s.y=="number"?s.y+g:s.y}))}),"normalizeDagreEdge"),ae=m((t,e)=>{const{graph:d,mergeSelfLoops:g,subGraphTitleTotalMargin:s=0}=e,h=new Map(t.nodes.map(c=>[c.id,c]));D(d).forEach(c=>{const i=te(d,c,s);if(!i)return;I(d.node(c),i);const o=h.get(c);o&&I(o,i)});const L=s/2;return t.edges=M(d,L,{mergeSelfLoops:g}).map(({edge:c,start:i,end:o})=>re(c,i,o,L)),t},"applyDagreLayoutResult"),oe=m(async({elem:t,graph:e,groups:{clusters:d,edgePaths:g},diagramType:s,id:h,mergeSelfLoops:L,subGraphTitleTotalMargin:c})=>{let i=0;await Promise.all(D(e).map(async function(r){var w;const a=e.node(r);if(p.info("Position XBX => "+r+": ("+a.x,","+a.y,") width: ",a.width," height: ",a.height),a!=null&&a.clusterNode)a.y+=c,p.info("A tainted cluster node XBX1",r,a.id,a.width,a.height,a.x,a.y,e.parent(r)),b.get(a.id).node=a,P(a);else if(e.children(r).length>0){p.info("A pure cluster node XBX1",r,a.id,a.x,a.y,a.width,a.height,e.parent(r)),a.height+=c,e.node(a.parentId);const y=(a==null?void 0:a.padding)/2||0,f=((w=a==null?void 0:a.labelBBox)==null?void 0:w.height)||0,n=f-y||0;p.debug("OffsetY",n,"labelHeight",f,"halfPadding",y),await W(d,a),b.get(a.id).node=a}else{const y=e.node(a.parentId);a.y+=c/2,p.info("A regular node XBX1 - using the padding",a.id,"parent",a.parentId,a.width,a.height,a.x,a.y,"offsetY",a.offsetY,"parent",y,y==null?void 0:y.offsetY,a),P(a)}}));const o=c/2;return M(e,o,{mergeSelfLoops:L}).forEach(function({edge:r,start:a,end:w}){p.info("Edge "+a+" -> "+w+": "+JSON.stringify(r),r),r.points.forEach(u=>u.y+=o);const y=e.node(a),f=e.node(w),n=j(g,r,b,s,y,f,h);U(r,n)}),e.nodes().forEach(function(r){const a=e.node(r);p.info(r,a.type,a.diff),a.isGroup&&(i=a.diff)}),p.warn("Returning from recursive render XAX",t,i),{elem:t,diff:i}},"paintDagreLayoutCore"),ne=m(async t=>{const e=await G(t);return k(e.graph),await oe(e)},"renderDagreSubgraph"),O=m(t=>{var d,g,s,h,L,c;const e=new Y({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:((d=t.config)==null?void 0:d.nodeSpacing)||t.nodeSpacing||((s=(g=t.config)==null?void 0:g.flowchart)==null?void 0:s.nodeSpacing),ranksep:((h=t.config)==null?void 0:h.rankSpacing)||t.rankSpacing||((c=(L=t.config)==null?void 0:L.flowchart)==null?void 0:c.rankSpacing),marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(i=>{e.setNode(i.id,{...i}),i.parentId&&e.setParent(i.id,i.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(i=>{if(i.start===i.end){const o=i.start,l=o+"---"+o+"---1",r=o+"---"+o+"---2",a=e.node(o);e.setNode(l,{domId:l,id:l,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(l,a.parentId),e.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(r,a.parentId);const w=structuredClone(i),y=structuredClone(i),f=structuredClone(i),n=structuredClone(i);y.originalEdge=w,y.selfLoop={id:w.id,order:0},f.originalEdge=w,f.selfLoop={id:w.id,order:1},n.originalEdge=w,n.selfLoop={id:w.id,order:2},y.label="",y.arrowTypeEnd="none",y.endLabelLeft="",y.endLabelRight="",y.startLabelLeft="",y.id=o+"-cyclic-special-1",f.startLabelRight="",f.startLabelLeft="",f.endLabelLeft="",f.endLabelRight="",f.arrowTypeStart="none",f.arrowTypeEnd="none",f.id=o+"-cyclic-special-mid",n.label="",n.startLabelRight="",n.startLabelLeft="",n.arrowTypeStart="none",a.isGroup&&(y.fromCluster=o,n.toCluster=o),n.id=o+"-cyclic-special-2",n.arrowTypeStart="none",e.setEdge(o,l,y,o+"-cyclic-special-0"),e.setEdge(l,r,f,o+"-cyclic-special-1"),e.setEdge(r,o,n,o+"-cyclic-special-2")}else e.setEdge(i.start,i.end,{...i},i.id)}),_(e),{graph:e}},"prepareLayoutForDagre"),se=m(async(t,{element:e,preparedLayout:d})=>{const g=d??O(t),s=A(),h=await G({element:e,graph:g.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:s});return g.measuredLayout=h,h},"measureDagreLayout"),ie=m((t,e)=>{var g;const d=(g=e.preparedLayout)==null?void 0:g.measuredLayout;if(!d)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return k(d.graph),ae(t,d),d},"runDagreLayoutCore"),de=m((t,{measure:e})=>D(e.graph).map(d=>e.graph.node(d)).filter(Boolean),"getDagrePaintNodes"),le=m((t,e,{measure:d})=>t?d.graph.node(t):void 0,"getDagreEdgeNode"),ue=z({prepareLayout:O,measureLayout:se,runLayoutCore:ie,paintOptions:{clusterDb:b,getNodes:de,getEdgeNode:le,skipNode:m((t,{measure:e})=>!e.graph.hasNode(t.id),"skipNode"),isCluster:m((t,{measure:e})=>e.graph.hasNode(t.id)&&(e.graph.children(t.id)??[]).length>0,"isCluster")}});export{ae as applyDagreLayoutResult,M as getEdgesToRender,se as measureDagreLayout,O as prepareLayoutForDagre,ue as render,ie as runDagreLayoutCore}; diff --git a/amplifier_web/static/assets/diagram-S7CK7UJ4-veo30afI.js b/amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js similarity index 96% rename from amplifier_web/static/assets/diagram-S7CK7UJ4-veo30afI.js rename to amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js index 7c5a5544d..1e3ecf31f 100644 --- a/amplifier_web/static/assets/diagram-S7CK7UJ4-veo30afI.js +++ b/amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js @@ -1,4 +1,4 @@ -import{I as X}from"./chunk-2Q5K7J3B-h1yMEKAe.js";import{p as z}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{n as O,b as G,s as Y,o as P,g as F,a as Z,_ as g,A,l as E,D as j,d as q,y as D,p as U,i as J,aj as K,B as Q,ak as ee}from"./mermaid.core-Db1rVExV.js";import{p as te}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var L=/[─━│┃└┗├┣]/,_=/[└┗├┣]/,re=/[─━]/,T=/^[\s│┃]+$/,V=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,$=/^\s*%%/,ne=" ";function S(r){return r.some(t=>L.test(t))}g(S,"isBoxDrawingFormat");function M(r){for(const t of r){const e=_.exec(t);if(e!=null&&e.index&&e.index>0)return e.index}return 4}g(M,"inferSegmentWidth");function R(r,t){return r.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{const s=parseInt(i,10),o=t.get(s);return o?`line ${o}`:e})}g(R,"remapErrorLines");function H(r){const t=r.split(` +import{I as X}from"./chunk-2Q5K7J3B-DutsbiAD.js";import{p as z}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{n as O,b as G,s as Y,o as P,g as F,a as Z,_ as g,A,l as E,D as j,d as q,y as D,p as U,i as J,aj as K,B as Q,ak as ee}from"./mermaid.core-DCzavt_d.js";import{p as te}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var L=/[─━│┃└┗├┣]/,_=/[└┗├┣]/,re=/[─━]/,T=/^[\s│┃]+$/,V=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,$=/^\s*%%/,ne=" ";function S(r){return r.some(t=>L.test(t))}g(S,"isBoxDrawingFormat");function M(r){for(const t of r){const e=_.exec(t);if(e!=null&&e.index&&e.index>0)return e.index}return 4}g(M,"inferSegmentWidth");function R(r,t){return r.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{const s=parseInt(i,10),o=t.get(s);return o?`line ${o}`:e})}g(R,"remapErrorLines");function H(r){const t=r.split(` `),e=new Map;let i=-1;for(const[d,l]of t.entries())if(l.trim()==="treeView-beta"){i=d;break}if(i===-1)return{text:r,lineMap:e};const s=[];for(let d=i+1;d({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),ie=g(()=>{x.reset(),U()},"clear"),oe=g(()=>x.records.stack[0],"getRoot"),se=g(()=>x.records.cnt,"getCount"),ae=Q.treeView,ce=g(()=>A(ae,D().treeView),"getConfig"),le=g((r,t,e,i,s,o)=>{for(;r<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const n={id:x.records.cnt++,level:r,name:t,nodeType:e,icon:s,cssClass:i,description:o,children:[]};x.records.stack[x.records.stack.length-1].children.push(n),x.records.stack.push(n)},"addNode"),de={clear:ie,addNode:le,getRoot:oe,getCount:se,getConfig:ce,getAccTitle:Z,getAccDescription:F,getDiagramTitle:P,setAccDescription:Y,setAccTitle:G,setDiagramTitle:O},I=de,he=g(r=>{z(r,I);for(const t of r.nodes){const e=typeof t.indent=="number"?t.indent:0;let i=t.name;const s=i.endsWith("/");s&&(i=i.slice(0,-1));const o=s?"directory":"file",n=t.classAnnotation||void 0,c=t.iconAnnotation,d=c!==void 0?c||"none":void 0,l=t.descAnnotation||void 0,u=l?J(l,D()):void 0;I.addNode(e,i,o,n,d,u)}},"populate"),pe={parse:g(async r=>{const{text:t,lineMap:e}=H(r);try{const i=await te("treeView",t);E.debug(i),he(i)}catch(i){throw e.size>0&&i instanceof Error&&(i.message=R(i.message,e)),i}},"parse")},C={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:''},file:{body:''}}};function W(r,t){var s;const e=(s=t==null?void 0:t.filenameIcons)==null?void 0:s[r];if(e)return e;const i=r.lastIndexOf(".");if(i>0){const o=r.substring(i).toLowerCase(),n=t==null?void 0:t.extensionIcons;return(n==null?void 0:n[o])??(n==null?void 0:n[o.slice(1)])}}g(W,"detectIcon");function y(r,t){return r.includes(":")?r:r in C.icons||!t?`${C.prefix}:${r}`:`${t}:${r}`}g(y,"qualifyIcon");function k(r,t){if(r.icon!=="none"){if(r.icon)return y(r.icon,t.defaultIconPack);if(t.showIcons){if(r.nodeType==="file"){const e=W(r.name,t);if(e==="none")return;if(e)return y(e,t.defaultIconPack)}return`${C.prefix}:${r.nodeType==="directory"?"folder":"file"}`}}}g(k,"getNodeIcon");ee([{name:C.prefix,icons:C}]);var B=14,ge=4,fe=16,ue=g(async(r,t)=>{const e=[],i=g(o=>{const n=k(o,t);n&&e.push({icon:n,node:o}),o.children.forEach(i)},"collect");i(r);const s=await Promise.all(e.map(async({icon:o,node:n})=>({id:n.id,svg:await K(o,{height:B,width:B})})));return new Map(s.map(({id:o,svg:n})=>[o,n]))},"resolveNodeIcons"),we=g((r,t,e,i,s,o)=>{var b;const n=i.append("g");let c="treeView-node-label";e.nodeType==="directory"&&(c+=" treeView-node-dir"),e.cssClass&&(c+=` ${e.cssClass}`);const d=B+ge,l=k(e,s),u=l!==void 0;l&&n.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${r+s.paddingX}, ${t+s.paddingY})`).html(o.get(e.id)??"");const a=n.append("text").text(e.name).attr("dominant-baseline","middle").attr("class",c),{height:p,width:h}=a.node().getBBox(),m=p+s.paddingY*2,w=r+s.paddingX+(u?d:0);a.attr("x",w),a.attr("y",t+m/2);const f=w+h,v=h+s.paddingX*2+(u?d:0);return e.BBox={x:r,y:t,width:v,height:m},(b=e.cssClass)!=null&&b.split(/\s+/).includes("highlight")&&n.insert("rect",":first-child").attr("x",r).attr("y",t+1).attr("width",0).attr("height",m-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:e,nodeGroup:n,labelRightEdge:f,centerY:t+m/2}},"positionLabel"),N=g((r,t,e,i,s,o)=>r.append("line").attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",s).attr("stroke-width",o).attr("class","treeView-node-line"),"positionLine"),me=g((r,t,e,i)=>{var u;let s=0,o=0;const n=[],c=g((a,p,h,m)=>{const w=m*(h.rowIndent+h.paddingX),f=we(w,s,p,a,h,i);n.push(f);const{height:v,width:b}=p.BBox;N(a,w-h.rowIndent,s+v/2,w,s+v/2,h.lineThickness),o=Math.max(o,w+b),s+=v},"drawNode"),d=g((a,p=0)=>{c(r,a,e,p),a.children.forEach(f=>{d(f,p+1)});const{x:h,y:m,height:w}=a.BBox;if(a.children.length){const{y:f,height:v}=a.children[a.children.length-1].BBox;N(r,h+e.paddingX,m+w,h+e.paddingX,f+v/2+e.lineThickness/2,e.lineThickness)}},"processNode");d(t);const l=n.filter(a=>a.node.description);if(l.length>0){const p=Math.max(...n.map(h=>h.labelRightEdge))+fe;for(const h of l){const w=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",h.centerY).node().getBBox();o=Math.max(o,p+w.width+e.paddingX)}}for(const a of n)if((u=a.node.cssClass)!=null&&u.split(/\s+/).includes("highlight")){const p=a.nodeGroup.select(".treeView-highlight-bg");if(!p.empty()){const h=o-a.node.BBox.x+8;p.attr("width",h),o=Math.max(o,a.node.BBox.x+h+2)}}return{totalHeight:s,totalWidth:o}},"drawTree"),ve=g(async(r,t,e,i)=>{E.debug(`Rendering treeView diagram `+r);const s=i.db,o=s.getRoot(),n=s.getConfig(),c=j(t),d=c.append("g");d.attr("class","tree-view");const l=await ue(o,n),{totalHeight:u,totalWidth:a}=me(d,o,n,l);c.attr("viewBox",`-${n.lineThickness/2} 0 ${a} ${u}`),q(c,u,a,n.useMaxWidth)},"draw"),xe={draw:ve},be=xe,Ce={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Ie=g(({treeView:r})=>{const{labelFontSize:t,labelColor:e,lineColor:i,iconColor:s,descriptionColor:o,highlightBg:n,highlightStroke:c}=A(Ce,r);return` diff --git a/amplifier_web/static/assets/diagram-UQ7AKVKN-RtWVmCwn.js b/amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js similarity index 95% rename from amplifier_web/static/assets/diagram-UQ7AKVKN-RtWVmCwn.js rename to amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js index 97465a15e..e52ded36f 100644 --- a/amplifier_web/static/assets/diagram-UQ7AKVKN-RtWVmCwn.js +++ b/amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js @@ -1,4 +1,4 @@ -import{p as I}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{s as _,g as E,o as D,n as F,a as P,b as z,_ as c,D as G,p as B,A as w,y as C,B as W,l as b,E as V,d as H}from"./mermaid.core-Db1rVExV.js";import{p as j}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,A={axes:[],curves:[],options:x},m=structuredClone(A),U=W.radar,X=c(()=>w({...U,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Y=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Z=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:q(t.entries)}))},"setCurves"),q=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),Q=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Y,setCurves:Z,setOptions:J,getConfig:X,clear:Q,setAccTitle:z,getAccTitle:P,setDiagramTitle:F,getDiagramTitle:D,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await j("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;rw({...U,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Y=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Z=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:q(t.entries)}))},"setCurves"),q=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),Q=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Y,setCurves:Z,setOptions:J,getConfig:X,clear:Q,setAccTitle:z,getAccTitle:P,setDiagramTitle:F,getDiagramTitle:D,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await j("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;rhe({...ke,...E().eventmodeling}),"getConfig"),A={};function W(){let e=Be;const{ast:n}=A,t=R();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=X(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let l;q(i)?(g.debug("source frame",i.sourceFrames),l=n.frames.filter(d=>i.sourceFrames.some(c=>c.$refText===d.name)),l.forEach(d=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:d})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){A.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function R(){return s}o(R,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function _(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(_,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function V(e,n){const t=H(e.entityIdentifier),i=_(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(V,"calculateSwimlaneProps");function L(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(L,"calculateEntityVisualProps");function X(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const l={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
"};let c=`${S(a,t.textMaxWidth,l)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,l),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ +import{p as oe}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{o as se,n as le,s as de,g as ce,a as me,b as ue,_ as o,l as g,c as T,j as xe,z as fe,p as ge,A as he,y as E,B as pe,i as P,w as S,al as be}from"./mermaid.core-DCzavt_d.js";import{p as ve,i as we}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var D="position frame",N="frame positioned",M="position relation",C="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){O(),ge()},"clear");function O(){A={}}o(O,"reset");var ke=pe.eventmodeling,Me=o(()=>he({...ke,...E().eventmodeling}),"getConfig"),A={};function W(){let e=Be;const{ast:n}=A,t=R();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=X(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let l;q(i)?(g.debug("source frame",i.sourceFrames),l=n.frames.filter(d=>i.sourceFrames.some(c=>c.$refText===d.name)),l.forEach(d=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:d})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){A.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function R(){return s}o(R,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function _(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(_,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function V(e,n){const t=H(e.entityIdentifier),i=_(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(V,"calculateSwimlaneProps");function L(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(L,"calculateEntityVisualProps");function X(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const l={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
"};let c=`${S(a,t.textMaxWidth,l)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,l),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,l),r=r.replaceAll(" "," "),r+="
")}const m=r!==void 0;m&&(c+=`

${r}`);const x={fontSize:l.fontSize,fontWeight:l.fontWeight,fontFamily:l.fontFamily},u=be(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(X,"calculateTextProps");function j(e,n){const t=n,i=L(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(j,"decidePositionFrame");function G(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(G,"calculateX");function Y(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(Y,"calculateMaxRight");function $(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o($,"sortedSwimlanesArray");function z(e,n){const t=n,i=V(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,l=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,d={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=G(a,l,r),m=c+d.width+s.boxPadding,x=Y(Object.values(e.swimlanes),m);a.r=c+d.width,a.maxHeight=Math.max(a.maxHeight,d.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:d,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=$(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p0}o(q,"hasSourceFrame");function B(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(B,"findBoxByFrame");function J(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(J,"findBoxByLineIndex");function Q(e,n){const t=n;if(we(t.frame)||K(t.index,t.frame))return[];const i=B(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=B(e.boxes,t.sourceFrame):a=J(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:C,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(Q,"decidePositionRelation");function Z(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Z,"evolveRelationPositioned");var Fe={[D]:j,[M]:Q},Ee={[N]:z,[C]:Z};function ee(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(ee,"decide");function te(e,n){const t=n.reduce((i,a)=>{const r=Ee[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(te,"evolve");function w(e,n){const t=ee(e,n);return te(e,t)}o(w,"dispatch");var F={getConfig:Me,setOptions:ye,getOptions:Pe,clear:Se,setAccTitle:ue,getAccTitle:me,getAccDescription:ce,setAccDescription:de,setDiagramTitle:le,getDiagramTitle:se,setAst:I,getDiagramProps:R,getState:W},Ae={parse:o(async e=>{const n=await ve("eventmodeling",e);g.debug(n),F.setAst(n),oe(n,F)},"parse")},k=T(),Re=k==null?void 0:k.eventmodeling;function ne(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(ne,"renderD3Box");function ie(e,n){return e>n}o(ie,"dirUpwards");function ae(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,l=a.targetBox.swimlane.y+n.swimlanePadding,d=ie(r,l),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${d} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),d?(x=r,u=l+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=l);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ae,"renderD3Relation");function re(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),l=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",d=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",l).attr("stroke",d),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(re,"renderD3Swimlane");var $e=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+` `,"id:",n,t),!Re)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:l}=T(),d=xe(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(re(d,m.maxR,c,r)),m.boxes.forEach(ne(d,c)),m.relations.forEach(ae(d,c,x,r)),d.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),fe(void 0,d,(l==null?void 0:l.padding)??30,l==null?void 0:l.useMaxWidth)},"draw"),Te={draw:$e},De=o(e=>"","getStyles"),Ne=De,Ue={parser:Ae,db:F,renderer:Te,styles:Ne};export{Ue as diagram}; diff --git a/amplifier_web/static/assets/diagram-VX7I27RA-BJzA7bhK.js b/amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js similarity index 98% rename from amplifier_web/static/assets/diagram-VX7I27RA-BJzA7bhK.js rename to amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js index 979770db1..dc65e3468 100644 --- a/amplifier_web/static/assets/diagram-VX7I27RA-BJzA7bhK.js +++ b/amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js @@ -1,4 +1,4 @@ -import{p as ge}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as w,E as ye,y as ae,A as ee,D as Se,d as ve,l as te,bc as B,j as U,b as xe,a as be,n as we,o as Ce,g as Te,s as Le,B as $e,bd as Ae,p as Fe}from"./mermaid.core-Db1rVExV.js";import{s as Ne}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{p as Me}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as Q}from"./ordinal-Cboi1Yqb.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function ze(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Ve(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Ee(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function Re(t){for(var a=this,l=We(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function We(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*qe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Z(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ze)}function Xe(){return ne(this).eachBefore(Ue)}function je(t){return t.children}function Ye(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ze(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=ne.prototype={constructor:Z,count:ke,each:ze,eachAfter:De,eachBefore:Ve,find:Pe,sum:Be,sort:Ee,path:Re,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:Xe,[Symbol.iterator]:qe};function Je(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Ke(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qe(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dN&&(N=c),M=u*u*W,$=Math.max(N/M,M/y),$>V){u-=c;break}V=$}h.push(g={value:u,dice:x1?n:1)},l})(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function p(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Ke),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,u=i.x1-x,y=i.y1-x;u{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(R,"TreeMapDB"),R);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],p=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:p};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,E=10,X=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const p=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*E:960,x=s.nodeHeight?s.nodeHeight*E:500,S=i,v=x+p;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let u;try{const e=s.valueFormat||",";if(e==="$0,0")u=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";u=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);u=w(f=>"$"+O(o||"")(f),"valueFormat")}else u=O(e)}catch(e){te.error("Error creating format function:",e),u=O(",")}const y=Q().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),N=Q().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),$=Q().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",p/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const V=b.append("g").attr("transform",`translate(0, ${p})`).attr("class","treemapContainer"),W=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?X+E:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?E:0).paddingRight(e=>e.children&&e.children.length>0?E:0).paddingBottom(e=>e.children&&e.children.length>0?E:0).round(!0)(W),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=V.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>N(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+$(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),_=o.node();if(_.getComputedTextLength()>m){let z=f;for(;z.length>0;){if(z=f.substring(0,z.length-1),z.length===0){o.text("..."),_.getComputedTextLength()>m&&o.text("");break}if(o.text(z+"..."),_.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?u(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+$(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),A=re.length>20,pe=A?16:38,j=A?14:28,D=A?4:8,I=A?4:6,J=A?2:4,se=A?8:10,K=A?1:2,Y=V.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${pe}px;fill:`+$(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*J,P=C-2*J;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let F=Math.max(I,Math.min(j,Math.round(m*_))),k=m+K+F;for(;k>P&&m>D&&(m--,F=Math.max(I,Math.min(j,Math.round(m*_))),!(FT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${j}px;fill:`+$(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?u(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(j,Math.round(T*.6)));f.style("font-size",`${m}px`);const F=(o.y1-o.y0)/2+T/2+K;f.attr("y",F);const k=o.x1-o.x0,ie=o.y1-o.y0-4,me=k-2*J;f.node().getComputedTextLength()>me||F+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` +import{p as ge}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as w,E as ye,y as ae,A as ee,D as Se,d as ve,l as te,bc as B,j as U,b as xe,a as be,n as we,o as Ce,g as Te,s as Le,B as $e,bd as Ae,p as Fe}from"./mermaid.core-DCzavt_d.js";import{s as Ne}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{p as Me}from"./cynefin-OW5HDTMX-D2urArke.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as Q}from"./ordinal-Cboi1Yqb.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function ze(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Ve(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Ee(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function Re(t){for(var a=this,l=We(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function We(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*qe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Z(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ze)}function Xe(){return ne(this).eachBefore(Ue)}function je(t){return t.children}function Ye(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ze(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=ne.prototype={constructor:Z,count:ke,each:ze,eachAfter:De,eachBefore:Ve,find:Pe,sum:Be,sort:Ee,path:Re,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:Xe,[Symbol.iterator]:qe};function Je(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Ke(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qe(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dN&&(N=c),M=u*u*W,$=Math.max(N/M,M/y),$>V){u-=c;break}V=$}h.push(g={value:u,dice:x1?n:1)},l})(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function p(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Ke),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,u=i.x1-x,y=i.y1-x;u{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(R,"TreeMapDB"),R);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],p=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:p};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,E=10,X=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const p=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*E:960,x=s.nodeHeight?s.nodeHeight*E:500,S=i,v=x+p;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let u;try{const e=s.valueFormat||",";if(e==="$0,0")u=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";u=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);u=w(f=>"$"+O(o||"")(f),"valueFormat")}else u=O(e)}catch(e){te.error("Error creating format function:",e),u=O(",")}const y=Q().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),N=Q().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),$=Q().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",p/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const V=b.append("g").attr("transform",`translate(0, ${p})`).attr("class","treemapContainer"),W=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?X+E:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?E:0).paddingRight(e=>e.children&&e.children.length>0?E:0).paddingBottom(e=>e.children&&e.children.length>0?E:0).round(!0)(W),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=V.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>N(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+$(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),_=o.node();if(_.getComputedTextLength()>m){let z=f;for(;z.length>0;){if(z=f.substring(0,z.length-1),z.length===0){o.text("..."),_.getComputedTextLength()>m&&o.text("");break}if(o.text(z+"..."),_.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?u(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+$(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),A=re.length>20,pe=A?16:38,j=A?14:28,D=A?4:8,I=A?4:6,J=A?2:4,se=A?8:10,K=A?1:2,Y=V.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${pe}px;fill:`+$(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*J,P=C-2*J;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let F=Math.max(I,Math.min(j,Math.round(m*_))),k=m+K+F;for(;k>P&&m>D&&(m--,F=Math.max(I,Math.min(j,Math.round(m*_))),!(FT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${j}px;fill:`+$(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?u(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(j,Math.round(T*.6)));f.style("font-size",`${m}px`);const F=(o.y1-o.y0)/2+T/2+K;f.attr("y",F);const k=o.x1-o.x0,ie=o.y1-o.y0-4,me=k-2*J;f.node().getComputedTextLength()>me||F+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` .treemapNode.section { stroke: ${r.sectionStrokeColor}; stroke-width: ${r.sectionStrokeWidth}; diff --git a/amplifier_web/static/assets/diagram-Z3DM3KII-M2LVzQ9u.js b/amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js similarity index 94% rename from amplifier_web/static/assets/diagram-Z3DM3KII-M2LVzQ9u.js rename to amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js index ebadc52ae..75d4d49e8 100644 --- a/amplifier_web/static/assets/diagram-Z3DM3KII-M2LVzQ9u.js +++ b/amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js @@ -1,4 +1,4 @@ -import{p as $}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as b,A as m,D as C,d as S,l as w,b as D,a as T,n as P,o as z,g as A,s as E,y as F,B as W,p as _}from"./mermaid.core-Db1rVExV.js";import{p as N}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=A,this.setAccDescription=E}getConfig(){const t=m({...L,...F().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,Y=b((e,t)=>{$(e,t);let o=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*o)return[e,void 0];const r=t*o-1,n=t*o;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),o=(r=x.parser)==null?void 0:r.yy;if(!(o instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),Y(t,o)},"parse")},O=b((e,t,o,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,B]of p.entries())j(f,B,y,l);f.append("text").text(s).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=b((e,t,o,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=o*(r+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),G={draw:O},H={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=b(({packet:e}={})=>{const t=m(H,e);return` +import{p as $}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as b,A as m,D as C,d as S,l as w,b as D,a as T,n as P,o as z,g as A,s as E,y as F,B as W,p as _}from"./mermaid.core-DCzavt_d.js";import{p as N}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=A,this.setAccDescription=E}getConfig(){const t=m({...L,...F().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,Y=b((e,t)=>{$(e,t);let o=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*o)return[e,void 0];const r=t*o-1,n=t*o;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),o=(r=x.parser)==null?void 0:r.yy;if(!(o instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),Y(t,o)},"parse")},O=b((e,t,o,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,B]of p.entries())j(f,B,y,l);f.append("text").text(s).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=b((e,t,o,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=o*(r+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),G={draw:O},H={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=b(({packet:e}={})=>{const t=m(H,e);return` .packetByte { font-size: ${t.byteFontSize}; } diff --git a/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-Bhfed9ny.js b/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js similarity index 87% rename from amplifier_web/static/assets/ebnfDiagram-PWID7BFC-Bhfed9ny.js rename to amplifier_web/static/assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js index ac0300738..e246b1e89 100644 --- a/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-Bhfed9ny.js +++ b/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js @@ -1 +1 @@ -import{g as l,r as m,d as n}from"./chunk-SVP7TREG-XhllUbrG.js";import{p}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as t,l as o}from"./mermaid.core-Db1rVExV.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var c=f().RailroadEbnf.parser.LangiumParser,s=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},S={parser:g,db:n,renderer:m,styles:l};export{S as diagram}; +import{g as l,r as m,d as n}from"./chunk-SVP7TREG-Dk8R8Cc6.js";import{p}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as t,l as o}from"./mermaid.core-DCzavt_d.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var c=f().RailroadEbnf.parser.LangiumParser,s=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},S={parser:g,db:n,renderer:m,styles:l};export{S as diagram}; diff --git a/amplifier_web/static/assets/erDiagram-RLTQ6QDP-B70udbuP.js b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js similarity index 99% rename from amplifier_web/static/assets/erDiagram-RLTQ6QDP-B70udbuP.js rename to amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js index 87e087ffa..c194714a6 100644 --- a/amplifier_web/static/assets/erDiagram-RLTQ6QDP-B70udbuP.js +++ b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js @@ -1,4 +1,4 @@ -import{g as Ut}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as Kt}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as f,b as Zt,a as jt,s as qt,g as Wt,n as Ht,o as Qt,c as tt,l as F,k as Xt,p as Jt,q as $t,r as te,t as ee,u as se,v as ie,j as re,x as ne}from"./mermaid.core-Db1rVExV.js";import{c as ae}from"./channel-tqVB_xud.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var Ot=(function(){var s=f(function(G,a,h,d){for(h=h||{},d=G.length;d--;h[G[d]]=a);return h},"o"),n=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],c=[2,2],o=[1,7],r=[1,9],l=[1,10],y=[1,11],b=[1,12],k=[1,30],R=[1,23],p=[1,24],g=[1,25],C=[1,26],v=[1,27],x=[1,19],T=[1,28],I=[1,29],N=[1,20],D=[1,18],L=[1,21],w=[1,22],xt=[2,6],u=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],pt=[1,36],ft=[1,37],bt=[1,38],gt=[1,39],yt=[1,40],Z=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],V=[1,46],M=[1,47],j=[1,57],q=[43,51,53,54,55,74,75],W=[1,70],H=[1,68],B=[1,65],Q=[1,69],X=[1,71],et=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],st=[1,78],it=[1,77],rt=[1,76],Nt=[69,70,71,72,73],Ct=[1,91],It=[6,9,45,50],z=[6,9,12,44,45,50,51,52],nt=[1,101],at=[1,100],ot=[1,99],J=[18,61],At=[1,110],Rt=[1,109],vt=[20,43,51,53,54,55],_t=[18,61,64,66],kt={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:f(function(a,h,d,i,_,t,$){var e=t.length-1;switch(_){case 1:break;case 2:this.$=[];break;case 3:this.$=t[e-1].concat(t[e]);break;case 4:this.$=t[e];break;case 5:case 6:this.$=[];break;case 7:i.addEntity(t[e-4]),i.addEntity(t[e-2]),i.addRelationship(t[e-4],t[e],t[e-2],t[e-3]),this.$=[t[e-4],t[e-2]];break;case 8:i.addEntity(t[e-8]),i.addEntity(t[e-4]),i.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),i.setClass([t[e-8]],t[e-6]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-8],t[e-4]];break;case 9:i.addEntity(t[e-6]),i.addEntity(t[e-2]),i.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),i.setClass([t[e-6]],t[e-4]),this.$=[t[e-6],t[e-2]];break;case 10:i.addEntity(t[e-6]),i.addEntity(t[e-4]),i.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-6],t[e-4]];break;case 11:i.addEntity(t[e-3]),i.addAttributes(t[e-3],t[e-1]),this.$=[t[e-3]];break;case 12:i.addEntity(t[e-5]),i.addAttributes(t[e-5],t[e-1]),i.setClass([t[e-5]],t[e-3]),this.$=[t[e-5]];break;case 13:i.addEntity(t[e-2]),this.$=[t[e-2]];break;case 14:i.addEntity(t[e-4]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-4]];break;case 15:i.addEntity(t[e]),this.$=[t[e]];break;case 16:i.addEntity(t[e-2]),i.setClass([t[e-2]],t[e]),this.$=[t[e-2]];break;case 17:i.addEntity(t[e-6],t[e-4]),i.addAttributes(t[e-6],t[e-1]),this.$=[t[e-6]];break;case 18:i.addEntity(t[e-8],t[e-6]),i.addAttributes(t[e-8],t[e-1]),i.setClass([t[e-8]],t[e-3]),this.$=[t[e-8]];break;case 19:i.addEntity(t[e-5],t[e-3]),this.$=[t[e-5]];break;case 20:i.addEntity(t[e-7],t[e-5]),i.setClass([t[e-7]],t[e-2]),this.$=[t[e-7]];break;case 21:i.addEntity(t[e-3],t[e-1]);break;case 22:i.addEntity(t[e-5],t[e-3]),i.setClass([t[e-5]],t[e]);break;case 23:case 24:this.$=t[e].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=t[e].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=t[e]:(i.setDirection(t[e].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:t[e-2].id},t[e-1],{text:t[e-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[e-1],text:t[e-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[e-4],text:t[e-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=t[e];break;case 35:this.$=t[e-1]+" "+t[e];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=t[e-3],i.addClass(t[e-2],t[e-1]);break;case 41:case 42:case 63:case 72:this.$=[t[e]];break;case 43:case 44:this.$=t[e-2].concat([t[e]]);break;case 45:this.$=t[e-2],i.setClass(t[e-1],t[e]);break;case 46:this.$=t[e-3],i.addCssStyles(t[e-2],t[e-1]);break;case 47:this.$=[t[e]];break;case 48:t[e-2].push(t[e]),this.$=t[e-2];break;case 50:this.$=t[e-1]+t[e];break;case 58:case 84:case 85:this.$=t[e].replace(/"/g,"");break;case 64:t[e].push(t[e-1]),this.$=t[e];break;case 65:this.$={type:t[e-1],name:t[e]};break;case 66:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 67:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 68:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 69:case 71:case 74:this.$=t[e];break;case 70:this.$=t[e-1]+t[e];break;case 73:t[e-2].push(t[e]),this.$=t[e-2];break;case 75:this.$=t[e].replace(/"/g,"");break;case 76:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(n,c,{5:3}),{6:[1,4],7:5,8:6,9:o,10:8,21:r,23:l,25:y,27:b,28:13,29:14,30:15,31:16,32:17,34:k,37:R,38:p,39:g,40:C,41:v,43:x,46:T,47:I,51:N,53:D,54:L,55:w},s(n,xt,{1:[2,1]}),s(u,[2,3]),s(u,[2,4]),s(u,[2,5]),s(u,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:pt,70:ft,71:bt,72:gt,73:yt}),{22:[1,41]},{24:[1,42]},{26:[1,43]},s(u,[2,26]),s(u,[2,27]),s(u,[2,28]),s(u,[2,29]),s(u,[2,30]),s(u,c,{5:44}),s(Z,[2,58]),s(Z,[2,59]),s(Z,[2,60]),s(Z,[2,61]),s(Z,[2,62]),s(u,[2,36]),s(u,[2,37]),s(u,[2,38]),s(u,[2,39]),{15:45,43:V,44:M},{15:48,43:V,44:M},{15:49,43:V,44:M},{10:50,43:x,51:N,53:D,54:L,55:w},{10:51,43:x,51:N,53:D,54:L,55:w},{15:52,43:V,44:M},{17:53,18:[1,54],56:55,57:56,61:j},{10:58,43:x,51:N,53:D,54:L,55:w},{68:59,74:[1,60],75:[1,61]},s(q,[2,77]),s(q,[2,78]),s(q,[2,79]),s(q,[2,80]),s(q,[2,81]),s(u,[2,23]),s(u,[2,24]),s(u,[2,25]),{6:[1,63],7:5,8:6,9:o,10:8,21:r,23:l,25:y,27:b,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:k,37:R,38:p,39:g,40:C,41:v,43:x,46:T,47:I,51:N,53:D,54:L,55:w},{12:W,42:64,44:H,45:B,48:66,49:67,51:Q,52:X},s(et,[2,41]),s(et,[2,42]),{15:72,43:V,44:M,45:B},{12:W,42:73,44:H,45:B,48:66,49:67,51:Q,52:X},{6:st,9:it,19:[1,75],35:74,50:rt},{12:[1,79],14:[1,80]},s(u,[2,16],{67:35,11:81,16:[1,82],45:B,69:pt,70:ft,71:bt,72:gt,73:yt}),{18:[1,83]},s(u,[2,13]),{17:84,18:[2,63],56:55,57:56,61:j},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:pt,70:ft,71:bt,72:gt,73:yt},s(Nt,[2,82]),s(Nt,[2,83]),s(u,[2,31]),s(u,xt),{6:st,9:it,35:90,45:Ct,50:rt},{43:[1,92],44:[1,93]},s(It,[2,47],{49:94,12:W,44:H,51:Q,52:X}),s(z,[2,49]),s(z,[2,54]),s(z,[2,55]),s(z,[2,56]),s(z,[2,57]),s(u,[2,45],{45:B}),{6:st,9:it,35:95,45:Ct,50:rt},s(u,[2,32]),{10:97,36:96,43:x,51:N,53:D,54:L,55:w},s(u,[2,51]),s(u,[2,52]),s(u,[2,53]),{13:98,43:nt,53:at,76:ot},{15:102,43:V,44:M},{10:103,43:x,51:N,53:D,54:L,55:w},{17:104,18:[1,105],56:55,57:56,61:j},s(u,[2,11]),{18:[2,64]},s(J,[2,65],{59:106,60:107,63:108,65:At,66:Rt}),s([18,61,65,66],[2,71]),{61:[2,70]},s(u,[2,21],{14:[1,112],16:[1,111]}),s([43,51,53,54,55],[2,76]),s(u,[2,40]),{12:W,44:H,48:113,49:67,51:Q,52:X},s(et,[2,43]),s(et,[2,44]),s(z,[2,50]),s(u,[2,46]),{10:115,20:[1,114],43:x,51:N,53:D,54:L,55:w},s(vt,[2,34]),s(u,[2,7]),s(u,[2,84]),s(u,[2,85]),s(u,[2,86]),{12:[1,116],45:B},{12:[1,118],14:[1,117]},{18:[1,119]},s(u,[2,14]),s(J,[2,66],{60:120,64:[1,121],66:Rt}),s(J,[2,67]),s(_t,[2,72]),s(J,[2,75]),s(_t,[2,74]),{17:122,18:[1,123],56:55,57:56,61:j},{15:124,43:V,44:M},s(It,[2,48],{49:94,12:W,44:H,51:Q,52:X}),{6:st,9:it,35:125,50:rt},s(vt,[2,35]),{13:126,43:nt,53:at,76:ot},{15:127,43:V,44:M},{13:128,43:nt,53:at,76:ot},s(u,[2,12]),s(J,[2,68]),{63:129,65:At},{18:[1,130]},s(u,[2,19]),s(u,[2,22],{16:[1,131],45:B}),s(u,[2,33]),s(u,[2,10]),{12:[1,132],45:B},s(u,[2,9]),s(_t,[2,73]),s(u,[2,17]),{17:133,18:[1,134],56:55,57:56,61:j},{13:135,43:nt,53:at,76:ot},{18:[1,136]},s(u,[2,20]),s(u,[2,8]),s(u,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:f(function(a,h){if(h.recoverable)this.trace(a);else{var d=new Error(a);throw d.hash=h,d}},"parseError"),parse:f(function(a){var h=this,d=[0],i=[],_=[null],t=[],$=this.table,e="",lt=0,Dt=0,Ft=2,Lt=1,Yt=t.slice.call(arguments,1),m=Object.create(this.lexer),Y={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(Y.yy[mt]=this.yy[mt]);m.setInput(a,Y.yy),Y.yy.lexer=m,Y.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Et=m.yylloc;t.push(Et);var Pt=m.options&&m.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(S){d.length=d.length-2*S,_.length=_.length-S,t.length=t.length-S}f(zt,"popStack");function wt(){var S;return S=i.pop()||m.lex()||Lt,typeof S!="number"&&(S instanceof Array&&(i=S,S=i.pop()),S=h.symbols_[S]||S),S}f(wt,"lex");for(var E,P,O,St,U={},ht,A,Vt,ut;;){if(P=d[d.length-1],this.defaultActions[P]?O=this.defaultActions[P]:((E===null||typeof E>"u")&&(E=wt()),O=$[P]&&$[P][E]),typeof O>"u"||!O.length||!O[0]){var Tt="";ut=[];for(ht in $[P])this.terminals_[ht]&&ht>Ft&&ut.push("'"+this.terminals_[ht]+"'");m.showPosition?Tt="Parse error on line "+(lt+1)+`: +import{g as Ut}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as Kt}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as f,b as Zt,a as jt,s as qt,g as Wt,n as Ht,o as Qt,c as tt,l as F,k as Xt,p as Jt,q as $t,r as te,t as ee,u as se,v as ie,j as re,x as ne}from"./mermaid.core-DCzavt_d.js";import{c as ae}from"./channel-BGpu3HdG.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var Ot=(function(){var s=f(function(G,a,h,d){for(h=h||{},d=G.length;d--;h[G[d]]=a);return h},"o"),n=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],c=[2,2],o=[1,7],r=[1,9],l=[1,10],y=[1,11],b=[1,12],k=[1,30],R=[1,23],p=[1,24],g=[1,25],C=[1,26],v=[1,27],x=[1,19],T=[1,28],I=[1,29],N=[1,20],D=[1,18],L=[1,21],w=[1,22],xt=[2,6],u=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],pt=[1,36],ft=[1,37],bt=[1,38],gt=[1,39],yt=[1,40],Z=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],V=[1,46],M=[1,47],j=[1,57],q=[43,51,53,54,55,74,75],W=[1,70],H=[1,68],B=[1,65],Q=[1,69],X=[1,71],et=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],st=[1,78],it=[1,77],rt=[1,76],Nt=[69,70,71,72,73],Ct=[1,91],It=[6,9,45,50],z=[6,9,12,44,45,50,51,52],nt=[1,101],at=[1,100],ot=[1,99],J=[18,61],At=[1,110],Rt=[1,109],vt=[20,43,51,53,54,55],_t=[18,61,64,66],kt={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:f(function(a,h,d,i,_,t,$){var e=t.length-1;switch(_){case 1:break;case 2:this.$=[];break;case 3:this.$=t[e-1].concat(t[e]);break;case 4:this.$=t[e];break;case 5:case 6:this.$=[];break;case 7:i.addEntity(t[e-4]),i.addEntity(t[e-2]),i.addRelationship(t[e-4],t[e],t[e-2],t[e-3]),this.$=[t[e-4],t[e-2]];break;case 8:i.addEntity(t[e-8]),i.addEntity(t[e-4]),i.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),i.setClass([t[e-8]],t[e-6]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-8],t[e-4]];break;case 9:i.addEntity(t[e-6]),i.addEntity(t[e-2]),i.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),i.setClass([t[e-6]],t[e-4]),this.$=[t[e-6],t[e-2]];break;case 10:i.addEntity(t[e-6]),i.addEntity(t[e-4]),i.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-6],t[e-4]];break;case 11:i.addEntity(t[e-3]),i.addAttributes(t[e-3],t[e-1]),this.$=[t[e-3]];break;case 12:i.addEntity(t[e-5]),i.addAttributes(t[e-5],t[e-1]),i.setClass([t[e-5]],t[e-3]),this.$=[t[e-5]];break;case 13:i.addEntity(t[e-2]),this.$=[t[e-2]];break;case 14:i.addEntity(t[e-4]),i.setClass([t[e-4]],t[e-2]),this.$=[t[e-4]];break;case 15:i.addEntity(t[e]),this.$=[t[e]];break;case 16:i.addEntity(t[e-2]),i.setClass([t[e-2]],t[e]),this.$=[t[e-2]];break;case 17:i.addEntity(t[e-6],t[e-4]),i.addAttributes(t[e-6],t[e-1]),this.$=[t[e-6]];break;case 18:i.addEntity(t[e-8],t[e-6]),i.addAttributes(t[e-8],t[e-1]),i.setClass([t[e-8]],t[e-3]),this.$=[t[e-8]];break;case 19:i.addEntity(t[e-5],t[e-3]),this.$=[t[e-5]];break;case 20:i.addEntity(t[e-7],t[e-5]),i.setClass([t[e-7]],t[e-2]),this.$=[t[e-7]];break;case 21:i.addEntity(t[e-3],t[e-1]);break;case 22:i.addEntity(t[e-5],t[e-3]),i.setClass([t[e-5]],t[e]);break;case 23:case 24:this.$=t[e].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=t[e].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=t[e]:(i.setDirection(t[e].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:t[e-2].id},t[e-1],{text:t[e-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[e-1],text:t[e-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[e-4],text:t[e-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=t[e];break;case 35:this.$=t[e-1]+" "+t[e];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=t[e-3],i.addClass(t[e-2],t[e-1]);break;case 41:case 42:case 63:case 72:this.$=[t[e]];break;case 43:case 44:this.$=t[e-2].concat([t[e]]);break;case 45:this.$=t[e-2],i.setClass(t[e-1],t[e]);break;case 46:this.$=t[e-3],i.addCssStyles(t[e-2],t[e-1]);break;case 47:this.$=[t[e]];break;case 48:t[e-2].push(t[e]),this.$=t[e-2];break;case 50:this.$=t[e-1]+t[e];break;case 58:case 84:case 85:this.$=t[e].replace(/"/g,"");break;case 64:t[e].push(t[e-1]),this.$=t[e];break;case 65:this.$={type:t[e-1],name:t[e]};break;case 66:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 67:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 68:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 69:case 71:case 74:this.$=t[e];break;case 70:this.$=t[e-1]+t[e];break;case 73:t[e-2].push(t[e]),this.$=t[e-2];break;case 75:this.$=t[e].replace(/"/g,"");break;case 76:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(n,c,{5:3}),{6:[1,4],7:5,8:6,9:o,10:8,21:r,23:l,25:y,27:b,28:13,29:14,30:15,31:16,32:17,34:k,37:R,38:p,39:g,40:C,41:v,43:x,46:T,47:I,51:N,53:D,54:L,55:w},s(n,xt,{1:[2,1]}),s(u,[2,3]),s(u,[2,4]),s(u,[2,5]),s(u,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:pt,70:ft,71:bt,72:gt,73:yt}),{22:[1,41]},{24:[1,42]},{26:[1,43]},s(u,[2,26]),s(u,[2,27]),s(u,[2,28]),s(u,[2,29]),s(u,[2,30]),s(u,c,{5:44}),s(Z,[2,58]),s(Z,[2,59]),s(Z,[2,60]),s(Z,[2,61]),s(Z,[2,62]),s(u,[2,36]),s(u,[2,37]),s(u,[2,38]),s(u,[2,39]),{15:45,43:V,44:M},{15:48,43:V,44:M},{15:49,43:V,44:M},{10:50,43:x,51:N,53:D,54:L,55:w},{10:51,43:x,51:N,53:D,54:L,55:w},{15:52,43:V,44:M},{17:53,18:[1,54],56:55,57:56,61:j},{10:58,43:x,51:N,53:D,54:L,55:w},{68:59,74:[1,60],75:[1,61]},s(q,[2,77]),s(q,[2,78]),s(q,[2,79]),s(q,[2,80]),s(q,[2,81]),s(u,[2,23]),s(u,[2,24]),s(u,[2,25]),{6:[1,63],7:5,8:6,9:o,10:8,21:r,23:l,25:y,27:b,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:k,37:R,38:p,39:g,40:C,41:v,43:x,46:T,47:I,51:N,53:D,54:L,55:w},{12:W,42:64,44:H,45:B,48:66,49:67,51:Q,52:X},s(et,[2,41]),s(et,[2,42]),{15:72,43:V,44:M,45:B},{12:W,42:73,44:H,45:B,48:66,49:67,51:Q,52:X},{6:st,9:it,19:[1,75],35:74,50:rt},{12:[1,79],14:[1,80]},s(u,[2,16],{67:35,11:81,16:[1,82],45:B,69:pt,70:ft,71:bt,72:gt,73:yt}),{18:[1,83]},s(u,[2,13]),{17:84,18:[2,63],56:55,57:56,61:j},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:pt,70:ft,71:bt,72:gt,73:yt},s(Nt,[2,82]),s(Nt,[2,83]),s(u,[2,31]),s(u,xt),{6:st,9:it,35:90,45:Ct,50:rt},{43:[1,92],44:[1,93]},s(It,[2,47],{49:94,12:W,44:H,51:Q,52:X}),s(z,[2,49]),s(z,[2,54]),s(z,[2,55]),s(z,[2,56]),s(z,[2,57]),s(u,[2,45],{45:B}),{6:st,9:it,35:95,45:Ct,50:rt},s(u,[2,32]),{10:97,36:96,43:x,51:N,53:D,54:L,55:w},s(u,[2,51]),s(u,[2,52]),s(u,[2,53]),{13:98,43:nt,53:at,76:ot},{15:102,43:V,44:M},{10:103,43:x,51:N,53:D,54:L,55:w},{17:104,18:[1,105],56:55,57:56,61:j},s(u,[2,11]),{18:[2,64]},s(J,[2,65],{59:106,60:107,63:108,65:At,66:Rt}),s([18,61,65,66],[2,71]),{61:[2,70]},s(u,[2,21],{14:[1,112],16:[1,111]}),s([43,51,53,54,55],[2,76]),s(u,[2,40]),{12:W,44:H,48:113,49:67,51:Q,52:X},s(et,[2,43]),s(et,[2,44]),s(z,[2,50]),s(u,[2,46]),{10:115,20:[1,114],43:x,51:N,53:D,54:L,55:w},s(vt,[2,34]),s(u,[2,7]),s(u,[2,84]),s(u,[2,85]),s(u,[2,86]),{12:[1,116],45:B},{12:[1,118],14:[1,117]},{18:[1,119]},s(u,[2,14]),s(J,[2,66],{60:120,64:[1,121],66:Rt}),s(J,[2,67]),s(_t,[2,72]),s(J,[2,75]),s(_t,[2,74]),{17:122,18:[1,123],56:55,57:56,61:j},{15:124,43:V,44:M},s(It,[2,48],{49:94,12:W,44:H,51:Q,52:X}),{6:st,9:it,35:125,50:rt},s(vt,[2,35]),{13:126,43:nt,53:at,76:ot},{15:127,43:V,44:M},{13:128,43:nt,53:at,76:ot},s(u,[2,12]),s(J,[2,68]),{63:129,65:At},{18:[1,130]},s(u,[2,19]),s(u,[2,22],{16:[1,131],45:B}),s(u,[2,33]),s(u,[2,10]),{12:[1,132],45:B},s(u,[2,9]),s(_t,[2,73]),s(u,[2,17]),{17:133,18:[1,134],56:55,57:56,61:j},{13:135,43:nt,53:at,76:ot},{18:[1,136]},s(u,[2,20]),s(u,[2,8]),s(u,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:f(function(a,h){if(h.recoverable)this.trace(a);else{var d=new Error(a);throw d.hash=h,d}},"parseError"),parse:f(function(a){var h=this,d=[0],i=[],_=[null],t=[],$=this.table,e="",lt=0,Dt=0,Ft=2,Lt=1,Yt=t.slice.call(arguments,1),m=Object.create(this.lexer),Y={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(Y.yy[mt]=this.yy[mt]);m.setInput(a,Y.yy),Y.yy.lexer=m,Y.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Et=m.yylloc;t.push(Et);var Pt=m.options&&m.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(S){d.length=d.length-2*S,_.length=_.length-S,t.length=t.length-S}f(zt,"popStack");function wt(){var S;return S=i.pop()||m.lex()||Lt,typeof S!="number"&&(S instanceof Array&&(i=S,S=i.pop()),S=h.symbols_[S]||S),S}f(wt,"lex");for(var E,P,O,St,U={},ht,A,Vt,ut;;){if(P=d[d.length-1],this.defaultActions[P]?O=this.defaultActions[P]:((E===null||typeof E>"u")&&(E=wt()),O=$[P]&&$[P][E]),typeof O>"u"||!O.length||!O[0]){var Tt="";ut=[];for(ht in $[P])this.terminals_[ht]&&ht>Ft&&ut.push("'"+this.terminals_[ht]+"'");m.showPosition?Tt="Parse error on line "+(lt+1)+`: `+m.showPosition()+` Expecting `+ut.join(", ")+", got '"+(this.terminals_[E]||E)+"'":Tt="Parse error on line "+(lt+1)+": Unexpected "+(E==Lt?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(Tt,{text:m.match,token:this.terminals_[E]||E,line:m.yylineno,loc:Et,expected:ut})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+E);switch(O[0]){case 1:d.push(E),_.push(m.yytext),t.push(m.yylloc),d.push(O[1]),E=null,Dt=m.yyleng,e=m.yytext,lt=m.yylineno,Et=m.yylloc;break;case 2:if(A=this.productions_[O[1]][1],U.$=_[_.length-A],U._$={first_line:t[t.length-(A||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(A||1)].first_column,last_column:t[t.length-1].last_column},Pt&&(U._$.range=[t[t.length-(A||1)].range[0],t[t.length-1].range[1]]),St=this.performAction.apply(U,[e,Dt,lt,Y.yy,O[1],_,t].concat(Yt)),typeof St<"u")return St;A&&(d=d.slice(0,-1*A*2),_=_.slice(0,-1*A),t=t.slice(0,-1*A)),d.push(this.productions_[O[1]][0]),_.push(U.$),t.push(U._$),Vt=$[d[d.length-2]][d[d.length-1]],d.push(Vt);break;case 3:return!0}}return!0},"parse")},Gt=(function(){var G={EOF:1,parseError:f(function(h,d){if(this.yy.parser)this.yy.parser.parseError(h,d);else throw new Error(h)},"parseError"),setInput:f(function(a,h){return this.yy=h||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var h=a.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:f(function(a){var h=a.length,d=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===i.length?this.yylloc.first_column:0)+i[i.length-d.length].length-d[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(a){this.unput(this.match.slice(a))},"less"),pastInput:f(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var a=this.pastInput(),h=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/flowDiagram-HODETNUW-Dr55GFTH.js b/amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js similarity index 99% rename from amplifier_web/static/assets/flowDiagram-HODETNUW-Dr55GFTH.js rename to amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js index f0ad1a701..84d203e7e 100644 --- a/amplifier_web/static/assets/flowDiagram-HODETNUW-Dr55GFTH.js +++ b/amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js @@ -1,4 +1,4 @@ -import{g as Xt}from"./chunk-5VM5RSS4-DRn7AX50.js";import{g as Qt}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as Jt}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as k,b3 as Zt,F as Mt,l as $,c as ke,u as $t,v as e1,x as rt,b as t1,s as s1,n as i1,a as r1,g as a1,o as n1,k as u1,H as o1,J as l1,c9 as c1,q as st,j as it,p as h1,b6 as d1,r as p1}from"./mermaid.core-Db1rVExV.js";import{f as f1}from"./chunk-F27PBJKO-nNeL4pO3.js";import{p as g1}from"./app-CI1rDkjG.js";import{c as b1}from"./channel-tqVB_xud.js";var A1="flowchart-",Pe,k1=(Pe=class{constructor(){this.vertexCounter=0,this.config=ke(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=t1,this.setAccDescription=s1,this.setDiagramTitle=i1,this.getAccTitle=r1,this.getAccDescription=a1,this.getDiagramTitle=n1,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return u1.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,l,g,h={},m){var F,c;if(!i||i.trim().length===0)return;let u;if(m!==void 0){let d;m.includes(` +import{g as Xt}from"./chunk-5VM5RSS4-BvUIUVyo.js";import{g as Qt}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as Jt}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as k,b3 as Zt,F as Mt,l as $,c as ke,u as $t,v as e1,x as rt,b as t1,s as s1,n as i1,a as r1,g as a1,o as n1,k as u1,H as o1,J as l1,c9 as c1,q as st,j as it,p as h1,b6 as d1,r as p1}from"./mermaid.core-DCzavt_d.js";import{f as f1}from"./chunk-F27PBJKO-CeZTmtp_.js";import{p as g1}from"./app-DiRg4AEn.js";import{c as b1}from"./channel-BGpu3HdG.js";var A1="flowchart-",Pe,k1=(Pe=class{constructor(){this.vertexCounter=0,this.config=ke(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=t1,this.setAccDescription=s1,this.setDiagramTitle=i1,this.getAccTitle=r1,this.getAccDescription=a1,this.getDiagramTitle=n1,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return u1.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,l,g,h={},m){var F,c;if(!i||i.trim().length===0)return;let u;if(m!==void 0){let d;m.includes(` `)?d=m+` `:d=`{ `+m+` diff --git a/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-D3bk-x2Q.js b/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js similarity index 99% rename from amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-D3bk-x2Q.js rename to amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js index dc680a9ce..5e0769a84 100644 --- a/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-D3bk-x2Q.js +++ b/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js @@ -1,4 +1,4 @@ -import{be as on,bf as On,bg as cn,bh as un,bi as ln,bj as ue,bk as Hn,g as Nn,s as Pn,o as Vn,n as Rn,a as zn,b as qn,_ as d,c as Yt,j as Zt,d as Bn,bl as it,l as Tt,k as Zn,G as Xn,p as Gn,x as jn}from"./mermaid.core-Db1rVExV.js";import{g as oe}from"./client-BPXDbY79.js";import{b as Qn,t as Ne,c as Jn,a as Kn,l as tr}from"./linear-Cs83r27z.js";import{i as er}from"./init-Gi6I4Gst.js";import"./app-CI1rDkjG.js";import"./defaultLocale-DX6XiGOO.js";function nr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function rr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function ir(t){return t}var Gt=1,le=2,xe=3,Xt=4,Pe=1e-6;function sr(t){return"translate("+t+",0)"}function ar(t){return"translate(0,"+t+")"}function or(t){return e=>+t(e)}function cr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function ur(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===Xt?-1:1,w=t===Xt||t===le?"x":"y",P=t===Gt||t===xe?sr:ar;function _(Y){var X=r??(e.ticks?e.ticks.apply(e,n):e.domain()),B=i??(e.tickFormat?e.tickFormat.apply(e,n):ir),v=Math.max(s,0)+y,U=e.range(),R=+U[0]+F,E=+U[U.length-1]+F,z=(e.bandwidth?cr:or)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(X,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===xe?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Pe).attr("transform",function(M){return isFinite(M=z(M))?P(M+F):this.getAttribute("transform")}),L.attr("opacity",Pe).attr("transform",function(M){var D=this.parentNode.__axis;return P((D&&isFinite(D=D(M))?D:z(M))+F)})),p.remove(),T.attr("d",t===Xt||t===le?a?"M"+S*a+","+R+"H"+F+"V"+E+"H"+S*a:"M"+F+","+R+"V"+E:a?"M"+R+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+R+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return P(z(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(B),G.filter(ur).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===le?"start":t===Xt?"end":"middle"),G.each(function(){this.__axis=z})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function lr(t){return fn(Gt,t)}function fr(t){return fn(xe,t)}const dr=Math.PI/180,hr=180/Math.PI,ne=18,dn=.96422,hn=1,mn=.82521,gn=4/29,Ft=6/29,yn=3*Ft*Ft,mr=Ft*Ft*Ft;function kn(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return pn(t);t instanceof on||(t=On(t));var e=me(t.r),n=me(t.g),r=me(t.b),i=fe((.2225045*e+.7168786*n+.0606169*r)/hn),s,a;return e===n&&n===r?s=a=i:(s=fe((.4360747*e+.3850649*n+.1430804*r)/dn),a=fe((.0139322*e+.0971045*n+.7141733*r)/mn)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function gr(t,e,n,r){return arguments.length===1?kn(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}cn(ft,gr,un(ln,{brighter(t){return new ft(this.l+ne*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-ne*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=dn*de(e),t=hn*de(t),n=mn*de(n),new on(he(3.1338561*e-1.6168667*t-.4906146*n),he(-.9787684*e+1.9161415*t+.033454*n),he(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function fe(t){return t>mr?Math.pow(t,1/3):t/yn+gn}function de(t){return t>Ft?t*t*t:yn*(t-gn)}function he(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function me(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function yr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=kn(t)),t.a===0&&t.b===0)return new ht(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(ge.setTime(+s),ye.setTime(+a),t(ge),t(ye),Math.floor(n(ge,ye))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,Se=yt*7,Ve=yt*30,ke=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const Tr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());Tr.range;const Pt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Pt.range;const xr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());xr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const _e=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);_e.range;const br=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));br.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/Se)}const zt=Dt(0),Vt=Dt(1),vn=Dt(2),Tn=Dt(3),bt=Dt(4),xn=Dt(5),bn=Dt(6);zt.range;Vt.range;vn.range;Tn.range;bt.range;xn.range;bn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Se)}const wn=Mt(0),re=Mt(1),wr=Mt(2),Dr=Mt(3),It=Mt(4),Mr=Mt(5),Cr=Mt(6);wn.range;re.range;wr.range;Dr.range;It.range;Mr.range;Cr.range;const Rt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Rt.range;const Sr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Sr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function _r(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,Se],[e,1,Ve],[e,3,3*Ve],[t,1,ke]];function y(S,w,P){const _=wv).right(a,_);if(Y===a.length)return t.every(Ne(S/ke,w/ke,P));if(Y===0)return Et.every(Math.max(Ne(S,w,P),1));const[X,B]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ve($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?re.ceil(A):re(A),A=_e.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=pe($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Vt.ceil(A):Vt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ve($t(f.y,0,1)).getUTCDay():pe($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ve(f)):pe(f)}}function p(h,N,V,f){for(var tt=0,A=N.length,Q=V.length,Z,st;tt=Q)return-1;if(Z=N.charCodeAt(tt++),Z===37){if(Z=N.charAt(tt++),st=G[Z in Re?N.charAt(tt++):Z],!st||(f=st(h,V,f))<0)return-1}else if(Z!=V.charCodeAt(f++))return-1}return f}function L(h,N,V){var f=S.exec(N.slice(V));return f?(h.p=w.get(f[0].toLowerCase()),V+f[0].length):-1}function x(h,N,V){var f=Y.exec(N.slice(V));return f?(h.w=X.get(f[0].toLowerCase()),V+f[0].length):-1}function C(h,N,V){var f=P.exec(N.slice(V));return f?(h.w=_.get(f[0].toLowerCase()),V+f[0].length):-1}function M(h,N,V){var f=U.exec(N.slice(V));return f?(h.m=R.get(f[0].toLowerCase()),V+f[0].length):-1}function D(h,N,V){var f=B.exec(N.slice(V));return f?(h.m=v.get(f[0].toLowerCase()),V+f[0].length):-1}function c(h,N,V){return p(h,e,N,V)}function g(h,N,V){return p(h,n,N,V)}function b(h,N,V){return p(h,r,N,V)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",z);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Re={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Er=/^%/,Ir=/[\\^$*+?|[\]().{}]/g;function q(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function $r(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function qe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Nr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Be(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function qr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Br(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Zr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Xr(t,e,n){var r=Er.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Gr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function jr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Xe(t,e){return q(t.getDate(),e,2)}function Qr(t,e){return q(t.getHours(),e,2)}function Jr(t,e){return q(t.getHours()%12||12,e,2)}function Kr(t,e){return q(1+xt.count(kt(t),t),e,3)}function Dn(t,e){return q(t.getMilliseconds(),e,3)}function ti(t,e){return Dn(t,e)+"000"}function ei(t,e){return q(t.getMonth()+1,e,2)}function ni(t,e){return q(t.getMinutes(),e,2)}function ri(t,e){return q(t.getSeconds(),e,2)}function ii(t){var e=t.getDay();return e===0?7:e}function si(t,e){return q(zt.count(kt(t)-1,t),e,2)}function Mn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ai(t,e){return t=Mn(t),q(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function oi(t){return t.getDay()}function ci(t,e){return q(Vt.count(kt(t)-1,t),e,2)}function ui(t,e){return q(t.getFullYear()%100,e,2)}function li(t,e){return t=Mn(t),q(t.getFullYear()%100,e,2)}function fi(t,e){return q(t.getFullYear()%1e4,e,4)}function di(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),q(t.getFullYear()%1e4,e,4)}function hi(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+q(e/60|0,"0",2)+q(e%60,"0",2)}function Ge(t,e){return q(t.getUTCDate(),e,2)}function mi(t,e){return q(t.getUTCHours(),e,2)}function gi(t,e){return q(t.getUTCHours()%12||12,e,2)}function yi(t,e){return q(1+_e.count(wt(t),t),e,3)}function Cn(t,e){return q(t.getUTCMilliseconds(),e,3)}function ki(t,e){return Cn(t,e)+"000"}function pi(t,e){return q(t.getUTCMonth()+1,e,2)}function vi(t,e){return q(t.getUTCMinutes(),e,2)}function Ti(t,e){return q(t.getUTCSeconds(),e,2)}function xi(t){var e=t.getUTCDay();return e===0?7:e}function bi(t,e){return q(wn.count(wt(t)-1,t),e,2)}function Sn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function wi(t,e){return t=Sn(t),q(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function Di(t){return t.getUTCDay()}function Mi(t,e){return q(re.count(wt(t)-1,t),e,2)}function Ci(t,e){return q(t.getUTCFullYear()%100,e,2)}function Si(t,e){return t=Sn(t),q(t.getUTCFullYear()%100,e,2)}function _i(t,e){return q(t.getUTCFullYear()%1e4,e,4)}function Yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),q(t.getUTCFullYear()%1e4,e,4)}function Fi(){return"+0000"}function je(){return"%"}function Qe(t){return+t}function Je(t){return Math.floor(+t/1e3)}var St,ie;Ui({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ui(t){return St=Ur(t),ie=St.format,St.parse,St.utcFormat,St.utcParse,St}function Ei(t){return new Date(t)}function Ii(t){return t instanceof Date?+t:+new Date(+t)}function _n(t,e,n,r,i,s,a,y,F,S){var w=Jn(),P=w.invert,_=w.domain,Y=S(".%L"),X=S(":%S"),B=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),R=S("%b %d"),E=S("%B"),z=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return X.diff(B,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var P=this.$utils(),_=!!P.u(w)||w;return P.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}}))})(jt)),jt.exports}var $i=Wi();const Oi=oe($i);var Qt={exports:{}},Hi=Qt.exports,tn;function Ni(){return tn||(tn=1,(function(t,e){(function(n,r){t.exports=r()})(Hi,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},P=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=(function(U){if(!U||U==="Z")return 0;var R=U.match(/([+-]|\d\d)/g),E=60*R[1]+(+R[2]||0);return E===0?0:R[0]==="+"?-E:E})(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var R,E=F.meridiem;if(E){for(var z=1;z<=24;z+=1)if(v.indexOf(E(z,0,U))>-1){R=z>12;break}}else R=v===(U?"pm":"PM");return R},X={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,R=v.match(/\d+/);if(this.day=R[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),R=(_("monthsShort")||U.map((function(E){return E.slice(0,3)}))).indexOf(v)+1;if(R<1)throw new Error;this.month=R%12||R}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:P,ZZ:P};function B(v){var U,R;U=v,R=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(x,C,M){var D=M&&M.toUpperCase();return C||R[M]||n[M]||R[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(c,g,b){return g||b.slice(1)}))}))).match(r),z=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=B(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,V=new Date,f=$||(K||l?1:V.getDate()),tt=K||V.getFullYear(),A=0;K&&!l||(A=l>0?l-1:V.getMonth());var Q,Z=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,Z,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,Z,st,at,pt)):(Q=new Date(tt,A,f,Z,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}})(T,L,k,R),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=R.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else z.call(this,G)}}}))})(Qt)),Qt.exports}var Pi=Ni();const Vi=oe(Pi);var Jt={exports:{}},Ri=Jt.exports,en;function zi(){return en||(en=1,(function(t,e){(function(n,r){t.exports=r()})(Ri,(function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}}));return s.bind(this)(w)}}}))})(Jt)),Jt.exports}var qi=zi();const Bi=oe(qi);var Kt={exports:{}},Zi=Kt.exports,nn;function Xi(){return nn||(nn=1,(function(t,e){(function(n,r){t.exports=r()})(Zi,(function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,P=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof z},X=function(T,k,p){return new z(T,p,k.$l)},B=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},R=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+R(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},z=(function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return X(p*_[B(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach((function(c){C.$d[B(c)]=p[c]})),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map((function(c){return c!=null?Number(c):0}));return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce((function(L,x){return L+(p.$d[x]||0)*_[x]}),0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(P,(function(C,M){return M||String(x[C])}))},k.as=function(p){return this.$ms/_[B(p)]},k.get=function(p){var L=this.$ms,x=B(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[B(L)]:Y(p)?p.$ms:X(p,this).$ms,X(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return X(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T})(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return X(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}}))})(Kt)),Kt.exports}var Gi=Xi();const ji=oe(Gi);var we=(function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],P=[1,9],_=[1,10],Y=[1,11],X=[1,12],B=[1,13],v=[1,14],U=[1,15],R=[1,16],E=[1,19],z=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:P,23:_,24:Y,25:X,26:B,27:v,28:U,29:R,30:E,31:z,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:P,23:_,24:Y,25:X,26:B,27:v,28:U,29:R,30:E,31:z,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var V=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,Z,st,at={},pt,ut,He,Bt;;){if(Q=b[b.length-1],this.defaultActions[Q]?Z=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),Z=W[Q]&&W[Q][A]),typeof Z>"u"||!Z.length||!Z[0]){var ce="";Bt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Bt.push("'"+this.terminals_[pt]+"'");H.showPosition?ce="Parse error on line "+(K+1)+`: +import{be as on,bf as On,bg as cn,bh as un,bi as ln,bj as ue,bk as Hn,g as Nn,s as Pn,o as Vn,n as Rn,a as zn,b as qn,_ as d,c as Yt,j as Zt,d as Bn,bl as it,l as Tt,k as Zn,G as Xn,p as Gn,x as jn}from"./mermaid.core-DCzavt_d.js";import{g as oe}from"./client-BPXDbY79.js";import{b as Qn,t as Ne,c as Jn,a as Kn,l as tr}from"./linear-B0ph5MIY.js";import{i as er}from"./init-Gi6I4Gst.js";import"./app-DiRg4AEn.js";import"./defaultLocale-DX6XiGOO.js";function nr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function rr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function ir(t){return t}var Gt=1,le=2,xe=3,Xt=4,Pe=1e-6;function sr(t){return"translate("+t+",0)"}function ar(t){return"translate(0,"+t+")"}function or(t){return e=>+t(e)}function cr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function ur(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===Xt?-1:1,w=t===Xt||t===le?"x":"y",P=t===Gt||t===xe?sr:ar;function _(Y){var X=r??(e.ticks?e.ticks.apply(e,n):e.domain()),B=i??(e.tickFormat?e.tickFormat.apply(e,n):ir),v=Math.max(s,0)+y,U=e.range(),R=+U[0]+F,E=+U[U.length-1]+F,z=(e.bandwidth?cr:or)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(X,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===xe?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Pe).attr("transform",function(M){return isFinite(M=z(M))?P(M+F):this.getAttribute("transform")}),L.attr("opacity",Pe).attr("transform",function(M){var D=this.parentNode.__axis;return P((D&&isFinite(D=D(M))?D:z(M))+F)})),p.remove(),T.attr("d",t===Xt||t===le?a?"M"+S*a+","+R+"H"+F+"V"+E+"H"+S*a:"M"+F+","+R+"V"+E:a?"M"+R+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+R+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return P(z(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(B),G.filter(ur).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===le?"start":t===Xt?"end":"middle"),G.each(function(){this.__axis=z})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function lr(t){return fn(Gt,t)}function fr(t){return fn(xe,t)}const dr=Math.PI/180,hr=180/Math.PI,ne=18,dn=.96422,hn=1,mn=.82521,gn=4/29,Ft=6/29,yn=3*Ft*Ft,mr=Ft*Ft*Ft;function kn(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return pn(t);t instanceof on||(t=On(t));var e=me(t.r),n=me(t.g),r=me(t.b),i=fe((.2225045*e+.7168786*n+.0606169*r)/hn),s,a;return e===n&&n===r?s=a=i:(s=fe((.4360747*e+.3850649*n+.1430804*r)/dn),a=fe((.0139322*e+.0971045*n+.7141733*r)/mn)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function gr(t,e,n,r){return arguments.length===1?kn(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}cn(ft,gr,un(ln,{brighter(t){return new ft(this.l+ne*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-ne*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=dn*de(e),t=hn*de(t),n=mn*de(n),new on(he(3.1338561*e-1.6168667*t-.4906146*n),he(-.9787684*e+1.9161415*t+.033454*n),he(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function fe(t){return t>mr?Math.pow(t,1/3):t/yn+gn}function de(t){return t>Ft?t*t*t:yn*(t-gn)}function he(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function me(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function yr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=kn(t)),t.a===0&&t.b===0)return new ht(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(ge.setTime(+s),ye.setTime(+a),t(ge),t(ye),Math.floor(n(ge,ye))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,Se=yt*7,Ve=yt*30,ke=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const Tr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());Tr.range;const Pt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Pt.range;const xr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());xr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const _e=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);_e.range;const br=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));br.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/Se)}const zt=Dt(0),Vt=Dt(1),vn=Dt(2),Tn=Dt(3),bt=Dt(4),xn=Dt(5),bn=Dt(6);zt.range;Vt.range;vn.range;Tn.range;bt.range;xn.range;bn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Se)}const wn=Mt(0),re=Mt(1),wr=Mt(2),Dr=Mt(3),It=Mt(4),Mr=Mt(5),Cr=Mt(6);wn.range;re.range;wr.range;Dr.range;It.range;Mr.range;Cr.range;const Rt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Rt.range;const Sr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Sr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function _r(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,Se],[e,1,Ve],[e,3,3*Ve],[t,1,ke]];function y(S,w,P){const _=wv).right(a,_);if(Y===a.length)return t.every(Ne(S/ke,w/ke,P));if(Y===0)return Et.every(Math.max(Ne(S,w,P),1));const[X,B]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ve($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?re.ceil(A):re(A),A=_e.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=pe($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Vt.ceil(A):Vt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ve($t(f.y,0,1)).getUTCDay():pe($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ve(f)):pe(f)}}function p(h,N,V,f){for(var tt=0,A=N.length,Q=V.length,Z,st;tt=Q)return-1;if(Z=N.charCodeAt(tt++),Z===37){if(Z=N.charAt(tt++),st=G[Z in Re?N.charAt(tt++):Z],!st||(f=st(h,V,f))<0)return-1}else if(Z!=V.charCodeAt(f++))return-1}return f}function L(h,N,V){var f=S.exec(N.slice(V));return f?(h.p=w.get(f[0].toLowerCase()),V+f[0].length):-1}function x(h,N,V){var f=Y.exec(N.slice(V));return f?(h.w=X.get(f[0].toLowerCase()),V+f[0].length):-1}function C(h,N,V){var f=P.exec(N.slice(V));return f?(h.w=_.get(f[0].toLowerCase()),V+f[0].length):-1}function M(h,N,V){var f=U.exec(N.slice(V));return f?(h.m=R.get(f[0].toLowerCase()),V+f[0].length):-1}function D(h,N,V){var f=B.exec(N.slice(V));return f?(h.m=v.get(f[0].toLowerCase()),V+f[0].length):-1}function c(h,N,V){return p(h,e,N,V)}function g(h,N,V){return p(h,n,N,V)}function b(h,N,V){return p(h,r,N,V)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",z);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Re={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Er=/^%/,Ir=/[\\^$*+?|[\]().{}]/g;function q(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function $r(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function qe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Nr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Be(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function qr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Br(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Zr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Xr(t,e,n){var r=Er.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Gr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function jr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Xe(t,e){return q(t.getDate(),e,2)}function Qr(t,e){return q(t.getHours(),e,2)}function Jr(t,e){return q(t.getHours()%12||12,e,2)}function Kr(t,e){return q(1+xt.count(kt(t),t),e,3)}function Dn(t,e){return q(t.getMilliseconds(),e,3)}function ti(t,e){return Dn(t,e)+"000"}function ei(t,e){return q(t.getMonth()+1,e,2)}function ni(t,e){return q(t.getMinutes(),e,2)}function ri(t,e){return q(t.getSeconds(),e,2)}function ii(t){var e=t.getDay();return e===0?7:e}function si(t,e){return q(zt.count(kt(t)-1,t),e,2)}function Mn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ai(t,e){return t=Mn(t),q(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function oi(t){return t.getDay()}function ci(t,e){return q(Vt.count(kt(t)-1,t),e,2)}function ui(t,e){return q(t.getFullYear()%100,e,2)}function li(t,e){return t=Mn(t),q(t.getFullYear()%100,e,2)}function fi(t,e){return q(t.getFullYear()%1e4,e,4)}function di(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),q(t.getFullYear()%1e4,e,4)}function hi(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+q(e/60|0,"0",2)+q(e%60,"0",2)}function Ge(t,e){return q(t.getUTCDate(),e,2)}function mi(t,e){return q(t.getUTCHours(),e,2)}function gi(t,e){return q(t.getUTCHours()%12||12,e,2)}function yi(t,e){return q(1+_e.count(wt(t),t),e,3)}function Cn(t,e){return q(t.getUTCMilliseconds(),e,3)}function ki(t,e){return Cn(t,e)+"000"}function pi(t,e){return q(t.getUTCMonth()+1,e,2)}function vi(t,e){return q(t.getUTCMinutes(),e,2)}function Ti(t,e){return q(t.getUTCSeconds(),e,2)}function xi(t){var e=t.getUTCDay();return e===0?7:e}function bi(t,e){return q(wn.count(wt(t)-1,t),e,2)}function Sn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function wi(t,e){return t=Sn(t),q(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function Di(t){return t.getUTCDay()}function Mi(t,e){return q(re.count(wt(t)-1,t),e,2)}function Ci(t,e){return q(t.getUTCFullYear()%100,e,2)}function Si(t,e){return t=Sn(t),q(t.getUTCFullYear()%100,e,2)}function _i(t,e){return q(t.getUTCFullYear()%1e4,e,4)}function Yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),q(t.getUTCFullYear()%1e4,e,4)}function Fi(){return"+0000"}function je(){return"%"}function Qe(t){return+t}function Je(t){return Math.floor(+t/1e3)}var St,ie;Ui({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ui(t){return St=Ur(t),ie=St.format,St.parse,St.utcFormat,St.utcParse,St}function Ei(t){return new Date(t)}function Ii(t){return t instanceof Date?+t:+new Date(+t)}function _n(t,e,n,r,i,s,a,y,F,S){var w=Jn(),P=w.invert,_=w.domain,Y=S(".%L"),X=S(":%S"),B=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),R=S("%b %d"),E=S("%B"),z=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return X.diff(B,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var P=this.$utils(),_=!!P.u(w)||w;return P.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}}))})(jt)),jt.exports}var $i=Wi();const Oi=oe($i);var Qt={exports:{}},Hi=Qt.exports,tn;function Ni(){return tn||(tn=1,(function(t,e){(function(n,r){t.exports=r()})(Hi,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},P=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=(function(U){if(!U||U==="Z")return 0;var R=U.match(/([+-]|\d\d)/g),E=60*R[1]+(+R[2]||0);return E===0?0:R[0]==="+"?-E:E})(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var R,E=F.meridiem;if(E){for(var z=1;z<=24;z+=1)if(v.indexOf(E(z,0,U))>-1){R=z>12;break}}else R=v===(U?"pm":"PM");return R},X={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,R=v.match(/\d+/);if(this.day=R[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),R=(_("monthsShort")||U.map((function(E){return E.slice(0,3)}))).indexOf(v)+1;if(R<1)throw new Error;this.month=R%12||R}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:P,ZZ:P};function B(v){var U,R;U=v,R=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(x,C,M){var D=M&&M.toUpperCase();return C||R[M]||n[M]||R[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(c,g,b){return g||b.slice(1)}))}))).match(r),z=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=B(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,V=new Date,f=$||(K||l?1:V.getDate()),tt=K||V.getFullYear(),A=0;K&&!l||(A=l>0?l-1:V.getMonth());var Q,Z=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,Z,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,Z,st,at,pt)):(Q=new Date(tt,A,f,Z,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}})(T,L,k,R),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=R.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else z.call(this,G)}}}))})(Qt)),Qt.exports}var Pi=Ni();const Vi=oe(Pi);var Jt={exports:{}},Ri=Jt.exports,en;function zi(){return en||(en=1,(function(t,e){(function(n,r){t.exports=r()})(Ri,(function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}}));return s.bind(this)(w)}}}))})(Jt)),Jt.exports}var qi=zi();const Bi=oe(qi);var Kt={exports:{}},Zi=Kt.exports,nn;function Xi(){return nn||(nn=1,(function(t,e){(function(n,r){t.exports=r()})(Zi,(function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,P=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof z},X=function(T,k,p){return new z(T,p,k.$l)},B=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},R=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+R(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},z=(function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return X(p*_[B(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach((function(c){C.$d[B(c)]=p[c]})),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map((function(c){return c!=null?Number(c):0}));return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce((function(L,x){return L+(p.$d[x]||0)*_[x]}),0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(P,(function(C,M){return M||String(x[C])}))},k.as=function(p){return this.$ms/_[B(p)]},k.get=function(p){var L=this.$ms,x=B(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[B(L)]:Y(p)?p.$ms:X(p,this).$ms,X(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return X(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T})(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return X(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}}))})(Kt)),Kt.exports}var Gi=Xi();const ji=oe(Gi);var we=(function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],P=[1,9],_=[1,10],Y=[1,11],X=[1,12],B=[1,13],v=[1,14],U=[1,15],R=[1,16],E=[1,19],z=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:P,23:_,24:Y,25:X,26:B,27:v,28:U,29:R,30:E,31:z,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:P,23:_,24:Y,25:X,26:B,27:v,28:U,29:R,30:E,31:z,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var V=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,Z,st,at={},pt,ut,He,Bt;;){if(Q=b[b.length-1],this.defaultActions[Q]?Z=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),Z=W[Q]&&W[Q][A]),typeof Z>"u"||!Z.length||!Z[0]){var ce="";Bt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Bt.push("'"+this.terminals_[pt]+"'");H.showPosition?ce="Parse error on line "+(K+1)+`: `+H.showPosition()+` Expecting `+Bt.join(", ")+", got '"+(this.terminals_[A]||A)+"'":ce="Parse error on line "+(K+1)+": Unexpected "+(A==O?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(ce,{text:H.match,token:this.terminals_[A]||A,line:H.yylineno,loc:N,expected:Bt})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+A);switch(Z[0]){case 1:b.push(A),I.push(H.yytext),o.push(H.yylloc),b.push(Z[1]),A=null,l=H.yyleng,u=H.yytext,K=H.yylineno,N=H.yylloc;break;case 2:if(ut=this.productions_[Z[1]][1],at.$=I[I.length-ut],at._$={first_line:o[o.length-(ut||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ut||1)].first_column,last_column:o[o.length-1].last_column},V&&(at._$.range=[o[o.length-(ut||1)].range[0],o[o.length-1].range[1]]),st=this.performAction.apply(at,[u,l,K,J.yy,Z[1],I,o].concat(j)),typeof st<"u")return st;ut&&(b=b.slice(0,-1*ut*2),I=I.slice(0,-1*ut),o=o.slice(0,-1*ut)),b.push(this.productions_[Z[1]][0]),I.push(at.$),o.push(at._$),He=W[b[b.length-2]][b[b.length-1]],b.push(He);break;case 3:return!0}}return!0},"parse")},C=(function(){var D={EOF:1,parseError:d(function(g,b){if(this.yy.parser)this.yy.parser.parseError(g,b);else throw new Error(g)},"parseError"),setInput:d(function(c,g){return this.yy=g||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var g=c.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:d(function(c){var g=c.length,b=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===m.length?this.yylloc.first_column:0)+m[m.length-b.length].length-b[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(c){this.unput(this.match.slice(c))},"less"),pastInput:d(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var c=this.pastInput(),g=new Array(c.length+1).join("-");return c+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-BkLhRzpH.js b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js similarity index 99% rename from amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-BkLhRzpH.js rename to amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js index d86ab2ad8..09fe45e8a 100644 --- a/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-BkLhRzpH.js +++ b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js @@ -1,4 +1,4 @@ -import{I as he}from"./chunk-2Q5K7J3B-h1yMEKAe.js";import{p as $e}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{o as fe,n as ge,s as ue,g as ye,a as xe,b as me,_ as $,y as Q,l as k,j as pe,c as z,x as be,z as we,p as ke,k as L,A as ve,B as Ce,C as Ee}from"./mermaid.core-Db1rVExV.js";import{p as Be}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=Ce.gitGraph,D=$(()=>ve({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Ae=$(function(){i.reset(),ke()},"clear"),Se=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),Pe=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),We=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Ae,getBranchesAsObjArray:Se,getBranches:De,getCommits:Pe,getCommitsArray:se,getCurrentBranch:We,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Be("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,A=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),S=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${S(s,A,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${S(s,A,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${S(s,A,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` +import{I as he}from"./chunk-2Q5K7J3B-DutsbiAD.js";import{p as $e}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{o as fe,n as ge,s as ue,g as ye,a as xe,b as me,_ as $,y as Q,l as k,j as pe,c as z,x as be,z as we,p as ke,k as L,A as ve,B as Ce,C as Ee}from"./mermaid.core-DCzavt_d.js";import{p as Be}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=Ce.gitGraph,D=$(()=>ve({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Ae=$(function(){i.reset(),ke()},"clear"),Se=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),Pe=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),We=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Ae,getBranchesAsObjArray:Se,getBranches:De,getCommits:Pe,getCommitsArray:se,getCurrentBranch:We,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Be("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,A=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),S=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${S(s,A,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${S(s,A,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${S(s,A,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` ${o-n/2-M/2},${u+I} ${o-n/2-M/2},${u-I} ${t.posWithOffset-n/2-M},${u-x-I} diff --git a/amplifier_web/static/assets/infoDiagram-27XIBGKW-CK_gEKA1.js b/amplifier_web/static/assets/infoDiagram-27XIBGKW-DidagdPH.js similarity index 68% rename from amplifier_web/static/assets/infoDiagram-27XIBGKW-CK_gEKA1.js rename to amplifier_web/static/assets/infoDiagram-27XIBGKW-DidagdPH.js index c8a13d406..d059521c3 100644 --- a/amplifier_web/static/assets/infoDiagram-27XIBGKW-CK_gEKA1.js +++ b/amplifier_web/static/assets/infoDiagram-27XIBGKW-DidagdPH.js @@ -1,2 +1,2 @@ -import{_ as e,l as s,D as n,d as i}from"./mermaid.core-Db1rVExV.js";import{p}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"11.17.2"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram +import{_ as e,l as s,D as n,d as i}from"./mermaid.core-DCzavt_d.js";import{p}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"11.17.2"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram `+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:c},w={parser:g,db:m,renderer:l};export{w as diagram}; diff --git a/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-b9XB65fS.js b/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js similarity index 99% rename from amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-b9XB65fS.js rename to amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js index 389788f0f..dd575ff9d 100644 --- a/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-b9XB65fS.js +++ b/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js @@ -1,4 +1,4 @@ -import{_ as o,c as ot,L as ut,D as dt,am as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as mt,s as wt,o as _t,d as bt}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(j,"popStack");function z(){var P;return P=u.pop()||b.lex()||E,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}o(z,"lex");for(var A,W,B,q,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),B=v[W]&&v[W][A]),typeof B>"u"||!B.length||!B[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`: +import{_ as o,c as ot,L as ut,D as dt,am as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as mt,s as wt,o as _t,d as bt}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(j,"popStack");function z(){var P;return P=u.pop()||b.lex()||E,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}o(z,"lex");for(var A,W,B,q,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),B=v[W]&&v[W][A]),typeof B>"u"||!B.length||!B[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`: `+b.showPosition()+` Expecting `+Y.join(", ")+", got '"+(this.terminals_[A]||A)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(Q,{text:b.match,token:this.terminals_[A]||A,line:b.yylineno,loc:T,expected:Y})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(B[0]){case 1:i.push(A),p.push(b.yytext),n.push(b.yylloc),i.push(B[1]),A=null,S=b.yyleng,w=b.yytext,I=b.yylineno,T=b.yylloc;break;case 2:if(V=this.productions_[B[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(H,[w,S,I,C.yy,B[1],p,n].concat(R)),typeof q<"u")return q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[B[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=(function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-onVNO-Ru.js b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js similarity index 98% rename from amplifier_web/static/assets/journeyDiagram-3NMN7TZE-onVNO-Ru.js rename to amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js index e5c20c0b4..5df32ea54 100644 --- a/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-onVNO-Ru.js +++ b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js @@ -1,4 +1,4 @@ -import{g as gt}from"./chunk-5VM5RSS4-DRn7AX50.js";import{a as mt,b as lt,h as xt,d as kt}from"./chunk-F27PBJKO-nNeL4pO3.js";import{g as _t,s as vt,a as bt,b as wt,o as Tt,n as St,_ as s,c as R,j as X,d as $t,p as Mt}from"./mermaid.core-Db1rVExV.js";import{d as it}from"./arc-C0HCYinx.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`: +import{g as gt}from"./chunk-5VM5RSS4-BvUIUVyo.js";import{a as mt,b as lt,h as xt,d as kt}from"./chunk-F27PBJKO-CeZTmtp_.js";import{g as _t,s as vt,a as bt,b as wt,o as Tt,n as St,_ as s,c as R,j as X,d as $t,p as Mt}from"./mermaid.core-DCzavt_d.js";import{d as it}from"./arc-BZobgCN0.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`: `+_.showPosition()+` Expecting `+z.join(", ")+", got '"+(this.terminals_[b]||b)+"'":H="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(H,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=(function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/kanban-definition-UXKFOSKX-5AJlkhrf.js b/amplifier_web/static/assets/kanban-definition-UXKFOSKX-5vHpqxqi.js similarity index 99% rename from amplifier_web/static/assets/kanban-definition-UXKFOSKX-5AJlkhrf.js rename to amplifier_web/static/assets/kanban-definition-UXKFOSKX-5vHpqxqi.js index faaf7db5a..41cadb605 100644 --- a/amplifier_web/static/assets/kanban-definition-UXKFOSKX-5AJlkhrf.js +++ b/amplifier_web/static/assets/kanban-definition-UXKFOSKX-5vHpqxqi.js @@ -1,4 +1,4 @@ -import{_ as c,l as te,c as W,D as fe,ae as ye,af as be,ag as me,X as _e,B as Y,i as G,H as ke,J as Ee,U as Se,V as le,W as ce}from"./mermaid.core-Db1rVExV.js";import{g as Ne}from"./chunk-5VM5RSS4-DRn7AX50.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var $=(function(){var t=c(function(_,s,n,a){for(n=n||{},a=_.length;a--;n[_[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],k=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],U=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],H=[1,35],M=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:U}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(P,[2,14],{7:H,11:M}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:U}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:H,11:M}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var q=m.yylloc;e.push(q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var E,R,v,Q,F={},X,I,oe,K;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((E===null||typeof E>"u")&&(E=ae()),v=B[R]&&B[R][E]),typeof v>"u"||!v.length||!v[0]){var Z="";K=[];for(X in B[R])this.terminals_[X]&&X>ue&&K.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: +import{_ as c,l as te,c as W,D as fe,ae as ye,af as be,ag as me,X as _e,B as Y,i as G,H as ke,J as Ee,U as Se,V as le,W as ce}from"./mermaid.core-DCzavt_d.js";import{g as Ne}from"./chunk-5VM5RSS4-BvUIUVyo.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var $=(function(){var t=c(function(_,s,n,a){for(n=n||{},a=_.length;a--;n[_[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],k=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],U=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],H=[1,35],M=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:U}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(P,[2,14],{7:H,11:M}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:U}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:H,11:M}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var q=m.yylloc;e.push(q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var E,R,v,Q,F={},X,I,oe,K;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((E===null||typeof E>"u")&&(E=ae()),v=B[R]&&B[R][E]),typeof v>"u"||!v.length||!v[0]){var Z="";K=[];for(X in B[R])this.terminals_[X]&&X>ue&&K.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: `+m.showPosition()+` Expecting `+K.join(", ")+", got '"+(this.terminals_[E]||E)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(E==re?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(Z,{text:m.match,token:this.terminals_[E]||E,line:m.yylineno,loc:q,expected:K})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+E);switch(v[0]){case 1:a.push(E),u.push(m.yytext),e.push(m.yylloc),a.push(v[1]),E=null,ie=m.yyleng,l=m.yytext,z=m.yylineno,q=m.yylloc;break;case 2:if(I=this.productions_[v[1]][1],F.$=u[u.length-I],F._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},de&&(F._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),Q=this.performAction.apply(F,[l,ie,z,T.yy,v[1],u,e].concat(ge)),typeof Q<"u")return Q;I&&(a=a.slice(0,-1*I*2),u=u.slice(0,-1*I),e=e.slice(0,-1*I)),a.push(this.productions_[v[1]][0]),u.push(F.$),e.push(F._$),oe=B[a[a.length-2]][a[a.length-1]],a.push(oe);break;case 3:return!0}}return!0},"parse")},y=(function(){var _={EOF:1,parseError:c(function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},"parseError"),setInput:c(function(s,n){return this.yy=n||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:c(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var n=s.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:c(function(s){var n=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===o.length?this.yylloc.first_column:0)+o[o.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:c(function(){return this._more=!0,this},"more"),reject:c(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:c(function(s){this.unput(this.match.slice(s))},"less"),pastInput:c(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:c(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:c(function(){var s=this.pastInput(),n=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/layout-DVk1QBeS.js b/amplifier_web/static/assets/layout-C8YZk5aC.js similarity index 99% rename from amplifier_web/static/assets/layout-DVk1QBeS.js rename to amplifier_web/static/assets/layout-C8YZk5aC.js index a5f612239..2cf074463 100644 --- a/amplifier_web/static/assets/layout-DVk1QBeS.js +++ b/amplifier_web/static/assets/layout-C8YZk5aC.js @@ -1 +1 @@ -import{bm as B,bn as y,bo as ye,bp as V,bq as U,br as Ue,bs as oe,bt as We,bu as In,bv as qe,bw as _n,bx as kn,by as jn,bz as ue,bA as An,bB as Mn,bC as xe,bD as Oe,bE as fe,bF as de,bG as G,bH as Xe,bI as He,bJ as Rn,bK as T,bL as Sn,bM as $n,bN as Fn,bO as Ee,bP as Bn,bQ as Ke,bR as N,bS as Gn,bT as Dn,bU as Yn,bV as S,bW as ze,bX as Je,bY as Vn,bZ as se,b_ as Ze,b$ as Un,c0 as Qe,c1 as Wn,c2 as qn,P as x,c3 as c,c4 as Xn,c5 as m,c6 as M,c7 as P,c8 as W}from"./mermaid.core-Db1rVExV.js";var Hn=/\s/;function Kn(e){for(var n=e.length;n--&&Hn.test(e.charAt(n)););return n}var zn=/^\s+/;function Jn(e){return e&&e.slice(0,Kn(e)+1).replace(zn,"")}var Te=NaN,Zn=/^[-+]0x[0-9a-f]+$/i,Qn=/^0b[01]+$/i,er=/^0o[0-7]+$/i,nr=parseInt;function rr(e){if(typeof e=="number")return e;if(B(e))return Te;if(y(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=y(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Jn(e);var r=Qn.test(e);return r||er.test(e)?nr(e.slice(2),r?2:8):Zn.test(e)?Te:+e}var Pe=1/0,tr=17976931348623157e292;function $(e){if(!e)return e===0?e:0;if(e=rr(e),e===Pe||e===-Pe){var n=e<0?-1:1;return n*tr}return e===e?e:0}function ir(e){var n=$(e),r=n%1;return n===n?r?n-r:n:0}var Le=Object.create,ar=(function(){function e(){}return function(n){if(!y(n))return{};if(Le)return Le(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}})();function or(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,a&&k(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),n=Object(n);++t2?n[2]:void 0;for(i&&k(n[0],n[1],i)&&(t=1);++r-1?i[o?n[a]:a]:void 0}}var Mt=Math.max;function Rt(e,n,r){var t=e==null?0:e.length;if(!t)return-1;var i=r==null?0:ir(r);return i<0&&(i=Mt(t+i,0)),Dn(e,N(n),i)}var le=At(Rt);function ln(e,n){var r=-1,t=U(e)?Array(e.length):[];return Yn(e,function(i,o,a){t[++r]=n(i,o,a)}),t}function g(e,n){var r=T(e)?S:ln;return r(e,N(n))}function St(e,n){return e==null?e:Ke(e,ze(n),H)}function $t(e,n){return e&&Je(e,ze(n))}function Ft(e,n){return e>n}var Bt=Object.prototype,Gt=Bt.hasOwnProperty;function Dt(e,n){return e!=null&&Gt.call(e,n)}function hn(e,n){return e!=null&&Vn(e,n,Dt)}function vn(e,n){return en||o&&a&&f&&!u&&!d||t&&a&&f||!r&&f||!i)return 1;if(!t&&!o&&!d&&e=u)return f;var d=r[t];return f*(d=="desc"?-1:1)}}return e.index-n.index}function Xt(e,n,r){n.length?n=S(n,function(o){return T(o)?function(a){return Qe(a,o.length===1?o[0]:o)}:o}):n=[se];var t=-1;n=S(n,de(N));var i=ln(e,function(o,a,u){var f=S(n,function(d){return d(o)});return{criteria:f,index:++t,value:o}});return Ut(i,function(o,a){return qt(o,a,r)})}function Ht(e,n){return Vt(e,n,function(r,t){return Wn(e,t)})}var Y=pr(function(e,n){return e==null?{}:Ht(e,n)}),Kt=Math.ceil,zt=Math.max;function Jt(e,n,r,t){for(var i=-1,o=zt(Kt((n-e)/(r||1)),0),a=Array(o);o--;)a[++i]=e,e+=r;return a}function Zt(e){return function(n,r,t){return t&&typeof t!="number"&&k(n,r,t)&&(r=t=void 0),n=$(n),r===void 0?(r=n,n=0):r=$(r),t=t===void 0?n1&&k(e,n[0],n[1])?n=[]:r>2&&k(n[0],n[1],n[2])&&(n=[n[0]]),Xt(e,qe(n),[])}),Qt=0;function pe(e){var n=++Qt;return qn(e)+n}function ei(e,n,r){for(var t=-1,i=e.length,o=n.length,a={};++t0;--u)if(a=n[u].dequeue(),a){t=t.concat(J(e,n,r,a,!0));break}}}return t}function J(e,n,r,t,i){var o=i?[]:void 0;return c(e.inEdges(t.v),function(a){var u=e.edge(a),f=e.node(a.v);i&&o.push({v:a.v,w:a.w}),f.out-=u,ae(n,r,f)}),c(e.outEdges(t.v),function(a){var u=e.edge(a),f=a.w,d=e.node(f);d.in-=u,ae(n,r,d)}),e.removeNode(t.v),o}function ui(e,n){var r=new x,t=0,i=0;c(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(e.edges(),function(u){var f=r.edge(u.v,u.w)||0,d=n(u),s=f+d;r.setEdge(u.v,u.w,s),i=Math.max(i,r.node(u.v).out+=d),t=Math.max(t,r.node(u.w).in+=d)});var o=L(i+t+3).map(function(){return new ri}),a=t+1;return c(r.nodes(),function(u){ae(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function ae(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function fi(e){var n=e.graph().acyclicer==="greedy"?ai(e,r(e)):di(e);c(n,function(t){var i=e.edge(t);e.removeEdge(t),i.forwardName=t.name,i.reversed=!0,e.setEdge(t.w,t.v,i,pe("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function di(e){var n=[],r={},t={};function i(o){Object.prototype.hasOwnProperty.call(t,o)||(t[o]=!0,r[o]=!0,c(e.outEdges(o),function(a){Object.prototype.hasOwnProperty.call(r,a.w)?n.push(a):i(a.w)}),delete r[o])}return c(e.nodes(),i),n}function si(e){c(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function I(e,n,r,t){var i;do i=pe(t);while(e.hasNode(i));return r.dummy=n,e.setNode(i,r),i}function ci(e){var n=new x().setGraph(e.graph());return c(e.nodes(),function(r){n.setNode(r,e.node(r))}),c(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),n}function pn(e){var n=new x({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),c(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function Re(e,n){var r=e.x,t=e.y,i=n.x-r,o=n.y-t,a=e.width/2,u=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var f,d;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),f=u*i/o,d=u):(i<0&&(a=-a),f=a,d=a*o/i),{x:r+f,y:t+d}}function z(e){var n=g(L(bn(e)+1),function(){return[]});return c(e.nodes(),function(r){var t=e.node(r),i=t.rank;m(i)||(n[i][t.order]=r)}),n}function li(e){var n=j(g(e.nodes(),function(r){return e.node(r).rank}));c(e.nodes(),function(r){var t=e.node(r);hn(t,"rank")&&(t.rank-=n)})}function hi(e){var n=j(g(e.nodes(),function(o){return e.node(o).rank})),r=[];c(e.nodes(),function(o){var a=e.node(o).rank-n;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=e.graph().nodeRankFactor;c(r,function(o,a){m(o)&&a%i!==0?--t:t&&c(o,function(u){e.node(u).rank+=t})})}function Se(e,n,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),I(e,"border",i,n)}function bn(e){return O(g(e.nodes(),function(n){var r=e.node(n).rank;if(!m(r))return r}))}function vi(e,n){var r={lhs:[],rhs:[]};return c(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function pi(e,n){return n()}function bi(e){function n(r){var t=e.children(r),i=e.node(r);if(t.length&&c(t,n),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,f=!0);var d=M(n.edges(),function(s){return f===Be(e,e.node(s.v),u)&&f!==Be(e,e.node(s.w),u)});return ve(d,function(s){return A(n,s)})}function Pn(e,n,r,t){var i=r.v,o=r.w;e.removeEdge(i,o),e.setEdge(t.v,t.w,{}),ge(e),we(e,n),ki(e,n)}function ki(e,n){var r=le(e.nodes(),function(i){return!n.node(i).parent}),t=Ii(e,r);t=t.slice(1),c(t,function(i){var o=e.node(i).parent,a=n.edge(i,o),u=!1;a||(a=n.edge(o,i),u=!0),n.node(i).rank=n.node(o).rank+(u?a.minlen:-a.minlen)})}function ji(e,n,r){return e.hasEdge(n,r)}function Be(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function Ai(e){switch(e.graph().ranker){case"network-simplex":Ge(e);break;case"tight-tree":Ri(e);break;case"longest-path":Mi(e);break;default:Ge(e)}}var Mi=be;function Ri(e){be(e),gn(e)}function Ge(e){E(e)}function Si(e){var n=I(e,"root",{},"_root"),r=$i(e),t=O(P(r))-1,i=2*t+1;e.graph().nestingRoot=n,c(e.edges(),function(a){e.edge(a).minlen*=i});var o=Fi(e)+1;c(e.children(),function(a){Ln(e,n,i,o,t,r,a)}),e.graph().nodeRankFactor=i}function Ln(e,n,r,t,i,o,a){var u=e.children(a);if(!u.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:r});return}var f=Se(e,"_bt"),d=Se(e,"_bb"),s=e.node(a);e.setParent(f,a),s.borderTop=f,e.setParent(d,a),s.borderBottom=d,c(u,function(l){Ln(e,n,r,t,i,o,l);var h=e.node(l),p=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,w=h.borderTop?t:2*t,_=p!==v?1:i-o[a]+1;e.setEdge(f,p,{weight:w,minlen:_,nestingEdge:!0}),e.setEdge(v,d,{weight:w,minlen:_,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,f,{weight:0,minlen:i+o[a]})}function $i(e){var n={};function r(t,i){var o=e.children(t);o&&o.length&&c(o,function(a){r(a,i+1)}),n[t]=i}return c(e.children(),function(t){r(t,1)}),n}function Fi(e){return W(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function Bi(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,c(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function Gi(e,n,r){var t={},i;c(r,function(o){for(var a=e.parent(o),u,f;a;){if(u=e.parent(a),u?(f=t[u],t[u]=a):(f=i,i=a),f&&f!==a){n.setEdge(f,a);return}a=u}})}function Di(e,n,r){var t=Yi(e),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return e.node(o)});return c(e.nodes(),function(o){var a=e.node(o),u=e.parent(o);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),c(e[r](o),function(f){var d=f.v===o?f.w:f.v,s=i.edge(d,o),l=m(s)?0:s.weight;i.setEdge(d,o,{weight:e.edge(f).weight+l})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),i}function Yi(e){for(var n;e.hasNode(n=pe("_root")););return n}function Vi(e,n){for(var r=0,t=1;t0;)s%2&&(l+=u[s+1]),s=s-1>>1,u[s]+=d.weight;f+=d.weight*l})),f}function Wi(e){var n={},r=M(e.nodes(),function(u){return!e.children(u).length}),t=O(g(r,function(u){return e.node(u).rank})),i=g(L(t+1),function(){return[]});function o(u){if(!hn(n,u)){n[u]=!0;var f=e.node(u);i[f.rank].push(u),c(e.successors(u),o)}}var a=R(r,function(u){return e.node(u).rank});return c(a,o),i}function qi(e,n){return g(n,function(r){var t=e.inEdges(r);if(t.length){var i=W(t,function(o,a){var u=e.edge(a),f=e.node(a.v);return{sum:o.sum+u.weight*f.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Xi(e,n){var r={};c(e,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};m(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),c(n.edges(),function(i){var o=r[i.v],a=r[i.w];!m(o)&&!m(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Hi(t)}function Hi(e){var n=[];function r(o){return function(a){a.merged||(m(a.barycenter)||m(o.barycenter)||a.barycenter>=o.barycenter)&&Ki(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();n.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return g(M(n,function(o){return!o.merged}),function(o){return Y(o,["vs","i","barycenter","weight"])})}function Ki(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function zi(e,n){var r=vi(e,function(s){return Object.prototype.hasOwnProperty.call(s,"barycenter")}),t=r.lhs,i=R(r.rhs,function(s){return-s.i}),o=[],a=0,u=0,f=0;t.sort(Ji(!!n)),f=De(o,i,f),c(t,function(s){f+=s.vs.length,o.push(s.vs),a+=s.barycenter*s.weight,u+=s.weight,f=De(o,i,f)});var d={vs:C(o)};return u&&(d.barycenter=a/u,d.weight=u),d}function De(e,n,r){for(var t;n.length&&(t=D(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function Ji(e){return function(n,r){return n.barycenterr.barycenter?1:e?r.i-n.i:n.i-r.i}}function Nn(e,n,r,t){var i=e.children(n),o=e.node(n),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,f={};a&&(i=M(i,function(v){return v!==a&&v!==u}));var d=qi(e,i);c(d,function(v){if(e.children(v.v).length){var w=Nn(e,v.v,r,t);f[v.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&Qi(v,w)}});var s=Xi(d,r);Zi(s,f);var l=zi(s,t);if(a&&(l.vs=C([a,l.vs,u]),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(u)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+p.order)/(l.weight+2),l.weight+=2}return l}function Zi(e,n){c(e,function(r){r.vs=C(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function Qi(e,n){m(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function ea(e){var n=bn(e),r=Ye(e,L(1,n+1),"inEdges"),t=Ye(e,L(n-1,-1,-1),"outEdges"),i=Wi(e);Ve(e,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,f=0;f<4;++u,++f){na(u%2?r:t,u%4>=2),i=z(e);var d=Vi(e,i);da||u>n[f].lim));for(d=f,f=t;(f=e.parent(f))!==d;)o.push(f);return{path:i.concat(o.reverse()),lca:d}}function ia(e){var n={},r=0;function t(i){var o=r;c(e.children(i),t),n[i]={low:o,lim:r++}}return c(e.children(),t),n}function aa(e,n){var r={};function t(i,o){var a=0,u=0,f=i.length,d=D(o);return c(o,function(s,l){var h=ua(e,s),p=h?e.node(h).order:f;(h||s===d)&&(c(o.slice(u,l+1),function(v){c(e.predecessors(v),function(w){var _=e.node(w),me=_.order;(med)&&Cn(r,h,s)})})}function i(o,a){var u=-1,f,d=0;return c(a,function(s,l){if(e.node(s).dummy==="border"){var h=e.predecessors(s);h.length&&(f=e.node(h[0]).order,t(a,d,l,u,f),d=l,u=f)}t(a,d,a.length,f,o.length)}),a}return W(n,i),r}function ua(e,n){if(e.node(n).dummy)return le(e.predecessors(n),function(r){return e.node(r).dummy})}function Cn(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[n];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function fa(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function da(e,n,r,t){var i={},o={},a={};return c(n,function(u){c(u,function(f,d){i[f]=f,o[f]=f,a[f]=d})}),c(n,function(u){var f=-1;c(u,function(d){var s=t(d);if(s.length){s=R(s,function(w){return a[w]});for(var l=(s.length-1)/2,h=Math.floor(l),p=Math.ceil(l);h<=p;++h){var v=s[h];o[d]===d&&f{var t=r(" buildLayoutGraph",()=>_a(e));r(" runLayout",()=>ya(t,r)),r(" updateInputGraph",()=>xa(e,t))})}function ya(e,n){n(" makeSpaceForEdgeLabels",()=>ka(e)),n(" removeSelfEdges",()=>Ga(e)),n(" acyclic",()=>fi(e)),n(" nestingGraph.run",()=>Si(e)),n(" rank",()=>Ai(pn(e))),n(" injectEdgeLabelProxies",()=>ja(e)),n(" removeEmptyRanks",()=>hi(e)),n(" nestingGraph.cleanup",()=>Bi(e)),n(" normalizeRanks",()=>li(e)),n(" assignRankMinMax",()=>Aa(e)),n(" removeEdgeLabelProxies",()=>Ma(e)),n(" normalize.run",()=>xi(e)),n(" parentDummyChains",()=>ra(e)),n(" addBorderSegments",()=>bi(e)),n(" order",()=>ea(e)),n(" insertSelfEdges",()=>Da(e)),n(" adjustCoordinateSystem",()=>wi(e)),n(" position",()=>ga(e)),n(" positionSelfEdges",()=>Ya(e)),n(" removeBorderNodes",()=>Ba(e)),n(" normalize.undo",()=>Ei(e)),n(" fixupEdgeLabelCoords",()=>$a(e)),n(" undoCoordinateSystem",()=>gi(e)),n(" translateGraph",()=>Ra(e)),n(" assignNodeIntersects",()=>Sa(e)),n(" reversePoints",()=>Fa(e)),n(" acyclic.undo",()=>si(e))}function xa(e,n){c(e.nodes(),function(r){var t=e.node(r),i=n.node(r);t&&(t.x=i.x,t.y=i.y,n.children(r).length&&(t.width=i.width,t.height=i.height))}),c(e.edges(),function(r){var t=e.edge(r),i=n.edge(r);t.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(t.x=i.x,t.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Oa=["nodesep","edgesep","ranksep","marginx","marginy"],Ea={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Ta=["acyclicer","ranker","rankdir","align"],Pa=["width","height"],La={width:0,height:0},Na=["minlen","weight","width","height","labeloffset"],Ca={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ia=["labelpos"];function _a(e){var n=new x({multigraph:!0,compound:!0}),r=ne(e.graph());return n.setGraph(ie({},Ea,ee(r,Oa),Y(r,Ta))),c(e.nodes(),function(t){var i=ne(e.node(t));n.setNode(t,_t(ee(i,Pa),La)),n.setParent(t,e.parent(t))}),c(e.edges(),function(t){var i=ne(e.edge(t));n.setEdge(t,ie({},Ca,ee(i,Na),Y(i,Ia)))}),n}function ka(e){var n=e.graph();n.ranksep/=2,c(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function ja(e){c(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),i=e.node(n.w),o={rank:(i.rank-t.rank)/2+t.rank,e:n};I(e,"edge-proxy",o,"_ep")}})}function Aa(e){var n=0;c(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=O(n,t.maxRank))}),e.graph().maxRank=n}function Ma(e){c(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function Ra(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,u=o.marginy||0;function f(d){var s=d.x,l=d.y,h=d.width,p=d.height;n=Math.min(n,s-h/2),r=Math.max(r,s+h/2),t=Math.min(t,l-p/2),i=Math.max(i,l+p/2)}c(e.nodes(),function(d){f(e.node(d))}),c(e.edges(),function(d){var s=e.edge(d);Object.prototype.hasOwnProperty.call(s,"x")&&f(s)}),n-=a,t-=u,c(e.nodes(),function(d){var s=e.node(d);s.x-=n,s.y-=t}),c(e.edges(),function(d){var s=e.edge(d);c(s.points,function(l){l.x-=n,l.y-=t}),Object.prototype.hasOwnProperty.call(s,"x")&&(s.x-=n),Object.prototype.hasOwnProperty.call(s,"y")&&(s.y-=t)}),o.width=r-n+a,o.height=i-t+u}function Sa(e){c(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),i=e.node(n.w),o,a;r.points?(o=r.points[0],a=r.points[r.points.length-1]):(r.points=[],o=i,a=t),r.points.unshift(Re(t,o)),r.points.push(Re(i,a))})}function $a(e){c(e.edges(),function(n){var r=e.edge(n);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function Fa(e){c(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Ba(e){c(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),i=e.node(r.borderBottom),o=e.node(D(r.borderLeft)),a=e.node(D(r.borderRight));r.width=Math.abs(a.x-o.x),r.height=Math.abs(i.y-t.y),r.x=o.x+r.width/2,r.y=t.y+r.height/2}}),c(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Ga(e){c(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function Da(e){var n=z(e);c(n,function(r){var t=0;c(r,function(i,o){var a=e.node(i);a.order=o+t,c(a.selfEdges,function(u){I(e,"selfedge",{width:u.label.width,height:u.label.height,rank:a.rank,order:o+ ++t,e:u.e,label:u.label},"_se")}),delete a.selfEdges})})}function Ya(e){c(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),i=t.x+t.width/2,o=t.y,a=r.x-i,u=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:i+2*a/3,y:o-u},{x:i+5*a/6,y:o-u},{x:i+a,y:o},{x:i+5*a/6,y:o+u},{x:i+2*a/3,y:o+u}],r.label.x=r.x,r.label.y=r.y}})}function ee(e,n){return K(Y(e,n),Number)}function ne(e){var n={};return c(e,function(r,t){n[t.toLowerCase()]=r}),n}export{Ua as l}; +import{bm as B,bn as y,bo as ye,bp as V,bq as U,br as Ue,bs as oe,bt as We,bu as In,bv as qe,bw as _n,bx as kn,by as jn,bz as ue,bA as An,bB as Mn,bC as xe,bD as Oe,bE as fe,bF as de,bG as G,bH as Xe,bI as He,bJ as Rn,bK as T,bL as Sn,bM as $n,bN as Fn,bO as Ee,bP as Bn,bQ as Ke,bR as N,bS as Gn,bT as Dn,bU as Yn,bV as S,bW as ze,bX as Je,bY as Vn,bZ as se,b_ as Ze,b$ as Un,c0 as Qe,c1 as Wn,c2 as qn,P as x,c3 as c,c4 as Xn,c5 as m,c6 as M,c7 as P,c8 as W}from"./mermaid.core-DCzavt_d.js";var Hn=/\s/;function Kn(e){for(var n=e.length;n--&&Hn.test(e.charAt(n)););return n}var zn=/^\s+/;function Jn(e){return e&&e.slice(0,Kn(e)+1).replace(zn,"")}var Te=NaN,Zn=/^[-+]0x[0-9a-f]+$/i,Qn=/^0b[01]+$/i,er=/^0o[0-7]+$/i,nr=parseInt;function rr(e){if(typeof e=="number")return e;if(B(e))return Te;if(y(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=y(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Jn(e);var r=Qn.test(e);return r||er.test(e)?nr(e.slice(2),r?2:8):Zn.test(e)?Te:+e}var Pe=1/0,tr=17976931348623157e292;function $(e){if(!e)return e===0?e:0;if(e=rr(e),e===Pe||e===-Pe){var n=e<0?-1:1;return n*tr}return e===e?e:0}function ir(e){var n=$(e),r=n%1;return n===n?r?n-r:n:0}var Le=Object.create,ar=(function(){function e(){}return function(n){if(!y(n))return{};if(Le)return Le(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}})();function or(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,a&&k(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),n=Object(n);++t2?n[2]:void 0;for(i&&k(n[0],n[1],i)&&(t=1);++r-1?i[o?n[a]:a]:void 0}}var Mt=Math.max;function Rt(e,n,r){var t=e==null?0:e.length;if(!t)return-1;var i=r==null?0:ir(r);return i<0&&(i=Mt(t+i,0)),Dn(e,N(n),i)}var le=At(Rt);function ln(e,n){var r=-1,t=U(e)?Array(e.length):[];return Yn(e,function(i,o,a){t[++r]=n(i,o,a)}),t}function g(e,n){var r=T(e)?S:ln;return r(e,N(n))}function St(e,n){return e==null?e:Ke(e,ze(n),H)}function $t(e,n){return e&&Je(e,ze(n))}function Ft(e,n){return e>n}var Bt=Object.prototype,Gt=Bt.hasOwnProperty;function Dt(e,n){return e!=null&&Gt.call(e,n)}function hn(e,n){return e!=null&&Vn(e,n,Dt)}function vn(e,n){return en||o&&a&&f&&!u&&!d||t&&a&&f||!r&&f||!i)return 1;if(!t&&!o&&!d&&e=u)return f;var d=r[t];return f*(d=="desc"?-1:1)}}return e.index-n.index}function Xt(e,n,r){n.length?n=S(n,function(o){return T(o)?function(a){return Qe(a,o.length===1?o[0]:o)}:o}):n=[se];var t=-1;n=S(n,de(N));var i=ln(e,function(o,a,u){var f=S(n,function(d){return d(o)});return{criteria:f,index:++t,value:o}});return Ut(i,function(o,a){return qt(o,a,r)})}function Ht(e,n){return Vt(e,n,function(r,t){return Wn(e,t)})}var Y=pr(function(e,n){return e==null?{}:Ht(e,n)}),Kt=Math.ceil,zt=Math.max;function Jt(e,n,r,t){for(var i=-1,o=zt(Kt((n-e)/(r||1)),0),a=Array(o);o--;)a[++i]=e,e+=r;return a}function Zt(e){return function(n,r,t){return t&&typeof t!="number"&&k(n,r,t)&&(r=t=void 0),n=$(n),r===void 0?(r=n,n=0):r=$(r),t=t===void 0?n1&&k(e,n[0],n[1])?n=[]:r>2&&k(n[0],n[1],n[2])&&(n=[n[0]]),Xt(e,qe(n),[])}),Qt=0;function pe(e){var n=++Qt;return qn(e)+n}function ei(e,n,r){for(var t=-1,i=e.length,o=n.length,a={};++t0;--u)if(a=n[u].dequeue(),a){t=t.concat(J(e,n,r,a,!0));break}}}return t}function J(e,n,r,t,i){var o=i?[]:void 0;return c(e.inEdges(t.v),function(a){var u=e.edge(a),f=e.node(a.v);i&&o.push({v:a.v,w:a.w}),f.out-=u,ae(n,r,f)}),c(e.outEdges(t.v),function(a){var u=e.edge(a),f=a.w,d=e.node(f);d.in-=u,ae(n,r,d)}),e.removeNode(t.v),o}function ui(e,n){var r=new x,t=0,i=0;c(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(e.edges(),function(u){var f=r.edge(u.v,u.w)||0,d=n(u),s=f+d;r.setEdge(u.v,u.w,s),i=Math.max(i,r.node(u.v).out+=d),t=Math.max(t,r.node(u.w).in+=d)});var o=L(i+t+3).map(function(){return new ri}),a=t+1;return c(r.nodes(),function(u){ae(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function ae(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function fi(e){var n=e.graph().acyclicer==="greedy"?ai(e,r(e)):di(e);c(n,function(t){var i=e.edge(t);e.removeEdge(t),i.forwardName=t.name,i.reversed=!0,e.setEdge(t.w,t.v,i,pe("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function di(e){var n=[],r={},t={};function i(o){Object.prototype.hasOwnProperty.call(t,o)||(t[o]=!0,r[o]=!0,c(e.outEdges(o),function(a){Object.prototype.hasOwnProperty.call(r,a.w)?n.push(a):i(a.w)}),delete r[o])}return c(e.nodes(),i),n}function si(e){c(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function I(e,n,r,t){var i;do i=pe(t);while(e.hasNode(i));return r.dummy=n,e.setNode(i,r),i}function ci(e){var n=new x().setGraph(e.graph());return c(e.nodes(),function(r){n.setNode(r,e.node(r))}),c(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),n}function pn(e){var n=new x({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),c(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function Re(e,n){var r=e.x,t=e.y,i=n.x-r,o=n.y-t,a=e.width/2,u=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var f,d;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),f=u*i/o,d=u):(i<0&&(a=-a),f=a,d=a*o/i),{x:r+f,y:t+d}}function z(e){var n=g(L(bn(e)+1),function(){return[]});return c(e.nodes(),function(r){var t=e.node(r),i=t.rank;m(i)||(n[i][t.order]=r)}),n}function li(e){var n=j(g(e.nodes(),function(r){return e.node(r).rank}));c(e.nodes(),function(r){var t=e.node(r);hn(t,"rank")&&(t.rank-=n)})}function hi(e){var n=j(g(e.nodes(),function(o){return e.node(o).rank})),r=[];c(e.nodes(),function(o){var a=e.node(o).rank-n;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=e.graph().nodeRankFactor;c(r,function(o,a){m(o)&&a%i!==0?--t:t&&c(o,function(u){e.node(u).rank+=t})})}function Se(e,n,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),I(e,"border",i,n)}function bn(e){return O(g(e.nodes(),function(n){var r=e.node(n).rank;if(!m(r))return r}))}function vi(e,n){var r={lhs:[],rhs:[]};return c(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function pi(e,n){return n()}function bi(e){function n(r){var t=e.children(r),i=e.node(r);if(t.length&&c(t,n),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,f=!0);var d=M(n.edges(),function(s){return f===Be(e,e.node(s.v),u)&&f!==Be(e,e.node(s.w),u)});return ve(d,function(s){return A(n,s)})}function Pn(e,n,r,t){var i=r.v,o=r.w;e.removeEdge(i,o),e.setEdge(t.v,t.w,{}),ge(e),we(e,n),ki(e,n)}function ki(e,n){var r=le(e.nodes(),function(i){return!n.node(i).parent}),t=Ii(e,r);t=t.slice(1),c(t,function(i){var o=e.node(i).parent,a=n.edge(i,o),u=!1;a||(a=n.edge(o,i),u=!0),n.node(i).rank=n.node(o).rank+(u?a.minlen:-a.minlen)})}function ji(e,n,r){return e.hasEdge(n,r)}function Be(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function Ai(e){switch(e.graph().ranker){case"network-simplex":Ge(e);break;case"tight-tree":Ri(e);break;case"longest-path":Mi(e);break;default:Ge(e)}}var Mi=be;function Ri(e){be(e),gn(e)}function Ge(e){E(e)}function Si(e){var n=I(e,"root",{},"_root"),r=$i(e),t=O(P(r))-1,i=2*t+1;e.graph().nestingRoot=n,c(e.edges(),function(a){e.edge(a).minlen*=i});var o=Fi(e)+1;c(e.children(),function(a){Ln(e,n,i,o,t,r,a)}),e.graph().nodeRankFactor=i}function Ln(e,n,r,t,i,o,a){var u=e.children(a);if(!u.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:r});return}var f=Se(e,"_bt"),d=Se(e,"_bb"),s=e.node(a);e.setParent(f,a),s.borderTop=f,e.setParent(d,a),s.borderBottom=d,c(u,function(l){Ln(e,n,r,t,i,o,l);var h=e.node(l),p=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,w=h.borderTop?t:2*t,_=p!==v?1:i-o[a]+1;e.setEdge(f,p,{weight:w,minlen:_,nestingEdge:!0}),e.setEdge(v,d,{weight:w,minlen:_,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,f,{weight:0,minlen:i+o[a]})}function $i(e){var n={};function r(t,i){var o=e.children(t);o&&o.length&&c(o,function(a){r(a,i+1)}),n[t]=i}return c(e.children(),function(t){r(t,1)}),n}function Fi(e){return W(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function Bi(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,c(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function Gi(e,n,r){var t={},i;c(r,function(o){for(var a=e.parent(o),u,f;a;){if(u=e.parent(a),u?(f=t[u],t[u]=a):(f=i,i=a),f&&f!==a){n.setEdge(f,a);return}a=u}})}function Di(e,n,r){var t=Yi(e),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return e.node(o)});return c(e.nodes(),function(o){var a=e.node(o),u=e.parent(o);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),c(e[r](o),function(f){var d=f.v===o?f.w:f.v,s=i.edge(d,o),l=m(s)?0:s.weight;i.setEdge(d,o,{weight:e.edge(f).weight+l})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),i}function Yi(e){for(var n;e.hasNode(n=pe("_root")););return n}function Vi(e,n){for(var r=0,t=1;t0;)s%2&&(l+=u[s+1]),s=s-1>>1,u[s]+=d.weight;f+=d.weight*l})),f}function Wi(e){var n={},r=M(e.nodes(),function(u){return!e.children(u).length}),t=O(g(r,function(u){return e.node(u).rank})),i=g(L(t+1),function(){return[]});function o(u){if(!hn(n,u)){n[u]=!0;var f=e.node(u);i[f.rank].push(u),c(e.successors(u),o)}}var a=R(r,function(u){return e.node(u).rank});return c(a,o),i}function qi(e,n){return g(n,function(r){var t=e.inEdges(r);if(t.length){var i=W(t,function(o,a){var u=e.edge(a),f=e.node(a.v);return{sum:o.sum+u.weight*f.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Xi(e,n){var r={};c(e,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};m(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),c(n.edges(),function(i){var o=r[i.v],a=r[i.w];!m(o)&&!m(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Hi(t)}function Hi(e){var n=[];function r(o){return function(a){a.merged||(m(a.barycenter)||m(o.barycenter)||a.barycenter>=o.barycenter)&&Ki(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();n.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return g(M(n,function(o){return!o.merged}),function(o){return Y(o,["vs","i","barycenter","weight"])})}function Ki(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function zi(e,n){var r=vi(e,function(s){return Object.prototype.hasOwnProperty.call(s,"barycenter")}),t=r.lhs,i=R(r.rhs,function(s){return-s.i}),o=[],a=0,u=0,f=0;t.sort(Ji(!!n)),f=De(o,i,f),c(t,function(s){f+=s.vs.length,o.push(s.vs),a+=s.barycenter*s.weight,u+=s.weight,f=De(o,i,f)});var d={vs:C(o)};return u&&(d.barycenter=a/u,d.weight=u),d}function De(e,n,r){for(var t;n.length&&(t=D(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function Ji(e){return function(n,r){return n.barycenterr.barycenter?1:e?r.i-n.i:n.i-r.i}}function Nn(e,n,r,t){var i=e.children(n),o=e.node(n),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,f={};a&&(i=M(i,function(v){return v!==a&&v!==u}));var d=qi(e,i);c(d,function(v){if(e.children(v.v).length){var w=Nn(e,v.v,r,t);f[v.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&Qi(v,w)}});var s=Xi(d,r);Zi(s,f);var l=zi(s,t);if(a&&(l.vs=C([a,l.vs,u]),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(u)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+p.order)/(l.weight+2),l.weight+=2}return l}function Zi(e,n){c(e,function(r){r.vs=C(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function Qi(e,n){m(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function ea(e){var n=bn(e),r=Ye(e,L(1,n+1),"inEdges"),t=Ye(e,L(n-1,-1,-1),"outEdges"),i=Wi(e);Ve(e,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,f=0;f<4;++u,++f){na(u%2?r:t,u%4>=2),i=z(e);var d=Vi(e,i);da||u>n[f].lim));for(d=f,f=t;(f=e.parent(f))!==d;)o.push(f);return{path:i.concat(o.reverse()),lca:d}}function ia(e){var n={},r=0;function t(i){var o=r;c(e.children(i),t),n[i]={low:o,lim:r++}}return c(e.children(),t),n}function aa(e,n){var r={};function t(i,o){var a=0,u=0,f=i.length,d=D(o);return c(o,function(s,l){var h=ua(e,s),p=h?e.node(h).order:f;(h||s===d)&&(c(o.slice(u,l+1),function(v){c(e.predecessors(v),function(w){var _=e.node(w),me=_.order;(med)&&Cn(r,h,s)})})}function i(o,a){var u=-1,f,d=0;return c(a,function(s,l){if(e.node(s).dummy==="border"){var h=e.predecessors(s);h.length&&(f=e.node(h[0]).order,t(a,d,l,u,f),d=l,u=f)}t(a,d,a.length,f,o.length)}),a}return W(n,i),r}function ua(e,n){if(e.node(n).dummy)return le(e.predecessors(n),function(r){return e.node(r).dummy})}function Cn(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[n];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function fa(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function da(e,n,r,t){var i={},o={},a={};return c(n,function(u){c(u,function(f,d){i[f]=f,o[f]=f,a[f]=d})}),c(n,function(u){var f=-1;c(u,function(d){var s=t(d);if(s.length){s=R(s,function(w){return a[w]});for(var l=(s.length-1)/2,h=Math.floor(l),p=Math.ceil(l);h<=p;++h){var v=s[h];o[d]===d&&f{var t=r(" buildLayoutGraph",()=>_a(e));r(" runLayout",()=>ya(t,r)),r(" updateInputGraph",()=>xa(e,t))})}function ya(e,n){n(" makeSpaceForEdgeLabels",()=>ka(e)),n(" removeSelfEdges",()=>Ga(e)),n(" acyclic",()=>fi(e)),n(" nestingGraph.run",()=>Si(e)),n(" rank",()=>Ai(pn(e))),n(" injectEdgeLabelProxies",()=>ja(e)),n(" removeEmptyRanks",()=>hi(e)),n(" nestingGraph.cleanup",()=>Bi(e)),n(" normalizeRanks",()=>li(e)),n(" assignRankMinMax",()=>Aa(e)),n(" removeEdgeLabelProxies",()=>Ma(e)),n(" normalize.run",()=>xi(e)),n(" parentDummyChains",()=>ra(e)),n(" addBorderSegments",()=>bi(e)),n(" order",()=>ea(e)),n(" insertSelfEdges",()=>Da(e)),n(" adjustCoordinateSystem",()=>wi(e)),n(" position",()=>ga(e)),n(" positionSelfEdges",()=>Ya(e)),n(" removeBorderNodes",()=>Ba(e)),n(" normalize.undo",()=>Ei(e)),n(" fixupEdgeLabelCoords",()=>$a(e)),n(" undoCoordinateSystem",()=>gi(e)),n(" translateGraph",()=>Ra(e)),n(" assignNodeIntersects",()=>Sa(e)),n(" reversePoints",()=>Fa(e)),n(" acyclic.undo",()=>si(e))}function xa(e,n){c(e.nodes(),function(r){var t=e.node(r),i=n.node(r);t&&(t.x=i.x,t.y=i.y,n.children(r).length&&(t.width=i.width,t.height=i.height))}),c(e.edges(),function(r){var t=e.edge(r),i=n.edge(r);t.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(t.x=i.x,t.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Oa=["nodesep","edgesep","ranksep","marginx","marginy"],Ea={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Ta=["acyclicer","ranker","rankdir","align"],Pa=["width","height"],La={width:0,height:0},Na=["minlen","weight","width","height","labeloffset"],Ca={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ia=["labelpos"];function _a(e){var n=new x({multigraph:!0,compound:!0}),r=ne(e.graph());return n.setGraph(ie({},Ea,ee(r,Oa),Y(r,Ta))),c(e.nodes(),function(t){var i=ne(e.node(t));n.setNode(t,_t(ee(i,Pa),La)),n.setParent(t,e.parent(t))}),c(e.edges(),function(t){var i=ne(e.edge(t));n.setEdge(t,ie({},Ca,ee(i,Na),Y(i,Ia)))}),n}function ka(e){var n=e.graph();n.ranksep/=2,c(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function ja(e){c(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),i=e.node(n.w),o={rank:(i.rank-t.rank)/2+t.rank,e:n};I(e,"edge-proxy",o,"_ep")}})}function Aa(e){var n=0;c(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=O(n,t.maxRank))}),e.graph().maxRank=n}function Ma(e){c(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function Ra(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,u=o.marginy||0;function f(d){var s=d.x,l=d.y,h=d.width,p=d.height;n=Math.min(n,s-h/2),r=Math.max(r,s+h/2),t=Math.min(t,l-p/2),i=Math.max(i,l+p/2)}c(e.nodes(),function(d){f(e.node(d))}),c(e.edges(),function(d){var s=e.edge(d);Object.prototype.hasOwnProperty.call(s,"x")&&f(s)}),n-=a,t-=u,c(e.nodes(),function(d){var s=e.node(d);s.x-=n,s.y-=t}),c(e.edges(),function(d){var s=e.edge(d);c(s.points,function(l){l.x-=n,l.y-=t}),Object.prototype.hasOwnProperty.call(s,"x")&&(s.x-=n),Object.prototype.hasOwnProperty.call(s,"y")&&(s.y-=t)}),o.width=r-n+a,o.height=i-t+u}function Sa(e){c(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),i=e.node(n.w),o,a;r.points?(o=r.points[0],a=r.points[r.points.length-1]):(r.points=[],o=i,a=t),r.points.unshift(Re(t,o)),r.points.push(Re(i,a))})}function $a(e){c(e.edges(),function(n){var r=e.edge(n);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function Fa(e){c(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Ba(e){c(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),i=e.node(r.borderBottom),o=e.node(D(r.borderLeft)),a=e.node(D(r.borderRight));r.width=Math.abs(a.x-o.x),r.height=Math.abs(i.y-t.y),r.x=o.x+r.width/2,r.y=t.y+r.height/2}}),c(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Ga(e){c(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function Da(e){var n=z(e);c(n,function(r){var t=0;c(r,function(i,o){var a=e.node(i);a.order=o+t,c(a.selfEdges,function(u){I(e,"selfedge",{width:u.label.width,height:u.label.height,rank:a.rank,order:o+ ++t,e:u.e,label:u.label},"_se")}),delete a.selfEdges})})}function Ya(e){c(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),i=t.x+t.width/2,o=t.y,a=r.x-i,u=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:i+2*a/3,y:o-u},{x:i+5*a/6,y:o-u},{x:i+a,y:o},{x:i+5*a/6,y:o+u},{x:i+2*a/3,y:o+u}],r.label.x=r.x,r.label.y=r.y}})}function ee(e,n){return K(Y(e,n),Number)}function ne(e){var n={};return c(e,function(r,t){n[t.toLowerCase()]=r}),n}export{Ua as l}; diff --git a/amplifier_web/static/assets/linear-Cs83r27z.js b/amplifier_web/static/assets/linear-B0ph5MIY.js similarity index 98% rename from amplifier_web/static/assets/linear-Cs83r27z.js rename to amplifier_web/static/assets/linear-B0ph5MIY.js index e6a7cd718..ec4b72d05 100644 --- a/amplifier_web/static/assets/linear-Cs83r27z.js +++ b/amplifier_web/static/assets/linear-B0ph5MIY.js @@ -1 +1 @@ -import{b7 as j,b8 as p,b9 as w,ba as k,bb as q}from"./mermaid.core-Db1rVExV.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as z,b as B}from"./defaultLocale-DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i>>1;t(o[l],c)<0?i=l+1:h=l}while(i>>1;t(o[l],c)<=0?i=l+1:h=l}while(ii&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const O=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=O?10:f>=T?5:f>=C?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/ir&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*ir&&--c),c0))return[];if(n===r)return[n];const e=r=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;ir&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=G(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return E(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,G as t}; +import{b7 as j,b8 as p,b9 as w,ba as k,bb as q}from"./mermaid.core-DCzavt_d.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as z,b as B}from"./defaultLocale-DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i>>1;t(o[l],c)<0?i=l+1:h=l}while(i>>1;t(o[l],c)<=0?i=l+1:h=l}while(ii&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const O=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=O?10:f>=T?5:f>=C?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/ir&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*ir&&--c),c0))return[];if(n===r)return[n];const e=r=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;ir&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=G(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return E(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,G as t}; diff --git a/amplifier_web/static/assets/mermaid.core-Db1rVExV.js b/amplifier_web/static/assets/mermaid.core-DCzavt_d.js similarity index 99% rename from amplifier_web/static/assets/mermaid.core-Db1rVExV.js rename to amplifier_web/static/assets/mermaid.core-DCzavt_d.js index 68cccc375..35eaa4967 100644 --- a/amplifier_web/static/assets/mermaid.core-Db1rVExV.js +++ b/amplifier_web/static/assets/mermaid.core-DCzavt_d.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sizeCapture-INFHLROL-sZLC26GK.js","assets/app-CI1rDkjG.js","assets/client-BPXDbY79.js","assets/app-lSu2UQvI.css","assets/dagre-GXQ25YYZ-KzOZEMD1.js","assets/layout-DVk1QBeS.js","assets/swimlanes-42K2YHIH-D-dDTAzh.js","assets/cose-bilkent-JH36ORCC-uMnsdoF-.js","assets/cytoscape.esm-Ix0LnXOy.js","assets/c4Diagram-7LVT6UL2-CAT7R2xj.js","assets/chunk-F27PBJKO-nNeL4pO3.js","assets/flowDiagram-HODETNUW-Dr55GFTH.js","assets/chunk-5VM5RSS4-DRn7AX50.js","assets/chunk-XXDRQBXY-Np_UiiaV.js","assets/chunk-POPQ4Y6H-D4TU3m_X.js","assets/channel-tqVB_xud.js","assets/swimlanesDiagram-VR7AAH4N-DzyLIZjI.js","assets/erDiagram-RLTQ6QDP-B70udbuP.js","assets/gitGraphDiagram-WWUBYQGX-BkLhRzpH.js","assets/chunk-2Q5K7J3B-h1yMEKAe.js","assets/chunk-JWPE2WC7-DrQCOfW2.js","assets/cynefin-OW5HDTMX-BLW9r9wv.js","assets/ganttDiagram-EL5Y4UJY-D3bk-x2Q.js","assets/linear-Cs83r27z.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-CK_gEKA1.js","assets/pieDiagram-E7YTZNPT-CX12eTBo.js","assets/arc-C0HCYinx.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-B0NuZ2VH.js","assets/xychartDiagram-S5SC5T6Z-CJjJ47BC.js","assets/requirementDiagram-BXWQKSXE-BJfHmPOs.js","assets/sequenceDiagram-WJ2MYXX4-bKHYNEhE.js","assets/classDiagram-ZZMXUADV-D-DEwEAs.js","assets/chunk-TICWLB2K-CTNsQHy0.js","assets/classDiagram-v2-VYDZK3BY-D-DEwEAs.js","assets/stateDiagram-D77RDMKH-5aAHBXw2.js","assets/chunk-IMKFNOWR-BHywLYsX.js","assets/stateDiagram-v2-MP3YSRHH-CxHUIwTX.js","assets/journeyDiagram-3NMN7TZE-onVNO-Ru.js","assets/timeline-definition-24CTP7MA-34PlETXr.js","assets/mindmap-definition-YA3MSWOX-CwiC6U0l.js","assets/kanban-definition-UXKFOSKX-5AJlkhrf.js","assets/sankeyDiagram-P5KCCOFB-rJNnBF7P.js","assets/diagram-Z3DM3KII-M2LVzQ9u.js","assets/diagram-UQ7AKVKN-RtWVmCwn.js","assets/blockDiagram-I7D4REHJ-By5ih9VU.js","assets/diagram-S7CK7UJ4-veo30afI.js","assets/architectureDiagram-5GKGNRK7-C6yO5SnA.js","assets/diagram-VSXAHHWV-hciGKJb3.js","assets/ishikawaDiagram-5VMMS53U-b9XB65fS.js","assets/vennDiagram-4TSXK5OY-BOspaChz.js","assets/diagram-VX7I27RA-BJzA7bhK.js","assets/wardleyDiagram-VM6X3IG4-D1ei6gt2.js","assets/cynefinDiagram-5FMLGOSQ-DTIGSPU7.js","assets/railroadDiagram-O6MQD6OU-DoCBJMki.js","assets/chunk-SVP7TREG-XhllUbrG.js","assets/ebnfDiagram-PWID7BFC-Bhfed9ny.js","assets/abnfDiagram-VCTEODGH-Cxthi7DF.js","assets/pegDiagram-XKGWAZYB-CfavDD0n.js"])))=>i.map(i=>d[i]); -var pm=Object.defineProperty;var ym=(e,t,r)=>t in e?pm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Nt=(e,t,r)=>ym(e,typeof t!="symbol"?t+"":t,r);import{p as li,_ as Mt}from"./app-CI1rDkjG.js";import{g as Tn}from"./client-BPXDbY79.js";var Lu=Object.defineProperty,g=(e,t)=>Lu(e,"name",{value:t,configurable:!0}),mm=(e,t)=>{for(var r in t)Lu(e,r,{get:t[r],enumerable:!0})},$s={exports:{}},xm=$s.exports,Jl;function Cm(){return Jl||(Jl=1,(function(e,t){(function(r,i){e.exports=i()})(xm,(function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",u="month",d="quarter",f="year",y="date",m="Invalid Date",C=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,k={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var E=["th","st","nd","rd"],B=A%100;return"["+A+(E[(B-20)%10]||E[B]||E[0])+"]"}},w=function(A,E,B){var D=String(A);return!D||D.length>=E?A:""+Array(E+1-D.length).join(B)+A},T={s:w,z:function(A){var E=-A.utcOffset(),B=Math.abs(E),D=Math.floor(B/60),$=B%60;return(E<=0?"+":"-")+w(D,2,"0")+":"+w($,2,"0")},m:function A(E,B){if(E.date()1)return A(V[0])}else{var at=E.name;v[at]=E,$=at}return!D&&$&&(_=$),$||!D&&_},W=function(A,E){if(L(A))return A.clone();var B=typeof E=="object"?E:{};return B.date=A,B.args=arguments,new rt(B)},q=T;q.l=U,q.i=L,q.w=function(A,E){return W(A,{locale:E.$L,utc:E.$u,x:E.$x,$offset:E.$offset})};var rt=(function(){function A(B){this.$L=U(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[F]=!0}var E=A.prototype;return E.parse=function(B){this.$d=(function(D){var $=D.date,N=D.utc;if($===null)return new Date(NaN);if(q.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var V=$.match(C);if(V){var at=V[2]-1||0,ht=(V[7]||"0").substring(0,3);return N?new Date(Date.UTC(V[1],at,V[3]||1,V[4]||0,V[5]||0,V[6]||0,ht)):new Date(V[1],at,V[3]||1,V[4]||0,V[5]||0,V[6]||0,ht)}}return new Date($)})(B),this.init()},E.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},E.$utils=function(){return q},E.isValid=function(){return this.$d.toString()!==m},E.isSame=function(B,D){var $=W(B);return this.startOf(D)<=$&&$<=this.endOf(D)},E.isAfter=function(B,D){return W(B){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},_n=g(function(e="fatal"){let t=We.fatal;typeof e=="string"?e.toLowerCase()in We&&(t=We[e]):typeof e=="number"&&(t=e),I.trace=()=>{},I.debug=()=>{},I.info=()=>{},I.warn=()=>{},I.error=()=>{},I.fatal=()=>{},t<=We.fatal&&(I.fatal=console.error?console.error.bind(console,fe("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",fe("FATAL"))),t<=We.error&&(I.error=console.error?console.error.bind(console,fe("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",fe("ERROR"))),t<=We.warn&&(I.warn=console.warn?console.warn.bind(console,fe("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",fe("WARN"))),t<=We.info&&(I.info=console.info?console.info.bind(console,fe("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",fe("INFO"))),t<=We.debug&&(I.debug=console.debug?console.debug.bind(console,fe("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fe("DEBUG"))),t<=We.trace&&(I.trace=console.debug?console.debug.bind(console,fe("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fe("TRACE")))},"setLogLevel"),fe=g(e=>`%c${km().format("ss.SSS")} : ${e} : `,"format");const Os={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return Os.hue2rgb(a,s,e+1/3)*255;case"g":return Os.hue2rgb(a,s,e)*255;case"b":return Os.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},Sm={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},Lt={channel:Os,lang:wm,unit:Sm},tr={};for(let e=0;e<=255;e++)tr[e]=Lt.unit.dec2hex(e);const te={ALL:0,RGB:1,HSL:2};let Tm=class{constructor(){this.type=te.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=te.ALL}is(t){return this.type===t}};class _m{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new Tm}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=te.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=Lt.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=Lt.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=Lt.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=Lt.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=Lt.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=Lt.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(te.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(te.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(te.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(te.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(te.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(te.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const Ca=new _m({r:0,g:0,b:0,a:0},"transparent"),Hr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Hr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return Ca.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${tr[Math.round(t)]}${tr[Math.round(r)]}${tr[Math.round(i)]}${tr[Math.round(s*255)]}`:`#${tr[Math.round(t)]}${tr[Math.round(r)]}${tr[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return Lt.channel.clamp.h(parseFloat(r)*.9);case"rad":return Lt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Lt.channel.clamp.h(parseFloat(r)*360)}}return Lt.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return Ca.set({h:gr._hue2deg(i),s:Lt.channel.clamp.s(parseFloat(s)),l:Lt.channel.clamp.l(parseFloat(a)),a:o?Lt.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${Lt.lang.round(t)}, ${Lt.lang.round(r)}%, ${Lt.lang.round(i)}%, ${s})`:`hsl(${Lt.lang.round(t)}, ${Lt.lang.round(r)}%, ${Lt.lang.round(i)}%)`}},ji={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=ji.colors[e];if(t)return Hr.parse(t)},stringify:e=>{const t=Hr.stringify(e);for(const r in ji.colors)if(ji.colors[r]===t)return r}},Di={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Di.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return Ca.set({r:Lt.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:Lt.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Lt.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?Lt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${Lt.lang.round(t)}, ${Lt.lang.round(r)}, ${Lt.lang.round(i)}, ${Lt.lang.round(s)})`:`rgb(${Lt.lang.round(t)}, ${Lt.lang.round(r)}, ${Lt.lang.round(i)})`}},Oe={format:{keyword:ji,hex:Hr,rgb:Di,rgba:Di,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Hr.parse(e)||Di.parse(e)||gr.parse(e)||ji.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(te.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Di.stringify(e):Hr.stringify(e)},Fu=(e,t)=>{const r=Oe.parse(e);for(const i in t)r[i]=Lt.channel.clamp[i](t[i]);return Oe.stringify(r)},sr=(e,t,r=0,i=1)=>{if(typeof e!="number")return Fu(e,{a:t});const s=Ca.set({r:Lt.channel.clamp.r(e),g:Lt.channel.clamp.g(t),b:Lt.channel.clamp.b(r),a:Lt.channel.clamp.a(i)});return Oe.stringify(s)},Bm=e=>{const{r:t,g:r,b:i}=Oe.parse(e),s=.2126*Lt.channel.toLinear(t)+.7152*Lt.channel.toLinear(r)+.0722*Lt.channel.toLinear(i);return Lt.lang.round(s)},vm=e=>Bm(e)>=.5,Te=e=>!vm(e),Mu=(e,t,r)=>{const i=Oe.parse(e),s=i[t],a=Lt.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Oe.stringify(i)},z=(e,t)=>Mu(e,"l",t),H=(e,t)=>Mu(e,"l",-t),b=(e,t)=>{const r=Oe.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Fu(e,i)},Lm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Oe.parse(e),{r:n,g:l,b:c,a:h}=Oe.parse(t),u=r/100,d=u*2-1,f=o-h,m=((d*f===-1?d:(d+f)/(1+d*f))+1)/2,C=1-m,x=i*m+n*C,k=s*m+l*C,w=a*m+c*C,T=o*u+h*(1-u);return sr(x,k,w,T)},M=(e,t=100)=>{const r=Oe.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Lm(r,e,t)};var Do=g((e,t,{depth:r=2}={})=>{const i={depth:r};if(Array.isArray(t)&&!Array.isArray(e))return t.forEach(s=>Do(e,s,i)),e;if(Array.isArray(t)&&Array.isArray(e))return t.forEach(s=>{e.includes(s)||e.push(s)}),e;if(e==null||r<=0)return e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t;if(t!=null&&typeof e=="object"&&typeof t=="object"){const s=e;Object.entries(t).forEach(([a,o])=>{if(typeof o=="object"){if(o===null)return;Object.hasOwn(e,a)||Object.defineProperty(e,a,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),s[a]===void 0&&(s[a]=Array.isArray(o)?[]:{}),typeof s[a]=="object"&&(s[a]=Do(s[a],o,{depth:r-1}))}else typeof s[a]!="object"&&(Object.hasOwn(e,a)?s[a]=o:Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0}))})}return e},"assignWithDepth"),Zt=Do,Pe="#ffffff",Ie="#f2f2f2",Tt=g((e,t)=>t?b(e,{s:-40,l:10}):b(e,{s:-40,l:-10}),"mkBorder"),Gr,Fm=(Gr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||H(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||H(this.mainBkg,10)):(this.rowOdd=this.rowOdd||z(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||z(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let vt=0;vt{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Gr,"Theme"),Gr),Mm=g(e=>{const t=new Fm;return t.calculate(e),t},"getThemeVariables"),Xr,Am=(Xr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=H("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=H(this.sectionBkgColor,10),this.taskBorderColor=sr(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=sr(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||z(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||H(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.secondBkg=z(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=z(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=z(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=M(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=b(this.primaryColor,{h:64}),this.fillType3=b(this.secondaryColor,{h:64}),this.fillType4=b(this.primaryColor,{h:-64}),this.fillType5=b(this.secondaryColor,{h:-64}),this.fillType6=b(this.primaryColor,{h:128}),this.fillType7=b(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330});for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Xr,"Theme"),Xr),Em=g(e=>{const t=new Am;return t.calculate(e),t},"getThemeVariables"),Vr,$m=(Vr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=b(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=sr(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||H(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||H(this.tertiaryColor,40);for(let R=0;R{this[i]==="calculated"&&(this[i]=void 0)}),typeof t!="object"){this.updateColors();return}const r=Object.keys(t);r.forEach(i=>{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Vr,"Theme"),Vr),Om=g(e=>{const t=new $m;return t.calculate(e),t},"getThemeVariables"),Zr,Dm=(Zr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=z("#cde498",10),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.primaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.actorBorder=H(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||H(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||H(this.tertiaryColor,40);for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Zr,"Theme"),Zr),Pm=g(e=>{const t=new Dm;return t.calculate(e),t},"getThemeVariables"),Kr,Im=(Kr=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=z(this.contrast,55),this.background="#ffffff",this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||z(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.secondBkg=z(this.contrast,55),this.border2=this.contrast,this.actorBorder=z(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Kr,"Theme"),Kr),Rm=g(e=>{const t=new Im;return t.calculate(e),t},"getThemeVariables"),Qr,qm=(Qr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||i,this.cScale3=this.cScale3||b(t,{h:30}),this.cScale4=this.cScale4||b(t,{h:60}),this.cScale5=this.cScale5||b(t,{h:90}),this.cScale6=this.cScale6||b(t,{h:120}),this.cScale7=this.cScale7||b(t,{h:150}),this.cScale8=this.cScale8||b(t,{h:210,l:150}),this.cScale9=this.cScale9||b(t,{h:270}),this.cScale10=this.cScale10||b(t,{h:300}),this.cScale11=this.cScale11||b(t,{h:330}),this.darkMode)for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Qr,"Theme"),Qr),Nm=g(e=>{const t=new qm;return t.calculate(e),t},"getThemeVariables"),Jr,Wm=(Jr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Jr,"Theme"),Jr),zm=g(e=>{const t=new Wm;return t.calculate(e),t},"getThemeVariables"),ti,Hm=(ti=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Tt("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ti,"Theme"),ti),Ym=g(e=>{const t=new Hm;return t.calculate(e),t},"getThemeVariables"),ei,jm=(ei=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ei,"Theme"),ei),Um=g(e=>{const t=new jm;return t.calculate(e),t},"getThemeVariables"),ri,Gm=(ri=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ri,"Theme"),ri),Xm=g(e=>{const t=new Gm;return t.calculate(e),t},"getThemeVariables"),ii,Vm=(ii=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ii,"Theme"),ii),Zm=g(e=>{const t=new Vm;return t.calculate(e),t},"getThemeVariables"),Ue={base:{getThemeVariables:Mm},dark:{getThemeVariables:Em},default:{getThemeVariables:Om},forest:{getThemeVariables:Pm},neutral:{getThemeVariables:Rm},neo:{getThemeVariables:Nm},"neo-dark":{getThemeVariables:zm},redux:{getThemeVariables:Ym},"redux-dark":{getThemeVariables:Um},"redux-color":{getThemeVariables:Xm},"redux-dark-color":{getThemeVariables:Zm}},Kt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:10,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},Au={...Kt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",nodePlacementAlignment:"NONE",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES",keepEntryNodeOnTop:!1},themeCSS:void 0,themeVariables:Ue.default.getThemeVariables(),sequence:{...Kt.sequence,messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:g(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:g(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{defaultRenderer:"dagre-wrapper",hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...Kt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Kt.c4,useWidth:void 0,personFont:g(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Kt.flowchart,inheritDir:!1},external_personFont:g(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:g(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:g(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:g(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:g(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:g(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:g(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:g(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:g(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:g(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:g(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:g(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:g(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:g(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:g(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:g(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:g(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:g(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:g(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:g(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Kt.pie,useWidth:984},xyChart:{...Kt.xyChart,useWidth:void 0},requirement:{...Kt.requirement,useWidth:void 0},packet:{...Kt.packet},eventmodeling:{...Kt.eventmodeling},treeView:{...Kt.treeView,useWidth:void 0},radar:{...Kt.radar},railroad:{...Kt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...Kt.ishikawa},sankey:{...Kt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Kt.venn},cynefin:{...Kt.cynefin}},Eu=g((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...Eu(e[i],"")]:[...r,t+i],[]),"keyify"),Km=new Set(Eu(Au,"")),$u=Au,Qm={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},Jm=g((e,t)=>{for(const r of Object.keys(e)){const i=e[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||typeof i!="string"||!t.test(i))&&(I.debug("sanitize deleting dictionary entry:",r,i),delete e[r])}},"sanitizeDictionaryConfig"),Us=g(e=>{if(I.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Us(t));return}for(const t of Object.keys(e)){if(I.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!Km.has(t)||e[t]==null){I.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){const i=Qm[t];i?Jm(e[t],i):(I.debug("sanitizing object",t),Us(e[t]));continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(I.debug("sanitizing css option",t),e[t]=Ou(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}I.debug("After sanitization",e)}},"sanitizeDirective"),Ou=g(e=>{let t=0,r=0;for(const i of e){if(t!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),ne=Zt({},hi),Gs,Cr=[],Ui=Zt({},hi),hs=g((e,t)=>{let r=Zt({},e),i={};for(const s of t)Iu(s),i=Zt(i,s);if(r=Zt(r,i),i.theme&&i.theme in Ue){const s=Zt({},Gs),a=Zt(s.themeVariables||{},i.themeVariables);r.theme&&r.theme in Ue&&(r.themeVariables=Ue[r.theme].getThemeVariables(a))}return Ui=r,a0(Ui),Ui},"updateCurrentConfig"),t0=g(e=>(ne=Zt({},hi),ne=Zt(ne,e),e.theme&&Ue[e.theme]&&(ne.themeVariables=Ue[e.theme].getThemeVariables(e.themeVariables)),hs(ne,Cr),ne),"setSiteConfig"),e0=g(e=>{Gs=Zt({},e)},"saveConfigFromInitialize"),r0=g(e=>(ne=Zt(ne,e),hs(ne,Cr),ne),"updateSiteConfig"),Du=g(()=>Zt({},ne),"getSiteConfig"),Pu=g(e=>(hs(Ui,[e]),Yt()),"setConfig"),Yt=g(()=>Zt({},Ui),"getConfig"),Iu=g(e=>{e&&(["secure",...ne.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(I.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&Iu(e[t])}))},"sanitize"),i0=g(e=>{var t;Us(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),Cr.push(e),hs(ne,Cr)},"addDirective"),Xs=g((e=ne)=>{Cr=[],hs(e,Cr)},"reset"),s0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},th={},Ru=g(e=>{th[e]||(I.warn(s0[e]),th[e]=!0)},"issueWarning"),a0=g(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Ru("LAZY_LOAD_DEPRECATED")},"checkConfig"),tM=g(()=>{let e={};Gs&&(e=Zt(e,Gs));for(const t of Cr)e=Zt(e,t);return e},"getUserDefinedConfig"),ie=g(e=>{var t,r;return((t=e.flowchart)==null?void 0:t.htmlLabels)!=null&&Ru("FLOWCHART_HTML_LABELS_DEPRECATED"),Re(e.htmlLabels??((r=e.flowchart)==null?void 0:r.htmlLabels)??!0)},"getEffectiveHtmlLabels"),qu=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,Gi=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,o0=/\s*%%.*\n/gm,si,Nu=(si=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},g(si,"UnknownDiagramError"),si),br={},Bn=g(function(e,t){e=e.replace(qu,"").replace(Gi,"").replace(o0,` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sizeCapture-INFHLROL-CdlJa97E.js","assets/app-DiRg4AEn.js","assets/client-BPXDbY79.js","assets/app-lSu2UQvI.css","assets/dagre-GXQ25YYZ-Do0UHSPN.js","assets/layout-C8YZk5aC.js","assets/swimlanes-42K2YHIH-DflQXV3F.js","assets/cose-bilkent-JH36ORCC-DZZeoui0.js","assets/cytoscape.esm-Ix0LnXOy.js","assets/c4Diagram-7LVT6UL2-p6n56tdK.js","assets/chunk-F27PBJKO-CeZTmtp_.js","assets/flowDiagram-HODETNUW-BJR5Tkvw.js","assets/chunk-5VM5RSS4-BvUIUVyo.js","assets/chunk-XXDRQBXY-Ct_Uo9zJ.js","assets/chunk-POPQ4Y6H-Bp2c6Wpp.js","assets/channel-BGpu3HdG.js","assets/swimlanesDiagram-VR7AAH4N-D_Hyk221.js","assets/erDiagram-RLTQ6QDP-C-H3S6xp.js","assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js","assets/chunk-2Q5K7J3B-DutsbiAD.js","assets/chunk-JWPE2WC7-CnhxyFoR.js","assets/cynefin-OW5HDTMX-D2urArke.js","assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js","assets/linear-B0ph5MIY.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-DidagdPH.js","assets/pieDiagram-E7YTZNPT-CBlpmOhf.js","assets/arc-BZobgCN0.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js","assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js","assets/requirementDiagram-BXWQKSXE-VLrumk-_.js","assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js","assets/classDiagram-ZZMXUADV-DMRSfdSH.js","assets/chunk-TICWLB2K-CPGc4f7a.js","assets/classDiagram-v2-VYDZK3BY-DMRSfdSH.js","assets/stateDiagram-D77RDMKH-C3z6nfsf.js","assets/chunk-IMKFNOWR-6bGNfPrr.js","assets/stateDiagram-v2-MP3YSRHH-BEiUrOFK.js","assets/journeyDiagram-3NMN7TZE-3SSVhry3.js","assets/timeline-definition-24CTP7MA-Cf_PZrnF.js","assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js","assets/kanban-definition-UXKFOSKX-5vHpqxqi.js","assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js","assets/diagram-Z3DM3KII-g4ojQm4H.js","assets/diagram-UQ7AKVKN-BUpyj_KG.js","assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js","assets/diagram-S7CK7UJ4-K_22fPnZ.js","assets/architectureDiagram-5GKGNRK7-Dk72PQyE.js","assets/diagram-VSXAHHWV-CsIEnlmf.js","assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js","assets/vennDiagram-4TSXK5OY-BulJw8FW.js","assets/diagram-VX7I27RA-CMJphNH8.js","assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js","assets/cynefinDiagram-5FMLGOSQ-BzBKR0Cp.js","assets/railroadDiagram-O6MQD6OU-CANI8b-r.js","assets/chunk-SVP7TREG-Dk8R8Cc6.js","assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js","assets/abnfDiagram-VCTEODGH-pB_sDbfi.js","assets/pegDiagram-XKGWAZYB-BgiBcHft.js"])))=>i.map(i=>d[i]); +var pm=Object.defineProperty;var ym=(e,t,r)=>t in e?pm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Nt=(e,t,r)=>ym(e,typeof t!="symbol"?t+"":t,r);import{p as li,_ as Mt}from"./app-DiRg4AEn.js";import{g as Tn}from"./client-BPXDbY79.js";var Lu=Object.defineProperty,g=(e,t)=>Lu(e,"name",{value:t,configurable:!0}),mm=(e,t)=>{for(var r in t)Lu(e,r,{get:t[r],enumerable:!0})},$s={exports:{}},xm=$s.exports,Jl;function Cm(){return Jl||(Jl=1,(function(e,t){(function(r,i){e.exports=i()})(xm,(function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",u="month",d="quarter",f="year",y="date",m="Invalid Date",C=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,k={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var E=["th","st","nd","rd"],B=A%100;return"["+A+(E[(B-20)%10]||E[B]||E[0])+"]"}},w=function(A,E,B){var D=String(A);return!D||D.length>=E?A:""+Array(E+1-D.length).join(B)+A},T={s:w,z:function(A){var E=-A.utcOffset(),B=Math.abs(E),D=Math.floor(B/60),$=B%60;return(E<=0?"+":"-")+w(D,2,"0")+":"+w($,2,"0")},m:function A(E,B){if(E.date()1)return A(V[0])}else{var at=E.name;v[at]=E,$=at}return!D&&$&&(_=$),$||!D&&_},W=function(A,E){if(L(A))return A.clone();var B=typeof E=="object"?E:{};return B.date=A,B.args=arguments,new rt(B)},q=T;q.l=U,q.i=L,q.w=function(A,E){return W(A,{locale:E.$L,utc:E.$u,x:E.$x,$offset:E.$offset})};var rt=(function(){function A(B){this.$L=U(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[F]=!0}var E=A.prototype;return E.parse=function(B){this.$d=(function(D){var $=D.date,N=D.utc;if($===null)return new Date(NaN);if(q.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var V=$.match(C);if(V){var at=V[2]-1||0,ht=(V[7]||"0").substring(0,3);return N?new Date(Date.UTC(V[1],at,V[3]||1,V[4]||0,V[5]||0,V[6]||0,ht)):new Date(V[1],at,V[3]||1,V[4]||0,V[5]||0,V[6]||0,ht)}}return new Date($)})(B),this.init()},E.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},E.$utils=function(){return q},E.isValid=function(){return this.$d.toString()!==m},E.isSame=function(B,D){var $=W(B);return this.startOf(D)<=$&&$<=this.endOf(D)},E.isAfter=function(B,D){return W(B){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},_n=g(function(e="fatal"){let t=We.fatal;typeof e=="string"?e.toLowerCase()in We&&(t=We[e]):typeof e=="number"&&(t=e),I.trace=()=>{},I.debug=()=>{},I.info=()=>{},I.warn=()=>{},I.error=()=>{},I.fatal=()=>{},t<=We.fatal&&(I.fatal=console.error?console.error.bind(console,fe("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",fe("FATAL"))),t<=We.error&&(I.error=console.error?console.error.bind(console,fe("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",fe("ERROR"))),t<=We.warn&&(I.warn=console.warn?console.warn.bind(console,fe("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",fe("WARN"))),t<=We.info&&(I.info=console.info?console.info.bind(console,fe("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",fe("INFO"))),t<=We.debug&&(I.debug=console.debug?console.debug.bind(console,fe("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fe("DEBUG"))),t<=We.trace&&(I.trace=console.debug?console.debug.bind(console,fe("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fe("TRACE")))},"setLogLevel"),fe=g(e=>`%c${km().format("ss.SSS")} : ${e} : `,"format");const Os={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return Os.hue2rgb(a,s,e+1/3)*255;case"g":return Os.hue2rgb(a,s,e)*255;case"b":return Os.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},Sm={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},Lt={channel:Os,lang:wm,unit:Sm},tr={};for(let e=0;e<=255;e++)tr[e]=Lt.unit.dec2hex(e);const te={ALL:0,RGB:1,HSL:2};let Tm=class{constructor(){this.type=te.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=te.ALL}is(t){return this.type===t}};class _m{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new Tm}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=te.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=Lt.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=Lt.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=Lt.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=Lt.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=Lt.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=Lt.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(te.HSL)&&r!==void 0?r:(this._ensureHSL(),Lt.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(te.RGB)&&r!==void 0?r:(this._ensureRGB(),Lt.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(te.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(te.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(te.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(te.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(te.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(te.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const Ca=new _m({r:0,g:0,b:0,a:0},"transparent"),Hr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Hr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return Ca.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${tr[Math.round(t)]}${tr[Math.round(r)]}${tr[Math.round(i)]}${tr[Math.round(s*255)]}`:`#${tr[Math.round(t)]}${tr[Math.round(r)]}${tr[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return Lt.channel.clamp.h(parseFloat(r)*.9);case"rad":return Lt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Lt.channel.clamp.h(parseFloat(r)*360)}}return Lt.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return Ca.set({h:gr._hue2deg(i),s:Lt.channel.clamp.s(parseFloat(s)),l:Lt.channel.clamp.l(parseFloat(a)),a:o?Lt.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${Lt.lang.round(t)}, ${Lt.lang.round(r)}%, ${Lt.lang.round(i)}%, ${s})`:`hsl(${Lt.lang.round(t)}, ${Lt.lang.round(r)}%, ${Lt.lang.round(i)}%)`}},ji={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=ji.colors[e];if(t)return Hr.parse(t)},stringify:e=>{const t=Hr.stringify(e);for(const r in ji.colors)if(ji.colors[r]===t)return r}},Di={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Di.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return Ca.set({r:Lt.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:Lt.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Lt.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?Lt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${Lt.lang.round(t)}, ${Lt.lang.round(r)}, ${Lt.lang.round(i)}, ${Lt.lang.round(s)})`:`rgb(${Lt.lang.round(t)}, ${Lt.lang.round(r)}, ${Lt.lang.round(i)})`}},Oe={format:{keyword:ji,hex:Hr,rgb:Di,rgba:Di,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Hr.parse(e)||Di.parse(e)||gr.parse(e)||ji.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(te.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Di.stringify(e):Hr.stringify(e)},Fu=(e,t)=>{const r=Oe.parse(e);for(const i in t)r[i]=Lt.channel.clamp[i](t[i]);return Oe.stringify(r)},sr=(e,t,r=0,i=1)=>{if(typeof e!="number")return Fu(e,{a:t});const s=Ca.set({r:Lt.channel.clamp.r(e),g:Lt.channel.clamp.g(t),b:Lt.channel.clamp.b(r),a:Lt.channel.clamp.a(i)});return Oe.stringify(s)},Bm=e=>{const{r:t,g:r,b:i}=Oe.parse(e),s=.2126*Lt.channel.toLinear(t)+.7152*Lt.channel.toLinear(r)+.0722*Lt.channel.toLinear(i);return Lt.lang.round(s)},vm=e=>Bm(e)>=.5,Te=e=>!vm(e),Mu=(e,t,r)=>{const i=Oe.parse(e),s=i[t],a=Lt.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Oe.stringify(i)},z=(e,t)=>Mu(e,"l",t),H=(e,t)=>Mu(e,"l",-t),b=(e,t)=>{const r=Oe.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Fu(e,i)},Lm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Oe.parse(e),{r:n,g:l,b:c,a:h}=Oe.parse(t),u=r/100,d=u*2-1,f=o-h,m=((d*f===-1?d:(d+f)/(1+d*f))+1)/2,C=1-m,x=i*m+n*C,k=s*m+l*C,w=a*m+c*C,T=o*u+h*(1-u);return sr(x,k,w,T)},M=(e,t=100)=>{const r=Oe.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Lm(r,e,t)};var Do=g((e,t,{depth:r=2}={})=>{const i={depth:r};if(Array.isArray(t)&&!Array.isArray(e))return t.forEach(s=>Do(e,s,i)),e;if(Array.isArray(t)&&Array.isArray(e))return t.forEach(s=>{e.includes(s)||e.push(s)}),e;if(e==null||r<=0)return e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t;if(t!=null&&typeof e=="object"&&typeof t=="object"){const s=e;Object.entries(t).forEach(([a,o])=>{if(typeof o=="object"){if(o===null)return;Object.hasOwn(e,a)||Object.defineProperty(e,a,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),s[a]===void 0&&(s[a]=Array.isArray(o)?[]:{}),typeof s[a]=="object"&&(s[a]=Do(s[a],o,{depth:r-1}))}else typeof s[a]!="object"&&(Object.hasOwn(e,a)?s[a]=o:Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0}))})}return e},"assignWithDepth"),Zt=Do,Pe="#ffffff",Ie="#f2f2f2",Tt=g((e,t)=>t?b(e,{s:-40,l:10}):b(e,{s:-40,l:-10}),"mkBorder"),Gr,Fm=(Gr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||H(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||H(this.mainBkg,10)):(this.rowOdd=this.rowOdd||z(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||z(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let vt=0;vt{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Gr,"Theme"),Gr),Mm=g(e=>{const t=new Fm;return t.calculate(e),t},"getThemeVariables"),Xr,Am=(Xr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=H("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=H(this.sectionBkgColor,10),this.taskBorderColor=sr(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=sr(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||z(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||H(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.secondBkg=z(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=z(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=z(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=M(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=b(this.primaryColor,{h:64}),this.fillType3=b(this.secondaryColor,{h:64}),this.fillType4=b(this.primaryColor,{h:-64}),this.fillType5=b(this.secondaryColor,{h:-64}),this.fillType6=b(this.primaryColor,{h:128}),this.fillType7=b(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330});for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Xr,"Theme"),Xr),Em=g(e=>{const t=new Am;return t.calculate(e),t},"getThemeVariables"),Vr,$m=(Vr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=b(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=sr(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||H(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||H(this.tertiaryColor,40);for(let R=0;R{this[i]==="calculated"&&(this[i]=void 0)}),typeof t!="object"){this.updateColors();return}const r=Object.keys(t);r.forEach(i=>{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Vr,"Theme"),Vr),Om=g(e=>{const t=new $m;return t.calculate(e),t},"getThemeVariables"),Zr,Dm=(Zr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=z("#cde498",10),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.primaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.actorBorder=H(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||H(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||H(this.tertiaryColor,40);for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Zr,"Theme"),Zr),Pm=g(e=>{const t=new Dm;return t.calculate(e),t},"getThemeVariables"),Kr,Im=(Kr=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=z(this.contrast,55),this.background="#ffffff",this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.lineColor=M(this.background),this.textColor=M(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||z(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,u,d,f,y,m,C,x,k,w,T,_,v,F,L,U,W,q,rt,Y,A,E,B,D,$,N,V,at,ht,gt,yt,pt,_t,wt,$t,bt,it,ut,Bt,At,qt;this.secondBkg=z(this.contrast,55),this.border2=this.contrast,this.actorBorder=z(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Kr,"Theme"),Kr),Rm=g(e=>{const t=new Im;return t.calculate(e),t},"getThemeVariables"),Qr,qm=(Qr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||i,this.cScale3=this.cScale3||b(t,{h:30}),this.cScale4=this.cScale4||b(t,{h:60}),this.cScale5=this.cScale5||b(t,{h:90}),this.cScale6=this.cScale6||b(t,{h:120}),this.cScale7=this.cScale7||b(t,{h:150}),this.cScale8=this.cScale8||b(t,{h:210,l:150}),this.cScale9=this.cScale9||b(t,{h:270}),this.cScale10=this.cScale10||b(t,{h:300}),this.cScale11=this.cScale11||b(t,{h:330}),this.darkMode)for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Qr,"Theme"),Qr),Nm=g(e=>{const t=new qm;return t.calculate(e),t},"getThemeVariables"),Jr,Wm=(Jr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Jr,"Theme"),Jr),zm=g(e=>{const t=new Wm;return t.calculate(e),t},"getThemeVariables"),ti,Hm=(ti=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Tt("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ti,"Theme"),ti),Ym=g(e=>{const t=new Hm;return t.calculate(e),t},"getThemeVariables"),ei,jm=(ei=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||b(this.primaryColor,{h:30}),this.cScale4=this.cScale4||b(this.primaryColor,{h:60}),this.cScale5=this.cScale5||b(this.primaryColor,{h:90}),this.cScale6=this.cScale6||b(this.primaryColor,{h:120}),this.cScale7=this.cScale7||b(this.primaryColor,{h:150}),this.cScale8=this.cScale8||b(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||b(this.primaryColor,{h:270}),this.cScale10=this.cScale10||b(this.primaryColor,{h:300}),this.cScale11=this.cScale11||b(this.primaryColor,{h:330}),this.darkMode)for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ei,"Theme"),ei),Um=g(e=>{const t=new jm;return t.calculate(e),t},"getThemeVariables"),ri,Gm=(ri=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Tt(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,u,d,f,y,m,C;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=b(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||z(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let x=0;x{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ri,"Theme"),ri),Xm=g(e=>{const t=new Gm;return t.calculate(e),t},"getThemeVariables"),ii,Vm=(ii=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=z(this.primaryColor,16),this.tertiaryColor=b(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.background),this.secondaryBorderColor=Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tt(this.tertiaryColor,this.darkMode),this.primaryTextColor=M(this.primaryColor),this.secondaryTextColor=M(this.secondaryColor),this.tertiaryTextColor=M(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=z(M("#323D47"),10),this.border1="#ccc",this.border2=sr(255,255,255,.25),this.arrowheadColor=M(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,u,d,f;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||b(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||b(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||M(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||M(this.tertiaryColor),this.lineColor=this.lineColor||M(this.background),this.arrowheadColor=this.arrowheadColor||M(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?H(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||H(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||M(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||z(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let y=0;y{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ii,"Theme"),ii),Zm=g(e=>{const t=new Vm;return t.calculate(e),t},"getThemeVariables"),Ue={base:{getThemeVariables:Mm},dark:{getThemeVariables:Em},default:{getThemeVariables:Om},forest:{getThemeVariables:Pm},neutral:{getThemeVariables:Rm},neo:{getThemeVariables:Nm},"neo-dark":{getThemeVariables:zm},redux:{getThemeVariables:Ym},"redux-dark":{getThemeVariables:Um},"redux-color":{getThemeVariables:Xm},"redux-dark-color":{getThemeVariables:Zm}},Kt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:10,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},Au={...Kt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",nodePlacementAlignment:"NONE",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES",keepEntryNodeOnTop:!1},themeCSS:void 0,themeVariables:Ue.default.getThemeVariables(),sequence:{...Kt.sequence,messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:g(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:g(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{defaultRenderer:"dagre-wrapper",hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...Kt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Kt.c4,useWidth:void 0,personFont:g(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Kt.flowchart,inheritDir:!1},external_personFont:g(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:g(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:g(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:g(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:g(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:g(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:g(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:g(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:g(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:g(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:g(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:g(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:g(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:g(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:g(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:g(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:g(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:g(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:g(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:g(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Kt.pie,useWidth:984},xyChart:{...Kt.xyChart,useWidth:void 0},requirement:{...Kt.requirement,useWidth:void 0},packet:{...Kt.packet},eventmodeling:{...Kt.eventmodeling},treeView:{...Kt.treeView,useWidth:void 0},radar:{...Kt.radar},railroad:{...Kt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...Kt.ishikawa},sankey:{...Kt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Kt.venn},cynefin:{...Kt.cynefin}},Eu=g((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...Eu(e[i],"")]:[...r,t+i],[]),"keyify"),Km=new Set(Eu(Au,"")),$u=Au,Qm={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},Jm=g((e,t)=>{for(const r of Object.keys(e)){const i=e[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||typeof i!="string"||!t.test(i))&&(I.debug("sanitize deleting dictionary entry:",r,i),delete e[r])}},"sanitizeDictionaryConfig"),Us=g(e=>{if(I.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Us(t));return}for(const t of Object.keys(e)){if(I.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!Km.has(t)||e[t]==null){I.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){const i=Qm[t];i?Jm(e[t],i):(I.debug("sanitizing object",t),Us(e[t]));continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(I.debug("sanitizing css option",t),e[t]=Ou(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}I.debug("After sanitization",e)}},"sanitizeDirective"),Ou=g(e=>{let t=0,r=0;for(const i of e){if(t!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),ne=Zt({},hi),Gs,Cr=[],Ui=Zt({},hi),hs=g((e,t)=>{let r=Zt({},e),i={};for(const s of t)Iu(s),i=Zt(i,s);if(r=Zt(r,i),i.theme&&i.theme in Ue){const s=Zt({},Gs),a=Zt(s.themeVariables||{},i.themeVariables);r.theme&&r.theme in Ue&&(r.themeVariables=Ue[r.theme].getThemeVariables(a))}return Ui=r,a0(Ui),Ui},"updateCurrentConfig"),t0=g(e=>(ne=Zt({},hi),ne=Zt(ne,e),e.theme&&Ue[e.theme]&&(ne.themeVariables=Ue[e.theme].getThemeVariables(e.themeVariables)),hs(ne,Cr),ne),"setSiteConfig"),e0=g(e=>{Gs=Zt({},e)},"saveConfigFromInitialize"),r0=g(e=>(ne=Zt(ne,e),hs(ne,Cr),ne),"updateSiteConfig"),Du=g(()=>Zt({},ne),"getSiteConfig"),Pu=g(e=>(hs(Ui,[e]),Yt()),"setConfig"),Yt=g(()=>Zt({},Ui),"getConfig"),Iu=g(e=>{e&&(["secure",...ne.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(I.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&Iu(e[t])}))},"sanitize"),i0=g(e=>{var t;Us(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),Cr.push(e),hs(ne,Cr)},"addDirective"),Xs=g((e=ne)=>{Cr=[],hs(e,Cr)},"reset"),s0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},th={},Ru=g(e=>{th[e]||(I.warn(s0[e]),th[e]=!0)},"issueWarning"),a0=g(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Ru("LAZY_LOAD_DEPRECATED")},"checkConfig"),tM=g(()=>{let e={};Gs&&(e=Zt(e,Gs));for(const t of Cr)e=Zt(e,t);return e},"getUserDefinedConfig"),ie=g(e=>{var t,r;return((t=e.flowchart)==null?void 0:t.htmlLabels)!=null&&Ru("FLOWCHART_HTML_LABELS_DEPRECATED"),Re(e.htmlLabels??((r=e.flowchart)==null?void 0:r.htmlLabels)??!0)},"getEffectiveHtmlLabels"),qu=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,Gi=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,o0=/\s*%%.*\n/gm,si,Nu=(si=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},g(si,"UnknownDiagramError"),si),br={},Bn=g(function(e,t){e=e.replace(qu,"").replace(Gi,"").replace(o0,` `);for(const[r,{detector:i}]of Object.entries(br))if(i(e,t))return r;throw new Nu(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),Po=g((...e)=>{for(const{id:t,detector:r,loader:i}of e)Wu(t,r,i)},"registerLazyLoadedDiagrams"),Wu=g((e,t,r)=>{br[e]&&I.warn(`Detector with key ${e} already exists. Overwriting.`),br[e]={detector:t,loader:r},I.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),n0=g(e=>br[e].loader,"getDiagramLoader"),cs=//gi,l0=g(e=>e?Yu(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),h0=(()=>{let e=!1;return()=>{e||(zu(),e=!0)}})();function zu(){const e="data-temp-href-target";li.addHook("beforeSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),li.addHook("afterSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}g(zu,"setupDompurifyHooks");var Hu=g(e=>(h0(),li.sanitize(e)),"removeScript"),eh=g((e,t)=>{if(ie(t)){const r=t.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?e=Hu(e):r!=="loose"&&(e=Yu(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=f0(e))}return e},"sanitizeMore"),ge=g((e,t)=>e&&(t.dompurifyConfig?e=li.sanitize(eh(e,t),t.dompurifyConfig).toString():e=li.sanitize(eh(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),c0=g((e,t)=>typeof e=="string"?ge(e,t):e.flat().map(r=>ge(r,t)),"sanitizeTextOrArray"),u0=g(e=>cs.test(e),"hasBreaks"),d0=g(e=>e.split(cs),"splitBreaks"),f0=g(e=>e.replace(/#br#/g,"
"),"placeholderToBreak"),Yu=g(e=>e.replace(cs,"#br#"),"breakToPlaceholder"),g0=g(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),p0=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),y0=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),rh=g(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),m0=g((e,t)=>{const r=Io(e,"~"),i=Io(t,"~");return r===1&&i===1},"shouldCombineSets"),x0=g(e=>{const t=Io(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let s=i.indexOf("~"),a=i.lastIndexOf("~");for(;s!==-1&&a!==-1&&s!==a;)i[s]="<",i[a]=">",s=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),ih=g(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Ro=/\$\$(.*?)\$\$/g,Qi=g(e=>{var t;return(((t=e.match(Ro))==null?void 0:t.length)??0)>0},"hasKatex"),eM=g(async(e,t)=>{const r=document.createElement("div");r.innerHTML=await ju(e,t),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const i=document.querySelector("body");i==null||i.insertAdjacentElement("beforeend",r);const s={width:r.clientWidth,height:r.clientHeight};return r.remove(),s},"calculateMathMLDimensions"),C0=g(async(e,t)=>{if(!Qi(e))return e;if(!(ih()||t.legacyMathML||t.forceLegacyMathML))return e.replace(Ro,"MathML is unsupported in this environment.");{const{default:r}=await Mt(async()=>{const{default:s}=await import("./katex-C5jXJg4s.js");return{default:s}},[]),i=t.forceLegacyMathML||!ih()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(cs).map(s=>Qi(s)?`
${s}
`:`
${s}
`).join("").replace(Ro,(s,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),ju=g(async(e,t)=>ge(await C0(e,t),t),"renderKatexSanitized"),us={getRows:l0,sanitizeText:ge,sanitizeTextOrArray:c0,hasBreaks:u0,splitBreaks:d0,lineBreakRegex:cs,removeScript:Hu,getUrl:g0,evaluate:Re,getMax:p0,getMin:y0},b0=g(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),k0=g(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),Uu=g(function(e,t,r,i){const s=k0(t,r,i);b0(e,s)},"configureSvgSize"),w0=g(function(e,t,r,i){const s=t.node().getBBox(),a=s.width,o=s.height;I.info(`SVG bounds: ${a}x${o}`,s);let n=0,l=0;I.info(`Graph bounds: ${n}x${l}`,e),n=a+r*2,l=o+r*2,I.info(`Calculated bounds: ${n}x${l}`),Uu(t,l,n,i);const c=`${s.x-r} ${s.y-r} ${s.width+2*r} ${s.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),Ds={};function qo(e){return[...e.cssRules].map(t=>t.cssText).join(` `)}g(qo,"cssStyleSheetToString");var S0=g((e,t,r,i)=>{let s="";return e in Ds&&Ds[e]?s=Ds[e]({...r,svgId:i}):I.warn(`No theme found for ${e}`),`& { font-family: ${r.fontFamily}; @@ -265,7 +265,7 @@ ${a.join(` L0,20`)},"requirement_arrow"),cS=g((e,t,r)=>{const i=Yt(),{themeVariables:s}=i,{strokeWidth:a}=s;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),uS=g((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),dS=g((e,t,r)=>{const i=Yt(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),fS={extension:jw,composition:Uw,aggregation:Gw,dependency:Xw,lollipop:Vw,point:Zw,circle:Kw,cross:Qw,barb:Jw,barbNeo:tS,only_one:eS,zero_or_one:rS,one_or_more:iS,zero_or_more:sS,only_one_neo:aS,zero_or_one_neo:oS,one_or_more_neo:nS,zero_or_more_neo:lS,requirement_arrow:hS,requirement_contains:uS,requirement_arrow_neo:cS,requirement_contains_neo:dS},bp=Yw,kp=typeof global=="object"&&global&&global.Object===Object&&global,gS=typeof self=="object"&&self&&self.Object===Object&&self,Ze=kp||gS||Function("return this")(),De=Ze.Symbol,wp=Object.prototype,pS=wp.hasOwnProperty,yS=wp.toString,Oi=De?De.toStringTag:void 0;function mS(e){var t=pS.call(e,Oi),r=e[Oi];try{e[Oi]=void 0;var i=!0}catch{}var s=yS.call(e);return i&&(t?e[Oi]=r:delete e[Oi]),s}var xS=Object.prototype,CS=xS.toString;function bS(e){return CS.call(e)}var kS="[object Null]",wS="[object Undefined]",wc=De?De.toStringTag:void 0;function mi(e){return e==null?e===void 0?wS:kS:wc&&wc in Object(e)?mS(e):bS(e)}function Tr(e){return e!=null&&typeof e=="object"}var SS="[object Symbol]";function Cl(e){return typeof e=="symbol"||Tr(e)&&mi(e)==SS}function Sp(e,t){for(var r=-1,i=e==null?0:e.length,s=Array(i);++r0){if(++t>=zS)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Hi(e){return function(){return e}}var Bc=(function(){try{var e=Mr(Object,"defineProperty");return e({},"",{}),e}catch{}})(),US=Bc?function(e,t){return Bc(e,"toString",{configurable:!0,enumerable:!1,value:Hi(t),writable:!0})}:$a,GS=jS(US);function XS(e,t){for(var r=-1,i=e==null?0:e.length;++r-1}var tT=9007199254740991,eT=/^(?:0|[1-9]\d*)$/;function _p(e,t){var r=typeof e;return t=t??tT,!!t&&(r=="number"||r!="symbol"&&eT.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=sT}function Oa(e){return e!=null&&kl(e.length)&&!pa(e)}var aT=Object.prototype;function vp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||aT;return e===r}function oT(e,t){for(var r=-1,i=Array(e);++r-1}function d_(e,t){var r=this.__data__,i=Pa(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}function Ke(e){var t=-1,r=e==null?0:e.length;for(this.clear();++tn))return!1;var c=a.get(e),h=a.get(t);if(c&&h)return c==t&&h==e;var u=-1,d=!0,f=r&Q_?new as:void 0;for(a.set(e,t),a.set(t,e);++u=KB){var c=ZB(e);if(c)return _l(c);o=!1,s=Pp,l=new as}else l=n;t:for(;++i1?s.setNode(a,r):s.setNode(a)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=ur,this._children[t]={},this._children[ur][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],cr(this.children(t),i=>{this.setParent(i)}),delete this._children[t]),cr(Ae(this._in[t]),r),delete this._in[t],delete this._preds[t],cr(Ae(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Wr(r))r=ur;else{r+="";for(var i=r;!Wr(i);i=this.parent(i))if(i===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==ur)return r}}children(t){if(Wr(t)&&(t=ur),this._isCompound){var r=this._children[t];if(r)return Ae(r)}else{if(t===ur)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return Ae(r)}successors(t){var r=this._sucs[t];if(r)return Ae(r)}neighbors(t){var r=this.predecessors(t);if(r)return JB(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var i=this;cr(this._nodes,function(o,n){t(n)&&r.setNode(n,o)}),cr(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,i.edge(o))});var s={};function a(o){var n=i.parent(o);return n===void 0||r.hasNode(n)?(s[o]=n,n):n in s?s[n]:a(n)}return this._isCompound&&cr(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(t){return pa(t)||(t=Hi(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return lo(this._edgeObjs)}setPath(t,r){var i=this,s=arguments;return XB(t,function(a,o){return s.length>1?i.setEdge(a,o,r):i.setEdge(a,o),o}),this}setEdge(){var t,r,i,s,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(t=o.v,r=o.w,i=o.name,arguments.length===2&&(s=arguments[1],a=!0)):(t=o,r=arguments[1],i=arguments[3],arguments.length>2&&(s=arguments[2],a=!0)),t=""+t,r=""+r,Wr(i)||(i=""+i);var n=Yi(this._isDirected,t,r,i);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,n))return a&&(this._edgeLabels[n]=s),this;if(!Wr(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[n]=a?s:this._defaultEdgeLabelFn(t,r,i);var l=ev(this._isDirected,t,r,i);return t=l.v,r=l.w,Object.freeze(l),this._edgeObjs[n]=l,Xc(this._preds[r],t),Xc(this._sucs[t],r),this._in[r][n]=l,this._out[t][n]=l,this._edgeCount++,this}edge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i);return this._edgeLabels[s]}hasEdge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i);return Object.prototype.hasOwnProperty.call(this._edgeLabels,s)}removeEdge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i),a=this._edgeObjs[s];return a&&(t=a.v,r=a.w,delete this._edgeLabels[s],delete this._edgeObjs[s],Vc(this._preds[r],t),Vc(this._sucs[t],r),delete this._in[r][s],delete this._out[t][s],this._edgeCount--),this}inEdges(t,r){var i=this._in[t];if(i){var s=lo(i);return r?Fs(s,function(a){return a.v===r}):s}}outEdges(t,r){var i=this._out[t];if(i){var s=lo(i);return r?Fs(s,function(a){return a.w===r}):s}}nodeEdges(t,r){var i=this.inEdges(t,r);if(i)return i.concat(this.outEdges(t,r))}}qa.prototype._nodeCount=0;qa.prototype._edgeCount=0;function Xc(e,t){e[t]?e[t]++:e[t]=1}function Vc(e,t){--e[t]||delete e[t]}function Yi(e,t,r,i){var s=""+t,a=""+r;if(!e&&s>a){var o=s;s=a,a=o}return s+Gc+a+Gc+(Wr(i)?tv:i)}function ev(e,t,r,i){var s=""+t,a=""+r;if(!e&&s>a){var o=s;s=a,a=o}var n={v:s,w:a};return i&&(n.name=i),n}function ho(e,t){return Yi(e,t.v,t.w,t.name)}function Wp(e,{edgePathsClass:t="edges edgePaths"}={}){const r=e.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),s=r.insert("g").attr("class",t),a=r.insert("g").attr("class","edgeLabels"),o=r.insert("g").attr("class","nodes");return{clusters:i,edgePaths:s,edgeLabels:a,nodes:o,rootGroups:r}}g(Wp,"createLayoutElementGroups");async function zp(e,t){if(t.label){const{shapeSvg:r,bbox:i}=await mt(e,t);t.labelBBox={width:i.width,height:i.height},r.remove()}else t.labelBBox={width:0,height:0}}g(zp,"measureGroupLabel");async function Hp(e,t,r){var a;const i=await ml(e,t,r),s=((a=i.node())==null?void 0:a.getBBox())??{width:0,height:0};return t.width=s.width,t.height=s.height,i}g(Hp,"insertMeasuredNode");async function Yp(e,t){const r=new qa({multigraph:!0,compound:!0}),i=[...t.edges],s=Et(),a=Wp(e),{edgeLabels:o,nodes:n}=a,l=new Map,c=e.node()!=null;await Promise.all(t.nodes.map(async h=>{if(h.isGroup)c&&await zp(n,h),r.setNode(h.id,{...h});else{if(c){const u=await Hp(n,h,{config:s,dir:h.dir});l.set(h.id,u)}r.setNode(h.id,{...h})}}));for(const h of i)c&&pp(h)&&await xl(o,h),r.setEdge(h.start,h.end,{...h},h.id),t.edges.some(d=>d.id===h.id)||t.edges.push(h);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:h}=await Mt(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-INFHLROL-sZLC26GK.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));h(e,t)}return{graph:r,groups:a,nodeElements:l}}g(Yp,"createGraphWithElements");var Dt=new Map,yr=new Map,jp=new Map,rv=g(()=>{yr.clear(),jp.clear(),Dt.clear()},"clear"),os=g((e,t)=>{const r=yr.get(t)||[];return I.trace("In isDescendant",t," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),iv=g((e,t)=>{const r=yr.get(t)||[];return I.info("Descendants of ",t," is ",r),I.info("Edge is ",e),e.v===t||e.w===t?!1:r?r.includes(e.v)||os(e.v,t)||os(e.w,t)||r.includes(e.w):(I.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),Up=g((e,t,r,i)=>{I.debug("Copying children of ",e,"root",i,"data",t.node(e),i);const s=t.children(e)||[];e!==i&&s.push(e),I.debug("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)Up(a,t,r,i);else{const o=t.node(a);I.info("cp ",a," to ",i," with parent ",e),r.setNode(a,o),i!==t.parent(a)&&(I.debug("Setting parent",a,t.parent(a)),r.setParent(a,t.parent(a))),e!==i&&a!==e?(I.debug("Setting parent",a,e),r.setParent(a,e)):(I.info("In copy ",e,"root",i,"data",t.node(e),i),I.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==i,"node!==clusterId",a!==e));const n=t.edges(a);I.debug("Copying Edges",n),n.forEach(l=>{I.info("Edge",l);const c=t.edge(l.v,l.w,l.name);I.info("Edge data",c,i);try{iv(l,i)?(I.info("Copying as ",l.v,l.w,c,l.name),r.setEdge(l.v,l.w,c,l.name),I.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):I.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",i," clusterId:",e)}catch(h){I.error(h)}})}I.debug("Removing node",a),t.removeNode(a)})},"copy"),Gp=g((e,t)=>{const r=t.children(e);let i=[...r];for(const s of r)jp.set(s,e),i=[...i,...Gp(s,t)];return i},"extractDescendants"),sv=g((e,t,r)=>{const i=e.edges().filter(l=>l.v===t||l.w===t),s=e.edges().filter(l=>l.v===r||l.w===r),a=i.map(l=>({v:l.v===t?r:l.v,w:l.w===t?t:l.w})),o=s.map(l=>({v:l.v,w:l.w}));return a.filter(l=>o.some(c=>l.v===c.v&&l.w===c.w))},"findCommonEdges"),ma=g((e,t,r)=>{const i=t.children(e);if(I.trace("Searching children of id ",e,i),i.length<1)return e;let s;for(const a of i){const o=ma(a,t,r),n=sv(t,r,o);if(o)if(n.length>0)s=o;else return o}return s},"findNonClusterChild"),Zc=g(e=>!Dt.has(e)||!Dt.get(e).externalConnections?e:Dt.has(e)?Dt.get(e).id:e,"getAnchorId"),wM=g((e,t)=>{var r;if(!e||t>10){I.debug("Opting out, no graph ");return}else I.debug("Opting in, graph ");e.nodes().forEach(function(i){e.children(i).length>0&&(I.debug("Cluster identified",i," Replacement id in edges: ",ma(i,e,i)),yr.set(i,Gp(i,e)),Dt.set(i,{id:ma(i,e,i),clusterData:e.node(i)}))}),e.nodes().forEach(function(i){const s=e.children(i),a=e.edges();s.length>0?(I.debug("Cluster identified",i,yr),a.forEach(o=>{const n=os(o.v,i),l=os(o.w,i);n^l&&(I.debug("Edge: ",o," leaves cluster ",i),I.debug("Descendants of XXX ",i,": ",yr.get(i)),Dt.get(i).externalConnections=!0)})):I.debug("Not a cluster ",i,yr)});for(let i of Dt.keys()){const s=Dt.get(i).id,a=e.parent(s);a!==i&&Dt.has(a)&&!Dt.get(a).externalConnections&&(Dt.get(i).id=a);const o=e.edges().some(n=>n.v===i);if(s&&((r=Dt.get(i))!=null&&r.externalConnections)&&o&&Zp(e,s,i)){const n=av(e,i,e.parent(s));n&&(Dt.get(i).id=n)}}e.edges().forEach(function(i){const s=e.edge(i);I.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(i)),I.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(e.edge(i)));let a=i.v,o=i.w;if(I.debug("Fix XXX",Dt,"ids:",i.v,i.w,"Translating: ",Dt.get(i.v)," --- ",Dt.get(i.w)),Dt.get(i.v)||Dt.get(i.w)){if(I.debug("Fixing and trying - removing XXX",i.v,i.w,i.name),a=Zc(i.v),o=Zc(i.w),e.removeEdge(i.v,i.w,i.name),a!==i.v){const n=e.parent(a);Dt.get(n).externalConnections=!0,s.fromCluster=i.v}if(o!==i.w){const n=e.parent(o);Dt.get(n).externalConnections=!0,s.toCluster=i.w}I.debug("Fix Replacing with XXX",a,o,i.name),e.setEdge(a,o,s,i.name)}}),Xp(e,0),I.trace(Dt)},"adjustClustersAndEdges"),Xp=g((e,t)=>{var s,a;if(t>10){I.error("Bailing out");return}let r=e.nodes(),i=!1;for(const o of r){const n=e.children(o);i=i||n.length>0}if(!i){I.debug("Done, no node has children",e.nodes());return}I.debug("Nodes = ",r,t);for(const o of r)if(I.debug("Extracting node",o,Dt,Dt.has(o)&&!Dt.get(o).externalConnections,!e.parent(o),e.node(o),e.children("D")," Depth ",t),!Dt.has(o))I.debug("Not a cluster",o,t);else if(!Dt.get(o).externalConnections&&e.children(o)&&e.children(o).length>0){I.debug("Cluster without external connections, without a parent and with children",o,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(a=(s=Dt.get(o))==null?void 0:s.clusterData)!=null&&a.dir&&(l=Dt.get(o).clusterData.dir,I.debug("Fixing dir",Dt.get(o).clusterData.dir,l));const c=new qa({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Up(o,e,c,o),e.setNode(o,{clusterNode:!0,id:o,clusterData:Dt.get(o).clusterData,label:Dt.get(o).label,graph:c})}else I.debug("Cluster ** ",o," **not meeting the criteria !externalConnections:",!Dt.get(o).externalConnections," no parent: ",!e.parent(o)," children ",e.children(o)&&e.children(o).length>0,e.children("D"),t),I.debug(Dt);r=e.nodes(),I.debug("New list of nodes",r);for(const o of r){const n=e.node(o);I.debug(" Now next level",o,n),n!=null&&n.clusterNode&&Xp(n.graph,t+1)}},"extractor"),Vp=g((e,t)=>{if(t.length===0)return[];let r=Object.assign([],t);return t.forEach(i=>{const s=e.children(i),a=Vp(e,s);r=[...r,...a]}),r},"sorter"),SM=g(e=>Vp(e,e.children()),"sortNodesByHierarchy"),Zp=g((e,t,r)=>{let i=e.parent(t);for(;i&&i!==r;){const s=Dt.get(i);if(s&&!s.externalConnections)return!0;i=e.parent(i)}return!1},"isNodeInExtractableCluster"),av=g((e,t,r)=>{const i=e.children(t)??[];for(const s of i){if(s===r||os(s,r))continue;const a=ma(s,e,t);if(a&&!Zp(e,a,t))return a}return null},"findSafeAnchorNode");function Kp({prepareLayout:e,measureLayout:t,runLayoutCore:r,paintLayout:i,afterPaint:s,paintOptions:a}){const o=t??Fl;return g(async function(l,c,h,u){const d=c.select("g");((h==null?void 0:h.insertMarkers)??bp)(d,l.markers,l.type,l.diagramId),Ll();const f={element:d,helpers:h,options:u};f.preparedLayout=await(e==null?void 0:e(l,f));const y=await o(l,f),m=await r(l,f),C={...f,measure:y};i?await i(l,C,m):await Ml(l,C,a),await(s==null?void 0:s(l,C,m))},"render")}g(Kp,"createCommonLayoutRenderer");function Ll(){Sw(),Iw(),Aw(),rv()}g(Ll,"clearLayoutRenderState");async function Fl(e,{element:t}){return await Yp(t,e)}g(Fl,"defaultMeasureLayout");async function Ml(e,t,r={}){var o,n;const{measure:i}=t,{groups:s}=i;for(const l of((o=r.getNodes)==null?void 0:o.call(r,e,t))??e.nodes)(n=r.skipNode)!=null&&n.call(r,l,t)||await Qp(s,l,t,r);const a=ty(e.nodes);for(const l of e.edges)ey(l,r)||await ry(s,l,a,e,r,t)}g(Ml,"paintLayoutData");async function Qp(e,t,r,i){t.clusterNode?mc(t):Jp(t,r,i)?await gp(e.clusters,t):mc(t)}g(Qp,"paintLayoutNode");function Jp(e,t,r){var i;return e.isGroup===!0&&(((i=r.isCluster)==null?void 0:i.call(r,e,t))??!0)}g(Jp,"shouldPaintAsCluster");function ty(e){const t=new Map;for(const r of e)r!=null&&r.id&&t.set(r.id,r);return t}g(ty,"buildNodeLookup");function ey(e,t){var r;return e.isLayoutOnly||!!((r=t.skipEdge)!=null&&r.call(t,e))}g(ey,"shouldSkipPaintEdge");async function ry(e,t,r,i,s,a){const o=mp(e.edgePaths,{...t},s.clusterDb??new Map,i.type,mn(t.start,t,r,a,s),mn(t.end,t,r,a,s),i.diagramId,iy(t,s));pp(t)&&(di.has(t.id)||await xl(e.edgeLabels,t),sy(t,o))}g(ry,"paintLayoutEdge");function mn(e,t,r,i,s){var a;return((a=s.getEdgeNode)==null?void 0:a.call(s,e,t,i))??(e?r.get(e)??{}:{})}g(mn,"getRenderedNode");function iy(e,t){return typeof t.skipIntersect=="function"?t.skipIntersect(e):t.skipIntersect??!1}g(iy,"shouldSkipIntersect");function sy(e,t){const r=(t==null?void 0:t.updatedPath)??(t==null?void 0:t.originalPath),i=Yt(),{subGraphTitleTotalMargin:s}=Aa({flowchart:i.flowchart??{}});if(e.label){const a=di.get(e.id);let o=e.x,n=e.y;if(r){const l=re.calcLabelPosition(r);I.debug("Moving label "+e.label+" from (",o,",",n,") to (",l.x,",",l.y,") abc88"),t!=null&&t.updatedPath&&(o=l.x,n=l.y)}a.attr("transform",`translate(${o}, ${n+s/2})`)}if(e!=null&&e.startLabelLeft){const a=Ut.get(e.id).startLeft;let o=e==null?void 0:e.x,n=e==null?void 0:e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.startLabelRight){const a=Ut.get(e.id).startRight;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.endLabelLeft){const a=Ut.get(e.id).endLeft;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.endLabelRight){const a=Ut.get(e.id).endRight;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}}g(sy,"positionRenderedEdgeLabel");function ay(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}g(ay,"getDefaultExportFromCjs");var Jt={},Ms={},Je={},Kc;function xi(){if(Kc)return Je;Kc=1;function e(o){return typeof o>"u"||o===null}g(e,"isNothing");function t(o){return typeof o=="object"&&o!==null}g(t,"isObject");function r(o){return Array.isArray(o)?o:e(o)?[]:[o]}g(r,"toArray");function i(o,n){if(n){const l=Object.keys(n);for(let c=0,h=l.length;c{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),dS=g((e,t,r)=>{const i=Yt(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),fS={extension:jw,composition:Uw,aggregation:Gw,dependency:Xw,lollipop:Vw,point:Zw,circle:Kw,cross:Qw,barb:Jw,barbNeo:tS,only_one:eS,zero_or_one:rS,one_or_more:iS,zero_or_more:sS,only_one_neo:aS,zero_or_one_neo:oS,one_or_more_neo:nS,zero_or_more_neo:lS,requirement_arrow:hS,requirement_contains:uS,requirement_arrow_neo:cS,requirement_contains_neo:dS},bp=Yw,kp=typeof global=="object"&&global&&global.Object===Object&&global,gS=typeof self=="object"&&self&&self.Object===Object&&self,Ze=kp||gS||Function("return this")(),De=Ze.Symbol,wp=Object.prototype,pS=wp.hasOwnProperty,yS=wp.toString,Oi=De?De.toStringTag:void 0;function mS(e){var t=pS.call(e,Oi),r=e[Oi];try{e[Oi]=void 0;var i=!0}catch{}var s=yS.call(e);return i&&(t?e[Oi]=r:delete e[Oi]),s}var xS=Object.prototype,CS=xS.toString;function bS(e){return CS.call(e)}var kS="[object Null]",wS="[object Undefined]",wc=De?De.toStringTag:void 0;function mi(e){return e==null?e===void 0?wS:kS:wc&&wc in Object(e)?mS(e):bS(e)}function Tr(e){return e!=null&&typeof e=="object"}var SS="[object Symbol]";function Cl(e){return typeof e=="symbol"||Tr(e)&&mi(e)==SS}function Sp(e,t){for(var r=-1,i=e==null?0:e.length,s=Array(i);++r0){if(++t>=zS)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Hi(e){return function(){return e}}var Bc=(function(){try{var e=Mr(Object,"defineProperty");return e({},"",{}),e}catch{}})(),US=Bc?function(e,t){return Bc(e,"toString",{configurable:!0,enumerable:!1,value:Hi(t),writable:!0})}:$a,GS=jS(US);function XS(e,t){for(var r=-1,i=e==null?0:e.length;++r-1}var tT=9007199254740991,eT=/^(?:0|[1-9]\d*)$/;function _p(e,t){var r=typeof e;return t=t??tT,!!t&&(r=="number"||r!="symbol"&&eT.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=sT}function Oa(e){return e!=null&&kl(e.length)&&!pa(e)}var aT=Object.prototype;function vp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||aT;return e===r}function oT(e,t){for(var r=-1,i=Array(e);++r-1}function d_(e,t){var r=this.__data__,i=Pa(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}function Ke(e){var t=-1,r=e==null?0:e.length;for(this.clear();++tn))return!1;var c=a.get(e),h=a.get(t);if(c&&h)return c==t&&h==e;var u=-1,d=!0,f=r&Q_?new as:void 0;for(a.set(e,t),a.set(t,e);++u=KB){var c=ZB(e);if(c)return _l(c);o=!1,s=Pp,l=new as}else l=n;t:for(;++i1?s.setNode(a,r):s.setNode(a)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=ur,this._children[t]={},this._children[ur][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],cr(this.children(t),i=>{this.setParent(i)}),delete this._children[t]),cr(Ae(this._in[t]),r),delete this._in[t],delete this._preds[t],cr(Ae(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Wr(r))r=ur;else{r+="";for(var i=r;!Wr(i);i=this.parent(i))if(i===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==ur)return r}}children(t){if(Wr(t)&&(t=ur),this._isCompound){var r=this._children[t];if(r)return Ae(r)}else{if(t===ur)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return Ae(r)}successors(t){var r=this._sucs[t];if(r)return Ae(r)}neighbors(t){var r=this.predecessors(t);if(r)return JB(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var i=this;cr(this._nodes,function(o,n){t(n)&&r.setNode(n,o)}),cr(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,i.edge(o))});var s={};function a(o){var n=i.parent(o);return n===void 0||r.hasNode(n)?(s[o]=n,n):n in s?s[n]:a(n)}return this._isCompound&&cr(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(t){return pa(t)||(t=Hi(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return lo(this._edgeObjs)}setPath(t,r){var i=this,s=arguments;return XB(t,function(a,o){return s.length>1?i.setEdge(a,o,r):i.setEdge(a,o),o}),this}setEdge(){var t,r,i,s,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(t=o.v,r=o.w,i=o.name,arguments.length===2&&(s=arguments[1],a=!0)):(t=o,r=arguments[1],i=arguments[3],arguments.length>2&&(s=arguments[2],a=!0)),t=""+t,r=""+r,Wr(i)||(i=""+i);var n=Yi(this._isDirected,t,r,i);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,n))return a&&(this._edgeLabels[n]=s),this;if(!Wr(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[n]=a?s:this._defaultEdgeLabelFn(t,r,i);var l=ev(this._isDirected,t,r,i);return t=l.v,r=l.w,Object.freeze(l),this._edgeObjs[n]=l,Xc(this._preds[r],t),Xc(this._sucs[t],r),this._in[r][n]=l,this._out[t][n]=l,this._edgeCount++,this}edge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i);return this._edgeLabels[s]}hasEdge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i);return Object.prototype.hasOwnProperty.call(this._edgeLabels,s)}removeEdge(t,r,i){var s=arguments.length===1?ho(this._isDirected,arguments[0]):Yi(this._isDirected,t,r,i),a=this._edgeObjs[s];return a&&(t=a.v,r=a.w,delete this._edgeLabels[s],delete this._edgeObjs[s],Vc(this._preds[r],t),Vc(this._sucs[t],r),delete this._in[r][s],delete this._out[t][s],this._edgeCount--),this}inEdges(t,r){var i=this._in[t];if(i){var s=lo(i);return r?Fs(s,function(a){return a.v===r}):s}}outEdges(t,r){var i=this._out[t];if(i){var s=lo(i);return r?Fs(s,function(a){return a.w===r}):s}}nodeEdges(t,r){var i=this.inEdges(t,r);if(i)return i.concat(this.outEdges(t,r))}}qa.prototype._nodeCount=0;qa.prototype._edgeCount=0;function Xc(e,t){e[t]?e[t]++:e[t]=1}function Vc(e,t){--e[t]||delete e[t]}function Yi(e,t,r,i){var s=""+t,a=""+r;if(!e&&s>a){var o=s;s=a,a=o}return s+Gc+a+Gc+(Wr(i)?tv:i)}function ev(e,t,r,i){var s=""+t,a=""+r;if(!e&&s>a){var o=s;s=a,a=o}var n={v:s,w:a};return i&&(n.name=i),n}function ho(e,t){return Yi(e,t.v,t.w,t.name)}function Wp(e,{edgePathsClass:t="edges edgePaths"}={}){const r=e.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),s=r.insert("g").attr("class",t),a=r.insert("g").attr("class","edgeLabels"),o=r.insert("g").attr("class","nodes");return{clusters:i,edgePaths:s,edgeLabels:a,nodes:o,rootGroups:r}}g(Wp,"createLayoutElementGroups");async function zp(e,t){if(t.label){const{shapeSvg:r,bbox:i}=await mt(e,t);t.labelBBox={width:i.width,height:i.height},r.remove()}else t.labelBBox={width:0,height:0}}g(zp,"measureGroupLabel");async function Hp(e,t,r){var a;const i=await ml(e,t,r),s=((a=i.node())==null?void 0:a.getBBox())??{width:0,height:0};return t.width=s.width,t.height=s.height,i}g(Hp,"insertMeasuredNode");async function Yp(e,t){const r=new qa({multigraph:!0,compound:!0}),i=[...t.edges],s=Et(),a=Wp(e),{edgeLabels:o,nodes:n}=a,l=new Map,c=e.node()!=null;await Promise.all(t.nodes.map(async h=>{if(h.isGroup)c&&await zp(n,h),r.setNode(h.id,{...h});else{if(c){const u=await Hp(n,h,{config:s,dir:h.dir});l.set(h.id,u)}r.setNode(h.id,{...h})}}));for(const h of i)c&&pp(h)&&await xl(o,h),r.setEdge(h.start,h.end,{...h},h.id),t.edges.some(d=>d.id===h.id)||t.edges.push(h);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:h}=await Mt(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-INFHLROL-CdlJa97E.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));h(e,t)}return{graph:r,groups:a,nodeElements:l}}g(Yp,"createGraphWithElements");var Dt=new Map,yr=new Map,jp=new Map,rv=g(()=>{yr.clear(),jp.clear(),Dt.clear()},"clear"),os=g((e,t)=>{const r=yr.get(t)||[];return I.trace("In isDescendant",t," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),iv=g((e,t)=>{const r=yr.get(t)||[];return I.info("Descendants of ",t," is ",r),I.info("Edge is ",e),e.v===t||e.w===t?!1:r?r.includes(e.v)||os(e.v,t)||os(e.w,t)||r.includes(e.w):(I.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),Up=g((e,t,r,i)=>{I.debug("Copying children of ",e,"root",i,"data",t.node(e),i);const s=t.children(e)||[];e!==i&&s.push(e),I.debug("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)Up(a,t,r,i);else{const o=t.node(a);I.info("cp ",a," to ",i," with parent ",e),r.setNode(a,o),i!==t.parent(a)&&(I.debug("Setting parent",a,t.parent(a)),r.setParent(a,t.parent(a))),e!==i&&a!==e?(I.debug("Setting parent",a,e),r.setParent(a,e)):(I.info("In copy ",e,"root",i,"data",t.node(e),i),I.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==i,"node!==clusterId",a!==e));const n=t.edges(a);I.debug("Copying Edges",n),n.forEach(l=>{I.info("Edge",l);const c=t.edge(l.v,l.w,l.name);I.info("Edge data",c,i);try{iv(l,i)?(I.info("Copying as ",l.v,l.w,c,l.name),r.setEdge(l.v,l.w,c,l.name),I.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):I.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",i," clusterId:",e)}catch(h){I.error(h)}})}I.debug("Removing node",a),t.removeNode(a)})},"copy"),Gp=g((e,t)=>{const r=t.children(e);let i=[...r];for(const s of r)jp.set(s,e),i=[...i,...Gp(s,t)];return i},"extractDescendants"),sv=g((e,t,r)=>{const i=e.edges().filter(l=>l.v===t||l.w===t),s=e.edges().filter(l=>l.v===r||l.w===r),a=i.map(l=>({v:l.v===t?r:l.v,w:l.w===t?t:l.w})),o=s.map(l=>({v:l.v,w:l.w}));return a.filter(l=>o.some(c=>l.v===c.v&&l.w===c.w))},"findCommonEdges"),ma=g((e,t,r)=>{const i=t.children(e);if(I.trace("Searching children of id ",e,i),i.length<1)return e;let s;for(const a of i){const o=ma(a,t,r),n=sv(t,r,o);if(o)if(n.length>0)s=o;else return o}return s},"findNonClusterChild"),Zc=g(e=>!Dt.has(e)||!Dt.get(e).externalConnections?e:Dt.has(e)?Dt.get(e).id:e,"getAnchorId"),wM=g((e,t)=>{var r;if(!e||t>10){I.debug("Opting out, no graph ");return}else I.debug("Opting in, graph ");e.nodes().forEach(function(i){e.children(i).length>0&&(I.debug("Cluster identified",i," Replacement id in edges: ",ma(i,e,i)),yr.set(i,Gp(i,e)),Dt.set(i,{id:ma(i,e,i),clusterData:e.node(i)}))}),e.nodes().forEach(function(i){const s=e.children(i),a=e.edges();s.length>0?(I.debug("Cluster identified",i,yr),a.forEach(o=>{const n=os(o.v,i),l=os(o.w,i);n^l&&(I.debug("Edge: ",o," leaves cluster ",i),I.debug("Descendants of XXX ",i,": ",yr.get(i)),Dt.get(i).externalConnections=!0)})):I.debug("Not a cluster ",i,yr)});for(let i of Dt.keys()){const s=Dt.get(i).id,a=e.parent(s);a!==i&&Dt.has(a)&&!Dt.get(a).externalConnections&&(Dt.get(i).id=a);const o=e.edges().some(n=>n.v===i);if(s&&((r=Dt.get(i))!=null&&r.externalConnections)&&o&&Zp(e,s,i)){const n=av(e,i,e.parent(s));n&&(Dt.get(i).id=n)}}e.edges().forEach(function(i){const s=e.edge(i);I.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(i)),I.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(e.edge(i)));let a=i.v,o=i.w;if(I.debug("Fix XXX",Dt,"ids:",i.v,i.w,"Translating: ",Dt.get(i.v)," --- ",Dt.get(i.w)),Dt.get(i.v)||Dt.get(i.w)){if(I.debug("Fixing and trying - removing XXX",i.v,i.w,i.name),a=Zc(i.v),o=Zc(i.w),e.removeEdge(i.v,i.w,i.name),a!==i.v){const n=e.parent(a);Dt.get(n).externalConnections=!0,s.fromCluster=i.v}if(o!==i.w){const n=e.parent(o);Dt.get(n).externalConnections=!0,s.toCluster=i.w}I.debug("Fix Replacing with XXX",a,o,i.name),e.setEdge(a,o,s,i.name)}}),Xp(e,0),I.trace(Dt)},"adjustClustersAndEdges"),Xp=g((e,t)=>{var s,a;if(t>10){I.error("Bailing out");return}let r=e.nodes(),i=!1;for(const o of r){const n=e.children(o);i=i||n.length>0}if(!i){I.debug("Done, no node has children",e.nodes());return}I.debug("Nodes = ",r,t);for(const o of r)if(I.debug("Extracting node",o,Dt,Dt.has(o)&&!Dt.get(o).externalConnections,!e.parent(o),e.node(o),e.children("D")," Depth ",t),!Dt.has(o))I.debug("Not a cluster",o,t);else if(!Dt.get(o).externalConnections&&e.children(o)&&e.children(o).length>0){I.debug("Cluster without external connections, without a parent and with children",o,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(a=(s=Dt.get(o))==null?void 0:s.clusterData)!=null&&a.dir&&(l=Dt.get(o).clusterData.dir,I.debug("Fixing dir",Dt.get(o).clusterData.dir,l));const c=new qa({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Up(o,e,c,o),e.setNode(o,{clusterNode:!0,id:o,clusterData:Dt.get(o).clusterData,label:Dt.get(o).label,graph:c})}else I.debug("Cluster ** ",o," **not meeting the criteria !externalConnections:",!Dt.get(o).externalConnections," no parent: ",!e.parent(o)," children ",e.children(o)&&e.children(o).length>0,e.children("D"),t),I.debug(Dt);r=e.nodes(),I.debug("New list of nodes",r);for(const o of r){const n=e.node(o);I.debug(" Now next level",o,n),n!=null&&n.clusterNode&&Xp(n.graph,t+1)}},"extractor"),Vp=g((e,t)=>{if(t.length===0)return[];let r=Object.assign([],t);return t.forEach(i=>{const s=e.children(i),a=Vp(e,s);r=[...r,...a]}),r},"sorter"),SM=g(e=>Vp(e,e.children()),"sortNodesByHierarchy"),Zp=g((e,t,r)=>{let i=e.parent(t);for(;i&&i!==r;){const s=Dt.get(i);if(s&&!s.externalConnections)return!0;i=e.parent(i)}return!1},"isNodeInExtractableCluster"),av=g((e,t,r)=>{const i=e.children(t)??[];for(const s of i){if(s===r||os(s,r))continue;const a=ma(s,e,t);if(a&&!Zp(e,a,t))return a}return null},"findSafeAnchorNode");function Kp({prepareLayout:e,measureLayout:t,runLayoutCore:r,paintLayout:i,afterPaint:s,paintOptions:a}){const o=t??Fl;return g(async function(l,c,h,u){const d=c.select("g");((h==null?void 0:h.insertMarkers)??bp)(d,l.markers,l.type,l.diagramId),Ll();const f={element:d,helpers:h,options:u};f.preparedLayout=await(e==null?void 0:e(l,f));const y=await o(l,f),m=await r(l,f),C={...f,measure:y};i?await i(l,C,m):await Ml(l,C,a),await(s==null?void 0:s(l,C,m))},"render")}g(Kp,"createCommonLayoutRenderer");function Ll(){Sw(),Iw(),Aw(),rv()}g(Ll,"clearLayoutRenderState");async function Fl(e,{element:t}){return await Yp(t,e)}g(Fl,"defaultMeasureLayout");async function Ml(e,t,r={}){var o,n;const{measure:i}=t,{groups:s}=i;for(const l of((o=r.getNodes)==null?void 0:o.call(r,e,t))??e.nodes)(n=r.skipNode)!=null&&n.call(r,l,t)||await Qp(s,l,t,r);const a=ty(e.nodes);for(const l of e.edges)ey(l,r)||await ry(s,l,a,e,r,t)}g(Ml,"paintLayoutData");async function Qp(e,t,r,i){t.clusterNode?mc(t):Jp(t,r,i)?await gp(e.clusters,t):mc(t)}g(Qp,"paintLayoutNode");function Jp(e,t,r){var i;return e.isGroup===!0&&(((i=r.isCluster)==null?void 0:i.call(r,e,t))??!0)}g(Jp,"shouldPaintAsCluster");function ty(e){const t=new Map;for(const r of e)r!=null&&r.id&&t.set(r.id,r);return t}g(ty,"buildNodeLookup");function ey(e,t){var r;return e.isLayoutOnly||!!((r=t.skipEdge)!=null&&r.call(t,e))}g(ey,"shouldSkipPaintEdge");async function ry(e,t,r,i,s,a){const o=mp(e.edgePaths,{...t},s.clusterDb??new Map,i.type,mn(t.start,t,r,a,s),mn(t.end,t,r,a,s),i.diagramId,iy(t,s));pp(t)&&(di.has(t.id)||await xl(e.edgeLabels,t),sy(t,o))}g(ry,"paintLayoutEdge");function mn(e,t,r,i,s){var a;return((a=s.getEdgeNode)==null?void 0:a.call(s,e,t,i))??(e?r.get(e)??{}:{})}g(mn,"getRenderedNode");function iy(e,t){return typeof t.skipIntersect=="function"?t.skipIntersect(e):t.skipIntersect??!1}g(iy,"shouldSkipIntersect");function sy(e,t){const r=(t==null?void 0:t.updatedPath)??(t==null?void 0:t.originalPath),i=Yt(),{subGraphTitleTotalMargin:s}=Aa({flowchart:i.flowchart??{}});if(e.label){const a=di.get(e.id);let o=e.x,n=e.y;if(r){const l=re.calcLabelPosition(r);I.debug("Moving label "+e.label+" from (",o,",",n,") to (",l.x,",",l.y,") abc88"),t!=null&&t.updatedPath&&(o=l.x,n=l.y)}a.attr("transform",`translate(${o}, ${n+s/2})`)}if(e!=null&&e.startLabelLeft){const a=Ut.get(e.id).startLeft;let o=e==null?void 0:e.x,n=e==null?void 0:e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.startLabelRight){const a=Ut.get(e.id).startRight;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.endLabelLeft){const a=Ut.get(e.id).endLeft;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}if(e.endLabelRight){const a=Ut.get(e.id).endRight;let o=e.x,n=e.y;if(r){const l=re.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);o=l.x,n=l.y}a.attr("transform",`translate(${o}, ${n})`)}}g(sy,"positionRenderedEdgeLabel");function ay(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}g(ay,"getDefaultExportFromCjs");var Jt={},Ms={},Je={},Kc;function xi(){if(Kc)return Je;Kc=1;function e(o){return typeof o>"u"||o===null}g(e,"isNothing");function t(o){return typeof o=="object"&&o!==null}g(t,"isObject");function r(o){return Array.isArray(o)?o:e(o)?[]:[o]}g(r,"toArray");function i(o,n){if(n){const l=Object.keys(n);for(let c=0,h=l.length;cu&&(c=" ... ",a=n-u+c.length),o-n>u&&(h=" ...",o=n+u-h.length),{str:c+s.slice(a,o).replace(/\t/g,"→")+h,pos:n-a+c.length}}g(t,"getLine");function r(s,a){return e.repeat(" ",a-s.length)+s}g(r,"padStart");function i(s,a){if(a=Object.create(a||null),!s.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);const o=/\r?\n|\r|\0/g,n=[0],l=[];let c,h=-1;for(;c=o.exec(s.buffer);)l.push(c.index),n.push(c.index+c[0].length),s.position<=c.index&&h<0&&(h=n.length-2);h<0&&(h=n.length-1);let u="";const d=Math.min(s.line+a.linesAfter,l.length).toString().length,f=a.maxLength-(a.indent+d+3);for(let m=1;m<=a.linesBefore&&!(h-m<0);m++){const C=t(s.buffer,n[h-m],l[h-m],s.position-(n[h]-n[h-m]),f);u=e.repeat(" ",a.indent)+r((s.line-m+1).toString(),d)+" | "+C.str+` `+u}const y=t(s.buffer,n[h],l[h],s.position,f);u+=e.repeat(" ",a.indent)+r((s.line+1).toString(),d)+" | "+y.str+` @@ -296,8 +296,8 @@ ${a.join(` `+S.slice(Z,tt),Z=tt+1),Q=ft;return lt+=` `,S.length-Z>P&&Q>Z?lt+=S.slice(Z,Q)+` `+S.slice(Q+1):lt+=S.slice(Z),lt.slice(1)}g(xe,"foldLine");function Si(S){let P="",J=0;for(let X=0;X=65536?X+=2:X++){J=ut(S,X);const Z=A[J];!Z&&_t(J)?(P+=S[X],J>=65536&&(P+=S[X+1])):P+=Z||$(J)}return P}g(Si,"escapeString");function $r(S,P,J){let X="";const Z=S.tag;for(let tt=0,Q=J.length;tt"u"&&G(S,P,null,!1,!1))&&(X!==""&&(X+=","+(S.condenseFlow?"":" ")),X+=S.dump)}S.tag=Z,S.dump="["+X+"]"}g($r,"writeFlowSequence");function Or(S,P,J,X){let Z="";const tt=S.tag;for(let Q=0,ft=J.length;Q"u"&&G(S,P+1,null,!0,!0,!1,!0))&&((!X||Z!=="")&&(Z+=gt(S,P)),S.dump&&n===S.dump.charCodeAt(0)?Z+="-":Z+="- ",Z+=S.dump)}S.tag=tt,S.dump=Z||"[]"}g(Or,"writeBlockSequence");function Ti(S,P,J){let X="";const Z=S.tag,tt=Object.keys(J);for(let Q=0,ft=tt.length;Q1024&&(lt+="? "),lt+=S.dump+(S.condenseFlow?'"':"")+":"+(S.condenseFlow?"":" "),G(S,P,kt,!1,!1)&&(lt+=S.dump,X+=lt))}S.tag=Z,S.dump="{"+X+"}"}g(Ti,"writeFlowMapping");function p(S,P,J,X){let Z="";const tt=S.tag,Q=Object.keys(J);if(S.sortKeys===!0)Q.sort();else if(typeof S.sortKeys=="function")Q.sort(S.sortKeys);else if(S.sortKeys)throw new t("sortKeys must be a boolean or a function");for(let ft=0,lt=Q.length;ft1024;Wt&&(S.dump&&n===S.dump.charCodeAt(0)?Ct+="?":Ct+="? "),Ct+=S.dump,Wt&&(Ct+=gt(S,P)),G(S,P+1,Ot,!0,Wt)&&(S.dump&&n===S.dump.charCodeAt(0)?Ct+=":":Ct+=": ",Ct+=S.dump,Z+=Ct)}S.tag=tt,S.dump=Z||"{}"}g(p,"writeBlockMapping");function O(S,P,J){const X=J?S.explicitTypes:S.implicitTypes;for(let Z=0,tt=X.length;Z tag resolver accepts not "'+ft+'" style');S.dump=lt}return!0}}return!1}g(O,"detectType");function G(S,P,J,X,Z,tt,Q){S.tag=null,S.dump=J,O(S,J,!1)||O(S,J,!0);const ft=i.call(S.dump),lt=X;X&&(X=S.flowLevel<0||S.flowLevel>P);const Ct=ft==="[object Object]"||ft==="[object Array]";let kt,Ot;if(Ct&&(kt=S.duplicates.indexOf(J),Ot=kt!==-1),(S.tag!==null&&S.tag!=="?"||Ot||S.indent!==2&&P>0)&&(Z=!1),Ot&&S.usedDuplicates[kt])S.dump="*ref_"+kt;else{if(Ct&&Ot&&!S.usedDuplicates[kt]&&(S.usedDuplicates[kt]=!0),ft==="[object Object]")X&&Object.keys(S.dump).length!==0?(p(S,P,S.dump,Z),Ot&&(S.dump="&ref_"+kt+S.dump)):(Ti(S,P,S.dump),Ot&&(S.dump="&ref_"+kt+" "+S.dump));else if(ft==="[object Array]")X&&S.dump.length!==0?(S.noArrayIndent&&!Q&&P>0?Or(S,P-1,S.dump,Z):Or(S,P,S.dump,Z),Ot&&(S.dump="&ref_"+kt+S.dump)):($r(S,P,S.dump),Ot&&(S.dump="&ref_"+kt+" "+S.dump));else if(ft==="[object String]")S.tag!=="?"&&ki(S,S.dump,P,tt,lt);else{if(ft==="[object Undefined]")return!1;if(S.skipInvalid)return!1;throw new t("unacceptable kind of an object to dump "+ft)}if(S.tag!==null&&S.tag!=="?"){let Wt=encodeURI(S.tag[0]==="!"?S.tag.slice(1):S.tag).replace(/!/g,"%21");S.tag[0]==="!"?Wt="!"+Wt:Wt.slice(0,18)==="tag:yaml.org,2002:"?Wt="!!"+Wt.slice(18):Wt="!<"+Wt+">",S.dump=Wt+" "+S.dump}}return!0}g(G,"writeNode");function K(S,P){const J=[],X=[];j(S,J,X);const Z=X.length;for(let tt=0;tt{for(const t of e)ns[t.name]=t},"registerLayoutLoaders"),uv=g(()=>{cy([{name:"dagre",loader:g(async()=>await Mt(()=>import("./dagre-GXQ25YYZ-KzOZEMD1.js"),__vite__mapDeps([4,5,1,2,3])),"loader")},{name:"swimlane",loader:g(async()=>await Mt(()=>import("./swimlanes-42K2YHIH-D-dDTAzh.js"),__vite__mapDeps([6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await Mt(()=>import("./cose-bilkent-JH36ORCC-uMnsdoF-.js"),__vite__mapDeps([7,8,2,1,3])),"loader")}])},"registerDefaultLayoutLoaders");uv();var PM=g(async(e,t)=>{if(!(e.layoutAlgorithm in ns))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const h of e.nodes){const u=h.domId||h.id;h.domId=`${e.diagramId}-${u}`}const r=ns[e.layoutAlgorithm],i=await r.loader(),{theme:s,themeVariables:a}=e.config,{useGradient:o,gradientStart:n,gradientStop:l}=a,c=t.attr("id");if(t.append("defs").append("filter").attr("id",`${c}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${s!=null&&s.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${c}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${s!=null&&s.includes("dark")?"#FFFFFF":"#000000"}`),o){const h=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",n).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return i.render(e,t,cv,{algorithm:r.algorithm})},"render"),IM=g((e="",{fallback:t="dagre"}={})=>{if(e in ns)return e;if(t in ns)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Xl="comm",uy="rule",dy="decl",dv="@media",fv="@import",gv="@supports",pv="@namespace",xn="@keyframes",fy="@layer",yv="@scope",mv=Math.abs,Ki=String.fromCharCode;function gy(e){return e.trim()}function Cn(e,t,r){return e.replace(t,r)}function Ur(e,t){return e.charCodeAt(t)|0}function fi(e,t,r){return e.slice(t,r)}function Me(e){return e.length}function py(e){return e.length}function As(e,t){return t.push(e),e}var Wa=1,gi=1,yy=0,pe=0,Gt=0,bi="";function Vl(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:Wa,column:gi,length:o,return:"",siblings:n}}function xv(){return Gt}function Cv(){return Gt=pe>0?Ur(bi,--pe):0,gi--,Gt===10&&(gi=1,Wa--),Gt}function Se(){return Gt=pe2||ls(Gt)>3?"":" "}function Sv(e,t){for(;--t&&Se()&&!(Gt<48||Gt>102||Gt>57&&Gt<65||Gt>70&&Gt<97););return za(e,Ys()+(t<6&&ir()==32&&Se()==32))}function bn(e){for(;Se();)switch(Gt){case e:return pe;case 34:case 39:e!==34&&e!==39&&bn(Gt);break;case 40:e===41&&bn(e);break;case 92:Se();break}return pe}function Tv(e,t){for(;Se()&&e+Gt!==57;)if(e+Gt===84&&ir()===47)break;return"/*"+za(t,pe-1)+"*"+Ki(e===47?e:Se())}function _v(e){for(;!ls(ir());)Se();return za(e,pe)}function Bv(e){return kv(js("",null,null,null,[""],e=bv(e),0,[0],e))}function js(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,u=o,d=0,f=0,y=0,m=1,C=1,x=1,k=0,w=0,T="",_=s,v=a,F=i,L=T;C;)switch(y=w,w=Se()){case 40:y!=108&&Ur(L,u-1)==58?(k++,L+="("):L+=$o(w);break;case 41:k--,L+=")";break;case 34:case 39:case 91:L+=$o(w);break;case 9:case 10:case 13:case 32:if(k>0){L+=Ki(w);break}L+=wv(y);break;case 92:L+=Sv(Ys()-1,7);continue;case 47:switch(ir()){case 42:case 47:As(vv(Tv(Se(),Ys()),t,r,l),l),(ls(y||1)==5||ls(ir()||1)==5)&&Me(L)&&fi(L,-1,void 0)!==" "&&(L+=" ");break;default:L+="/"}break;case 123*m:n[c++]=Me(L)*x;case 125*m:case 59:case 0:if(k>0&&w){L+=Ki(w);break}switch(w){case 0:case 125:C=0;case 59+h:x==-1&&(L=Cn(L,/\f/g,"")),f>0&&(Me(L)-u||m===0)&&As(f>32?Su(L+";",i,r,u-1,l):Su(Cn(L," ","")+";",i,r,u-2,l),l);break;case 59:L+=";";default:if(As(F=wu(L,t,r,c,h,s,n,T,_=[],v=[],u,a),a),w===123)if(h===0)js(L,t,F,F,_,a,u,n,v);else{switch(d){case 99:if(Ur(L,3)===110)break;case 108:if(Ur(L,2)===97)break;default:h=0;case 100:case 109:case 115:}h?js(e,F,F,i&&As(wu(e,F,F,0,0,s,n,T,s,_=[],u,v),v),s,v,u,n,i?_:v):js(L,F,F,F,[""],v,0,n,v)}}c=h=f=0,m=x=1,T=L="",u=o;break;case 58:u=1+Me(L),f=y;default:if(m<1){if(w==123)--m;else if(w==125&&m++==0&&Cv()==125)continue}switch(L+=Ki(w),w*m){case 38:x=h>0?1:(L+="\f",-1);break;case 44:if(k>0)break;n[c++]=(Me(L)-1)*x,x=1;break;case 64:ir()===45&&(L+=$o(Se())),d=ir(),h=u=Me(T=L+=_v(Ys())),w++;break;case 45:y===45&&Me(L)==2&&(m=0)}}return a}function wu(e,t,r,i,s,a,o,n,l,c,h,u){for(var d=s-1,f=s===0?a:[""],y=py(f),m=0,C=0,x=0;m0?f[k]+" "+w:Cn(w,/&\f/g,f[k])))&&(l[x++]=T);return Vl(e,t,r,s===0?uy:n,l,c,h,u)}function vv(e,t,r,i){return Vl(e,t,r,Xl,Ki(xv()),fi(e,2,-2),0,i)}function Su(e,t,r,i,s){return Vl(e,t,r,dy,fi(e,0,i),fi(e,i+1,-1),i,s)}function kn(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),Av=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./c4Diagram-7LVT6UL2-CAT7R2xj.js");return{diagram:t}},__vite__mapDeps([9,10,1,2,3]));return{id:my,diagram:e}},"loader"),Ev={id:my,detector:Mv,loader:Av},$v=Ev,xy="flowchart",Ov=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),Dv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-Dr55GFTH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:xy,diagram:e}},"loader"),Pv={id:xy,detector:Ov,loader:Dv},Iv=Pv,Cy="flowchart-v2",Rv=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),qv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-Dr55GFTH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:Cy,diagram:e}},"loader"),Nv={id:Cy,detector:Rv,loader:qv},Wv=Nv,by="swimlane",zv=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),Hv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-VR7AAH4N-DzyLIZjI.js");return{diagram:t}},__vite__mapDeps([16,11,12,13,14,10,1,2,3,15]));return{id:by,diagram:e}},"loader"),Yv={id:by,detector:zv,loader:Hv},jv=Yv,ky="er",Uv=g(e=>/^\s*erDiagram/.test(e),"detector"),Gv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./erDiagram-RLTQ6QDP-B70udbuP.js");return{diagram:t}},__vite__mapDeps([17,13,14,15,1,2,3]));return{id:ky,diagram:e}},"loader"),Xv={id:ky,detector:Uv,loader:Gv},Vv=Xv,wy="gitGraph",Zv=g(e=>/^\s*gitGraph/.test(e),"detector"),Kv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-WWUBYQGX-BkLhRzpH.js");return{diagram:t}},__vite__mapDeps([18,19,20,21,1,2,3]));return{id:wy,diagram:e}},"loader"),Qv={id:wy,detector:Zv,loader:Kv},Jv=Qv,Sy="gantt",tL=g(e=>/^\s*gantt/.test(e),"detector"),eL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ganttDiagram-EL5Y4UJY-D3bk-x2Q.js");return{diagram:t}},__vite__mapDeps([22,2,23,24,25,1,3]));return{id:Sy,diagram:e}},"loader"),rL={id:Sy,detector:tL,loader:eL},iL=rL,Ty="info",sL=g(e=>/^\s*info/.test(e),"detector"),aL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./infoDiagram-27XIBGKW-CK_gEKA1.js");return{diagram:t}},__vite__mapDeps([26,21,1,2,3]));return{id:Ty,diagram:e}},"loader"),oL={id:Ty,detector:sL,loader:aL},_y="pie",nL=g(e=>/^\s*pie/.test(e),"detector"),lL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./pieDiagram-E7YTZNPT-CX12eTBo.js");return{diagram:t}},__vite__mapDeps([27,20,21,1,2,3,28,29,24]));return{id:_y,diagram:e}},"loader"),hL={id:_y,detector:nL,loader:lL},By="quadrantChart",cL=g(e=>/^\s*quadrantChart/.test(e),"detector"),uL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./quadrantDiagram-AXDQQJYC-B0NuZ2VH.js");return{diagram:t}},__vite__mapDeps([30,23,24,25,1,2,3]));return{id:By,diagram:e}},"loader"),dL={id:By,detector:cL,loader:uL},fL=dL,vy="xychart",gL=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),pL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./xychartDiagram-S5SC5T6Z-CJjJ47BC.js");return{diagram:t}},__vite__mapDeps([31,24,29,23,25,1,2,3]));return{id:vy,diagram:e}},"loader"),yL={id:vy,detector:gL,loader:pL},mL=yL,Ly="requirement",xL=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),CL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./requirementDiagram-BXWQKSXE-BJfHmPOs.js");return{diagram:t}},__vite__mapDeps([32,13,14,1,2,3]));return{id:Ly,diagram:e}},"loader"),bL={id:Ly,detector:xL,loader:CL},kL=bL,Fy="sequence",wL=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),SL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./sequenceDiagram-WJ2MYXX4-bKHYNEhE.js");return{diagram:t}},__vite__mapDeps([33,19,10,1,2,3]));return{id:Fy,diagram:e}},"loader"),TL={id:Fy,detector:wL,loader:SL},_L=TL,My="class",BL=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),vL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./classDiagram-ZZMXUADV-D-DEwEAs.js");return{diagram:t}},__vite__mapDeps([34,35,12,13,14,10,1,2,3]));return{id:My,diagram:e}},"loader"),LL={id:My,detector:BL,loader:vL},FL=LL,Ay="classDiagram",ML=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),AL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./classDiagram-v2-VYDZK3BY-D-DEwEAs.js");return{diagram:t}},__vite__mapDeps([36,35,12,13,14,10,1,2,3]));return{id:Ay,diagram:e}},"loader"),EL={id:Ay,detector:ML,loader:AL},$L=EL,Ey="state",OL=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),DL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./stateDiagram-D77RDMKH-5aAHBXw2.js");return{diagram:t}},__vite__mapDeps([37,38,13,14,10,1,2,3,5]));return{id:Ey,diagram:e}},"loader"),PL={id:Ey,detector:OL,loader:DL},IL=PL,$y="stateDiagram",RL=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),qL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-MP3YSRHH-CxHUIwTX.js");return{diagram:t}},__vite__mapDeps([39,38,13,14,10,1,2,3]));return{id:$y,diagram:e}},"loader"),NL={id:$y,detector:RL,loader:qL},WL=NL,Oy="journey",zL=g(e=>/^\s*journey/.test(e),"detector"),HL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./journeyDiagram-3NMN7TZE-onVNO-Ru.js");return{diagram:t}},__vite__mapDeps([40,12,10,28,1,2,3]));return{id:Oy,diagram:e}},"loader"),YL={id:Oy,detector:zL,loader:HL},jL=YL,UL=g((e,t,r)=>{I.debug(`rendering svg for syntax error -`);const i=f1(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),Uu(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Dy={draw:UL},GL=Dy,XL={db:{},renderer:Dy,parser:{parse:g(()=>{},"parse")}},VL=XL,Py="flowchart-elk",ZL=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),KL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-Dr55GFTH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:Py,diagram:e}},"loader"),QL={id:Py,detector:ZL,loader:KL},JL=QL,Iy="timeline",tF=g(e=>/^\s*timeline/.test(e),"detector"),eF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./timeline-definition-24CTP7MA-34PlETXr.js");return{diagram:t}},__vite__mapDeps([41,28,1,2,3]));return{id:Iy,diagram:e}},"loader"),rF={id:Iy,detector:tF,loader:eF},iF=rF,Ry="mindmap",sF=g(e=>/^\s*mindmap/.test(e),"detector"),aF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./mindmap-definition-YA3MSWOX-CwiC6U0l.js");return{diagram:t}},__vite__mapDeps([42,13,14,1,2,3]));return{id:Ry,diagram:e}},"loader"),oF={id:Ry,detector:sF,loader:aF},nF=oF,qy="kanban",lF=g(e=>/^\s*kanban/.test(e),"detector"),hF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./kanban-definition-UXKFOSKX-5AJlkhrf.js");return{diagram:t}},__vite__mapDeps([43,12,1,2,3]));return{id:qy,diagram:e}},"loader"),cF={id:qy,detector:lF,loader:hF},uF=cF,Ny="sankey",dF=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),fF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./sankeyDiagram-P5KCCOFB-rJNnBF7P.js");return{diagram:t}},__vite__mapDeps([44,29,24,1,2,3]));return{id:Ny,diagram:e}},"loader"),gF={id:Ny,detector:dF,loader:fF},pF=gF,Wy="packet",yF=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),mF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-Z3DM3KII-M2LVzQ9u.js");return{diagram:t}},__vite__mapDeps([45,20,21,1,2,3]));return{id:Wy,diagram:e}},"loader"),xF={id:Wy,detector:yF,loader:mF},zy="radar",CF=g(e=>/^\s*radar-beta/.test(e),"detector"),bF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-UQ7AKVKN-RtWVmCwn.js");return{diagram:t}},__vite__mapDeps([46,20,21,1,2,3]));return{id:zy,diagram:e}},"loader"),kF={id:zy,detector:CF,loader:bF},Hy="block",wF=g(e=>/^\s*block(-beta)?/.test(e),"detector"),SF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./blockDiagram-I7D4REHJ-By5ih9VU.js");return{diagram:t}},__vite__mapDeps([47,12,15,1,2,3]));return{id:Hy,diagram:e}},"loader"),TF={id:Hy,detector:wF,loader:SF},_F=TF,Yy="treeView",BF=g(e=>/^\s*treeView-beta/.test(e),"detector"),vF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-S7CK7UJ4-veo30afI.js");return{diagram:t}},__vite__mapDeps([48,19,20,21,1,2,3]));return{id:Yy,diagram:e}},"loader"),LF={id:Yy,detector:BF,loader:vF},FF=LF,jy="architecture",MF=g(e=>/^\s*architecture/.test(e),"detector"),AF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./architectureDiagram-5GKGNRK7-C6yO5SnA.js");return{diagram:t}},__vite__mapDeps([49,20,21,1,2,3,8]));return{id:jy,diagram:e}},"loader"),EF={id:jy,detector:MF,loader:AF},$F=EF,Uy="eventmodeling",OF=g(e=>/^\s*eventmodeling/.test(e),"detector"),DF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-VSXAHHWV-hciGKJb3.js");return{diagram:t}},__vite__mapDeps([50,20,21,1,2,3]));return{id:Uy,diagram:e}},"loader"),PF={id:Uy,detector:OF,loader:DF},IF=PF,Gy="ishikawa",RF=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),qF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-5VMMS53U-b9XB65fS.js");return{diagram:t}},__vite__mapDeps([51,1,2,3]));return{id:Gy,diagram:e}},"loader"),NF={id:Gy,detector:RF,loader:qF},Xy="venn",WF=g(e=>/^\s*venn-beta/.test(e),"detector"),zF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./vennDiagram-4TSXK5OY-BOspaChz.js");return{diagram:t}},__vite__mapDeps([52,1,2,3]));return{id:Xy,diagram:e}},"loader"),HF={id:Xy,detector:WF,loader:zF},YF=HF,Vy="treemap",jF=g(e=>/^\s*treemap/.test(e),"detector"),UF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-VX7I27RA-BJzA7bhK.js");return{diagram:t}},__vite__mapDeps([53,20,14,21,1,2,3,25,29,24]));return{id:Vy,diagram:e}},"loader"),GF={id:Vy,detector:jF,loader:UF},Zy="wardley",XF=g(e=>/^\s*wardley-beta/i.test(e),"detector"),VF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./wardleyDiagram-VM6X3IG4-D1ei6gt2.js");return{diagram:t}},__vite__mapDeps([54,20,21,1,2,3]));return{id:Zy,diagram:e}},"loader"),ZF={id:Zy,detector:XF,loader:VF},KF=ZF,Ky="cynefin",QF=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),JF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./cynefinDiagram-5FMLGOSQ-DTIGSPU7.js");return{diagram:t}},__vite__mapDeps([55,20,21,1,2,3]));return{id:Ky,diagram:e}},"loader"),t5={id:Ky,detector:QF,loader:JF},Qy="railroad",e5=g(e=>/^\s*railroad-beta/i.test(e),"detector"),r5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./railroadDiagram-O6MQD6OU-DoCBJMki.js");return{diagram:t}},__vite__mapDeps([56,57,20,21,1,2,3]));return{id:Qy,diagram:e}},"loader"),i5={id:Qy,detector:e5,loader:r5},Jy="railroadEbnf",s5=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),a5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ebnfDiagram-PWID7BFC-Bhfed9ny.js");return{diagram:t}},__vite__mapDeps([58,57,20,21,1,2,3]));return{id:Jy,diagram:e}},"loader"),o5={id:Jy,detector:s5,loader:a5},tm="railroadAbnf",n5=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),l5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./abnfDiagram-VCTEODGH-Cxthi7DF.js");return{diagram:t}},__vite__mapDeps([59,57,20,21,1,2,3]));return{id:tm,diagram:e}},"loader"),h5={id:tm,detector:n5,loader:l5},em="railroadPeg",c5=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),u5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./pegDiagram-XKGWAZYB-CfavDD0n.js");return{diagram:t}},__vite__mapDeps([60,57,20,21,1,2,3]));return{id:em,diagram:e}},"loader"),d5={id:em,detector:c5,loader:u5},Tu=!1,Ha=g(()=>{Tu||(Tu=!0,Zs("error",VL,e=>e.toLowerCase().trim()==="error"),Zs("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Po(JL,nF,$F),Po($v,uF,$L,FL,Vv,iL,oL,hL,kL,_L,jv,Wv,Iv,iF,Jv,WL,IL,jL,fL,pF,xF,mL,_F,IF,FF,kF,NF,GF,i5,o5,h5,d5,YF,KF,t5))},"addDiagrams"),f5=g(async()=>{I.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(br).map(async([r,{detector:i,loader:s}])=>{if(s)try{No(r)}catch{try{const{diagram:a,id:o}=await s();Zs(o,a,i)}catch(a){throw I.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete br[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){I.error(`Failed to load ${t.length} external diagrams`);for(const r of t)I.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),g5="graphics-document document";function rm(e,t){e.attr("role",g5),t!==""&&e.attr("aria-roledescription",t)}g(rm,"setA11yDiagramInfo");function im(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(im,"addSVGa11yTitleDescription");var xr,wn=(xr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Yt(),s=Bn(t,i);t=Dk(t)+` +`:""}return g(et,"dump2"),Eo.dump=et,Eo}g(ly,"requireDumper");var ku;function hy(){if(ku)return Jt;ku=1;const e=ny(),t=ly();function r(i,s){return function(){throw new Error("Function yaml."+i+" is removed in js-yaml 4. Use yaml."+s+" instead, which is now safe by default.")}}return g(r,"renamed"),Jt.Type=se(),Jt.Schema=Al(),Jt.FAILSAFE_SCHEMA=Dl(),Jt.JSON_SCHEMA=Nl(),Jt.CORE_SCHEMA=Wl(),Jt.DEFAULT_SCHEMA=Na(),Jt.load=e.load,Jt.loadAll=e.loadAll,Jt.dump=t.dump,Jt.YAMLException=Ci(),Jt.types={binary:Yl(),float:ql(),map:Ol(),null:Pl(),pairs:Ul(),set:Gl(),timestamp:zl(),bool:Il(),int:Rl(),merge:Hl(),omap:jl(),seq:$l(),str:El()},Jt.safeLoad=r("safeLoad","load"),Jt.safeLoadAll=r("safeLoadAll","loadAll"),Jt.safeDump=r("safeDump","dump"),Jt}g(hy,"requireJsYaml");var ov=hy(),nv=ay(ov),{Type:TM,Schema:_M,FAILSAFE_SCHEMA:BM,JSON_SCHEMA:lv,CORE_SCHEMA:vM,DEFAULT_SCHEMA:LM,load:hv,loadAll:FM,dump:MM,YAMLException:AM,types:EM,safeLoad:$M,safeLoadAll:OM,safeDump:DM}=nv,cv={common:us,getConfig:Yt,insertCluster:gp,insertEdge:mp,insertEdgeLabel:xl,insertMarkers:bp,insertNode:ml,interpolateToCurve:Xn,labelHelper:mt,log:I,positionEdgeLabel:Rw},ns={},cy=g(e=>{for(const t of e)ns[t.name]=t},"registerLayoutLoaders"),uv=g(()=>{cy([{name:"dagre",loader:g(async()=>await Mt(()=>import("./dagre-GXQ25YYZ-Do0UHSPN.js"),__vite__mapDeps([4,5,1,2,3])),"loader")},{name:"swimlane",loader:g(async()=>await Mt(()=>import("./swimlanes-42K2YHIH-DflQXV3F.js"),__vite__mapDeps([6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await Mt(()=>import("./cose-bilkent-JH36ORCC-DZZeoui0.js"),__vite__mapDeps([7,8,2,1,3])),"loader")}])},"registerDefaultLayoutLoaders");uv();var PM=g(async(e,t)=>{if(!(e.layoutAlgorithm in ns))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const h of e.nodes){const u=h.domId||h.id;h.domId=`${e.diagramId}-${u}`}const r=ns[e.layoutAlgorithm],i=await r.loader(),{theme:s,themeVariables:a}=e.config,{useGradient:o,gradientStart:n,gradientStop:l}=a,c=t.attr("id");if(t.append("defs").append("filter").attr("id",`${c}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${s!=null&&s.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${c}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${s!=null&&s.includes("dark")?"#FFFFFF":"#000000"}`),o){const h=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",n).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return i.render(e,t,cv,{algorithm:r.algorithm})},"render"),IM=g((e="",{fallback:t="dagre"}={})=>{if(e in ns)return e;if(t in ns)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Xl="comm",uy="rule",dy="decl",dv="@media",fv="@import",gv="@supports",pv="@namespace",xn="@keyframes",fy="@layer",yv="@scope",mv=Math.abs,Ki=String.fromCharCode;function gy(e){return e.trim()}function Cn(e,t,r){return e.replace(t,r)}function Ur(e,t){return e.charCodeAt(t)|0}function fi(e,t,r){return e.slice(t,r)}function Me(e){return e.length}function py(e){return e.length}function As(e,t){return t.push(e),e}var Wa=1,gi=1,yy=0,pe=0,Gt=0,bi="";function Vl(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:Wa,column:gi,length:o,return:"",siblings:n}}function xv(){return Gt}function Cv(){return Gt=pe>0?Ur(bi,--pe):0,gi--,Gt===10&&(gi=1,Wa--),Gt}function Se(){return Gt=pe2||ls(Gt)>3?"":" "}function Sv(e,t){for(;--t&&Se()&&!(Gt<48||Gt>102||Gt>57&&Gt<65||Gt>70&&Gt<97););return za(e,Ys()+(t<6&&ir()==32&&Se()==32))}function bn(e){for(;Se();)switch(Gt){case e:return pe;case 34:case 39:e!==34&&e!==39&&bn(Gt);break;case 40:e===41&&bn(e);break;case 92:Se();break}return pe}function Tv(e,t){for(;Se()&&e+Gt!==57;)if(e+Gt===84&&ir()===47)break;return"/*"+za(t,pe-1)+"*"+Ki(e===47?e:Se())}function _v(e){for(;!ls(ir());)Se();return za(e,pe)}function Bv(e){return kv(js("",null,null,null,[""],e=bv(e),0,[0],e))}function js(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,u=o,d=0,f=0,y=0,m=1,C=1,x=1,k=0,w=0,T="",_=s,v=a,F=i,L=T;C;)switch(y=w,w=Se()){case 40:y!=108&&Ur(L,u-1)==58?(k++,L+="("):L+=$o(w);break;case 41:k--,L+=")";break;case 34:case 39:case 91:L+=$o(w);break;case 9:case 10:case 13:case 32:if(k>0){L+=Ki(w);break}L+=wv(y);break;case 92:L+=Sv(Ys()-1,7);continue;case 47:switch(ir()){case 42:case 47:As(vv(Tv(Se(),Ys()),t,r,l),l),(ls(y||1)==5||ls(ir()||1)==5)&&Me(L)&&fi(L,-1,void 0)!==" "&&(L+=" ");break;default:L+="/"}break;case 123*m:n[c++]=Me(L)*x;case 125*m:case 59:case 0:if(k>0&&w){L+=Ki(w);break}switch(w){case 0:case 125:C=0;case 59+h:x==-1&&(L=Cn(L,/\f/g,"")),f>0&&(Me(L)-u||m===0)&&As(f>32?Su(L+";",i,r,u-1,l):Su(Cn(L," ","")+";",i,r,u-2,l),l);break;case 59:L+=";";default:if(As(F=wu(L,t,r,c,h,s,n,T,_=[],v=[],u,a),a),w===123)if(h===0)js(L,t,F,F,_,a,u,n,v);else{switch(d){case 99:if(Ur(L,3)===110)break;case 108:if(Ur(L,2)===97)break;default:h=0;case 100:case 109:case 115:}h?js(e,F,F,i&&As(wu(e,F,F,0,0,s,n,T,s,_=[],u,v),v),s,v,u,n,i?_:v):js(L,F,F,F,[""],v,0,n,v)}}c=h=f=0,m=x=1,T=L="",u=o;break;case 58:u=1+Me(L),f=y;default:if(m<1){if(w==123)--m;else if(w==125&&m++==0&&Cv()==125)continue}switch(L+=Ki(w),w*m){case 38:x=h>0?1:(L+="\f",-1);break;case 44:if(k>0)break;n[c++]=(Me(L)-1)*x,x=1;break;case 64:ir()===45&&(L+=$o(Se())),d=ir(),h=u=Me(T=L+=_v(Ys())),w++;break;case 45:y===45&&Me(L)==2&&(m=0)}}return a}function wu(e,t,r,i,s,a,o,n,l,c,h,u){for(var d=s-1,f=s===0?a:[""],y=py(f),m=0,C=0,x=0;m0?f[k]+" "+w:Cn(w,/&\f/g,f[k])))&&(l[x++]=T);return Vl(e,t,r,s===0?uy:n,l,c,h,u)}function vv(e,t,r,i){return Vl(e,t,r,Xl,Ki(xv()),fi(e,2,-2),0,i)}function Su(e,t,r,i,s){return Vl(e,t,r,dy,fi(e,0,i),fi(e,i+1,-1),i,s)}function kn(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),Av=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./c4Diagram-7LVT6UL2-p6n56tdK.js");return{diagram:t}},__vite__mapDeps([9,10,1,2,3]));return{id:my,diagram:e}},"loader"),Ev={id:my,detector:Mv,loader:Av},$v=Ev,xy="flowchart",Ov=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),Dv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BJR5Tkvw.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:xy,diagram:e}},"loader"),Pv={id:xy,detector:Ov,loader:Dv},Iv=Pv,Cy="flowchart-v2",Rv=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),qv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BJR5Tkvw.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:Cy,diagram:e}},"loader"),Nv={id:Cy,detector:Rv,loader:qv},Wv=Nv,by="swimlane",zv=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),Hv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-VR7AAH4N-D_Hyk221.js");return{diagram:t}},__vite__mapDeps([16,11,12,13,14,10,1,2,3,15]));return{id:by,diagram:e}},"loader"),Yv={id:by,detector:zv,loader:Hv},jv=Yv,ky="er",Uv=g(e=>/^\s*erDiagram/.test(e),"detector"),Gv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./erDiagram-RLTQ6QDP-C-H3S6xp.js");return{diagram:t}},__vite__mapDeps([17,13,14,15,1,2,3]));return{id:ky,diagram:e}},"loader"),Xv={id:ky,detector:Uv,loader:Gv},Vv=Xv,wy="gitGraph",Zv=g(e=>/^\s*gitGraph/.test(e),"detector"),Kv=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-WWUBYQGX-DK9RP0TN.js");return{diagram:t}},__vite__mapDeps([18,19,20,21,1,2,3]));return{id:wy,diagram:e}},"loader"),Qv={id:wy,detector:Zv,loader:Kv},Jv=Qv,Sy="gantt",tL=g(e=>/^\s*gantt/.test(e),"detector"),eL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ganttDiagram-EL5Y4UJY-CmU7Beok.js");return{diagram:t}},__vite__mapDeps([22,2,23,24,25,1,3]));return{id:Sy,diagram:e}},"loader"),rL={id:Sy,detector:tL,loader:eL},iL=rL,Ty="info",sL=g(e=>/^\s*info/.test(e),"detector"),aL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./infoDiagram-27XIBGKW-DidagdPH.js");return{diagram:t}},__vite__mapDeps([26,21,1,2,3]));return{id:Ty,diagram:e}},"loader"),oL={id:Ty,detector:sL,loader:aL},_y="pie",nL=g(e=>/^\s*pie/.test(e),"detector"),lL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./pieDiagram-E7YTZNPT-CBlpmOhf.js");return{diagram:t}},__vite__mapDeps([27,20,21,1,2,3,28,29,24]));return{id:_y,diagram:e}},"loader"),hL={id:_y,detector:nL,loader:lL},By="quadrantChart",cL=g(e=>/^\s*quadrantChart/.test(e),"detector"),uL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./quadrantDiagram-AXDQQJYC-8zn9ZNra.js");return{diagram:t}},__vite__mapDeps([30,23,24,25,1,2,3]));return{id:By,diagram:e}},"loader"),dL={id:By,detector:cL,loader:uL},fL=dL,vy="xychart",gL=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),pL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./xychartDiagram-S5SC5T6Z-IGm6e2W7.js");return{diagram:t}},__vite__mapDeps([31,24,29,23,25,1,2,3]));return{id:vy,diagram:e}},"loader"),yL={id:vy,detector:gL,loader:pL},mL=yL,Ly="requirement",xL=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),CL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./requirementDiagram-BXWQKSXE-VLrumk-_.js");return{diagram:t}},__vite__mapDeps([32,13,14,1,2,3]));return{id:Ly,diagram:e}},"loader"),bL={id:Ly,detector:xL,loader:CL},kL=bL,Fy="sequence",wL=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),SL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./sequenceDiagram-WJ2MYXX4-BKd6bS_9.js");return{diagram:t}},__vite__mapDeps([33,19,10,1,2,3]));return{id:Fy,diagram:e}},"loader"),TL={id:Fy,detector:wL,loader:SL},_L=TL,My="class",BL=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),vL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./classDiagram-ZZMXUADV-DMRSfdSH.js");return{diagram:t}},__vite__mapDeps([34,35,12,13,14,10,1,2,3]));return{id:My,diagram:e}},"loader"),LL={id:My,detector:BL,loader:vL},FL=LL,Ay="classDiagram",ML=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),AL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./classDiagram-v2-VYDZK3BY-DMRSfdSH.js");return{diagram:t}},__vite__mapDeps([36,35,12,13,14,10,1,2,3]));return{id:Ay,diagram:e}},"loader"),EL={id:Ay,detector:ML,loader:AL},$L=EL,Ey="state",OL=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),DL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./stateDiagram-D77RDMKH-C3z6nfsf.js");return{diagram:t}},__vite__mapDeps([37,38,13,14,10,1,2,3,5]));return{id:Ey,diagram:e}},"loader"),PL={id:Ey,detector:OL,loader:DL},IL=PL,$y="stateDiagram",RL=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),qL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-MP3YSRHH-BEiUrOFK.js");return{diagram:t}},__vite__mapDeps([39,38,13,14,10,1,2,3]));return{id:$y,diagram:e}},"loader"),NL={id:$y,detector:RL,loader:qL},WL=NL,Oy="journey",zL=g(e=>/^\s*journey/.test(e),"detector"),HL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./journeyDiagram-3NMN7TZE-3SSVhry3.js");return{diagram:t}},__vite__mapDeps([40,12,10,28,1,2,3]));return{id:Oy,diagram:e}},"loader"),YL={id:Oy,detector:zL,loader:HL},jL=YL,UL=g((e,t,r)=>{I.debug(`rendering svg for syntax error +`);const i=f1(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),Uu(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Dy={draw:UL},GL=Dy,XL={db:{},renderer:Dy,parser:{parse:g(()=>{},"parse")}},VL=XL,Py="flowchart-elk",ZL=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),KL=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BJR5Tkvw.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([11,12,13,14,10,1,2,3,15]));return{id:Py,diagram:e}},"loader"),QL={id:Py,detector:ZL,loader:KL},JL=QL,Iy="timeline",tF=g(e=>/^\s*timeline/.test(e),"detector"),eF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./timeline-definition-24CTP7MA-Cf_PZrnF.js");return{diagram:t}},__vite__mapDeps([41,28,1,2,3]));return{id:Iy,diagram:e}},"loader"),rF={id:Iy,detector:tF,loader:eF},iF=rF,Ry="mindmap",sF=g(e=>/^\s*mindmap/.test(e),"detector"),aF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./mindmap-definition-YA3MSWOX-Dq919Vx2.js");return{diagram:t}},__vite__mapDeps([42,13,14,1,2,3]));return{id:Ry,diagram:e}},"loader"),oF={id:Ry,detector:sF,loader:aF},nF=oF,qy="kanban",lF=g(e=>/^\s*kanban/.test(e),"detector"),hF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./kanban-definition-UXKFOSKX-5vHpqxqi.js");return{diagram:t}},__vite__mapDeps([43,12,1,2,3]));return{id:qy,diagram:e}},"loader"),cF={id:qy,detector:lF,loader:hF},uF=cF,Ny="sankey",dF=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),fF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./sankeyDiagram-P5KCCOFB-DZOD-6G0.js");return{diagram:t}},__vite__mapDeps([44,29,24,1,2,3]));return{id:Ny,diagram:e}},"loader"),gF={id:Ny,detector:dF,loader:fF},pF=gF,Wy="packet",yF=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),mF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-Z3DM3KII-g4ojQm4H.js");return{diagram:t}},__vite__mapDeps([45,20,21,1,2,3]));return{id:Wy,diagram:e}},"loader"),xF={id:Wy,detector:yF,loader:mF},zy="radar",CF=g(e=>/^\s*radar-beta/.test(e),"detector"),bF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-UQ7AKVKN-BUpyj_KG.js");return{diagram:t}},__vite__mapDeps([46,20,21,1,2,3]));return{id:zy,diagram:e}},"loader"),kF={id:zy,detector:CF,loader:bF},Hy="block",wF=g(e=>/^\s*block(-beta)?/.test(e),"detector"),SF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./blockDiagram-I7D4REHJ-BoB4Mr4d.js");return{diagram:t}},__vite__mapDeps([47,12,15,1,2,3]));return{id:Hy,diagram:e}},"loader"),TF={id:Hy,detector:wF,loader:SF},_F=TF,Yy="treeView",BF=g(e=>/^\s*treeView-beta/.test(e),"detector"),vF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-S7CK7UJ4-K_22fPnZ.js");return{diagram:t}},__vite__mapDeps([48,19,20,21,1,2,3]));return{id:Yy,diagram:e}},"loader"),LF={id:Yy,detector:BF,loader:vF},FF=LF,jy="architecture",MF=g(e=>/^\s*architecture/.test(e),"detector"),AF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./architectureDiagram-5GKGNRK7-Dk72PQyE.js");return{diagram:t}},__vite__mapDeps([49,20,21,1,2,3,8]));return{id:jy,diagram:e}},"loader"),EF={id:jy,detector:MF,loader:AF},$F=EF,Uy="eventmodeling",OF=g(e=>/^\s*eventmodeling/.test(e),"detector"),DF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-VSXAHHWV-CsIEnlmf.js");return{diagram:t}},__vite__mapDeps([50,20,21,1,2,3]));return{id:Uy,diagram:e}},"loader"),PF={id:Uy,detector:OF,loader:DF},IF=PF,Gy="ishikawa",RF=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),qF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-5VMMS53U-BnTkT4tj.js");return{diagram:t}},__vite__mapDeps([51,1,2,3]));return{id:Gy,diagram:e}},"loader"),NF={id:Gy,detector:RF,loader:qF},Xy="venn",WF=g(e=>/^\s*venn-beta/.test(e),"detector"),zF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./vennDiagram-4TSXK5OY-BulJw8FW.js");return{diagram:t}},__vite__mapDeps([52,1,2,3]));return{id:Xy,diagram:e}},"loader"),HF={id:Xy,detector:WF,loader:zF},YF=HF,Vy="treemap",jF=g(e=>/^\s*treemap/.test(e),"detector"),UF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./diagram-VX7I27RA-CMJphNH8.js");return{diagram:t}},__vite__mapDeps([53,20,14,21,1,2,3,25,29,24]));return{id:Vy,diagram:e}},"loader"),GF={id:Vy,detector:jF,loader:UF},Zy="wardley",XF=g(e=>/^\s*wardley-beta/i.test(e),"detector"),VF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./wardleyDiagram-VM6X3IG4-Yi5rltDE.js");return{diagram:t}},__vite__mapDeps([54,20,21,1,2,3]));return{id:Zy,diagram:e}},"loader"),ZF={id:Zy,detector:XF,loader:VF},KF=ZF,Ky="cynefin",QF=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),JF=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./cynefinDiagram-5FMLGOSQ-BzBKR0Cp.js");return{diagram:t}},__vite__mapDeps([55,20,21,1,2,3]));return{id:Ky,diagram:e}},"loader"),t5={id:Ky,detector:QF,loader:JF},Qy="railroad",e5=g(e=>/^\s*railroad-beta/i.test(e),"detector"),r5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./railroadDiagram-O6MQD6OU-CANI8b-r.js");return{diagram:t}},__vite__mapDeps([56,57,20,21,1,2,3]));return{id:Qy,diagram:e}},"loader"),i5={id:Qy,detector:e5,loader:r5},Jy="railroadEbnf",s5=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),a5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./ebnfDiagram-PWID7BFC-BZF5DgIm.js");return{diagram:t}},__vite__mapDeps([58,57,20,21,1,2,3]));return{id:Jy,diagram:e}},"loader"),o5={id:Jy,detector:s5,loader:a5},tm="railroadAbnf",n5=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),l5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./abnfDiagram-VCTEODGH-pB_sDbfi.js");return{diagram:t}},__vite__mapDeps([59,57,20,21,1,2,3]));return{id:tm,diagram:e}},"loader"),h5={id:tm,detector:n5,loader:l5},em="railroadPeg",c5=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),u5=g(async()=>{const{diagram:e}=await Mt(async()=>{const{diagram:t}=await import("./pegDiagram-XKGWAZYB-BgiBcHft.js");return{diagram:t}},__vite__mapDeps([60,57,20,21,1,2,3]));return{id:em,diagram:e}},"loader"),d5={id:em,detector:c5,loader:u5},Tu=!1,Ha=g(()=>{Tu||(Tu=!0,Zs("error",VL,e=>e.toLowerCase().trim()==="error"),Zs("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Po(JL,nF,$F),Po($v,uF,$L,FL,Vv,iL,oL,hL,kL,_L,jv,Wv,Iv,iF,Jv,WL,IL,jL,fL,pF,xF,mL,_F,IF,FF,kF,NF,GF,i5,o5,h5,d5,YF,KF,t5))},"addDiagrams"),f5=g(async()=>{I.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(br).map(async([r,{detector:i,loader:s}])=>{if(s)try{No(r)}catch{try{const{diagram:a,id:o}=await s();Zs(o,a,i)}catch(a){throw I.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete br[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){I.error(`Failed to load ${t.length} external diagrams`);for(const r of t)I.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),g5="graphics-document document";function rm(e,t){e.attr("role",g5),t!==""&&e.attr("aria-roledescription",t)}g(rm,"setA11yDiagramInfo");function im(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(im,"addSVGa11yTitleDescription");var xr,wn=(xr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Yt(),s=Bn(t,i);t=Dk(t)+` `;try{No(s)}catch{const u=n0(s);if(!u)throw new Nu(`Diagram ${s} not found.`);const{id:d,diagram:f}=await u();Zs(d,f)}const{db:a,parser:o,renderer:n,init:l}=No(s);return o.parser&&(o.parser.yy=a),(c=a.clear)==null||c.call(a),l==null||l(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await o.parse(t),new xr(s,t,a,o,n)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},g(xr,"Diagram"),xr),_u=[],p5=g(()=>{_u.forEach(e=>{e()}),_u=[]},"attachFunctions"),y5=g(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function sm(e){const t=e.match(qu);if(!t)return{text:e,metadata:{}};const r=t[1],i=r?t[2].split(` `).map(o=>o.startsWith(r)?o.slice(r.length):o).join(` `):t[2];let s=hv(i,{schema:lv})??{};s=typeof s=="object"&&!Array.isArray(s)?s:{};const a={};return s.displayMode&&(a.displayMode=s.displayMode.toString()),s.title&&(a.title=s.title.toString()),s.config&&(a.config=s.config),{text:e.slice(t[0].length),metadata:a}}g(sm,"extractFrontMatter");var m5=g(e=>e.replace(/\r\n?/g,` diff --git a/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-CwiC6U0l.js b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js similarity index 99% rename from amplifier_web/static/assets/mindmap-definition-YA3MSWOX-CwiC6U0l.js rename to amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js index 29e58ed0b..8cc45d371 100644 --- a/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-CwiC6U0l.js +++ b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js @@ -1,4 +1,4 @@ -import{g as oe}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as ce}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as h,l as R,u as le,v as he,y as de,B as W,c as U,i as H,b3 as ge,U as ue,V as pe,W as fe}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():be(t)}function be(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=(function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],k=[1,26],L=[1,24],D=[1,25],b=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],z={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:k,7:L,10:23,11:D},t(b,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(b,[2,18]),t(b,[2,19]),t(b,[2,20]),t(b,[2,21]),t(b,[2,23]),t(b,[2,24]),t(b,[2,26],{19:[1,30]}),{20:[1,31]},{6:k,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(b,[2,15]),t(b,[2,16]),t(b,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(b,[2,25]),t(b,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(C.yy[X]=this.yy[X]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: +import{g as oe}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as ce}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as h,l as R,u as le,v as he,y as de,B as W,c as U,i as H,b3 as ge,U as ue,V as pe,W as fe}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():be(t)}function be(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=(function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],k=[1,26],L=[1,24],D=[1,25],b=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],z={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:k,7:L,10:23,11:D},t(b,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(b,[2,18]),t(b,[2,19]),t(b,[2,20]),t(b,[2,21]),t(b,[2,23]),t(b,[2,24]),t(b,[2,26],{19:[1,30]}),{20:[1,31]},{6:k,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(b,[2,15]),t(b,[2,16]),t(b,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(b,[2,25]),t(b,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(C.yy[X]=this.yy[X]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: `+m.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[S]||S)+"'":J="Parse error on line "+(F+1)+": Unexpected "+(S==Z?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(J,{text:m.match,token:this.terminals_[S]||S,line:m.yylineno,loc:Y,expected:j})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+S);switch(N[0]){case 1:a.push(S),u.push(m.yytext),r.push(m.yylloc),a.push(N[1]),S=null,Q=m.yyleng,g=m.yytext,F=m.yylineno,Y=m.yylloc;break;case 2:if(v=this.productions_[N[1]][1],w.$=u[u.length-v],w._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},re&&(w._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),q=this.performAction.apply(w,[g,Q,F,C.yy,N[1],u,r].concat(se)),typeof q<"u")return q;v&&(a=a.slice(0,-1*v*2),u=u.slice(0,-1*v),r=r.slice(0,-1*v)),a.push(this.productions_[N[1]][0]),u.push(w.$),r.push(w._$),te=M[a[a.length-2]][a[a.length-1]],a.push(te);break;case 3:return!0}}return!0},"parse")},ne=(function(){var O={EOF:1,parseError:h(function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},"parseError"),setInput:h(function(s,i){return this.yy=i||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:h(function(s){var i=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(s){this.unput(this.match.slice(s))},"less"),pastInput:h(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/pegDiagram-XKGWAZYB-CfavDD0n.js b/amplifier_web/static/assets/pegDiagram-XKGWAZYB-BgiBcHft.js similarity index 87% rename from amplifier_web/static/assets/pegDiagram-XKGWAZYB-CfavDD0n.js rename to amplifier_web/static/assets/pegDiagram-XKGWAZYB-BgiBcHft.js index 9d64816cf..7aaa2e5af 100644 --- a/amplifier_web/static/assets/pegDiagram-XKGWAZYB-CfavDD0n.js +++ b/amplifier_web/static/assets/pegDiagram-XKGWAZYB-BgiBcHft.js @@ -1 +1 @@ -import{g as l,r as m,d as a}from"./chunk-SVP7TREG-XhllUbrG.js";import{p}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as t,l as o}from"./mermaid.core-Db1rVExV.js";import{M as u,d as c}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},L={parser:b,db:a,renderer:m,styles:l};export{L as diagram}; +import{g as l,r as m,d as a}from"./chunk-SVP7TREG-Dk8R8Cc6.js";import{p}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as t,l as o}from"./mermaid.core-DCzavt_d.js";import{M as u,d as c}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},L={parser:b,db:a,renderer:m,styles:l};export{L as diagram}; diff --git a/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CX12eTBo.js b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js similarity index 94% rename from amplifier_web/static/assets/pieDiagram-E7YTZNPT-CX12eTBo.js rename to amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js index 092446ac4..1e9aa3e4a 100644 --- a/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CX12eTBo.js +++ b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js @@ -1,4 +1,4 @@ -import{p as rt}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{a3 as T,a6 as B,b2 as nt,g as it,s as ot,a as st,b as lt,o as ct,n as ut,_ as d,l as G,c as gt,A as dt,D as pt,L as ht,d as ft,p as mt,B as vt}from"./mermaid.core-Db1rVExV.js";import{p as xt}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import{d as J}from"./arc-C0HCYinx.js";import{o as St}from"./ordinal-Cboi1Yqb.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,s=(e=nt(e)).length,h,w,$=0,f=new Array(s),o=new Array(s),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,R=Math.min(Math.abs(E)/s,p.apply(this,arguments)),u=R*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(o[M],o[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-s*u)/$:0;r0?A*w:0)+u,o[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:R};return o}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),K={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:st,setAccDescription:ot,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Lt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,K)},"parse")},Rt=d(t=>` +import{p as rt}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{a3 as T,a6 as B,b2 as nt,g as it,s as ot,a as st,b as lt,o as ct,n as ut,_ as d,l as G,c as gt,A as dt,D as pt,L as ht,d as ft,p as mt,B as vt}from"./mermaid.core-DCzavt_d.js";import{p as xt}from"./cynefin-OW5HDTMX-D2urArke.js";import{d as J}from"./arc-BZobgCN0.js";import{o as St}from"./ordinal-Cboi1Yqb.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,s=(e=nt(e)).length,h,w,$=0,f=new Array(s),o=new Array(s),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,R=Math.min(Math.abs(E)/s,p.apply(this,arguments)),u=R*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(o[M],o[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-s*u)/$:0;r0?A*w:0)+u,o[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:R};return o}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),K={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:st,setAccDescription:ot,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Lt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,K)},"parse")},Rt=d(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; diff --git a/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-B0NuZ2VH.js b/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js similarity index 99% rename from amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-B0NuZ2VH.js rename to amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js index eabe13257..f3108c114 100644 --- a/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-B0NuZ2VH.js +++ b/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js @@ -1,4 +1,4 @@ -import{s as Ae,g as ke,o as ae,n as Fe,a as Pe,b as ve,_ as o,c as wt,l as At,j as zt,d as Ce,p as Le,B as z,i as Ee,E as De}from"./mermaid.core-Db1rVExV.js";import{l as ie}from"./linear-Cs83r27z.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";import"./defaultLocale-DX6XiGOO.js";var Vt=(function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: +import{s as Ae,g as ke,o as ae,n as Fe,a as Pe,b as ve,_ as o,c as wt,l as At,j as zt,d as Ce,p as Le,B as z,i as Ee,E as De}from"./mermaid.core-DCzavt_d.js";import{l as ie}from"./linear-B0ph5MIY.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";import"./defaultLocale-DX6XiGOO.js";var Vt=(function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: `+D.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Dt="Parse error on line "+(qt+1)+": Unexpected "+(B==$t?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Dt,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Lt,expected:St})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+B);switch(W[0]){case 1:g.push(B),A.push(D.yytext),e.push(D.yylloc),g.push(W[1]),B=null,Jt=D.yyleng,s=D.yytext,qt=D.yylineno,Lt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],lt.$=A[A.length-M],lt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},Se&&(lt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Et=this.performAction.apply(lt,[s,Jt,qt,K.yy,W[1],A,e].concat(be)),typeof Et<"u")return Et;M&&(g=g.slice(0,-1*M*2),A=A.slice(0,-1*M),e=e.slice(0,-1*M)),g.push(this.productions_[W[1]][0]),A.push(lt.$),e.push(lt._$),ee=pt[g[g.length-2]][g[g.length-1]],g.push(ee);break;case 3:return!0}}return!0},"parse")},me=(function(){var j={EOF:1,parseError:o(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===f.length?this.yylloc.first_column:0)+f[f.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-DoCBJMki.js b/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-CANI8b-r.js similarity index 84% rename from amplifier_web/static/assets/railroadDiagram-O6MQD6OU-DoCBJMki.js rename to amplifier_web/static/assets/railroadDiagram-O6MQD6OU-CANI8b-r.js index 084456ed4..7376cdc73 100644 --- a/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-DoCBJMki.js +++ b/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-CANI8b-r.js @@ -1 +1 @@ -import{g as s,r as l,d as t}from"./chunk-SVP7TREG-XhllUbrG.js";import{p as m}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{_ as n,l as i}from"./mermaid.core-Db1rVExV.js";import{M as p,c as u}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},P={parser:y,db:t,renderer:l,styles:s};export{P as diagram}; +import{g as s,r as l,d as t}from"./chunk-SVP7TREG-Dk8R8Cc6.js";import{p as m}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{_ as n,l as i}from"./mermaid.core-DCzavt_d.js";import{M as p,c as u}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},P={parser:y,db:t,renderer:l,styles:s};export{P as diagram}; diff --git a/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-BJfHmPOs.js b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js similarity index 99% rename from amplifier_web/static/assets/requirementDiagram-BXWQKSXE-BJfHmPOs.js rename to amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js index d2c3dc5ed..d1b9bd00c 100644 --- a/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-BJfHmPOs.js +++ b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js @@ -1,4 +1,4 @@ -import{g as ze}from"./chunk-XXDRQBXY-Np_UiiaV.js";import{s as Xe}from"./chunk-POPQ4Y6H-D4TU3m_X.js";import{_ as d,y as Be,b as Je,a as Ze,s as et,g as tt,n as st,o as it,c as Ne,l as qe,p as rt,t as nt,u as at,v as lt,x as ct}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var Ce=(function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],y=[1,26],f=[1,27],m=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],_=[1,39],S=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:_,90:S},{30:63,33:62,75:P,89:_,90:S},{30:64,33:62,75:P,89:_,90:S},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:_,90:S},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:_,90:S},{5:[1,95]},{30:96,33:62,75:P,89:_,90:S},{5:[1,97]},{30:98,33:62,75:P,89:_,90:S},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:_,90:S},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:_,90:S},{33:120,89:_,90:S},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:_,90:S},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);b.setInput(i,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var Ie=b.yylloc;t.push(Ie);var je=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||b.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");b.showPosition?ke="Parse error on line "+(ge+1)+`: +import{g as ze}from"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import{s as Xe}from"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import{_ as d,y as Be,b as Je,a as Ze,s as et,g as tt,n as st,o as it,c as Ne,l as qe,p as rt,t as nt,u as at,v as lt,x as ct}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var Ce=(function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],y=[1,26],f=[1,27],m=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],_=[1,39],S=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:y,22:f,23:m,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:_,90:S},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:_,90:S},{30:63,33:62,75:P,89:_,90:S},{30:64,33:62,75:P,89:_,90:S},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:_,90:S},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:_,90:S},{5:[1,95]},{30:96,33:62,75:P,89:_,90:S},{5:[1,97]},{30:98,33:62,75:P,89:_,90:S},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:_,90:S},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:_,90:S},{33:120,89:_,90:S},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:_,90:S},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);b.setInput(i,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var Ie=b.yylloc;t.push(Ie);var je=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||b.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");b.showPosition?ke="Parse error on line "+(ge+1)+`: `+b.showPosition()+` Expecting `+_e.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ke="Parse error on line "+(ge+1)+": Unexpected "+(I==Pe?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ke,{text:b.match,token:this.terminals_[I]||I,line:b.yylineno,loc:Ie,expected:_e})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(q[0]){case 1:l.push(I),R.push(b.yytext),t.push(b.yylloc),l.push(q[1]),I=null,$e=b.yyleng,a=b.yytext,ge=b.yylineno,Ie=b.yylloc;break;case 2:if(F=this.productions_[q[1]][1],J.$=R[R.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},je&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),Te=this.performAction.apply(J,[a,$e,ge,G.yy,q[1],R,t].concat(We)),typeof Te<"u")return Te;F&&(l=l.slice(0,-1*F*2),R=R.slice(0,-1*F),t=t.slice(0,-1*F)),l.push(this.productions_[q[1]][0]),R.push(J.$),t.push(J._$),Ye=de[l[l.length-2]][l[l.length-1]],l.push(Ye);break;case 3:return!0}}return!0},"parse")},He=(function(){var $={EOF:1,parseError:d(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:d(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:d(function(i){var n=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===s.length?this.yylloc.first_column:0)+s[s.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(i){this.unput(this.match.slice(i))},"less"),pastInput:d(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-rJNnBF7P.js b/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js similarity index 99% rename from amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-rJNnBF7P.js rename to amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js index a2539b054..56fc607cc 100644 --- a/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-rJNnBF7P.js +++ b/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js @@ -1,4 +1,4 @@ -import{n as xt,o as _t,s as vt,g as bt,b as St,a as wt,_ as d,c as lt,b6 as Lt,j as H,X as Et,p as At,k as Tt}from"./mermaid.core-Db1rVExV.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function jt(t){return t.index}function Dt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=jt,o=kt,l,h,x=Dt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function j(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),j(f);for(let c=0;c0))continue;let U=(L/B-b.y0)*f;b.y0+=U,b.y1+=U,z(b)}l===void 0&&k.sort(Q),D(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:X,value:et}of b.sourceLinks){let Y=et*(X.layer-b.layer);L+=E(b,X)*Y,B+=Y}if(!(B>0))continue;let U=(L/B-b.y0)*f;b.y0+=U,b.y1+=U,z(b)}l===void 0&&k.sort(Q),D(k,c)}}function D(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,j=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+j*m)+","+(this._y1=n+j*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Gt(t){return t.source}function Ut(t){return t.target}function Xt(t){var n=Gt,s=Ut,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Yt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Xt(Yt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=(function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,j=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var D=S.yylloc;g.push(D);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: +import{n as xt,o as _t,s as vt,g as bt,b as St,a as wt,_ as d,c as lt,b6 as Lt,j as H,X as Et,p as At,k as Tt}from"./mermaid.core-DCzavt_d.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function jt(t){return t.index}function Dt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=jt,o=kt,l,h,x=Dt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function j(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),j(f);for(let c=0;c0))continue;let U=(L/B-b.y0)*f;b.y0+=U,b.y1+=U,z(b)}l===void 0&&k.sort(Q),D(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:X,value:et}of b.sourceLinks){let Y=et*(X.layer-b.layer);L+=E(b,X)*Y,B+=Y}if(!(B>0))continue;let U=(L/B-b.y0)*f;b.y0+=U,b.y1+=U,z(b)}l===void 0&&k.sort(Q),D(k,c)}}function D(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,j=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+j*m)+","+(this._y1=n+j*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Gt(t){return t.source}function Ut(t){return t.target}function Xt(t){var n=Gt,s=Ut,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Yt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Xt(Yt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=(function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,j=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var D=S.yylloc;g.push(D);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: `+S.showPosition()+` Expecting `+k.join(", ")+", got '"+(this.terminals_[w]||w)+"'":b="Parse error on line "+(A+1)+": Unexpected "+(w==N?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(b,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:D,expected:k})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+w);switch(E[0]){case 1:h.push(w),_.push(S.yytext),g.push(S.yylloc),h.push(E[1]),w=null,M=S.yyleng,T=S.yytext,A=S.yylineno,D=S.yylloc;break;case 2:if(e=this.productions_[E[1]][1],f.$=_[_.length-e],f._$={first_line:g[g.length-(e||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(e||1)].first_column,last_column:g[g.length-1].last_column},V&&(f._$.range=[g[g.length-(e||1)].range[0],g[g.length-1].range[1]]),i=this.performAction.apply(f,[T,M,A,C.yy,E[1],_,g].concat(j)),typeof i<"u")return i;e&&(h=h.slice(0,-1*e*2),_=_.slice(0,-1*e),g=g.slice(0,-1*e)),h.push(this.productions_[E[1]][0]),_.push(f.$),g.push(f._$),r=v[h[h.length-2]][h[h.length-1]],h.push(r);break;case 3:return!0}}return!0},"parse")},y=(function(){var m={EOF:1,parseError:d(function(l,h){if(this.yy.parser)this.yy.parser.parseError(l,h);else throw new Error(l)},"parseError"),setInput:d(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:d(function(o){var l=o.length,h=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===x.length?this.yylloc.first_column:0)+x[x.length-h.length].length-h[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(o){this.unput(this.match.slice(o))},"less"),pastInput:d(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-bKHYNEhE.js b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js similarity index 99% rename from amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-bKHYNEhE.js rename to amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js index e79d0727e..18067cfbe 100644 --- a/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-bKHYNEhE.js +++ b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js @@ -1,4 +1,4 @@ -import{I as er}from"./chunk-2Q5K7J3B-h1yMEKAe.js";import{_ as x,F as rr,c as j,j as Yt,l as it,G as Me,d as ar,e as sr,k as m,b as De,s as ir,n as nr,a as or,g as cr,o as lr,H as hr,J as dr,p as Tr,i as Wt,x as Z,I as Q,K as kt,L as Be,Z as pr,y as Ft,M as Er,N as Ve}from"./mermaid.core-Db1rVExV.js";import{a as ur,g as se,b as dt,d as fr,c as ie,e as ne}from"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var ee=(function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: +import{I as er}from"./chunk-2Q5K7J3B-DutsbiAD.js";import{_ as x,F as rr,c as j,j as Yt,l as it,G as Me,d as ar,e as sr,k as m,b as De,s as ir,n as nr,a as or,g as cr,o as lr,H as hr,J as dr,p as Tr,i as Wt,x as Z,I as Q,K as kt,L as Be,Z as pr,y as Ft,M as Er,N as Ve}from"./mermaid.core-DCzavt_d.js";import{a as ur,g as se,b as dt,d as fr,c as ie,e as ne}from"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var ee=(function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: `+J.showPosition()+` Expecting `+Vt.join(", ")+", got '"+(this.terminals_[st]||st)+"'":jt="Parse error on line "+(Mt+1)+": Unexpected "+(st==me?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(jt,{text:J.match,token:this.terminals_[st]||st,line:J.yylineno,loc:Qt,expected:Vt})}if(lt[0]instanceof Array&<.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+st);switch(lt[0]){case 1:k.push(st),G.push(J.yytext),c.push(J.yylloc),k.push(lt[1]),st=null,Ne=J.yyleng,d=J.yytext,Mt=J.yylineno,Qt=J.yylloc;break;case 2:if(Tt=this.productions_[lt[1]][1],Lt.$=G[G.length-Tt],Lt._$={first_line:c[c.length-(Tt||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(Tt||1)].first_column,last_column:c[c.length-1].last_column},je&&(Lt._$.range=[c[c.length-(Tt||1)].range[0],c[c.length-1].range[1]]),$t=this.performAction.apply(Lt,[d,Ne,Mt,gt.yy,lt[1],G,c].concat($e)),typeof $t<"u")return $t;Tt&&(k=k.slice(0,-1*Tt*2),G=G.slice(0,-1*Tt),c=c.slice(0,-1*Tt)),k.push(this.productions_[lt[1]][0]),G.push(Lt.$),c.push(Lt._$),ke=mt[k[k.length-2]][k[k.length-1]],k.push(ke);break;case 3:return!0}}return!0},"parse")},Ze=(function(){var ut={EOF:1,parseError:x(function(v,k){if(this.yy.parser)this.yy.parser.parseError(v,k);else throw new Error(v)},"parseError"),setInput:x(function(N,v){return this.yy=v||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:x(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var v=N.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:x(function(N){var v=N.length,k=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===y.length?this.yylloc.first_column:0)+y[y.length-k.length].length-k[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(N){this.unput(this.match.slice(N))},"less"),pastInput:x(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var N=this.pastInput(),v=new Array(N.length+1).join("-");return N+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/sizeCapture-INFHLROL-sZLC26GK.js b/amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js similarity index 87% rename from amplifier_web/static/assets/sizeCapture-INFHLROL-sZLC26GK.js rename to amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js index 4a5552ded..3cea7ec3b 100644 --- a/amplifier_web/static/assets/sizeCapture-INFHLROL-sZLC26GK.js +++ b/amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js @@ -1 +1 @@ -import{_ as n}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var c=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,p=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:p,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:c,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; +import{_ as n}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var c=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,p=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:p,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:c,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; diff --git a/amplifier_web/static/assets/stateDiagram-D77RDMKH-5aAHBXw2.js b/amplifier_web/static/assets/stateDiagram-D77RDMKH-C3z6nfsf.js similarity index 96% rename from amplifier_web/static/assets/stateDiagram-D77RDMKH-5aAHBXw2.js rename to amplifier_web/static/assets/stateDiagram-D77RDMKH-C3z6nfsf.js index d5ba6cd2d..05ff5570f 100644 --- a/amplifier_web/static/assets/stateDiagram-D77RDMKH-5aAHBXw2.js +++ b/amplifier_web/static/assets/stateDiagram-D77RDMKH-C3z6nfsf.js @@ -1 +1 @@ -import{s as G,a as P,S as N}from"./chunk-IMKFNOWR-BHywLYsX.js";import{_ as f,c as t,j as H,l as S,d as W,P as _,k as z,Q as U,R as C,M as F,x as O}from"./mermaid.core-Db1rVExV.js";import{l as J}from"./layout-DVk1QBeS.js";import"./chunk-XXDRQBXY-Np_UiiaV.js";import"./chunk-POPQ4Y6H-D4TU3m_X.js";import"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),j=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),q=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),Q=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),Z=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=Q(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&j(n),(i.type==="fork"||i.type==="join")&&q(n,i),i.type==="note"&&Z(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),R=0,K=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(C),p=e.append("path").attr("d",l(n)).attr("id","edge"+R).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=F(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=O.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}R++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;W(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new _({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),K(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},ht={parser:P,get db(){return new N(1)},renderer:it,styles:G,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram}; +import{s as G,a as P,S as N}from"./chunk-IMKFNOWR-6bGNfPrr.js";import{_ as f,c as t,j as H,l as S,d as W,P as _,k as z,Q as U,R as C,M as F,x as O}from"./mermaid.core-DCzavt_d.js";import{l as J}from"./layout-C8YZk5aC.js";import"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),j=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),q=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),Q=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),Z=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=Q(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&j(n),(i.type==="fork"||i.type==="join")&&q(n,i),i.type==="note"&&Z(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),R=0,K=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(C),p=e.append("path").attr("d",l(n)).attr("id","edge"+R).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=F(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=O.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}R++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;W(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new _({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),K(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},ht={parser:P,get db(){return new N(1)},renderer:it,styles:G,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram}; diff --git a/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-BEiUrOFK.js b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-BEiUrOFK.js new file mode 100644 index 000000000..d6d67d77e --- /dev/null +++ b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-BEiUrOFK.js @@ -0,0 +1 @@ +import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-6bGNfPrr.js";import{_ as i}from"./mermaid.core-DCzavt_d.js";import"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var n={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-CxHUIwTX.js b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-CxHUIwTX.js deleted file mode 100644 index 0d4f492ba..000000000 --- a/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-CxHUIwTX.js +++ /dev/null @@ -1 +0,0 @@ -import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-BHywLYsX.js";import{_ as i}from"./mermaid.core-Db1rVExV.js";import"./chunk-XXDRQBXY-Np_UiiaV.js";import"./chunk-POPQ4Y6H-D4TU3m_X.js";import"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var n={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/amplifier_web/static/assets/swimlanes-42K2YHIH-D-dDTAzh.js b/amplifier_web/static/assets/swimlanes-42K2YHIH-DflQXV3F.js similarity index 99% rename from amplifier_web/static/assets/swimlanes-42K2YHIH-D-dDTAzh.js rename to amplifier_web/static/assets/swimlanes-42K2YHIH-DflQXV3F.js index f1127204e..fa49c2b72 100644 --- a/amplifier_web/static/assets/swimlanes-42K2YHIH-D-dDTAzh.js +++ b/amplifier_web/static/assets/swimlanes-42K2YHIH-DflQXV3F.js @@ -1 +1 @@ -import{ap as Tr,l as Ln,_ as d,aA as No}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var Oo=5,ze=1e-5,Ve=1e-6;function Je(t){const e=[];for(let n=0;n=1-Ve||I<=Ve||I>=1-Ve?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:I}}d(Do,"segmentIntersection");function En(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(En,"isHorizontalSeg");function Ho(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d(Xo,"getArcSweepFlag");var Ar=.001;function Yo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&No[e.arrowTypeStart];if(o){const r=t[0],f=t[1],a=Math.atan2(f.y-r.y,f.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&No[e.arrowTypeEnd];if(s){const r=t.length,f=t[r-2],a=t[r-1],l=Math.atan2(a.y-f.y,a.x-f.x);n[r-1].x=a.x-s*Math.cos(l),n[r-1].y=a.y-s*Math.sin(l)}return n}d(Yo,"applyMarkerOffsets");function Go(t,e,n,o,s){const r=t.point.x,f=t.point.y,a={x:r-e*t.r,y:f-n*t.r},l={x:r+e*t.r,y:f+n*t.r},c=[`L${Oe(a)}`];return s==="arc"?c.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(l)}`):c.push(`M${Oe(l)}`),c}d(Go,"emitJump");function Tn(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,f=n.x-e.x,a=n.y-e.y,l=Math.hypot(s,r),c=Math.hypot(f,a);if(l0){const v=Tn(s[c-1],s[c],s[c+1]??s[c],Oo);v&&(i=v.cutLen)}let x=p,C=null;r&&cv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-i,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(jo,"decodeDataPoints");function Uo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const c of e)s.set(c.id,c);const r=[],f=new Map;for(const c of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(c.id):c.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;f.set(c.id,p);const u=jo(p.getAttribute("data-points"))??c.points;r.push({...c,points:u})}const a=Ho(r);if(a.length===0)return;const l=new Map;for(const c of a){const g=l.get(c.jumpEdgeId)??[];g.push(c),l.set(c.jumpEdgeId,g)}for(const c of r){const g=l.get(c.id);if(!g||g.length===0)continue;const p=s.get(c.id),I=p==null?void 0:p.curve;if(I!==void 0&&!Vo(I))continue;const u=f.get(c.id);if(!u)continue;if(I===void 0){const v=u.getAttribute("d")??"";if(!zo(v))continue}const h=u.getAttribute("style")??"",i=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=i?Number.parseFloat(i[1]):null,C=i?Number.parseFloat(i[2]):null,b=$o(c,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,M=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",M)}}}d(Uo,"applyLineJumpsToSvg");function Wo(t,{measure:e}){var r,f;const n=(f=(r=t.config)==null?void 0:r.swimlane)==null?void 0:f.lineHops;if(n===!1)return;const o=n==="gap"?"gap":"arc",s=t.edges.filter(a=>Array.isArray(a.points)&&a.points.length>=2).map(a=>({id:a.id,points:a.points,curve:a.curve,arrowTypeStart:a.arrowTypeStart,arrowTypeEnd:a.arrowTypeEnd}));Uo(e.groups.edgePaths,s,{enabled:!0,jumpRadius:6,jumpStyle:o})}d(Wo,"applySwimlaneLineJumps");var In="__swimlane_default__",wr=21,Po=20;function An(t){return Math.max(t.padding??Po,Po)}d(An,"topLaneHorizontalPadding");function Ko(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const f=n-s/2,a=Math.min(r,n+s/2),l=Math.min(wr,Math.max(0,a-f)),c=f+l;if(c<=f){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:f,bottom:c}}d(Ko,"assignTopLaneTitleRect");function qo(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===In);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:In,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=In}d(qo,"prepareLayoutForSwimlanes");function Jo(t){const e=new Map;for(const l of t.nodes??[])e.set(l.id,l);const n=[];for(const l of t.edges??[]){const c=typeof l.start=="string"?l.start:void 0,g=typeof l.end=="string"?l.end:void 0;!c||!g||l.labelNodeId||n.push({id:l.id,src:c,dst:g,ref:l})}const o=t.nodes??[],s=o.filter(l=>l.isGroup),r=o.filter(l=>!l.isGroup);return{nodes:[...[...s].reverse(),...r].map(l=>l.id),edges:n,layout:t,nodeById:e}}d(Jo,"toGraphView");function Zo(t,e,n,o){const{layout:s}=t,r=t.nodeById,f=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let l=0;for(const I of e.layers){let u=0;for(const h of I){const i=r.get(h);if(!i){u++;continue}i.layer=l,i.order=u;const x=n.x[h]??u*a,C=n.y[h]??l*f;i.x=x,i.y=C,u++}l++}const c=s.nodes??[],g=new Map,p=[];for(const I of c){if(!(I!=null&&I.isGroup))continue;I.parentId||p.push(I);const u=c.filter(b=>b.parentId===I.id);let h=1/0,i=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,M=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),i=Math.max(i,v+y/2),x=Math.min(x,L-M/2),C=Math.max(C,L+M/2))}if(h===1/0||x===1/0)I.x=I.x??0,I.y=I.y??0,I.width=I.width??0,I.height=I.height??0;else{const b=I.padding??20,v=I.parentId?b:2*An(I),L=b,y=Math.max(0,i-h)+v,M=Math.max(0,C-x)+L,E=(h+i)/2,w=(x+C)/2;I.x=E,I.y=w,I.width=y,I.height=M,g.set(I.id,{minX:h,maxX:i,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let I=1/0,u=-1/0,h=0;for(const i of p){const x=i.padding??20;x>h&&(h=x);const C=g.get(i.id);C&&(I=Math.min(I,C.minY),u=Math.max(u,C.maxY))}if(I!==1/0&&u!==-1/0){const i=Math.max(0,u-I),C=Math.max(h,36),b=i+2*C,v=(I+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=I;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],M=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*An(B),H=(O.minX+O.maxX)/2;y.push(B.id),M.push(H),E.push(k)}const w=y.length;if(w>0){const B=new Map;if(w===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(ro,"measuredNodeRect");function io(t){if(t.isGroup)return;const e=ro(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(io,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function co(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(co,"classifyThreeSegmentRoute");function an(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),f=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&fe.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ts,"rectContainsRect");function Ze(t,e){return t.lefte.left&&t.tope.top}d(Ze,"rectsOverlap");function wn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(wn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=ro(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function lo(t,e,n,o,s,r=Yt){const f=e==="left"||e==="right",a=o==="left"||o==="right";if(f&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!f&&!a){if(e===o){if(gt(t,n,r))return;const I=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:I},{x:n.x,y:I},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(f&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const l=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return l&&c?[t,{x:t.x,y:n.y},n]:void 0}d(lo,"buildOrthogonalPortPath");function fo(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(fo,"buildSameSideTrackPath");function ln(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=io(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(ln,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=io(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function es(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,f=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,f,a)})}return n}d(es,"collectLayoutNodeRects");function uo(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),f=e.get(s);if(!(!r||!f))return{srcId:o,dstId:s,srcInfo:r,dstInfo:f,collinearX:Math.abs(r.cx-f.cx)h||IC)return!1;const b=Math.abs(i-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(ns,"sameAxisSegmentsOverlap");function Qe(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const f of n){if(f===o||f.isLayoutOnly)continue;const a=f.points;if(!(!a||a.length<2))for(let l=0;lI+s&&hi+s&&po+Yt&&t=2?e[e.length-2]:void 0,l=(f?gt(f,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(l)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(tn,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=ss(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Nr=.5,Bo=4;function go(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const f=rs(t[s],t[r],e);return n?[f,...t.slice(s)]:[...t.slice(0,s+1),f]}d(Nn,"clipEndpoint");function is(t,e){for(const n of t){const o=go(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Nn(s,o.srcRect,!0)),o.dstRect&&(s=Nn(s,o.dstRect,!1)),s=ue(tn(s)),s=mo(s,o.srcRect,o.dstRect),o.edge.points=ue(tn(s))}}d(is,"clipEdgeEndpointsToNodeBoundaries");function On(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(On,"snapEndpointToBoundary");function en(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(cs,"intersectRanges");function Bn(t,e){return e==="left"||e==="right"?nn(t.top,t.bottom):nn(t.left,t.right)}d(Bn,"clearanceRangeForSide");function on(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?cs(r):void 0}d(as,"straightClearanceRange");function kn(t,e,n,o,s){const r=as(t,e,n,o,s);if(!r)return;const f=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,f));if(!(Math.abs(a-f)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Dn,"leavesOutward");function Hn(t,e,n){if(t.length<3)return t;if(n){const r=_n(t[0],t[1],e);return r&&Dn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=_n(t[o-1],t[o],e);return s&&Dn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Hn,"collapseOwnBorderStub");function ds(t,e,n){let o=t;if(e){const r=en(o,0,1);if(r){const f=On(r,o[0],e);f!==o[0]&&(o=[f,...o.slice(1)])}o=Hn(o,e,!0)}if(n){const r=o.length-1,f=en(o,r,-1);if(f){const a=On(f,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Hn(o,n,!1)}const s=mo(o,e,n);return s!==o||o.length===2?s:(e&&(o=Fn(o,e,!0)),n&&(o=Fn(o,n,!1)),o)}d(ds,"snapAndCollapseEndpoints");function Xn(t,e){for(const n of t){const o=go(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ds(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const f=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=f}}d(Xn,"prepareEdgeEndpointsForRenderer");function yo(t){return new Map(t.map(e=>[e.id,e]))}d(yo,"buildNodeMap");function us(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(us,"resolveTopLevelGroupId");function Yn(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d(Yn,"groupDepth");function po(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const f=r.x,a=r.y;if(typeof f!="number"||typeof a!="number")continue;const l=r.width??0,c=r.height??0;e=Math.min(e,f-l/2),n=Math.max(n,f+l/2),o=Math.min(o,a-c/2),s=Math.max(s,a+c/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(po,"boundsForChildren");function hs(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(hs,"applyGroupBounds");function gs(t){const e=yo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>Yn(s,e)-Yn(o,e));for(const o of n){const s=t.filter(f=>f.parentId===o.id),r=po(s);r&&hs(o,r)}}d(gs,"recomputeNestedGroupBounds");function sn(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(l=>!l.isGroup);let r=1/0,f=-1/0;for(const l of s){const c=l[e];typeof c=="number"&&(r=Math.min(r,c),f=Math.max(f,c))}if(!Number.isFinite(r)||!Number.isFinite(f))return!1;const a=d(l=>r+f-l,"mirror");for(const l of n){const c=l[e];typeof c=="number"&&(l[e]=a(c));const g=l.groupTitleRect;g&&(l.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const l of o)for(const c of l.points??[])c[e]=a(c[e]);return!0}d(sn,"mirrorAxis");function ms(t){return(t.nodes??[]).some(n=>!n.isGroup)?sn(t,"y"):!0}d(ms,"applyBtDirectionTransform");function ys(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,f=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-f)*I+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-f)*I+a,Mt=j-r;G.x=ft,G.y=Mt}gs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&sn(t,"x"),!0;const h=yo(n),i=new Map;for(const P of n){if(P.isGroup)continue;const G=us(P,h);if(!G)continue;const j=i.get(G)??[];j.push(P),i.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=i.get(P.id)??[],j=po(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),M=L+2*y,E=a+M,O=(b+v)/2-M/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PI.cy?C.bottom:C.top,H=I.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>I.cx?C.right:C.left,H=I.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const M=ce(v,L,ae),E=ce(L,y,ae);if(M&&E||!M&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const w=!M&&Qe(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&Qe(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(w||B)){M?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(ps,"portSwapToLShape");function xs(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const l=a.points;if(!l||l.length<4)continue;const c=xt(l,.001);if(c.length<4)continue;const g=c.length-1,p=c[g],I=c[g-1],u=c[g-2],h=p.x-I.x,i=p.y-I.y,x=Math.hypot(h,i);if(x>=10||x<.001)continue;const C=I.x-u.x,b=I.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(I,p,.001),y=Ot(I,p,.001),M=Nt(u,I,.001),E=Ot(u,I,.001);if(!(L&&E||y&&M))continue;const w=a.end,B=a.start,O=w?e.get(w):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,w?[w]:[],-2)||Pt(G,j,f,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&ao(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=c[g-3],rt=[B,w].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const _t=[...c.slice(0,g-2),G,j];a.points=_t;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,At=-1;for(let Kt=0;Kt<_t.length-1;Kt++){const qt=_t[Kt],Jt=_t[Kt+1],se=Math.hypot(Jt.x-qt.x,Jt.y-qt.y),Ee=yt(qt,Jt,.001),me=gt(qt,Jt,.001);(Ee&&se>=rt+2||me&&se>=ut+2)&&se>At&&(At=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(xs,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Sn=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function bs(t,e){const s=d((u,h)=>{const i=u.x??0,x=u.y??0,C=h.x-i,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:i+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:i+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const i=xt(u.points??[]);if(i.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?i[0]:i[i.length-1],L=h?i[1]:i[i.length-2],y=s(C,v);let M=v;if(Sn(L,y)&&(M=L),gt(y,M,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,M.y),max:Math.max(y.y,M.y),boundary:y,railEnd:M,rect:b};if(yt(y,M,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,M.x),max:Math.max(y.x,M.x),boundary:y,railEnd:M,rect:b}},"terminalLaneFor"),f=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),l=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:f(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),c=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const i=f(u,h);if(i2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const i=xt(u.edge.points??[]);if(i.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const M=i.length>1&&ce(i[1],u.railEnd,et),E=i.slice(M?2:1),w=E[0];return w&&!Sn(w,C)?void 0:[x,C,...E]}const v=i.length>1&&ce(i[i.length-2],u.railEnd,et),L=i.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Sn(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,i=xt(h.points??[]);if(i.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,M=v.x??0,E=v.y??0,[w,B]=i;return yt(w,B,et)&&Math.abs(y-E)<1&&Math.abs(L-M)>1||gt(w,B,et)&&Math.abs(L-M)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),I=[-7,7,-14,14,-21,21];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let i=!1;for(let x=0;x{const w=p(M),B=p(E);return w!==B?Number(w)-Number(B):+!E.atStart-+!M.atStart});for(const M of y){for(const E of I){const w=g(M,E);if(!w)continue;const B=r({...M.edge,points:w},M.atStart);if(!(!B||h.some(O=>O.edge!==M.edge&&(l(B,O)||L&&c(B,O))))){M.edge.points=w,i=!0;break}}if(i)break}}if(!i)return}}d(bs,"separateSharedRenderedTerminalLanes");function Ms(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,l)=>{const c=a.start,g=a.end,p=at(l);if(p.length!==l.length-1)return!1;const I=[c,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,I,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const i of p)for(const x of at(xt(h)))if(de(i,x,.5)>=Xt||he(i.a,i.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),f=d((a,l)=>{if(l+4>=a.length)return;const c=a[l],g=a[l+1],p=a[l+2],I=a[l+3],u=a[l+4],h=Nt(c,g)&&Ot(g,p)&&Nt(p,I)&&Ot(I,u)&>(c,I,et)&>(c,u,et)&>(g,p,et)&&(g.x-c.x)*(I.x-p.x)<0,i=Ot(c,g)&&Nt(g,p)&&Ot(p,I)&&Nt(I,u)&&yt(c,I,et)&&yt(c,u,et)&&yt(g,p,et)&&(g.y-c.y)*(I.y-p.y)<0;if(h||i)return xt([...a.slice(0,l+1),u,...a.slice(l+5)]);if(l+5>=a.length)return;const x=a[l+5],C=Ot(c,g)&&Nt(g,p)&&Ot(p,I)&&Nt(I,u)&&Ot(u,x)&>(c,u,et)&>(c,x,et)&>(p,I,et)&&(p.x-g.x)*(u.x-I.x)<0,b=Nt(c,g)&&Ot(g,p)&&Nt(p,I)&&Ot(I,u)&&Nt(u,x)&&yt(c,u,et)&&yt(c,x,et)&&yt(p,I,et)&&(p.y-g.y)*(u.y-I.y)<0;if(!(!C&&!b))return xt([...a.slice(0,l+1),x,...a.slice(l+6)])},"withoutDogleg");for(let a=0;a<8;a++){let l=!1;for(const c of t){if(c.isLayoutOnly)continue;const g=xt(c.points??[]);for(let p=0;p<=g.length-5;p++){const I=f(g,p);if(!(!I||!r(c,I))){c.points=I,l=!0;break}}if(l)break}if(!l)return}}d(Ms,"collapseRedundantRectangularDoglegs");function Gn(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),l=d((h,i,x)=>xt(h===i?x??[]:h.points??[]),"pointsFor"),c=d((h,i)=>{let x=0;for(let C=0;C{const i=at(h);if(i.length!==3)return;const x=i[1];if(!(i[0].horizontal===x.horizontal||i[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,i)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return i.horizontal?Wt(i.a.x,i.b.x,b.left,b.right)>=Xt&&i.a.y>=b.top-2&&i.a.y<=b.bottom+2:Wt(i.a.y,i.b.y,b.top,b.bottom)>=Xt&&i.a.x>=b.left-2&&i.a.x<=b.right+2})},"blockingRectsFor"),I=d((h,i,x)=>{const C=h.map(v=>({...v}));if(i.horizontal)C[i.index].y=x,C[i.index+1].y=x;else if(i.vertical)C[i.index].x=x,C[i.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,i,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(i);if(b.length!==i.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,f,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(l(v)))if(de(L,y,.5)>=Xt)return!1}return c(h,i)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const i=c();let x=!1;for(const C of a){const b=l(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(M=>M.rect.top))-20,Math.max(...L.map(M=>M.rect.bottom))+20]:[Math.min(...L.map(M=>M.rect.left))-20,Math.max(...L.map(M=>M.rect.right))+20];for(const M of y){const E=I(b,v.segment,M);if(!(!E||!u(C,E,i))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(Gn,"liftObstacleHuggingSameSideRails");function $n(t,e){const o=d(l=>{const c=l.groupTitleRect;if(!(!c||typeof c.left!="number"||typeof c.right!="number"||typeof c.top!="number"||typeof c.bottom!="number"||!Number.isFinite(c.left)||!Number.isFinite(c.right)||!Number.isFinite(c.top)||!Number.isFinite(c.bottom)||c.right<=c.left||c.bottom<=c.top))return{left:c.left,right:c.right,top:c.top,bottom:c.bottom}},"validTitleRect"),s=d(l=>{if(!l.isGroup||l.parentId)return;const c=l.direction,g=typeof c=="string"?c.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(l),I=l.y,u=l.height;if(!p||typeof I!="number"||typeof u!="number"||!Number.isFinite(I)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,i=p.bottom-p.top;if(!(i<=0||h{if(!l.horizontal)return!1;const g=l.a.y;return g<=c.top+et||g>=c.bottom-et?!1:Wt(l.a.x,l.b.x,c.left,c.right)>=Xt},"horizontalSegmentIntersectsTitle"),f=[...e.values()].map(s).filter(l=>!!l);if(f.length===0)return;let a=0;for(const l of t){if(l.isLayoutOnly)continue;const c=xt(l.points??[]);for(const g of at(c))for(const p of f)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const l of f){const c=l.node.y,g=l.node.height;typeof c!="number"||typeof g!="number"||!Number.isFinite(c)||!Number.isFinite(g)||g<=0||(l.node.y=c-a/2,l.node.height=g+a,l.node.groupTitleRect={...l.rect,top:l.rect.top-a,bottom:l.rect.bottom-a})}}d($n,"liftTopLaneTitleBandsAboveRails");function zn(t,e){const o=d(c=>{const g=c.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId||c.direction!=="LR")return;const p=o(c),I=c.x,u=c.width;if(!p||typeof I!="number"||typeof u!="number"||!Number.isFinite(I)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,i=p.bottom-p.top;if(!(h<=0||i{if(!c.vertical)return!1;const p=c.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(c.a.y,c.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),f=d((c,g)=>{if(!c.horizontal)return!1;const p=c.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(c.a.x,c.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(c=>!!c);if(a.length===0)return;let l=0;for(const c of t){if(c.isLayoutOnly)continue;const g=xt(c.points??[]);for(const p of at(g))for(const I of a)if(r(p,I.rect))l=Math.max(l,I.rect.right-p.a.x+4);else if(f(p,I.rect)){const u=Math.min(p.a.x,p.b.x);l=Math.max(l,I.rect.right-u+4)}}if(!(l<=et))for(const c of a){const g=c.node.x,p=c.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(c.node.x=g-l/2,c.node.width=p+l,c.node.groupTitleRect={...c.rect,left:c.rect.left-l,right:c.rect.right-l})}}d(zn,"shiftLeftLaneTitleBandsLeftOfRails");function Is(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,i=new Map)=>xt(i.get(h)??h.points??[]),"replacementPointsFor"),f=d((h=new Map)=>{let i=0;for(let x=0;xs.reduce((i,x)=>i+oe(r(x,h)),0),"totalBends"),l=d(h=>{const i=r(h);if(i.length<4)return;const x=i[i.length-2],C=i[i.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),c=d((h,i)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:i.tailStart.y};else if(Ot(C,b,et))v={x:i.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,i.tailStart,i.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,i)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(i))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,i,x)=>{for(const C of s)if(C!==h){for(const b of at(i))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),I=d((h,i,x)=>!g(h,i)&&!p(h,i,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const i of s){const x=i.end;if(!x||!e.has(x)||r(i).length<4)continue;const b=h.get(x)??[];b.push(i),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const i=f();if(i===0)return;const x=a();let C,b=i,v=x;for(const L of u().values())for(let y=0;y=i||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Is,"swapDestinationTerminalTailsToReduceCrossings");function Ss(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),l=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),c=d((L=new Map)=>{let y=0;for(let M=0;Ma.reduce((y,M)=>y+oe(l(M,L)),0),"totalBends"),p=d(L=>{const y=L.start,M=L.end,E=y?e.get(y):void 0,w=M?e.get(M):void 0,B=E?te(E):void 0,O=w?te(w):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),I=d((L,y,M)=>{if(M.index<=0||M.index+1>=y.length-1)return;const E=p(L);if(E){if(M.vertical){const w=M.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=wO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:M.index,axis:"vertical",side:k,coord:w,min:Math.min(M.a.y,M.b.y),max:Math.max(M.a.y,M.b.y)}:void 0}if(M.horizontal){const w=M.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=wO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:M.index,axis:"horizontal",side:k,coord:w,min:Math.min(M.a.x,M.b.x),max:Math.max(M.a.x,M.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const M=l(y);for(const E of at(M)){const w=I(y,M,E);w&&L.push(w)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),i=d(L=>{const y=[],M=new Set;for(const E of L){if(M.has(E))continue;const w=[E],B=[];for(M.add(E);w.length>0;){const O=w.pop();B.push(O);for(const k of L)!M.has(k)&&h(O,k)&&(M.add(k),w.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const M of L)y.some(E=>Math.abs(E-M.coord){const y=L.map(w=>w.coord),M=x(L),E=[];if(L.length<=6){const w=new Array(M.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of M.entries())w[k]||(w[k]=!0,B.push(H),O(),B.pop(),w[k]=!1)},"visit");return O(),E}for(let w=0;w{const M=new Map;for(const[w,B]of L.entries()){const O=y[w],k=M.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),M.set(B.edge,k)}const E=new Map;for(const[w,B]of M){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(w,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,M]of L){const E=[y.start,y.end].filter(w=>!!w);for(const w of at(M))if(Pt(w.a,w.b,r,E,-2)||Pt(w.a,w.b,f,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=c();if(y===0)return;let M,E=y,w=g(),B=Number.POSITIVE_INFINITY;for(const O of i(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=c(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>w||G===w&&j>=B)||(M=H,E=P,w=G,B=j)}if(!M)return;for(const[O,k]of M)O.points=k}}d(Ss,"reassignCrossingExternalRailChannels");function Cs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),f=d((u,h,i)=>xt(u===h?i??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,i)=>{const x=i.a.x-i.b.x,C=i.a.y-i.b.y;return h+Math.hypot(x,C)},0),"pathLength"),l=d((u,h)=>{let i=0;for(let x=0;x{if(u.horizontal){const i=u.a.y;return(Math.abs(i-h.top)<1||Math.abs(i-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const i=u.a.x;return(Math.abs(i-h.left)<1||Math.abs(i-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),i=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&i.push(b)}return i},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const i=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(i,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(i,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-i.x)!==Math.sign(b.x-C.x):Math.sign(x.y-i.y)!==Math.sign(b.y-C.y)))return[];const M=gt(i,b,et)||yt(i,b,et)?[]:[{x:i.x,y:b.y},{x:b.x,y:i.y}],E=M.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:M.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),w=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return w.has(O)?!1:(w.add(O),!0)})},"shortcutCandidatesAt"),I=d((u,h,i)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>c(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(f(b)))if(de(v,L,.5)>=Xt)return!1}return l(u,h)<=i},"candidateIsSafe");for(let u=0;u<8;u++){const h=l();let i,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=f(L),M=oe(y,et),E=a(y);for(let w=0;w<=y.length-4;w++)for(const B of p(y,w)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(i=L,x=B,C=P,b=O,v=k)}}if(!i||!x)return;i.points=x}}d(Cs,"shortcutRedundantOrthogonalJogs");function vs(t,e){const f=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const F=R.x??0,_=R.y??0,V=te(R);V&&f.push({id:String(R.id??""),cx:F,cy:_,rect:V})}if(f.length===0)return;const a=new Map(f.map(R=>[R.id,R])),l=f.map(R=>({id:R.id,rect:R.rect})),c=["top","bottom","left","right"],g={top:Math.min(...f.map(R=>R.rect.top))-20,bottom:Math.max(...f.map(R=>R.rect.bottom))+20,left:Math.min(...f.map(R=>R.rect.left))-20,right:Math.max(...f.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),I=new Map(p.map((R,F)=>[R,F])),u=d(R=>{const F=R==="left"||R==="top"?-1:1,_=[];for(let V=0;V<=2;V++)_.push(g[R]+F*20*V);return _},"outwardTracksForSide"),h=d((R,F=new Map)=>xt(F.get(R)??R.points??[]),"replacementPointsFor"),i=d((R,F)=>{let _=0;for(const V of R)for(const K of F)he(V.a,V.b,K.a,K.b,et)&&_++;return _},"crossingCountBetweenSegments"),x=d((R,F)=>i(at(R),at(F)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let F=0;const _=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(F+=T,_.push({first:q,second:A,count:T}),Z(q),Z(A))}}return K.sort((Y,q)=>(I.get(Y)??0)-(I.get(q)??0)),{count:F,pairs:_,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,F)=>{const _=new Set(F.keys());if(_.size===0)return R.count;let V=0;for(const Z of R.pairs)(_.has(Z.first)||_.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const F=new Map;for(const K of R.pairs){const Z=F.get(K.first)??new Set;Z.add(K.second),F.set(K.first,Z);const Y=F.get(K.second)??new Set;Y.add(K.first),F.set(K.second,Y)}const _=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of F.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(I.get(q)??0)-(I.get(m)??0)),Y.length>1&&_.push(Y)}return _},"crossingComponents"),L=d(R=>[R.start,R.end].filter(F=>!!F),"endpointIdsFor"),y=d(R=>{const F=[];for(const _ of v(R)){const V=new Set(_),K=new Set(_.flatMap(Y=>L(Y))),Z=[..._];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(I.get(Y)??0)-(I.get(q)??0)),F.push(Z)}return F},"pairSearchGroups"),M=d((R,F,_)=>b(R,new Map([[F,_]])),"crossingCountWithSingleReplacement"),E=d(R=>{const F=new Map;for(const _ of R.pairs)F.set(_.first,(F.get(_.first)??0)+_.count),F.set(_.second,(F.get(_.second)??0)+_.count);return F},"currentCrossingsByEdge"),w=d(R=>R.slice(1).reduce((F,_,V)=>{const K=R[V];return F+Math.abs(_.x-K.x)+Math.abs(_.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((F,_)=>F+oe(h(_,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((F,_)=>F+w(h(_,R)),0),"totalLength"),k=d((R,F,_=new Map)=>{const V=at(F);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,_)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,F)=>{const _=[R.start,R.end].filter(V=>!!V);for(const V of at(F))if(Pt(V.a,V.b,l,_,-2))return!0;return!1},"pathHitsNode"),P=d((R,F)=>{const _=ue(xt(F));at(_).length===_.length-1&&R.push(_)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,F,_)=>{switch(F){case"left":return Math.min(R.x,_.x)-20;case"right":return Math.max(R.x,_.x)+20;case"top":return Math.min(R.y,_.y)-20;case"bottom":return Math.max(R.y,_.y)+20}},"localTrackForSameSide"),tt=d((R,F,_,V)=>{const K=_==="left"||_==="top"?-1:1,Z=[j(F,_,V),g[_]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,fo(F,_,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,F,_,V,K)=>{for(const Z of u(_))for(const Y of u(K))P(R,[F,{x:Z,y:F.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,F,_,V,K)=>{for(const Z of u(_))for(const Y of u(K))P(R,[F,{x:F.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,F,_,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(_))for(const q of u(K))for(const m of Z)P(R,[F,{x:Y,y:F.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),_t=d((R,F,_,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(_))for(const q of u(K))for(const m of Z)P(R,[F,{x:F.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const F=new Set;return R.map(_=>xt(_)).filter(_=>{const V=_.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return F.has(V)||_.length<2?!1:(F.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,F,_,V)=>{const K=[],Z=lo(R,F,_,V,20,et);Z&&P(K,Z),F===V&&tt(K,R,F,_);const Y=G(F),q=G(V);return Y&&!q?ft(K,R,F,_,V):!Y&&q?Mt(K,R,F,_,V):Y?Ht(K,R,F,_,V):_t(K,R,F,_,V),nt(K)},"buildCandidatesForSides"),rt=d((R,F,_,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of c){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[F,_,{x:S,y:_.y},{x:S,y:q.y},q]);for(const A of m)P(R,[F,_,{x:S,y:_.y},{x:S,y:A},{x:q.x,y:A},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,F,_,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of c){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[F,_,{x:_.x,y:S},{x:q.x,y:S},q]);for(const A of m)P(R,[F,_,{x:_.x,y:S},{x:A,y:S},{x:A,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const F=R.start,_=R.end,V=_?a.get(_):void 0;if(!F||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const F=R.start,_=R.end,V=F?a.get(F):void 0,K=_?a.get(_):void 0;if(!V||!K)return[];const Z=[];for(const Y of c){const q=Le(V,Y);for(const m of c)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),At=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,F,_)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=_.get(K)??at(h(K));F.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,F,_,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=i(q,_.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:F.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:w(Y)}}).filter(({crossings:Y})=>Y<=F.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,_),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,F,_,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===F||m.second===F||m.first===V||m.second===V)&&(Y+=m.count);let q=i(_.segments,K.segments);for(const m of p){if(m===F||m===V)continue;const S=Z.get(m)??at(h(m));q+=i(_.segments,S)+i(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,F)=>{for(const _ of R.sharedTrackConflicts)if(_!==F)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,F)=>R.segments.some(_=>F.segments.some(V=>de(_,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,F,_,V)=>se(F,_.edge)&&se(V,R.edge)&&!Ee(F,V),"pairCandidatesAreCompatible"),Te=d((R,F,_,V,K)=>{const Z=Jt(R.current,F.edge,_,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[F.edge,_.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(F.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+_.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(F.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+_.length+K.length}},"scorePairReplacement"),un=d((R,F)=>R.crossings{let K=V;for(const Z of F.candidates)for(const Y of _.candidates){if(!me(F,Z,_,Y))continue;const q=Te(R,F,Z,_,Y);q&&un(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),gn=d(R=>{const F=B(),_=O(),V=At(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,w(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:F,length:_};const A={current:R,currentBends:F,currentLength:_,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const F=C(),_=F.count;if(_===0)return;let V,K,Z=_,Y=Number.POSITIVE_INFINITY;for(const m of F.edges){const S=oe(h(m),et);for(const A of St(m)){const T=H(m,A),N=!T&&k(m,A),D=M(F,m,A),W=oe(A,et);T||N||!(D<_||D===_&&WZ||D===Z&&W>=Y||(V=m,K=A,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=gn(F);if(!q)return;for(const[m,S]of q)m.points=S}}d(vs,"resolveRenderedOrthogonalCrossings");var be=.001,Br=8;function Ls(t,e){const{nodeInfoById:n,realNodeRects:o}=ln(e),s=["top","bottom","left","right"],r=20,f={top:Math.min(...o.map(i=>i.rect.top))-r,bottom:Math.max(...o.map(i=>i.rect.bottom))+r,left:Math.min(...o.map(i=>i.rect.left))-r,right:Math.max(...o.map(i=>i.rect.right))+r},a=d((i,x,C,b)=>{const v=[],L=lo(i,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(fo(i,x,C,f[x])),v},"buildOrthogonalPathCandidates"),l=d((i,x)=>{for(let C=0;C{let b=0;const v=Be(i,be),L=x.start,y=x.end;for(const M of t){if(M===x||M.isLayoutOnly)continue;const E=M.start,w=M.end;if(!C&&L&&y&&(E===L||E===y||w===L||w===y))continue;const B=M.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(ho(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Br&&b++}}return b},"pathConflictCount"),g=4,p=d((i,x)=>{const C=Math.abs(i.y-x.rect.top),b=Math.abs(i.y-x.rect.bottom),v=Math.abs(i.x-x.rect.left),L=Math.abs(i.x-x.rect.right);let y="top",M=C;return b{const b=I.get(i)??[];b.push({side:x,edgeId:C}),I.set(i,b)},"addFaceClaim");for(const i of t){if(i.isLayoutOnly)continue;const x=i.points??[];if(x.length<1)continue;const C=i.id??"",b=i.start,v=i.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((i,x,C)=>{var b;return((b=I.get(i))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const i of t){if(i.isLayoutOnly)continue;const x=i.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=c(tt,i,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}c(tt,i)>w||ftG.edgeId!==M));const P=I.get(v);P&&I.set(v,P.filter(G=>G.edgeId!==M)),u(b,p(B[0],L),M),u(v,p(B[B.length-1],y),M)}}}d(Ls,"simplifyDetouredEdges");var Qt=.001,ko=10,Ue=7;function Vn(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const f=r.x-s.x,a=r.y-s.y;if(!(Math.abs(f)+Math.abs(a)r&&Ze(t,Es(r)))}d(jn,"labelOverlapsOwnMarker");function Ke(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const i=h.points;if(!(!i||i.length<2))for(let x=0;x{const x=wn(i,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&Ze(x,b))return!0;return!1},"labelOverlapsForeignNode"),c=d((h,i)=>{const x=wn(i,r);for(const C of n)if(C.edgeId!==h&&an(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,i,x)=>l(h,x)||c(i,x),"labelOverlapsAnything"),p=[],I=d(h=>{for(const{id:i,rect:x}of s)if(ts(x,h))return i},"findContainingLane"),u=d((h,i)=>p.some(x=>x.labelId!==h&&Ze(i,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const i=h.labelNodeId;if(!i)continue;const x=e.get(i);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",w=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,At=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==At?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=I(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+f,St=ut.rect.right-b/2-f,At=ut.rect.top+v/2+f,Kt=ut.rect.bottom-v/2-f;if(pt>St||At>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,At,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=w(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!jn(St.rect,C)&&!u(i,St.rect)&&!g(i,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=w(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const At=j(St);if(At&&!jn(At.rect,C)&&!u(i,At.rect)&&!l(i,At.rect)&&(rt||!c(h.id,At.rect)))return{laneId:At.laneId,anchor:At.anchor}}},"findLaneContainingFallback"),_t=Mt(M)??(M.lengthrt.labelId===i);J>=0?p[J]={labelId:i,rect:nt}:p.push({labelId:i,rect:nt})}}}d(Ke,"anchorLabelsToPolyline");var Cn=1e-6,kr=8,Fo=kr/2,Fr=3;function Un(t,e){return t{const g=Un(a,l);let p=0;const I=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const i=c==="x"?h.w/2:h.h/2;i>p&&(p=i)},"consider");I(f.labelNodeId);for(const u of t){if(u===f||u.isLayoutOnly)continue;const h=u.start,i=u.end;!h||!i||Un(h,i)===g&&I(u.labelNodeId)}return p>0?p+Fr:0},"labelClearanceFor");for(const f of t){if(f.isLayoutOnly)continue;const a=f.points;if(!co(a,Cn))continue;const l=uo(f,n,Cn);if(!l)continue;const{srcId:c,dstId:g,srcInfo:p,dstInfo:I,collinearX:u,collinearY:h}=l;if(u===h)continue;let i,x;if(u){const y=I.cy>p.cy;i={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:I.cx,y:y?I.rect.top:I.rect.bottom}}else{const y=I.cx>p.cx;i={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?I.rect.left:I.rect.right,y:I.cy}}if(Pt(i,x,o,[c,g],1))continue;const b=r(f,c,g,u?"x":"y"),v=b>Fo?b:Fo,L=[0,v,-v];for(const y of L){const M={...i},E={...x};if(u){if(M.x+=y,E.x+=y,M.x<=p.rect.left||M.x>=p.rect.right||E.x<=I.rect.left||E.x>=I.rect.right)continue}else if(M.y+=y,E.y+=y,M.y<=p.rect.top||M.y>=p.rect.bottom||E.y<=I.rect.top||E.y>=I.rect.bottom)continue;if(!Pt(M,E,o,[c,g],1)&&!Qe(M,E,t,f,{epsilon:Cn})){f.points=[M,E];break}}}}d(Ts,"straightenCollinearSiblingDetours");function Wn(t,e){const{realNodeRects:l,labelNodeRects:c}=Me(e.values()),g=d((y,M)=>Be(M,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=M.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const M of t){if(M.isLayoutOnly)continue;const E=M.points;!E||E.length<2||y.push(...g(M,xt(E)))}return y},"allSegments"),I=d((y,M)=>y.horizontal&&M.horizontal?Wt(y.a.x,y.b.x,M.a.x,M.b.x)>=8&&Math.abs(y.a.y-M.a.y)<7:y.vertical&&M.vertical?Wt(y.a.y,y.b.y,M.a.y,M.b.y)>=8&&Math.abs(y.a.x-M.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,M)=>{const E=y.start,w=y.end,B=g(y,M);if(B.length!==M.length-1)return!1;const O=[E,w].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,l,O,-2)||Pt(H.a,H.b,c,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(I(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,M)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const w=E.map(B=>({...B}));if(y.horizontal)w[y.index].y+=M,w[y.index+1].y+=M;else if(y.vertical)w[y.index].x+=M,w[y.index+1].x+=M;else return;return g(y.edge,w).length===w.length-1?w:void 0},"shiftedCandidate"),i=d((y,M)=>({x:y.x??(M.left+M.right)/2,y:y.y??(M.top+M.bottom)/2}),"nodeCenter"),x=d(y=>{const M=y.edge,E=xt(M.points??[]);if(E.length!==4||y.index!==1)return;const w=M.start?e.get(M.start):void 0,B=M.end?e.get(M.end):void 0,O=w?te(w):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!w||!B||!O||!k||H.length===0))return{sourceCenter:i(w,O),targetCenter:i(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,M,E,w,B,O)=>{const k=w.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+M;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,M,E,w,B,O)=>{const k=w.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+M;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,M)=>{const E=x(y);if(E){if(y.vertical)return C(y,M,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,M,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-14,14,-21,21];for(let y=0;y<12;y++){const M=p();let E=!1;for(let w=0;wP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(Wn,"nudgeSharedInteriorSubpaths");function As(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,f=o.x-n.x,a=o.y-n.y,l=s*a-r*f;if(Math.abs(l)<1e-10)return!1;const c=n.x-t.x,g=n.y-t.y,p=(c*a-g*f)/l,I=(c*r-g*s)/l,u=.01;return p>u&&p<1-u&&I>u&&I<1-u}d(As,"segmentsIntersect");function ws(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=es(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const l=a.points;if(!l||l.length<2)continue;const c=a.start,g=a.end,p=a.labelNodeId,I=a.id??`${c}->${g}`;for(const u of s)if(!(u.nodeId===c||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(c=>c.type==="edge-node-overlap").length,l=o.filter(c=>c.type==="edge-edge-crossing").length;Ln.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${l} edge crossing(s)`);for(const c of o)Ln.warn(`[SWIMLANE_VALIDATE] ${c.type}: ${c.detail}`)}return o}d(ws,"validateSwimlanesLayout");function Rs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!ys(t,e)||e==="BT"&&s.length>0&&!ms(t))return;for(const a of o){if(a.isLayoutOnly)continue;const l=a.points;!l||l.length<2||(a.points=ue(tn(l)))}Ls(o,n),Ts(o,n),ps(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Ke(o,r),is(o,r),xs(o,r),Wn(o,r),bs(o,r),Ms(o,r),Gn(o,r),Is(o,r);const f=d(()=>{vs(o,r),Ss(o,r),Cs(o,r),Ke(o,r),Xn(o,r),Gn(o,r),Ke(o,r),Xn(o,r)},"finalizeRenderedEdges");f(),Wn(o,r),f(),$n(o,r),zn(o,r),$n(o,r),zn(o,r)}d(Rs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const f=`${r.id}:${r.src}->${r.dst}`;n.has(f)||(n.add(f),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function xo(t,e){return t.edges.filter(n=>n.dst===e)}d(xo,"incoming");function Ns(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(Ns,"buildSuccessorMap");function bo(t){const e=Ns(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(bo,"buildSortedSuccessorMap");function Mo(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(Mo,"buildInDegreeMap");function Io(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Io,"sortedZeroInDegreeNodes");function fn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(fn,"buildPredecessorSuccessorMaps");function So(t,e,n,o){var f,a;let s=0;for(const l of t.nodes)o!=null&&o.skipGroups&&((f=t.nodeById.get(l))!=null&&f.isGroup)||(s=Math.max(s,n[l]??0));const r=Array.from({length:s+1},()=>[]);for(const l of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(l))!=null&&a.isGroup)||r[Math.max(0,n[l]??0)].push(l);return r}d(So,"buildLayersFromRanks");function _e(t){const e=Mo(t),n=Io(e),o=[],s=bo(t);for(;n.length;){const r=n.shift();o.push(r);for(const f of s.get(r)??[])if(e.set(f,(e.get(f)??0)-1),(e.get(f)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let f=n(o,r)+n(r,s),a=o,l=r,c=o;for(;a=s||ap.dst===I.dst?p.id.localeCompare(I.id):p.dst.localeCompare(I.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const I=p.dst;o[I]===0?r(I):o[I]===1&&s.push(p)}o[g]=2},"dfs"),f=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of f)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),l=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:l,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(Os,"removeCycles_DFS");function Ps(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Ps,"buildTopLaneMap");function ge(t){const e=Ps(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function dn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(dn,"buildTopLaneOrder");function vo(t,e){const n=dn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const f of e)!o.has(f)||s.has(f)||(s.add(f),r.push(f));for(const f of n)s.has(f)||r.push(f);return r}d(vo,"resolveTopLaneOrder");var _r={EPSILON:1e-6},rn={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},_o={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Bs(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=fn(n);for(const y of r.values())y.sort((M,E)=>M.localeCompare(E));const f=_e(n)??[...n.nodes].sort((y,M)=>y.localeCompare(M)),a=new Map;for(const[y,M]of f.entries())a.set(M,y);const l=new Map,c=new Map;for(const y of n.nodes)c.set(y,[]);for(const y of f){const M=(r.get(y)??[]).filter(E=>l.has(E));if(M.length>0){const E=ks(y,M,{laneOf:o,rankHint:s,topoIndex:a});l.set(y,E),c.get(E).push(y)}else l.has(y)||l.set(y,null)}for(const y of n.nodes)l.has(y)||l.set(y,null);const g=new Set;for(const y of n.nodes)(l.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,M)=>{const E=a.get(y)??0,w=a.get(M)??0;return E===w?y.localeCompare(M):E-w}),I=Fs(n),u=new Map;for(const[y,M]of I.entries())u.set(y,[...M].sort((E,w)=>E.localeCompare(w)));const h=_s(u),i=Ds(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of i)for(const M of y.nodes){const E=x.get(M);E?E.push(y.id):x.set(M,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const M of c.get(y)??[])L(M);b.push(y)}},"walk");for(const y of p)L(y);for(const y of f)L(y);return{parent:l,children:c,roots:p,componentOf:h,blocks:i,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:f}}d(Bs,"buildDrivingTree");function ks(t,e,n){const o=n.laneOf(t);return[...e].sort((r,f)=>{var i,x;const a=n.laneOf(r),l=n.laneOf(f),c=a!=null&&a===o,g=l!=null&&l===o;if(c!==g)return c?-1:1;const p=(i=n.rankHint)==null?void 0:i[r],I=(x=n.rankHint)==null?void 0:x[f];if(p!=null&&I!=null&&p!==I)return I-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(f)??0;return u!==h?u-h:r.localeCompare(f)})[0]}d(ks,"chooseParent");function Fs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Fs,"buildAdjacency");function _s(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const f of t.get(r)??[])e.has(f)||s.push(f)}}n++}return e}d(_s,"assignComponents");function Ds(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const f=d((a,l)=>{e.set(a,++r),n.set(a,r);for(const c of t.get(a)??[])c!==l&&(e.has(c)?(e.get(c)??0)<(e.get(a)??0)&&(o.push([a,c]),n.set(a,Math.min(n.get(a)??r,e.get(c)??r))):(o.push([a,c]),f(c,a),n.set(a,Math.min(n.get(a)??r,n.get(c)??r)),(n.get(c)??0)>=(e.get(a)??0)&&s.push(Hs(a,c,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||f(a,null);return s}d(Ds,"computeBlocks");function Hs(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const f=n.pop();if(s.push(f),r.add(f[0]),r.add(f[1]),f[0]===t&&f[1]===e||f[0]===e&&f[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d(Hs,"popBlock");function Xs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,f=new Array(r).fill(-1),a=new Array(r).fill(0),l=[],c=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(f[L]=-1,a[L]=0,c.has(b)||(c.add(b),l.push(b)))}for(;l.length>0;){const b=l.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(c.has(y))continue;const M=s.get(y);M!=null&&(f[M]=v,a[M]=a[v]+1,c.add(y),l.push(y))}}for(const b of o){if(c.has(b))continue;const v=s.get(b);v!=null&&(f[v]=-1,a[v]=0,c.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const M=p[y][b],E=p[y][v];M===-1||E===-1||M!==E&&(b=M,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],M=e[L];if(y==null||M==null||(y>M&&([v,L]=[L,v],[y,M]=[M,y]),y==null||M==null||y===M))continue;const E=s.get(v),w=s.get(L);if(E==null||w==null)continue;const B=I(E,w);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,M=n.children.get(b)??[];for(const E of M){const w=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=w.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}i(y,w)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(Xs,"computeSubtreeCrossCounts");function Ys(t,e,n){const o=new Map,s=d(r=>{let f=n[r]??0;const a=[...e.get(r)??[]];a.sort(Lo(n));for(const l of a){s(l);const c=o.get(l);c!=null&&(f=Math.min(f,c))}o.set(r,f)},"annotate");for(const r of t)s(r);return o}d(Ys,"annotateMinimumLayers");function Lo(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(Lo,"compareByRankThenId");function Gs(t,e,n,o){let s=0;for(const l of e){const c=n[l]??0;c>s&&(s=c)}const r=Array.from({length:s+1},()=>[]),f=new Set,a=d(l=>{if(f.has(l))return;f.add(l);const c=n[l]??0;r[c]||(r[c]=[]),r[c].push(l);for(const g of o(l))a(g)},"emit");for(const l of t)a(l);for(const l of e)if(!f.has(l)){const c=n[l]??0;r[c]||(r[c]=[]),r[c].push(l),f.add(l)}return r}d(Gs,"emitNodesInTreeOrder");function $s(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d($s,"deduplicateLayers");function zs(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const f=e[s]??0,a=[],l=[],c=n.get(s);for(const g of r){const p=o.get(g)??f;p>f?a.push({child:g,min:p}):l.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),l.sort((g,p)=>{const I=(c==null?void 0:c.get(g))??0,u=(c==null?void 0:c.get(p))??0;if(I!==u)return I-u;const h=o.get(g)??f,i=o.get(p)??f;return h!==i?h-i:g.localeCompare(p)}),[...a.map(g=>g.child),...l]}}d(zs,"createChildOrderer");function cn(t,e,n){const o=Bs(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const f=Xs(t,e,o),a=[...r].sort(Lo(e)),l=Ys(a,s,e),c=zs(s,e,f,l);let g=Gs(a,t.nodes,e,c);return g=$s(g),g}d(cn,"buildMultitreeLayerOrder");function Vs(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),f=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&f.push(r.get(a.dst));return Co(f)}d(Vs,"countCrossingsBetweenAdjacent");function Kn(t,e,n){const o=[];for(const r of e){const f=n[r.src],a=n[r.dst];if(f==null||a==null||f===a)continue;let l=r.src,c=r.dst,g=f,p=a;f>a&&(l=r.dst,c=r.src,g=a,p=f);for(let I=g;I(n[I]??0)-(n[p]??0));for(const p of g){const I=n[p]??0;if(I===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=I)continue;const h=I;n[p]=u;const i=cn(t,n,s),x=Kn(i,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const f=t.edges.filter(i=>i.src===s);if(f.length===0)continue;let a=!1,l=0;for(const i of f){const x=n(i.dst);x==null||x===r?a=!0:l++}if(l===0||a)continue;let c=0,g=!1;for(const i of t.edges){if(i.dst!==s)continue;const x=n(i.src);x&&(x===r?g=!0:c++)}if(c>0||!g)continue;const p=e[s]??0,I=p+l;let u=0;for(const i of t.edges)i.dst===s&&(u=Math.max(u,(e[i.src]??0)+1));const h=Math.max(p,u,I);h!==p&&(e[s]=h)}}d(Us,"adjustCrossLaneSources");function Ws(t,e){const n=Ie(t),o=_e(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let f=Object.create(null);for(const l of o){const c=xo(n,l),g=e!=null&&e.ignoreCrossLaneEdges?c.filter(p=>{const I=r(p.src),u=r(l);return!I||!u?!0:I===u}):c;if(g.length===0)f[l]=0;else if(s&&g.length===1){const p=g[0].src,I=r(p),u=r(l);I!==u?f[l]=f[p]??0:f[l]=(f[p]??0)+1}else{let p=-1/0;for(const I of g)p=Math.max(p,(f[I.src]??0)+1);f[l]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(f=js(n,f)),e!=null&&e.ignoreCrossLaneEdges&&Us(n,f),{layers:cn(n,f,r),rankOf:f,dummy:new Set}}d(Ws,"assignLayers_LongestPath");function Ks(t,e){const n=Ie(t),s={...Ws(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:f,succs:a}=fn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const i=r(h.src),x=r(h.dst);if(i&&x&&i!==x)return!1}return!0}),l=_e(n)??[...n.nodes],c=[...l].reverse(),g=d((h,i)=>{let x=0;for(const v of f.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,i)),Math.min(Math.max(i,x),C)},"clampFeasible"),p=rn.GRAVITY_ITERATIONS,I=d(h=>{let i=!1;for(const x of h){const C=f.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,w)=>E+(s[w]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,w)=>E+(s[w]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),M=g(x,y);M!==s[x]&&(s[x]=M,i=!0)}return i},"relaxOrder");for(let h=0;h0){const x=Math.min(...i.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:So(n,l,s),rankOf:s,dummy:new Set}}d(Ks,"assignLayers_Gravity");function qs(t){const e=Mo(t),n=bo(t);let o=Io(e);const s=[];for(;o.length>0;){const r=[];for(const f of o){s.push(f);for(const a of n.get(f)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((f,a)=>f.localeCompare(a))}return s.length===t.nodes.length?s:null}d(qs,"topoSortByGenerationIfAcyclic");function Js(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?qs(n)??[...n.nodes].sort():_e(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),f=Object.create(null),a=new Map,l=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const I=xo(n,g);let u=0;if(I.length>0)for(const C of I){const b=C.src,v=f[b]??0;u=Math.max(u,v+l(b,g))}const h=r(g),i=a.get(h)??0,x=Math.max(u,i);f[g]=x,a.set(h,x+1)}return{layers:So(n,o,f,{skipGroups:!0}),rankOf:f,dummy:new Set}}d(Js,"assignLayers_LaneAwareCompact");function Zs(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let f=0;const a=new Map(n.nodeById),l=d(u=>{const h=`placeholder-${f++}`,i={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,i),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),c=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of c){const h=o[u.src]??0,i=o[u.dst]??0;if(i-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:I}}d(Zs,"makeProperLayering");function qn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(qn,"median");function Jn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Jn,"barycenter");function Qs(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(Qs,"neighborPositionsFor");function tr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(tr,"currentOrderTieBreak");function Zn(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),f=ke(e),a=[];for(const c of n)o.has(c.src)&&s.has(c.dst)&&a.push({u:r.get(c.src),v:f.get(c.dst)});a.sort((c,g)=>c.u===g.u?c.v-g.v:c.u-g.u);const l=a.map(c=>c.v);return Co(l)}d(Zn,"countCrossingsBetweenAdjacent");function qe(t,e,n){return[...t].sort((o,s)=>{const r=qn(e.get(o)??[]),f=qn(e.get(s)??[]);return r===f?tr(o,s,n):isFinite(r)?isFinite(f)?r-f:-1:1})}d(qe,"sortByHeuristic");function Qn(t,e,n,o,s,r){const f=ke(t),a=ke(e),l=Qs(e,f,n,o);if(!s||!r||r.length===0)return qe(e,l,a);const c=new Map;for(const I of e){const u=s(I),h=c.get(u)??[];h.push(I),c.set(u,h)}const g=[];for(const I of r){const u=c.get(I);if(!u||u.length===0)continue;const h=qe(u,l,a);g.push(...h)}const p=c.get(null);if(p&&p.length>0){const I=qe(p,l,a);for(const u of I){const h=Jn(l.get(u)??[]);let i=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Jn(l.get(C)??[]);if(hf.has(i.src)&&a.has(i.dst)),g=l?n.filter(i=>a.has(i.src)&&l.has(i.dst)):void 0,p=d(i=>{let x=Zn(t,i,c);return g&&o&&(x+=Zn(i,o,g)),x},"crossingScore"),I=s?new Map:null;if(s&&I)for(const i of e)I.set(i,s(i));let u=!0,h=p(r);for(;u;){u=!1;for(let i=0;i+1[...a]),s=e.edges,r=ge(e),f=vo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let l=1;l=0;l--)o[l]=Qn(o[l+1],o[l],s,"up",r,f),o[l]=to(o[l+1],o[l],s,o[l-1],r)}return{layers:o}}d(er,"orderLayers");function nr(t,e,n){const o=(n==null?void 0:n.layerGap)??_o.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??_o.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,f=(n==null?void 0:n.direction)??"TB",a=f==="LR"||f==="RL",l=t.layers,c=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),I=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),i=vo(e,n==null?void 0:n.laneOrder),x=l.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,I(Ht)),0),H=l[O+1].reduce((Mt,Ht)=>Math.max(Mt,I(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of l)for(const k of O)b.add(h(k));const v=b.has(null),L=i.filter(O=>b.has(O)),y=[...v?[null]:[],...L],M=Object.create(null);for(const O of L)M[O]=0;v&&(M.null=0);for(const O of l){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+I(ft),0)+s*Math.max(0,G.length-1);M[P]=Math.max(M[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+I(j),0)+s*Math.max(0,H.length-1);M.null=Math.max(M.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?M.null:M[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PI(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let _t=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];c[J]=_t+rt/2,g[J]=w+H/2,_t+=rt+s}}}const G=C[O]??0;w+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((c[H]??0)+(c[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(c[tt]=G)}}return{x:c,y:g}}d(nr,"assignCoordinates");var or=8;function sr(t){let e=2166136261;for(let n=0;n>>0}d(sr,"hashString");function rr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(rr,"mulberry32");function ir(t,e){const n=[...t],o=rr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(ir,"deterministicShuffle");function cr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(cr,"sourceDistance");function eo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:f}of e){const a=n.get(s),l=n.get(r);a==null||l==null||(o+=f*Math.abs(a-l))}return o}d(eo,"laneArrangementCost");function ar(t){const e=dn(t);if(e.length<2)return[];const n=new Map(e.map((r,f)=>[r,f])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const f=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!f||!a||!t.nodeById.has(f)||!t.nodeById.has(a))continue;const l=o(f),c=o(a);if(!l||!c||l===c)continue;const g=n.get(l),p=n.get(c);if(g==null||p==null)continue;const[I,u]=g<=p?[l,c]:[c,l],h=`${I}\0${u}`,i=s.get(h);i?i.weight++:s.set(h,{a:I,b:u,weight:1})}return[...s.values()]}d(ar,"buildWeightedLaneEdges");function no(t,e,n){const o=[...t];let s=eo(o,e),r=!0,f=0;const a=Math.max(1,o.length);for(;r&&fs.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:f})=>`${s}:${r}:${f}`).join("|");return sr(`${t.join("|")}#${o}#${n}`)}d(fr,"seedForRestart");function dr(t,e={}){const n=dn(t);if(n.length<2)return n;const o=ar(t);if(o.length===0)return n;const s=new Map(n.map((a,l)=>[a,l]));let r=no(n,o,s);const f=Math.max(0,e.restarts??or);for(let a=0;alt&&l*3>=a?f>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(oo,"chooseOrthogonalSide");function so(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of c){const S={id:m.id},A=d(T=>{f.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(A)},"assignLane");A(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,A=m.height??10,T=m.x??0,N=m.y??0,D=Dr;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-A/2-D,maxY:N+A/2+D,visualXHalfExtent:l?A/2+D:S/2+D}}),p=d((m,S,A,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:A,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,A),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),I=d((m,S)=>{const A=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-A/2,y:D};case"right":return{x:N+A/2,y:D}}},"portForSide"),u=d((m,S,A)=>I(m,oo(m,S,A?"bottom":"top")),"getOrthogonalPort"),h=[],i=[],x=new Set,C=1e3,b=d((m,S,A)=>{if(h.length===0)return 0;const T=Math.abs(S.y-A.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,A.y)-lt,U=Math.max(S.y,A.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const A=r.get(m.start),T=r.get(m.end),N=f.get(m.start),D=f.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=A&&T?Math.abs((T.x??0)-(A.x??0)):0,U=A&&T?Math.abs((T.y??0)-(A.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const A=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(A-T)>1?A-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,A,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>A&&z.nodeId===A||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYoo(m,S,"bottom"),"determineSide"),w=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const A=r.get(S.start),T=r.get(S.end);if(!A||!T)continue;const N=(T.x??0)-(A.x??0),D=(T.y??0)-(A.y??0);w.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(A,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:A.x??0,y:A.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of w.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of w.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,A)=>{const T=B(S),N=B(A);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-A.edgeIdx});for(let S=1;S=N||(H.set(P(A.srcId,A.srcSide),N-1),H.set(P(A.srcId,T),D+1),A.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of w.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of w.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const A=O(m);if(S.has(A)||(H.get(P(m.srcId,A))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,A),1),m.srcSide=A}for(const m of w.values()){const{edgeIdx:S,srcId:A,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(A),ot=r.get(T),U=`${A}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((wt,Gt)=>wt.oppositeCoord-Gt.oppositeCoord);const A=m.split(":"),T=A.slice(0,-2).join(":"),N=A[A.length-2],D=A[A.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[wt,Gt]of S.entries()){const ee=Bt+wt*st,mn=`${Gt.edgeIdx}:${D}`;tt.set(mn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:A})=>Mt(A))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:A})=>Mt(A)):!1,"faceHasLabelNode"),_t=d((m,S,A)=>S==="top"||S==="bottom"?{x:m.x+A,y:m.y}:{x:m.x,y:m.y+A},"applyPortOffset"),nt=d((m,S,A)=>{const T=w.get(m),N={x:A.x??0,y:A.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(A,D);let U=T?I(S,T.srcSide):u(S,N,!0),z=T?I(A,T.dstSide):u(A,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=_t(U,W,bt)),dt!==void 0&&(z=_t(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(i[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const A=r.get(S.start),T=r.get(S.end);if(!A||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,A,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(A.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(A.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],wt=ct(U,Bt);if(wt.inside&&wt.obstacle){const X=wt.obstacle;if(bt){const $=st(N,A,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,A,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,A,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,A,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=M.get(S.start??"")??0,mt=M.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const mn=p("vertical",U.x,U.y,U.y);U.x=mn.coord;const pr=p("vertical",z.x,z.y,z.y);z.x=pr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,Ae=Math.min(U.y,z.y)-50,we=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-We),pe=Math.max(pe,X.maxX+We),Ae=Math.min(Ae,X.minY-We),we=Math.max(we,X.maxY+We))}for(const X of g){if(X.maxXpe||X.maxYwe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,Ae,we),p("vertical",X.maxX+Q,Ae,we)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const xr=a.filter(X=>X.orientation==="horizontal"&&X.coord>=Ae&&X.coord<=we),br=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),De=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),He=De(U.x,U.y),Eo=De(z.x,z.y),Xe=new Map,yn=new Map,pn=new Map,Ye=new Set,Se=[];Xe.set(He,0),pn.set(He,"n"),Se.push({key:He,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ye.add(He);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),xn={x:z.x,y:U.y},Mr=xe(U,xn),Ir=xe(xn,z),Sr=Mr||Ir,bn={x:U.x,y:z.y},Cr=xe(U,bn),vr=xe(bn,z);if(Sr?Cr||vr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ye.delete(X.key),X.key===Eo){let mt=Eo,Vt=z;for($t=[Vt];yn.has(mt);){const re=yn.get(mt);$t.unshift(re),Vt=re,mt=De(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=br.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=xr.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Mn<-5||Re<-10&&Mn>5)&&(Et=Math.abs(Mn)*100),(Zt>10&&Ge<-5||Zt<-10&&Ge>5)&&(Et+=Math.abs(Ge)*50);let To=0;const Ao=pn.get(X.key)??"n",wo=Math.abs(Ge)>lt?"h":"v";Ao!=="n"&&Ao!==wo&&(To=50);const Lr=Ut+Lt+Et+To,$e=(Xe.get(X.key)??1/0)+Lr,Ro=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if($e<(Xe.get(vt)??1/0))if(yn.set(vt,X.pt),Xe.set(vt,$e),pn.set(vt,wo),!Ye.has(vt))Se.push({key:vt,f:$e+Ro,pt:mt}),Ye.add(vt);else{const ne=Se.findIndex(Er=>Er.key===vt);ne!==-1&&(Se[ne].f=$e+Ro)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minYFt);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(Ft=>Ft.minXMath.min(X.y,$.y));if(jt.length>0){let Ft=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;Ft=Math.min(Ft,Lt)}Q=Ft}}}const mt=d(Dt=>{const jt=$.y>X.y,Ft=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=Ft;if(l&&Ft.length>0){const Lt=Ft.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),Ft={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,Ft),Et=xe(Ft,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!A.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=A.index,A.segments=[...A.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const A=m.pipe.tracks[m.trackIndex];A.segments=A.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const A=i[m.edgeIndex];for(const T of A){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),At=d(m=>{const S=i[m.edgeIndex],A=S.indexOf(h.indexOf(m)),T=[];return A>0&&T.push(h[S[A-1]]),A{if(m.orientation===S.orientation)return!1;const A=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>A.from&&T.pipe.coordT.from&&A.pipe.coord{for(const A of m.tracks)if(!A.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return A.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const A=At(m),T=At(S);return A.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,A)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);A(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let A=0;A{if(me.has(m))return me.get(m);const S=i[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),un=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())i[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const A=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=A(D),bt=A(W);if(Math.abs(z-bt)>1)return bt-z;const dt=i[D].length,ct=i[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=i[D][0],It=i[W][0];if(h[st]&&h[It]){const Bt=h[st],wt=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(wt.to-wt.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[i[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),hn=d(()=>{let m=0;const S=new Map;for(const[A,T]of s.entries())i[A].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(A));for(const A of S.values()){A.sort((N,D)=>{const W=d(z=>{const bt=i[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=A.map(N=>h[i[N][i[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),gn=d(()=>{let m=0;for(const S of a){const A=[];for(const T of S.tracks)for(const N of T.segments){const D=i[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&A.push(h[D])}A.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const A=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const wt=x.has(Bt.edgeIndex)?m.coord:It;_.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,wt)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*vn);if(U.length===0&&N.size>0){const st=[...N].sort((wt,Gt)=>Math.abs(D.get(wt)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*vn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*vn)}}for(const[m,S]of s.entries()){const A=i[m]??[];if(A.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=A.map(dt=>{const ct=h[dt],st=_.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&wt.orient===ct.orient)if(Math.abs(ct.coord-wt.coord)>lt){const ee=ct.orient==="vertical"?(It+wt.from)/2:so(ct,wt);T.push(ve(ct,ee),ve(wt,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,so(ct,wt)));else if(Gt)T.push(ve(ct,wt.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const A=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=A-N/2,ot=A+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const A=m.start,T=m.end,N=A?r.get(A):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(hr,"routeEdgesOrthogonal");function gr(t){return t.direction??"TB"}d(gr,"getSwimlaneDirection");function mr(t){var g,p,I,u,h;const e=Jo(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((I=t.config.swimlane)==null?void 0:I.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,f=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=gr(t),{ordered:l,coordinates:c}=ur(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:f,direction:a});Zo(e,l,c,{nodeGap:n,layerGap:o});for(const i of t.edges??[])delete i.points;hr(t,a);for(const i of t.edges??[])(!i.curve||i.curve==="basis")&&(i.curve="rounded");return Rs(t,a),ws(t),a}d(mr,"runSwimlaneLayoutCore");function yr(t){qo(t);const e=Qo(t);t.nodes=e.nodes,t.edges=e.edges}d(yr,"prepareSwimlaneLayout");var $r=Tr({prepareLayout:yr,runLayoutCore:mr,afterPaint:Wo});export{$r as render}; +import{ap as Tr,l as Ln,_ as d,aA as No}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var Oo=5,ze=1e-5,Ve=1e-6;function Je(t){const e=[];for(let n=0;n=1-Ve||I<=Ve||I>=1-Ve?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:I}}d(Do,"segmentIntersection");function En(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(En,"isHorizontalSeg");function Ho(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d(Xo,"getArcSweepFlag");var Ar=.001;function Yo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&No[e.arrowTypeStart];if(o){const r=t[0],f=t[1],a=Math.atan2(f.y-r.y,f.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&No[e.arrowTypeEnd];if(s){const r=t.length,f=t[r-2],a=t[r-1],l=Math.atan2(a.y-f.y,a.x-f.x);n[r-1].x=a.x-s*Math.cos(l),n[r-1].y=a.y-s*Math.sin(l)}return n}d(Yo,"applyMarkerOffsets");function Go(t,e,n,o,s){const r=t.point.x,f=t.point.y,a={x:r-e*t.r,y:f-n*t.r},l={x:r+e*t.r,y:f+n*t.r},c=[`L${Oe(a)}`];return s==="arc"?c.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(l)}`):c.push(`M${Oe(l)}`),c}d(Go,"emitJump");function Tn(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,f=n.x-e.x,a=n.y-e.y,l=Math.hypot(s,r),c=Math.hypot(f,a);if(l0){const v=Tn(s[c-1],s[c],s[c+1]??s[c],Oo);v&&(i=v.cutLen)}let x=p,C=null;r&&cv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-i,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(jo,"decodeDataPoints");function Uo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const c of e)s.set(c.id,c);const r=[],f=new Map;for(const c of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(c.id):c.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;f.set(c.id,p);const u=jo(p.getAttribute("data-points"))??c.points;r.push({...c,points:u})}const a=Ho(r);if(a.length===0)return;const l=new Map;for(const c of a){const g=l.get(c.jumpEdgeId)??[];g.push(c),l.set(c.jumpEdgeId,g)}for(const c of r){const g=l.get(c.id);if(!g||g.length===0)continue;const p=s.get(c.id),I=p==null?void 0:p.curve;if(I!==void 0&&!Vo(I))continue;const u=f.get(c.id);if(!u)continue;if(I===void 0){const v=u.getAttribute("d")??"";if(!zo(v))continue}const h=u.getAttribute("style")??"",i=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=i?Number.parseFloat(i[1]):null,C=i?Number.parseFloat(i[2]):null,b=$o(c,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,M=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",M)}}}d(Uo,"applyLineJumpsToSvg");function Wo(t,{measure:e}){var r,f;const n=(f=(r=t.config)==null?void 0:r.swimlane)==null?void 0:f.lineHops;if(n===!1)return;const o=n==="gap"?"gap":"arc",s=t.edges.filter(a=>Array.isArray(a.points)&&a.points.length>=2).map(a=>({id:a.id,points:a.points,curve:a.curve,arrowTypeStart:a.arrowTypeStart,arrowTypeEnd:a.arrowTypeEnd}));Uo(e.groups.edgePaths,s,{enabled:!0,jumpRadius:6,jumpStyle:o})}d(Wo,"applySwimlaneLineJumps");var In="__swimlane_default__",wr=21,Po=20;function An(t){return Math.max(t.padding??Po,Po)}d(An,"topLaneHorizontalPadding");function Ko(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const f=n-s/2,a=Math.min(r,n+s/2),l=Math.min(wr,Math.max(0,a-f)),c=f+l;if(c<=f){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:f,bottom:c}}d(Ko,"assignTopLaneTitleRect");function qo(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===In);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:In,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=In}d(qo,"prepareLayoutForSwimlanes");function Jo(t){const e=new Map;for(const l of t.nodes??[])e.set(l.id,l);const n=[];for(const l of t.edges??[]){const c=typeof l.start=="string"?l.start:void 0,g=typeof l.end=="string"?l.end:void 0;!c||!g||l.labelNodeId||n.push({id:l.id,src:c,dst:g,ref:l})}const o=t.nodes??[],s=o.filter(l=>l.isGroup),r=o.filter(l=>!l.isGroup);return{nodes:[...[...s].reverse(),...r].map(l=>l.id),edges:n,layout:t,nodeById:e}}d(Jo,"toGraphView");function Zo(t,e,n,o){const{layout:s}=t,r=t.nodeById,f=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let l=0;for(const I of e.layers){let u=0;for(const h of I){const i=r.get(h);if(!i){u++;continue}i.layer=l,i.order=u;const x=n.x[h]??u*a,C=n.y[h]??l*f;i.x=x,i.y=C,u++}l++}const c=s.nodes??[],g=new Map,p=[];for(const I of c){if(!(I!=null&&I.isGroup))continue;I.parentId||p.push(I);const u=c.filter(b=>b.parentId===I.id);let h=1/0,i=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,M=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),i=Math.max(i,v+y/2),x=Math.min(x,L-M/2),C=Math.max(C,L+M/2))}if(h===1/0||x===1/0)I.x=I.x??0,I.y=I.y??0,I.width=I.width??0,I.height=I.height??0;else{const b=I.padding??20,v=I.parentId?b:2*An(I),L=b,y=Math.max(0,i-h)+v,M=Math.max(0,C-x)+L,E=(h+i)/2,w=(x+C)/2;I.x=E,I.y=w,I.width=y,I.height=M,g.set(I.id,{minX:h,maxX:i,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let I=1/0,u=-1/0,h=0;for(const i of p){const x=i.padding??20;x>h&&(h=x);const C=g.get(i.id);C&&(I=Math.min(I,C.minY),u=Math.max(u,C.maxY))}if(I!==1/0&&u!==-1/0){const i=Math.max(0,u-I),C=Math.max(h,36),b=i+2*C,v=(I+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=I;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],M=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*An(B),H=(O.minX+O.maxX)/2;y.push(B.id),M.push(H),E.push(k)}const w=y.length;if(w>0){const B=new Map;if(w===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(ro,"measuredNodeRect");function io(t){if(t.isGroup)return;const e=ro(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(io,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function co(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(co,"classifyThreeSegmentRoute");function an(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),f=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&fe.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ts,"rectContainsRect");function Ze(t,e){return t.lefte.left&&t.tope.top}d(Ze,"rectsOverlap");function wn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(wn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=ro(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function lo(t,e,n,o,s,r=Yt){const f=e==="left"||e==="right",a=o==="left"||o==="right";if(f&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!f&&!a){if(e===o){if(gt(t,n,r))return;const I=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:I},{x:n.x,y:I},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(f&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const l=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return l&&c?[t,{x:t.x,y:n.y},n]:void 0}d(lo,"buildOrthogonalPortPath");function fo(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(fo,"buildSameSideTrackPath");function ln(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=io(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(ln,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=io(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function es(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,f=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,f,a)})}return n}d(es,"collectLayoutNodeRects");function uo(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),f=e.get(s);if(!(!r||!f))return{srcId:o,dstId:s,srcInfo:r,dstInfo:f,collinearX:Math.abs(r.cx-f.cx)h||IC)return!1;const b=Math.abs(i-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(ns,"sameAxisSegmentsOverlap");function Qe(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const f of n){if(f===o||f.isLayoutOnly)continue;const a=f.points;if(!(!a||a.length<2))for(let l=0;lI+s&&hi+s&&po+Yt&&t=2?e[e.length-2]:void 0,l=(f?gt(f,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(l)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(tn,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=ss(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Nr=.5,Bo=4;function go(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const f=rs(t[s],t[r],e);return n?[f,...t.slice(s)]:[...t.slice(0,s+1),f]}d(Nn,"clipEndpoint");function is(t,e){for(const n of t){const o=go(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Nn(s,o.srcRect,!0)),o.dstRect&&(s=Nn(s,o.dstRect,!1)),s=ue(tn(s)),s=mo(s,o.srcRect,o.dstRect),o.edge.points=ue(tn(s))}}d(is,"clipEdgeEndpointsToNodeBoundaries");function On(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(On,"snapEndpointToBoundary");function en(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(cs,"intersectRanges");function Bn(t,e){return e==="left"||e==="right"?nn(t.top,t.bottom):nn(t.left,t.right)}d(Bn,"clearanceRangeForSide");function on(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?cs(r):void 0}d(as,"straightClearanceRange");function kn(t,e,n,o,s){const r=as(t,e,n,o,s);if(!r)return;const f=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,f));if(!(Math.abs(a-f)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Dn,"leavesOutward");function Hn(t,e,n){if(t.length<3)return t;if(n){const r=_n(t[0],t[1],e);return r&&Dn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=_n(t[o-1],t[o],e);return s&&Dn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Hn,"collapseOwnBorderStub");function ds(t,e,n){let o=t;if(e){const r=en(o,0,1);if(r){const f=On(r,o[0],e);f!==o[0]&&(o=[f,...o.slice(1)])}o=Hn(o,e,!0)}if(n){const r=o.length-1,f=en(o,r,-1);if(f){const a=On(f,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Hn(o,n,!1)}const s=mo(o,e,n);return s!==o||o.length===2?s:(e&&(o=Fn(o,e,!0)),n&&(o=Fn(o,n,!1)),o)}d(ds,"snapAndCollapseEndpoints");function Xn(t,e){for(const n of t){const o=go(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ds(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const f=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=f}}d(Xn,"prepareEdgeEndpointsForRenderer");function yo(t){return new Map(t.map(e=>[e.id,e]))}d(yo,"buildNodeMap");function us(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(us,"resolveTopLevelGroupId");function Yn(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d(Yn,"groupDepth");function po(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const f=r.x,a=r.y;if(typeof f!="number"||typeof a!="number")continue;const l=r.width??0,c=r.height??0;e=Math.min(e,f-l/2),n=Math.max(n,f+l/2),o=Math.min(o,a-c/2),s=Math.max(s,a+c/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(po,"boundsForChildren");function hs(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(hs,"applyGroupBounds");function gs(t){const e=yo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>Yn(s,e)-Yn(o,e));for(const o of n){const s=t.filter(f=>f.parentId===o.id),r=po(s);r&&hs(o,r)}}d(gs,"recomputeNestedGroupBounds");function sn(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(l=>!l.isGroup);let r=1/0,f=-1/0;for(const l of s){const c=l[e];typeof c=="number"&&(r=Math.min(r,c),f=Math.max(f,c))}if(!Number.isFinite(r)||!Number.isFinite(f))return!1;const a=d(l=>r+f-l,"mirror");for(const l of n){const c=l[e];typeof c=="number"&&(l[e]=a(c));const g=l.groupTitleRect;g&&(l.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const l of o)for(const c of l.points??[])c[e]=a(c[e]);return!0}d(sn,"mirrorAxis");function ms(t){return(t.nodes??[]).some(n=>!n.isGroup)?sn(t,"y"):!0}d(ms,"applyBtDirectionTransform");function ys(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,f=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-f)*I+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-f)*I+a,Mt=j-r;G.x=ft,G.y=Mt}gs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&sn(t,"x"),!0;const h=yo(n),i=new Map;for(const P of n){if(P.isGroup)continue;const G=us(P,h);if(!G)continue;const j=i.get(G)??[];j.push(P),i.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=i.get(P.id)??[],j=po(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),M=L+2*y,E=a+M,O=(b+v)/2-M/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PI.cy?C.bottom:C.top,H=I.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>I.cx?C.right:C.left,H=I.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const M=ce(v,L,ae),E=ce(L,y,ae);if(M&&E||!M&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const w=!M&&Qe(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&Qe(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(w||B)){M?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(ps,"portSwapToLShape");function xs(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const l=a.points;if(!l||l.length<4)continue;const c=xt(l,.001);if(c.length<4)continue;const g=c.length-1,p=c[g],I=c[g-1],u=c[g-2],h=p.x-I.x,i=p.y-I.y,x=Math.hypot(h,i);if(x>=10||x<.001)continue;const C=I.x-u.x,b=I.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(I,p,.001),y=Ot(I,p,.001),M=Nt(u,I,.001),E=Ot(u,I,.001);if(!(L&&E||y&&M))continue;const w=a.end,B=a.start,O=w?e.get(w):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,w?[w]:[],-2)||Pt(G,j,f,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&ao(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=c[g-3],rt=[B,w].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const _t=[...c.slice(0,g-2),G,j];a.points=_t;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,At=-1;for(let Kt=0;Kt<_t.length-1;Kt++){const qt=_t[Kt],Jt=_t[Kt+1],se=Math.hypot(Jt.x-qt.x,Jt.y-qt.y),Ee=yt(qt,Jt,.001),me=gt(qt,Jt,.001);(Ee&&se>=rt+2||me&&se>=ut+2)&&se>At&&(At=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(xs,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Sn=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function bs(t,e){const s=d((u,h)=>{const i=u.x??0,x=u.y??0,C=h.x-i,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:i+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:i+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const i=xt(u.points??[]);if(i.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?i[0]:i[i.length-1],L=h?i[1]:i[i.length-2],y=s(C,v);let M=v;if(Sn(L,y)&&(M=L),gt(y,M,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,M.y),max:Math.max(y.y,M.y),boundary:y,railEnd:M,rect:b};if(yt(y,M,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,M.x),max:Math.max(y.x,M.x),boundary:y,railEnd:M,rect:b}},"terminalLaneFor"),f=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),l=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:f(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),c=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const i=f(u,h);if(i2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const i=xt(u.edge.points??[]);if(i.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const M=i.length>1&&ce(i[1],u.railEnd,et),E=i.slice(M?2:1),w=E[0];return w&&!Sn(w,C)?void 0:[x,C,...E]}const v=i.length>1&&ce(i[i.length-2],u.railEnd,et),L=i.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Sn(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,i=xt(h.points??[]);if(i.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,M=v.x??0,E=v.y??0,[w,B]=i;return yt(w,B,et)&&Math.abs(y-E)<1&&Math.abs(L-M)>1||gt(w,B,et)&&Math.abs(L-M)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),I=[-7,7,-14,14,-21,21];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let i=!1;for(let x=0;x{const w=p(M),B=p(E);return w!==B?Number(w)-Number(B):+!E.atStart-+!M.atStart});for(const M of y){for(const E of I){const w=g(M,E);if(!w)continue;const B=r({...M.edge,points:w},M.atStart);if(!(!B||h.some(O=>O.edge!==M.edge&&(l(B,O)||L&&c(B,O))))){M.edge.points=w,i=!0;break}}if(i)break}}if(!i)return}}d(bs,"separateSharedRenderedTerminalLanes");function Ms(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,l)=>{const c=a.start,g=a.end,p=at(l);if(p.length!==l.length-1)return!1;const I=[c,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,I,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const i of p)for(const x of at(xt(h)))if(de(i,x,.5)>=Xt||he(i.a,i.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),f=d((a,l)=>{if(l+4>=a.length)return;const c=a[l],g=a[l+1],p=a[l+2],I=a[l+3],u=a[l+4],h=Nt(c,g)&&Ot(g,p)&&Nt(p,I)&&Ot(I,u)&>(c,I,et)&>(c,u,et)&>(g,p,et)&&(g.x-c.x)*(I.x-p.x)<0,i=Ot(c,g)&&Nt(g,p)&&Ot(p,I)&&Nt(I,u)&&yt(c,I,et)&&yt(c,u,et)&&yt(g,p,et)&&(g.y-c.y)*(I.y-p.y)<0;if(h||i)return xt([...a.slice(0,l+1),u,...a.slice(l+5)]);if(l+5>=a.length)return;const x=a[l+5],C=Ot(c,g)&&Nt(g,p)&&Ot(p,I)&&Nt(I,u)&&Ot(u,x)&>(c,u,et)&>(c,x,et)&>(p,I,et)&&(p.x-g.x)*(u.x-I.x)<0,b=Nt(c,g)&&Ot(g,p)&&Nt(p,I)&&Ot(I,u)&&Nt(u,x)&&yt(c,u,et)&&yt(c,x,et)&&yt(p,I,et)&&(p.y-g.y)*(u.y-I.y)<0;if(!(!C&&!b))return xt([...a.slice(0,l+1),x,...a.slice(l+6)])},"withoutDogleg");for(let a=0;a<8;a++){let l=!1;for(const c of t){if(c.isLayoutOnly)continue;const g=xt(c.points??[]);for(let p=0;p<=g.length-5;p++){const I=f(g,p);if(!(!I||!r(c,I))){c.points=I,l=!0;break}}if(l)break}if(!l)return}}d(Ms,"collapseRedundantRectangularDoglegs");function Gn(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),l=d((h,i,x)=>xt(h===i?x??[]:h.points??[]),"pointsFor"),c=d((h,i)=>{let x=0;for(let C=0;C{const i=at(h);if(i.length!==3)return;const x=i[1];if(!(i[0].horizontal===x.horizontal||i[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,i)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return i.horizontal?Wt(i.a.x,i.b.x,b.left,b.right)>=Xt&&i.a.y>=b.top-2&&i.a.y<=b.bottom+2:Wt(i.a.y,i.b.y,b.top,b.bottom)>=Xt&&i.a.x>=b.left-2&&i.a.x<=b.right+2})},"blockingRectsFor"),I=d((h,i,x)=>{const C=h.map(v=>({...v}));if(i.horizontal)C[i.index].y=x,C[i.index+1].y=x;else if(i.vertical)C[i.index].x=x,C[i.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,i,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(i);if(b.length!==i.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,f,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(l(v)))if(de(L,y,.5)>=Xt)return!1}return c(h,i)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const i=c();let x=!1;for(const C of a){const b=l(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(M=>M.rect.top))-20,Math.max(...L.map(M=>M.rect.bottom))+20]:[Math.min(...L.map(M=>M.rect.left))-20,Math.max(...L.map(M=>M.rect.right))+20];for(const M of y){const E=I(b,v.segment,M);if(!(!E||!u(C,E,i))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(Gn,"liftObstacleHuggingSameSideRails");function $n(t,e){const o=d(l=>{const c=l.groupTitleRect;if(!(!c||typeof c.left!="number"||typeof c.right!="number"||typeof c.top!="number"||typeof c.bottom!="number"||!Number.isFinite(c.left)||!Number.isFinite(c.right)||!Number.isFinite(c.top)||!Number.isFinite(c.bottom)||c.right<=c.left||c.bottom<=c.top))return{left:c.left,right:c.right,top:c.top,bottom:c.bottom}},"validTitleRect"),s=d(l=>{if(!l.isGroup||l.parentId)return;const c=l.direction,g=typeof c=="string"?c.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(l),I=l.y,u=l.height;if(!p||typeof I!="number"||typeof u!="number"||!Number.isFinite(I)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,i=p.bottom-p.top;if(!(i<=0||h{if(!l.horizontal)return!1;const g=l.a.y;return g<=c.top+et||g>=c.bottom-et?!1:Wt(l.a.x,l.b.x,c.left,c.right)>=Xt},"horizontalSegmentIntersectsTitle"),f=[...e.values()].map(s).filter(l=>!!l);if(f.length===0)return;let a=0;for(const l of t){if(l.isLayoutOnly)continue;const c=xt(l.points??[]);for(const g of at(c))for(const p of f)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const l of f){const c=l.node.y,g=l.node.height;typeof c!="number"||typeof g!="number"||!Number.isFinite(c)||!Number.isFinite(g)||g<=0||(l.node.y=c-a/2,l.node.height=g+a,l.node.groupTitleRect={...l.rect,top:l.rect.top-a,bottom:l.rect.bottom-a})}}d($n,"liftTopLaneTitleBandsAboveRails");function zn(t,e){const o=d(c=>{const g=c.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId||c.direction!=="LR")return;const p=o(c),I=c.x,u=c.width;if(!p||typeof I!="number"||typeof u!="number"||!Number.isFinite(I)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,i=p.bottom-p.top;if(!(h<=0||i{if(!c.vertical)return!1;const p=c.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(c.a.y,c.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),f=d((c,g)=>{if(!c.horizontal)return!1;const p=c.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(c.a.x,c.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(c=>!!c);if(a.length===0)return;let l=0;for(const c of t){if(c.isLayoutOnly)continue;const g=xt(c.points??[]);for(const p of at(g))for(const I of a)if(r(p,I.rect))l=Math.max(l,I.rect.right-p.a.x+4);else if(f(p,I.rect)){const u=Math.min(p.a.x,p.b.x);l=Math.max(l,I.rect.right-u+4)}}if(!(l<=et))for(const c of a){const g=c.node.x,p=c.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(c.node.x=g-l/2,c.node.width=p+l,c.node.groupTitleRect={...c.rect,left:c.rect.left-l,right:c.rect.right-l})}}d(zn,"shiftLeftLaneTitleBandsLeftOfRails");function Is(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,i=new Map)=>xt(i.get(h)??h.points??[]),"replacementPointsFor"),f=d((h=new Map)=>{let i=0;for(let x=0;xs.reduce((i,x)=>i+oe(r(x,h)),0),"totalBends"),l=d(h=>{const i=r(h);if(i.length<4)return;const x=i[i.length-2],C=i[i.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),c=d((h,i)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:i.tailStart.y};else if(Ot(C,b,et))v={x:i.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,i.tailStart,i.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,i)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(i))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,i,x)=>{for(const C of s)if(C!==h){for(const b of at(i))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),I=d((h,i,x)=>!g(h,i)&&!p(h,i,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const i of s){const x=i.end;if(!x||!e.has(x)||r(i).length<4)continue;const b=h.get(x)??[];b.push(i),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const i=f();if(i===0)return;const x=a();let C,b=i,v=x;for(const L of u().values())for(let y=0;y=i||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Is,"swapDestinationTerminalTailsToReduceCrossings");function Ss(t,e){const{realNodeRects:r,labelNodeRects:f}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),l=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),c=d((L=new Map)=>{let y=0;for(let M=0;Ma.reduce((y,M)=>y+oe(l(M,L)),0),"totalBends"),p=d(L=>{const y=L.start,M=L.end,E=y?e.get(y):void 0,w=M?e.get(M):void 0,B=E?te(E):void 0,O=w?te(w):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),I=d((L,y,M)=>{if(M.index<=0||M.index+1>=y.length-1)return;const E=p(L);if(E){if(M.vertical){const w=M.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=wO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:M.index,axis:"vertical",side:k,coord:w,min:Math.min(M.a.y,M.b.y),max:Math.max(M.a.y,M.b.y)}:void 0}if(M.horizontal){const w=M.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=wO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:M.index,axis:"horizontal",side:k,coord:w,min:Math.min(M.a.x,M.b.x),max:Math.max(M.a.x,M.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const M=l(y);for(const E of at(M)){const w=I(y,M,E);w&&L.push(w)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),i=d(L=>{const y=[],M=new Set;for(const E of L){if(M.has(E))continue;const w=[E],B=[];for(M.add(E);w.length>0;){const O=w.pop();B.push(O);for(const k of L)!M.has(k)&&h(O,k)&&(M.add(k),w.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const M of L)y.some(E=>Math.abs(E-M.coord){const y=L.map(w=>w.coord),M=x(L),E=[];if(L.length<=6){const w=new Array(M.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of M.entries())w[k]||(w[k]=!0,B.push(H),O(),B.pop(),w[k]=!1)},"visit");return O(),E}for(let w=0;w{const M=new Map;for(const[w,B]of L.entries()){const O=y[w],k=M.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),M.set(B.edge,k)}const E=new Map;for(const[w,B]of M){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(w,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,M]of L){const E=[y.start,y.end].filter(w=>!!w);for(const w of at(M))if(Pt(w.a,w.b,r,E,-2)||Pt(w.a,w.b,f,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=c();if(y===0)return;let M,E=y,w=g(),B=Number.POSITIVE_INFINITY;for(const O of i(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=c(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>w||G===w&&j>=B)||(M=H,E=P,w=G,B=j)}if(!M)return;for(const[O,k]of M)O.points=k}}d(Ss,"reassignCrossingExternalRailChannels");function Cs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),f=d((u,h,i)=>xt(u===h?i??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,i)=>{const x=i.a.x-i.b.x,C=i.a.y-i.b.y;return h+Math.hypot(x,C)},0),"pathLength"),l=d((u,h)=>{let i=0;for(let x=0;x{if(u.horizontal){const i=u.a.y;return(Math.abs(i-h.top)<1||Math.abs(i-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const i=u.a.x;return(Math.abs(i-h.left)<1||Math.abs(i-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),i=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&i.push(b)}return i},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const i=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(i,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(i,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-i.x)!==Math.sign(b.x-C.x):Math.sign(x.y-i.y)!==Math.sign(b.y-C.y)))return[];const M=gt(i,b,et)||yt(i,b,et)?[]:[{x:i.x,y:b.y},{x:b.x,y:i.y}],E=M.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:M.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),w=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return w.has(O)?!1:(w.add(O),!0)})},"shortcutCandidatesAt"),I=d((u,h,i)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>c(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(f(b)))if(de(v,L,.5)>=Xt)return!1}return l(u,h)<=i},"candidateIsSafe");for(let u=0;u<8;u++){const h=l();let i,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=f(L),M=oe(y,et),E=a(y);for(let w=0;w<=y.length-4;w++)for(const B of p(y,w)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(i=L,x=B,C=P,b=O,v=k)}}if(!i||!x)return;i.points=x}}d(Cs,"shortcutRedundantOrthogonalJogs");function vs(t,e){const f=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const F=R.x??0,_=R.y??0,V=te(R);V&&f.push({id:String(R.id??""),cx:F,cy:_,rect:V})}if(f.length===0)return;const a=new Map(f.map(R=>[R.id,R])),l=f.map(R=>({id:R.id,rect:R.rect})),c=["top","bottom","left","right"],g={top:Math.min(...f.map(R=>R.rect.top))-20,bottom:Math.max(...f.map(R=>R.rect.bottom))+20,left:Math.min(...f.map(R=>R.rect.left))-20,right:Math.max(...f.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),I=new Map(p.map((R,F)=>[R,F])),u=d(R=>{const F=R==="left"||R==="top"?-1:1,_=[];for(let V=0;V<=2;V++)_.push(g[R]+F*20*V);return _},"outwardTracksForSide"),h=d((R,F=new Map)=>xt(F.get(R)??R.points??[]),"replacementPointsFor"),i=d((R,F)=>{let _=0;for(const V of R)for(const K of F)he(V.a,V.b,K.a,K.b,et)&&_++;return _},"crossingCountBetweenSegments"),x=d((R,F)=>i(at(R),at(F)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let F=0;const _=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(F+=T,_.push({first:q,second:A,count:T}),Z(q),Z(A))}}return K.sort((Y,q)=>(I.get(Y)??0)-(I.get(q)??0)),{count:F,pairs:_,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,F)=>{const _=new Set(F.keys());if(_.size===0)return R.count;let V=0;for(const Z of R.pairs)(_.has(Z.first)||_.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const F=new Map;for(const K of R.pairs){const Z=F.get(K.first)??new Set;Z.add(K.second),F.set(K.first,Z);const Y=F.get(K.second)??new Set;Y.add(K.first),F.set(K.second,Y)}const _=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of F.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(I.get(q)??0)-(I.get(m)??0)),Y.length>1&&_.push(Y)}return _},"crossingComponents"),L=d(R=>[R.start,R.end].filter(F=>!!F),"endpointIdsFor"),y=d(R=>{const F=[];for(const _ of v(R)){const V=new Set(_),K=new Set(_.flatMap(Y=>L(Y))),Z=[..._];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(I.get(Y)??0)-(I.get(q)??0)),F.push(Z)}return F},"pairSearchGroups"),M=d((R,F,_)=>b(R,new Map([[F,_]])),"crossingCountWithSingleReplacement"),E=d(R=>{const F=new Map;for(const _ of R.pairs)F.set(_.first,(F.get(_.first)??0)+_.count),F.set(_.second,(F.get(_.second)??0)+_.count);return F},"currentCrossingsByEdge"),w=d(R=>R.slice(1).reduce((F,_,V)=>{const K=R[V];return F+Math.abs(_.x-K.x)+Math.abs(_.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((F,_)=>F+oe(h(_,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((F,_)=>F+w(h(_,R)),0),"totalLength"),k=d((R,F,_=new Map)=>{const V=at(F);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,_)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,F)=>{const _=[R.start,R.end].filter(V=>!!V);for(const V of at(F))if(Pt(V.a,V.b,l,_,-2))return!0;return!1},"pathHitsNode"),P=d((R,F)=>{const _=ue(xt(F));at(_).length===_.length-1&&R.push(_)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,F,_)=>{switch(F){case"left":return Math.min(R.x,_.x)-20;case"right":return Math.max(R.x,_.x)+20;case"top":return Math.min(R.y,_.y)-20;case"bottom":return Math.max(R.y,_.y)+20}},"localTrackForSameSide"),tt=d((R,F,_,V)=>{const K=_==="left"||_==="top"?-1:1,Z=[j(F,_,V),g[_]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,fo(F,_,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,F,_,V,K)=>{for(const Z of u(_))for(const Y of u(K))P(R,[F,{x:Z,y:F.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,F,_,V,K)=>{for(const Z of u(_))for(const Y of u(K))P(R,[F,{x:F.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,F,_,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(_))for(const q of u(K))for(const m of Z)P(R,[F,{x:Y,y:F.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),_t=d((R,F,_,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(_))for(const q of u(K))for(const m of Z)P(R,[F,{x:F.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const F=new Set;return R.map(_=>xt(_)).filter(_=>{const V=_.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return F.has(V)||_.length<2?!1:(F.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,F,_,V)=>{const K=[],Z=lo(R,F,_,V,20,et);Z&&P(K,Z),F===V&&tt(K,R,F,_);const Y=G(F),q=G(V);return Y&&!q?ft(K,R,F,_,V):!Y&&q?Mt(K,R,F,_,V):Y?Ht(K,R,F,_,V):_t(K,R,F,_,V),nt(K)},"buildCandidatesForSides"),rt=d((R,F,_,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of c){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[F,_,{x:S,y:_.y},{x:S,y:q.y},q]);for(const A of m)P(R,[F,_,{x:S,y:_.y},{x:S,y:A},{x:q.x,y:A},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,F,_,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of c){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[F,_,{x:_.x,y:S},{x:q.x,y:S},q]);for(const A of m)P(R,[F,_,{x:_.x,y:S},{x:A,y:S},{x:A,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const F=R.start,_=R.end,V=_?a.get(_):void 0;if(!F||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const F=R.start,_=R.end,V=F?a.get(F):void 0,K=_?a.get(_):void 0;if(!V||!K)return[];const Z=[];for(const Y of c){const q=Le(V,Y);for(const m of c)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),At=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,F,_)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=_.get(K)??at(h(K));F.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,F,_,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=i(q,_.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:F.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:w(Y)}}).filter(({crossings:Y})=>Y<=F.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,_),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,F,_,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===F||m.second===F||m.first===V||m.second===V)&&(Y+=m.count);let q=i(_.segments,K.segments);for(const m of p){if(m===F||m===V)continue;const S=Z.get(m)??at(h(m));q+=i(_.segments,S)+i(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,F)=>{for(const _ of R.sharedTrackConflicts)if(_!==F)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,F)=>R.segments.some(_=>F.segments.some(V=>de(_,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,F,_,V)=>se(F,_.edge)&&se(V,R.edge)&&!Ee(F,V),"pairCandidatesAreCompatible"),Te=d((R,F,_,V,K)=>{const Z=Jt(R.current,F.edge,_,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[F.edge,_.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(F.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+_.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(F.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+_.length+K.length}},"scorePairReplacement"),un=d((R,F)=>R.crossings{let K=V;for(const Z of F.candidates)for(const Y of _.candidates){if(!me(F,Z,_,Y))continue;const q=Te(R,F,Z,_,Y);q&&un(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),gn=d(R=>{const F=B(),_=O(),V=At(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,w(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:F,length:_};const A={current:R,currentBends:F,currentLength:_,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const F=C(),_=F.count;if(_===0)return;let V,K,Z=_,Y=Number.POSITIVE_INFINITY;for(const m of F.edges){const S=oe(h(m),et);for(const A of St(m)){const T=H(m,A),N=!T&&k(m,A),D=M(F,m,A),W=oe(A,et);T||N||!(D<_||D===_&&WZ||D===Z&&W>=Y||(V=m,K=A,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=gn(F);if(!q)return;for(const[m,S]of q)m.points=S}}d(vs,"resolveRenderedOrthogonalCrossings");var be=.001,Br=8;function Ls(t,e){const{nodeInfoById:n,realNodeRects:o}=ln(e),s=["top","bottom","left","right"],r=20,f={top:Math.min(...o.map(i=>i.rect.top))-r,bottom:Math.max(...o.map(i=>i.rect.bottom))+r,left:Math.min(...o.map(i=>i.rect.left))-r,right:Math.max(...o.map(i=>i.rect.right))+r},a=d((i,x,C,b)=>{const v=[],L=lo(i,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(fo(i,x,C,f[x])),v},"buildOrthogonalPathCandidates"),l=d((i,x)=>{for(let C=0;C{let b=0;const v=Be(i,be),L=x.start,y=x.end;for(const M of t){if(M===x||M.isLayoutOnly)continue;const E=M.start,w=M.end;if(!C&&L&&y&&(E===L||E===y||w===L||w===y))continue;const B=M.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(ho(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Br&&b++}}return b},"pathConflictCount"),g=4,p=d((i,x)=>{const C=Math.abs(i.y-x.rect.top),b=Math.abs(i.y-x.rect.bottom),v=Math.abs(i.x-x.rect.left),L=Math.abs(i.x-x.rect.right);let y="top",M=C;return b{const b=I.get(i)??[];b.push({side:x,edgeId:C}),I.set(i,b)},"addFaceClaim");for(const i of t){if(i.isLayoutOnly)continue;const x=i.points??[];if(x.length<1)continue;const C=i.id??"",b=i.start,v=i.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((i,x,C)=>{var b;return((b=I.get(i))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const i of t){if(i.isLayoutOnly)continue;const x=i.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=c(tt,i,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}c(tt,i)>w||ftG.edgeId!==M));const P=I.get(v);P&&I.set(v,P.filter(G=>G.edgeId!==M)),u(b,p(B[0],L),M),u(v,p(B[B.length-1],y),M)}}}d(Ls,"simplifyDetouredEdges");var Qt=.001,ko=10,Ue=7;function Vn(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const f=r.x-s.x,a=r.y-s.y;if(!(Math.abs(f)+Math.abs(a)r&&Ze(t,Es(r)))}d(jn,"labelOverlapsOwnMarker");function Ke(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const i=h.points;if(!(!i||i.length<2))for(let x=0;x{const x=wn(i,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&Ze(x,b))return!0;return!1},"labelOverlapsForeignNode"),c=d((h,i)=>{const x=wn(i,r);for(const C of n)if(C.edgeId!==h&&an(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,i,x)=>l(h,x)||c(i,x),"labelOverlapsAnything"),p=[],I=d(h=>{for(const{id:i,rect:x}of s)if(ts(x,h))return i},"findContainingLane"),u=d((h,i)=>p.some(x=>x.labelId!==h&&Ze(i,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const i=h.labelNodeId;if(!i)continue;const x=e.get(i);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",w=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,At=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==At?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=I(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+f,St=ut.rect.right-b/2-f,At=ut.rect.top+v/2+f,Kt=ut.rect.bottom-v/2-f;if(pt>St||At>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,At,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=w(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!jn(St.rect,C)&&!u(i,St.rect)&&!g(i,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=w(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const At=j(St);if(At&&!jn(At.rect,C)&&!u(i,At.rect)&&!l(i,At.rect)&&(rt||!c(h.id,At.rect)))return{laneId:At.laneId,anchor:At.anchor}}},"findLaneContainingFallback"),_t=Mt(M)??(M.lengthrt.labelId===i);J>=0?p[J]={labelId:i,rect:nt}:p.push({labelId:i,rect:nt})}}}d(Ke,"anchorLabelsToPolyline");var Cn=1e-6,kr=8,Fo=kr/2,Fr=3;function Un(t,e){return t{const g=Un(a,l);let p=0;const I=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const i=c==="x"?h.w/2:h.h/2;i>p&&(p=i)},"consider");I(f.labelNodeId);for(const u of t){if(u===f||u.isLayoutOnly)continue;const h=u.start,i=u.end;!h||!i||Un(h,i)===g&&I(u.labelNodeId)}return p>0?p+Fr:0},"labelClearanceFor");for(const f of t){if(f.isLayoutOnly)continue;const a=f.points;if(!co(a,Cn))continue;const l=uo(f,n,Cn);if(!l)continue;const{srcId:c,dstId:g,srcInfo:p,dstInfo:I,collinearX:u,collinearY:h}=l;if(u===h)continue;let i,x;if(u){const y=I.cy>p.cy;i={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:I.cx,y:y?I.rect.top:I.rect.bottom}}else{const y=I.cx>p.cx;i={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?I.rect.left:I.rect.right,y:I.cy}}if(Pt(i,x,o,[c,g],1))continue;const b=r(f,c,g,u?"x":"y"),v=b>Fo?b:Fo,L=[0,v,-v];for(const y of L){const M={...i},E={...x};if(u){if(M.x+=y,E.x+=y,M.x<=p.rect.left||M.x>=p.rect.right||E.x<=I.rect.left||E.x>=I.rect.right)continue}else if(M.y+=y,E.y+=y,M.y<=p.rect.top||M.y>=p.rect.bottom||E.y<=I.rect.top||E.y>=I.rect.bottom)continue;if(!Pt(M,E,o,[c,g],1)&&!Qe(M,E,t,f,{epsilon:Cn})){f.points=[M,E];break}}}}d(Ts,"straightenCollinearSiblingDetours");function Wn(t,e){const{realNodeRects:l,labelNodeRects:c}=Me(e.values()),g=d((y,M)=>Be(M,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=M.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const M of t){if(M.isLayoutOnly)continue;const E=M.points;!E||E.length<2||y.push(...g(M,xt(E)))}return y},"allSegments"),I=d((y,M)=>y.horizontal&&M.horizontal?Wt(y.a.x,y.b.x,M.a.x,M.b.x)>=8&&Math.abs(y.a.y-M.a.y)<7:y.vertical&&M.vertical?Wt(y.a.y,y.b.y,M.a.y,M.b.y)>=8&&Math.abs(y.a.x-M.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,M)=>{const E=y.start,w=y.end,B=g(y,M);if(B.length!==M.length-1)return!1;const O=[E,w].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,l,O,-2)||Pt(H.a,H.b,c,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(I(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,M)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const w=E.map(B=>({...B}));if(y.horizontal)w[y.index].y+=M,w[y.index+1].y+=M;else if(y.vertical)w[y.index].x+=M,w[y.index+1].x+=M;else return;return g(y.edge,w).length===w.length-1?w:void 0},"shiftedCandidate"),i=d((y,M)=>({x:y.x??(M.left+M.right)/2,y:y.y??(M.top+M.bottom)/2}),"nodeCenter"),x=d(y=>{const M=y.edge,E=xt(M.points??[]);if(E.length!==4||y.index!==1)return;const w=M.start?e.get(M.start):void 0,B=M.end?e.get(M.end):void 0,O=w?te(w):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!w||!B||!O||!k||H.length===0))return{sourceCenter:i(w,O),targetCenter:i(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,M,E,w,B,O)=>{const k=w.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+M;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,M,E,w,B,O)=>{const k=w.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+M;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,M)=>{const E=x(y);if(E){if(y.vertical)return C(y,M,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,M,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-14,14,-21,21];for(let y=0;y<12;y++){const M=p();let E=!1;for(let w=0;wP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(Wn,"nudgeSharedInteriorSubpaths");function As(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,f=o.x-n.x,a=o.y-n.y,l=s*a-r*f;if(Math.abs(l)<1e-10)return!1;const c=n.x-t.x,g=n.y-t.y,p=(c*a-g*f)/l,I=(c*r-g*s)/l,u=.01;return p>u&&p<1-u&&I>u&&I<1-u}d(As,"segmentsIntersect");function ws(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=es(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const l=a.points;if(!l||l.length<2)continue;const c=a.start,g=a.end,p=a.labelNodeId,I=a.id??`${c}->${g}`;for(const u of s)if(!(u.nodeId===c||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(c=>c.type==="edge-node-overlap").length,l=o.filter(c=>c.type==="edge-edge-crossing").length;Ln.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${l} edge crossing(s)`);for(const c of o)Ln.warn(`[SWIMLANE_VALIDATE] ${c.type}: ${c.detail}`)}return o}d(ws,"validateSwimlanesLayout");function Rs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!ys(t,e)||e==="BT"&&s.length>0&&!ms(t))return;for(const a of o){if(a.isLayoutOnly)continue;const l=a.points;!l||l.length<2||(a.points=ue(tn(l)))}Ls(o,n),Ts(o,n),ps(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Ke(o,r),is(o,r),xs(o,r),Wn(o,r),bs(o,r),Ms(o,r),Gn(o,r),Is(o,r);const f=d(()=>{vs(o,r),Ss(o,r),Cs(o,r),Ke(o,r),Xn(o,r),Gn(o,r),Ke(o,r),Xn(o,r)},"finalizeRenderedEdges");f(),Wn(o,r),f(),$n(o,r),zn(o,r),$n(o,r),zn(o,r)}d(Rs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const f=`${r.id}:${r.src}->${r.dst}`;n.has(f)||(n.add(f),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function xo(t,e){return t.edges.filter(n=>n.dst===e)}d(xo,"incoming");function Ns(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(Ns,"buildSuccessorMap");function bo(t){const e=Ns(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(bo,"buildSortedSuccessorMap");function Mo(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(Mo,"buildInDegreeMap");function Io(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Io,"sortedZeroInDegreeNodes");function fn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(fn,"buildPredecessorSuccessorMaps");function So(t,e,n,o){var f,a;let s=0;for(const l of t.nodes)o!=null&&o.skipGroups&&((f=t.nodeById.get(l))!=null&&f.isGroup)||(s=Math.max(s,n[l]??0));const r=Array.from({length:s+1},()=>[]);for(const l of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(l))!=null&&a.isGroup)||r[Math.max(0,n[l]??0)].push(l);return r}d(So,"buildLayersFromRanks");function _e(t){const e=Mo(t),n=Io(e),o=[],s=bo(t);for(;n.length;){const r=n.shift();o.push(r);for(const f of s.get(r)??[])if(e.set(f,(e.get(f)??0)-1),(e.get(f)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let f=n(o,r)+n(r,s),a=o,l=r,c=o;for(;a=s||ap.dst===I.dst?p.id.localeCompare(I.id):p.dst.localeCompare(I.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const I=p.dst;o[I]===0?r(I):o[I]===1&&s.push(p)}o[g]=2},"dfs"),f=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of f)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),l=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:l,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(Os,"removeCycles_DFS");function Ps(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Ps,"buildTopLaneMap");function ge(t){const e=Ps(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function dn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(dn,"buildTopLaneOrder");function vo(t,e){const n=dn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const f of e)!o.has(f)||s.has(f)||(s.add(f),r.push(f));for(const f of n)s.has(f)||r.push(f);return r}d(vo,"resolveTopLaneOrder");var _r={EPSILON:1e-6},rn={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},_o={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Bs(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=fn(n);for(const y of r.values())y.sort((M,E)=>M.localeCompare(E));const f=_e(n)??[...n.nodes].sort((y,M)=>y.localeCompare(M)),a=new Map;for(const[y,M]of f.entries())a.set(M,y);const l=new Map,c=new Map;for(const y of n.nodes)c.set(y,[]);for(const y of f){const M=(r.get(y)??[]).filter(E=>l.has(E));if(M.length>0){const E=ks(y,M,{laneOf:o,rankHint:s,topoIndex:a});l.set(y,E),c.get(E).push(y)}else l.has(y)||l.set(y,null)}for(const y of n.nodes)l.has(y)||l.set(y,null);const g=new Set;for(const y of n.nodes)(l.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,M)=>{const E=a.get(y)??0,w=a.get(M)??0;return E===w?y.localeCompare(M):E-w}),I=Fs(n),u=new Map;for(const[y,M]of I.entries())u.set(y,[...M].sort((E,w)=>E.localeCompare(w)));const h=_s(u),i=Ds(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of i)for(const M of y.nodes){const E=x.get(M);E?E.push(y.id):x.set(M,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const M of c.get(y)??[])L(M);b.push(y)}},"walk");for(const y of p)L(y);for(const y of f)L(y);return{parent:l,children:c,roots:p,componentOf:h,blocks:i,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:f}}d(Bs,"buildDrivingTree");function ks(t,e,n){const o=n.laneOf(t);return[...e].sort((r,f)=>{var i,x;const a=n.laneOf(r),l=n.laneOf(f),c=a!=null&&a===o,g=l!=null&&l===o;if(c!==g)return c?-1:1;const p=(i=n.rankHint)==null?void 0:i[r],I=(x=n.rankHint)==null?void 0:x[f];if(p!=null&&I!=null&&p!==I)return I-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(f)??0;return u!==h?u-h:r.localeCompare(f)})[0]}d(ks,"chooseParent");function Fs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Fs,"buildAdjacency");function _s(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const f of t.get(r)??[])e.has(f)||s.push(f)}}n++}return e}d(_s,"assignComponents");function Ds(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const f=d((a,l)=>{e.set(a,++r),n.set(a,r);for(const c of t.get(a)??[])c!==l&&(e.has(c)?(e.get(c)??0)<(e.get(a)??0)&&(o.push([a,c]),n.set(a,Math.min(n.get(a)??r,e.get(c)??r))):(o.push([a,c]),f(c,a),n.set(a,Math.min(n.get(a)??r,n.get(c)??r)),(n.get(c)??0)>=(e.get(a)??0)&&s.push(Hs(a,c,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||f(a,null);return s}d(Ds,"computeBlocks");function Hs(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const f=n.pop();if(s.push(f),r.add(f[0]),r.add(f[1]),f[0]===t&&f[1]===e||f[0]===e&&f[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d(Hs,"popBlock");function Xs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,f=new Array(r).fill(-1),a=new Array(r).fill(0),l=[],c=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(f[L]=-1,a[L]=0,c.has(b)||(c.add(b),l.push(b)))}for(;l.length>0;){const b=l.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(c.has(y))continue;const M=s.get(y);M!=null&&(f[M]=v,a[M]=a[v]+1,c.add(y),l.push(y))}}for(const b of o){if(c.has(b))continue;const v=s.get(b);v!=null&&(f[v]=-1,a[v]=0,c.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const M=p[y][b],E=p[y][v];M===-1||E===-1||M!==E&&(b=M,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],M=e[L];if(y==null||M==null||(y>M&&([v,L]=[L,v],[y,M]=[M,y]),y==null||M==null||y===M))continue;const E=s.get(v),w=s.get(L);if(E==null||w==null)continue;const B=I(E,w);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,M=n.children.get(b)??[];for(const E of M){const w=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=w.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}i(y,w)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(Xs,"computeSubtreeCrossCounts");function Ys(t,e,n){const o=new Map,s=d(r=>{let f=n[r]??0;const a=[...e.get(r)??[]];a.sort(Lo(n));for(const l of a){s(l);const c=o.get(l);c!=null&&(f=Math.min(f,c))}o.set(r,f)},"annotate");for(const r of t)s(r);return o}d(Ys,"annotateMinimumLayers");function Lo(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(Lo,"compareByRankThenId");function Gs(t,e,n,o){let s=0;for(const l of e){const c=n[l]??0;c>s&&(s=c)}const r=Array.from({length:s+1},()=>[]),f=new Set,a=d(l=>{if(f.has(l))return;f.add(l);const c=n[l]??0;r[c]||(r[c]=[]),r[c].push(l);for(const g of o(l))a(g)},"emit");for(const l of t)a(l);for(const l of e)if(!f.has(l)){const c=n[l]??0;r[c]||(r[c]=[]),r[c].push(l),f.add(l)}return r}d(Gs,"emitNodesInTreeOrder");function $s(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d($s,"deduplicateLayers");function zs(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const f=e[s]??0,a=[],l=[],c=n.get(s);for(const g of r){const p=o.get(g)??f;p>f?a.push({child:g,min:p}):l.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),l.sort((g,p)=>{const I=(c==null?void 0:c.get(g))??0,u=(c==null?void 0:c.get(p))??0;if(I!==u)return I-u;const h=o.get(g)??f,i=o.get(p)??f;return h!==i?h-i:g.localeCompare(p)}),[...a.map(g=>g.child),...l]}}d(zs,"createChildOrderer");function cn(t,e,n){const o=Bs(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const f=Xs(t,e,o),a=[...r].sort(Lo(e)),l=Ys(a,s,e),c=zs(s,e,f,l);let g=Gs(a,t.nodes,e,c);return g=$s(g),g}d(cn,"buildMultitreeLayerOrder");function Vs(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),f=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&f.push(r.get(a.dst));return Co(f)}d(Vs,"countCrossingsBetweenAdjacent");function Kn(t,e,n){const o=[];for(const r of e){const f=n[r.src],a=n[r.dst];if(f==null||a==null||f===a)continue;let l=r.src,c=r.dst,g=f,p=a;f>a&&(l=r.dst,c=r.src,g=a,p=f);for(let I=g;I(n[I]??0)-(n[p]??0));for(const p of g){const I=n[p]??0;if(I===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=I)continue;const h=I;n[p]=u;const i=cn(t,n,s),x=Kn(i,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const f=t.edges.filter(i=>i.src===s);if(f.length===0)continue;let a=!1,l=0;for(const i of f){const x=n(i.dst);x==null||x===r?a=!0:l++}if(l===0||a)continue;let c=0,g=!1;for(const i of t.edges){if(i.dst!==s)continue;const x=n(i.src);x&&(x===r?g=!0:c++)}if(c>0||!g)continue;const p=e[s]??0,I=p+l;let u=0;for(const i of t.edges)i.dst===s&&(u=Math.max(u,(e[i.src]??0)+1));const h=Math.max(p,u,I);h!==p&&(e[s]=h)}}d(Us,"adjustCrossLaneSources");function Ws(t,e){const n=Ie(t),o=_e(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let f=Object.create(null);for(const l of o){const c=xo(n,l),g=e!=null&&e.ignoreCrossLaneEdges?c.filter(p=>{const I=r(p.src),u=r(l);return!I||!u?!0:I===u}):c;if(g.length===0)f[l]=0;else if(s&&g.length===1){const p=g[0].src,I=r(p),u=r(l);I!==u?f[l]=f[p]??0:f[l]=(f[p]??0)+1}else{let p=-1/0;for(const I of g)p=Math.max(p,(f[I.src]??0)+1);f[l]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(f=js(n,f)),e!=null&&e.ignoreCrossLaneEdges&&Us(n,f),{layers:cn(n,f,r),rankOf:f,dummy:new Set}}d(Ws,"assignLayers_LongestPath");function Ks(t,e){const n=Ie(t),s={...Ws(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:f,succs:a}=fn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const i=r(h.src),x=r(h.dst);if(i&&x&&i!==x)return!1}return!0}),l=_e(n)??[...n.nodes],c=[...l].reverse(),g=d((h,i)=>{let x=0;for(const v of f.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,i)),Math.min(Math.max(i,x),C)},"clampFeasible"),p=rn.GRAVITY_ITERATIONS,I=d(h=>{let i=!1;for(const x of h){const C=f.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,w)=>E+(s[w]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,w)=>E+(s[w]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),M=g(x,y);M!==s[x]&&(s[x]=M,i=!0)}return i},"relaxOrder");for(let h=0;h0){const x=Math.min(...i.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:So(n,l,s),rankOf:s,dummy:new Set}}d(Ks,"assignLayers_Gravity");function qs(t){const e=Mo(t),n=bo(t);let o=Io(e);const s=[];for(;o.length>0;){const r=[];for(const f of o){s.push(f);for(const a of n.get(f)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((f,a)=>f.localeCompare(a))}return s.length===t.nodes.length?s:null}d(qs,"topoSortByGenerationIfAcyclic");function Js(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?qs(n)??[...n.nodes].sort():_e(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),f=Object.create(null),a=new Map,l=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const I=xo(n,g);let u=0;if(I.length>0)for(const C of I){const b=C.src,v=f[b]??0;u=Math.max(u,v+l(b,g))}const h=r(g),i=a.get(h)??0,x=Math.max(u,i);f[g]=x,a.set(h,x+1)}return{layers:So(n,o,f,{skipGroups:!0}),rankOf:f,dummy:new Set}}d(Js,"assignLayers_LaneAwareCompact");function Zs(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let f=0;const a=new Map(n.nodeById),l=d(u=>{const h=`placeholder-${f++}`,i={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,i),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),c=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of c){const h=o[u.src]??0,i=o[u.dst]??0;if(i-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:I}}d(Zs,"makeProperLayering");function qn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(qn,"median");function Jn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Jn,"barycenter");function Qs(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(Qs,"neighborPositionsFor");function tr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(tr,"currentOrderTieBreak");function Zn(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),f=ke(e),a=[];for(const c of n)o.has(c.src)&&s.has(c.dst)&&a.push({u:r.get(c.src),v:f.get(c.dst)});a.sort((c,g)=>c.u===g.u?c.v-g.v:c.u-g.u);const l=a.map(c=>c.v);return Co(l)}d(Zn,"countCrossingsBetweenAdjacent");function qe(t,e,n){return[...t].sort((o,s)=>{const r=qn(e.get(o)??[]),f=qn(e.get(s)??[]);return r===f?tr(o,s,n):isFinite(r)?isFinite(f)?r-f:-1:1})}d(qe,"sortByHeuristic");function Qn(t,e,n,o,s,r){const f=ke(t),a=ke(e),l=Qs(e,f,n,o);if(!s||!r||r.length===0)return qe(e,l,a);const c=new Map;for(const I of e){const u=s(I),h=c.get(u)??[];h.push(I),c.set(u,h)}const g=[];for(const I of r){const u=c.get(I);if(!u||u.length===0)continue;const h=qe(u,l,a);g.push(...h)}const p=c.get(null);if(p&&p.length>0){const I=qe(p,l,a);for(const u of I){const h=Jn(l.get(u)??[]);let i=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Jn(l.get(C)??[]);if(hf.has(i.src)&&a.has(i.dst)),g=l?n.filter(i=>a.has(i.src)&&l.has(i.dst)):void 0,p=d(i=>{let x=Zn(t,i,c);return g&&o&&(x+=Zn(i,o,g)),x},"crossingScore"),I=s?new Map:null;if(s&&I)for(const i of e)I.set(i,s(i));let u=!0,h=p(r);for(;u;){u=!1;for(let i=0;i+1[...a]),s=e.edges,r=ge(e),f=vo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let l=1;l=0;l--)o[l]=Qn(o[l+1],o[l],s,"up",r,f),o[l]=to(o[l+1],o[l],s,o[l-1],r)}return{layers:o}}d(er,"orderLayers");function nr(t,e,n){const o=(n==null?void 0:n.layerGap)??_o.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??_o.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,f=(n==null?void 0:n.direction)??"TB",a=f==="LR"||f==="RL",l=t.layers,c=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),I=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),i=vo(e,n==null?void 0:n.laneOrder),x=l.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,I(Ht)),0),H=l[O+1].reduce((Mt,Ht)=>Math.max(Mt,I(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of l)for(const k of O)b.add(h(k));const v=b.has(null),L=i.filter(O=>b.has(O)),y=[...v?[null]:[],...L],M=Object.create(null);for(const O of L)M[O]=0;v&&(M.null=0);for(const O of l){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+I(ft),0)+s*Math.max(0,G.length-1);M[P]=Math.max(M[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+I(j),0)+s*Math.max(0,H.length-1);M.null=Math.max(M.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?M.null:M[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PI(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let _t=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];c[J]=_t+rt/2,g[J]=w+H/2,_t+=rt+s}}}const G=C[O]??0;w+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((c[H]??0)+(c[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(c[tt]=G)}}return{x:c,y:g}}d(nr,"assignCoordinates");var or=8;function sr(t){let e=2166136261;for(let n=0;n>>0}d(sr,"hashString");function rr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(rr,"mulberry32");function ir(t,e){const n=[...t],o=rr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(ir,"deterministicShuffle");function cr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(cr,"sourceDistance");function eo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:f}of e){const a=n.get(s),l=n.get(r);a==null||l==null||(o+=f*Math.abs(a-l))}return o}d(eo,"laneArrangementCost");function ar(t){const e=dn(t);if(e.length<2)return[];const n=new Map(e.map((r,f)=>[r,f])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const f=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!f||!a||!t.nodeById.has(f)||!t.nodeById.has(a))continue;const l=o(f),c=o(a);if(!l||!c||l===c)continue;const g=n.get(l),p=n.get(c);if(g==null||p==null)continue;const[I,u]=g<=p?[l,c]:[c,l],h=`${I}\0${u}`,i=s.get(h);i?i.weight++:s.set(h,{a:I,b:u,weight:1})}return[...s.values()]}d(ar,"buildWeightedLaneEdges");function no(t,e,n){const o=[...t];let s=eo(o,e),r=!0,f=0;const a=Math.max(1,o.length);for(;r&&fs.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:f})=>`${s}:${r}:${f}`).join("|");return sr(`${t.join("|")}#${o}#${n}`)}d(fr,"seedForRestart");function dr(t,e={}){const n=dn(t);if(n.length<2)return n;const o=ar(t);if(o.length===0)return n;const s=new Map(n.map((a,l)=>[a,l]));let r=no(n,o,s);const f=Math.max(0,e.restarts??or);for(let a=0;alt&&l*3>=a?f>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(oo,"chooseOrthogonalSide");function so(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of c){const S={id:m.id},A=d(T=>{f.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(A)},"assignLane");A(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,A=m.height??10,T=m.x??0,N=m.y??0,D=Dr;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-A/2-D,maxY:N+A/2+D,visualXHalfExtent:l?A/2+D:S/2+D}}),p=d((m,S,A,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:A,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,A),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),I=d((m,S)=>{const A=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-A/2,y:D};case"right":return{x:N+A/2,y:D}}},"portForSide"),u=d((m,S,A)=>I(m,oo(m,S,A?"bottom":"top")),"getOrthogonalPort"),h=[],i=[],x=new Set,C=1e3,b=d((m,S,A)=>{if(h.length===0)return 0;const T=Math.abs(S.y-A.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,A.y)-lt,U=Math.max(S.y,A.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const A=r.get(m.start),T=r.get(m.end),N=f.get(m.start),D=f.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=A&&T?Math.abs((T.x??0)-(A.x??0)):0,U=A&&T?Math.abs((T.y??0)-(A.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const A=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(A-T)>1?A-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,A,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>A&&z.nodeId===A||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYoo(m,S,"bottom"),"determineSide"),w=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const A=r.get(S.start),T=r.get(S.end);if(!A||!T)continue;const N=(T.x??0)-(A.x??0),D=(T.y??0)-(A.y??0);w.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(A,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:A.x??0,y:A.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of w.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of w.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,A)=>{const T=B(S),N=B(A);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-A.edgeIdx});for(let S=1;S=N||(H.set(P(A.srcId,A.srcSide),N-1),H.set(P(A.srcId,T),D+1),A.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of w.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of w.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const A=O(m);if(S.has(A)||(H.get(P(m.srcId,A))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,A),1),m.srcSide=A}for(const m of w.values()){const{edgeIdx:S,srcId:A,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(A),ot=r.get(T),U=`${A}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((wt,Gt)=>wt.oppositeCoord-Gt.oppositeCoord);const A=m.split(":"),T=A.slice(0,-2).join(":"),N=A[A.length-2],D=A[A.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[wt,Gt]of S.entries()){const ee=Bt+wt*st,mn=`${Gt.edgeIdx}:${D}`;tt.set(mn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:A})=>Mt(A))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:A})=>Mt(A)):!1,"faceHasLabelNode"),_t=d((m,S,A)=>S==="top"||S==="bottom"?{x:m.x+A,y:m.y}:{x:m.x,y:m.y+A},"applyPortOffset"),nt=d((m,S,A)=>{const T=w.get(m),N={x:A.x??0,y:A.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(A,D);let U=T?I(S,T.srcSide):u(S,N,!0),z=T?I(A,T.dstSide):u(A,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=_t(U,W,bt)),dt!==void 0&&(z=_t(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(i[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const A=r.get(S.start),T=r.get(S.end);if(!A||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,A,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(A.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(A.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],wt=ct(U,Bt);if(wt.inside&&wt.obstacle){const X=wt.obstacle;if(bt){const $=st(N,A,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,A,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,A,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,A,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=M.get(S.start??"")??0,mt=M.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const mn=p("vertical",U.x,U.y,U.y);U.x=mn.coord;const pr=p("vertical",z.x,z.y,z.y);z.x=pr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,Ae=Math.min(U.y,z.y)-50,we=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-We),pe=Math.max(pe,X.maxX+We),Ae=Math.min(Ae,X.minY-We),we=Math.max(we,X.maxY+We))}for(const X of g){if(X.maxXpe||X.maxYwe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,Ae,we),p("vertical",X.maxX+Q,Ae,we)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const xr=a.filter(X=>X.orientation==="horizontal"&&X.coord>=Ae&&X.coord<=we),br=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),De=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),He=De(U.x,U.y),Eo=De(z.x,z.y),Xe=new Map,yn=new Map,pn=new Map,Ye=new Set,Se=[];Xe.set(He,0),pn.set(He,"n"),Se.push({key:He,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ye.add(He);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),xn={x:z.x,y:U.y},Mr=xe(U,xn),Ir=xe(xn,z),Sr=Mr||Ir,bn={x:U.x,y:z.y},Cr=xe(U,bn),vr=xe(bn,z);if(Sr?Cr||vr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ye.delete(X.key),X.key===Eo){let mt=Eo,Vt=z;for($t=[Vt];yn.has(mt);){const re=yn.get(mt);$t.unshift(re),Vt=re,mt=De(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=br.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=xr.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Mn<-5||Re<-10&&Mn>5)&&(Et=Math.abs(Mn)*100),(Zt>10&&Ge<-5||Zt<-10&&Ge>5)&&(Et+=Math.abs(Ge)*50);let To=0;const Ao=pn.get(X.key)??"n",wo=Math.abs(Ge)>lt?"h":"v";Ao!=="n"&&Ao!==wo&&(To=50);const Lr=Ut+Lt+Et+To,$e=(Xe.get(X.key)??1/0)+Lr,Ro=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if($e<(Xe.get(vt)??1/0))if(yn.set(vt,X.pt),Xe.set(vt,$e),pn.set(vt,wo),!Ye.has(vt))Se.push({key:vt,f:$e+Ro,pt:mt}),Ye.add(vt);else{const ne=Se.findIndex(Er=>Er.key===vt);ne!==-1&&(Se[ne].f=$e+Ro)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minYFt);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(Ft=>Ft.minXMath.min(X.y,$.y));if(jt.length>0){let Ft=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;Ft=Math.min(Ft,Lt)}Q=Ft}}}const mt=d(Dt=>{const jt=$.y>X.y,Ft=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=Ft;if(l&&Ft.length>0){const Lt=Ft.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),Ft={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,Ft),Et=xe(Ft,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!A.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=A.index,A.segments=[...A.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const A=m.pipe.tracks[m.trackIndex];A.segments=A.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const A=i[m.edgeIndex];for(const T of A){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),At=d(m=>{const S=i[m.edgeIndex],A=S.indexOf(h.indexOf(m)),T=[];return A>0&&T.push(h[S[A-1]]),A{if(m.orientation===S.orientation)return!1;const A=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>A.from&&T.pipe.coordT.from&&A.pipe.coord{for(const A of m.tracks)if(!A.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return A.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const A=At(m),T=At(S);return A.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,A)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);A(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let A=0;A{if(me.has(m))return me.get(m);const S=i[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),un=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())i[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const A=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=A(D),bt=A(W);if(Math.abs(z-bt)>1)return bt-z;const dt=i[D].length,ct=i[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=i[D][0],It=i[W][0];if(h[st]&&h[It]){const Bt=h[st],wt=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(wt.to-wt.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[i[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),hn=d(()=>{let m=0;const S=new Map;for(const[A,T]of s.entries())i[A].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(A));for(const A of S.values()){A.sort((N,D)=>{const W=d(z=>{const bt=i[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=A.map(N=>h[i[N][i[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),gn=d(()=>{let m=0;for(const S of a){const A=[];for(const T of S.tracks)for(const N of T.segments){const D=i[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&A.push(h[D])}A.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const A=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const wt=x.has(Bt.edgeIndex)?m.coord:It;_.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,wt)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*vn);if(U.length===0&&N.size>0){const st=[...N].sort((wt,Gt)=>Math.abs(D.get(wt)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*vn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*vn)}}for(const[m,S]of s.entries()){const A=i[m]??[];if(A.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=A.map(dt=>{const ct=h[dt],st=_.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&wt.orient===ct.orient)if(Math.abs(ct.coord-wt.coord)>lt){const ee=ct.orient==="vertical"?(It+wt.from)/2:so(ct,wt);T.push(ve(ct,ee),ve(wt,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,so(ct,wt)));else if(Gt)T.push(ve(ct,wt.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const A=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=A-N/2,ot=A+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const A=m.start,T=m.end,N=A?r.get(A):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(hr,"routeEdgesOrthogonal");function gr(t){return t.direction??"TB"}d(gr,"getSwimlaneDirection");function mr(t){var g,p,I,u,h;const e=Jo(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((I=t.config.swimlane)==null?void 0:I.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,f=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=gr(t),{ordered:l,coordinates:c}=ur(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:f,direction:a});Zo(e,l,c,{nodeGap:n,layerGap:o});for(const i of t.edges??[])delete i.points;hr(t,a);for(const i of t.edges??[])(!i.curve||i.curve==="basis")&&(i.curve="rounded");return Rs(t,a),ws(t),a}d(mr,"runSwimlaneLayoutCore");function yr(t){qo(t);const e=Qo(t);t.nodes=e.nodes,t.edges=e.edges}d(yr,"prepareSwimlaneLayout");var $r=Tr({prepareLayout:yr,runLayoutCore:mr,afterPaint:Wo});export{$r as render}; diff --git a/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-D_Hyk221.js b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-D_Hyk221.js new file mode 100644 index 000000000..c5c4f5829 --- /dev/null +++ b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-D_Hyk221.js @@ -0,0 +1,8 @@ +import{c as r,s as e}from"./flowDiagram-HODETNUW-BJR5Tkvw.js";import{_ as a}from"./mermaid.core-DCzavt_d.js";import"./chunk-5VM5RSS4-BvUIUVyo.js";import"./chunk-XXDRQBXY-Ct_Uo9zJ.js";import"./chunk-POPQ4Y6H-Bp2c6Wpp.js";import"./chunk-F27PBJKO-CeZTmtp_.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./channel-BGpu3HdG.js";var o=a(t=>`${e(t)} + .swimlane.cluster rect { + stroke: ${t.clusterBorder} !important; + } + [data-look="neo"].cluster rect { + filter: none; + } +`,"getStyles"),m=o,y=r({defaultLayout:"swimlane",styles:m});export{y as diagram}; diff --git a/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-DzyLIZjI.js b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-DzyLIZjI.js deleted file mode 100644 index 003a51960..000000000 --- a/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-DzyLIZjI.js +++ /dev/null @@ -1,8 +0,0 @@ -import{c as r,s as e}from"./flowDiagram-HODETNUW-Dr55GFTH.js";import{_ as a}from"./mermaid.core-Db1rVExV.js";import"./chunk-5VM5RSS4-DRn7AX50.js";import"./chunk-XXDRQBXY-Np_UiiaV.js";import"./chunk-POPQ4Y6H-D4TU3m_X.js";import"./chunk-F27PBJKO-nNeL4pO3.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./channel-tqVB_xud.js";var o=a(t=>`${e(t)} - .swimlane.cluster rect { - stroke: ${t.clusterBorder} !important; - } - [data-look="neo"].cluster rect { - filter: none; - } -`,"getStyles"),m=o,y=r({defaultLayout:"swimlane",styles:m});export{y as diagram}; diff --git a/amplifier_web/static/assets/timeline-definition-24CTP7MA-34PlETXr.js b/amplifier_web/static/assets/timeline-definition-24CTP7MA-Cf_PZrnF.js similarity index 99% rename from amplifier_web/static/assets/timeline-definition-24CTP7MA-34PlETXr.js rename to amplifier_web/static/assets/timeline-definition-24CTP7MA-Cf_PZrnF.js index f565f6b7a..42725d8a5 100644 --- a/amplifier_web/static/assets/timeline-definition-24CTP7MA-34PlETXr.js +++ b/amplifier_web/static/assets/timeline-definition-24CTP7MA-Cf_PZrnF.js @@ -1,4 +1,4 @@ -import{_ as l,y as pt,U as Wt,V as Pt,W as Bt,c as gt,l as S,D as Vt,L as Ft,X as ft,j as J,t as zt,Y as Gt,p as Ot}from"./mermaid.core-Db1rVExV.js";import{d as ot}from"./arc-C0HCYinx.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var tt=(function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],o=[1,15],c=[1,16],a=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:o,20:c,21:17,22:18,23:a,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:o,20:c,21:17,22:18,23:a,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,C=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(R.yy[F]=this.yy[F]);_.setInput(s,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(U,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var X="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?X="Parse error on line "+(M+1)+`: +import{_ as l,y as pt,U as Wt,V as Pt,W as Bt,c as gt,l as S,D as Vt,L as Ft,X as ft,j as J,t as zt,Y as Gt,p as Ot}from"./mermaid.core-DCzavt_d.js";import{d as ot}from"./arc-BZobgCN0.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var tt=(function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],o=[1,15],c=[1,16],a=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:o,20:c,21:17,22:18,23:a,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:o,20:c,21:17,22:18,23:a,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,C=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),R={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(R.yy[F]=this.yy[F]);_.setInput(s,R.yy),R.yy.lexer=_,R.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(U,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var X="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?X="Parse error on line "+(M+1)+`: `+_.showPosition()+` Expecting `+D.join(", ")+", got '"+(this.terminals_[$]||$)+"'":X="Parse error on line "+(M+1)+": Unexpected "+($==V?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(X,{text:_.match,token:this.terminals_[$]||$,line:_.yylineno,loc:z,expected:D})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+$);switch(b[0]){case 1:h.push($),m.push(_.yytext),u.push(_.yylloc),h.push(b[1]),$=null,C=_.yyleng,v=_.yytext,M=_.yylineno,z=_.yylloc;break;case 2:if(I=this.productions_[b[1]][1],E.$=m[m.length-I],E._$={first_line:u[u.length-(I||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(I||1)].first_column,last_column:u[u.length-1].last_column},q&&(E._$.range=[u[u.length-(I||1)].range[0],u[u.length-1].range[1]]),T=this.performAction.apply(E,[v,C,M,R.yy,b[1],m,u].concat(L)),typeof T<"u")return T;I&&(h=h.slice(0,-1*I*2),m=m.slice(0,-1*I),u=u.slice(0,-1*I)),h.push(this.productions_[b[1]][0]),m.push(E.$),u.push(E._$),B=w[h[h.length-2]][h[h.length-1]],h.push(B);break;case 3:return!0}}return!0},"parse")},x=(function(){var k={EOF:1,parseError:l(function(d,h){if(this.yy.parser)this.yy.parser.parseError(d,h);else throw new Error(d)},"parseError"),setInput:l(function(s,d){return this.yy=d||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:l(function(s){var d=s.length,h=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===g.length?this.yylloc.first_column:0)+g[g.length-h.length].length-h[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(s){this.unput(this.match.slice(s))},"less"),pastInput:l(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var s=this.pastInput(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/amplifier_web/static/assets/vennDiagram-4TSXK5OY-BOspaChz.js b/amplifier_web/static/assets/vennDiagram-4TSXK5OY-BulJw8FW.js similarity index 99% rename from amplifier_web/static/assets/vennDiagram-4TSXK5OY-BOspaChz.js rename to amplifier_web/static/assets/vennDiagram-4TSXK5OY-BulJw8FW.js index 5c4cc765d..94f72fe64 100644 --- a/amplifier_web/static/assets/vennDiagram-4TSXK5OY-BOspaChz.js +++ b/amplifier_web/static/assets/vennDiagram-4TSXK5OY-BulJw8FW.js @@ -1,4 +1,4 @@ -import{b1 as Gt,s as Kt,g as Ht,o as Yt,n as Xt,a as Zt,b as Jt,_ as S,y as St,D as Qt,j as rt,am as $t,U as te,V as ee,W as ne,d as se,p as ie,A as re,B as oe}from"./mermaid.core-Db1rVExV.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";const kt=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const O=f.slice();return O.fx=f.fx,O.id=f.id,O});x.sort((f,O)=>f.id-O.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(Q(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(Q(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Dt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Ct(t,n,s){n==null&&(n=Math.PI/2);let e=jt(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function jt(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const O=new Set;f.forEach(I=>{I.size==0&&I.sets.length==1&&O.add(I.sets[0])}),f=f.filter(I=>!I.sets.some(C=>O.has(C)));let k={},R={};if(f.length>0){let I=b(f,{lossFunction:v,distinct:m});l&&(I=Ct(I,o,d)),k=Nt(I,s,e,i,h),R=Lt(k,f,M)}const Z={};f.forEach(I=>{I.label&&(Z[I.sets]=I.label)});function q(I){if(I.sets in Z)return Z[I.sets];if(I.sets.length==1)return""+I.sets[0]}x.selectAll("svg").data([k]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(I){const C=this.getAttribute("d");I.sets.length==1&&C&&!m&&(z=!0,V[I.sets[0]]=Me(C))});function U(I){return C=>{const W=I.sets.map(J=>{let G=V[J],X=k[J];return G||(G={x:s/2,y:e/2,radius:1}),X||(X={x:s/2,y:e/2,radius:1}),{x:G.x*(1-C)+X.x*C,y:G.y*(1-C)+X.y*C,radius:G.radius*(1-C)+X.radius*C}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,I=>I.sets),j=A.enter().append("g").attr("class",I=>`venn-area venn-${I.sets.length==1?"circle":"intersection"}${I.colour||I.color?" venn-coloured":""}`).attr("data-venn-sets",I=>I.sets.join("_")),F=j.append("path"),L=j.append("text").attr("class","label").text(I=>q(I)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(F.style("fill-opacity","0").filter(I=>I.sets.length==1).style("fill",I=>I.colour?I.colour:I.color?I.color:g(I.sets)).style("fill-opacity",".25"),L.style("fill",I=>I.colour||I.color?"#FFF":t.textFill?t.textFill:I.sets.length==1?g(I.sets):"#444"));function P(I){return typeof I.transition=="function"?I.transition("venn").duration(r):I}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",I=>wt(I.sets.map(C=>k[C])),y);const D=_.selectAll("text").filter(I=>I.sets in R).text(I=>q(I)).attr("x",I=>Math.floor(R[I.sets].x)).attr("y",I=>Math.floor(R[I.sets].y));u&&(z?"on"in D?D.on("end",ot(k,q)):D.each("end",ot(k,q)):D.each(ot(k,q)));const N=P(A.exit()).remove();typeof A.transition=="function"&&N.selectAll("path").attrTween("d",U);const Y=N.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),D.style("font-size",p),Y.style("font-size","0px")),{circles:k,textCentres:R,nodes:A,enter:j,update:_,exit:N}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Dt:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function Ie(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function ke(t,n,s){const e=[];return e.push(` +import{b1 as Gt,s as Kt,g as Ht,o as Yt,n as Xt,a as Zt,b as Jt,_ as S,y as St,D as Qt,j as rt,am as $t,U as te,V as ee,W as ne,d as se,p as ie,A as re,B as oe}from"./mermaid.core-DCzavt_d.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";const kt=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const O=f.slice();return O.fx=f.fx,O.id=f.id,O});x.sort((f,O)=>f.id-O.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(Q(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(Q(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Dt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Ct(t,n,s){n==null&&(n=Math.PI/2);let e=jt(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function jt(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const O=new Set;f.forEach(I=>{I.size==0&&I.sets.length==1&&O.add(I.sets[0])}),f=f.filter(I=>!I.sets.some(C=>O.has(C)));let k={},R={};if(f.length>0){let I=b(f,{lossFunction:v,distinct:m});l&&(I=Ct(I,o,d)),k=Nt(I,s,e,i,h),R=Lt(k,f,M)}const Z={};f.forEach(I=>{I.label&&(Z[I.sets]=I.label)});function q(I){if(I.sets in Z)return Z[I.sets];if(I.sets.length==1)return""+I.sets[0]}x.selectAll("svg").data([k]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(I){const C=this.getAttribute("d");I.sets.length==1&&C&&!m&&(z=!0,V[I.sets[0]]=Me(C))});function U(I){return C=>{const W=I.sets.map(J=>{let G=V[J],X=k[J];return G||(G={x:s/2,y:e/2,radius:1}),X||(X={x:s/2,y:e/2,radius:1}),{x:G.x*(1-C)+X.x*C,y:G.y*(1-C)+X.y*C,radius:G.radius*(1-C)+X.radius*C}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,I=>I.sets),j=A.enter().append("g").attr("class",I=>`venn-area venn-${I.sets.length==1?"circle":"intersection"}${I.colour||I.color?" venn-coloured":""}`).attr("data-venn-sets",I=>I.sets.join("_")),F=j.append("path"),L=j.append("text").attr("class","label").text(I=>q(I)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(F.style("fill-opacity","0").filter(I=>I.sets.length==1).style("fill",I=>I.colour?I.colour:I.color?I.color:g(I.sets)).style("fill-opacity",".25"),L.style("fill",I=>I.colour||I.color?"#FFF":t.textFill?t.textFill:I.sets.length==1?g(I.sets):"#444"));function P(I){return typeof I.transition=="function"?I.transition("venn").duration(r):I}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",I=>wt(I.sets.map(C=>k[C])),y);const D=_.selectAll("text").filter(I=>I.sets in R).text(I=>q(I)).attr("x",I=>Math.floor(R[I.sets].x)).attr("y",I=>Math.floor(R[I.sets].y));u&&(z?"on"in D?D.on("end",ot(k,q)):D.each("end",ot(k,q)):D.each(ot(k,q)));const N=P(A.exit()).remove();typeof A.transition=="function"&&N.selectAll("path").attrTween("d",U);const Y=N.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),D.style("font-size",p),Y.style("font-size","0px")),{circles:k,textCentres:R,nodes:A,enter:j,update:_,exit:N}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Dt:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function Ie(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function ke(t,n,s){const e=[];return e.push(` M`,t,n),e.push(` m`,-s,0),e.push(` a`,s,s,0,1,0,s*2,0),e.push(` diff --git a/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-D1ei6gt2.js b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js similarity index 99% rename from amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-D1ei6gt2.js rename to amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js index f40a3795d..2f9ac73af 100644 --- a/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-D1ei6gt2.js +++ b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js @@ -1,4 +1,4 @@ -import{p as zt}from"./chunk-JWPE2WC7-DrQCOfW2.js";import{s as Lt,g as Tt,o as At,n as Xt,a as Et,b as Yt,_ as y,E as It,y as Bt,A as Q,l as et,D as Ft,d as Rt,p as Ot,c as V}from"./mermaid.core-Db1rVExV.js";import{p as Wt}from"./cynefin-OW5HDTMX-BLW9r9wv.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:Xt,getDiagramTitle:At,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Zt=y((a,o,e,p)=>{var J,K;et.debug(`Rendering Wardley map +import{p as zt}from"./chunk-JWPE2WC7-CnhxyFoR.js";import{s as Lt,g as Tt,o as At,n as Xt,a as Et,b as Yt,_ as y,E as It,y as Bt,A as Q,l as et,D as Ft,d as Rt,p as Ot,c as V}from"./mermaid.core-DCzavt_d.js";import{p as Wt}from"./cynefin-OW5HDTMX-D2urArke.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:Xt,getDiagramTitle:At,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Zt=y((a,o,e,p)=>{var J,K;et.debug(`Rendering Wardley map `+a);const r=_t(),d=Vt(),m=r.nodeRadius*1.6,v=p.db,g=v.getWardleyData(),L=v.getDiagramTitle(),M=((J=g.size)==null?void 0:J.width)??r.width,k=((K=g.size)==null?void 0:K.height)??r.height,N=Ft(o);N.selectAll("*").remove(),Rt(N,k,M,r.useMaxWidth),N.attr("viewBox",`0 0 ${M} ${k}`);const P=N.append("g").attr("class","wardley-map"),q=N.append("defs");q.append("marker").attr("id",`arrow-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-end-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-start-${o}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),P.append("rect").attr("class","wardley-background").attr("width",M).attr("height",k).attr("fill",d.backgroundColor);const B=M-r.padding*2,F=k-r.padding*2;L&&P.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",r.padding/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(L);const T=y(t=>r.padding+t/100*B,"projectX"),A=y(t=>k-r.padding-t/100*F,"projectY"),O=P.append("g").attr("class","wardley-axes");O.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1),O.append("line").attr("x1",r.padding).attr("x2",r.padding).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const kt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";O.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",r.padding+B/2).attr("y",k-r.padding/4).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(kt),O.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",r.padding/3).attr("y",r.padding+F/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${r.padding/3} ${r.padding+F/2})`).text(bt);const R=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:jt;if(R.length>0){const t=P.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===R.length){let i=0;n.forEach(h=>{s.push({start:i,end:h}),i=h})}else{const i=1/R.length;R.forEach((h,l)=>{s.push({start:l*i,end:(l+1)*i})})}R.forEach((i,h)=>{const l=s[h],x=r.padding+l.start*B,f=r.padding+l.end*B,u=(x+f)/2;h>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",k-r.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(r.showGrid){const t=P.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=r.padding+B*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding-F*s).attr("y2",k-r.padding-F*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:T(t.x),y:A(t.y),node:t})}),g.pipelines.length>0){const t=P.append("g").attr("class","wardley-pipelines"),n=P.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f{const u=c.get(f);u&&(h=Math.min(h,u.x),l=Math.max(l,u.x),x=u.y)}),h!==1/0&&l!==-1/0){const u=r.nodeRadius*4,w=x-u/2,S=c.get(s.nodeId);if(S){const z=(h+l)/2;S.x=z,S.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",h-15).attr("y",w).attr("width",l-h+30).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const _=P.append("g").attr("class","wardley-links"),Z=new Map;g.pipelines.forEach(t=>{Z.set(t.nodeId,new Set(t.componentIds))});const U=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=Z.get(t.target);return!(n!=null&&n.has(t.source))});_.selectAll("line").data(U).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*h}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*h}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*h}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*h}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${o})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${o})`:null),_.selectAll("text").data(U.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+h*h),f=8,u=h/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,h=s.x-n.x,l=s.y-n.y,x=Math.sqrt(h*h+l*l),f=8,u=-h/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",r.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,S=-l/f,z=i+w*u,W=h+S*u;let Y=Math.atan2(x,l)*180/Math.PI;return(Y>90||Y<-90)&&(Y+=180),`rotate(${Y} ${z} ${W})`}).text(t=>t.label);const $t=P.append("g").attr("class","wardley-trends"),vt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=T(t.targetX),i=A(t.targetY),h=s-n.x,l=i-n.y,x=Math.sqrt(h*h+l*l),f=r.nodeRadius+2,u=x>f?s-h/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);$t.selectAll("line").data(vt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${o})`);const C=P.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));C.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const X=C.filter(t=>t.sourceStrategy==="market");X.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const H=r.nodeRadius*.7,$=r.nodeRadius*1.2;if(X.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),X.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),X.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),X.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),X.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),X.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),C.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),C.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",r.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=P.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:T(i.x),y:A(i.y)}));if(s.length>1)for(let i=0;i{const h=t.append("g").attr("class","wardley-annotation");h.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),h.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=T(g.annotationsBox.x),s=A(g.annotationsBox.y);const i=10,h=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,S)=>w.number-S.number),u=[];if(f.forEach((w,S)=>{const z=x.append("text").attr("x",n+i).attr("y",s+i+(S+1)*h).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(z)}),u.length>0){let w=0,S=0;u.forEach(j=>{const D=j.node(),Nt=D.getComputedTextLength();w=Math.max(w,Nt);const Ct=D.getBBox();S=Math.max(S,Ct.height)});const z=w+i*2+105,W=f.length*h+i*2+S/2,Y=r.padding,Pt=M-r.padding-z,St=r.padding,Mt=k-r.padding-W;n=Math.max(Y,Math.min(n,Pt)),s=Math.max(St,Math.min(s,Mt)),u.forEach((j,D)=>{j.attr("x",n+i).attr("y",s+i+(D+1)*h)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",z).attr("height",W).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=P.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=T(n.x),i=A(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=P.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=T(n.x),i=A(n.y),h=60,l=30,x=20,f=` M ${s} ${i-l/2} L ${s+h-x} ${i-l/2} diff --git a/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-CJjJ47BC.js b/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js similarity index 99% rename from amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-CJjJ47BC.js rename to amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js index 2c84f3cc0..6803862ac 100644 --- a/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-CJjJ47BC.js +++ b/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js @@ -1,4 +1,4 @@ -import{s as pi,g as mi,o as $t,n as yi,a as bi,b as wi,_ as a,l as Ut,D as Ai,d as Ci,p as Si,y as Dt,i as Ri,A as Gt,B as _i,E as ki,aB as Ti,Q as Xt}from"./mermaid.core-Db1rVExV.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-Cs83r27z.js";import"./app-CI1rDkjG.js";import"./client-BPXDbY79.js";import"./defaultLocale-DX6XiGOO.js";function vi(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(P.yylloc={});var wt=P.yylloc;r.push(wt);var xi=P.options&&P.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function fi(B){d.length=d.length-2*B,_.length=_.length-B,r.length=r.length-B}a(fi,"popStack");function Ft(){var B;return B=x.pop()||P.lex()||Vt,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=g.symbols_[B]||B),B}a(Ft,"lex");for(var I,U,V,At,j={},xt,Y,Wt,ft;;){if(U=d[d.length-1],this.defaultActions[U]?V=this.defaultActions[U]:((I===null||typeof I>"u")&&(I=Ft()),V=lt[U]&<[U][I]),typeof V>"u"||!V.length||!V[0]){var Ct="";ft=[];for(xt in lt[U])this.terminals_[xt]&&xt>ui&&ft.push("'"+this.terminals_[xt]+"'");P.showPosition?Ct="Parse error on line "+(dt+1)+`: +import{s as pi,g as mi,o as $t,n as yi,a as bi,b as wi,_ as a,l as Ut,D as Ai,d as Ci,p as Si,y as Dt,i as Ri,A as Gt,B as _i,E as ki,aB as Ti,Q as Xt}from"./mermaid.core-DCzavt_d.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-B0ph5MIY.js";import"./app-DiRg4AEn.js";import"./client-BPXDbY79.js";import"./defaultLocale-DX6XiGOO.js";function vi(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(P.yylloc={});var wt=P.yylloc;r.push(wt);var xi=P.options&&P.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function fi(B){d.length=d.length-2*B,_.length=_.length-B,r.length=r.length-B}a(fi,"popStack");function Ft(){var B;return B=x.pop()||P.lex()||Vt,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=g.symbols_[B]||B),B}a(Ft,"lex");for(var I,U,V,At,j={},xt,Y,Wt,ft;;){if(U=d[d.length-1],this.defaultActions[U]?V=this.defaultActions[U]:((I===null||typeof I>"u")&&(I=Ft()),V=lt[U]&<[U][I]),typeof V>"u"||!V.length||!V[0]){var Ct="";ft=[];for(xt in lt[U])this.terminals_[xt]&&xt>ui&&ft.push("'"+this.terminals_[xt]+"'");P.showPosition?Ct="Parse error on line "+(dt+1)+`: `+P.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Ct="Parse error on line "+(dt+1)+": Unexpected "+(I==Vt?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Ct,{text:P.match,token:this.terminals_[I]||I,line:P.yylineno,loc:wt,expected:ft})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+I);switch(V[0]){case 1:d.push(I),_.push(P.yytext),r.push(P.yylloc),d.push(V[1]),I=null,Ot=P.yyleng,m=P.yytext,dt=P.yylineno,wt=P.yylloc;break;case 2:if(Y=this.productions_[V[1]][1],j.$=_[_.length-Y],j._$={first_line:r[r.length-(Y||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(Y||1)].first_column,last_column:r[r.length-1].last_column},xi&&(j._$.range=[r[r.length-(Y||1)].range[0],r[r.length-1].range[1]]),At=this.performAction.apply(j,[m,Ot,dt,$.yy,V[1],_,r].concat(di)),typeof At<"u")return At;Y&&(d=d.slice(0,-1*Y*2),_=_.slice(0,-1*Y),r=r.slice(0,-1*Y)),d.push(this.productions_[V[1]][0]),_.push(j.$),r.push(j._$),Wt=lt[d[d.length-2]][d[d.length-1]],d.push(Wt);break;case 3:return!0}}return!0},"parse")},ht=(function(){var W={EOF:1,parseError:a(function(g,d){if(this.yy.parser)this.yy.parser.parseError(g,d);else throw new Error(g)},"parseError"),setInput:a(function(l,g){return this.yy=g||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var g=l.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:a(function(l){var g=l.length,d=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===x.length?this.yylloc.first_column:0)+x[x.length-d.length].length-d[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(l){this.unput(this.match.slice(l))},"less"),pastInput:a(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var l=this.pastInput(),g=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/amplifier_web/static/build.json b/amplifier_web/static/build.json index 1331cf744..79b86e87a 100644 --- a/amplifier_web/static/build.json +++ b/amplifier_web/static/build.json @@ -1 +1 @@ -{"version":"0.20.32","id":"8e210f6105242306"} +{"version":"0.20.33","id":"d8f928d42c7f4bee"} diff --git a/amplifier_web/static/index.html b/amplifier_web/static/index.html index 9edfd1341..0d4b00b37 100644 --- a/amplifier_web/static/index.html +++ b/amplifier_web/static/index.html @@ -16,7 +16,7 @@ Amplifier - +
diff --git a/amplifier_web/worker_diagnostics.py b/amplifier_web/worker_diagnostics.py index 58579e47f..b46eebb58 100644 --- a/amplifier_web/worker_diagnostics.py +++ b/amplifier_web/worker_diagnostics.py @@ -1,22 +1,125 @@ -"""Private, bounded startup stderr. Never include worker output in public state.""" +"""Bounded, redacted startup receipts. Their contents never enter public state.""" from datetime import datetime, timezone import json +import logging import os from pathlib import Path +import re +import traceback import uuid +MAX_DETAIL_BYTES = 60_000 +_SECRET_NAME = re.compile(r'(?i)(api.?key|password|secret|authorization|cookie|credential|token)') +_SECRET_ASSIGNMENT = re.compile( + r'''(?ix)(["']?(?:api[_-]?key|password|client[_-]?secret|access[_-]?token|refresh[_-]?token|id[_-]?token|authorization|cookie)["']?\s*[:=]\s*) + (?:"[^"\n]*"|'[^'\n]*'|[^\s,;}]+)''') +_RECEIPT = re.compile(r'^startup-[a-f0-9]{32}\.log$') -def save_startup_failure(row, exit_code): - from .deployment import write_private - stderr = ''.join(row.get('stderr', []))[-60_000:] - if not stderr: + +def redact_diagnostic(value): + """Best-effort secret removal, including secrets inherited by this process. + + Receipts remain private because arbitrary module exception text can contain + sensitive context beyond recognizable credentials. Never publish this text. + """ + text = str(value) + for name, secret in os.environ.items(): + if _SECRET_NAME.search(name) and len(secret) >= 4: + text = text.replace(secret, '[REDACTED]') + text = re.sub(r'(?is)-----BEGIN [^-]*PRIVATE KEY-----.*?-----END [^-]*PRIVATE KEY-----', '[REDACTED PRIVATE KEY]', text) + text = re.sub(r'(?i)(bearer\s+)[^\s"\']+', r'\1[REDACTED]', text) + text = re.sub(r'(?i)(https?://)[^\s/@]+:[^\s/@]+@', r'\1[REDACTED]@', text) + text = _SECRET_ASSIGNMENT.sub(r'\1[REDACTED]', text) + text = re.sub(r'\b(?:sk-[A-Za-z0-9_-]{12,}|gh[pousr]_[A-Za-z0-9]{16,}|eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+)\b', '[REDACTED]', text) + return text + + +def _bounded(text, limit=MAX_DETAIL_BYTES): + return text.encode('utf-8', errors='replace')[-limit:].decode('utf-8', errors='ignore') if limit else '' + + +def _home(): + return Path(os.environ.get('AMPLIFIER_WEB_HOME', Path.home() / '.amplifier-unified')) + + +def receipt_path(name, *, home=None): + """Resolve only a receipt created in this instance, never a worker-sent path.""" + if not isinstance(name, str) or not _RECEIPT.fullmatch(name): return None - home = Path(os.environ.get('AMPLIFIER_WEB_HOME', Path.home() / '.amplifier-unified')) - path = home / 'logs' / 'workers' / f'startup-{uuid.uuid4().hex}.log' - record = {'time': datetime.now(timezone.utc).isoformat(), 'exitCode': exit_code, - 'phase': row.get('phase', 'runtime-setup')} + path = (Path(home) if home is not None else _home()) / 'logs' / 'workers' / name try: - write_private(path, json.dumps(record) + '\n\n' + stderr) + return path if path.is_file() and not path.is_symlink() else None except OSError: - return None # A full/read-only disk must not hide the original failure. - return path + return None + + +def diagnostic_reference(error): + name = getattr(getattr(error, "diagnostic_path", None), "name", None) + return {"diagnosticReceipt": name} if isinstance(name, str) and _RECEIPT.fullmatch(name) else {} + + +def save_startup_failure(row, exit_code, *, failure=None): + """Save stderr, or a metadata-only receipt for a handled startup failure.""" + try: + from .deployment import write_private + stderr = _bounded(redact_diagnostic(''.join(row.get('stderr', [])))) + if not stderr and failure is None: + return None + record = {'time': datetime.now(timezone.utc).isoformat(), 'exitCode': exit_code, + 'phase': redact_diagnostic(row.get('phase', 'runtime-setup'))[:100]} + identity = row.get('runtime_id') + if isinstance(identity, str) and re.fullmatch(r'[A-Za-z0-9_-]{1,200}', identity): + record['sessionId'] = identity + if failure is not None: + record['failure'] = _bounded(redact_diagnostic(failure), 8_000) + # Bound the complete file, including JSON escaping of arbitrary errors. + header = json.dumps(record) + stderr = _bounded(stderr, max(0, MAX_DETAIL_BYTES - len(header.encode('utf-8')) - 2)) + path = _home() / 'logs' / 'workers' / f'startup-{uuid.uuid4().hex}.log' + write_private(path, header + '\n\n' + stderr) + return path + except Exception: + return None # Diagnostics must never replace the original startup error. + + +class StartupCapture(logging.Handler): + """Capture the original Core validation error before safe metadata replaces it. + + No prompt/config dumps or frame locals are collected. Core's loader error + includes the failed contract check and underlying exception. If INFO logging + is already enabled, mount source lines are retained too. This handler never + changes application log levels and is removed once startup finishes. + """ + def __init__(self): + super().__init__(logging.INFO) + self.lines = [] + self._loggers = [logging.getLogger(name) for name in ('amplifier_core', 'amplifier_foundation')] + for logger in self._loggers: + logger.addHandler(self) + + def emit(self, record): + try: + message = record.getMessage() + if record.levelno < logging.WARNING and '[module:mount]' not in message: + return + self.lines.append(_bounded(redact_diagnostic(f'{record.name}: {message}\n'))) + self.lines = [_bounded(''.join(self.lines))] + except Exception: + pass + + def save(self, exc, session_id): + try: + # Traceback locations only: source lines and locals can contain secrets. + locations = [{'file': frame.filename, 'line': frame.lineno, 'function': frame.name} + for frame in traceback.extract_tb(exc.__traceback__)[-20:]] + detail = json.dumps({'errorType': type(exc).__name__, + 'message': redact_diagnostic(exc), 'frames': locations}) + return save_startup_failure({'stderr': self.lines, 'runtime_id': session_id, + 'phase': 'session-mount'}, None, failure=detail) + except Exception: + return None + + def close(self): + for logger in self._loggers: + logger.removeHandler(self) + super().close() diff --git a/frontend/src/conversation-controls.jsx b/frontend/src/conversation-controls.jsx index dc4af6608..e64ee6464 100644 --- a/frontend/src/conversation-controls.jsx +++ b/frontend/src/conversation-controls.jsx @@ -69,7 +69,7 @@ export function ConversationDetails({session,act}){ const working=recoveryUnsafe(session); return

Session ID{identity}

{identity!==session.id&&

App ID: {session.id}

}

{session.workspace}
Bundle: {session.bundle} · Status: {session.status}

- {(failure||session.error||moduleFailures.length>0)&&(moduleFailures.length>0?<>

Configured modules could not load

    {moduleFailures.map((row,index)=>
  • {row.module}: {row.guidance}
  • )}
:<>

{failure?.summary||'The turn failed. Inspect the recorded details for its cause.'}

{failure?.guidance||'Work was not automatically replayed.'}

{failure&&

Recorded error: {failure.errorType}{failure.recordedAt?' · '+new Date(failure.recordedAt*1000||failure.recordedAt).toLocaleString():''}

}{session.error&&
Runtime message

{session.error}

})} + {(failure||session.error||moduleFailures.length>0)&&(moduleFailures.length>0?<>

Configured modules could not load

    {moduleFailures.map((row,index)=>
  • {row.module}: {row.guidance}
  • )}
:<>

{failure?.summary||'The turn failed. Inspect the recorded details for its cause.'}

{failure?.guidance||'Work was not automatically replayed.'}

{failure&&

Recorded error: {failure.errorType}{failure.recordedAt?' · '+new Date(failure.recordedAt*1000||failure.recordedAt).toLocaleString():''}

}{failure?.generationId&&

Failed turn: {failure.generationId}

}{session.error&&
Runtime message

{session.error}

})}

Create an independent copy with readable history. Old tool calls and image payloads stay in the original; reattach images if needed. Safety stops remain in effect. Nothing runs until you send a new message.

{working&&

Wait for the current work to stop before creating a copy.

} @@ -93,7 +93,9 @@ export function ConversationError({state,session,act}){ } if(item?.read)return null; if(contextLimited)return
Context limit reached. {failure.summary} {failure.guidance}{item&&}
; - return
Conversation stopped. {failure?.summary||'The last turn failed. Your conversation is saved; work was not automatically replayed.'}{item&&}
; + const at=failure?.recordedAt??session.errorAt,date=Number.isFinite(at)&&at>0?new Date(at*1000):null; + const recorded=date&&Number.isFinite(date.getTime())?date:null; + return
{failure?.category==='worker_startup'?'Chat could not start.':'A turn stopped.'} {recorded&&}{failure?.summary||'The cause is not available in the saved details.'} Your conversation is saved.{item&&}
; } export function ConversationSelect({state,session,choices,onSelect}){ diff --git a/frontend/src/message-actions.jsx b/frontend/src/message-actions.jsx index 0126106dc..43617ca5d 100644 --- a/frontend/src/message-actions.jsx +++ b/frontend/src/message-actions.jsx @@ -4,6 +4,7 @@ import {DetailText,readDetail} from './conversation-detail'; import React,{useEffect,useRef,useState} from 'react'; import {Copy,Check,Pencil,GitBranch,ArrowUp,AlertCircle,RotateCcw,LoaderCircle} from 'lucide-react'; import {AttachmentStrip} from './chat-controls'; +import {RecoveryNotice} from './recovery-notice'; export function completedTurnEnds(session){ const messages=session?.messages||[],ends=new Map();let turn=Number(session?.sharedHistoryUserTurnOffset)||0; @@ -30,7 +31,7 @@ export function groupRecoveryMessages(messages,after=new Map()){ } export function RecoveryGroup({messages,renderArtifacts,...props}){ - return
{messages.length} recovered work updates{messages.map(message=>{renderArtifacts?.(message)})}
; + return
Saved work notices ({messages.length})

Recorded when this chat resumed. These notices are part of its history.

{messages.map(message=>{renderArtifacts?.(message)})}
; } export function MessageEntry({message:m,session,state,act,stamp,working,forkTurn,retry,discard,dispatch=act,expandedObservation=false}){ @@ -43,6 +44,7 @@ export function MessageEntry({message:m,session,state,act,stamp,working,forkTurn const localDelivery=m.localDelivery,delivery=localDelivery||(m.delivery?.status&&m.delivery.status!=='accepted'?m.delivery:null); const submit=async e=>{e.preventDefault();if(saving||blocked||!text.trim())return;setSaving(true);try{if(localDelivery)await retry(m,text);else await dispatch('message.edit',{sessionId:session.id,messageId:m.id,text,mode:edit?.fork?'fork':'current'})}catch(error){setDetailError(error.message)}finally{setSaving(false)}}; if(m.observation){ + if(m.observation.source==='local-job-recovery')return
{expandedObservation?:
Saved work notice
}
; const content=<>; return
{expandedObservation?content:
{m.observation.source==='local-job-recovery'?'Recovered work update':['amplifier-delegate','amplifier-child','amplifier-child-lifecycle'].includes(m.observation.source)?'Delegated work update':'Service observation'} · Details{content}
}
; } diff --git a/frontend/src/recovery-notice.jsx b/frontend/src/recovery-notice.jsx new file mode 100644 index 000000000..0e96819cc --- /dev/null +++ b/frontend/src/recovery-notice.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import {DetailText} from './conversation-detail'; + +export function recoveryPresentation(message,session){ + const facts=message.observation?.recovery||{},callId=facts.call_id||message.observation?.call_id; + const node=callId?(session?.execution?.nodes||[]).find(n=>n.kind==='tool'&&n.toolCallId===callId):null; + const worker=callId?(session?.workers||[]).find(w=>w.callId===callId||w.toolCallId===callId):null; + const status=({returned:'Result returned',cancelled:'Work cancelled',interrupted:'Work interrupted',failed:'Work failed',pending:'Outcome unknown'})[facts.status]||'Saved work notice'; + const uncertain=facts.outcome==='unconfirmed'||['cancelled','interrupted','pending'].includes(facts.status); + const explanation=uncertain?'The final outcome is unconfirmed. Inspect the saved work before deciding whether to continue.':facts.reason==='restored_evidence'?'A saved call or result was restored to this chat.':facts.reason==='changed_evidence'?'A saved result replaced an earlier pending record.':'Saved work was found when this chat resumed.'; + return {facts,node,worker,status,explanation}; +} + +export function RecoveryNotice({message,session,state,act}){ + const {facts,node,worker,status,explanation}=recoveryPresentation(message,session); + const workerSession=worker&&(state.sessions||[]).find(s=>s.id===worker.id||s.runtimeSessionId===worker.sessionId); + const result=node?.output,reference=node?.outputDetail; + return
+

{worker?.name||worker?.agent||node?.label||'Background work'} · {status}

+

{explanation} This notice does not mean the work ran again.

+ {workerSession&&} + {(typeof result==='string'||reference)&&
View saved result
} +
Technical details + {facts.job_id&&

Job: {facts.job_id}
Call: {facts.call_id}

} + {facts.status==='returned'&&

A returned report does not independently verify that its claimed effects succeeded.

} + + +
+
; +} diff --git a/frontend/src/timeline-data.js b/frontend/src/timeline-data.js index 85aa8d628..243f16eaa 100644 --- a/frontend/src/timeline-data.js +++ b/frontend/src/timeline-data.js @@ -109,6 +109,7 @@ export function splitWork(messages,data){ const turns=[],nodes=[]; for(const turn of data.turns){ const source=data.nodes.filter(node=>node.turnId===turn.id),groups=new Map(); + let lastGroup,lastAt=-Infinity; for(const node of source){ const at=Number.isFinite(node.startedAt)?node.startedAt:Number.isFinite(node.endedAt)?node.endedAt:turn.startedAt; let anchor=turn.anchorMessageId??null; @@ -118,14 +119,18 @@ export function splitWork(messages,data){ const id=`${turn.id}@${anchor||'start'}`; if(!groups.has(id))groups.set(id,{id,anchor,nodes:[]}); groups.get(id).nodes.push({...node,turnId:id}); + const order=Number.isFinite(at)?at:-Infinity; + if(lastGroup===undefined||order>=lastAt){lastAt=order;lastGroup=id} } if(!source.length&&isRunning(turn))groups.set(`${turn.id}@${turn.anchorMessageId||'start'}`,{id:`${turn.id}@${turn.anchorMessageId||'start'}`,anchor:turn.anchorMessageId,nodes:[]}); for(const group of groups.values()){ const starts=group.nodes.map(node=>node.startedAt).filter(Number.isFinite),ends=group.nodes.map(node=>node.endedAt).filter(Number.isFinite); - const running=group.nodes.some(isRunning)||(!starts.length&&!ends.length&&isRunning(turn)); + const turnFailure=group.id===lastGroup&&['error','failed','cancelled','interrupted'].includes(turn.status||turn.phase)?turn.status||turn.phase:null; + const running=!turnFailure&&(group.nodes.some(isRunning)||(!starts.length&&!ends.length&&isRunning(turn))); const failure=group.nodes.find(node=>['error','failed','cancelled','interrupted'].includes(node.status||node.phase)); + if(turnFailure&&Number.isFinite(turn.endedAt))ends.push(turn.endedAt); turns.push({...turn,id:group.id,originalTurnId:turn.id,anchorMessageId:group.anchor,startedAt:starts.length?Math.min(...starts):turn.startedAt, - endedAt:running?undefined:ends.length?Math.max(...ends):turn.endedAt,phase:running?'running':failure?(failure.status||failure.phase):ends.length||turn.endedAt?'completed':'recorded',status:undefined, + endedAt:running?undefined:ends.length?Math.max(...ends):turn.endedAt,phase:running?'running':turnFailure||(failure?(failure.status||failure.phase):ends.length||turn.endedAt?'completed':'recorded'),status:undefined, aggregateUsage:segmentUsage(group.nodes),nodeCounts:{tools:group.nodes.filter(n=>n.kind==='tool').length,models:group.nodes.filter(n=>n.kind==='llm').length}, ...(data.segments||[]).find(segment=>segment.id===group.id)}); nodes.push(...group.nodes); diff --git a/frontend/tests/conversation-health.test.mjs b/frontend/tests/conversation-health.test.mjs index b10625234..01af256d2 100644 --- a/frontend/tests/conversation-health.test.mjs +++ b/frontend/tests/conversation-health.test.mjs @@ -33,9 +33,12 @@ test('dismissal does not remove settings details; active work cannot be recovere await renderAct(async()=>root.unmount()); }); -test('error banner has no details or copy buttons',async()=>{ - let root;await renderAct(async()=>{root=create(React.createElement(ConversationError,{session:{id:'chat',error:'failed'},state:{},act:async()=>({accepted:true})}))}); - assert.equal(root.root.findAllByType('button').length,0);assert.equal(root.toJSON().props.className,'a-alert'); +test('error banner opens recorded details through a shared action without retrying work',async()=>{ + const calls=[]; + let root;await renderAct(async()=>{root=create(React.createElement(ConversationError,{session:{id:'chat',error:'failed'},state:{},act:async(name,args)=>{calls.push({name,args});return {accepted:true}}}))}); + assert.equal(root.root.findAllByType('button').length,1);assert.equal(root.toJSON().props.className,'a-alert'); + await renderAct(async()=>root.root.findByProps({'data-action':'view.update'}).props.onClick()); + assert.deepEqual(calls,[{name:'view.update',args:{patch:{panel:'session-details'}}}]); await renderAct(async()=>root.unmount()); }); diff --git a/frontend/tests/message-actions.test.mjs b/frontend/tests/message-actions.test.mjs index 6c9816851..7cbd73529 100644 --- a/frontend/tests/message-actions.test.mjs +++ b/frontend/tests/message-actions.test.mjs @@ -46,7 +46,7 @@ test('consecutive recovered records share one disclosure and preserve each origi const original=JSON.stringify(rows),groups=groupRecoveryMessages(rows); assert.equal(groups.length,1);assert.deepEqual(groups[0],rows); const html=renderToStaticMarkup(React.createElement(RecoveryGroup,{messages:groups[0],session:{id:'chat'},state:{view:{}},act:()=>{}})); - assert.match(html,/35 recovered work updates/);assert.equal((html.match(/
details').getAttribute('open'),null); assert.equal(await recovery.getByText(text,{exact:true}).isVisible(),false); assert.equal(await typed.getByText(text,{exact:true}).isVisible(),true); assert.equal(await typed.getByRole('button',{name:'Edit message',exact:true}).count(),1); assert.equal(await recovery.getByRole('button',{name:'Edit message',exact:true}).count(),0); - await recovery.locator('summary').click();assert.equal(await recovery.getByText(text,{exact:true}).isVisible(),true); + await recovery.locator(':scope > details > summary').click(); + assert.equal(await recovery.getByText(text,{exact:true}).isVisible(),false); + await recovery.getByText('Technical details',{exact:true}).click();assert.equal(await recovery.getByText(text,{exact:true}).isVisible(),true); assert.equal(calls.some(({action})=>['runtime.control','conversation.send'].includes(action)),false); assert.deepEqual(errors,[]); console.log('Recovered work is collapsed and labelled as a service update; identical typed text remains an editable user message. No runtime started.'); diff --git a/frontend/tests/recovery-group-browser.mjs b/frontend/tests/recovery-group-browser.mjs index 2e0b5305e..4e275f6df 100644 --- a/frontend/tests/recovery-group-browser.mjs +++ b/frontend/tests/recovery-group-browser.mjs @@ -3,9 +3,9 @@ import {chromium,expect} from '@playwright/test'; import {fileURLToPath} from 'node:url'; import assert from 'node:assert/strict'; -const recovered=i=>({id:'recovered-'+i,role:'user',text:'Retained result for job '+i,createdAt:i+1,observation:{source:'local-job-recovery',id:'job-'+i}}); +const recovered=i=>({id:'recovered-'+i,role:'user',text:'Retained result for job '+i,createdAt:i+1,observation:{source:'local-job-recovery',id:'job-'+i,recovery:{job_id:'job-'+i,call_id:'call-'+i,status:i===0?'cancelled':'returned',outcome:i===0?'unconfirmed':'tool_report_unverified',reason:'restored_evidence'}}}); const messages=[{id:'user',role:'user',createdAt:1789990000,text:'Review the retained work'},...Array.from({length:35},(_,i)=>recovered(i)),{id:'response',role:'assistant',createdAt:1789990100,text:'The saved results are available.'},recovered(35),recovered(36),{id:'quote',role:'user',createdAt:1789990200,text:'Recovered work update'}]; -let state={revision:1,settings:{workspace:'/fixture',bundle:'anchors'},runtime:{available:true},view:{navPinned:true},sessions:[{id:'chat',sessionKind:'root',title:'Retained work',workspace:'/fixture',workspaceId:'project',status:'idle',historyManaged:true,historyLoaded:true,messages}],workspaces:[{id:'project',name:'Fixture',path:'/fixture',available:true}],selectedSessionId:'chat',selectedWorkspaceId:'project',canvas:{open:false}}; +let state={revision:1,settings:{workspace:'/fixture',bundle:'anchors'},runtime:{available:true},view:{navPinned:true},sessions:[{id:'chat',sessionKind:'root',title:'Retained work',workspace:'/fixture',workspaceId:'project',status:'idle',historyManaged:true,historyLoaded:true,messages,execution:{turns:[],nodes:[{id:'saved-tool',kind:'tool',toolCallId:'call-34',output:'Retained worker report',label:'Research'}]}}],workspaces:[{id:'project',name:'Fixture',path:'/fixture',available:true}],selectedSessionId:'chat',selectedWorkspaceId:'project',canvas:{open:false}}; let browser,vite;const errors=[],calls=[]; try{ vite=await createServer({configFile:false,root:fileURLToPath(new URL('../',import.meta.url)),server:{host:'127.0.0.1',port:0,hmr:false}});await vite.listen(); @@ -24,22 +24,29 @@ try{ }); await page.goto(vite.resolvedUrls.local[0]); const first=page.locator('details.a-recovery-group').first(); - await expect(first.locator('summary')).toHaveText('35 recovered work updates'); + await expect(first.locator(':scope > summary')).toHaveText('Saved work notices (35)'); await expect(page.locator('details.a-recovery-group')).toHaveCount(2); await expect(first).not.toHaveAttribute('open',''); await expect(page.locator('[data-message-id="response"]')).toBeVisible(); await expect(page.locator('[data-message-id="quote"]')).toBeVisible(); - await first.locator('summary').click(); + await first.locator(':scope > summary').click(); await expect(first.locator('[data-message-id]')).toHaveCount(35); - await expect(first.locator('details')).toHaveCount(0); + await expect(first.locator('details')).toHaveCount(36); + await expect(first).toContainText('The final outcome is unconfirmed.'); + const result=first.locator('[data-message-id="recovered-34"]'); + await expect(result.getByText('Retained result for job 34',{exact:true})).not.toBeVisible(); + await result.getByText('View saved result',{exact:true}).click(); + await expect(result).toContainText('Retained worker report'); + await first.locator('[data-message-id="recovered-34"]').getByText('Technical details',{exact:true}).click(); await first.locator('[data-message-id="recovered-34"]').getByRole('button',{name:'Copy observation'}).click(); assert.ok(calls.some(call=>call.action==='message.copy'&&call.args.messageId==='recovered-34')); - await first.locator('summary').click(); + await first.locator(':scope > summary').click(); await expect(first).not.toHaveAttribute('open',''); await page.setViewportSize({width:390,height:844}); - await first.locator('summary').scrollIntoViewIfNeeded(); + await first.locator(':scope > summary').scrollIntoViewIfNeeded(); assert.equal(await page.evaluate(()=>document.documentElement.scrollWidth<=innerWidth),true); await page.screenshot({path:'/tmp/unified-recovery-group-mobile.png'}); + assert.equal(calls.some(call=>['runtime.control','conversation.send','session.recover'].includes(call.action)),false); assert.deepEqual(errors,[]); console.log('Recovery grouping passed: 35 original records, one disclosure, unchanged chronology, individual copy, collapse and mobile width.'); }finally{await browser?.close();await vite?.close()} diff --git a/frontend/tests/recovery-notice.test.mjs b/frontend/tests/recovery-notice.test.mjs new file mode 100644 index 000000000..d4b91abb7 --- /dev/null +++ b/frontend/tests/recovery-notice.test.mjs @@ -0,0 +1,33 @@ +import test from 'node:test'; +import assert from 'node:assert/strict'; +import React from 'react'; +import {renderToStaticMarkup} from 'react-dom/server'; +import {createServer} from 'vite'; +const server=await createServer({server:{middlewareMode:true,hmr:false},appType:'custom',optimizeDeps:{noDiscovery:true,include:[]}}); +const {RecoveryNotice,recoveryPresentation}=await server.ssrLoadModule('/src/recovery-notice.jsx'); +const {ConversationError}=await server.ssrLoadModule('/src/conversation-controls.jsx'); +test.after(()=>server.close()); +const message={id:'notice',text:'Original recovery JSON',observation:{source:'local-job-recovery',recovery:{job_id:'job-1',call_id:'call-1',status:'returned',outcome:'tool_report_unverified'}}}; +test('recovery presents recorded status without claiming verified success',()=>{ + const html=renderToStaticMarkup(React.createElement(RecoveryNotice,{message,session:{id:'chat'},state:{},act:()=>{}})); + assert.match(html,/Result returned/);assert.match(html,/does not mean the work ran again/); + assert.match(html,/
Technical details/);assert.match(html,/Original recovery JSON/); + assert.match(html,/does not independently verify/);assert.doesNotMatch(html,/Open worker chat|View saved result/); + const uncertain=recoveryPresentation({...message,observation:{recovery:{status:'cancelled',outcome:'unconfirmed'}}},{}); + assert.equal(uncertain.status,'Work cancelled');assert.match(uncertain.explanation,/final outcome is unconfirmed/); +}); +test('saved result and worker link require matching canonical call identity',()=>{ + const session={id:'chat',execution:{nodes:[{id:'tool',kind:'tool',toolCallId:'call-1',output:'Saved result',label:'Research'}]},workers:[{id:'worker',callId:'call-1',name:'Researcher'}]}; + const props={message,session,state:{sessions:[{id:'worker'}]},act:()=>{}}; + const html=renderToStaticMarkup(React.createElement(RecoveryNotice,props)); + assert.match(html,/View saved result/);assert.match(html,/Open worker chat/);assert.match(html,/Researcher/); + assert.doesNotMatch(renderToStaticMarkup(React.createElement(RecoveryNotice,{...props,message:{...message,observation:{recovery:{call_id:'different'}}}})),/View saved result|Open worker chat/); +}); +test('failure banner identifies the recorded incident and respects acknowledgement',()=>{ + const props={state:{},act:()=>{},session:{id:'chat',error:'Runtime failed',failure:{summary:'The manager turn failed.',recordedAt:1790517218.5,generationId:'failed-turn'}}}; + const html=renderToStaticMarkup(React.createElement(ConversationError,props)); + assert.match(html,/A turn stopped/);assert.match(html,/2026-09-27T13:53:38.500Z/);assert.match(html,/View error details/); + assert.doesNotMatch(html,/Conversation stopped/); + assert.equal(renderToStaticMarkup(React.createElement(ConversationError,{...props,state:{attention:{items:[{id:'session:chat',read:true}]}}})), ''); + assert.equal(renderToStaticMarkup(React.createElement(ConversationError,{...props,session:{id:'chat',status:'idle',failure:props.session.failure}})), ''); +}); diff --git a/frontend/tests/session-health-browser.mjs b/frontend/tests/session-health-browser.mjs index 36fe4501d..5bba06126 100644 --- a/frontend/tests/session-health-browser.mjs +++ b/frontend/tests/session-health-browser.mjs @@ -22,13 +22,14 @@ try{ await expect(page.getByRole('button',{name:'Create recovery copy',exact:true})).toBeVisible(); if(activeWorker) await expect(page.getByRole('alert').getByRole('button',{name:'Create recovery copy',exact:true})).toBeDisabled(); }else{ - await expect(page.getByText('Conversation stopped.',{exact:true})).toBeVisible(); - assert.ok((await page.getByRole('alert').filter({hasText:'Conversation stopped.'}).boundingBox()).height<120); + await expect(page.getByText(moduleFailure?'Chat could not start.':'A turn stopped.',{exact:true})).toBeVisible(); + assert.ok((await page.getByRole('alert').filter({hasText:moduleFailure?'Chat could not start.':'A turn stopped.'}).boundingBox()).height<120); } await expect(page.getByRole('button',{name:'Conversation details',exact:true})).toHaveCount(0); await expect(page.getByRole('button',{name:'Copy session ID',exact:true})).toHaveCount(0); await page.screenshot({path:output+'compact-error.png'}); - await page.getByRole('button',{name:'Chat details',exact:true}).click(); + if(contextLimit)await page.evaluate(()=>window.amplifier.dispatch('view.update',{patch:{panel:'session-details'}})); + else await page.getByRole('button',{name:'View error details',exact:true}).click(); const dialog=page.getByRole('dialog',{name:'Chat details',exact:true}); await expect(dialog.getByRole('button',{name:'Hide details',exact:true})).toHaveCount(0); if(moduleFailure){ diff --git a/frontend/tests/work-segments.test.mjs b/frontend/tests/work-segments.test.mjs index 552f0cd39..95b78b4d9 100644 --- a/frontend/tests/work-segments.test.mjs +++ b/frontend/tests/work-segments.test.mjs @@ -31,6 +31,26 @@ test('undated native transcript anchors take precedence over fallback timestamps const grouped=splitWork(messages.map(m=>({...m,createdAt:0,timestampKnown:false})),{...data,nodes:[{...data.nodes[0],anchorMessageId:'interim'}]}); assert.equal(grouped.turns[0].anchorMessageId,'interim'); }); +for(const phase of ['error','failed','cancelled','interrupted'])test(`manager ${phase} survives a successful final model call`,()=>{ + const source={...data,turns:[{...data.turns[0],phase,endedAt:22}],nodes:[...data.nodes].reverse()}; + const before=JSON.stringify(source),grouped=splitWork(messages,source); + const byAnchor=new Map(grouped.turns.map(turn=>[turn.anchorMessageId,turn])); + assert.equal(byAnchor.get('user').phase,'completed');assert.equal(byAnchor.get('user').endedAt,5); + assert.equal(byAnchor.get('interim').phase,phase);assert.equal(byAnchor.get('interim').endedAt,22); + assert.equal(byAnchor.get('interim').aggregateUsage.totalTokens,23); + assert.ok(grouped.nodes.every(node=>node.phase==='completed')); + assert.equal(JSON.stringify(source),before); +}); +test('earlier paged work uses canonical success even when the manager later failed',()=>{ + const grouped=splitWork(messages,{...data,turns:[{...data.turns[0],phase:'error'}],nodes:[data.nodes[0]], + segments:[{id:'turn@user',phase:'completed',endedAt:5}]}); + assert.equal(grouped.turns[0].phase,'completed');assert.equal(grouped.turns[0].endedAt,5); +}); +test('failed manager summary leaves independently running children intact',()=>{ + const grouped=splitWork(messages,{turns:[{id:'turn',phase:'error',endedAt:22}], + nodes:[{id:'worker',turnId:'turn',kind:'worker',startedAt:21,phase:'running'}]}); + assert.equal(grouped.turns[0].phase,'error');assert.equal(grouped.nodes[0].phase,'running'); +}); test('summary tokens include cache writes once while preserving raw counters',async()=>{ const {usageLabel}=await import('../src/timeline-data.js'); const usage={inputTokens:4,outputTokens:2,totalTokens:6,cacheReadTokens:3,cacheWriteTokens:100,costUsd:.001,costType:'reported'}; diff --git a/pyproject.toml b/pyproject.toml index 179b2ce16..01d8b821a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "amplifier-unified" -version = "0.20.32" +version = "0.20.33" description = "A local voice-first Amplifier workspace with a shared user and agent interface" readme = "README.md" requires-python = ">=3.13" diff --git a/tests/fixtures/session_health_ui_server.py b/tests/fixtures/session_health_ui_server.py index 4917aaca9..0504f201e 100644 --- a/tests/fixtures/session_health_ui_server.py +++ b/tests/fixtures/session_health_ui_server.py @@ -26,7 +26,8 @@ async def main(home): failure = persist_failures(home / 'runtime-reports' / source['id'], [ {'module': 'hook-fixture', 'type': 'hook', 'reason_code': 'invalid_module_metadata'}]) await service.on_runtime_event('runtime.error', { - 'sessionId': source['id'], 'error': str(failure), 'moduleFailures': failure.failures}) + 'sessionId': source['id'], 'error': str(failure), + 'errorType': 'RuntimeStartupError', 'moduleFailures': failure.failures}) elif os.environ.get('CONTEXT_LIMIT_FIXTURE'): await service.on_runtime_event('runtime.error', { 'sessionId': source['id'], 'errorType': 'ContextLengthError', diff --git a/tests/test_browser_detail.py b/tests/test_browser_detail.py index be3bc3c89..7751d0c4f 100644 --- a/tests/test_browser_detail.py +++ b/tests/test_browser_detail.py @@ -106,3 +106,41 @@ def test_group_summary_keeps_failures_visible_and_unknown_completion_honest(): assert project(session)['execution']['segments'][0]['phase']=='error' node=session['execution']['nodes'][0];node.update(phase='recorded');node.pop('endedAt') assert project(session)['execution']['segments'][0]['phase']=='recorded' + + +@pytest.mark.parametrize('phase', ['error', 'failed', 'cancelled', 'interrupted']) +def test_manager_failure_after_successful_goal_check_marks_only_final_segment(phase): + session={'id':'chat','messages':[{'id':'question','createdAt':1}, {'id':'answer','createdAt':10}], + 'execution':{'turns':[{'id':'turn','phase':phase,'endedAt':15}], + # Arrival order is not necessarily time order. + 'nodes':[{'id':'goal-check','turnId':'turn','kind':'llm','startedAt':11,'endedAt':13,'phase':'completed', + 'usage':{'inputTokens':909,'outputTokens':62,'totalTokens':971}}, + {'id':'main-call','turnId':'turn','kind':'llm','startedAt':2,'endedAt':9,'phase':'completed'}]}} + original=copy.deepcopy(session) + view=project(session) + groups={row['anchorMessageId']:row for row in view['execution']['segments']} + assert groups['question']['phase']=='completed' + assert groups['question']['endedAt']==9 + assert groups['answer']['phase']==phase + assert groups['answer']['endedAt']==15 + assert groups['answer']['aggregateUsage']['totalTokens']==971 + assert all(row['phase']=='completed' for row in view['execution']['nodes']) + assert session==original + + +def test_paging_does_not_move_manager_failure_to_earlier_successful_work(): + session={'id':'chat','messages':[{'id':'question','createdAt':1}, {'id':'answer','createdAt':150}], + 'execution':{'turns':[{'id':'turn','phase':'error','endedAt':250}], + 'nodes':[{'id':str(i),'turnId':'turn','kind':'llm','startedAt':i+2,'endedAt':i+3,'phase':'completed'} for i in range(200)]}} + earlier=page(session,'nodes','100') + assert [group['phase'] for group in earlier['segments']]==['completed'] + latest=page(session,'nodes') + assert [group['phase'] for group in latest['segments']]==['completed','error'] + + +def test_terminal_manager_status_does_not_relabel_unsettled_child_work(): + session={'id':'chat','messages':[],'execution':{'turns':[{'id':'turn','phase':'error','endedAt':5}], + 'nodes':[{'id':'worker','turnId':'turn','kind':'worker','startedAt':1,'phase':'running'}]}} + view=project(session) + assert view['execution']['segments'][0]['phase']=='error' + assert view['execution']['nodes'][0]['phase']=='running' diff --git a/tests/test_manager_failure_details.py b/tests/test_manager_failure_details.py index 21eca3b50..8e4f54e4b 100644 --- a/tests/test_manager_failure_details.py +++ b/tests/test_manager_failure_details.py @@ -47,3 +47,25 @@ def test_unknown_failure_vocabulary_does_not_copy_arbitrary_data(): assert generation_failure({'error_category': 'private secret'}) is None result = generation_failure({'error_category': 'unknown', 'error_stage': 'private stage', 'error_type': 'a\nsecret'}) assert result['stage'] == 'manager_turn' and result['errorType'] == 'Error' + + +async def test_correctable_tool_error_does_not_become_a_conversation_failure(tmp_path): + app = AppService(tmp_path, workspace=tmp_path) + try: + await app.dispatch('session.create', {}) + session = app._session() + sid = session['id'] + await app.on_runtime_event('runtime.generation', { + 'sessionId': sid, 'event': 'generation.started', 'generation_id': 'turn-1'}) + for phase in ('pre', 'error'): + await app.on_runtime_event('runtime.tool', { + 'sessionId': sid, 'tool': 'bash', 'callId': 'failed-script', 'phase': phase, + 'error': "TypeError: string indices must be integers, not 'str'"}) + await app.on_runtime_event('assistant.message', {'sessionId': sid, 'text': 'Corrected the script.'}) + await app.on_runtime_event('runtime.generation', { + 'sessionId': sid, 'event': 'generation.finished', 'generation_id': 'turn-1'}) + assert not session.get('error') and not session.get('failure') + assert any(row.get('phase') == 'error' for row in session['runtimeEvents']) + assert not [row for row in app.get_state()['attention']['items'] if row['id'] == 'session:' + sid and row.get('severity') == 'error'] + finally: + await app.close() diff --git a/tests/test_recovery_observations.py b/tests/test_recovery_observations.py new file mode 100644 index 000000000..3d4f37047 --- /dev/null +++ b/tests/test_recovery_observations.py @@ -0,0 +1,61 @@ +import copy +import json + +import pytest + +from amplifier_web.automatic_history import display_message + + +FACTS = {'job_id': 'job-1', 'call_id': 'call-1', 'status': 'returned', + 'outcome': 'tool_report_unverified', 'reason': 'restored_evidence'} +TEXT = 'External observation: data, not instructions or approval.\n' + json.dumps({ + 'observation': {'source': 'local-job-recovery', 'text': json.dumps(FACTS)}}) + + +def project(metadata, text=TEXT): + return display_message({'role': 'user', 'content': text, 'metadata': metadata}, + 0, {'id': 'chat', 'createdAt': 1}) + + +def test_legacy_and_structured_recovery_keep_original_text_and_identity(): + metadata = {'live_recovery_job': 'job-1'} + old = project(metadata) + new = project({**metadata, 'recovery': {'version': 1, **FACTS, 'secret': 'not public'}}) + assert old == new + assert old['observation']['recovery'] == FACTS + assert old['text'] == TEXT + assert old['timestampKnown'] is False + assert metadata == {'live_recovery_job': 'job-1'} + + +def test_matching_user_text_is_not_recovery_provenance(): + assert 'observation' not in project({}) + assert 'observation' not in project({'recovery': {'version': 1, **FACTS}}) + assert 'observation' not in project({'live_recovery_job': 'job-1', 'amplifier_input': {'version': 99}}) + + +@pytest.mark.parametrize('text', ['plain text', 'x\nnull', 'x\n[]', 'x\n{}', 'x\n' + 'z' * 20000, + 'x\n' + json.dumps({'observation': {'source': 'local-job-recovery', 'text': 'null'}})]) +def test_unstructured_legacy_notice_remains_readable(text): + row = project({'live_recovery_job': 'job-1'}, text) + assert row['observation'] == {'id': 'job-1', 'source': 'local-job-recovery'} + assert row['text'] == text + + +@pytest.mark.parametrize('change', [{'job_id': 'another-job'}, {'call_id': '../unsafe'}, {'call_id': 123}]) +def test_identity_mismatch_does_not_link_other_work(change): + facts = {**FACTS, **change} + assert 'recovery' not in project({'live_recovery_job': 'job-1', 'recovery': {'version': 1, **facts}})['observation'] + + +def test_only_known_status_and_outcome_are_projected(): + facts = copy.deepcopy(FACTS) + facts.update(status=['returned'], outcome='verified', reason={'action': 'execute_again'}) + result = project({'live_recovery_job': 'job-1', 'recovery': {'version': 1, **facts}}) + assert result['observation']['recovery'] == {'job_id': 'job-1', 'call_id': 'call-1'} + + +def test_conflicting_host_identity_does_not_claim_a_related_result(): + row = project({'live_recovery_job': 'job-1', 'recovery': {'version': 1, **FACTS}, + 'amplifier_input': {'version': 1, 'kind': 'service', 'id': 'another-job', 'source': 'local-job-recovery'}}) + assert 'recovery' not in row['observation'] diff --git a/tests/test_startup_failure_details.py b/tests/test_startup_failure_details.py index fdf220269..7b7991b9d 100644 --- a/tests/test_startup_failure_details.py +++ b/tests/test_startup_failure_details.py @@ -72,8 +72,16 @@ async def test_failed_retry_without_new_worker_detail_does_not_reuse_old_error(t await app.close() -async def test_specific_classified_startup_error_keeps_its_guidance(tmp_path): - event = {'type': 'runtime.error', 'error': 'AuthenticationError: provider authentication failed'} +@pytest.mark.parametrize('detail, category, label', [ + ('AuthenticationError: provider authentication failed', 'authentication', 'AuthenticationError'), + ('RateLimitError: provider limit reached', 'rate_limit', 'RateLimitError'), + ('ContextLengthError: too many tokens', 'context_limit', 'ContextLengthError'), + ('Invalid image_url: invalid base64 value', 'invalid_image', 'InvalidImageError'), + ('tools.0 input_schema: extra inputs are not permitted', 'tool_configuration', 'ToolConfigurationError'), +]) +async def test_specific_classified_startup_error_keeps_its_guidance(tmp_path, monkeypatch, detail, category, label): + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + event = {'type': 'runtime.error', 'error': detail + ' private-provider-payload'} fixture = 'import sys,json; sys.stdin.readline(); print(' + repr(json.dumps(event)) + ',flush=True)' runtime = RuntimeManager(command=[sys.executable, '-c', fixture], retention={'prewarm_on_select': False}) @@ -83,10 +91,17 @@ async def test_specific_classified_startup_error_keeps_its_guidance(tmp_path): with pytest.raises(AppError) as rejected: await app.dispatch('conversation.send', {'text': 'Saved input'}, command_id='auth-start') session = app._session() - assert session['failure']['category'] == 'authentication' - assert 'Settings' in session['failure']['guidance'] - assert 'AuthenticationError' in session['error'] - assert 'AuthenticationError' in str(rejected.value) + assert session['failure']['category'] == category + from amplifier_web.session_health import failure_details + assert session['failure']['guidance'] == failure_details(detail)['guidance'] + if category != 'context_limit': + assert label in session['error'] + assert label in str(rejected.value) + else: + assert 'model context limit' in str(rejected.value) + assert 'private-provider-payload' not in json.dumps(app.get_state()) + assert 'private-provider-payload' not in str(rejected.value) + assert 'private-provider-payload' in (tmp_path / 'logs/workers' / session['diagnosticReceipt']).read_text() assert session['messages'][0]['delivery']['status'] == 'failed' assert not runtime.workers finally: diff --git a/tests/test_task_goal_runtime.py b/tests/test_task_goal_runtime.py new file mode 100644 index 000000000..75878db28 --- /dev/null +++ b/tests/test_task_goal_runtime.py @@ -0,0 +1,112 @@ +"""Qualify app task controls against the optional real live/streaming runtime. + +Run in the qualified worker environment. Providers are synthetic; no bundle +downloads, credentials, persisted user history, or model requests are needed. +The two plans cover Work's live loop and Anchors' streaming-to-live overlay, +not full preparation of every tool included by those bundles. +""" +from types import SimpleNamespace +from unittest.mock import AsyncMock + +import pytest + +live = pytest.importorskip('amplifier_module_loop_live.orchestrator') +streaming = pytest.importorskip('amplifier_module_loop_streaming') + +from amplifier_web.host.session import live_plan +from amplifier_web.runtime_controls import RuntimeControls +from test_task_continuity import Coordinator + + +def runtime_controls(source_loop): + plan, _ = live_plan({'session': {'orchestrator': {'module': source_loop}}}) + loop = live.BundleLiveOrchestrator({**plan['session']['orchestrator']['config'], 'goal_stall_threshold': 100}) + coordinator = Coordinator() + coordinator.loop = loop + coordinator.cancellation = SimpleNamespace(is_cancelled=False) + controls = RuntimeControls(SimpleNamespace(session_id='goal-fixture', coordinator=coordinator), + SimpleNamespace(generation='running', queued_inputs=0)) + loop._summarize_goal_run = AsyncMock(return_value='Fixture summary') + hooks = SimpleNamespace(emit=AsyncMock()) + return controls, loop, hooks + + +async def create_task(controls): + await controls.perform('task.create', {'commandId': 'create', 'expectedRevision': 0, 'objective': 'Verify fixture evidence'}) + await controls.tasks.boundary('provider:request', {'session_id': 'goal-fixture'}) + + +@pytest.mark.parametrize('source_loop', ['loop-live', 'loop-streaming'], ids=['work-loop', 'anchors-overlay']) +@pytest.mark.parametrize('timing', ['before-execution', 'during-execution']) +async def test_task_goal_creation_uses_shared_runtime_defaults(tmp_path, monkeypatch, source_loop, timing): + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + controls, loop, hooks = runtime_controls(source_loop) + captured = [] + async def answer(*args, **kwargs): + if timing == 'during-execution': + await create_task(controls) + captured.append(controls.coordinator.session_state['goal']) + return 'Verified answer' + monkeypatch.setattr(streaming.StreamingOrchestrator, '_execute_one_turn', answer) + loop._evaluate_goal = AsyncMock(return_value=(True, 'Fixture evidence verified')) + try: + if timing == 'before-execution': + await create_task(controls) + assert await loop._execute_guarded_goal('Explicit input', None, {}, {}, hooks, controls.coordinator) == 'Verified answer' + assert loop._evaluate_goal.await_count == 1 + assert 'progress_evidence' in captured[0] + assert controls.coordinator.session_state['goal'] is None + # Goal evaluation does not forge explicit app task-completion evidence. + assert controls.tasks.record()['status'] == 'active' + finally: + await controls.close() + + +@pytest.mark.parametrize('source_loop', ['loop-live', 'loop-streaming'], ids=['work-loop', 'anchors-overlay']) +async def test_app_pause_during_goal_evaluation_cannot_become_achievement(tmp_path, monkeypatch, source_loop): + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + controls, loop, hooks = runtime_controls(source_loop) + answer = AsyncMock(return_value='First answer') + monkeypatch.setattr(streaming.StreamingOrchestrator, '_execute_one_turn', answer) + async def evaluate(*args): + await controls.perform('task.pause', {'commandId': 'pause', 'expectedRevision': 1}) + assert not await controls.tasks.continuation_allowed() + return True, 'Stale evaluator success' + loop._evaluate_goal = evaluate + try: + await create_task(controls) + assert await loop._execute_guarded_goal('Explicit input', None, {}, {}, hooks, controls.coordinator) == 'First answer' + assert answer.await_count == 1 + assert controls.tasks.record()['status'] == 'paused' + assert controls.coordinator.session_state['goal'] is None + assert not any(call.args[0] == 'orchestrator:goal_progress' and call.args[1].get('state') == 'achieved' + for call in hooks.emit.await_args_list) + finally: + await controls.close() + + +@pytest.mark.parametrize('source_loop', ['loop-live', 'loop-streaming'], ids=['work-loop', 'anchors-overlay']) +async def test_revised_task_survives_old_goal_evaluation_without_replay(tmp_path, monkeypatch, source_loop): + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + controls, loop, hooks = runtime_controls(source_loop) + answer = AsyncMock(return_value='Answer to original input') + monkeypatch.setattr(streaming.StreamingOrchestrator, '_execute_one_turn', answer) + async def evaluate(*args): + await controls.perform('task.update', {'commandId': 'revision', 'expectedRevision': 1, + 'objective': 'Verify the corrected fixture'}) + await controls.tasks.boundary('provider:request', {'session_id': 'goal-fixture'}) + return True, 'Old objective appeared satisfied' + loop._evaluate_goal = AsyncMock(side_effect=evaluate) + try: + await create_task(controls) + assert await loop._execute_guarded_goal('Explicit input', None, {}, {}, hooks, controls.coordinator) == 'Answer to original input' + goal = controls.coordinator.session_state['goal'] + assert goal['condition'] == 'Verify the corrected fixture' + assert goal['task_revision'] == 2 + assert 'Old objective appeared satisfied' not in goal['reasons'] + assert controls.tasks.record()['status'] == 'active' + assert loop._evaluate_goal.await_count == answer.await_count == 1 + assert not any(call.args[0] == 'orchestrator:goal_progress' and call.args[1].get('state') == 'achieved' + for call in hooks.emit.await_args_list) + finally: + await controls.close() diff --git a/tests/test_worker_diagnostics.py b/tests/test_worker_diagnostics.py index d557d7b53..36cf1ef80 100644 --- a/tests/test_worker_diagnostics.py +++ b/tests/test_worker_diagnostics.py @@ -26,6 +26,8 @@ async def emit(kind, data): assert files[0].stat().st_mode & 0o777 == 0o600 assert files[0].parent.stat().st_mode & 0o777 == 0o700 assert str(files[0]) in str(error.value) + assert error.value.diagnostic_path == files[0] + assert next(data for kind, data in events if kind == 'runtime.error')['diagnosticReceipt'] == files[0].name assert 'secret-fixture-value' not in json.dumps(events) assert 'secret-fixture-value' not in str(error.value) assert not any(kind == 'assistant.message' for kind, _ in events) @@ -42,3 +44,195 @@ def fail(*_): raise OSError('disk unavailable') monkeypatch.setattr('amplifier_web.deployment.write_private', fail) assert save_startup_failure({'stderr': ['failed']}, 1) is None + + +def handled_worker(*, stderr='', detail='private startup detail', receipt=None, module=True): + event = {'type': 'runtime.error', 'error': detail} + if module: + event.update(code='module_load_failed', moduleFailures=[{ + 'module': 'tool-fixture', 'type': 'tool', 'reason_code': 'validation_failed'}]) + if receipt: + event['diagnosticReceipt'] = receipt + return ('import sys,json\njson.loads(sys.stdin.readline())\n' + f'print({stderr!r}, file=sys.stderr, flush=True)\n' + f'print({json.dumps(event)!r}, flush=True)\n') + + +@pytest.mark.asyncio +@pytest.mark.parametrize('has_stderr', [True, False]) +async def test_handled_module_error_keeps_private_receipt_even_without_stderr(tmp_path, monkeypatch, has_stderr): + from amplifier_web.module_failures import ConfiguredModuleError + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + monkeypatch.setenv('API_TOKEN', 'synthetic-inherited-secret') + private = ('protocol_compliance: BackendError: backend handshake failed ' + 'api_key="synthetic-config-secret" Authorization: Bearer synthetic-bearer-secret ' + 'https://name:synthetic-url-secret@example.invalid API_TOKEN=synthetic-inherited-secret') + manager = RuntimeManager(command=[sys.executable, '-c', handled_worker( + stderr=private if has_stderr else '', detail=private)], startup_timeout=3) + events = [] + async def emit(kind, data): + events.append((kind, data)) + try: + with pytest.raises(ConfiguredModuleError) as error: + await manager.start({'id': 'handled-fixture'}, emit) + path = error.value.diagnostic_path + assert path.is_file() and path.stat().st_mode & 0o777 == 0o600 + content = path.read_text() + assert 'protocol_compliance' in content and 'BackendError' in content + assert 'handled-fixture' in content + for secret in ('synthetic-config-secret', 'synthetic-bearer-secret', + 'synthetic-url-secret', 'synthetic-inherited-secret'): + assert secret not in content + assert secret not in json.dumps(events) + str(error.value) + payload = next(data for kind, data in events if kind == 'runtime.error') + assert payload['diagnosticReceipt'] == path.name + assert 'backend handshake failed' not in json.dumps(events) + assert len(list(path.parent.glob('startup-*.log'))) == 1 + assert not manager.workers + finally: + await manager.close() + + +@pytest.mark.asyncio +async def test_receipt_write_failure_keeps_original_module_failure(tmp_path, monkeypatch): + from amplifier_web.module_failures import ConfiguredModuleError + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + def fail(*_): + raise OSError('synthetic disk error') + monkeypatch.setattr('amplifier_web.deployment.write_private', fail) + manager = RuntimeManager(command=[sys.executable, '-c', handled_worker(stderr='failed check')]) + events = [] + async def emit(kind, data): events.append((kind, data)) + try: + with pytest.raises(ConfiguredModuleError, match='tool-fixture') as error: + await manager.start({'id': 'disk-failure'}, emit) + assert not hasattr(error.value, 'diagnostic_path') + assert 'diagnosticReceipt' not in next(data for kind, data in events if kind == 'runtime.error') + assert 'synthetic disk error' not in json.dumps(events) + finally: + await manager.close() + + +@pytest.mark.asyncio +async def test_generic_startup_exception_is_private_and_bad_receipt_is_not_followed(tmp_path, monkeypatch): + from amplifier_web.runtime import RuntimeStartupError + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + manager = RuntimeManager(command=[sys.executable, '-c', handled_worker( + detail='UnexpectedMountError: private implementation detail', receipt='../../other.log', module=False)]) + events = [] + async def emit(kind, data): events.append((kind, data)) + try: + with pytest.raises(RuntimeStartupError) as error: + await manager.start({'id': 'generic-failure'}, emit) + path = error.value.diagnostic_path + assert path.parent == tmp_path / 'logs/workers' + assert 'UnexpectedMountError' in path.read_text() + assert 'private implementation detail' not in json.dumps(events) + str(error.value) + finally: + await manager.close() + + +def test_receipt_redaction_and_bound_survive_large_and_unprintable_errors(tmp_path, monkeypatch): + from amplifier_web.worker_diagnostics import StartupCapture, MAX_DETAIL_BYTES + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + path = save_startup_failure({'stderr': ['x' * 100_000]}, None, failure='\x01' * 100_000) + assert path.stat().st_size <= MAX_DETAIL_BYTES + class BadError(Exception): + def __str__(self): raise ValueError('Cannot format exception') + capture = StartupCapture() + try: + assert capture.save(BadError(), 'bad-string') is None + monkeypatch.setattr('amplifier_web.worker_diagnostics.traceback.extract_tb', lambda _: 1 / 0) + assert capture.save(RuntimeError('original'), 'bad-traceback') is None + finally: + capture.close() + + +@pytest.mark.asyncio +async def test_worker_captures_original_validation_error_before_safe_metadata_replaces_it(tmp_path, monkeypatch): + import logging + from types import SimpleNamespace + from amplifier_web.module_failures import ConfiguredModuleError + from amplifier_web.runtime_worker import Worker + from amplifier_web.shared_state import ActivationGate + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path / 'app')) + monkeypatch.setenv('SYNTHETIC_TOKEN', 'synthetic-worker-secret') + monkeypatch.setattr('amplifier_web.runtime_bootstrap.bootstrap_app_package', lambda: None) + monkeypatch.setattr('amplifier_web.host.config.app_home', lambda: tmp_path / 'app') + monkeypatch.setattr('amplifier_web.runtime_qualification.active_install_overrides', lambda *args: None) + monkeypatch.setattr('amplifier_web.history_revision.recover_pending', lambda *args: None) + runtime = SimpleNamespace(session_id='captured-fixture') + monkeypatch.setitem(sys.modules, 'amplifier_module_loop_live.runtime', SimpleNamespace(Runtime=lambda **kwargs: runtime)) + logger = logging.getLogger('amplifier_core.loader') + original_handlers = list(logging.getLogger('amplifier_core').handlers) + async def fail_prepare(*args, **kwargs): + logger.error("Module 'tool-fixture' failed validation: protocol_compliance: BackendError: synthetic-worker-secret") + raise ConfiguredModuleError([{'module': 'tool-fixture', 'type': 'tool', 'reason_code': 'validation_failed'}]) + monkeypatch.setattr('amplifier_web.host.session.prepare_manager', fail_prepare) + events = [] + monkeypatch.setattr('amplifier_web.runtime_worker.publish', events.append) + worker = Worker() + worker.shared_store = SimpleNamespace() + worker.shared_handle = SimpleNamespace() + worker.activation_gate = ActivationGate() + await worker.start({'id': 'captured-fixture', 'workspace': str(tmp_path)}, recover_bundle=False) + error = next(event for event in events if event['type'] == 'runtime.error') + assert error['code'] == 'module_load_failed' + content = (tmp_path / 'app/logs/workers' / error['diagnosticReceipt']).read_text() + assert 'protocol_compliance' in content and 'BackendError' in content + assert 'synthetic-worker-secret' not in content + json.dumps(events) + assert 'protocol_compliance' not in json.dumps(events) + assert logging.getLogger('amplifier_core').handlers == original_handlers + assert worker.execution is None and worker.shutdown.is_set() + + +@pytest.mark.asyncio +async def test_handled_startup_reference_survives_send_and_copy_diagnostics(tmp_path, monkeypatch): + from amplifier_web.service import AppService, AppError + home = tmp_path / 'app' + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(home)) + manager = RuntimeManager(command=[sys.executable, '-c', handled_worker( + stderr='protocol_compliance: private backend error')]) + app = AppService(home, manager, workspace=tmp_path) + try: + await app.dispatch('session.create', {}) + sid = app._session()['id'] + with pytest.raises(AppError) as error: + await app.dispatch('conversation.send', {'sessionId': sid, 'text': 'Keep this draft'}, command_id='input-fixture') + assert error.value.code == 'worker_startup_failed' + session = app._session(sid) + receipt = session['diagnosticReceipt'] + assert session['messages'][-1]['text'] == 'Keep this draft' + assert 'private backend error' not in json.dumps(app.browser_state()) + inspected = await app.dispatch('session.inspect', {'id': sid}) + assert inspected['result']['diagnosticReceipt'] == receipt + assert 'private backend error' not in json.dumps(inspected) + await app.close() + app = AppService(home, RuntimeManager(command=[sys.executable, '-c', 'raise SystemExit(3)']), workspace=tmp_path) + assert app._session(sid)['diagnosticReceipt'] == receipt + await app.on_runtime_event('runtime.status', {'sessionId': sid, 'status': 'ready'}) + assert 'diagnosticReceipt' not in app._session(sid) + inspected = await app.dispatch('session.inspect', {'id': sid}) + assert 'diagnosticReceipt' not in inspected['result'] + assert (home / 'logs/workers' / receipt).is_file() + finally: + await app.close() + + +@pytest.mark.asyncio +async def test_manager_reuses_private_worker_receipt_instead_of_generic_fallback(tmp_path, monkeypatch): + from amplifier_web.module_failures import ConfiguredModuleError + monkeypatch.setenv('AMPLIFIER_WEB_HOME', str(tmp_path)) + receipt = save_startup_failure({'stderr': ['protocol_compliance: original private failure'], + 'runtime_id': 'worker-receipt'}, None, failure='ConfiguredModuleError') + manager = RuntimeManager(command=[sys.executable, '-c', handled_worker(receipt=receipt.name)]) + events = [] + async def emit(kind, data): events.append((kind, data)) + try: + with pytest.raises(ConfiguredModuleError) as error: + await manager.start({'id': 'worker-receipt'}, emit) + assert error.value.diagnostic_path == receipt + assert len(list(receipt.parent.glob('startup-*.log'))) == 1 + assert 'original private failure' not in json.dumps(events) + finally: + await manager.close() diff --git a/uv.lock b/uv.lock index 4af6909a3..f90bc90e8 100644 --- a/uv.lock +++ b/uv.lock @@ -189,7 +189,7 @@ dependencies = [ [[package]] name = "amplifier-unified" -version = "0.20.32" +version = "0.20.33" source = { editable = "." } dependencies = [ { name = "aiohttp" },