From d43298c307ecfb36d2cb7cb6ef909b491a398096 Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Sun, 27 Sep 2026 16:54:46 -0700 Subject: [PATCH 1/5] Preserve manager failure outcomes and private startup diagnostics --- amplifier_web/browser_detail.py | 13 +- amplifier_web/runtime.py | 37 +++- amplifier_web/runtime_worker.py | 8 + amplifier_web/service.py | 13 +- amplifier_web/session_health.py | 6 +- ...mU.js => abnfDiagram-VCTEODGH-CQpIpx4L.js} | 2 +- .../{app-7viUedJQ.js => app-qQeXb9Sm.js} | 156 +++++++------- .../{arc-nxCsMiB1.js => arc-Cd207cxK.js} | 2 +- ... architectureDiagram-5GKGNRK7-Bjg7KPfY.js} | 2 +- ...F.js => blockDiagram-I7D4REHJ-DgHoFQ7_.js} | 2 +- ...jJZm.js => c4Diagram-7LVT6UL2-DaabGhwo.js} | 2 +- .../static/assets/channel-8B_ujeEh.js | 1 - .../static/assets/channel-IBoUfuLh.js | 1 + ...Hupey7um.js => chunk-2Q5K7J3B-gvMtHYDX.js} | 2 +- ...BkehtS-x.js => chunk-5VM5RSS4-PcNlXskR.js} | 2 +- ...OmuqT5ZV.js => chunk-F27PBJKO-08qFJ2Jt.js} | 2 +- ...BVcIx6xS.js => chunk-IMKFNOWR-BdYsEWWr.js} | 2 +- ...B70-rL71.js => chunk-JWPE2WC7-KAwJt4Dq.js} | 2 +- ...DG8TEL9o.js => chunk-POPQ4Y6H-BvDPAZm-.js} | 2 +- ...B8cpLBHP.js => chunk-SVP7TREG-D1PHBZoi.js} | 2 +- ...BIO8Aksa.js => chunk-TICWLB2K-Bl4ra87H.js} | 2 +- ...Cq6ARDN1.js => chunk-XXDRQBXY-CfEngarh.js} | 2 +- .../assets/classDiagram-ZZMXUADV-CgPHjRBo.js | 1 + .../assets/classDiagram-ZZMXUADV-CxKw_dNV.js | 1 - .../classDiagram-v2-VYDZK3BY-CgPHjRBo.js | 1 + .../classDiagram-v2-VYDZK3BY-CxKw_dNV.js | 1 - ...g.js => cose-bilkent-JH36ORCC-xUNGJ0vC.js} | 2 +- ...rRuP6Q.js => cynefin-OW5HDTMX-J4U8a7UR.js} | 2 +- ...js => cynefinDiagram-5FMLGOSQ-Bh9AalLD.js} | 2 +- ...DKfI9V4I.js => dagre-GXQ25YYZ-CCjKlIeD.js} | 2 +- ...u7xzTd.js => diagram-S7CK7UJ4-9QTEr0HP.js} | 2 +- ...LDS_vV.js => diagram-UQ7AKVKN-rolnrGRU.js} | 2 +- ...WXkh1p.js => diagram-VSXAHHWV-swuSh09p.js} | 2 +- ...fjE3ak.js => diagram-VX7I27RA-DSHd6GWi.js} | 2 +- ...DS5ly9.js => diagram-Z3DM3KII-irwI-Q50.js} | 2 +- ...bY.js => ebnfDiagram-PWID7BFC-DKDEclkq.js} | 2 +- ...C89f.js => erDiagram-RLTQ6QDP-CH0fqdsO.js} | 2 +- ...JB.js => flowDiagram-HODETNUW-B1v3Srof.js} | 2 +- ...Y.js => ganttDiagram-EL5Y4UJY-B0MKCZgH.js} | 2 +- ...s => gitGraphDiagram-WWUBYQGX-DiGjaLDs.js} | 2 +- ...a0.js => infoDiagram-27XIBGKW-B0EBkQjx.js} | 2 +- ...s => ishikawaDiagram-5VMMS53U-BWjN8gxu.js} | 2 +- ...js => journeyDiagram-3NMN7TZE-JRtLgR9E.js} | 2 +- ...=> kanban-definition-UXKFOSKX-BdUNyxsG.js} | 2 +- ...{layout-BcZLUxXn.js => layout-25xfYTYA.js} | 2 +- ...{linear-DBa5gqbW.js => linear-Cco8t75X.js} | 2 +- ...e-faRzEm2Q.js => mermaid.core-CdGsAdCF.js} | 10 +- ...> mindmap-definition-YA3MSWOX-JbWcMKU6.js} | 2 +- ...Pse.js => pegDiagram-XKGWAZYB-CTTLQYNg.js} | 2 +- ...wh9.js => pieDiagram-E7YTZNPT-C0i1ELRP.js} | 2 +- ...s => quadrantDiagram-AXDQQJYC-DrtSdi-F.js} | 2 +- ...s => railroadDiagram-O6MQD6OU-BVdMX1Xe.js} | 2 +- ...> requirementDiagram-BXWQKSXE-iqmRVJ6U.js} | 2 +- ....js => sankeyDiagram-P5KCCOFB-CB3AkmG3.js} | 2 +- ...s => sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js} | 2 +- ...gz.js => sizeCapture-INFHLROL-D20cEYLP.js} | 2 +- ...s.js => stateDiagram-D77RDMKH-kha-Ed3K.js} | 2 +- .../stateDiagram-v2-MP3YSRHH-ChOjdX_C.js | 1 - .../stateDiagram-v2-MP3YSRHH-ak0l7jzp.js | 1 + ...lE-9.js => swimlanes-42K2YHIH-CC0B74Sr.js} | 2 +- .../swimlanesDiagram-VR7AAH4N-BI0U07ZU.js | 8 - .../swimlanesDiagram-VR7AAH4N-Cu48OI5B.js | 8 + ... timeline-definition-24CTP7MA-BpyofmdG.js} | 2 +- ...Sl.js => vennDiagram-4TSXK5OY-NKPu0hZr.js} | 2 +- ...js => wardleyDiagram-VM6X3IG4-B1YKb9X6.js} | 2 +- ...js => xychartDiagram-S5SC5T6Z-1OmDLQT7.js} | 2 +- amplifier_web/static/build.json | 2 +- amplifier_web/static/index.html | 2 +- amplifier_web/worker_diagnostics.py | 127 ++++++++++-- frontend/src/timeline-data.js | 9 +- frontend/tests/work-segments.test.mjs | 20 ++ tests/test_browser_detail.py | 38 ++++ tests/test_task_goal_runtime.py | 112 ++++++++++ tests/test_worker_diagnostics.py | 194 ++++++++++++++++++ 74 files changed, 702 insertions(+), 167 deletions(-) rename amplifier_web/static/assets/{abnfDiagram-VCTEODGH-C8kvwBmU.js => abnfDiagram-VCTEODGH-CQpIpx4L.js} (86%) rename amplifier_web/static/assets/{app-7viUedJQ.js => app-qQeXb9Sm.js} (69%) rename amplifier_web/static/assets/{arc-nxCsMiB1.js => arc-Cd207cxK.js} (98%) rename amplifier_web/static/assets/{architectureDiagram-5GKGNRK7-BhCAQikW.js => architectureDiagram-5GKGNRK7-Bjg7KPfY.js} (99%) rename amplifier_web/static/assets/{blockDiagram-I7D4REHJ-CYJ6zdxF.js => blockDiagram-I7D4REHJ-DgHoFQ7_.js} (99%) rename amplifier_web/static/assets/{c4Diagram-7LVT6UL2-MrqIjJZm.js => c4Diagram-7LVT6UL2-DaabGhwo.js} (99%) delete mode 100644 amplifier_web/static/assets/channel-8B_ujeEh.js create mode 100644 amplifier_web/static/assets/channel-IBoUfuLh.js rename amplifier_web/static/assets/{chunk-2Q5K7J3B-Hupey7um.js => chunk-2Q5K7J3B-gvMtHYDX.js} (66%) rename amplifier_web/static/assets/{chunk-5VM5RSS4-BkehtS-x.js => chunk-5VM5RSS4-PcNlXskR.js} (83%) rename amplifier_web/static/assets/{chunk-F27PBJKO-OmuqT5ZV.js => chunk-F27PBJKO-08qFJ2Jt.js} (96%) rename amplifier_web/static/assets/{chunk-IMKFNOWR-BVcIx6xS.js => chunk-IMKFNOWR-BdYsEWWr.js} (99%) rename amplifier_web/static/assets/{chunk-JWPE2WC7-B70-rL71.js => chunk-JWPE2WC7-KAwJt4Dq.js} (78%) rename amplifier_web/static/assets/{chunk-POPQ4Y6H-DG8TEL9o.js => chunk-POPQ4Y6H-BvDPAZm-.js} (87%) rename amplifier_web/static/assets/{chunk-SVP7TREG-B8cpLBHP.js => chunk-SVP7TREG-D1PHBZoi.js} (99%) rename amplifier_web/static/assets/{chunk-TICWLB2K-BIO8Aksa.js => chunk-TICWLB2K-Bl4ra87H.js} (99%) rename amplifier_web/static/assets/{chunk-XXDRQBXY-Cq6ARDN1.js => chunk-XXDRQBXY-CfEngarh.js} (72%) create mode 100644 amplifier_web/static/assets/classDiagram-ZZMXUADV-CgPHjRBo.js delete mode 100644 amplifier_web/static/assets/classDiagram-ZZMXUADV-CxKw_dNV.js create mode 100644 amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CgPHjRBo.js delete mode 100644 amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CxKw_dNV.js rename amplifier_web/static/assets/{cose-bilkent-JH36ORCC-Dye32y_g.js => cose-bilkent-JH36ORCC-xUNGJ0vC.js} (99%) rename amplifier_web/static/assets/{cynefin-OW5HDTMX-C3rRuP6Q.js => cynefin-OW5HDTMX-J4U8a7UR.js} (99%) rename amplifier_web/static/assets/{cynefinDiagram-5FMLGOSQ-CvKwB1kz.js => cynefinDiagram-5FMLGOSQ-Bh9AalLD.js} (98%) rename amplifier_web/static/assets/{dagre-GXQ25YYZ-DKfI9V4I.js => dagre-GXQ25YYZ-CCjKlIeD.js} (98%) rename amplifier_web/static/assets/{diagram-S7CK7UJ4-D-u7xzTd.js => diagram-S7CK7UJ4-9QTEr0HP.js} (96%) rename amplifier_web/static/assets/{diagram-UQ7AKVKN-p1LDS_vV.js => diagram-UQ7AKVKN-rolnrGRU.js} (95%) rename amplifier_web/static/assets/{diagram-VSXAHHWV-DRWXkh1p.js => diagram-VSXAHHWV-swuSh09p.js} (98%) rename amplifier_web/static/assets/{diagram-VX7I27RA-DhfjE3ak.js => diagram-VX7I27RA-DSHd6GWi.js} (98%) rename amplifier_web/static/assets/{diagram-Z3DM3KII-DFDS5ly9.js => diagram-Z3DM3KII-irwI-Q50.js} (94%) rename amplifier_web/static/assets/{ebnfDiagram-PWID7BFC-CAUzYhbY.js => ebnfDiagram-PWID7BFC-DKDEclkq.js} (87%) rename amplifier_web/static/assets/{erDiagram-RLTQ6QDP-CIiMC89f.js => erDiagram-RLTQ6QDP-CH0fqdsO.js} (99%) rename amplifier_web/static/assets/{flowDiagram-HODETNUW-0Sn6GjJB.js => flowDiagram-HODETNUW-B1v3Srof.js} (99%) rename amplifier_web/static/assets/{ganttDiagram-EL5Y4UJY-B9pOy1nY.js => ganttDiagram-EL5Y4UJY-B0MKCZgH.js} (99%) rename amplifier_web/static/assets/{gitGraphDiagram-WWUBYQGX-f9cK08Gl.js => gitGraphDiagram-WWUBYQGX-DiGjaLDs.js} (99%) rename amplifier_web/static/assets/{infoDiagram-27XIBGKW-PckyBAa0.js => infoDiagram-27XIBGKW-B0EBkQjx.js} (68%) rename amplifier_web/static/assets/{ishikawaDiagram-5VMMS53U-CbSqUZmq.js => ishikawaDiagram-5VMMS53U-BWjN8gxu.js} (99%) rename amplifier_web/static/assets/{journeyDiagram-3NMN7TZE-CiQTH8nI.js => journeyDiagram-3NMN7TZE-JRtLgR9E.js} (98%) rename amplifier_web/static/assets/{kanban-definition-UXKFOSKX-CdzyHMSk.js => kanban-definition-UXKFOSKX-BdUNyxsG.js} (99%) rename amplifier_web/static/assets/{layout-BcZLUxXn.js => layout-25xfYTYA.js} (99%) rename amplifier_web/static/assets/{linear-DBa5gqbW.js => linear-Cco8t75X.js} (98%) rename amplifier_web/static/assets/{mermaid.core-faRzEm2Q.js => mermaid.core-CdGsAdCF.js} (99%) rename amplifier_web/static/assets/{mindmap-definition-YA3MSWOX-DAZqrGPi.js => mindmap-definition-YA3MSWOX-JbWcMKU6.js} (99%) rename amplifier_web/static/assets/{pegDiagram-XKGWAZYB-v9433Pse.js => pegDiagram-XKGWAZYB-CTTLQYNg.js} (87%) rename amplifier_web/static/assets/{pieDiagram-E7YTZNPT-ddjjrwh9.js => pieDiagram-E7YTZNPT-C0i1ELRP.js} (94%) rename amplifier_web/static/assets/{quadrantDiagram-AXDQQJYC-D85L1Xm7.js => quadrantDiagram-AXDQQJYC-DrtSdi-F.js} (99%) rename amplifier_web/static/assets/{railroadDiagram-O6MQD6OU-g6HpylF4.js => railroadDiagram-O6MQD6OU-BVdMX1Xe.js} (84%) rename amplifier_web/static/assets/{requirementDiagram-BXWQKSXE-Dw7uZIHD.js => requirementDiagram-BXWQKSXE-iqmRVJ6U.js} (99%) rename amplifier_web/static/assets/{sankeyDiagram-P5KCCOFB-TltlQpcP.js => sankeyDiagram-P5KCCOFB-CB3AkmG3.js} (99%) rename amplifier_web/static/assets/{sequenceDiagram-WJ2MYXX4-CSnbKoLl.js => sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js} (99%) rename amplifier_web/static/assets/{sizeCapture-INFHLROL-D65PZvgz.js => sizeCapture-INFHLROL-D20cEYLP.js} (87%) rename amplifier_web/static/assets/{stateDiagram-D77RDMKH-C2JbMhAs.js => stateDiagram-D77RDMKH-kha-Ed3K.js} (96%) delete mode 100644 amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ChOjdX_C.js create mode 100644 amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ak0l7jzp.js rename amplifier_web/static/assets/{swimlanes-42K2YHIH-DQ8flE-9.js => swimlanes-42K2YHIH-CC0B74Sr.js} (99%) delete mode 100644 amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-BI0U07ZU.js create mode 100644 amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-Cu48OI5B.js rename amplifier_web/static/assets/{timeline-definition-24CTP7MA-Co35tawd.js => timeline-definition-24CTP7MA-BpyofmdG.js} (99%) rename amplifier_web/static/assets/{vennDiagram-4TSXK5OY-DBCBZ2Sl.js => vennDiagram-4TSXK5OY-NKPu0hZr.js} (99%) rename amplifier_web/static/assets/{wardleyDiagram-VM6X3IG4-BF1oFwli.js => wardleyDiagram-VM6X3IG4-B1YKb9X6.js} (99%) rename amplifier_web/static/assets/{xychartDiagram-S5SC5T6Z-BW1aK6Jh.js => xychartDiagram-S5SC5T6Z-1OmDLQT7.js} (99%) create mode 100644 tests/test_task_goal_runtime.py diff --git a/amplifier_web/browser_detail.py b/amplifier_web/browser_detail.py index 3fb0063e8..a6c4ae4a3 100644 --- a/amplifier_web/browser_detail.py +++ b/amplifier_web/browser_detail.py @@ -43,7 +43,7 @@ def work_segments(session): for _,index in timed: position=max(position,index);latest.append(position) turns={row['id']:row for row in session.get('execution',{}).get('turns',[])} - groups={};anchors={} + groups={};anchors={};last_groups={} for node in session.get('execution',{}).get('nodes',[]): turn=turns.get(node.get('turnId'),{}) anchor=turn.get('anchorMessageId') @@ -57,6 +57,9 @@ def work_segments(session): identity=str(node.get('turnId'))+'@'+(anchor or 'start') group=groups.setdefault(identity,{'id':identity,'anchorMessageId':anchor,'turnId':node.get('turnId'),'members':[]}) group['members'].append(node) + order=(at if isinstance(at,(int,float)) else float('-inf'),len(anchors)) + if node.get('turnId') not in last_groups or order >= 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/runtime.py b/amplifier_web/runtime.py index 7083f8c4b..dd780fac4 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,25 @@ 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): + failure = RuntimeStartupError("The conversation worker could not start.") + if diagnostic: + failure.diagnostic_path = diagnostic error = str(failure) reported_error = error if not row["ready"].done(): @@ -389,6 +409,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 +436,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 +448,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 +582,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 b1ae86457..140bd76a1 100644 --- a/amplifier_web/service.py +++ b/amplifier_web/service.py @@ -2217,7 +2217,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) @@ -2366,8 +2367,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: @@ -2590,6 +2593,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) @@ -2629,6 +2636,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..70d49a8c2 100644 --- a/amplifier_web/session_health.py +++ b/amplifier_web/session_health.py @@ -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-C8kvwBmU.js b/amplifier_web/static/assets/abnfDiagram-VCTEODGH-CQpIpx4L.js similarity index 86% rename from amplifier_web/static/assets/abnfDiagram-VCTEODGH-C8kvwBmU.js rename to amplifier_web/static/assets/abnfDiagram-VCTEODGH-CQpIpx4L.js index df75fea4e..108b30ad0 100644 --- a/amplifier_web/static/assets/abnfDiagram-VCTEODGH-C8kvwBmU.js +++ b/amplifier_web/static/assets/abnfDiagram-VCTEODGH-CQpIpx4L.js @@ -1 +1 @@ -import{g as p,r as u,d as a}from"./chunk-SVP7TREG-B8cpLBHP.js";import{p as f}from"./chunk-JWPE2WC7-B70-rL71.js";import{_ as n,l as o}from"./mermaid.core-faRzEm2Q.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-D1PHBZoi.js";import{p as f}from"./chunk-JWPE2WC7-KAwJt4Dq.js";import{_ as n,l as o}from"./mermaid.core-CdGsAdCF.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-7viUedJQ.js b/amplifier_web/static/assets/app-qQeXb9Sm.js similarity index 69% rename from amplifier_web/static/assets/app-7viUedJQ.js rename to amplifier_web/static/assets/app-qQeXb9Sm.js index 517bf6d52..9bf52c314 100644 --- a/amplifier_web/static/assets/app-7viUedJQ.js +++ b/amplifier_web/static/assets/app-qQeXb9Sm.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-faRzEm2Q.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-CdGsAdCF.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 Po,g as tg,c as Ek}from"./client-BPXDbY79.js";const Oo=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"});/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -14,17 +14,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 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 Sk=g.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:i="",children:o,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",i),...l},[...s.map(([u,d])=>g.createElement(u,d)),...Array.isArray(o)?o:[o]]));/** * @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 we=(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 we=(e,t)=>{const a=g.forwardRef(({className:r,...i},o)=>g.createElement(Sk,{ref:o,iconNode:t,className:ng(`lucide-${kk(e)}`,r),...i}));return a.displayName=`${e}`,a};/** * @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 po=we("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const di=we("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -34,7 +34,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 yi=we("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** + */const yo=we("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -59,7 +59,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 Mi=we("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const Mo=we("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. @@ -94,7 +94,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 im=we("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]]);/** + */const om=we("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -139,7 +139,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 og=we("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** + */const ig=we("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. @@ -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=we("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 zo=we("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. @@ -189,7 +189,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 Co=we("FileText",[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const Si=we("FileText",[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -239,7 +239,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 ig=we("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 og=we("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. @@ -259,7 +259,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 No=we("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const Ci=we("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -289,7 +289,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 Li=we("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const Lo=we("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. @@ -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=we("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 Do=we("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. @@ -404,7 +404,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 Ro=we("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const Ni=we("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.468.0 - ISC * * This source code is licensed under the ISC license. @@ -429,7 +429,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 ox=we("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=we("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. @@ -439,7 +439,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 ix=we("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 ox=we("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. @@ -504,17 +504,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 fx=we("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,O;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((O=e.library)!=null&&O.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)))},O=((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&&O&&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}))),O))}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 te,Z;return(Z=(te=p.current)==null?void 0:te.querySelector(`[data-order-id="${CSS.escape(P)}"] .a-reorder-grip`))==null?void 0:Z.focus({preventScroll:!0})})},O=()=>{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 te=h.current.get(_.dataset.orderId);_.getAnimations().forEach(D=>D.cancel());const Z=_.getBoundingClientRect();te&&_.dataset.orderId!==((P=m.current)==null?void 0:P.id)&&te.top!==Z.top&&_.animate([{transform:`translateY(${te.top-Z.top}px)`},{transform:"translateY(0)"}],{duration:150,easing:"ease-out"})}},[S.join("\0")]);const k=async(P,_)=>{var te;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(`${(te=I.get(_))==null?void 0:te.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 te;const _=m.current;_&&(O(),m.current=null,x(null),d==null||d(!1),(te=p.current)!=null&&te.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 te=P.currentTarget.closest("[data-order-id]"),Z=te.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 U=[...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:U.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:te,bounds:Z,scroll:D}=_;if(D){const be=D.getBoundingClientRect();P.clientYbe.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 U=0,K=1/0;_.centers.forEach((be,pe)=>{const _e=Math.abs(P.clientY+G-be);_e{O(),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:te=>A(te,P.id),onKeyDown:te=>{["ArrowUp","ArrowDown"].includes(te.key)&&(te.preventDefault(),z(P.id,t.indexOf(P.id)+(te.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 te=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(te,{handle:F(te),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 Gt({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 rt({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(Qt,{"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(Gt,{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(rt,{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(rt,{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}})},O=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(O,{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(rt,{phase:"error",message:p})," ",y&&n.createElement(Gt,{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(nn,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(rt,{phase:"error",message:w.error})," ",R&&!S&&n.createElement(rt,{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(Qt,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(Gt,{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},O=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:O,"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(nn,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),O=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 te=xg(_);if(!(te!=null&&te.accepted))throw Error((te==null?void 0:te.error)||"Could not load workspaces.");B&&(l(te.result.items),h(te.result.nextOffset!=null),x(te.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(!O.current){O.current=!0,I(!0),p("");try{await r({workspace:B,location:{kind:B?"workspace":"managed"}})}catch(P){p(P.message)}finally{O.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,_,te;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||""))})},O=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(Qt,{"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 pe,_e,Me,Ke;const D=!!Z.workspaceId,G=D&&Z.workspaceId===(((pe=e.view)==null?void 0:pe.workWorkspaceId)||e.selectedWorkspaceId),U="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,be=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:U,"aria-pressed":D?G:void 0,onClick:()=>D?O(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},(Me=(_e=e.settings)==null?void 0:_e.workspaces)!=null&&Me.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(Qt,{className:"a-workspace-arrow"})),!s&&D&&Z.canBrowse&&n.createElement("button",{type:"button",className:"a-workspace-drill","data-action":"view.update","aria-label":U,title:`${Z.descendantWorkspaceCount} nested workspaces`,onClick:()=>I(Z.path)},n.createElement(Qt,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&&((Ke=Z.pathLabel)==null?void 0:Ke.includes("/")),label:Z.customName||Z.name,details:({close:ue})=>{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:()=>{ue(),O(Z)}},n.createElement(Li,null),"Open chats"),n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{ue(),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:()=>{ue(),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:()=>{ue(),r({mode:"remove",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Qn,null),"Remove")))})}},be):n.createElement("div",{className:"a-workspace-row",key:Z.path,"data-workspace-path":Z.path},be)})),v.lengthh(!0)},"More workspaces",n.createElement(Qt,null)),!d.length&&!((te=e.sharedHistory)!=null&&te.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(Qt,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(nn,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}),O=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:O}}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(nn,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(Qt,{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(Qt,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}),O=()=>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:O}):n.createElement(qi,{state:r,act:o,onOpen:O,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(Qt,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(Qt,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=Nt("/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 Nt(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=Nt("/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 te=(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 U=async()=>{var oe,be;try{const pe=await d.current.dispatch(Z,{...D,generation:A});return Z==="shell.command"&&D.action==="session.select"&&!((be=(oe=d.current.state)==null?void 0:oe.view)!=null&&be.navPinned)&&await d.current.dispatch("view.update",{patch:{navExpanded:!1}}),{accepted:pe.accepted,result:pe.result}}finally{G&&(P.pending=P.pending.filter(pe=>pe!==G)),await f()}},K=_.then(U,U);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,U;P.listeners.delete(Z),!P.listeners.size&&(((U=(G=(D=d.current.data)==null?void 0:D.snapshots)==null?void 0:G[T.id])==null?void 0:U.generation)||0)!==A&&p.current.delete(q)}),setDirty:Z=>te("shell.view.update",{clientId:a,instanceId:T.id,patch:{},dirty:Z}),dispatch:(Z,D={})=>Z==="view.update"?te("shell.view.update",{clientId:a,instanceId:T.id,patch:D.patch||{}}):te("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 Nt("/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]),O=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 _,te,Z;const P=d.current.data;!((_=P==null?void 0:P.resolvedInstances)!=null&&_.some(D=>D.id===T.id&&D.package===T.package))||(((Z=(te=P.snapshots)==null?void 0:te[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:O,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(nn,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(Qt,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(Qt,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),O=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 _,te;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,(te=(_=m.current)==null?void 0:_.contentWindow)==null||te.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(te=>{throw P===b.current&&(v.current=!0,u(!0),i(te.message)),te})};g.useEffect(()=>{e.app.revision!==a.app.revision&&!v.current&&!y.current?O(e):k()},[e]),g.useEffect(()=>{const H=oS(e.sessionId,D=>new Promise(G=>{var oe,be;const U=D||crypto.randomUUID(),K=setTimeout(()=>{N.current.delete(U),G()},900);N.current.set(U,()=>{clearTimeout(K),G()}),(be=(oe=m.current)==null?void 0:oe.contentWindow)==null||be.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,checkpoint:U},"*")})),ne=async D=>{var be,pe,_e,Me,Ke,ue,ve,M;const G=D.data;if(D.source!==((be=m.current)==null?void 0:be.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 Nt("/api/actions",{method:"POST",body:{action:"canvas.views.observe",args:{...W,...$o(f.current),...G.checkpoint?{checkpointId:G.checkpoint}:{}},id:crypto.randomUUID()}})}catch{}(pe=N.current.get(G.checkpoint))==null||pe(),N.current.delete(G.checkpoint);return}if(G.op==="status"){const W=G.status==="error"?"error":"ready",re=String(G.message||"").slice(0,1e3),ze=W+":"+re;if(ze===S.current)return;S.current=ze,t("canvas.views.status",{...$o(f.current),status:W,message:re}).catch(()=>{}),l(W==="error"?re:"");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 U=W=>{var re,ze;return(ze=(re=m.current)==null?void 0:re.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){U({error:"This saved version is read-only. Select Latest to interact."});return}if(JSON.stringify(G).length>32e4){U({error:"This change exceeds the surface message size limit."});return}if(G.revision!==f.current.app.revision){U({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&&U(W);return}if(x.current.size>=128){const W=[...x.current].find(([,re])=>re!==null);if(W)x.current.delete(W[0]);else{U({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:(Me=G.args)==null?void 0:Me.patch}:G.op==="event"?{name:(Ke=G.args)==null?void 0:Ke.name,payload:(ue=G.args)==null?void 0:ue.payload}:{name:(ve=G.args)==null?void 0:ve.name,input:(M=G.args)==null?void 0:M.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 re={snapshot:{id:h.current.id,app:W.app,theme:bm()}};x.current.set(G.requestId,re),U(re),i("")}catch(W){if(oe!==b.current)return;const re={error:W.message};x.current.set(G.requestId,re),U(re),i(W.message)}finally{y.current--,oe===b.current&&!y.current&&!v.current&&h.current.app.revision!==f.current.app.revision&&O(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 te=document.getElementById("amp-one");te&&_.observe(te,{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),O(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=o;continue}}a.push(o=>o===i)}return r=>{const i=[...String(r??"").toLowerCase()];let o=Array(i.length+1).fill(!1);o[0]=!0;for(const s of a){const l=Array(i.length+1).fill(!1);l[0]=s==="*"&&o[0];for(let c=1;c<=i.length;c++)l[c]=s==="*"?o[c]||l[c-1]:o[c-1]&&(s==="?"||s(i[c-1]));o=l}return o[i.length]}}function tl(e,t,a){const r=gx(t);return e.filter(i=>a(i).some(r))}function Fu(e){return e.runtimeSessionId||e.nativeIdentity||e.id}function qu(e,t){var a,r,i;return e.activity?e.activity:(a=e.approvals)!=null&&a.some(o=>o.status==null||o.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"}:(i=(r=t==null?void 0:t.attention)==null?void 0:r.sessions)!=null&&i[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,i,o]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 pi(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&&!pi(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),i=new Map(r.map(h=>[h.id,h])),o=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:i.get(h.workspaceId)||o.get(h.workspace)})).filter(h=>{var f,v,y;return pi(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,O;const r=e.view||{},i=r.navChatScope==="all"?"all":"workspace",o=r.navFilter||"",s=e.selectedSessionId??null;t=nl(e).find(k=>k.id===((t==null?void 0:t.id)??e.selectedWorkspaceId));const l={mode:i,workspaceId:i==="all"?null:(t==null?void 0:t.id)??null,filter:o,selectedSessionId:s};a&&(l.section=a),r.navSort&&r.navSort!=="activity"&&(l.sort=r.navSort),i==="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((O=e.library)!=null&&O.bounded)return{items:[],total:0,index:0,pages:1,start:0,end:0,scope:l,pending:!0};let v=tl(mg(e,t,i),o,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=i==="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 o,s,l;if(!e)return{items:[],total:0};if(Array.isArray((o=e.headerChatNavigation)==null?void 0:o.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),i=r.slice(0,Bc);return a&&pi(a)&&!i.some(c=>c.id===a.id)&&i.splice(Math.max(0,Bc-1),1,a),{items:i,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||"",i={sessionId:t==null?void 0:t.id,filter:r},o=e.subagentNavigation,s=Number.isSafeInteger(a.index)?a.index:0;if(o!=null&&o.scope&&Array.isArray(o.items)&&Object.entries(i).every(([v,y])=>o.scope[v]===y)&&o.index===Math.max(0,Math.min(o.pages-1,s)))return o;if((f=e.library)!=null&&f.bounded)return{items:[],total:0,unfilteredTotal:hg(e,t),index:0,pages:1,start:0,end:0,scope:i,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:i}}function fg(e,t,a){if(t===a||!e.includes(t)||!e.includes(a))return e;const r=e.filter(i=>i!==t);return r.splice(e.indexOf(a),0,t),r}const gg=g.createContext(!0),Wo=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),i=()=>a(r.matches);return i(),r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[e]),t}function al(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{var d;const i=e.current;if(!t||!i)return;const o=document.activeElement,s=[];let l=i;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=Wo.get(p)||{count:0,original:p.inert};m.count++,Wo.set(p,m),s.push(p),p.inert=!0}l=l.parentElement}const c=()=>[...i.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||!i.contains(document.activeElement))?(p.preventDefault(),f.focus()):!p.shiftKey&&(document.activeElement===f||!i.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=Wo.get(m);h&&!--h.count&&(m.inert=h.original,Wo.delete(m))}o!=null&&o.isConnected&&!o.closest("[inert]")&&((p=o.focus)==null||p.call(o,{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(Ci,{className:"a-progress-spinner"}):e.kind==="attention"?n.createElement(On,null):e.kind==="unread"?n.createElement("span",{className:"a-navigation-unread"}):n.createElement(Lo,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:i=!1,...o}){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(()=>{i&&I(!0)},[i]),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)))},O=((k=c.current)==null?void 0:k.closest(".a-nav-slot"))||(typeof document<"u"?document.getElementById("amp-one"):null);return n.createElement("div",{...o,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(zo,null)),v&&O&&Po.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}))),O))}function dm(e,t,a){if(!e.includes(t))return e;const r=e.filter(i=>i!==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:i,className:o="",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 te,Z;return(Z=(te=p.current)==null?void 0:te.querySelector(`[data-order-id="${CSS.escape(P)}"] .a-reorder-grip`))==null?void 0:Z.focus({preventScroll:!0})})},O=()=>{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 te=h.current.get(_.dataset.orderId);_.getAnimations().forEach(D=>D.cancel());const Z=_.getBoundingClientRect();te&&_.dataset.orderId!==((P=m.current)==null?void 0:P.id)&&te.top!==Z.top&&_.animate([{transform:`translateY(${te.top-Z.top}px)`},{transform:"translateY(0)"}],{duration:150,easing:"ease-out"})}},[S.join("\0")]);const k=async(P,_)=>{var te;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(`${(te=I.get(_))==null?void 0:te.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 te;const _=m.current;_&&(O(),m.current=null,x(null),d==null||d(!1),(te=p.current)!=null&&te.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 te=P.currentTarget.closest("[data-order-id]"),Z=te.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 U=[...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:U.map(K=>{const ie=K.getBoundingClientRect();return(ie.top+ie.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:te,bounds:Z,scroll:D}=_;if(D){const be=D.getBoundingClientRect();P.clientYbe.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 U=0,K=1/0;_.centers.forEach((be,pe)=>{const _e=Math.abs(P.clientY+G-be);_e{O(),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:te=>A(te,P.id),onKeyDown:te=>{["ArrowUp","ArrowDown"].includes(te.key)&&(te.preventDefault(),z(P.id,t.indexOf(P.id)+(te.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 "+o,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 te=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"}),i(te,{handle:F(te),index:_,move:Z=>z(P,Z),floating:!1}))})),H&&ne&&Po.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}},i(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:i=!1}){var s,l,c,u,d,p;const o=r??(i?(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 o>0?n.createElement("span",{className:"a-attention-badge",role:"status","aria-label":`${o} unread items`},o):null}function yg(e,t,a){const r=JSON.stringify(e.filter(i=>i&&!i.read).map(i=>[i.id,i.fingerprint]));n.useEffect(()=>{const i=e.filter(m=>m&&!m.read),o=a.current;if(!i.length||!o)return;let s,l=!1,c=!1;const u=()=>l&&!document.hidden&&document.hasFocus()&&o.getClientRects().length>0&&!o.closest("[inert], [hidden], details:not([open])"),d=()=>{clearTimeout(s),!c&&u()&&(s=setTimeout(()=>{u()&&(c=!0,Promise.resolve(Fr(t,i)).catch(()=>{c=!1}))},750))},p=new IntersectionObserver(m=>{l=m[0].isIntersecting,d()});return p.observe(o),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 Fo({item:e,act:t,children:a,className:r}){const i=n.useRef(null);return yg(e?[e]:[],t,i),n.createElement("div",{ref:i,className:r},a)}function Ms({state:e,act:t,page:a,items:r,showItems:i=!1}){var s;const o=r||(((s=e.attention)==null?void 0:s.items)||[]).filter(l=>l.page===a&&!l.read);return!o.length||a==="updates"?null:n.createElement("div",{className:"a-attention-review"},o.map(l=>n.createElement(Fo,{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),i=((l=e.attention)==null?void 0:l.items)||[],o=i.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."),i.some(c=>c.read)&&n.createElement("button",{className:"a-link",type:"button",onClick:()=>r(!a)},a?"Hide reviewed items":"Show reviewed items"),o.length?n.createElement(n.Fragment,null,o.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 i=xx(e),o=!!((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||!i||o||!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,[i])},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)}},[i==null?void 0:i.id,i==null?void 0:i.fingerprint,o,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 Gt({busy:e=!1,name:t,children:a,className:r="",as:i="div",...o}){const s=g.useRef(null);return Vu(s,e),n.createElement(i,{...o,ref:s,className:r,"data-activity-region":t||""},a)}function Hc(e,t,a){var i;const r=g.useRef(null);return a||(r.current={key:e,value:t}),a&&((i=r.current)==null?void 0:i.key)===e?r.current.value:t}const Zo=[];function il(e,t,a){const r=g.useRef(a);r.current=a,g.useEffect(()=>{if(!e||!t.current)return;let i=!1;const o={};Zo.push(o);const s=d=>!!t.current&&!d.composedPath().includes(t.current),l=d=>{i=s(d)},c=d=>{i&&s(d)&&r.current()},u=d=>{d.key==="Escape"&&Zo.at(-1)===o&&(d.preventDefault(),d.stopImmediatePropagation(),r.current())};return document.addEventListener("pointerdown",l,!0),document.addEventListener("click",c,!0),document.addEventListener("keydown",u,!0),()=>{Zo.splice(Zo.indexOf(o),1),document.removeEventListener("pointerdown",l,!0),document.removeEventListener("click",c,!0),document.removeEventListener("keydown",u,!0)}},[e,t])}function rt({phase:e,message:t,detail:a}){const r=g.useRef(null),i=["working","queued","pending","checking","staging","validating","activating"].includes(e),o=["error","failed"].includes(e),s=i?Ci:o?Ok:e==="neutral"?og:Pk;return g.useEffect(()=>i&&t?Hu(Eg(r.current)):void 0,[i,!!t]),t?n.createElement("div",{ref:r,className:`a-check-result ${i||e==="neutral"?"pending":o?"error":"success"}`,role:o?"alert":"status","aria-live":"polite"},n.createElement(s,{"aria-hidden":"true",className:i?"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:i,children:o}){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"},o)):null;if(c&&!u)return null;const p=()=>i("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:i,page:e}),n.createElement("div",{id:"settings-group-"+e,className:"a-settings-page-body"},o)):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(Qt,{"aria-hidden":"true"})))}function wg({id:e,accept:t,disabled:a,action:r,onFile:i,label:o="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 i(b)}catch(x){h(x.message)}finally{y.current=!1,v(!1)}}}return n.createElement(Gt,{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()}},o),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":o,onChange:b=>{var x;E((x=b.target.files)==null?void 0:x[0]),b.target.value=""}}),m&&n.createElement(rt,{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:i,onCreated:o}){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"&&(i==null?void 0:i.createdBy)===d&&(p(null),f.current=!1,u(""),l(!1),o(i.path)))},[d,r==null?void 0:r.commandId,r==null?void 0:r.phase,i==null?void 0:i.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(rt,{phase:"error",message:m}))}function Ma({id:e,value:t,onChange:a,state:r,act:i,placeholder:o,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,()=>i("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(""),i("view.update",{patch:{locationPicker:{controlId:e,path:F||""}}}),i("locations.list",{controlId:e,...F?{path:F}:{},directoriesOnly:l})),N=F=>{a(c?[t,F].filter(Boolean).join(` +`):F),i("view.update",{patch:{locationPicker:null}})},O=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(O,{id:e,value:t,placeholder:o,"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(rt,{phase:"error",message:p})," ",y&&n.createElement(Gt,{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:()=>i("view.update",{patch:{locationPicker:null}})},n.createElement(nn,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),i("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(rt,{phase:"error",message:w.error})," ",R&&!S&&n.createElement(rt,{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(Mo,null),"Up"),n.createElement("code",{className:"a-wrap"},S.path)),n.createElement(Nx,{id:e,parent:S.path,act:i,status:(z=r.actionStatus)==null?void 0:z["locations.create"],listing:E,onCreated:F=>{f(F),i("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(Qt,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:i,action:o="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 i("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(()=>{i("bundles.list",{})},[]);const c=r.registeredBundles||[{name:"work",label:"Work",value:"work"}],u=c.find(f=>f.value===t);return n.createElement(Gt,{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":o,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:o,id:e+"-source",value:t,onChange:a,state:r,act:i,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 ol({state:e,act:t,mode:a="create",fromDraft:r=!1,onDone:i,onCancel:o}){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},O=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});i==null||i(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});i==null||i(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});i==null||i(q)}catch(q){x(q.message)}finally{w.current=!1,E(!1)}}};return n.createElement("form",{ref:R,className:"a-workspace-setup",onSubmit:O,"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:o},n.createElement(nn,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:o},"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[i,o]=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),O=g.useRef(!1),k=g.useRef(null),T=g.useId(),A=40;g.useEffect(()=>{var B;i||(B=N.current)==null||B.focus()},[i]),g.useEffect(()=>{if(i)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 te=xg(_);if(!(te!=null&&te.accepted))throw Error((te==null?void 0:te.error)||"Could not load workspaces.");B&&(l(te.result.items),h(te.result.nextOffset!=null),x(te.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,i,w]);const q=async B=>{if(!O.current){O.current=!0,I(!0),p("");try{await r({workspace:B,location:{kind:B?"workspace":"managed"}})}catch(P){p(P.message)}finally{O.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 i?n.createElement("div",{className:"a-workspace-picker"},n.createElement("button",{type:"button",className:"a-link a-picker-back",onClick:()=>o(null)},n.createElement(xa,null),"Back to workspaces"),n.createElement("h3",null,i==="create"?"New workspace":"Use an existing folder"),n.createElement(ol,{state:e,act:t,mode:i,fromDraft:!0,onCancel:()=>o(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(Lo,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(Ni,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:()=>o("create")},n.createElement(Mn,null),"New workspace"),n.createElement("button",{type:"button",disabled:S,onClick:()=>o("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)||""),[i,o]=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.");o("Saved. Existing workspaces stay where they are.")}catch(y){o(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"),i&&n.createElement("p",{role:"status"},i),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 qo({state:e,act:t,onOpen:a,onEdit:r,heading:i=!0,previewLimit:o=1/0,compact:s=!1,onSelect:l}){var F,H,ne,B,P,_,te;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,o):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||""))})},O=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")),i&&!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(Ni,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(zo,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(Qt,{"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 pe,_e,Me,Ke;const D=!!Z.workspaceId,G=D&&Z.workspaceId===(((pe=e.view)==null?void 0:pe.workWorkspaceId)||e.selectedWorkspaceId),U="Browse "+Z.path,K=Z.activityCounts||{},ie=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,be=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:U,"aria-pressed":D?G:void 0,onClick:()=>D?O(Z):I(Z.path)},ie?n.createElement($u,{activity:ie}):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},(Me=(_e=e.settings)==null?void 0:_e.workspaces)!=null&&Me.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(Qt,{className:"a-workspace-arrow"})),!s&&D&&Z.canBrowse&&n.createElement("button",{type:"button",className:"a-workspace-drill","data-action":"view.update","aria-label":U,title:`${Z.descendantWorkspaceCount} nested workspaces`,onClick:()=>I(Z.path)},n.createElement(Qt,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&&((Ke=Z.pathLabel)==null?void 0:Ke.includes("/")),label:Z.customName||Z.name,details:({close:ue})=>{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:()=>{ue(),O(Z)}},n.createElement(Lo,null),"Open chats"),n.createElement("button",{type:"button","data-action":"view.update",onClick:()=>{ue(),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:()=>{ue(),r({mode:"rename",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Do,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:()=>{ue(),r({mode:"remove",id:Z.workspaceId,name:Z.customName||Z.name})}},n.createElement(Qn,null),"Remove")))})}},be):n.createElement("div",{className:"a-workspace-row",key:Z.path,"data-workspace-path":Z.path},be)})),v.lengthh(!0)},"More workspaces",n.createElement(Qt,null)),!d.length&&!((te=e.sharedHistory)!=null&&te.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(Qt,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:i=>t("view.update",{patch:{navArchive:i.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),[i,o]=g.useState(!1),[s,l]=g.useState("");async function c(){o(!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{o(!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:i,"data-action":r?"session.restore":"session.archive",onClick:c},r?n.createElement(Ck,null):n.createElement(yo,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),[i,o]=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),o([]),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=>o(x=>[b,...x.filter(w=>w.id!==b.id)]),E=(b=0)=>v("session.shareList",{sessionId:e.id,offset:b},x=>{o(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")),i.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,i]=g.useState(null),[o,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;i(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&&i(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),i(null)):a())}catch(x){E===p.current&&(c(x.message),i(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":o},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("; "),".")):o?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:o,onClick:f},o?"Deleting…":"Delete permanently"):!o&&!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[i,o]=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||o(e.title||"")},[e.title]);const v=async x=>{x.preventDefault();const w=i.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||i!==(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:i,disabled:s,required:!0,autoFocus:!0,onChange:x=>{p.current=x.target.value!==(e.title||""),o(x.target.value),u("")}}),n.createElement("button",{type:"submit",className:"a-icon a-nav-chat-edit","aria-label":"Save conversation name",disabled:s||!i.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(nn,null)),n.createElement("button",{type:"button",className:"a-link","data-action":"session.naming",disabled:s||m||h||i!==(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.":i!==(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 mi(e,t){var k,T,A;const a=Zu(n,e),r=e.dispatch,i=e.instanceId==="workspaces"?"nav-workspace":"nav-"+e.instanceId,o=a.view||{},s=o.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=o.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}),O=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:i,view:o,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:O}}function hi({model:e}){var p;const{state:t,act:a,prefix:r,draft:i,form:o,saving:s,formError:l,setDraft:c,updateDraft:u,submit:d}=e;return i.mode==="add"?n.createElement(ol,{state:t,act:a,onDone:()=>c({}),onCancel:()=>c({})}):n.createElement(n.Fragment,null,i.mode==="chat-delete"&&n.createElement("div",{className:"a-nav-form"},n.createElement("strong",null,"Delete chat?"),n.createElement(Sg,{key:i.id,id:i.id,act:a,cancel:()=>c({})}))," ",i.mode&&i.mode!=="chat-rename"&&i.mode!=="chat-delete"&&n.createElement("form",{ref:o,className:"a-nav-form","aria-busy":s,onSubmit:d},n.createElement("div",{className:"a-nav-form-title"},n.createElement("strong",null,i.mode==="add"?"New workspace":i.mode==="rename"?"Rename workspace":i.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(nn,null))),i.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:i.path||"",onChange:m=>u({path:m}),directory:!0,state:t,act:a,placeholder:"~/Projects/my-project"})),["add","rename","chat-rename"].includes(i.mode)?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:r+"-name"},i.mode==="add"?"Name (optional)":"Name"),n.createElement("input",{id:r+"-name",maxLength:200,value:i.name||"",required:i.mode!=="add","data-action":"view.update",onChange:m=>u({name:m.target.value})})):n.createElement("p",null,"Remove ",i.name," from this list? Its files and chats will stay on disk."),n.createElement("button",{type:"submit",disabled:s||i.mode==="add"&&!((p=i.path)!=null&&p.trim()),className:i.mode==="remove"?"a-soft a-danger":"a-primary","data-action":i.mode==="add"?"workspace.create":i.mode==="rename"?"workspace.rename":i.mode==="remove"?"workspace.remove":"session.rename"},s?"Saving…":i.mode==="add"?"Create workspace":i.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=mi(e,"workspaces"),{state:r,act:i,allChats:o,workspace:s,workspaceCount:l,setDraft:c}=a;return t?n.createElement(hi,{model:a}):n.createElement(n.Fragment,null,n.createElement(hi,{model:a})," ",!o&&n.createElement(qo,{state:r,act:i}),!o&&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(Do,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=mi(e,"workspaces");return n.createElement(qo,{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:i,act:o,draft:s,setDraft:l,choose:c,prefix:u}=t,d=qu(e,i),p=e.title||"Untitled conversation",m=((b=e.location)==null?void 0:b.kind)==="managed",h=i.pinnedSessionIds||[],f=h.indexOf(e.id),[v,y]=g.useState(""),E=async w=>{try{y(""),await o("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(Lo,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:o,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:()=>o("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(Mo,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(Do,null),"Rename"),n.createElement("button",{type:"button","aria-label":(e.archived?"Restore ":"Archive ")+p,"data-action":e.archived?"session.restore":"session.archive",onClick:()=>o(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 ai({id:e,title:t,count:a,model:r,actions:i,children:o}){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(Qt,{className:c?"":"is-open"}),a!=null&&n.createElement("small",null,a)),i),n.createElement("div",{id:s,hidden:c},o))}function Ju({chat:e,model:t,now:a,showLocation:r=!0,handle:i,floating:o=!1}){const{state:s,choose:l}=t,c=e.title||"Untitled conversation",u=qu(e,s),d=n.createElement(n.Fragment,null,i,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 o?n.createElement("div",{className:p},d,n.createElement(zo,{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(Qt,null))))}function Ku({page:e,model:t,now:a}){const[r,i]=g.useState(""),o=e.items.map(c=>({...c,label:c.title||"Untitled conversation"})),s=o.map(c=>c.id),l=async(c,{id:u,to:d})=>{var p;i("");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 i(m.message||"Could not reorder pins. Please try again."),m}};return n.createElement(n.Fragment,null,n.createElement(bg,{items:o,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:i,showLocation:o}){const s=e.activityCounts||{};return n.createElement(n.Fragment,null,n.createElement("div",{className:"a-nav-search"},n.createElement(Ni,null),n.createElement("input",{"aria-label":"Filter conversations",maxLength:500,type:"search",value:a.navFilter||"",placeholder:o?"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"))),o&&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(Ci,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:i,showLocation:o}))),!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=mi(e,"chats"),{state:r,act:i,view:o,workspace:s,history:l,refreshing:c}=a,u=Zu(n,t||e),d=rl(),p=(t==null?void 0:t.dispatch)||i,[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:o.navPinnedPage},b={...pm,...y==null?void 0:y.recentView,...o.navRecentView},x=ys({...r,view:E},s,{section:"pinned"}),w=ys({...r,view:{...b,navChatScope:E.navChatScope}},s,{section:"recent"}),R=ys({...r,view:{...o,navChatScope:"workspace"}},s,{section:"workspace"}),S=(z,F)=>{if(z!=="view.update")return i(z,F);const H={...b,...F.patch};return Object.hasOwn(F.patch,"navChatPage")||delete H.navChatPage,ra(i,{navRecentView:H})},I=o.navWorkspaceList!==!1||!s,N=()=>ra(i,{navWorkspaceList:!0}),O=()=>ra(i,{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(hi,{model:a}),n.createElement(ai,{id:"pinned",title:"Pinned",count:x.total,model:a},n.createElement(Ku,{page:x,model:a,now:d})),n.createElement(ai,{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(i,{navSectionsCollapsed:(o.navSectionsCollapsed||[]).filter(z=>z!=="workspaces")})}},n.createElement(Mn,null))},m&&n.createElement(ol,{state:u,act:p,onDone:v,onCancel:v}),I?t?n.createElement(Mx,{host:t,onOpen:O}):n.createElement(qo,{state:r,act:i,onOpen:O,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(Do,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:()=>i("session.draft",{workspace:s.path})},n.createElement(Mn,null),"New chat")),n.createElement(Vc,{page:R,model:a,view:o,viewAct:i,now:d,showLocation:!1}))),n.createElement(ai,{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:()=>i("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=mi(e,"chats"),i=rl(),o=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(hi,{model:r}),n.createElement("button",{type:"button",className:"a-nav-search-launch","data-action":"view.update",onClick:()=>a.browse("chats")},n.createElement(Ni,null),"Search chats"),n.createElement(ai,{id:"pinned",title:"Pinned",model:r},n.createElement(Ku,{page:s,model:r,now:i})),n.createElement(ai,{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(qo,{state:o,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(Qt,null))),n.createElement(ai,{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:i})),!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(Qt,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(Oo);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)||"",i=(d=e==null?void 0:e.view)==null?void 0:d.newSessionDraft,o=(i==null?void 0:i.workspace)??r;return{title:"",workspace:r,bundle:"",selection:{},...i,location:(i==null?void 0:i.location)||{kind:o?"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 Jo;function jo(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(!Jo){let t;try{t=sessionStorage.getItem("amplifier.clientId")||void 0}catch{}Jo=Nt("/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 Jo=null,a})}return Jo}let co;function ws(){return co?co.seconds+(performance.now()-co.received)/1e3:Date.now()/1e3}async function Nt(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 i=await fetch(e,{...t,body:r,headers:a,credentials:"same-origin"}),o=Date.parse((d=(u=i.headers)==null?void 0:u.get)==null?void 0:d.call(u,"date"));Number.isFinite(o)&&(!co||o/1e3>ws())&&(co={seconds:o/1e3,received:performance.now()});const s=await i.text();let l;try{l=s?JSON.parse(s):{}}catch{throw new Error(`The server returned an unexpected response (${i.status}).`)}const c=i.ok&&l.accepted===!1?Number.isInteger(l.status)&&l.status>=400&&l.status<600?l.status:400:i.status;if(!i.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}),i=URL.createObjectURL(r),o=document.createElement("a");o.href=i,o.download=e,o.click(),setTimeout(()=>URL.revokeObjectURL(i),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 i=r.getAttribute("aria-label");i&&(!r.title||r.dataset.iconTitle==="auto")&&(r.title=i,r.dataset.iconTitle="auto")}}function $x(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode(i){if(i.nodeType===Node.ELEMENT_NODE){const o=getComputedStyle(i);return i.dataset.viewSource||o.display==="none"||o.visibility==="hidden"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP}return i.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",i=[...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}}),o=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:o,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:i,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),i=g.useRef(null),o=g.useRef(null),s=g.useId(),l=e==="app.status"?"Additional status":"Additional controls",c=e==="app.status"?di:el;return g.useEffect(()=>{if(!a)return;const u=d=>{var p;(p=i.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=i.current)!=null&&p.contains(document.activeElement))&&document.activeElement!==o.current&&r(!0)};return u.addEventListener("change",d),()=>u.removeEventListener("change",d)},[]),n.createElement("div",{className:"a-slot-overflow","data-open":a,ref:i,onKeyDown:u=>{var d;u.key==="Escape"&&a&&(u.stopPropagation(),u.preventDefault(),r(!1),(d=o.current)==null||d.focus())}},n.createElement("button",{ref:o,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(i=>i.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:{}}),ji=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 o,s;const r=t[a.id],i=((s=(o=e.snapshots)==null?void 0:o[a.id])==null?void 0:s.generation)||0;return[a.id,(r==null?void 0:r.package)===a.package&&r.generation===i?r.status:"inactive"]}))}function Wx(e,t,a){var k;const[r,i]=g.useState(null),[o,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=Nt("/api/shell?clientId="+encodeURIComponent(a)+(ji?"&recovery=1":"")).then(T=>{var A;d.current.data=T,i(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 te=(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(ie=>ie()));const U=async()=>{var ie,be;try{const pe=await d.current.dispatch(Z,{...D,generation:A});return Z==="shell.command"&&D.action==="session.select"&&!((be=(ie=d.current.state)==null?void 0:ie.view)!=null&&be.navPinned)&&await d.current.dispatch("view.update",{patch:{navExpanded:!1}}),{accepted:pe.accepted,result:pe.result}}finally{G&&(P.pending=P.pending.filter(pe=>pe!==G)),await f()}},K=_.then(U,U);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,U;P.listeners.delete(Z),!P.listeners.size&&(((U=(G=(D=d.current.data)==null?void 0:D.snapshots)==null?void 0:G[T.id])==null?void 0:U.generation)||0)!==A&&p.current.delete(q)}),setDirty:Z=>te("shell.view.update",{clientId:a,instanceId:T.id,patch:{},dirty:Z}),dispatch:(Z,D={})=>Z==="view.update"?te("shell.view.update",{clientId:a,instanceId:T.id,patch:D.patch||{}}):te("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=ji?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(),ji&&(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||ji))return Nt("/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]),O=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 _,te,Z;const P=d.current.data;!((_=P==null?void 0:P.resolvedInstances)!=null&&_.some(D=>D.id===T.id&&D.package===T.package))||(((Z=(te=P.snapshots)==null?void 0:te[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:o,composition:R,hostFor:y,recover:S,report:N,statusFor:O,refresh:f,setPresentation:I,ready:!!r,recovery:ji,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:i}){return g.useEffect(()=>{a("ready")},[e,a]),n.createElement(e,{host:t,workspaceHost:r,paired:i})}function Ig({instance:e,metadata:t,host:a,report:r,workspaceHost:i,paired:o}){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:i,paired:o})):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 i,o,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=(o=(i=e.data)==null?void 0:i.snapshots)==null?void 0:o[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 i=(((s=r.data)==null?void 0:s.resolvedInstances)||[]).filter(l=>l.slot===e&&(!t||l.id===t));if(!i.length)return null;const o=i.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)&&o.some(l=>!l.builtin)?n.createElement(n.Fragment,null,o.filter(l=>l.builtin).map(l=>l.element),n.createElement(Bx,{name:e},o.filter(l=>!l.builtin).map(l=>l.element))):o.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?Po.createPortal(e,a):null}function Yx({children:e,label:t}){const a=g.useContext(zs),[r,i]=g.useState(null);return a===void 0?e:n.createElement(n.Fragment,null,n.createElement(vr,null,n.createElement("div",{ref:i,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 fi(e){return(e.canvasArtifacts||[]).filter(t=>Gx(e,t))}function vm({state:e,message:t,act:a}){const r=fi(e).flatMap(i=>{var o;return(i.publications||[{messageId:i.messageId,version:((o=i.app)==null?void 0:o.revision)||i.revision||1}]).filter(s=>s.messageId===t.id).map(s=>({row:i,version:s.version}))});return r.length?n.createElement("div",{className:"a-chat-artifacts","aria-label":"Saved artifacts for this turn"},r.map(({row:i,version:o})=>{var s,l;return n.createElement("button",{type:"button",key:i.id+":"+o,className:"a-artifact-link","data-action":"canvas.select",onClick:()=>a("canvas.select",{id:i.id,version:o})},i.kind==="browser"?n.createElement(gr,null):n.createElement(Si,null),n.createElement("span",null,((l=(((s=i.app)==null?void 0:s.versions)||i.versions||[]).find(c=>c.version===o))==null?void 0:l.title)||i.title," · Version ",o),n.createElement(zr,null))})):null}function Qx({state:e,act:t}){const a=fi(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 i,o;return n.createElement("div",{className:`a-canvas-tab ${r.id===((i=e.canvas)==null?void 0:i.id)?"is-active":""}`,key:r.id},n.createElement("button",{type:"button",role:"tab","aria-selected":r.id===((o=e.canvas)==null?void 0:o.id),"data-action":"canvas.select",onClick:()=>t("canvas.select",{id:r.id})},r.kind==="browser"?n.createElement(gr,null):n.createElement(Si,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(nn,null)))})):null}function Xx({state:e,act:t}){var o;const a=((o=e.view)==null?void 0:o.canvasDraft)||{},r=fi(e),i=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}}})}),i.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(Si,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))),!i.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,i]=g.useState(a.url||""),o=g.useRef(null);return g.useEffect(()=>{(o.current===null||a.url===o.current)&&(i(a.url||""),o.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=>{i(l.target.value),o.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),i=l=>l==="localhost"||l.endsWith(".localhost")||l==="[::1]"||/^127\.\d+\.\d+\.\d+$/.test(l),o=r.protocol==="https:"&&a.protocol==="http:"&&!i(a.hostname),s=i(a.hostname)&&!i(r.hostname);return{blocked:o,localWarning:s,message:o?"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 i,o,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,(i=e.view)==null?void 0:i.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}-${((o=e.view)==null?void 0:o.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)||{},i=((m=e.sessions)==null?void 0:m.find(h=>h.id===r.sessionId))||t,o=r.filter||"",s=Ex(e,i),{pages:l,index:c}=s,u=h=>a("view.update",{patch:{subagentHistory:{sessionId:i==null?void 0:i.id,filter:o,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 ",(i==null?void 0:i.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:o,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(Qt,null)))),!s.total&&!s.pending&&n.createElement("p",null,o?"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(Qt,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),i=fi(e),o=[...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(Si,null),n.createElement("h3",null,"Outputs"),n.createElement("span",null,i.length)),i.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")),o.length?n.createElement("ul",null,o.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(di,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 iS(e,t){const a={sessionId:e,checkpoint:t};return Wc.add(a),()=>Wc.delete(a)}async function Ul(e,t){const a=[...Wc].filter(i=>i.sessionId===e).map(i=>Promise.resolve().then(()=>i.checkpoint(t)).catch(()=>{}));let r;try{await Promise.race([Promise.all(a),new Promise(i=>{r=setTimeout(i,1e3)})])}finally{clearTimeout(r)}}const Ui=e=>Object.fromEntries(["viewId","resourceId","resourceRevision","generation"].map(t=>[t,e[t]])),oS=["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(oS.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),[i,o]=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),O=H=>{E.current=0,b.current=crypto.randomUUID(),x.current.clear(),p(null),o(""),l(""),R.current=null,S.current=null,r(H)},k=(H=!1)=>{var _,te;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,(te=(_=m.current)==null?void 0:_.contentWindow)==null||te.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=Ui(f.current),P=b.current,_=w.current.catch(()=>{}).then(()=>t("canvas.views.dirty",{...B,dirty:H,editVersion:ne}));return w.current=_,_.catch(te=>{throw P===b.current&&(v.current=!0,u(!0),o(te.message)),te})};g.useEffect(()=>{e.app.revision!==a.app.revision&&!v.current&&!y.current?O(e):k()},[e]),g.useEffect(()=>{const H=iS(e.sessionId,D=>new Promise(G=>{var ie,be;const U=D||crypto.randomUUID(),K=setTimeout(()=>{N.current.delete(U),G()},900);N.current.set(U,()=>{clearTimeout(K),G()}),(be=(ie=m.current)==null?void 0:ie.contentWindow)==null||be.postMessage({type:"canvas-app-host",id:h.current.id,channel:b.current,checkpoint:U},"*")})),ne=async D=>{var be,pe,_e,Me,Ke,ue,ve,M;const G=D.data;if(D.source!==((be=m.current)==null?void 0:be.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 Nt("/api/actions",{method:"POST",body:{action:"canvas.views.observe",args:{...W,...Ui(f.current),...G.checkpoint?{checkpointId:G.checkpoint}:{}},id:crypto.randomUUID()}})}catch{}(pe=N.current.get(G.checkpoint))==null||pe(),N.current.delete(G.checkpoint);return}if(G.op==="status"){const W=G.status==="error"?"error":"ready",re=String(G.message||"").slice(0,1e3),ze=W+":"+re;if(ze===S.current)return;S.current=ze,t("canvas.views.status",{...Ui(f.current),status:W,message:re}).catch(()=>{}),l(W==="error"?re:"");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 U=W=>{var re,ze;return(ze=(re=m.current)==null?void 0:re.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){U({error:"This saved version is read-only. Select Latest to interact."});return}if(JSON.stringify(G).length>32e4){U({error:"This change exceeds the surface message size limit."});return}if(G.revision!==f.current.app.revision){U({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&&U(W);return}if(x.current.size>=128){const W=[...x.current].find(([,re])=>re!==null);if(W)x.current.delete(W[0]);else{U({error:"Wait for pending surface changes to finish."});return}}x.current.set(G.requestId,null),y.current++;const K=G.editVersion,ie=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:(Me=G.args)==null?void 0:Me.patch}:G.op==="event"?{name:(Ke=G.args)==null?void 0:Ke.name,payload:(ue=G.args)==null?void 0:ue.payload}:{name:(ve=G.args)==null?void 0:ve.name,input:(M=G.args)==null?void 0:M.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(ie!==b.current)return;const re={snapshot:{id:h.current.id,app:W.app,theme:bm()}};x.current.set(G.requestId,re),U(re),o("")}catch(W){if(ie!==b.current)return;const re={error:W.message};x.current.set(G.requestId,re),U(re),o(W.message)}finally{y.current--,ie===b.current&&!y.current&&!v.current&&h.current.app.revision!==f.current.app.revision&&O(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 te=document.getElementById("amp-one");te&&_.observe(te,{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 o(""),B}catch(B){o(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=jo(`/api/canvas/${a.id}/app-host?`+new URLSearchParams(Ui(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))))),(i||s)&&n.createElement("div",{className:"a-canvas-app-errors",role:"alert"},s&&n.createElement("p",null,s),i&&i!==s&&n.createElement("p",null,i)),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",{...Ui(h.current),dirty:!1}),v.current=!1,u(!1),O(h.current)}catch(H){o(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=>o(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 i=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"));i=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 o(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return i.then(s=>{for(const l of s||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Em=4e3;function uS(e,t=0){return()=>a=>{const r=i=>{var o;i.children=(o=i.children)==null?void 0:o.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 i="",o=0;const s=(l,c,u)=>{i+=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=o;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=Cn(It({},Mg)),VS=(function(){const e={};return Tr(Mg,t=>{e[t]=zn(new RegExp("])","i"))}),Cn(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])?It(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(j){return R?R(j):j.nodeType},O=function(j){return S?S(j):j.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(j){F(),z++;try{return k.createHTML(j)}finally{z--}},ne=function(j){F(),z++;try{return k.createScriptURL(j)}finally{z--}},B=function(){return q||(A=ZS(p,o),q=!0),A},P=a,_=P.implementation,te=P.createNodeIterator,Z=P.createDocumentFragment,D=P.getElementsByTagName,G=r.importNode;let U=zm();t.isSupported=typeof Pg=="function"&&typeof b=="function"&&_&&_.createHTMLDocument!==void 0;const K=OS,oe=MS,be=zS,pe=LS,_e=DS,Me=FS,Ke=qS,ue=US;let ve=Pm,M=null;const W=It({},[...Tm,...Bl,...Hl,...Vl,...Im]);let re=null;const ze=It({},[...Am,...Wl,..._m,...Ki]);let Le=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}})),ge=null,lt=null;const bt=Object.seal(Gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wt=!0,At=!0,Zt=!1,ie=!0,he=!1,Ne=!0,De=!1,Ge=!1,ft=null,yt=null,gt=!1,Se=!1,X=!1,Ce=!1,Fe=!0,Ve=!1;const tt="user-content-";let wt=!0,se=!1,Qe={},at=null;const Et=It({},["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=It({},["audio","video","img","source","image","track"]);let Ct=null;const qt=It({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ot="http://www.w3.org/1998/Math/MathML",it="http://www.w3.org/2000/svg",We="http://www.w3.org/1999/xhtml";let Ot=We,en=!1,vn=null;const Tn=It({},[ot,it,We],$l),bn=Cn(["mi","mo","mn","ms","mtext"]);let Ln=It({},bn);const Kn=Cn(["annotation-xml"]);let ye=It({},Kn);const Ue=It({},["title","style","font","a","script"]);let vt=null;const Ze=["application/xhtml+xml","text/html"],ct="text/html";let Ee=null,Jt=null;const tn=a.createElement("form"),on=function(j){return j instanceof RegExp||j instanceof Function},Q=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Jt&&Jt===j)return;(!j||typeof j!="object")&&(j={}),j=ga(j),vt=Ze.indexOf(j.PARSER_MEDIA_TYPE)===-1?ct:j.PARSER_MEDIA_TYPE,Ee=vt==="application/xhtml+xml"?$l:oi,M=ir(j,"ALLOWED_TAGS",W,{transform:Ee}),re=ir(j,"ALLOWED_ATTR",ze,{transform:Ee}),vn=ir(j,"ALLOWED_NAMESPACES",Tn,{transform:$l}),Ct=ir(j,"ADD_URI_SAFE_ATTR",qt,{transform:Ee,base:qt}),ut=ir(j,"ADD_DATA_URI_TAGS",Mt,{transform:Ee,base:Mt}),at=ir(j,"FORBID_CONTENTS",Et,{transform:Ee}),ge=ir(j,"FORBID_TAGS",ga({}),{transform:Ee}),lt=ir(j,"FORBID_ATTR",ga({}),{transform:Ee}),Qe=aa(j,"USE_PROFILES")?j.USE_PROFILES&&typeof j.USE_PROFILES=="object"?ga(j.USE_PROFILES):j.USE_PROFILES:!1,Wt=j.ALLOW_ARIA_ATTR!==!1,At=j.ALLOW_DATA_ATTR!==!1,Zt=j.ALLOW_UNKNOWN_PROTOCOLS||!1,ie=j.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=j.SAFE_FOR_TEMPLATES||!1,Ne=j.SAFE_FOR_XML!==!1,De=j.WHOLE_DOCUMENT||!1,Se=j.RETURN_DOM||!1,X=j.RETURN_DOM_FRAGMENT||!1,Ce=j.RETURN_TRUSTED_TYPE||!1,gt=j.FORCE_BODY||!1,Fe=j.SANITIZE_DOM!==!1,Ve=j.SANITIZE_NAMED_PROPS||!1,wt=j.KEEP_CONTENT!==!1,se=j.IN_PLACE||!1,ve=AS(j.ALLOWED_URI_REGEXP)?j.ALLOWED_URI_REGEXP:Pm,Ot=typeof j.NAMESPACE=="string"?j.NAMESPACE:We,Ln=Zl(j,"MATHML_TEXT_INTEGRATION_POINTS",()=>It({},bn)),ye=Zl(j,"HTML_INTEGRATION_POINTS",()=>It({},Kn));const ee=Zl(j,"CUSTOM_ELEMENT_HANDLING",()=>Gr(null));if(Le=Gr(null),aa(ee,"tagNameCheck")&&on(ee.tagNameCheck)&&(Le.tagNameCheck=ee.tagNameCheck),aa(ee,"attributeNameCheck")&&on(ee.attributeNameCheck)&&(Le.attributeNameCheck=ee.attributeNameCheck),aa(ee,"allowCustomizedBuiltInElements")&&typeof ee.allowCustomizedBuiltInElements=="boolean"&&(Le.allowCustomizedBuiltInElements=ee.allowCustomizedBuiltInElements),zn(Le),he&&(At=!1),X&&(Se=!0),Qe&&(M=It({},Im),re=Gr(null),Qe.html===!0&&(It(M,Tm),It(re,Am)),Qe.svg===!0&&(It(M,Bl),It(re,Wl),It(re,Ki)),Qe.svgFilters===!0&&(It(M,Hl),It(re,Wl),It(re,Ki)),Qe.mathMl===!0&&(It(M,Vl),It(re,_m),It(re,Ki))),bt.tagCheck=null,bt.attributeCheck=null,aa(j,"ADD_TAGS")&&(typeof j.ADD_TAGS=="function"?bt.tagCheck=j.ADD_TAGS:ro(j.ADD_TAGS)&&(M===W&&(M=ga(M)),It(M,j.ADD_TAGS,Ee))),aa(j,"ADD_ATTR")&&(typeof j.ADD_ATTR=="function"?bt.attributeCheck=j.ADD_ATTR:ro(j.ADD_ATTR)&&(re===ze&&(re=ga(re)),It(re,j.ADD_ATTR,Ee))),aa(j,"ADD_FORBID_CONTENTS")&&ro(j.ADD_FORBID_CONTENTS)&&(at===Et&&(at=ga(at)),It(at,j.ADD_FORBID_CONTENTS,Ee)),wt&&(M["#text"]=!0),De&&It(M,["html","head","body"]),M.table&&(It(M,["tbody"]),delete ge.tbody),j.TRUSTED_TYPES_POLICY){if(typeof j.TRUSTED_TYPES_POLICY.createHTML!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof j.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const de=k;k=j.TRUSTED_TYPES_POLICY;try{T=H("")}catch(Oe){throw k=de,Oe}}else j.TRUSTED_TYPES_POLICY===null?(k=void 0,T=""):(k===void 0&&(k=B()),k&&typeof T=="string"&&(T=H("")));Cn&&Cn(j),Jt=j},yn=It({},[...Bl,...Hl,..._S]),ca=It({},[...Vl,...PS]),Sa=function(j,ee,de){return ee.namespaceURI===We?j==="svg":ee.namespaceURI===ot?j==="svg"&&(de==="annotation-xml"||Ln[de]):!!yn[j]},Dn=function(j,ee,de){return ee.namespaceURI===We?j==="math":ee.namespaceURI===it?j==="math"&&ye[de]:!!ca[j]},En=function(j,ee,de){return ee.namespaceURI===it&&!ye[de]||ee.namespaceURI===ot&&!Ln[de]?!1:!ca[j]&&(Ue[j]||!yn[j])},dn=function(j){let ee=b(j);(!ee||!ee.tagName)&&(ee={namespaceURI:Ot,tagName:"template"});const de=oi(j.tagName),Oe=oi(ee.tagName);return vn[j.namespaceURI]?j.namespaceURI===it?Sa(de,ee,Oe):j.namespaceURI===ot?Dn(de,ee,Oe):j.namespaceURI===We?En(de,ee,Oe):!!(vt==="application/xhtml+xml"&&vn[j.namespaceURI]):!1},In=function(j){Bo(t.removed,{element:j});try{b(j).removeChild(j)}catch{if(f(j),!b(j))throw Sr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},rn=function(j,ee,de){try{v(j,ee)}catch{try{j.removeAttribute(de)}catch{}}},mt=function(j){ke(j);const ee=E(j);if(ee){const Oe=[];Tr(ee,$e=>{Bo(Oe,$e)}),Tr(Oe,$e=>{try{f($e)}catch{}})}const de=w(j);if(de)for(let Oe=de.length-1;Oe>=0;--Oe){const $e=de[Oe],st=$e&&$e.name;typeof st=="string"&&rn(j,$e,st)}},ht=function(j,ee,de){if(!de)try{de=ee.getAttributeNode(j)}catch{de=null}Bo(t.removed,{attribute:de||null,from:ee});try{de?v(ee,de):ee.removeAttribute(j)}catch{try{ee.removeAttribute(j)}catch{}}if(j==="is")if(Se||X)try{In(ee)}catch{}else try{ee.setAttribute(j,"")}catch{}},V=function(j){const ee=w(j);if(ee)for(let de=ee.length-1;de>=0;--de){const Oe=ee[de],$e=Oe&&Oe.name;typeof $e!="string"||re[Ee($e)]||rn(j,Oe,$e)}},ke=function(j){const ee=[j];for(;ee.length>0;){const de=ee.pop();N(de)===ma.element&&V(de);const $e=E(de);if($e)for(let st=$e.length-1;st>=0;--st)ee.push($e[st])}},Xe=function(j,ee){return Ne?j==="patchsrc"?!0:j==="for"&&ee!=="label"&&ee!=="output":!1},Dt=function(j){if(!Ne)return;const ee=[j];for(;ee.length>0;){const de=ee.pop(),Oe=N(de);if(Oe===ma.processingInstruction||Oe===ma.comment&&$n(Mm,de.data)){try{f(de)}catch{}continue}if(Oe===ma.element){const st=de,Ft=Ee(O(de));try{st.hasAttribute&&st.hasAttribute("patchsrc")&&st.removeAttribute("patchsrc"),st.hasAttribute&&st.hasAttribute("for")&&Xe("for",Ft)&&st.removeAttribute("for")}catch{}}const $e=E(de);if($e)for(let st=$e.length-1;st>=0;--st)ee.push($e[st])}},wn=function(j){let ee=null,de=null;if(gt)j=""+j;else{const st=Sm(j,/^[\r\n\t ]+/);de=st&&st[0]}vt==="application/xhtml+xml"&&Ot===We&&(j=''+j+"");const Oe=k?H(j):j;if(Ot===We)try{ee=new d().parseFromString(Oe,vt)}catch{}if(!ee||!ee.documentElement){ee=_.createDocument(Ot,"template",null);try{ee.documentElement.innerHTML=en?T:Oe}catch{}}const $e=ee.body||ee.documentElement;return j&&de&&$e.insertBefore(a.createTextNode(de),$e.childNodes[0]||null),Ot===We?D.call(ee,De?"html":"body")[0]:De?ee.documentElement:$e},sn=function(j){const ee=I?I(j):j.ownerDocument;return te.call(ee||j,j,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ca=function(j){return j=Ho(j,K," "),j=Ho(j,oe," "),j=Ho(j,be," "),j},Na=function(j){var ee;j.normalize();const de=I?I(j):j.ownerDocument,Oe=te.call(de||j,j,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let $e=Oe.nextNode();for(;$e;)$e.data=Ca($e.data),$e=Oe.nextNode();const st=(ee=j.querySelectorAll)===null||ee===void 0?void 0:ee.call(j,"template");st&&Tr(st,Ft=>{kn(Ft.content)&&Na(Ft.content)})},ua=function(j){const ee=S?S(j):null;return typeof ee!="string"||Ee(ee)!=="form"?!1:typeof j.nodeName!="string"||typeof j.textContent!="string"||typeof j.removeChild!="function"||j.attributes!==w(j)||typeof j.removeAttribute!="function"||typeof j.removeAttributeNode!="function"||typeof j.getAttributeNode!="function"||typeof j.setAttribute!="function"||typeof j.namespaceURI!="string"||typeof j.insertBefore!="function"||typeof j.hasChildNodes!="function"||j.nodeType!==R(j)||j.childNodes!==E(j)},kn=function(j){if(!R||typeof j!="object"||j===null)return!1;try{return R(j)===ma.documentFragment}catch{return!1}},Xn=function(j){if(!R||typeof j!="object"||j===null)return!1;try{return typeof R(j)=="number"}catch{return!1}};function xn(me,j,ee){me.length!==0&&Tr(me,de=>{de.call(t,j,ee,Jt)})}const da=function(j,ee){return!!(Ne&&j.hasChildNodes()&&!Xn(j.firstElementChild)&&$n(Om,j.textContent)&&$n(Om,j.innerHTML)||Ne&&j.namespaceURI===We&&HS[ee]&&(Xn(j.firstElementChild)||typeof j.textContent=="string"&&$n(VS[ee],j.textContent))||j.nodeType===ma.processingInstruction||Ne&&j.nodeType===ma.comment&&$n(Mm,j.data))},ea=function(j,ee){if(j instanceof RegExp)return $n(j,ee);if(j instanceof Function){for(var de=arguments.length,Oe=new Array(de>2?de-2:0),$e=2;$e=0;--Ft){const Kt=j===de?h($e[Ft],!0):$e[Ft];Oe.insertBefore(Kt,y(j))}}}return In(j),!0},Qa=function(j,ee,de,Oe){return j.length===0?ee:ee===de||ee===Oe?ga(ee):ee},Xa=function(j,ee){return j===ee||b(j)!==null?!1:(se&&ke(j),!0)},ta=function(j,ee){if(xn(U.beforeSanitizeElements,j,null),Xa(j,ee))return!0;if(ua(j))return In(j),!0;const de=Ee(O(j));if(M=Qa(U.uponSanitizeElement,M,W,ft),xn(U.uponSanitizeElement,j,{tagName:de,allowedTags:M}),Xa(j,ee))return!0;if(da(j,de))return In(j),!0;if(ge[de]||!(bt.tagCheck instanceof Function&&bt.tagCheck(de))&&!M[de]){const $e=Ga(j,de,ee);return $e===!1&&xn(U.afterSanitizeElements,j,null),$e}if(N(j)===ma.element&&!dn(j)||(de==="noscript"||de==="noembed"||de==="noframes")&&$n($S,j.innerHTML))return In(j),!0;if(he&&j.nodeType===ma.text){const $e=Ca(j.textContent);j.textContent!==$e&&(Bo(t.removed,{element:j.cloneNode()}),j.textContent=$e)}return xn(U.afterSanitizeElements,j,null),!1},Sn=function(j,ee,de){if(lt[ee]||Xe(ee,j)||Fe&&(ee==="id"||ee==="name")&&(de in a||de in tn))return!1;const Oe=re[ee]||bt.attributeCheck instanceof Function&&bt.attributeCheck(ee,j);return At&&$n(pe,ee)||Wt&&$n(_e,ee)?!0:Oe?Ct[ee]||$n(ve,Ho(de,Ke,""))||(ee==="src"||ee==="xlink:href"||ee==="href")&&j!=="script"&&Cm(de,"data:")===0&&ut[j]||Zt&&!$n(Me,Ho(de,Ke,""))?!0:!de:pa(j)&&ea(Le.tagNameCheck,j)&&ea(Le.attributeNameCheck,ee,j)||ee==="is"&&Le.allowCustomizedBuiltInElements&&ea(Le.tagNameCheck,de)},or=It({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pa=function(j){return!or[oi(j)]&&$n(ue,j)},Ra=function(j,ee,de,Oe){if(k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!de)switch(p.getAttributeType(j,ee)){case"TrustedHTML":return H(Oe);case"TrustedScriptURL":return ne(Oe)}return Oe},ln=function(j,ee,de,Oe){try{return de?j.setAttributeNS(de,ee,Oe):j.setAttribute(ee,Oe),ua(j)?(In(j),!1):!0}catch{return ht(ee,j),!1}},Yn=function(j){xn(U.beforeSanitizeAttributes,j,null);const ee=j.attributes;if(!ee||ua(j))return;re=Qa(U.uponSanitizeAttribute,re,ze,yt);const de={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:re,forceKeepAttr:void 0};let Oe=ee.length;const $e=Ee(j.nodeName);for(;Oe--;){const st=ee[Oe],Ft=st.name,Kt=st.namespaceURI,Fn=st.value,qn=Ee(Ft),Kr=Fn;let An=Ft==="value"?Kr:SS(Kr),Fo=!1;if(de.attrName=qn,de.attrValue=An,de.keepAttr=!0,de.forceKeepAttr=void 0,xn(U.uponSanitizeAttribute,j,de),An=de.attrValue,Ve&&(qn==="id"||qn==="name")&&Cm(An,tt)!==0&&(ht(Ft,j,st),An=tt+An,Fo=!0),Ne&&$n(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,An)){ht(Ft,j,st);continue}if(qn==="attributename"&&Sm(An,"href")){ht(Ft,j,st);continue}if(!de.forceKeepAttr){if(!de.keepAttr){ht(Ft,j,st);continue}if(!ie&&$n(BS,An)){ht(Ft,j,st);continue}if(he&&(An=Ca(An)),!Sn($e,qn,An)){ht(Ft,j,st);continue}An=Ra($e,qn,Kt,An),An!==Kr&&ln(j,Ft,Kt,An)&&Fo&&xm(t.removed)}}xn(U.afterSanitizeAttributes,j,null)},Ua=function(j){let ee=null;const de=sn(j);for(xn(U.beforeSanitizeShadowDOM,j,null);ee=de.nextNode();)if(xn(U.uponSanitizeShadowNode,ee,null),ta(ee,j),Yn(ee),kn(ee.content)&&Ua(ee.content),N(ee)===ma.element){const Oe=x(ee);kn(Oe)&&(cn(Oe),Ua(Oe))}xn(U.afterSanitizeShadowDOM,j,null)},cn=function(j){const ee=[{node:j,shadow:null}];for(;ee.length>0;){const de=ee.pop();if(de.shadow){Ua(de.shadow);continue}const Oe=de.node,st=N(Oe)===ma.element,Ft=E(Oe);if(Ft)for(let Kt=Ft.length-1;Kt>=0;--Kt)ee.push({node:Ft[Kt],shadow:null});if(st){const Kt=S?S(Oe):null;if(typeof Kt=="string"&&Ee(Kt)==="template"){const Fn=Oe.content;kn(Fn)&&ee.push({node:Fn,shadow:null})}}if(st){const Kt=x(Oe);kn(Kt)&&ee.push({node:null,shadow:Kt},{node:Kt,shadow:null})}}};return t.sanitize=function(me){let j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ee=null,de=null,Oe=null,$e=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?(M=ft,re=yt):Q(j),(U.uponSanitizeElement.length>0||U.uponSanitizeAttribute.length>0)&&(M=ga(M)),U.uponSanitizeAttribute.length>0&&(re=ga(re)),t.removed=[];const st=se&&typeof me!="string"&&Xn(me);if(st){Dt(me);const Fn=O(me);if(typeof Fn=="string"){const qn=Ee(Fn);if(!M[qn]||ge[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))ee=wn(""),de=ee.ownerDocument.importNode(me,!0),de.nodeType===ma.element&&de.nodeName==="BODY"||de.nodeName==="HTML"?ee=de:ee.appendChild(de),cn(ee);else{if(!Se&&!he&&!De&&me.indexOf("<")===-1)return k&&Ce?H(me):me;if(ee=wn(me),!ee)return Se?null:Ce?T:""}ee&>&&In(ee.firstChild);const Ft=st?me:ee;try{const Fn=sn(Ft);for(;Oe=Fn.nextNode();)ta(Oe,Ft),Yn(Oe),kn(Oe.content)&&Ua(Oe.content)}catch(Fn){throw st&&(mt(me),Tr(t.removed,qn=>{qn.element&&ke(qn.element)})),Fn}if(st)return Tr(t.removed,Fn=>{Fn.element&&ke(Fn.element)}),he&&Na(me),me;if(Se){if(he&&Na(ee),X)for($e=Z.call(ee.ownerDocument);ee.firstChild;)$e.appendChild(ee.firstChild);else $e=ee;return(re.shadowroot||re.shadowrootmode)&&($e=G.call(r,$e,!0)),$e}let Kt=De?ee.outerHTML:ee.innerHTML;return De&&M["!doctype"]&&ee.ownerDocument&&ee.ownerDocument.doctype&&ee.ownerDocument.doctype.name&&$n(jS,ee.ownerDocument.doctype.name)&&(Kt=" -`+Kt),he&&(Kt=Ca(Kt)),k&&Ce?H(Kt):Kt},t.setConfig=function(){let me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Q(me),Ge=!0,ft=M,yt=re},t.clearConfig=function(){Jt=null,Ge=!1,ft=null,yt=null,k=A,T=""},t.isValidAttribute=function(me,j,ee){Jt||Q({});const de=Ee(me),Oe=Ee(j);return Sn(de,Oe,ee)},t.addHook=function(me,j){typeof j=="function"&&aa(U,me)&&Bo(U[me],j)},t.removeHook=function(me,j){if(aa(U,me)){if(j!==void 0){const ee=kS(U[me],j);return ee===-1?void 0:xS(U[me],ee,1)[0]}return xm(U[me])}},t.removeHooks=function(me){aa(U,me)&&(U[me]=[])},t.removeAllHooks=function(){U=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(),xe=Vr(),Ut=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:xe,overloadedBoolean:Yc,spaceSeparated:Ut},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),O(),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 O(){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 O(),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 o=e.ownerDocument,s=o.createElement("textarea"),l=v=>(s.innerHTML=v,s.value),c=o.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:i,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),o=2;o1?a-1:0),i=1;i"u"?null:hn(BigInt.prototype.toString),Rm=typeof Symbol>"u"?null:hn(Symbol.prototype.toString),aa=hn(Object.prototype.hasOwnProperty),Hi=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),i=1;i2&&arguments[2]!==void 0?arguments[2]:ro;if(km&&km(e,null),!ri(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i=="string"){const o=a(i);o!==i&&(yS(t)||(t[r]=o),i=o)}e[i]=!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=Cn(It({},Mg)),VS=(function(){const e={};return Tr(Mg,t=>{e[t]=zn(new RegExp("])","i"))}),Cn(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 i="data-tt-policy-suffix";a&&a.hasAttribute(i)&&(r=a.getAttribute(i));const o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},zm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},or=function(t,a,r,i){return aa(t,a)&&ri(t[a])?It(i.base?ga(i.base):{},t[a],i.transform):r},Zl=function(t,a,r){const i=aa(t,a)?t[a]:void 0;return i&&typeof i=="object"?ga(i):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,i=r.currentScript;e.DocumentFragment;const o=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(j){return R?R(j):j.nodeType},O=function(j){return S?S(j):j.nodeName};if(typeof o=="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(j){F(),z++;try{return k.createHTML(j)}finally{z--}},ne=function(j){F(),z++;try{return k.createScriptURL(j)}finally{z--}},B=function(){return q||(A=ZS(p,i),q=!0),A},P=a,_=P.implementation,te=P.createNodeIterator,Z=P.createDocumentFragment,D=P.getElementsByTagName,G=r.importNode;let U=zm();t.isSupported=typeof Pg=="function"&&typeof b=="function"&&_&&_.createHTMLDocument!==void 0;const K=OS,ie=MS,be=zS,pe=LS,_e=DS,Me=FS,Ke=qS,ue=US;let ve=Pm,M=null;const W=It({},[...Tm,...Bl,...Hl,...Vl,...Im]);let re=null;const ze=It({},[...Am,...Wl,..._m,...Ko]);let Le=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}})),ge=null,lt=null;const bt=Object.seal(Gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wt=!0,At=!0,Zt=!1,oe=!0,he=!1,Ne=!0,De=!1,Ge=!1,ft=null,yt=null,gt=!1,Se=!1,X=!1,Ce=!1,Fe=!0,Ve=!1;const tt="user-content-";let wt=!0,se=!1,Qe={},at=null;const Et=It({},["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=It({},["audio","video","img","source","image","track"]);let Ct=null;const qt=It({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),it="http://www.w3.org/1998/Math/MathML",ot="http://www.w3.org/2000/svg",We="http://www.w3.org/1999/xhtml";let Ot=We,en=!1,vn=null;const Tn=It({},[it,ot,We],$l),bn=Cn(["mi","mo","mn","ms","mtext"]);let Ln=It({},bn);const Kn=Cn(["annotation-xml"]);let ye=It({},Kn);const Ue=It({},["title","style","font","a","script"]);let vt=null;const Ze=["application/xhtml+xml","text/html"],ct="text/html";let Ee=null,Jt=null;const tn=a.createElement("form"),on=function(j){return j instanceof RegExp||j instanceof Function},Q=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Jt&&Jt===j)return;(!j||typeof j!="object")&&(j={}),j=ga(j),vt=Ze.indexOf(j.PARSER_MEDIA_TYPE)===-1?ct:j.PARSER_MEDIA_TYPE,Ee=vt==="application/xhtml+xml"?$l:ro,M=or(j,"ALLOWED_TAGS",W,{transform:Ee}),re=or(j,"ALLOWED_ATTR",ze,{transform:Ee}),vn=or(j,"ALLOWED_NAMESPACES",Tn,{transform:$l}),Ct=or(j,"ADD_URI_SAFE_ATTR",qt,{transform:Ee,base:qt}),ut=or(j,"ADD_DATA_URI_TAGS",Mt,{transform:Ee,base:Mt}),at=or(j,"FORBID_CONTENTS",Et,{transform:Ee}),ge=or(j,"FORBID_TAGS",ga({}),{transform:Ee}),lt=or(j,"FORBID_ATTR",ga({}),{transform:Ee}),Qe=aa(j,"USE_PROFILES")?j.USE_PROFILES&&typeof j.USE_PROFILES=="object"?ga(j.USE_PROFILES):j.USE_PROFILES:!1,Wt=j.ALLOW_ARIA_ATTR!==!1,At=j.ALLOW_DATA_ATTR!==!1,Zt=j.ALLOW_UNKNOWN_PROTOCOLS||!1,oe=j.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=j.SAFE_FOR_TEMPLATES||!1,Ne=j.SAFE_FOR_XML!==!1,De=j.WHOLE_DOCUMENT||!1,Se=j.RETURN_DOM||!1,X=j.RETURN_DOM_FRAGMENT||!1,Ce=j.RETURN_TRUSTED_TYPE||!1,gt=j.FORCE_BODY||!1,Fe=j.SANITIZE_DOM!==!1,Ve=j.SANITIZE_NAMED_PROPS||!1,wt=j.KEEP_CONTENT!==!1,se=j.IN_PLACE||!1,ve=AS(j.ALLOWED_URI_REGEXP)?j.ALLOWED_URI_REGEXP:Pm,Ot=typeof j.NAMESPACE=="string"?j.NAMESPACE:We,Ln=Zl(j,"MATHML_TEXT_INTEGRATION_POINTS",()=>It({},bn)),ye=Zl(j,"HTML_INTEGRATION_POINTS",()=>It({},Kn));const ee=Zl(j,"CUSTOM_ELEMENT_HANDLING",()=>Gr(null));if(Le=Gr(null),aa(ee,"tagNameCheck")&&on(ee.tagNameCheck)&&(Le.tagNameCheck=ee.tagNameCheck),aa(ee,"attributeNameCheck")&&on(ee.attributeNameCheck)&&(Le.attributeNameCheck=ee.attributeNameCheck),aa(ee,"allowCustomizedBuiltInElements")&&typeof ee.allowCustomizedBuiltInElements=="boolean"&&(Le.allowCustomizedBuiltInElements=ee.allowCustomizedBuiltInElements),zn(Le),he&&(At=!1),X&&(Se=!0),Qe&&(M=It({},Im),re=Gr(null),Qe.html===!0&&(It(M,Tm),It(re,Am)),Qe.svg===!0&&(It(M,Bl),It(re,Wl),It(re,Ko)),Qe.svgFilters===!0&&(It(M,Hl),It(re,Wl),It(re,Ko)),Qe.mathMl===!0&&(It(M,Vl),It(re,_m),It(re,Ko))),bt.tagCheck=null,bt.attributeCheck=null,aa(j,"ADD_TAGS")&&(typeof j.ADD_TAGS=="function"?bt.tagCheck=j.ADD_TAGS:ri(j.ADD_TAGS)&&(M===W&&(M=ga(M)),It(M,j.ADD_TAGS,Ee))),aa(j,"ADD_ATTR")&&(typeof j.ADD_ATTR=="function"?bt.attributeCheck=j.ADD_ATTR:ri(j.ADD_ATTR)&&(re===ze&&(re=ga(re)),It(re,j.ADD_ATTR,Ee))),aa(j,"ADD_FORBID_CONTENTS")&&ri(j.ADD_FORBID_CONTENTS)&&(at===Et&&(at=ga(at)),It(at,j.ADD_FORBID_CONTENTS,Ee)),wt&&(M["#text"]=!0),De&&It(M,["html","head","body"]),M.table&&(It(M,["tbody"]),delete ge.tbody),j.TRUSTED_TYPES_POLICY){if(typeof j.TRUSTED_TYPES_POLICY.createHTML!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof j.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Sr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const de=k;k=j.TRUSTED_TYPES_POLICY;try{T=H("")}catch(Oe){throw k=de,Oe}}else j.TRUSTED_TYPES_POLICY===null?(k=void 0,T=""):(k===void 0&&(k=B()),k&&typeof T=="string"&&(T=H("")));Cn&&Cn(j),Jt=j},yn=It({},[...Bl,...Hl,..._S]),ca=It({},[...Vl,...PS]),Sa=function(j,ee,de){return ee.namespaceURI===We?j==="svg":ee.namespaceURI===it?j==="svg"&&(de==="annotation-xml"||Ln[de]):!!yn[j]},Dn=function(j,ee,de){return ee.namespaceURI===We?j==="math":ee.namespaceURI===ot?j==="math"&&ye[de]:!!ca[j]},En=function(j,ee,de){return ee.namespaceURI===ot&&!ye[de]||ee.namespaceURI===it&&!Ln[de]?!1:!ca[j]&&(Ue[j]||!yn[j])},dn=function(j){let ee=b(j);(!ee||!ee.tagName)&&(ee={namespaceURI:Ot,tagName:"template"});const de=ro(j.tagName),Oe=ro(ee.tagName);return vn[j.namespaceURI]?j.namespaceURI===ot?Sa(de,ee,Oe):j.namespaceURI===it?Dn(de,ee,Oe):j.namespaceURI===We?En(de,ee,Oe):!!(vt==="application/xhtml+xml"&&vn[j.namespaceURI]):!1},In=function(j){$i(t.removed,{element:j});try{b(j).removeChild(j)}catch{if(f(j),!b(j))throw Sr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},rn=function(j,ee,de){try{v(j,ee)}catch{try{j.removeAttribute(de)}catch{}}},mt=function(j){ke(j);const ee=E(j);if(ee){const Oe=[];Tr(ee,$e=>{$i(Oe,$e)}),Tr(Oe,$e=>{try{f($e)}catch{}})}const de=w(j);if(de)for(let Oe=de.length-1;Oe>=0;--Oe){const $e=de[Oe],st=$e&&$e.name;typeof st=="string"&&rn(j,$e,st)}},ht=function(j,ee,de){if(!de)try{de=ee.getAttributeNode(j)}catch{de=null}$i(t.removed,{attribute:de||null,from:ee});try{de?v(ee,de):ee.removeAttribute(j)}catch{try{ee.removeAttribute(j)}catch{}}if(j==="is")if(Se||X)try{In(ee)}catch{}else try{ee.setAttribute(j,"")}catch{}},V=function(j){const ee=w(j);if(ee)for(let de=ee.length-1;de>=0;--de){const Oe=ee[de],$e=Oe&&Oe.name;typeof $e!="string"||re[Ee($e)]||rn(j,Oe,$e)}},ke=function(j){const ee=[j];for(;ee.length>0;){const de=ee.pop();N(de)===ma.element&&V(de);const $e=E(de);if($e)for(let st=$e.length-1;st>=0;--st)ee.push($e[st])}},Xe=function(j,ee){return Ne?j==="patchsrc"?!0:j==="for"&&ee!=="label"&&ee!=="output":!1},Dt=function(j){if(!Ne)return;const ee=[j];for(;ee.length>0;){const de=ee.pop(),Oe=N(de);if(Oe===ma.processingInstruction||Oe===ma.comment&&$n(Mm,de.data)){try{f(de)}catch{}continue}if(Oe===ma.element){const st=de,Ft=Ee(O(de));try{st.hasAttribute&&st.hasAttribute("patchsrc")&&st.removeAttribute("patchsrc"),st.hasAttribute&&st.hasAttribute("for")&&Xe("for",Ft)&&st.removeAttribute("for")}catch{}}const $e=E(de);if($e)for(let st=$e.length-1;st>=0;--st)ee.push($e[st])}},wn=function(j){let ee=null,de=null;if(gt)j=""+j;else{const st=Sm(j,/^[\r\n\t ]+/);de=st&&st[0]}vt==="application/xhtml+xml"&&Ot===We&&(j=''+j+"");const Oe=k?H(j):j;if(Ot===We)try{ee=new d().parseFromString(Oe,vt)}catch{}if(!ee||!ee.documentElement){ee=_.createDocument(Ot,"template",null);try{ee.documentElement.innerHTML=en?T:Oe}catch{}}const $e=ee.body||ee.documentElement;return j&&de&&$e.insertBefore(a.createTextNode(de),$e.childNodes[0]||null),Ot===We?D.call(ee,De?"html":"body")[0]:De?ee.documentElement:$e},sn=function(j){const ee=I?I(j):j.ownerDocument;return te.call(ee||j,j,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ca=function(j){return j=Bi(j,K," "),j=Bi(j,ie," "),j=Bi(j,be," "),j},Na=function(j){var ee;j.normalize();const de=I?I(j):j.ownerDocument,Oe=te.call(de||j,j,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let $e=Oe.nextNode();for(;$e;)$e.data=Ca($e.data),$e=Oe.nextNode();const st=(ee=j.querySelectorAll)===null||ee===void 0?void 0:ee.call(j,"template");st&&Tr(st,Ft=>{kn(Ft.content)&&Na(Ft.content)})},ua=function(j){const ee=S?S(j):null;return typeof ee!="string"||Ee(ee)!=="form"?!1:typeof j.nodeName!="string"||typeof j.textContent!="string"||typeof j.removeChild!="function"||j.attributes!==w(j)||typeof j.removeAttribute!="function"||typeof j.removeAttributeNode!="function"||typeof j.getAttributeNode!="function"||typeof j.setAttribute!="function"||typeof j.namespaceURI!="string"||typeof j.insertBefore!="function"||typeof j.hasChildNodes!="function"||j.nodeType!==R(j)||j.childNodes!==E(j)},kn=function(j){if(!R||typeof j!="object"||j===null)return!1;try{return R(j)===ma.documentFragment}catch{return!1}},Xn=function(j){if(!R||typeof j!="object"||j===null)return!1;try{return typeof R(j)=="number"}catch{return!1}};function xn(me,j,ee){me.length!==0&&Tr(me,de=>{de.call(t,j,ee,Jt)})}const da=function(j,ee){return!!(Ne&&j.hasChildNodes()&&!Xn(j.firstElementChild)&&$n(Om,j.textContent)&&$n(Om,j.innerHTML)||Ne&&j.namespaceURI===We&&HS[ee]&&(Xn(j.firstElementChild)||typeof j.textContent=="string"&&$n(VS[ee],j.textContent))||j.nodeType===ma.processingInstruction||Ne&&j.nodeType===ma.comment&&$n(Mm,j.data))},ea=function(j,ee){if(j instanceof RegExp)return $n(j,ee);if(j instanceof Function){for(var de=arguments.length,Oe=new Array(de>2?de-2:0),$e=2;$e=0;--Ft){const Kt=j===de?h($e[Ft],!0):$e[Ft];Oe.insertBefore(Kt,y(j))}}}return In(j),!0},Qa=function(j,ee,de,Oe){return j.length===0?ee:ee===de||ee===Oe?ga(ee):ee},Xa=function(j,ee){return j===ee||b(j)!==null?!1:(se&&ke(j),!0)},ta=function(j,ee){if(xn(U.beforeSanitizeElements,j,null),Xa(j,ee))return!0;if(ua(j))return In(j),!0;const de=Ee(O(j));if(M=Qa(U.uponSanitizeElement,M,W,ft),xn(U.uponSanitizeElement,j,{tagName:de,allowedTags:M}),Xa(j,ee))return!0;if(da(j,de))return In(j),!0;if(ge[de]||!(bt.tagCheck instanceof Function&&bt.tagCheck(de))&&!M[de]){const $e=Ga(j,de,ee);return $e===!1&&xn(U.afterSanitizeElements,j,null),$e}if(N(j)===ma.element&&!dn(j)||(de==="noscript"||de==="noembed"||de==="noframes")&&$n($S,j.innerHTML))return In(j),!0;if(he&&j.nodeType===ma.text){const $e=Ca(j.textContent);j.textContent!==$e&&($i(t.removed,{element:j.cloneNode()}),j.textContent=$e)}return xn(U.afterSanitizeElements,j,null),!1},Sn=function(j,ee,de){if(lt[ee]||Xe(ee,j)||Fe&&(ee==="id"||ee==="name")&&(de in a||de in tn))return!1;const Oe=re[ee]||bt.attributeCheck instanceof Function&&bt.attributeCheck(ee,j);return At&&$n(pe,ee)||Wt&&$n(_e,ee)?!0:Oe?Ct[ee]||$n(ve,Bi(de,Ke,""))||(ee==="src"||ee==="xlink:href"||ee==="href")&&j!=="script"&&Cm(de,"data:")===0&&ut[j]||Zt&&!$n(Me,Bi(de,Ke,""))?!0:!de:pa(j)&&ea(Le.tagNameCheck,j)&&ea(Le.attributeNameCheck,ee,j)||ee==="is"&&Le.allowCustomizedBuiltInElements&&ea(Le.tagNameCheck,de)},ir=It({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pa=function(j){return!ir[ro(j)]&&$n(ue,j)},Ra=function(j,ee,de,Oe){if(k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!de)switch(p.getAttributeType(j,ee)){case"TrustedHTML":return H(Oe);case"TrustedScriptURL":return ne(Oe)}return Oe},ln=function(j,ee,de,Oe){try{return de?j.setAttributeNS(de,ee,Oe):j.setAttribute(ee,Oe),ua(j)?(In(j),!1):!0}catch{return ht(ee,j),!1}},Yn=function(j){xn(U.beforeSanitizeAttributes,j,null);const ee=j.attributes;if(!ee||ua(j))return;re=Qa(U.uponSanitizeAttribute,re,ze,yt);const de={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:re,forceKeepAttr:void 0};let Oe=ee.length;const $e=Ee(j.nodeName);for(;Oe--;){const st=ee[Oe],Ft=st.name,Kt=st.namespaceURI,Fn=st.value,qn=Ee(Ft),Kr=Fn;let An=Ft==="value"?Kr:SS(Kr),Di=!1;if(de.attrName=qn,de.attrValue=An,de.keepAttr=!0,de.forceKeepAttr=void 0,xn(U.uponSanitizeAttribute,j,de),An=de.attrValue,Ve&&(qn==="id"||qn==="name")&&Cm(An,tt)!==0&&(ht(Ft,j,st),An=tt+An,Di=!0),Ne&&$n(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,An)){ht(Ft,j,st);continue}if(qn==="attributename"&&Sm(An,"href")){ht(Ft,j,st);continue}if(!de.forceKeepAttr){if(!de.keepAttr){ht(Ft,j,st);continue}if(!oe&&$n(BS,An)){ht(Ft,j,st);continue}if(he&&(An=Ca(An)),!Sn($e,qn,An)){ht(Ft,j,st);continue}An=Ra($e,qn,Kt,An),An!==Kr&&ln(j,Ft,Kt,An)&&Di&&xm(t.removed)}}xn(U.afterSanitizeAttributes,j,null)},Ua=function(j){let ee=null;const de=sn(j);for(xn(U.beforeSanitizeShadowDOM,j,null);ee=de.nextNode();)if(xn(U.uponSanitizeShadowNode,ee,null),ta(ee,j),Yn(ee),kn(ee.content)&&Ua(ee.content),N(ee)===ma.element){const Oe=x(ee);kn(Oe)&&(cn(Oe),Ua(Oe))}xn(U.afterSanitizeShadowDOM,j,null)},cn=function(j){const ee=[{node:j,shadow:null}];for(;ee.length>0;){const de=ee.pop();if(de.shadow){Ua(de.shadow);continue}const Oe=de.node,st=N(Oe)===ma.element,Ft=E(Oe);if(Ft)for(let Kt=Ft.length-1;Kt>=0;--Kt)ee.push({node:Ft[Kt],shadow:null});if(st){const Kt=S?S(Oe):null;if(typeof Kt=="string"&&Ee(Kt)==="template"){const Fn=Oe.content;kn(Fn)&&ee.push({node:Fn,shadow:null})}}if(st){const Kt=x(Oe);kn(Kt)&&ee.push({node:null,shadow:Kt},{node:Kt,shadow:null})}}};return t.sanitize=function(me){let j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ee=null,de=null,Oe=null,$e=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?(M=ft,re=yt):Q(j),(U.uponSanitizeElement.length>0||U.uponSanitizeAttribute.length>0)&&(M=ga(M)),U.uponSanitizeAttribute.length>0&&(re=ga(re)),t.removed=[];const st=se&&typeof me!="string"&&Xn(me);if(st){Dt(me);const Fn=O(me);if(typeof Fn=="string"){const qn=Ee(Fn);if(!M[qn]||ge[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))ee=wn(""),de=ee.ownerDocument.importNode(me,!0),de.nodeType===ma.element&&de.nodeName==="BODY"||de.nodeName==="HTML"?ee=de:ee.appendChild(de),cn(ee);else{if(!Se&&!he&&!De&&me.indexOf("<")===-1)return k&&Ce?H(me):me;if(ee=wn(me),!ee)return Se?null:Ce?T:""}ee&>&&In(ee.firstChild);const Ft=st?me:ee;try{const Fn=sn(Ft);for(;Oe=Fn.nextNode();)ta(Oe,Ft),Yn(Oe),kn(Oe.content)&&Ua(Oe.content)}catch(Fn){throw st&&(mt(me),Tr(t.removed,qn=>{qn.element&&ke(qn.element)})),Fn}if(st)return Tr(t.removed,Fn=>{Fn.element&&ke(Fn.element)}),he&&Na(me),me;if(Se){if(he&&Na(ee),X)for($e=Z.call(ee.ownerDocument);ee.firstChild;)$e.appendChild(ee.firstChild);else $e=ee;return(re.shadowroot||re.shadowrootmode)&&($e=G.call(r,$e,!0)),$e}let Kt=De?ee.outerHTML:ee.innerHTML;return De&&M["!doctype"]&&ee.ownerDocument&&ee.ownerDocument.doctype&&ee.ownerDocument.doctype.name&&$n(jS,ee.ownerDocument.doctype.name)&&(Kt=" +`+Kt),he&&(Kt=Ca(Kt)),k&&Ce?H(Kt):Kt},t.setConfig=function(){let me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Q(me),Ge=!0,ft=M,yt=re},t.clearConfig=function(){Jt=null,Ge=!1,ft=null,yt=null,k=A,T=""},t.isValidAttribute=function(me,j,ee){Jt||Q({});const de=Ee(me),Oe=Ee(j);return Sn(de,Oe,ee)},t.addHook=function(me,j){typeof j=="function"&&aa(U,me)&&$i(U[me],j)},t.removeHook=function(me,j){if(aa(U,me)){if(j!==void 0){const ee=kS(U[me],j);return ee===-1?void 0:xS(U[me],ee,1)[0]}return xm(U[me])}},t.removeHooks=function(me){aa(U,me)&&(U[me]=[])},t.removeAllHooks=function(){U=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 Uo{constructor(t,a,r){this.normal=a,this.property=t,r&&(this.space=r)}}Uo.prototype.normal={};Uo.prototype.property={};Uo.prototype.space=void 0;function Lg(e,t){const a={},r={};for(const i of e)Object.assign(a,i.property),Object.assign(r,i.normal);return new Uo(a,r,t)}function Kc(e){return e.toLowerCase()}class ia{constructor(t,a){this.attribute=a,this.property=t}}ia.prototype.attribute="";ia.prototype.booleanish=!1;ia.prototype.boolean=!1;ia.prototype.commaOrSpaceSeparated=!1;ia.prototype.commaSeparated=!1;ia.prototype.defined=!1;ia.prototype.mustUseProperty=!1;ia.prototype.number=!1;ia.prototype.overloadedBoolean=!1;ia.prototype.property="";ia.prototype.spaceSeparated=!1;ia.prototype.space=void 0;let t1=0;const pt=Vr(),pn=Vr(),Yc=Vr(),xe=Vr(),Ut=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:xe,overloadedBoolean:Yc,spaceSeparated:Ut},Symbol.toStringTag,{value:"Module"})),Jl=Object.keys(Gc);class Gu extends ia{constructor(t,a,r,i){let o=-1;if(super(t,a),Fm(this,"space",i),typeof r=="number")for(;++o4&&a.slice(0,4)==="data"&&o1.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(qm,c1);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!qm.test(o)){let s=o.replace(i1,l1);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=Gu}return new i(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*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,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),O(),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 O(){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(i))return I("property missing ':'");var H=N(o),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 O(),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,i){let o=null;if(!r||typeof r!="string")return o;const s=(0,t.default)(r),l=typeof i=="function";return s.forEach(c=>{if(c.type!=="declaration")return;const{property:u,value:d}=c;l?i(u,d,c):d&&(o=o||{},o[u]=d)}),o}return Yr}var Vi={},$m;function h1(){if($m)return Vi;$m=1,Object.defineProperty(Vi,"__esModule",{value:!0}),Vi.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,a=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,o=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={}),o(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(i,l):u=u.replace(r,l),u.replace(t,s))};return Vi.camelCase=c,Vi}var Wi,Bm;function f1(){if(Bm)return Wi;Bm=1;var e=Wi&&Wi.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(m1()),a=h1();function r(i,o){var s={};return!i||typeof i!="string"||(0,t.default)(i,function(l,c){l&&c&&(s[(0,a.camelCase)(l,o)]=c)}),s}return r.default=r,Wi=r,Wi}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 uo(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 i="",o={},s=!1;if(a&&("line"in a&&"column"in a?o={place:a}:"start"in a&&"end"in a?o={place:a}:"type"in a?o={ancestors:[a],place:a.position}:o={...a}),typeof t=="string"?i=t:!o.cause&&t&&(s=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?o.ruleId=r:(o.source=r.slice(0,c),o.ruleId=r.slice(c+1))}if(!o.place&&o.ancestors&&o.ancestors){const c=o.ancestors[o.ancestors.length-1];c&&(o.place=c.position)}const l=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=l?l.line:void 0,this.name=uo(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=s&&o.cause&&typeof o.cause.stack=="string"?o.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 i={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},o=Wg(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||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 i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Qu,e.schema=i),e.ancestors.push(t);const o=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,o,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,o,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)}Eo(e,t.position)}function N1(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Eo(e,t.position)}function R1(e,t,a){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=Qu,e.schema=i),e.ancestors.push(t);const o=t.name===null?e.Fragment:Jg(e,t.name,!0),s=O1(e,t),l=nd(e,t);return Zg(e,s,o,t),td(s,l),e.ancestors.pop(),e.schema=r,e.create(t,o,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(i,o,s,l){const u=Array.isArray(s.children)?a:t;return l?u(o,s,l):u(o,s)}}function _1(e,t){return a;function a(r,i,o,s){const l=Array.isArray(o.children),c=Xu(r);return t(i,o,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,i;for(i in t.properties)if(i!=="children"&&ed.call(t.properties,i)){const o=M1(e,i,t.properties[i]);if(o){const[s,l]=o;e.tableCellAlignToStyle&&s==="align"&&typeof l=="string"&&k1.has(t.tagName)?r=l:a[s]=l}}if(r){const o=a.style||(a.style={});o[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 o=r.data.estree.body[0];o.type;const s=o.expression;s.type;const l=s.properties[0];l.type,Object.assign(a,e.evaluater.evaluateExpression(l.argument))}else Eo(e,t.position);else{const i=r.name;let o;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,o=e.evaluater.evaluateExpression(l.expression)}else Eo(e,t.position);else o=r.value===null?!0:r.value;a[i]=o}return a}function nd(e,t){const a=[];let r=-1;const i=e.passKeys?new Map:y1;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 nt(e){return e!==null&&e<-2}function $t(e){return e!==null&&(e<0||e===32)}function St(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 Tt(e,t,a,r){const o=r?r-1:Number.POSITIVE_INFINITY;let i=0;return s;function s(c){return St(c)?(e.enter(a),l(c)):t(c)}function l(c){return St(c)&&i++s))return;const I=t.events.length;let N=I,O,k;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(O){k=t.events[N][1].end;break}O=!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 Tt(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||$t(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&&St(S)?Tt(e,b,"linePrefix",i+1)(S):b(S)}function b(S){return S===null||nt(S)?e.check(Xm,v,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||nt(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 O=0;return k;function k(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),T}function T(F){return S.enter("codeFencedFence"),St(F)?Tt(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?(O++,S.consume(F),q):O>=s?(S.exit("codeFencedFenceSequence"),St(F)?Tt(S,z,"whitespace")(F):z(F)):N(F)}function z(F){return F===null||nt(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"),Tt(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):nt(u)?e.attempt(d0,s,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||nt(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):nt(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):Tt(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):nt(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||nt(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||$t(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):nt(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||nt(h)||l++>999?(e.exit("chunkString"),d(h)):(e.consume(h),c||(c=!St(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):nt(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),Tt(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===s||m===null||nt(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 nt(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a=!0,r):St(o)?Tt(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 $t(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 St(h)?Tt(e,m,"whitespace")(h):m(h)}function m(h){return h===null||nt(h)?(e.exit("definition"),r.parser.defined.push(o),t(h)):a(h)}}function T0(e,t,a){return r;function r(l){return $t(l)?pi(e,o)(l):a(l)}function o(l){return rv(e,i,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function i(l){return St(l)?Tt(e,s,"whitespace")(l):s(l)}function s(l){return l===null||nt(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 nt(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||$t(d)?(e.exit("atxHeadingSequence"),l(d)):a(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||nt(d)?(e.exit("atxHeading"),t(d)):St(d)?Tt(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||$t(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||$t(D)){const G=D===47,U=s.toLowerCase();return!G&&!i&&th.includes(U)?(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 St(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):St(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):St(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):St(D)?(e.consume(D),S):N(D)}function I(D){return D===c?(e.consume(D),c=null,O):D===null||nt(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||$t(D)?R(D):(e.consume(D),N)}function O(D){return D===47||D===62||St(D)?x(D):a(D)}function k(D){return D===62?(e.consume(D),T):a(D)}function T(D){return D===null||nt(D)?A(D):St(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),te):D===63&&o===3?(e.consume(D),_):D===93&&o===5?(e.consume(D),P):nt(D)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(L0,Z,q)(D)):D===null||nt(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||nt(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),te):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),te):D===45&&o===2?(e.consume(D),_):A(D)}function te(D){return D===null||nt(D)?(e.exit("htmlFlowData"),Z(D)):(e.consume(D),te)}function Z(D){return e.exit("htmlFlow"),t(D)}}function j0(e,t,a){const r=this;return o;function o(s){return nt(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):nt(_)?(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 te="CDATA[";return _===te.charCodeAt(i++)?(e.consume(_),i===te.length?v:f):a(_)}function v(_){return _===null?a(_):_===93?(e.consume(_),y):nt(_)?(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(_):nt(_)?(s=b,ne(_)):(e.consume(_),b)}function x(_){return _===null?a(_):_===63?(e.consume(_),w):nt(_)?(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 nt(_)?(s=I,ne(_)):St(_)?(e.consume(_),I):H(_)}function N(_){return _===45||Wn(_)?(e.consume(_),N):_===47||_===62||$t(_)?O(_):a(_)}function O(_){return _===47?(e.consume(_),H):_===58||_===95||Gn(_)?(e.consume(_),k):nt(_)?(s=O,ne(_)):St(_)?(e.consume(_),O):H(_)}function k(_){return _===45||_===46||_===58||_===95||Wn(_)?(e.consume(_),k):T(_)}function T(_){return _===61?(e.consume(_),A):nt(_)?(s=T,ne(_)):St(_)?(e.consume(_),T):O(_)}function A(_){return _===null||_===60||_===61||_===62||_===96?a(_):_===34||_===39?(e.consume(_),o=_,q):nt(_)?(s=A,ne(_)):St(_)?(e.consume(_),A):(e.consume(_),z)}function q(_){return _===o?(e.consume(_),o=void 0,F):_===null?a(_):nt(_)?(s=q,ne(_)):(e.consume(_),q)}function z(_){return _===null||_===34||_===39||_===60||_===61||_===96?a(_):_===47||_===62||$t(_)?O(_):(e.consume(_),z)}function F(_){return _===47||_===62||$t(_)?O(_):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 St(_)?Tt(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||nt(u))?(e.exit("thematicBreak"),t(u)):a(u)}function c(u){return u===o?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),St(u)?Tt(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 St(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,Tt(e,t,"listItemIndent",r.containerState.size+1)(l)}function i(l){return r.containerState.furtherBlankLines||!St(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,Tt(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 Tt(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 Tt(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!St(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"),St(u)?Tt(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||nt(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,Tt(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(;++ai?0:i+t:t=t>i?i: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);o0?(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 nt(e){return e!==null&&e<-2}function $t(e){return e!==null&&(e<0||e===32)}function St(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 Ti(e){const t=[];let a=-1,r=0,i=0;for(;++a55295&&o<57344){const l=e.charCodeAt(a+1);o<56320&&l>56319&&l<57344?(s=String.fromCharCode(o,l),i=1):s="�"}else s=String.fromCharCode(o);s&&(t.push(e.slice(r,a),encodeURIComponent(s)),r=a+i+1,s=""),i&&(a+=i,i=0)}return t.join("")+e.slice(r)}function Tt(e,t,a,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return s;function s(c){return St(c)?(e.enter(a),l(c)):t(c)}function l(c){return St(c)&&o++s))return;const I=t.events.length;let N=I,O,k;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(O){k=t.events[N][1].end;break}O=!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(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Q1(e,t,a){return Tt(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function gi(e){if(e===null||$t(e)||jr(e))return 1;if(sl(e))return 2}function ll(e,t,a){const r=[];let i=-1;for(;++i1&&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},o={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[a][1].start}},i={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",i,t],["enter",s,t],["exit",s,t],["enter",o,t]]),u=Oa(u,ll(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=Oa(u,[["exit",o,t],["enter",l,t],["exit",l,t],["exit",i,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&&St(S)?Tt(e,b,"linePrefix",o+1)(S):b(S)}function b(S){return S===null||nt(S)?e.check(Xm,v,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||nt(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 O=0;return k;function k(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),T}function T(F){return S.enter("codeFencedFence"),St(F)?Tt(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?(O++,S.consume(F),q):O>=s?(S.exit("codeFencedFenceSequence"),St(F)?Tt(S,z,"whitespace")(F):z(F)):N(F)}function z(F){return F===null||nt(F)?(S.exit("codeFencedFence"),I(F)):N(F)}}}function u0(e,t,a){const r=this;return i;function i(s){return s===null?a(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o)}function o(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 i;function i(u){return e.enter("codeIndented"),Tt(e,o,"linePrefix",5)(u)}function o(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):nt(u)?e.attempt(d0,s,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||nt(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 i;function i(s){return r.parser.lazy[r.now().line]?a(s):nt(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):Tt(e,o,"linePrefix",5)(s)}function o(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):nt(s)?i(s):a(s)}}const h0={name:"codeText",previous:g0,resolve:f0,tokenize:v0};function f0(e){let t=e.length-4,a=3,r,i;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 i=a||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ji(this.left,r),o.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),Ji(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ji(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,i,o,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(i),e.enter(o),e.consume(E),e.exit(o),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(o),e.consume(E),e.exit(o),e.exit(i),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||nt(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||$t(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(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):nt(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||nt(h)||l++>999?(e.exit("chunkString"),d(h)):(e.consume(h),c||(c=!St(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,i,o){let s;return l;function l(m){return m===34||m===39||m===40?(e.enter(r),e.enter(i),e.consume(m),e.exit(i),s=m===40?41:m,c):a(m)}function c(m){return m===s?(e.enter(i),e.consume(m),e.exit(i),e.exit(r),t):(e.enter(o),u(m))}function u(m){return m===s?(e.exit(o),c(s)):m===null?a(m):nt(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),Tt(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===s||m===null||nt(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 po(e,t){let a;return r;function r(i){return nt(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),a=!0,r):St(i)?Tt(e,r,a?"linePrefix":"lineSuffix")(i):t(i)}}const C0={name:"definition",tokenize:R0},N0={partial:!0,tokenize:T0};function R0(e,t,a){const r=this;let i;return o;function o(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 i=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 $t(h)?po(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 St(h)?Tt(e,m,"whitespace")(h):m(h)}function m(h){return h===null||nt(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):a(h)}}function T0(e,t,a){return r;function r(l){return $t(l)?po(e,i)(l):a(l)}function i(l){return rv(e,o,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function o(l){return St(l)?Tt(e,s,"whitespace")(l):s(l)}function s(l){return l===null||nt(l)?t(l):a(l)}}const I0={name:"hardBreakEscape",tokenize:A0};function A0(e,t,a){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return nt(o)?(e.exit("hardBreakEscape"),t(o)):a(o)}}const _0={name:"headingAtx",resolve:P0,tokenize:O0};function P0(e,t){let a=e.length-2,r=3,i,o;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&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[a][1].end},o={type:"chunkText",start:e[r][1].start,end:e[a][1].end,contentType:"text"},wa(e,r,a-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function O0(e,t,a){let r=0;return i;function i(d){return e.enter("atxHeading"),o(d)}function o(d){return e.enter("atxHeadingSequence"),s(d)}function s(d){return d===35&&r++<6?(e.consume(d),s):d===null||$t(d)?(e.exit("atxHeadingSequence"),l(d)):a(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||nt(d)?(e.exit("atxHeading"),t(d)):St(d)?Tt(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||$t(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 i,o,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),o=!0,v):D===63?(e.consume(D),i=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),i=2,h):D===91?(e.consume(D),i=5,l=0,f):Gn(D)?(e.consume(D),i=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||$t(D)){const G=D===47,U=s.toLowerCase();return!G&&!o&&th.includes(U)?(i=1,r.interrupt?t(D):A(D)):M0.includes(s.toLowerCase())?(i=6,G?(e.consume(D),E):r.interrupt?t(D):A(D)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?a(D):o?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 St(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):St(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):St(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):St(D)?(e.consume(D),S):N(D)}function I(D){return D===c?(e.consume(D),c=null,O):D===null||nt(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||$t(D)?R(D):(e.consume(D),N)}function O(D){return D===47||D===62||St(D)?x(D):a(D)}function k(D){return D===62?(e.consume(D),T):a(D)}function T(D){return D===null||nt(D)?A(D):St(D)?(e.consume(D),T):a(D)}function A(D){return D===45&&i===2?(e.consume(D),H):D===60&&i===1?(e.consume(D),ne):D===62&&i===4?(e.consume(D),te):D===63&&i===3?(e.consume(D),_):D===93&&i===5?(e.consume(D),P):nt(D)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(L0,Z,q)(D)):D===null||nt(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||nt(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),te):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),te):D===45&&i===2?(e.consume(D),_):A(D)}function te(D){return D===null||nt(D)?(e.exit("htmlFlowData"),Z(D)):(e.consume(D),te)}function Z(D){return e.exit("htmlFlow"),t(D)}}function j0(e,t,a){const r=this;return i;function i(s){return nt(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):a(s)}function o(s){return r.parser.lazy[r.now().line]?a(s):t(s)}}function U0(e,t,a){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt($o,t,a)}}const $0={name:"htmlText",tokenize:B0};function B0(e,t,a){const r=this;let i,o,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(_),o=0,f):Gn(_)?(e.consume(_),b):a(_)}function d(_){return _===45?(e.consume(_),h):a(_)}function p(_){return _===null?a(_):_===45?(e.consume(_),m):nt(_)?(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 te="CDATA[";return _===te.charCodeAt(o++)?(e.consume(_),o===te.length?v:f):a(_)}function v(_){return _===null?a(_):_===93?(e.consume(_),y):nt(_)?(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(_):nt(_)?(s=b,ne(_)):(e.consume(_),b)}function x(_){return _===null?a(_):_===63?(e.consume(_),w):nt(_)?(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 nt(_)?(s=I,ne(_)):St(_)?(e.consume(_),I):H(_)}function N(_){return _===45||Wn(_)?(e.consume(_),N):_===47||_===62||$t(_)?O(_):a(_)}function O(_){return _===47?(e.consume(_),H):_===58||_===95||Gn(_)?(e.consume(_),k):nt(_)?(s=O,ne(_)):St(_)?(e.consume(_),O):H(_)}function k(_){return _===45||_===46||_===58||_===95||Wn(_)?(e.consume(_),k):T(_)}function T(_){return _===61?(e.consume(_),A):nt(_)?(s=T,ne(_)):St(_)?(e.consume(_),T):O(_)}function A(_){return _===null||_===60||_===61||_===62||_===96?a(_):_===34||_===39?(e.consume(_),i=_,q):nt(_)?(s=A,ne(_)):St(_)?(e.consume(_),A):(e.consume(_),z)}function q(_){return _===i?(e.consume(_),i=void 0,F):_===null?a(_):nt(_)?(s=q,ne(_)):(e.consume(_),q)}function z(_){return _===null||_===34||_===39||_===60||_===61||_===96?a(_):_===47||_===62||$t(_)?O(_):(e.consume(_),z)}function F(_){return _===47||_===62||$t(_)?O(_):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 St(_)?Tt(e,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):P(_)}function P(_){return e.enter("htmlTextData"),s(_)}}const id={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||nt(u))?(e.exit("thematicBreak"),t(u)):a(u)}function c(u){return u===i?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),St(u)?Tt(e,l,"whitespace")(u):l(u))}}const na={continuation:{tokenize:lC},exit:uC,name:"list",tokenize:sC},iC={partial:!0,tokenize:dC},oC={partial:!0,tokenize:cC};function sC(e,t,a){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[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($o,r.interrupt?a:d,e.attempt(iC,m,p))}function d(h){return r.containerState.initialBlankLine=!0,o++,m(h)}function p(h){return St(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),m):a(h)}function m(h){return r.containerState.size=o+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($o,i,o);function i(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Tt(e,t,"listItemIndent",r.containerState.size+1)(l)}function o(l){return r.containerState.furtherBlankLines||!St(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(oC,t,s)(l))}function s(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,Tt(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 Tt(e,i,"listItemIndent",r.containerState.size+1);function i(o){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(o):a(o)}}function uC(e){e.exit(this.containerState.type)}function dC(e,t,a){const r=this;return Tt(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const s=r.events[r.events.length-1];return!St(o)&&s&&s[1].type==="listItemPrefixWhitespace"?t(o):a(o)}}const nh={name:"setextUnderline",resolveTo:pC,tokenize:mC};function pC(e,t){let a=e.length,r,i,o;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){r=a;break}e[a][1].type==="paragraph"&&(i=a)}else e[a][1].type==="content"&&e.splice(a,1),!o&&e[a][1].type==="definition"&&(o=a);const s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",s,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function mC(e,t,a){const r=this;let i;return o;function o(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"),i=u,s(u)):a(u)}function s(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===i?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),St(u)?Tt(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||nt(u)?(e.exit("setextHeadingLine"),t(u)):a(u)}}const hC={tokenize:fC};function fC(e){const t=this,a=e.attempt($o,r,e.attempt(this.parser.constructs.flowInitial,i,Tt(e,e.attempt(this.parser.constructs.flow,i,e.attempt(E0,i)),"linePrefix")));return a;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,a}}const gC={resolveAll:ov()},vC=iv("string"),bC=iv("text");function iv(e){return{resolveAll:ov(e==="text"?yC:void 0),tokenize:t};function t(a){const r=this,i=this.parser.constructs[e],o=a.attempt(i,s,l);return s;function s(d){return u(d)?o(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"),o(d)):(a.consume(d),c)}function u(d){if(d===null)return!0;const p=i[d];let m=-1;if(p)for(;++m-1){const l=s[0];typeof l=="string"?s[0]=l.slice(r):s.shift()}o>0&&s.push(e[i].slice(0,o))}return s}function PC(e,t){let a=-1;const r=[];let i;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){const ft=Ne.tokenStack[Ne.tokenStack.length-1];(ft[1]||rh).call(Ne,void 0,ft[0])}for(he.position={start:sr(oe.length>0?oe[0][1].start:{line:1,column:1,offset:0}),end:sr(oe.length>0?oe[oe.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(;++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:` +`:"",r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:a}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}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(),i=Ti(r.toLowerCase()),o=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=o+1,l+=1,e.footnoteCounts.set(r,l);const c={type:"element",tagName:"a",properties:{href:"#"+a+"fn-"+i,id:a+"fnref-"+i+(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 i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const s=i[i.length-1];return s&&s.type==="text"?s.value+=r:i.push({type:"text",value:r}),i}function GC(e,t){const a=String(t.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return cv(e,t);const i={src:Ti(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function QC(e,t){const a={src:Ti(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 i={href:Ti(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function tN(e,t){const a={href:Ti(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),i=a?aN(a):uv(t),o={},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:[]}),o.className=["task-list-item"]}let l=-1;for(;++l1}function rN(e,t){const a={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(a.start=t.start);++i0){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}),i.push(s)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function cN(e,t,a){const r=a?a.children:void 0,o=(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]),i=r.index+r[0].length,r=a.exec(t);return o.push(sh(t.slice(i),i>0,!1)),o.join("")}function sh(e,t,a){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===ih||o===oh;)r++,o=e.codePointAt(r)}if(a){let o=e.codePointAt(i-1);for(;o===ih||o===oh;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}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:iN,root:oN,strong:sN,table:lN,tableCell:uN,tableRow:cN,text:pN,thematicBreak:mN,toml:Yo,yaml:Yo,definition:Yo,footnoteDefinition:Yo};function Yo(){}const dv=-1,cl=0,mo=1,Ds=2,od=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=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,s]=t[i];switch(o){case cl:case dv:return a(s,i);case mo:{const l=a([],i);for(const c of s)l.push(r(c));return l}case Ds:{const l=a({},i);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 od:return a(new Date(s),i);case sd:{const{source:l,flags:c}=s;return a(new RegExp(l,c),i)}case ld:{const l=a(new Map,i);for(const[c,u]of s)l.set(r(c),r(u));return l}case cd:{const l=a(new Set,i);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),i)}case mv:return a(BigInt(s),i);case"BigInt":return a(Object(BigInt(s)),i);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(o,s),i)};return r},ch=e=>gN(new Map,e)(0),Ir="",{toString:vN}={},{keys:bN,is:yN}=Object,Ki=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[mo,Ir];case"Object":return[Ds,Ir];case"Date":return[od,Ir];case"RegExp":return[sd,Ir];case"Map":return[ld,Ir];case"Set":return[cd,Ir];case"DataView":return[mo,a]}return a.includes("Array")?[mo,a]:e instanceof Error?[pv,e.name||"Error"]:[Ds,a]},Go=([e,t])=>e===cl&&(t==="function"||t==="symbol"),EN=(e,t,a,r)=>{const i=(s,l)=>{const c=r.push(s)-1;return a.set(l,c),c},o=s=>{if(a.has(s))return a.get(s);let[l,c]=Ki(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 i([dv],s)}return i([l,d],s)}case mo:{if(c){let m=s;return c==="DataView"?m=new Uint8Array(s.buffer):c==="ArrayBuffer"&&(m=new Uint8Array(s)),i([c,[...m]],s)}const d=[],p=i([l,d],s);for(const m of s)d.push(o(m));return p}case Ds:{if(c)switch(c){case"BigInt":return i([c,s.toString()],s);case"Boolean":case"Number":case"String":return i([c,s.valueOf()],s)}if(t&&"toJSON"in s)return o(s.toJSON());const d=[],p=i([l,d],s);for(const m of bN(s))(e||!Go(Ki(s[m])))&&d.push([o(m),o(s[m])]);return p}case od:return i([l,isNaN(s.getTime())?Ir:s.toISOString()],s);case sd:{const{source:d,flags:p}=s;return i([l,{source:d,flags:p}],s)}case ld:{const d=[],p=i([l,d],s);for(const[m,h]of s)(e||!(Go(Ki(m))||Go(Ki(h))))&&d.push([o(m),o(h)]);return p}case cd:{const d=[],p=i([l,d],s);for(const m of s)(e||!Go(Ki(m)))&&d.push(o(m));return p}}const{message:u}=s;return i([l,{name:c,message:u}],s)};return o},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,i=e.options.footnoteLabel||"Footnotes",o=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:o,properties:{...Fs(s),id:"footnote-label"},children:[{type:"text",value:i}]},{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=fv,f,v,y;if((!t||o(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&&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=ON(e,t),r=a.one(e,void 0),i=xN(a),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function FN(e,t){return e&&"run"in e?async function(a,r){const i=ph(a,{file:r,...t});await e.run(i,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,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},o=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(i);try{c=e.apply(this,s)}catch(u){const d=u;if(l&&a)throw d;return i(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(o,i):c instanceof Error?i(c):o(c))}function i(s,...l){a||(a=!0,t(s,...l))}function o(s){i(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');Bo(e);let a=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){a=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(a,r)}if(t===e)return"";let s=-1,l=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){a=i+1;break}}else s<0&&(o=!0,s=i+1),l>-1&&(e.codePointAt(i)===t.codePointAt(l--)?l<0&&(r=i):(l=-1,r=s));return a===r?r=s:r<0&&(r=e.length),e.slice(a,r)}function HN(e){if(Bo(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){Bo(e);let t=e.length,a=-1,r=0,i=-1,o=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?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||a<0||o===0||o===1&&i===a-1&&i===r+1?"":e.slice(i,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,i=-1,o=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("/")),i=s,o=0;continue}}else if(a.length>0){a="",r=0,i=s,o=0;continue}}t&&(a=a.length>0?a+"/..":"..",r=2)}else a.length>0?a+="/"+e.slice(i+1,s):a=e.slice(i+1,s),r=s-i-1;i=s,o=0}else l===46&&o>-1?o++:o=-1}return a}function Bo(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 oc(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 Qo(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"||iR(e)}function iR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const oR="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,i=t.components,o=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")+oR+d.id,void 0);return ud(e,u),x1(e,{Fragment:Ql.Fragment,components:i,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):o?o.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("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||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,i=a.indexOf(t);for(;i!==-1;)r++,i=a.indexOf(t,i+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 i=ul((a||{}).ignore||[]),o=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 i=Eh(e,"(");let o=Eh(e,")");for(;r!==-1&&i>o;)e+=a.slice(0,r+1),a=a.slice(r+1),r=a.indexOf(")"),o++;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 i=a.createTracker(r);let o=i.move("[^");const s=a.enter("footnoteReference"),l=a.enter("reference");return o+=i.move(a.safe(a.associationId(e),{after:"]",before:o})),l(),s(),o+=i.move("]"),o}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,i,o,s){const l=o.createTracker(s);let c=l.move("[^");const u=o.enter("footnoteDefinition"),d=o.enter("label");return c+=l.move(o.safe(o.associationId(r),{before:c,after:"]"})),d(),c+=l.move("]:"),r.children&&r.children.length>0&&(l.shift(4),c+=l.move((t?` +`:" ")+o.indentLines(o.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 i=a.createTracker(r),o=a.enter("strikethrough");let s=i.move("~~");return s+=a.containerPhrasing(e,{...i.current(),before:s,after:"~"}),s+=i.move("~~"),o(),s}function ZR(){return"~"}function JR(e){return e.length}function KR(e,t){const a=t||{},r=(a.align||[]).concat(),i=a.stringLength||JR,o=[],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 "),o.shift(2);const s=a.indentLines(a.containerFlow(e,o.current()),QR);return i(),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=o):o=1,i=r+t.length,r=a.indexOf(t,i);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 i=nT(a),o=e.value||"",s=i==="`"?"GraveAccent":"Tilde";if(tT(e,a)){const p=a.enter("codeIndented"),m=a.indentLines(o,rT);return p(),m}const l=a.createTracker(r),c=i.repeat(Math.max(eT(o,i)+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:` +`),o&&(d+=l.move(o+` +`)),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 iT(e,t,a,r){const i=pd(a),o=i==='"'?"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${o}`),u+=c.move(" "+i),u+=c.move(a.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),s(),u}function oT(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 wo(e){return"&#x"+e.toString(16).toUpperCase()+";"}function qs(e,t,a){const r=gi(e),i=gi(t);return r===void 0?i===void 0?a==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}xv.peek=sT;function xv(e,t,a,r){const i=oT(a),o=a.enter("emphasis"),s=a.createTracker(r),l=s.move(i);let c=s.move(a.containerPhrasing(e,{after:i,before:l,...s.current()}));const u=c.charCodeAt(0),d=qs(r.before.charCodeAt(r.before.length-1),u,i);d.inside&&(c=wo(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=qs(r.after.charCodeAt(0),p,i);m.inside&&(c=c.slice(0,-1)+wo(p));const h=s.move(i);return o(),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 i=Math.max(Math.min(6,e.depth||1),1),o=a.createTracker(r);if(lT(e,a)){const d=a.enter("headingSetext"),p=a.enter("phrasing"),m=a.containerPhrasing(e,{...o.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===1?"=":"-").repeat(m.length-(Math.max(m.lastIndexOf("\r"),m.lastIndexOf(` +`))+1))}const s="#".repeat(i),l=a.enter("headingAtx"),c=a.enter("phrasing");o.move(s+" ");let u=a.containerPhrasing(e,{before:"# ",after:` +`,...o.current()});return/^[\t ]/.test(u)&&(u=wo(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 i=pd(a),o=i==='"'?"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${o}`),u+=c.move(" "+i),u+=c.move(a.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),u+=c.move(")"),s(),u}function dT(){return"!"}Nv.peek=pT;function Nv(e,t,a,r){const i=e.referenceType,o=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,o(),i==="full"||!u||u!==p?c+=l.move(p+"]"):i==="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||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}Iv.peek=hT;function Iv(e,t,a,r){const i=pd(a),o=i==='"'?"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${o}`),u+=s.move(" "+i),u+=s.move(a.safe(e.title,{before:u,after:i,...s.current()})),u+=s.move(i),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 i=e.referenceType,o=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,o(),i==="full"||!u||u!==p?c+=l.move(p+"]"):i==="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 i=a.enter("list"),o=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))+o);let s=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(s=Math.ceil(s/4)*4);const l=a.createTracker(r);l.move(o+" ".repeat(s-o.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?o:o+" ".repeat(s-o.length))+p}}function wT(e,t,a,r){const i=a.enter("paragraph"),o=a.enter("phrasing"),s=a.containerPhrasing(e,r);return o(),i(),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 i=ST(a),o=a.enter("strong"),s=a.createTracker(r),l=s.move(i+i);let c=s.move(a.containerPhrasing(e,{after:i,before:l,...s.current()}));const u=c.charCodeAt(0),d=qs(r.before.charCodeAt(r.before.length-1),u,i);d.inside&&(c=wo(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=qs(r.after.charCodeAt(0),p,i);m.inside&&(c=c.slice(0,-1)+wo(p));const h=s.move(i+i);return o(),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:iT,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,i=t.stringLength,o=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||$t(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 $t(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||$t(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 $t(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),Tt(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 Tt(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):nt(k)?i>1?(i=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):a(k):St(k)?Tt(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||$t(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,St(k)?Tt(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 St(k)?Tt(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||nt(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 St(k)?Tt(e,w,"whitespace")(k):w(k)}function w(k){return k===124?f(k):k===null||nt(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||nt(k)?(e.exit("tableRow"),t(k)):St(k)?Tt(e,I,"whitespace")(k):(e.enter("data"),N(k))}function N(k){return k===null||k===124||$t(k)?(e.exit("data"),I(k)):(e.consume(k),k===92?O:N)}function O(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 $t(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 nt(c)?t(c):St(c)?e.check({tokenize:bI},t,a)(c):a(c)}}function bI(e,t,a){return Tt(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(` -`),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=O=>{R&&(clearTimeout(I),S==null||S.terminate(),u(O),l(O.error?"error":"ready",O.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=O=>N(O.data),S.onerror=O=>N({error:O.message||"Graph renderer failed"}),S.postMessage({source:t,engine:m.engine||"dot"})):(Rh||(Rh=_g(async()=>{const{default:O}=await import("./mermaid.core-faRzEm2Q.js").then(k=>k.ca);return{default:O}},__vite__mapDeps([0,1])).then(({default:O})=>(O.initialize({startOnLoad:!1,securityLevel:"strict",maxTextSize:5e4,maxEdges:500,suppressErrorRendering:!0,theme:"default",flowchart:{htmlLabels:!1},htmlLabels:!1}),O))),Rh.then(O=>O.render(`canvas${s}`,t)).then(({svg:O})=>N({svg:O})).catch(O=>N({error:O.message||String(O)}))),()=>{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 O=await t("canvas.reference",{id:e.id,sessionId:e.sessionId,version:e.selectedVersion||e.revision||e.latestVersion,...u});((I=O==null?void 0:O.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(O){f(O.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 He(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(` -`).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(", ")}) { +`))}function c(h,f,v,y){const E=v.enter("tableCell"),b=v.enter("phrasing"),x=v.containerPhrasing(h,{...y,before:o,after:o});return b(),E(),x}function u(h,f){return KR(h,{align:f,alignDelimiters:r,padding:a,stringLength:i})}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:iI},exit:oI}},text:{91:{name:"gfmFootnoteCall",tokenize:aI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tI,resolveTo:nI}}}}function tI(e,t,a){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;i--;){const c=r.events[i][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||!o.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)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},l=[e[a+1],e[a+2],["enter",r,t],e[a+3],e[a+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",s,t],["exit",s,t],["exit",o,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,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=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(o>999||p===93&&!s||p===null||p===91||$t(p))return a(p);if(p===93){e.exit("chunkString");const m=e.exit("gfmFootnoteCallString");return i.includes(Fa(r.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):a(p)}return $t(p)||(s=!0),o++,e.consume(p),p===92?d:u}function d(p){return p===91||p===92||p===93?(e.consume(p),o++,u):u(p)}}function rI(e,t,a){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,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||$t(f))return a(f);if(f===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return o=Fa(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return $t(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"),i.includes(o)||i.push(o),Tt(e,h,"gfmFootnoteDefinitionWhitespace")):a(f)}function h(f){return t(f)}}function iI(e,t,a){return e.check($o,t,e.attempt(XT,t,a))}function oI(e){e.exit("gfmFootnoteDefinition")}function sI(e,t,a){const r=this;return Tt(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(o):a(o)}}function lI(e){let a=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:i};return a==null&&(a=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(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=gi(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(o,s){return o[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 i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function uI(e,t,a,r){let i=0;if(!(a===0&&r.length===0)){for(;i-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,o+=1),d(k)}function d(k){return k===null?a(k):nt(k)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):a(k):St(k)?Tt(e,d,"whitespace")(k):(o+=1,s&&(s=!1,i+=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||$t(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,St(k)?Tt(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 St(k)?Tt(e,y,"whitespace")(k):y(k)}function y(k){return k===58?(o+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),E):k===45?(o+=1,E(k)):k===null||nt(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 St(k)?Tt(e,w,"whitespace")(k):w(k)}function w(k){return k===124?f(k):k===null||nt(k)?!s||i!==o?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||nt(k)?(e.exit("tableRow"),t(k)):St(k)?Tt(e,I,"whitespace")(k):(e.enter("data"),N(k))}function N(k){return k===null||k===124||$t(k)?(e.exit("data"),I(k)):(e.consume(k),k===92?O:N)}function O(k){return k===92||k===124?(e.consume(k),N):N(k)}}function hI(e,t){let a=-1,r=!0,i=0,o=[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 i!==void 0&&(o.end=Object.assign({},Qr(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function Nh(e,t,a,r,i){const o=[],s=Qr(t.events,a);i&&(i.end=Object.assign({},s),o.push(["exit",i,t])),r.end=Object.assign({},s),o.push(["exit",r,t]),e.add(a+1,0,o)}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 i;function i(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?a(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),o)}function o(c){return $t(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 nt(c)?t(c):St(c)?e.check({tokenize:bI},t,a)(c):a(c)}}function bI(e,t,a){return Tt(e,r,"whitespace");function r(i){return i===null?a(i):t(i)}}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(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(yI(a)),o.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(` +`),r=[];let i=[],o=null,s=0,l=0;const c=a.map(p=>{const m=l;return l+=p.length+1,m}),u=(p,m)=>{i.length||(s=c[m]),i.push(p)},d=()=>{i.length&&(r.push({type:"text",text:i.join(` +`),...t?{sourceOffset:s}:{}}),i=[])};for(let p=0;p=o.length&&(o=null):o=h[1],u(m,p);continue}const f=!o&&/^:::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])),o?f("textarea",{"aria-label":"Edit writing copy",rows:8,value:r,disabled:l,onChange:E=>i(E.target.value)}):a(r),f("div",{className:"a-dialog-actions"},v("Copy writing",y),v(o?"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"),i=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(i||""))return null;const o=Number(i);return!Number.isSafeInteger(o)||o<1?null:{id:a,sessionId:r,version:o}}catch{return null}}function CI({reference:e,context:t,children:a}){const[r,i]=g.useState(!1),[o,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,i(!0),s("");try{await t.act("canvas.select",e)}catch(u){s(u.message||"This saved artifact version is unavailable.")}finally{l.current=!1,i(!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),o&&n.createElement("span",{role:"status",className:"a-caption"}," "+o))}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,i]=g.useState(!1),[o,s]=g.useState(""),l=g.useRef(!1);async function c(){var u,d;if(!l.current){l.current=!0,i(!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,i(!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),o&&n.createElement("span",{role:"status",className:"a-caption"}," "+o))}function RI(){return e=>{let t=100;function a(r){!r.children||["link","image","code","html"].includes(r.type)||(r.children=r.children.flatMap(i=>{if(!t)return[i];if(i.type==="inlineCode"){const o=js(i.value);if(o)return t--,[{type:"link",url:o,children:[i]}]}if(i.type==="text"){const o=[];let s=0;const l=new RegExp("(?s&&o.push({type:"text",value:i.value.slice(s,c.index)}),o.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 i=g.useContext(Hv),o=i&&$v(t),s=(i==null?void 0:i.workspace)&&js(t);return o?n.createElement(CI,{key:t,reference:o,context:i},a):s?n.createElement(NI,{key:JSON.stringify([i.sessionId,i.workspace,s]),path:s,context:i},a):n.createElement(Bv.a,{href:t,...r},a)}const pl=g.memo(function({text:t,className:a="",overrides:r={},writingContext:i,fileContext:o,mapSource:s=!1}){const l=!!(o!=null&&o.sessionId&&(o!=null&&o.act)),c=!!(l&&o.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?o: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:i,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(()=>(i,o="")=>{e.id&&r.current("canvas.report",{id:e.id,part:a,status:i,message:String(o).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:i="preview",embedded:o=!1}){var x,w;const s=g.useId().replace(/[^a-zA-Z0-9]/g,""),l=fd(a,r,i),[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=O=>{R&&(clearTimeout(I),S==null||S.terminate(),u(O),l(O.error?"error":"ready",O.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=O=>N(O.data),S.onerror=O=>N({error:O.message||"Graph renderer failed"}),S.postMessage({source:t,engine:m.engine||"dot"})):(Rh||(Rh=_g(async()=>{const{default:O}=await import("./mermaid.core-CdGsAdCF.js").then(k=>k.ca);return{default:O}},__vite__mapDeps([0,1])).then(({default:O})=>(O.initialize({startOnLoad:!1,securityLevel:"strict",maxTextSize:5e4,maxEdges:500,suppressErrorRendering:!0,theme:"default",flowchart:{htmlLabels:!1},htmlLabels:!1}),O))),Rh.then(O=>O.render(`canvas${s}`,t)).then(({svg:O})=>N({svg:O})).catch(O=>N({error:O.message||String(O)}))),()=>{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 ${o?"embedded":""}`},!o&&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=>{o||(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:o?void 0:`translate(${f}px,${v}px) scale(${h})`}})):n.createElement("p",{role:"status"},"Drawing diagram…"),!o&&((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:i,node:o,...s})=>{var u,d,p;const l=(u=/language-(\w+)/.exec(r||""))==null?void 0:u[1],c=String(i).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=o==null?void 0:o.position)==null?void 0:d.start)==null?void 0:p.offset)||0}`}):n.createElement("code",{className:r,...s},i)}}),[e.id,t]);return n.createElement(pl,{text:e.content,overrides:a,mapSource:!0})}function ou({text:e}){const[t,a]=g.useState("");return g.useEffect(()=>{let r=!0;return a(""),e.length<1e5&&_g(async()=>{const{default:i}=await import("./index-D1m6Llf0.js");return{default:i}},__vite__mapDeps([2,1])).then(({default:i})=>{const o=i.highlightAuto(e).value;r&&a(o)}),()=>{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||{},i=e.content||"",o=!["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(),i)),f(""))};return document.addEventListener("selectionchange",I),()=>document.removeEventListener("selectionchange",I)},[i,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 O=await t("canvas.reference",{id:e.id,sessionId:e.sessionId,version:e.selectedVersion||e.revision||e.latestVersion,...u});((I=O==null?void 0:O.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(O){f(O.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(i):i.split(` +`).filter(I=>I.trim()).map(I=>JSON.parse(I))}}catch(I){return{error:I.message}}},[e.kind,i]);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"},o&&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(ou,{text:i}):["html","babylon"].includes(e.kind)?n.createElement(OI,{canvas:e,act:t}):["mermaid","dot"].includes(e.kind)?n.createElement(Vv,{kind:e.kind,source:i,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:i,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(ou,{text:i}):n.createElement("pre",{className:"a-canvas-plain"},n.createElement("span",{"data-canvas-source-start":"0","data-canvas-source-end":i.length,"data-canvas-literal":"true"},i))),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)||"",i=Array.isArray(e)?e:[e],o=i.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,o.length," of ",i.length," records"),o.slice(0,200).map(({v:l,i:c})=>n.createElement("pre",{key:c},JSON.stringify(l,null,2))),o.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),i=g.useRef(t),o=g.useRef(null);return i.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}))};i.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&&o.current!==s.requestId&&(o.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:jo(`/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(jo(`/api/canvas/${e.id}/source?version=${e.selectedVersion??e.revision??1}`),{signal:r.signal}).then(async i=>{if(!i.ok)throw Error("The saved source could not be loaded.");return i.text()}).then(i=>a({text:i})).catch(i=>{i.name!=="AbortError"&&a({error:i.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(ou,{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 i=DI(t),o=0,s=i.length,l;ot[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,i])=>t.indexOf(+r)===-1).map(([r,i])=>i)}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),i=4*Number.EPSILON*Math.max(Math.abs(a),1);return Math.abs(a-r){const l=t._zod.def.shape[o];return r?r(l,o):l}):Zv(e,o,r?r(s.value,o):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 ko(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 vi(e){if(ko(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const a=t.prototype;return!(ko(a)===!1||Object.prototype.hasOwnProperty.call(a,"isPrototypeOf")===!1)}function Kv(e){return vi(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 bi(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 He(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 o={};return Ur(o,e,hl(e,t)),kr(e,va(a,{shape:o,checks:[]}))}function hl(e,t){var i;const a=nr(e),r=[];for(const o of Reflect.ownKeys(t)){if(!((i=Object.getOwnPropertyDescriptor(a,o))!=null&&i.enumerable))throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&r.push(o)}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 o=new Set(hl(e,t)),s={};return Ur(s,e,Reflect.ownKeys(nr(e)).filter(l=>!o.has(l))),kr(e,va(a,{shape:s,checks:[]}))}function i2(e,t){if(!vi(t))throw new Error("Invalid input to extend: expected a plain object");const a=e._zod.def.checks;if(a&&a.length>0){const i=nr(e);for(const o of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(i,o)!==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 o2(e,t){if(!vi(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 i,o;if(!((i=t==null?void 0:t._zod)!=null&&i.def))throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if((o=e._zod.def.checks)!=null&&o.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 o=t._zod.def.checks;if(o&&o.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,i={};return Ur(i,t,Reflect.ownKeys(nr(t)),(o,s)=>r&&!r.has(s)?o:new e({type:"nonoptional",innerType:o})),kr(t,va(t._zod.def,{shape:i}))}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 Yi(e){return typeof e=="string"?e:e==null?void 0:e.message}function _h(e,t,a){var r;for(let i=t;ie;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 i={};function o(m){this.def=m,this.constr=p,this.traits=new Set}o.prototype=i;const s=a,l=s&&new WeakSet;function c(m,h){if(!m._zod){hc.value=new o(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 i of e.issues)i.path.length>0?C2(a,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:a}}function R2(e,t=a=>a.message){const a={_errors:[]},r=(i,o=[])=>{for(const s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(l=>r({issues:l},[...o,...s.path]));else if(s.code==="invalid_key")r({issues:s.issues},[...o,...s.path]);else if(s.code==="invalid_element")r({issues:s.issues},[...o,...s.path]);else{const l=[...o,...s.path];if(l.length===0)a._errors.push(t(s));else{let c=a,u=0;for(;u{const t=(a,r,i,o)=>{const s=i?{...i,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((o==null?void 0:o.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Jv(c,(o==null?void 0:o.callee)??t),c}return l.value};return t},kd=e=>{const t=async(a,r,i,o)=>{const s=i?{...i,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((o==null?void 0:o.Err)??e)(l.issues.map(u=>br(u,s,Ka())));throw Jv(c,(o==null?void 0:o.callee)??t),c}return l.value};return t},xd=e=>(t,a,r)=>{const i=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:a,issues:[]},i);if(o instanceof Promise)throw new Or;return o.issues.length?nb(e,o.issues,i):{success:!0,data:o.value}};function nb(e,t,a){let r;return{success:!1,get error(){return r||(r=new e(t.map(i=>br(i,a,Ka()))),t=void 0,a=void 0),r},set error(i){r=i,t=void 0,a=void 0}}}const Sd=e=>async(t,a,r)=>{const i=r?{...r,async:!0}:{async:!0};let o=t._zod.run({value:a,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?nb(e,o.issues,i):{success:!0,data:o.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},i=e._zod.bag.fallbackRun;let o;if(i?(r[I2]=!0,o=i({value:t,issues:[]},r)):o=e._zod.run({value:t,issues:[]},r),o instanceof Promise)throw new Or;return o.issues.length===0}const P2=async(e,t,a)=>{const r=a?{...a,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0};let i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},O2=e=>{const t=wd(e),a=(r,i,o,s)=>{const l=o?{...o,direction:"backward"}:{direction:"backward"};return t(r,i,l,fl(a,s))};return a},M2=e=>{const t=wd(e),a=(r,i,o,s)=>t(r,i,o,fl(a,s));return a},z2=e=>{const t=kd(e),a=async(r,i,o,s)=>{const l=o?{...o,direction:"backward"}:{direction:"backward"};return await t(r,i,l,fl(a,s))};return a},L2=e=>{const t=kd(e),a=async(r,i,o,s)=>await t(r,i,o,fl(a,s));return a},D2=e=>(t,a,r)=>{const i=r?{...r,direction:"backward"}:{direction:"backward"};return xd(e)(t,a,i)},F2=e=>(t,a,r)=>xd(e)(t,a,r),q2=e=>async(t,a,r)=>{const i=r?{...r,direction:"backward"}:{direction:"backward"};return Sd(e)(t,a,i)},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})?$/,iA=/^https?$/,oA=/^\+[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]*$/,oa=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)=>{oa.init(e,t);const a=$s[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{oa.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)=>{oa.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;oa.init(e,t),t.format=t.format||"float64";const a=(s=t.format)==null?void 0:s.includes("int"),r=a?"int":"number",[i,o]=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}}co&&l.issues.push({origin:"number",input:c,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),EA=le("$ZodCheckMaxLength",(e,t)=>{var a;oa.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const i=r.value,o=i.length;if((typeof i=="string"&&o>t.maximum?yd(i):o)<=t.maximum)return;const l=Ed(i);r.issues.push({origin:l,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),wA=le("$ZodCheckMinLength",(e,t)=>{var a;oa.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const i=r.value,o=i.length;if((typeof i=="string"&&o>=t.minimum&&o=t.minimum)return;const l=Ed(i);r.issues.push({origin:l,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),kA=le("$ZodCheckLengthEquals",(e,t)=>{var a;oa.init(e,t),(a=e._zod.def).when??(a.when=Nd),e._zod.check=r=>{const i=r.value,o=i.length,s=typeof i=="string"&&o>=t.length&&o<=t.length*2?yd(i):o;if(s===t.length)return;const l=Ed(i),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;oa.init(e,t),t.pattern?(a=e._zod).check??(a.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.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)=>{oa.init(e,t);const a=bi(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position},}${a}`:a);t.pattern=r,e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),RA=le("$ZodCheckStartsWith",(e,t)=>{oa.init(e,t);const a=new RegExp(`^${bi(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)=>{oa.init(e,t);const a=new RegExp(`.*${bi(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)=>{oa.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(` +`).filter(s=>s),i=Math.min(...r.map(s=>s.length-s.trimStart().length)),o=r.map(s=>s.slice(i)).map(s=>" ".repeat(this.indent*2)+s);for(const s of o)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},Ht=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)=>{Ht.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)=>{Ht.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)=>{Ht.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)=>{Ht.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)=>{Ht.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)=>{Ht.init(e,t),e._zod.parse=a=>a}),g_=le("$ZodUnknown",(e,t)=>{Ht.init(e,t),e._zod.parse=a=>a}),v_=le("$ZodNever",(e,t)=>{Ht.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)=>{Ht.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)=>{Ht.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));Rt(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 _A={major:4,minor:6,patch:2},Ht=le("$ZodType",(e,t)=>{var o;var a;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=_A;const r=e._zod.def.checks,i=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r!=null&&r.length?[...r]:[];for(const s of i)for(const l of s._zod.onattach)l(e);if(i.length===0)(a=e._zod).deferred??(a.deferred=[]),(o=e._zod.deferred)==null||o.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,i,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,i,u))}return s(d,i,u)}}},{get"~standard"(){return Xv(this,"~standard",sb(this))},set"~standard"(e){yr(this,"~standard",e)}}),ob=(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 ob(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 ob(r,a)}catch{}return PA(e,t)},vendor:"zod",version:1}}const Rd=le("$ZodString",(e,t)=>{Ht.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)===iA.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(),i=LA(r,t);if(i===lb){a.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:a.value,inst:e,continue:!t.abort});return}if(i===cb){a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!t.abort});return}t.hostname&&!qA(i,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(i,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?i.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 i=Number(r);return`${i}`!==r||i<0||i>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}$/,i_=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 o_(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=>{o_(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=oA),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 i=JSON.parse(atob(r));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&(!("alg"in i)||i.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)=>{Ht.init(e,t),e._zod.pattern=Cd,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=Number(a.value)}catch{}const i=a.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return a;const o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:String(i):void 0;return a.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),a}}),d_=le("$ZodNumberFormat",(e,t)=>{yA.init(e,t),mb.init(e,t)}),p_=le("$ZodBoolean",(e,t)=>{Ht.init(e,t),e._zod.pattern=mA,e._zod.parse=(a,r)=>{if(t.coerce)try{a.value=!!a.value}catch{}const i=a.value;return typeof i=="boolean"||a.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),a}}),m_=le("$ZodUndefined",(e,t)=>{Ht.init(e,t),e._zod.pattern=fA,e._zod.values=new Set([void 0]),e._zod.parse=(a,r)=>{const i=a.value;return typeof i>"u"||a.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:e}),a}}),h_=le("$ZodNull",(e,t)=>{Ht.init(e,t),e._zod.pattern=hA,e._zod.values=new Set([null]),e._zod.parse=(a,r)=>{const i=a.value;return i===null||a.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),a}}),f_=le("$ZodAny",(e,t)=>{Ht.init(e,t),e._zod.parse=a=>a}),g_=le("$ZodUnknown",(e,t)=>{Ht.init(e,t),e._zod.parse=a=>a}),v_=le("$ZodNever",(e,t)=>{Ht.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(...ti(a,e.issues)),t.value[a]=e.value}const b_=le("$ZodArray",(e,t)=>{Ht.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,i)=>{const o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=a?a.alloc(e,r,Array(o.length),i):Array(o.length);const s=[],l=i==null?void 0:i.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,i,o){const s=a in r,l=o==="optional";if(!(!s&&l&&i==="optional")){if(e.issues.length){if(i!==void 0&&l&&!s)return;t.issues.push(...ti(a,e.issues))}if(!s&&i===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[a]});return}e.value===void 0?(s||i==="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_,i=r.length?[...t,...r]:t;for(const d of i)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 o=t2(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(o)}}function fb(e,t,a,r,i,o,s){const l=[],c=i.keySet,u=i.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:o,continue:!0}),e.length?Promise.all(e).then(()=>a):a}const E_=le("$ZodObject",(e,t)=>{Ht.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 i=ml(()=>hb(t));Rt(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 o=ko,s=t.catchall;let l;const c=qa.memoizer;c==null||c.attach(e),e._zod.parse=(u,d)=>{l??(l=i.value);const p=u.value;if(!o(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,i.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)),i=qa.memoizer,o=h=>{var R,S;const f=r.value,v=f.symbolKeys,y=new AA(["payload","ctx"],{shape:h,inst:e,memo:i,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],O=typeof I=="symbol"?`syms[${v.indexOf(I)}]`:GI(I),k=`${O} 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(O)};`),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(i?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const I of f.allKeys){if(I==="__proto__")continue;const N=x[I],O=typeof I=="symbol"?`syms[${v.indexOf(I)}]`:GI(I),k=`${O} 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(O)};`),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,O)} @@ -607,13 +607,13 @@ ${a.join(` newResult[${O}] = ${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)=>{Ht.init(e,t),Rt(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),Rt(e,"optout",r=>r.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Rt(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)))}),Rt(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;Rt(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)=>{Ht.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)=>{Ht.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)=>{Ht.init(e,t);const a=su(t.entries),r=new Set(a);e._zod.values=r,Rt(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)=>{Ht.init(e,t);const a=new Set(t.values);e._zod.values=a,Rt(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;Ht.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)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Rt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),Rt(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),Rt(e,"values",a=>a.def.innerType._zod.values),Rt(e,"pattern",a=>a.def.innerType._zod.pattern),e._zod.parse=(a,r)=>t.innerType._zod.run(a,r)}),A_=le("$ZodNullable",(e,t)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin),Rt(e,"optout",a=>a.def.innerType._zod.optout),Rt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)}|null)$`):void 0}),Rt(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)=>{Ht.init(e,t),e._zod.optin="defaulted",Rt(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)=>{Ht.init(e,t),e._zod.optin="defaulted",Rt(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)=>{Ht.init(e,t),Rt(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)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Rt(e,"optout",a=>a.def.innerType._zod.optout),Rt(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)=>{Ht.init(e,t),Rt(e,"values",a=>a.def.in._zod.values),Rt(e,"optin",a=>a.def.in._zod.optin),Rt(e,"optout",a=>a.def.out._zod.optout),Rt(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)=>{Ht.init(e,t),Rt(e,"propValues",a=>a.def.innerType._zod.propValues),Rt(e,"values",a=>a.def.innerType._zod.values),Rt(e,"optin",a=>{var r,o;return(o=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:o.optin}),Rt(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)=>{Ht.init(e,t),KI(e._zod,"innerType",()=>{const a=t;return a._cachedInner||(a._cachedInner=t.getter()),a._cachedInner}),Rt(e,"pattern",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.pattern}),Rt(e,"propValues",a=>{var r,o;return(o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.propValues}),Rt(e,"optin",a=>{var r,o;return((o=(r=a.innerType)==null?void 0:r._zod)==null?void 0:o.optin)??void 0}),Rt(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),Ht.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",...He(t)})}function wb(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...He(t)})}function Y_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...He(t)})}function G_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...He(t)})}function Q_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...He(t)})}function X_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...He(t)})}function eP(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...He(t)})}function kb(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...He(t)})}function tP(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...He(t)})}function nP(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...He(t)})}function aP(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...He(t)})}function rP(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...He(t)})}function oP(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...He(t)})}function iP(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...He(t)})}function sP(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...He(t)})}function lP(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...He(t)})}function cP(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...He(t)})}function uP(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...He(t)})}function dP(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...He(t)})}function pP(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...He(t)})}function mP(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...He(t)})}function hP(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...He(t)})}function fP(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...He(t)})}function xb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...He(t)})}function Sb(e,t){return new e({type:"string",format:"date",check:"string_format",...He(t)})}function gP(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...He(t)})}function vP(e,t){return new e({type:"string",format:"duration",check:"string_format",...He(t)})}function bP(e,t){return new e({type:"number",checks:[],...He(t)})}function yP(e,t){return new e({type:"number",coerce:!0,checks:[],...He(t)})}function EP(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...He(t)})}function wP(e,t){return new e({type:"boolean",...He(t)})}function kP(e,t){return new e({type:"undefined",...He(t)})}function xP(e,t){return new e({type:"null",...He(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",...He(t)})}function Jh(e,t){return new rb({check:"less_than",...He(t),value:e,inclusive:!1})}function vc(e,t){return new rb({check:"less_than",...He(t),value:e,inclusive:!0})}function Kh(e,t){return new ob({check:"greater_than",...He(t),value:e,inclusive:!1})}function bc(e,t){return new ob({check:"greater_than",...He(t),value:e,inclusive:!0})}function Yh(e,t){return new bA({check:"multiple_of",...He(t),value:e})}function Cb(e,t){return new EA({check:"max_length",...He(t),maximum:e})}function Hs(e,t){return new wA({check:"min_length",...He(t),minimum:e})}function Nb(e,t){return new kA({check:"length_equals",...He(t),length:e})}function RP(e,t){return new xA({check:"string_format",format:"regex",...He(t),pattern:e})}function TP(e){return new SA({check:"string_format",format:"lowercase",...He(e)})}function IP(e){return new CA({check:"string_format",format:"uppercase",...He(e)})}function AP(e,t){return new NA({check:"string_format",format:"includes",...He(t),includes:e})}function _P(e,t){return new RA({check:"string_format",format:"starts_with",...He(t),prefix:e})}function PP(e,t){return new TA({check:"string_format",format:"ends_with",...He(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,...He(a)})}function qP(e,t,a){return new e({type:"custom",check:"custom",fn:t,...He(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",...He(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 Rn(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 Bt(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),Bt(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=ko,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=o(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 o of e)if(o.issues.length===0)return t.value=o.value,t;const i=e.filter(o=>!er(o));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:a,errors:e.map(o=>o.issues.map(s=>br(s,r,Ka())))}),t)}const gb=le("$ZodUnion",(e,t)=>{Ht.init(e,t),Rt(e,"optin",r=>r.def.options.some(i=>i._zod.optin==="defaulted")?"defaulted":r.def.options.some(i=>i._zod.optin!==void 0)?"optional":void 0),Rt(e,"optout",r=>r.def.options.some(i=>i._zod.optout==="optional")?"optional":void 0),Rt(e,"values",r=>{if(r.def.options.every(i=>i._zod.values))return new Set(r.def.options.flatMap(i=>Array.from(i._zod.values)))}),Rt(e,"pattern",r=>{if(r.def.options.every(i=>i._zod.pattern)){const i=r.def.options.map(o=>o._zod.pattern);return new RegExp(`^(${i.map(o=>vd(o.source)).join("|")})$`)}});const a=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(a)return a(r,i);let o=!1;const s=[];for(const l of t.options){const c=l._zod.run({value:r.value,issues:[]},i);if(c instanceof Promise)s.push(c),o=!0;else{if(c.issues.length===0)return c;s.push(c)}}return o?Promise.all(s).then(l=>Fh(l,r,e,i)):Fh(s,r,e,i)}});function k_(e){var a;const t=new Map;for(const r of e.options){const i=(a=r._zod.propValues)==null?void 0:a[e.discriminator];if(!i||i.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const o of i)if(t.has(o)){if(o!==void 0)throw new Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}const x_=le("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,gb.init(e,t);const a=e._zod.parse;Rt(e,"propValues",i=>{var l,c;const o={};let s=0;for(const u of i.def.options){const d=u._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${i.def.options.indexOf(u)}"`);(l=d[i.def.discriminator])!=null&&l.has(void 0)&&s++;for(const[p,m]of Object.entries(d)){Object.prototype.hasOwnProperty.call(o,p)||ja(o,p,new Set);for(const h of m)o[p].add(h)}}return!i.def.unionFallback&&s>1&&((c=o[i.def.discriminator])==null||c.delete(void 0)),o}),t.options.forEach((i,o)=>{const s=bd(i._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,t.discriminator))throw new Error(`Invalid discriminated union option at index "${o}"`)});const r=ml(()=>k_(t));e._zod.parse=(i,o)=>{const s=i.value;if(!ko(s))return i.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),i;const l=s==null?void 0:s[t.discriminator],c=r.value.get(l);return c&&(l!==void 0||o.direction!=="backward")?c._zod.run(i,o):t.unionFallback||o.direction==="backward"?a(i,o):(i.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}),i)}}),S_=le("$ZodIntersection",(e,t)=>{Ht.init(e,t),e._zod.parse=(a,r)=>{const i=a.value,o=t.left._zod.run({value:i,issues:[]},r),s=t.right._zod.run({value:i,issues:[]},r);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([c,u])=>qh(a,c,u)):qh(a,o,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(vi(e)&&vi(t)){const a=Object.keys(t),r=Object.keys(e).filter(o=>a.indexOf(o)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,"__proto__")&&delete i.__proto__;for(const o of r){if(o==="__proto__")continue;const s=uu(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};i[o]=s.data}return{valid:!0,data:i}}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))i??(i=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]);o.has(f)||o.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=i?l.filter(d=>i.keys.includes(d)):[];u.length&&e.issues.push({...i,keys:u});for(const d of l)!u.includes(d)&&o.has(d)&&e.issues.push(o.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)=>{Ht.init(e,t);const a=qa.memoizer;a==null||a.attach(e),e._zod.parse=(r,i)=>{const o=r.value;if(!vi(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;const s=[],l=t.keyType._zod.values;if(l&&!t.partial){r.value=a?a.alloc(e,r,{},i):{};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:[]},i);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,i,Ka())),input:d,path:[d],inst:e});continue}const m=p.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:o[d],issues:[]},i);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...ti(d,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...ti(d,h.issues)),r.value[m]=h.value)}let u;for(const d in o)if(!c.has(d))if(t.mode==="loose"){if(d==="__proto__")continue;r.value[d]=o[d]}else u=u??[],u.push(d);u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:u,continue:!0})}else{r.value=a?a.alloc(e,r,{},i):{};let c;for(const u of Reflect.ownKeys(o)){if(u==="__proto__"||!Object.prototype.propertyIsEnumerable.call(o,u))continue;let d=t.keyType._zod.run({value:u,issues:[]},i);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:[]},i);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]=o[u]:l?(c=c??[],c.push(u)):r.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(f=>br(f,i,Ka())),input:u,path:[u],inst:e});continue}const m=d.value;if(m==="__proto__")continue;const h=t.valueType._zod.run({value:o[u],issues:[]},i);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&r.issues.push(...ti(u,f.issues)),r.value[m]=f.value})):(h.issues.length&&r.issues.push(...ti(u,h.issues)),r.value[m]=h.value)}c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c,continue:!0})}return s.length?Promise.all(s).then(()=>r):r}}),N_=le("$ZodEnum",(e,t)=>{Ht.init(e,t);const a=su(t.entries),r=new Set(a);e._zod.values=r,Rt(e,"pattern",i=>{const o=su(i.def.entries).filter(s=>e2.has(typeof s));return new RegExp(o.length?`^(${o.map(s=>bi(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(i,o)=>{const s=i.value;return r.has(s)||i.issues.push({code:"invalid_value",values:a,input:s,inst:e}),i}}),R_=le("$ZodLiteral",(e,t)=>{Ht.init(e,t);const a=new Set(t.values);e._zod.values=a,Rt(e,"pattern",r=>{const i=r.def.values;return new RegExp(i.length?`^(${i.map(o=>typeof o=="string"?bi(o):o?bi(o.toString()):String(o)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,i)=>{const o=r.value;return a.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}}),T_=le("$ZodTransform",(e,t)=>{var a;Ht.init(e,t),e._zod.optin="optional",(a=qa.memoizer)==null||a.guard(e),e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new tb(e.constructor.name);const o=t.transform(r.value,r);if(i.async)return(o instanceof Promise?o:Promise.resolve(o)).then(l=>(r.value=l,r));if(o instanceof Promise)throw new Or;return r.value=o,r}});function jh(e,t){return e.value=t.issues.length?void 0:t.value,e}const vb=le("$ZodOptional",(e,t)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Rt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),Rt(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 i=t.innerType._zod.run({value:a.value,issues:[]},r);return i instanceof Promise?i.then(o=>jh(a,o)):jh(a,i)}return t.innerType._zod.run(a,r)}}),I_=le("$ZodExactOptional",(e,t)=>{vb.init(e,t),Rt(e,"values",a=>a.def.innerType._zod.values),Rt(e,"pattern",a=>a.def.innerType._zod.pattern),e._zod.parse=(a,r)=>t.innerType._zod.run(a,r)}),A_=le("$ZodNullable",(e,t)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin),Rt(e,"optout",a=>a.def.innerType._zod.optout),Rt(e,"pattern",a=>{const r=a.def.innerType._zod.pattern;return r?new RegExp(`^(${vd(r.source)}|null)$`):void 0}),Rt(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)=>{Ht.init(e,t),e._zod.optin="defaulted",Rt(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 i=t.innerType._zod.run(a,r);return i instanceof Promise?i.then(o=>Uh(o,t)):Uh(i,t)}});function Uh(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const P_=le("$ZodPrefault",(e,t)=>{Ht.init(e,t),e._zod.optin="defaulted",Rt(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)=>{Ht.init(e,t),Rt(e,"values",a=>{const r=a.def.innerType._zod.values;return r?new Set([...r].filter(i=>i!==void 0)):void 0}),e._zod.parse=(a,r)=>{const i=t.innerType._zod.run(a,r);return i instanceof Promise?i.then(o=>$h(o,e)):$h(i,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(i=>br(i,r,Ka()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const M_=le("$ZodCatch",(e,t)=>{Ht.init(e,t),Rt(e,"optin",a=>a.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Rt(e,"optout",a=>a.def.innerType._zod.optout),Rt(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 i=t.innerType._zod.run({value:a.value,issues:[]},r);return i instanceof Promise?i.then(o=>Bh(a,o,t,r)):Bh(a,i,t,r)}}),bb=le("$ZodPipe",(e,t)=>{Ht.init(e,t),Rt(e,"values",a=>a.def.in._zod.values),Rt(e,"optin",a=>a.def.in._zod.optin),Rt(e,"optout",a=>a.def.out._zod.optout),Rt(e,"propValues",a=>a.def.in._zod.propValues),e._zod.parse=(a,r)=>{if(r.direction==="backward"){const o=t.out._zod.run(a,r);return o instanceof Promise?o.then(s=>es(s,t.in,r)):es(o,t.in,r)}const i=t.in._zod.run(a,r);return i instanceof Promise?i.then(o=>es(o,t.out,r)):es(i,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)=>{Ht.init(e,t),Rt(e,"propValues",a=>a.def.innerType._zod.propValues),Rt(e,"values",a=>a.def.innerType._zod.values),Rt(e,"optin",a=>{var r,i;return(i=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:i.optin}),Rt(e,"optout",a=>{var r,i;return(i=(r=a.def.innerType)==null?void 0:r._zod)==null?void 0:i.optout}),e._zod.parse=(a,r)=>{if(r.direction==="backward")return t.innerType._zod.run(a,r);const i=t.innerType._zod.run(a,r);return i instanceof Promise?i.then(Hh):Hh(i)}});function Hh(e){return e.memo||(e.value=Object.freeze(e.value)),e}const D_=le("$ZodLazy",(e,t)=>{Ht.init(e,t),KI(e._zod,"innerType",()=>{const a=t;return a._cachedInner||(a._cachedInner=t.getter()),a._cachedInner}),Rt(e,"pattern",a=>{var r,i;return(i=(r=a.innerType)==null?void 0:r._zod)==null?void 0:i.pattern}),Rt(e,"propValues",a=>{var r,i;return(i=(r=a.innerType)==null?void 0:r._zod)==null?void 0:i.propValues}),Rt(e,"optin",a=>{var r,i;return((i=(r=a.innerType)==null?void 0:r._zod)==null?void 0:i.optin)??void 0}),Rt(e,"optout",a=>{var r,i;return((i=(r=a.innerType)==null?void 0:r._zod)==null?void 0:i.optout)??void 0}),e._zod.parse=(a,r)=>e._zod.innerType._zod.run(a,r)}),F_=le("$ZodCustom",(e,t)=>{oa.init(e,t),Ht.init(e,t),e._zod.parse=(a,r)=>a,e._zod.check=a=>{const r=a.value,i=t.fn(r);if(i instanceof Promise)return i.then(o=>Vh(o,a,r,e));Vh(i,a,r,e)}});function Vh(e,t,a,r){if(!e){const i={code:"custom",input:a,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(i.params=r._zod.def.params),t.issues.push(xo(i))}}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,io=0,Ss=1,ho=2;function Cs(e,t,a){const r=Eb.get(e);if(r!==void 0)return r?ho:io;if(t.has(e))return ho;t.add(e);let i=io;const o=d=>{if(i!==ho&&(d!=null&&d._zod)){const p=Cs(d,t);p>i&&(i=p)}},s=(d,p)=>{var h;let m=io;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):io;y>m&&(m=y)}return m},l=d=>{d>i&&(i=d)},c=e._zod.def;switch(c.type){case"object":{const d=bd(c);l(d?s(d,!0):Ss),o(c.catchall);break}case"properties":l(s(c.shape,!1));break;case"array":o(c.element);break;case"tuple":for(const d of c.items)o(d);o(c.rest);break;case"record":case"map":o(c.keyType),o(c.valueType);break;case"set":o(c.valueType);break;case"union":for(const d of c.options)o(d);break;case"intersection":o(c.left),o(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":o(c.innerType);break;case"pipe":o(c.in),o(c.out);break;case"function":o(c.input),o(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)o(m);else if(Array.isArray(m))for(const h of m)o(h)}}}return t.delete(e),j_(e,i)}function j_(e,t){return t!==Ss&&Eb.set(e,t===ho),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 i={value:a,issues:null};return r.set(t.value,i),ns.push(i),a},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const a=e._zod.parse,r=(i,o)=>{if(o.direction!=="backward"&&H_(o,i.value))throw new q_;return a(i,o)};e._zod.parse=r,e._zod.run===a&&(e._zod.run=r)})},attach(e){var t;let a,r=!1,i,o;(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===io)return e._zod.parse=s,e._zod.run===l&&(e._zod.run=s),s(c,u);E===ho||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;i===u?m=o:(m=U_(p,e),i=u,o=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(o){return e[o]??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 i(o,s){return o==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):r[o]??o}return o=>{switch(o.code){case"invalid_type":{const s=i(o.expected),l=d2(o.input),c=i(l,o.input);return`Invalid input: expected ${s}, received ${c}`}case"invalid_value":return o.values.length===1?`Invalid input: expected ${Yv(o.values[0])}`:`Invalid option: expected one of ${Th(o.values,"|")}`;case"too_big":{const s=o.exact?"exactly ":o.inclusive?"<=":"<",l=t(o.origin);return l?`Too big: expected ${o.origin??"value"} to have ${s}${o.maximum.toString()} ${l.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${s}${o.maximum.toString()}`}case"too_small":{const s=o.exact?"exactly ":o.inclusive?">=":">",l=t(o.origin);return l?`Too small: expected ${o.origin} to have ${s}${o.minimum.toString()} ${l.unit}`:`Too small: expected ${o.origin} to be ${s}${o.minimum.toString()}`}case"invalid_format":{const s=o;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]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${Th(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return o.options&&Array.isArray(o.options)&&o.options.length>0?`Invalid discriminator value. Expected ${o.options.map(l=>`'${l}'`).join(" | ")}`:o.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${o.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 i={...r,...this._map.get(t)};return Object.keys(i).length?i: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 oo=globalThis.__zod_globalRegistry;function K_(e,t){return new e({type:"string",...He(t)})}function wb(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...He(t)})}function Y_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...He(t)})}function G_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...He(t)})}function Q_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...He(t)})}function X_(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...He(t)})}function eP(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...He(t)})}function kb(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...He(t)})}function tP(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...He(t)})}function nP(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...He(t)})}function aP(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...He(t)})}function rP(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...He(t)})}function iP(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...He(t)})}function oP(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...He(t)})}function sP(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...He(t)})}function lP(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...He(t)})}function cP(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...He(t)})}function uP(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...He(t)})}function dP(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...He(t)})}function pP(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...He(t)})}function mP(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...He(t)})}function hP(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...He(t)})}function fP(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...He(t)})}function xb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...He(t)})}function Sb(e,t){return new e({type:"string",format:"date",check:"string_format",...He(t)})}function gP(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...He(t)})}function vP(e,t){return new e({type:"string",format:"duration",check:"string_format",...He(t)})}function bP(e,t){return new e({type:"number",checks:[],...He(t)})}function yP(e,t){return new e({type:"number",coerce:!0,checks:[],...He(t)})}function EP(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...He(t)})}function wP(e,t){return new e({type:"boolean",...He(t)})}function kP(e,t){return new e({type:"undefined",...He(t)})}function xP(e,t){return new e({type:"null",...He(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",...He(t)})}function Jh(e,t){return new rb({check:"less_than",...He(t),value:e,inclusive:!1})}function vc(e,t){return new rb({check:"less_than",...He(t),value:e,inclusive:!0})}function Kh(e,t){return new ib({check:"greater_than",...He(t),value:e,inclusive:!1})}function bc(e,t){return new ib({check:"greater_than",...He(t),value:e,inclusive:!0})}function Yh(e,t){return new bA({check:"multiple_of",...He(t),value:e})}function Cb(e,t){return new EA({check:"max_length",...He(t),maximum:e})}function Hs(e,t){return new wA({check:"min_length",...He(t),minimum:e})}function Nb(e,t){return new kA({check:"length_equals",...He(t),length:e})}function RP(e,t){return new xA({check:"string_format",format:"regex",...He(t),pattern:e})}function TP(e){return new SA({check:"string_format",format:"lowercase",...He(e)})}function IP(e){return new CA({check:"string_format",format:"uppercase",...He(e)})}function AP(e,t){return new NA({check:"string_format",format:"includes",...He(t),includes:e})}function _P(e,t){return new RA({check:"string_format",format:"starts_with",...He(t),prefix:e})}function PP(e,t){return new TA({check:"string_format",format:"ends_with",...He(t),suffix:e})}function Ii(e){return new IA({check:"overwrite",tx:e})}function OP(e){return Ii(t=>t.normalize(e))}function MP(){return Ii(e=>e.trim())}function zP(){return Ii(e=>e.toLowerCase())}function LP(){return Ii(e=>e.toUpperCase())}function DP(){return Ii(e=>QI(e))}function FP(e,t,a){return new e({type:"array",element:t,...He(a)})}function qP(e,t,a){return new e({type:"custom",check:"custom",fn:t,...He(a)})}function jP(e,t){const a=UP(r=>(r.addIssue=i=>{if(typeof i=="string")r.issues.push(xo(i,r.value,a._zod.def));else{const o=i;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),"input"in o||(o.input=r.value),o.inst??(o.inst=a),o.continue??(o.continue=!a._zod.def.abort),r.issues.push(xo(o))}},e(r.value,r)),t);return a}function UP(e,t){const a=new oa({check:"custom",...He(t)});return a._zod.check=e,a}function fo(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)??oo,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 Rn(e,t,a,r,i){const o=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(o==="any")return!1;if(o===void 0||o==="throw")throw new Error(i);return Object.assign(a,o),!0}function Bt(e,t,a={path:[],schemaPath:[]}){var d,p;var r;const i=e._zod.def,o=t.seen.get(e);if(o)return o.count++,a.schemaPath.includes(e)&&(o.cycle=a.path),o.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[i.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);v(e,t,f,m)}const h=e._zod.parent;h&&(s.ref||(s.ref=h),Bt(h,t,m),t.seen.get(h).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&fo(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 i=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)}},o=d=>{if(d[1].schema.$ref)return;const p=d[1],{ref:m,defId:h}=i(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 Bt(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 Bt(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)):Rn(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)=>{Rn(e,t,a,r,"BigInt cannot be represented in JSON Schema")},ZP=(e,t,a,r)=>{Rn(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)=>{Rn(e,t,a,r,"Undefined cannot be represented in JSON Schema")},JP=(e,t,a,r)=>{Rn(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)=>{Rn(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(Rn(e,t,a,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(Rn(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)=>{Rn(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)=>{Rn(e,t,a,r,"Custom types cannot be represented in JSON Schema")},eO=(e,t,a,r)=>{Rn(e,t,a,r,"Function types cannot be represented in JSON Schema")},Vb=(e,t,a,r)=>{Rn(e,t,a,r,"Transforms cannot be represented in JSON Schema")},tO=(e,t,a,r)=>{Rn(e,t,a,r,"Map cannot be represented in JSON Schema")},nO=(e,t,a,r)=>{Rn(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=Bt(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&&Rn(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,Bt(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=Bt(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&&Rn(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])&&Rn(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,Bt(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)=>Bt(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=Bt(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=Bt(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)=>Bt(v,t,{...r,path:[...r.path,s,y]})),u=i.rest?Bt(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=Bt(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=Bt(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=Bt(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=Bt(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;Bt(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?(Rn(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;Bt(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;Bt(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;Bt(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{Rn(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;Bt(s,t,r);const l=t.seen.get(e);l.ref=s},ry=(e,t,a,r)=>{const o=e._zod.def;Bt(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;Bt(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ad=(e,t,a,r)=>{const o=e._zod.def;Bt(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},oy=(e,t,a,r)=>{const o=e._zod.innerType;Bt(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;Bt(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 Bt(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 Vt=le("ZodType",(e,t)=>(yO(),Ht.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 ae(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),Vt.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 an=le("ZodStringFormat",(e,t)=>{Xt.init(e,t),ly.init(e,t)}),cy=le("ZodISODateTime",(e,t)=>{KA.init(e,t),an.init(e,t)}),uy=le("ZodISODate",(e,t)=>{YA.init(e,t),an.init(e,t)}),wO=le("ZodISOTime",(e,t)=>{GA.init(e,t),an.init(e,t)}),kO=le("ZodISODuration",(e,t)=>{QA.init(e,t),an.init(e,t)}),dy=le("ZodEmail",(e,t)=>{zA.init(e,t),an.init(e,t)});function xO(e){return wb(dy,e)}const SO=le("ZodGUID",(e,t)=>{OA.init(e,t),an.init(e,t)}),rs=le("ZodUUID",(e,t)=>{MA.init(e,t),an.init(e,t)}),py=le("ZodURL",(e,t)=>{UA.init(e,t),an.init(e,t)});function my(e){return kb(py,e)}const CO=le("ZodEmoji",(e,t)=>{$A.init(e,t),an.init(e,t)}),NO=le("ZodNanoID",(e,t)=>{BA.init(e,t),an.init(e,t)}),RO=le("ZodCUID",(e,t)=>{HA.init(e,t),an.init(e,t)}),TO=le("ZodCUID2",(e,t)=>{VA.init(e,t),an.init(e,t)}),IO=le("ZodULID",(e,t)=>{WA.init(e,t),an.init(e,t)}),AO=le("ZodXID",(e,t)=>{ZA.init(e,t),an.init(e,t)}),_O=le("ZodKSUID",(e,t)=>{JA.init(e,t),an.init(e,t)}),PO=le("ZodIPv4",(e,t)=>{XA.init(e,t),an.init(e,t)}),OO=le("ZodIPv6",(e,t)=>{t_.init(e,t),an.init(e,t)}),MO=le("ZodCIDRv4",(e,t)=>{n_.init(e,t),an.init(e,t)}),zO=le("ZodCIDRv6",(e,t)=>{r_.init(e,t),an.init(e,t)}),LO=le("ZodBase64",(e,t)=>{o_.init(e,t),an.init(e,t)}),DO=le("ZodBase64URL",(e,t)=>{s_.init(e,t),an.init(e,t)}),FO=le("ZodE164",(e,t)=>{l_.init(e,t),an.init(e,t)}),qO=le("ZodJWT",(e,t)=>{u_.init(e,t),an.init(e,t)}),_d=le("ZodNumber",(e,t)=>{mb.init(e,t),Vt.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),Vt.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),Vt.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),Vt.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),Vt.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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,o)=>Ub()});function Be(){return CP(VO)}const WO=le("ZodNever",(e,t)=>{v_.init(e,t),Vt.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),Vt.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 ae(e,t){return FP(ZO,e,t)}const hy=le("ZodObject",(e,t)=>{vl(),w_.init(e,t),Vt.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:Be()}))},loose(){return this.clone(va(this._zod.def,{catchall:Be()}))},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??{},...He(t)};return new hy(a)}function et(e,t){return new hy({type:"object",shape:e,catchall:Be(),...He(t)})}const fy=le("ZodUnion",(e,t)=>{gb.init(e,t),Vt.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,...He(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,...He(a)})}const KO=le("ZodIntersection",(e,t)=>{S_.init(e,t),Vt.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),Vt.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,...He(t)}):new lf({type:"record",keyType:e,valueType:t,...He(a)})}const vu=le("ZodEnum",(e,t)=>{N_.init(e,t),Vt.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:[],...He(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:[],...He(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,...He(t)})}const YO=le("ZodLiteral",(e,t)=>{R_.init(e,t),Vt.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],...He(t)})}const GO=le("ZodTransform",(e,t)=>{vl(),T_.init(e,t),Vt.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),Vt.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),Vt.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),Vt.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),Vt.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),Vt.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),Vt.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,...He(t)})}const oM=le("ZodCatch",(e,t)=>{M_.init(e,t),Vt.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),Vt.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),Vt.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),Vt.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),Vt.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),ae(xo)])),mn=Re(C(),xo),wM=ae(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:Be().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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),_o=$({icons:ae(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:ae(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(),Be()).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:ae(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:ae(Yd)}),Uy=Oo.extend({method:J("resources/templates/list")}),$y=Mo.extend({resourceTemplates:ae(Fy)}),Cl=Jn.extend({uri:C()}),By=Cl,Hy=fn.extend({method:J("resources/read"),params:By}),Vy=gn.extend({contents:ae(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:ae(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(ae(oE)),_meta:Je(et({}))}),sE=Oo.extend({method:J("prompts/list")}),lE=Mo.extend({prompts:ae(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(),Be()).optional()}),Rl=$({type:J("image"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),Be()).optional()}),Tl=$({type:J("audio"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),Be()).optional()}),dE=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),Qd=$({type:J("resource"),resource:Te([Zd,Kd]),annotations:Zr.optional(),_meta:Re(C(),Be()).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:ae(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:ae(C()).optional()}).catchall(Be()),outputSchema:et({$schema:C().optional()}).optional(),annotations:fE.optional(),execution:gE.optional(),_meta:Re(C(),Be()).optional()}),vE=Oo.extend({method:J("tools/list")}),bE=Mo.extend({tools:ae(Il)}),Al=gn.extend({content:ae(Lo).default([]),structuredContent:Be().optional(),isError:Ae().optional()}),CM=Al.or(gn.extend({toolResult:Be()})),yE=Hi.extend({name:C(),arguments:Re(C(),Be()).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:Be()}),tp=la.extend({method:J("notifications/message"),params:SE}),CE=$({name:C().optional()}),NE=$({hints:ae(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:ae(Lo),structuredContent:Be().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),IE=Ks("type",[Nl,Rl,Tl]),Ni=Ks("type",[Nl,Rl,Tl,dE,TE]),AE=$({role:zo,content:Te([Ni,ae(Ni)]),_meta:Re(C(),Be()).optional()}),_E=Hi.extend({messages:ae(AE),modelPreferences:NE.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:mn.optional(),tools:ae(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,ae(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:ae(C()),default:C().optional()}),rp=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),op=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(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:ae(C())}),default:ae(C()).optional()}),sp=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(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:ae(C()).optional()}).catchall(Be())}),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(),ae(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:ae(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),KE=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),YE=fn.extend({method:J("roots/list"),params:Jn.optional()}),GE=gn.extend({roots:ae(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:ae(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:ae(jn).optional(),jwks_uri:C().url().optional(),scopes_supported:ae(C()).optional(),bearer_methods_supported:ae(C()).optional(),resource_signing_alg_values_supported:ae(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:ae(C()).optional(),dpop_signing_alg_values_supported:ae(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:ae(C()).optional(),response_types_supported:ae(C()),response_modes_supported:ae(C()).optional(),grant_types_supported:ae(C()).optional(),token_endpoint_auth_methods_supported:ae(C()).optional(),token_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),service_documentation:jn.optional(),revocation_endpoint:jn.optional(),revocation_endpoint_auth_methods_supported:ae(C()).optional(),revocation_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),introspection_endpoint:C().optional(),introspection_endpoint_auth_methods_supported:ae(C()).optional(),introspection_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),code_challenge_methods_supported:ae(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:ae(C()).optional(),response_types_supported:ae(C()),response_modes_supported:ae(C()).optional(),grant_types_supported:ae(C()).optional(),acr_values_supported:ae(C()).optional(),subject_types_supported:ae(C()),id_token_signing_alg_values_supported:ae(C()),id_token_encryption_alg_values_supported:ae(C()).optional(),id_token_encryption_enc_values_supported:ae(C()).optional(),userinfo_signing_alg_values_supported:ae(C()).optional(),userinfo_encryption_alg_values_supported:ae(C()).optional(),userinfo_encryption_enc_values_supported:ae(C()).optional(),request_object_signing_alg_values_supported:ae(C()).optional(),request_object_encryption_alg_values_supported:ae(C()).optional(),request_object_encryption_enc_values_supported:ae(C()).optional(),token_endpoint_auth_methods_supported:ae(C()).optional(),token_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),display_values_supported:ae(C()).optional(),claim_types_supported:ae(C()).optional(),claims_supported:ae(C()).optional(),service_documentation:C().optional(),claims_locales_supported:ae(C()).optional(),ui_locales_supported:ae(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:ae(jn),token_endpoint_auth_method:C().optional(),grant_types:ae(C()).optional(),response_types:ae(C()).optional(),application_type:C().optional(),client_name:C().optional(),client_uri:jn.optional(),logo_uri:df,scope:C().optional(),contacts:ae(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),ae(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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),b=$({icons:ae(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(ee=>ee&&typeof ee=="object"&&!Array.isArray(ee)&&Object.keys(ee).length===0?{form:{}}:ee,$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()}),O=$({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:O,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()}),te=m.extend({nextCursor:r.optional()}),Z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),Be()).optional()}),D=Z.extend({text:C()}),G=C().refine(ee=>{try{return atob(ee),!0}catch{return!1}},{message:"Invalid Base64 string"}),U=Z.extend({blob:G}),K=dt(["user","assistant"]),oe=$({audience:ae(K).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),be=$({...x.shape,...b.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:oe.optional(),_meta:Je(et({}))}),pe=$({...x.shape,...b.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:oe.optional(),_meta:Je(et({}))}),_e=_.extend({method:J("resources/list")}),Me=te.extend({resources:ae(be)}),Ke=_.extend({method:J("resources/templates/list")}),ue=te.extend({resourceTemplates:ae(pe)}),ve=l.extend({uri:C()}),M=ve,W=u.extend({method:J("resources/read"),params:M}),re=m.extend({contents:ae(Te([D,U]))}),ze=p.extend({method:J("notifications/resources/list_changed"),params:d.optional()}),Le=ve,ge=u.extend({method:J("resources/subscribe"),params:Le}),lt=ve,bt=u.extend({method:J("resources/unsubscribe"),params:lt}),Wt=d.extend({uri:C()}),At=p.extend({method:J("notifications/resources/updated"),params:Wt}),Zt=$({name:C(),description:Je(C()),required:Je(Ae())}),ie=$({...x.shape,...b.shape,description:Je(C()),arguments:Je(ae(Zt)),_meta:Je(et({}))}),he=_.extend({method:J("prompts/list")}),Ne=te.extend({prompts:ae(ie)}),De=l.extend({name:C(),arguments:Re(C(),C()).optional()}),Ge=u.extend({method:J("prompts/get"),params:De}),ft=$({type:J("text"),text:C(),annotations:oe.optional(),_meta:Re(C(),Be()).optional()}),yt=$({type:J("image"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),Be()).optional()}),gt=$({type:J("audio"),data:G,mimeType:C(),annotations:oe.optional(),_meta:Re(C(),Be()).optional()}),Se=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),X=$({type:J("resource"),resource:Te([D,U]),annotations:oe.optional(),_meta:Re(C(),Be()).optional()}),Ce=be.extend({type:J("resource_link")}),Fe=Te([ft,yt,gt,Ce,X]),Ve=$({role:K,content:Fe}),tt=m.extend({description:C().optional(),messages:ae(Ve)}),wt=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()}),at=$({...x.shape,...b.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:ae(C()).optional()}).catchall(Be()),outputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:ae(C()).optional()}).catchall(Be()).optional(),annotations:se.optional(),execution:Qe.optional(),_meta:Re(C(),Be()).optional()}),Et=_.extend({method:J("tools/list")}),ut=te.extend({tools:ae(at)}),Mt=m.extend({content:ae(Fe),structuredContent:Re(C(),Be()).optional(),isError:Ae().optional()}),Ct=c.extend({name:C(),arguments:Re(C(),Be()).optional()}),qt=u.extend({method:J("tools/call"),params:Ct}),ot=p.extend({method:J("notifications/tools/list_changed"),params:d.optional()}),it=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),We=l.extend({level:it}),Ot=u.extend({method:J("logging/setLevel"),params:We}),en=d.extend({level:it,logger:C().optional(),data:Be()}),vn=p.extend({method:J("notifications/message"),params:en}),Tn=$({name:C().optional()}),bn=$({hints:ae(Tn).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:ae(Fe),structuredContent:$({}).loose().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),ye=Ks("type",[ft,yt,gt]),Ue=Ks("type",[ft,yt,gt,Se,Kn]),vt=$({role:K,content:Te([Ue,ae(Ue)]),_meta:Re(C(),Be()).optional()}),Ze=c.extend({messages:ae(vt),modelPreferences:bn.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:t.optional(),tools:ae(at).optional(),toolChoice:Ln.optional()}),ct=u.extend({method:J("sampling/createMessage"),params:Ze}),Ee=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:K,content:ye}),Jt=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:K,content:Te([Ue,ae(Ue)])}),tn=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),on=$({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()}),yn=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),default:C().optional()}),ca=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),Sa=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(C()).optional(),default:C().optional()}),Dn=Te([yn,ca]),En=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:ae(C())}),default:ae(C()).optional()}),dn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(C()).optional()}),In=Te([En,dn]),rn=Te([Sa,Dn,In]),mt=Te([rn,tn,on,Q]),ht=c.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),mt),required:ae(C()).optional()}).catchall(Be())}),V=c.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),ke=Te([ht,V]),Xe=u.extend({method:J("elicitation/create"),params:ke}),Dt=d.extend({elicitationId:C()}),wn=p.extend({method:J("notifications/elicitation/complete"),params:Dt}),sn=m.extend({action:dt(["accept","decline","cancel"]),content:Ci(ee=>ee===null?void 0:ee,Re(C(),Te([C(),fe(),Ae(),ae(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()}),kn=u.extend({method:J("completion/complete"),params:ua}),Xn=m.extend({completion:et({values:ae(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),xn=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),da=u.extend({method:J("roots/list"),params:l.optional()}),ea=m.extend({roots:ae(xn)}),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())}),Sn=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=te.extend({tasks:ae(ta)}),j=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:O,InitializeRequestParamsSchema:k,InitializeRequestSchema:T,ServerCapabilitiesSchema:A,InitializeResultSchema:q,InitializedNotificationSchema:z,PingRequestSchema:F,ProgressSchema:H,ProgressNotificationParamsSchema:ne,ProgressNotificationSchema:B,PaginatedRequestParamsSchema:P,PaginatedRequestSchema:_,PaginatedResultSchema:te,ResourceContentsSchema:Z,TextResourceContentsSchema:D,BlobResourceContentsSchema:U,RoleSchema:K,AnnotationsSchema:oe,ResourceSchema:be,ResourceTemplateSchema:pe,ListResourcesRequestSchema:_e,ListResourcesResultSchema:Me,ListResourceTemplatesRequestSchema:Ke,ListResourceTemplatesResultSchema:ue,ResourceRequestParamsSchema:ve,ReadResourceRequestParamsSchema:M,ReadResourceRequestSchema:W,ReadResourceResultSchema:re,ResourceListChangedNotificationSchema:ze,SubscribeRequestParamsSchema:Le,SubscribeRequestSchema:ge,UnsubscribeRequestParamsSchema:lt,UnsubscribeRequestSchema:bt,ResourceUpdatedNotificationParamsSchema:Wt,ResourceUpdatedNotificationSchema:At,PromptArgumentSchema:Zt,PromptSchema:ie,ListPromptsRequestSchema:he,ListPromptsResultSchema:Ne,GetPromptRequestParamsSchema:De,GetPromptRequestSchema:Ge,TextContentSchema:ft,ImageContentSchema:yt,AudioContentSchema:gt,ToolUseContentSchema:Se,EmbeddedResourceSchema:X,ResourceLinkSchema:Ce,ContentBlockSchema:Fe,PromptMessageSchema:Ve,GetPromptResultSchema:tt,PromptListChangedNotificationSchema:wt,ToolAnnotationsSchema:se,ToolExecutionSchema:Qe,ToolSchema:at,ListToolsRequestSchema:Et,ListToolsResultSchema:ut,CallToolResultSchema:Mt,CallToolRequestParamsSchema:Ct,CallToolRequestSchema:qt,ToolListChangedNotificationSchema:ot,LoggingLevelSchema:it,SetLevelRequestParamsSchema:We,SetLevelRequestSchema:Ot,LoggingMessageNotificationParamsSchema:en,LoggingMessageNotificationSchema:vn,ModelHintSchema:Tn,ModelPreferencesSchema:bn,ToolChoiceSchema:Ln,ToolResultContentSchema:Kn,SamplingContentSchema:ye,SamplingMessageContentBlockSchema:Ue,SamplingMessageSchema:vt,CreateMessageRequestParamsSchema:Ze,CreateMessageRequestSchema:ct,CreateMessageResultSchema:Ee,CreateMessageResultWithToolsSchema:Jt,BooleanSchemaSchema:tn,StringSchemaSchema:on,NumberSchemaSchema:Q,UntitledSingleSelectEnumSchemaSchema:yn,TitledSingleSelectEnumSchemaSchema:ca,LegacyTitledEnumSchemaSchema:Sa,SingleSelectEnumSchemaSchema:Dn,UntitledMultiSelectEnumSchemaSchema:En,TitledMultiSelectEnumSchemaSchema:dn,MultiSelectEnumSchemaSchema:In,EnumSchemaSchema:rn,PrimitiveSchemaDefinitionSchema:mt,ElicitRequestFormParamsSchema:ht,ElicitRequestURLParamsSchema:V,ElicitRequestParamsSchema:ke,ElicitRequestSchema:Xe,ElicitationCompleteNotificationParamsSchema:Dt,ElicitationCompleteNotificationSchema:wn,ElicitResultSchema:sn,ResourceTemplateReferenceSchema:Ca,PromptReferenceSchema:Na,CompleteRequestParamsSchema:ua,CompleteRequestSchema:kn,CompleteResultSchema:Xn,RootSchema:xn,ListRootsRequestSchema:da,ListRootsResultSchema:ea,RootsListChangedNotificationSchema:Ga,TaskCreationParamsSchema:Qa,TaskStatusSchema:Xa,TaskSchema:ta,CreateTaskResultSchema:Sn,TaskStatusNotificationParamsSchema:or,TaskStatusNotificationSchema:pa,GetTaskRequestSchema:Ra,GetTaskResultSchema:ln,GetTaskPayloadRequestSchema:Yn,GetTaskPayloadResultSchema:Ua,ListTasksRequestSchema:cn,ListTasksResultSchema:me,CancelTaskRequestSchema:j,CancelTaskResultSchema:m.merge(ta),ClientRequestSchema:Te([F,T,kn,Ot,Ge,he,_e,Ke,W,ge,bt,qt,Et,Ra,Yn,cn,j]),ClientNotificationSchema:Te([y,B,z,Ga,pa]),ClientResultSchema:Te([f,Ee,Jt,sn,ea,ln,me,Sn]),ServerRequestSchema:Te([F,ct,Xe,da,Ra,Yn,cn,j]),ServerNotificationSchema:Te([y,B,vn,At,ze,ot,wt,pa,wn]),ServerResultSchema:Te([f,q,Xn,tt,Ne,Me,ue,re,Mt,ut,ln,me,Sn]),CallToolResultWireSchema:Be().superRefine((ee,de)=>{if(!(typeof ee!="object"||ee===null||Array.isArray(ee)||ee.content!==void 0)){for(const Oe of sw)if(Oe in ee){de.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),ae(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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),y=$({icons:ae(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()}),O=$({progress:fe(),total:Je(fe()),message:Je(C())}),k=$({...h.shape,...O.shape,progressToken:a}),T=f.extend({method:J("notifications/progress"),params:k}),A=h.extend({level:s,logger:C().optional(),data:Be()}),q=f.extend({method:J("notifications/message"),params:A}),z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),Be()).optional()}),F=z.extend({text:C()}),H=z.extend({blob:l}),ne=$({audience:ae(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()}),te=h.extend({uri:C()}),Z=f.extend({method:J("notifications/resources/updated"),params:te}),D=$({name:C(),description:Je(C()),required:Je(Ae())}),G=$({...E.shape,...y.shape,description:Je(C()),arguments:Je(ae(D)),_meta:Je(et({}))}),U=f.extend({method:J("notifications/prompts/list_changed"),params:h.optional()}),K=$({type:J("text"),text:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),oe=$({type:J("image"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),be=$({type:J("audio"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),pe=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),_e=$({type:J("resource"),resource:Te([F,H]),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),Me=B.extend({type:J("resource_link")}),Ke=Te([K,oe,be,Me,_e]),ue=$({role:i,content:Ke}),ve=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),M=f.extend({method:J("notifications/tools/list_changed"),params:h.optional()}),W=$({name:C().optional()}),re=$({hints:ae(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()}),Le=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),ge=$({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()}),lt=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),bt=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),default:C().optional()}),Wt=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),At=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(C()).optional(),default:C().optional()}),Zt=Te([bt,Wt]),ie=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:ae(C())}),default:ae(C()).optional()}),he=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(C()).optional()}),Ne=Te([ie,he]),De=Te([At,Zt,Ne]),Ge=Te([De,Le,ge,lt]),ft=m.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),Ge),required:ae(C()).optional()}).catchall(Be())}),yt=$({type:J("ref/resource"),uri:C()}),gt=$({type:J("ref/prompt"),name:C()}),Se=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),X=I.shape,Ce=$({experimental:X.experimental,sampling:X.sampling,elicitation:X.elicitation,roots:X.roots,extensions:X.extensions}),Fe=N.shape,Ve=$({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()}),wt=$({...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(),Be()).optional()}),se=$({type:J("tool_result"),toolUseId:C(),content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),Qe=Te([K,oe,be,pe,se]),at=$({role:i,content:Te([Qe,ae(Qe)]),_meta:Re(C(),Be()).optional()}),Et=C(),ut=et({[gi]:b.optional().catch(void 0)}),Mt=ut.optional();function Ct(me){return et({_meta:Mt,resultType:Et.default("complete"),...me})}const qt=Ct({}),ot=Ct({nextCursor:r.optional()}),it=Ct({content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional()}),We=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:ae(wt),nextCursor:r.optional()}),Ot=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:ae(G),nextCursor:r.optional()}),en=Ct({description:C().optional(),messages:ae(ue)}),vn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:ae(B),nextCursor:r.optional()}),Tn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:ae(P),nextCursor:r.optional()}),bn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:ae(Te([F,H]))}),Ln=Ct({completion:$({values:ae(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),Kn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"])}),ye=Ct({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:ae(C()),capabilities:Ve,instructions:C().optional()}),Ue=$({messages:ae(at),modelPreferences:re.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:t.optional(),tools:ae(wt).optional(),toolChoice:ze.optional()}),vt=$({method:J("sampling/createMessage"),params:Ue}),Ze=$({method:J("roots/list"),params:$({_meta:Re(C(),Be()).optional()}).optional()}),ct=$({...at.shape,model:C(),stopReason:C().optional()}),Ee=$({roots:ae(Se)}),Jt=$({action:dt(["accept","decline","cancel"]),content:Re(C(),Te([C(),fe(),Ae(),ae(C())])).optional()}),tn=$({mode:J("url"),message:C(),url:C().url()}),on=Te([ft,tn]),Q=$({method:J("elicitation/create"),params:on}),yn=Te([vt,Ze,Q]),ca=Te([ct,Ee,Jt]),Sa=Re(C(),yn),Dn=Re(C(),ca),En=Ct({inputRequests:Sa.optional(),requestState:C().optional()}),dn={inputResponses:Dn.optional(),requestState:C().optional()},In=$({_meta:tt,...dn}),rn=et({progressToken:a.optional()});function mt(me,j){return $({method:J(me),params:$({_meta:tt,...j})})}function ht(me,j){return $({method:J(me),params:$({_meta:rn.optional(),...j}).optional()})}const V={name:C(),arguments:Re(C(),Be()).optional(),...dn},ke={cursor:r.optional()},Xe=mt("tools/call",V),Dt=mt("tools/list",ke),wn=mt("prompts/list",ke),sn=mt("prompts/get",{name:C(),arguments:Re(C(),C()).optional(),...dn}),Ca=mt("resources/list",ke),Na=mt("resources/templates/list",ke),ua=mt("resources/read",{uri:C(),...dn}),kn={ref:Te([gt,yt]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()},Xn=mt("completion/complete",kn),xn=mt("server/discover",{}),da=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:ae(C()).optional()}),ea={notifications:da},Ga=mt("subscriptions/listen",ea),Qa=ut.extend({"io.modelcontextprotocol/subscriptionId":o}),Xa=et({_meta:Qa,resultType:Et.default("complete")}),ta={"tools/call":ht("tools/call",V),"tools/list":ht("tools/list",ke),"prompts/get":ht("prompts/get",{name:C(),arguments:Re(C(),C()).optional()}),"prompts/list":ht("prompts/list",ke),"resources/list":ht("resources/list",ke),"resources/templates/list":ht("resources/templates/list",ke),"resources/read":ht("resources/read",{uri:C()}),"completion/complete":ht("completion/complete",kn),"server/discover":ht("server/discover",{}),"subscriptions/listen":ht("subscriptions/listen",ea)};function Sn(me){return et({_meta:Mt,...me})}const or={"tools/call":Sn({content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional()}),"tools/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:ae(wt),nextCursor:r.optional()}),"prompts/get":Sn({description:C().optional(),messages:ae(ue)}),"prompts/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:ae(G),nextCursor:r.optional()}),"resources/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:ae(B),nextCursor:r.optional()}),"resources/templates/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:ae(P),nextCursor:r.optional()}),"resources/read":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:ae(Te([F,H]))}),"completion/complete":Sn({completion:$({values:ae(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),"server/discover":Sn({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:ae(C()),capabilities:Ve,instructions:C().optional()}),"subscriptions/listen":Sn({})},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":M,"notifications/prompts/list_changed":U,"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:O,ProgressNotificationParamsSchema:k,ProgressNotificationSchema:T,LoggingMessageNotificationParamsSchema:A,LoggingMessageNotificationSchema:q,ResourceContentsSchema:z,TextResourceContentsSchema:F,BlobResourceContentsSchema:H,AnnotationsSchema:ne,ResourceSchema:B,ResourceTemplateSchema:P,ResourceListChangedNotificationSchema:_,ResourceUpdatedNotificationParamsSchema:te,ResourceUpdatedNotificationSchema:Z,PromptArgumentSchema:D,PromptSchema:G,PromptListChangedNotificationSchema:U,TextContentSchema:K,ImageContentSchema:oe,AudioContentSchema:be,ToolUseContentSchema:pe,EmbeddedResourceSchema:_e,ResourceLinkSchema:Me,ContentBlockSchema:Ke,PromptMessageSchema:ue,ToolAnnotationsSchema:ve,ToolListChangedNotificationSchema:M,ModelHintSchema:W,ModelPreferencesSchema:re,ToolChoiceSchema:ze,BooleanSchemaSchema:Le,StringSchemaSchema:ge,NumberSchemaSchema:lt,UntitledSingleSelectEnumSchemaSchema:bt,TitledSingleSelectEnumSchemaSchema:Wt,LegacyTitledEnumSchemaSchema:At,SingleSelectEnumSchemaSchema:Zt,UntitledMultiSelectEnumSchemaSchema:ie,TitledMultiSelectEnumSchemaSchema:he,MultiSelectEnumSchemaSchema:Ne,EnumSchemaSchema:De,PrimitiveSchemaDefinitionSchema:Ge,ElicitRequestFormParamsSchema:ft,ResourceTemplateReferenceSchema:yt,PromptReferenceSchema:gt,RootSchema:Se,ClientCapabilities2026Schema:Ce,ServerCapabilities2026Schema:Ve,RequestMetaEnvelopeSchema:tt,ToolSchema:wt,ToolResultContentSchema:se,SamplingMessageContentBlockSchema:Qe,SamplingMessageSchema:at,ResultTypeSchema:Et,ResultMetaSchema:ut,ResultSchema:qt,PaginatedResultSchema:ot,CallToolResultSchema:it,ListToolsResultSchema:We,ListPromptsResultSchema:Ot,GetPromptResultSchema:en,ListResourcesResultSchema:vn,ListResourceTemplatesResultSchema:Tn,ReadResourceResultSchema:bn,CompleteResultSchema:Ln,CacheableResultSchema:Kn,DiscoverResultSchema:ye,CreateMessageRequestParamsSchema:Ue,CreateMessageRequestSchema:vt,ListRootsRequestSchema:Ze,CreateMessageResultSchema:ct,ListRootsResultSchema:Ee,ElicitResultSchema:Jt,ElicitRequestURLParamsSchema:tn,ElicitRequestParamsSchema:on,ElicitRequestSchema:Q,InputRequestSchema:yn,InputResponseSchema:ca,InputRequestsSchema:Sa,InputResponsesSchema:Dn,InputRequiredResultSchema:En,InputResponseRequestParamsSchema:In,CallToolRequestSchema:Xe,ListToolsRequestSchema:Dt,ListPromptsRequestSchema:wn,GetPromptRequestSchema:sn,ListResourcesRequestSchema:Ca,ListResourceTemplatesRequestSchema:Na,ReadResourceRequestSchema:ua,CompleteRequestSchema:Xn,DiscoverRequestSchema:xn,SubscriptionFilterSchema:da,SubscriptionsListenRequestSchema:Ga,SubscriptionsListenResultMetaSchema:Qa,SubscriptionsListenResultSchema:Xa,dispatchRequestSchemas:ta,dispatchResultSchemas:or,NotificationMetaSchema:pa,SubscriptionsAcknowledgedNotificationSchema:Ra,CancelledNotificationParamsSchema:ln,CancelledNotificationSchema:Yn,notificationSchemas2026:Ua,JSONRPCResultResponseSchema:cn(qt),CallToolResultResponseSchema:cn(Te([it,En])),ListToolsResultResponseSchema:cn(We),ListPromptsResultResponseSchema:cn(Ot),GetPromptResultResponseSchema:cn(Te([en,En])),ListResourcesResultResponseSchema:cn(vn),ListResourceTemplatesResultResponseSchema:cn(Tn),ReadResourceResultResponseSchema:cn(Te([bn,En])),CompleteResultResponseSchema:cn(Ln),DiscoverResultResponseSchema:cn(ye)}}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 xt=(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===xt.UrlElicitationRequired&&r){const o=r;if(o.elicitations)return new y4(o.elicitations,a)}if(t===xt.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===xt.InvalidParams||t===xt.ResourceNotFound){const o=r;if(typeof(o==null?void 0:o.uri)=="string"&&(t===xt.ResourceNotFound||Object.keys(o).length===1))return new b4(o.uri,a)}if(t===xt.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(xt.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(xt.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(xt.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(xt.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(xt.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;xt.InvalidRequest,xt.UnsupportedProtocolVersion,xt.InvalidParams,xt.MethodNotFound,xt.InvalidParams,xt.MissingRequiredClientCapability;xt.ParseError+"",xt.InvalidRequest+"",xt.MethodNotFound+"",xt.UnsupportedProtocolVersion+"",xt.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(xt.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(xt.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(xt.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(xt.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(xt.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(xt.UnsupportedProtocolVersion,`Unsupported protocol version: ${E}`,{supported:this._supportedProtocolVersions,requested:E});return}}if(wc(a.method)&&!o.hasRequestMethod(a.method)){s(xt.MethodNotFound,"Method not found");return}const l=this._requestHandlers.get(a.method)??this.fallbackRequestHandler;if(l===void 0){s(xt.MethodNotFound,"Method not found");return}const c=o.checkInboundEnvelope(r);if(c!==void 0){s(xt.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(xt.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:xt.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,O;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)},(O=r==null?void 0:r.signal)==null||O.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(xt.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(xt.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(xt.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(xt.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]){o(d);continue}if(e.external){const h=(c=e.external.registry.get(d[0]))==null?void 0:c.id;if(t!==d[0]&&h){o(d);continue}}if((u=e.metadataRegistry.get(d[0]))==null?void 0:u.id){o(d);continue}if(p.cycle){o(d);continue}p.count>1&&e.reused==="ref"&&o(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 i=Object.keys(r);if(i.length!==1||i[0]!=="type")return;const o=r.type;for(const s of Array.isArray(o)?o:[o]){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 o;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=((o=d.properties)==null?void 0:o[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 i={type:"object",properties:a};if(r.size&&(i.required=[...r]),t.every(s=>s.additionalProperties===!1))i.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?i.additionalProperties=s[0]:s.length>1&&(i.additionalProperties={allOf:s})}return i}function $P(e){const t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(const i of Tb)if(i in e)return;const a=t.filter(i=>Qh.some(o=>Array.isArray(i[o])));let r=null;if(!a.length)r=pu(t);else{const i=a[0],o=Qh.find(c=>Array.isArray(i[c]));if(Object.keys(i).length!==1)return;const s=t.filter(c=>c!==i),l=i[o].map(c=>pu([...s,c]));if(l.some(c=>!c))return;r={[o]:l}}r&&(delete e.allOf,fo(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)):fo(h,b),fo(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 i={};if(e.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?i.$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");i.$id=e.external.uri(p)}fo(i,a.defId?a.schema:a.def??a.schema);const o=(u=e.metadataRegistry.get(t))==null?void 0:u.id;o!==void 0&&i.id===o&&delete i.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"?i.$defs=s:i.definitions=s);try{const p=JSON.parse(JSON.stringify(i));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 i in r.shape)if(Bn(r.shape[i],a))return!0;return!1}if(r.type==="union"){for(const i of r.options)if(Bn(i,a))return!0;return!1}if(r.type==="tuple"){for(const i of r.items)if(Bn(i,a))return!0;return!!(r.rest&&Bn(r.rest,a))}return!1}const BP=(e,t={})=>a=>{const r=Vs({...a,processors:t});return Bt(e,r),Ws(r,e),Zs(r,e)},Js=(e,t,a={})=>r=>{const{libraryOptions:i,target:o}=r??{},s=Vs({...i??{},target:o,io:t,processors:a});return Bt(e,s),Ws(s,e),Zs(s,e)},yi=(e,t,a)=>{(e[t]===void 0||a>e[t])&&(e[t]=a)},Ei=(e,t,a)=>{(e[t]===void 0||a{yi(e,"minimum",t),Ei(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)=>yi(e,"minimum",t.minimum),nf=(e,t)=>Ei(e,"maximum",t.maximum),af=e=>(t,a)=>{Pb(t,a.format);const[r,i]=e[a.format];yi(t,"minimum",r),Ei(t,"maximum",i)},yc={greater_than:(e,t)=>yi(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>Ei(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 o;const t={},a=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...a.checks??[]]:a.checks??[];for(const s of r)(o=yc[s._zod.def.check])==null||o.call(yc,t,s._zod.def);const i=e._zod.bag;i.minimum!==void 0&&yi(t,"minimum",i.minimum),i.exclusiveMinimum!==void 0&&yi(t,"exclusiveMinimum",i.exclusiveMinimum),i.maximum!==void 0&&Ei(t,"maximum",i.maximum),i.exclusiveMaximum!==void 0&&Ei(t,"exclusiveMaximum",i.exclusiveMaximum),i.multipleOf!==void 0&&Ib(t,i.multipleOf),i.format!==void 0&&(t.format??(t.format=i.format),i.format.includes("int")&&(t.isInt=!0)),i.mime&&_b(t,i.mime);for(const s of i.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 i=a;i.type="string";const{minimum:o,maximum:s,format:l,patterns:c,contentEncoding:u,laxFormat:d}=ya(e);if(typeof o=="number"&&(i.minLength=o),typeof s=="number"&&(i.maxLength=s),l&&(i.format=HP[l]??l,i.format===""&&delete i.format,(l==="time"||d)&&delete i.format),u&&(i.contentEncoding=u),c&&c.size>0){const p=[...c].map(Ob);p.length===1?i.pattern=p[0].source:p.length>1&&(i.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 i=a,{minimum:o,maximum:s,multipleOf:l,exclusiveMaximum:c,exclusiveMinimum:u,isInt:d}=ya(e);i.type=d?"integer":"number";const p=typeof u=="number"&&u>=(o??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?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof o=="number"&&(i.minimum=o),m?h?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof s=="number"&&(i.maximum=s),l){const f=new Set;for(const E of l)Number.isFinite(E)&&E!==0?f.add(Math.abs(E)):Rn(e,t,i,r,`A multipleOf divisor of ${E} cannot be represented in JSON Schema`);const[v,...y]=f;v!==void 0&&(i.multipleOf=v),y.length&&(i.allOf=[...i.allOf??[],...y.map(E=>({multipleOf:E}))])}},Lb=(e,t,a,r)=>{a.type="boolean"},WP=(e,t,a,r)=>{Rn(e,t,a,r,"BigInt cannot be represented in JSON Schema")},ZP=(e,t,a,r)=>{Rn(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)=>{Rn(e,t,a,r,"Undefined cannot be represented in JSON Schema")},JP=(e,t,a,r)=>{Rn(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)=>{Rn(e,t,a,r,"Date cannot be represented in JSON Schema")},$b=(e,t,a,r)=>{const i=e._zod.def,o=su(i.entries);if(o.length===0){a.not={};return}o.every(s=>typeof s=="number")&&(a.type="number"),o.every(s=>typeof s=="string")&&(a.type="string"),a.enum=o},Bb=(e,t,a,r)=>{const i=e._zod.def;if(i.values.length===0){a.not={};return}const o=[];for(const s of i.values)if(s===void 0){if(Rn(e,t,a,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(Rn(e,t,a,r,"BigInt literals cannot be represented in JSON Schema"))return;o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){const s=o[0];a.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?a.enum=[s]:a.const=s}else o.every(s=>typeof s=="number")&&(a.type="number"),o.every(s=>typeof s=="string")&&(a.type="string"),o.every(s=>typeof s=="boolean")&&(a.type="boolean"),o.every(s=>s===null)&&(a.type="null"),a.enum=o},YP=(e,t,a,r)=>{Rn(e,t,a,r,"NaN cannot be represented in JSON Schema")},GP=(e,t,a,r)=>{const i=a,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=o.source},QP=(e,t,a,r)=>{const i=a;i.type="string",i.format="binary",i.contentEncoding="binary";const{minimum:o,maximum:s,mime:l}=ya(e);o!==void 0&&(i.minLength=o),s!==void 0&&(i.maxLength=s),l&&(l.length===0?i.not={}:l.length===1?i.contentMediaType=l[0]:i.anyOf=l.map(c=>({contentMediaType:c})))},XP=(e,t,a,r)=>{a.type="boolean"},Hb=(e,t,a,r)=>{Rn(e,t,a,r,"Custom types cannot be represented in JSON Schema")},eO=(e,t,a,r)=>{Rn(e,t,a,r,"Function types cannot be represented in JSON Schema")},Vb=(e,t,a,r)=>{Rn(e,t,a,r,"Transforms cannot be represented in JSON Schema")},tO=(e,t,a,r)=>{Rn(e,t,a,r,"Map cannot be represented in JSON Schema")},nO=(e,t,a,r)=>{Rn(e,t,a,r,"Set cannot be represented in JSON Schema")},Wb=(e,t,a,r)=>{const i=a,o=e._zod.def,{minimum:s,maximum:l}=ya(e);typeof s=="number"&&(i.minItems=s),typeof l=="number"&&(i.maxItems=l),i.type="array",i.items=Bt(o.element,t,{...r,path:[...r.path,"items"]})};function wi(e){const t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?wi(t.out):t.type==="catch"?wi(t.innerType):e._zod.optin}const Zb=(e,t,a,r)=>{var d;const i=a,o=e._zod.def,s=o.shape;if(Object.getOwnPropertySymbols(s).length&&Rn(e,t,i,r,"Symbol keys cannot be represented in JSON Schema"))return;i.type="object",i.properties={};for(const p in s)ja(i.properties,p,Bt(s[p],t,{...r,path:[...r.path,"properties",p]}));const c=new Set(Object.keys(s)),u=new Set([...c].filter(p=>{const m=o.shape[p];return t.io==="input"?wi(m)===void 0:m._zod.optout===void 0}));u.size>0&&(i.required=Array.from(u)),((d=o.catchall)==null?void 0:d._zod.def.type)==="never"?i.additionalProperties=!1:o.catchall?o.catchall&&(i.additionalProperties=Bt(o.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(i.additionalProperties=!1)},aO=(e,t,a,r)=>{const i=a,o=e._zod.def;if(Object.getOwnPropertySymbols(o.shape).length&&Rn(e,t,i,r,"Symbol keys cannot be represented in JSON Schema"))return;if(t.io==="output"){for(const l in o.shape)if(Bn(o.shape[l])&&Rn(e,t,i,r,`z.properties() returns its input, so the output of a transforming schema at key "${l}" cannot be represented in JSON Schema`))return}i.type="object",i.properties={};for(const l in o.shape)ja(i.properties,l,Bt(o.shape[l],t,{...r,path:[...r.path,"properties",l]}));const s=Object.keys(o.shape).filter(l=>wi(o.shape[l])===void 0);s.length>0&&(i.required=s)},Jb=(e,t,a,r)=>{const i=e._zod.def,o=i.inclusive===!1,s=i.options.map((l,c)=>Bt(l,t,{...r,path:[...r.path,o?"oneOf":"anyOf",c]}));o?a.oneOf=s:a.anyOf=s},Kb=(e,t,a,r)=>{const i=e._zod.def,o=Bt(i.left,t,{...r,path:[...r.path,"allOf",0]}),s=Bt(i.right,t,{...r,path:[...r.path,"allOf",1]}),l=u=>"allOf"in u&&Object.keys(u).length===1,c=[...l(o)?o.allOf:[o],...l(s)?s.allOf:[s]];a.allOf=c,t.intersections.push(c)},rO=(e,t,a,r)=>{const i=a,o=e._zod.def;i.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=o.items.map((v,y)=>Bt(v,t,{...r,path:[...r.path,s,y]})),u=o.rest?Bt(o.rest,t,{...r,path:[...r.path,l,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;let d=o.items.length;for(;d>0;){const v=o.items[d-1];if(!(t.io==="input"?wi(v)!==void 0:v._zod.optout==="optional"))break;d--}const p=o.items.length,m=!o.rest;t.target==="draft-2020-12"?(i.prefixItems=c,m?i.items=!1:u&&(i.items=u),d>0&&(i.minItems=d),m&&(i.maxItems=p)):t.target==="openapi-3.0"?(i.items={anyOf:c},u&&i.items.anyOf.push(u),d>0&&(i.minItems=d),m&&(i.maxItems=p)):(i.items=c,m?i.additionalItems=!1:u&&(i.additionalItems=u),d>0&&(i.minItems=d),m&&(i.maxItems=p));const{minimum:h,maximum:f}=ya(e);typeof h=="number"&&(i.minItems=h),typeof f=="number"&&(i.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],i=!r.includes("string")&&r.some(v=>v==="number"||v==="integer"),o=t.enum??(t.const!==void 0?[t.const]:void 0);if(!i&&!(o!=null&&o.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)),i&&(h.type="string",o||(h.pattern=(r.includes("number")?Cd:pA).source)),h}const hu=new WeakMap;function iO(e){var r;const t=new Map;for(const i of e.seen.values())i.def&&!t.has(i.schema)&&t.set(i.schema,i);const a=new Map;for(const i of hu.get(e)??[]){const o=e.seen.get(i),s=(r=(o==null?void 0:o.def)??(o==null?void 0:o.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 i of e.seen.values())for(const o of[i.schema,i.def]){const s=o&&a.get(o.propertyNames);s&&(o.propertyNames=s)}}const Yb=(e,t,a,r)=>{const i=a,o=e._zod.def;i.type="object";const s=o.keyType,l=ya(s).patterns;if(o.mode==="loose"&&l&&l.size>0){const d=Bt(o.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});i.patternProperties={};for(const p of l)ja(i.patternProperties,Ob(p).source,d)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){i.propertyNames=Bt(o.keyType,t,{...r,path:[...r.path,"propertyNames"]});let d=hu.get(t);d||(d=[],hu.set(t,d),t.deferred.push(()=>iO(t))),d.push(e)}i.additionalProperties=Bt(o.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}const c=s._zod.values,u=t.io==="input"&&wi(o.valueType)!==void 0;if(c&&!o.partial&&!u){const d=[...c].filter(p=>typeof p=="string"||typeof p=="number");d.length>0&&(i.required=d.map(String))}},Gb=(e,t,a,r)=>{const i=e._zod.def,o=Bt(i.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=i.innerType,a.nullable=!0):a.anyOf=[o,{type:"null"}]},Qb=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType},Id=Symbol();function Xb(e,t,a,r,i){let o=!1;const s=JSON.stringify(e,(l,c)=>typeof c!="bigint"?c:(o=!0,null));return o?(Rn(t,a,r,i,"BigInt defaults cannot be represented in JSON Schema"),Id):JSON.parse(s)}const ey=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType;const s=Xb(i.defaultValue,e,t,a,r);s!==Id&&(a.default=s)},ty=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);if(o.ref=i.innerType,t.io!=="input")return;const s=Xb(i.defaultValue,e,t,a,r);s!==Id&&(a._prefault=s)},ny=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType;let s;try{s=i.catchValue(void 0)}catch{Rn(e,t,a,r,"Dynamic catch values are not supported in JSON Schema");return}a.default=s},ay=(e,t,a,r)=>{const i=e._zod.def,o=i.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?o?i.out:i.in:i.out;Bt(s,t,r);const l=t.seen.get(e);l.ref=s},ry=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType,a.readOnly=!0},oO=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType},Ad=(e,t,a,r)=>{const i=e._zod.def;Bt(i.innerType,t,r);const o=t.seen.get(e);o.ref=i.innerType},iy=(e,t,a,r)=>{const i=e._zod.innerType;Bt(i,t,r);const o=t.seen.get(e);o.ref=i},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:oO,optional:Ad,lazy:iy};function oy(e,t){if("_idmap"in e){const r=e,i=Vs({...t,processors:rf}),o={};for(const c of r._idmap.entries()){const[u,d]=c;Bt(d,i)}const s={},l={registry:r,uri:t==null?void 0:t.uri,defs:o};i.external=l;for(const c of r._idmap.entries()){const[u,d]=c;Ws(i,d),ja(s,u,Zs(i,d))}if(Object.keys(o).length>0){const c=i.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:o}}return{schemas:s}}const a=Vs({...t,processors:rf});return Bt(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=>i=>R2(r,i)),as(a,"flatten",r=>i=>N2(r,i)),as(a,"addIssue",r=>i=>{r.issues.push(i),r.message=JSON.stringify(r.issues,lu,2)}),as(a,"addIssues",r=>i=>{r.issues.push(...i),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 Vt=le("ZodType",(e,t)=>(yO(),Ht.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(Ii(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 ae(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 oM(this,e)},pipe(e){return uf(this,e)},readonly(){return cM(this)},describe(e){const t=this.clone();return oo.add(t,{description:e}),t},meta(...e){if(e.length===0)return oo.get(this);const t=this.clone();return oo.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=oo.get(this))==null?void 0:e.description},get _def(){return this._zod.def}}),ly=le("_ZodString",(e,t)=>{Rd.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>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(iP(IO,e))},base64(e){return this.check(pP(LO,e))},base64url(e){return this.check(mP(DO,e))},xid(e){return this.check(oP(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 an=le("ZodStringFormat",(e,t)=>{Xt.init(e,t),ly.init(e,t)}),cy=le("ZodISODateTime",(e,t)=>{KA.init(e,t),an.init(e,t)}),uy=le("ZodISODate",(e,t)=>{YA.init(e,t),an.init(e,t)}),wO=le("ZodISOTime",(e,t)=>{GA.init(e,t),an.init(e,t)}),kO=le("ZodISODuration",(e,t)=>{QA.init(e,t),an.init(e,t)}),dy=le("ZodEmail",(e,t)=>{zA.init(e,t),an.init(e,t)});function xO(e){return wb(dy,e)}const SO=le("ZodGUID",(e,t)=>{OA.init(e,t),an.init(e,t)}),rs=le("ZodUUID",(e,t)=>{MA.init(e,t),an.init(e,t)}),py=le("ZodURL",(e,t)=>{UA.init(e,t),an.init(e,t)});function my(e){return kb(py,e)}const CO=le("ZodEmoji",(e,t)=>{$A.init(e,t),an.init(e,t)}),NO=le("ZodNanoID",(e,t)=>{BA.init(e,t),an.init(e,t)}),RO=le("ZodCUID",(e,t)=>{HA.init(e,t),an.init(e,t)}),TO=le("ZodCUID2",(e,t)=>{VA.init(e,t),an.init(e,t)}),IO=le("ZodULID",(e,t)=>{WA.init(e,t),an.init(e,t)}),AO=le("ZodXID",(e,t)=>{ZA.init(e,t),an.init(e,t)}),_O=le("ZodKSUID",(e,t)=>{JA.init(e,t),an.init(e,t)}),PO=le("ZodIPv4",(e,t)=>{XA.init(e,t),an.init(e,t)}),OO=le("ZodIPv6",(e,t)=>{t_.init(e,t),an.init(e,t)}),MO=le("ZodCIDRv4",(e,t)=>{n_.init(e,t),an.init(e,t)}),zO=le("ZodCIDRv6",(e,t)=>{r_.init(e,t),an.init(e,t)}),LO=le("ZodBase64",(e,t)=>{i_.init(e,t),an.init(e,t)}),DO=le("ZodBase64URL",(e,t)=>{s_.init(e,t),an.init(e,t)}),FO=le("ZodE164",(e,t)=>{l_.init(e,t),an.init(e,t)}),qO=le("ZodJWT",(e,t)=>{u_.init(e,t),an.init(e,t)}),_d=le("ZodNumber",(e,t)=>{mb.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>zb(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Lb(e,a,r)});function Ae(e){return wP(UO,e)}const $O=le("ZodUndefined",(e,t)=>{m_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Fb(e,a,r,i)});function fu(e){return kP($O,e)}const BO=le("ZodNull",(e,t)=>{h_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Db(e,a,r)});function So(e){return xP(BO,e)}const HO=le("ZodAny",(e,t)=>{f_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>jb()});function Pd(){return SP(HO)}const VO=le("ZodUnknown",(e,t)=>{g_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Ub()});function Be(){return CP(VO)}const WO=le("ZodNever",(e,t)=>{v_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>qb(e,a,r)});function gu(e){return NP(WO,e)}const ZO=le("ZodArray",(e,t)=>{vl(),b_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Wb(e,a,r,i),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 ae(e,t){return FP(ZO,e,t)}const hy=le("ZodObject",(e,t)=>{vl(),w_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Zb(e,a,r,i),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:Be()}))},loose(){return this.clone(va(this._zod.def,{catchall:Be()}))},strict(){return this.clone(va(this._zod.def,{catchall:gu()}))},strip(){return this.clone(va(this._zod.def,{catchall:void 0}))},extend(e){return i2(this,e)},safeExtend(e){return o2(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??{},...He(t)};return new hy(a)}function et(e,t){return new hy({type:"object",shape:e,catchall:Be(),...He(t)})}const fy=le("ZodUnion",(e,t)=>{gb.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Jb(e,a,r,i),e.options=t.options});function Te(e,t){return new fy({type:"union",options:e,...He(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,...He(a)})}const KO=le("ZodIntersection",(e,t)=>{S_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Kb(e,a,r,i)});function $r(e,t){return new KO({type:"intersection",left:e,right:t})}const lf=le("ZodRecord",(e,t)=>{vl(),C_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Yb(e,a,r,i),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,...He(t)}):new lf({type:"record",keyType:e,valueType:t,...He(a)})}const vu=le("ZodEnum",(e,t)=>{N_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(r,i,o)=>$b(e,r,i),e.enum=t.entries,e.options=[...e._zod.values];const a=new Set(Object.keys(t.entries));e.extract=(r,i)=>{const o={};for(const s of r)if(a.has(s))o[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new vu({...t,checks:[],...He(i),entries:o})},e.exclude=(r,i)=>{const o={...t.entries};for(const s of r)if(a.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new vu({...t,checks:[],...He(i),entries:o})}});function dt(e,t){const a=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new vu({type:"enum",entries:a,...He(t)})}const YO=le("ZodLiteral",(e,t)=>{R_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Bb(e,a,r,i),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],...He(t)})}const GO=le("ZodTransform",(e,t)=>{vl(),T_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Vb(e,a,r,i),e._zod.parse=(a,r)=>{if(r.direction==="backward")throw new tb(e.constructor.name);a.addIssue=o=>{if(typeof o=="string")a.issues.push(xo(o,a.value,t));else{const s=o;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(xo(s))}};const i=t.transform(a.value,a);return i instanceof Promise?i.then(o=>(a.value=o,a)):(a.value=i,a)}});function gy(e){return new GO({type:"transform",transform:e})}const vy=le("ZodOptional",(e,t)=>{vb.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Ad(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Ad(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Gb(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>ey(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>ty(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Qb(e,a,r,i),e.unwrap=()=>e._zod.def.innerType});function rM(e,t){return new yy({type:"nonoptional",innerType:e,...He(t)})}const iM=le("ZodCatch",(e,t)=>{M_.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>ny(e,a,r,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function oM(e,t){return new iM({type:"catch",innerType:e,catchValue:typeof t=="function"?t:v2(t)})}const Ey=le("ZodPipe",(e,t)=>{bb.init(e,t),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>ay(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>ry(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>iy(e,a,r,i),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),Vt.init(e,t),e._zod.processJSONSchema=(a,r,i)=>Hb(e,a,r,i)});function pM(e,t={}){return qP(dM,e,t)}function mM(e,t){return jP(e,t)}function Co(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",go="io.modelcontextprotocol/serverInfo",El="io.modelcontextprotocol/clientCapabilities",EM="io.modelcontextprotocol/subscriptionId",zd="io.modelcontextprotocol/logLevel",wl="2.0",ki=Od(()=>Te([C(),fe(),Ae(),So(),Re(C(),ki),ae(ki)])),mn=Re(C(),ki),wM=ae(ki),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()}),Ho=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[go](){return _i.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:Be().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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),Ai=$({icons:ae(Cy).optional()}),Br=$({name:C(),title:C().optional()}),_i=Br.extend({...Br.shape,...Ai.shape,version:C(),websiteUrl:C().optional(),description:C().optional()}),xM=$r($({applyDefaults:Ae().optional()}),mn),SM=Co(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:_i}),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:_i,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:ae(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()}),Pi=fn.extend({params:Dy.optional()}),Oi=gn.extend({nextCursor:Dd.optional()}),Wd=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),Be()).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}),Mi=dt(["user","assistant"]),Zr=$({audience:ae(Mi).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),Yd=$({...Br.shape,...Ai.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:Zr.optional(),_meta:Je(et({}))}),Fy=$({...Br.shape,...Ai.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:Zr.optional(),_meta:Je(et({}))}),qy=Pi.extend({method:J("resources/list")}),jy=Oi.extend({resources:ae(Yd)}),Uy=Pi.extend({method:J("resources/templates/list")}),$y=Oi.extend({resourceTemplates:ae(Fy)}),Cl=Jn.extend({uri:C()}),By=Cl,Hy=fn.extend({method:J("resources/read"),params:By}),Vy=gn.extend({contents:ae(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:ae(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}),iE=$({name:C(),description:Je(C()),required:Je(Ae())}),oE=$({...Br.shape,...Ai.shape,description:Je(C()),arguments:Je(ae(iE)),_meta:Je(et({}))}),sE=Pi.extend({method:J("prompts/list")}),lE=Oi.extend({prompts:ae(oE)}),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(),Be()).optional()}),Rl=$({type:J("image"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),Be()).optional()}),Tl=$({type:J("audio"),data:Jd,mimeType:C(),annotations:Zr.optional(),_meta:Re(C(),Be()).optional()}),dE=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),Qd=$({type:J("resource"),resource:Te([Zd,Kd]),annotations:Zr.optional(),_meta:Re(C(),Be()).optional()}),Xd=Yd.extend({type:J("resource_link")}),zi=Te([Nl,Rl,Tl,Xd,Qd]),pE=$({role:Mi,content:zi}),mE=gn.extend({description:C().optional(),messages:ae(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,...Ai.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),ki).optional(),required:ae(C()).optional()}).catchall(Be()),outputSchema:et({$schema:C().optional()}).optional(),annotations:fE.optional(),execution:gE.optional(),_meta:Re(C(),Be()).optional()}),vE=Pi.extend({method:J("tools/list")}),bE=Oi.extend({tools:ae(Il)}),Al=gn.extend({content:ae(zi).default([]),structuredContent:Be().optional(),isError:Ae().optional()}),CM=Al.or(gn.extend({toolResult:Be()})),yE=Ho.extend({name:C(),arguments:Re(C(),Be()).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:Be()}),tp=la.extend({method:J("notifications/message"),params:SE}),CE=$({name:C().optional()}),NE=$({hints:ae(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:ae(zi),structuredContent:Be().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),IE=Ks("type",[Nl,Rl,Tl]),No=Ks("type",[Nl,Rl,Tl,dE,TE]),AE=$({role:Mi,content:Te([No,ae(No)]),_meta:Re(C(),Be()).optional()}),_E=Ho.extend({messages:ae(AE),modelPreferences:NE.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:mn.optional(),tools:ae(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:Mi,content:IE}),ME=gn.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:Mi,content:Te([No,ae(No)])}),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:ae(C()),default:C().optional()}),rp=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),ip=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(C()).optional(),default:C().optional()}),zE=Te([ap,rp]),op=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:ae(C())}),default:ae(C()).optional()}),sp=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(C()).optional()}),LE=Te([op,sp]),DE=Te([ip,zE,LE]),lp=Te([DE,np,_l,Ys]),Pl=Ho.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),lp),required:ae(C()).optional()}).catchall(Be())}),FE=Ho.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:Co(e=>e===null?void 0:e,Re(C(),Te([C(),fe(),Ae(),ae(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:ae(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),KE=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),YE=fn.extend({method:J("roots/list"),params:Jn.optional()}),GE=gn.extend({roots:ae(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"]),Li=$({taskId:C(),status:XE,ttl:Te([fe(),So()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),TM=gn.extend({task:Li}),ew=sa.merge(Li),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(Li),PM=fn.extend({method:J("tasks/result"),params:Jn.extend({taskId:C()})}),OM=gn.loose(),MM=Pi.extend({method:J("tasks/list")}),zM=Oi.extend({tasks:ae(Li)}),LM=fn.extend({method:J("tasks/cancel"),params:Jn.extend({taskId:C()})}),DM=gn.merge(Li),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:ae(jn).optional(),jwks_uri:C().url().optional(),scopes_supported:ae(C()).optional(),bearer_methods_supported:ae(C()).optional(),resource_signing_alg_values_supported:ae(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:ae(C()).optional(),dpop_signing_alg_values_supported:ae(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:ae(C()).optional(),response_types_supported:ae(C()),response_modes_supported:ae(C()).optional(),grant_types_supported:ae(C()).optional(),token_endpoint_auth_methods_supported:ae(C()).optional(),token_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),service_documentation:jn.optional(),revocation_endpoint:jn.optional(),revocation_endpoint_auth_methods_supported:ae(C()).optional(),revocation_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),introspection_endpoint:C().optional(),introspection_endpoint_auth_methods_supported:ae(C()).optional(),introspection_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),code_challenge_methods_supported:ae(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:ae(C()).optional(),response_types_supported:ae(C()),response_modes_supported:ae(C()).optional(),grant_types_supported:ae(C()).optional(),acr_values_supported:ae(C()).optional(),subject_types_supported:ae(C()),id_token_signing_alg_values_supported:ae(C()),id_token_encryption_alg_values_supported:ae(C()).optional(),id_token_encryption_enc_values_supported:ae(C()).optional(),userinfo_signing_alg_values_supported:ae(C()).optional(),userinfo_encryption_alg_values_supported:ae(C()).optional(),userinfo_encryption_enc_values_supported:ae(C()).optional(),request_object_signing_alg_values_supported:ae(C()).optional(),request_object_encryption_alg_values_supported:ae(C()).optional(),request_object_encryption_enc_values_supported:ae(C()).optional(),token_endpoint_auth_methods_supported:ae(C()).optional(),token_endpoint_auth_signing_alg_values_supported:ae(C()).optional(),display_values_supported:ae(C()).optional(),claim_types_supported:ae(C()).optional(),claims_supported:ae(C()).optional(),service_documentation:C().optional(),claims_locales_supported:ae(C()).optional(),ui_locales_supported:ae(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:ae(jn),token_endpoint_auth_method:C().optional(),grant_types:ae(C()).optional(),response_types:ae(C()).optional(),application_type:C().optional(),client_name:C().optional(),client_uri:jn.optional(),logo_uri:df,scope:C().optional(),contacts:ae(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 iw(e,t){const a=new Set;let r=t;for(;typeof r=="function";){const i=r.mcpBrand;Object.prototype.hasOwnProperty.call(r,"mcpBrand")&&typeof i=="string"&&a.add(i),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 oi,Pn=(oi=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",iw(this,new.target)}},Object.defineProperty(oi,"mcpBrand",{value:"mcp.SdkError"}),oi);const QM="2026-07-28";function XM(e){return e>=QM}function ow(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(),So(),Re(C(),e),ae(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),i=$({ttl:fe().optional()}),o=$({taskId:C()}),s=et({progressToken:a.optional(),"io.modelcontextprotocol/related-task":o.optional()}),l=$({_meta:s.optional()}),c=l.extend({task:i.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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),b=$({icons:ae(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=Co(ee=>ee&&typeof ee=="object"&&!Array.isArray(ee)&&Object.keys(ee).length===0?{form:{}}:ee,$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()}),O=$({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:O,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()}),te=m.extend({nextCursor:r.optional()}),Z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),Be()).optional()}),D=Z.extend({text:C()}),G=C().refine(ee=>{try{return atob(ee),!0}catch{return!1}},{message:"Invalid Base64 string"}),U=Z.extend({blob:G}),K=dt(["user","assistant"]),ie=$({audience:ae(K).optional(),priority:fe().min(0).max(1).optional(),lastModified:bl({offset:!0}).optional()}),be=$({...x.shape,...b.shape,uri:C(),description:Je(C()),mimeType:Je(C()),size:Je(fe()),annotations:ie.optional(),_meta:Je(et({}))}),pe=$({...x.shape,...b.shape,uriTemplate:C(),description:Je(C()),mimeType:Je(C()),annotations:ie.optional(),_meta:Je(et({}))}),_e=_.extend({method:J("resources/list")}),Me=te.extend({resources:ae(be)}),Ke=_.extend({method:J("resources/templates/list")}),ue=te.extend({resourceTemplates:ae(pe)}),ve=l.extend({uri:C()}),M=ve,W=u.extend({method:J("resources/read"),params:M}),re=m.extend({contents:ae(Te([D,U]))}),ze=p.extend({method:J("notifications/resources/list_changed"),params:d.optional()}),Le=ve,ge=u.extend({method:J("resources/subscribe"),params:Le}),lt=ve,bt=u.extend({method:J("resources/unsubscribe"),params:lt}),Wt=d.extend({uri:C()}),At=p.extend({method:J("notifications/resources/updated"),params:Wt}),Zt=$({name:C(),description:Je(C()),required:Je(Ae())}),oe=$({...x.shape,...b.shape,description:Je(C()),arguments:Je(ae(Zt)),_meta:Je(et({}))}),he=_.extend({method:J("prompts/list")}),Ne=te.extend({prompts:ae(oe)}),De=l.extend({name:C(),arguments:Re(C(),C()).optional()}),Ge=u.extend({method:J("prompts/get"),params:De}),ft=$({type:J("text"),text:C(),annotations:ie.optional(),_meta:Re(C(),Be()).optional()}),yt=$({type:J("image"),data:G,mimeType:C(),annotations:ie.optional(),_meta:Re(C(),Be()).optional()}),gt=$({type:J("audio"),data:G,mimeType:C(),annotations:ie.optional(),_meta:Re(C(),Be()).optional()}),Se=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),X=$({type:J("resource"),resource:Te([D,U]),annotations:ie.optional(),_meta:Re(C(),Be()).optional()}),Ce=be.extend({type:J("resource_link")}),Fe=Te([ft,yt,gt,Ce,X]),Ve=$({role:K,content:Fe}),tt=m.extend({description:C().optional(),messages:ae(Ve)}),wt=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()}),at=$({...x.shape,...b.shape,description:C().optional(),inputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:ae(C()).optional()}).catchall(Be()),outputSchema:$({type:J("object"),properties:Re(C(),e).optional(),required:ae(C()).optional()}).catchall(Be()).optional(),annotations:se.optional(),execution:Qe.optional(),_meta:Re(C(),Be()).optional()}),Et=_.extend({method:J("tools/list")}),ut=te.extend({tools:ae(at)}),Mt=m.extend({content:ae(Fe),structuredContent:Re(C(),Be()).optional(),isError:Ae().optional()}),Ct=c.extend({name:C(),arguments:Re(C(),Be()).optional()}),qt=u.extend({method:J("tools/call"),params:Ct}),it=p.extend({method:J("notifications/tools/list_changed"),params:d.optional()}),ot=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),We=l.extend({level:ot}),Ot=u.extend({method:J("logging/setLevel"),params:We}),en=d.extend({level:ot,logger:C().optional(),data:Be()}),vn=p.extend({method:J("notifications/message"),params:en}),Tn=$({name:C().optional()}),bn=$({hints:ae(Tn).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:ae(Fe),structuredContent:$({}).loose().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),ye=Ks("type",[ft,yt,gt]),Ue=Ks("type",[ft,yt,gt,Se,Kn]),vt=$({role:K,content:Te([Ue,ae(Ue)]),_meta:Re(C(),Be()).optional()}),Ze=c.extend({messages:ae(vt),modelPreferences:bn.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:t.optional(),tools:ae(at).optional(),toolChoice:Ln.optional()}),ct=u.extend({method:J("sampling/createMessage"),params:Ze}),Ee=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens"]).or(C())),role:K,content:ye}),Jt=m.extend({model:C(),stopReason:Je(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(C())),role:K,content:Te([Ue,ae(Ue)])}),tn=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),on=$({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()}),yn=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),default:C().optional()}),ca=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),Sa=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(C()).optional(),default:C().optional()}),Dn=Te([yn,ca]),En=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:ae(C())}),default:ae(C()).optional()}),dn=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(C()).optional()}),In=Te([En,dn]),rn=Te([Sa,Dn,In]),mt=Te([rn,tn,on,Q]),ht=c.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),mt),required:ae(C()).optional()}).catchall(Be())}),V=c.extend({mode:J("url"),message:C(),elicitationId:C(),url:C().url()}),ke=Te([ht,V]),Xe=u.extend({method:J("elicitation/create"),params:ke}),Dt=d.extend({elicitationId:C()}),wn=p.extend({method:J("notifications/elicitation/complete"),params:Dt}),sn=m.extend({action:dt(["accept","decline","cancel"]),content:Co(ee=>ee===null?void 0:ee,Re(C(),Te([C(),fe(),Ae(),ae(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()}),kn=u.extend({method:J("completion/complete"),params:ua}),Xn=m.extend({completion:et({values:ae(C()).max(100),total:Je(fe().int()),hasMore:Je(Ae())})}),xn=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),da=u.extend({method:J("roots/list"),params:l.optional()}),ea=m.extend({roots:ae(xn)}),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(),So()]),createdAt:C(),lastUpdatedAt:C(),pollInterval:Je(fe()),statusMessage:Je(C())}),Sn=m.extend({task:ta}),ir=d.merge(ta),pa=p.extend({method:J("notifications/tasks/status"),params:ir}),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=te.extend({tasks:ae(ta)}),j=u.extend({method:J("tasks/cancel"),params:l.extend({taskId:C()})});return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:a,CursorSchema:r,TaskMetadataSchema:i,RelatedTaskMetadataSchema:o,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:O,InitializeRequestParamsSchema:k,InitializeRequestSchema:T,ServerCapabilitiesSchema:A,InitializeResultSchema:q,InitializedNotificationSchema:z,PingRequestSchema:F,ProgressSchema:H,ProgressNotificationParamsSchema:ne,ProgressNotificationSchema:B,PaginatedRequestParamsSchema:P,PaginatedRequestSchema:_,PaginatedResultSchema:te,ResourceContentsSchema:Z,TextResourceContentsSchema:D,BlobResourceContentsSchema:U,RoleSchema:K,AnnotationsSchema:ie,ResourceSchema:be,ResourceTemplateSchema:pe,ListResourcesRequestSchema:_e,ListResourcesResultSchema:Me,ListResourceTemplatesRequestSchema:Ke,ListResourceTemplatesResultSchema:ue,ResourceRequestParamsSchema:ve,ReadResourceRequestParamsSchema:M,ReadResourceRequestSchema:W,ReadResourceResultSchema:re,ResourceListChangedNotificationSchema:ze,SubscribeRequestParamsSchema:Le,SubscribeRequestSchema:ge,UnsubscribeRequestParamsSchema:lt,UnsubscribeRequestSchema:bt,ResourceUpdatedNotificationParamsSchema:Wt,ResourceUpdatedNotificationSchema:At,PromptArgumentSchema:Zt,PromptSchema:oe,ListPromptsRequestSchema:he,ListPromptsResultSchema:Ne,GetPromptRequestParamsSchema:De,GetPromptRequestSchema:Ge,TextContentSchema:ft,ImageContentSchema:yt,AudioContentSchema:gt,ToolUseContentSchema:Se,EmbeddedResourceSchema:X,ResourceLinkSchema:Ce,ContentBlockSchema:Fe,PromptMessageSchema:Ve,GetPromptResultSchema:tt,PromptListChangedNotificationSchema:wt,ToolAnnotationsSchema:se,ToolExecutionSchema:Qe,ToolSchema:at,ListToolsRequestSchema:Et,ListToolsResultSchema:ut,CallToolResultSchema:Mt,CallToolRequestParamsSchema:Ct,CallToolRequestSchema:qt,ToolListChangedNotificationSchema:it,LoggingLevelSchema:ot,SetLevelRequestParamsSchema:We,SetLevelRequestSchema:Ot,LoggingMessageNotificationParamsSchema:en,LoggingMessageNotificationSchema:vn,ModelHintSchema:Tn,ModelPreferencesSchema:bn,ToolChoiceSchema:Ln,ToolResultContentSchema:Kn,SamplingContentSchema:ye,SamplingMessageContentBlockSchema:Ue,SamplingMessageSchema:vt,CreateMessageRequestParamsSchema:Ze,CreateMessageRequestSchema:ct,CreateMessageResultSchema:Ee,CreateMessageResultWithToolsSchema:Jt,BooleanSchemaSchema:tn,StringSchemaSchema:on,NumberSchemaSchema:Q,UntitledSingleSelectEnumSchemaSchema:yn,TitledSingleSelectEnumSchemaSchema:ca,LegacyTitledEnumSchemaSchema:Sa,SingleSelectEnumSchemaSchema:Dn,UntitledMultiSelectEnumSchemaSchema:En,TitledMultiSelectEnumSchemaSchema:dn,MultiSelectEnumSchemaSchema:In,EnumSchemaSchema:rn,PrimitiveSchemaDefinitionSchema:mt,ElicitRequestFormParamsSchema:ht,ElicitRequestURLParamsSchema:V,ElicitRequestParamsSchema:ke,ElicitRequestSchema:Xe,ElicitationCompleteNotificationParamsSchema:Dt,ElicitationCompleteNotificationSchema:wn,ElicitResultSchema:sn,ResourceTemplateReferenceSchema:Ca,PromptReferenceSchema:Na,CompleteRequestParamsSchema:ua,CompleteRequestSchema:kn,CompleteResultSchema:Xn,RootSchema:xn,ListRootsRequestSchema:da,ListRootsResultSchema:ea,RootsListChangedNotificationSchema:Ga,TaskCreationParamsSchema:Qa,TaskStatusSchema:Xa,TaskSchema:ta,CreateTaskResultSchema:Sn,TaskStatusNotificationParamsSchema:ir,TaskStatusNotificationSchema:pa,GetTaskRequestSchema:Ra,GetTaskResultSchema:ln,GetTaskPayloadRequestSchema:Yn,GetTaskPayloadResultSchema:Ua,ListTasksRequestSchema:cn,ListTasksResultSchema:me,CancelTaskRequestSchema:j,CancelTaskResultSchema:m.merge(ta),ClientRequestSchema:Te([F,T,kn,Ot,Ge,he,_e,Ke,W,ge,bt,qt,Et,Ra,Yn,cn,j]),ClientNotificationSchema:Te([y,B,z,Ga,pa]),ClientResultSchema:Te([f,Ee,Jt,sn,ea,ln,me,Sn]),ServerRequestSchema:Te([F,ct,Xe,da,Ra,Yn,cn,j]),ServerNotificationSchema:Te([y,B,vn,At,ze,it,wt,pa,wn]),ServerResultSchema:Te([f,q,Xn,tt,Ne,Me,ue,re,Mt,ut,ln,me,Sn]),CallToolResultWireSchema:Be().superRefine((ee,de)=>{if(!(typeof ee!="object"||ee===null||Array.isArray(ee)||ee.content!==void 0)){for(const Oe of sw)if(Oe in ee){de.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 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=VI(e.$schema)&&e.$recursiveAnchor!==!0,r=(i,o)=>{if(Array.isArray(i))return i.map(c=>r(c,!1));if(i===null||typeof i!="object"||!o&&pf(i.$id))return i;const s={};let l=!1;for(const[c,u]of Object.entries(i))o?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 o4={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 is;function cp(){if(is)return is;const e=lw();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 uw(e){return Object.prototype.hasOwnProperty.call(o4,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 os(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)=>os(d4(e),t),validateResult:(e,t)=>os(u4(e),t),validateNotification:(e,t)=>os(p4(e),t),hasInputRequestMethod:()=>!1,validateInputRequest:()=>mf,validateInputResponse:()=>mf,samplingResultVariant:((e,t)=>{const a=lw();return os(e?a.CreateMessageResultWithToolsSchema:a.CreateMessageResultSchema,t)}),outboundEnvelope:e=>{},validateEnvelopeMeta:e=>[],projectCallToolResult(e,t){const a=ow(e),r=a.structuredContent;if(r===void 0)return a;const i=typeof r!="object"||r===null||Array.isArray(r),o=t!==void 0&&cw(t);return!i&&!o?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:i4(r.outputSchema)}:r)}},encodeErrorCode:e=>e===-32002?-32602:e,checkInboundEnvelope:e=>{}};function m4(){const e=Od(()=>Te([C(),fe(),Ae(),So(),Re(C(),e),ae(e)])),t=Re(C(),e),a=Te([C(),fe().int()]),r=C(),i=Te([C(),fe().int()]),o=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:ae(C()).optional(),theme:dt(["light","dark"]).optional()}),y=$({icons:ae(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=Co(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()}),O=$({progress:fe(),total:Je(fe()),message:Je(C())}),k=$({...h.shape,...O.shape,progressToken:a}),T=f.extend({method:J("notifications/progress"),params:k}),A=h.extend({level:s,logger:C().optional(),data:Be()}),q=f.extend({method:J("notifications/message"),params:A}),z=$({uri:C(),mimeType:Je(C()),_meta:Re(C(),Be()).optional()}),F=z.extend({text:C()}),H=z.extend({blob:l}),ne=$({audience:ae(o).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()}),te=h.extend({uri:C()}),Z=f.extend({method:J("notifications/resources/updated"),params:te}),D=$({name:C(),description:Je(C()),required:Je(Ae())}),G=$({...E.shape,...y.shape,description:Je(C()),arguments:Je(ae(D)),_meta:Je(et({}))}),U=f.extend({method:J("notifications/prompts/list_changed"),params:h.optional()}),K=$({type:J("text"),text:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),ie=$({type:J("image"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),be=$({type:J("audio"),data:l,mimeType:C(),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),pe=$({type:J("tool_use"),name:C(),id:C(),input:Re(C(),Be()),_meta:Re(C(),Be()).optional()}),_e=$({type:J("resource"),resource:Te([F,H]),annotations:ne.optional(),_meta:Re(C(),Be()).optional()}),Me=B.extend({type:J("resource_link")}),Ke=Te([K,ie,be,Me,_e]),ue=$({role:o,content:Ke}),ve=$({title:C().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),M=f.extend({method:J("notifications/tools/list_changed"),params:h.optional()}),W=$({name:C().optional()}),re=$({hints:ae(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()}),Le=$({type:J("boolean"),title:C().optional(),description:C().optional(),default:Ae().optional()}),ge=$({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()}),lt=$({type:dt(["number","integer"]),title:C().optional(),description:C().optional(),minimum:fe().optional(),maximum:fe().optional(),default:fe().optional()}),bt=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),default:C().optional()}),Wt=$({type:J("string"),title:C().optional(),description:C().optional(),oneOf:ae($({const:C(),title:C()})),default:C().optional()}),At=$({type:J("string"),title:C().optional(),description:C().optional(),enum:ae(C()),enumNames:ae(C()).optional(),default:C().optional()}),Zt=Te([bt,Wt]),oe=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({type:J("string"),enum:ae(C())}),default:ae(C()).optional()}),he=$({type:J("array"),title:C().optional(),description:C().optional(),minItems:fe().optional(),maxItems:fe().optional(),items:$({anyOf:ae($({const:C(),title:C()}))}),default:ae(C()).optional()}),Ne=Te([oe,he]),De=Te([At,Zt,Ne]),Ge=Te([De,Le,ge,lt]),ft=m.extend({mode:J("form").optional(),message:C(),requestedSchema:$({type:J("object"),properties:Re(C(),Ge),required:ae(C()).optional()}).catchall(Be())}),yt=$({type:J("ref/resource"),uri:C()}),gt=$({type:J("ref/prompt"),name:C()}),Se=$({uri:C().startsWith("file://"),name:C().optional(),_meta:Re(C(),Be()).optional()}),X=I.shape,Ce=$({experimental:X.experimental,sampling:X.sampling,elicitation:X.elicitation,roots:X.roots,extensions:X.extensions}),Fe=N.shape,Ve=$({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()}),wt=$({...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(),Be()).optional()}),se=$({type:J("tool_result"),toolUseId:C(),content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional(),_meta:Re(C(),Be()).optional()}),Qe=Te([K,ie,be,pe,se]),at=$({role:o,content:Te([Qe,ae(Qe)]),_meta:Re(C(),Be()).optional()}),Et=C(),ut=et({[go]:b.optional().catch(void 0)}),Mt=ut.optional();function Ct(me){return et({_meta:Mt,resultType:Et.default("complete"),...me})}const qt=Ct({}),it=Ct({nextCursor:r.optional()}),ot=Ct({content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional()}),We=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:ae(wt),nextCursor:r.optional()}),Ot=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:ae(G),nextCursor:r.optional()}),en=Ct({description:C().optional(),messages:ae(ue)}),vn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:ae(B),nextCursor:r.optional()}),Tn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:ae(P),nextCursor:r.optional()}),bn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:ae(Te([F,H]))}),Ln=Ct({completion:$({values:ae(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),Kn=Ct({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"])}),ye=Ct({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:ae(C()),capabilities:Ve,instructions:C().optional()}),Ue=$({messages:ae(at),modelPreferences:re.optional(),systemPrompt:C().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:fe().optional(),maxTokens:fe().int(),stopSequences:ae(C()).optional(),metadata:t.optional(),tools:ae(wt).optional(),toolChoice:ze.optional()}),vt=$({method:J("sampling/createMessage"),params:Ue}),Ze=$({method:J("roots/list"),params:$({_meta:Re(C(),Be()).optional()}).optional()}),ct=$({...at.shape,model:C(),stopReason:C().optional()}),Ee=$({roots:ae(Se)}),Jt=$({action:dt(["accept","decline","cancel"]),content:Re(C(),Te([C(),fe(),Ae(),ae(C())])).optional()}),tn=$({mode:J("url"),message:C(),url:C().url()}),on=Te([ft,tn]),Q=$({method:J("elicitation/create"),params:on}),yn=Te([vt,Ze,Q]),ca=Te([ct,Ee,Jt]),Sa=Re(C(),yn),Dn=Re(C(),ca),En=Ct({inputRequests:Sa.optional(),requestState:C().optional()}),dn={inputResponses:Dn.optional(),requestState:C().optional()},In=$({_meta:tt,...dn}),rn=et({progressToken:a.optional()});function mt(me,j){return $({method:J(me),params:$({_meta:tt,...j})})}function ht(me,j){return $({method:J(me),params:$({_meta:rn.optional(),...j}).optional()})}const V={name:C(),arguments:Re(C(),Be()).optional(),...dn},ke={cursor:r.optional()},Xe=mt("tools/call",V),Dt=mt("tools/list",ke),wn=mt("prompts/list",ke),sn=mt("prompts/get",{name:C(),arguments:Re(C(),C()).optional(),...dn}),Ca=mt("resources/list",ke),Na=mt("resources/templates/list",ke),ua=mt("resources/read",{uri:C(),...dn}),kn={ref:Te([gt,yt]),argument:$({name:C(),value:C()}),context:$({arguments:Re(C(),C()).optional()}).optional()},Xn=mt("completion/complete",kn),xn=mt("server/discover",{}),da=$({toolsListChanged:Ae().optional(),promptsListChanged:Ae().optional(),resourcesListChanged:Ae().optional(),resourceSubscriptions:ae(C()).optional()}),ea={notifications:da},Ga=mt("subscriptions/listen",ea),Qa=ut.extend({"io.modelcontextprotocol/subscriptionId":i}),Xa=et({_meta:Qa,resultType:Et.default("complete")}),ta={"tools/call":ht("tools/call",V),"tools/list":ht("tools/list",ke),"prompts/get":ht("prompts/get",{name:C(),arguments:Re(C(),C()).optional()}),"prompts/list":ht("prompts/list",ke),"resources/list":ht("resources/list",ke),"resources/templates/list":ht("resources/templates/list",ke),"resources/read":ht("resources/read",{uri:C()}),"completion/complete":ht("completion/complete",kn),"server/discover":ht("server/discover",{}),"subscriptions/listen":ht("subscriptions/listen",ea)};function Sn(me){return et({_meta:Mt,...me})}const ir={"tools/call":Sn({content:ae(Ke),structuredContent:Be().optional(),isError:Ae().optional()}),"tools/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),tools:ae(wt),nextCursor:r.optional()}),"prompts/get":Sn({description:C().optional(),messages:ae(ue)}),"prompts/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),prompts:ae(G),nextCursor:r.optional()}),"resources/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resources:ae(B),nextCursor:r.optional()}),"resources/templates/list":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),resourceTemplates:ae(P),nextCursor:r.optional()}),"resources/read":Sn({ttlMs:fe().int().min(0),cacheScope:dt(["public","private"]),contents:ae(Te([F,H]))}),"completion/complete":Sn({completion:$({values:ae(C()).max(100),total:fe().int().optional(),hasMore:Ae().optional()}).loose()}),"server/discover":Sn({ttlMs:fe().int().min(0).catch(0),cacheScope:dt(["public","private"]).catch("private"),supportedVersions:ae(C()),capabilities:Ve,instructions:C().optional()}),"subscriptions/listen":Sn({})},pa=et({"io.modelcontextprotocol/subscriptionId":i.optional()}),Ra=$({method:J("notifications/subscriptions/acknowledged"),params:$({_meta:pa.optional(),notifications:da})}),ln=$({_meta:pa.optional(),requestId:i,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":M,"notifications/prompts/list_changed":U,"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:i,RoleSchema:o,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:O,ProgressNotificationParamsSchema:k,ProgressNotificationSchema:T,LoggingMessageNotificationParamsSchema:A,LoggingMessageNotificationSchema:q,ResourceContentsSchema:z,TextResourceContentsSchema:F,BlobResourceContentsSchema:H,AnnotationsSchema:ne,ResourceSchema:B,ResourceTemplateSchema:P,ResourceListChangedNotificationSchema:_,ResourceUpdatedNotificationParamsSchema:te,ResourceUpdatedNotificationSchema:Z,PromptArgumentSchema:D,PromptSchema:G,PromptListChangedNotificationSchema:U,TextContentSchema:K,ImageContentSchema:ie,AudioContentSchema:be,ToolUseContentSchema:pe,EmbeddedResourceSchema:_e,ResourceLinkSchema:Me,ContentBlockSchema:Ke,PromptMessageSchema:ue,ToolAnnotationsSchema:ve,ToolListChangedNotificationSchema:M,ModelHintSchema:W,ModelPreferencesSchema:re,ToolChoiceSchema:ze,BooleanSchemaSchema:Le,StringSchemaSchema:ge,NumberSchemaSchema:lt,UntitledSingleSelectEnumSchemaSchema:bt,TitledSingleSelectEnumSchemaSchema:Wt,LegacyTitledEnumSchemaSchema:At,SingleSelectEnumSchemaSchema:Zt,UntitledMultiSelectEnumSchemaSchema:oe,TitledMultiSelectEnumSchemaSchema:he,MultiSelectEnumSchemaSchema:Ne,EnumSchemaSchema:De,PrimitiveSchemaDefinitionSchema:Ge,ElicitRequestFormParamsSchema:ft,ResourceTemplateReferenceSchema:yt,PromptReferenceSchema:gt,RootSchema:Se,ClientCapabilities2026Schema:Ce,ServerCapabilities2026Schema:Ve,RequestMetaEnvelopeSchema:tt,ToolSchema:wt,ToolResultContentSchema:se,SamplingMessageContentBlockSchema:Qe,SamplingMessageSchema:at,ResultTypeSchema:Et,ResultMetaSchema:ut,ResultSchema:qt,PaginatedResultSchema:it,CallToolResultSchema:ot,ListToolsResultSchema:We,ListPromptsResultSchema:Ot,GetPromptResultSchema:en,ListResourcesResultSchema:vn,ListResourceTemplatesResultSchema:Tn,ReadResourceResultSchema:bn,CompleteResultSchema:Ln,CacheableResultSchema:Kn,DiscoverResultSchema:ye,CreateMessageRequestParamsSchema:Ue,CreateMessageRequestSchema:vt,ListRootsRequestSchema:Ze,CreateMessageResultSchema:ct,ListRootsResultSchema:Ee,ElicitResultSchema:Jt,ElicitRequestURLParamsSchema:tn,ElicitRequestParamsSchema:on,ElicitRequestSchema:Q,InputRequestSchema:yn,InputResponseSchema:ca,InputRequestsSchema:Sa,InputResponsesSchema:Dn,InputRequiredResultSchema:En,InputResponseRequestParamsSchema:In,CallToolRequestSchema:Xe,ListToolsRequestSchema:Dt,ListPromptsRequestSchema:wn,GetPromptRequestSchema:sn,ListResourcesRequestSchema:Ca,ListResourceTemplatesRequestSchema:Na,ReadResourceRequestSchema:ua,CompleteRequestSchema:Xn,DiscoverRequestSchema:xn,SubscriptionFilterSchema:da,SubscriptionsListenRequestSchema:Ga,SubscriptionsListenResultMetaSchema:Qa,SubscriptionsListenResultSchema:Xa,dispatchRequestSchemas:ta,dispatchResultSchemas:ir,NotificationMetaSchema:pa,SubscriptionsAcknowledgedNotificationSchema:Ra,CancelledNotificationParamsSchema:ln,CancelledNotificationSchema:Yn,notificationSchemas2026:Ua,JSONRPCResultResponseSchema:cn(qt),CallToolResultResponseSchema:cn(Te([ot,En])),ListToolsResultResponseSchema:cn(We),ListPromptsResultResponseSchema:cn(Ot),GetPromptResultResponseSchema:cn(Te([en,En])),ListResourcesResultResponseSchema:cn(vn),ListResourceTemplatesResultResponseSchema:cn(Tn),ReadResourceResultResponseSchema:cn(Te([bn,En])),CompleteResultResponseSchema:cn(Ln),DiscoverResultResponseSchema:cn(ye)}}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 xt=(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",iw(this,new.target)}static fromError(t,a,r){if(t===xt.UrlElicitationRequired&&r){const i=r;if(i.elicitations)return new y4(i.elicitations,a)}if(t===xt.UnsupportedProtocolVersion&&r){const i=r;if(Array.isArray(i.supported)&&typeof i.requested=="string")return new E4({supported:i.supported,requested:i.requested},a)}if(t===xt.InvalidParams||t===xt.ResourceNotFound){const i=r;if(typeof(i==null?void 0:i.uri)=="string"&&(t===xt.ResourceNotFound||Object.keys(i).length===1))return new b4(i.uri,a)}if(t===xt.MissingRequiredClientCapability&&r){const i=r;if(i.requiredCapabilities!==null&&typeof i.requiredCapabilities=="object"&&!Array.isArray(i.requiredCapabilities))return new w4({requiredCapabilities:i.requiredCapabilities},a)}return new Mr(t,a,r)}},Object.defineProperty(Mr,"mcpBrand",{value:"mcp.ProtocolError"}),Mr),si,b4=(si=class extends Vn{constructor(t,a=`Resource not found: ${t}`){super(xt.InvalidParams,a,{uri:t})}get uri(){return this.data.uri}},Object.defineProperty(si,"mcpBrand",{value:"mcp.ResourceNotFoundError"}),si),li,y4=(li=class extends Vn{constructor(t,a=`URL elicitation${t.length>1?"s":""} required`){super(xt.UrlElicitationRequired,a,{elicitations:t})}get elicitations(){var t;return((t=this.data)==null?void 0:t.elicitations)??[]}},Object.defineProperty(li,"mcpBrand",{value:"mcp.UrlElicitationRequiredError"}),li),ci,E4=(ci=class extends Vn{constructor(t,a=`Unsupported protocol version: ${t.requested}`){super(xt.UnsupportedProtocolVersion,a,t)}get supported(){return this.data.supported}get requested(){return this.data.requested}},Object.defineProperty(ci,"mcpBrand",{value:"mcp.UnsupportedProtocolVersionError"}),ci),ui,w4=(ui=class extends Vn{constructor(t,a=`Missing required client capabilities: ${Object.keys(t.requiredCapabilities).join(", ")}`){super(xt.MissingRequiredClientCapability,a,t)}get requiredCapabilities(){return this.data.requiredCapabilities}},Object.defineProperty(ui,"mcpBrand",{value:"mcp.MissingRequiredClientCapabilityError"}),ui);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(xt.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,i=pw(r.ttlMs)?r.ttlMs:I4(a),o=mw(r.cacheScope)?r.cacheScope:A4(a),s={...r,ttlMs:i,cacheScope:o};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:{[go]:t}}:!R4(a)||a[go]!==void 0?e:{...e,_meta:{...a,[go]: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 vo(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Gi(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 i=()=>(r||(a={...a},r=!0),a),o=t.tools;e==="tools/list"&&Array.isArray(o)&&o.some(l=>vo(l)&&"execution"in l)&&(i().tools=o.map(l=>{if(!vo(l)||!("execution"in l))return l;const c={...l};return delete c.execution,c}));const s=t.capabilities;if(vo(s)&&"tasks"in s){const l={...s};delete l.tasks,i().capabilities=l}return a}const pp={era:"2026-07-28",hasRequestMethod:vw,hasNotificationMethod:bw,hasInputRequestMethod:e=>Ec(e)!==void 0,validateRequest:(e,t)=>Gi(L4(e),t),validateResult:(e,t)=>Gi(D4(e),t),validateNotification:(e,t)=>Gi(F4(e),t),validateInputRequest:(e,t)=>Gi(Ec(e),t),validateInputResponse:(e,t)=>Gi(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 i=r.path.map(String),o=i.length>0?i.join("."):"_meta";i.length===1&&t.some(s=>s.key===o&&s.problem==="missing")||t.push({key:o,problem:r.message})}return t},projectCallToolResult:e=>ow(e),inputRequestSchema:Ec,decodeResult(e,t){if(!vo(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=vo(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(),i=Object.hasOwn(r,e)?r[e]:void 0;if(i!==void 0){const s=i.safeParse(t);if(!s.success)return{kind:"invalid",error:new Pn(Hn.InvalidResult,`Invalid result for ${e}: ${s.error}`,{method:e})}}const o={...t};return delete o.resultType,{kind:"complete",result:o}},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:()=>zi,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:()=>Ai,ImageContentSchema:()=>Rl,ImplementationSchema:()=>_i,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:()=>ki,LegacyTitledEnumSchemaSchema:()=>ip,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:()=>Pi,PaginatedResultSchema:()=>Oi,PingRequestSchema:()=>Hd,PrimitiveSchemaDefinitionSchema:()=>lp,ProgressNotificationParamsSchema:()=>Ly,ProgressNotificationSchema:()=>Vd,ProgressSchema:()=>zy,ProgressTokenSchema:()=>Ld,PromptArgumentSchema:()=>iE,PromptListChangedNotificationSchema:()=>hE,PromptMessageSchema:()=>pE,PromptReferenceSchema:()=>VE,PromptSchema:()=>oE,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:()=>Mi,RootSchema:()=>KE,RootsListChangedNotificationSchema:()=>QE,SamplingContentSchema:()=>IE,SamplingMessageContentBlockSchema:()=>No,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:()=>Ho,TaskCreationParamsSchema:()=>RM,TaskMetadataSchema:()=>wy,TaskSchema:()=>Li,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:()=>op,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;xt.InvalidRequest,xt.UnsupportedProtocolVersion,xt.InvalidParams,xt.MethodNotFound,xt.InvalidParams,xt.MissingRequiredClientCapability;xt.ParseError+"",xt.InvalidRequest+"",xt.MethodNotFound+"",xt.UnsupportedProtocolVersion+"",xt.MissingRequiredClientCapability+"";function ww(e,t){return sy(e,t)}function Qi(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=oy(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=oy(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(i=>a.map(o=>bl({local:r,offset:i,precision:o}))))}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 Ro(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(xt.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:Qi([_l,ap,rp,ip]),number:Qi([Ys]),integer:Qi([Ys]),boolean:Qi([np]),array:Qi([op,sp])},az=new Set(_l.shape.format.unwrap().options);function rz(e,t,a,r){if(!Ro(e))return e;const i=typeof e.type=="string"&&Object.hasOwn(bf,e.type)?bf[e.type]:void 0;if(i===void 0)return e;const o={};for(const[s,l]of Object.entries(e))i.has(s)||mp(s)?o[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}`):o[s]=l:r.push(`${t}.${s}`);return o}function iz(e,t){const a={},r=[];for(const[i,o]of Object.entries(e))i==="properties"&&Ro(o)?a[i]=Object.fromEntries(Object.entries(o).map(([s,l])=>[s,rz(l,`properties.${s}`,t,r)])):nz.has(i)?a[i]=o:mp(i)||r.push(i);if(r.length>0)throw new Vn(xt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${r.join(", ")}`);return a}function oz(e,t){if(!Ro(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,i)=>ku(r,t[i],`${a}[${i}]`)):!Ro(e)||!Ro(t)?[]:Object.entries(e).flatMap(([r,i])=>{const o=a?`${a}.${r}`:r;return Object.prototype.hasOwnProperty.call(t,r)?ku(i,t[r],o):mp(r)?[]:[o]})}function sz(e){if(!Eu(e.requestedSchema))return{...e,mode:"form",requestedSchema:e.requestedSchema};const t=e.requestedSchema["~standard"].vendor,a=iz(ez(e.requestedSchema),t),r=ww(Pl.shape.requestedSchema,a);if(!r.success)throw new Vn(xt.InvalidParams,`Elicitation requestedSchema only supports flat primitive properties (string, number, integer, boolean, and string enums): ${oz(a,r.error.message)}`);const i=ku(a,r.data);if(i.length>0)throw new Vn(xt.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${i.join(", ")}`);const o=(r.data.required??[]).filter(s=>!Object.prototype.hasOwnProperty.call(r.data.properties,s));if(o.length>0)throw new Vn(xt.InvalidParams,`Elicitation requestedSchema lists required properties that are not defined in properties: ${o.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,i=Cc(r)?mz.filter(c=>c in r):[],o=t==="request"?hz.filter(c=>c in a):[];if(i.length===0&&o.length===0)return{message:e,lifted:{}};const s={},l={...a};if(i.length>0&&Cc(r)){const c={},u={...r};for(const d of i)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 o)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 i=e.validateResult(t,r);return i.ok?{value:i.value}:{issues:[{message:i.reason==="invalid"?i.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,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:a,resetTimeoutOnProgress:i,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 i,o,s,l;this._transport=e;const t=(i=this.transport)==null?void 0:i.onclose;this._transport.onclose=()=>{try{t==null||t()}finally{this._onclose()}};const a=(o=this.transport)==null?void 0:o.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 i of this._timeoutInfo.values())clearTimeout(i.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 i of e.values())i(a);for(const i of t.values())i.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 i=this._notificationHandlers.get(a.method),o=this.fallbackNotificationHandler;i===void 0&&o===void 0||Promise.resolve().then(()=>i===void 0?o(a):i(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"),i=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 o=this._transport,s=(y,E,b)=>{const x={jsonrpc:"2.0",id:a.id,error:{code:y,message:E,...b!==void 0&&{data:b}}};o==null||o.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!==i.era){this._onerror(new Error(`Era mismatch on inbound request '${a.method}': classified as ${y} but this instance serves ${i.era}`));const E=t.classification.revision??y;s(xt.UnsupportedProtocolVersion,`Unsupported protocol version: ${E}`,{supported:this._supportedProtocolVersions,requested:E});return}}if(wc(a.method)&&!i.hasRequestMethod(a.method)){s(xt.MethodNotFound,"Method not found");return}const l=this._requestHandlers.get(a.method)??this.fallbackRequestHandler;if(l===void 0){s(xt.MethodNotFound,"Method not found");return}const c=i.checkInboundEnvelope(r);if(c!==void 0){s(xt.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:o==null?void 0:o.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=i.encodeResult(a.method,y,this._outboundServerInfo())}catch(x){this._onerror(new Error(`Failed to encode result for ${a.method}: ${x}`)),s(xt.InternalError,"Internal error");return}const b={result:E,jsonrpc:"2.0",id:a.id};await(o==null?void 0:o.send(b))},async y=>{if(p.signal.aborted)return;const E=Number.isSafeInteger(y.code)?y.code:xt.InternalError,b={jsonrpc:"2.0",id:a.id,error:{code:i.encodeErrorCode(E),message:y.message??"Internal error",...y.data!==void 0&&{data:y.data}}};await(o==null?void 0:o.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),i=this._progressHandlers.get(r);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const o=this._responseHandlers.get(r),s=this._timeoutInfo.get(r);if(s&&o&&s.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(l){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),o(l);return}i(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 i=Ef(r,e.method);if(i===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,i,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:i,resumptionToken:o,onresumptiontoken:s,headers:l}=r??{},c=Date.now();let u,d;return new Promise((p,m)=>{var S,I,N,O;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:i,resumptionToken:o,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)},(O=r==null?void 0:r.signal)==null||O.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:i,resumptionToken:o,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 i;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((((i=this._options)==null?void 0:i.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 o;this._pendingDebouncedNotifications.delete(t.method),this._transport&&((o=this._transport)==null||o.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=(i,o)=>{const s=this._negotiatedWireCodec();let l=s.validateRequest(e,i);if(!l.ok&&l.reason==="not-in-era"&&(l=s.validateInputRequest(e,i)),!l.ok)throw l.reason==="not-in-era"?new Vn(xt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(l.message);return Promise.resolve(t(l.value,o))}}else if(a)r=async(i,o)=>{const s=await Sc(t.params,{...i.params});if(!s.success)throw new Vn(xt.InvalidParams,`Invalid params for ${e}: ${s.error}`);return a(s.data,o)};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,i)=>{const o=i.validateNotification(e,r);if(!o.ok)throw o.reason==="not-in-era"?new Vn(xt.InternalError,`No wire schema for ${e} in the resolved era`):new Error(o.message);return Promise.resolve(t(o.value))});return}if(!a)throw new TypeError("setNotificationHandler: handler is required");this._notificationHandlers.set(e,async r=>{const i=await Sc(t.params,{...r.params});if(!i.success)throw new Vn(xt.InvalidParams,`Invalid params for notification ${e}: ${i.error}`);await a(i.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,i]of Object.entries(e)){if(!wf(i)||"method"in i||"result"in i){a.push(r);continue}t[r]=i}return{accepted:t,droppedKeys:a}}function bz(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 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=i;function i(l){if(!l)throw new TypeError("argument string is required");var c=typeof l=="object"?o(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 o(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],i=+a[2],o=+a[3],s=!!a[5];return(r<=23&&i<=59&&o<=59||r==23&&i==59&&o==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 i=r.listeners.indexOf(a);i!==-1&&r.listeners.splice(i,1)}dispatch(t,a){var i;let r=this._eventSlots.get(t);if(r){(i=r.onHandler)==null||i.call(r,a);for(let o of[...r.listeners])o(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,i=a==null?void 0:a.shape;if(typeof((c=i==null?void 0:i.method)==null?void 0:c.value)!="string")return;let o=i.method.value,s=e==="request"?"setRequestHandler":"setNotificationHandler";kf.has(s)||(kf.add(s),console.warn(`[ext-apps] ${s}(Schema, handler) is deprecated; use ${s}("${o}", { params: Schema.shape.params }, handler).`));let l=r;return[o,{params:i.params},e==="request"?(u,d)=>l({method:o,params:u},Mz(d)):u=>l({method:o,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."),To=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. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). @@ -634,7 +634,7 @@ Note: This type uses \`Record\` rather than \`Partial{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 Nt("/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 Nt(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 Nt(`/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 O,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 te=()=>e.readOnlyVersion?Promise.resolve({tools:[]}):P||(P=Nt(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 Nt(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(pe){if(K===ne)throw pe}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 pe=>{var Me,Ke,ue,ve;const _e=H;try{if(o.current.readOnlyVersion)throw Error("This saved version is read-only. Select Latest for live features.");const W=(Me=(await te().catch(ge=>{if(T.signal.aborted)throw ge;return{tools:[]}})).tools)==null?void 0:Me.find(ge=>ge.name===pe.name),re=()=>hL(e,pe,T.signal),Le=await(((Ke=W==null?void 0:W.annotations)==null?void 0:Ke.readOnlyHint)===!0&&((ue=W==null?void 0:W.annotations)==null?void 0:ue.destructiveHint)!==!0?B.run(pe,re):re());return Le!=null&&Le.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"),Le}catch(M){throw M.backgroundReadPaused||Z("error",M.message),M}},A.onlisttools=te;const be=(pe,_e={})=>Nt(dr(e,"resources",{kind:pe,..._e}),{signal:T.signal});if(A.onreadresource=pe=>be("read",{uri:pe.uri}),A.onlistresources=pe=>be("list",pe!=null&&pe.cursor?{cursor:pe.cursor}:{}),A.onlistresourcetemplates=pe=>be("templates",pe!=null&&pe.cursor?{cursor:pe.cursor}:{}),A.onupdatemodelcontext=async pe=>e.readOnlyVersion?{}:(await Rf("smartTools.context",{canvasId:e.id,expectedRevision:e.revision||1,context:pe},T.signal),{}),A.oninitialized=async()=>{var pe,_e,Me,Ke;z=!0,p.current=!0;try{await A.sendToolInput({arguments:((pe=o.current.mcp)==null?void 0:pe.toolArguments)||{}});const ue=(_e=o.current.mcp)==null?void 0:_e.operationId,ve=(Me=o.current.mcp)!=null&&Me.savedResult?(await Nt(dr(e,"result"),{signal:T.signal})).result:ue?(await Nt(`/api/smart-tools/operations/${encodeURIComponent(ue)}`,{signal:T.signal})).result:(Ke=o.current.mcp)==null?void 0:Ke.result;ve&&await A.sendToolResult(ve);const M=d.current;Z(["ready","saved_version"].includes(M==null?void 0:M.status)?"ready":"error",(M==null?void 0:M.message)||"Tool view connected")}catch(ue){Z("error",ue.message)}},A.onerror=pe=>Z("error",pe.message),await A.connect(new rL(r.current.contentWindow,r.current.contentWindow)),q){i.current=A;const pe={...s.current,theme:l.current,[cs]:I.current};s.current=pe,A.setHostContext(pe),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 U=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(U),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,(O=e.view)==null?void 0:O.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 Nt(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 Nt(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:()=>Nt(`/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."),O=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")),O?n.createElement(n.Fragment,null,n.createElement(O,{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(nn,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,O,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=(O=o.events)==null?void 0:O.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(nn,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(Qt,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(nn,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(Qt,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(Qt,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(O=>{(O==null?void 0:O.accepted)===!1&&N&&s(O.error||"Could not list files.")}).catch(O=>{N&&s(O.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(O=>{O!=null&&O.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:gu().optional(),permissions:gu().optional()});$({mimeTypes:ae(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:ae(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:ae(zi).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:To.optional().describe("How the UI is currently displayed."),availableDisplayModes:ae(To).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:ae(zi).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Re(C(),Be().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),nL=$({method:J("ui/initialize"),params:$({appInfo:_i.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:_i.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 o,s,l;if(a&&r.source!==this.eventSource){console.debug("Ignoring message from unknown source",r);return}let i=xy.safeParse(r.data);i.success?(console.debug("Parsed message",i.data),(o=this.onmessage)==null||o.call(this,i.data)):((s=r.data)==null?void 0:s.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",i.error.message,r):(console.error("Failed to parse message",i.error.message,r),(l=this.onerror)==null||l.call(this,Error("Invalid JSON-RPC message received: "+i.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 iL=[Rw];class oL extends gz{constructor(a,r,i,o){super(o);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,...i]=xf("request",a)??a;this._methods.claim(r,"setRequestHandler"),super.setRequestHandler.call(this,r,...i)});Ye(this,"setNotificationHandler",(...a)=>{let[r,...i]=xf("notification",a)??a;this._methods.claim(r,"setNotificationHandler"),super.setNotificationHandler.call(this,r,...i)});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=i,this._methods.replace("notifications/cancelled"),this._methods.replace("notifications/progress"),this._ensureEventSlot("initialized"),this._hostContext=(o==null?void 0:o.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 i=super._wrapHandler(a,r);return a==="ui/initialize"||a==="ping"?i:async(o,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.`),i(o,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 i=o=>{a==="initialized"&&(this._initializedReceived=!0),this._events.dispatch(a,o)};a==="loggingmessage"?this.setNotificationHandler("notifications/message",o=>{i(o.params)}):this.setNotificationHandler(r.shape.method.value,{params:r.shape.params},o=>i(o)),this._registeredEvents.add(a)}warnIfRequestHandlerReplaced(a,r,i){r&&i&&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,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(r,i)})}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,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(r,i)})}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,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(r,i)})}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,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(r,i)})}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,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(r,i)})}get oncalltool(){return this._oncalltool}set oncalltool(a){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,a),this._oncalltool=a,this.replaceRequestHandler("tools/call",async(r,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(r.params,i)})}get oncreatesamplingmessage(){return this._oncreatesamplingmessage}set oncreatesamplingmessage(a){this.warnIfRequestHandlerReplaced("oncreatesamplingmessage",this._oncreatesamplingmessage,a),this._oncreatesamplingmessage=a,this.replaceRequestHandler("sampling/createMessage",async(r,i)=>{if(!this._oncreatesamplingmessage)throw Error("No oncreatesamplingmessage handler set");return this._oncreatesamplingmessage(r.params,i)})}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,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(r.params,i)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(a){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,a),this._onlistresourcetemplates=a,this.replaceRequestHandler("resources/templates/list",async(r,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(r.params,i)})}get onreadresource(){return this._onreadresource}set onreadresource(a){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,a),this._onreadresource=a,this.replaceRequestHandler("resources/read",async(r,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(r.params,i)})}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,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(r.params,i)})}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:Rw,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(a){let r={},i=!1;for(let o of Object.keys(a)){let s=this._hostContext[o],l=a[o];sL(s,l)||(r[o]=l,i=!0)}i&&(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(i,o)=>this._client.request({method:"tools/call",params:i},{signal:o.mcpReq.signal}),r.tools.listChanged&&this._client.setNotificationHandler("notifications/tools/list_changed",i=>this.sendToolListChanged(i.params))),r.resources&&(this.onlistresources=async(i,o)=>this._client.request({method:"resources/list",params:i},{signal:o.mcpReq.signal}),this.onlistresourcetemplates=async(i,o)=>this._client.request({method:"resources/templates/list",params:i},{signal:o.mcpReq.signal}),this.onreadresource=async(i,o)=>this._client.request({method:"resources/read",params:i},{signal:o.mcpReq.signal}),r.resources.listChanged&&this._client.setNotificationHandler("notifications/resources/list_changed",i=>this.sendResourceListChanged(i.params))),r.prompts&&(this.onlistprompts=async(i,o)=>this._client.request({method:"prompts/list",params:i},{signal:o.mcpReq.signal}),r.prompts.listChanged&&this._client.setNotificationHandler("notifications/prompts/list_changed",i=>this.sendPromptListChanged(i.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 i=()=>r(document.visibilityState!=="hidden");return document.addEventListener("visibilitychange",i),()=>document.removeEventListener("visibilitychange",i)},[]),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,i=[];let o=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(;i.length&&o{o--,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(o>=e&&i.length>=t)return Promise.reject(l("Too many background reads. Wait for the current refresh to finish."));const h=new Promise((f,v)=>{i.push({run:p,resolve:f,reject:v}),u()}).finally(()=>r.delete(m));return r.set(m,h),h},close(){for(s=!0;i.length;)i.shift().reject(c())}}}async function Rf(e,t,a){var o;const r=await Nt("/api/actions",{method:"POST",body:{id:crypto.randomUUID(),action:e,args:t},signal:a});if(!r.operationId)return r;const i=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(),i=Date.now()+31e4;let o=await Nt(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(o.status);){if(a!=null&&a.aborted||Date.now()>=i)throw new Error("No completion received. Inspect Smart Tools activity before retrying; input was not replayed.");await new Promise(l=>setTimeout(l,350)),o=await Nt(`/api/smart-tools/operations/${encodeURIComponent(r)}`,{signal:a})}if(o.status==="completed"||(s=o.result)!=null&&s.isError)return o.result;throw new Error(o.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 i=t(),o=s=>r(s.matches?"dark":"light");return r(i.matches?"dark":"light"),i.addEventListener("change",o),()=>i.removeEventListener("change",o)},[e]),e==="dark"||e==="light"?e:a}function gL({canvas:e,act:t,connectionKey:a}){var O,k;const r=g.useRef(null),i=g.useRef(e),o=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,i.current=e,l.current=R,g.useEffect(()=>{const T=o.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 te=()=>e.readOnlyVersion?Promise.resolve({tools:[]}):P||(P=Nt(dr(e,"tools"),{signal:T.signal}).catch(K=>{throw P=null,K})),Z=(K,ie)=>{!q||F===K+ie||(F=K+ie,u({phase:K,text:ie}),t("canvas.report",{id:e.id,part:"mcp-app",status:K==="ready"?"ready":K==="error"?"error":"pending",message:ie}))};y.current=Z;const D=()=>{const K=++H;return ne=(async()=>{try{const ie=await Nt(dr(e,"status"),{signal:T.signal});return q&&K===H&&(w(ie),z&&Z(["ready","saved_version"].includes(ie.status)?"ready":"error",ie.message),_()),ie}catch(ie){throw q&&K===H&&Z("error",ie.message),ie}})(),ne};b.current=D;const G=async()=>{let K=D(),ie;for(;q;){try{ie=await K}catch(pe){if(K===ne)throw pe}if(K===ne)break;K=ne}if(!q)return;if(ie.source!=="available"){Z("error",ie.message);return}s.current={theme:l.current,[cs]:I.current,displayMode:"inline",availableDisplayModes:["inline"],locale:navigator.language},A=new oL(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 pe=>{var Me,Ke,ue,ve;const _e=H;try{if(i.current.readOnlyVersion)throw Error("This saved version is read-only. Select Latest for live features.");const W=(Me=(await te().catch(ge=>{if(T.signal.aborted)throw ge;return{tools:[]}})).tools)==null?void 0:Me.find(ge=>ge.name===pe.name),re=()=>hL(e,pe,T.signal),Le=await(((Ke=W==null?void 0:W.annotations)==null?void 0:Ke.readOnlyHint)===!0&&((ue=W==null?void 0:W.annotations)==null?void 0:ue.destructiveHint)!==!0?B.run(pe,re):re());return Le!=null&&Le.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"),Le}catch(M){throw M.backgroundReadPaused||Z("error",M.message),M}},A.onlisttools=te;const be=(pe,_e={})=>Nt(dr(e,"resources",{kind:pe,..._e}),{signal:T.signal});if(A.onreadresource=pe=>be("read",{uri:pe.uri}),A.onlistresources=pe=>be("list",pe!=null&&pe.cursor?{cursor:pe.cursor}:{}),A.onlistresourcetemplates=pe=>be("templates",pe!=null&&pe.cursor?{cursor:pe.cursor}:{}),A.onupdatemodelcontext=async pe=>e.readOnlyVersion?{}:(await Rf("smartTools.context",{canvasId:e.id,expectedRevision:e.revision||1,context:pe},T.signal),{}),A.oninitialized=async()=>{var pe,_e,Me,Ke;z=!0,p.current=!0;try{await A.sendToolInput({arguments:((pe=i.current.mcp)==null?void 0:pe.toolArguments)||{}});const ue=(_e=i.current.mcp)==null?void 0:_e.operationId,ve=(Me=i.current.mcp)!=null&&Me.savedResult?(await Nt(dr(e,"result"),{signal:T.signal})).result:ue?(await Nt(`/api/smart-tools/operations/${encodeURIComponent(ue)}`,{signal:T.signal})).result:(Ke=i.current.mcp)==null?void 0:Ke.result;ve&&await A.sendToolResult(ve);const M=d.current;Z(["ready","saved_version"].includes(M==null?void 0:M.status)?"ready":"error",(M==null?void 0:M.message)||"Tool view connected")}catch(ue){Z("error",ue.message)}},A.onerror=pe=>Z("error",pe.message),await A.connect(new rL(r.current.contentWindow,r.current.contentWindow)),q){o.current=A;const pe={...s.current,theme:l.current,[cs]:I.current};s.current=pe,A.setHostContext(pe),r.current.src=jo(dr(e,"document"))}};p.current=!1,w(null),Z("loading","Checking saved tool view…"),G().catch(K=>Z("error",K.message));const U=setTimeout(()=>{var K,ie;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.":((ie=d.current)==null?void 0:ie.message)||"The saved tool document could not be checked. Retry when the host is available.")},15e3);return()=>{q=!1,clearTimeout(U),B.close(),T.abort(),y.current===Z&&(y.current=null),b.current===D&&(b.current=null),E.current===_&&(E.current=null),o.current===A&&(o.current=null),s.current=null,A==null||A.close().catch(()=>{})}},[e.id,e.resourceRevision,e.generation,(O=e.view)==null?void 0:O.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 Nt(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 Nt(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(i=>[i.id,i])),r=(i,o=[])=>{var d;if(o.length>20||o.includes(i))return null;const s=a.get(i);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,[...o,i])))};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,[...o,i])):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:i,name:c.action.name})},r(c.child,[...o,i])):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 so=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:i}){const o=JSON.stringify(so(e)),s=g.useMemo(()=>JSON.parse(o),[o]),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:()=>Nt(`/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:i}):n.createElement("p",{role:"alert"},"No standard viewer supports this artifact."),O=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")),O?n.createElement(n.Fragment,null,n.createElement(O,{canvas:t,act:f,connectionKey:i}),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[i,o]=g.useState(""),s=g.useMemo(()=>t.canvas?{...t.canvas,...e.app?{app:e.app}:{},...so(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);o(((E=b==null?void 0:b.result)==null?void 0:E.status)==="deferred"?b.result.reason:"")}catch(b){o(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",{...so(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",{...so(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",{...so(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"),i&&n.createElement("p",{role:"alert",className:"a-renderer-notice"},i),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),i=(((l=e.canvasWorkspace)==null?void 0:l.views)||[]).filter(c=>c.viewId==="primary");for(const c of r.current.keys())i.some(u=>u.viewId===c)||r.current.delete(c);const o=i.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},o.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:i=!1,navWidth:o=320,canvasWidth:s=440,priority:l="canvas"}={}){const c=i&&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,o),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,o),Math.max(pr,e-a))}}const _w=g.createContext(null);function SL({state:e,act:t,children:a,presentation:r={}}){var v,y;const i=Uu(),o=g.useRef(null),[s,l]=g.useState({available:1200,gap:12,rail:0}),[c,u]=g.useState(null);g.useEffect(()=>{const E=o.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:!i&&!!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:!i&&!!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:i,canvasOnLeft:p,preview:(E,b)=>u({[E]:b,priority:E==="navWidth"?"nav":"canvas"}),cancel:()=>u(null),persist:f}},n.createElement("main",{ref:o,className:"a-layout","data-part":"workspace","data-narrow":i,"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,i,o,s;return g.useContext(_w)||{...Su({navPinned:(r=e.view)==null?void 0:r.navPinned,canvasOpen:!!e.selectedSessionId&&((i=e.canvas)==null?void 0:i.open),navWidth:(o=e.view)==null?void 0:o.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",i=r?"navWidth":"canvasWidth",o=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(o),tabIndex:0,"data-action":"view.update",onPointerDown:p=>{p.preventDefault(),a.current={x:p.clientX,width:o},p.currentTarget.setPointerCapture(p.pointerId)},onPointerMove:p=>{a.current&&e.preview(i,d(p))},onPointerUp:p=>{if(a.current){const m=d(p);a.current=null,e.persist(i,m)}},onPointerCancel:()=>{a.current=null,e.cancel()},onKeyDown:p=>{["ArrowLeft","ArrowRight","Home","End"].includes(p.key)&&(p.preventDefault(),e.persist(i,p.key==="Home"?s:p.key==="End"?Math.floor(l):c(o+(p.key==="ArrowLeft"?-20:20)*u)))}})}const mr=(e,t)=>e("view.update",{patch:t});function CL({state:e,act:t,layout:a}){var o,s;const r=(a||((o=e.view)==null?void 0:o.layout))==="work"?zu:Gk,i=!!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":i?"Close canvas":"Open canvas","aria-pressed":i,"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:i,shell:o,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=()=>{(i||(()=>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(nn,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:o})),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,i=e.historyReadOnlyReason,o=!!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!o&&!e.historyError&&!s&&!r&&!i&&!c&&!u?null:n.createElement("div",{className:"a-session-history","data-part":"session-history"},(r||i)&&n.createElement("p",{role:"status"},n.createElement(tr,null),i||"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."),o&&!((h=e.messages)!=null&&h.length)&&n.createElement("p",{role:"status"},n.createElement(Ci,{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:o,onClick:d},"Try again")),s&&n.createElement("button",{type:"button",className:"a-soft","data-action":"session.history",disabled:o,onClick:p},o?"Loading earlier messages…":"Load earlier messages"))}function TL({state:e,act:t,dispatch:a=t,suppressed:r=!1}){var R,S,I,N,O,k,T,A,q;const i=e.canvas||{},o=e.view||{},s=o.canvasDraft||{},l=Pw(e,t),c=g.useRef(null),u=g.useRef(t);u.current=t;const[d,p]=g.useState(null),m=fi(e),h=!!((S=(R=e.canvasWorkspace)==null?void 0:R.views)!=null&&S.length)&&!i.placeholder,f=m.length>0;g.useEffect(()=>{var z,F;!i.open&&((z=c.current)!=null&&z.contains(document.activeElement))&&((F=document.querySelector(".a-canvas-toggle"))==null||F.focus({preventScroll:!0}))},[i.open]);const v=g.useRef(!1);i.open&&(v.current=!0);const y=!r&&!!e.selectedSessionId&&!!i.open&&!!o.canvasFocused,E=!!o.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=(O=i.events)==null?void 0:O.at(-1);return n.createElement(zs.Provider,{value:d},n.createElement("aside",{ref:c,id:"workspace-canvas",className:"a-canvas-panel",hidden:r||!i.open||!e.selectedSessionId,inert:r||!i.open||!e.selectedSessionId,"aria-hidden":r||!i.open||!e.selectedSessionId||void 0,"data-part":"canvas","data-focused":y,"data-controls":E,"data-pinned":!!o.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(zo,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(nn,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 (${fi(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")))),i.path&&!s.library&&n.createElement("div",{className:"a-canvas-file-path",title:i.path},i.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(Qt,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&&!!i.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 i=g.useRef(null);return al(i,!0,t),g.useEffect(()=>{var o,s;r&&((s=(o=i.current)==null?void 0:o.querySelector(r))==null||s.focus())},[r]),Po.createPortal(n.createElement("div",{className:"a-work-dialog-backdrop",onSubmit:o=>o.stopPropagation(),onPaste:o=>o.stopPropagation(),onDrop:o=>o.stopPropagation(),onClick:o=>{o.target===o.currentTarget&&t()}},n.createElement("section",{ref:i,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(nn,null))),a)),document.getElementById("amp-one"))}function IL({state:e,act:t}){var c,u;const[a,r]=g.useState(!1),i=g.useRef(null),o=Ja(e),s=(c=e.workspaces)==null?void 0:c.find(d=>d.path===o.workspace),l=()=>{r(!1),requestAnimationFrame(()=>{var d;return(d=i.current)==null?void 0:d.focus()})};return n.createElement(n.Fragment,null,n.createElement("button",{type:"button",ref:i,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=o.location)==null?void 0:u.kind)==="managed"||!o.workspace?"No workspace":(s==null?void 0:s.name)||o.workspace.split("/").at(-1)),n.createElement(Qt,null)),a&&n.createElement(zw,{initialFocus:'input[type="search"]',label:"Choose a workspace",onClose:l},n.createElement(Rx,{state:e,act:t,setup:o,onChange:async d=>{const p=await t("view.update",{patch:{newSessionDraft:{...o,...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(Oo);return n.createElement(zw,{label:"Workspace",onClose:a},n.createElement(ol,{state:e,act:t,fromDraft:!e.selectedSessionId,onCancel:a,onDone:i=>{a(),i!=null&&i.workspaceId?r.browse("workspace",i.workspaceId):r.browse("workspaces")}}))}function Lw({label:e,children:t,icon:a=n.createElement(zo,null),badge:r}){const i=g.useRef(null),[o,s]=g.useState(!1);return g.useEffect(()=>{var u,d;if(!o)return;(d=(u=i.current)==null?void 0:u.querySelector(".a-work-menu-items button"))==null||d.focus();const l=p=>{var m;(m=i.current)!=null&&m.contains(p.target)||s(!1)},c=p=>{var m,h;p.key==="Escape"&&(s(!1),(h=(m=i.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)}},[o]),n.createElement("div",{className:"a-work-menu",ref:i,onBlur:l=>{l.relatedTarget&&!l.currentTarget.contains(l.relatedTarget)&&s(!1)}},n.createElement("button",{type:"button",className:"a-icon","aria-label":e,"aria-expanded":o,onClick:()=>s(!o)},a,r),o&&n.createElement("div",{className:"a-work-menu-items",role:"group","aria-label":e,onClickCapture:()=>{var l,c;return(c=(l=i.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:i,presentation:o}){var m,h,f,v;const s=g.useContext(Oo),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")),(i||!((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,...i?{}:{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(Qt,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(og,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(yo,null),"Archive")),n.createElement(CL,{state:e,act:a,layout:o.layout}))))}function OL({workspace:e,state:t,act:a}){var x,w,R,S,I;const[r,i]=g.useState(e.path),[o,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=o||((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(O=>{(O==null?void 0:O.accepted)===!1&&N&&s(O.error||"Could not list files.")}).catch(O=>{N&&s(O.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:()=>i((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(Si,null),n.createElement("button",{type:"button",disabled:!N.directory&&!b,onClick:()=>N.directory?i(N.path):a("canvas.openFile",{sessionId:E.id,workspace:e.path,path:N.path}).then(O=>{O!=null&&O.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 i=mi(e,"chats"),o=mi(t||e,"workspaces"),s=rl(),l=g.useContext(Oo),c=As(a),u=o.workspace,d=a.view.workWorkspaceTab||"chats",p=b=>r("view.update",{patch:{workWorkspaceTab:b}}),m=c==="chats"?{...i.view,...(v=i.state.sidebarNavigation)==null?void 0:v.recentView,...i.view.navRecentView,navChatScope:"all"}:{...i.view,navChatScope:"workspace"},h=ys({...i.state,view:m},i.workspace,{section:c==="chats"?"recent":"workspace"}),f=(b,x)=>{var R;if(b!=="view.update"||c!=="chats")return i.act(b,x);const w={...(R=i.state.sidebarNavigation)==null?void 0:R.recentView,...i.view.navRecentView,...x.patch};return Object.hasOwn(x.patch,"navChatPage")||delete w.navChatPage,i.act(b,{patch:{navRecentView:w}})};return n.createElement("div",{className:"a-work-browser","data-part":"work-browser"},n.createElement(hi,{model:i}),n.createElement(hi,{model:o}),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(qo,{state:o.state,act:o.act,onEdit:o.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:()=>o.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=i.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:i.state.sidebarNavigation.pinned,model:i,now:s})),(c==="chats"||d==="chats")&&n.createElement(Vc,{page:h,model:i,view:m,viewAct:f,now:s,showLocation:c==="chats"})))}function zL({shell:e,state:t,act:a}){const r=e.composition.instances.find(o=>o.package==="builtin.chats"),i=e.composition.instances.find(o=>o.package==="builtin.workspaces");return r?n.createElement(ML,{host:e.hostFor(r),workspaceHost:i?e.hostFor(i):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:i,session:o,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&&i&&o&&n.createElement("div",{className:"a-call-strip",role:"status"},n.createElement("span",null,o.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:o.id})},"Stop")))}const DL=`/* 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:"8f4da19dd1d86f06"};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 Nn({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,O=(N==null?void 0:N.token)||"settings-"+crypto.randomUUID(),k={...history.state};delete k.amplifierSettings;const T={token:O,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:O,index:T.index}},"")};N||u.current.trail.forEach(A);const q=async F=>{var _,te;const H=(_=F.state)==null?void 0:_.amplifierSettings;if((H==null?void 0:H.token)!==O){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:O,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&&!((te=u.current.view[B])!=null&&te.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)===O&&!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((O,k)=>{I.entries[k]=O}),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),O={...N.navigation};for(const k of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])O[k]&&(O[k]={...a[k],...O[k]});r("view.update",{patch:O})}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 be,pe,_e,Me,Ke;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,O]=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||((be=e.view)==null?void 0:be.scheme)||"system";async function B(){var ve;const ue=await A.current("theme.list",{});if(!Array.isArray((ve=ue.result)==null?void 0:ve.items))throw Error("The appearance library is unavailable. Try reopening Settings.");q.current&&(E(ue.result),v(""))}g.useEffect(()=>{if(!h)return;q.current=!0,B().catch(ve=>v(ve.message));const ue=setInterval(()=>B().catch(()=>{}),5e3);return()=>{q.current=!1,z.current++,clearInterval(ue),F.current&&(c(!1),A.current("view.update",{patch:{themePreview:!1}}).catch(()=>{}))}},[h]);async function P(ue){R(!0),I(""),O("");try{await ue()}catch(ve){q.current&&I(ve.message)}finally{q.current&&R(!1)}}async function _(ue){const ve=++z.current;await P(async()=>{const{result:M}=await A.current("theme.read",{id:ue.id});if(!q.current||ve!==z.current)return;x(ue.id),s(M.name),l(M.css);const W=await A.current(d?"theme.apply":"theme.preview",{name:M.name,css:M.css});if((W==null?void 0:W.accepted)===!1)throw Error(W.error||"Could not save appearance.");c(!d),d&&O(M.name+" saved.")})}async function te(){await P(async()=>{await A.current("theme.apply",{name:r,css:o}),c(!1),O(r+" applied.")})}async function Z(){await P(async()=>{var ue,ve;i&&await A.current("theme.revert",{}),c(!1),s(((ue=e.theme)==null?void 0:ue.name)||"Amplifier Unified"),l(((ve=e.theme)==null?void 0:ve.css)||u),x(null)})}async function D(ue){"name"in ue&&s(ue.name),"css"in ue&&l(ue.css),x(null),c(!1),await A.current("view.update",{patch:{themeDraft:ue.css??o,themeDraftName:ue.name??r,themePreview:!1}})}async function G(){await P(async()=>{const{result:ue}=await A.current("theme.save",{name:r,css:o});x(ue.id),await B(),O("Saved to your appearance library.")})}async function U(ue){if(!ue)return;if(ue.size>99e4)throw Error("Choose a CSS appearance smaller than 1 MB.");const ve=await ue.text(),M=ue.name.replace(/\.amplifier\.css$|\.css$/i,"").slice(0,100),{result:W}=await A.current("theme.save",{name:M,css:ve});return await B(),O(M+" added to your library. Select it to preview."),W}const K=b||(((pe=e.theme)==null?void 0:pe.name)==="Amplifier Unified"?"builtin:default":(_e=y.items.find(ue=>{var ve;return ue.name===((ve=e.theme)==null?void 0:ve.name)}))==null?void 0:_e.id),oe=ue=>P(()=>t.setPresentation(ue));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:((Me=e.theme)==null?void 0:Me.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(ue=>n.createElement("button",{type:"button",key:ue.id,className:"a-appearance-card","aria-label":(d?"Use ":"Preview ")+ue.name,"aria-pressed":K===ue.id,disabled:w,"data-action":d?"theme.apply":"theme.preview",onClick:()=>_(ue)},n.createElement(KL,{item:ue}),n.createElement("div",{className:"a-appearance-card-caption"},n.createElement("div",null,n.createElement("strong",null,ue.name),!d&&n.createElement("small",null,ue.tag)),K===ue.id?n.createElement(Pt,null):n.createElement(Uc,null)),!d&&n.createElement("p",null,ue.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:te},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:ue=>oe({scheme:ue.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(([ue,ve,M])=>n.createElement("button",{type:"button",key:ue,disabled:w,"aria-pressed":ne===ue,"data-action":"shell.changes.apply",onClick:()=>oe({scheme:ue})},n.createElement(M,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(([ue,ve,M])=>n.createElement("label",{key:ue,"data-selected":(H.interfaceDetail||H.executionDetail||"standard")===ue},n.createElement("input",{type:"radio",name:"interface-detail",value:ue,checked:(H.interfaceDetail||H.executionDetail||"standard")===ue,disabled:w,"data-action":"shell.changes.apply",onChange:()=>oe({interfaceDetail:ue,executionDetail:ue})}),n.createElement("span",null,n.createElement("strong",null,ve),n.createElement("small",null,M)))))),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||((Ke=e.view)==null?void 0:Ke.layout)||"balanced",disabled:w,"data-action":"shell.changes.apply",onChange:ue=>oe({layout:ue.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:U}),y.errors.map(ue=>n.createElement("p",{className:"a-danger",key:ue.name},ue.name,": ",ue.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:ue=>T(ue.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:ue=>D({name:ue.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:ue=>D({css:ue.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:te},"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(Qt,{"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(Qt,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(nn,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,U,K,oe,be,pe,_e,Me,Ke,ue,ve,M;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,re={},ze=""){if(x.current)return;x.current=!0;const Le=++R.current;f(""),y(""),b({action:W,id:re.id||re.module||"",commandId:null,next:ze});try{const ge=await a(W,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(W)?{sessionId:t.id}:{},...re});if(!S.current||Le!==R.current)return;if(!(ge!=null&&ge.accepted)||!ge.operationId)throw Error((ge==null?void 0:ge.error)||"The request could not be confirmed. Please try again.");b({action:W,id:re.id||re.module||"",commandId:ge.operationId,next:ze})}catch(ge){S.current&&Le===R.current&&(f(ge.message),b(null),x.current=!1)}}const O=iD(e,E),k=!!E;g.useEffect(()=>{var ze;if(!O||Of(O))return;const W=E.next,re=E.action;if(b(null),x.current=!1,O.phase==="error"){f(O.error||"The request did not finish. Your choices are kept.");return}O.phase==="ready"&&(re==="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})):re==="providers.remove"?(m(""),I({step:"list",id:"",saved:!1}),y("Connection removed. Existing conversations keep their configuration.")):re==="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.")):re==="providers.models"&&y("Model list checked. No chat request was sent."))},[O==null?void 0:O.commandId,O==null?void 0:O.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=(U=i.providerCatalogs)==null?void 0:U[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=((be=i.credentialCheck)==null?void 0:be.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"})},te=()=>r("providers"),Z=!!p||c==="connect"&&!!l.baseUrl&&l.baseUrl!==(((pe=d==null?void 0:d.config)==null?void 0:pe.base_url)||"")||c==="model"&&!!l.model&&l.model!==(((_e=d==null?void 0:d.config)==null?void 0:_e.default_model)||((Me=d==null?void 0:d.config)==null?void 0:Me.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 re,ze,Le,ge;return n.createElement(fr,{key:W.id,disabled:k,title:Tc(W.module).name+(s.filter(lt=>lt.module===W.module).length>1?" · "+W.id:""),description:(((re=W.config)==null?void 0:re.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")+((ge=(Le=W.credential)==null?void 0:Le.preview)!=null&&ge.masked?" · Key "+W.credential.preview.masked:""),onClick:()=>{var lt,bt,Wt,At;f(""),y(""),I({step:"detail",id:W.id,module:W.module,model:((lt=W.config)==null?void 0:lt.default_model)||((bt=W.config)==null?void 0:bt.model)||"",scope:"global",baseUrl:((Wt=W.config)==null?void 0:Wt.base_url)||"",previousLoginId:(At=i.login)==null?void 0:At.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:te},"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:te},"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,((Ke=d==null?void 0:d.config)==null?void 0:Ke.default_model)||((ue=d==null?void 0:d.config)==null?void 0:ue.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:te},"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(Nn,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(Nn,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(rt,{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(Nn,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:te},"Full provider configuration"))))),h&&n.createElement(rt,{phase:"error",message:h}),v&&n.createElement(rt,{phase:"ready",message:v}),k&&n.createElement(rt,{phase:"working",message:"Working on this connection…"}),!k&&((M=i.test)==null?void 0:M.providerId)===l.id&&c==="detail"&&n.createElement(rt,{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(Qt,{"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(Nn,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,_,te,Z,D,G,U,K,oe,be,pe,_e,Me,Ke,ue,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=M=>{const W={...i.current,...M};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,M=>[M.name,M.description,M.source],"Filter routing profiles"),f=M=>{var W;return s[M]||((W=e.actionStatus)==null?void 0:W[M])},v=async(M,W={})=>{l(re=>({...re,[M]:{phase:"pending"}}));try{const re=await t(M,W);return l(ze=>({...ze,[M]:re?null:{phase:"error",error:"Request could not be sent. Try again."}})),re}catch(re){l(ze=>({...ze,[M]:{phase:"error",error:re.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=M=>{const W=y(),re=W[M];re?c({...re,profileKey:M,requested:null,profiles:W,order:null,error:"",detailOpen:!1,candidateOpen:!1}):(c({profileKey:M,requested:M,profiles:W,order:null,error:""}),v("routing.show",{name:M}))};g.useEffect(()=>{if(u.matrix&&u.matrix.name===i.current.requested){const M=u.matrix;c({matrix:M,name:M.name,profileKey:M.name,requested:null,rawText:lr(M),raw:!1,role:Object.keys(M.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:(te=x[0])==null?void 0:te[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],[O,k]=ka(e,t,"routing-roles",x,([M,W])=>[M,W.description,...(W.candidates||[]).flatMap(re=>[re.provider,re.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=M=>c({matrix:M,rawText:lr(M),error:""}),A=M=>T(QL(b,w,I,M)),q=N?d.filter(M=>M.id===N.provider||M.module==="provider-"+N.provider||M.module===N.provider):[],z=q.find(M=>M.id===(N==null?void 0:N.provider)),F=z?[z]:q,H=[...new Map(F.flatMap(M=>{var W;return(((W=u.modelCatalogs)==null?void 0:W[M.id])||[]).map(re=>[typeof re=="string"?re:re.id,re])}).filter(([M])=>M)).values()],ne=z?(D=u.providerCatalogs)==null?void 0:D[z.id]:void 0;g.useEffect(()=>{var W,re;const M=(W=e.actionStatus)==null?void 0:W["routing.save"];(M==null?void 0:M.phase)==="ready"&&((re=M.target)==null?void 0:re.name)===i.current.name&&c({profileKey:i.current.name})},[(U=(G=e.actionStatus)==null?void 0:G["routing.save"])==null?void 0:U.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(rt,{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:M=>E(M.target.value)},n.createElement("option",{value:"",disabled:!0},"Choose a profile"),m.map(M=>n.createElement("option",{key:M.name,value:M.name},M.name,M.active||u.active===M.name?" · active":"")),r.profileKey&&!m.some(M=>M.name===r.profileKey)&&n.createElement("option",{value:r.profileKey},r.name," · draft"))),n.createElement("button",{className:"a-soft",disabled:!p.some(M=>M.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 M=_f();c({profiles:y(),matrix:M,name:M.name,profileKey:"new:"+Date.now(),requested:null,role:"general",candidate:0,rawText:lr(M),order:null,detailOpen:!1,candidateOpen:!1})}},n.createElement(Mn,null),"New profile")),r.requested&&n.createElement(rt,{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&&((be=f("routing.show"))==null?void 0:be.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(M=>{var W;return((W=f(M))==null?void 0:W.phase)==="error"&&n.createElement(rt,{key:M,phase:"error",message:f(M).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:M=>{M.preventDefault(),c({profileDetails:!r.profileDetails})}},"Profile settings"),h,n.createElement("p",{className:"a-caption"},(pe=p.find(M=>M.name===r.profileKey))==null?void 0:pe.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:M=>c({name:M.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:M=>c({scope:M.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((M,W)=>({id:String(W),label:M.model||"Choose a model",description:M.provider||"Choose a provider"})),ids:r.order.ids,onChange:M=>c({order:{...r.order,ids:M}}),onCancel:()=>c({order:null}),onSave:()=>{if(!Ru(S,w,r.order)){c({order:Nc(S,w,r.order)});return}const M=_r(b,w,{candidates:r.order.ids.map(W=>S[Number(W)])});c({order:null,matrix:M,rawText:lr(M),candidate:0})}}):n.createElement(So,{label:"roles",detailOpen:!!r.detailOpen,onBack:()=>c({detailOpen:!1,candidateOpen:!1}),list:n.createElement(n.Fragment,null,k,O.map(([M,W])=>{var re;return n.createElement(Va,{key:M,id:M,label:M,description:W.description||`${((re=W.candidates)==null?void 0:re.length)||0} choices`,selected:M===w,onSelect:()=>c({role:M,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 M={...b,roles:{...b.roles}};delete M.roles[w],T(M)}},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:M=>T(_r(b,w,{description:M.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((M,W)=>n.createElement(Va,{key:W,id:String(W),label:`${W+1}. ${M.model||"Choose a model"}`,description:M.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((M,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:M=>A({provider:M.target.value})}),n.createElement("datalist",{id:"routing-provider-options"},[...new Set(d.flatMap(M=>[M.id,M.module.replace(/^provider-/,"")]))].map(M=>n.createElement("option",{key:M,value:M}))),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:M=>A({model:M})}),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(M=>M.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:M=>c({candidateText:M.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const M=Er(r.candidateText);if(!M.provider||!M.model)throw new Error("Include a provider and model.");const W=[...S];W[I]=M,T(_r(b,w,{candidates:W}))}catch(M){c({error:M.message})}}},"Apply choice configuration"))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>{const M=_r(b,w,{candidates:[...S,{provider:"",model:""}]});c({matrix:M,rawText:lr(M),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:M=>c({newRole:M.target.value})}),n.createElement("datalist",{id:"routing-role-options"},(u.roles||[]).map(M=>n.createElement("option",{value:M,key:M}))),n.createElement("button",{className:"a-soft",disabled:!((_e=r.newRole)!=null&&_e.trim())||!!((Me=b.roles)!=null&&Me[r.newRole.trim()]),"data-action":"view.update",onClick:()=>{const M=r.newRole.trim(),W=_r(b,M,{description:"",candidates:[{provider:"",model:""}]});c({matrix:W,rawText:lr(W),newRole:"",role:M,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:M=>c({rawText:M.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const M=Er(r.rawText);if(!M.roles||typeof M.roles!="object"||Array.isArray(M.roles))throw new Error("A profile needs a roles object.");T(M)}catch(M){c({error:M.message})}}},"Update draft from JSON"))),r.error&&n.createElement("p",{className:"a-danger",role:"alert"},r.error),n.createElement(Nn,{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(([,M])=>{var W;return!((W=M.candidates)!=null&&W.length)||M.candidates.some(re=>!re.provider||!re.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(rt,{phase:(Ke=f("routing.save"))==null?void 0:Ke.phase,message:((ue=f("routing.save"))==null?void 0:ue.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,Le,ge,lt,bt,Wt,At,Zt,ie,he,Ne,De,Ge,ft,yt,gt,Se;const[o,i]=cD(e,"providerEditor",{id:"",module:"",source:"",config:"{}",scope:"global",model:"",effort:"",advanced:!1,credentialMode:(Le=(ze=e.view)==null?void 0:ze.providerEditor)!=null&&Le.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 wt;const Fe=X+":"+Ce,Ve=(wt=h.operations)==null?void 0:wt[Fe],tt=b[Fe];return tt&&(!Ve||Ve.commandId!==tt.commandId)?tt:Ve},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||""),Ve={phase:"pending",commandId:"local-"+Date.now(),envVar:Ce.envVar||""};x(tt=>({...tt,[Fe]:Ve}));try{const tt=await a(X,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(X)?{sessionId:t.id}:{},...Ce});return x(wt=>({...wt,[Fe]:tt?null:{phase:"error",error:"The request could not be sent. Please retry."}})),tt}catch(tt){x(wt=>({...wt,[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=((ge=h.credentialCheck)==null?void 0:ge.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),O=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=((bt=(lt=h.providerCatalogs)==null?void 0:lt[o.id])==null?void 0:bt.metadata)||((Wt=h.metadata)==null?void 0:Wt[o.module])||(((At=h.providerMetadata)==null?void 0:At.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(((Zt=h.modelCatalogs)==null?void 0:Zt[o.id])||((h.modelsProviderId||h.providerId)===o.id?h.models:[])),te=((ie=h.login)==null?void 0:ie.providerId)===o.id?h.login:null,Z=(te==null?void 0:te.status)||(te==null?void 0:te.phase),D=Hw(te==null?void 0:te.url);let G,U="";try{G=Er(p)}catch(X){U=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"),be=t&&["working","starting","running","stopping","busy"].includes(t.status),pe=X=>{var at,Et,ut,Mt,Ct,qt,ot;c.current=!0;const Ce=o.selectionKey??o.id??"";l.current[Ce]={apiKey:u,configText:p};const{connections:Fe,...Ve}=o,tt={...Fe,[Ce]:Ve},wt=(X==null?void 0:X.id)||"",Qe=tt[wt]||(X?{modelEntry:"catalog",dirty:!1,credentialMode:(at=X.credential)!=null&&at.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((Et=X.credential)==null?void 0:Et.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:((Ct=X.config)==null?void 0:Ct.reasoning_effort)||""}:{modelEntry:"catalog",dirty:!1,id:"",module:"",source:"",config:"{}",model:"",effort:"",credentialMode:"environment",envVar:""});d(((qt=l.current[wt])==null?void 0:qt.apiKey)||""),m(((ot=l.current[wt])==null?void 0:ot.configText)??Qe.config),i({...Qe,connections:tt,selectionKey:wt,detailOpen:!0,order:null})};g.useEffect(()=>{var Ce,Fe,Ve,tt,wt;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:((Ve=X.config)==null?void 0:Ve.reasoning_effort)||"",credentialMode:(tt=X.credential)!=null&&tt.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((wt=X.credential)==null?void 0:wt.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 Me=w("providers.save");g.useEffect(()=>{(Me==null?void 0:Me.phase)==="ready"&&Me.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}}))},[Me==null?void 0:Me.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 Ke=(X,Ce={})=>S(X,{id:o.id,...Ce}),ue=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}:{}})},M=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"&&O?{apiKeyEnv:O}:u&&H==="private"?{apiKey:u}:{}})},W=!!u||p!==o.config||Object.values(l.current).some(X=>X.apiKey),re=!!o.dirty||W||Object.values(o.connections||{}).some(X=>X==null?void 0:X.dirty);return Ww("providers",{label:"Provider configuration",dirty:re,review:()=>{r("providers");const X=Object.entries(o.connections||{}).find(([,Ce])=>Ce==null?void 0:Ce.dirty);!o.dirty&&!W&&X?pe(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:()=>pe(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(Gt,{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:()=>pe(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(Gt,{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:(De=h.providerCatalogs)==null?void 0:De[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:()=>Ke("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:()=>Ke("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:()=>Ke("providers.login")},n.createElement($k,null),v!=null&&v.accountConnected?"Reconnect account":"Provider sign-in")),n.createElement(rt,{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(rt,{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?((yt=h.test)==null?void 0:yt.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}),te&&(o.module==="provider-openai-chatgpt"?n.createElement(Tu,{login:te,busy:B,onCancel:()=>Ke("providers.loginCancel"),onRetry:()=>Ke("providers.login")}):n.createElement("div",{className:"a-selection-card",role:"status"},n.createElement("strong",null,"Provider sign-in · ",Z),(te.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"),te.error&&n.createElement("p",{className:"a-danger"},te.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(Gt,{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")),ue.map(X=>{var Ve;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),(Ve=X.choices)!=null&&Ve.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&&!ue.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(Gt,{name:"provider-credentials",busy:R(T)},n.createElement("label",{htmlFor:"provider-key-env"},"Environment variable name"),n.createElement("input",{id:"provider-key-env",value:O,"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(rt,{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{}}})),U&&n.createElement("p",{className:"a-danger"},U),["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(Nn,{active:!!o.detailOpen},n.createElement("button",{className:"a-primary",disabled:!o.module.trim()||!!U||B||ne&&H==="environment"&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(O),"data-operation-pending":R(Me)||void 0,"aria-busy":R(Me)||void 0,"data-action":"providers.save",onClick:M},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||be||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 O,k,T,A,q,z,F,H,ne,B,P,_,te,Z,D,G,U;const a=(O=e.view)==null?void 0:O.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&&((te=c.sourceValidation)==null?void 0:te.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,be;return["queued","working"].includes((be=(oe=e.actionStatus)==null?void 0:oe[K])==null?void 0:be.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(Nn,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(Gt,{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(rt,{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(rt,{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(rt,{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(Nn,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(Gt,{name:"source-validation",busy:S},S&&n.createElement(rt,{phase:"working",message:"Validating candidate source…"}),!S&&w&&n.createElement(n.Fragment,null,n.createElement(rt,{phase:w.passed?"ready":"error",message:w.saved?"Candidate validated and saved":w.passed?"Candidate validated; nothing saved":"Validation failed; saved source unchanged"}),(U=w.checks)==null?void 0:U.map((K,oe)=>n.createElement(rt,{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,O;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=(O=e.actionStatus)==null?void 0:O["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,O,k;s&&t&&(r.sessionId!==t.id||!r.text||((N=t.pendingConfiguration)==null?void 0:N.phase)==="ready"&&r.appliedAt!==((O=t.pendingConfiguration)==null?void 0:O.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,O){try{const k=zf(p,N,O);o({text:cr(k),...N===r.selectedKey&&O.config?{configText:cr(O.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(rt,{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:O=>b(N.key,{enabled:O}),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,O])=>{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 O=="boolean"?n.createElement("select",{id:T,value:String(O),"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")):O===null||typeof O=="object"?n.createElement("p",{className:"a-caption"},Array.isArray(O)?`${O.length} items`:"Structured value"," · edit in advanced configuration below."):n.createElement("input",{id:T,type:typeof O=="number"?"number":"text",value:O,"data-action":"view.update",onChange:A=>{typeof O=="number"&&!A.target.value||b(f.key,{config:{...f.config,[N]:typeof O=="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(O){O.message.includes("private API key")?o({parseError:O.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(Nn,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(rt,{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,O,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&&((O=t==null?void 0:t.bundleChange)==null?void 0:O.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(nn,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 O,k,T,A,q;const o=((O=e.view)==null?void 0:O.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(nn,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(rt,{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(Nn,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:"{}"},jt=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=>jt(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.":jt(e)?t||"Working…":wD[e.action]||"Finished");return n.createElement(rt,{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||jt(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,Ve,tt,wt,se,Qe,at,Et,ut,Mt,Ct,qt,ot,it,We,Ot,en,vn,Tn,bn,Ln,Kn,ye,Ue,vt,Ze,ct,Ee,Jt,tn,on,Q,yn,ca,Sa,Dn,En,dn,In,rn,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 ke,Xe;return(((Xe=(ke=V._meta)==null?void 0:ke.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,ke={})=>(l==null?void 0:l.action)===V?l:SD(E,V,ke),N=async(V,ke={})=>{d(""),c({action:V,status:"pending",target:ke});try{const Xe=await t(V,ke);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:ke}),null}},O=(V,ke={})=>{d(""),c(null),i({page:V,catalogReview:!1,catalogInstalling:!1,returnPage:V==="source"&&o.page==="catalog"?"catalog":null,...ke})},k={...no.connection,...o.connection},T=V=>i({connection:{...k,...V}}),A=[...E].reverse().find(jt),q=jt(l)||E.some(V=>{var ke,Xe,Dt;return jt(V)&&(o.page==="source"?((ke=V.target)==null?void 0:ke.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)?((Dt=V.target)==null?void 0:Dt.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"),te=I("smartTools.installBatch"),Z=jt(te),D=V=>y.some(ke=>Ta(ke).replace(/\.git$/,"")===Ta(V).replace(/\.git$/,"")&&(ke.path||".")===(V.path||".")),G=o.catalogSelection||[],U=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,be=oe?H.slice((K-1)*40,K*40):H,pe=v.find(V=>V.id===o.catalogId)||be[0],_e=(V,ke)=>i({catalogSelection:ke?[...new Set([...G,V])]:G.filter(Xe=>Xe!==V)}),Me=V=>i({catalogSelection:[...new Set([...G,...V.filter(ke=>!D(ke)).map(ke=>ke.id)])]});g.useEffect(()=>{i({catalogPage:1})},[B]);const Ke=o.page==="tool"?"server":"home",ue=V=>O("connection",{connection:V?{id:V.id,name:V.name,command:V.command,args:(V.args||[]).join(` +`;var If={version:"0.20.32",id:"da8cf264a339ed4a"};const Cu=typeof If>"u"?{version:"dev",id:"dev"}:If,bo=new Map;let Dw="unknown";function Xi(e){Dw=["connecting","open","reconnecting","closed"].includes(e)?e:"unknown"}function FL(){const e=Symbol();return bo.set(e,Date.now()),()=>bo.delete(e)}function Fw(e,t=globalThis){var l,c,u,d,p,m,h;const a=t.navigator||{},r=a.userAgent||"",i=r.match(/(Edg)\/([0-9.]+)/)||r.match(/(Firefox)\/([0-9.]+)/)||r.match(/(Chrome)\/([0-9.]+)/)||r.match(/(Version)\/([0-9.]+)/),o=!!((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:i?{Edg:"Edge",Firefox:"Firefox",Chrome:"Chrome",Version:"Safari"}[i[1]]:"Other",browserVersion:(i==null?void 0:i[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:o?"dark":"light",appearance:s,resolvedAppearance:s==="system"?o?"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:bo.size,oldestPendingMs:bo.size?Date.now()-Math.min(...bo.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,i]=g.useState(null),[o,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&&i(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:o,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 Nn({children:e,active:t=!0,className:a=""}){const r=g.useContext(Jr);if(r.compact&&!t)return null;const i=n.createElement("div",{className:"a-dialog-actions "+a},e);return r.compact&&r.active&&r.footer&&t?Po.createPortal(i,r.footer):i}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 i=()=>a(r.clientWidth<960);i();const o=new ResizeObserver(i);return o.observe(r),()=>o.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 i;const o=()=>{r.scale===1&&(a.style.setProperty("--a-settings-viewport-top",r.offsetTop+"px"),a.style.setProperty("--a-settings-viewport-height",r.height+"px"),cancelAnimationFrame(i),i=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(i),r.removeEventListener("resize",o),r.removeEventListener("scroll",o),s.removeEventListener("focusin",o),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:i,body:o,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:i,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(()=>{o.current&&(o.current.scrollTop=I?0:p.current.get(b)||0),h.current=!1});return()=>cancelAnimationFrame(N)},[b,a.settingsRootVisit]);const w=()=>{o.current&&!h.current&&p.current.set(m.current,o.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,O=(N==null?void 0:N.token)||"settings-"+crypto.randomUUID(),k={...history.state};delete k.amplifierSettings;const T={token:O,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:O,index:T.index}},"")};N||u.current.trail.forEach(A);const q=async F=>{var _,te;const H=(_=F.state)==null?void 0:_.amplifierSettings;if((H==null?void 0:H.token)!==O){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:O,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&&!((te=u.current.view[B])!=null&&te.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)===O&&!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((O,k)=>{I.entries[k]=O}),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),O={...N.navigation};for(const k of["providerEditor","routingEditor","bundleManager","moduleEditor","smartToolsEditor","diagnosticsDraft","aiConnectionEditor"])O[k]&&(O[k]={...a[k],...O[k]});r("view.update",{patch:O})}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)):i()),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)"),i=()=>a(r.matches);return i(),r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[]),e==="dark"||e==="system"&&t?"dark":"light"}function WL({root:e,state:t,shell:a,scheme:r,mode:i,preview:o,css:s}){var l,c;g.useLayoutEffect(()=>{var h,f,v,y,E;if(!e.current||!a.ready||o||(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[i]={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=i,document.documentElement.style.setProperty("--boot-bg",d[i].background),document.documentElement.style.setProperty("--boot-ink",d[i].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,i,o,s])}function ZL({shell:e,onError:t}){const a=e.composition.presentation.decorations!==!1,[r,i]=g.useState(!1),[o,s]=g.useState(a);g.useEffect(()=>{r||s(a)},[a,r]);async function l(c){const u=c.target.checked;s(u),i(!0);try{await e.setPresentation({decorations:u})}catch(d){s(a),t(d.message)}finally{i(!1)}}return n.createElement("label",{className:"a-inline-checkbox"},n.createElement("input",{type:"checkbox",checked:o,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:i,preview:o,setName:s,setCss:l,setPreview:c,defaultSkin:u,simple:d=!1,advancedOnly:p=!1,onAdvanced:m}){var be,pe,_e,Me,Ke;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,O]=g.useState(""),[k,T]=g.useState(!1),A=g.useRef(a),q=g.useRef(!0),z=g.useRef(0),F=g.useRef(o);A.current=a,F.current=o;const H=t.composition.presentation,ne=H.scheme||((be=e.view)==null?void 0:be.scheme)||"system";async function B(){var ve;const ue=await A.current("theme.list",{});if(!Array.isArray((ve=ue.result)==null?void 0:ve.items))throw Error("The appearance library is unavailable. Try reopening Settings.");q.current&&(E(ue.result),v(""))}g.useEffect(()=>{if(!h)return;q.current=!0,B().catch(ve=>v(ve.message));const ue=setInterval(()=>B().catch(()=>{}),5e3);return()=>{q.current=!1,z.current++,clearInterval(ue),F.current&&(c(!1),A.current("view.update",{patch:{themePreview:!1}}).catch(()=>{}))}},[h]);async function P(ue){R(!0),I(""),O("");try{await ue()}catch(ve){q.current&&I(ve.message)}finally{q.current&&R(!1)}}async function _(ue){const ve=++z.current;await P(async()=>{const{result:M}=await A.current("theme.read",{id:ue.id});if(!q.current||ve!==z.current)return;x(ue.id),s(M.name),l(M.css);const W=await A.current(d?"theme.apply":"theme.preview",{name:M.name,css:M.css});if((W==null?void 0:W.accepted)===!1)throw Error(W.error||"Could not save appearance.");c(!d),d&&O(M.name+" saved.")})}async function te(){await P(async()=>{await A.current("theme.apply",{name:r,css:i}),c(!1),O(r+" applied.")})}async function Z(){await P(async()=>{var ue,ve;o&&await A.current("theme.revert",{}),c(!1),s(((ue=e.theme)==null?void 0:ue.name)||"Amplifier Unified"),l(((ve=e.theme)==null?void 0:ve.css)||u),x(null)})}async function D(ue){"name"in ue&&s(ue.name),"css"in ue&&l(ue.css),x(null),c(!1),await A.current("view.update",{patch:{themeDraft:ue.css??i,themeDraftName:ue.name??r,themePreview:!1}})}async function G(){await P(async()=>{const{result:ue}=await A.current("theme.save",{name:r,css:i});x(ue.id),await B(),O("Saved to your appearance library.")})}async function U(ue){if(!ue)return;if(ue.size>99e4)throw Error("Choose a CSS appearance smaller than 1 MB.");const ve=await ue.text(),M=ue.name.replace(/\.amplifier\.css$|\.css$/i,"").slice(0,100),{result:W}=await A.current("theme.save",{name:M,css:ve});return await B(),O(M+" added to your library. Select it to preview."),W}const K=b||(((pe=e.theme)==null?void 0:pe.name)==="Amplifier Unified"?"builtin:default":(_e=y.items.find(ue=>{var ve;return ue.name===((ve=e.theme)==null?void 0:ve.name)}))==null?void 0:_e.id),ie=ue=>P(()=>t.setPresentation(ue));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}),o?"Previewing "+r:((Me=e.theme)==null?void 0:Me.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(ue=>n.createElement("button",{type:"button",key:ue.id,className:"a-appearance-card","aria-label":(d?"Use ":"Preview ")+ue.name,"aria-pressed":K===ue.id,disabled:w,"data-action":d?"theme.apply":"theme.preview",onClick:()=>_(ue)},n.createElement(KL,{item:ue}),n.createElement("div",{className:"a-appearance-card-caption"},n.createElement("div",null,n.createElement("strong",null,ue.name),!d&&n.createElement("small",null,ue.tag)),K===ue.id?n.createElement(Pt,null):n.createElement(Uc,null)),!d&&n.createElement("p",null,ue.description))),!y.items.length&&!f&&n.createElement("p",{role:"status"},"Loading appearances…")),o&&n.createElement("div",{className:"a-appearance-preview",role:"status"},n.createElement("span",null,o?"Previewing "+r:"Current appearance"),n.createElement("div",null,o&&n.createElement("button",{type:"button",className:"a-soft",disabled:w,onClick:Z},"Cancel preview"),n.createElement("button",{type:"button",className:"a-primary",disabled:w||!o,"data-action":"theme.apply",onClick:te},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:ue=>ie({scheme:ue.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(([ue,ve,M])=>n.createElement("button",{type:"button",key:ue,disabled:w,"aria-pressed":ne===ue,"data-action":"shell.changes.apply",onClick:()=>ie({scheme:ue})},n.createElement(M,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(([ue,ve,M])=>n.createElement("label",{key:ue,"data-selected":(H.interfaceDetail||H.executionDetail||"standard")===ue},n.createElement("input",{type:"radio",name:"interface-detail",value:ue,checked:(H.interfaceDetail||H.executionDetail||"standard")===ue,disabled:w,"data-action":"shell.changes.apply",onChange:()=>ie({interfaceDetail:ue,executionDetail:ue})}),n.createElement("span",null,n.createElement("strong",null,ve),n.createElement("small",null,M)))))),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||((Ke=e.view)==null?void 0:Ke.layout)||"balanced",disabled:w,"data-action":"shell.changes.apply",onChange:ue=>ie({layout:ue.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:U}),y.errors.map(ue=>n.createElement("p",{className:"a-danger",key:ue.name},ue.name,": ",ue.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:ue=>T(ue.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:ue=>D({name:ue.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:i,"data-action":"view.update",onChange:ue=>D({css:ue.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:i}),c(!0)})},"Preview"),n.createElement("button",{type:"button",className:"a-soft",disabled:w,"data-action":"theme.apply",onClick:te},"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 Vo=[{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=Vo){var i,o;const a=new Set(t.flatMap(s=>s.pages.map(([l])=>l))),r=e.panel==="appearance"?"appearance":((o=(i=e.settingsExpanded)==null?void 0:i.find)==null?void 0:o.call(i,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=Vo){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 i,o;return a+(((o=(i=e.attention)==null?void 0:i.pages)==null?void 0:o[r])||0)},0)}function gp(e,t=Vo){var a;return((a=t.flatMap(r=>r.pages).find(([r])=>r===e))==null?void 0:a[1])||"Settings"}function Ts(e,t=Vo){const a=t.find(r=>r.pages.some(([i])=>i===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:i=!1}){var f,v,y,E;const[o,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)},[o]),n.createElement("div",{"data-part":"provider-message-test"},n.createElement("button",{type:"button",className:"a-soft","data-action":"providers.testMessage",disabled:!t||i||!!o,onClick:h},o?"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),!o&&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[i,o]of Object.entries(r)){if(/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(i)&&typeof o=="string"&&!/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/.test(o)&&!/^\[redacted\]$/i.test(o))throw new Error("Enter credentials in the private API key field, or use an environment reference in configuration.");a(o)}}return a(t),t}function Io(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 o,s;const i=[...((s=(o=e==null?void 0:e.roles)==null?void 0:o[t])==null?void 0:s.candidates)||[]];return i[a]={...i[a],...r},_r(e,t,{candidates:i})}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,i;return(((r=e==null?void 0:e.configSchema)==null?void 0:r.fields)||((i=e==null?void 0:e.info)==null?void 0:i.config_fields)||[]).filter(o=>o.id&&o.field_type!=="secret"&&!/api.?key|password|secret|(?:access|refresh|github|auth).?token/i.test(o.id)&&!["model","default_model"].includes(o.id)).filter(o=>o.requires_model&&!t.default_model&&!t.model?!1:Object.entries(o.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((i,o)=>String(o)===r))}function Nc(e,t,a){return Ru(e,t,a)?a:{role:t,ids:e.map((r,i)=>String(i)),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:i=!1}){const{active:o}=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(()=>{o&&h&&c.current!==h&&(c.current=h,y())},[h,o]),e.status==="completed"?n.createElement("p",{className:"a-signin-success",role:"status"},n.createElement(Pt,null),i?"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:i,count:o,disabled:s=!1}){return n.createElement("button",{type:"button",className:"a-everyday-row",disabled:s,"data-action":"view.update","data-settings-destination":i,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:o}),n.createElement(Qt,{"aria-hidden":"true"}))}function XL({navigate:e,state:t}){var r,i,o,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.",ix],["desktop","Screen & computer access","Check the host, browser, and permission status.",Mu],["history","Saved work","Import, export, and review cleanup.",yo],["diagnostics","App diagnostic capture","Review recorded data and forwarding destinations.",di]];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:(i=(r=t.attention)==null?void 0:r.pages)==null?void 0:i.diagnostics,title:"App diagnostic capture",description:"Review collected records and forwarding.",Icon:di,onClick:()=>e("diagnostics")})),n.createElement("div",{className:"a-everyday-footer"},n.createElement(fr,{page:"repair",count:(s=(o=t.attention)==null?void 0:o.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(o=>o.pages).filter(([o])=>o.startsWith("shell:")),i=[{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"},i.map(o=>{var s,l;return o.page?n.createElement(fr,{key:o.title,title:o.title,description:o.description,page:o.page,count:(l=(s=a.attention)==null?void 0:s.pages)==null?void 0:l[o.page],onClick:()=>t(o.page)}):n.createElement("details",{className:"a-advanced-group",key:o.title},n.createElement("summary",null,n.createElement("span",null,n.createElement("strong",null,o.title),n.createElement("small",null,o.description)),n.createElement(Da,{count:o.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(Qt,null)),n.createElement("div",null,o.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(([o,s])=>{var l,c;return n.createElement(fr,{key:o,page:o,count:(c=(l=a.attention)==null?void 0:l.pages)==null?void 0:c[o],title:s,Icon:Dr,onClick:()=>t(o)})}))))}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),[i,o]=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},o(f),y},[]),m=f=>{const v=t.current;t.current=null,o(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=i&&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,i.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:()=>{i[0].review(),m(!1)}},"Review and save"),n.createElement("button",{type:"button",className:"a-soft a-danger",onClick:()=>{i.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,i]=g.useState(e),o=g.useRef(a);return o.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())){i(e);return}let c=!0;return l.confirmClose().then(u=>{c&&(u?i(e):o.current(r))}),()=>{c=!1}},[e,r,t]),r}function ka(e,t,a,r,i,o,{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,i),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(Ni,null),o),n.createElement("div",{className:"a-inline-form"},n.createElement("input",{id:"filter-"+a,type:"search",value:c,placeholder:s?o:"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 "+o.toLowerCase(),"data-action":"view.update",onClick:()=>p("")},n.createElement(nn,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:i,entry:o,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=(o==null?void 0:o.phase)==="working"||(o==null?void 0:o.phase)==="queued",f=g.useRef(null),v=g.useRef(null);let y=Io((o==null?void 0:o.models)??s??[]);!m&&(h||(o==null?void 0:o.phase)==="error")&&!y.length&&((x=f.current)==null?void 0:x.key)===p&&(y=f.current.models),!h&&(o==null?void 0:o.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=>i==null?void 0:i(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),i==null||i(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."),(o==null?void 0:o.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},o.error||"Model list unavailable. Enter a model ID or refresh this provider."),(o==null?void 0:o.loadedAt)&&n.createElement("small",null,"Catalog checked ",new Date(o.loadedAt*1e3).toLocaleString()),(o==null?void 0:o.phase)==="ready"&&!y.length&&n.createElement("small",null,o.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,(o==null?void 0:o.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),i==null||i(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=>i==null?void 0:i(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)))),(o==null?void 0:o.phase)==="error"&&n.createElement("small",{className:"a-danger",role:"status"},o.error||"Model list unavailable. Enter a model ID or refresh this provider."),(o==null?void 0:o.phase)==="ready"&&!y.length&&n.createElement("small",null,o.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 iD(e,t,a){var r,i;return(i=(r=e.setup)==null?void 0:r.operations)==null?void 0:i[t+":"+a]}function Of(e){return["working","pending","queued"].includes(e==null?void 0:e.phase)}function oD(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 sD({state:e,session:t,act:a,navigate:r}){var D,G,U,K,ie,be,pe,_e,Me,Ke,ue,ve,M;const i=g.useContext(Jr),o=e.setup||{},s=(o.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,re={},ze=""){if(x.current)return;x.current=!0;const Le=++R.current;f(""),y(""),b({action:W,id:re.id||re.module||"",commandId:null,next:ze});try{const ge=await a(W,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(W)?{sessionId:t.id}:{},...re});if(!S.current||Le!==R.current)return;if(!(ge!=null&&ge.accepted)||!ge.operationId)throw Error((ge==null?void 0:ge.error)||"The request could not be confirmed. Please try again.");b({action:W,id:re.id||re.module||"",commandId:ge.operationId,next:ze})}catch(ge){S.current&&Le===R.current&&(f(ge.message),b(null),x.current=!1)}}const O=oD(e,E),k=!!E;g.useEffect(()=>{var ze;if(!O||Of(O))return;const W=E.next,re=E.action;if(b(null),x.current=!1,O.phase==="error"){f(O.error||"The request did not finish. Your choices are kept.");return}O.phase==="ready"&&(re==="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})):re==="providers.remove"?(m(""),I({step:"list",id:"",saved:!1}),y("Connection removed. Existing conversations keep their configuration.")):re==="providers.finishSetup"?(I({step:"list",saved:!1}),y((ze=o.setupCompletion)!=null&&ze.routingSelected?"Connection saved. Balanced model rules are ready for new conversations.":"Model saved. Existing model rules are unchanged.")):re==="providers.models"&&y("Model list checked. No chat request was sent."))},[O==null?void 0:O.commandId,O==null?void 0:O.phase]);const T=((G=o.login)==null?void 0:G.providerId)===l.id?o.login:null;g.useEffect(()=>{i.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,i.active]);const A=(U=o.providerCatalogs)==null?void 0:U[l.id],q=Io((A==null?void 0:A.models)||((K=o.modelCatalogs)==null?void 0:K[l.id])||[]),z=Of((ie=o.operations)==null?void 0:ie["providers.models:"+l.id])||(A==null?void 0:A.phase)==="working",F=((be=o.credentialCheck)==null?void 0:be.module)===l.module?o.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"})},te=()=>r("providers"),Z=!!p||c==="connect"&&!!l.baseUrl&&l.baseUrl!==(((pe=d==null?void 0:d.config)==null?void 0:pe.base_url)||"")||c==="model"&&!!l.model&&l.model!==(((_e=d==null?void 0:d.config)==null?void 0:_e.default_model)||((Me=d==null?void 0:d.config)==null?void 0:Me.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 re,ze,Le,ge;return n.createElement(fr,{key:W.id,disabled:k,title:Tc(W.module).name+(s.filter(lt=>lt.module===W.module).length>1?" · "+W.id:""),description:(((re=W.config)==null?void 0:re.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")+((ge=(Le=W.credential)==null?void 0:Le.preview)!=null&&ge.masked?" · Key "+W.credential.preview.masked:""),onClick:()=>{var lt,bt,Wt,At;f(""),y(""),I({step:"detail",id:W.id,module:W.module,model:((lt=W.config)==null?void 0:lt.default_model)||((bt=W.config)==null?void 0:bt.model)||"",scope:"global",baseUrl:((Wt=W.config)==null?void 0:Wt.base_url)||"",previousLoginId:(At=o.login)==null?void 0:At.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")),o.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:te},"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:te},"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,((Ke=d==null?void 0:d.config)==null?void 0:Ke.default_model)||((ue=d==null?void 0:d.config)==null?void 0:ue.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:te},"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(Nn,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(Nn,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(rt,{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(Nn,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:te},"Full provider configuration"))))),h&&n.createElement(rt,{phase:"error",message:h}),v&&n.createElement(rt,{phase:"ready",message:v}),k&&n.createElement(rt,{phase:"working",message:"Working on this connection…"}),!k&&((M=o.test)==null?void 0:M.providerId)===l.id&&c==="detail"&&n.createElement(rt,{phase:o.test.reachable===!1?"error":"ready",message:o.test.reachable===!1?"Connection check failed.":"Model catalog check passed."}))}function Va({id:e,label:t,description:a,selected:r,onSelect:i,checked:o,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:!!o,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:i},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(Qt,{"aria-hidden":"true"})))}function xi({list:e,children:t,detailOpen:a=!0,onBack:r,label:i="items"}){const o=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=o.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:o},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 ",i),t))}function Ep({title:e,description:t,items:a,ids:r,onChange:i,onSave:o,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:i,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(Mo,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(Nn,null,n.createElement("button",{type:"button",className:"a-primary",disabled:l||p,"data-action":d,onClick:o},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,_,te,Z,D,G,U,K,ie,be,pe,_e,Me,Ke,ue,ve;g.useContext(Jr);const a=(P=e.view)==null?void 0:P.routingEditor,[r,i]=g.useState({name:"my-routing",scope:"global",matrix:null,newRole:"",...a}),o=g.useRef(r),[s,l]=g.useState({});g.useEffect(()=>{a&&(o.current=a,i(a))},[a]);const c=M=>{const W={...o.current,...M};o.current=W,i(W),t("view.update",{patch:{routingEditor:W}})},u=e.setup||{},d=u.providers||[],p=u.matrices||[],[m,h]=ka(e,t,"routing-profiles",p,M=>[M.name,M.description,M.source],"Filter routing profiles"),f=M=>{var W;return s[M]||((W=e.actionStatus)==null?void 0:W[M])},v=async(M,W={})=>{l(re=>({...re,[M]:{phase:"pending"}}));try{const re=await t(M,W);return l(ze=>({...ze,[M]:re?null:{phase:"error",error:"Request could not be sent. Try again."}})),re}catch(re){l(ze=>({...ze,[M]:{phase:"error",error:re.message}}))}};g.useEffect(()=>{v("routing.list"),o.current.requested&&v("routing.show",{name:o.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=M=>{const W=y(),re=W[M];re?c({...re,profileKey:M,requested:null,profiles:W,order:null,error:"",detailOpen:!1,candidateOpen:!1}):(c({profileKey:M,requested:M,profiles:W,order:null,error:""}),v("routing.show",{name:M}))};g.useEffect(()=>{if(u.matrix&&u.matrix.name===o.current.requested){const M=u.matrix;c({matrix:M,name:M.name,profileKey:M.name,requested:null,rawText:lr(M),raw:!1,role:Object.keys(M.roles||{})[0],candidate:0,detailOpen:!1,candidateOpen:!1,error:""})}},[u.matrix,r.requested]),g.useEffect(()=>{!o.current.matrix&&!o.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:(te=x[0])==null?void 0:te[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],[O,k]=ka(e,t,"routing-roles",x,([M,W])=>[M,W.description,...(W.candidates||[]).flatMap(re=>[re.provider,re.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=M=>c({matrix:M,rawText:lr(M),error:""}),A=M=>T(QL(b,w,I,M)),q=N?d.filter(M=>M.id===N.provider||M.module==="provider-"+N.provider||M.module===N.provider):[],z=q.find(M=>M.id===(N==null?void 0:N.provider)),F=z?[z]:q,H=[...new Map(F.flatMap(M=>{var W;return(((W=u.modelCatalogs)==null?void 0:W[M.id])||[]).map(re=>[typeof re=="string"?re:re.id,re])}).filter(([M])=>M)).values()],ne=z?(D=u.providerCatalogs)==null?void 0:D[z.id]:void 0;g.useEffect(()=>{var W,re;const M=(W=e.actionStatus)==null?void 0:W["routing.save"];(M==null?void 0:M.phase)==="ready"&&((re=M.target)==null?void 0:re.name)===o.current.name&&c({profileKey:o.current.name})},[(U=(G=e.actionStatus)==null?void 0:G["routing.save"])==null?void 0:U.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(rt,{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:M=>E(M.target.value)},n.createElement("option",{value:"",disabled:!0},"Choose a profile"),m.map(M=>n.createElement("option",{key:M.name,value:M.name},M.name,M.active||u.active===M.name?" · active":"")),r.profileKey&&!m.some(M=>M.name===r.profileKey)&&n.createElement("option",{value:r.profileKey},r.name," · draft"))),n.createElement("button",{className:"a-soft",disabled:!p.some(M=>M.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 M=_f();c({profiles:y(),matrix:M,name:M.name,profileKey:"new:"+Date.now(),requested:null,role:"general",candidate:0,rawText:lr(M),order:null,detailOpen:!1,candidateOpen:!1})}},n.createElement(Mn,null),"New profile")),r.requested&&n.createElement(rt,{phase:((K=f("routing.show"))==null?void 0:K.phase)==="error"?"error":"working",message:((ie=f("routing.show"))==null?void 0:ie.error)||"Opening "+r.requested+"…"}),r.requested&&((be=f("routing.show"))==null?void 0:be.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(M=>{var W;return((W=f(M))==null?void 0:W.phase)==="error"&&n.createElement(rt,{key:M,phase:"error",message:f(M).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:M=>{M.preventDefault(),c({profileDetails:!r.profileDetails})}},"Profile settings"),h,n.createElement("p",{className:"a-caption"},(pe=p.find(M=>M.name===r.profileKey))==null?void 0:pe.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:M=>c({name:M.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:M=>c({scope:M.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((M,W)=>({id:String(W),label:M.model||"Choose a model",description:M.provider||"Choose a provider"})),ids:r.order.ids,onChange:M=>c({order:{...r.order,ids:M}}),onCancel:()=>c({order:null}),onSave:()=>{if(!Ru(S,w,r.order)){c({order:Nc(S,w,r.order)});return}const M=_r(b,w,{candidates:r.order.ids.map(W=>S[Number(W)])});c({order:null,matrix:M,rawText:lr(M),candidate:0})}}):n.createElement(xi,{label:"roles",detailOpen:!!r.detailOpen,onBack:()=>c({detailOpen:!1,candidateOpen:!1}),list:n.createElement(n.Fragment,null,k,O.map(([M,W])=>{var re;return n.createElement(Va,{key:M,id:M,label:M,description:W.description||`${((re=W.candidates)==null?void 0:re.length)||0} choices`,selected:M===w,onSelect:()=>c({role:M,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 M={...b,roles:{...b.roles}};delete M.roles[w],T(M)}},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:M=>T(_r(b,w,{description:M.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((M,W)=>n.createElement(Va,{key:W,id:String(W),label:`${W+1}. ${M.model||"Choose a model"}`,description:M.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((M,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:M=>A({provider:M.target.value})}),n.createElement("datalist",{id:"routing-provider-options"},[...new Set(d.flatMap(M=>[M.id,M.module.replace(/^provider-/,"")]))].map(M=>n.createElement("option",{key:M,value:M}))),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:M=>A({model:M})}),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(M=>M.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:M=>c({candidateText:M.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const M=Er(r.candidateText);if(!M.provider||!M.model)throw new Error("Include a provider and model.");const W=[...S];W[I]=M,T(_r(b,w,{candidates:W}))}catch(M){c({error:M.message})}}},"Apply choice configuration"))),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>{const M=_r(b,w,{candidates:[...S,{provider:"",model:""}]});c({matrix:M,rawText:lr(M),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:M=>c({newRole:M.target.value})}),n.createElement("datalist",{id:"routing-role-options"},(u.roles||[]).map(M=>n.createElement("option",{value:M,key:M}))),n.createElement("button",{className:"a-soft",disabled:!((_e=r.newRole)!=null&&_e.trim())||!!((Me=b.roles)!=null&&Me[r.newRole.trim()]),"data-action":"view.update",onClick:()=>{const M=r.newRole.trim(),W=_r(b,M,{description:"",candidates:[{provider:"",model:""}]});c({matrix:W,rawText:lr(W),newRole:"",role:M,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:M=>c({rawText:M.target.value})}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const M=Er(r.rawText);if(!M.roles||typeof M.roles!="object"||Array.isArray(M.roles))throw new Error("A profile needs a roles object.");T(M)}catch(M){c({error:M.message})}}},"Update draft from JSON"))),r.error&&n.createElement("p",{className:"a-danger",role:"alert"},r.error),n.createElement(Nn,{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(([,M])=>{var W;return!((W=M.candidates)!=null&&W.length)||M.candidates.some(re=>!re.provider||!re.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(rt,{phase:(Ke=f("routing.save"))==null?void 0:Ke.phase,message:((ue=f("routing.save"))==null?void 0:ue.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 i=(c=e.view)==null?void 0:c[t],[o,s]=g.useState({...a,...i});return g.useEffect(()=>{i&&s(u=>({...u,...i}))},[i]),[o,u=>{const d={...o,...u};s(d),r("view.update",{patch:{[t]:d}})}]}function uD({state:e,session:t,act:a,navigate:r=()=>{}}){var ze,Le,ge,lt,bt,Wt,At,Zt,oe,he,Ne,De,Ge,ft,yt,gt,Se;const[i,o]=cD(e,"providerEditor",{id:"",module:"",source:"",config:"{}",scope:"global",model:"",effort:"",advanced:!1,credentialMode:(Le=(ze=e.view)==null?void 0:ze.providerEditor)!=null&&Le.id?"private":"environment",envVar:""},a),s=X=>o({dirty:!0,...X}),l=g.useRef({}),c=g.useRef(!1),[u,d]=g.useState(""),[p,m]=g.useState(i.config);g.useEffect(()=>{var X;m(c.current?((X=l.current[i.selectionKey??i.id])==null?void 0:X.configText)??i.config:i.config),c.current=!1},[i.config,i.selectionKey]);const h=e.setup||{},f=(h.providers||[]).filter(X=>X.enabled!==!1),v=f.find(X=>X.id===i.id),y=g.useRef(Date.now()/1e3),E=g.useRef(!1),[b,x]=g.useState({}),w=(X,Ce=i.id)=>{var wt;const Fe=X+":"+Ce,Ve=(wt=h.operations)==null?void 0:wt[Fe],tt=b[Fe];return tt&&(!Ve||Ve.commandId!==tt.commandId)?tt:Ve},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||""),Ve={phase:"pending",commandId:"local-"+Date.now(),envVar:Ce.envVar||""};x(tt=>({...tt,[Fe]:Ve}));try{const tt=await a(X,{...t&&!["providers.loginCancel","providers.loginStatus"].includes(X)?{sessionId:t.id}:{},...Ce});return x(wt=>({...wt,[Fe]:tt?null:{phase:"error",error:"The request could not be sent. Please retry."}})),tt}catch(tt){x(wt=>({...wt,[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=((ge=h.credentialCheck)==null?void 0:ge.module)===i.module&&(i.envVar?h.credentialCheck.envVar===i.envVar:!h.credentialCheck.requestedEnvVar)?h.credentialCheck:null,N=I||((v==null?void 0:v.module)===i.module?v.credential:null),O=i.envVar||(N==null?void 0:N.envVar)||"",k=w("providers.credentials",i.module),T=k&&k.envVar===(i.envVar||"")?k:null,A=w("providers.models"),q=w("providers.schema",i.module),z=w("providers.test"),F=w("providers.list",""),H=i.credentialMode||"environment",ne=i.module!=="provider-openai-chatgpt";g.useEffect(()=>{if(!i.module||H!=="environment"||!ne)return;const X=setTimeout(()=>S("providers.credentials",{module:i.module,...i.envVar?{envVar:i.envVar}:{}}),250);return()=>clearTimeout(X)},[i.module,i.envVar,H]);const B=["providers.save","providers.remove","providers.login","providers.move","providers.reorder"].some(X=>R(w(X))),P=((bt=(lt=h.providerCatalogs)==null?void 0:lt[i.id])==null?void 0:bt.metadata)||((Wt=h.metadata)==null?void 0:Wt[i.module])||(((At=h.providerMetadata)==null?void 0:At.module)===i.module?h.providerMetadata:null);g.useEffect(()=>{if(!/^provider-[A-Za-z0-9_.-]+$/.test(i.module)||P)return;const X=setTimeout(()=>S("providers.schema",{module:i.module,...i.id?{id:i.id}:{}}),250);return()=>clearTimeout(X)},[i.module,t==null?void 0:t.workspace]);const _=Io(((Zt=h.modelCatalogs)==null?void 0:Zt[i.id])||((h.modelsProviderId||h.providerId)===i.id?h.models:[])),te=((oe=h.login)==null?void 0:oe.providerId)===i.id?h.login:null,Z=(te==null?void 0:te.status)||(te==null?void 0:te.phase),D=Hw(te==null?void 0:te.url);let G,U="";try{G=Er(p)}catch(X){U=X.message}const[K,ie]=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"),be=t&&["working","starting","running","stopping","busy"].includes(t.status),pe=X=>{var at,Et,ut,Mt,Ct,qt,it;c.current=!0;const Ce=i.selectionKey??i.id??"";l.current[Ce]={apiKey:u,configText:p};const{connections:Fe,...Ve}=i,tt={...Fe,[Ce]:Ve},wt=(X==null?void 0:X.id)||"",Qe=tt[wt]||(X?{modelEntry:"catalog",dirty:!1,credentialMode:(at=X.credential)!=null&&at.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((Et=X.credential)==null?void 0:Et.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:((Ct=X.config)==null?void 0:Ct.reasoning_effort)||""}:{modelEntry:"catalog",dirty:!1,id:"",module:"",source:"",config:"{}",model:"",effort:"",credentialMode:"environment",envVar:""});d(((qt=l.current[wt])==null?void 0:qt.apiKey)||""),m(((it=l.current[wt])==null?void 0:it.configText)??Qe.config),o({...Qe,connections:tt,selectionKey:wt,detailOpen:!0,order:null})};g.useEffect(()=>{var Ce,Fe,Ve,tt,wt;if(E.current||!f.length||!h.providersLoadedAt||h.providersLoadedAtse.id===i.id)||(!i.id&&!i.module?f[0]:null);X&&!i.dirty&&o({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:((Ve=X.config)==null?void 0:Ve.reasoning_effort)||"",credentialMode:(tt=X.credential)!=null&&tt.hasStoredKey||!X.credential&&X.credentialsConfigured?"private":"environment",envVar:((wt=X.credential)==null?void 0:wt.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[i.id],d(""),m("{}"),o({id:"",module:"",config:"{}",model:"",dirty:!1,detailOpen:!1,connections:{...i.connections,[i.id]:void 0}}))},[_e==null?void 0:_e.updatedAt]);const Me=w("providers.save");g.useEffect(()=>{(Me==null?void 0:Me.phase)==="ready"&&Me.updatedAt>=y.current&&(d(""),l.current[i.selectionKey??i.id]={apiKey:"",configText:p},s({dirty:!1,connections:{...i.connections,[i.selectionKey??i.id]:void 0}}))},[Me==null?void 0:Me.updatedAt]),g.useEffect(()=>{var X;((X=w("providers.reorder",""))==null?void 0:X.phase)==="ready"&&i.order&&o({order:null})},[(he=w("providers.reorder",""))==null?void 0:he.updatedAt]);const Ke=(X,Ce={})=>S(X,{id:i.id,...Ce}),ue=vp(P,{...G,default_model:i.model,model:i.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}:{}})},M=async()=>{await S("providers.save",{...i.id?{id:i.id}:{},module:i.module.trim(),...i.source.trim()?{source:i.source.trim()}:{},config:{...G,...i.model?{default_model:i.model}:{}},scope:i.scope,...ne&&H==="environment"&&O?{apiKeyEnv:O}:u&&H==="private"?{apiKey:u}:{}})},W=!!u||p!==i.config||Object.values(l.current).some(X=>X.apiKey),re=!!i.dirty||W||Object.values(i.connections||{}).some(X=>X==null?void 0:X.dirty);return Ww("providers",{label:"Provider configuration",dirty:re,review:()=>{r("providers");const X=Object.entries(i.connections||{}).find(([,Ce])=>Ce==null?void 0:Ce.dirty);!i.dirty&&!W&&X?pe(f.find(Ce=>Ce.id===X[0])||null):o({detailOpen:!0})},discard:()=>{l.current={},d(""),m("{}"),o({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:()=>pe(null)},n.createElement(Mn,null),"Add provider"),n.createElement("button",{className:"a-soft",disabled:f.length<2||B,"data-action":"view.update",onClick:()=>o({orderOpen:!0,order:i.order||{ids:f.map(X=>X.id),expectedIds:f.map(X=>X.id),scope:i.scope}})},"Preference order")),i.order&&i.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"}[i.order.scope]||i.order.scope)+". Routing profile choices stay separate.",items:f.map(X=>({id:X.id,label:X.id,description:X.module})),ids:i.order.ids,onChange:X=>o({order:{...i.order,ids:X}}),onCancel:()=>o({order:null}),busy:R(w("providers.reorder","")),error:(Ne=w("providers.reorder",""))==null?void 0:Ne.error,action:"providers.reorder",onSave:()=>S("providers.reorder",{...i.order})}):n.createElement(xi,{label:"providers",detailOpen:!!i.detailOpen,onBack:()=>o({detailOpen:!1}),list:n.createElement(n.Fragment,null,ie,n.createElement(Gt,{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===(i.selectionKey??i.id),onSelect:()=>pe(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:i.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:i.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(Gt,{name:"provider-models",busy:R(A)},n.createElement("label",{htmlFor:"provider-model"},"Default model"),n.createElement(bp,{editable:!0,catalogKey:i.id,id:"provider-model",label:"Default model",value:i.model,entry:(De=h.providerCatalogs)==null?void 0:De[i.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:()=>Ke("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:()=>Ke("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:()=>Ke("providers.login")},n.createElement($k,null),v!=null&&v.accountConnected?"Reconnect account":"Provider sign-in")),n.createElement(rt,{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(rt,{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)===i.id?((yt=h.test)==null?void 0:yt.reachable)!==!1?"Provider check passed":"Provider check failed":""),detail:!R(z)&&!(z!=null&&z.error)&&((gt=h.test)==null?void 0:gt.providerId)===i.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:i.id,state:e,id:i.id,sessionId:t==null?void 0:t.id,act:a,disabled:!v||B}),te&&(i.module==="provider-openai-chatgpt"?n.createElement(Tu,{login:te,busy:B,onCancel:()=>Ke("providers.loginCancel"),onRetry:()=>Ke("providers.login")}):n.createElement("div",{className:"a-selection-card",role:"status"},n.createElement("strong",null,"Provider sign-in · ",Z),(te.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"),te.error&&n.createElement("p",{className:"a-danger"},te.error),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-soft","data-action":"providers.loginStatus",onClick:()=>a("providers.loginStatus",{id:i.id})},"Check sign-in status"),["starting","waiting"].includes(Z)&&n.createElement("button",{className:"a-soft","data-action":"providers.loginCancel",onClick:()=>a("providers.loginCancel",{id:i.id})},"Cancel sign-in")))),n.createElement(Gt,{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:i.module,...i.id?{id:i.id}:{}})},"Retry loading options")),ue.map(X=>{var Ve;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),(Ve=X.choices)!=null&&Ve.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&&!ue.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:i.accessOpen??!(v!=null&&v.credentialsConfigured)},n.createElement("summary",{"data-action":"view.update",onClick:X=>{X.preventDefault(),o({accessOpen:!(i.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===i.module)?i.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",...!i.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===i.module)&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-module"},"Provider module"),n.createElement("input",{id:"provider-module",value:i.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(Gt,{name:"provider-credentials",busy:R(T)},n.createElement("label",{htmlFor:"provider-key-env"},"Environment variable name"),n.createElement("input",{id:"provider-key-env",value:O,"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(rt,{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||!i.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)||!i.module||!!i.envVar&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(i.envVar),onClick:()=>S("providers.credentials",{module:i.module,...i.envVar?{envVar:i.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),o({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":i.advanced,"data-action":"view.update",onClick:()=>o({advanced:!i.advanced})},i.advanced?"Hide":"Show"," advanced configuration"),i.advanced&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"provider-source"},"Module source (optional)"),n.createElement(Ma,{id:"provider-source",value:i.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{}}})),U&&n.createElement("p",{className:"a-danger"},U),["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(Nn,{active:!!i.detailOpen},n.createElement("button",{className:"a-primary",disabled:!i.module.trim()||!!U||B||ne&&H==="environment"&&!/^[A-Za-z_][A-Za-z0-9_]*$/.test(O),"data-operation-pending":R(Me)||void 0,"aria-busy":R(Me)||void 0,"data-action":"providers.save",onClick:M},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:i.id,scope:i.scope})},n.createElement(Qn,null),"Remove")),t&&v&&n.createElement("div",{className:"a-provider-session"},n.createElement("button",{className:"a-soft",disabled:!i.model||be||B,"data-action":"runtime.control",onClick:()=>a("runtime.control",{sessionId:t.id,operation:"provider.select",args:{instance:i.id,model:i.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 O,k,T,A,q,z,F,H,ne,B,P,_,te,Z,D,G,U;const a=(O=e.view)==null?void 0:O.registryDraft,[r,i]=g.useState({...dD,...a});g.useEffect(()=>{a&&i(K=>({...K,...a}))},[a]);const o=K=>{const ie={...r,...K};i(ie),t("view.update",{patch:{registryDraft:ie}})},[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&&((te=c.sourceValidation)==null?void 0:te.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 ie,be;return["queued","working"].includes((be=(ie=e.actionStatus)==null?void 0:ie[K])==null?void 0:be.phase)}),I=K=>{const ie=JSON.stringify(K.config||{},null,2);l(ie),o({section:K.section,id:K.id,module:K.module,source:K.source||"",config:ie,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,ie])=>n.createElement("button",{key:K,className:r.tab===K?"selected":"","data-action":"view.update",onClick:()=>o({tab:K})},ie))),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=>o({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("{}"),o({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=>o({section:K.target.value})},Mf.map(([K,ie])=>n.createElement("option",{key:K,value:K},ie)))),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=>o({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=>o({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=>o({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 ie=K.target.value;l(ie);try{Er(ie),o({config:ie})}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=>o({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=>o({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(Nn,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(Gt,{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(rt,{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,ie)=>n.createElement("li",{key:ie},n.createElement(rt,{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:()=>o({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,ie)=>n.createElement("li",{key:ie},n.createElement(rt,{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:()=>o({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=>o({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=>o({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=>o({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=>o({sourceSection:K.target.value})},Mf.map(([K,ie])=>n.createElement("option",{key:K,value:K},ie))),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(Nn,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(Gt,{name:"source-validation",busy:S},S&&n.createElement(rt,{phase:"working",message:"Validating candidate source…"}),!S&&w&&n.createElement(n.Fragment,null,n.createElement(rt,{phase:w.passed?"ready":"error",message:w.saved?"Candidate validated and saved":w.passed?"Candidate validated; nothing saved":"Validation failed; saved source unchanged"}),(U=w.checks)==null?void 0:U.map((K,ie)=>n.createElement(rt,{key:ie,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[i,o]of(Array.isArray(e==null?void 0:e[r])?e[r]:[]).entries())t.push({key:`${r}:${i}`,section:r,index:i,module:o.module||"Unnamed module",id:o.instance_id||o.id||o.module,enabled:o.enabled!==!1,source:o.source,config:o.config||{},entry:o});for(const r of["orchestrator","context"]){const i=(a=e==null?void 0:e.session)==null?void 0:a[r];i&&t.push({key:`session:${r}`,section:r,index:r,module:typeof i=="string"?i:i.module,id:i.id||i.module||i,enabled:i.enabled!==!1,source:i.source,config:i.config||{},entry:i,required:!0})}return t}function zf(e,t,a){const r=structuredClone(e),i=wp(r).find(l=>l.key===t);if(!i)throw new Error("Select a module to edit.");const s={...typeof i.entry=="string"?{module:i.entry}:i.entry,...a};if(i.required){if(a.enabled===!1)throw new Error("The session requires an orchestrator and a context module.");r.session[i.section]=s}else r[i.section][i.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[i,o]=g.useState({...t,...e});g.useEffect(()=>{e&&o(l=>({...l,...e}))},[e]);function s(l){const c={...i,...l};o(c),r("view.update",{patch:{[a]:c}})}return[i,s]}function fD({state:e,session:t,act:a}){var S,I,N,O;const[r,i]=Zw((S=e.view)==null?void 0:S.bundleManager,hD,"bundleManager",a),o=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])=>o.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=o.find(k=>k.id===r.entryId)||o[0],p=o.filter(k=>k.role!=="standalone"&&k.enabled!==!1),m=(O=e.actionStatus)==null?void 0:O["bundles.reorder"];g.useEffect(()=>{(m==null?void 0:m.phase)==="ready"&&r.order&&i({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",o,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=>i({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(Ni,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:()=>i({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=>i({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=>i({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:`${o.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,o.length," configured · ",p.length," enabled capabilities"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:p.length<2||R,onClick:()=>i({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=>i({order:{...r.order,ids:k}}),onCancel:()=>i({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)}):o.length?n.createElement(xi,{label:"bundles",detailOpen:!!r.detailOpen,onBack:()=>i({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:()=>i({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=>i({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=>i({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,i]=Zw((w=e.view)==null?void 0:w.moduleEditor,{sessionId:"",text:"",selectedKey:"",configText:"",name:"my-amplifier",description:"",showRaw:!1,configAdvanced:!1},"moduleEditor",a),o=(t==null?void 0:t.configuration)||(((R=e.configuration)==null?void 0:R.sessionId)===(t==null?void 0:t.id)?e.configuration:null),s=o==null?void 0:o.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,O,k;s&&t&&(r.sessionId!==t.id||!r.text||((N=t.pendingConfiguration)==null?void 0:N.phase)==="ready"&&r.appliedAt!==((O=t.pendingConfiguration)==null?void 0:O.appliedAt))&&i({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,O){try{const k=zf(p,N,O);i({text:cr(k),...N===r.selectedKey&&O.config?{configText:cr(O.config)}:{}})}catch(k){i({parseError:k.message})}}function x(N){i({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(rt,{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(xi,{label:"modules",detailOpen:!!r.detailOpen,onBack:()=>i({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:O=>b(N.key,{enabled:O}),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,O])=>{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 O=="boolean"?n.createElement("select",{id:T,value:String(O),"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")):O===null||typeof O=="object"?n.createElement("p",{className:"a-caption"},Array.isArray(O)?`${O.length} items`:"Structured value"," · edit in advanced configuration below."):n.createElement("input",{id:T,type:typeof O=="number"?"number":"text",value:O,"data-action":"view.update",onChange:A=>{typeof O=="number"&&!A.target.value||b(f.key,{config:{...f.config,[N]:typeof O=="number"?Number(A.target.value):A.target.value}})}}))})),n.createElement("button",{className:"a-link","data-action":"view.update","aria-expanded":r.configAdvanced,onClick:()=>i({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),i({configText:N.target.value,parseError:""})}catch(O){O.message.includes("private API key")?i({parseError:O.message}):i({configText:N.target.value,parseError:""})}}}),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{try{const N=Er(r.configText);i({text:cr(zf(p,f.key,{config:N})),parseError:""})}catch(N){i({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:()=>i({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=>i({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(Nn,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:()=>i({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(rt,{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=>i({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=>i({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 i=(c=t.current)==null?void 0:c.querySelector(".a-compact-popover"),o=(u=t.current)==null?void 0:u.querySelector("button");if(!i||!o)return;const s=()=>{const d=o.getBoundingClientRect(),p=Math.min(340,window.innerWidth-24),m=i.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(i),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{l.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}},[e,t]),a}const Ao=(e,t)=>{var a,r;return((r=(a=e.registeredBundles)==null?void 0:a.find(i=>i.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,O,k,T;const i=Ja(e),o=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)||i.bundle||o.bundle||(((N=e.bundleDefaults)==null?void 0:N.workspacePath)===i.workspace?e.bundleDefaults.effective:""),y=l.open&&l.sessionId===((t==null?void 0:t.id)||null),E=g.useRef(null),b=Jw(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:{...i,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&&((O=t==null?void 0:t.bundleChange)==null?void 0:O.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?Ao(e,v):o.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(nn,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},Ao(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 O,k,T,A,q;const i=((O=e.view)==null?void 0:O.composerBundle)||kp,[o,s]=g.useState(i),[l,c]=g.useState(null),u=g.useRef(!1);g.useEffect(()=>s(i),[i]);const d=z=>{const F={...o,...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=o.open&&o.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)===o.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=o.bundle)!=null&&A.trim()),R=b&&!y.modelCompatible&&!o.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:o.bundle},composerBundle:{},panel:null}}:{sessionId:t.id,bundle:o.bundle,...z!=="bundle.preview"?{...b?{previewId:y.previewId}:{},resetModel:!!o.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":Ao(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(nn,null))),n.createElement("p",null,"Choose the tools, agents, and instructions for this conversation."),n.createElement(kg,{id:"conversation-bundle",value:o.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:!!o.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||o.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(rt,{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,[i,o]=g.useState(r),[s,l]=g.useState(!1),c=g.useRef(!1);g.useEffect(()=>o(r),[r]);const u=i.scope||"app",d=i.bundle??a[u]??"",p=v=>{const y={...i,...v};o(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(Nn,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,Ao(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 ",Ao(e,a.workspaceInherited)," default."))}const ni={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:"{}"},jt=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),eo=e=>Array.isArray(e)?e:Object.values(e||{}),_o=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=>jt(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,i]=g.useState({...ni,...a}),o=g.useRef(r);return g.useLayoutEffect(()=>{a&&(o.current={...ni,...a},i(o.current))},[a]),[r,c=>{const u={...o.current,...c};o.current=u,i(u),t("view.update",{patch:{smartToolsEditor:u}})}]}function SD(e,t,a={}){return[...e].reverse().find(r=>r.action===t&&Object.entries(a).every(([i,o])=>{var l,c;const s=((l=r.target)==null?void 0:l[i])??((c=r.args)==null?void 0:c[i])??(i==="id"?r.serverId:i==="name"?r.tool||r.name:r[i]);return r.target||r.args?(s??"")===(o??""):s==null||s===o}))}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.":jt(e)?t||"Working…":wD[e.action]||"Finished");return n.createElement(rt,{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||jt(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,i=typeof r=="string"?r:r==null?"":Za(r);return n.createElement("div",{className:"a-smart-result"},n.createElement("h4",null,"Result"),i&&n.createElement("pre",{tabIndex:0},i.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."):i.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 i=/^([A-Za-z_][A-Za-z0-9_]*)\s*=\s*([A-Za-z_][A-Za-z0-9_]*)$/.exec(r);if(!i)throw new Error("Use CHILD_VARIABLE=APP_VARIABLE on each line. Enter variable names, not secret values.");if(Object.hasOwn(a,i[1]))throw new Error(`The variable ${i[1]} appears more than once.`);a[i[1]]=i[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(i=>i.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 o;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 i={};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((o=e.required)!=null&&o.includes(s))throw new Error(`${l.title||_o(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||_o(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));i[s]=c}return i}function TD({schema:e,values:t,edit:a}){return Object.entries(e.properties||{}).map(([r,i])=>{var m,h;const o=`smart-tool-field-${r}`,s=i.title||_o(r),l=(m=e.required)==null?void 0:m.includes(r),c=i.type==="object"||i.type==="array"||i.oneOf||i.anyOf||i.$ref||Array.isArray(i.type),u=i.default==null?"":i.enum||c?Za(i.default):String(i.default),d=t[r]??u,p={id:o,value:d,"data-action":"view.update",onChange:f=>a({...t,[r]:f.target.value}),"aria-describedby":i.description?o+"-hint":void 0};return n.createElement("div",{className:"a-smart-field",key:r},n.createElement("label",{htmlFor:o},s,l&&n.createElement("span",{className:"a-smart-required"},"Required")),i.enum?n.createElement("select",{...p},n.createElement("option",{value:""},l?"Choose…":"Tool default"),i.enum.map((f,v)=>n.createElement("option",{key:v,value:JSON.stringify(f)},typeof f=="string"?f:JSON.stringify(f)))):i.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:i.type==="array"?"[]":"{}"}):i.type==="number"||i.type==="integer"?n.createElement("input",{...p,type:"number",step:i.type==="integer"?"1":"any",min:i.minimum,max:i.maximum}):n.createElement("textarea",{...p,rows:2,placeholder:((h=i.examples)==null?void 0:h[0])==null?"":String(i.examples[0])}),i.description&&n.createElement("p",{id:o+"-hint",className:"a-caption"},i.description))})}function ID({state:e,act:t,simple:a=!1,navigateSettings:r}){var gt,Se,X,Ce,Fe,Ve,tt,wt,se,Qe,at,Et,ut,Mt,Ct,qt,it,ot,We,Ot,en,vn,Tn,bn,Ln,Kn,ye,Ue,vt,Ze,ct,Ee,Jt,tn,on,Q,yn,ca,Sa,Dn,En,dn,In,rn,mt,ht;const[i,o]=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=eo(h.servers),v=eo(h.catalog),y=eo(h.installations).filter(V=>!V.supersededBy&&!V.stagedFrom),E=eo(h.operations),b=f.find(V=>V.id===i.serverId),x=eo(b==null?void 0:b.tools).filter(V=>{var ke,Xe;return(((Xe=(ke=V._meta)==null?void 0:ke.ui)==null?void 0:Xe.visibility)||["model","app"]).includes("model")}),w=x.find(V=>V.name===i.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[i.toolName]:{}},S=!!(R!=null&&R.inputSchema)&&(b==null?void 0:b.catalogState)!=="stale",I=(V,ke={})=>(l==null?void 0:l.action)===V?l:SD(E,V,ke),N=async(V,ke={})=>{d(""),c({action:V,status:"pending",target:ke});try{const Xe=await t(V,ke);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:ke}),null}},O=(V,ke={})=>{d(""),c(null),o({page:V,catalogReview:!1,catalogInstalling:!1,returnPage:V==="source"&&i.page==="catalog"?"catalog":null,...ke})},k={...ni.connection,...i.connection},T=V=>o({connection:{...k,...V}}),A=[...E].reverse().find(jt),q=jt(l)||E.some(V=>{var ke,Xe,Dt;return jt(V)&&(i.page==="source"?((ke=V.target)==null?void 0:ke.repository)===i.repository.trim():i.page==="connection"?V.action==="smartTools.configure"&&(((Xe=V.target)==null?void 0:Xe.id)||"")===k.id:["server","tool"].includes(i.page)?((Dt=V.target)==null?void 0:Dt.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"),te=I("smartTools.installBatch"),Z=jt(te),D=V=>y.some(ke=>Ta(ke).replace(/\.git$/,"")===Ta(V).replace(/\.git$/,"")&&(ke.path||".")===(V.path||".")),G=i.catalogSelection||[],U=v.filter(V=>G.includes(V.id)&&!D(V)),K=Math.max(1,Math.min(i.catalogPage||1,Math.ceil(H.length/40)||1)),ie=H.length>50,be=ie?H.slice((K-1)*40,K*40):H,pe=v.find(V=>V.id===i.catalogId)||be[0],_e=(V,ke)=>o({catalogSelection:ke?[...new Set([...G,V])]:G.filter(Xe=>Xe!==V)}),Me=V=>o({catalogSelection:[...new Set([...G,...V.filter(ke=>!D(ke)).map(ke=>ke.id)])]});g.useEffect(()=>{o({catalogPage:1})},[B]);const Ke=i.page==="tool"?"server":"home",ue=V=>O("connection",{connection:V?{id:V.id,name:V.name,command:V.command,args:(V.args||[]).join(` `),env:Object.entries(V.env||{}).map(([ke,Xe])=>ke+"="+Xe).join(` `),cwd:V.cwd||"",transport:V.transport||"stdio",url:V.url||"",headers:Object.entries(V.headers||{}).map(([ke,Xe])=>ke+"="+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()}:{}}),M={repository:o.repository.trim(),ref:o.ref.trim(),path:o.path.trim()},W=I("smartTools.inspect",M),re=I("smartTools.install",M),ze=JSON.stringify(M),Le=Hc(ze,W==null?void 0:W.result,jt(W)||Xr(W)),ge=y.find(V=>Ta(V)===o.repository.trim()&&(V.path||".")===(o.path||".")),lt=!jt(re)&&!Xr(re)&&(re==null?void 0:re.result)||ge,bt=I("smartTools.call",{id:b==null?void 0:b.id,name:R==null?void 0:R.name,sessionId:e.selectedSessionId}),Wt=Hc(JSON.stringify([e.selectedSessionId,b==null?void 0:b.id,R==null?void 0:R.name]),bt,jt(bt)||Xr(bt)),At=[...E].reverse().find(V=>{var ke,Xe,Dt;return V.action==="smartTools.call"&&V.status==="completed"&&((ke=V.target)==null?void 0:ke.id)===(b==null?void 0:b.id)&&((Xe=V.target)==null?void 0:Xe.name)===(R==null?void 0:R.name)&&((Dt=V.target)==null?void 0:Dt.sessionId)===e.selectedSessionId}),Zt=async()=>{const V=e.selectedSessionId,ke=await N("smartTools.open",{id:b.id,tool:R.name,...V?{sessionId:V}:{},...At?{operationId:At.id}:{}});ke!=null&&ke.operationId&&m({id:ke.operationId,sessionId:V,serverId:b.id,toolName:R.name})};g.useEffect(()=>{var ke;if(!p)return;const V=E.find(Xe=>Xe.id===p.id);!V||jt(V)||(V.status==="completed"&&e.selectedSessionId===p.sessionId&&((ke=e.view)==null?void 0:ke.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,ke;!a||s.current||(s.current=!0,(ke=(V=e.view)==null?void 0:V.smartToolsEditor)!=null&&ke.page||(O("home"),v.length||N("smartTools.catalog")))},[a]);const ie=()=>(i({catalogReview:!1,catalogInstalling:!0}),N("smartTools.installBatch",{ids:U.map(V=>V.id),extrasById:Object.fromEntries(U.map(V=>{var ke;return[V.id,(((ke=o.catalogExtras)==null?void 0:ke[V.id])||"").split(",").map(Xe=>Xe.trim()).filter(Boolean)]}))})),he=V=>O("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:{}},De=!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,ke)=>(ke.updatedAt||ke.createdAt||1/0)-(V.updatedAt||V.createdAt||1/0))[0],ft=g.useRef(null),yt=o.catalogReview?"review":o.catalogInstalling||Z?"install":"browse";return g.useLayoutEffect(()=>{var V,ke;o.page==="catalog"&&yt!=="browse"&&((V=ft.current)==null||V.focus(),(ke=ft.current)==null||ke.scrollIntoView({block:"start"}))},[yt,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:()=>O(Ke)},n.createElement(xa,null),"Back to ",Ke==="server"?(b==null?void 0:b.name)||"connection":"Smart Tools"),u&&n.createElement(rt,{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:()=>O("home")},"Installed"),n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":o.page==="catalog","data-action":"smartTools.catalog",onClick:()=>{O("catalog"),v.length||N("smartTools.catalog")}},"Tool catalog"),n.createElement("button",{className:"a-link",disabled:Z,"data-action":"view.update",onClick:()=>O("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:()=>O("home")},"Installed & connected"),n.createElement("button",{className:"a-soft","data-action":"smartTools.catalog",onClick:()=>{O("catalog"),v.length||N("smartTools.catalog")}},n.createElement(gr,null),"Tool catalog"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>O("source")},n.createElement(Ea,null),"Add from Git"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>ue()},n.createElement(Mn,null),"Add MCP connection")),o.page==="catalog"&&n.createElement(Gt,{className:a?"a-tool-catalog-simple":void 0,name:"smart-tool-catalog",busy:jt(I("smartTools.catalog"))},yt==="review"&&n.createElement("section",{className:"a-tool-batch-review","aria-label":"Review installation"},n.createElement("h4",{ref:ft,tabIndex:-1},"Install ",U.length," tools?"),n.createElement("p",null,"Installation adds the packages. Accounts and permissions are connected separately."),n.createElement("ul",null,U.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||!U.length,onClick:ie},"Install selected (",U.length,")"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:Z,onClick:()=>i({catalogReview:!1})},"Cancel"))),yt==="install"&&n.createElement("section",{"aria-label":"Catalog installation results"},n.createElement("h4",{ref:ft,tabIndex:-1},Z?"Installing your tools…":Xr(te)?"Some tools need attention":"Installation complete"),n.createElement(ha,{operation:te,busyMessage:"Installing selected packages…"}),n.createElement("ul",{className:"a-catalog-results"},((te==null?void 0:te.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=te==null?void 0:te.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:te.id})},"Retry unfinished installations"),!Z&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",onClick:()=>O("home")},"View installed tools"),n.createElement("button",{className:"a-soft",onClick:()=>O("catalog")},"Back to catalog"))),yt==="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:jt(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||jt(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`:`${U.length} selected across the catalog`),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>Me(be)},"Select ",oe?"page":a?"all available":"matching"),oe&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>Me(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||U.length>0||Z)&&n.createElement(Nn,null,n.createElement("span",{className:"a-catalog-selection-summary"},U.length," selected",U.some(V=>!be.includes(V))&&n.createElement("small",null,U.filter(V=>!be.includes(V)).length," outside this view")),n.createElement("button",{className:"a-primary",disabled:!U.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?be.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:ke=>_e(V.id,ke.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(Qt,null)))):be.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:ke=>_e(V.id,ke),selected:!a&&V.id===(pe==null?void 0:pe.id),onSelect:()=>i({catalogId:V.id,catalogDetail:!0})}))},pe?n.createElement(n.Fragment,null,n.createElement("h4",null,pe.name||pe.id),n.createElement("p",null,pe.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(pe)),n.createElement("dl",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,pe.version||((Ce=pe.manifest)==null?void 0:Ce.version)||"See manifest"),n.createElement("dt",null,"Branch or revision"),n.createElement("dd",null,pe.ref||"Repository default")),((Fe=pe.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 pe.manifest.requires=="string"?pe.manifest.requires:Za(pe.manifest.requires))),n.createElement("label",{htmlFor:"catalog-package-extras"},"Optional package extras"),n.createElement("input",{id:"catalog-package-extras",value:((Ve=o.catalogExtras)==null?void 0:Ve[pe.id])||"",placeholder:"For example, mcp","data-action":"view.update",onChange:V=>i({catalogExtras:{...o.catalogExtras,[pe.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(pe),"data-action":"view.update",onClick:()=>_e(pe.id,!G.includes(pe.id))},D(pe)?"Installed":G.includes(pe.id)?"Deselect tool":"Select for installation"),n.createElement("button",{className:"a-link","data-action":"smartTools.inspect",onClick:()=>{O("source",{returnPage:"catalog",repository:Ta(pe),ref:pe.ref||"",path:pe.path||"",extras:""}),N("smartTools.inspect",{repository:Ta(pe),...pe.ref?{ref:pe.ref}:{},...pe.path?{path:pe.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&&!jt(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:()=>{O("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,ke)=>{var Xe;return n.createElement(Va,{key:V.id||ke,id:V.id||String(ke),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:f.some(Dt=>Dt.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:()=>O("server",{serverId:V.id})})))))),o.page!=="catalog"&&!(a&&o.page==="home")&&n.createElement(So,{label:"configurations",detailOpen:o.page!=="home",onBack:()=>O("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 ke,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"))+((ke=V.tools)!=null&&ke.length?` · ${V.tools.length} tools`:"")+(V.uiCapable||(Xe=V.tools)!=null&&Xe.some(Dt=>{var wn,sn;return(sn=(wn=Dt._meta)==null?void 0:wn.ui)==null?void 0:sn.resourceUri})?" · Canvas views":""),selected:V.id===(b==null?void 0:b.id),onSelect:()=>O("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,ke)=>{var Xe,Dt;return n.createElement(Va,{key:V.id||ke,id:V.id||String(ke),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:a?f.some(wn=>wn.installationId===V.id)?"Installed · connection configured":"Installed · finish setup":V.version||((Dt=V.commit)==null?void 0:Dt.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,(ge==null?void 0:ge.name)||((tt=ge==null?void 0:ge.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===(ge==null?void 0:ge.id)&&!!(ge!=null&&ge.id)).map(V=>n.createElement("button",{key:V.id,className:"a-soft","data-action":"view.update",onClick:()=>O("server",{serverId:V.id})},"Open ",V.name)),!o.setupInstructions&&!f.some(V=>V.installationId===(ge==null?void 0:ge.id)&&!!(ge!=null&&ge.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 ",(ge==null?void 0:ge.name)||((wt=ge==null?void 0:ge.manifest)==null?void 0:wt.name)||"this tool"),n.createElement("p",null,ge!=null&&ge.guidance&&typeof ge.guidance=="string"?ge.guidance:(ge==null?void 0:ge.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))),(ge==null?void 0:ge.binDir)&&n.createElement(n.Fragment,null,n.createElement("p",null,"Installed executables"),n.createElement("code",{className:"a-smart-path"},ge.binDir)),((se=ge==null?void 0:ge.manifest)==null?void 0:se.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement(kD,{value:ge.manifest.requires})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"view.update",onClick:()=>{var V;return O("connection",{connection:{...no.connection,name:(ge==null?void 0:ge.name)||((V=ge==null?void 0:ge.manifest)==null?void 0:V.name)||"",installationId:(ge==null?void 0:ge.id)||""}})}},"Configure MCP connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>O("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,ge==null?void 0:ge.description),n.createElement("code",{className:"a-wrap"},o.repository),n.createElement("p",{className:"a-caption"},ge==null?void 0:ge.nextStep)))),o.page==="source"&&n.createElement(n.Fragment,null,n.createElement("h4",null,ge?`Set up ${ge.name||((Qe=ge.manifest)==null?void 0:Qe.name)||"tool"}`:a?"Add from GitHub URL":"Add from Git"),n.createElement("p",null,ge?"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(Gt,{name:"smart-tool-inspection",busy:jt(W)},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-operation-pending":jt(W)||void 0,"aria-busy":jt(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…"}),Le&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,Le.name||((at=Le.manifest)==null?void 0:at.name)||((Et=Le.metadata)==null?void 0:Et.name)||"Tool source"),n.createElement("p",null,Le.description||((ut=Le.manifest)==null?void 0:ut.description)||((Mt=Le.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,((Ct=Le.commit)==null?void 0:Ct.slice(0,12))||Le.revision||o.ref||"Default branch"))),Le.version||(qt=Le.manifest)!=null&&qt.version?n.createElement("div",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,Le.version||((ot=Le.manifest)==null?void 0:ot.version))):null),(((it=Le.manifest)==null?void 0:it.requires)||Le.requires)&&n.createElement("div",{className:"a-smart-requirements"},n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",null,typeof(((We=Le.manifest)==null?void 0:We.requires)||Le.requires)=="string"?((Ot=Le.manifest)==null?void 0:Ot.requires)||Le.requires:Za(((en=Le.manifest)==null?void 0:en.requires)||Le.requires))))),n.createElement(Gt,{name:"smart-tool-installation",busy:jt(re)},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(Nn,null,n.createElement("button",{type:"button",className:"a-primary","data-operation-pending":jt(re)||void 0,"aria-busy":jt(re)||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),ge?"Install source revision":"Install package")),n.createElement(ha,{operation:re,busyMessage:"Installing the package in its own environment…"}),(lt==null?void 0:lt.previousInstallationId)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"updates.smartToolRollback",onClick:()=>t("updates.smartToolRollback",{id:lt.id})},"Restore previous version"),lt&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,n.createElement(Pt,null),"Package installed"),lt.binDir&&n.createElement(n.Fragment,null,n.createElement("p",null,"Executables are available in:"),n.createElement("code",{className:"a-smart-path"},lt.binDir)),lt.guidance&&n.createElement("p",null,typeof lt.guidance=="string"?lt.guidance:Za(lt.guidance)),n.createElement("p",null,lt.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;ue(),i({connection:{...no.connection,name:lt.name||((V=lt.manifest)==null?void 0:V.name)||"",command:"",installationId:lt.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:lt.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:lt.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(ke=>ke.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(ke){d(ke.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(Nn,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:()=>O("home")},"View connections",n.createElement(zr,null)))),(o.page==="server"||o.page==="tool")&&!b&&n.createElement(rt,{phase:"neutral",message:"This connection is no longer configured."}),o.page==="server"&&b&&n.createElement(Gt,{name:"smart-tool-connection-"+b.id,busy:jt(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:()=>ue(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:((Tn=b.account)==null?void 0:Tn.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(),"."),((ye=b.account)==null?void 0:ye.detail)&&n.createElement("p",null,b.account.detail),((Ue=b.account)==null?void 0:Ue.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"))),((Ze=(vt=b.authorization)==null?void 0:vt.requestedScopes)==null?void 0:Ze.length)>0&&n.createElement("p",{className:"a-caption"},"Requested access: ",b.authorization.requestedScopes.join(", ")),n.createElement("p",{className:"a-caption"},"Granted access: ",((Ee=(ct=b.authorization)==null?void 0:ct.grantedScopes)==null?void 0:Ee.join(", "))||"Not reported"," · Consent: ",((Jt=b.authorization)==null?void 0:Jt.consent)||"Unknown"),b.auth==="oauth"&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("p",null,"Sign-in: ",((tn=b.login)==null?void 0:tn.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((on=b.login)==null?void 0:on.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((yn=b.login)==null?void 0:yn.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(" ")!==((En=(Dn=b.authorization)==null?void 0:Dn.requestedScopes)==null?void 0:En.join(" "))&&n.createElement("p",null,"Requested access: ",b.login.requestedScopes.join(", ")),((dn=b.login)==null?void 0:dn.error)&&n.createElement(rt,{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(rt,{phase:"error",message:b.error}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","aria-busy":jt(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":jt(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(rt,{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 ke,Xe,Dt;return n.createElement("button",{type:"button",key:V.name,className:"a-smart-list-row","data-action":"view.update",onClick:()=>{O("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||((ke=V.annotations)==null?void 0:ke.title)||_i(V.name)),n.createElement("small",null,V.description||V.name),((Dt=(Xe=V._meta)==null?void 0:Xe.ui)==null?void 0:Dt.resourceUri)&&n.createElement("small",{className:"a-smart-view-label"},"Interactive canvas view")),n.createElement(Qt,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})&&O("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(rt,{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||((rn=R.annotations)==null?void 0:rn.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:Zt},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 ke=Ic(Ne,o.values,o.raw,o.json);N("smartTools.call",{id:b.id,name:R.name,arguments:ke,catalogRevision:b.catalogRevision})}catch(ke){d(ke.message)}}},!De&&!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})})),!De&&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 ke=Object.fromEntries(Object.entries(V).map(([Xe,Dt])=>{var wn,sn;return[Xe,(sn=(wn=Ne.properties)==null?void 0:wn[Xe])!=null&&sn.enum||typeof Dt=="object"?JSON.stringify(Dt):String(Dt)]}));i({raw:!1,values:ke})}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(Nn,null,n.createElement("button",{type:"submit",form:"smart-tool-form",className:"a-primary","data-operation-pending":jt(bt)||void 0,"aria-busy":jt(bt)||void 0,"data-action":"smartTools.call",disabled:q||!["connected","ready"].includes(b.status)},n.createElement(lg,null),"Run tool"))),n.createElement(Gt,{name:"smart-tool-result",busy:jt(bt)},n.createElement(ha,{operation:bt,busyMessage:"Running the tool…"}),n.createElement(CD,{operation:Wt})))),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 O=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(!(O!=null&&O.accepted)||!O.operationId)throw Error((O==null?void 0:O.error)||"Could not save. Please retry.");u({id:O.operationId,version:N})}catch(O){v.current=!1,p(O.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(Nn,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(rt,{phase:"error",message:d}),n.createElement(rt,{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,O,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(te=>te!==P),y=(B,P,_=!1)=>n.createElement("div",{className:"a-diagnostic-streams"},s.map(te=>n.createElement("label",{className:"a-inline-checkbox",key:te.id},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:B.includes(te.id),disabled:!_&&!i.streams.includes(te.id),onChange:Z=>P(v(B,te.id,Z.target.checked))}),n.createElement("span",null,te.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(Gt,{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(rt,{...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(Nn,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(rt,{...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 · ",((O=h==null?void 0:h.counts)==null?void 0:O.cancelled)||0," cancelled"),(h==null?void 0:h.error)&&n.createElement(rt,{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(rt,{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(rt,{phase:"error",message:"Local diagnostic storage needs attention. Conversations can continue."}),n.createElement(Nn,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(te=>te.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(Gt,{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(rt,{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(Gt,{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(Nn,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(` +`),auth:V.auth||"environment",installationId:V.installationId||""}:ni.connection}),ve=()=>({repository:i.repository.trim(),...i.ref.trim()?{ref:i.ref.trim()}:{},...i.path.trim()?{path:i.path.trim()}:{}}),M={repository:i.repository.trim(),ref:i.ref.trim(),path:i.path.trim()},W=I("smartTools.inspect",M),re=I("smartTools.install",M),ze=JSON.stringify(M),Le=Hc(ze,W==null?void 0:W.result,jt(W)||Xr(W)),ge=y.find(V=>Ta(V)===i.repository.trim()&&(V.path||".")===(i.path||".")),lt=!jt(re)&&!Xr(re)&&(re==null?void 0:re.result)||ge,bt=I("smartTools.call",{id:b==null?void 0:b.id,name:R==null?void 0:R.name,sessionId:e.selectedSessionId}),Wt=Hc(JSON.stringify([e.selectedSessionId,b==null?void 0:b.id,R==null?void 0:R.name]),bt,jt(bt)||Xr(bt)),At=[...E].reverse().find(V=>{var ke,Xe,Dt;return V.action==="smartTools.call"&&V.status==="completed"&&((ke=V.target)==null?void 0:ke.id)===(b==null?void 0:b.id)&&((Xe=V.target)==null?void 0:Xe.name)===(R==null?void 0:R.name)&&((Dt=V.target)==null?void 0:Dt.sessionId)===e.selectedSessionId}),Zt=async()=>{const V=e.selectedSessionId,ke=await N("smartTools.open",{id:b.id,tool:R.name,...V?{sessionId:V}:{},...At?{operationId:At.id}:{}});ke!=null&&ke.operationId&&m({id:ke.operationId,sessionId:V,serverId:b.id,toolName:R.name})};g.useEffect(()=>{var ke;if(!p)return;const V=E.find(Xe=>Xe.id===p.id);!V||jt(V)||(V.status==="completed"&&e.selectedSessionId===p.sessionId&&((ke=e.view)==null?void 0:ke.panel)==="settings"&&i.page==="tool"&&i.serverId===p.serverId&&i.toolName===p.toolName&&t("view.update",{patch:{panel:null}}),m(null))},[p,E,e.selectedSessionId,(Se=e.view)==null?void 0:Se.panel,i.page,i.serverId,i.toolName]),g.useEffect(()=>{var V,ke;!a||s.current||(s.current=!0,(ke=(V=e.view)==null?void 0:V.smartToolsEditor)!=null&&ke.page||(O("home"),v.length||N("smartTools.catalog")))},[a]);const oe=()=>(o({catalogReview:!1,catalogInstalling:!0}),N("smartTools.installBatch",{ids:U.map(V=>V.id),extrasById:Object.fromEntries(U.map(V=>{var ke;return[V.id,(((ke=i.catalogExtras)==null?void 0:ke[V.id])||"").split(",").map(Xe=>Xe.trim()).filter(Boolean)]}))})),he=V=>O("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:{}},De=!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,ke)=>(ke.updatedAt||ke.createdAt||1/0)-(V.updatedAt||V.createdAt||1/0))[0],ft=g.useRef(null),yt=i.catalogReview?"review":i.catalogInstalling||Z?"install":"browse";return g.useLayoutEffect(()=>{var V,ke;i.page==="catalog"&&yt!=="browse"&&((V=ft.current)==null||V.focus(),(ke=ft.current)==null||ke.scrollIntoView({block:"start"}))},[yt,i.page]),n.createElement("section",{className:"a-settings-section a-smart-tools","data-part":"smart-tools-settings","data-simple":a},i.page!=="home"&&(!a||!["catalog"].includes(i.page))&&n.createElement("button",{type:"button",className:"a-link a-smart-back","data-action":"view.update",onClick:()=>O(Ke)},n.createElement(xa,null),"Back to ",Ke==="server"?(b==null?void 0:b.name)||"connection":"Smart Tools"),u&&n.createElement(rt,{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":i.page==="home","data-action":"view.update",onClick:()=>O("home")},"Installed"),n.createElement("button",{className:"a-soft",disabled:Z,"aria-pressed":i.page==="catalog","data-action":"smartTools.catalog",onClick:()=>{O("catalog"),v.length||N("smartTools.catalog")}},"Tool catalog"),n.createElement("button",{className:"a-link",disabled:Z,"data-action":"view.update",onClick:()=>O("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:()=>O("home")},"Installed & connected"),n.createElement("button",{className:"a-soft","data-action":"smartTools.catalog",onClick:()=>{O("catalog"),v.length||N("smartTools.catalog")}},n.createElement(gr,null),"Tool catalog"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>O("source")},n.createElement(Ea,null),"Add from Git"),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>ue()},n.createElement(Mn,null),"Add MCP connection")),i.page==="catalog"&&n.createElement(Gt,{className:a?"a-tool-catalog-simple":void 0,name:"smart-tool-catalog",busy:jt(I("smartTools.catalog"))},yt==="review"&&n.createElement("section",{className:"a-tool-batch-review","aria-label":"Review installation"},n.createElement("h4",{ref:ft,tabIndex:-1},"Install ",U.length," tools?"),n.createElement("p",null,"Installation adds the packages. Accounts and permissions are connected separately."),n.createElement("ul",null,U.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||!U.length,onClick:oe},"Install selected (",U.length,")"),n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:Z,onClick:()=>o({catalogReview:!1})},"Cancel"))),yt==="install"&&n.createElement("section",{"aria-label":"Catalog installation results"},n.createElement("h4",{ref:ft,tabIndex:-1},Z?"Installing your tools…":Xr(te)?"Some tools need attention":"Installation complete"),n.createElement(ha,{operation:te,busyMessage:"Installing selected packages…"}),n.createElement("ul",{className:"a-catalog-results"},((te==null?void 0:te.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=te==null?void 0:te.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:te.id})},"Retry unfinished installations"),!Z&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary",onClick:()=>O("home")},"View installed tools"),n.createElement("button",{className:"a-soft",onClick:()=>O("catalog")},"Back to catalog"))),yt==="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:jt(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||jt(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?ie?`${(K-1)*40+1}–${Math.min(K*40,H.length)} of ${H.length} tools`:`${H.length===v.length?"All ":""}${H.length} tools`:`${U.length} selected across the catalog`),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>Me(be)},"Select ",ie?"page":a?"all available":"matching"),ie&&n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>Me(H)},"Select all matching"),(!a||G.length>0)&&n.createElement("button",{className:"a-link",disabled:!G.length,"data-action":"view.update",onClick:()=>o({catalogSelection:[]})},"Clear selection"))),(a||U.length>0||Z)&&n.createElement(Nn,null,n.createElement("span",{className:"a-catalog-selection-summary"},U.length," selected",U.some(V=>!be.includes(V))&&n.createElement("small",null,U.filter(V=>!be.includes(V)).length," outside this view")),n.createElement("button",{className:"a-primary",disabled:!U.length||Z,"data-action":"smartTools.installBatch",onClick:()=>o({catalogReview:!0})},n.createElement(Ea,null),"Review & install")),n.createElement(xi,{label:"catalog",detailOpen:!!i.catalogDetail,onBack:()=>o({catalogDetail:!1}),list:a?be.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:ke=>_e(V.id,ke.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:()=>o({catalogId:V.id,catalogDetail:!0})},n.createElement(Qt,null)))):be.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:ke=>_e(V.id,ke),selected:!a&&V.id===(pe==null?void 0:pe.id),onSelect:()=>o({catalogId:V.id,catalogDetail:!0})}))},pe?n.createElement(n.Fragment,null,n.createElement("h4",null,pe.name||pe.id),n.createElement("p",null,pe.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(pe)),n.createElement("dl",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,pe.version||((Ce=pe.manifest)==null?void 0:Ce.version)||"See manifest"),n.createElement("dt",null,"Branch or revision"),n.createElement("dd",null,pe.ref||"Repository default")),((Fe=pe.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 pe.manifest.requires=="string"?pe.manifest.requires:Za(pe.manifest.requires))),n.createElement("label",{htmlFor:"catalog-package-extras"},"Optional package extras"),n.createElement("input",{id:"catalog-package-extras",value:((Ve=i.catalogExtras)==null?void 0:Ve[pe.id])||"",placeholder:"For example, mcp","data-action":"view.update",onChange:V=>o({catalogExtras:{...i.catalogExtras,[pe.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(pe),"data-action":"view.update",onClick:()=>_e(pe.id,!G.includes(pe.id))},D(pe)?"Installed":G.includes(pe.id)?"Deselect tool":"Select for installation"),n.createElement("button",{className:"a-link","data-action":"smartTools.inspect",onClick:()=>{O("source",{returnPage:"catalog",repository:Ta(pe),ref:pe.ref||"",path:pe.path||"",extras:""}),N("smartTools.inspect",{repository:Ta(pe),...pe.ref?{ref:pe.ref}:{},...pe.path?{path:pe.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.")),ie&&n.createElement("div",{className:"a-catalog-pages"},n.createElement("button",{className:"a-soft","data-action":"view.update",disabled:K===1,onClick:()=>o({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:()=>o({catalogPage:K+1,catalogDetail:!1})},"Next")),!v.length&&!jt(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&&i.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:()=>{O("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,ke)=>{var Xe;return n.createElement(Va,{key:V.id||ke,id:V.id||String(ke),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:f.some(Dt=>Dt.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:()=>O("server",{serverId:V.id})})))))),i.page!=="catalog"&&!(a&&i.page==="home")&&n.createElement(xi,{label:"configurations",detailOpen:i.page!=="home",onBack:()=>O("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 ke,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"))+((ke=V.tools)!=null&&ke.length?` · ${V.tools.length} tools`:"")+(V.uiCapable||(Xe=V.tools)!=null&&Xe.some(Dt=>{var wn,sn;return(sn=(wn=Dt._meta)==null?void 0:wn.ui)==null?void 0:sn.resourceUri})?" · Canvas views":""),selected:V.id===(b==null?void 0:b.id),onSelect:()=>O("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,ke)=>{var Xe,Dt;return n.createElement(Va,{key:V.id||ke,id:V.id||String(ke),label:V.name||((Xe=V.manifest)==null?void 0:Xe.name)||Ta(V),description:a?f.some(wn=>wn.installationId===V.id)?"Installed · connection configured":"Installed · finish setup":V.version||((Dt=V.commit)==null?void 0:Dt.slice(0,8))||"Installed",selected:i.page==="source"&&Ta(V)===i.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.")))},i.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")})),i.page==="setup"&&n.createElement(n.Fragment,null,n.createElement("h4",null,(ge==null?void 0:ge.name)||((tt=ge==null?void 0:ge.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===(ge==null?void 0:ge.id)&&!!(ge!=null&&ge.id)).map(V=>n.createElement("button",{key:V.id,className:"a-soft","data-action":"view.update",onClick:()=>O("server",{serverId:V.id})},"Open ",V.name)),!i.setupInstructions&&!f.some(V=>V.installationId===(ge==null?void 0:ge.id)&&!!(ge!=null&&ge.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:()=>o({setupInstructions:!0})},"Open setup instructions")),i.setupInstructions&&n.createElement("section",{className:"a-smart-setup-instructions","aria-label":"Setup instructions"},n.createElement("h4",null,"Set up ",(ge==null?void 0:ge.name)||((wt=ge==null?void 0:ge.manifest)==null?void 0:wt.name)||"this tool"),n.createElement("p",null,ge!=null&&ge.guidance&&typeof ge.guidance=="string"?ge.guidance:(ge==null?void 0:ge.nextStep)||"Follow the tool author’s instructions to connect the installed package."),/^https?:\/\//.test(i.repository)&&n.createElement("p",null,n.createElement("a",{href:i.repository,target:"_blank",rel:"noreferrer"},"Open the tool’s documentation",n.createElement(ba,null))),(ge==null?void 0:ge.binDir)&&n.createElement(n.Fragment,null,n.createElement("p",null,"Installed executables"),n.createElement("code",{className:"a-smart-path"},ge.binDir)),((se=ge==null?void 0:ge.manifest)==null?void 0:se.requires)&&n.createElement(n.Fragment,null,n.createElement("h5",null,"Requirements from the tool author"),n.createElement(kD,{value:ge.manifest.requires})),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"view.update",onClick:()=>{var V;return O("connection",{connection:{...ni.connection,name:(ge==null?void 0:ge.name)||((V=ge==null?void 0:ge.manifest)==null?void 0:V.name)||"",installationId:(ge==null?void 0:ge.id)||""}})}},"Configure MCP connection"),n.createElement("button",{className:"a-link","data-action":"view.update",onClick:()=>O("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,ge==null?void 0:ge.description),n.createElement("code",{className:"a-wrap"},i.repository),n.createElement("p",{className:"a-caption"},ge==null?void 0:ge.nextStep)))),i.page==="source"&&n.createElement(n.Fragment,null,n.createElement("h4",null,ge?`Set up ${ge.name||((Qe=ge.manifest)==null?void 0:Qe.name)||"tool"}`:a?"Add from GitHub URL":"Add from Git"),n.createElement("p",null,ge?"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:i.repository,placeholder:"https://github.com/owner/tool","data-action":"view.update",onChange:V=>o({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:i.ref,placeholder:"Repository default","data-action":"view.update",onChange:V=>o({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:i.path,placeholder:"Repository root","data-action":"view.update",onChange:V=>o({path:V.target.value})})))),n.createElement(Gt,{name:"smart-tool-inspection",busy:jt(W)},n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","data-operation-pending":jt(W)||void 0,"aria-busy":jt(W)||void 0,"data-action":"smartTools.inspect",disabled:!i.repository.trim()||q,onClick:()=>N("smartTools.inspect",ve())},n.createElement(zt,null),"Inspect source")),n.createElement(ha,{operation:W,busyMessage:"Reading the tool manifest…"}),Le&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,Le.name||((at=Le.manifest)==null?void 0:at.name)||((Et=Le.metadata)==null?void 0:Et.name)||"Tool source"),n.createElement("p",null,Le.description||((ut=Le.manifest)==null?void 0:ut.description)||((Mt=Le.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,((Ct=Le.commit)==null?void 0:Ct.slice(0,12))||Le.revision||i.ref||"Default branch"))),Le.version||(qt=Le.manifest)!=null&&qt.version?n.createElement("div",null,n.createElement("dt",null,"Version"),n.createElement("dd",null,Le.version||((it=Le.manifest)==null?void 0:it.version))):null),(((ot=Le.manifest)==null?void 0:ot.requires)||Le.requires)&&n.createElement("div",{className:"a-smart-requirements"},n.createElement("h5",null,"Requirements from the tool author"),n.createElement("pre",null,typeof(((We=Le.manifest)==null?void 0:We.requires)||Le.requires)=="string"?((Ot=Le.manifest)==null?void 0:Ot.requires)||Le.requires:Za(((en=Le.manifest)==null?void 0:en.requires)||Le.requires))))),n.createElement(Gt,{name:"smart-tool-installation",busy:jt(re)},n.createElement("label",{htmlFor:"smart-tool-extras"},"Optional package extras"),n.createElement("input",{id:"smart-tool-extras",value:i.extras,placeholder:"For example, mcp","data-action":"view.update",onChange:V=>o({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(Nn,null,n.createElement("button",{type:"button",className:"a-primary","data-operation-pending":jt(re)||void 0,"aria-busy":jt(re)||void 0,"data-action":"smartTools.install",disabled:!i.repository.trim()||q,onClick:()=>N("smartTools.install",{...ve(),...i.extras.trim()?{extras:i.extras.split(",").map(V=>V.trim()).filter(Boolean)}:{}})},n.createElement(Ea,null),ge?"Install source revision":"Install package")),n.createElement(ha,{operation:re,busyMessage:"Installing the package in its own environment…"}),(lt==null?void 0:lt.previousInstallationId)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"updates.smartToolRollback",onClick:()=>t("updates.smartToolRollback",{id:lt.id})},"Restore previous version"),lt&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("strong",null,n.createElement(Pt,null),"Package installed"),lt.binDir&&n.createElement(n.Fragment,null,n.createElement("p",null,"Executables are available in:"),n.createElement("code",{className:"a-smart-path"},lt.binDir)),lt.guidance&&n.createElement("p",null,typeof lt.guidance=="string"?lt.guidance:Za(lt.guidance)),n.createElement("p",null,lt.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;ue(),o({connection:{...ni.connection,name:lt.name||((V=lt.manifest)==null?void 0:V.name)||"",command:"",installationId:lt.id}})}},n.createElement(om,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:lt.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:lt.id})})))),i.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(ke=>ke.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(ke){d(ke.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(Nn,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:()=>O("home")},"View connections",n.createElement(zr,null)))),(i.page==="server"||i.page==="tool")&&!b&&n.createElement(rt,{phase:"neutral",message:"This connection is no longer configured."}),i.page==="server"&&b&&n.createElement(Gt,{name:"smart-tool-connection-"+b.id,busy:jt(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:()=>ue(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:((Tn=b.account)==null?void 0:Tn.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(),"."),((ye=b.account)==null?void 0:ye.detail)&&n.createElement("p",null,b.account.detail),((Ue=b.account)==null?void 0:Ue.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"))),((Ze=(vt=b.authorization)==null?void 0:vt.requestedScopes)==null?void 0:Ze.length)>0&&n.createElement("p",{className:"a-caption"},"Requested access: ",b.authorization.requestedScopes.join(", ")),n.createElement("p",{className:"a-caption"},"Granted access: ",((Ee=(ct=b.authorization)==null?void 0:ct.grantedScopes)==null?void 0:Ee.join(", "))||"Not reported"," · Consent: ",((Jt=b.authorization)==null?void 0:Jt.consent)||"Unknown"),b.auth==="oauth"&&n.createElement("div",{className:"a-smart-source-summary"},n.createElement("p",null,"Sign-in: ",((tn=b.login)==null?void 0:tn.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((on=b.login)==null?void 0:on.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((yn=b.login)==null?void 0:yn.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(" ")!==((En=(Dn=b.authorization)==null?void 0:Dn.requestedScopes)==null?void 0:En.join(" "))&&n.createElement("p",null,"Requested access: ",b.login.requestedScopes.join(", ")),((dn=b.login)==null?void 0:dn.error)&&n.createElement(rt,{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(rt,{phase:"error",message:b.error}),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft","aria-busy":jt(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(om,null),b.status==="connected"||b.status==="ready"?"Connected":"Connect"),n.createElement("button",{type:"button",className:"a-soft","aria-busy":jt(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(rt,{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 ke,Xe,Dt;return n.createElement("button",{type:"button",key:V.name,className:"a-smart-list-row","data-action":"view.update",onClick:()=>{O("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||((ke=V.annotations)==null?void 0:ke.title)||_o(V.name)),n.createElement("small",null,V.description||V.name),((Dt=(Xe=V._meta)==null?void 0:Xe.ui)==null?void 0:Dt.resourceUri)&&n.createElement("small",{className:"a-smart-view-label"},"Interactive canvas view")),n.createElement(Qt,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})&&O("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.")),i.page==="tool"&&b&&!R&&n.createElement(rt,{phase:"neutral",message:"This tool is no longer in the server’s tool list. Reconnect to discover its current tools."}),i.page==="tool"&&R&&n.createElement(n.Fragment,null,n.createElement("h4",null,R.title||((rn=R.annotations)==null?void 0:rn.title)||_o(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:Zt},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 ke=Ic(Ne,i.values,i.raw,i.json);N("smartTools.call",{id:b.id,name:R.name,arguments:ke,catalogRevision:b.catalogRevision})}catch(ke){d(ke.message)}}},!De&&!i.raw?n.createElement(TD,{schema:Ne,values:i.values,edit:V=>o({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:i.json,spellCheck:!1,"data-action":"view.update",onChange:V=>o({json:V.target.value})})),!De&&n.createElement("button",{type:"button",className:"a-link a-smart-advanced","data-action":"view.update","aria-expanded":i.raw,onClick:()=>{try{if(i.raw){const V=Ic(Ne,{},!0,i.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 ke=Object.fromEntries(Object.entries(V).map(([Xe,Dt])=>{var wn,sn;return[Xe,(sn=(wn=Ne.properties)==null?void 0:wn[Xe])!=null&&sn.enum||typeof Dt=="object"?JSON.stringify(Dt):String(Dt)]}));o({raw:!1,values:ke})}else{let V;try{V=Ic({...Ne,required:[]},i.values,!1,"{}")}catch{V={}}o({raw:!0,json:Za(V)})}d("")}catch(V){d(V.message)}}},i.raw?"Use form fields":"Edit arguments as JSON"),n.createElement(Nn,null,n.createElement("button",{type:"submit",form:"smart-tool-form",className:"a-primary","data-operation-pending":jt(bt)||void 0,"aria-busy":jt(bt)||void 0,"data-action":"smartTools.call",disabled:q||!["connected","ready"].includes(b.status)},n.createElement(lg,null),"Run tool"))),n.createElement(Gt,{name:"smart-tool-result",busy:jt(bt)},n.createElement(ha,{operation:bt,busyMessage:"Running the tool…"}),n.createElement(CD,{operation:Wt})))),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)||{},[i,o]=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++,o(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&&o(""),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 O=await t("notifications.save",{patch:{desktop:r.notifyDesktop??a.desktop??!0,server:x,enabled:b,preview:r.notifyPreview??a.preview??!1,...i?{topic:i}:{},...s?{token:s}:{}}});if(!(O!=null&&O.accepted)||!O.operationId)throw Error((O==null?void 0:O.error)||"Could not save. Please retry.");u({id:O.operationId,version:N})}catch(O){v.current=!1,p(O.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:i,"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")),i&&n.createElement("button",{className:"a-link",onClick:async()=>{var N;try{await navigator.clipboard.writeText(i),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(Nn,null,n.createElement("button",{className:"a-primary",disabled:!!c||b&&!i&&!a.topicConfigured,"data-action":"notifications.save",onClick:R},c?"Saving…":"Save notifications")),d&&n.createElement(rt,{phase:"error",message:d}),n.createElement(rt,{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,O,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||{},i=((E=e.view)==null?void 0:E.diagnosticsDraft)||{},o=i.config||r.config,s=r.streams||[];if(!o)return null;const l=B=>t("view.update",{patch:{diagnosticsDraft:{...i,...B}}}),c=B=>l({config:{...o,...B}}),u=o.destinations.find(B=>B.id===i.destinationId),d=B=>c({destinations:o.destinations.map(P=>P.id===u.id?{...P,...B}:P)}),p=async()=>{const B=await t("diagnostics.configure",{config:o});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(te=>te!==P),y=(B,P,_=!1)=>n.createElement("div",{className:"a-diagnostic-streams"},s.map(te=>n.createElement("label",{className:"a-inline-checkbox",key:te.id},n.createElement("input",{type:"checkbox","data-action":"view.update",checked:B.includes(te.id),disabled:!_&&!o.streams.includes(te.id),onChange:Z=>P(v(B,te.id,Z.target.checked))}),n.createElement("span",null,te.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(Gt,{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(rt,{...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(Nn,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:!!i.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."),!i.config&&n.createElement(rt,{...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 · ",((O=h==null?void 0:h.counts)==null?void 0:O.cancelled)||0," cancelled"),(h==null?void 0:h.error)&&n.createElement(rt,{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:{...o,destinations:o.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:o.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(o.streams,B=>c({streams:B,destinations:o.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:o.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:o.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(rt,{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(rt,{phase:"error",message:"Local diagnostic storage needs attention. Conversations can continue."}),n.createElement(Nn,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"},o.destinations.map(B=>{var _;const P=(_=r.destinations)==null?void 0:_.find(te=>te.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(di,null))})),n.createElement("button",{className:"a-soft","data-action":"view.update",onClick:()=>{const B=_D();l({config:{...o,destinations:[...o.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(Gt,{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:i.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:i.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:i.stream||"*",...i.sessionId?{sessionId:i.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:i.stream||"*",...i.sessionId?{sessionId:i.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(rt,{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,i;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()}:{},...(i=t.bundle)!=null&&i.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),i=((v=e.view)==null?void 0:v.maintenanceDraft)||{},o=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:{...i,...R}}}),u=i.scope||"global",d=i.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:i.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:i.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:i.importTitle,bundle:i.importBundle});c({importError:""}),await t("history.importFile",S)}}),i.importError&&n.createElement("p",{className:"a-danger",role:"alert"},i.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:i.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:i.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:!!i.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:i.cleanupDays||30,apply:!0,purge:!!i.purge})},"Clean up these conversations"))),n.createElement(Pa,{id:"permissions",title:"File access",state:e,act:t},n.createElement(Gt,{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:i.allowed??(o.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:i.denied??(o.denied||[]).join(` +`),onChange:R=>c({denied:R})}),n.createElement(Nn,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:(i.allowed??(o.allowed||[]).join(` `)).split(` -`).filter(Boolean),denied:(o.denied??(i.denied||[]).join(` +`).filter(Boolean),denied:(i.denied??(o.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")),o.detail&&n.createElement("p",null,o.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" 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(O=>O.kind==="app")||{},r=e.sequence||{},o=(e.items||[]).filter(O=>O.kind!=="app"&&O.id!=="application"),i=o.filter(O=>["check_failed","local_changes"].includes(O.status)),s=Math.max(o.filter(O=>O.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(Qt,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(rt,{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,_,te,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,U)=>G.label.localeCompare(U.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,U])=>[v.filter(K=>K.status===G).length,U]).filter(([G])=>G).map(([G,U])=>`${G} ${U}`).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,O=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=(te=e.view)==null?void 0:te.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(Gt,{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,U],K)=>n.createElement("span",{key:G,"data-active":A.stage===G},K>0&&"→ ",U))),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(rt,{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)),O&&(S==="failed"?n.createElement(rt,{phase:"error",message:O}):n.createElement("p",{className:"a-caption a-wrap"},O)),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(Nn,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,O,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),((O=o.corrections)==null?void 0:O.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)}},O=()=>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:O},"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(Gt,{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,_,te,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(U=>({...U,...o}))},[o]);const c=U=>{l(K=>({...K,...U})),a("view.update",{patch:{runtimeDraft:U}})};g.useLayoutEffect(()=>{var K;if(!s.section)return;const U=[...((K=i.current)==null?void 0:K.querySelectorAll("[data-runtime-section]"))||[]].find(oe=>oe.dataset.runtimeSection===s.section);U==null||U.scrollIntoView({block:"nearest"}),U==null||U.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=U=>{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)===U},R=t&&["working","starting","running","stopping","busy"].includes(t.status),S=(U,K={})=>a("runtime.control",{sessionId:t.id,operation:U,args:K}),I=d.tools||[],N=I.find(U=>U.name===s.tool),O=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(U){z=U.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(([U,K,oe])=>n.createElement("button",{key:U,className:s.tab===U?"selected":"","data-action":"view.update",onClick:()=>c({tab:U,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(Gt,{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(([U,K])=>n.createElement("span",{key:U,className:K?"available":"unavailable"},U," · ",K?"available":"unavailable")))),n.createElement(Gt,{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"},((te=(_=f.contextCharacters)==null?void 0:_.toLocaleString)==null?void 0:te.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(Gt,{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:U=>c({goalCondition:U.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:U=>c({goalMaxTurns:U.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(Gt,{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:U=>c({mode:U.target.value})},n.createElement("option",{value:""},"Choose a mode"),(p.modes||[]).map(U=>n.createElement("option",{value:U.name,key:U.name},U.name,U.description?` — ${U.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(Gt,{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:U=>c({maxIterations:U.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:U=>c({contextTokens:U.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:U=>c({clearConfirm:U.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(Gt,{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:U=>c({tool:U.target.value,toolArgs:"{}"})},n.createElement("option",{value:""},"Choose a tool"),I.map(U=>n.createElement("option",{key:U.name,value:U.name},U.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:U=>c({toolArgs:U.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")),O&&n.createElement("div",{className:"a-tool-result"},n.createElement("h4",null,"Tool result"),((Z=O.result)==null?void 0:Z.error)&&n.createElement("p",{className:"a-danger"},typeof O.result.error=="string"?O.result.error:hs(O.result.error)),n.createElement(pl,{text:typeof((D=O.result)==null?void 0:D.output)=="string"?O.result.output:hs(((G=O.result)==null?void 0:G.output)??O)}))),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(U=>n.createElement("li",{key:U.name},n.createElement("strong",null,U.name),n.createElement("p",null,U.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(([U,K])=>{var oe;return n.createElement("li",{key:U},n.createElement("strong",null,U),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 O,k,T,A,q,z,F,H,ne;const r=JSON.stringify([t==null?void 0:t.id,(O=e.voice)==null?void 0:O.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(nn,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(nn,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,O]=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),O("")},[ne]),g.useEffect(()=>(z.current=!0,()=>{z.current=!1}),[]);async function P(U,K,oe){if(!F.current){F.current=!0,T(!0),O("");try{const be=await t(U,{sessionId:ne,...K});if(!(be!=null&&be.accepted))throw Error("The request was not accepted.");return z.current&&B.current===ne&&(oe==null||oe(be.result)),be.result}catch(be){z.current&&O(be.message)}finally{F.current=!1,z.current&&T(!1)}}}g.useEffect(()=>{if(!ne||(s==null?void 0:s.status)!=="indexing")return;const U=setInterval(()=>P("recall.status",{},l),750);return()=>clearInterval(U)},[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 U=setInterval(()=>P("memory.status",{},q),750);return()=>clearInterval(U)},[ne,A==null?void 0:A.running]);const _=U=>P("memory.configure",{expectedRevision:A.settings.revision,...U},q),te=(U=0)=>P("recall.search",{query:a,scope:o,offset:U},K=>{u(oe=>U?{...K,items:[...oe.items,...K.items]}:K),l(K.coverage)}),Z=(U=0,K=w)=>P("memory.list",{scope:K,offset:U},oe=>{h(be=>U?[...be,...oe.items]:oe.items),v(oe.nextOffset)}),D=U=>P("recall.read",{sourceSessionId:U.sessionId,messageId:U.messageId,sourceRevision:U.sourceRevision},p),G=async U=>{U.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:U=>_({contribute:U.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:U=>_({use:U.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:U=>_({excludedSessions:U.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:U=>{const K=Number(U.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(U=>n.createElement("p",{key:U.id},"Conversation ",U.sessionId,": ",U.status,U.saved?` · ${U.saved.length} saved`:"",U.reason?` · ${U.reason}`:"",U.model?` · ${U.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(U=>n.createElement("p",{key:U.id},U.id," · revision ",U.revision," · matched ",U.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:U=>{U.preventDefault(),te()}},n.createElement("label",{htmlFor:"recall-query"},"Search conversations, tasks and outputs"),n.createElement("input",{id:"recall-query",value:a,maxLength:500,onChange:U=>r(U.target.value)}),n.createElement("label",{htmlFor:"recall-scope"},"Search scope"),n.createElement("select",{id:"recall-scope",value:o,onChange:U=>i(U.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(U=>n.createElement("div",{className:"a-selection-card",key:U.sessionId+U.messageId},n.createElement("strong",null,U.session.title),n.createElement("p",null,U.snippet),n.createElement("small",null,U.role,U.via==="call"?" · voice":""),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>D(U)},"Read source"))),c.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>te(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},U=>p(K=>({...U,text:K.text+U.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:U=>{R(U.target.value),Z(0,U.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:U=>E(U.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:U=>x(U.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(U=>{var K;return n.createElement("div",{key:U.id,className:"a-selection-card"},n.createElement("strong",null,U.scope," · revision ",U.revision),U.supersededBy&&n.createElement("p",null,"Superseded by ",U.supersededBy,"; excluded from automatic context."),n.createElement("p",{style:{whiteSpace:"pre-wrap"}},U.text),n.createElement("small",null,"Saved through ",U.provenance.origin,U.provenance.wording?" · "+U.provenance.wording:""),((K=U.source)==null?void 0:K.quote)&&n.createElement("blockquote",null,U.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:U.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:U.id,expectedRevision:U.revision,allScopes:w==="all"})&&((S==null?void 0:S.id)===U.id&&(I(null),E("")),await Z())}},"Delete memory")),U.source&&n.createElement("button",{type:"button",className:"a-link",disabled:k,onClick:()=>U.source.kind==="attributed-user"?P("memory.source",{id:U.id},p):D(U.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(U=>n.createElement("p",{key:U.revision},"Revision ",U.revision,": ",U.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 Nt(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.")}},O=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))},O)),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))},O))),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 ue,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,O]=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(""),[_,te]=g.useState(""),[Z,D]=g.useState("right"),[G,U]=g.useState(""),K=g.useRef(!1),oe=e==null?void 0:e.id;async function be(M,W,re){if(!K.current){K.current=!0,p(!0),h("");try{const ze=await t(M,{sessionId:oe,...W});if(!(ze!=null&&ze.accepted))throw Error("The request was not accepted.");return re==null||re(ze.result),ze.result}catch(ze){h(ze.message)}finally{K.current=!1,p(!1)}}}const pe=(M=0,W=s)=>be("outputs.list",{includeUnlinked:W,offset:M},re=>{r(ze=>M?[...ze,...re.items]:re.items),i(re.nextOffset)}),_e=M=>be("outputs.read",{id:M},u),Me=async(M,W)=>{const re=await be(M,W,u);return re&&await pe(),re},Ke=async()=>{let M=await be("outputs.read",{id:c.id});if(!M)return;let W=M.text||"";for(;M.nextOffset!==null&&M.nextOffset!==void 0;){if(M=await be("outputs.read",{id:c.id,offset:M.nextOffset}),!M)return;W+=M.text||""}I(W),O(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:M=>{l(M.target.checked),pe(0,M.target.checked)}}),"Include unlinked outputs"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.list",onClick:()=>pe()},"Inspect outputs"),a.map(M=>n.createElement("div",{className:"a-selection-card",key:M.id},n.createElement("strong",null,M.title),n.createElement("p",null,M.kind," · version ",M.version," · ",M.linked?"linked":"unlinked"),n.createElement("small",null,M.versionEvidence==="snapshot"?"Saved exact content":M.externalVersion?"Version reference: "+M.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(M.id)},"Read saved output"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":M.linked?"outputs.unlink":"outputs.relink",onClick:async()=>{await be(M.linked?"outputs.unlink":"outputs.relink",{id:M.id,expectedRevision:M.revision})&&((c==null?void 0:c.id)===M.id&&u(null),await pe())}},M.linked?"Unlink":"Restore link")))),o!==null&&n.createElement("button",{type:"button",disabled:d,className:"a-soft",onClick:()=>pe(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:()=>be("outputs.read",{id:c.id,offset:c.nextOffset},M=>u(W=>({...M,text:W.text+M.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:()=>be("outputs.image",{id:c.id,sha256:c.sha256},M=>u(W=>({...W,image:M})))},"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"),(ue=c.evidenceIds)==null?void 0:ue.map(M=>n.createElement("button",{type:"button",className:"a-link",key:M,disabled:d,onClick:()=>_e(M)},"Read evidence ",M)),c.kind==="writing"&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:Ke},"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:()=>be("outputs.read",{id:c.id,commentOffset:c.nextCommentOffset},M=>u(W=>({...W,comments:[...W.comments||[],...M.comments],nextCommentOffset:M.nextCommentOffset})))},"More review notes"),(ve=c.comments)==null?void 0:ve.map(M=>n.createElement("p",{key:M.id},M.path&&`${M.path}:${M.line} (${M.side}) · `,M.body)),n.createElement("form",{onSubmit:async M=>{M.preventDefault(),await be("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:M=>P(M.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:M=>U(M.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:M=>te(M.target.value)}),n.createElement("label",{htmlFor:"output-comment-side"},"Diff side"),n.createElement("select",{id:"output-comment-side",disabled:d,value:Z,onChange:M=>D(M.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:M=>{M.preventDefault(),Me("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:M=>v(M.target.value)},["file","dataset","canvas","pull_request","external_document"].map(M=>n.createElement("option",{key:M,value:M},M.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"output-title"},"Output title"),n.createElement("input",{id:"output-title",value:y,disabled:d,maxLength:200,onChange:M=>E(M.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:M=>x(M.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:M=>R(M.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 M=>{M.preventDefault(),await Me("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:M=>O(M.target.value)},["document","email","chat_message","social_post","standard"].map(M=>n.createElement("option",{key:M,value:M},M.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"writing-content"},"Writing content"),n.createElement("textarea",{id:"writing-content",rows:6,value:S,disabled:d,maxLength:1e5,onChange:M=>I(M.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:M=>{M.preventDefault(),Me("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:M=>q(M.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:M=>F(M.target.value)})),n.createElement("label",{htmlFor:"review-path"},"Relative file path (optional)"),n.createElement("input",{id:"review-path",value:H,disabled:d,onChange:M=>ne(M.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 lt,bt,Wt,At,Zt,ie,he,Ne,De,Ge,ft,yt,gt,Se,X,Ce,Fe,Ve,tt,wt;const a=e==null?void 0:e.id,r=EF(a),[,o]=g.useReducer(se=>se+1,0),i=((lt=r.pending)==null?void 0:lt.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(((bt=r.pending)==null?void 0:bt.args.siteId)||""),[x,w]=g.useState(""),[R,S]=g.useState(((Wt=r.pending)==null?void 0:Wt.args.releaseId)||""),[I,N]=g.useState(""),[O,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)||[],te=(v==null?void 0:v.releases)||[],Z=_.find(se=>se.id===E),D=te.find(se=>se.id===R&&se.siteId===E),G=(u==null?void 0:u.targets)||[],U=G.find(se=>se.id===l),K=r.busy||O,oe=K||!!r.pending,be=te.filter(se=>se.siteId===E),pe=(u==null?void 0:u.selectedTargetId)===l&&((U==null?void 0:U.kind)==="loopback"||((At=U==null?void 0:U.inspection)==null?void 0:At.revision)===(U==null?void 0:U.revision)&&u.selectedTargetRevision===U.revision&&u.selectedServiceId===((Zt=U.inspection)==null?void 0:Zt.serviceId)),_e=oe||!pe,Me=((ie=v==null?void 0:v.target)==null?void 0:ie.accessPolicy)||((Ne=(he=U==null?void 0:U.inspection)==null?void 0:he.capabilities)==null?void 0:Ne.accessPolicy);function Ke(se){s.current!==se&&(s.current=se,P(()=>{c(se),y(null),b(""),S(""),N(""),H(null)}))}async function ue(se,Qe={},at=s.current){const Et=await t(se,{sessionId:a,...se.startsWith("publishing.target.")?{}:{targetId:at},...Qe});if(!(Et!=null&&Et.accepted))throw Vf(Et,"The server did not confirm this request.");return Et.result}async function ve({reconcile:se=!1,followSelection:Qe=!1,target:at=s.current}={}){var Mt,Ct,qt;const Et=await ue("publishing.target.list");if(P(()=>d(Et)),Qe&&(at=((Mt=r.pending)==null?void 0:Mt.args.targetId)||Et.selectedTargetId||"loopback"),Ke(at),(Ct=r.pending)!=null&&Ct.action.startsWith("publishing.target."))return Et;const ut=await ue("publishing.list",{},at);if(P(()=>y(ut)),se&&r.pending&&r.pending.args.targetId===at){const ot=(qt=ut.receipts)==null?void 0:qt.find(it=>it.requestId===r.pending.args.requestId);["unknown","running"].includes(ot==null?void 0:ot.state)?(r.pending={...r.pending,receipt:ot},ri(r),P(()=>z(ot.state==="unknown"?"The saved receipt records an unknown outcome. Nothing was replayed.":"The saved receipt is still running. Nothing was replayed."))):ot&&["succeeded","failed"].includes(ot.state)&&(r.pending=null,ri(r),P(()=>ot.state==="failed"?A(eo(ot.error)):z("The saved receipt confirms this request succeeded.")))}return ut}async function M(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 ue(se,{siteId:E})}),se==="publishing.status"&&await ve())}catch(at){A(at.message)}finally{B.current=!1,k(!1)}}}g.useEffect(()=>{a&&M("publishing.list",!1)},[a]);async function W(se,Qe,at=!1){var Ct,qt;if(r.busy||B.current||!at&&r.pending)return;const Et=se==null?void 0:se.startsWith("publishing.target.");if(!at&&!Et&&!pe){A("Inspect and select this exact target before starting another publishing action.");return}const ut=at?r.pending:{action:se,args:{sessionId:a,...Et?{}:{targetId:s.current,...(U==null?void 0:U.kind)==="ssh"?{targetRevision:U.revision,serviceId:U.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 ot=await t(ut.action,ut.args);if(!(ot!=null&&ot.accepted))throw Vf(ot,"The connection ended before the outcome was confirmed.");const it=ot.result;if(Mt){if(!Array.isArray(it==null?void 0:it.targets))throw Error("The server returned no complete target state.");r.pending=null,P(()=>{d(it),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 We;f(((We=it.targets.find(Ot=>Ot.id===ut.args.targetId))==null?void 0:We.revision)??0),ut.args.targetId===s.current&&y(null)}),ut.action==="publishing.target.select"&&(Ke(it.selectedTargetId),await ve({target:it.selectedTargetId}))}else{if(!it||(ut.action==="publishing.build"?!it.id:!["succeeded","failed","unknown","running"].includes(it.state)))throw Error("The server returned no complete publishing receipt.");(it==null?void 0:it.state)==="unknown"||(it==null?void 0:it.state)==="running"?(r.pending={...ut,receipt:it},P(()=>A(eo(it.error||"The outcome is not confirmed. Inspect receipts before continuing.")))):(it==null?void 0:it.state)==="failed"?(r.pending=null,P(()=>A(eo(it.error)))):(r.pending=null,P(()=>{z(ut.action.slice(11)+" completed."),ut.action==="publishing.build"&&(b(it.siteId),S(it.id),N(""))}));try{await ve({target:ut.args.targetId})}catch(We){P(()=>A("The action returned, but the list could not refresh. "+We.message))}}}catch(ot){const it=["succeeded","failed"].includes((Ct=ot.receipt)==null?void 0:Ct.state);if(wF(ot)||at&&ut.args.requestId&&!it)["unknown","running"].includes((qt=ot.receipt)==null?void 0:qt.state)&&(r.pending={...ut,receipt:ot.receipt}),P(()=>A(ot.message+" Keep this request unchanged until its outcome is known."));else if(it||ot.status>=400&&ot.status<500&&ot.status!==408){r.pending=null,P(()=>{var We;return((We=ot.receipt)==null?void 0:We.state)==="succeeded"?z("The saved receipt confirms this request succeeded."):A(ot.message)});try{if(Mt){const We=await ue("publishing.target.list");P(()=>d(We))}else await ve({target:ut.args.targetId})}catch{}}else P(()=>A(ot.message+" Keep this request unchanged until its outcome is known."))}finally{r.busy=!1,ri(r)}}function re(){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 Le(se){f(se.revision),m(Object.fromEntries(Object.keys(gs).map(Qe=>[Qe,Qe==="targetId"?se.id:se[Qe]||gs[Qe]])))}function ge(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,(U==null?void 0:U.label)||((Ge=(De=v==null?void 0:v.target)==null?void 0:De.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: ",Me||(l==="loopback"?"loopback-only":"Not inspected")),u&&!pe&&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 Et;const Qe=((Et=se.inspection)==null?void 0:Et.revision)===se.revision?se.inspection:null,at=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,at==null?void 0:at.bind),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,at==null?void 0:at.accessPolicy),n.createElement("dt",null,"Authentication"),n.createElement("dd",null,at==null?void 0:at.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:()=>Le(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:ge},[["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:at=>{se==="targetId"&&f(0),m(Et=>({...Et,[se]:at.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:()=>M()},"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":((yt=r.pending.receipt)==null?void 0:yt.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:re},"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"),be.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)||((Ve=(Fe=U==null?void 0:U.inspection)==null?void 0:Fe.capabilities)==null?void 0:Ve.accessPolicy)||"unverified")," access."),n.createElement("button",{type:"button",className:"a-primary",disabled:_e||!D.review||(Z==null?void 0:Z.status)==="unknown"||!Me,"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:()=>M("publishing.status")},"Check site status"),n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.logs",onClick:()=>M("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"},(wt=v==null?void 0:v.receipts)==null?void 0:wt.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),O=n.useRef(!0),k=n.useRef(0);n.useEffect(()=>(O.current=!0,t("voice.configuration").catch(P=>l(P.message)),()=>{var P;O.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 te;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||!((te=Z==null?void 0:Z.result)!=null&&te.audio))throw Error((Z==null?void 0:Z.error)||"The sample was unavailable. Try again.");if(O.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){O.current&&_===k.current&&l(Z.message)}finally{O.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(te=>te.id===P.target.value);T(),v(""),q({preferredVoice:_.id,voiceName:_.voices.some(te=>te.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 te,Z;return["shell:"+_.id,((Z=(te=c.data.packages[_.package])==null?void 0:te.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}),O=(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 te of((_=v.current)==null?void 0:_.querySelectorAll(".a-settings-page-content:not([hidden]) details[open]"))||[])te.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:O},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 te,Z;let _;return["overview","ai-connections"].includes(P)?_=n.createElement(sD,{...k,act:r||a,navigate:O}):P==="privacy"?_=n.createElement(XL,{state:e,navigate:O}):P==="advanced"?_=n.createElement(eD,{...k,sections:d,navigate:O}):P==="appearance"?_=n.createElement(qr,{name:"settings.appearance"},n.isValidElement(l)?n.cloneElement(l,{simple:!0,onAdvanced:()=>O("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:O}):P==="updates"?_=n.createElement(HD,{...k}):P==="ready-conversations"?_=(te=e.runtime)!=null&&te.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(nn,null))),n.createElement("nav",{className:"a-settings-sidebar","aria-label":"Settings sections"},d.map((P,_)=>{var Z;const te=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:()=>O(P.pages[0][0],!0)},n.createElement(te,{"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:()=>O(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=Nt,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,Nt,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 O=await Nt("/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([...O.items,...T[S]]),...S==="messages"?{messageOffset:O.offset,userOffset:O.userOffset}:{nodeOffset:O.offset,turns:Nr([...O.turns,...T.turns]),segments:Nr([...O.segments||[],...T.segments||[]])}}})}catch(O){c.current===I&&l(O.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(nn,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(O=>O.role==="user"&&O.inputId===v)){const O=await o("conversation.retry",{sessionId:t.id,inputId:v,confirmUncertain:!0},{feedback:!1});d(O.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(nn,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 Ne,De,Ge,ft,yt,gt,Se,X,Ce,Fe,Ve,tt,wt,se,Qe,at,Et,ut,Mt,Ct,qt,ot,it,We,Ot,en,vn,Tn,bn,Ln,Kn;const o=Ja(e),i=!t,s=(t==null?void 0:t.id)||null,l=Ng(e),c=e.configurationRevision||0,u=JSON.stringify([((Ne=o.location)==null?void 0:Ne.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:((De=d.current)==null?void 0:De.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=((Ge=e.view)==null?void 0:Ge.composerModel)||Oc,[v,y]=g.useState(f),[E,b]=g.useState("");g.useEffect(()=>y(f),[f]);const x=ye=>{const Ue={...v,...ye};y(Ue),a("view.update",{patch:{composerModel:Ue}})},w=((ft=o.location)==null?void 0:ft.kind)==="managed",R=w?{location:{kind:"managed"}}:{},S=((yt=e.setup)==null?void 0:yt.providersRequestedWorkspace)===o.workspace&&((Se=(gt=e.setup)==null?void 0:gt.providersLocation)==null?void 0:Se.kind)==="managed"===w?e.setup:Oc,I=(S.providers||[]).filter(ye=>ye.enabled!==!1).map(ye=>{var vt,Ze,ct,Ee,Jt,tn,on,Q;const Ue=((Ze=(vt=S.providerCatalogs)==null?void 0:vt[ye.id])==null?void 0:Ze.metadata)||((ct=S.metadata)==null?void 0:ct[ye.module])||{};return{...ye,...Ue,info:{...Ue.info,defaults:{...(Ee=Ue.info)==null?void 0:Ee.defaults,model:((Jt=ye.config)==null?void 0:Jt.default_model)||((tn=ye.config)==null?void 0:tn.model)||((Q=(on=Ue.info)==null?void 0:on.defaults)==null?void 0:Q.model)}}}}),N=((X=e.runtimeControl)==null?void 0:X[s])||{},O=N["configuration.providers"],k=i?p.providers||I:(O==null?void 0:O.providers)||((Fe=(Ce=t==null?void 0:t.runtimeReport)==null?void 0:Ce.provider_choices)==null?void 0:Fe.map(ye=>({id:ye.id,info:{id:ye.provider,display_name:ye.display_name,defaults:{model:ye.model,reasoning_effort:ye.effort}}})))||[],T=i?!!((Ve=o.selection)!=null&&Ve.model):(O==null?void 0:O.pinned)??!!((tt=t==null?void 0:t.runtimeReport)!=null&&tt.selection||t!=null&&t.selection),A=i?T?o.selection:p.effective||{}:(O==null?void 0:O.effective)||((wt=t==null?void 0:t.runtimeReport)==null?void 0:wt.effective_selection)||(t==null?void 0:t.selection)||{},q=[...((se=t==null?void 0:t.execution)==null?void 0:se.nodes)||[]].reverse().find(ye=>ye.kind==="llm"&&(ye.sessionId===s||!ye.sessionId&&!ye.parentId)),z=(i?l.phase==="ready":Array.isArray(O==null?void 0:O.providers))&&!k.length,F=A.model||(i?"":q==null?void 0:q.model)||(z?"Set up a model":l.phase==="error"?"Model unavailable":i?"Loading model…":"Choose a model"),H=A.instance||A.id||(i?"":q==null?void 0:q.provider)||"",ne=k.find(ye=>ye.id===H),B=A.effort||Mc(ne,F),P=(((Qe=e.setup)==null?void 0:Qe.providers)||[]).find(ye=>ye.id===H),_={...(ut=(Et=(at=e.setup)==null?void 0:at.metadata)==null?void 0:Et[P==null?void 0:P.module])==null?void 0:ut.info,...(ot=(qt=(Ct=(Mt=e.setup)==null?void 0:Mt.providerCatalogs)==null?void 0:Ct[H])==null?void 0:qt.metadata)==null?void 0:ot.info,...ne==null?void 0:ne.info},te=(_==null?void 0:_.display_name)||(_==null?void 0:_.id)||H,Z=B?`${F} (${B})`:F,D=te?`${te} · ${Z}`:Z,G=v.open&&(v.sessionId??null)===s,U=g.useRef(null),K=Jw(G,U);ol(G,U,()=>x({open:!1}));const oe=jF(k),be=oe.find(ye=>ye.rows.some(Ue=>Ue.id===v.instance)),pe=k.find(ye=>ye.id===v.instance),_e=N["configuration.providerModels"],Me=i?(it=S.providerCatalogs)==null?void 0:it[v.instance]:((We=N.modelCatalogs)==null?void 0:We[v.instance])||(_e&&_e.provider===v.instance?{phase:"ready",models:_e.models}:null),Ke=g.useRef(new Map);let ue=Ii((Me==null?void 0:Me.models)||[]);ue.length?Ke.current.set((i?Es(o):s)+"|"+v.instance,ue):ue=Ke.current.get((i?Es(o):s)+"|"+v.instance)||[];const ve=new Map(ue.map(ye=>[ye.id,ye]));for(const ye of(be==null?void 0:be.rows)||[]){const Ue=i?(Ot=S.providerCatalogs)==null?void 0:Ot[ye.id]:(en=N.modelCatalogs)==null?void 0:en[ye.id];for(const Ze of Ii((Ue==null?void 0:Ue.models)||[]))ve.set(Ze.id,Ze);const vt=(Tn=(vn=ye.info)==null?void 0:vn.defaults)==null?void 0:Tn.model;vt&&!ve.has(vt)&&ve.set(vt,{id:vt,name:vt})}ue=[...ve.values()];const M=(Me==null?void 0:Me.metadata)||pe||{},W=((bn=vp(M,{model:v.model,default_model:v.model}).find(ye=>ye.id==="reasoning_effort"))==null?void 0:bn.choices)||[],re=v.effort||Mc(pe,v.model)||Mc(M,v.model),ze=g.useRef(!1),Le=g.useRef(""),ge=g.useRef(!1);g.useEffect(()=>{if(!i||!o.workspace&&!w)return;const ye=JSON.stringify([Es(o),c]);if(Le.current===ye)return;const Ue=setTimeout(()=>{Le.current=ye,a("configuration.defaults",{workspace:o.workspace,bundle:o.bundle||"",...R}),S===Oc&&a("providers.list",{workspace:o.workspace,...R})},250);return()=>clearTimeout(Ue)},[i,o.workspace,o.bundle,w,c]),g.useEffect(()=>{var ye,Ue;if(G&&!ge.current&&k.length){const vt=k.find(Ze=>Ze.id===(A.instance||A.id))||k[0];x({instance:vt.id,model:A.model||((Ue=(ye=vt.info)==null?void 0:ye.defaults)==null?void 0:Ue.model)||"",effort:B||""})}},[G,s,k.map(ye=>ye.id).join("|"),A.model,B]);function lt(){if(ge.current=!1,b(""),G){x({open:!1});return}x({open:!0,sessionId:s,instance:H,model:A.model||"",effort:B||""}),t&&a("runtime.control",{sessionId:s,operation:"configuration.providers",args:{}})}async function bt(ye){ge.current=!0;const Ue={...v,...ye};if(x(ye),b(""),!Ue.instance||!Ue.model)return;const vt={instance:Ue.instance,model:Ue.model,...Ue.effort?{effort:Ue.effort}:{}};try{i?await a("view.update",{patch:{newSessionDraft:{...o,selection:vt}}}):await a("runtime.control",{sessionId:s,operation:"provider.select",args:vt})}catch(Ze){b(Ze.message)}}function Wt(ye){var Ze,ct,Ee,Jt;if(!ye)return;const Ue=oe.find(tn=>tn.id===ye),vt=(Ue==null?void 0:Ue.rows.find(tn=>tn.id===v.instance))||(Ue==null?void 0:Ue.rows[0]);ye=vt==null?void 0:vt.id,ye&&(bt({instance:ye,model:((ct=(Ze=vt.info)==null?void 0:Ze.defaults)==null?void 0:ct.model)||"",effort:""}),i&&!((Ee=S.providerCatalogs)!=null&&Ee[ye])?a("providers.models",{id:ye,workspace:o.workspace,...R}):!i&&!((Jt=N.modelCatalogs)!=null&&Jt[ye])&&a("runtime.control",{sessionId:s,operation:"configuration.providerModels",args:{instance:ye}}))}function At(ye){ge.current=!0,ze.current=!0,y({...v,effort:W[Number(ye.currentTarget.value)]})}function Zt(ye){if(!ze.current)return;ze.current=!1;const Ue=W[Number(ye.currentTarget.value)];Ue&&bt({effort:Ue})}const ie=(Ln=e.actionStatus)==null?void 0:Ln[i?"configuration.defaults":"runtime.control"],he=E||((ie==null?void 0:ie.phase)==="error"?ie.error:"")||l.error;return n.createElement("div",{className:"a-model-control",ref:U},n.createElement("button",{type:"button",className:"a-model-trigger","aria-label":"Model and reasoning settings",disabled:h,"aria-expanded":!!G,"aria-busy":m||void 0,title:m?`${D} · Checking bundle settings…`:D,"data-action":"view.update",onClick:lt},n.createElement("span",null,D),n.createElement(Xs,null)),G&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:K,"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(nn,null))),n.createElement("label",{htmlFor:"chat-provider"},"Provider"),n.createElement("select",{id:"chat-provider",value:(be==null?void 0:be.id)||v.instance||"","data-action":i?"view.update":"runtime.control",disabled:r,onChange:ye=>Wt(ye.target.value)},!v.instance&&n.createElement("option",{value:"",disabled:!0},k.length?"Choose a provider":z?"No providers configured":"Loading providers…"),v.instance&&!k.some(ye=>ye.id===v.instance)&&n.createElement("option",{value:v.instance},v.instance),oe.map(ye=>n.createElement("option",{key:ye.id,value:ye.id},ye.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:ye=>{const Ue=ye.target.value,vt=(be==null?void 0:be.rows.find(Ze=>{var ct,Ee;return Ze.id===v.instance&&((Ee=(ct=Ze.info)==null?void 0:ct.defaults)==null?void 0:Ee.model)===Ue}))||(be==null?void 0:be.rows.find(Ze=>{var ct,Ee;return((Ee=(ct=Ze.info)==null?void 0:ct.defaults)==null?void 0:Ee.model)===Ue}));bt({instance:(vt==null?void 0:vt.id)||v.instance,model:Ue,effort:""})}},!v.model&&n.createElement("option",{value:""},(Me==null?void 0:Me.phase)==="working"?"Loading models…":"Choose a model"),v.model&&!ue.some(ye=>ye.id===v.model)&&n.createElement("option",{value:v.model},v.model),ue.map(ye=>n.createElement("option",{key:ye.id,value:ye.id},ye.name))),W.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"chat-effort"},"Reasoning effort ",n.createElement("strong",null,re||"Choose effort")),n.createElement("input",{id:"chat-effort",type:"range",min:"0",max:W.length-1,step:"1",value:Math.max(0,W.indexOf(re)),"aria-valuetext":re||"Choose effort",disabled:r||!v.model,"data-action":i?"view.update":"runtime.control",onChange:At,onPointerUp:Zt,onKeyUp:Zt,onBlur:Zt}),n.createElement("div",{className:"a-effort-labels"},n.createElement("span",null,W[0]),n.createElement("span",null,W.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((O==null?void 0:O.delegationRouting)||((Kn=t==null?void 0:t.runtimeReport)==null?void 0:Kn.delegationRouting))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ye;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ye=e.view)==null?void 0:ye.aiConnectionEditor)||{},step:"services"}}})}},"Add connection"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ye;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ye=e.view)==null?void 0:ye.aiConnectionEditor)||{},step:"list"}}})}},"Manage connections")),n.createElement("small",null,"Model changes here apply to this conversation."),he&&n.createElement("small",{className:"a-danger",role:"status"},he),!he&&(Me==null?void 0:Me.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,O=(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)}}},(O==null?void 0:O.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}),(O==null?void 0:O.status)==="ready"&&n.createElement("span",{role:"status",className:"a-copy-result success"},"Copied Markdown"),(O==null?void 0:O.status)==="error"&&n.createElement("span",{role:"alert",className:"a-copy-result error"},n.createElement(On,null),O.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 O=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:O,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),O=I.selected.some(k=>Ia(k)===N);return{...I,selected:O?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 O=i.current.drafts[N]||"";v(N),u("");try{if((await e(I,{...S.target,...I==="coordination.followup"?{text:O}:{}})).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),O=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":""),O.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 O;return N.requestId===((O=o==null?void 0:o.pending)==null?void 0:O.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 O=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=O,O.catch(k=>u(k.message)),O}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 O=d.current,k=O.pending||{requestId:crypto.randomUUID(),feedbackId:O.feedbackId,title:O.title,body:O.body,expectedRevision:O.expectedRevision};await b({...O,pending:k}),await a("feedback.update",k)}catch(O){u(O.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 te=await _;if(!te||te.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 O(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},te={...d.current,pending:_};d.current=te,i(te);try{await N(te),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:()=>O()},"Refresh report"),b&&n.createElement(rt,{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:()=>O(x.page-1)},"Previous comments"),x.hasMore&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>O(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(rt,{phase:E.status==="submitted"?"success":["unknown","failed"].includes(E.status)?"error":"working",message:E.message}),s&&n.createElement(rt,{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),O=g.useRef(0),k=g.useRef(null);g.useEffect(()=>()=>{O.current++},[]);function T(){O.current++,m(null),w(!1),S(!1),b(""),N(!1),k.current=null}async function A(P=!1){var te,Z;const _=++O.current;y(!0),b(""),w(!1),S(!1),k.current=null;try{const D=P?p.snapshotId:(Z=(te=await t("session.export",{id:e.id,format:"markdown",destination:"none",scope:"range",minimal:!0,fromMessageId:l,throughMessageId:u}))==null?void 0:te.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.");_===O.current&&(m(G.result),f(G.result.text),N(!1))}catch(D){_===O.current&&b(D.message)}finally{_===O.current&&y(!1)}}async function q(){const P=++O.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===O.current&&(N(!0),k.current=null)}catch(_){P===O.current&&b(_.message||"The attachment was not acknowledged. Check again using the same review.")}finally{P===O.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=>{O.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,Me,Ke,ue,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=((Me=e.feedback)==null?void 0:Me.requests)||[],O=i.pending,k=O&&N.find(M=>M.requestId===O.requestId),T=O||i;g.useEffect(()=>{k&&["submitted","failed","unknown"].includes(k.status)&&d("")},[k==null?void 0:k.status]),g.useEffect(()=>{var M;(k==null?void 0:k.status)!=="submitted"||((M=E.current.pending)==null?void 0:M.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=!!O||p,F=i.previewId,H=(i.attachments||[]).filter(M=>{var W;return!O||((W=O.attachmentIds)==null?void 0:W.includes(M.id))}),ne=((Ke=e.feedback)==null?void 0:Ke.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 M=E.current,W=t("view.update",{patch:{feedbackDraft:M}});I.current=W;try{const re=await W;if(!re||re.accepted===!1)throw Error("The draft could not be saved.");E.current===M&&(R.current=!1)}finally{I.current=null}if(R.current)return B()}function P(M){return E.current=M,R.current=!0,s(M),B()}function _(M){d(""),E.current={...E.current,...M},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 te(M){_({previewId:M})}async function Z(M){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!==M.id)throw Error("The selected conversation changed. Review its excerpt again.");const W=await t("feedback.excerpt.stage",M);if(!(W!=null&&W.result))throw Error("The excerpt was not attached. Check the same review again.");o.current&&r.current===M.id&&D(W)}finally{w.current=!1,m(!1)}}function D(M){var re,ze;const W=(ze=(re=M==null?void 0:M.state)==null?void 0:re.view)==null?void 0:ze.feedbackDraft;if(W){const Le=JSON.stringify(W.attachments)!==JSON.stringify(E.current.attachments);E.current={...E.current,attachments:W.attachments,...Le?{confirmExcerpts:!1,confirmedExcerpts:[]}:{}},s(E.current),Le&&(R.current=!0,B().catch(()=>d("The updated attachment list could not be saved.")))}}async function G(M,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 re of M){if(!re.size||re.size>8*1024*1024)throw new Error("Choose nonempty files up to 8 MB each.");const ze={requestId:crypto.randomUUID(),name:re.name||"pasted-image.png",base64:await yq(re)};try{D(await t("feedback.attachment.add",ze))}catch(Le){throw y(ze),Le}}}catch(re){d((re==null?void 0:re.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 U(M){if(!z){d("");try{await B(),D(await t("feedback.attachment.remove",{id:M})),F===M&&te(null)}catch(W){d((W==null?void 0:W.message)||"The attachment could not be removed.")}}}function K(M){var re;const W=Array.from(((re=M.clipboardData)==null?void 0:re.files)||[]);W.length&&(M.preventDefault(),M.stopPropagation(),z||G(W))}function oe(M){var W,re;(re=(W=M.dataTransfer)==null?void 0:W.types)!=null&&re.includes("Files")&&(M.preventDefault(),M.stopPropagation(),f(!1),z||G(Array.from(M.dataTransfer.files||[])))}async function be(M){if(M.preventDefault(),b.current||w.current||A||q||v)return;b.current=!0,c(!0),d("");const W=E.current,re=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:re}),await t("feedback.submit",re)}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 pe(){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:M=>{var W,re;(re=(W=M.dataTransfer)==null?void 0:W.types)!=null&&re.includes("Files")&&(M.preventDefault(),M.stopPropagation(),z||f(!0))},onDragLeave:M=>{M.currentTarget.contains(M.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(rt,{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(rt,{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:be,"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:M=>_({category:M.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:M=>_({title:M.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:M=>_({body:M.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:M=>{const W=Array.from(M.target.files||[]);M.target.value="",G(W)}}),!O&&n.createElement("button",{type:"button",className:"a-soft a-feedback-add-files","data-action":"feedback.attachment.add",disabled:p||!!v,onClick:()=>{var M;return(M=x.current)==null?void 0:M.click()}},n.createElement(Lu,{size:16}),p?"Adding files…":"Add files or images"),!O&&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(M=>{var W;return n.createElement("li",{key:M.id},n.createElement("button",{type:"button",className:"a-feedback-file-preview","data-action":"view.update",disabled:p,"aria-label":`Preview ${M.name}`,onClick:()=>te(F===M.id?null:M.id)},(W=M.mime)!=null&&W.startsWith("image/")&&/^[a-f0-9]{32}$/.test(M.id)?n.createElement("img",{src:`/api/attachments/${M.id}`,alt:""}):n.createElement(Dl,{size:22}),n.createElement("span",null,n.createElement("strong",null,M.name),n.createElement("small",null,bq(M.size)," · ",O?"Included":M.excerpt?`Reviewed excerpt · ${M.excerpt.visibility}`:"Ready to include"))),!O&&n.createElement("button",{type:"button",className:"a-icon","data-action":"feedback.attachment.remove","aria-label":`Remove ${M.name}`,disabled:p,onClick:()=>U(M.id)},n.createElement(nn,{size:16})))})),H.filter(M=>M.id===F&&/^[a-f0-9]{32}$/.test(M.id)).map(M=>{var W,re;return n.createElement("div",{className:"a-feedback-preview",key:M.id},(W=M.mime)!=null&&W.startsWith("image/")?n.createElement("img",{src:`/api/attachments/${M.id}`,alt:`Preview of ${M.name}`}):n.createElement(Dl,{size:32}),n.createElement("a",{href:`/api/attachments/${M.id}`,download:M.name},(re=M.mime)!=null&&re.startsWith("image/")?n.createElement(qk,{size:14}):n.createElement(Dl,{size:14}),"Open ",M.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"))),!O&&n.createElement(gq,{state:e,act:t,frozen:z,onStage:Z}),H.some(M=>M.excerpt)&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:T.confirmExcerpts===!0,disabled:z,onChange:M=>_({confirmExcerpts:M.target.checked,confirmedExcerpts:M.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:M=>_({includeDiagnostics:M.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:O==null?void 0:O.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(M=>M.excerpt)&&!T.confirmExcerpts||!((ue=T.title)!=null&&ue.trim())||!((ve=T.body)!=null&&ve.trim())},n.createElement(nx,null),A?"Sending…":O?"Check submission":"Send feedback"),(q||O&&!l)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:pe},n.createElement(Mn,null),"New feedback"))),!!N.filter(M=>M.requestId!==(O==null?void 0:O.requestId)).length&&n.createElement("div",{className:"a-feedback-recent"},n.createElement("h3",null,"Submissions"),N.filter(M=>M.requestId!==(O==null?void 0:O.requestId)).map(M=>{var W;return n.createElement("div",{key:M.requestId,className:"a-feedback-receipt"},n.createElement("strong",null,M.title),n.createElement(rt,{phase:M.status==="submitted"?"success":["failed","unknown"].includes(M.status)?"error":"working",message:M.message}),M.url&&n.createElement("a",{href:M.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),n.createElement(Jf,{state:e,act:t,requestId:M.requestId}),M.status==="unknown"&&n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues"),(((W=e.attention)==null?void 0:W.items)||[]).filter(re=>re.requestId===M.requestId&&!re.read).map(re=>n.createElement("button",{key:re.id,className:"a-link",type:"button","data-action":"attention.read",onClick:()=>Fr(t,[re])},"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(rt,{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(nn,{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=(O,k,T)=>h?O: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(` +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:i.resetConfirmation||"","data-action":"view.update",onChange:R=>c({resetConfirmation:R.target.value})}),n.createElement("button",{className:"a-soft a-danger",disabled:s||i.resetConfirmation!=="RESET","aria-busy":l("maintenance.reset")||void 0,"data-action":"maintenance.reset",onClick:()=>t("maintenance.reset",{parts:d,apply:!0,confirmation:i.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(O=>O.kind==="app")||{},r=e.sequence||{},i=(e.items||[]).filter(O=>O.kind!=="app"&&O.id!=="application"),o=i.filter(O=>["check_failed","local_changes"].includes(O.status)),s=Math.max(i.filter(O=>O.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"}:o.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=o=>{if(!o)return;const s=Object.fromEntries(a.filter(l=>o[l]!==void 0).map(l=>[l,o[l]]));return o.probe&&(s.probe=Object.fromEntries(["ok","isolated","packageInEnvironment","frontendPresent","loginAvailable","standalone","providersPresent","cliAbsent","dependenciesPrepared","stage","errorType","version","pythonVersion","reason"].filter(l=>o.probe[l]!==void 0).map(l=>[l,o.probe[l]]))),s},i=t?Object.fromEntries(["attemptId","version","revision","verifiedAt"].filter(o=>t[o]!==void 0).map(o=>[o,t[o]])):void 0;return JSON.stringify({attemptId:e.attemptId,lastFailure:r(e.lastFailure),reconciliation:i,events:(e.events||[]).slice(-50).map(r)},null,2)}function Yw(e){var i;const t=e.reconciliation,a=(i=e.diagnostics)==null?void 0:i.lastFailure,r=e.application||(e.items||[]).find(o=>o.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 lo(e){var a,r,i,o;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)]),(i=e.probe)!=null&&i.errorType?t.push(e.probe.errorType):e.errorType&&t.push(e.errorType),(o=e.probe)!=null&&o.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.":lo(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||{},i=r.lastFailure,o=r.events||[];if(!o.length&&!i)return null;const s=!!((h=(m=e.view)==null?void 0:m.maintenanceDraft)!=null&&h.updateDiagnosticsExpanded),l=o.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=o.find(f=>f.attemptId===((i==null?void 0:i.attemptId)||r.attemptId)&&Ff.includes(f.status))||i,p=u?Pt:On;return n.createElement("div",{className:"a-update-diagnostics","data-part":"update-diagnostics"},i&&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(i.phase)),n.createElement("p",null,u?"The current installation is verified healthy. The original failure remains in the receipt for reference.":lo(i)||"The phase did not finish. Review the receipt before retrying."),n.createElement("span",{className:"a-caption"},"Attempt ",n.createElement("code",null,i.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(Qt,null),s?"Hide update details":"View update details"),s&&n.createElement("div",{className:"a-update-diagnostic-details"},d&&d.id!==(i==null?void 0:i.id)&&n.createElement("p",{className:"a-caption"},u?"First historical issue":"First recorded issue",": ",Is(d.phase)," · ",lo(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===i.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)":"")),lo(f)&&n.createElement("p",{className:"a-caption"},lo(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 i=0;i<3;i++)if(a[i]!==r[i])return a[i]>r[i];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 o;const r=new Map((((o=t.attention)==null?void 0:o.items)||[]).map(s=>[s.id,s])),i=(e.releaseNotes||[]).flatMap(s=>s.notices.map(l=>({release:s,notice:l,item:r.get(Iu(s,l))}))).filter(({item:s})=>s);return i.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."),i.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(Fo,{item:c,act:a},n.createElement(Xw,{notice:l}))))):null}function $D({application:e,state:t,act:a}){var s;const r=e.releaseNotes||[],i=new Set((((s=t.attention)==null?void 0:s.items)||[]).filter(l=>l.read).map(l=>l.id)),o=/^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," ",o&&n.createElement("a",{href:"https://github.com/microsoft/amplifier-unified/releases/tag/"+o,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(Fo,{item:(((u=t.attention)==null?void 0:u.items)||[]).find(d=>d.id===Iu(l,c)),act:a},n.createElement(Xw,{notice:c})),i.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 to({items:e,state:t,act:a,id:r}){const[i,o,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)&&o,n.createElement("ul",{id:r+"-list",className:"a-update-list a-source-list"},i.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(Fo,{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(rt,{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(([i,o])=>{const s=t.filter(d=>(d.updateTier||"other")===i),l=r[i]||{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===i?"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":i==="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:i},n.createElement("span",null,o),n.createElement("strong",null,u))}))}function HD({state:e,act:t}){var B,P,_,te,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:")),i=a.filter(G=>!G.id.startsWith("release-notice:")),o=e.updates||{},s=((P=e.settings)==null?void 0:P.updates)||{},l=o.pendingReplacement!=null,c=l||["checking","staging","validating","activating"].includes(o.phase),u=s.intervalHours??4,d=![1,4,8,24].includes(u),p=o.application||(o.items||[]).find(G=>G.kind==="app")||{},m=(o.items||[]).filter(G=>G.kind!=="app"&&G.id!=="application"),h=m.filter(G=>G.status==="update").sort((G,U)=>G.label.localeCompare(U.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,U])=>[v.filter(K=>K.status===G).length,U]).filter(([G])=>G).map(([G,U])=>`${G} ${U}`).join(", ");p.status;const x=o.pendingApp||o.pendingRelease||o.pendingRestart,w=!!o.pendingRestart&&(!!o.error||["error","interrupted"].includes(o.phase)||o.pendingRestart.requestStatus==="rejected"),R=((_=o.pendingRestart)==null?void 0:_.requestStatus)==="uncertain",S=l?"failed":o.pendingRestart?w?"failed":R?"restart_pending":"restarting":o.pendingApp?o.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,O=l?o.error||o.detail||"The installation outcome is unknown. Work remains paused until the qualified app and dependencies are verified on a new host.":o.pendingRestart?o.error||o.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."):o.pendingApp?o.error||"The app passed validation and will restart when conversations, worker lanes, smart tools, and calls are idle.":p.detail,k=w||o.error||["error","interrupted"].includes(o.phase)?"error":o.pendingRestart||c?"working":o.phase==="installed"?"success":"neutral",T=o.error||(["error","interrupted"].includes(o.phase)?o.detail||"The update did not finish.":c||x||o.phase==="installed"?o.detail:""),A=zD(o,s),q=n.useRef(null);yg(a.filter(G=>G.id==="updates:pending"||G.id==="source:application"),t,q);const z=!!((Z=(te=e.view)==null?void 0:te.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(Gt,{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,U],K)=>n.createElement("span",{key:G,"data-active":A.stage===G},K>0&&"→ ",U))),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:"",o.lastCheck?" · Checked "+new Date(o.lastCheck*1e3).toLocaleString():"")),A.tone!=="working"&&n.createElement(Fo,{item:a.find(G=>G.id==="updates:error"),act:t},n.createElement(rt,{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?o.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:i.length})),n.createElement("div",{className:"a-update-disclosure-body"},n.createElement(Ms,{state:e,act:t,page:"updates",items:i,showItems:!0}),n.createElement(BD,{updates:o,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)),O&&(S==="failed"?n.createElement(rt,{phase:"error",message:O}):n.createElement("p",{className:"a-caption a-wrap"},O)),n.createElement(jD,{state:e,act:t}),o.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(to,{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(to,{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(to,{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(to,{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(to,{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,i]=g.useState("32"),[o,s]=g.useState("12"),[l,c]=g.useState(!0),[u,d]=g.useState(!1);if(g.useEffect(()=>{a&&(i(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!==""&&o!==""&&Number.isInteger(Number(r))&&Number(r)>=0&&Number.isFinite(Number(o))&&Number(o)>=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(o),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=>i(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:o,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(Nn,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 o;const i=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"),i&&n.createElement(n.Fragment,null,n.createElement("p",null,i.supported?"Native direction is available for this selected model.":i.reason||"Direction is delivered at the next request."),((o=i.receipt)==null?void 0:o.outcome)==="unknown"&&n.createElement("p",{role:"alert"},"The previous request’s outcome is unknown. It was not replayed."),i.checkpoint&&n.createElement("p",null,"Saved provider context: ",i.checkpoint,"."),n.createElement("button",{className:"a-soft",disabled:a||r||!i.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),[i,o]=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"?o(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"),i&&n.createElement("div",null,!i.providers.length&&n.createElement("p",null,"No provider quota capability is available."),i.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"}),i=g.useRef(0),[o,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=>{i.current++,s(R=>({...R,...w})),d(null)},y=()=>({prompt:o.prompt,destination:o.destination,...o.destination==="new_task"?{newTaskTitle:o.newTaskTitle,newTaskMaxTurns:Number(o.newTaskMaxTurns)}:{},kind:o.kind,missedRunPolicy:o.missedRunPolicy,notificationPolicy:o.notificationPolicy,spec:{kind:o.recurrence,timezone:o.timezone,startDate:o.startDate,localTime:o.localTime,...o.recurrence==="interval"?{intervalSeconds:Number(o.intervalMinutes)*60}:{},...o.recurrence==="weekly"?{weekdays:o.weekdays}:{}}}),E=async(w,R={})=>{m(!0);try{return await t(w,{sessionId:e.id,...R})}finally{m(!1)}},b=w=>{i.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=i.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&&i.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:o.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")),o.destination==="new_task"&&n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"schedule-title"},"New task title"),n.createElement("input",{id:"schedule-title",value:o.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:o.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:o.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:o.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:o.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:o.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:o.localTime,onChange:w=>v({localTime:w.target.value})}))),n.createElement("label",{htmlFor:"schedule-zone"},"Timezone"),n.createElement("input",{id:"schedule-zone",value:o.timezone,onChange:w=>v({timezone:w.target.value})}),o.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:o.intervalMinutes,onChange:w=>v({intervalMinutes:w.target.value})})),o.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:o.weekdays.includes(R),onChange:S=>v({weekdays:S.target.checked?[...o.weekdays,R]:o.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:o.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:o.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||!o.prompt.trim(),"data-action":"schedule.preview",onClick:async()=>{const w=i.current,R=await E("schedule.preview",y());i.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,O,k;const r=((I=(S=e.runtimeControl)==null?void 0:S[t.id])==null?void 0:I["task.get"])||{},i=r.task||t.task,o=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:(i==null?void 0:i.revision)||0},...A})}catch(q){x(q.message||String(q))}finally{E(!1)}},R=i&&i.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"),i&&n.createElement("div",{className:"a-selection-card"},n.createElement("p",null,n.createElement("strong",null,i.objective)),n.createElement("p",{role:"status"},"Task ",i.status," · revision ",i.revision,i.appliedRevision!==i.revision?" · applies at the next request":""),((N=i.constraints)==null?void 0:N.length)>0&&n.createElement("ul",null,i.constraints.map((T,A)=>n.createElement("li",{key:A},T))),i.status==="blocked"&&i.blockedReason&&n.createElement("p",null,"Waiting because: ",i.blockedReason),((O=i.corrections)==null?void 0:O.length)>0&&n.createElement("details",null,n.createElement("summary",null,"Saved corrections (",i.corrections.length,")"),n.createElement("ul",null,i.corrections.map((T,A)=>n.createElement("li",{key:A},T.text)))),((k=i.completionEvidence)==null?void 0:k.length)>0&&n.createElement("ul",null,i.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=i[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"},i.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:i.objective,evidence:f.split(` +`).map(T=>T.trim()).filter(Boolean)})},"Complete task with evidence"))),i&&r.continuationSupported===!1&&n.createElement("p",{role:"alert"},"This runtime cannot automatically continue saved tasks. Update its task support before resuming."),o&&n.createElement("p",{className:"a-caption"},"Conversation continuity: ",o.supported?o.status:"not available in this context module",o.reason?` — ${o.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"),[i,o]=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:i,onChange:w=>o(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(),...i.trim()?{branch:i.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,i]=g.useState(null),[o,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"&&i(H==null?void 0:H.result),H}catch(H){S(H.message||"Transfer could not finish. Inspect the saved receipt.")}finally{w(!1)}},O=()=>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:O},"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:o,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||!o||!k||!u||t.configurationBusy,"data-action":"portability.export",onClick:()=>N("portability.export",{sessionId:t.id,destination:o,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,i]of e.entries()){const o=i.callId||i.call_id||i.id||`worker-${r}`,s=t.get(o);if(i.kind==="job"){const l=tF[i.event]||(["completed","cancelled","error","failed","stopped","interrupted"].includes(i.status)?i.status:null);l&&a.set(o,l)}(!s||i.kind==="session"||s.kind!=="session")&&t.set(o,i)}return[...t].map(([r,i])=>a.has(r)?{...i,status:a.get(r),phase:a.get(r)}:i)}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)),i=e.activity,o=new Map;let s=null;if(i!=null&&i.activeTools)for(const y of i.activeTools)o.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())o.set(E.id,E)}if(!a&&!r.length)return null;const l=[...o.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=i?`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"),i!=null&&i.phase&&(d=i.phase),typeof(i==null?void 0:i.label)=="string"&&i.label.trim()&&(u=i.label);const p=[...e.messages||[]].reverse().find(y=>y.role==="user"),m=_c(i==null?void 0:i.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=i==null?void 0:i.lastEvent)!=null&&v.tool)&&(s=i.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",i=[],o=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=o.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,o.set(h,f)}const s=new Map(t.map(p=>[p.sessionId||p.id,p]));for(const p of o.values())s.has(p.actualSessionId)&&(p.parentId=`worker:${p.actualSessionId}`),i.push(p);for(const p of t){const m=p.sessionId||p.id,h=p.callId||p.call_id,f=s.get(p.parentSessionId);i.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:o.has(h)?`tool:${h}`:f?`worker:${f.sessionId||f.id}`:null})}return{nodes:i,turns:[{id:r,label:"Recent execution activity",status:i.some(p=>["running","working","starting","queued","pending","retrying","idle"].includes(p.status))?"running":"completed"}]}}function rF(e,t){var o;const a=new Map,r=[],i=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?(o=e.findLast(p=>Number.isFinite(p.createdAt)&&p.createdAt<=d))==null?void 0:o.id:null)}l&&i.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 oF=new Set(["running","working","starting","queued","pending","retrying","idle"]);function Un(e){return oF.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),i=Math.floor(r);return r>=60?`${Math.floor(i/60)}m ${i%60}s`:Un(e)?`${i}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)),i=e.tokenPendingCalls??(t&&e.tokenUnknownCalls||0),o=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"&&!o?"+":""}`:null,c=[];if(e.calls>0&&e.tokenUnknownCalls>=e.calls?c.push(i===e.calls?"tokens pending":i?"tokens partly pending":"tokens unavailable"):r!=null&&c.push(`${iF(r)} tokens${e.tokenUnknownCalls?i===e.tokenUnknownCalls?" + pending":" + ?":""}`),l?c.push(l+(o?" + pending":"")):(e.calls||r!=null)&&c.push(o===e.calls?"cost pending":o?"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,i?`${i} call(s) awaiting token usage`:null,o?`${o} 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":o===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])),i=new Map;for(const c of a){const u=c.parentId&&c.parentId!==c.id&&r.has(c.parentId)?c.parentId:null;i.has(u)||i.set(u,[]),i.get(u).push(c)}const o=i.get(null)||[],s=new Set,l=c=>{if(!s.has(c.id)){s.add(c.id);for(const u of i.get(c.id)||[])l(u)}};o.forEach(l);for(const c of a)s.has(c.id)||(o.push(c),l(c));return{roots:o,children:i}}function lF(e){let t;try{t=JSON.parse(e)}catch{return[]}const a=new Set;function r(i,o=0){if(!(!i||typeof i!="object"||o>8))for(const[s,l]of Object.entries(i).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,o+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 i=r.usage||{},o=Un(r);for(const s of["inputTokens","outputTokens","totalTokens","cacheReadTokens","cacheWriteTokens"])Number.isFinite(i[s])&&(a[s]+=i[s]);i.totalTokens==null&&(i.inputTokens!=null||i.outputTokens!=null)&&(a.totalTokens+=(i.inputTokens||0)+(i.outputTokens||0)),i.totalTokens==null&&i.inputTokens==null&&i.outputTokens==null&&(a.tokenUnknownCalls++,o&&a.tokenPendingCalls++),Number.isFinite(i.costUsd)?(a.costUsd+=i.costUsd,a.pricedCalls++,i.costType==="estimated"&&a.estimatedCalls++):(a.unknownCalls++,o&&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 i of t.turns){const o=t.nodes.filter(u=>u.turnId===i.id),s=new Map;let l,c=-1/0;for(const u of o){const d=Number.isFinite(u.startedAt)?u.startedAt:Number.isFinite(u.endedAt)?u.endedAt:i.startedAt;let p=i.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=`${i.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)}!o.length&&Un(i)&&s.set(`${i.id}@${i.anchorMessageId||"start"}`,{id:`${i.id}@${i.anchorMessageId||"start"}`,anchor:i.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(i.status||i.phase)?i.status||i.phase:null,h=!m&&(u.nodes.some(Un)||!d.length&&!p.length&&Un(i)),f=u.nodes.find(v=>["error","failed","cancelled","interrupted"].includes(v.status||v.phase));m&&Number.isFinite(i.endedAt)&&p.push(i.endedAt),a.push({...i,id:u.id,originalTurnId:i.id,anchorMessageId:u.anchor,startedAt:d.length?Math.min(...d):i.startedAt,endedAt:h?void 0:p.length?Math.max(...p):i.endedAt,phase:h?"running":m||(f?f.status||f.phase:p.length||i.endedAt?"completed":"recorded"),status:void 0,aggregateUsage:cF(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 dF({sessionId:e,act:t}){const[a,r]=g.useState(null),[i,o]=g.useState(!1),[s,l]=g.useState(""),c=g.useRef(0);g.useEffect(()=>(c.current++,r(null),o(!1),l(""),()=>{c.current++}),[e]);async function u(d=!1){const p=++c.current;o(!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&&o(!1)}}return n.createElement(Gt,{as:"section",name:"runtime.dependencies",busy:i,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:i,onClick:()=>u()},n.createElement(zt,null),"Inspect document tools"),n.createElement("button",{className:"a-soft","data-action":"runtime.dependencies",disabled:i,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,_,te,Z,D,G;const i=(H=e.view)==null?void 0:H.runtimeDraft,o=g.useRef(null),[s,l]=g.useState({...pF,...i});g.useEffect(()=>{i&&l(U=>({...U,...i}))},[i]);const c=U=>{l(K=>({...K,...U})),a("view.update",{patch:{runtimeDraft:U}})};g.useLayoutEffect(()=>{var K;if(!s.section)return;const U=[...((K=o.current)==null?void 0:K.querySelectorAll("[data-runtime-section]"))||[]].find(ie=>ie.dataset.runtimeSection===s.section);U==null||U.scrollIntoView({block:"nearest"}),U==null||U.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=U=>{var K,ie;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)&&((ie=x==null?void 0:x.target)==null?void 0:ie.operation)===U},R=t&&["working","starting","running","stopping","busy"].includes(t.status),S=(U,K={})=>a("runtime.control",{sessionId:t.id,operation:U,args:K}),I=d.tools||[],N=I.find(U=>U.name===s.tool),O=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(U){z=U.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:o,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(([U,K,ie])=>n.createElement("button",{key:U,className:s.tab===U?"selected":"","data-action":"view.update",onClick:()=>c({tab:U,section:null})},n.createElement(ie,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(Gt,{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(([U,K])=>n.createElement("span",{key:U,className:K?"available":"unavailable"},U," · ",K?"available":"unavailable")))),n.createElement(Gt,{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"},((te=(_=f.contextCharacters)==null?void 0:_.toLocaleString)==null?void 0:te.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(Gt,{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:U=>c({goalCondition:U.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:U=>c({goalMaxTurns:U.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(Gt,{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:U=>c({mode:U.target.value})},n.createElement("option",{value:""},"Choose a mode"),(p.modes||[]).map(U=>n.createElement("option",{value:U.name,key:U.name},U.name,U.description?` — ${U.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(Gt,{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:U=>c({maxIterations:U.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:U=>c({contextTokens:U.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:U=>c({clearConfirm:U.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(Gt,{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:U=>c({tool:U.target.value,toolArgs:"{}"})},n.createElement("option",{value:""},"Choose a tool"),I.map(U=>n.createElement("option",{key:U.name,value:U.name},U.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:U=>c({toolArgs:U.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")),O&&n.createElement("div",{className:"a-tool-result"},n.createElement("h4",null,"Tool result"),((Z=O.result)==null?void 0:Z.error)&&n.createElement("p",{className:"a-danger"},typeof O.result.error=="string"?O.result.error:hs(O.result.error)),n.createElement(pl,{text:typeof((D=O.result)==null?void 0:D.output)=="string"?O.result.output:hs(((G=O.result)==null?void 0:G.output)??O)}))),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(U=>n.createElement("li",{key:U.name},n.createElement("strong",null,U.name),n.createElement("p",null,U.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(([U,K])=>{var ie;return n.createElement("li",{key:U},n.createElement("strong",null,U),n.createElement("p",null,K.description||((ie=K.meta)==null?void 0:ie.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 O,k,T,A,q,z,F,H,ne;const r=JSON.stringify([t==null?void 0:t.id,(O=e.voice)==null?void 0:O.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]),i=g.useRef(0),[o,s]=g.useState(null),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(!1),[h,f]=g.useState("");g.useEffect(()=>(i.current++,s(null),c(!1),d(""),()=>{i.current++}),[r]);const v=(o==null?void 0:o.context)===r?o.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=++i.current;c(!0),d("");try{const P=await a("desktop.readiness",t!=null&&t.id?{sessionId:t.id}:{});if(B!==i.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===i.current&&(d(P.message),s(null))}finally{B===i.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 no(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:i,metrics:o,providers:s,coverage:l,excludedUnboundCalls:c}=e.usage;return{observedAt:e.observedAt,sessionId:t,scope:a,source:r,calls:i,metrics:o,providers:s,coverage:l,excludedUnboundCalls:c}}function hF({sessionId:e,act:t}){var y;const[a,r]=g.useState(null),[i,o]=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;o(!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&&o(!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,no(f.grossTotalTokens))),n.createElement("div",null,n.createElement("dt",null,"Cost (USD)"),n.createElement("dd",null,no(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,no(f[E]))))),h.providers.map(E=>n.createElement("p",{key:E.provider+"|"+E.model},E.provider," / ",E.model," · ",E.calls," calls · ",no(E.metrics.grossTotalTokens)," tokens · ",no(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:i,onClick:p},i?"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||""),[i,o]=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,o(!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,o(!1)}}}async function v(b){if(!u.current){u.current=!0,o(!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,o(!1)}}}return n.createElement(n.Fragment,null,n.createElement("form",{onSubmit:f,"aria-busy":i||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:i,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:i,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:i||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:i||!a.trim()||a===e.title},i?"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),[i,o]=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,o("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,o("")}}}g.useEffect(()=>{p()},[e.id]);async function m(){if(!d.current){d.current=!0,o("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,o("")}}}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":!!i},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:!!i||x,onClick:m},i==="recover"?"Creating recovery copy…":"Create recovery copy"),n.createElement("button",{type:"button",className:"a-soft",disabled:!!i,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,i]=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 o=(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)){i(!0);try{await a("session.recover",{id:t.id})}finally{i(!1)}}}return o!=null&&o.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"),o&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[o])},n.createElement(nn,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."),o&&n.createElement("button",{type:"button","aria-label":"Dismiss conversation error","data-action":"attention.read",onClick:()=>Fr(a,[o])},n.createElement(nn,null)))}function vF({session:e,act:t}){const[a,r]=g.useState(""),[i,o]=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,O]=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),O("")},[ne]),g.useEffect(()=>(z.current=!0,()=>{z.current=!1}),[]);async function P(U,K,ie){if(!F.current){F.current=!0,T(!0),O("");try{const be=await t(U,{sessionId:ne,...K});if(!(be!=null&&be.accepted))throw Error("The request was not accepted.");return z.current&&B.current===ne&&(ie==null||ie(be.result)),be.result}catch(be){z.current&&O(be.message)}finally{F.current=!1,z.current&&T(!1)}}}g.useEffect(()=>{if(!ne||(s==null?void 0:s.status)!=="indexing")return;const U=setInterval(()=>P("recall.status",{},l),750);return()=>clearInterval(U)},[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 U=setInterval(()=>P("memory.status",{},q),750);return()=>clearInterval(U)},[ne,A==null?void 0:A.running]);const _=U=>P("memory.configure",{expectedRevision:A.settings.revision,...U},q),te=(U=0)=>P("recall.search",{query:a,scope:i,offset:U},K=>{u(ie=>U?{...K,items:[...ie.items,...K.items]}:K),l(K.coverage)}),Z=(U=0,K=w)=>P("memory.list",{scope:K,offset:U},ie=>{h(be=>U?[...be,...ie.items]:ie.items),v(ie.nextOffset)}),D=U=>P("recall.read",{sourceSessionId:U.sessionId,messageId:U.messageId,sourceRevision:U.sourceRevision},p),G=async U=>{U.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:U=>_({contribute:U.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:U=>_({use:U.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:U=>_({excludedSessions:U.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:U=>{const K=Number(U.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(U=>n.createElement("p",{key:U.id},"Conversation ",U.sessionId,": ",U.status,U.saved?` · ${U.saved.length} saved`:"",U.reason?` · ${U.reason}`:"",U.model?` · ${U.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(U=>n.createElement("p",{key:U.id},U.id," · revision ",U.revision," · matched ",U.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:U=>{U.preventDefault(),te()}},n.createElement("label",{htmlFor:"recall-query"},"Search conversations, tasks and outputs"),n.createElement("input",{id:"recall-query",value:a,maxLength:500,onChange:U=>r(U.target.value)}),n.createElement("label",{htmlFor:"recall-scope"},"Search scope"),n.createElement("select",{id:"recall-scope",value:i,onChange:U=>o(U.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(U=>n.createElement("div",{className:"a-selection-card",key:U.sessionId+U.messageId},n.createElement("strong",null,U.session.title),n.createElement("p",null,U.snippet),n.createElement("small",null,U.role,U.via==="call"?" · voice":""),n.createElement("button",{type:"button",className:"a-soft",disabled:k,"data-action":"recall.read",onClick:()=>D(U)},"Read source"))),c.nextOffset!==null&&n.createElement("button",{type:"button",className:"a-soft",disabled:k,onClick:()=>te(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},U=>p(K=>({...U,text:K.text+U.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:U=>{R(U.target.value),Z(0,U.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:U=>E(U.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:U=>x(U.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(U=>{var K;return n.createElement("div",{key:U.id,className:"a-selection-card"},n.createElement("strong",null,U.scope," · revision ",U.revision),U.supersededBy&&n.createElement("p",null,"Superseded by ",U.supersededBy,"; excluded from automatic context."),n.createElement("p",{style:{whiteSpace:"pre-wrap"}},U.text),n.createElement("small",null,"Saved through ",U.provenance.origin,U.provenance.wording?" · "+U.provenance.wording:""),((K=U.source)==null?void 0:K.quote)&&n.createElement("blockquote",null,U.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:U.id,allScopes:w==="all"},ie=>{I(ie),E(ie.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:U.id,expectedRevision:U.revision,allScopes:w==="all"})&&((S==null?void 0:S.id)===U.id&&(I(null),E("")),await Z())}},"Delete memory")),U.source&&n.createElement("button",{type:"button",className:"a-link",disabled:k,onClick:()=>U.source.kind==="attributed-user"?P("memory.source",{id:U.id},p):D(U.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(U=>n.createElement("p",{key:U.revision},"Revision ",U.revision,": ",U.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,i]=g.useState("all"),[o,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:o,...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 Nt(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.")}},O=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(()=>i(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))},O)),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))},O))),n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:o,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 ue,ve;const[a,r]=g.useState([]),[i,o]=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,O]=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(""),[_,te]=g.useState(""),[Z,D]=g.useState("right"),[G,U]=g.useState(""),K=g.useRef(!1),ie=e==null?void 0:e.id;async function be(M,W,re){if(!K.current){K.current=!0,p(!0),h("");try{const ze=await t(M,{sessionId:ie,...W});if(!(ze!=null&&ze.accepted))throw Error("The request was not accepted.");return re==null||re(ze.result),ze.result}catch(ze){h(ze.message)}finally{K.current=!1,p(!1)}}}const pe=(M=0,W=s)=>be("outputs.list",{includeUnlinked:W,offset:M},re=>{r(ze=>M?[...ze,...re.items]:re.items),o(re.nextOffset)}),_e=M=>be("outputs.read",{id:M},u),Me=async(M,W)=>{const re=await be(M,W,u);return re&&await pe(),re},Ke=async()=>{let M=await be("outputs.read",{id:c.id});if(!M)return;let W=M.text||"";for(;M.nextOffset!==null&&M.nextOffset!==void 0;){if(M=await be("outputs.read",{id:c.id,offset:M.nextOffset}),!M)return;W+=M.text||""}I(W),O(c.variant||"document"),E(c.title),T(c.id)};return ie?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:M=>{l(M.target.checked),pe(0,M.target.checked)}}),"Include unlinked outputs"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":"outputs.list",onClick:()=>pe()},"Inspect outputs"),a.map(M=>n.createElement("div",{className:"a-selection-card",key:M.id},n.createElement("strong",null,M.title),n.createElement("p",null,M.kind," · version ",M.version," · ",M.linked?"linked":"unlinked"),n.createElement("small",null,M.versionEvidence==="snapshot"?"Saved exact content":M.externalVersion?"Version reference: "+M.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(M.id)},"Read saved output"),n.createElement("button",{type:"button",className:"a-soft",disabled:d,"data-action":M.linked?"outputs.unlink":"outputs.relink",onClick:async()=>{await be(M.linked?"outputs.unlink":"outputs.relink",{id:M.id,expectedRevision:M.revision})&&((c==null?void 0:c.id)===M.id&&u(null),await pe())}},M.linked?"Unlink":"Restore link")))),i!==null&&n.createElement("button",{type:"button",disabled:d,className:"a-soft",onClick:()=>pe(i)},"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:()=>be("outputs.read",{id:c.id,offset:c.nextOffset},M=>u(W=>({...M,text:W.text+M.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:()=>be("outputs.image",{id:c.id,sha256:c.sha256},M=>u(W=>({...W,image:M})))},"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"),(ue=c.evidenceIds)==null?void 0:ue.map(M=>n.createElement("button",{type:"button",className:"a-link",key:M,disabled:d,onClick:()=>_e(M)},"Read evidence ",M)),c.kind==="writing"&&n.createElement("button",{type:"button",className:"a-soft",disabled:d,onClick:Ke},"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:()=>be("outputs.read",{id:c.id,commentOffset:c.nextCommentOffset},M=>u(W=>({...W,comments:[...W.comments||[],...M.comments],nextCommentOffset:M.nextCommentOffset})))},"More review notes"),(ve=c.comments)==null?void 0:ve.map(M=>n.createElement("p",{key:M.id},M.path&&`${M.path}:${M.line} (${M.side}) · `,M.body)),n.createElement("form",{onSubmit:async M=>{M.preventDefault(),await be("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:M=>P(M.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:M=>U(M.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:M=>te(M.target.value)}),n.createElement("label",{htmlFor:"output-comment-side"},"Diff side"),n.createElement("select",{id:"output-comment-side",disabled:d,value:Z,onChange:M=>D(M.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:M=>{M.preventDefault(),Me("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:M=>v(M.target.value)},["file","dataset","canvas","pull_request","external_document"].map(M=>n.createElement("option",{key:M,value:M},M.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"output-title"},"Output title"),n.createElement("input",{id:"output-title",value:y,disabled:d,maxLength:200,onChange:M=>E(M.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:M=>x(M.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:M=>R(M.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 M=>{M.preventDefault(),await Me("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:M=>O(M.target.value)},["document","email","chat_message","social_post","standard"].map(M=>n.createElement("option",{key:M,value:M},M.replaceAll("_"," ")))),n.createElement("label",{htmlFor:"writing-content"},"Writing content"),n.createElement("textarea",{id:"writing-content",rows:6,value:S,disabled:d,maxLength:1e5,onChange:M=>I(M.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:M=>{M.preventDefault(),Me("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:M=>q(M.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:M=>F(M.target.value)})),n.createElement("label",{htmlFor:"review-path"},"Relative file path (optional)"),n.createElement("input",{id:"review-path",value:H,disabled:d,onChange:M=>ne(M.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 ao(e){e.listeners.forEach(t=>t())}const ei=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?ei(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 lt,bt,Wt,At,Zt,oe,he,Ne,De,Ge,ft,yt,gt,Se,X,Ce,Fe,Ve,tt,wt;const a=e==null?void 0:e.id,r=EF(a),[,i]=g.useReducer(se=>se+1,0),o=((lt=r.pending)==null?void 0:lt.args.targetId)||"loopback",s=g.useRef(o),[l,c]=g.useState(o),[u,d]=g.useState(null),[p,m]=g.useState({...gs}),[h,f]=g.useState(0),[v,y]=g.useState(null),[E,b]=g.useState(((bt=r.pending)==null?void 0:bt.args.siteId)||""),[x,w]=g.useState(""),[R,S]=g.useState(((Wt=r.pending)==null?void 0:Wt.args.releaseId)||""),[I,N]=g.useState(""),[O,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(i),()=>{ne.current=!1,r.listeners.delete(i)}),[r]);const P=se=>{ne.current&&se()},_=(v==null?void 0:v.sites)||[],te=(v==null?void 0:v.releases)||[],Z=_.find(se=>se.id===E),D=te.find(se=>se.id===R&&se.siteId===E),G=(u==null?void 0:u.targets)||[],U=G.find(se=>se.id===l),K=r.busy||O,ie=K||!!r.pending,be=te.filter(se=>se.siteId===E),pe=(u==null?void 0:u.selectedTargetId)===l&&((U==null?void 0:U.kind)==="loopback"||((At=U==null?void 0:U.inspection)==null?void 0:At.revision)===(U==null?void 0:U.revision)&&u.selectedTargetRevision===U.revision&&u.selectedServiceId===((Zt=U.inspection)==null?void 0:Zt.serviceId)),_e=ie||!pe,Me=((oe=v==null?void 0:v.target)==null?void 0:oe.accessPolicy)||((Ne=(he=U==null?void 0:U.inspection)==null?void 0:he.capabilities)==null?void 0:Ne.accessPolicy);function Ke(se){s.current!==se&&(s.current=se,P(()=>{c(se),y(null),b(""),S(""),N(""),H(null)}))}async function ue(se,Qe={},at=s.current){const Et=await t(se,{sessionId:a,...se.startsWith("publishing.target.")?{}:{targetId:at},...Qe});if(!(Et!=null&&Et.accepted))throw Vf(Et,"The server did not confirm this request.");return Et.result}async function ve({reconcile:se=!1,followSelection:Qe=!1,target:at=s.current}={}){var Mt,Ct,qt;const Et=await ue("publishing.target.list");if(P(()=>d(Et)),Qe&&(at=((Mt=r.pending)==null?void 0:Mt.args.targetId)||Et.selectedTargetId||"loopback"),Ke(at),(Ct=r.pending)!=null&&Ct.action.startsWith("publishing.target."))return Et;const ut=await ue("publishing.list",{},at);if(P(()=>y(ut)),se&&r.pending&&r.pending.args.targetId===at){const it=(qt=ut.receipts)==null?void 0:qt.find(ot=>ot.requestId===r.pending.args.requestId);["unknown","running"].includes(it==null?void 0:it.state)?(r.pending={...r.pending,receipt:it},ao(r),P(()=>z(it.state==="unknown"?"The saved receipt records an unknown outcome. Nothing was replayed.":"The saved receipt is still running. Nothing was replayed."))):it&&["succeeded","failed"].includes(it.state)&&(r.pending=null,ao(r),P(()=>it.state==="failed"?A(ei(it.error)):z("The saved receipt confirms this request succeeded.")))}return ut}async function M(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 ue(se,{siteId:E})}),se==="publishing.status"&&await ve())}catch(at){A(at.message)}finally{B.current=!1,k(!1)}}}g.useEffect(()=>{a&&M("publishing.list",!1)},[a]);async function W(se,Qe,at=!1){var Ct,qt;if(r.busy||B.current||!at&&r.pending)return;const Et=se==null?void 0:se.startsWith("publishing.target.");if(!at&&!Et&&!pe){A("Inspect and select this exact target before starting another publishing action.");return}const ut=at?r.pending:{action:se,args:{sessionId:a,...Et?{}:{targetId:s.current,...(U==null?void 0:U.kind)==="ssh"?{targetRevision:U.revision,serviceId:U.inspection.serviceId}:{},requestId:crypto.randomUUID()},...Qe}};if(!ut)return;const Mt=ut.action.startsWith("publishing.target.");r.pending=ut,r.busy=!0,ao(r),A(""),z("");try{const it=await t(ut.action,ut.args);if(!(it!=null&&it.accepted))throw Vf(it,"The connection ended before the outcome was confirmed.");const ot=it.result;if(Mt){if(!Array.isArray(ot==null?void 0:ot.targets))throw Error("The server returned no complete target state.");r.pending=null,P(()=>{d(ot),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 We;f(((We=ot.targets.find(Ot=>Ot.id===ut.args.targetId))==null?void 0:We.revision)??0),ut.args.targetId===s.current&&y(null)}),ut.action==="publishing.target.select"&&(Ke(ot.selectedTargetId),await ve({target:ot.selectedTargetId}))}else{if(!ot||(ut.action==="publishing.build"?!ot.id:!["succeeded","failed","unknown","running"].includes(ot.state)))throw Error("The server returned no complete publishing receipt.");(ot==null?void 0:ot.state)==="unknown"||(ot==null?void 0:ot.state)==="running"?(r.pending={...ut,receipt:ot},P(()=>A(ei(ot.error||"The outcome is not confirmed. Inspect receipts before continuing.")))):(ot==null?void 0:ot.state)==="failed"?(r.pending=null,P(()=>A(ei(ot.error)))):(r.pending=null,P(()=>{z(ut.action.slice(11)+" completed."),ut.action==="publishing.build"&&(b(ot.siteId),S(ot.id),N(""))}));try{await ve({target:ut.args.targetId})}catch(We){P(()=>A("The action returned, but the list could not refresh. "+We.message))}}}catch(it){const ot=["succeeded","failed"].includes((Ct=it.receipt)==null?void 0:Ct.state);if(wF(it)||at&&ut.args.requestId&&!ot)["unknown","running"].includes((qt=it.receipt)==null?void 0:qt.state)&&(r.pending={...ut,receipt:it.receipt}),P(()=>A(it.message+" Keep this request unchanged until its outcome is known."));else if(ot||it.status>=400&&it.status<500&&it.status!==408){r.pending=null,P(()=>{var We;return((We=it.receipt)==null?void 0:We.state)==="succeeded"?z("The saved receipt confirms this request succeeded."):A(it.message)});try{if(Mt){const We=await ue("publishing.target.list");P(()=>d(We))}else await ve({target:ut.args.targetId})}catch{}}else P(()=>A(it.message+" Keep this request unchanged until its outcome is known."))}finally{r.busy=!1,ao(r)}}function re(){var se,Qe;r.busy||((Qe=(se=r.pending)==null?void 0:se.receipt)==null?void 0:Qe.state)!=="unknown"||(r.pending=null,ao(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 Le(se){f(se.revision),m(Object.fromEntries(Object.keys(gs).map(Qe=>[Qe,Qe==="targetId"?se.id:se[Qe]||gs[Qe]])))}function ge(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,(U==null?void 0:U.label)||((Ge=(De=v==null?void 0:v.target)==null?void 0:De.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: ",Me||(l==="loopback"?"loopback-only":"Not inspected")),u&&!pe&&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 Et;const Qe=((Et=se.inspection)==null?void 0:Et.revision)===se.revision?se.inspection:null,at=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,at==null?void 0:at.bind),n.createElement("dt",null,"Access policy"),n.createElement("dd",null,at==null?void 0:at.accessPolicy),n.createElement("dt",null,"Authentication"),n.createElement("dd",null,at==null?void 0:at.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:ie,"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:ie||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:ie,onClick:()=>Le(se)},"Edit target"),n.createElement("button",{type:"button",className:"a-soft a-danger",disabled:ie||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:ge},[["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:ie,onChange:at=>{se==="targetId"&&f(0),m(Et=>({...Et,[se]:at.target.value}))}}))),n.createElement("button",{className:"a-primary",disabled:ie,"data-action":"publishing.target.save"},"Save target configuration"),n.createElement("button",{type:"button",className:"a-soft",disabled:ie,onClick:()=>{m({...gs}),f(0)}},"Clear target form")))),n.createElement("button",{type:"button",className:"a-soft","data-action":"publishing.list",disabled:K,onClick:()=>M()},"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":((yt=r.pending.receipt)==null?void 0:yt.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,ei(r.pending.receipt.error)),n.createElement("button",{type:"button",className:"a-soft",disabled:K,onClick:re},"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"),be.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)||((Ve=(Fe=U==null?void 0:U.inspection)==null?void 0:Fe.capabilities)==null?void 0:Ve.accessPolicy)||"unverified")," access."),n.createElement("button",{type:"button",className:"a-primary",disabled:_e||!D.review||(Z==null?void 0:Z.status)==="unknown"||!Me,"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:()=>M("publishing.status")},"Check site status"),n.createElement("button",{type:"button",className:"a-soft",disabled:K,"data-action":"publishing.logs",onClick:()=>M("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"},(wt=v==null?void 0:v.receipts)==null?void 0:wt.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,ei(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],i=r.voices.find(P=>P.id===a.voiceName)||r.voices[0],o=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),O=n.useRef(!0),k=n.useRef(0);n.useEffect(()=>(O.current=!0,t("voice.configuration").catch(P=>l(P.message)),()=>{var P;O.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||((o==null?void 0:o.source)==="private"?"private":o!=null&&o.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 te;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||!((te=Z==null?void 0:Z.result)!=null&&te.audio))throw Error((Z==null?void 0:Z.error)||"The sample was unavailable. Try again.");if(O.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){O.current&&_===k.current&&l(Z.message)}finally{O.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."),(o==null?void 0:o.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"||!(o!=null&&o.environmentAvailable),onChange:()=>p("private")}),"Use a separate key"),(A==="private"||!(o!=null&&o.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:o!=null&&o.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"||!(o!=null&&o.environmentAvailable))&&!c.trim()&&!(o!=null&&o.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,o!=null&&o.available?"Voice key configured":o?"Connect voice":"Checking voice connection…"),o!=null&&o.available?n.createElement(n.Fragment,null,n.createElement("p",{className:"a-caption"},o.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(te=>te.id===P.target.value);T(),v(""),q({preferredVoice:_.id,voiceName:_.voices.some(te=>te.id===i.id)?i.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,i.name),n.createElement("p",null,i.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:!(o!=null&&o.available)||!!w||e.voicePreviewBusy,onClick:()=>F(i)},w===i.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===i.id},n.createElement("label",null,n.createElement("input",{type:"radio",name:"speaking-voice",checked:P.id===i.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:!(o!=null&&o.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:i}=Uw(e,a),o=[{key:"index",title:"Settings",navigation:NF}];if(e.settingsSection==="index"&&e.panel!=="appearance")return o;const s=Au(r,a),l=Ts(r,a);l&&o.push({key:l,title:i.title,navigation:Au(l,a)}),o.push({key:r,title:gp(r,a),navigation:s});const c=(x,w,R,S)=>o.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 o}const IF={ai:jc,privacy:yo,workspaces:Dr,overview:el,appearance:Uc,voice:Ou,notifications:rg,models:jc,bundles:Dr,"smart-tools":Qk,updates:Ea,diagnostics:di,history:yo,advanced:$c};function AF({state:e,session:t,act:a,dispatch:r,open:i,close:o=()=>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=Vo.map(P=>P.id==="advanced"?{...P,pages:[...P.pages,...u.map(_=>{var te,Z;return["shell:"+_.id,((Z=(te=c.data.packages[_.package])==null?void 0:te.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:o,body:f,navigationRef:s,confirmClose:I.confirmClose,hasUnsaved:I.hasUnsaved}),O=(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 te of((_=v.current)==null?void 0:_.querySelectorAll(".a-settings-page-content:not([hidden]) details[open]"))||[])te.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:O},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 te,Z;let _;return["overview","ai-connections"].includes(P)?_=n.createElement(sD,{...k,act:r||a,navigate:O}):P==="privacy"?_=n.createElement(XL,{state:e,navigate:O}):P==="advanced"?_=n.createElement(eD,{...k,sections:d,navigate:O}):P==="appearance"?_=n.createElement(qr,{name:"settings.appearance"},n.isValidElement(l)?n.cloneElement(l,{simple:!0,onAdvanced:()=>O("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:O}):P==="updates"?_=n.createElement(HD,{...k}):P==="ready-conversations"?_=(te=e.runtime)!=null&&te.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"&&pi(t)&&n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-soft a-danger","data-action":"view.update",onClick:()=>i("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(nn,null))),n.createElement("nav",{className:"a-settings-sidebar","aria-label":"Settings sections"},d.map((P,_)=>{var Z;const te=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:()=>O(P.pages[0][0],!0)},n.createElement(te,{"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:()=>O(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 ik="amplifier.messageOutbox.v1";function _F(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 PF(e,t,a){const r=t.filter(o=>o.sessionId===(a??null));return[...e.map(o=>{var l,c;const s=r.find(u=>u.commandId===o.inputId);return s&&((l=o.delivery)==null?void 0:l.status)!=="accepted"?{...o,localDelivery:{...s,...((c=o.delivery)==null?void 0:c.status)==="failed"?{status:"failed"}:{}}}:o}),...r.filter(o=>!e.some(s=>s.inputId===o.commandId)).map(o=>({id:o.id,inputId:o.commandId,role:"user",text:o.text,via:o.via,createdAt:o.createdAt,attachments:o.attachments,replyTo:o.replyTo,localDelivery:o}))]}function OF(){const[e,t]=g.useState(()=>{try{return _F(sessionStorage)}catch{return[]}}),a=g.useRef(e),[r,i]=g.useState(!1),o=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)),i(!1)}catch{i(!0)}return d.find(p=>p.id===s)},[]);return{entries:e,current:a,update:o,storageError:r}}async function Ml(e,t=Nt,a){let r=0,i="";do{const o=await t("/api/conversation/detail?"+new URLSearchParams({...e,offset:r}),{signal:a});i+=o.value,r=o.nextOffset}while(r!==null);return i}function _u({text:e,reference:t,markdown:a=!1,automatic:r=!1,writingContext:i,fileContext:o}){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,Nt,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:i,fileContext:o}):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),[i,o]=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(""),o("")},[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(i||!m)return;const I=m.id,N=S==="messages"?m.messageWindow:m.executionWindow;o(S),l("");try{const O=await Nt("/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([...O.items,...T[S]]),...S==="messages"?{messageOffset:O.offset,userOffset:O.userOffset}:{nodeOffset:O.offset,turns:Nr([...O.turns,...T.turns]),segments:Nr([...O.segments||[],...T.segments||[]])}}})}catch(O){c.current===I&&l(O.message)}finally{c.current===I&&o("")}}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:!!i,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:!!i,onClick:()=>h("nodes")},"Load earlier activity"),i&&n.createElement("span",{role:"status"},"Loading earlier ",i==="nodes"?"activity":"messages","…"),s&&n.createElement("p",{role:"alert"},s));return{session:m,controls:f,earlier:h,busy:i}}const Wf=[["👍","Thumbs up"],["❤️","Heart"],["😂","Laugh"],["🎉","Celebrate"],["😮","Surprised"],["😢","Sad"],["👎","Thumbs down"],["✅","Check"]],ok=e=>e.role==="user"?"You":"Amplifier";function zF({quote:e,sessionId:t,dispatch:a}){const[r,i]=g.useState("");if(!e)return null;const o=(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:o?"Go to original message":"Open the original message in its conversation",onClick:async()=>{i("");try{const s=e.navigationSessionId||e.sessionId;await a("message.reveal",{sessionId:s,messageId:e.messageId})}catch(s){i(s.message)}}},n.createElement("strong",null,ok(e)),n.createElement("span",null,e.excerpt,e.truncated?"…":"")),!o&&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,i]=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 ",ok(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()=>{i("");try{await a("message.replyClear",{sessionId:t,expectedReplyId:e.id})}catch(o){i(o.message)}}},n.createElement(nn,null)),r&&n.createElement("small",{role:"alert"},r))}function DF({message:e,sessionId:t,dispatch:a}){const[r,i]=g.useState(!1),[o,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)||i(!1)},onKeyDown:h=>{var f;h.key==="Escape"&&(i(!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),i(!r)}},n.createElement(ox,null)),r&&n.createElement("div",{className:"a-reaction-picker","data-below":o,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)}),i(!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 o,s;const r=g.useRef(""),i=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(i.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){i.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,(o=e==null?void 0:e.messages)==null?void 0:o.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:i,retry:o,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 i("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(O=>O.role==="user"&&O.inputId===v)){const O=await i("conversation.retry",{sessionId:t.id,inputId:v,confirmUncertain:!0},{feedback:!1});d(O.result)}else await o(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(Ci,{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():o(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":"",i=e.resolverActive?` Routing is active${e.resolverName?` (${e.resolverName})`:""}${r}.`:"";return`${t[e.selectionSource]||a}${i} 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(nn,null)))})):null}function jF(e){var a,r;const t=new Map;for(const i of e){const o=((a=i.info)==null?void 0:a.id)||i.module||i.id;t.has(o)||t.set(o,{id:o,label:((r=i.info)==null?void 0:r.display_name)||o,rows:[]}),t.get(o).rows.push(i)}return[...t.values()].sort((i,o)=>i.label.localeCompare(o.label,void 0,{sensitivity:"base"}))}function Mc(e,t){var r,i,o;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)||((o=(i=e==null?void 0:e.info)==null?void 0:i.defaults)==null?void 0:o.reasoning_effort)||(a==null?void 0:a.default)||""}function UF({state:e,session:t,act:a,working:r}){var Ne,De,Ge,ft,yt,gt,Se,X,Ce,Fe,Ve,tt,wt,se,Qe,at,Et,ut,Mt,Ct,qt,it,ot,We,Ot,en,vn,Tn,bn,Ln,Kn;const i=Ja(e),o=!t,s=(t==null?void 0:t.id)||null,l=Ng(e),c=e.configurationRevision||0,u=JSON.stringify([((Ne=i.location)==null?void 0:Ne.kind)||"workspace",i.workspace,c]),d=g.useRef(null);o&&l.phase==="ready"&&(d.current={context:u,value:l});const p=l.phase==="ready"||l.phase==="error"?l:((De=d.current)==null?void 0:De.context)===u?d.current.value:l,m=o&&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=((Ge=e.view)==null?void 0:Ge.composerModel)||Oc,[v,y]=g.useState(f),[E,b]=g.useState("");g.useEffect(()=>y(f),[f]);const x=ye=>{const Ue={...v,...ye};y(Ue),a("view.update",{patch:{composerModel:Ue}})},w=((ft=i.location)==null?void 0:ft.kind)==="managed",R=w?{location:{kind:"managed"}}:{},S=((yt=e.setup)==null?void 0:yt.providersRequestedWorkspace)===i.workspace&&((Se=(gt=e.setup)==null?void 0:gt.providersLocation)==null?void 0:Se.kind)==="managed"===w?e.setup:Oc,I=(S.providers||[]).filter(ye=>ye.enabled!==!1).map(ye=>{var vt,Ze,ct,Ee,Jt,tn,on,Q;const Ue=((Ze=(vt=S.providerCatalogs)==null?void 0:vt[ye.id])==null?void 0:Ze.metadata)||((ct=S.metadata)==null?void 0:ct[ye.module])||{};return{...ye,...Ue,info:{...Ue.info,defaults:{...(Ee=Ue.info)==null?void 0:Ee.defaults,model:((Jt=ye.config)==null?void 0:Jt.default_model)||((tn=ye.config)==null?void 0:tn.model)||((Q=(on=Ue.info)==null?void 0:on.defaults)==null?void 0:Q.model)}}}}),N=((X=e.runtimeControl)==null?void 0:X[s])||{},O=N["configuration.providers"],k=o?p.providers||I:(O==null?void 0:O.providers)||((Fe=(Ce=t==null?void 0:t.runtimeReport)==null?void 0:Ce.provider_choices)==null?void 0:Fe.map(ye=>({id:ye.id,info:{id:ye.provider,display_name:ye.display_name,defaults:{model:ye.model,reasoning_effort:ye.effort}}})))||[],T=o?!!((Ve=i.selection)!=null&&Ve.model):(O==null?void 0:O.pinned)??!!((tt=t==null?void 0:t.runtimeReport)!=null&&tt.selection||t!=null&&t.selection),A=o?T?i.selection:p.effective||{}:(O==null?void 0:O.effective)||((wt=t==null?void 0:t.runtimeReport)==null?void 0:wt.effective_selection)||(t==null?void 0:t.selection)||{},q=[...((se=t==null?void 0:t.execution)==null?void 0:se.nodes)||[]].reverse().find(ye=>ye.kind==="llm"&&(ye.sessionId===s||!ye.sessionId&&!ye.parentId)),z=(o?l.phase==="ready":Array.isArray(O==null?void 0:O.providers))&&!k.length,F=A.model||(o?"":q==null?void 0:q.model)||(z?"Set up a model":l.phase==="error"?"Model unavailable":o?"Loading model…":"Choose a model"),H=A.instance||A.id||(o?"":q==null?void 0:q.provider)||"",ne=k.find(ye=>ye.id===H),B=A.effort||Mc(ne,F),P=(((Qe=e.setup)==null?void 0:Qe.providers)||[]).find(ye=>ye.id===H),_={...(ut=(Et=(at=e.setup)==null?void 0:at.metadata)==null?void 0:Et[P==null?void 0:P.module])==null?void 0:ut.info,...(it=(qt=(Ct=(Mt=e.setup)==null?void 0:Mt.providerCatalogs)==null?void 0:Ct[H])==null?void 0:qt.metadata)==null?void 0:it.info,...ne==null?void 0:ne.info},te=(_==null?void 0:_.display_name)||(_==null?void 0:_.id)||H,Z=B?`${F} (${B})`:F,D=te?`${te} · ${Z}`:Z,G=v.open&&(v.sessionId??null)===s,U=g.useRef(null),K=Jw(G,U);il(G,U,()=>x({open:!1}));const ie=jF(k),be=ie.find(ye=>ye.rows.some(Ue=>Ue.id===v.instance)),pe=k.find(ye=>ye.id===v.instance),_e=N["configuration.providerModels"],Me=o?(ot=S.providerCatalogs)==null?void 0:ot[v.instance]:((We=N.modelCatalogs)==null?void 0:We[v.instance])||(_e&&_e.provider===v.instance?{phase:"ready",models:_e.models}:null),Ke=g.useRef(new Map);let ue=Io((Me==null?void 0:Me.models)||[]);ue.length?Ke.current.set((o?Es(i):s)+"|"+v.instance,ue):ue=Ke.current.get((o?Es(i):s)+"|"+v.instance)||[];const ve=new Map(ue.map(ye=>[ye.id,ye]));for(const ye of(be==null?void 0:be.rows)||[]){const Ue=o?(Ot=S.providerCatalogs)==null?void 0:Ot[ye.id]:(en=N.modelCatalogs)==null?void 0:en[ye.id];for(const Ze of Io((Ue==null?void 0:Ue.models)||[]))ve.set(Ze.id,Ze);const vt=(Tn=(vn=ye.info)==null?void 0:vn.defaults)==null?void 0:Tn.model;vt&&!ve.has(vt)&&ve.set(vt,{id:vt,name:vt})}ue=[...ve.values()];const M=(Me==null?void 0:Me.metadata)||pe||{},W=((bn=vp(M,{model:v.model,default_model:v.model}).find(ye=>ye.id==="reasoning_effort"))==null?void 0:bn.choices)||[],re=v.effort||Mc(pe,v.model)||Mc(M,v.model),ze=g.useRef(!1),Le=g.useRef(""),ge=g.useRef(!1);g.useEffect(()=>{if(!o||!i.workspace&&!w)return;const ye=JSON.stringify([Es(i),c]);if(Le.current===ye)return;const Ue=setTimeout(()=>{Le.current=ye,a("configuration.defaults",{workspace:i.workspace,bundle:i.bundle||"",...R}),S===Oc&&a("providers.list",{workspace:i.workspace,...R})},250);return()=>clearTimeout(Ue)},[o,i.workspace,i.bundle,w,c]),g.useEffect(()=>{var ye,Ue;if(G&&!ge.current&&k.length){const vt=k.find(Ze=>Ze.id===(A.instance||A.id))||k[0];x({instance:vt.id,model:A.model||((Ue=(ye=vt.info)==null?void 0:ye.defaults)==null?void 0:Ue.model)||"",effort:B||""})}},[G,s,k.map(ye=>ye.id).join("|"),A.model,B]);function lt(){if(ge.current=!1,b(""),G){x({open:!1});return}x({open:!0,sessionId:s,instance:H,model:A.model||"",effort:B||""}),t&&a("runtime.control",{sessionId:s,operation:"configuration.providers",args:{}})}async function bt(ye){ge.current=!0;const Ue={...v,...ye};if(x(ye),b(""),!Ue.instance||!Ue.model)return;const vt={instance:Ue.instance,model:Ue.model,...Ue.effort?{effort:Ue.effort}:{}};try{o?await a("view.update",{patch:{newSessionDraft:{...i,selection:vt}}}):await a("runtime.control",{sessionId:s,operation:"provider.select",args:vt})}catch(Ze){b(Ze.message)}}function Wt(ye){var Ze,ct,Ee,Jt;if(!ye)return;const Ue=ie.find(tn=>tn.id===ye),vt=(Ue==null?void 0:Ue.rows.find(tn=>tn.id===v.instance))||(Ue==null?void 0:Ue.rows[0]);ye=vt==null?void 0:vt.id,ye&&(bt({instance:ye,model:((ct=(Ze=vt.info)==null?void 0:Ze.defaults)==null?void 0:ct.model)||"",effort:""}),o&&!((Ee=S.providerCatalogs)!=null&&Ee[ye])?a("providers.models",{id:ye,workspace:i.workspace,...R}):!o&&!((Jt=N.modelCatalogs)!=null&&Jt[ye])&&a("runtime.control",{sessionId:s,operation:"configuration.providerModels",args:{instance:ye}}))}function At(ye){ge.current=!0,ze.current=!0,y({...v,effort:W[Number(ye.currentTarget.value)]})}function Zt(ye){if(!ze.current)return;ze.current=!1;const Ue=W[Number(ye.currentTarget.value)];Ue&&bt({effort:Ue})}const oe=(Ln=e.actionStatus)==null?void 0:Ln[o?"configuration.defaults":"runtime.control"],he=E||((oe==null?void 0:oe.phase)==="error"?oe.error:"")||l.error;return n.createElement("div",{className:"a-model-control",ref:U},n.createElement("button",{type:"button",className:"a-model-trigger","aria-label":"Model and reasoning settings",disabled:h,"aria-expanded":!!G,"aria-busy":m||void 0,title:m?`${D} · Checking bundle settings…`:D,"data-action":"view.update",onClick:lt},n.createElement("span",null,D),n.createElement(Xs,null)),G&&n.createElement("section",{className:"a-model-popover a-compact-popover",style:K,"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(nn,null))),n.createElement("label",{htmlFor:"chat-provider"},"Provider"),n.createElement("select",{id:"chat-provider",value:(be==null?void 0:be.id)||v.instance||"","data-action":o?"view.update":"runtime.control",disabled:r,onChange:ye=>Wt(ye.target.value)},!v.instance&&n.createElement("option",{value:"",disabled:!0},k.length?"Choose a provider":z?"No providers configured":"Loading providers…"),v.instance&&!k.some(ye=>ye.id===v.instance)&&n.createElement("option",{value:v.instance},v.instance),ie.map(ye=>n.createElement("option",{key:ye.id,value:ye.id},ye.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":o?"view.update":"runtime.control",onChange:ye=>{const Ue=ye.target.value,vt=(be==null?void 0:be.rows.find(Ze=>{var ct,Ee;return Ze.id===v.instance&&((Ee=(ct=Ze.info)==null?void 0:ct.defaults)==null?void 0:Ee.model)===Ue}))||(be==null?void 0:be.rows.find(Ze=>{var ct,Ee;return((Ee=(ct=Ze.info)==null?void 0:ct.defaults)==null?void 0:Ee.model)===Ue}));bt({instance:(vt==null?void 0:vt.id)||v.instance,model:Ue,effort:""})}},!v.model&&n.createElement("option",{value:""},(Me==null?void 0:Me.phase)==="working"?"Loading models…":"Choose a model"),v.model&&!ue.some(ye=>ye.id===v.model)&&n.createElement("option",{value:v.model},v.model),ue.map(ye=>n.createElement("option",{key:ye.id,value:ye.id},ye.name))),W.length>0?n.createElement(n.Fragment,null,n.createElement("label",{htmlFor:"chat-effort"},"Reasoning effort ",n.createElement("strong",null,re||"Choose effort")),n.createElement("input",{id:"chat-effort",type:"range",min:"0",max:W.length-1,step:"1",value:Math.max(0,W.indexOf(re)),"aria-valuetext":re||"Choose effort",disabled:r||!v.model,"data-action":o?"view.update":"runtime.control",onChange:At,onPointerUp:Zt,onKeyUp:Zt,onBlur:Zt}),n.createElement("div",{className:"a-effort-labels"},n.createElement("span",null,W[0]),n.createElement("span",null,W.at(-1)))):n.createElement("small",null,"Reasoning effort is not configurable for this model."),!o&&n.createElement("p",{className:"a-muted","data-part":"delegation-routing"},sk((O==null?void 0:O.delegationRouting)||((Kn=t==null?void 0:t.runtimeReport)==null?void 0:Kn.delegationRouting))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ye;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ye=e.view)==null?void 0:ye.aiConnectionEditor)||{},step:"services"}}})}},"Add connection"),n.createElement("button",{type:"button",className:"a-link","data-action":"view.update",onClick:()=>{var ye;return a("view.update",{patch:{composerModel:{...v,open:!1},panel:"settings",settingsSection:"setup",settingsExpanded:["ai-connections"],aiConnectionEditor:{...((ye=e.view)==null?void 0:ye.aiConnectionEditor)||{},step:"list"}}})}},"Manage connections")),n.createElement("small",null,"Model changes here apply to this conversation."),he&&n.createElement("small",{className:"a-danger",role:"status"},he),!he&&(Me==null?void 0:Me.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 i,o;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=(o=(i=e.execution)==null?void 0:i.turns)==null?void 0:o.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)((o=s.observation)==null?void 0:o.source)==="local-job-recovery"&&!(t.get(s.id)||[]).length?r.push(s):(i(),a.push(s));return i(),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:i,working:o,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,O=(N==null?void 0:N.sessionId)===t.id&&(N==null?void 0:N.messageId)===e.id?N:null,k=o||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":i(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(Mo,null),p?"Starting…":"Save & regenerate"))):n.createElement(_u,{text:e.text||(o?"…":""),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)}}},(O==null?void 0:O.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(Do,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:o}),(O==null?void 0:O.status)==="ready"&&n.createElement("span",{role:"status",className:"a-copy-result success"},"Copied Markdown"),(O==null?void 0:O.status)==="error"&&n.createElement("span",{role:"alert",className:"a-copy-result error"},n.createElement(On,null),O.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}}),i=g.useRef(new Set),o=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(o.current);o.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 O=a.selected.map(k=>({...k,...o.current.cursors[Ia(k)]?{afterCursor:o.current.cursors[Ia(k)]}:{}}));try{E(!0);const k=await e("coordination.wait",{targets:O,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),O=I.selected.some(k=>Ia(k)===N);return{...I,selected:O?I.selected.filter(k=>Ia(k)!==N):[...I.selected,S].slice(0,8)}}),R=async(S,I)=>{const N=Ia(S.target);if(i.current.has(N))return;i.current.add(N);const O=o.current.drafts[N]||"";v(N),u("");try{if((await e(I,{...S.target,...I==="coordination.followup"?{text:O}:{}})).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{i.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),O=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":""),O.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 i,o;const r=Symbol();return e.set(r,{canvas:{open:a,sessionId:t.selectedSessionId,canvasId:(i=t.canvas)==null?void 0:i.id,host:(o=t.client)==null?void 0:o.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 i,o;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===((i=t.canvas)==null?void 0:i.id)&&c.host===((o=t.client)==null?void 0:o.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||{}),i=r[0],o=(s=t.patch)==null?void 0:s[i];return r.length!==1||!YF.has(i)||!o||typeof o!="object"||Array.isArray(o)?null:JSON.stringify([i,t.sessionId??null,o.sessionId??null])}function XF(){let e=null;return(t,a,r=null,i=null)=>{if(r&&(e==null?void 0:e.queue)===t&&e.key===r&&!e.started)return e.execute=a,e.promise;const o={queue:t,key:r,execute:a,started:!1},s=()=>{o.started=!0,e===o&&(e=null);const l=o.execute;return o.execute=null,l()};return o.promise=(i?Promise.all([t.current,i]):t.current).then(s,s),t.current=o.promise.catch(()=>{}),e=o,o.promise}}function eq(e,t){if(!e||e.revision!==t.baseRevision)throw Error("State stream needs a fresh snapshot.");const a=(i,o,s)=>{if(!o.length)return s.value;const[l,...c]=o,u=Array.isArray(i)?[...i]:{...i};return!c.length&&s.remove?delete u[l]:Object.defineProperty(u,l,{value:a(Object.hasOwn(i||{},l)?i[l]:void 0,c,s),enumerable:!0,configurable:!0,writable:!0}),u};let r=e;for(const i of t.changes)r=a(r,i.path,i);if(r.revision!==t.revision)throw Error("State stream revision mismatch.");return r}function tq(e,t=()=>{}){let a=null,r=null,i=null,o=0;function s(){return r||(a===i?(a=null,Promise.resolve()):(r=(async()=>{for(;a!==null;){const c=a,u=o;if(a=null,c!==i)try{await e(JSON.parse(c)),u===o&&(i=c)}catch(d){t(d)}}})().finally(()=>{r=null,a!==null&&s()}),r))}const l=c=>(a=JSON.stringify(c),s());return l.invalidate=()=>{o++,i=null},l}function nq(e=32){const t=new Map,a=new Map;let r;const i=c=>{var u;return(u=c==null?void 0:c.sessions)==null?void 0:u.find(d=>d.id===c.selectedSessionId)};function o(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=i(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=i(c);p&&o({...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:o,begin:s,apply:l,settle:c=>a.delete(c)}}async function aq(e,t,a){const r=o=>{var s,l,c;return(c=(l=(s=o==null?void 0:o.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 i=r(e);if(!i){const o=await a("/api/state?sessionId="+encodeURIComponent(t.sessionId));i=r(o.state||o)}if(!i)throw Error("Message no longer available");return i.textDetail?Ml(i.textDetail,a):i.text||""}async function rq(e,{request:t,download:a,clipboard:r}){let i="ready",o=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){i="error",o="Could not export: "+s.message}await t("/api/actions",{method:"POST",body:{action:"session.exportResult",args:{requestId:e.requestId,status:i,message:o}}})}class iq{constructor({document:t=globalThis.document,navigator:a=globalThis.navigator,onState:r=()=>{}}={}){var i;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 o;((o=this.document)==null?void 0:o.visibilityState)==="visible"&&this.acquire()},(i=this.document)==null||i.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,i,o;if(!this.active||!this.enabled||((r=this.document)==null?void 0:r.visibilityState)!=="visible"||this.sentinel||this.pending)return;if(!((o=(i=this.navigator)==null?void 0:i.wakeLock)!=null&&o.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 oq{constructor({navigator:t=globalThis.navigator,document:a=globalThis.document,Metadata:r=globalThis.MediaMetadata,getAudio:i=()=>null,onState:o=()=>{},onAction:s=()=>{},onError:l=()=>{}}={}){Object.assign(this,{navigator:t,document:a,Metadata:r,getAudio:i,onState:o,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,i;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=(i=this.navigator)==null?void 0:i.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[o,s]of[["togglemicrophone",()=>this.onAction("call.mute",{muted:!this.muted})],["hangup",()=>this.onAction("call.end")]]){const l=this.epoch;try{this.mediaSession.setActionHandler(o,()=>{if(!(!this.active||l!==this.epoch))try{Promise.resolve(s()).catch(c=>this.onError(c))}catch(c){this.onError(c)}}),this.handlers.push(o)}catch{}}}}}attachStream(t){this.removeTrackListeners(),this.tracks=t.getAudioTracks();for(const a of this.tracks)for(const r of["mute","unmute","ended"]){const i=()=>{this.active&&(this.syncMicrophone(),r==="unmute"&&this.resumePlayback())};a.addEventListener(r,i),this.trackListeners.push([a,r,i])}this.syncMicrophone()}setMuted(t){this.muted=t,this.syncMicrophone()}syncMicrophone(){var r,i,o;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((o=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:o.call(r,!this.muted&&((i=this.audioSession)==null?void 0:i.state)!=="interrupted"&&t.some(s=>s.enabled&&!s.muted))).catch(()=>{})}catch{}}async resumePlayback(){var i;const t=this.getAudio();if(!this.active||!(t!=null&&t.srcObject)||((i=this.audioSession)==null?void 0:i.state)==="interrupted"||this.playPending)return;const a=this.epoch;let r;try{r=Promise.resolve(t.play())}catch(o){r=Promise.reject(o)}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,i;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 o of this.handlers)try{this.mediaSession.setActionHandler(o,null)}catch{}this.handlers=[];try{Promise.resolve((i=(r=this.mediaSession)==null?void 0:r.setMicrophoneActive)==null?void 0:i.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:i}){this.request=t,this.onState=a,this.onError=r,this.state={status:"idle",muted:!1,keepAwake:!0,wakeLock:"off"},this.wakeLock=new iq({onState:o=>this.update({wakeLock:o})}),this.generation=0,this.peer=null,this.stream=null,this.events=null,this.audio=null,this.callAudio=new oq({getAudio:()=>this.audio,onState:o=>this.update(o),onError:r,onAction:i||((o,s)=>o==="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 i;if(["connecting","connected"].includes(this.state.status))return this.state;if(!((i=navigator.mediaDevices)!=null&&i.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 o=await this.request("/api/voice/config");if(!o.available)throw new Error(o.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(o){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=o.name==="NotAllowedError"?"Microphone access was declined. Allow microphone access for this site, then call again.":o.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(i=>{i.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(i=>i.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 i=!1,o;const s=(c,u)=>{var d,p;if(i){(d=u==null?void 0:u.close)==null||d.call(u);return}i=!0,clearTimeout(l),o!==void 0&&((p=t.cancelVideoFrameCallback)==null||p.call(t,o)),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?o=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:i="voice",media:o=(s=>(s=globalThis.navigator)==null?void 0:s.mediaDevices)()}){var l;Object.assign(this,{request:t,onState:a,getVoice:r,media:o,scope:i}),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 i=await this.media.getDisplayMedia({video:{width:{ideal:1280},height:{ideal:1280}},audio:!1});if(a!==this.generation||!this.active(t.id))throw i.getTracks().forEach(d=>d.stop()),Error("The chat or call changed while choosing a source.");this.stream=i;const o=i.getVideoTracks()[0];if(!o)throw Error("The selected source has no video track.");o.addEventListener("ended",()=>this.stop());const s=document.createElement("video");if(s.muted=!0,s.playsInline=!0,s.srcObject=i,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=o.getSettings().displaySurface||"unknown",c={kind:["browser","window","monitor"].includes(l)?l:"unknown",label:(o.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(i){throw a===this.generation&&(this.stop(),this.state({status:"error",error:i.name==="NotAllowedError"?"Screen permission was not granted.":i.message})),i}}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 o;const t=this.getVoice(),a=(o=this.value)==null?void 0:o.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,i=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:i.id}}).catch(()=>{}),Error("The chat or call changed; source permission was discarded.");this.grant=i,this.expiry=setTimeout(()=>this.stop(),Math.max(0,i.expiresAt*1e3-Date.now())),this.state({status:"ready",source:i.source,grantId:i.id})}sync(t,a,r){var o,s,l,c,u;const i=(o=this.getVoice())==null?void 0:o.id;this.scope==="computer"&&this.lastIdentity!==void 0&&this.lastIdentity!==i&&(this.stop(),this.state({native:null,capturedAt:null})),this.lastIdentity=i,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 o,s;const a=this.grant,r=this.generation,i={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=(o=this.stream)==null?void 0:o.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:{...i,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:{...i,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:i}){const o=u=>Promise.resolve().then(u).catch(i),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:()=>o(()=>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:()=>o(()=>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:()=>o(()=>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(i)}},"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:()=>o(()=>r(l+".capture",c))},"Capture screen"),n.createElement("button",{className:"a-soft","data-action":l+".revoke",disabled:t.status!=="ready",onClick:()=>o(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:i}){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(i)}},"Stop sharing"))}function pq({state:e,act:t}){var m,h;const[a,r]=g.useState(""),[i,o]=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,o(!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,o(!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:i||["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,[i,o]=g.useState(r||null),[s,l]=g.useState(!1),[c,u]=g.useState(""),d=g.useRef(i),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,o(r||null))},[r]);const v=(((I=e.feedback)==null?void 0:I.followups)||[]).find(N=>{var O;return N.requestId===((O=i==null?void 0:i.pending)==null?void 0:O.requestId)}),y=(i==null?void 0:i.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,o(N);const O=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=O,O.catch(k=>u(k.message)),O}function x(N){f.current=!0,d.current={...d.current,...N},o(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 O=d.current,k=O.pending||{requestId:crypto.randomUUID(),feedbackId:O.feedbackId,title:O.title,body:O.body,expectedRevision:O.expectedRevision};await b({...O,pending:k}),await a("feedback.update",k)}catch(O){u(O.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:!!i.pending||s,value:i.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:!!i.pending||s,value:i.body,onChange:N=>x({body:N.target.value}),onBlur:()=>void b(d.current).catch(()=>{})}),i.expectedRevision!==t.revision&&!i.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)||i.expectedRevision!==t.revision||!i.title.trim()||!i.body.trim()},i.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||!i.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:!!(i!=null&&i.body)},"Draft a correction"),(i==null?void 0:i.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,i]=g.useState(!1),[o,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,i(!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,i(!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."),o&&n.createElement("p",{role:"alert"},o))}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,[i,o]=g.useState(r||{feedbackId:"",body:""}),[s,l]=g.useState(""),[c,u]=g.useState(!1),d=g.useRef(i),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,o(r))},[r]);const v=i.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===i.submittedRequestId&&P.feedbackId===i.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===i.feedbackId&&P.requestId===((_=e.feedback)==null?void 0:_.readRequestId)}),x=((B=(ne=e.feedback)==null?void 0:ne.report)==null?void 0:B.feedbackId)===i.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},o(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 te=await _;if(!te||te.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,o(P),await I()}async function O(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},te={...d.current,pending:_};d.current=te,o(te);try{await N(te),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:i.feedbackId,body:""};try{await N(P),d.current=P,o(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:i.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:!i.feedbackId||c||["queued","sending"].includes(b==null?void 0:b.status),onClick:()=>O()},"Refresh report"),b&&n.createElement(rt,{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:()=>O(x.page-1)},"Previous comments"),x.hasMore&&n.createElement("button",{type:"button",className:"a-link","data-action":"feedback.get",onClick:()=>O(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)??i.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(rt,{phase:E.status==="submitted"?"success":["unknown","failed"].includes(E.status)?"error":"working",message:E.message}),s&&n.createElement(rt,{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||!i.feedbackId||!i.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 o;const i=(o=e.sessions)==null?void 0:o.find(s=>s.id===e.selectedSessionId);return i?n.createElement(vq,{key:i.id,session:i,act:t,frozen:a,onStage:r}):null}function vq({session:e,act:t,frozen:a,onStage:r}){var ne,B;const i=(e.messages||[]).filter(P=>P.id&&["user","assistant"].includes(P.role)&&!P.streaming),[o,s]=g.useState(!1),[l,c]=g.useState(((ne=i.at(-1))==null?void 0:ne.id)||""),[u,d]=g.useState(((B=i.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),O=g.useRef(0),k=g.useRef(null);g.useEffect(()=>()=>{O.current++},[]);function T(){O.current++,m(null),w(!1),S(!1),b(""),N(!1),k.current=null}async function A(P=!1){var te,Z;const _=++O.current;y(!0),b(""),w(!1),S(!1),k.current=null;try{const D=P?p.snapshotId:(Z=(te=await t("session.export",{id:e.id,format:"markdown",destination:"none",scope:"range",minimal:!0,fromMessageId:l,throughMessageId:u}))==null?void 0:te.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.");_===O.current&&(m(G.result),f(G.result.text),N(!1))}catch(D){_===O.current&&b(D.message)}finally{_===O.current&&y(!1)}}async function q(){const P=++O.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===O.current&&(N(!0),k.current=null)}catch(_){P===O.current&&b(_.message||"The attachment was not acknowledged. Check again using the same review.")}finally{P===O.current&&y(!1)}}const z=p&&h!==p.text,F=a||v,H=i.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(!o)},o?"Hide excerpt review":"Attach transcript excerpt"),o&&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=>{O.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,Me,Ke,ue,ve;const a=(_e=e.view)==null?void 0:_e.feedbackDraft,r=g.useRef(e.selectedSessionId);r.current=e.selectedSessionId;const i=g.useRef(!0);g.useEffect(()=>(i.current=!0,()=>{i.current=!1}),[]);const[o,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(o),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=((Me=e.feedback)==null?void 0:Me.requests)||[],O=o.pending,k=O&&N.find(M=>M.requestId===O.requestId),T=O||o;g.useEffect(()=>{k&&["submitted","failed","unknown"].includes(k.status)&&d("")},[k==null?void 0:k.status]),g.useEffect(()=>{var M;(k==null?void 0:k.status)!=="submitted"||((M=E.current.pending)==null?void 0:M.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=!!O||p,F=o.previewId,H=(o.attachments||[]).filter(M=>{var W;return!O||((W=O.attachmentIds)==null?void 0:W.includes(M.id))}),ne=((Ke=e.feedback)==null?void 0:Ke.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 M=E.current,W=t("view.update",{patch:{feedbackDraft:M}});I.current=W;try{const re=await W;if(!re||re.accepted===!1)throw Error("The draft could not be saved.");E.current===M&&(R.current=!1)}finally{I.current=null}if(R.current)return B()}function P(M){return E.current=M,R.current=!0,s(M),B()}function _(M){d(""),E.current={...E.current,...M},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 te(M){_({previewId:M})}async function Z(M){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!==M.id)throw Error("The selected conversation changed. Review its excerpt again.");const W=await t("feedback.excerpt.stage",M);if(!(W!=null&&W.result))throw Error("The excerpt was not attached. Check the same review again.");i.current&&r.current===M.id&&D(W)}finally{w.current=!1,m(!1)}}function D(M){var re,ze;const W=(ze=(re=M==null?void 0:M.state)==null?void 0:re.view)==null?void 0:ze.feedbackDraft;if(W){const Le=JSON.stringify(W.attachments)!==JSON.stringify(E.current.attachments);E.current={...E.current,attachments:W.attachments,...Le?{confirmExcerpts:!1,confirmedExcerpts:[]}:{}},s(E.current),Le&&(R.current=!0,B().catch(()=>d("The updated attachment list could not be saved.")))}}async function G(M,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 re of M){if(!re.size||re.size>8*1024*1024)throw new Error("Choose nonempty files up to 8 MB each.");const ze={requestId:crypto.randomUUID(),name:re.name||"pasted-image.png",base64:await yq(re)};try{D(await t("feedback.attachment.add",ze))}catch(Le){throw y(ze),Le}}}catch(re){d((re==null?void 0:re.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 U(M){if(!z){d("");try{await B(),D(await t("feedback.attachment.remove",{id:M})),F===M&&te(null)}catch(W){d((W==null?void 0:W.message)||"The attachment could not be removed.")}}}function K(M){var re;const W=Array.from(((re=M.clipboardData)==null?void 0:re.files)||[]);W.length&&(M.preventDefault(),M.stopPropagation(),z||G(W))}function ie(M){var W,re;(re=(W=M.dataTransfer)==null?void 0:W.types)!=null&&re.includes("Files")&&(M.preventDefault(),M.stopPropagation(),f(!1),z||G(Array.from(M.dataTransfer.files||[])))}async function be(M){if(M.preventDefault(),b.current||w.current||A||q||v)return;b.current=!0,c(!0),d("");const W=E.current,re=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:re}),await t("feedback.submit",re)}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 pe(){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:ie,onDragOver:M=>{var W,re;(re=(W=M.dataTransfer)==null?void 0:W.types)!=null&&re.includes("Files")&&(M.preventDefault(),M.stopPropagation(),z||f(!0))},onDragLeave:M=>{M.currentTarget.contains(M.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(rt,{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(rt,{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:be,"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:M=>_({category:M.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:M=>_({title:M.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:M=>_({body:M.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:M=>{const W=Array.from(M.target.files||[]);M.target.value="",G(W)}}),!O&&n.createElement("button",{type:"button",className:"a-soft a-feedback-add-files","data-action":"feedback.attachment.add",disabled:p||!!v,onClick:()=>{var M;return(M=x.current)==null?void 0:M.click()}},n.createElement(Lu,{size:16}),p?"Adding files…":"Add files or images"),!O&&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(M=>{var W;return n.createElement("li",{key:M.id},n.createElement("button",{type:"button",className:"a-feedback-file-preview","data-action":"view.update",disabled:p,"aria-label":`Preview ${M.name}`,onClick:()=>te(F===M.id?null:M.id)},(W=M.mime)!=null&&W.startsWith("image/")&&/^[a-f0-9]{32}$/.test(M.id)?n.createElement("img",{src:`/api/attachments/${M.id}`,alt:""}):n.createElement(Dl,{size:22}),n.createElement("span",null,n.createElement("strong",null,M.name),n.createElement("small",null,bq(M.size)," · ",O?"Included":M.excerpt?`Reviewed excerpt · ${M.excerpt.visibility}`:"Ready to include"))),!O&&n.createElement("button",{type:"button",className:"a-icon","data-action":"feedback.attachment.remove","aria-label":`Remove ${M.name}`,disabled:p,onClick:()=>U(M.id)},n.createElement(nn,{size:16})))})),H.filter(M=>M.id===F&&/^[a-f0-9]{32}$/.test(M.id)).map(M=>{var W,re;return n.createElement("div",{className:"a-feedback-preview",key:M.id},(W=M.mime)!=null&&W.startsWith("image/")?n.createElement("img",{src:`/api/attachments/${M.id}`,alt:`Preview of ${M.name}`}):n.createElement(Dl,{size:32}),n.createElement("a",{href:`/api/attachments/${M.id}`,download:M.name},(re=M.mime)!=null&&re.startsWith("image/")?n.createElement(qk,{size:14}):n.createElement(Dl,{size:14}),"Open ",M.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"))),!O&&n.createElement(gq,{state:e,act:t,frozen:z,onStage:Z}),H.some(M=>M.excerpt)&&n.createElement("label",{className:"a-feedback-checkbox"},n.createElement("input",{type:"checkbox",checked:T.confirmExcerpts===!0,disabled:z,onChange:M=>_({confirmExcerpts:M.target.checked,confirmedExcerpts:M.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:M=>_({includeDiagnostics:M.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:O==null?void 0:O.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(M=>M.excerpt)&&!T.confirmExcerpts||!((ue=T.title)!=null&&ue.trim())||!((ve=T.body)!=null&&ve.trim())},n.createElement(nx,null),A?"Sending…":O?"Check submission":"Send feedback"),(q||O&&!l)&&n.createElement("button",{type:"button",className:"a-soft","data-action":"view.update",onClick:pe},n.createElement(Mn,null),"New feedback"))),!!N.filter(M=>M.requestId!==(O==null?void 0:O.requestId)).length&&n.createElement("div",{className:"a-feedback-recent"},n.createElement("h3",null,"Submissions"),N.filter(M=>M.requestId!==(O==null?void 0:O.requestId)).map(M=>{var W;return n.createElement("div",{key:M.requestId,className:"a-feedback-receipt"},n.createElement("strong",null,M.title),n.createElement(rt,{phase:M.status==="submitted"?"success":["failed","unknown"].includes(M.status)?"error":"working",message:M.message}),M.url&&n.createElement("a",{href:M.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),n.createElement(Jf,{state:e,act:t,requestId:M.requestId}),M.status==="unknown"&&n.createElement("a",{href:ne,target:"_blank",rel:"noopener noreferrer"},"Check repository issues"),(((W=e.attention)==null?void 0:W.items)||[]).filter(re=>re.requestId===M.requestId&&!re.read).map(re=>n.createElement("button",{key:re.id,className:"a-link",type:"button","data-action":"attention.read",onClick:()=>Fr(t,[re])},"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[i,o]=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&&(o(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),i&&(i.diagnostics?n.createElement("pre",{className:"a-state-view"},JSON.stringify(i.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)),i=a[0],o=r||((p=(d=e.feedback)==null?void 0:d.requests)==null?void 0:p.find(m=>m.requestId===(i==null?void 0:i.requestId)));return o?n.createElement("aside",{className:"a-feedback-notice","aria-label":"Feedback status"},n.createElement("div",{role:"status"},n.createElement(rt,{phase:r?"working":o.status==="submitted"?"success":"error",message:r?"Feedback received — sending in the background.":o.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"),o.url&&n.createElement("a",{href:o.url,target:"_blank",rel:"noopener noreferrer"},"View issue ",n.createElement(ba,{size:14})),!r&&i&&n.createElement("button",{type:"button",className:"a-icon","aria-label":"Dismiss feedback notification","data-action":"attention.read",onClick:()=>Fr(t,[i])},n.createElement(nn,{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),i=dk(r,t,a);return r.delete(t),r.delete("closed:"+t),r.add(i?"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 ii=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Cq(e){const t=ii(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),i=ii(r),o=Yf(a),s=Cq(o),l=ii(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)||ii(o).success===!1,h=["completed","complete","success","done"].includes(d)&&!m,f=La(i,["file_path","path","filename"]),v=La(i,["command","cmd"]),y=La(i,["patch","diff"])||La(l,["diff","patch"])||(/apply_patch/.test(u)&&typeof r=="string"?r:""),E=La(i,["old_string","old_text"]),b=La(i,["new_string","new_text"]),x=Array.isArray(i.todos)?i.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=(O,k,T)=>h?O:p?k:T,N={tool:c,input:r,args:i,result:o,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 O=y||["@@",...E.split(` `).map(z=>"-"+z),...b.split(` `).map(z=>"+"+z)].join(` -`),k=Rq(O),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:O,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(O=>(O==null?void 0:O.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"},Nt,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(` -`),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,O=(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":[O,w==null?void 0:w.target,k,S].filter(Boolean).join(" · "),"aria-expanded":m,onClick:()=>l(e.id)}:{}},p&&n.createElement(Qt,{className:`a-execution-chevron ${m?"open":""}`}),n.createElement(R,null),n.createElement("span",{className:"a-execution-label",title:[O,w==null?void 0:w.target,k,(w==null?void 0:w.preview)||d].filter(Boolean).join(" · ")},n.createElement("span",null,O,(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,O,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=((O=s.nodeCounts)==null?void 0:O.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(Qt,{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,O,k;v||m.current!==i||(m.current=null,(document.activeElement===document.body||(N=d.current)!=null&&N.contains(document.activeElement))&&((k=(O=d.current)==null?void 0:O.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(O){h.current===N&&u({id:N,message:_a(O)})}finally{p.current===N&&(p.current=null),l(O=>O===N?null:O)}}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=`/* +`),k=Rq(O),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:O,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(O=>(O==null?void 0:O.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:i.offset!=null?`From line ${i.offset}${i.limit!=null?` · up to ${i.limit} lines`:""}`:Rr(R)}:/write(_file)?$/.test(u)&&f?{...N,kind:"write",title:I("Wrote","Writing","Write"),target:f,content:La(i,["content","text"])}:typeof i.action=="string"||typeof i.operation=="string"?{...N,kind:"app",title:"App action",target:typeof i.action=="string"?i.action:i.operation,preview:Rr(s)}:/delegate|task|agent/.test(u)&&La(i,["instruction","instructions","prompt","task"])?{...N,kind:"delegate",title:I("Delegated","Delegating","Delegate"),target:La(i,["agent","name","description"]),task:La(i,["instruction","instructions","prompt","task"])}:{...N,kind:"generic",title:c,preview:Rr(R)}}function Rq(e){let t=null,a=null,r=!1,i=null,o=null;const s=()=>{t=a=i=o=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,i=u?Number(u[2]??1):null,o=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)},o!==null&&o--;else if(l.startsWith("-"))d={type:"remove",old:t===null?null:t++,new:null,text:l.slice(1)},i!==null&&i--;else if(l.startsWith(" "))d={type:"context",old:t===null?null:t++,new:a===null?null:a++,text:l.slice(1)},i!==null&&i--,o!==null&&o--;else return{type:"header",text:l};return r=!(i===0&&o===0),d})}function bs(e,t,a){const r=e[t+"Detail"],i=JSON.stringify([e.id,t,r||e[t]]),[o,s]=g.useState(null),[l,c]=g.useState(null),[u,d]=g.useState(0),p=(o==null?void 0:o.key)===i?o.value:e[t],m=(l==null?void 0:l.key)===i?l.message:"";return g.useEffect(()=>{if(!a||!r||(o==null?void 0:o.key)===i)return;const h=new AbortController;return c(null),Ml({...r,complete:"true"},Nt,h.signal).then(f=>{h.signal.aborted||s({key:i,value:f})}).catch(f=>{h.signal.aborted||c({key:i,message:f.message})}),()=>h.abort()},[a,i,u,o==null?void 0:o.key]),{value:p,error:m,incomplete:!!r&&(o==null?void 0:o.key)!==i,loading:!!r&&(o==null?void 0:o.key)!==i&&!m,retry:()=>d(h=>h+1)}}function Tq({text:e,label:t,disabled:a=!1}){const[r,i]=g.useState("");return g.useEffect(()=>i(""),[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),i("Copied")}catch{i("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),i=r.split(` +`),o=i.length>15||r.length>3e3,s=o?i.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)),o&&n.createElement("button",{type:"button",className:"a-link a-execution-more","aria-expanded":t,onClick:()=>a(!t)},t?"Show less":i.length>15?`Show all ${i.length} lines`:`Show all ${r.length.toLocaleString()} characters`))}function _n({label:e,text:t,meta:a,children:r,copy:i=!0,loading:o=!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)),i&&n.createElement(Tq,{text:hr(t),label:e,disabled:o})),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(i=>i.type!=="header"||!/^\*\*\* (Begin|End) Patch$/.test(i.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((i,o)=>i.type==="header"?n.createElement("div",{key:o,className:"a-execution-diff-header"},i.file||i.text):n.createElement("div",{key:o,className:`a-execution-diff-row ${i.type}`},n.createElement("span",{className:"a-execution-line-number"},i.old),n.createElement("span",{className:"a-execution-line-number"},i.new),n.createElement("span",null,i.type==="add"?"+":i.type==="remove"?"−":" "),n.createElement("code",null,i.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:i}){const o=t,s=hr(o.output),l=typeof o.out.stdout=="string"||typeof o.out.stderr=="string",c=r.value!=null;let u;o.kind==="command"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Command",text:o.command,meta:o.args.working_directory||o.args.cwd}),c&&(l?n.createElement(n.Fragment,null,n.createElement(_n,{label:"Output",text:o.out.stdout||"No output",meta:o.exit!=null?`Exit ${o.exit}`:null}),o.out.stderr&&n.createElement(_n,{label:"Standard error",text:o.out.stderr})):n.createElement(_n,{label:"Output",text:s||"No output",loading:r.incomplete}))):o.kind==="patch"?u=n.createElement(n.Fragment,null,n.createElement(Aq,{action:o}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):o.kind==="read"||o.kind==="write"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:o.kind==="read"?"File content":o.done?"Written content":"Requested content",text:o.kind==="read"&&o.failed?null:o.content||null,loading:o.kind==="read"?r.incomplete:a.incomplete}),c&&(!o.content||o.failed||o.kind==="write")&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):o.kind==="tasks"?u=n.createElement(n.Fragment,null,n.createElement("section",{className:"a-execution-payload"},n.createElement("header",null,n.createElement("span",null,o.done?"Task list":"Requested task list"),n.createElement("span",null,o.preview)),n.createElement("ul",{className:"a-execution-checklist"},o.tasks.map((y,E)=>{const b=typeof(y==null?void 0:y.status)=="string"?y.status:"unknown",x=b==="completed"?Pt:b==="in_progress"?Ci: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})):o.kind==="delegate"?u=n.createElement(n.Fragment,null,n.createElement(_n,{label:"Task sent",text:o.task}),c&&n.createElement(_n,{label:"Result",text:s,loading:r.incomplete})):u=n.createElement(n.Fragment,null,n.createElement(_n,{label:o.kind==="app"?o.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"]}[o.kind],p=d?Object.fromEntries(Object.entries(o.args).filter(([y])=>!d.includes(y))):{},m=o.kind==="command"&&l?["stdout","stderr","returncode","exit_code","exitCode"]:o.kind==="read"&&o.content&&!o.failed?[typeof o.out.content=="string"&&o.out.content?"content":"text"]:null,h=m?Object.fromEntries(Object.entries(o.out).filter(([y])=>!m.includes(y))):{},v={...Object.hasOwn(ii(o.result),"output")?Object.fromEntries(Object.entries(o.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:i.value??(o.kind!=="generic"&&o.kind!=="app"&&Object.hasOwn(ii(o.result),"output")?o.result.error:null),loading:i.incomplete}),[["Input",a],["Result",r],["Error",i]].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&&i.value==null&&!a.loading&&!r.loading&&!i.loading&&n.createElement("small",null,o.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:i,toggleRequest:o,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,!i&&n.createElement("button",{type:"button",className:"a-link a-execution-request-toggle","data-action":"view.update","aria-expanded":r,onClick:o},r?"Hide raw request":"Load raw request",!r&&` · ${e.requestDetail.length.toLocaleString()} characters`),(i||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(ig,{"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:i,now:o,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"?Lo:{command:ux,read:Si,write:sm,patch:sm,tasks:jk,delegate:Wa}[w==null?void 0:w.kind]||mx,S=e.status||e.phase,I=xp(e,o),N=e.kind==="llm"?e.usage:e.kind==="worker"?e.aggregateUsage:null,O=(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":[O,w==null?void 0:w.target,k,S].filter(Boolean).join(" · "),"aria-expanded":m,onClick:()=>l(e.id)}:{}},p&&n.createElement(Qt,{className:`a-execution-chevron ${m?"open":""}`}),n.createElement(R,null),n.createElement("span",{className:"a-execution-label",title:[O,w==null?void 0:w.target,k,(w==null?void 0:w.preview)||d].filter(Boolean).join(" · ")},n.createElement("span",null,O,(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:o}):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:()=>i("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:i,now:o,expanded:s,toggle:l})))))}function Qf({data:e,turnId:t,state:a,act:r}){var w,R,S,I,N,O,k;const i=Yu(),o=((R=(w=i==null?void 0:i.composition)==null?void 0:w.presentation)==null?void 0:R.interfaceDetail)||((I=(S=i==null?void 0:i.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,o),v=T=>{const A=T===h?Sq(m,T,o):new Set(m);T!==h&&(A.has(T)?A.delete(T):A.add(T)),r("view.update",{patch:{executionExpanded:[...A]}})},y=((O=s.nodeCounts)==null?void 0:O.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(Qt,{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:i=!1,stopping:o=!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)?i?{action:"conversation.stop",label:"Stop response",icon:"cancel",disabled:o||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 i=Ol(e),o=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(o);h.current=o;const f=s===o,v=i.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===o?c.message:"";g.useEffect(()=>u(null),[o,(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,O,k;v||m.current!==o||(m.current=null,(document.activeElement===document.body||(N=d.current)!=null&&N.contains(document.activeElement))&&((k=(O=d.current)==null?void 0:O.querySelector("textarea"))==null||k.focus()))},[v,o]);async function b(){if(p.current===o||!i.canTakeover||y)return;const N=o;p.current=N,m.current=N,l(N),u(null);try{await a("session.takeover",{id:N})}catch(O){h.current===N&&u({id:N,message:_a(O)})}finally{p.current===N&&(p.current=null),l(O=>O===N?null:O)}}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…":i.label),n.createElement("p",null,x?"Waiting for ownership, then loading your session. Your draft is kept.":i.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."),i.canTakeover&&n.createElement("button",{type:"button",className:"a-primary","data-action":"session.takeover",disabled:f||!!y,onClick:b},f?"Taking over…":i.retry?"Try again":"Continue here")))}function eg({question:e,sessionId:t,dispatch:a}){var E,b;const[r,i]=g.useState(""),[o,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:o.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:()=>{i(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:o,rows:2,maxLength:8e3,onChange:x=>{s(x.target.value),i("")}}))),n.createElement("div",{className:"a-dialog-actions"},n.createElement("button",{className:"a-primary","data-action":"question.answer",disabled:l||!r&&!o.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(o=>{var s;return o.status==="pending"||o.status==="answered"&&((s=o.delivery)==null?void 0:s.status)!=="accepted"}),i=a.filter(o=>!r.includes(o)).slice(-3);return a.length?n.createElement("section",{className:"a-questions","data-part":"questions","aria-label":"Questions for you"},r.map(o=>n.createElement(eg,{key:`${o.id}:${o.revision}`,question:o,sessionId:e.id,dispatch:t})),!!i.length&&n.createElement("details",{className:"a-question-history"},n.createElement("summary",null,"Recent answers and closed questions"),i.map(o=>n.createElement(eg,{key:`${o.id}:${o.revision}`,question:o,sessionId:e.id,dispatch:t})))):null}function Dq(){let e=null;const t=new Map;function a(o){var c,u,d;const s=o.submitter||((u=(c=o.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(o.type==="click"&&t.has(s)){o.preventDefault(),o.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(o){if(o==="view.update"||o==="canvas.visibility")return()=>{};const s=(e==null?void 0:e.action)===o?e.button:null;if(!s)return()=>{};const l=o==="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 i(o){return o.addEventListener("click",a,!0),o.addEventListener("submit",a,!0),o.addEventListener("change",a,!0),()=>{o.removeEventListener("click",a,!0),o.removeEventListener("submit",a,!0),o.removeEventListener("change",a,!0)}}return{attach:i,begin:r}}function Fq(e,t={current:!0}){const a=e.ownerDocument.defaultView,r=()=>({top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight});let i=r(),o=0,s=!1,l=null;const c=()=>{o=0,!s&&(t.current&&(e.scrollTop=e.scrollHeight),i=r())},u=()=>{!o&&!s&&(o=a.requestAnimationFrame(c))},d=()=>{const x=r(),w=x.height===i.height&&x.viewport===i.viewport;w&&x.topi.top+1&&x.height-x.top-x.viewport<80&&(t.current=!0),i=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(o),c(),u()},dispose(){s=!0,a.cancelAnimationFrame(o),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,i=!1,o=!1;const s=()=>{const l=e.scrollTop,c=l120||!t())&&(i=!0,Promise.resolve().then(a).finally(()=>{i=!1,r=e.scrollTop}))};return e.addEventListener("scroll",s,{passive:!0}),()=>{o=!0,e.removeEventListener("scroll",s)}}const Lc=`/* * 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. @@ -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),[O,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()),[te,Z]=g.useState(!1),[D,G]=g.useState(!1),U=g.useRef(null),K=g.useRef(null),[oe,be]=g.useState({status:"idle"}),[pe,_e]=g.useState({status:"idle"}),Me=g.useRef(!1),[Ke,ue]=g.useState(!1),ve=OF(),M=g.useRef(new Set),W=g.useRef(Promise.resolve()),re=g.useRef(new WeakMap),ze=g.useRef(!1),[Le,ge]=g.useState(!1),lt=g.useRef({busy:!1,revision:0}),[bt,Wt]=g.useState(!1),At=g.useRef(null),Zt=g.useRef(Promise.resolve()),ie=g.useRef(0),he=g.useRef(null),Ne=g.useRef(null),De=g.useRef(!0),Ge=g.useRef(null),ft=g.useRef(null),yt=g.useRef(null),gt=g.useRef(null),Se=g.useRef(null),X=g.useRef(null),Ce=g.useRef(null),Fe=g.useRef(),Ve=g.useRef(null),tt=g.useRef(null),wt=g.useRef(new Set),se=g.useRef(null),Qe=g.useRef(""),at=g.useRef(Promise.resolve()),Et=g.useRef(Promise.resolve()),ut=g.useRef(Promise.resolve()),Mt=g.useRef(null),Ct=g.useRef(Promise.resolve()),qt=g.useRef(new Set),ot=g.useRef(new Set),it=g.useRef(()=>{}),We=g.useRef(KF()),Ot=g.useRef(null),en=g.useRef(nq()),vn=g.useCallback(L=>{for(const Y of L||[])Y.id&&ot.current.has(Y.id)||(Y.id&&ot.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 ce,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:Nt,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,Nt))}catch(kt){Pe="error",_t="Could not copy: "+kt.message}await Nt("/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 Nt("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"ready",message:"Source copied"}}})}catch(Pe){throw await Nt("/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 Nt("/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((ce=U.current)==null?void 0:ce.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 Nt("/api/view",{method:"POST",body:{clientId:Ha,notificationPermission:Pe}})}}).catch(ce=>m(_a(ce))))},[]);it.current=vn;const Tn=g.useRef(new Set),bn=g.useRef(null),Ln=g.useRef(XF()),Kn=g.useRef(Promise.resolve()),ye=g.useRef(new WeakSet),Ue=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.revisionkt.id===Se.current.selectedSessionId),ce=(_t=L.sessions)==null?void 0:_t.find(kt=>kt.id===L.selectedSessionId);if((Y==null?void 0:Y.id)===(ce==null?void 0:ce.id)&&Number(ce==null?void 0:ce.sharedHistoryOffset)xr.getBoundingClientRect().bottom>Lt);un&&(ft.current={sessionId:ce.id,messageId:un.dataset.messageId,top:un.getBoundingClientRect().top},De.current=!1)}Ot.current=L,en.current.remember(L);for(const kt of Tn.current)kt(L);Se.current=en.current.apply(L),c(We.current.apply(Se.current)),qt.current.forEach(kt=>kt(We.current.apply(Se.current)))},[]),vt=g.useCallback(L=>{if(L.stateRevision===void 0)return Promise.resolve();const Y=ce=>{var Ie;return((Ie=ce==null?void 0:ce.client)==null?void 0:Ie.hostInstanceId)===L.hostInstanceId&&ce.revision>=L.stateRevision};return Y(Ot.current)?Promise.resolve():new Promise((ce,Ie)=>{const qe=()=>{clearTimeout(Pe),Tn.current.delete(je),ce()},je=_t=>{Y(_t)&&qe()},Pe=setTimeout(()=>{Tn.current.delete(je),bn.current||(bn.current=Nt("/api/state").then(Ue).finally(()=>{bn.current=null})),bn.current.then(ce,Ie)},1500);Tn.current.add(je)})},[Ue]),Ze=g.useCallback((L,Y={},ce={})=>{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")&&!ce.referencePrepared){if(ze.current)return Promise.reject(Error("A reference is already being added."));const Yt=We.current.apply(Se.current),jo=Yt==null?void 0:Yt.selectedSessionId,vk=((Kp=Yt==null?void 0:Yt.view)==null?void 0:Kp.draft)||"",Ll=L==="canvas.views.command"?Y.args:Y;ze.current=!0,ge(!0),clearTimeout(Fe.current);const nm=tt.current,am=Ve.current;return(async()=>{var om;if(am&&nm&&await kn(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 Ze(L,L==="canvas.views.command"?{...Y,args:rm}:rm,{...ce,referencePrepared:!0})})().finally(()=>{ze.current=!1,ge(!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"&&!ce.checkpointed)return Ul(Y.sessionId).then(()=>Ze(L,Y,{...ce,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(We.current.apply(Se.current),qe):null;je&&Ot.current&&(Se.current=en.current.apply(Ot.current),c(We.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"?We.current.addCanvas(Se.current,Y.open):L==="view.update"?ce.pendingViewToken??We.current.add(Y.patch||{},Y.sessionId):null;Pe&&Se.current&&c(We.current.apply(Se.current));const _t=FL(),kt=ce.feedback===!1?()=>{}:r.current.begin(L==="shell.command"?Y.action:L),Lt=Mt.current,un=async()=>{xr&&Lt&&await Lt;const Yt=await Nt("/api/actions",{signal:ce.signal,method:"POST",body:{action:L,args:Y,id:ce.id||crypto.randomUUID(),...ce.expectedRevision!==void 0?{expectedRevision:ce.expectedRevision}:{}}});return Yt.state?Ue(Yt.state):await vt(Yt),Yt},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(Yt=>{var jo;return typeof((jo=Y.fingerprints)==null?void 0:jo[Yt])=="string"}),Wp=GF(L,ce),Zp=L.startsWith("coordination.")||ce.presentation?{current:Promise.resolve()}:L==="canvas.visibility"?at:xr?ut:gk?Ct:["conversation.send","message.edit","question.answer"].includes(L)?W:Wp?Kn:Et,qo=Ln.current(Zp,un,QF(L,Y,ce),Wp?Et.current:null).then(Yt=>(Pe&&We.current.settle(Pe),je&&en.current.settle(je),Pe&&Se.current&&c(We.current.apply(Se.current)),ye.current.has(Yt)||(ye.current.add(Yt),vn(Yt.effects)),Yt)).catch(Yt=>{throw je&&(en.current.settle(je),Ot.current&&(Se.current=en.current.apply(Ot.current),c(We.current.apply(Se.current)))),Yt.state&&Ue(Yt.state),Pe&&(We.current.settle(Pe),Se.current&&c(We.current.apply(Se.current))),Yt}).finally(()=>{_t(),kt()});if(Zp.current=qo.catch(()=>{}),L==="canvas.views.dirty"){Mt.current=qo;const Yt=()=>{Mt.current===qo&&(Mt.current=null)};qo.then(Yt,Yt)}return qo},[Ue,vn,vt]);g.useEffect(()=>{var L,Y;for(const ce of ve.entries){if(ce.sessionId||!((L=ce.creation)!=null&&L.id))continue;const Ie=(Y=l==null?void 0:l.sessions)==null?void 0:Y.find(qe=>qe.creationCommandId===ce.creation.id);Ie&&ve.update(ce.id,{sessionId:Ie.id})}},[l==null?void 0:l.sessions,ve.entries]);const ct=Wx(Ot.current,Ze,Ha);g.useEffect(()=>gt.current?r.current.attach(gt.current):void 0,[!!l,ct.ready]);const Ee=g.useCallback((L,Y={})=>Ze(L,Y).catch(ce=>m(_a(ce))),[Ze]),Jt=g.useRef(null);Jt.current||(Jt.current=tq(L=>Nt("/api/view",{method:"POST",body:L})));const tn=g.useCallback(()=>{var L;Se.current&&!document.hidden&&Jt.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 ce=new AbortController;m("");const Ie=setTimeout(()=>{ce.abort(),L&&!Se.current&&m("The workspace is taking too long to respond. You can retry the connection.")},1e4);return jx(ce.signal).then(()=>{if(!L)return;Nt("/api/state",{signal:ce.signal}).then(je=>{L&&(Ue(je.state||je),f(!0))}).catch(je=>{L&&je.name!=="AbortError"&&!Se.current&&m(_a(je))}).finally(()=>clearTimeout(Ie)),Nt("/api/actions",{signal:ce.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),Ue(qe),f(!0),Pe&&m(""),clearTimeout(Ie)}catch{}}),Y.addEventListener("state-delta",je=>{if(L)try{qe=eq(qe,JSON.parse(je.data)),Ue(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),Jt.current.invalidate(),tn(),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),ce.abort(),Y==null||Y.close(),ei("closed")}},[Ue,E]),g.useEffect(()=>(window.amplifier=Object.freeze({shellClientId:Ha,getShellState:()=>ct.data,getState:()=>({...We.current.apply(Se.current),renderedView:ql(gt.current,Ha)}),getActions:()=>u,dispatch:Ze,subscribe:L=>(qt.current.add(L),()=>qt.current.delete(L))}),()=>{delete window.amplifier}),[u,Ze,ct.data]),g.useEffect(()=>{const L=gt.current;if(!L)return;const Y=()=>Ux(L),ce=new MutationObserver(Y);return Y(),ce.observe(L,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>ce.disconnect()},[!!l,ct.ready]),g.useEffect(()=>{const L=setTimeout(tn,300);return()=>clearTimeout(L)},[l,x,I,T,ne,tn,ct.data]),g.useEffect(()=>{let L;const Y=()=>{clearTimeout(L),L=setTimeout(tn,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)}},[tn]),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,ce,Ie,qe;if(!l)return;const L=((Y=l.theme)==null?void 0:Y.name)+"::"+((ce=l.theme)==null?void 0:ce.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 on=MF((Np=l==null?void 0:l.sessions)==null?void 0:Np.find(L=>L.id===l.selectedSessionId),()=>{De.current=!1;const L=Ne.current;if(!L)return;const Y=L.getBoundingClientRect().top,ce=[...L.querySelectorAll("[data-message-id]")].find(Ie=>Ie.getBoundingClientRect().bottom>Y);ce&&(ft.current={sessionId:l.selectedSessionId,messageId:ce.dataset.messageId,top:ce.getBoundingClientRect().top})}),Q=on.session,yn=(l==null?void 0:l.view)||{},ca=yn.mode||"chat",Sa=Mw(Q),Dn=Sa.busy,En=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)&&!En.length,In=Ol(Q),rn=(Q==null?void 0:Q.workspaceAvailable)===!1||!!(Q!=null&&Q.historyReadOnlyReason)||In.blocked,mt=aD(yn.panel,s,L=>Ee("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,Ee,Ne,ct.ready);const ht=nF(Q,P),V=uF(En,aF(Q)),ke=g.useRef(null);g.useEffect(()=>{var Y,ce,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||ke.current===L||(ke.current=L,(((ce=l.setup)==null?void 0:ce.providersWorkspace)!==L||!((Ie=l.setup)!=null&&Ie.providersLoadedAt))&&Ee("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,ce,Ie;for(const qe of ve.entries){const je=(ce=(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:ce.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 Dt=BF(Q),wn=rF(En,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,De);return Ge.current=L,()=>{L.dispose(),Ge.current=null}},[!!l,ct.ready]),g.useLayoutEffect(()=>{var L;(L=Ge.current)==null||L.reveal()},[Q==null?void 0:Q.id,ct.ready]),g.useEffect(()=>{const L=Ne.current;if(!(!L||!Q))return qq(L,()=>{var Y;return!on.busy&&!Q.historyLoading&&(((Y=Q.messageWindow)==null?void 0:Y.offset)>0||Q.sharedHistoryOffset>0)},()=>{var Y;return De.current=!1,((Y=Q.messageWindow)==null?void 0:Y.offset)>0?on.earlier("messages"):Ee("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,on.busy,Ee,ct.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,ce=[...(Y==null?void 0:Y.querySelectorAll("[data-message-id]"))||[]].find(Ie=>Ie.dataset.messageId===L.messageId);ce&&(Y.scrollTop+=ce.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,ct.ready]),g.useLayoutEffect(()=>{var L;Xf(yt.current),(L=Ge.current)==null||L.update()},[x,l==null?void 0:l.selectedSessionId,ct.ready]),g.useEffect(()=>{const L=()=>Xf(yt.current);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]),g.useEffect(()=>{if(l){for(const L of Kf(l))if(!wt.current.has(L.id)&&(wt.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(),Ee("session.select",{id:L.sessionId}),Ee("view.update",{patch:{mode:"text"}})}}}},[l,h,Ee]),g.useEffect(()=>(X.current=new sq({request:Nt,onAction:(L,Y)=>Ze(L,Y),onState:L=>{var Y;B(L),L.status!=="connected"&&((Y=U.current)==null||Y.stop())},onError:L=>m(L.message||String(L))}),U.current=new uk({request:Nt,onState:be,getVoice:()=>{var L,Y,ce;return{...(L=X.current)==null?void 0:L.state,sessionId:(ce=(Y=Se.current)==null?void 0:Y.voice)==null?void 0:ce.sessionId}}}),K.current=new cq({request:Nt,onState:_e,getSession:()=>{var L;return(L=Se.current)==null?void 0:L.selectedSessionId}}),()=>{var L,Y,ce;(L=K.current)==null||L.dispose(),(Y=U.current)==null||Y.dispose(),(ce=X.current)==null||ce.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=U.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,ce;if(L==="new-session"){xn();return}(ce=(Y=Se.current)==null?void 0:Y.view)!=null&&ce.panel||(i.current=document.activeElement),m(""),Ee("view.update",{patch:{panel:L,toolbarMenuOpen:!1,...L==="settings"&&window.matchMedia("(max-width:959px)").matches?{settingsSection:"index",settingsExpanded:[]}:{}}})},Ca=()=>{A(!1),Ee("view.update",{patch:{panel:null,themePreview:!1}})},Na=()=>s.current?s.current.close():Ca();g.useEffect(()=>{var qe,je;if(!mt||!ct.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 ce=()=>[...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=ce()[0])==null||je.focus();const Ie=Pe=>{var _t;if(Pe.key==="Escape"&&(s.current?s.current.close():(A(!1),Ee("view.update",{patch:{panel:null,themePreview:!1}}))),Pe.key==="Tab"){const kt=ce(),Lt=kt[0],un=kt.at(-1);kt.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,Ee,ct.ready]);function ua(L){const Y=tt.current;!Ve.current||(Y==null?void 0:Y.sessionId)===L||(clearTimeout(Fe.current),kn(Y,Ve.current).catch(ce=>m(_a(ce))),Ve.current=null)}function kn(L,Y){if(re.current.has(L))return re.current.get(L);const ce=(async()=>{if(L.sessionId===null&&At.current){const Ie=await At.current;L.sessionId=Ie.id,We.current.bindDraft(Y,Ie.id)}try{return await Ze("view.update",L,{pendingViewToken:Y})}catch(Ie){throw Ve.current===Y&&(Ve.current=We.current.add(L.patch,L.sessionId),Se.current&&c(We.current.apply(Se.current))),Ie}finally{Ve.current===Y&&(Ve.current=null)}})();return re.current.set(L,ce),ce.catch(()=>re.current.delete(L)),ce}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,We.current.settle(Ve.current);const ce=We.current.add({draft:L},Y),Ie={patch:{draft:L},sessionId:Y};Ve.current=ce,tt.current=Ie,Se.current&&c(We.current.apply(Se.current)),clearTimeout(Fe.current),Fe.current=setTimeout(()=>{kn(Ie,ce).catch(je=>m(_a(je)))},220)}async function xn(L){ua(null),De.current=!0,await Ee("session.draft",L?{workspace:L}:{})}async function da(L){var ce,Ie;const Y=!L&&((Ie=(ce=Se.current)==null?void 0:ce.sessions)==null?void 0:Ie.find(qe=>{var je;return qe.id===((je=Se.current)==null?void 0:je.selectedSessionId)}));return Y||(At.current||(At.current=Ze("session.create",{...(L==null?void 0:L.setup)||Ja(We.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(kt=>kt.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 Ve.current&&(Pe==null?void 0:Pe.sessionId)===null&&(Pe.sessionId=je.id,We.current.bindDraft(Ve.current,je.id),clearTimeout(Fe.current),kn(Pe,Ve.current).catch(_t=>m(_a(_t))),Se.current&&c(We.current.apply(Se.current))),je}).finally(()=>{At.current=null})),At.current)}function ea(L){var Ie;if(!(L!=null&&L.length)||rn||dn)return;const Y=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null;ie.current++,Z(!0),m("");const ce=async()=>{try{for(const qe of L)await Ze("attachment.add",{sessionId:Y,name:qe.name,base64:await $F(qe)})}catch(qe){m(qe.message)}finally{ie.current--,Z(ie.current>0)}};Zt.current=Zt.current.then(ce,ce)}async function Ga(L){var Y,ce,Ie,qe,je;if(!M.current.has(L.id)){M.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 Ze("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=(ce=(Y=Se.current)==null?void 0:Y.sessions)==null?void 0:ce.find(kt=>kt.id===L.sessionId))==null?void 0:Ie.messages)==null?void 0:qe.some(kt=>{var Lt;return kt.inputId===L.commandId&&((Lt=kt.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{M.current.delete(L.id)}}}function Qa(L){var Ie,qe,je,Pe,_t,kt,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"||M.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=(kt=(_t=Se.current)==null?void 0:_t.view)==null?void 0:kt.messageEdit)==null?void 0:Lt.messageId)===L.id&&Ee("view.update",{patch:{messageEdit:null}}))}async function Xa(L,Y){const ce=ve.current.current.find(je=>{var Pe;return je.id===(((Pe=L.localDelivery)==null?void 0:Pe.id)||L.id)});if(!ce||ce.status==="sending"||ce.status==="unknown"&&Y!==void 0)return;const Ie=ce.status==="failed"&&!ce.sessionId?{id:crypto.randomUUID(),setup:Ja(We.current.apply(Se.current))}:ce.creation,qe=ve.update(ce.id,{creation:Ie,...ce.status==="failed"?{commandId:crypto.randomUUID(),...Y!==void 0?{text:Y}:{}}:{},status:"sending",error:""});Y!==void 0&&Ee("view.update",{patch:{messageEdit:null}}),await Ga(qe)}async function ta(L){var Pe,_t,kt;if(L==null||L.preventDefault(),ze.current||!x.trim()&&!Xe.length||ie.current||v||me||dn||rn)return;ua((Q==null?void 0:Q.id)??null);const Y=x,ce=crypto.randomUUID(),Ie=Xe;if(!Y.trim()&&!Ie.length)return;(Pe=Ge.current)==null||Pe.reveal(),m(""),Xn(""),clearTimeout(Fe.current);const qe=Ve.current;let je=ve.update(ce,{commandId:ce,sessionId:(Q==null?void 0:Q.id)??null,...Q?{}:{creation:{id:crypto.randomUUID(),setup:Ja(We.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 kn(tt.current,qe);const Lt=Q||await da(je.creation);je=ve.update(ce,{sessionId:Lt.id}),await Ga(je)}catch(Lt){ve.update(ce,{status:((kt=Lt.receipt)==null?void 0:kt.delivery)==="failed"||Lt.status>=400&&Lt.status<500&&Lt.status!==408?"failed":"unknown",error:_a(Lt)})}finally{We.current.settle(qe),Ve.current===qe&&(Ve.current=null),Se.current&&c(We.current.apply(Se.current))}}async function Sn(L){var qe,je,Pe,_t,kt,Lt;if(L.preventDefault(),lt.current.busy||!R.trim())return;const Y=lt.current.revision,ce=(qe=Se.current)==null?void 0:qe.selectedSessionId,Ie=R;lt.current.busy=!0,Wt(!0),m("");try{await Ze("worker.spawn",{sessionId:ce,instruction:Ie});const un=(Pe=(je=We.current.apply(Se.current))==null?void 0:je.view)==null?void 0:Pe.workerDraft;lt.current.revision===Y&&((_t=Se.current)==null?void 0:_t.selectedSessionId)===ce&&un===Ie&&(S(""),await Ze("view.update",{patch:{workerDraft:"",...((Lt=(kt=Se.current)==null?void 0:kt.view)==null?void 0:Lt.panel)==="worker"?{panel:null}:{}}}))}catch(un){m(un.message)}finally{lt.current.busy=!1,Wt(!1)}}async function or(){var L;if(((L=l.voiceConfiguration)==null?void 0:L.available)===!1){await Ze("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["voice"]}});return}if(!Me.current){Me.current=!0,ue(!0),m("");try{await da(),await Ze("view.update",{patch:{mode:"call"}}),await Ze("call.start",{})}catch(Y){m(_a(Y))}finally{Me.current=!1,ue(!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=ct.composition.presentation,Yn=ln.scheme||yn.scheme,Ua=Yn==="system"?"light dark":Yn||"light",cn=VL(Yn);WL({root:gt,state:l,shell:ct,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)),j=Dn||((Q==null?void 0:Q.workers)||[]).some(L=>["queued","starting","working","running","stopping"].includes(L.status)),ee=ve.entries.some(L=>L.sessionId===((Q==null?void 0:Q.id)??null)&&L.status==="sending"),de=Mq({draft:x,attachments:Xe,uploading:te,working:Dn,responseActive:j,stopping:(Q==null?void 0:Q.status)==="stopping",voiceStatus:ne.status,voiceStarting:Ke,busy:v,newChatPending:me,sending:ee,historyPending:dn,executionUnavailable:rn}),Oe=UL({enabled:!!l&&ct.ready,blocked:pa||Ke?"Finish your voice call, then reload.":te||ee||v?"Wait for the current upload or send to finish.":"",prepare:async()=>{var ce,Ie,qe;await Promise.all([ut.current,Et.current,W.current,Zt.current]),await Ul((ce=Se.current)==null?void 0:ce.selectedSessionId),clearTimeout(Fe.current),Ve.current&&await kn(tt.current,Ve.current);const L=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null,Y=Qe.current;if(await Ze("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.")}}),$e=As(l)!=="chat",st=(L,Y=null)=>Ee("view.update",{patch:{...wk(L,Y),navExpanded:!1}}),Ft={browse:st,create:()=>a(!0),newChat:xn},Kt=$e?{...l,canvas:{...l==null?void 0:l.canvas,open:!1}}:l;return!l||!ct.ready?n.createElement("div",{className:"boot"},n.createElement("img",{src:Dc}),n.createElement("h1",null,"Amplifier"),n.createElement("p",null,p||ct.error||"Connecting to your workspace…"),(p||ct.error)&&n.createElement(n.Fragment,null,n.createElement("button",{onClick:()=>{b(L=>L+1),ct.refresh()}},"Retry connection"),n.createElement("p",null,n.createElement("a",{href:"?shell=recovery"},"Open recovery mode")))):n.createElement(Oi.Provider,{value:Ft},n.createElement(Rg.Provider,{value:ct},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||yn.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:Ee,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(""),Ee("view.update",{patch:{notice:null}})},"data-action":"view.update"},n.createElement(nn,null))),n.createElement(gF,{state:l,session:Q,act:Ee}),!((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(Qt,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:$e,working:Dn&&!rn,session:Q,act:Ee,onReturn:()=>st("chat")},n.createElement(dq,{sessionId:Q==null?void 0:Q.id,visual:pe,client:K,dispatch:Ze,onError:L=>m(L.message)})),n.createElement(SL,{state:Kt,act:Ee,presentation:ln},n.createElement(NL,{footer:n.createElement(_L,{state:l,act:Ee,connected:h,open:sn}),shell:ct,state:l,session:Q,act:Ee,selectSession:L=>{De.current=!0,Ee("session.select",{id:L})},newSession:xn}),n.createElement("section",{className:`a-conversation ${En.length||dn||Q!=null&&Q.historyError||rn?"has-messages":"is-empty"}`,"data-part":"conversation","aria-label":"Shared conversation"},$e&&n.createElement(zL,{shell:ct,state:l,act:Ee}),n.createElement(FF,{session:Q,focus:(zp=l.view)==null?void 0:zp.messageFocus,detail:on}),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"},on.controls),n.createElement(RL,{session:((Lp=Q==null?void 0:Q.messageWindow)==null?void 0:Lp.offset)>0?{...Q,sharedHistoryOffset:0}:Q,act:Ee,onLoadEarlier:()=>{De.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:()=>Ee("session.select",{id:Q.parentId})},mo(Q)?"Open original chat":"Open parent chat")),wn.before.map(L=>n.createElement(Qf,{key:L,data:V,turnId:L,state:l,act:Ee})),!Q&&n.createElement(qx,{state:l,act:Ee})," ",En.length===0&&!dn&&!(Q!=null&&Q.historyError)&&!rn?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(En,wn.after).map(L=>Array.isArray(L)?n.createElement(VF,{key:L[0].id,messages:L,session:Q||{id:null},state:l,act:Ee,renderArtifacts:Y=>n.createElement(vm,{state:l,message:Y,act:Ee})}):n.createElement(n.Fragment,{key:L.id},n.createElement(ck,{message:L,session:Q||{id:null},state:l,act:Ee,stamp:Uq,working:Dn,forkTurn:Dt.get(L.id),retry:Xa,discard:Qa,dispatch:Ze}),(wn.after.get(L.id)||[]).map(Y=>n.createElement(Qf,{key:Y,data:V,turnId:Y,state:l,act:Ee})),n.createElement(vm,{state:l,message:L,act:Ee}))),(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:()=>Ee("approval.respond",{id:L.id,decision:"approve"})},n.createElement(Pt,null),"Allow"),n.createElement("button",{className:"a-soft","data-action":"approval.respond",onClick:()=>Ee("approval.respond",{id:L.id,decision:"deny"})},"Deny"))))),n.createElement(Lq,{session:Q,dispatch:Ze}),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(),rn||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(rn){L.preventDefault();return}const Y=[...L.clipboardData.items].filter(ce=>ce.kind==="file").map(ce=>ce.getAsFile()).filter(Boolean);if(Y.length){L.preventDefault();const ce=L.clipboardData.getData("text/plain");if(ce){const Ie=yt.current,qe=(Ie==null?void 0:Ie.selectionStart)??x.length,je=(Ie==null?void 0:Ie.selectionEnd)??qe;Xn(x.slice(0,qe)+ce+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:Ze},!Q&&n.createElement(IL,{state:l,act:Ee}),n.createElement(lk,{items:Xe,remove:L=>Ee("attachment.remove",{sessionId:(Q==null?void 0:Q.id)??null,id:L})}),te&&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:Ze}),n.createElement("textarea",{ref:yt,rows:1,disabled:rn,readOnly:Le,"aria-busy":Le,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"},ee&&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:te||rn||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:Ee,ensureSession:da,working:Dn}),n.createElement(Kw,{compact:!0,state:l,session:Q,act:Ee,working:Dn}),Q&&n.createElement("button",{type:"button",className:"a-icon a-composer-controls","aria-label":"Chat controls","data-action":"view.update",disabled:rn||dn,onClick:()=>sn("runtime")},n.createElement(el,null)))),n.createElement("button",{type:de.action==="conversation.send"?"submit":"button",className:"a-send","data-part":"composer-primary-action","data-action":de.action,"aria-label":de.action==="call.start"&&((jp=l.voiceConfiguration)==null?void 0:jp.available)===!1?"Set up voice":de.label,title:de.action==="call.start"&&((Up=l.voiceConfiguration)==null?void 0:Up.available)===!1?"Set up voice in Settings":de.label,disabled:de.disabled||Le&&de.action==="conversation.send",onClick:de.action==="call.start"?or:de.action==="call.end"?()=>Ee("call.end"):de.action==="conversation.stop"?()=>Ee("conversation.stop",{sessionId:Q.id}):void 0},de.icon==="voice"?n.createElement(Ou,null):de.icon==="cancel"?n.createElement(nn,null):n.createElement(Mi,null)))))),n.createElement(lL,{scheme:Yn},n.createElement(TL,{suppressed:$e,state:l,act:Ee,dispatch:Ze}))),t&&n.createElement(AL,{state:l,act:Ee,onClose:()=>a(!1)}),n.createElement(wq,{state:l,act:Ee}),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(nn,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(nn,null))),mt==="session-details"&&Q&&n.createElement(n.Fragment,null,n.createElement(ak,{key:Q.id,session:Q,act:Ze}),n.createElement("h3",null,"Export chat"),n.createElement(rk,{session:Q,state:l,act:Ee}),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Ag,{state:l,session:Q,act:Ee}),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:Ze}),mt==="subagent-history"&&n.createElement(aS,{state:l,session:Q,act:Ee}),mt==="activity"&&n.createElement(kx,{state:l,act:Ee}),mt==="feedback"&&n.createElement(Eq,{state:l,act:Ze}),mt==="runtime"&&n.createElement(tk,{state:l,session:Q,act:Ee,computerControls:n.createElement(uq,{sessionId:Q==null?void 0:Q.id,visual:pe,client:K,dispatch:Ze,onError:L=>m(L.message||String(L))})}),mt==="worker"&&n.createElement("form",{"data-action":"worker.spawn",onSubmit:Sn},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=>{lt.current.revision++,S(L.target.value),Ee("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:bt||!R.trim()},n.createElement(Wa,null),bt?"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 ce,Ie;return[L,{clientId:Y.clientId,viewport:Y.viewport,controls:(ce=Y.controls)==null?void 0:ce.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:ce,createdAt:Ie})=>({id:L,type:Y,origin:ce,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:{...yn,themeDraft:yn.themeDraft?`${yn.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),Ee("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),Ee("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{Ee(q,JSON.parse(F))}catch(L){m(_a(L))}}},"Run action"),n.createElement("button",{className:"a-soft","data-action":"state.export",onClick:()=>Ee("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:Ze,cancel:Na}),(mt==="settings"||mt==="appearance")&&n.createElement(AF,{state:l,session:Q,act:Ee,dispatch:Ze,open:sn,close:Ca,navigationRef:s,appearance:n.createElement(YL,{state:l,shell:ct,act:Ze,name:O,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}; +`,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,Di,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()),i=g.useRef(!1),o=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),[O,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()),[te,Z]=g.useState(!1),[D,G]=g.useState(!1),U=g.useRef(null),K=g.useRef(null),[ie,be]=g.useState({status:"idle"}),[pe,_e]=g.useState({status:"idle"}),Me=g.useRef(!1),[Ke,ue]=g.useState(!1),ve=OF(),M=g.useRef(new Set),W=g.useRef(Promise.resolve()),re=g.useRef(new WeakMap),ze=g.useRef(!1),[Le,ge]=g.useState(!1),lt=g.useRef({busy:!1,revision:0}),[bt,Wt]=g.useState(!1),At=g.useRef(null),Zt=g.useRef(Promise.resolve()),oe=g.useRef(0),he=g.useRef(null),Ne=g.useRef(null),De=g.useRef(!0),Ge=g.useRef(null),ft=g.useRef(null),yt=g.useRef(null),gt=g.useRef(null),Se=g.useRef(null),X=g.useRef(null),Ce=g.useRef(null),Fe=g.useRef(),Ve=g.useRef(null),tt=g.useRef(null),wt=g.useRef(new Set),se=g.useRef(null),Qe=g.useRef(""),at=g.useRef(Promise.resolve()),Et=g.useRef(Promise.resolve()),ut=g.useRef(Promise.resolve()),Mt=g.useRef(null),Ct=g.useRef(Promise.resolve()),qt=g.useRef(new Set),it=g.useRef(new Set),ot=g.useRef(()=>{}),We=g.useRef(KF()),Ot=g.useRef(null),en=g.useRef(nq()),vn=g.useCallback(L=>{for(const Y of L||[])Y.id&&it.current.has(Y.id)||(Y.id&&it.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 ce,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:Nt,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,Nt))}catch(kt){Pe="error",_t="Could not copy: "+kt.message}await Nt("/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 Nt("/api/actions",{method:"POST",body:{action:"canvas.report",args:{id:Y.canvasId,part:"clipboard",status:"ready",message:"Source copied"}}})}catch(Pe){throw await Nt("/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 Nt("/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((ce=U.current)==null?void 0:ce.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 Nt("/api/view",{method:"POST",body:{clientId:Ha,notificationPermission:Pe}})}}).catch(ce=>m(_a(ce))))},[]);ot.current=vn;const Tn=g.useRef(new Set),bn=g.useRef(null),Ln=g.useRef(XF()),Kn=g.useRef(Promise.resolve()),ye=g.useRef(new WeakSet),Ue=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.revisionkt.id===Se.current.selectedSessionId),ce=(_t=L.sessions)==null?void 0:_t.find(kt=>kt.id===L.selectedSessionId);if((Y==null?void 0:Y.id)===(ce==null?void 0:ce.id)&&Number(ce==null?void 0:ce.sharedHistoryOffset)xr.getBoundingClientRect().bottom>Lt);un&&(ft.current={sessionId:ce.id,messageId:un.dataset.messageId,top:un.getBoundingClientRect().top},De.current=!1)}Ot.current=L,en.current.remember(L);for(const kt of Tn.current)kt(L);Se.current=en.current.apply(L),c(We.current.apply(Se.current)),qt.current.forEach(kt=>kt(We.current.apply(Se.current)))},[]),vt=g.useCallback(L=>{if(L.stateRevision===void 0)return Promise.resolve();const Y=ce=>{var Ie;return((Ie=ce==null?void 0:ce.client)==null?void 0:Ie.hostInstanceId)===L.hostInstanceId&&ce.revision>=L.stateRevision};return Y(Ot.current)?Promise.resolve():new Promise((ce,Ie)=>{const qe=()=>{clearTimeout(Pe),Tn.current.delete(je),ce()},je=_t=>{Y(_t)&&qe()},Pe=setTimeout(()=>{Tn.current.delete(je),bn.current||(bn.current=Nt("/api/state").then(Ue).finally(()=>{bn.current=null})),bn.current.then(ce,Ie)},1500);Tn.current.add(je)})},[Ue]),Ze=g.useCallback((L,Y={},ce={})=>{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")&&!ce.referencePrepared){if(ze.current)return Promise.reject(Error("A reference is already being added."));const Yt=We.current.apply(Se.current),qi=Yt==null?void 0:Yt.selectedSessionId,vk=((Kp=Yt==null?void 0:Yt.view)==null?void 0:Kp.draft)||"",Ll=L==="canvas.views.command"?Y.args:Y;ze.current=!0,ge(!0),clearTimeout(Fe.current);const nm=tt.current,am=Ve.current;return(async()=>{var im;if(am&&nm&&await kn(nm,am),((im=Se.current)==null?void 0:im.selectedSessionId)!==qi)throw Error("The conversation changed. Your draft was kept; select the text again.");const rm={...Ll,sessionId:Ll.sessionId??qi,...L==="message.reply"?{}:{expectedDraft:Ll.expectedDraft??vk}};return await Ze(L,L==="canvas.views.command"?{...Y,args:rm}:rm,{...ce,referencePrepared:!0})})().finally(()=>{ze.current=!1,ge(!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"&&!ce.checkpointed)return Ul(Y.sessionId).then(()=>Ze(L,Y,{...ce,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(We.current.apply(Se.current),qe):null;je&&Ot.current&&(Se.current=en.current.apply(Ot.current),c(We.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"?We.current.addCanvas(Se.current,Y.open):L==="view.update"?ce.pendingViewToken??We.current.add(Y.patch||{},Y.sessionId):null;Pe&&Se.current&&c(We.current.apply(Se.current));const _t=FL(),kt=ce.feedback===!1?()=>{}:r.current.begin(L==="shell.command"?Y.action:L),Lt=Mt.current,un=async()=>{xr&&Lt&&await Lt;const Yt=await Nt("/api/actions",{signal:ce.signal,method:"POST",body:{action:L,args:Y,id:ce.id||crypto.randomUUID(),...ce.expectedRevision!==void 0?{expectedRevision:ce.expectedRevision}:{}}});return Yt.state?Ue(Yt.state):await vt(Yt),Yt},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(Yt=>{var qi;return typeof((qi=Y.fingerprints)==null?void 0:qi[Yt])=="string"}),Wp=GF(L,ce),Zp=L.startsWith("coordination.")||ce.presentation?{current:Promise.resolve()}:L==="canvas.visibility"?at:xr?ut:gk?Ct:["conversation.send","message.edit","question.answer"].includes(L)?W:Wp?Kn:Et,Fi=Ln.current(Zp,un,QF(L,Y,ce),Wp?Et.current:null).then(Yt=>(Pe&&We.current.settle(Pe),je&&en.current.settle(je),Pe&&Se.current&&c(We.current.apply(Se.current)),ye.current.has(Yt)||(ye.current.add(Yt),vn(Yt.effects)),Yt)).catch(Yt=>{throw je&&(en.current.settle(je),Ot.current&&(Se.current=en.current.apply(Ot.current),c(We.current.apply(Se.current)))),Yt.state&&Ue(Yt.state),Pe&&(We.current.settle(Pe),Se.current&&c(We.current.apply(Se.current))),Yt}).finally(()=>{_t(),kt()});if(Zp.current=Fi.catch(()=>{}),L==="canvas.views.dirty"){Mt.current=Fi;const Yt=()=>{Mt.current===Fi&&(Mt.current=null)};Fi.then(Yt,Yt)}return Fi},[Ue,vn,vt]);g.useEffect(()=>{var L,Y;for(const ce of ve.entries){if(ce.sessionId||!((L=ce.creation)!=null&&L.id))continue;const Ie=(Y=l==null?void 0:l.sessions)==null?void 0:Y.find(qe=>qe.creationCommandId===ce.creation.id);Ie&&ve.update(ce.id,{sessionId:Ie.id})}},[l==null?void 0:l.sessions,ve.entries]);const ct=Wx(Ot.current,Ze,Ha);g.useEffect(()=>gt.current?r.current.attach(gt.current):void 0,[!!l,ct.ready]);const Ee=g.useCallback((L,Y={})=>Ze(L,Y).catch(ce=>m(_a(ce))),[Ze]),Jt=g.useRef(null);Jt.current||(Jt.current=tq(L=>Nt("/api/view",{method:"POST",body:L})));const tn=g.useCallback(()=>{var L;Se.current&&!document.hidden&&Jt.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 ce=new AbortController;m("");const Ie=setTimeout(()=>{ce.abort(),L&&!Se.current&&m("The workspace is taking too long to respond. You can retry the connection.")},1e4);return jx(ce.signal).then(()=>{if(!L)return;Nt("/api/state",{signal:ce.signal}).then(je=>{L&&(Ue(je.state||je),f(!0))}).catch(je=>{L&&je.name!=="AbortError"&&!Se.current&&m(_a(je))}).finally(()=>clearTimeout(Ie)),Nt("/api/actions",{signal:ce.signal}).then(je=>{L&&d(Array.isArray(je)?je:je.actions||[])}).catch(()=>{});let qe;Xi("connecting"),Y=new EventSource(jo("/api/events?transport=delta-v1")),Y.addEventListener("state",je=>{if(L)try{const Pe=!Se.current;qe=JSON.parse(je.data),Ue(qe),f(!0),Pe&&m(""),clearTimeout(Ie)}catch{}}),Y.addEventListener("state-delta",je=>{if(L)try{qe=eq(qe,JSON.parse(je.data)),Ue(qe),f(!0)}catch{Y.close(),Xi("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=()=>{Xi("open"),f(!0),Jt.current.invalidate(),tn(),window.dispatchEvent(new Event("amplifier-reconnected"))},Y.onerror=()=>{Xi(Y.readyState===2?"closed":"reconnecting"),f(!1)}}).catch(qe=>{clearTimeout(Ie),L&&qe.name!=="AbortError"&&m(_a(qe))}),()=>{L=!1,clearTimeout(Ie),ce.abort(),Y==null||Y.close(),Xi("closed")}},[Ue,E]),g.useEffect(()=>(window.amplifier=Object.freeze({shellClientId:Ha,getShellState:()=>ct.data,getState:()=>({...We.current.apply(Se.current),renderedView:ql(gt.current,Ha)}),getActions:()=>u,dispatch:Ze,subscribe:L=>(qt.current.add(L),()=>qt.current.delete(L))}),()=>{delete window.amplifier}),[u,Ze,ct.data]),g.useEffect(()=>{const L=gt.current;if(!L)return;const Y=()=>Ux(L),ce=new MutationObserver(Y);return Y(),ce.observe(L,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>ce.disconnect()},[!!l,ct.ready]),g.useEffect(()=>{const L=setTimeout(tn,300);return()=>clearTimeout(L)},[l,x,I,T,ne,tn,ct.data]),g.useEffect(()=>{let L;const Y=()=>{clearTimeout(L),L=setTimeout(tn,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)}},[tn]),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,ce,Ie,qe;if(!l)return;const L=((Y=l.theme)==null?void 0:Y.name)+"::"+((ce=l.theme)==null?void 0:ce.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,(Di=l==null?void 0:l.view)==null?void 0:Di.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 on=MF((Np=l==null?void 0:l.sessions)==null?void 0:Np.find(L=>L.id===l.selectedSessionId),()=>{De.current=!1;const L=Ne.current;if(!L)return;const Y=L.getBoundingClientRect().top,ce=[...L.querySelectorAll("[data-message-id]")].find(Ie=>Ie.getBoundingClientRect().bottom>Y);ce&&(ft.current={sessionId:l.selectedSessionId,messageId:ce.dataset.messageId,top:ce.getBoundingClientRect().top})}),Q=on.session,yn=(l==null?void 0:l.view)||{},ca=yn.mode||"chat",Sa=Mw(Q),Dn=Sa.busy,En=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)&&!En.length,In=Ol(Q),rn=(Q==null?void 0:Q.workspaceAvailable)===!1||!!(Q!=null&&Q.historyReadOnlyReason)||In.blocked,mt=aD(yn.panel,s,L=>Ee("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,Ee,Ne,ct.ready);const ht=nF(Q,P),V=uF(En,aF(Q)),ke=g.useRef(null);g.useEffect(()=>{var Y,ce,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||ke.current===L||(ke.current=L,(((ce=l.setup)==null?void 0:ce.providersWorkspace)!==L||!((Ie=l.setup)!=null&&Ie.providersLoadedAt))&&Ee("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,ce,Ie;for(const qe of ve.entries){const je=(ce=(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:ce.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 Dt=BF(Q),wn=rF(En,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,De);return Ge.current=L,()=>{L.dispose(),Ge.current=null}},[!!l,ct.ready]),g.useLayoutEffect(()=>{var L;(L=Ge.current)==null||L.reveal()},[Q==null?void 0:Q.id,ct.ready]),g.useEffect(()=>{const L=Ne.current;if(!(!L||!Q))return qq(L,()=>{var Y;return!on.busy&&!Q.historyLoading&&(((Y=Q.messageWindow)==null?void 0:Y.offset)>0||Q.sharedHistoryOffset>0)},()=>{var Y;return De.current=!1,((Y=Q.messageWindow)==null?void 0:Y.offset)>0?on.earlier("messages"):Ee("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,on.busy,Ee,ct.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,ce=[...(Y==null?void 0:Y.querySelectorAll("[data-message-id]"))||[]].find(Ie=>Ie.dataset.messageId===L.messageId);ce&&(Y.scrollTop+=ce.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,ct.ready]),g.useLayoutEffect(()=>{var L;Xf(yt.current),(L=Ge.current)==null||L.update()},[x,l==null?void 0:l.selectedSessionId,ct.ready]),g.useEffect(()=>{const L=()=>Xf(yt.current);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]),g.useEffect(()=>{if(l){for(const L of Kf(l))if(!wt.current.has(L.id)&&(wt.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(),Ee("session.select",{id:L.sessionId}),Ee("view.update",{patch:{mode:"text"}})}}}},[l,h,Ee]),g.useEffect(()=>(X.current=new sq({request:Nt,onAction:(L,Y)=>Ze(L,Y),onState:L=>{var Y;B(L),L.status!=="connected"&&((Y=U.current)==null||Y.stop())},onError:L=>m(L.message||String(L))}),U.current=new uk({request:Nt,onState:be,getVoice:()=>{var L,Y,ce;return{...(L=X.current)==null?void 0:L.state,sessionId:(ce=(Y=Se.current)==null?void 0:Y.voice)==null?void 0:ce.sessionId}}}),K.current=new cq({request:Nt,onState:_e,getSession:()=>{var L;return(L=Se.current)==null?void 0:L.selectedSessionId}}),()=>{var L,Y,ce;(L=K.current)==null||L.dispose(),(Y=U.current)==null||Y.dispose(),(ce=X.current)==null||ce.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=U.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,ce;if(L==="new-session"){xn();return}(ce=(Y=Se.current)==null?void 0:Y.view)!=null&&ce.panel||(o.current=document.activeElement),m(""),Ee("view.update",{patch:{panel:L,toolbarMenuOpen:!1,...L==="settings"&&window.matchMedia("(max-width:959px)").matches?{settingsSection:"index",settingsExpanded:[]}:{}}})},Ca=()=>{A(!1),Ee("view.update",{patch:{panel:null,themePreview:!1}})},Na=()=>s.current?s.current.close():Ca();g.useEffect(()=>{var qe,je;if(!mt||!ct.ready)return;const L=o.current||document.activeElement,Y=(qe=gt.current)==null?void 0:qe.querySelector(".a-overlay [role=dialog]");if(!Y)return;const ce=()=>[...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=ce()[0])==null||je.focus();const Ie=Pe=>{var _t;if(Pe.key==="Escape"&&(s.current?s.current.close():(A(!1),Ee("view.update",{patch:{panel:null,themePreview:!1}}))),Pe.key==="Tab"){const kt=ce(),Lt=kt[0],un=kt.at(-1);kt.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),o.current=null,L!=null&&L.isConnected&&L.focus()}},[mt,Ee,ct.ready]);function ua(L){const Y=tt.current;!Ve.current||(Y==null?void 0:Y.sessionId)===L||(clearTimeout(Fe.current),kn(Y,Ve.current).catch(ce=>m(_a(ce))),Ve.current=null)}function kn(L,Y){if(re.current.has(L))return re.current.get(L);const ce=(async()=>{if(L.sessionId===null&&At.current){const Ie=await At.current;L.sessionId=Ie.id,We.current.bindDraft(Y,Ie.id)}try{return await Ze("view.update",L,{pendingViewToken:Y})}catch(Ie){throw Ve.current===Y&&(Ve.current=We.current.add(L.patch,L.sessionId),Se.current&&c(We.current.apply(Se.current))),Ie}finally{Ve.current===Y&&(Ve.current=null)}})();return re.current.set(L,ce),ce.catch(()=>re.current.delete(L)),ce}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,We.current.settle(Ve.current);const ce=We.current.add({draft:L},Y),Ie={patch:{draft:L},sessionId:Y};Ve.current=ce,tt.current=Ie,Se.current&&c(We.current.apply(Se.current)),clearTimeout(Fe.current),Fe.current=setTimeout(()=>{kn(Ie,ce).catch(je=>m(_a(je)))},220)}async function xn(L){ua(null),De.current=!0,await Ee("session.draft",L?{workspace:L}:{})}async function da(L){var ce,Ie;const Y=!L&&((Ie=(ce=Se.current)==null?void 0:ce.sessions)==null?void 0:Ie.find(qe=>{var je;return qe.id===((je=Se.current)==null?void 0:je.selectedSessionId)}));return Y||(At.current||(At.current=Ze("session.create",{...(L==null?void 0:L.setup)||Ja(We.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(kt=>kt.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 Ve.current&&(Pe==null?void 0:Pe.sessionId)===null&&(Pe.sessionId=je.id,We.current.bindDraft(Ve.current,je.id),clearTimeout(Fe.current),kn(Pe,Ve.current).catch(_t=>m(_a(_t))),Se.current&&c(We.current.apply(Se.current))),je}).finally(()=>{At.current=null})),At.current)}function ea(L){var Ie;if(!(L!=null&&L.length)||rn||dn)return;const Y=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null;oe.current++,Z(!0),m("");const ce=async()=>{try{for(const qe of L)await Ze("attachment.add",{sessionId:Y,name:qe.name,base64:await $F(qe)})}catch(qe){m(qe.message)}finally{oe.current--,Z(oe.current>0)}};Zt.current=Zt.current.then(ce,ce)}async function Ga(L){var Y,ce,Ie,qe,je;if(!M.current.has(L.id)){M.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 Ze("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=(ce=(Y=Se.current)==null?void 0:Y.sessions)==null?void 0:ce.find(kt=>kt.id===L.sessionId))==null?void 0:Ie.messages)==null?void 0:qe.some(kt=>{var Lt;return kt.inputId===L.commandId&&((Lt=kt.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{M.current.delete(L.id)}}}function Qa(L){var Ie,qe,je,Pe,_t,kt,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"||M.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=(kt=(_t=Se.current)==null?void 0:_t.view)==null?void 0:kt.messageEdit)==null?void 0:Lt.messageId)===L.id&&Ee("view.update",{patch:{messageEdit:null}}))}async function Xa(L,Y){const ce=ve.current.current.find(je=>{var Pe;return je.id===(((Pe=L.localDelivery)==null?void 0:Pe.id)||L.id)});if(!ce||ce.status==="sending"||ce.status==="unknown"&&Y!==void 0)return;const Ie=ce.status==="failed"&&!ce.sessionId?{id:crypto.randomUUID(),setup:Ja(We.current.apply(Se.current))}:ce.creation,qe=ve.update(ce.id,{creation:Ie,...ce.status==="failed"?{commandId:crypto.randomUUID(),...Y!==void 0?{text:Y}:{}}:{},status:"sending",error:""});Y!==void 0&&Ee("view.update",{patch:{messageEdit:null}}),await Ga(qe)}async function ta(L){var Pe,_t,kt;if(L==null||L.preventDefault(),ze.current||!x.trim()&&!Xe.length||oe.current||v||me||dn||rn)return;ua((Q==null?void 0:Q.id)??null);const Y=x,ce=crypto.randomUUID(),Ie=Xe;if(!Y.trim()&&!Ie.length)return;(Pe=Ge.current)==null||Pe.reveal(),m(""),Xn(""),clearTimeout(Fe.current);const qe=Ve.current;let je=ve.update(ce,{commandId:ce,sessionId:(Q==null?void 0:Q.id)??null,...Q?{}:{creation:{id:crypto.randomUUID(),setup:Ja(We.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 kn(tt.current,qe);const Lt=Q||await da(je.creation);je=ve.update(ce,{sessionId:Lt.id}),await Ga(je)}catch(Lt){ve.update(ce,{status:((kt=Lt.receipt)==null?void 0:kt.delivery)==="failed"||Lt.status>=400&&Lt.status<500&&Lt.status!==408?"failed":"unknown",error:_a(Lt)})}finally{We.current.settle(qe),Ve.current===qe&&(Ve.current=null),Se.current&&c(We.current.apply(Se.current))}}async function Sn(L){var qe,je,Pe,_t,kt,Lt;if(L.preventDefault(),lt.current.busy||!R.trim())return;const Y=lt.current.revision,ce=(qe=Se.current)==null?void 0:qe.selectedSessionId,Ie=R;lt.current.busy=!0,Wt(!0),m("");try{await Ze("worker.spawn",{sessionId:ce,instruction:Ie});const un=(Pe=(je=We.current.apply(Se.current))==null?void 0:je.view)==null?void 0:Pe.workerDraft;lt.current.revision===Y&&((_t=Se.current)==null?void 0:_t.selectedSessionId)===ce&&un===Ie&&(S(""),await Ze("view.update",{patch:{workerDraft:"",...((Lt=(kt=Se.current)==null?void 0:kt.view)==null?void 0:Lt.panel)==="worker"?{panel:null}:{}}}))}catch(un){m(un.message)}finally{lt.current.busy=!1,Wt(!1)}}async function ir(){var L;if(((L=l.voiceConfiguration)==null?void 0:L.available)===!1){await Ze("view.update",{patch:{panel:"settings",settingsSection:"setup",settingsExpanded:["voice"]}});return}if(!Me.current){Me.current=!0,ue(!0),m("");try{await da(),await Ze("view.update",{patch:{mode:"call"}}),await Ze("call.start",{})}catch(Y){m(_a(Y))}finally{Me.current=!1,ue(!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=ct.composition.presentation,Yn=ln.scheme||yn.scheme,Ua=Yn==="system"?"light dark":Yn||"light",cn=VL(Yn);WL({root:gt,state:l,shell:ct,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)),j=Dn||((Q==null?void 0:Q.workers)||[]).some(L=>["queued","starting","working","running","stopping"].includes(L.status)),ee=ve.entries.some(L=>L.sessionId===((Q==null?void 0:Q.id)??null)&&L.status==="sending"),de=Mq({draft:x,attachments:Xe,uploading:te,working:Dn,responseActive:j,stopping:(Q==null?void 0:Q.status)==="stopping",voiceStatus:ne.status,voiceStarting:Ke,busy:v,newChatPending:me,sending:ee,historyPending:dn,executionUnavailable:rn}),Oe=UL({enabled:!!l&&ct.ready,blocked:pa||Ke?"Finish your voice call, then reload.":te||ee||v?"Wait for the current upload or send to finish.":"",prepare:async()=>{var ce,Ie,qe;await Promise.all([ut.current,Et.current,W.current,Zt.current]),await Ul((ce=Se.current)==null?void 0:ce.selectedSessionId),clearTimeout(Fe.current),Ve.current&&await kn(tt.current,Ve.current);const L=((Ie=Se.current)==null?void 0:Ie.selectedSessionId)??null,Y=Qe.current;if(await Ze("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.")}}),$e=As(l)!=="chat",st=(L,Y=null)=>Ee("view.update",{patch:{...wk(L,Y),navExpanded:!1}}),Ft={browse:st,create:()=>a(!0),newChat:xn},Kt=$e?{...l,canvas:{...l==null?void 0:l.canvas,open:!1}}:l;return!l||!ct.ready?n.createElement("div",{className:"boot"},n.createElement("img",{src:Dc}),n.createElement("h1",null,"Amplifier"),n.createElement("p",null,p||ct.error||"Connecting to your workspace…"),(p||ct.error)&&n.createElement(n.Fragment,null,n.createElement("button",{onClick:()=>{b(L=>L+1),ct.refresh()}},"Retry connection"),n.createElement("p",null,n.createElement("a",{href:"?shell=recovery"},"Open recovery mode")))):n.createElement(Oo.Provider,{value:Ft},n.createElement(Rg.Provider,{value:ct},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||yn.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:Ee,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(""),Ee("view.update",{patch:{notice:null}})},"data-action":"view.update"},n.createElement(nn,null))),n.createElement(gF,{state:l,session:Q,act:Ee}),!((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(Qt,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:$e,working:Dn&&!rn,session:Q,act:Ee,onReturn:()=>st("chat")},n.createElement(dq,{sessionId:Q==null?void 0:Q.id,visual:pe,client:K,dispatch:Ze,onError:L=>m(L.message)})),n.createElement(SL,{state:Kt,act:Ee,presentation:ln},n.createElement(NL,{footer:n.createElement(_L,{state:l,act:Ee,connected:h,open:sn}),shell:ct,state:l,session:Q,act:Ee,selectSession:L=>{De.current=!0,Ee("session.select",{id:L})},newSession:xn}),n.createElement("section",{className:`a-conversation ${En.length||dn||Q!=null&&Q.historyError||rn?"has-messages":"is-empty"}`,"data-part":"conversation","aria-label":"Shared conversation"},$e&&n.createElement(zL,{shell:ct,state:l,act:Ee}),n.createElement(FF,{session:Q,focus:(zp=l.view)==null?void 0:zp.messageFocus,detail:on}),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"},on.controls),n.createElement(RL,{session:((Lp=Q==null?void 0:Q.messageWindow)==null?void 0:Lp.offset)>0?{...Q,sharedHistoryOffset:0}:Q,act:Ee,onLoadEarlier:()=>{De.current=!1}}),(Q==null?void 0:Q.parentId)&&n.createElement("div",{className:"a-chat-origin"},n.createElement(Wa,null),n.createElement("span",null,pi(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:()=>Ee("session.select",{id:Q.parentId})},pi(Q)?"Open original chat":"Open parent chat")),wn.before.map(L=>n.createElement(Qf,{key:L,data:V,turnId:L,state:l,act:Ee})),!Q&&n.createElement(qx,{state:l,act:Ee})," ",En.length===0&&!dn&&!(Q!=null&&Q.historyError)&&!rn?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(En,wn.after).map(L=>Array.isArray(L)?n.createElement(VF,{key:L[0].id,messages:L,session:Q||{id:null},state:l,act:Ee,renderArtifacts:Y=>n.createElement(vm,{state:l,message:Y,act:Ee})}):n.createElement(n.Fragment,{key:L.id},n.createElement(ck,{message:L,session:Q||{id:null},state:l,act:Ee,stamp:Uq,working:Dn,forkTurn:Dt.get(L.id),retry:Xa,discard:Qa,dispatch:Ze}),(wn.after.get(L.id)||[]).map(Y=>n.createElement(Qf,{key:Y,data:V,turnId:Y,state:l,act:Ee})),n.createElement(vm,{state:l,message:L,act:Ee}))),(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:()=>Ee("approval.respond",{id:L.id,decision:"approve"})},n.createElement(Pt,null),"Allow"),n.createElement("button",{className:"a-soft","data-action":"approval.respond",onClick:()=>Ee("approval.respond",{id:L.id,decision:"deny"})},"Deny"))))),n.createElement(Lq,{session:Q,dispatch:Ze}),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(),rn||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(rn){L.preventDefault();return}const Y=[...L.clipboardData.items].filter(ce=>ce.kind==="file").map(ce=>ce.getAsFile()).filter(Boolean);if(Y.length){L.preventDefault();const ce=L.clipboardData.getData("text/plain");if(ce){const Ie=yt.current,qe=(Ie==null?void 0:Ie.selectionStart)??x.length,je=(Ie==null?void 0:Ie.selectionEnd)??qe;Xn(x.slice(0,qe)+ce+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:Ze},!Q&&n.createElement(IL,{state:l,act:Ee}),n.createElement(lk,{items:Xe,remove:L=>Ee("attachment.remove",{sessionId:(Q==null?void 0:Q.id)??null,id:L})}),te&&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:Ze}),n.createElement("textarea",{ref:yt,rows:1,disabled:rn,readOnly:Le,"aria-busy":Le,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"},ee&&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:te||rn||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:Ee,ensureSession:da,working:Dn}),n.createElement(Kw,{compact:!0,state:l,session:Q,act:Ee,working:Dn}),Q&&n.createElement("button",{type:"button",className:"a-icon a-composer-controls","aria-label":"Chat controls","data-action":"view.update",disabled:rn||dn,onClick:()=>sn("runtime")},n.createElement(el,null)))),n.createElement("button",{type:de.action==="conversation.send"?"submit":"button",className:"a-send","data-part":"composer-primary-action","data-action":de.action,"aria-label":de.action==="call.start"&&((jp=l.voiceConfiguration)==null?void 0:jp.available)===!1?"Set up voice":de.label,title:de.action==="call.start"&&((Up=l.voiceConfiguration)==null?void 0:Up.available)===!1?"Set up voice in Settings":de.label,disabled:de.disabled||Le&&de.action==="conversation.send",onClick:de.action==="call.start"?ir:de.action==="call.end"?()=>Ee("call.end"):de.action==="conversation.stop"?()=>Ee("conversation.stop",{sessionId:Q.id}):void 0},de.icon==="voice"?n.createElement(Ou,null):de.icon==="cancel"?n.createElement(nn,null):n.createElement(Mo,null)))))),n.createElement(lL,{scheme:Yn},n.createElement(TL,{suppressed:$e,state:l,act:Ee,dispatch:Ze}))),t&&n.createElement(AL,{state:l,act:Ee,onClose:()=>a(!1)}),n.createElement(wq,{state:l,act:Ee}),mt&&n.createElement("div",{className:`a-overlay ${mt==="settings"||mt==="appearance"?"a-settings-overlay a-settings-redesign-overlay":""}`,"data-part":"overlay",onPointerDown:L=>{i.current=L.target===L.currentTarget},onClick:L=>{i.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(nn,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(nn,null))),mt==="session-details"&&Q&&n.createElement(n.Fragment,null,n.createElement(ak,{key:Q.id,session:Q,act:Ze}),n.createElement("h3",null,"Export chat"),n.createElement(rk,{session:Q,state:l,act:Ee}),n.createElement("div",{className:"a-dialog-actions"},n.createElement(Ag,{state:l,session:Q,act:Ee}),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:Ze}),mt==="subagent-history"&&n.createElement(aS,{state:l,session:Q,act:Ee}),mt==="activity"&&n.createElement(kx,{state:l,act:Ee}),mt==="feedback"&&n.createElement(Eq,{state:l,act:Ze}),mt==="runtime"&&n.createElement(tk,{state:l,session:Q,act:Ee,computerControls:n.createElement(uq,{sessionId:Q==null?void 0:Q.id,visual:pe,client:K,dispatch:Ze,onError:L=>m(L.message||String(L))})}),mt==="worker"&&n.createElement("form",{"data-action":"worker.spawn",onSubmit:Sn},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=>{lt.current.revision++,S(L.target.value),Ee("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:bt||!R.trim()},n.createElement(Wa,null),bt?"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 ce,Ie;return[L,{clientId:Y.clientId,viewport:Y.viewport,controls:(ce=Y.controls)==null?void 0:ce.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:ce,createdAt:Ie})=>({id:L,type:Y,origin:ce,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:{...yn,themeDraft:yn.themeDraft?`${yn.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),Ee("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),Ee("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{Ee(q,JSON.parse(F))}catch(L){m(_a(L))}}},"Run action"),n.createElement("button",{className:"a-soft","data-action":"state.export",onClick:()=>Ee("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:Ze,cancel:Na}),(mt==="settings"||mt==="appearance")&&n.createElement(AF,{state:l,session:Q,act:Ee,dispatch:Ze,open:sn,close:Ca,navigationRef:s,appearance:n.createElement(YL,{state:l,shell:ct,act:Ze,name:O,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}; diff --git a/amplifier_web/static/assets/arc-nxCsMiB1.js b/amplifier_web/static/assets/arc-Cd207cxK.js similarity index 98% rename from amplifier_web/static/assets/arc-nxCsMiB1.js rename to amplifier_web/static/assets/arc-Cd207cxK.js index cec6c1579..23348b5b4 100644 --- a/amplifier_web/static/assets/arc-nxCsMiB1.js +++ b/amplifier_web/static/assets/arc-Cd207cxK.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-faRzEm2Q.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as gr}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import{c as be}from"./cytoscape.esm-Ix0LnXOy.js";import{g as ur}from"./client-BPXDbY79.js";import"./app-qQeXb9Sm.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-CYJ6zdxF.js b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-DgHoFQ7_.js similarity index 99% rename from amplifier_web/static/assets/blockDiagram-I7D4REHJ-CYJ6zdxF.js rename to amplifier_web/static/assets/blockDiagram-I7D4REHJ-DgHoFQ7_.js index 9bebb5877..ca741cb92 100644 --- a/amplifier_web/static/assets/blockDiagram-I7D4REHJ-CYJ6zdxF.js +++ b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-DgHoFQ7_.js @@ -1,4 +1,4 @@ -import{g as Pe}from"./chunk-5VM5RSS4-BkehtS-x.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-faRzEm2Q.js";import{c as yt}from"./channel-8B_ujeEh.js";import"./app-7viUedJQ.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-PcNlXskR.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-CdGsAdCF.js";import{c as yt}from"./channel-IBoUfuLh.js";import"./app-qQeXb9Sm.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-MrqIjJZm.js b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-DaabGhwo.js similarity index 99% rename from amplifier_web/static/assets/c4Diagram-7LVT6UL2-MrqIjJZm.js rename to amplifier_web/static/assets/c4Diagram-7LVT6UL2-DaabGhwo.js index 55fb58803..ad6e32fdc 100644 --- a/amplifier_web/static/assets/c4Diagram-7LVT6UL2-MrqIjJZm.js +++ b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-DaabGhwo.js @@ -1,4 +1,4 @@ -import{d as Le}from"./chunk-F27PBJKO-OmuqT5ZV.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-faRzEm2Q.js";import"./app-7viUedJQ.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-08qFJ2Jt.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-8B_ujeEh.js b/amplifier_web/static/assets/channel-8B_ujeEh.js deleted file mode 100644 index 7f2382080..000000000 --- a/amplifier_web/static/assets/channel-8B_ujeEh.js +++ /dev/null @@ -1 +0,0 @@ -import{ah as o,ai as n}from"./mermaid.core-faRzEm2Q.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c}; diff --git a/amplifier_web/static/assets/channel-IBoUfuLh.js b/amplifier_web/static/assets/channel-IBoUfuLh.js new file mode 100644 index 000000000..ea7d68cc8 --- /dev/null +++ b/amplifier_web/static/assets/channel-IBoUfuLh.js @@ -0,0 +1 @@ +import{ah as o,ai as n}from"./mermaid.core-CdGsAdCF.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-Hupey7um.js b/amplifier_web/static/assets/chunk-2Q5K7J3B-gvMtHYDX.js similarity index 66% rename from amplifier_web/static/assets/chunk-2Q5K7J3B-Hupey7um.js rename to amplifier_web/static/assets/chunk-2Q5K7J3B-gvMtHYDX.js index d32e1c0e3..3a8c37575 100644 --- a/amplifier_web/static/assets/chunk-2Q5K7J3B-Hupey7um.js +++ b/amplifier_web/static/assets/chunk-2Q5K7J3B-gvMtHYDX.js @@ -1 +1 @@ -import{_ as s}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-BkehtS-x.js b/amplifier_web/static/assets/chunk-5VM5RSS4-PcNlXskR.js similarity index 83% rename from amplifier_web/static/assets/chunk-5VM5RSS4-BkehtS-x.js rename to amplifier_web/static/assets/chunk-5VM5RSS4-PcNlXskR.js index 5c9086e7f..36c953787 100644 --- a/amplifier_web/static/assets/chunk-5VM5RSS4-BkehtS-x.js +++ b/amplifier_web/static/assets/chunk-5VM5RSS4-PcNlXskR.js @@ -1,4 +1,4 @@ -import{_ as e}from"./mermaid.core-faRzEm2Q.js";var l=e(()=>` +import{_ as e}from"./mermaid.core-CdGsAdCF.js";var l=e(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; diff --git a/amplifier_web/static/assets/chunk-F27PBJKO-OmuqT5ZV.js b/amplifier_web/static/assets/chunk-F27PBJKO-08qFJ2Jt.js similarity index 96% rename from amplifier_web/static/assets/chunk-F27PBJKO-OmuqT5ZV.js rename to amplifier_web/static/assets/chunk-F27PBJKO-08qFJ2Jt.js index b69a0c11a..84e711857 100644 --- a/amplifier_web/static/assets/chunk-F27PBJKO-OmuqT5ZV.js +++ b/amplifier_web/static/assets/chunk-F27PBJKO-08qFJ2Jt.js @@ -1 +1 @@ -import{_ as i,j as l,T as d,G as o}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-BVcIx6xS.js b/amplifier_web/static/assets/chunk-IMKFNOWR-BdYsEWWr.js similarity index 99% rename from amplifier_web/static/assets/chunk-IMKFNOWR-BVcIx6xS.js rename to amplifier_web/static/assets/chunk-IMKFNOWR-BdYsEWWr.js index 3e8739596..dedcadc78 100644 --- a/amplifier_web/static/assets/chunk-IMKFNOWR-BVcIx6xS.js +++ b/amplifier_web/static/assets/chunk-IMKFNOWR-BdYsEWWr.js @@ -1,4 +1,4 @@ -import{g as ee}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as se}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import{f as fe}from"./chunk-F27PBJKO-OmuqT5ZV.js";import{p as pe}from"./app-7viUedJQ.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-CfEngarh.js";import{s as se}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import{f as fe}from"./chunk-F27PBJKO-08qFJ2Jt.js";import{p as pe}from"./app-qQeXb9Sm.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-B70-rL71.js b/amplifier_web/static/assets/chunk-JWPE2WC7-KAwJt4Dq.js similarity index 78% rename from amplifier_web/static/assets/chunk-JWPE2WC7-B70-rL71.js rename to amplifier_web/static/assets/chunk-JWPE2WC7-KAwJt4Dq.js index a90106732..e4243e40d 100644 --- a/amplifier_web/static/assets/chunk-JWPE2WC7-B70-rL71.js +++ b/amplifier_web/static/assets/chunk-JWPE2WC7-KAwJt4Dq.js @@ -1 +1 @@ -import{_ as l}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-DG8TEL9o.js b/amplifier_web/static/assets/chunk-POPQ4Y6H-BvDPAZm-.js similarity index 87% rename from amplifier_web/static/assets/chunk-POPQ4Y6H-DG8TEL9o.js rename to amplifier_web/static/assets/chunk-POPQ4Y6H-BvDPAZm-.js index 7cb5c7054..b9c9349e5 100644 --- a/amplifier_web/static/assets/chunk-POPQ4Y6H-DG8TEL9o.js +++ b/amplifier_web/static/assets/chunk-POPQ4Y6H-BvDPAZm-.js @@ -1 +1 @@ -import{_ as a,d as w,l as x}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-B8cpLBHP.js b/amplifier_web/static/assets/chunk-SVP7TREG-D1PHBZoi.js similarity index 99% rename from amplifier_web/static/assets/chunk-SVP7TREG-B8cpLBHP.js rename to amplifier_web/static/assets/chunk-SVP7TREG-D1PHBZoi.js index 60da6b72c..a59afd31f 100644 --- a/amplifier_web/static/assets/chunk-SVP7TREG-B8cpLBHP.js +++ b/amplifier_web/static/assets/chunk-SVP7TREG-D1PHBZoi.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-faRzEm2Q.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-CdGsAdCF.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-BIO8Aksa.js b/amplifier_web/static/assets/chunk-TICWLB2K-Bl4ra87H.js similarity index 99% rename from amplifier_web/static/assets/chunk-TICWLB2K-BIO8Aksa.js rename to amplifier_web/static/assets/chunk-TICWLB2K-Bl4ra87H.js index 4e2879128..7878c12af 100644 --- a/amplifier_web/static/assets/chunk-TICWLB2K-BIO8Aksa.js +++ b/amplifier_web/static/assets/chunk-TICWLB2K-Bl4ra87H.js @@ -1,4 +1,4 @@ -import{g as st}from"./chunk-5VM5RSS4-BkehtS-x.js";import{g as it}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as at}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import{f as gt}from"./chunk-F27PBJKO-OmuqT5ZV.js";import{p as mt}from"./app-7viUedJQ.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-PcNlXskR.js";import{g as it}from"./chunk-XXDRQBXY-CfEngarh.js";import{s as at}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import{f as gt}from"./chunk-F27PBJKO-08qFJ2Jt.js";import{p as mt}from"./app-qQeXb9Sm.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-Cq6ARDN1.js b/amplifier_web/static/assets/chunk-XXDRQBXY-CfEngarh.js similarity index 72% rename from amplifier_web/static/assets/chunk-XXDRQBXY-Cq6ARDN1.js rename to amplifier_web/static/assets/chunk-XXDRQBXY-CfEngarh.js index 006730073..9e8853358 100644 --- a/amplifier_web/static/assets/chunk-XXDRQBXY-Cq6ARDN1.js +++ b/amplifier_web/static/assets/chunk-XXDRQBXY-CfEngarh.js @@ -1 +1 @@ -import{_ as a,j as o}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-CgPHjRBo.js b/amplifier_web/static/assets/classDiagram-ZZMXUADV-CgPHjRBo.js new file mode 100644 index 000000000..feddaaa1a --- /dev/null +++ b/amplifier_web/static/assets/classDiagram-ZZMXUADV-CgPHjRBo.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-Bl4ra87H.js";import{_ as i}from"./mermaid.core-CdGsAdCF.js";import"./chunk-5VM5RSS4-PcNlXskR.js";import"./chunk-XXDRQBXY-CfEngarh.js";import"./chunk-POPQ4Y6H-BvDPAZm-.js";import"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.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-CxKw_dNV.js b/amplifier_web/static/assets/classDiagram-ZZMXUADV-CxKw_dNV.js deleted file mode 100644 index d9049ff28..000000000 --- a/amplifier_web/static/assets/classDiagram-ZZMXUADV-CxKw_dNV.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-BIO8Aksa.js";import{_ as i}from"./mermaid.core-faRzEm2Q.js";import"./chunk-5VM5RSS4-BkehtS-x.js";import"./chunk-XXDRQBXY-Cq6ARDN1.js";import"./chunk-POPQ4Y6H-DG8TEL9o.js";import"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.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-CgPHjRBo.js b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CgPHjRBo.js new file mode 100644 index 000000000..feddaaa1a --- /dev/null +++ b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CgPHjRBo.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-Bl4ra87H.js";import{_ as i}from"./mermaid.core-CdGsAdCF.js";import"./chunk-5VM5RSS4-PcNlXskR.js";import"./chunk-XXDRQBXY-CfEngarh.js";import"./chunk-POPQ4Y6H-BvDPAZm-.js";import"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.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-CxKw_dNV.js b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CxKw_dNV.js deleted file mode 100644 index d9049ff28..000000000 --- a/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-CxKw_dNV.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-BIO8Aksa.js";import{_ as i}from"./mermaid.core-faRzEm2Q.js";import"./chunk-5VM5RSS4-BkehtS-x.js";import"./chunk-XXDRQBXY-Cq6ARDN1.js";import"./chunk-POPQ4Y6H-DG8TEL9o.js";import"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.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-Dye32y_g.js b/amplifier_web/static/assets/cose-bilkent-JH36ORCC-xUNGJ0vC.js similarity index 99% rename from amplifier_web/static/assets/cose-bilkent-JH36ORCC-Dye32y_g.js rename to amplifier_web/static/assets/cose-bilkent-JH36ORCC-xUNGJ0vC.js index 309f0be4f..1b2cf7f30 100644 --- a/amplifier_web/static/assets/cose-bilkent-JH36ORCC-Dye32y_g.js +++ b/amplifier_web/static/assets/cose-bilkent-JH36ORCC-xUNGJ0vC.js @@ -1 +1 @@ -import{_ as V,l as k,j as lt}from"./mermaid.core-faRzEm2Q.js";import{c as tt}from"./cytoscape.esm-Ix0LnXOy.js";import{g as gt}from"./client-BPXDbY79.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{c as tt}from"./cytoscape.esm-Ix0LnXOy.js";import{g as gt}from"./client-BPXDbY79.js";import"./app-qQeXb9Sm.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-C3rRuP6Q.js b/amplifier_web/static/assets/cynefin-OW5HDTMX-J4U8a7UR.js similarity index 99% rename from amplifier_web/static/assets/cynefin-OW5HDTMX-C3rRuP6Q.js rename to amplifier_web/static/assets/cynefin-OW5HDTMX-J4U8a7UR.js index 3dd2060b5..10f420703 100644 --- a/amplifier_web/static/assets/cynefin-OW5HDTMX-C3rRuP6Q.js +++ b/amplifier_web/static/assets/cynefin-OW5HDTMX-J4U8a7UR.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-7viUedJQ.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-qQeXb9Sm.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as Bt}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-DKfI9V4I.js b/amplifier_web/static/assets/dagre-GXQ25YYZ-CCjKlIeD.js similarity index 98% rename from amplifier_web/static/assets/dagre-GXQ25YYZ-DKfI9V4I.js rename to amplifier_web/static/assets/dagre-GXQ25YYZ-CCjKlIeD.js index f9b322efc..a8f2d4fb8 100644 --- a/amplifier_web/static/assets/dagre-GXQ25YYZ-DKfI9V4I.js +++ b/amplifier_web/static/assets/dagre-GXQ25YYZ-CCjKlIeD.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-faRzEm2Q.js";import{l as K}from"./layout-BcZLUxXn.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{l as K}from"./layout-25xfYTYA.js";import"./app-qQeXb9Sm.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-D-u7xzTd.js b/amplifier_web/static/assets/diagram-S7CK7UJ4-9QTEr0HP.js similarity index 96% rename from amplifier_web/static/assets/diagram-S7CK7UJ4-D-u7xzTd.js rename to amplifier_web/static/assets/diagram-S7CK7UJ4-9QTEr0HP.js index 60cabcbfc..a09b45fe5 100644 --- a/amplifier_web/static/assets/diagram-S7CK7UJ4-D-u7xzTd.js +++ b/amplifier_web/static/assets/diagram-S7CK7UJ4-9QTEr0HP.js @@ -1,4 +1,4 @@ -import{I as X}from"./chunk-2Q5K7J3B-Hupey7um.js";import{p as z}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as te}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-gvMtHYDX.js";import{p as z}from"./chunk-JWPE2WC7-KAwJt4Dq.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-CdGsAdCF.js";import{p as te}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-p1LDS_vV.js b/amplifier_web/static/assets/diagram-UQ7AKVKN-rolnrGRU.js similarity index 95% rename from amplifier_web/static/assets/diagram-UQ7AKVKN-p1LDS_vV.js rename to amplifier_web/static/assets/diagram-UQ7AKVKN-rolnrGRU.js index 42cc68139..b4c103d99 100644 --- a/amplifier_web/static/assets/diagram-UQ7AKVKN-p1LDS_vV.js +++ b/amplifier_web/static/assets/diagram-UQ7AKVKN-rolnrGRU.js @@ -1,4 +1,4 @@ -import{p as I}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as j}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as ve,i as we}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-DhfjE3ak.js b/amplifier_web/static/assets/diagram-VX7I27RA-DSHd6GWi.js similarity index 98% rename from amplifier_web/static/assets/diagram-VX7I27RA-DhfjE3ak.js rename to amplifier_web/static/assets/diagram-VX7I27RA-DSHd6GWi.js index 93a1f4453..359b9275c 100644 --- a/amplifier_web/static/assets/diagram-VX7I27RA-DhfjE3ak.js +++ b/amplifier_web/static/assets/diagram-VX7I27RA-DSHd6GWi.js @@ -1,4 +1,4 @@ -import{p as ge}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{s as Ne}from"./chunk-POPQ4Y6H-DG8TEL9o.js";import{p as Me}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as Q}from"./ordinal-Cboi1Yqb.js";import"./app-7viUedJQ.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-KAwJt4Dq.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-CdGsAdCF.js";import{s as Ne}from"./chunk-POPQ4Y6H-BvDPAZm-.js";import{p as Me}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as Q}from"./ordinal-Cboi1Yqb.js";import"./app-qQeXb9Sm.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-DFDS5ly9.js b/amplifier_web/static/assets/diagram-Z3DM3KII-irwI-Q50.js similarity index 94% rename from amplifier_web/static/assets/diagram-Z3DM3KII-DFDS5ly9.js rename to amplifier_web/static/assets/diagram-Z3DM3KII-irwI-Q50.js index 887699e3e..d849c15e3 100644 --- a/amplifier_web/static/assets/diagram-Z3DM3KII-DFDS5ly9.js +++ b/amplifier_web/static/assets/diagram-Z3DM3KII-irwI-Q50.js @@ -1,4 +1,4 @@ -import{p as $}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as N}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as N}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-CAUzYhbY.js b/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-DKDEclkq.js similarity index 87% rename from amplifier_web/static/assets/ebnfDiagram-PWID7BFC-CAUzYhbY.js rename to amplifier_web/static/assets/ebnfDiagram-PWID7BFC-DKDEclkq.js index 5134ca460..bf9671561 100644 --- a/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-CAUzYhbY.js +++ b/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-DKDEclkq.js @@ -1 +1 @@ -import{g as l,r as m,d as n}from"./chunk-SVP7TREG-B8cpLBHP.js";import{p}from"./chunk-JWPE2WC7-B70-rL71.js";import{_ as t,l as o}from"./mermaid.core-faRzEm2Q.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-D1PHBZoi.js";import{p}from"./chunk-JWPE2WC7-KAwJt4Dq.js";import{_ as t,l as o}from"./mermaid.core-CdGsAdCF.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-CIiMC89f.js b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-CH0fqdsO.js similarity index 99% rename from amplifier_web/static/assets/erDiagram-RLTQ6QDP-CIiMC89f.js rename to amplifier_web/static/assets/erDiagram-RLTQ6QDP-CH0fqdsO.js index 412d5bb63..3585a7db1 100644 --- a/amplifier_web/static/assets/erDiagram-RLTQ6QDP-CIiMC89f.js +++ b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-CH0fqdsO.js @@ -1,4 +1,4 @@ -import{g as Ut}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as Kt}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import{c as ae}from"./channel-8B_ujeEh.js";import"./app-7viUedJQ.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-CfEngarh.js";import{s as Kt}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import{c as ae}from"./channel-IBoUfuLh.js";import"./app-qQeXb9Sm.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-0Sn6GjJB.js b/amplifier_web/static/assets/flowDiagram-HODETNUW-B1v3Srof.js similarity index 99% rename from amplifier_web/static/assets/flowDiagram-HODETNUW-0Sn6GjJB.js rename to amplifier_web/static/assets/flowDiagram-HODETNUW-B1v3Srof.js index eedeb7c38..09791bedf 100644 --- a/amplifier_web/static/assets/flowDiagram-HODETNUW-0Sn6GjJB.js +++ b/amplifier_web/static/assets/flowDiagram-HODETNUW-B1v3Srof.js @@ -1,4 +1,4 @@ -import{g as Xt}from"./chunk-5VM5RSS4-BkehtS-x.js";import{g as Qt}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as Jt}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import{f as f1}from"./chunk-F27PBJKO-OmuqT5ZV.js";import{p as g1}from"./app-7viUedJQ.js";import{c as b1}from"./channel-8B_ujeEh.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-PcNlXskR.js";import{g as Qt}from"./chunk-XXDRQBXY-CfEngarh.js";import{s as Jt}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import{f as f1}from"./chunk-F27PBJKO-08qFJ2Jt.js";import{p as g1}from"./app-qQeXb9Sm.js";import{c as b1}from"./channel-IBoUfuLh.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-B9pOy1nY.js b/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-B0MKCZgH.js similarity index 99% rename from amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-B9pOy1nY.js rename to amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-B0MKCZgH.js index 5887908cd..fca6748a4 100644 --- a/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-B9pOy1nY.js +++ b/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-B0MKCZgH.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-faRzEm2Q.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-DBa5gqbW.js";import{i as er}from"./init-Gi6I4Gst.js";import"./app-7viUedJQ.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-CdGsAdCF.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-Cco8t75X.js";import{i as er}from"./init-Gi6I4Gst.js";import"./app-qQeXb9Sm.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-f9cK08Gl.js b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DiGjaLDs.js similarity index 99% rename from amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-f9cK08Gl.js rename to amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DiGjaLDs.js index b76213417..3beaf20a6 100644 --- a/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-f9cK08Gl.js +++ b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DiGjaLDs.js @@ -1,4 +1,4 @@ -import{I as he}from"./chunk-2Q5K7J3B-Hupey7um.js";import{p as $e}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as Be}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-gvMtHYDX.js";import{p as $e}from"./chunk-JWPE2WC7-KAwJt4Dq.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-CdGsAdCF.js";import{p as Be}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-PckyBAa0.js b/amplifier_web/static/assets/infoDiagram-27XIBGKW-B0EBkQjx.js similarity index 68% rename from amplifier_web/static/assets/infoDiagram-27XIBGKW-PckyBAa0.js rename to amplifier_web/static/assets/infoDiagram-27XIBGKW-B0EBkQjx.js index 806be269b..9a10d2521 100644 --- a/amplifier_web/static/assets/infoDiagram-27XIBGKW-PckyBAa0.js +++ b/amplifier_web/static/assets/infoDiagram-27XIBGKW-B0EBkQjx.js @@ -1,2 +1,2 @@ -import{_ as e,l as s,D as n,d as i}from"./mermaid.core-faRzEm2Q.js";import{p}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{p}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-CbSqUZmq.js b/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BWjN8gxu.js similarity index 99% rename from amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-CbSqUZmq.js rename to amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BWjN8gxu.js index 4f0af2217..7e3b61f51 100644 --- a/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-CbSqUZmq.js +++ b/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BWjN8gxu.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-faRzEm2Q.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-CiQTH8nI.js b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-JRtLgR9E.js similarity index 98% rename from amplifier_web/static/assets/journeyDiagram-3NMN7TZE-CiQTH8nI.js rename to amplifier_web/static/assets/journeyDiagram-3NMN7TZE-JRtLgR9E.js index 93280512a..c12ae3fb2 100644 --- a/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-CiQTH8nI.js +++ b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-JRtLgR9E.js @@ -1,4 +1,4 @@ -import{g as gt}from"./chunk-5VM5RSS4-BkehtS-x.js";import{a as mt,b as lt,h as xt,d as kt}from"./chunk-F27PBJKO-OmuqT5ZV.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-faRzEm2Q.js";import{d as it}from"./arc-nxCsMiB1.js";import"./app-7viUedJQ.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-PcNlXskR.js";import{a as mt,b as lt,h as xt,d as kt}from"./chunk-F27PBJKO-08qFJ2Jt.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-CdGsAdCF.js";import{d as it}from"./arc-Cd207cxK.js";import"./app-qQeXb9Sm.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-CdzyHMSk.js b/amplifier_web/static/assets/kanban-definition-UXKFOSKX-BdUNyxsG.js similarity index 99% rename from amplifier_web/static/assets/kanban-definition-UXKFOSKX-CdzyHMSk.js rename to amplifier_web/static/assets/kanban-definition-UXKFOSKX-BdUNyxsG.js index ecb191a52..23f543dcb 100644 --- a/amplifier_web/static/assets/kanban-definition-UXKFOSKX-CdzyHMSk.js +++ b/amplifier_web/static/assets/kanban-definition-UXKFOSKX-BdUNyxsG.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-faRzEm2Q.js";import{g as Ne}from"./chunk-5VM5RSS4-BkehtS-x.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{g as Ne}from"./chunk-5VM5RSS4-PcNlXskR.js";import"./app-qQeXb9Sm.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-BcZLUxXn.js b/amplifier_web/static/assets/layout-25xfYTYA.js similarity index 99% rename from amplifier_web/static/assets/layout-BcZLUxXn.js rename to amplifier_web/static/assets/layout-25xfYTYA.js index 295ef27d3..6fc3a02a4 100644 --- a/amplifier_web/static/assets/layout-BcZLUxXn.js +++ b/amplifier_web/static/assets/layout-25xfYTYA.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-faRzEm2Q.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-CdGsAdCF.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-DBa5gqbW.js b/amplifier_web/static/assets/linear-Cco8t75X.js similarity index 98% rename from amplifier_web/static/assets/linear-DBa5gqbW.js rename to amplifier_web/static/assets/linear-Cco8t75X.js index 25f964295..da636dbc0 100644 --- a/amplifier_web/static/assets/linear-DBa5gqbW.js +++ b/amplifier_web/static/assets/linear-Cco8t75X.js @@ -1 +1 @@ -import{b7 as j,b8 as p,b9 as w,ba as k,bb as q}from"./mermaid.core-faRzEm2Q.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-CdGsAdCF.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-faRzEm2Q.js b/amplifier_web/static/assets/mermaid.core-CdGsAdCF.js similarity index 99% rename from amplifier_web/static/assets/mermaid.core-faRzEm2Q.js rename to amplifier_web/static/assets/mermaid.core-CdGsAdCF.js index 009824811..306709b28 100644 --- a/amplifier_web/static/assets/mermaid.core-faRzEm2Q.js +++ b/amplifier_web/static/assets/mermaid.core-CdGsAdCF.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sizeCapture-INFHLROL-D65PZvgz.js","assets/app-7viUedJQ.js","assets/client-BPXDbY79.js","assets/app-lSu2UQvI.css","assets/dagre-GXQ25YYZ-DKfI9V4I.js","assets/layout-BcZLUxXn.js","assets/swimlanes-42K2YHIH-DQ8flE-9.js","assets/cose-bilkent-JH36ORCC-Dye32y_g.js","assets/cytoscape.esm-Ix0LnXOy.js","assets/c4Diagram-7LVT6UL2-MrqIjJZm.js","assets/chunk-F27PBJKO-OmuqT5ZV.js","assets/flowDiagram-HODETNUW-0Sn6GjJB.js","assets/chunk-5VM5RSS4-BkehtS-x.js","assets/chunk-XXDRQBXY-Cq6ARDN1.js","assets/chunk-POPQ4Y6H-DG8TEL9o.js","assets/channel-8B_ujeEh.js","assets/swimlanesDiagram-VR7AAH4N-BI0U07ZU.js","assets/erDiagram-RLTQ6QDP-CIiMC89f.js","assets/gitGraphDiagram-WWUBYQGX-f9cK08Gl.js","assets/chunk-2Q5K7J3B-Hupey7um.js","assets/chunk-JWPE2WC7-B70-rL71.js","assets/cynefin-OW5HDTMX-C3rRuP6Q.js","assets/ganttDiagram-EL5Y4UJY-B9pOy1nY.js","assets/linear-DBa5gqbW.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-PckyBAa0.js","assets/pieDiagram-E7YTZNPT-ddjjrwh9.js","assets/arc-nxCsMiB1.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-D85L1Xm7.js","assets/xychartDiagram-S5SC5T6Z-BW1aK6Jh.js","assets/requirementDiagram-BXWQKSXE-Dw7uZIHD.js","assets/sequenceDiagram-WJ2MYXX4-CSnbKoLl.js","assets/classDiagram-ZZMXUADV-CxKw_dNV.js","assets/chunk-TICWLB2K-BIO8Aksa.js","assets/classDiagram-v2-VYDZK3BY-CxKw_dNV.js","assets/stateDiagram-D77RDMKH-C2JbMhAs.js","assets/chunk-IMKFNOWR-BVcIx6xS.js","assets/stateDiagram-v2-MP3YSRHH-ChOjdX_C.js","assets/journeyDiagram-3NMN7TZE-CiQTH8nI.js","assets/timeline-definition-24CTP7MA-Co35tawd.js","assets/mindmap-definition-YA3MSWOX-DAZqrGPi.js","assets/kanban-definition-UXKFOSKX-CdzyHMSk.js","assets/sankeyDiagram-P5KCCOFB-TltlQpcP.js","assets/diagram-Z3DM3KII-DFDS5ly9.js","assets/diagram-UQ7AKVKN-p1LDS_vV.js","assets/blockDiagram-I7D4REHJ-CYJ6zdxF.js","assets/diagram-S7CK7UJ4-D-u7xzTd.js","assets/architectureDiagram-5GKGNRK7-BhCAQikW.js","assets/diagram-VSXAHHWV-DRWXkh1p.js","assets/ishikawaDiagram-5VMMS53U-CbSqUZmq.js","assets/vennDiagram-4TSXK5OY-DBCBZ2Sl.js","assets/diagram-VX7I27RA-DhfjE3ak.js","assets/wardleyDiagram-VM6X3IG4-BF1oFwli.js","assets/cynefinDiagram-5FMLGOSQ-CvKwB1kz.js","assets/railroadDiagram-O6MQD6OU-g6HpylF4.js","assets/chunk-SVP7TREG-B8cpLBHP.js","assets/ebnfDiagram-PWID7BFC-CAUzYhbY.js","assets/abnfDiagram-VCTEODGH-C8kvwBmU.js","assets/pegDiagram-XKGWAZYB-v9433Pse.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-7viUedJQ.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-D20cEYLP.js","assets/app-qQeXb9Sm.js","assets/client-BPXDbY79.js","assets/app-lSu2UQvI.css","assets/dagre-GXQ25YYZ-CCjKlIeD.js","assets/layout-25xfYTYA.js","assets/swimlanes-42K2YHIH-CC0B74Sr.js","assets/cose-bilkent-JH36ORCC-xUNGJ0vC.js","assets/cytoscape.esm-Ix0LnXOy.js","assets/c4Diagram-7LVT6UL2-DaabGhwo.js","assets/chunk-F27PBJKO-08qFJ2Jt.js","assets/flowDiagram-HODETNUW-B1v3Srof.js","assets/chunk-5VM5RSS4-PcNlXskR.js","assets/chunk-XXDRQBXY-CfEngarh.js","assets/chunk-POPQ4Y6H-BvDPAZm-.js","assets/channel-IBoUfuLh.js","assets/swimlanesDiagram-VR7AAH4N-Cu48OI5B.js","assets/erDiagram-RLTQ6QDP-CH0fqdsO.js","assets/gitGraphDiagram-WWUBYQGX-DiGjaLDs.js","assets/chunk-2Q5K7J3B-gvMtHYDX.js","assets/chunk-JWPE2WC7-KAwJt4Dq.js","assets/cynefin-OW5HDTMX-J4U8a7UR.js","assets/ganttDiagram-EL5Y4UJY-B0MKCZgH.js","assets/linear-Cco8t75X.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-B0EBkQjx.js","assets/pieDiagram-E7YTZNPT-C0i1ELRP.js","assets/arc-Cd207cxK.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-DrtSdi-F.js","assets/xychartDiagram-S5SC5T6Z-1OmDLQT7.js","assets/requirementDiagram-BXWQKSXE-iqmRVJ6U.js","assets/sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js","assets/classDiagram-ZZMXUADV-CgPHjRBo.js","assets/chunk-TICWLB2K-Bl4ra87H.js","assets/classDiagram-v2-VYDZK3BY-CgPHjRBo.js","assets/stateDiagram-D77RDMKH-kha-Ed3K.js","assets/chunk-IMKFNOWR-BdYsEWWr.js","assets/stateDiagram-v2-MP3YSRHH-ak0l7jzp.js","assets/journeyDiagram-3NMN7TZE-JRtLgR9E.js","assets/timeline-definition-24CTP7MA-BpyofmdG.js","assets/mindmap-definition-YA3MSWOX-JbWcMKU6.js","assets/kanban-definition-UXKFOSKX-BdUNyxsG.js","assets/sankeyDiagram-P5KCCOFB-CB3AkmG3.js","assets/diagram-Z3DM3KII-irwI-Q50.js","assets/diagram-UQ7AKVKN-rolnrGRU.js","assets/blockDiagram-I7D4REHJ-DgHoFQ7_.js","assets/diagram-S7CK7UJ4-9QTEr0HP.js","assets/architectureDiagram-5GKGNRK7-Bjg7KPfY.js","assets/diagram-VSXAHHWV-swuSh09p.js","assets/ishikawaDiagram-5VMMS53U-BWjN8gxu.js","assets/vennDiagram-4TSXK5OY-NKPu0hZr.js","assets/diagram-VX7I27RA-DSHd6GWi.js","assets/wardleyDiagram-VM6X3IG4-B1YKb9X6.js","assets/cynefinDiagram-5FMLGOSQ-Bh9AalLD.js","assets/railroadDiagram-O6MQD6OU-BVdMX1Xe.js","assets/chunk-SVP7TREG-D1PHBZoi.js","assets/ebnfDiagram-PWID7BFC-DKDEclkq.js","assets/abnfDiagram-VCTEODGH-CQpIpx4L.js","assets/pegDiagram-XKGWAZYB-CTTLQYNg.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-qQeXb9Sm.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-D65PZvgz.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-D20cEYLP.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-DKfI9V4I.js"),__vite__mapDeps([4,5,1,2,3])),"loader")},{name:"swimlane",loader:g(async()=>await Mt(()=>import("./swimlanes-42K2YHIH-DQ8flE-9.js"),__vite__mapDeps([6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await Mt(()=>import("./cose-bilkent-JH36ORCC-Dye32y_g.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-MrqIjJZm.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-0Sn6GjJB.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-0Sn6GjJB.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-BI0U07ZU.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-CIiMC89f.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-f9cK08Gl.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-B9pOy1nY.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-PckyBAa0.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-ddjjrwh9.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-D85L1Xm7.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-BW1aK6Jh.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-Dw7uZIHD.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-CSnbKoLl.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-CxKw_dNV.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-CxKw_dNV.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-C2JbMhAs.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-ChOjdX_C.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-CiQTH8nI.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-0Sn6GjJB.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-Co35tawd.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-DAZqrGPi.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-CdzyHMSk.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-TltlQpcP.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-DFDS5ly9.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-p1LDS_vV.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-CYJ6zdxF.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-D-u7xzTd.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-BhCAQikW.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-DRWXkh1p.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-CbSqUZmq.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-DBCBZ2Sl.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-DhfjE3ak.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-BF1oFwli.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-CvKwB1kz.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-g6HpylF4.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-CAUzYhbY.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-C8kvwBmU.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-v9433Pse.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-CCjKlIeD.js"),__vite__mapDeps([4,5,1,2,3])),"loader")},{name:"swimlane",loader:g(async()=>await Mt(()=>import("./swimlanes-42K2YHIH-CC0B74Sr.js"),__vite__mapDeps([6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await Mt(()=>import("./cose-bilkent-JH36ORCC-xUNGJ0vC.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-DaabGhwo.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-B1v3Srof.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-B1v3Srof.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-Cu48OI5B.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-CH0fqdsO.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-DiGjaLDs.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-B0MKCZgH.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-B0EBkQjx.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-C0i1ELRP.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-DrtSdi-F.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-1OmDLQT7.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-iqmRVJ6U.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-Cyss0tjQ.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-CgPHjRBo.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-CgPHjRBo.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-kha-Ed3K.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-ak0l7jzp.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-JRtLgR9E.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-B1v3Srof.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-BpyofmdG.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-JbWcMKU6.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-BdUNyxsG.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-CB3AkmG3.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-irwI-Q50.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-rolnrGRU.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-DgHoFQ7_.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-9QTEr0HP.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-Bjg7KPfY.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-swuSh09p.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-BWjN8gxu.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-NKPu0hZr.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-DSHd6GWi.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-B1YKb9X6.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-Bh9AalLD.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-BVdMX1Xe.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-DKDEclkq.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-CQpIpx4L.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-CTTLQYNg.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-DAZqrGPi.js b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-JbWcMKU6.js similarity index 99% rename from amplifier_web/static/assets/mindmap-definition-YA3MSWOX-DAZqrGPi.js rename to amplifier_web/static/assets/mindmap-definition-YA3MSWOX-JbWcMKU6.js index 9804610c2..c030b8090 100644 --- a/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-DAZqrGPi.js +++ b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-JbWcMKU6.js @@ -1,4 +1,4 @@ -import{g as oe}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as ce}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import"./app-7viUedJQ.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-CfEngarh.js";import{s as ce}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-v9433Pse.js b/amplifier_web/static/assets/pegDiagram-XKGWAZYB-CTTLQYNg.js similarity index 87% rename from amplifier_web/static/assets/pegDiagram-XKGWAZYB-v9433Pse.js rename to amplifier_web/static/assets/pegDiagram-XKGWAZYB-CTTLQYNg.js index 09d7973f1..2a96c1469 100644 --- a/amplifier_web/static/assets/pegDiagram-XKGWAZYB-v9433Pse.js +++ b/amplifier_web/static/assets/pegDiagram-XKGWAZYB-CTTLQYNg.js @@ -1 +1 @@ -import{g as l,r as m,d as a}from"./chunk-SVP7TREG-B8cpLBHP.js";import{p}from"./chunk-JWPE2WC7-B70-rL71.js";import{_ as t,l as o}from"./mermaid.core-faRzEm2Q.js";import{M as u,d as c}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-D1PHBZoi.js";import{p}from"./chunk-JWPE2WC7-KAwJt4Dq.js";import{_ as t,l as o}from"./mermaid.core-CdGsAdCF.js";import{M as u,d as c}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-ddjjrwh9.js b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-C0i1ELRP.js similarity index 94% rename from amplifier_web/static/assets/pieDiagram-E7YTZNPT-ddjjrwh9.js rename to amplifier_web/static/assets/pieDiagram-E7YTZNPT-C0i1ELRP.js index 019518d2e..7076782a1 100644 --- a/amplifier_web/static/assets/pieDiagram-E7YTZNPT-ddjjrwh9.js +++ b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-C0i1ELRP.js @@ -1,4 +1,4 @@ -import{p as rt}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as xt}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import{d as J}from"./arc-nxCsMiB1.js";import{o as St}from"./ordinal-Cboi1Yqb.js";import"./app-7viUedJQ.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as xt}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import{d as J}from"./arc-Cd207cxK.js";import{o as St}from"./ordinal-Cboi1Yqb.js";import"./app-qQeXb9Sm.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-D85L1Xm7.js b/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-DrtSdi-F.js similarity index 99% rename from amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-D85L1Xm7.js rename to amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-DrtSdi-F.js index c121f797a..168f614cc 100644 --- a/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-D85L1Xm7.js +++ b/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-DrtSdi-F.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-faRzEm2Q.js";import{l as ie}from"./linear-DBa5gqbW.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{l as ie}from"./linear-Cco8t75X.js";import"./app-qQeXb9Sm.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-g6HpylF4.js b/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-BVdMX1Xe.js similarity index 84% rename from amplifier_web/static/assets/railroadDiagram-O6MQD6OU-g6HpylF4.js rename to amplifier_web/static/assets/railroadDiagram-O6MQD6OU-BVdMX1Xe.js index 1c1ab7445..ca2201baf 100644 --- a/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-g6HpylF4.js +++ b/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-BVdMX1Xe.js @@ -1 +1 @@ -import{g as s,r as l,d as t}from"./chunk-SVP7TREG-B8cpLBHP.js";import{p as m}from"./chunk-JWPE2WC7-B70-rL71.js";import{_ as n,l as i}from"./mermaid.core-faRzEm2Q.js";import{M as p,c as u}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-D1PHBZoi.js";import{p as m}from"./chunk-JWPE2WC7-KAwJt4Dq.js";import{_ as n,l as i}from"./mermaid.core-CdGsAdCF.js";import{M as p,c as u}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-Dw7uZIHD.js b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-iqmRVJ6U.js similarity index 99% rename from amplifier_web/static/assets/requirementDiagram-BXWQKSXE-Dw7uZIHD.js rename to amplifier_web/static/assets/requirementDiagram-BXWQKSXE-iqmRVJ6U.js index 61349cf42..d5c333c2b 100644 --- a/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-Dw7uZIHD.js +++ b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-iqmRVJ6U.js @@ -1,4 +1,4 @@ -import{g as ze}from"./chunk-XXDRQBXY-Cq6ARDN1.js";import{s as Xe}from"./chunk-POPQ4Y6H-DG8TEL9o.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-faRzEm2Q.js";import"./app-7viUedJQ.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-CfEngarh.js";import{s as Xe}from"./chunk-POPQ4Y6H-BvDPAZm-.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-TltlQpcP.js b/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-CB3AkmG3.js similarity index 99% rename from amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-TltlQpcP.js rename to amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-CB3AkmG3.js index 044a425c8..b369762c8 100644 --- a/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-TltlQpcP.js +++ b/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-CB3AkmG3.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-faRzEm2Q.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./app-qQeXb9Sm.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-CSnbKoLl.js b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js similarity index 99% rename from amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-CSnbKoLl.js rename to amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js index 7328e5661..5c01c81dc 100644 --- a/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-CSnbKoLl.js +++ b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-Cyss0tjQ.js @@ -1,4 +1,4 @@ -import{I as er}from"./chunk-2Q5K7J3B-Hupey7um.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-faRzEm2Q.js";import{a as ur,g as se,b as dt,d as fr,c as ie,e as ne}from"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.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-gvMtHYDX.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-CdGsAdCF.js";import{a as ur,g as se,b as dt,d as fr,c as ie,e as ne}from"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.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-D65PZvgz.js b/amplifier_web/static/assets/sizeCapture-INFHLROL-D20cEYLP.js similarity index 87% rename from amplifier_web/static/assets/sizeCapture-INFHLROL-D65PZvgz.js rename to amplifier_web/static/assets/sizeCapture-INFHLROL-D20cEYLP.js index 5f07e41a7..8d9cb0ef6 100644 --- a/amplifier_web/static/assets/sizeCapture-INFHLROL-D65PZvgz.js +++ b/amplifier_web/static/assets/sizeCapture-INFHLROL-D20cEYLP.js @@ -1 +1 @@ -import{_ as n}from"./mermaid.core-faRzEm2Q.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-C2JbMhAs.js b/amplifier_web/static/assets/stateDiagram-D77RDMKH-kha-Ed3K.js similarity index 96% rename from amplifier_web/static/assets/stateDiagram-D77RDMKH-C2JbMhAs.js rename to amplifier_web/static/assets/stateDiagram-D77RDMKH-kha-Ed3K.js index 2929e13da..7d6601f32 100644 --- a/amplifier_web/static/assets/stateDiagram-D77RDMKH-C2JbMhAs.js +++ b/amplifier_web/static/assets/stateDiagram-D77RDMKH-kha-Ed3K.js @@ -1 +1 @@ -import{s as G,a as P,S as N}from"./chunk-IMKFNOWR-BVcIx6xS.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-faRzEm2Q.js";import{l as J}from"./layout-BcZLUxXn.js";import"./chunk-XXDRQBXY-Cq6ARDN1.js";import"./chunk-POPQ4Y6H-DG8TEL9o.js";import"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.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-BdYsEWWr.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-CdGsAdCF.js";import{l as J}from"./layout-25xfYTYA.js";import"./chunk-XXDRQBXY-CfEngarh.js";import"./chunk-POPQ4Y6H-BvDPAZm-.js";import"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.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-ChOjdX_C.js b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ChOjdX_C.js deleted file mode 100644 index fc7280e78..000000000 --- a/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ChOjdX_C.js +++ /dev/null @@ -1 +0,0 @@ -import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-BVcIx6xS.js";import{_ as i}from"./mermaid.core-faRzEm2Q.js";import"./chunk-XXDRQBXY-Cq6ARDN1.js";import"./chunk-POPQ4Y6H-DG8TEL9o.js";import"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.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-ak0l7jzp.js b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ak0l7jzp.js new file mode 100644 index 000000000..1ed2e9842 --- /dev/null +++ b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-ak0l7jzp.js @@ -0,0 +1 @@ +import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-BdYsEWWr.js";import{_ as i}from"./mermaid.core-CdGsAdCF.js";import"./chunk-XXDRQBXY-CfEngarh.js";import"./chunk-POPQ4Y6H-BvDPAZm-.js";import"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.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-DQ8flE-9.js b/amplifier_web/static/assets/swimlanes-42K2YHIH-CC0B74Sr.js similarity index 99% rename from amplifier_web/static/assets/swimlanes-42K2YHIH-DQ8flE-9.js rename to amplifier_web/static/assets/swimlanes-42K2YHIH-CC0B74Sr.js index 31bb8f9d4..c3e239f7a 100644 --- a/amplifier_web/static/assets/swimlanes-42K2YHIH-DQ8flE-9.js +++ b/amplifier_web/static/assets/swimlanes-42K2YHIH-CC0B74Sr.js @@ -1 +1 @@ -import{ap as Tr,l as Ln,_ as d,aA as No}from"./mermaid.core-faRzEm2Q.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-BI0U07ZU.js b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-BI0U07ZU.js deleted file mode 100644 index 21fdbcb5c..000000000 --- a/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-BI0U07ZU.js +++ /dev/null @@ -1,8 +0,0 @@ -import{c as r,s as e}from"./flowDiagram-HODETNUW-0Sn6GjJB.js";import{_ as a}from"./mermaid.core-faRzEm2Q.js";import"./chunk-5VM5RSS4-BkehtS-x.js";import"./chunk-XXDRQBXY-Cq6ARDN1.js";import"./chunk-POPQ4Y6H-DG8TEL9o.js";import"./chunk-F27PBJKO-OmuqT5ZV.js";import"./app-7viUedJQ.js";import"./client-BPXDbY79.js";import"./channel-8B_ujeEh.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-Cu48OI5B.js b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-Cu48OI5B.js new file mode 100644 index 000000000..315bee3fa --- /dev/null +++ b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-Cu48OI5B.js @@ -0,0 +1,8 @@ +import{c as r,s as e}from"./flowDiagram-HODETNUW-B1v3Srof.js";import{_ as a}from"./mermaid.core-CdGsAdCF.js";import"./chunk-5VM5RSS4-PcNlXskR.js";import"./chunk-XXDRQBXY-CfEngarh.js";import"./chunk-POPQ4Y6H-BvDPAZm-.js";import"./chunk-F27PBJKO-08qFJ2Jt.js";import"./app-qQeXb9Sm.js";import"./client-BPXDbY79.js";import"./channel-IBoUfuLh.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-Co35tawd.js b/amplifier_web/static/assets/timeline-definition-24CTP7MA-BpyofmdG.js similarity index 99% rename from amplifier_web/static/assets/timeline-definition-24CTP7MA-Co35tawd.js rename to amplifier_web/static/assets/timeline-definition-24CTP7MA-BpyofmdG.js index bc177c053..6c8eed828 100644 --- a/amplifier_web/static/assets/timeline-definition-24CTP7MA-Co35tawd.js +++ b/amplifier_web/static/assets/timeline-definition-24CTP7MA-BpyofmdG.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-faRzEm2Q.js";import{d as ot}from"./arc-nxCsMiB1.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{d as ot}from"./arc-Cd207cxK.js";import"./app-qQeXb9Sm.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-DBCBZ2Sl.js b/amplifier_web/static/assets/vennDiagram-4TSXK5OY-NKPu0hZr.js similarity index 99% rename from amplifier_web/static/assets/vennDiagram-4TSXK5OY-DBCBZ2Sl.js rename to amplifier_web/static/assets/vennDiagram-4TSXK5OY-NKPu0hZr.js index f95391086..ac35b55bf 100644 --- a/amplifier_web/static/assets/vennDiagram-4TSXK5OY-DBCBZ2Sl.js +++ b/amplifier_web/static/assets/vennDiagram-4TSXK5OY-NKPu0hZr.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-faRzEm2Q.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import"./app-qQeXb9Sm.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-BF1oFwli.js b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-B1YKb9X6.js similarity index 99% rename from amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-BF1oFwli.js rename to amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-B1YKb9X6.js index e74c662ad..81373ecf2 100644 --- a/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-BF1oFwli.js +++ b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-B1YKb9X6.js @@ -1,4 +1,4 @@ -import{p as zt}from"./chunk-JWPE2WC7-B70-rL71.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-faRzEm2Q.js";import{p as Wt}from"./cynefin-OW5HDTMX-C3rRuP6Q.js";import"./app-7viUedJQ.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-KAwJt4Dq.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-CdGsAdCF.js";import{p as Wt}from"./cynefin-OW5HDTMX-J4U8a7UR.js";import"./app-qQeXb9Sm.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-BW1aK6Jh.js b/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-1OmDLQT7.js similarity index 99% rename from amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-BW1aK6Jh.js rename to amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-1OmDLQT7.js index 006957658..98bbbd23d 100644 --- a/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-BW1aK6Jh.js +++ b/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-1OmDLQT7.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-faRzEm2Q.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-DBa5gqbW.js";import"./app-7viUedJQ.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-CdGsAdCF.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-Cco8t75X.js";import"./app-qQeXb9Sm.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 c53c2dfc6..4dc9be57f 100644 --- a/amplifier_web/static/build.json +++ b/amplifier_web/static/build.json @@ -1 +1 @@ -{"version":"0.20.32","id":"8f4da19dd1d86f06"} +{"version":"0.20.32","id":"da8cf264a339ed4a"} diff --git a/amplifier_web/static/index.html b/amplifier_web/static/index.html index f758bcc1e..9061fd02c 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/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/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/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_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() From da15a8e4e6e0dca4c5163186bf4745b29c07d80b Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Mon, 28 Sep 2026 06:51:02 -0700 Subject: [PATCH 2/5] Explain recovered work and identify recorded conversation failures --- amplifier_web/automatic_history.py | 4 ++ amplifier_web/recovery_observations.py | 43 +++++++++++++++ frontend/src/conversation-controls.jsx | 5 +- frontend/src/message-actions.jsx | 4 +- frontend/src/recovery-notice.jsx | 30 ++++++++++ frontend/tests/conversation-health.test.mjs | 9 ++- frontend/tests/message-actions.test.mjs | 2 +- .../tests/recovered-observation-browser.mjs | 8 ++- frontend/tests/recovery-group-browser.mjs | 21 ++++--- frontend/tests/recovery-notice.test.mjs | 33 +++++++++++ frontend/tests/session-health-browser.mjs | 4 +- tests/test_recovery_observations.py | 55 +++++++++++++++++++ 12 files changed, 199 insertions(+), 19 deletions(-) create mode 100644 amplifier_web/recovery_observations.py create mode 100644 frontend/src/recovery-notice.jsx create mode 100644 frontend/tests/recovery-notice.test.mjs create mode 100644 tests/test_recovery_observations.py 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 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 + 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/frontend/src/conversation-controls.jsx b/frontend/src/conversation-controls.jsx index dc4af6608..c84ec6000 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,8 @@ 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 recorded=Number.isFinite(failure?.recordedAt)&&failure.recordedAt>0?new Date(failure.recordedAt*1000):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/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..ead32e270 100644 --- a/frontend/tests/session-health-browser.mjs +++ b/frontend/tests/session-health-browser.mjs @@ -22,8 +22,8 @@ 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); diff --git a/tests/test_recovery_observations.py b/tests/test_recovery_observations.py new file mode 100644 index 000000000..805d7dc65 --- /dev/null +++ b/tests/test_recovery_observations.py @@ -0,0 +1,55 @@ +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'} From 82bddecdb1357b87a3aa1b664149e354dbcc91c8 Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Mon, 28 Sep 2026 06:57:32 -0700 Subject: [PATCH 3/5] Prepare 0.20.33 recovery and startup fixes release --- amplifier_web/__init__.py | 2 +- amplifier_web/recovery_observations.py | 2 + amplifier_web/release-notes.json | 41 ++++++++++++++----- ...4i.js => abnfDiagram-VCTEODGH-pB_sDbfi.js} | 2 +- .../{app-CQqm4LfY.js => app-DiRg4AEn.js} | 8 ++-- .../{arc-CATzzXLS.js => arc-BZobgCN0.js} | 2 +- ... architectureDiagram-5GKGNRK7-Dk72PQyE.js} | 2 +- ...3.js => blockDiagram-I7D4REHJ-BoB4Mr4d.js} | 2 +- ...vIL3.js => c4Diagram-7LVT6UL2-p6n56tdK.js} | 2 +- .../static/assets/channel-BGpu3HdG.js | 1 + .../static/assets/channel-Ci1yWiCT.js | 1 - ...C6YEMGjF.js => chunk-2Q5K7J3B-DutsbiAD.js} | 2 +- ...rs6yclux.js => chunk-5VM5RSS4-BvUIUVyo.js} | 2 +- ...DSH5OA7F.js => chunk-F27PBJKO-CeZTmtp_.js} | 2 +- ...CGLIRYSe.js => chunk-IMKFNOWR-6bGNfPrr.js} | 2 +- ...DmQ-Nrbm.js => chunk-JWPE2WC7-CnhxyFoR.js} | 2 +- ...B4t_VMwk.js => chunk-POPQ4Y6H-Bp2c6Wpp.js} | 2 +- ...CGrq79Iy.js => chunk-SVP7TREG-Dk8R8Cc6.js} | 2 +- ...BNoEQCdG.js => chunk-TICWLB2K-CPGc4f7a.js} | 2 +- ...DA_Ya3jG.js => chunk-XXDRQBXY-Ct_Uo9zJ.js} | 2 +- .../assets/classDiagram-ZZMXUADV-DMRSfdSH.js | 1 + .../assets/classDiagram-ZZMXUADV-VEQiFN6r.js | 1 - .../classDiagram-v2-VYDZK3BY-DMRSfdSH.js | 1 + .../classDiagram-v2-VYDZK3BY-VEQiFN6r.js | 1 - ...I.js => cose-bilkent-JH36ORCC-DZZeoui0.js} | 2 +- ...2vKpvS.js => cynefin-OW5HDTMX-D2urArke.js} | 2 +- ...js => cynefinDiagram-5FMLGOSQ-BzBKR0Cp.js} | 2 +- ...CW0z6CcR.js => dagre-GXQ25YYZ-Do0UHSPN.js} | 2 +- ...uBqO8t.js => diagram-S7CK7UJ4-K_22fPnZ.js} | 2 +- ...KRqIey.js => diagram-UQ7AKVKN-BUpyj_KG.js} | 2 +- ...KvvCVf.js => diagram-VSXAHHWV-CsIEnlmf.js} | 2 +- ...8KQR0c.js => diagram-VX7I27RA-CMJphNH8.js} | 2 +- ...Y9aq1H.js => diagram-Z3DM3KII-g4ojQm4H.js} | 2 +- ...pa.js => ebnfDiagram-PWID7BFC-BZF5DgIm.js} | 2 +- ...IFpb.js => erDiagram-RLTQ6QDP-C-H3S6xp.js} | 2 +- ...ML.js => flowDiagram-HODETNUW-BJR5Tkvw.js} | 2 +- ...-.js => ganttDiagram-EL5Y4UJY-CmU7Beok.js} | 2 +- ...s => gitGraphDiagram-WWUBYQGX-DK9RP0TN.js} | 2 +- ...rc.js => infoDiagram-27XIBGKW-DidagdPH.js} | 2 +- ...s => ishikawaDiagram-5VMMS53U-BnTkT4tj.js} | 2 +- ...js => journeyDiagram-3NMN7TZE-3SSVhry3.js} | 2 +- ...=> kanban-definition-UXKFOSKX-5vHpqxqi.js} | 2 +- ...{layout-BiniTVdj.js => layout-C8YZk5aC.js} | 2 +- ...{linear-rIgMKkgW.js => linear-B0ph5MIY.js} | 2 +- ...e-CcWt3Lhu.js => mermaid.core-DCzavt_d.js} | 10 ++--- ...> mindmap-definition-YA3MSWOX-Dq919Vx2.js} | 2 +- ...S3Y.js => pegDiagram-XKGWAZYB-BgiBcHft.js} | 2 +- ...K0Y.js => pieDiagram-E7YTZNPT-CBlpmOhf.js} | 2 +- ...s => quadrantDiagram-AXDQQJYC-8zn9ZNra.js} | 2 +- ...s => railroadDiagram-O6MQD6OU-CANI8b-r.js} | 2 +- ...> requirementDiagram-BXWQKSXE-VLrumk-_.js} | 2 +- ....js => sankeyDiagram-P5KCCOFB-DZOD-6G0.js} | 2 +- ...s => sequenceDiagram-WJ2MYXX4-BKd6bS_9.js} | 2 +- ...AQ.js => sizeCapture-INFHLROL-CdlJa97E.js} | 2 +- ...8.js => stateDiagram-D77RDMKH-C3z6nfsf.js} | 2 +- .../stateDiagram-v2-MP3YSRHH-B9Ws7XYr.js | 1 - .../stateDiagram-v2-MP3YSRHH-BEiUrOFK.js | 1 + ...veso.js => swimlanes-42K2YHIH-DflQXV3F.js} | 2 +- .../swimlanesDiagram-VR7AAH4N-CPRk1KxI.js | 8 ---- .../swimlanesDiagram-VR7AAH4N-D_Hyk221.js | 8 ++++ ... timeline-definition-24CTP7MA-Cf_PZrnF.js} | 2 +- ...ED.js => vennDiagram-4TSXK5OY-BulJw8FW.js} | 2 +- ...js => wardleyDiagram-VM6X3IG4-Yi5rltDE.js} | 2 +- ...js => xychartDiagram-S5SC5T6Z-IGm6e2W7.js} | 2 +- amplifier_web/static/build.json | 2 +- amplifier_web/static/index.html | 2 +- frontend/src/conversation-controls.jsx | 3 +- frontend/tests/session-health-browser.mjs | 3 +- pyproject.toml | 2 +- tests/test_manager_failure_details.py | 22 ++++++++++ tests/test_recovery_observations.py | 6 +++ uv.lock | 2 +- 72 files changed, 140 insertions(+), 87 deletions(-) rename amplifier_web/static/assets/{abnfDiagram-VCTEODGH-BSA1HA4i.js => abnfDiagram-VCTEODGH-pB_sDbfi.js} (86%) rename amplifier_web/static/assets/{app-CQqm4LfY.js => app-DiRg4AEn.js} (87%) rename amplifier_web/static/assets/{arc-CATzzXLS.js => arc-BZobgCN0.js} (98%) rename amplifier_web/static/assets/{architectureDiagram-5GKGNRK7-DzTyMRmB.js => architectureDiagram-5GKGNRK7-Dk72PQyE.js} (99%) rename amplifier_web/static/assets/{blockDiagram-I7D4REHJ-BWoqXAT3.js => blockDiagram-I7D4REHJ-BoB4Mr4d.js} (99%) rename amplifier_web/static/assets/{c4Diagram-7LVT6UL2-Bp2JvIL3.js => c4Diagram-7LVT6UL2-p6n56tdK.js} (99%) create mode 100644 amplifier_web/static/assets/channel-BGpu3HdG.js delete mode 100644 amplifier_web/static/assets/channel-Ci1yWiCT.js rename amplifier_web/static/assets/{chunk-2Q5K7J3B-C6YEMGjF.js => chunk-2Q5K7J3B-DutsbiAD.js} (66%) rename amplifier_web/static/assets/{chunk-5VM5RSS4-rs6yclux.js => chunk-5VM5RSS4-BvUIUVyo.js} (83%) rename amplifier_web/static/assets/{chunk-F27PBJKO-DSH5OA7F.js => chunk-F27PBJKO-CeZTmtp_.js} (96%) rename amplifier_web/static/assets/{chunk-IMKFNOWR-CGLIRYSe.js => chunk-IMKFNOWR-6bGNfPrr.js} (99%) rename amplifier_web/static/assets/{chunk-JWPE2WC7-DmQ-Nrbm.js => chunk-JWPE2WC7-CnhxyFoR.js} (78%) rename amplifier_web/static/assets/{chunk-POPQ4Y6H-B4t_VMwk.js => chunk-POPQ4Y6H-Bp2c6Wpp.js} (87%) rename amplifier_web/static/assets/{chunk-SVP7TREG-CGrq79Iy.js => chunk-SVP7TREG-Dk8R8Cc6.js} (99%) rename amplifier_web/static/assets/{chunk-TICWLB2K-BNoEQCdG.js => chunk-TICWLB2K-CPGc4f7a.js} (99%) rename amplifier_web/static/assets/{chunk-XXDRQBXY-DA_Ya3jG.js => chunk-XXDRQBXY-Ct_Uo9zJ.js} (72%) create mode 100644 amplifier_web/static/assets/classDiagram-ZZMXUADV-DMRSfdSH.js delete mode 100644 amplifier_web/static/assets/classDiagram-ZZMXUADV-VEQiFN6r.js create mode 100644 amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-DMRSfdSH.js delete mode 100644 amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-VEQiFN6r.js rename amplifier_web/static/assets/{cose-bilkent-JH36ORCC-Bt53-9zI.js => cose-bilkent-JH36ORCC-DZZeoui0.js} (99%) rename amplifier_web/static/assets/{cynefin-OW5HDTMX-D52vKpvS.js => cynefin-OW5HDTMX-D2urArke.js} (99%) rename amplifier_web/static/assets/{cynefinDiagram-5FMLGOSQ-M_3c9mMF.js => cynefinDiagram-5FMLGOSQ-BzBKR0Cp.js} (98%) rename amplifier_web/static/assets/{dagre-GXQ25YYZ-CW0z6CcR.js => dagre-GXQ25YYZ-Do0UHSPN.js} (98%) rename amplifier_web/static/assets/{diagram-S7CK7UJ4-gluBqO8t.js => diagram-S7CK7UJ4-K_22fPnZ.js} (96%) rename amplifier_web/static/assets/{diagram-UQ7AKVKN-bmKRqIey.js => diagram-UQ7AKVKN-BUpyj_KG.js} (95%) rename amplifier_web/static/assets/{diagram-VSXAHHWV-DKKvvCVf.js => diagram-VSXAHHWV-CsIEnlmf.js} (98%) rename amplifier_web/static/assets/{diagram-VX7I27RA-CO8KQR0c.js => diagram-VX7I27RA-CMJphNH8.js} (98%) rename amplifier_web/static/assets/{diagram-Z3DM3KII-onY9aq1H.js => diagram-Z3DM3KII-g4ojQm4H.js} (94%) rename amplifier_web/static/assets/{ebnfDiagram-PWID7BFC-D6Qwhcpa.js => ebnfDiagram-PWID7BFC-BZF5DgIm.js} (87%) rename amplifier_web/static/assets/{erDiagram-RLTQ6QDP-CZZuIFpb.js => erDiagram-RLTQ6QDP-C-H3S6xp.js} (99%) rename amplifier_web/static/assets/{flowDiagram-HODETNUW-ClaDevML.js => flowDiagram-HODETNUW-BJR5Tkvw.js} (99%) rename amplifier_web/static/assets/{ganttDiagram-EL5Y4UJY-zSqt6jY-.js => ganttDiagram-EL5Y4UJY-CmU7Beok.js} (99%) rename amplifier_web/static/assets/{gitGraphDiagram-WWUBYQGX-RETbPkZ0.js => gitGraphDiagram-WWUBYQGX-DK9RP0TN.js} (99%) rename amplifier_web/static/assets/{infoDiagram-27XIBGKW-C61Efxrc.js => infoDiagram-27XIBGKW-DidagdPH.js} (68%) rename amplifier_web/static/assets/{ishikawaDiagram-5VMMS53U--HEJAXyP.js => ishikawaDiagram-5VMMS53U-BnTkT4tj.js} (99%) rename amplifier_web/static/assets/{journeyDiagram-3NMN7TZE-Oou1HkxY.js => journeyDiagram-3NMN7TZE-3SSVhry3.js} (98%) rename amplifier_web/static/assets/{kanban-definition-UXKFOSKX-BX6Q5NQA.js => kanban-definition-UXKFOSKX-5vHpqxqi.js} (99%) rename amplifier_web/static/assets/{layout-BiniTVdj.js => layout-C8YZk5aC.js} (99%) rename amplifier_web/static/assets/{linear-rIgMKkgW.js => linear-B0ph5MIY.js} (98%) rename amplifier_web/static/assets/{mermaid.core-CcWt3Lhu.js => mermaid.core-DCzavt_d.js} (99%) rename amplifier_web/static/assets/{mindmap-definition-YA3MSWOX-e-nvGYkY.js => mindmap-definition-YA3MSWOX-Dq919Vx2.js} (99%) rename amplifier_web/static/assets/{pegDiagram-XKGWAZYB-C3KFoS3Y.js => pegDiagram-XKGWAZYB-BgiBcHft.js} (87%) rename amplifier_web/static/assets/{pieDiagram-E7YTZNPT-DmTkdK0Y.js => pieDiagram-E7YTZNPT-CBlpmOhf.js} (94%) rename amplifier_web/static/assets/{quadrantDiagram-AXDQQJYC-BqAy2vZd.js => quadrantDiagram-AXDQQJYC-8zn9ZNra.js} (99%) rename amplifier_web/static/assets/{railroadDiagram-O6MQD6OU-ZmOmWAel.js => railroadDiagram-O6MQD6OU-CANI8b-r.js} (84%) rename amplifier_web/static/assets/{requirementDiagram-BXWQKSXE-Dlg9N9bR.js => requirementDiagram-BXWQKSXE-VLrumk-_.js} (99%) rename amplifier_web/static/assets/{sankeyDiagram-P5KCCOFB-CDctP7LR.js => sankeyDiagram-P5KCCOFB-DZOD-6G0.js} (99%) rename amplifier_web/static/assets/{sequenceDiagram-WJ2MYXX4-DiGX7GsM.js => sequenceDiagram-WJ2MYXX4-BKd6bS_9.js} (99%) rename amplifier_web/static/assets/{sizeCapture-INFHLROL-CNE5ueAQ.js => sizeCapture-INFHLROL-CdlJa97E.js} (87%) rename amplifier_web/static/assets/{stateDiagram-D77RDMKH-4gzfiXQ8.js => stateDiagram-D77RDMKH-C3z6nfsf.js} (96%) delete mode 100644 amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-B9Ws7XYr.js create mode 100644 amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-BEiUrOFK.js rename amplifier_web/static/assets/{swimlanes-42K2YHIH-BjNpveso.js => swimlanes-42K2YHIH-DflQXV3F.js} (99%) delete mode 100644 amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-CPRk1KxI.js create mode 100644 amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-D_Hyk221.js rename amplifier_web/static/assets/{timeline-definition-24CTP7MA-B9IzcBkc.js => timeline-definition-24CTP7MA-Cf_PZrnF.js} (99%) rename amplifier_web/static/assets/{vennDiagram-4TSXK5OY-CAugsMED.js => vennDiagram-4TSXK5OY-BulJw8FW.js} (99%) rename amplifier_web/static/assets/{wardleyDiagram-VM6X3IG4-C4Oe_Z40.js => wardleyDiagram-VM6X3IG4-Yi5rltDE.js} (99%) rename amplifier_web/static/assets/{xychartDiagram-S5SC5T6Z-CZnuwffo.js => xychartDiagram-S5SC5T6Z-IGm6e2W7.js} (99%) 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/recovery_observations.py b/amplifier_web/recovery_observations.py index 52dc73ba0..ca59f5ca8 100644 --- a/amplifier_web/recovery_observations.py +++ b/amplifier_web/recovery_observations.py @@ -25,6 +25,8 @@ def recovery_facts(metadata, text, provenance): 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) 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/static/assets/abnfDiagram-VCTEODGH-BSA1HA4i.js b/amplifier_web/static/assets/abnfDiagram-VCTEODGH-pB_sDbfi.js similarity index 86% rename from amplifier_web/static/assets/abnfDiagram-VCTEODGH-BSA1HA4i.js rename to amplifier_web/static/assets/abnfDiagram-VCTEODGH-pB_sDbfi.js index 0fa4b07ff..62c229ffd 100644 --- a/amplifier_web/static/assets/abnfDiagram-VCTEODGH-BSA1HA4i.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-CGrq79Iy.js";import{p as f}from"./chunk-JWPE2WC7-DmQ-Nrbm.js";import{_ as n,l as o}from"./mermaid.core-CcWt3Lhu.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-CQqm4LfY.js b/amplifier_web/static/assets/app-DiRg4AEn.js similarity index 87% rename from amplifier_web/static/assets/app-CQqm4LfY.js rename to amplifier_web/static/assets/app-DiRg4AEn.js index e789252be..56093838d 100644 --- a/amplifier_web/static/assets/app-CQqm4LfY.js +++ b/amplifier_web/static/assets/app-DiRg4AEn.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-CcWt3Lhu.js","assets/client-BPXDbY79.js","assets/index-D1m6Llf0.js"])))=>i.map(i=>d[i]); +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 * @@ -552,7 +552,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `))}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()||!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-CcWt3Lhu.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(` +`),...t?{sourceOffset:c[p+1]}:{},...v}),p=x}return d(),r}function CI({part:e,context:t,render:a}){const[r,o]=g.useState(e.text),[i,s]=g.useState(!1),[l,c]=g.useState(!1),[u,d]=g.useState(""),[p,m]=g.useState(null);async function h(){if(!l){c(!0),d("");try{const E=await t.act("outputs.write",{sessionId:t.sessionId,messageId:t.messageId,title:e.subject||e.variant.replaceAll("_"," "),variant:e.variant,content:r,...e.subject?{subject:e.subject}:{},...p?{parentId:p}:{}});if(!(E!=null&&E.accepted))throw Error("The writing version was not saved.");m(E.result.id),d("Saved a writing version."),s(!1)}catch(E){d(E.message)}finally{c(!1)}}}const f=n.createElement,v=(E,b,x={})=>f("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(` @@ -836,7 +836,7 @@ 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:"5054712598abbd09"};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(` +`;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(` @@ -852,7 +852,7 @@ container holding the app. Specify either width or maxWidth, and either height o 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 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 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 p,m;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=(m=(p=e.attention)==null?void 0:p.items)==null?void 0:m.find(h=>h.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=Number.isFinite(s==null?void 0:s.recordedAt)&&s.recordedAt>0?new Date(s.recordedAt*1e3):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.")," ",d&&n.createElement("time",{dateTime:d.toISOString()},d.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(` +`).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(` diff --git a/amplifier_web/static/assets/arc-CATzzXLS.js b/amplifier_web/static/assets/arc-BZobgCN0.js similarity index 98% rename from amplifier_web/static/assets/arc-CATzzXLS.js rename to amplifier_web/static/assets/arc-BZobgCN0.js index b39baad1f..cc0ce4fc1 100644 --- a/amplifier_web/static/assets/arc-CATzzXLS.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-CcWt3Lhu.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-BWoqXAT3.js b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js similarity index 99% rename from amplifier_web/static/assets/blockDiagram-I7D4REHJ-BWoqXAT3.js rename to amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js index 4265e6db2..e8b631975 100644 --- a/amplifier_web/static/assets/blockDiagram-I7D4REHJ-BWoqXAT3.js +++ b/amplifier_web/static/assets/blockDiagram-I7D4REHJ-BoB4Mr4d.js @@ -1,4 +1,4 @@ -import{g as Pe}from"./chunk-5VM5RSS4-rs6yclux.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-CcWt3Lhu.js";import{c as yt}from"./channel-Ci1yWiCT.js";import"./app-CQqm4LfY.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-Bp2JvIL3.js b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js similarity index 99% rename from amplifier_web/static/assets/c4Diagram-7LVT6UL2-Bp2JvIL3.js rename to amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js index 98211ee48..9fee4f836 100644 --- a/amplifier_web/static/assets/c4Diagram-7LVT6UL2-Bp2JvIL3.js +++ b/amplifier_web/static/assets/c4Diagram-7LVT6UL2-p6n56tdK.js @@ -1,4 +1,4 @@ -import{d as Le}from"./chunk-F27PBJKO-DSH5OA7F.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-Ci1yWiCT.js b/amplifier_web/static/assets/channel-Ci1yWiCT.js deleted file mode 100644 index 2610404a5..000000000 --- a/amplifier_web/static/assets/channel-Ci1yWiCT.js +++ /dev/null @@ -1 +0,0 @@ -import{ah as o,ai as n}from"./mermaid.core-CcWt3Lhu.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-C6YEMGjF.js b/amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js similarity index 66% rename from amplifier_web/static/assets/chunk-2Q5K7J3B-C6YEMGjF.js rename to amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js index f7f4954b6..8d8315048 100644 --- a/amplifier_web/static/assets/chunk-2Q5K7J3B-C6YEMGjF.js +++ b/amplifier_web/static/assets/chunk-2Q5K7J3B-DutsbiAD.js @@ -1 +1 @@ -import{_ as s}from"./mermaid.core-CcWt3Lhu.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-rs6yclux.js b/amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js similarity index 83% rename from amplifier_web/static/assets/chunk-5VM5RSS4-rs6yclux.js rename to amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js index 59b82e661..915d66dc8 100644 --- a/amplifier_web/static/assets/chunk-5VM5RSS4-rs6yclux.js +++ b/amplifier_web/static/assets/chunk-5VM5RSS4-BvUIUVyo.js @@ -1,4 +1,4 @@ -import{_ as e}from"./mermaid.core-CcWt3Lhu.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-DSH5OA7F.js b/amplifier_web/static/assets/chunk-F27PBJKO-CeZTmtp_.js similarity index 96% rename from amplifier_web/static/assets/chunk-F27PBJKO-DSH5OA7F.js rename to amplifier_web/static/assets/chunk-F27PBJKO-CeZTmtp_.js index f9f62304b..f192dbc4a 100644 --- a/amplifier_web/static/assets/chunk-F27PBJKO-DSH5OA7F.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-CcWt3Lhu.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-CGLIRYSe.js b/amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js similarity index 99% rename from amplifier_web/static/assets/chunk-IMKFNOWR-CGLIRYSe.js rename to amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js index 9184348eb..67c7b14bf 100644 --- a/amplifier_web/static/assets/chunk-IMKFNOWR-CGLIRYSe.js +++ b/amplifier_web/static/assets/chunk-IMKFNOWR-6bGNfPrr.js @@ -1,4 +1,4 @@ -import{g as ee}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as se}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import{f as fe}from"./chunk-F27PBJKO-DSH5OA7F.js";import{p as pe}from"./app-CQqm4LfY.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-DmQ-Nrbm.js b/amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js similarity index 78% rename from amplifier_web/static/assets/chunk-JWPE2WC7-DmQ-Nrbm.js rename to amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js index 02261f73d..72a352f84 100644 --- a/amplifier_web/static/assets/chunk-JWPE2WC7-DmQ-Nrbm.js +++ b/amplifier_web/static/assets/chunk-JWPE2WC7-CnhxyFoR.js @@ -1 +1 @@ -import{_ as l}from"./mermaid.core-CcWt3Lhu.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-B4t_VMwk.js b/amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js similarity index 87% rename from amplifier_web/static/assets/chunk-POPQ4Y6H-B4t_VMwk.js rename to amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js index 2ca7fbbb8..2196c06e9 100644 --- a/amplifier_web/static/assets/chunk-POPQ4Y6H-B4t_VMwk.js +++ b/amplifier_web/static/assets/chunk-POPQ4Y6H-Bp2c6Wpp.js @@ -1 +1 @@ -import{_ as a,d as w,l as x}from"./mermaid.core-CcWt3Lhu.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-CGrq79Iy.js b/amplifier_web/static/assets/chunk-SVP7TREG-Dk8R8Cc6.js similarity index 99% rename from amplifier_web/static/assets/chunk-SVP7TREG-CGrq79Iy.js rename to amplifier_web/static/assets/chunk-SVP7TREG-Dk8R8Cc6.js index 1b6ebb99b..4cbc5d5ba 100644 --- a/amplifier_web/static/assets/chunk-SVP7TREG-CGrq79Iy.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-CcWt3Lhu.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-BNoEQCdG.js b/amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js similarity index 99% rename from amplifier_web/static/assets/chunk-TICWLB2K-BNoEQCdG.js rename to amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js index e1ebe93cd..59a3c3edb 100644 --- a/amplifier_web/static/assets/chunk-TICWLB2K-BNoEQCdG.js +++ b/amplifier_web/static/assets/chunk-TICWLB2K-CPGc4f7a.js @@ -1,4 +1,4 @@ -import{g as st}from"./chunk-5VM5RSS4-rs6yclux.js";import{g as it}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as at}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import{f as gt}from"./chunk-F27PBJKO-DSH5OA7F.js";import{p as mt}from"./app-CQqm4LfY.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-DA_Ya3jG.js b/amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js similarity index 72% rename from amplifier_web/static/assets/chunk-XXDRQBXY-DA_Ya3jG.js rename to amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js index 358c54e64..7d9429100 100644 --- a/amplifier_web/static/assets/chunk-XXDRQBXY-DA_Ya3jG.js +++ b/amplifier_web/static/assets/chunk-XXDRQBXY-Ct_Uo9zJ.js @@ -1 +1 @@ -import{_ as a,j as o}from"./mermaid.core-CcWt3Lhu.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-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-ZZMXUADV-VEQiFN6r.js b/amplifier_web/static/assets/classDiagram-ZZMXUADV-VEQiFN6r.js deleted file mode 100644 index 3aeb686cf..000000000 --- a/amplifier_web/static/assets/classDiagram-ZZMXUADV-VEQiFN6r.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-BNoEQCdG.js";import{_ as i}from"./mermaid.core-CcWt3Lhu.js";import"./chunk-5VM5RSS4-rs6yclux.js";import"./chunk-XXDRQBXY-DA_Ya3jG.js";import"./chunk-POPQ4Y6H-B4t_VMwk.js";import"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.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/classDiagram-v2-VYDZK3BY-VEQiFN6r.js b/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-VEQiFN6r.js deleted file mode 100644 index 3aeb686cf..000000000 --- a/amplifier_web/static/assets/classDiagram-v2-VYDZK3BY-VEQiFN6r.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-BNoEQCdG.js";import{_ as i}from"./mermaid.core-CcWt3Lhu.js";import"./chunk-5VM5RSS4-rs6yclux.js";import"./chunk-XXDRQBXY-DA_Ya3jG.js";import"./chunk-POPQ4Y6H-B4t_VMwk.js";import"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.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-Bt53-9zI.js b/amplifier_web/static/assets/cose-bilkent-JH36ORCC-DZZeoui0.js similarity index 99% rename from amplifier_web/static/assets/cose-bilkent-JH36ORCC-Bt53-9zI.js rename to amplifier_web/static/assets/cose-bilkent-JH36ORCC-DZZeoui0.js index f26c8c1c7..5b647bee8 100644 --- a/amplifier_web/static/assets/cose-bilkent-JH36ORCC-Bt53-9zI.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-CcWt3Lhu.js";import{c as tt}from"./cytoscape.esm-Ix0LnXOy.js";import{g as gt}from"./client-BPXDbY79.js";import"./app-CQqm4LfY.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-D52vKpvS.js b/amplifier_web/static/assets/cynefin-OW5HDTMX-D2urArke.js similarity index 99% rename from amplifier_web/static/assets/cynefin-OW5HDTMX-D52vKpvS.js rename to amplifier_web/static/assets/cynefin-OW5HDTMX-D2urArke.js index 7c2938a3b..46174f828 100644 --- a/amplifier_web/static/assets/cynefin-OW5HDTMX-D52vKpvS.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-CQqm4LfY.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-CW0z6CcR.js b/amplifier_web/static/assets/dagre-GXQ25YYZ-Do0UHSPN.js similarity index 98% rename from amplifier_web/static/assets/dagre-GXQ25YYZ-CW0z6CcR.js rename to amplifier_web/static/assets/dagre-GXQ25YYZ-Do0UHSPN.js index d0ecd0330..a9d0ba98a 100644 --- a/amplifier_web/static/assets/dagre-GXQ25YYZ-CW0z6CcR.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-CcWt3Lhu.js";import{l as K}from"./layout-BiniTVdj.js";import"./app-CQqm4LfY.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-gluBqO8t.js b/amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js similarity index 96% rename from amplifier_web/static/assets/diagram-S7CK7UJ4-gluBqO8t.js rename to amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js index 7bcd9ee4b..1e3ecf31f 100644 --- a/amplifier_web/static/assets/diagram-S7CK7UJ4-gluBqO8t.js +++ b/amplifier_web/static/assets/diagram-S7CK7UJ4-K_22fPnZ.js @@ -1,4 +1,4 @@ -import{I as X}from"./chunk-2Q5K7J3B-C6YEMGjF.js";import{p as z}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as te}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-bmKRqIey.js b/amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js similarity index 95% rename from amplifier_web/static/assets/diagram-UQ7AKVKN-bmKRqIey.js rename to amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js index 1b86912fe..e52ded36f 100644 --- a/amplifier_web/static/assets/diagram-UQ7AKVKN-bmKRqIey.js +++ b/amplifier_web/static/assets/diagram-UQ7AKVKN-BUpyj_KG.js @@ -1,4 +1,4 @@ -import{p as I}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as j}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-CO8KQR0c.js b/amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js similarity index 98% rename from amplifier_web/static/assets/diagram-VX7I27RA-CO8KQR0c.js rename to amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js index cb102ac56..dc65e3468 100644 --- a/amplifier_web/static/assets/diagram-VX7I27RA-CO8KQR0c.js +++ b/amplifier_web/static/assets/diagram-VX7I27RA-CMJphNH8.js @@ -1,4 +1,4 @@ -import{p as ge}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{s as Ne}from"./chunk-POPQ4Y6H-B4t_VMwk.js";import{p as Me}from"./cynefin-OW5HDTMX-D52vKpvS.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as Q}from"./ordinal-Cboi1Yqb.js";import"./app-CQqm4LfY.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-onY9aq1H.js b/amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js similarity index 94% rename from amplifier_web/static/assets/diagram-Z3DM3KII-onY9aq1H.js rename to amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js index fa8564846..75d4d49e8 100644 --- a/amplifier_web/static/assets/diagram-Z3DM3KII-onY9aq1H.js +++ b/amplifier_web/static/assets/diagram-Z3DM3KII-g4ojQm4H.js @@ -1,4 +1,4 @@ -import{p as $}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as N}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-D6Qwhcpa.js b/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js similarity index 87% rename from amplifier_web/static/assets/ebnfDiagram-PWID7BFC-D6Qwhcpa.js rename to amplifier_web/static/assets/ebnfDiagram-PWID7BFC-BZF5DgIm.js index 1893c7d49..e246b1e89 100644 --- a/amplifier_web/static/assets/ebnfDiagram-PWID7BFC-D6Qwhcpa.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-CGrq79Iy.js";import{p}from"./chunk-JWPE2WC7-DmQ-Nrbm.js";import{_ as t,l as o}from"./mermaid.core-CcWt3Lhu.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-CZZuIFpb.js b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js similarity index 99% rename from amplifier_web/static/assets/erDiagram-RLTQ6QDP-CZZuIFpb.js rename to amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js index 3db5e79d7..c194714a6 100644 --- a/amplifier_web/static/assets/erDiagram-RLTQ6QDP-CZZuIFpb.js +++ b/amplifier_web/static/assets/erDiagram-RLTQ6QDP-C-H3S6xp.js @@ -1,4 +1,4 @@ -import{g as Ut}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as Kt}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import{c as ae}from"./channel-Ci1yWiCT.js";import"./app-CQqm4LfY.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-ClaDevML.js b/amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js similarity index 99% rename from amplifier_web/static/assets/flowDiagram-HODETNUW-ClaDevML.js rename to amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js index d1ca240c4..84d203e7e 100644 --- a/amplifier_web/static/assets/flowDiagram-HODETNUW-ClaDevML.js +++ b/amplifier_web/static/assets/flowDiagram-HODETNUW-BJR5Tkvw.js @@ -1,4 +1,4 @@ -import{g as Xt}from"./chunk-5VM5RSS4-rs6yclux.js";import{g as Qt}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as Jt}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import{f as f1}from"./chunk-F27PBJKO-DSH5OA7F.js";import{p as g1}from"./app-CQqm4LfY.js";import{c as b1}from"./channel-Ci1yWiCT.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-zSqt6jY-.js b/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js similarity index 99% rename from amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-zSqt6jY-.js rename to amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-CmU7Beok.js index 05d5e7ff1..5e0769a84 100644 --- a/amplifier_web/static/assets/ganttDiagram-EL5Y4UJY-zSqt6jY-.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-CcWt3Lhu.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-rIgMKkgW.js";import{i as er}from"./init-Gi6I4Gst.js";import"./app-CQqm4LfY.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-RETbPkZ0.js b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js similarity index 99% rename from amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-RETbPkZ0.js rename to amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js index 57696baaf..09fe45e8a 100644 --- a/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-RETbPkZ0.js +++ b/amplifier_web/static/assets/gitGraphDiagram-WWUBYQGX-DK9RP0TN.js @@ -1,4 +1,4 @@ -import{I as he}from"./chunk-2Q5K7J3B-C6YEMGjF.js";import{p as $e}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as Be}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-C61Efxrc.js b/amplifier_web/static/assets/infoDiagram-27XIBGKW-DidagdPH.js similarity index 68% rename from amplifier_web/static/assets/infoDiagram-27XIBGKW-C61Efxrc.js rename to amplifier_web/static/assets/infoDiagram-27XIBGKW-DidagdPH.js index 74f07bcf0..d059521c3 100644 --- a/amplifier_web/static/assets/infoDiagram-27XIBGKW-C61Efxrc.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-CcWt3Lhu.js";import{p}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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--HEJAXyP.js b/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js similarity index 99% rename from amplifier_web/static/assets/ishikawaDiagram-5VMMS53U--HEJAXyP.js rename to amplifier_web/static/assets/ishikawaDiagram-5VMMS53U-BnTkT4tj.js index 79ea81e9c..dd575ff9d 100644 --- a/amplifier_web/static/assets/ishikawaDiagram-5VMMS53U--HEJAXyP.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-Oou1HkxY.js b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js similarity index 98% rename from amplifier_web/static/assets/journeyDiagram-3NMN7TZE-Oou1HkxY.js rename to amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js index f18a3a2be..5df32ea54 100644 --- a/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-Oou1HkxY.js +++ b/amplifier_web/static/assets/journeyDiagram-3NMN7TZE-3SSVhry3.js @@ -1,4 +1,4 @@ -import{g as gt}from"./chunk-5VM5RSS4-rs6yclux.js";import{a as mt,b as lt,h as xt,d as kt}from"./chunk-F27PBJKO-DSH5OA7F.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-CcWt3Lhu.js";import{d as it}from"./arc-CATzzXLS.js";import"./app-CQqm4LfY.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-BX6Q5NQA.js b/amplifier_web/static/assets/kanban-definition-UXKFOSKX-5vHpqxqi.js similarity index 99% rename from amplifier_web/static/assets/kanban-definition-UXKFOSKX-BX6Q5NQA.js rename to amplifier_web/static/assets/kanban-definition-UXKFOSKX-5vHpqxqi.js index 6c27be402..41cadb605 100644 --- a/amplifier_web/static/assets/kanban-definition-UXKFOSKX-BX6Q5NQA.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-CcWt3Lhu.js";import{g as Ne}from"./chunk-5VM5RSS4-rs6yclux.js";import"./app-CQqm4LfY.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-BiniTVdj.js b/amplifier_web/static/assets/layout-C8YZk5aC.js similarity index 99% rename from amplifier_web/static/assets/layout-BiniTVdj.js rename to amplifier_web/static/assets/layout-C8YZk5aC.js index dd6342189..2cf074463 100644 --- a/amplifier_web/static/assets/layout-BiniTVdj.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-CcWt3Lhu.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-rIgMKkgW.js b/amplifier_web/static/assets/linear-B0ph5MIY.js similarity index 98% rename from amplifier_web/static/assets/linear-rIgMKkgW.js rename to amplifier_web/static/assets/linear-B0ph5MIY.js index d7422f343..ec4b72d05 100644 --- a/amplifier_web/static/assets/linear-rIgMKkgW.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-CcWt3Lhu.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-CcWt3Lhu.js b/amplifier_web/static/assets/mermaid.core-DCzavt_d.js similarity index 99% rename from amplifier_web/static/assets/mermaid.core-CcWt3Lhu.js rename to amplifier_web/static/assets/mermaid.core-DCzavt_d.js index a696783ba..35eaa4967 100644 --- a/amplifier_web/static/assets/mermaid.core-CcWt3Lhu.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-CNE5ueAQ.js","assets/app-CQqm4LfY.js","assets/client-BPXDbY79.js","assets/app-lSu2UQvI.css","assets/dagre-GXQ25YYZ-CW0z6CcR.js","assets/layout-BiniTVdj.js","assets/swimlanes-42K2YHIH-BjNpveso.js","assets/cose-bilkent-JH36ORCC-Bt53-9zI.js","assets/cytoscape.esm-Ix0LnXOy.js","assets/c4Diagram-7LVT6UL2-Bp2JvIL3.js","assets/chunk-F27PBJKO-DSH5OA7F.js","assets/flowDiagram-HODETNUW-ClaDevML.js","assets/chunk-5VM5RSS4-rs6yclux.js","assets/chunk-XXDRQBXY-DA_Ya3jG.js","assets/chunk-POPQ4Y6H-B4t_VMwk.js","assets/channel-Ci1yWiCT.js","assets/swimlanesDiagram-VR7AAH4N-CPRk1KxI.js","assets/erDiagram-RLTQ6QDP-CZZuIFpb.js","assets/gitGraphDiagram-WWUBYQGX-RETbPkZ0.js","assets/chunk-2Q5K7J3B-C6YEMGjF.js","assets/chunk-JWPE2WC7-DmQ-Nrbm.js","assets/cynefin-OW5HDTMX-D52vKpvS.js","assets/ganttDiagram-EL5Y4UJY-zSqt6jY-.js","assets/linear-rIgMKkgW.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-C61Efxrc.js","assets/pieDiagram-E7YTZNPT-DmTkdK0Y.js","assets/arc-CATzzXLS.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-BqAy2vZd.js","assets/xychartDiagram-S5SC5T6Z-CZnuwffo.js","assets/requirementDiagram-BXWQKSXE-Dlg9N9bR.js","assets/sequenceDiagram-WJ2MYXX4-DiGX7GsM.js","assets/classDiagram-ZZMXUADV-VEQiFN6r.js","assets/chunk-TICWLB2K-BNoEQCdG.js","assets/classDiagram-v2-VYDZK3BY-VEQiFN6r.js","assets/stateDiagram-D77RDMKH-4gzfiXQ8.js","assets/chunk-IMKFNOWR-CGLIRYSe.js","assets/stateDiagram-v2-MP3YSRHH-B9Ws7XYr.js","assets/journeyDiagram-3NMN7TZE-Oou1HkxY.js","assets/timeline-definition-24CTP7MA-B9IzcBkc.js","assets/mindmap-definition-YA3MSWOX-e-nvGYkY.js","assets/kanban-definition-UXKFOSKX-BX6Q5NQA.js","assets/sankeyDiagram-P5KCCOFB-CDctP7LR.js","assets/diagram-Z3DM3KII-onY9aq1H.js","assets/diagram-UQ7AKVKN-bmKRqIey.js","assets/blockDiagram-I7D4REHJ-BWoqXAT3.js","assets/diagram-S7CK7UJ4-gluBqO8t.js","assets/architectureDiagram-5GKGNRK7-DzTyMRmB.js","assets/diagram-VSXAHHWV-DKKvvCVf.js","assets/ishikawaDiagram-5VMMS53U--HEJAXyP.js","assets/vennDiagram-4TSXK5OY-CAugsMED.js","assets/diagram-VX7I27RA-CO8KQR0c.js","assets/wardleyDiagram-VM6X3IG4-C4Oe_Z40.js","assets/cynefinDiagram-5FMLGOSQ-M_3c9mMF.js","assets/railroadDiagram-O6MQD6OU-ZmOmWAel.js","assets/chunk-SVP7TREG-CGrq79Iy.js","assets/ebnfDiagram-PWID7BFC-D6Qwhcpa.js","assets/abnfDiagram-VCTEODGH-BSA1HA4i.js","assets/pegDiagram-XKGWAZYB-C3KFoS3Y.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-CQqm4LfY.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-CNE5ueAQ.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-CW0z6CcR.js"),__vite__mapDeps([4,5,1,2,3])),"loader")},{name:"swimlane",loader:g(async()=>await Mt(()=>import("./swimlanes-42K2YHIH-BjNpveso.js"),__vite__mapDeps([6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await Mt(()=>import("./cose-bilkent-JH36ORCC-Bt53-9zI.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-Bp2JvIL3.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-ClaDevML.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-ClaDevML.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-CPRk1KxI.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-CZZuIFpb.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-RETbPkZ0.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-zSqt6jY-.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-C61Efxrc.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-DmTkdK0Y.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-BqAy2vZd.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-CZnuwffo.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-Dlg9N9bR.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-DiGX7GsM.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-VEQiFN6r.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-VEQiFN6r.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-4gzfiXQ8.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-B9Ws7XYr.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-Oou1HkxY.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-ClaDevML.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-B9IzcBkc.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-e-nvGYkY.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-BX6Q5NQA.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-CDctP7LR.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-onY9aq1H.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-bmKRqIey.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-BWoqXAT3.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-gluBqO8t.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-DzTyMRmB.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-DKKvvCVf.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--HEJAXyP.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-CAugsMED.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-CO8KQR0c.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-C4Oe_Z40.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-M_3c9mMF.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-ZmOmWAel.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-D6Qwhcpa.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-BSA1HA4i.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-C3KFoS3Y.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-e-nvGYkY.js b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js similarity index 99% rename from amplifier_web/static/assets/mindmap-definition-YA3MSWOX-e-nvGYkY.js rename to amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js index a76d3694d..8cc45d371 100644 --- a/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-e-nvGYkY.js +++ b/amplifier_web/static/assets/mindmap-definition-YA3MSWOX-Dq919Vx2.js @@ -1,4 +1,4 @@ -import{g as oe}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as ce}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-C3KFoS3Y.js b/amplifier_web/static/assets/pegDiagram-XKGWAZYB-BgiBcHft.js similarity index 87% rename from amplifier_web/static/assets/pegDiagram-XKGWAZYB-C3KFoS3Y.js rename to amplifier_web/static/assets/pegDiagram-XKGWAZYB-BgiBcHft.js index eb24d5303..7aaa2e5af 100644 --- a/amplifier_web/static/assets/pegDiagram-XKGWAZYB-C3KFoS3Y.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-CGrq79Iy.js";import{p}from"./chunk-JWPE2WC7-DmQ-Nrbm.js";import{_ as t,l as o}from"./mermaid.core-CcWt3Lhu.js";import{M as u,d as c}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-DmTkdK0Y.js b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js similarity index 94% rename from amplifier_web/static/assets/pieDiagram-E7YTZNPT-DmTkdK0Y.js rename to amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js index 441d0daf3..1e9aa3e4a 100644 --- a/amplifier_web/static/assets/pieDiagram-E7YTZNPT-DmTkdK0Y.js +++ b/amplifier_web/static/assets/pieDiagram-E7YTZNPT-CBlpmOhf.js @@ -1,4 +1,4 @@ -import{p as rt}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as xt}from"./cynefin-OW5HDTMX-D52vKpvS.js";import{d as J}from"./arc-CATzzXLS.js";import{o as St}from"./ordinal-Cboi1Yqb.js";import"./app-CQqm4LfY.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-BqAy2vZd.js b/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js similarity index 99% rename from amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-BqAy2vZd.js rename to amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-8zn9ZNra.js index 0a567cfc8..f3108c114 100644 --- a/amplifier_web/static/assets/quadrantDiagram-AXDQQJYC-BqAy2vZd.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-CcWt3Lhu.js";import{l as ie}from"./linear-rIgMKkgW.js";import"./app-CQqm4LfY.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-ZmOmWAel.js b/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-CANI8b-r.js similarity index 84% rename from amplifier_web/static/assets/railroadDiagram-O6MQD6OU-ZmOmWAel.js rename to amplifier_web/static/assets/railroadDiagram-O6MQD6OU-CANI8b-r.js index 0a0d4a1dc..7376cdc73 100644 --- a/amplifier_web/static/assets/railroadDiagram-O6MQD6OU-ZmOmWAel.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-CGrq79Iy.js";import{p as m}from"./chunk-JWPE2WC7-DmQ-Nrbm.js";import{_ as n,l as i}from"./mermaid.core-CcWt3Lhu.js";import{M as p,c as u}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-Dlg9N9bR.js b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js similarity index 99% rename from amplifier_web/static/assets/requirementDiagram-BXWQKSXE-Dlg9N9bR.js rename to amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js index 6a50f8a6d..d1b9bd00c 100644 --- a/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-Dlg9N9bR.js +++ b/amplifier_web/static/assets/requirementDiagram-BXWQKSXE-VLrumk-_.js @@ -1,4 +1,4 @@ -import{g as ze}from"./chunk-XXDRQBXY-DA_Ya3jG.js";import{s as Xe}from"./chunk-POPQ4Y6H-B4t_VMwk.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-CDctP7LR.js b/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js similarity index 99% rename from amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-CDctP7LR.js rename to amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-DZOD-6G0.js index d3469ea36..56fc607cc 100644 --- a/amplifier_web/static/assets/sankeyDiagram-P5KCCOFB-CDctP7LR.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-CcWt3Lhu.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./app-CQqm4LfY.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-DiGX7GsM.js b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js similarity index 99% rename from amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-DiGX7GsM.js rename to amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js index 37b10e3e3..18067cfbe 100644 --- a/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-DiGX7GsM.js +++ b/amplifier_web/static/assets/sequenceDiagram-WJ2MYXX4-BKd6bS_9.js @@ -1,4 +1,4 @@ -import{I as er}from"./chunk-2Q5K7J3B-C6YEMGjF.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-CcWt3Lhu.js";import{a as ur,g as se,b as dt,d as fr,c as ie,e as ne}from"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.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-CNE5ueAQ.js b/amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js similarity index 87% rename from amplifier_web/static/assets/sizeCapture-INFHLROL-CNE5ueAQ.js rename to amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js index 8f29f0b2a..3cea7ec3b 100644 --- a/amplifier_web/static/assets/sizeCapture-INFHLROL-CNE5ueAQ.js +++ b/amplifier_web/static/assets/sizeCapture-INFHLROL-CdlJa97E.js @@ -1 +1 @@ -import{_ as n}from"./mermaid.core-CcWt3Lhu.js";import"./app-CQqm4LfY.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-4gzfiXQ8.js b/amplifier_web/static/assets/stateDiagram-D77RDMKH-C3z6nfsf.js similarity index 96% rename from amplifier_web/static/assets/stateDiagram-D77RDMKH-4gzfiXQ8.js rename to amplifier_web/static/assets/stateDiagram-D77RDMKH-C3z6nfsf.js index 4cf91bc40..05ff5570f 100644 --- a/amplifier_web/static/assets/stateDiagram-D77RDMKH-4gzfiXQ8.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-CGLIRYSe.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-CcWt3Lhu.js";import{l as J}from"./layout-BiniTVdj.js";import"./chunk-XXDRQBXY-DA_Ya3jG.js";import"./chunk-POPQ4Y6H-B4t_VMwk.js";import"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.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-B9Ws7XYr.js b/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-B9Ws7XYr.js deleted file mode 100644 index 1596a0263..000000000 --- a/amplifier_web/static/assets/stateDiagram-v2-MP3YSRHH-B9Ws7XYr.js +++ /dev/null @@ -1 +0,0 @@ -import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-CGLIRYSe.js";import{_ as i}from"./mermaid.core-CcWt3Lhu.js";import"./chunk-XXDRQBXY-DA_Ya3jG.js";import"./chunk-POPQ4Y6H-B4t_VMwk.js";import"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.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-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/swimlanes-42K2YHIH-BjNpveso.js b/amplifier_web/static/assets/swimlanes-42K2YHIH-DflQXV3F.js similarity index 99% rename from amplifier_web/static/assets/swimlanes-42K2YHIH-BjNpveso.js rename to amplifier_web/static/assets/swimlanes-42K2YHIH-DflQXV3F.js index 9b2d63b0a..fa49c2b72 100644 --- a/amplifier_web/static/assets/swimlanes-42K2YHIH-BjNpveso.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-CPRk1KxI.js b/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-CPRk1KxI.js deleted file mode 100644 index ae0c7a763..000000000 --- a/amplifier_web/static/assets/swimlanesDiagram-VR7AAH4N-CPRk1KxI.js +++ /dev/null @@ -1,8 +0,0 @@ -import{c as r,s as e}from"./flowDiagram-HODETNUW-ClaDevML.js";import{_ as a}from"./mermaid.core-CcWt3Lhu.js";import"./chunk-5VM5RSS4-rs6yclux.js";import"./chunk-XXDRQBXY-DA_Ya3jG.js";import"./chunk-POPQ4Y6H-B4t_VMwk.js";import"./chunk-F27PBJKO-DSH5OA7F.js";import"./app-CQqm4LfY.js";import"./client-BPXDbY79.js";import"./channel-Ci1yWiCT.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-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/timeline-definition-24CTP7MA-B9IzcBkc.js b/amplifier_web/static/assets/timeline-definition-24CTP7MA-Cf_PZrnF.js similarity index 99% rename from amplifier_web/static/assets/timeline-definition-24CTP7MA-B9IzcBkc.js rename to amplifier_web/static/assets/timeline-definition-24CTP7MA-Cf_PZrnF.js index 1b90c6baa..42725d8a5 100644 --- a/amplifier_web/static/assets/timeline-definition-24CTP7MA-B9IzcBkc.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-CcWt3Lhu.js";import{d as ot}from"./arc-CATzzXLS.js";import"./app-CQqm4LfY.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-CAugsMED.js b/amplifier_web/static/assets/vennDiagram-4TSXK5OY-BulJw8FW.js similarity index 99% rename from amplifier_web/static/assets/vennDiagram-4TSXK5OY-CAugsMED.js rename to amplifier_web/static/assets/vennDiagram-4TSXK5OY-BulJw8FW.js index d613f2dcc..94f72fe64 100644 --- a/amplifier_web/static/assets/vennDiagram-4TSXK5OY-CAugsMED.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-CcWt3Lhu.js";import"./app-CQqm4LfY.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-C4Oe_Z40.js b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js similarity index 99% rename from amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-C4Oe_Z40.js rename to amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js index 5e709d3b1..2f9ac73af 100644 --- a/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-C4Oe_Z40.js +++ b/amplifier_web/static/assets/wardleyDiagram-VM6X3IG4-Yi5rltDE.js @@ -1,4 +1,4 @@ -import{p as zt}from"./chunk-JWPE2WC7-DmQ-Nrbm.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-CcWt3Lhu.js";import{p as Wt}from"./cynefin-OW5HDTMX-D52vKpvS.js";import"./app-CQqm4LfY.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-CZnuwffo.js b/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js similarity index 99% rename from amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-CZnuwffo.js rename to amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-IGm6e2W7.js index ebcf4868f..6803862ac 100644 --- a/amplifier_web/static/assets/xychartDiagram-S5SC5T6Z-CZnuwffo.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-CcWt3Lhu.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-rIgMKkgW.js";import"./app-CQqm4LfY.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 de2ecb12a..79b86e87a 100644 --- a/amplifier_web/static/build.json +++ b/amplifier_web/static/build.json @@ -1 +1 @@ -{"version":"0.20.32","id":"5054712598abbd09"} +{"version":"0.20.33","id":"d8f928d42c7f4bee"} diff --git a/amplifier_web/static/index.html b/amplifier_web/static/index.html index 2f3613418..0d4b00b37 100644 --- a/amplifier_web/static/index.html +++ b/amplifier_web/static/index.html @@ -16,7 +16,7 @@ Amplifier - +
diff --git a/frontend/src/conversation-controls.jsx b/frontend/src/conversation-controls.jsx index c84ec6000..e64ee6464 100644 --- a/frontend/src/conversation-controls.jsx +++ b/frontend/src/conversation-controls.jsx @@ -93,7 +93,8 @@ export function ConversationError({state,session,act}){ } if(item?.read)return null; if(contextLimited)return
Context limit reached. {failure.summary} {failure.guidance}{item&&}
; - const recorded=Number.isFinite(failure?.recordedAt)&&failure.recordedAt>0?new Date(failure.recordedAt*1000):null; + 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&&}
; } diff --git a/frontend/tests/session-health-browser.mjs b/frontend/tests/session-health-browser.mjs index ead32e270..5bba06126 100644 --- a/frontend/tests/session-health-browser.mjs +++ b/frontend/tests/session-health-browser.mjs @@ -28,7 +28,8 @@ try{ 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/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/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 index 805d7dc65..3d4f37047 100644 --- a/tests/test_recovery_observations.py +++ b/tests/test_recovery_observations.py @@ -53,3 +53,9 @@ def test_only_known_status_and_outcome_are_projected(): 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/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" }, From f6dfa6a5d8c5577fd7b3bf944cdaff2fbb178bbd Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Mon, 28 Sep 2026 07:03:38 -0700 Subject: [PATCH 4/5] Align module startup browser fixture with runtime error type --- tests/fixtures/session_health_ui_server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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', From de72622ade2a398abbc3db91a430f89e4b66113c Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Mon, 28 Sep 2026 07:15:29 -0700 Subject: [PATCH 5/5] Preserve safe provider guidance in startup diagnostic errors --- amplifier_web/runtime.py | 12 +++++++++++- amplifier_web/session_health.py | 4 ++-- tests/test_startup_failure_details.py | 27 +++++++++++++++++++++------ 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/amplifier_web/runtime.py b/amplifier_web/runtime.py index dd780fac4..72b11126a 100644 --- a/amplifier_web/runtime.py +++ b/amplifier_web/runtime.py @@ -397,7 +397,17 @@ async def _read(self, sid, row): failure=data.get("error") or str(failure)) from .module_failures import ConfiguredModuleError if not isinstance(failure, ConfiguredModuleError): - failure = RuntimeStartupError("The conversation worker could not start.") + 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) diff --git a/amplifier_web/session_health.py b/amplifier_web/session_health.py index 70d49a8c2..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.' 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: