decocms 2.349.0 → 2.349.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/AlertCircle-Ci59Ggr5.js +1 -0
- package/dist/client/assets/ArrowNarrowLeft-BIdlNptx.js +1 -0
- package/dist/client/assets/ArrowUpRight-B9j-F1Lb.js +1 -0
- package/dist/client/assets/Building02-gTFW2ZR0.js +1 -0
- package/dist/client/assets/Check-Ci3NKJtQ.js +1 -0
- package/dist/client/assets/CheckCircle-v2OANUXs.js +1 -0
- package/dist/client/assets/ChevronDown-BbJLyXMc.js +1 -0
- package/dist/client/assets/ChevronRight-ueCxNly9.js +1 -0
- package/dist/client/assets/ChevronUp-CnDZ2qFd.js +1 -0
- package/dist/client/assets/Container-dsPy-iBm.js +1 -0
- package/dist/client/assets/DotsVertical-CLaF7h3S.js +1 -0
- package/dist/client/assets/HardDrive-C9GTDecQ.js +1 -0
- package/dist/client/assets/Key01-kpBo4N_k.js +1 -0
- package/dist/client/assets/LayoutLeft-B2mAtgg8.js +1 -0
- package/dist/client/assets/LinkExternal01-BxBDc-Io.js +1 -0
- package/dist/client/assets/Lock01-CfSlgv5U.js +1 -0
- package/dist/client/assets/Monitor01-C_JgLou7.js +1 -0
- package/dist/client/assets/Palette-0KvUeMDq.js +1 -0
- package/dist/client/assets/Play-CmEYILqg.js +1 -0
- package/dist/client/assets/Plus-hAmGfI5d.js +1 -0
- package/dist/client/assets/RefreshCcw01-DRiBCekN.js +1 -0
- package/dist/client/assets/SearchLg-B0Iym3Qh.js +1 -0
- package/dist/client/assets/SearchMd-CrZAjmwK.js +1 -0
- package/dist/client/assets/Settings02-CUKOsyIy.js +1 -0
- package/dist/client/assets/Shield01-Dttif_PP.js +1 -0
- package/dist/client/assets/Star01-DVJmd20F.js +1 -0
- package/dist/client/assets/Sun-Dyc8UG2-.js +1 -0
- package/dist/client/assets/Tool01-C7vVX3I_.js +1 -0
- package/dist/client/assets/Trash01-CXjJmg5l.js +1 -0
- package/dist/client/assets/Upload01-Dx8CQFiG.js +1 -0
- package/dist/client/assets/User01-gQETERq_.js +1 -0
- package/dist/client/assets/Users01-CEwZi0M-.js +1 -0
- package/dist/client/assets/Users03-BciLLgsJ.js +1 -0
- package/dist/client/assets/X-CVeWUCn2.js +1 -0
- package/dist/client/assets/XCircle-CFYtOcD0.js +1 -0
- package/dist/client/assets/XClose-D44IHK-K.js +1 -0
- package/dist/client/assets/Zap-BV4_KNog.js +1 -0
- package/dist/client/assets/ZapSquare-D1Zv33Z4.js +1 -0
- package/dist/client/assets/accordion-cejGEwtM.js +1 -0
- package/dist/client/assets/agent-icon-CPily1n1.js +1 -0
- package/dist/client/assets/agent-icons-B6m6LOlD.js +4 -0
- package/dist/client/assets/agents-list-DpuRhvhd.js +1 -0
- package/dist/client/assets/ai-providers-BAW2FXbH.js +1 -0
- package/dist/client/assets/alert-dialog-CeMXa9bM.js +7 -0
- package/dist/client/assets/auth-catchall-DUAORd7j.js +1 -0
- package/dist/client/assets/auth-split-layout-B0s9CycZ.js +1 -0
- package/dist/client/assets/automation-list-row-B5CQeZ3H.js +1 -0
- package/dist/client/assets/automations-DeyUeQv8.js +1 -0
- package/dist/client/assets/avatar-CQayryG1.js +1 -0
- package/dist/client/assets/badge-DvrH0Zwq.js +1 -0
- package/dist/client/assets/brand-context-pQZvUnQd.js +1 -0
- package/dist/client/assets/card-BE4Ak2ag.js +1 -0
- package/dist/client/assets/chat-context-DI9FQF-O.js +20 -0
- package/dist/client/assets/checkbox-Bm1cI0Y-.js +1 -0
- package/dist/client/assets/collection-detail-C5DOLWu-.js +1 -0
- package/dist/client/assets/collection-display-button-BnvfIO7x.js +1 -0
- package/dist/client/assets/collection-search-7yo7LXuA.js +1 -0
- package/dist/client/assets/collection-search-99w2V6Mt.js +5 -0
- package/dist/client/assets/collection-table-wrapper-YS_ej-uN.js +1 -0
- package/dist/client/assets/collection-tabs-DRlu6g1M.js +1 -0
- package/dist/client/assets/collections-DfLI4wUo.js +1 -0
- package/dist/client/assets/command-Cvf2BALk.js +1 -0
- package/dist/client/assets/connection-card-C06niuEU.js +1 -0
- package/dist/client/assets/connection-detail-CUgILld5.js +1 -0
- package/dist/client/assets/connection-form-helpers-B7V2-1St.js +1 -0
- package/dist/client/assets/connections-DNU1Icoi.js +1 -0
- package/dist/client/assets/constants-CHhR9Vsg.js +10 -0
- package/dist/client/assets/constants-DbrVrzDR.js +1 -0
- package/dist/client/assets/decopilot-sse-pool-wF8GKxYC.js +1 -0
- package/dist/client/assets/dialog-CLtcM9Ah.js +1 -0
- package/dist/client/assets/domain-settings-MsztU4uc.js +1 -0
- package/dist/client/assets/drawer-DR-4CQ84.js +1 -0
- package/dist/client/assets/dropdown-menu-BvVsEA_a.js +1 -0
- package/dist/client/assets/dynamic-plugin-layout-BjP4qRu7.js +1 -0
- package/dist/client/assets/empty-state-1CTql2_S.js +1 -0
- package/dist/client/assets/empty-state-D4Gq_MQJ.js +1 -0
- package/dist/client/assets/extract-connection-data-DZwFArzR.js +1 -0
- package/dist/client/assets/features-Cm_t4q6k.js +1 -0
- package/dist/client/assets/file-explorer-pJH6fS2K.js +4 -0
- package/dist/client/assets/files-BrMnI7Vm.js +1 -0
- package/dist/client/assets/form-Dz6N2j3U.js +1 -0
- package/dist/client/assets/general-DJZi-nQW.js +1 -0
- package/dist/client/assets/hooks-Bf955c-B.js +15 -0
- package/dist/client/assets/index-451i2Xvm.js +1 -0
- package/dist/client/assets/index-BG1SSjun.js +1 -0
- package/dist/client/assets/index-Bhu6AVrv.js +26 -0
- package/dist/client/assets/index-Bu5p6hfK.js +1 -0
- package/dist/client/assets/index-Buxu-fB5.js +1 -0
- package/dist/client/assets/index-CEFyIwof.js +8 -0
- package/dist/client/assets/index-CHEFMW4h.js +1 -0
- package/dist/client/assets/index-CM5X2ymr.js +1 -0
- package/dist/client/assets/index-CMuBHS3H.js +171 -0
- package/dist/client/assets/index-CWTcwqDs.js +142 -0
- package/dist/client/assets/index-DHaQZ84k.js +1 -0
- package/dist/client/assets/index-DjxviUD8.js +1 -0
- package/dist/client/assets/index-DsBvapBH.js +48 -0
- package/dist/client/assets/index-DsZ6c0xE.js +1 -0
- package/dist/client/assets/index-iMnxF_ca.js +306 -0
- package/dist/client/assets/index-oBIC-1v1.js +547 -0
- package/dist/client/assets/infiniteQueryObserver-QD-4E4sd.js +1 -0
- package/dist/client/assets/input-B1630xQu.js +1 -0
- package/dist/client/assets/integration-icon-2gfu8hCN.js +1 -0
- package/dist/client/assets/label-cz_vsqLq.js +1 -0
- package/dist/client/assets/layout-Ds8TDcDU.js +1 -0
- package/dist/client/assets/lean-canvas-recruit-modal-idy7Vg_Y.js +179 -0
- package/dist/client/assets/login-DeNp-bQI.js +1 -0
- package/dist/client/assets/members-CdZViYpQ.js +3 -0
- package/dist/client/assets/monaco-editor-D5ETR4nY.js +19 -0
- package/dist/client/assets/monitoring-stats-row-BFwJu7Cc.js +42 -0
- package/dist/client/assets/oauth-callback-CBEcYzAj.js +1 -0
- package/dist/client/assets/oauth-callback-ai-provider-BUPcayZu.js +1 -0
- package/dist/client/assets/onboarding-CrwrGSck.js +1 -0
- package/dist/client/assets/org-layout-LzjbE1Zr.js +1 -0
- package/dist/client/assets/org-plugin-layout-C8aP0fOa.js +1 -0
- package/dist/client/assets/pair-BOtrLM6c.js +130 -0
- package/dist/client/assets/plugin-empty-state-BV4O8pJF.js +1 -0
- package/dist/client/assets/plugin-header-BVPq464R.js +1 -0
- package/dist/client/assets/plugin-layout-TEKzDuDE.js +1 -0
- package/dist/client/assets/popover-CDeAennj.js +1 -0
- package/dist/client/assets/profile-OXoM2rz6.js +1 -0
- package/dist/client/assets/project-app-view-RkGYt818.js +1 -0
- package/dist/client/assets/registry-Y9MfEEbO.js +2 -0
- package/dist/client/assets/registry-layout-Dju_a_Aa.js +27 -0
- package/dist/client/assets/required-auth-layout-BGXPoQDs.js +1 -0
- package/dist/client/assets/reset-password-DkYj7sa5.js +1 -0
- package/dist/client/assets/resizable-D4d7t73g.js +1 -0
- package/dist/client/assets/roles-DEJmGAru.js +1 -0
- package/dist/client/assets/search-input-BUsXlJKd.js +1 -0
- package/dist/client/assets/secrets-CsyJ7mcQ.js +1 -0
- package/dist/client/assets/sections-editor-DWlABxD7.js +1 -0
- package/dist/client/assets/select-Djqcli6l.js +1 -0
- package/dist/client/assets/settings-layout-5om5ZNTl.js +1 -0
- package/dist/client/assets/settings-section-OyipsGCU.js +1 -0
- package/dist/client/assets/shell-layout-DHhJE93T.js +1 -0
- package/dist/client/assets/sidebar-D09GVvDm.js +1 -0
- package/dist/client/assets/skeleton-CWbqKz0H.js +1 -0
- package/dist/client/assets/spinner-nrBywJd2.js +1 -0
- package/dist/client/assets/sso-D108U4R2.js +1 -0
- package/dist/client/assets/store-BOTpNTy8.js +1 -0
- package/dist/client/assets/store-registry-CTi1yHvQ.js +2 -0
- package/dist/client/assets/switch-bZfAJNqm.js +1 -0
- package/dist/client/assets/table-Dl4NEFnQ.js +1 -0
- package/dist/client/assets/tabs-ue1Mj7d5.js +1 -0
- package/dist/client/assets/task-status-BdQalzh2.js +1 -0
- package/dist/client/assets/textarea-Ch4MtVbZ.js +1 -0
- package/dist/client/assets/toggle-group-CLB69pp0.js +1 -0
- package/dist/client/assets/tools-list-C6L893Gk.js +1 -0
- package/dist/client/assets/tooltip-PQxufnFo.js +1 -0
- package/dist/client/assets/types-z5PIaDg9.js +87 -0
- package/dist/client/assets/use-ai-providers-Sr9obqYH.js +1 -0
- package/dist/client/assets/use-collections-CFl1imBR.js +1 -0
- package/dist/client/assets/use-connection-D8Qqycyw.js +1 -0
- package/dist/client/assets/use-copy-ByZOI3ux.js +1 -0
- package/dist/client/assets/use-create-virtual-mcp-ByJ4-XwE.js +1 -0
- package/dist/client/assets/use-create-website-agent-BZWU_QyO.js +4 -0
- package/dist/client/assets/use-debounced-autosave-CedtFuNY.js +1 -0
- package/dist/client/assets/use-delete-connection-DkpNTwU3.js +1 -0
- package/dist/client/assets/use-infinite-scroll-DPrp6QV6.js +1 -0
- package/dist/client/assets/use-list-state-CXK6K_7M.js +1 -0
- package/dist/client/assets/use-mcp-tools-DfAwkxlO.js +1 -0
- package/dist/client/assets/use-members-B7rsU1v-.js +1 -0
- package/dist/client/assets/use-navigate-to-agent-CqOOcxcv.js +1 -0
- package/dist/client/assets/use-org-auth-client-DDmR5uAa.js +1 -0
- package/dist/client/assets/use-org-sso-CCDBgrB5.js +1 -0
- package/dist/client/assets/use-organization-roles-DQC8dEak.js +1 -0
- package/dist/client/assets/use-organization-settings-CsWXFQAv.js +1 -0
- package/dist/client/assets/use-registry-connections-DLSuqh9C.js +1 -0
- package/dist/client/assets/use-secrets-CfSjH9sf.js +1 -0
- package/dist/client/assets/use-status-sounds-ClL6fK2-.js +1 -0
- package/dist/client/assets/use-view-mode-BTwbOB8a.js +1 -0
- package/dist/client/assets/use-virtual-mcp-C_JrTtG5.js +1 -0
- package/dist/client/assets/useInfiniteQuery-_4wTX7La.js +1 -0
- package/dist/client/assets/useRouterState-BDHeTK0-.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-C8fxb7yq.js +1 -0
- package/dist/client/assets/user-J-J5vxB3.js +1 -0
- package/dist/client/assets/view-mode-toggle-Bsne224h.js +1 -0
- package/dist/client/assets/workflow-CP12hER0.js +1 -0
- package/dist/client/assets/workflow-detail-CYmSirZh.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/dist/server/node_modules/@opentelemetry/core/LICENSE +201 -0
- package/dist/server/node_modules/@opentelemetry/core/README.md +73 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/ExportResult.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/ExportResult.js +21 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/ExportResult.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/constants.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/constants.js +27 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/constants.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js +72 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/utils.d.ts +16 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/utils.js +82 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/baggage/utils.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/anchored-clock.d.ts +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/anchored-clock.js +57 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/anchored-clock.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/attributes.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/attributes.js +87 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/attributes.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/global-error-handler.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/global-error-handler.js +36 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/global-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/globalThis.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/globalThis.js +20 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/globalThis.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/logging-error-handler.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/logging-error-handler.js +59 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/logging-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/time.d.ts +62 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/time.js +154 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/time.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/timer-util.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/timer-util.js +25 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/timer-util.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/types.d.ts +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/types.js +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/common/types.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/index.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/index.js +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/exporter.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/exporter.js +32 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/exporter.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/validators.d.ts +15 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/validators.js +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/internal/validators.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/environment.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/environment.js +28 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/index.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/index.js +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/sdk-info.js +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/browser/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/index.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/index.js +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/environment.d.ts +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/environment.js +97 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/index.d.ts +11 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/index.js +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/sdk-info.js +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/platform/node/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/propagation/composite.d.ts +43 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/propagation/composite.js +77 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/propagation/composite.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/semconv.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/semconv.js +29 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/semconv.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/TraceState.d.ts +22 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/TraceState.js +99 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/TraceState.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.d.ts +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js +99 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/rpc-metadata.d.ts +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/rpc-metadata.js +31 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/rpc-metadata.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js +27 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/callback.d.ts +14 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/callback.js +48 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/callback.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/configuration.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/configuration.js +42 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/configuration.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/lodash.merge.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/lodash.merge.js +153 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/lodash.merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/merge.d.ts +6 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/merge.js +158 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/promise.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/promise.js +36 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/promise.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/timeout.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/timeout.js +51 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/timeout.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/url.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/url.js +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/utils/url.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/version.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/version.js +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esm/version.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/ExportResult.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/ExportResult.js +21 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/ExportResult.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/constants.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/constants.js +27 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/constants.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js +72 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/utils.d.ts +16 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js +82 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/anchored-clock.d.ts +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/anchored-clock.js +57 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/anchored-clock.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/attributes.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/attributes.js +87 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/attributes.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/global-error-handler.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/global-error-handler.js +36 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/global-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/globalThis.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/globalThis.js +20 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/globalThis.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/logging-error-handler.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/logging-error-handler.js +59 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/logging-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/time.d.ts +62 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/time.js +154 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/time.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/timer-util.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/timer-util.js +25 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/timer-util.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/types.d.ts +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/types.js +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/common/types.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/index.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/index.js +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/exporter.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/exporter.js +32 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/exporter.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/validators.d.ts +15 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/validators.js +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/internal/validators.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/environment.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/environment.js +28 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/index.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/index.js +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/sdk-info.js +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/browser/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/index.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/index.js +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/environment.d.ts +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/environment.js +97 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/index.d.ts +11 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/index.js +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/sdk-info.js +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/platform/node/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/propagation/composite.d.ts +43 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/propagation/composite.js +77 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/propagation/composite.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/semconv.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/semconv.js +29 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/semconv.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/TraceState.d.ts +22 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/TraceState.js +99 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/TraceState.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/W3CTraceContextPropagator.d.ts +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/W3CTraceContextPropagator.js +99 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/W3CTraceContextPropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/rpc-metadata.d.ts +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/rpc-metadata.js +31 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/rpc-metadata.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/suppress-tracing.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/suppress-tracing.js +27 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/trace/suppress-tracing.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/callback.d.ts +14 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/callback.js +48 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/callback.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/configuration.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/configuration.js +42 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/configuration.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/lodash.merge.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/lodash.merge.js +153 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/lodash.merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/merge.d.ts +6 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/merge.js +158 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/promise.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/promise.js +36 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/promise.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/timeout.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/timeout.js +51 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/timeout.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/url.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/url.js +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/utils/url.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/version.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/version.js +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/esnext/version.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/ExportResult.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/ExportResult.js +24 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/ExportResult.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/constants.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/constants.js +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/constants.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js +76 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts +16 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/utils.js +89 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/baggage/utils.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/anchored-clock.d.ts +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/anchored-clock.js +61 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/anchored-clock.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/attributes.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/attributes.js +93 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/attributes.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/global-error-handler.d.ts +13 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/global-error-handler.js +41 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/global-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/globalThis.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/globalThis.js +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/globalThis.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js +63 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/time.d.ts +62 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/time.js +169 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/time.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/timer-util.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/timer-util.js +29 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/timer-util.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/types.d.ts +23 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/types.js +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/common/types.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/index.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/index.js +92 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/exporter.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/exporter.js +36 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/exporter.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/validators.d.ts +15 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/validators.js +46 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/internal/validators.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/environment.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/environment.js +35 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/index.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/index.js +32 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/sdk-info.js +29 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/browser/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/index.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/index.js +27 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/environment.d.ts +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/environment.js +104 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/environment.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/index.d.ts +11 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/index.js +32 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/index.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js +29 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/propagation/composite.d.ts +43 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/propagation/composite.js +81 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/propagation/composite.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/semconv.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/semconv.js +32 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/semconv.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/TraceState.d.ts +22 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/TraceState.js +103 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/TraceState.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.d.ts +26 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js +104 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.d.ts +18 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js +37 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.d.ts +5 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js +33 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/callback.d.ts +14 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/callback.js +52 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/callback.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/configuration.d.ts +7 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/configuration.js +46 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/configuration.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/lodash.merge.d.ts +30 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js +157 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/merge.d.ts +6 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/merge.js +162 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/merge.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/promise.d.ts +10 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/promise.js +40 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/promise.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/timeout.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/timeout.js +56 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/timeout.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/url.d.ts +8 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/url.js +45 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/utils/url.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/version.d.ts +2 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/version.js +21 -0
- package/dist/server/node_modules/@opentelemetry/core/build/src/version.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/core/package.json +94 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js +23 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js +2 -7
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.d.ts +26 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/export-response.d.ts +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js +5 -3
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.js +1 -10
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js +9 -8
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js +17 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.js +13 -8
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-types.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js +37 -14
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.d.ts +4 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js +10 -12
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.js +23 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/create-legacy-browser-delegate.js +2 -7
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.d.ts +26 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/export-response.d.ts +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.js +5 -3
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.js +1 -10
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-export-delegate.js +9 -8
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/retrying-transport.js +17 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.js +13 -8
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-exporter-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-types.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.js +37 -14
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.d.ts +4 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.js +10 -12
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.js +27 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/create-legacy-browser-delegate.js +1 -6
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.d.ts +26 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/export-response.d.ts +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.js +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.js +7 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.js +2 -12
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-export-delegate.js +9 -8
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/retrying-transport.js +17 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.js +12 -7
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-exporter-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-types.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js +36 -13
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.d.ts +4 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.js +5 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.js +10 -12
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/package.json +6 -6
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/package.json +14 -12
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/ResourceImpl.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/ResourceImpl.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/default-service-name.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/default-service-name.js +38 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/default-service-name.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/index.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/index.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/index.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/utils.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/utils.js +0 -3
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/ResourceImpl.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/ResourceImpl.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/default-service-name.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/default-service-name.js +38 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/default-service-name.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/index.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/index.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/index.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/utils.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/utils.js +0 -3
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/ResourceImpl.js +2 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/ResourceImpl.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/default-service-name.d.ts +9 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/src/default-service-name.js +43 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/src/default-service-name.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/resources/build/src/index.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/index.js +2 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/index.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/utils.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/utils.js +1 -5
- package/dist/server/node_modules/@opentelemetry/resources/build/src/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/resources/package.json +5 -9
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js +36 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js +36 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js +41 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/package.json +6 -6
- package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
- package/dist/server/node_modules/ansi-styles/index.js +223 -0
- package/dist/server/node_modules/ansi-styles/license +9 -0
- package/dist/server/node_modules/ansi-styles/package.json +54 -0
- package/dist/server/node_modules/ansi-styles/readme.md +173 -0
- package/package.json +1 -1
- package/dist/client/assets/AlertCircle-BmKhZC6t.js +0 -1
- package/dist/client/assets/ArrowNarrowLeft-BoRYPjZf.js +0 -1
- package/dist/client/assets/ArrowUpRight-xDaEUxtZ.js +0 -1
- package/dist/client/assets/Building02-DAhpzXmV.js +0 -1
- package/dist/client/assets/Check-CrNaGAOT.js +0 -1
- package/dist/client/assets/CheckCircle-CkiD-ptS.js +0 -1
- package/dist/client/assets/ChevronDown-BLNvAxzA.js +0 -1
- package/dist/client/assets/ChevronRight-BT2Owf7W.js +0 -1
- package/dist/client/assets/ChevronUp-DppyqOy_.js +0 -1
- package/dist/client/assets/Container-BB8lCbcf.js +0 -1
- package/dist/client/assets/DotsVertical-CWC-Q7XB.js +0 -1
- package/dist/client/assets/HardDrive-DJiopC_G.js +0 -1
- package/dist/client/assets/Key01-BOl3Nb6i.js +0 -1
- package/dist/client/assets/LayoutLeft-BiZqc1AW.js +0 -1
- package/dist/client/assets/LinkExternal01-CiUx-ICr.js +0 -1
- package/dist/client/assets/Lock01-BDWQiDTX.js +0 -1
- package/dist/client/assets/Monitor01-BYDqPJoh.js +0 -1
- package/dist/client/assets/Palette-CHMqb_Sx.js +0 -1
- package/dist/client/assets/Play-CA7wmWRb.js +0 -1
- package/dist/client/assets/Plus-XtxdxwUi.js +0 -1
- package/dist/client/assets/RefreshCcw01-D9Pf5Ly0.js +0 -1
- package/dist/client/assets/SearchLg-DdUP6Bme.js +0 -1
- package/dist/client/assets/SearchMd-DziAw8zA.js +0 -1
- package/dist/client/assets/Settings02-BBhEZNK1.js +0 -1
- package/dist/client/assets/Shield01-hmuUfN_l.js +0 -1
- package/dist/client/assets/Star01-BKXHyxrX.js +0 -1
- package/dist/client/assets/Sun-EXsXgRVv.js +0 -1
- package/dist/client/assets/Tool01-C6_NSYOn.js +0 -1
- package/dist/client/assets/Trash01-BlGUTlIa.js +0 -1
- package/dist/client/assets/Upload01-CosLJ20m.js +0 -1
- package/dist/client/assets/User01-WwzTnH9h.js +0 -1
- package/dist/client/assets/Users01-BNgdAHlh.js +0 -1
- package/dist/client/assets/Users03-O1UfptBe.js +0 -1
- package/dist/client/assets/X-ConFmeYD.js +0 -1
- package/dist/client/assets/XCircle-BZGEMmJp.js +0 -1
- package/dist/client/assets/XClose-DyYrATh0.js +0 -1
- package/dist/client/assets/Zap-CZZ76zeC.js +0 -1
- package/dist/client/assets/ZapSquare-D6gw4S6I.js +0 -1
- package/dist/client/assets/accordion-DOIgYa3m.js +0 -1
- package/dist/client/assets/agent-icon-CqaGrXM5.js +0 -1
- package/dist/client/assets/agent-icons-CcHzyOus.js +0 -4
- package/dist/client/assets/agents-list-C8-fUda8.js +0 -1
- package/dist/client/assets/ai-providers-DZ50qAzn.js +0 -1
- package/dist/client/assets/alert-dialog-gvp1xcyb.js +0 -7
- package/dist/client/assets/auth-catchall-Ca0d8d5_.js +0 -1
- package/dist/client/assets/auth-split-layout-BBfGtJ-P.js +0 -1
- package/dist/client/assets/automation-list-row-ilokvPe8.js +0 -1
- package/dist/client/assets/automations-CilSaP6E.js +0 -1
- package/dist/client/assets/avatar-BFIPYdmS.js +0 -1
- package/dist/client/assets/badge-F_YS93KL.js +0 -1
- package/dist/client/assets/brand-context-BSdRc_wY.js +0 -1
- package/dist/client/assets/card-BLtWf1vv.js +0 -1
- package/dist/client/assets/chat-context-C_UlCu9R.js +0 -20
- package/dist/client/assets/checkbox-B-10Vbob.js +0 -1
- package/dist/client/assets/collection-detail-U6awfXM5.js +0 -1
- package/dist/client/assets/collection-display-button-DYn66xMX.js +0 -1
- package/dist/client/assets/collection-search-Be0Llkis.js +0 -5
- package/dist/client/assets/collection-search-Dwcyvv-h.js +0 -1
- package/dist/client/assets/collection-table-wrapper-DBQMxiQW.js +0 -1
- package/dist/client/assets/collection-tabs-CYBGh-FP.js +0 -1
- package/dist/client/assets/collections-CUM1MJGU.js +0 -1
- package/dist/client/assets/command-BEV4h8Vj.js +0 -1
- package/dist/client/assets/connection-card-BJPoUEGP.js +0 -1
- package/dist/client/assets/connection-detail-CpVjoyt_.js +0 -1
- package/dist/client/assets/connection-form-helpers-D6ChRHbF.js +0 -1
- package/dist/client/assets/connections-Npkm7r0d.js +0 -1
- package/dist/client/assets/constants-BF2Pp5rA.js +0 -10
- package/dist/client/assets/constants-BgR1CRPj.js +0 -1
- package/dist/client/assets/decopilot-sse-pool-BeLZTPFv.js +0 -1
- package/dist/client/assets/dialog-CXgHNCVv.js +0 -1
- package/dist/client/assets/domain-settings-C6zx52Kw.js +0 -1
- package/dist/client/assets/drawer-ClavBd46.js +0 -1
- package/dist/client/assets/dropdown-menu-BTioORiE.js +0 -1
- package/dist/client/assets/dynamic-plugin-layout-BHBzsg1h.js +0 -1
- package/dist/client/assets/empty-state-B6OfaeEP.js +0 -1
- package/dist/client/assets/empty-state-C7ZCnKTu.js +0 -1
- package/dist/client/assets/extract-connection-data-CaIHijsv.js +0 -1
- package/dist/client/assets/features-DBmBgYsh.js +0 -1
- package/dist/client/assets/file-explorer-BKYBLBlQ.js +0 -4
- package/dist/client/assets/files-BioUVh6X.js +0 -1
- package/dist/client/assets/form-BQt61rfj.js +0 -1
- package/dist/client/assets/general-BwaSDcRz.js +0 -1
- package/dist/client/assets/hooks-pAxPDd3g.js +0 -15
- package/dist/client/assets/index-B75V-Dl8.js +0 -1
- package/dist/client/assets/index-BJvh5cd5.js +0 -1
- package/dist/client/assets/index-BS3r7u9a.js +0 -142
- package/dist/client/assets/index-BVchsjNk.js +0 -306
- package/dist/client/assets/index-BWSt99Z-.js +0 -1
- package/dist/client/assets/index-CHaM85Na.js +0 -1
- package/dist/client/assets/index-Ccvwnf6R.js +0 -8
- package/dist/client/assets/index-CjLf3g3Q.js +0 -1
- package/dist/client/assets/index-CppZCdwE.js +0 -1
- package/dist/client/assets/index-Csm0SXnj.js +0 -1
- package/dist/client/assets/index-DFkbxQ6S.js +0 -171
- package/dist/client/assets/index-DUSamZpR.js +0 -1
- package/dist/client/assets/index-Ivzr1Y-N.js +0 -48
- package/dist/client/assets/index-XgR9RDKv.js +0 -547
- package/dist/client/assets/index-oR3TSaTK.js +0 -26
- package/dist/client/assets/index-tcI58vwn.js +0 -1
- package/dist/client/assets/infiniteQueryObserver-BLkDBQOp.js +0 -1
- package/dist/client/assets/input-C4qjgFx-.js +0 -1
- package/dist/client/assets/integration-icon-BST8Qdgn.js +0 -1
- package/dist/client/assets/label-DVfjl0Zo.js +0 -1
- package/dist/client/assets/layout-C3k1iQK_.js +0 -1
- package/dist/client/assets/lean-canvas-recruit-modal-Dwd9cBWg.js +0 -179
- package/dist/client/assets/login-O9NxW5LP.js +0 -1
- package/dist/client/assets/members-CQ0R-b3k.js +0 -3
- package/dist/client/assets/monaco-editor-Hvzvnp6i.js +0 -19
- package/dist/client/assets/monitoring-stats-row-7_BO-jOE.js +0 -42
- package/dist/client/assets/oauth-callback-DbdKXyMZ.js +0 -1
- package/dist/client/assets/oauth-callback-ai-provider-DLbI39Fk.js +0 -1
- package/dist/client/assets/onboarding-BWM0f0fn.js +0 -1
- package/dist/client/assets/org-layout-CjSguaZX.js +0 -1
- package/dist/client/assets/org-plugin-layout-Cef2hf4H.js +0 -1
- package/dist/client/assets/pair-C7NQvKuG.js +0 -130
- package/dist/client/assets/plugin-empty-state-B3KUkwJ0.js +0 -1
- package/dist/client/assets/plugin-header-DGbL4537.js +0 -1
- package/dist/client/assets/plugin-layout-B2EZssZR.js +0 -1
- package/dist/client/assets/popover-CO5NETop.js +0 -1
- package/dist/client/assets/profile-BQHBP7Nj.js +0 -1
- package/dist/client/assets/project-app-view-DJfEPJZ8.js +0 -1
- package/dist/client/assets/registry-WO4Rw6Ds.js +0 -2
- package/dist/client/assets/registry-layout-BDLGdROI.js +0 -27
- package/dist/client/assets/required-auth-layout-BwiYSAWO.js +0 -1
- package/dist/client/assets/reset-password-BO-D-Ul-.js +0 -1
- package/dist/client/assets/resizable-B1w3cE0e.js +0 -1
- package/dist/client/assets/roles-ClBUTtFJ.js +0 -1
- package/dist/client/assets/search-input-IRDrDsfa.js +0 -1
- package/dist/client/assets/secrets-Cnv4vvof.js +0 -1
- package/dist/client/assets/sections-editor-B5jpmRCQ.js +0 -1
- package/dist/client/assets/select-l0l_nkPt.js +0 -1
- package/dist/client/assets/settings-layout-CFPOHDpN.js +0 -1
- package/dist/client/assets/settings-section-Bov6SIKV.js +0 -1
- package/dist/client/assets/shell-layout-DJ9yBZxR.js +0 -1
- package/dist/client/assets/sidebar-_o4w8VkB.js +0 -1
- package/dist/client/assets/skeleton-8g7HzKek.js +0 -1
- package/dist/client/assets/spinner-DK-klwNM.js +0 -1
- package/dist/client/assets/sso-DuqR7dvH.js +0 -1
- package/dist/client/assets/store-TKQ1lLn8.js +0 -1
- package/dist/client/assets/store-registry-DcTch51D.js +0 -2
- package/dist/client/assets/switch-DooaEasj.js +0 -1
- package/dist/client/assets/table-CKKdl7JI.js +0 -1
- package/dist/client/assets/tabs-CE6Aszwi.js +0 -1
- package/dist/client/assets/task-status-Lxw7vMju.js +0 -1
- package/dist/client/assets/textarea-bruv8iLB.js +0 -1
- package/dist/client/assets/toggle-group-B19x7i-n.js +0 -1
- package/dist/client/assets/tools-list-DU01plMf.js +0 -1
- package/dist/client/assets/tooltip-CLOcbtKS.js +0 -1
- package/dist/client/assets/types-DLXlafpE.js +0 -87
- package/dist/client/assets/use-ai-providers-NbQZyIgB.js +0 -1
- package/dist/client/assets/use-collections-B2VQ7Kbx.js +0 -1
- package/dist/client/assets/use-connection-Djl96tty.js +0 -1
- package/dist/client/assets/use-copy-B6w5MeJJ.js +0 -1
- package/dist/client/assets/use-create-virtual-mcp-Ck6rpM3U.js +0 -1
- package/dist/client/assets/use-create-website-agent--bsaTQbo.js +0 -4
- package/dist/client/assets/use-debounced-autosave-B6SwP_W-.js +0 -1
- package/dist/client/assets/use-delete-connection-8qc9QIrb.js +0 -1
- package/dist/client/assets/use-infinite-scroll-Ckw4ZF-G.js +0 -1
- package/dist/client/assets/use-list-state-hvXDig6x.js +0 -1
- package/dist/client/assets/use-mcp-tools-Cs4FmbN3.js +0 -1
- package/dist/client/assets/use-members-DY1PUMAa.js +0 -1
- package/dist/client/assets/use-navigate-to-agent-DKPEPPrs.js +0 -1
- package/dist/client/assets/use-org-auth-client-DNaZbGfJ.js +0 -1
- package/dist/client/assets/use-org-sso-Ci-jaVjO.js +0 -1
- package/dist/client/assets/use-organization-roles-Dsnpftyx.js +0 -1
- package/dist/client/assets/use-organization-settings-xkzWaNBc.js +0 -1
- package/dist/client/assets/use-registry-connections-CMioWiLZ.js +0 -1
- package/dist/client/assets/use-secrets-BMKCfR1G.js +0 -1
- package/dist/client/assets/use-status-sounds-CAAWTFjB.js +0 -1
- package/dist/client/assets/use-view-mode-BY7bbxpp.js +0 -1
- package/dist/client/assets/use-virtual-mcp-Bj5rMeWX.js +0 -1
- package/dist/client/assets/useInfiniteQuery-C6jx0Ota.js +0 -1
- package/dist/client/assets/useRouterState-DwALRtpI.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DUsuf4RN.js +0 -1
- package/dist/client/assets/user-D2jthvYJ.js +0 -1
- package/dist/client/assets/view-mode-toggle-BLuM5hJi.js +0 -1
- package/dist/client/assets/workflow-_mtAjRBX.js +0 -1
- package/dist/client/assets/workflow-detail-DJgtMc-x.js +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.d.ts +0 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.js +0 -86
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.d.ts +0 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.js +0 -86
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.d.ts +0 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.js +0 -90
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/default-service-name.js +0 -19
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/browser/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/default-service-name.js +0 -19
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esm/platform/node/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/default-service-name.js +0 -19
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/browser/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/default-service-name.js +0 -19
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/index.js +0 -17
- package/dist/server/node_modules/@opentelemetry/resources/build/esnext/platform/node/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/default-service-name.js +0 -23
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/index.js +0 -21
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/browser/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/index.js +0 -21
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/index.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/default-service-name.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/default-service-name.js +0 -23
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/default-service-name.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/index.d.ts +0 -2
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/index.js +0 -21
- package/dist/server/node_modules/@opentelemetry/resources/build/src/platform/node/index.js.map +0 -1
- package/dist/server/node_modules/is-what/LICENSE +0 -21
- package/dist/server/node_modules/is-what/README.md +0 -294
- package/dist/server/node_modules/is-what/dist/cjs/index.cjs +0 -209
- package/dist/server/node_modules/is-what/dist/cjs/index.d.cts +0 -380
- package/dist/server/node_modules/is-what/dist/index.d.ts +0 -380
- package/dist/server/node_modules/is-what/dist/index.js +0 -171
- package/dist/server/node_modules/is-what/package.json +0 -128
- package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
- package/dist/server/node_modules/mimic-fn/index.js +0 -13
- package/dist/server/node_modules/mimic-fn/license +0 -9
- package/dist/server/node_modules/mimic-fn/package.json +0 -42
- package/dist/server/node_modules/mimic-fn/readme.md +0 -69
- package/dist/server/node_modules/pg-int8/LICENSE +0 -13
- package/dist/server/node_modules/pg-int8/README.md +0 -16
- package/dist/server/node_modules/pg-int8/index.js +0 -100
- package/dist/server/node_modules/pg-int8/package.json +0 -24
- package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
- package/dist/server/node_modules/postgres-array/index.js +0 -97
- package/dist/server/node_modules/postgres-array/license +0 -21
- package/dist/server/node_modules/postgres-array/package.json +0 -35
- package/dist/server/node_modules/postgres-array/readme.md +0 -43
- package/dist/server/node_modules/postgres-bytea/index.js +0 -33
- package/dist/server/node_modules/postgres-bytea/license +0 -21
- package/dist/server/node_modules/postgres-bytea/package.json +0 -34
- package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
- package/dist/server/node_modules/postgres-date/index.js +0 -116
- package/dist/server/node_modules/postgres-date/license +0 -21
- package/dist/server/node_modules/postgres-date/package.json +0 -33
- package/dist/server/node_modules/postgres-date/readme.md +0 -49
- package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
- package/dist/server/node_modules/postgres-interval/index.js +0 -125
- package/dist/server/node_modules/postgres-interval/license +0 -21
- package/dist/server/node_modules/postgres-interval/package.json +0 -36
- package/dist/server/node_modules/postgres-interval/readme.md +0 -48
- package/dist/server/node_modules/protobufjs/LICENSE +0 -39
- package/dist/server/node_modules/protobufjs/README.md +0 -727
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.js +0 -7836
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.js +0 -2736
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
- package/dist/server/node_modules/protobufjs/dist/protobuf.js +0 -9684
- package/dist/server/node_modules/protobufjs/dist/protobuf.js.map +0 -1
- package/dist/server/node_modules/protobufjs/dist/protobuf.min.js +0 -8
- package/dist/server/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
- package/dist/server/node_modules/protobufjs/ext/debug/README.md +0 -4
- package/dist/server/node_modules/protobufjs/ext/debug/index.js +0 -71
- package/dist/server/node_modules/protobufjs/ext/descriptor/README.md +0 -72
- package/dist/server/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -191
- package/dist/server/node_modules/protobufjs/ext/descriptor/index.js +0 -1162
- package/dist/server/node_modules/protobufjs/ext/descriptor/test.js +0 -54
- package/dist/server/node_modules/protobufjs/google/LICENSE +0 -27
- package/dist/server/node_modules/protobufjs/google/README.md +0 -1
- package/dist/server/node_modules/protobufjs/google/api/annotations.json +0 -83
- package/dist/server/node_modules/protobufjs/google/api/annotations.proto +0 -11
- package/dist/server/node_modules/protobufjs/google/api/http.json +0 -86
- package/dist/server/node_modules/protobufjs/google/api/http.proto +0 -31
- package/dist/server/node_modules/protobufjs/google/protobuf/api.json +0 -118
- package/dist/server/node_modules/protobufjs/google/protobuf/api.proto +0 -34
- package/dist/server/node_modules/protobufjs/google/protobuf/descriptor.json +0 -1382
- package/dist/server/node_modules/protobufjs/google/protobuf/descriptor.proto +0 -535
- package/dist/server/node_modules/protobufjs/google/protobuf/source_context.json +0 -20
- package/dist/server/node_modules/protobufjs/google/protobuf/source_context.proto +0 -7
- package/dist/server/node_modules/protobufjs/google/protobuf/type.json +0 -202
- package/dist/server/node_modules/protobufjs/google/protobuf/type.proto +0 -89
- package/dist/server/node_modules/protobufjs/index.d.ts +0 -2799
- package/dist/server/node_modules/protobufjs/index.js +0 -4
- package/dist/server/node_modules/protobufjs/light.d.ts +0 -2
- package/dist/server/node_modules/protobufjs/light.js +0 -4
- package/dist/server/node_modules/protobufjs/minimal.d.ts +0 -2
- package/dist/server/node_modules/protobufjs/minimal.js +0 -4
- package/dist/server/node_modules/protobufjs/package.json +0 -114
- package/dist/server/node_modules/protobufjs/scripts/postinstall.js +0 -32
- package/dist/server/node_modules/protobufjs/src/common.js +0 -399
- package/dist/server/node_modules/protobufjs/src/converter.js +0 -301
- package/dist/server/node_modules/protobufjs/src/decoder.js +0 -127
- package/dist/server/node_modules/protobufjs/src/encoder.js +0 -100
- package/dist/server/node_modules/protobufjs/src/enum.js +0 -223
- package/dist/server/node_modules/protobufjs/src/field.js +0 -453
- package/dist/server/node_modules/protobufjs/src/index-light.js +0 -104
- package/dist/server/node_modules/protobufjs/src/index-minimal.js +0 -36
- package/dist/server/node_modules/protobufjs/src/index.js +0 -12
- package/dist/server/node_modules/protobufjs/src/mapfield.js +0 -126
- package/dist/server/node_modules/protobufjs/src/message.js +0 -139
- package/dist/server/node_modules/protobufjs/src/method.js +0 -160
- package/dist/server/node_modules/protobufjs/src/namespace.js +0 -546
- package/dist/server/node_modules/protobufjs/src/object.js +0 -381
- package/dist/server/node_modules/protobufjs/src/oneof.js +0 -222
- package/dist/server/node_modules/protobufjs/src/parse.js +0 -1013
- package/dist/server/node_modules/protobufjs/src/reader.js +0 -416
- package/dist/server/node_modules/protobufjs/src/reader_buffer.js +0 -51
- package/dist/server/node_modules/protobufjs/src/root.js +0 -404
- package/dist/server/node_modules/protobufjs/src/roots.js +0 -18
- package/dist/server/node_modules/protobufjs/src/rpc/service.js +0 -142
- package/dist/server/node_modules/protobufjs/src/rpc.js +0 -36
- package/dist/server/node_modules/protobufjs/src/service.js +0 -189
- package/dist/server/node_modules/protobufjs/src/tokenize.js +0 -416
- package/dist/server/node_modules/protobufjs/src/type.js +0 -614
- package/dist/server/node_modules/protobufjs/src/types.js +0 -196
- package/dist/server/node_modules/protobufjs/src/typescript.jsdoc +0 -15
- package/dist/server/node_modules/protobufjs/src/util/longbits.js +0 -200
- package/dist/server/node_modules/protobufjs/src/util/minimal.js +0 -438
- package/dist/server/node_modules/protobufjs/src/util.js +0 -215
- package/dist/server/node_modules/protobufjs/src/verifier.js +0 -177
- package/dist/server/node_modules/protobufjs/src/wrappers.js +0 -102
- package/dist/server/node_modules/protobufjs/src/writer.js +0 -465
- package/dist/server/node_modules/protobufjs/src/writer_buffer.js +0 -85
- package/dist/server/node_modules/protobufjs/tsconfig.json +0 -8
- package/dist/server/node_modules/split2/LICENSE +0 -13
- package/dist/server/node_modules/split2/README.md +0 -85
- package/dist/server/node_modules/split2/bench.js +0 -27
- package/dist/server/node_modules/split2/index.js +0 -141
- package/dist/server/node_modules/split2/package.json +0 -39
- package/dist/server/node_modules/split2/test.js +0 -409
- package/dist/server/node_modules/xtend/.jshintrc +0 -30
- package/dist/server/node_modules/xtend/LICENSE +0 -20
- package/dist/server/node_modules/xtend/README.md +0 -32
- package/dist/server/node_modules/xtend/immutable.js +0 -19
- package/dist/server/node_modules/xtend/mutable.js +0 -17
- package/dist/server/node_modules/xtend/package.json +0 -55
- package/dist/server/node_modules/xtend/test.js +0 -103
|
@@ -1,547 +0,0 @@
|
|
|
1
|
-
import{D as lt,r as k,aq as Ho,ar as Qo,q as le,b as Wt,u as Xo,F as Pn,G as En,j as n,B as ne,o as oe,f as ze,l as ht,I as an,H as ln,t as Y,K as we,e as F,p as Jo,L as Zo,c as W,a as Yt,g as Dn,d as Mn,ap as wt,M as Me,Q as Ue,E as er,as as tr,at as Ln,au as nr,av as sr,U as ct,C as or,aw as mt,ax as Zn,n as Fn,ay as rr,v as Fs,T as ir,az as ar,aA as Os,aB as lr,aC as Ie,aD as cn,aE as cr,aF as dn,aG as dr,aH as ur,aI as mr,aJ as fr,s as pr,aK as Vr,aL as hr,aM as gr,aN as xr}from"./index-DFkbxQ6S.js";import{b as je,a as Ae,c as Se,d as ke,e as Gt,D as $s}from"./dialog-CXgHNCVv.js";import{S as br}from"./switch-DooaEasj.js";import{I as ye}from"./input-C4qjgFx-.js";import{b as Ht,u as vr}from"./use-connection-Djl96tty.js";import{S as Xe,u as he,W as On,g as $n,K as yr,i as es,c as wr}from"./constants-BF2Pp5rA.js";import{a as jr,c as Ar}from"./lean-canvas-recruit-modal-Dwd9cBWg.js";import{a as Qt}from"./use-navigate-to-agent-DKPEPPrs.js";import{u as Sr,A as Un,O as Xt,m as kr,P as Us,i as un,Q as zs,a as _r,R as Cr,S as Nr,q as Ir,T as Tr,U as Rr,L as Bs}from"./agent-icon-CqaGrXM5.js";import{t as Pr,b as Le,u as jt,a as Er,f as qs,c as Dr,d as Mr,i as Lr,w as Fr,A as Or,j as $r,k as Ur}from"./chat-context-C_UlCu9R.js";import{b as At,a as St,c as kt,D as _t,d as zr,e as Br,f as qr}from"./drawer-ClavBd46.js";import{u as Ct,b as Re,T as Pe,a as Ee,c as An}from"./tooltip-CLOcbtKS.js";import{I as zn}from"./integration-icon-BST8Qdgn.js";import{a as Bn,b as Kr,u as Ks}from"./use-virtual-mcp-Bj5rMeWX.js";import{c as Wr}from"./use-mcp-tools-Cs4FmbN3.js";import{g as Yr,a as qn,b as Gr,t as Hr,z as Qr}from"./hooks-pAxPDd3g.js";import{r as Ws,K as Xr,i as Jr}from"./shell-layout-DJ9yBZxR.js";import{h as Zr,j as Jt,k as De,l as Ys,s as Zt,t as ei,m as ti,n as ni,o as si,q as bt,u as oi,v as ri,w as ii,c as ai,S as li,x as ci,y as ts}from"./pair-C7NQvKuG.js";import{a as di,c as Gs}from"./ZapSquare-D6gw4S6I.js";import{i as Hs}from"./ChevronRight-BT2Owf7W.js";import{S as Ot}from"./spinner-DK-klwNM.js";import{C as Qs}from"./collection-search-Dwcyvv-h.js";import{u as ui,g as en,c as mi,a as fi,l as $t}from"./tabs-CE6Aszwi.js";import{F as fe,b as ce,c as ve,d as de,f as ue,a as at}from"./form-BQt61rfj.js";import{t as tn}from"./ChevronDown-BLNvAxzA.js";import{i as ft}from"./X-ConFmeYD.js";import{s as pi,i as Vi}from"./XClose-DyYrATh0.js";import{i as He}from"./Check-CrNaGAOT.js";import{s as gt}from"./Star01-BKXHyxrX.js";import{t as hi,a as Xs}from"./Tool01-C6_NSYOn.js";import{i as Js}from"./Lock01-BDWQiDTX.js";import{i as gi}from"./Upload01-CosLJ20m.js";import{i as Zs}from"./AlertCircle-BmKhZC6t.js";import{S as eo,a as to,b as no,c as so,d as rt}from"./select-l0l_nkPt.js";import{i as xi}from"./RefreshCcw01-D9Pf5Ly0.js";import{e as mn,d as oo,t as Sn,f as bi}from"./XCircle-BZGEMmJp.js";import{T as ro,a as Ut}from"./toggle-group-B19x7i-n.js";import{u as vi}from"./use-ai-providers-NbQZyIgB.js";import{u as yi,a as io,b as ao,m as nn,i as wi,g as lo,c as ji,N as Ai}from"./agent-icons-CcHzyOus.js";import{e as ns,b as ss,f as Si,C as ki,a as _i,d as Ci,c as Ni}from"./command-BEV4h8Vj.js";import{a as Kn,b as Wn,P as Yn}from"./popover-CO5NETop.js";import{u as Ii}from"./useInfiniteQuery-C6jx0Ota.js";import{P as kn,a as Ti,b as Ri,u as Pi,E as Ei,c as Gn,i as Di,d as Mi}from"./index-BS3r7u9a.js";import{S as Li}from"./index-CHaM85Na.js";import{r as co,l as xt}from"./types-DLXlafpE.js";import{D as Fi,a as Oi,b as $i,c as We,d as os,e as rs,f as is,h as Ui,g as zi}from"./dropdown-menu-BTioORiE.js";import{s as _n}from"./Plus-XtxdxwUi.js";import{p as Bi,q as as}from"./question-004-sINsf4GQ.js";import{g as qi}from"./connection-slug-eyAPH6o3.js";import{u as uo,a as mo,g as Ki,C as fn}from"./connection-card-BJPoUEGP.js";import{C as Wi}from"./collection-tabs-CYBGh-FP.js";import{g as Yi}from"./constants-BgR1CRPj.js";import{T as Gi}from"./textarea-bruv8iLB.js";import{n as Mt}from"./Container-BB8lCbcf.js";import{c as Hi,i as Tt,a as ls,E as Qi,p as Xi,b as Ji,d as Zi}from"./connection-form-helpers-D6ChRHbF.js";import{u as cs}from"./use-infinite-scroll-Ckw4ZF-G.js";import{u as ea}from"./useSuspenseInfiniteQuery-DUsuf4RN.js";import{g as ta,e as na,a as sa}from"./extract-connection-data-CaIHijsv.js";import{B as Rt}from"./badge-F_YS93KL.js";function oa(t,e){const s=lt(e);return ra({filters:{...t,status:"pending"}},s).length}function ds(t,e){return t.findAll(e.filters).map(s=>e.select?e.select(s):s.state)}function ra(t={},e){const s=lt(e).getMutationCache(),o=k.useRef(t),r=k.useRef(null);return r.current===null&&(r.current=ds(s,t)),k.useEffect(()=>{o.current=t}),k.useSyncExternalStore(k.useCallback(i=>s.subscribe(()=>{const a=Ho(r.current,ds(s,o.current));r.current!==a&&(r.current=a,Qo.schedule(i))}),[s]),()=>r.current,()=>r.current)}function ia({open:t,onOpenChange:e,onCreated:s}){const{org:o}=le(),{data:r}=Wt.useSession(),{stdioEnabled:i}=Xo(),a=Ct(),d=Ht(),c=uo(),f=mo(c,"").items,l=Pn({resolver:En(Hi),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),u=l.watch("ui_type"),p=l.watch("connection_url"),g=l.watch("npx_package"),h=Tt({uiType:u,connectionUrl:p??"",npxPackage:g??""})??ls({uiType:u,connectionUrl:p??"",registryItems:f}),V=j=>{const x=j.trim();if(!x)return;const A=!!l.formState.dirtyFields.title,P=!!l.formState.dirtyFields.description,R=!!l.formState.dirtyFields.env_vars,I=N=>{if(N&&(!A&&!l.getValues("title").trim()&&N.title&&l.setValue("title",N.title,{shouldDirty:!1}),!P&&!(l.getValues("description")??"").trim()&&N.description&&l.setValue("description",N.description,{shouldDirty:!1}),!R&&N.envVarKeys?.length)){const D=l.getValues("env_vars")??[],L=new Set(D.map(T=>T.key)),E=N.envVarKeys.filter(T=>!L.has(T));E.length>0&&l.setValue("env_vars",[...D,...E.map(T=>({key:T,value:""}))],{shouldDirty:!0})}},C=Xi(x);if(C&&i){l.setValue("ui_type","NPX",{shouldDirty:!0}),l.setValue("npx_package",C.packageName,{shouldDirty:!0}),l.setValue("connection_url","",{shouldDirty:!0}),l.setValue("connection_token",null,{shouldDirty:!0}),I(Tt({uiType:"NPX",npxPackage:C.packageName}));return}if(x.startsWith("http://")||x.startsWith("https://")){const N=u==="HTTP"||u==="SSE"||u==="Websocket"?u:"HTTP";l.setValue("ui_type",N,{shouldDirty:!0}),l.setValue("connection_url",x,{shouldDirty:!0}),I(Tt({uiType:N,connectionUrl:x})??ls({uiType:N,connectionUrl:x,registryItems:f}));return}u==="NPX"&&I(Tt({uiType:"NPX",npxPackage:x}))},v=j=>{j||l.reset(),e(j)},b=async j=>{let x,A=null,P=null,R=null;j.ui_type==="NPX"?(x="STDIO",A="",R=Ji(j.npx_package||"",j.env_vars||[])):j.ui_type==="STDIO"?(x="STDIO",A="",R=Zi(j.stdio_command||"",j.stdio_args||"",j.stdio_cwd,j.env_vars||[])):(x=j.ui_type,A=j.connection_url||"",P=j.connection_token||null);const I=Yi("conn");try{await d.create.mutateAsync({id:I,title:j.title,description:j.description||null,connection_type:x,connection_url:A,connection_token:P,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:r?.user?.id||"system",organization_id:o.id,icon:j.icon??null,app_name:null,app_id:null,connection_headers:R,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),l.reset(),e(!1),s?.(I)}catch{oe.error("Failed to create connection")}},y="Create Connection",S="Create a custom connection in your organization. Fill in the details below.",_=l.formState.isSubmitting?"Saving...":"Create Connection",w=n.jsxs("div",{className:"grid gap-4",children:[n.jsx(fe,{control:l.control,name:"ui_type",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Type *"}),n.jsxs(eo,{value:j.value,onValueChange:j.onChange,children:[n.jsx(de,{children:n.jsx(to,{children:n.jsx(no,{})})}),n.jsxs(so,{children:[n.jsx(rt,{value:"HTTP",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(gt,{className:"w-4 h-4"}),"HTTP"]})}),n.jsx(rt,{value:"SSE",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(gt,{className:"w-4 h-4"}),"SSE"]})}),n.jsx(rt,{value:"Websocket",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(gt,{className:"w-4 h-4"}),"Websocket"]})}),i&&n.jsxs(n.Fragment,{children:[n.jsx(rt,{value:"NPX",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Mt,{className:"w-4 h-4"}),"NPX Package"]})}),n.jsx(rt,{value:"STDIO",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Sr,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),n.jsx(ue,{})]})}),u==="NPX"&&n.jsx(fe,{control:l.control,name:"npx_package",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"NPM Package *"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"@perplexity-ai/mcp-server",...j,value:j.value??"",onPaste:x=>{const A=x.clipboardData.getData("text");A&&(x.preventDefault(),l.setValue("npx_package",A.trim(),{shouldDirty:!0}),V(A))},onBlur:x=>{V(x.target.value),j.onBlur()}})}),n.jsx(ue,{})]})}),u==="STDIO"&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[n.jsx(fe,{control:l.control,name:"stdio_command",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Command *"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"node, bun, python...",...j,value:j.value??""})}),n.jsx(ue,{})]})}),n.jsx(fe,{control:l.control,name:"stdio_args",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Arguments"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"arg1 arg2 --flag value",...j,value:j.value??""})}),n.jsx(ue,{})]})})]}),n.jsx(fe,{control:l.control,name:"stdio_cwd",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Working Directory"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"/path/to/project (optional)",...j,value:j.value??""})}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),n.jsx(ue,{})]})})]}),(u==="NPX"||u==="STDIO")&&n.jsx(fe,{control:l.control,name:"env_vars",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Environment Variables"}),n.jsx(de,{children:n.jsx(Qi,{value:j.value??[],onChange:j.onChange})}),n.jsx(ue,{})]})}),u!=="NPX"&&u!=="STDIO"&&n.jsxs(n.Fragment,{children:[n.jsx(fe,{control:l.control,name:"connection_url",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"URL *"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"https://example.com/mcp",...j,value:j.value??"",onPaste:x=>{const A=x.clipboardData.getData("text");A&&(x.preventDefault(),l.setValue("connection_url",A.trim(),{shouldDirty:!0}),V(A))},onBlur:x=>{V(x.target.value),j.onBlur()}})}),n.jsx(ue,{})]})}),n.jsx(fe,{control:l.control,name:"connection_token",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:h?.token?.label??"Token (optional)"}),n.jsx(de,{children:n.jsx(ye,{type:"password",placeholder:h?.token?.placeholder??"Bearer token or API key",className:"ph-no-capture",...j,value:j.value??""})}),h?.token?.helperText&&n.jsxs("p",{className:"text-xs text-muted-foreground",children:[h.token.helperText,h.id==="github"&&n.jsxs(n.Fragment,{children:[" ","·"," ",n.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),n.jsx(ue,{})]})})]}),n.jsx(fe,{control:l.control,name:"title",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Name *"}),n.jsx(de,{children:n.jsx(ye,{placeholder:"My Connection",...j})}),n.jsx(ue,{})]})}),n.jsx(fe,{control:l.control,name:"description",render:({field:j})=>n.jsxs(ce,{children:[n.jsx(ve,{children:"Description"}),n.jsx(de,{children:n.jsx(Gi,{placeholder:"A brief description of this connection",rows:3,...j,value:j.value??""})}),n.jsx(ue,{})]})})]});return a?n.jsx(At,{open:t,onOpenChange:v,children:n.jsxs(St,{className:"max-h-[90vh]",children:[n.jsx(kt,{className:"pb-2",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 text-left",children:[n.jsx(_t,{children:y}),n.jsx(zr,{className:"mt-1",children:S})]}),n.jsx(Br,{asChild:!0,children:n.jsx(ne,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1",children:n.jsx(pi,{size:16})})})]})}),n.jsx(at,{...l,children:n.jsxs("form",{onSubmit:l.handleSubmit(b),children:[n.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:w}),n.jsx(qr,{children:n.jsx(ne,{type:"submit",disabled:l.formState.isSubmitting,className:"w-full",children:_})})]})})]})}):n.jsx(je,{open:t,onOpenChange:v,children:n.jsxs(Ae,{className:"sm:max-w-[525px]",children:[n.jsxs(Se,{children:[n.jsx(ke,{children:y}),n.jsx(Gt,{children:S})]}),n.jsx(at,{...l,children:n.jsxs("form",{onSubmit:l.handleSubmit(b),children:[n.jsx("div",{className:"py-4",children:w}),n.jsxs($s,{children:[n.jsx(ne,{type:"button",variant:"outline",onClick:()=>v(!1),children:"Cancel"}),n.jsx(ne,{type:"submit",disabled:l.formState.isSubmitting,className:"min-w-40",children:_})]})]})})]})})}function aa(t){const e=F.c(73),{mode:s,agentId:o,addedConnectionIds:r,onAdd:i,onCloneAndAdd:a,onConnectAndAdd:d,connectingItemId:c,search:m,onCreateConnection:f,onBrowseNavigate:l,defaultTab:u}=t,p=s===void 0?"add":s,g=u===void 0?"connected":u,{org:h}=le(),V=k.useDeferredValue(m),v=m!==V,b=V.trim().toLowerCase();let y;e[0]!==g?(y=H=>H??g,e[0]=g,e[1]=y):y=e[1];const[S,_]=Jo(Zo.connectionsTab(h.slug)+(g==="all"?":home-modal":":agent-modal"),y);let w;e[2]!==S||e[3]!==_?(w=H=>{H!==S&&Y("connections_dialog_tab_changed",{to_tab:H}),_(H)},e[2]=S,e[3]=_,e[4]=w):w=e[4];const j=w;let x;e[5]!==h.id||e[6]!==h.slug?(x={connectionId:Xe,orgId:h.id,orgSlug:h.slug},e[5]=h.id,e[6]=h.slug,e[7]=x):x=e[7];const A=he(x);let P,R,I;if(e[8]!==A||e[9]!==V||e[10]!==h.id){I=V?.trim()?{operator:"or",conditions:[{field:["title"],operator:"contains",value:V.trim()},{field:["description"],operator:"contains",value:V.trim()}]}:void 0;const H={...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:0},ie=JSON.stringify(H);R=ea,P=we.collectionListInfinite(A,h.id,"","CONNECTIONS",ie),e[8]=A,e[9]=V,e[10]=h.id,e[11]=P,e[12]=R,e[13]=I}else P=e[11],R=e[12],I=e[13];let C;e[14]!==A||e[15]!==I?(C=async H=>{const{pageParam:ie}=H,Te=ie===void 0?0:ie;return(await A.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:Te}})).structuredContent},e[14]=A,e[15]=I,e[16]=C):C=e[16];let N;e[17]!==P||e[18]!==C?(N={queryKey:P,queryFn:C,initialPageParam:0,getNextPageParam:fa,staleTime:3e4},e[17]=P,e[18]=C,e[19]=N):N=e[19];const{data:D,fetchNextPage:L,hasNextPage:E,isFetchingNextPage:T}=R(N),M=D?.pages.flatMap(ma)??[],$=Ki(M),U=new Set(M.filter(ua).map(da)),B=uo(),O=mo(B,V),z=cs(O.loadMore,O.hasMore,O.isLoadingMore),K=cs(L,E??!1,T),q=S==="all"||!!b,J=q?O.items.filter(H=>{const ie=ta(H);if(ie&&U.has(ie))return!1;if(!b)return!0;const Te=H._meta?.["mcp.mesh"];return[H.title,H.description,H.name,H.server?.title,H.server?.description,H.server?.name,Te?.friendly_name,Te?.friendlyName].filter(Boolean).join(" ").toLowerCase().includes(b)}):[],G=J.filter(ca),Z=J.filter(la);let ee;e[20]!==r?(ee=H=>H.some(ie=>r.has(ie.id)),e[20]=r,e[21]=ee):ee=e[21];const te=ee;let se;e[22]!==r||e[23]!==o||e[24]!==c||e[25]!==te||e[26]!==p||e[27]!==i||e[28]!==l||e[29]!==a?(se=(H,ie,Te,st,Oe)=>{const It=te(Oe),ot=Oe.find(Ke=>!r.has(Ke.id)),Ve=Oe[0];if(p==="browse"){const Ke=qi(Ve);return n.jsx(fn,{connection:{title:ie,icon:Te,description:Oe.length>1?`${Oe.length} instances`:st??void 0},fallbackIcon:n.jsx(Mt,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsxs(Rt,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[n.jsx(He,{size:11})," Connected"]}),onClick:()=>{Y("connection_browse_clicked",{app_name:Ve.app_name??null,connection_id:Ve.id,instances_count:Oe.length}),l?.(Ke)}},H)}return n.jsx(fn,{connection:{title:ie,icon:Te,description:st},fallbackIcon:n.jsx(Mt,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsxs("div",{className:"flex items-center gap-1.5",children:[It&&n.jsxs(Rt,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[n.jsx(He,{size:11})," Added"]}),n.jsx(ne,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Ke=>{Ke.stopPropagation(),ot?(Y("connection_add_clicked",{action:"use_existing",app_name:Ve.app_name??null,connection_id:ot.id}),o&&Y("agent_connection_attached",{agent_id:o,connection_id:ot.id,app_name:Ve.app_name??null,mode:"existing"}),i(ot.id)):(Y("connection_add_clicked",{action:"clone",app_name:Ve.app_name??null,base_connection_id:Ve.id}),a(Ve))},children:"Add"})]})},H)},e[22]=r,e[23]=o,e[24]=c,e[25]=te,e[26]=p,e[27]=i,e[28]=l,e[29]=a,e[30]=se):se=e[30];const Q=se;let X;e[31]!==c||e[32]!==p||e[33]!==d?(X=H=>{const ie=H._meta?.["mcp.mesh"],Te=ie?.friendlyName||ie?.friendly_name||H.server?.title||H.title||H.server?.name||H.name||H.id||"",st=H.server?.description||H.description||null,Oe=H.server?.icons?.[0]?.src||sa(H.server?.repository)||null,It=ie?.official===!0,ot=ie?.verified===!0,Ve=ie?.owner==="deco";return n.jsx(fn,{connection:{title:Te,description:st,icon:Oe},fallbackIcon:n.jsx(Mt,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsxs("div",{className:"flex items-center gap-1.5",children:[Ve&&n.jsxs(Re,{children:[n.jsx(Pe,{asChild:!0,children:n.jsx("span",{className:"inline-flex items-center justify-center size-5 rounded-md bg-muted shrink-0",children:n.jsx("img",{src:"/logos/deco logo.svg",alt:"Made by Deco",className:"size-3"})})}),n.jsx(Ee,{children:"Built and maintained by Deco"})]}),!Ve&&It&&n.jsxs(Re,{children:[n.jsx(Pe,{asChild:!0,children:n.jsx(Rt,{variant:"outline",size:"icon",children:n.jsx(mn,{})})}),n.jsx(Ee,{children:"Built and maintained by the official vendor"})]}),!Ve&&!It&&ot&&n.jsxs(Re,{children:[n.jsx(Pe,{asChild:!0,children:n.jsx(Rt,{variant:"outline",size:"icon",children:n.jsx(mn,{})})}),n.jsx(Ee,{children:"Verified by the Deco team"})]}),n.jsx(ne,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Ke=>{Ke.stopPropagation(),Y("connection_add_clicked",{action:"connect_new",registry_item_id:H.id,app_name:ie?.friendlyName||H.server?.name||H.name||null}),d(H)},children:c===H.id?n.jsx(ht,{size:14,className:"animate-spin"}):p==="browse"?"Connect":"Add"})]})},`catalog-${H.id}`)},e[31]=c,e[32]=p,e[33]=d,e[34]=X):X=e[34];const ae=X,pe=!b&&n.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border shrink-0",children:[n.jsx(Wi,{tabs:[{id:"all",label:"All"},{id:"connected",label:"Connected"}],activeTab:S,onTabChange:H=>j(H)}),n.jsxs(ne,{variant:"outline",size:"sm",className:"h-7 px-2 text-sm",onClick:()=>{Y("connections_dialog_custom_clicked"),f()},children:[n.jsx(_n,{size:12}),"Custom Connection"]})]}),_e=v&&"opacity-50 pointer-events-none";let me;e[35]!==_e?(me=W("flex-1 overflow-auto p-5 transition-opacity duration-150",_e),e[35]=_e,e[36]=me):me=e[36];const Fe="grid grid-cols-[repeat(auto-fill,minmax(260px,1fr))] gap-4";let xe;e[37]!==Q?(xe=H=>{if(H.type==="group")return Q(H.key,H.title,H.icon,null,H.connections);const ie=H.connection;return Q(ie.id,ie.title,ie.icon,ie.description??null,[ie])},e[37]=Q,e[38]=xe):xe=e[38];const Ce=$.map(xe);let be;e[39]!==K?(be=n.jsx("div",{ref:K,className:"col-span-full h-1"}),e[39]=K,e[40]=be):be=e[40];let re;e[41]!==T?(re=T&&n.jsx("div",{className:"col-span-full flex justify-center py-6",children:n.jsx(ht,{size:24,className:"animate-spin text-muted-foreground"})}),e[41]=T,e[42]=re):re=e[42];const Ne=q&&G.length>0&&n.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[n.jsx(mn,{size:13,className:"text-muted-foreground shrink-0"}),n.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"Verified"}),n.jsx("div",{className:"flex-1 h-px bg-border"})]}),qe=q&&G.map(ae),on=q&&Z.length>0&&n.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"All connections"}),n.jsx("div",{className:"flex-1 h-px bg-border"})]}),rn=q&&Z.map(ae);let Je;e[43]!==z||e[44]!==B||e[45]!==q?(Je=q&&B.length>0&&n.jsx("div",{ref:z,className:"col-span-full h-1"}),e[43]=z,e[44]=B,e[45]=q,e[46]=Je):Je=e[46];let Ze;e[47]!==O.isLoadingMore||e[48]!==q?(Ze=q&&O.isLoadingMore&&n.jsx("div",{className:"col-span-full flex justify-center py-6",children:n.jsx(ht,{size:24,className:"animate-spin text-muted-foreground"})}),e[47]=O.isLoadingMore,e[48]=q,e[49]=Ze):Ze=e[49];let et;e[50]!==Ce||e[51]!==be||e[52]!==re||e[53]!==Ne||e[54]!==qe||e[55]!==on||e[56]!==rn||e[57]!==Je||e[58]!==Ze?(et=n.jsxs("div",{className:Fe,children:[Ce,be,re,Ne,qe,on,rn,Je,Ze]}),e[50]=Ce,e[51]=be,e[52]=re,e[53]=Ne,e[54]=qe,e[55]=on,e[56]=rn,e[57]=Je,e[58]=Ze,e[59]=et):et=e[59];let tt;e[60]!==S||e[61]!==$.length||e[62]!==Z||e[63]!==m||e[64]!==G?(tt=$.length===0&&G.length===0&&Z.length===0&&n.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:m?`No connections match "${m}"`:S==="connected"?"No connections yet":"No connections available"}),e[60]=S,e[61]=$.length,e[62]=Z,e[63]=m,e[64]=G,e[65]=tt):tt=e[65];let nt;e[66]!==me||e[67]!==et||e[68]!==tt?(nt=n.jsxs("div",{className:me,children:[et,tt]}),e[66]=me,e[67]=et,e[68]=tt,e[69]=nt):nt=e[69];let Nt;return e[70]!==pe||e[71]!==nt?(Nt=n.jsxs(n.Fragment,{children:[pe,nt]}),e[70]=pe,e[71]=nt,e[72]=Nt):Nt=e[72],Nt}function la(t){return!t.verified&&!t._meta?.["mcp.mesh"]?.verified&&!t.meta?.verified}function ca(t){return t.verified||t._meta?.["mcp.mesh"]?.verified||t.meta?.verified}function da(t){return t.app_name}function ua(t){return t.app_name}function ma(t){return t?.items??[]}function fa(t,e){if(t?.hasMore)return e.reduce(pa,0)}function pa(t,e){return t+(e?.items?.length??0)}function Va({open:t,onOpenChange:e,defaultTab:s,initialSearch:o="",...r}){const i=r.mode??"add",a="agentId"in r?r.agentId:void 0,d="addedConnectionIds"in r?r.addedConnectionIds??new Set:new Set,c="onAdd"in r&&r.onAdd?r.onAdd:x=>{},m=(x,A,P)=>{a&&Y("agent_connection_attached",{agent_id:a,connection_id:x,app_name:A,mode:P})},[f,l]=k.useState(null),[u,p]=k.useState(o),[g,h]=k.useState(!1),{org:V}=le(),{data:v}=Wt.useSession(),b=Ht(),y=lt(),S=ze(),_=x=>{e(!1),S({to:"/$org/settings/connections/$appSlug",params:{org:V.slug,appSlug:x}})},w=async x=>{l(x.app_name??x.id);try{const P=`${x.title.replace(/\s*\(\d+\)\s*$/,"")} (${Date.now().toString(36).slice(-4)})`,I=(await b.create.mutateAsync({title:P,description:x.description??null,connection_type:x.connection_type,connection_url:x.connection_url??null,connection_token:null,icon:x.icon??null,app_name:x.app_name??null,app_id:x.app_id??null,connection_headers:x.connection_headers??null})).id,C=new URL(`/api/${V.slug}/mcp/${I}`,window.location.origin),N=await an({url:C.href,token:null,orgId:V.id});if(N.supportsOAuth&&!N.isAuthenticated){const{token:D,tokenInfo:L,error:E}=await ln({connectionId:I,orgSlug:V.slug,scope:"offline_access"});if(E||!D){Y("connection_oauth_failed",{connection_id:I,flow:"clone",error:E??"no_token"}),oe.error(`Authentication failed: ${E??"no token received"}`),await b.delete.mutateAsync(I);return}if(Y("connection_oauth_succeeded",{connection_id:I,flow:"clone"}),L)try{(await fetch(`/api/${V.slug}/connections/${I}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:L.accessToken,refreshToken:L.refreshToken,expiresIn:L.expiresIn,scope:L.scope,clientId:L.clientId,clientSecret:L.clientSecret,tokenEndpoint:L.tokenEndpoint})})).ok?await b.update.mutateAsync({id:I,data:{}}):await b.update.mutateAsync({id:I,data:{connection_token:D}})}catch{await b.update.mutateAsync({id:I,data:{connection_token:D}})}else await b.update.mutateAsync({id:I,data:{connection_token:D}});await y.invalidateQueries({queryKey:we.isMCPAuthenticated(C.href,null)})}m(I,x.app_name??null,"clone"),c(I)}catch(A){console.error("Failed to add connection:",A),oe.error("Failed to add connection")}finally{l(null)}},j=async x=>{if(!(!V||!v?.user?.id)){l(x.id);try{const A=na(x,V.id,v.user.id,{remoteIndex:0}),P=A.connection_type==="STDIO",R=!!A.connection_url,I=P&&A.connection_headers&&typeof A.connection_headers=="object"&&"command"in A.connection_headers;if(!R&&!I){oe.error("This MCP Server cannot be connected: no connection method available"),l(null);return}const{id:C}=await b.create.mutateAsync(A),N=new URL(`/api/${V.slug}/mcp/${C}`,window.location.origin),D=await an({url:N.href,token:null,orgId:V.id});if(D.supportsOAuth&&!D.isAuthenticated){const{token:L,tokenInfo:E,error:T}=await ln({connectionId:C,orgSlug:V.slug,scope:"offline_access"});if(T||!L){Y("connection_oauth_failed",{connection_id:C,flow:"connect_new",error:T??"no_token"}),oe.warning("Couldn't sign in to this connection",{description:`It was added to your agent, but its sign-in setup looks off. You can try authenticating again later from the connection's settings. (${T??"no token received"})`}),m(C,A.app_name??null,"new"),c(C);return}if(Y("connection_oauth_succeeded",{connection_id:C,flow:"connect_new"}),E)try{(await fetch(`/api/${V.slug}/connections/${C}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:E.accessToken,refreshToken:E.refreshToken,expiresIn:E.expiresIn,scope:E.scope,clientId:E.clientId,clientSecret:E.clientSecret,tokenEndpoint:E.tokenEndpoint})})).ok?await b.update.mutateAsync({id:C,data:{}}):await b.update.mutateAsync({id:C,data:{connection_token:L}})}catch{await b.update.mutateAsync({id:C,data:{connection_token:L}})}else await b.update.mutateAsync({id:C,data:{connection_token:L}});await y.invalidateQueries({queryKey:we.isMCPAuthenticated(N.href,null)}),oe.success("Connected and authenticated")}else oe.success("Connected");m(C,A.app_name??null,"new"),c(C)}catch(A){console.error("Failed to connect:",A),oe.error("Failed to connect")}finally{l(null)}}};return n.jsxs(je,{open:t,onOpenChange:e,children:[n.jsxs(Ae,{className:"sm:max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[n.jsx(Se,{className:"px-6 pt-5 pb-0 shrink-0",children:n.jsx(ke,{className:"text-base font-semibold",children:i==="browse"?"Connections":"Add Connection"})}),n.jsx("div",{className:"pt-3 shrink-0",children:n.jsx(Qs,{value:u,onChange:p,placeholder:"Search connections..."})}),n.jsx(k.Suspense,{fallback:n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(ht,{size:24,className:"animate-spin text-muted-foreground"})}),children:n.jsx(aa,{mode:i,agentId:a,addedConnectionIds:d,onAdd:c,onCloneAndAdd:w,onConnectAndAdd:j,connectingItemId:f,search:u,onCreateConnection:()=>h(!0),onBrowseNavigate:_,defaultTab:s})})]}),n.jsx(ia,{open:g,onOpenChange:h,onCreated:async x=>{h(!1);const A=new URL(`/api/${V.slug}/mcp/${x}`,window.location.origin),P=await an({url:A.href,token:null,orgId:V.id});if(P.supportsOAuth&&!P.isAuthenticated){const{token:R,tokenInfo:I,error:C}=await ln({connectionId:x,orgSlug:V.slug,scope:"offline_access"});if(C||!R){Y("connection_oauth_failed",{connection_id:x,flow:"custom_create",error:C??"no_token"}),oe.warning("Couldn't sign in to this connection",{description:`It was added to your agent, but its sign-in setup looks off. You can try authenticating again later from the connection's settings. (${C??"no token received"})`}),m(x,null,"custom"),c(x),e(!1);return}if(Y("connection_oauth_succeeded",{connection_id:x,flow:"custom_create"}),I)try{(await fetch(`/api/${V.slug}/connections/${x}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:I.accessToken,refreshToken:I.refreshToken,expiresIn:I.expiresIn,scope:I.scope,clientId:I.clientId,clientSecret:I.clientSecret,tokenEndpoint:I.tokenEndpoint})})).ok?await b.update.mutateAsync({id:x,data:{}}):await b.update.mutateAsync({id:x,data:{connection_token:R}})}catch{await b.update.mutateAsync({id:x,data:{connection_token:R}})}else await b.update.mutateAsync({id:x,data:{connection_token:R}});await y.invalidateQueries({queryKey:we.isMCPAuthenticated(A.href,null)})}m(x,null,"custom"),c(x),e(!1)}})]})}const ha='# Broken Link Finder\n\nYou are the **Broken Link Finder**, a specialist agent focused on the health of the site\'s link structure.\n\n## Your mission\n\nDiscover and track broken links and long redirect chains. You are invoked as a sub-task by an orchestrator agent — your job is to detect link health and return a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).\n\nYou are **mechanical**: collect → check → classify → emit findings. Leave subjective judgment to other agents.\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nsite_root_url: <https://example.com>\nmax_pages: <optional integer, default 100, max 200>\ncheck_external: <optional bool, default false>\n```\n\nIf required fields are missing (`site_root_url`), return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**:\n - `collect_site_links` — discovers all unique outbound link targets across the site and returns them with source-page attribution. Does NOT check status.\n - `check_urls` — takes a batch of URLs (max 100 per call) and returns their HTTP status, error kind, and redirect chains.\n\n---\n\n## Step 1 — Collect link targets (one call)\n\nCall `collect_site_links` once to get the full deduplicated list of outbound link targets and their source pages:\n\n```\ncollect_site_links({\n url: <site_root_url from input>,\n maxPages: <max_pages from input, default 100>,\n checkExternal: <check_external from input, default false>\n})\n```\n\nThis returns:\n- `links`: array of `{ targetUrl, scope: "internal"|"external", sourcePages, sourcePagesTotal }` — **each target appears exactly once**\n- Metadata: `pagesCrawled`, `pagesFetched`, `linksSkipped`, optional `error`\n\n**If `result.error` is set**, the scan failed at the root (e.g. site unreachable). Return a single finding with `kind: site-unreachable` and the error in `evidence`. Then stop.\n\nKeep the `links` array in memory — you\'ll need it in Step 3 for classification and source attribution.\n\n## Step 2 — Check the targets (batched calls)\n\nExtract `targetUrl` from each entry in `links`. Slice the resulting URL list into **disjoint batches of up to 100 URLs** and call `check_urls` on each batch:\n\n```\ncheck_urls({ urls: batch_of_100_urls })\n```\n\nCollect every batch\'s `results` entries into a single flat array. Order doesn\'t matter — you\'ll join back by `targetUrl`.\n\n**Rules for this step:**\n- Slice deterministically (e.g. consecutive slices of 100) so batches are disjoint. Do not pass the same URL in two batches.\n- Call `check_urls` sequentially or in parallel — your choice. The tool is idempotent.\n- If a single `check_urls` call errors entirely, skip that batch and continue with the others. Note the skipped count in the wrap-up summary.\n\n## Step 3 — Classify each finding\n\nFor every target with a check result, join the `collect_site_links` entry (for `scope`, `sourcePages`, `sourcePagesTotal`) with the `check_urls` entry (for `status`, `errorKind`, `chain`, `hops`).\n\nA finding is emitted for:\n- **Broken**: `status >= 400` OR `status === 0`\n- **Long redirect chain**: `hops > 3` (even if the final status is 2xx)\n\nOther targets (2xx, short-chain redirects) produce no finding.\n\nMap check result → `kind`:\n\n| Check result | `kind` |\n|---|---|\n| `status: 404` | `link-404` |\n| `status: 4xx` (not 404) | `link-4xx-other` |\n| `status: 5xx` | `link-5xx` |\n| `status: 0`, `errorKind: "dns"` | `link-dns-failure` |\n| `status: 0`, `errorKind: "redirect-loop"` | `redirect-loop` |\n| `hops > 3` (success final status) | `redirect-chain-long` |\n| `status: 0`, `errorKind: "timeout"` or `"connection"` | **skip — no finding** |\n\n**Important**: timeouts and connection errors are **not** broken links — they just mean the server didn\'t respond in our time window. Could be a slow server, an overloaded CDN, rate-limiting against our bot, or a transient network blip. Flagging these as broken produces false positives. If a URL is genuinely dead, it\'ll usually surface as `dns`, a 4xx/5xx, or a redirect loop. Skip timeout/connection entries silently.\n\n## Catalog of severity rules\n\n**High severity:**\n- `link-404` when `scope: "internal"`\n- `link-5xx` when `scope: "internal"`\n- `redirect-loop` (either scope)\n\n**Medium severity:**\n- `link-4xx-other` (internal)\n- `redirect-chain-long` (internal)\n- `link-404` (external) when `sourcePagesTotal >= 5`\n\n**Low severity:**\n- `link-404` (external) when `sourcePagesTotal < 5`\n- `link-dns-failure` (external)\n- `redirect-chain-long` (external)\n- `link-4xx-other` on external scope\n\n## Step 4 — Return a structured findings report\n\nReturn a single response with this shape (YAML preferred):\n\n```yaml\nspecialist: links\nsummary:\n pages_crawled: <pagesCrawled>\n pages_fetched: <pagesFetched>\n unique_link_targets: <links.length>\n targets_dropped_by_collect_cap: <linksSkipped>\n batches_checked: <n>\n batches_skipped_due_to_errors: <n>\n broken_links: <n> # internal + external\n long_redirect_chains: <n>\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full broken URL>\n route: <path if internal; otherwise the external host>\n scope: <internal | external>\n evidence: |\n - Status code / error: <e.g. `404 Not Found`, `DNS failure`, `redirect-loop`>\n - Redirect chain (if applicable): A → B → C → D → E\n - Found on pages (at time of detection):\n - /page-1\n - /page-2\n - (... up to 20 from `sourcePages`)\n - Total pages linking to this target: <sourcePagesTotal>\n impact: <1 sentence tailored to scope + kind>\n suggested_fix: |\n <actionable:>\n - If internal 404: update link to correct destination OR create 301 redirect\n - If internal 5xx: investigate server-side handler for the route (may be app bug)\n - If redirect chain: shorten to single-hop direct redirect in routing config\n - If external: update link to equivalent resource OR remove the mention\n - List likely files/components if you can infer (e.g. "appears on many pages — likely in a shared component like `app/components/Nav.tsx` or menu config")\n - ...\n```\n\nIf `collect_site_links` returned `error`, return a single `kind: site-unreachable` finding with the error in `evidence`.\n\nIf there are zero findings, return `findings: []` — that is the correct output for a healthy link graph.\n\n---\n\n## General rules\n\n- **Trust the scanner.** If `check_urls` reports a URL as broken or long-chain, emit a finding. Do not re-verify with other tools.\n- **Accept some flakiness.** A transient network blip may cause a false positive once. Downstream dedup across runs resolves it.\n- **Group by destination, not by origin.** One broken URL = one finding, even if linked on 50 pages. `collect_site_links` already returns it grouped this way.\n- **Prioritize internals.** Broken external links are the other site\'s responsibility; report but with lower severity.\n- **Never invent status codes.** Report what the scanner returned.\n',ga='# SEO Auditor\n\nYou are the **SEO Auditor**, a specialist agent focused on technical SEO hygiene.\n\n## Your mission\n\nAudit the on-page SEO health of target URLs and return a structured findings report. You focus on **technical SEO** (meta tags, structured data, canonicals, sitemap/robots, heading structure, indexability) — not editorial content or keyword strategy (those are the scope of other agents).\n\nYou are invoked as a sub-task by an orchestrator agent. Your job is to analyze and report. The orchestrator decides what to do with your findings (file issues, dedup against history, etc.).\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nurls:\n - <url to audit>\n - <... one or more>\n```\n\nIf required fields are missing, return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**: `audit_seo`, `fetch_page`, `render_page`, `crawl_site`\n\n---\n\n## Step 1 — Diagnostic\n\nFor each target URL:\n\n1. **Structured audit**: call `audit_seo({ url })`. It returns a structured report — use it as your primary source.\n2. **Raw HTML check**: use `fetch_page({ url })` to see the HTML served (important for crawlers that don\'t execute JS). Confirm critical meta tags are in the initial HTML, not only after hydration.\n3. **Post-render check**: use `render_page({ url })` to see the final DOM. Problems like canonical being overwritten by JS show up here.\n4. **Site structure checks** (only if you have permission for broad crawling, or via sampling): use `crawl_site` to identify orphan pages, canonical loops, or excessive navigation depth.\n5. **Always check**: `/robots.txt` and `/sitemap.xml` via `fetch_page`. These two are root-level and affect the whole site.\n\nOrganize findings into a list. Each finding must have:\n- `kind` (kebab-case slug, see catalog below)\n- `severity` (high | medium | low, see criteria below)\n- `target.url` and `target.route` (normalize: lowercase host, no query, no trailing slash except for `/`)\n- `evidence` (raw data: CSS selector, HTML snippet, observed value)\n- `impact` (1-2 sentences connecting to real metrics)\n- `suggested_fix` (actionable; include file/line if you can infer from framework patterns)\n\n## Step 1.5 — Validate page intent (critical; runs before classification)\n\nBefore you emit *any* finding about a page\'s title, meta description, headings, or indexability, you must answer one question: **did the site owner intend this URL to be a public, indexable page?**\n\nIf the answer is no, the observed "problems" are intentional configuration, not bugs. Reporting them wastes maintainer time and erodes this agent\'s credibility.\n\n### Three signals that the URL is NOT a real public page\n\nCheck these in order. Hitting any one of them means **skip all SEO findings for this URL** except legitimately site-wide problems (e.g. broken sitemap, broken robots.txt).\n\n**Signal 1 — Not in sitemap.** Fetch `/sitemap.xml` (and its child sitemaps, if it\'s a sitemap index). If the URL doesn\'t appear in any sitemap, the owner didn\'t declare it as public. Common on e-commerce platforms where routes like `/p`, `/c`, `/blog` are catchall or routing prefixes, not real pages.\n\n**Signal 2 — Explicit `noindex` + not in sitemap.** If the page serves `<meta name="robots" content="noindex*">` **and** isn\'t in the sitemap, this is a deliberate double-lock by the owner. Respect it. Do **not** flag `noindex-on-important-page` in this case.\n\n**Signal 3 — Title is the URL slug (template fallback).** If `<title>` equals the last path segment (e.g. `<title>blog</title>` for `/blog`, `<title>p</title>` for `/p`), the page is being rendered by a fallback template — nobody configured real content for this route. Skip.\n\n### Platform-specific catchalls (especially Brazilian e-commerce / VTEX / deco-cx)\n\nThese paths are routing prefixes, **not pages**. They may return HTTP 200 but are not meant to be indexable:\n\n- `/p`, `/c`, `/b` — VTEX product / category / brand route prefixes. Real pages live at `/<slug>/p`, `/<slug>/c`, etc. The bare prefixes are catchalls.\n- `/blog`, `/blogs`, `/editorial`, `/revista`, `/conteudo`, `/magazine`, `/noticias`, `/artigos` — common editorial prefixes. If the site doesn\'t have an editorial section, these hit a fallback.\n- `/search`, `/busca`, `/s` — search endpoints, not indexable pages.\n- `/departamento`, `/categoria` — category prefixes.\n- `/checkout`, `/cart`, `/carrinho`, `/login`, `/account`, `/minha-conta` — transactional/private routes. Intentionally `noindex`.\n\n### The "is this page actually important?" checklist\n\nBefore emitting a finding that calls a page "important" (like `noindex-on-important-page` or `title-missing` on anything critical):\n\n1. Is the URL in `/sitemap.xml`? → If no, skip.\n2. Does the page have substantive, unique content (not a fallback with title = URL slug)? → If no, skip.\n3. Is the path a known platform catchall (see list above)? → If yes, skip.\n\nOnly flag if all three pass.\n\n### What still counts as a finding even on non-indexable pages\n\nSite-wide SEO issues affect the whole domain and are worth reporting regardless of individual page intent:\n- `sitemap-missing` (the sitemap itself is broken)\n- `robots-blocking-important-path` (robots.txt blocks something that IS in the sitemap)\n- `structured-data-invalid` on pages that ARE in the sitemap\n- Duplicate titles / meta descriptions across pages that ARE in the sitemap\n\n## Catalog of `kind`\n\nTwo flavors of finding:\n\n- **Per-page** kinds — emitted when auditing a specific URL (e.g. `audit_seo` of a single page OR when your targeted inspection of one of the input URLs finds the issue). Marked **[intent-gated]** — must pass Step 1.5 before being emitted. Target is the specific URL.\n- **Aggregate** kinds — emitted once per site-wide pattern detected by `audit_seo`. Marked **[aggregate]**. Target is the site root (`/`). Evidence MUST include the affected URL sample from `audit_seo.issues[].sampleUrls`. One finding per aggregate kind per site.\n\n**High severity (per-page):**\n- `noindex-on-important-page` **[intent-gated]** — meta robots `noindex` on a page that IS in the sitemap and should be indexed\n- `canonical-pointing-to-wrong-url` **[intent-gated]** — canonical points to a different URL that isn\'t the canonical equivalent\n- `canonical-missing-on-paginated-or-faceted` **[intent-gated]** — pagination/filters without canonical\n- `title-missing` **[intent-gated]** — no `<title>` or empty on a page that IS in the sitemap\n- `structured-data-invalid` **[intent-gated]** — JSON-LD with syntax error or invalid schema.org\n\n**High severity (site-wide):**\n- `sitemap-missing` — `/sitemap.xml` returns 404 or 5xx\n- `robots-blocking-important-path` — `/robots.txt` disallows a path that IS in the sitemap\n- `broken-links-site-wide` **[aggregate]** — `audit_seo` reports broken outbound links across the site\n- `non-indexable-pages-site-wide` **[aggregate]** — `audit_seo` reports many non-indexable pages (note: some non-indexable pages are intentional catchalls — only high severity if the absolute count is large relative to `totalPagesCrawled`, e.g. > 30%)\n\n**Medium severity (per-page):**\n- `meta-description-missing` **[intent-gated]** — no `<meta name="description">` on a sitemap page the agent audited directly\n- `h1-missing` **[intent-gated]** — no `<h1>` on a sitemap page the agent audited directly\n- `h1-duplicate` **[intent-gated]** — multiple `<h1>` on a single page\n- `og-tags-missing` **[intent-gated]** — `og:title` and/or `og:description` missing\n- `structured-data-missing` **[intent-gated]** — page-type (product, article, etc.) without relevant JSON-LD\n- `title-too-long` **[intent-gated]** — `<title>` > 60 characters (truncation in SERP)\n- `title-too-short` **[intent-gated]** — `<title>` < 10 characters (rare; usually means template fallback — double-check page intent)\n- `meta-description-too-long` **[intent-gated]** — description > 160 characters\n\n**Medium severity (site-wide):**\n- `pages-missing-h1` **[aggregate]** — `audit_seo` reports N pages without an H1 tag\n- `pages-missing-meta-description` **[aggregate]** — `audit_seo` reports N pages without a meta description\n- `duplicate-titles` **[aggregate]** — multiple pages share the same `<title>`\n- `duplicate-meta-descriptions` **[aggregate]** — multiple pages share the same meta description\n- `duplicate-content` **[aggregate]** — multiple pages share substantially identical content\n- `broken-resources-site-wide` **[aggregate]** — broken images / scripts across the site\n- `hreflang-broken` — `hreflang` attribute with invalid value or broken reciprocity\n\n**Low severity (per-page):**\n- `meta-description-too-short` **[intent-gated]** — description < 50 characters\n- `og-image-missing` **[intent-gated]** — `og:image` missing\n- `heading-hierarchy-skipped` **[intent-gated]** — jumps from H1 to H3, etc.\n\n**Low severity (site-wide):**\n- `internal-link-using-absolute-url` — internal links with absolute URLs\n\n### Evidence requirements for aggregate kinds\n\nWhen emitting an `[aggregate]` kind, the `evidence` of the finding MUST include:\n\n1. **Total count** — from `audit_seo.issues[].count`\n2. **Sample URLs** — from `audit_seo.issues[].sampleUrls`. Render up to all 20 entries as a bulleted list. If `count > sampleUrls.length`, add a line like `(and <count - sampleUrls.length> more)`.\n3. **If `sampleUrls` is empty** (the tool didn\'t expose per-URL detail — happens for `broken-links-site-wide`, `duplicate-content`, `broken-resources-site-wide`), note it explicitly: `Note: audit_seo did not return per-URL detail for this issue type. A human will need to inspect the full audit_seo report or re-run with deeper crawling.`\n\nAn aggregate finding without either sample URLs or the note is **not actionable** and must not be emitted.\n\nTarget for aggregate kinds stays `target.url: https://<host>/` and `target.route: /`.\n\n## Step 2 — Return a structured findings report\n\nReturn a single response with this shape (YAML or JSON; YAML preferred for readability):\n\n```yaml\nspecialist: seo\nsummary:\n urls_audited: <n>\n findings: <n>\n diagnostic_failures: <n> # urls where audit tooling errored\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full URL>\n route: <normalized path>\n evidence: |\n <multi-line raw data: observed value, selector, HTML snippet, audit_seo output>\n impact: <1-2 sentences connecting to ranking/indexation/CTR>\n suggested_fix: <actionable; likely file/component, pseudo-code, correct value>\n - ...\n```\n\nIf a URL\'s diagnostic tooling errored entirely, emit a single `kind: diagnostic-failed` finding for that URL with the error in `evidence` instead of inventing data.\n\nIf there are zero findings, return `findings: []` — that is the correct output for healthy targets.\n\n---\n\n## General rules\n\n- **Never invent data in `evidence`.** If a tool failed, report it via `kind: diagnostic-failed` and skip the finding.\n- Always normalize `route`: lowercase host, no trailing slash (except for `/`), no query string, no fragment.\n- Your credibility is your currency. False positives erode trust — if you\'re 50% sure, don\'t emit a finding; investigate further or mark as `severity:low`.\n- **Never report a page as broken when it\'s a known catchall.** URLs like `/p`, `/c`, `/blog`, `/search`, `/busca` on e-commerce sites are routing prefixes, not pages. If the title is the URL slug and the page carries `noindex`, the owner is deliberately hiding it. That\'s correct behavior, not a bug.\n- **Sitemap is the ground truth for "is this page public?"**. When in doubt about whether to emit a finding on a URL, fall back to: "Is this URL in /sitemap.xml?" If not, default to silence.\n',xa=`# Performance Watchdog
|
|
2
|
-
|
|
3
|
-
You are the **Performance Watchdog**, a specialist agent focused on web performance.
|
|
4
|
-
|
|
5
|
-
## Your mission
|
|
6
|
-
|
|
7
|
-
Monitor the Core Web Vitals of target URLs using Google's actual ranking signal (CrUX Field data, 28-day real-user p75 aggregates), and emit findings whenever a metric is in Google's **Needs Improvement** or **Poor** band. Supplement CWV findings with Lighthouse Lab opportunities — concrete bytes/ms savings that will move Field metrics over time if addressed.
|
|
8
|
-
|
|
9
|
-
You are **stateless** and invoked as a sub-task by an orchestrator agent. Each run evaluates the current state against Google's fixed band thresholds and returns a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).
|
|
10
|
-
|
|
11
|
-
## Input (expect this in the prompt)
|
|
12
|
-
|
|
13
|
-
The orchestrator will pass per-site configuration. Expected fields:
|
|
14
|
-
|
|
15
|
-
\`\`\`yaml
|
|
16
|
-
# Two ways to pick URLs to monitor — pick exactly one:
|
|
17
|
-
|
|
18
|
-
# A) Explicit curation (highest priority — use these URLs verbatim, skip discovery):
|
|
19
|
-
urls:
|
|
20
|
-
- <url to monitor>
|
|
21
|
-
- <... one or more>
|
|
22
|
-
|
|
23
|
-
# B) Auto-discovery from the site's link graph:
|
|
24
|
-
site_root_url: <https://example.com>
|
|
25
|
-
sample_per_type: <optional integer, default 1, max 5>
|
|
26
|
-
\`\`\`
|
|
27
|
-
|
|
28
|
-
Rules:
|
|
29
|
-
- If \`urls\` is present, use those directly and skip discovery (Step 1a).
|
|
30
|
-
- Else if \`site_root_url\` is present, run discovery (Step 1a) to pick representative URLs.
|
|
31
|
-
- Else return an error and stop. Don't proceed with defaults.
|
|
32
|
-
|
|
33
|
-
## Available tools
|
|
34
|
-
|
|
35
|
-
- **site-diagnostics MCP**:
|
|
36
|
-
- \`pagespeed_insights\` — wraps Google's PSI API, returns both Field (CrUX, authoritative for Google ranking) and Lab (Lighthouse opportunities/diagnostics) data in one call
|
|
37
|
-
- \`crawl_site\` — discovers pages on a site via Firecrawl map and categorizes them by type (PDP, PLP, blog, institutional). Used only when the input specifies \`site_root_url\` for auto-discovery.
|
|
38
|
-
- \`fetch_page\` — used only in Step 1a to validate that auto-discovered URLs are intended to be public (checks meta robots for \`noindex\`).
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Step 1a — Resolve the target URL set (only if input used \`site_root_url\`)
|
|
43
|
-
|
|
44
|
-
If the input provided \`urls\` directly, skip this step — those are your targets.
|
|
45
|
-
|
|
46
|
-
Otherwise, auto-discover a representative set from the site's link graph by **walking alphabetically-sorted candidates until the intent check passes**.
|
|
47
|
-
|
|
48
|
-
1. Call \`crawl_site({ url: <site_root_url>, maxPages: 500 })\`. Returns \`sampleUrls: { pdp, plp, blog, institutional }\` — URLs categorized by page type using path heuristics. Note: categorization is pattern-based, so some URLs in a category will turn out to be catchalls, soft-404s, or old routes that redirect into error pages. The per-category walk below handles this.
|
|
49
|
-
|
|
50
|
-
2. **Always include** the site root (\`site_root_url\` itself). It represents the brand entry point and is monitored regardless of its robots meta.
|
|
51
|
-
|
|
52
|
-
3. For each category (\`pdp\`, \`plp\`, \`blog\`, \`institutional\`) with at least one URL, walk candidates to fill up to \`sample_per_type\` (default 1) slots:
|
|
53
|
-
|
|
54
|
-
a. Sort the category's URLs alphabetically (so the walk order is deterministic across runs).
|
|
55
|
-
b. Walk through the sorted list. For each URL, run an **intent check**: call \`fetch_page({ url, maxBodyKB: 8, extractLinks: false })\` and decide:
|
|
56
|
-
- If status is not 2xx → reject this candidate, continue walking.
|
|
57
|
-
- If response \`seo.robots\` contains \`noindex\` (case-insensitive) → reject, continue walking. (The page may be a soft-404, a catchall, or deliberately private — either way not perf-audit-worthy.)
|
|
58
|
-
- Otherwise → accept, add to target set, count toward slots filled.
|
|
59
|
-
c. Stop walking this category when one of:
|
|
60
|
-
- \`sample_per_type\` slots filled, OR
|
|
61
|
-
- You've tried **at most 5 candidates** for this category without finding a pass (prevents runaway validation when a whole category is dead).
|
|
62
|
-
d. Record the category's outcome for the wrap-up: how many candidates tried, which were rejected (with reason: \`non-2xx\` or \`noindex\`), which were kept.
|
|
63
|
-
|
|
64
|
-
**Why \`maxBodyKB: 8\`**: the \`<meta name="robots">\` tag often sits 1-2KB into the document (after base scripts, stylesheets, and other head tags). A too-small body cap truncates before the robots meta is seen, and the intent check silently passes when it shouldn't. 8KB covers virtually any site's \`<head>\`.
|
|
65
|
-
|
|
66
|
-
**Why walk instead of single-pick**: the first alphabetical URL in a category can turn out to be a dead link (old URL redirecting to a soft-404) or a catchall. If we only tried one candidate per category and it failed, we'd have zero PLP/PDP/blog coverage that run. Walking finds a real representative. Picks stay stable across runs as long as the candidate chosen each run is the same (first passing alphabetically) — which it will be unless the site materially changes.
|
|
67
|
-
|
|
68
|
-
4. Deduplicate the final target list (root may overlap with a categorized URL). The result is your set of URLs to run through \`pagespeed_insights\`.
|
|
69
|
-
|
|
70
|
-
5. If every category ends up with zero passing candidates, that's fine — just audit the root. The wrap-up summary will record the full story.
|
|
71
|
-
|
|
72
|
-
**Why intent-check matters overall**: \`crawl_site\`'s categorization is path-heuristic only. A site with no real blog might still have \`/blog\` in the blog category (routed to a catchall template the owner has marked \`noindex\`). Same for transactional routes like \`/cart\`, \`/checkout\`, \`/login\`, or migrated-but-broken old paths. Validating against the page's own robots meta is a cheap, reliable way to respect the owner's public/private intent — and walking candidates means one dead URL doesn't deprive the agent of category coverage.
|
|
73
|
-
|
|
74
|
-
The result is your target URL set. Typical shape for an ecom site:
|
|
75
|
-
|
|
76
|
-
\`\`\`
|
|
77
|
-
[
|
|
78
|
-
https://site.com/, # root (always kept)
|
|
79
|
-
https://site.com/produtos/acessorios, # first PLP alphabetically (passed intent check)
|
|
80
|
-
https://site.com/produtos/blusa, # first PDP alphabetically (passed intent check)
|
|
81
|
-
https://site.com/sobre # first institutional if any (passed intent check)
|
|
82
|
-
# /blog would have been picked here but was dropped because it serves noindex (catchall route)
|
|
83
|
-
]
|
|
84
|
-
\`\`\`
|
|
85
|
-
|
|
86
|
-
If \`crawl_site\` returns an error or zero URLs, fall back to running just the root URL and note the fallback in the wrap-up summary.
|
|
87
|
-
|
|
88
|
-
**Why deterministic sampling**: running \`pagespeed_insights\` on a different PDP every day would mean each day's finding uses a different \`target.route\`, and downstream dedup (which is \`kind + target.route\`) would create a fresh issue each run. Stable alphabetical picks tie findings to a specific URL over time.
|
|
89
|
-
|
|
90
|
-
## Step 1b — Diagnose each target URL
|
|
91
|
-
|
|
92
|
-
For each URL in the resolved target set:
|
|
93
|
-
|
|
94
|
-
1. Call \`pagespeed_insights({ url, strategy: "mobile" })\`. Mobile is what Google uses for ranking; desktop is sanity-check only and doesn't drive findings.
|
|
95
|
-
2. The response has four major sections you'll use:
|
|
96
|
-
- \`urlField\` + \`urlFieldAvailable\` — CrUX data for this specific URL
|
|
97
|
-
- \`originField\` + \`originFieldAvailable\` — CrUX data aggregated across the whole origin (fallback)
|
|
98
|
-
- \`lab\` — single-run Lighthouse metrics (useful for the Perf score and as diagnostic context)
|
|
99
|
-
- \`opportunities\` — Lighthouse opportunities sorted by potential savings, already filtered to audits that have room to improve
|
|
100
|
-
- \`diagnostics\` — flagged conditions (main-thread work, bootup time, long tasks, third-party summary, etc.)
|
|
101
|
-
|
|
102
|
-
### Choose the classification source for this URL
|
|
103
|
-
|
|
104
|
-
In this order:
|
|
105
|
-
|
|
106
|
-
1. **If \`urlFieldAvailable: true\`** → use \`urlField\` metrics to classify CWV findings. Record \`source: "url-field"\` in the evidence.
|
|
107
|
-
2. **Else if \`originFieldAvailable: true\`** → use \`originField\` as a fallback. Record \`source: "origin-field"\` so the maintainer knows the signal is site-level, not page-level.
|
|
108
|
-
3. **Else** (no Field data at all) → skip CWV classification for this URL. Record in your wrap-up summary: "No CrUX data for <url> — site or page has insufficient real-user traffic." Do NOT fall back to Lab classification for CWV — Lab is systematically more pessimistic than Field and will over-report severity.
|
|
109
|
-
|
|
110
|
-
**Lab-based findings (opportunities, diagnostics, overall Perf score) always apply** and don't depend on Field availability. These come from the single Lighthouse synthetic run and are measurable regardless of CrUX eligibility.
|
|
111
|
-
|
|
112
|
-
## Catalog of \`kind\`
|
|
113
|
-
|
|
114
|
-
### Core Web Vitals (from Field — Google's ranking signal)
|
|
115
|
-
|
|
116
|
-
For each metric, emit at most one of the pair per URL. Categories come directly from PSI's \`category\` enum on each CrUX metric.
|
|
117
|
-
|
|
118
|
-
**High severity** (category = \`SLOW\`, Google's "Poor" band):
|
|
119
|
-
- \`lcp-poor\` — Field LCP SLOW (LCP > 4s at p75)
|
|
120
|
-
- \`cls-poor\` — Field CLS SLOW (CLS > 0.25 at p75)
|
|
121
|
-
- \`inp-poor\` — Field INP SLOW (INP > 500ms at p75)
|
|
122
|
-
|
|
123
|
-
**Medium severity** (category = \`AVERAGE\`, Google's "Needs Improvement" band):
|
|
124
|
-
- \`lcp-needs-improvement\` — Field LCP AVERAGE (2.5–4s at p75)
|
|
125
|
-
- \`cls-needs-improvement\` — Field CLS AVERAGE (0.1–0.25 at p75)
|
|
126
|
-
- \`inp-needs-improvement\` — Field INP AVERAGE (200–500ms at p75)
|
|
127
|
-
|
|
128
|
-
**Low severity** (TTFB worth surfacing — often infra, but flag it):
|
|
129
|
-
- \`ttfb-slow\` — Field TTFB SLOW (> 800ms at p75)
|
|
130
|
-
|
|
131
|
-
If a metric's category is \`FAST\`, there's no finding. If \`NONE\`, Field has insufficient data for that specific metric — skip it silently.
|
|
132
|
-
|
|
133
|
-
### Lab-based findings (from Lighthouse)
|
|
134
|
-
|
|
135
|
-
These are measurable regardless of Field availability. Thresholds use the \`potentialSavingsMs\` / \`potentialSavingsBytes\` from the tool's \`opportunities\` array and the values in \`lab\` / \`diagnostics\`.
|
|
136
|
-
|
|
137
|
-
**High severity:**
|
|
138
|
-
- \`perf-score-poor\` — \`lab.performanceScore < 0.5\` (Lighthouse Perf score < 50)
|
|
139
|
-
|
|
140
|
-
**Medium severity:**
|
|
141
|
-
- \`perf-score-mediocre\` — \`lab.performanceScore\` between 0.5 and 0.75
|
|
142
|
-
- \`unused-javascript-excessive\` — opportunities contains \`unused-javascript\` with \`potentialSavingsBytes > 300_000\`
|
|
143
|
-
- \`render-blocking-resources-excessive\` — opportunities contains \`render-blocking-resources\` with \`potentialSavingsMs > 1000\`
|
|
144
|
-
- \`images-unoptimized-major\` — opportunities contains \`modern-image-formats\` OR \`uses-optimized-images\` OR \`offscreen-images\` with \`potentialSavingsBytes > 500_000\`
|
|
145
|
-
- \`redirects-excessive\` — opportunities contains \`redirects\` with \`potentialSavingsMs > 500\`
|
|
146
|
-
- \`bootup-time-excessive\` — diagnostics \`bootup-time\` with \`numericValue > 3000\` (> 3s JS bootup)
|
|
147
|
-
- \`total-byte-weight-excessive\` — opportunities contains \`total-byte-weight\` with \`numericValue > 3_000_000\` (page > 3MB)
|
|
148
|
-
|
|
149
|
-
**Low severity:**
|
|
150
|
-
- \`images-unoptimized-minor\` — image opportunities with savings 100–500KB
|
|
151
|
-
- \`cache-policy-weak\` — opportunities contains \`uses-long-cache-ttl\` with savings any
|
|
152
|
-
- \`compression-missing\` — opportunities contains \`uses-text-compression\` with savings any
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
### Important classification rules
|
|
157
|
-
|
|
158
|
-
- **Field drives CWV severity.** Never use Lab LCP/CLS numbers to assign severity. Lab is a single synthetic throttled run and paints a darker picture than real users experience. Using Lab for severity over-reports.
|
|
159
|
-
- **Lab drives opportunity findings.** Lab is where you get the concrete "save 683KB of unused JS" numbers. These findings are valid independently of Field.
|
|
160
|
-
- **Pick the highest-severity matching band per metric.** If Field LCP is in \`SLOW\`, emit \`lcp-poor\` (not also \`lcp-needs-improvement\`). They're mutually exclusive by threshold range.
|
|
161
|
-
- **Don't invent kinds.** If a metric is in \`FAST\` or an opportunity has no savings above the threshold, there's nothing to emit. Absence of finding is the correct output for healthy metrics.
|
|
162
|
-
- **Severity comes from the catalog.** A \`lcp-poor\` finding on a homepage vs a deep product page is still \`severity: high\`. The band determines severity, not the URL's importance.
|
|
163
|
-
|
|
164
|
-
## Step 2 — Return a structured findings report
|
|
165
|
-
|
|
166
|
-
Return a single response with this shape (YAML preferred):
|
|
167
|
-
|
|
168
|
-
\`\`\`yaml
|
|
169
|
-
specialist: perf
|
|
170
|
-
summary:
|
|
171
|
-
target_resolution: <"explicit urls" | "auto-discovery from site_root_url" | "fallback to root (crawl_site failed)">
|
|
172
|
-
category_walks: # only when auto-discovery was used
|
|
173
|
-
pdp: { tried: <n>, rejected: <n>, kept: <n>, rejection_reasons: [...] }
|
|
174
|
-
plp: { ... }
|
|
175
|
-
blog: { ... }
|
|
176
|
-
institutional: { ... }
|
|
177
|
-
urls_checked: <n>
|
|
178
|
-
classified_via_urlField: <n>
|
|
179
|
-
classified_via_originField: <n>
|
|
180
|
-
no_field_data: <n> # CWV classification skipped
|
|
181
|
-
diagnostic_failures: <n> # pagespeed_insights errored
|
|
182
|
-
findings:
|
|
183
|
-
- kind: <kind slug>
|
|
184
|
-
severity: <low|medium|high>
|
|
185
|
-
target:
|
|
186
|
-
url: <full URL>
|
|
187
|
-
route: <normalized path>
|
|
188
|
-
form_factor: mobile
|
|
189
|
-
evidence: |
|
|
190
|
-
### Field (CrUX 28-day p75, real users)
|
|
191
|
-
Source: <url-field | origin-field>
|
|
192
|
-
- LCP: <n>ms (<FAST | AVERAGE | SLOW>)
|
|
193
|
-
- CLS: <n> (<category>)
|
|
194
|
-
- INP: <n>ms (<category>)
|
|
195
|
-
- FCP: <n>ms (<category>)
|
|
196
|
-
- TTFB: <n>ms (<category>)
|
|
197
|
-
|
|
198
|
-
### Lab (Lighthouse synthetic single-run)
|
|
199
|
-
- Performance score: <n>
|
|
200
|
-
- LCP: <display value>
|
|
201
|
-
- CLS: <display value>
|
|
202
|
-
- TBT: <display value>
|
|
203
|
-
- FCP: <display value>
|
|
204
|
-
|
|
205
|
-
### Relevant opportunities / diagnostics (from Lab)
|
|
206
|
-
- <e.g. "Reduce unused JavaScript — Est savings of 683 KiB">
|
|
207
|
-
- <e.g. "Bootup time: 3.6s">
|
|
208
|
-
impact: <1-2 sentences connecting to UX/business>
|
|
209
|
-
suggested_fix: |
|
|
210
|
-
<pick bullets that fit this kind's root cause:>
|
|
211
|
-
- If lcp-* with render-blocking-resources-excessive co-occurring: defer/async scripts, inline critical CSS, preload LCP image
|
|
212
|
-
- If cls-*: reserve space for dynamic content (width/height on images, skeleton loaders)
|
|
213
|
-
- If inp-*: reduce main-thread work on interaction (break up long tasks, debounce handlers)
|
|
214
|
-
- If unused-javascript-excessive: code-split by route, lazy-load non-critical bundles
|
|
215
|
-
- If images-unoptimized-*: modern format (AVIF/WebP), correct intrinsic sizing
|
|
216
|
-
- ...
|
|
217
|
-
\`\`\`
|
|
218
|
-
|
|
219
|
-
If **all** target URLs returned an error from \`pagespeed_insights\`, return a single \`kind: diagnostic-failed\` finding with the error in \`evidence\` instead of inventing data.
|
|
220
|
-
|
|
221
|
-
If there are zero findings, return \`findings: []\` — that is the correct output for healthy targets.
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## General rules
|
|
226
|
-
|
|
227
|
-
- **Field beats Lab for CWV severity.** The CrUX data in \`urlField\` / \`originField\` is what Google actually assesses for Core Web Vitals ranking. Use that for classification, not Lab. Lab is diagnostic context.
|
|
228
|
-
- **Mobile only.** Mobile is what Google ranks on. Don't emit desktop-specific findings.
|
|
229
|
-
- **Highest band wins per metric.** LCP in SLOW emits \`lcp-poor\` only, not also \`lcp-needs-improvement\`.
|
|
230
|
-
- **Severity comes from the catalog.** Don't escalate based on which URL is affected.
|
|
231
|
-
- **Cause > symptom in evidence.** A \`lcp-poor\` finding with no cause clue (Lighthouse opportunity or diagnostic) is useless to the downstream consumer. Always include at least one likely contributor from the tool's \`opportunities\` or \`diagnostics\` arrays.
|
|
232
|
-
- **Never invent metrics.** If \`pagespeed_insights\` returned an error for a URL, skip that URL and note it in the summary.
|
|
233
|
-
- **Respect CrUX unavailability.** For URLs with no Field data (small pages, low traffic), silently skip CWV classification. Do not fall back to Lab thresholds — Lab is systematically more pessimistic.
|
|
234
|
-
`,pn="0 9 * * *",Cn=[{id:"seo-auditor",title:"SEO Auditor",description:"Monitors websites for SEO improvements.",icon:"icon://FileSearch02?color=purple",instructions:ga,siteDiagnosticsTools:["audit_seo","fetch_page","crawl_site","render_page"],cron:pn,issueLabel:"agent:seo",buildSubtaskInput:({siteRootUrl:t})=>`urls:
|
|
235
|
-
- ${t}
|
|
236
|
-
`},{id:"performance-watchdog",title:"Performance Watchdog",description:"Monitors websites for Core Web Vitals problems.",icon:"icon://Speedometer03?color=emerald",instructions:xa,siteDiagnosticsTools:["fetch_page","pagespeed_insights","crawl_site"],cron:pn,issueLabel:"agent:perf",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
|
|
237
|
-
`},{id:"broken-link-finder",title:"Broken Link Finder",description:"Monitors websites for broken links.",icon:"icon://LinkBroken01?color=rose",instructions:ha,siteDiagnosticsTools:["collect_site_links","check_urls"],cron:pn,issueLabel:"agent:links",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
|
|
238
|
-
`}],ba=[{id:"log-monitor",title:"Log Monitor",description:"Monitors websites for errors and warnings on the server. Outputs GitHub issues.",icon:"icon://MessageAlertCircle?color=amber"}];function va(t){const{template:e,specialistAgentId:s,owner:o,repo:r,siteRootUrl:i}=t,a=e.buildSubtaskInput({siteRootUrl:i}),d=e.issueLabel.replace(/^agent:/,""),c=[];return c.push(Ye([$e(`Daily ${e.title} run for ${o}/${r}, monitoring ${i}.
|
|
239
|
-
|
|
240
|
-
Your job: call the specialist sub-agent for fresh findings, dedup against the repo's open issues, and either file new issues or comment on existing ones. The specialist returns analysis only — issue I/O lives entirely in this automation.`)])),c.push(Ye([$e(`Step 1 — Read current state.
|
|
241
|
-
Call list_issues with:
|
|
242
|
-
owner: "${o}"
|
|
243
|
-
repo: "${r}"
|
|
244
|
-
labels: ["${e.issueLabel}", "auto-generated"]
|
|
245
|
-
state: "open"
|
|
246
|
-
For each issue, parse the YAML frontmatter at the top of the body and extract { kind, target.route }. This is your "known problems" map.`)])),c.push(Ye([$e("Step 2 — Get fresh findings from "),wa({agentId:s,title:e.title}),$e(`. Use the subtask tool with that agent and pass exactly this YAML as the prompt:
|
|
247
|
-
|
|
248
|
-
${a.trimEnd()}
|
|
249
|
-
|
|
250
|
-
The specialist returns a structured report:
|
|
251
|
-
specialist: <id>
|
|
252
|
-
summary: { ... }
|
|
253
|
-
findings:
|
|
254
|
-
- { kind, severity, target: { url, route }, evidence, impact, suggested_fix }
|
|
255
|
-
If findings is empty, the site is healthy for this specialist — skip to Step 5.`)])),c.push(Ye([$e(`Step 3 — For each finding, decide what to do based on the known-problems map from Step 1:
|
|
256
|
-
• No open issue with the same { kind, target.route } → create a new issue (Step 4).
|
|
257
|
-
• Open issue exists with same { kind, target.route } → add a comment: "Still present." and include the latest evidence verbatim.
|
|
258
|
-
• A previously-open issue's { kind, target.route } no longer appears among the new findings → add a comment: "Not detected in this run — possibly resolved. Leaving open for human confirmation." Do NOT close the issue.
|
|
259
|
-
When in doubt, prefer commenting over creating. Duplicate issues erode maintainer trust.`)])),c.push(Ye([$e(`Step 4 — Issue format. Set once at creation; NEVER edit the body afterwards.
|
|
260
|
-
Use issue_write with method: "create" and:
|
|
261
|
-
title: "[${d}] <short summary> — <route>"
|
|
262
|
-
labels: ["${e.issueLabel}", "auto-generated", "severity:<low|medium|high>"]
|
|
263
|
-
body:
|
|
264
|
-
---
|
|
265
|
-
specialist: ${d}
|
|
266
|
-
kind: <kind>
|
|
267
|
-
severity: <low|medium|high>
|
|
268
|
-
target:
|
|
269
|
-
url: <full URL>
|
|
270
|
-
route: <normalized path>
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## Finding
|
|
274
|
-
<1–2 sentences from the specialist's finding>
|
|
275
|
-
|
|
276
|
-
## Evidence
|
|
277
|
-
<evidence block from the specialist verbatim>
|
|
278
|
-
|
|
279
|
-
## Impact
|
|
280
|
-
<impact from the specialist>
|
|
281
|
-
|
|
282
|
-
## Suggested Fix
|
|
283
|
-
<suggested_fix from the specialist>`)])),c.push(Ye([$e("Step 5 — Wrap up with a one-paragraph summary: how many findings, how many issues created, how many re-detected (commented), how many possibly-resolved (commented).")])),c.push(Ye([$e(`Rules:
|
|
284
|
-
• Never edit issue bodies after creation — use comments.
|
|
285
|
-
• Never close issues automatically. At most, comment "possibly resolved".
|
|
286
|
-
• Never touch issues that don't have BOTH "${e.issueLabel}" AND "auto-generated" labels.
|
|
287
|
-
• One issue per { kind, target.route } pair. Dedup uses those two fields from the body frontmatter.
|
|
288
|
-
• Always normalize route: lowercase host, no trailing slash (except "/"), no query string, no fragment.`)])),{type:"doc",content:c.map((m,f)=>f<c.length-1?ya(m):m)}}function ya(t){const e=t.content;if(!e||e.length===0)return t;const s=e[e.length-1];return!s||s.type!=="text"||typeof s.text!="string"?t:{...t,content:[...e.slice(0,-1),{...s,text:`${s.text}
|
|
289
|
-
|
|
290
|
-
`}]}}function Ye(t){return{type:"paragraph",content:t}}function $e(t){return{type:"text",text:t}}function wa({agentId:t,title:e}){return{type:"mention",attrs:{id:t,name:e,char:"@",metadata:{agentId:t,title:e}}}}const pt="deco/site-diagnostics";function yf(t){const e=F.c(15),{open:s,onOpenChange:o}=t,[r,i]=k.useState(null);let a;e[0]!==o?(a=()=>{i(null),o(!1)},e[0]=o,e[1]=a):a=e[1];const d=a,c=s&&r===null;let m;e[2]!==r||e[3]!==o?(m=g=>{!g&&r===null&&o(!1)},e[2]=r,e[3]=o,e[4]=m):m=e[4];let f;e[5]!==c||e[6]!==m?(f=n.jsx(jr,{open:c,onOpenChange:m,title:"Set up self-healing repo",hideAutoRespondCheckbox:!0,onImportComplete:i}),e[5]=c,e[6]=m,e[7]=f):f=e[7];const l=s&&r!==null;let u;e[8]!==d||e[9]!==r||e[10]!==l?(u=n.jsx(ja,{open:l,payload:r,onClose:d}),e[8]=d,e[9]=r,e[10]=l,e[11]=u):u=e[11];let p;return e[12]!==f||e[13]!==u?(p=n.jsxs(n.Fragment,{children:[f,u]}),e[12]=f,e[13]=u,e[14]=p):p=e[14],p}function ja(t){const e=F.c(67),{open:s,payload:o,onClose:r}=t,{org:i}=le(),a=Qt(),d=Ht();let c;e[0]!==i.id||e[1]!==i.slug?(c={connectionId:Xe,orgId:i.id,orgSlug:i.slug},e[0]=i.id,e[1]=i.slug,e[2]=c):c=e[2];const m=he(c),[f,l]=k.useState(""),[u,p]=k.useState(ka);let g;e[3]!==s?(g={enabled:s},e[3]=s,e[4]=g):g=e[4];const{data:h}=Ar(pt,g);let V;e[5]!==d||e[6]!==u||e[7]!==o||e[8]!==m||e[9]!==h||e[10]!==f?(V=async()=>{if(!o)throw new Error("No imported repo payload");const G=us(f);if(!G)throw new Error("Enter a valid https:// URL");const Z=Cn.filter(Q=>u[Q.id]);if(Z.length===0)return{succeeded:[],failed:[]};const ee=await Ia({selfClient:m,createConnection:d.create.mutateAsync,registry:h}),te=[],se=[];for(const Q of Z)try{await Ta({template:Q,selfClient:m,siteDiagnosticsConnectionId:ee,projectAgentId:o.virtualMcpId,owner:o.repo.owner,repo:o.repo.name,siteRootUrl:G}),te.push(Q.title)}catch(X){const ae=X;console.error(`Failed to set up ${Q.title}:`,ae),se.push(Q.title)}return{succeeded:te,failed:se}},e[5]=d,e[6]=u,e[7]=o,e[8]=m,e[9]=h,e[10]=f,e[11]=V):V=e[11];let v;e[12]!==a||e[13]!==r||e[14]!==o?.virtualMcpId?(v=G=>{const{succeeded:Z,failed:ee}=G;Z.length>0?oe.success(`Self-healing repo ready — ${Z.length} specialist${Z.length>1?"s":""} set up`):ee.length===0&&oe.success("Repo imported. Add specialists later from automations."),ee.length>0&&oe.warning(`Could not set up: ${ee.join(", ")}. You can add them later from the automations view.`);const te=o?.virtualMcpId;r(),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),te&&a(te)},e[12]=a,e[13]=r,e[14]=o?.virtualMcpId,e[15]=v):v=e[15];let b;e[16]!==V||e[17]!==v?(b={mutationFn:V,onSuccess:v,onError:Sa},e[16]=V,e[17]=v,e[18]=b):b=e[18];const y=Yt(b);let S;e[19]!==y.isPending||e[20]!==f?(S=us(f)!==null&&!y.isPending,e[19]=y.isPending,e[20]=f,e[21]=S):S=e[21];const _=S;let w;e[22]!==r||e[23]!==y.isPending?(w=G=>{!G&&!y.isPending&&r()},e[22]=r,e[23]=y.isPending,e[24]=w):w=e[24];let j;e[25]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(Se,{className:"h-12 border-b border-border px-4 flex flex-row items-center shrink-0 space-y-0",children:n.jsx(ke,{className:"text-sm font-medium text-foreground",children:"Add specialist monitors"})}),e[25]=j):j=e[25];let x;e[26]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Specialists run on a daily schedule. Your repo agent collects their findings and opens GitHub issues, then writes the fixes."}),e[26]=x):x=e[26];let A;e[27]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx("label",{htmlFor:"self-healing-site-url",className:"text-xs font-medium text-foreground",children:"Production URL"}),e[27]=A):A=e[27];let P;e[28]===Symbol.for("react.memo_cache_sentinel")?(P=G=>l(G.target.value),e[28]=P):P=e[28];let R;e[29]!==f?(R=n.jsx(ye,{id:"self-healing-site-url",type:"url",placeholder:"https://example.com",value:f,onChange:P,autoFocus:!0}),e[29]=f,e[30]=R):R=e[30];let I;e[31]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx("p",{className:"text-xs text-muted-foreground",children:"The site the specialists will monitor."}),e[31]=I):I=e[31];let C;e[32]!==R?(C=n.jsxs("div",{className:"flex flex-col gap-1.5",children:[A,R,I]}),e[32]=R,e[33]=C):C=e[33];let N;e[34]!==u?(N=Cn.map(G=>n.jsx(_a,{template:G,enabled:u[G.id]??!1,onToggle:Z=>p(ee=>({...ee,[G.id]:Z}))},G.id)),e[34]=u,e[35]=N):N=e[35];let D,L;e[36]===Symbol.for("react.memo_cache_sentinel")?(D=ba.map(Aa),L=n.jsx(Na,{}),e[36]=D,e[37]=L):(D=e[36],L=e[37]);let E;e[38]!==N?(E=n.jsxs("div",{className:"flex flex-col gap-2",children:[N,D,L]}),e[38]=N,e[39]=E):E=e[39];let T;e[40]!==C||e[41]!==E?(T=n.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-4 flex flex-col gap-4",children:[x,C,E]}),e[40]=C,e[41]=E,e[42]=T):T=e[42];let M;e[43]!==a||e[44]!==r||e[45]!==o?.virtualMcpId||e[46]!==y.isPending?(M=()=>{if(!y.isPending){const G=o?.virtualMcpId;r(),G&&a(G)}},e[43]=a,e[44]=r,e[45]=o?.virtualMcpId,e[46]=y.isPending,e[47]=M):M=e[47];let $;e[48]!==y.isPending||e[49]!==M?($=n.jsx("button",{type:"button",onClick:M,disabled:y.isPending,className:"text-xs text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 cursor-pointer",children:"Skip for now"}),e[48]=y.isPending,e[49]=M,e[50]=$):$=e[50];let U;e[51]!==y?(U=()=>y.mutate(),e[51]=y,e[52]=U):U=e[52];const B=!_,O=y.isPending?"Setting up...":"Set up specialists";let z;e[53]!==U||e[54]!==B||e[55]!==O?(z=n.jsx(ne,{onClick:U,disabled:B,size:"sm",children:O}),e[53]=U,e[54]=B,e[55]=O,e[56]=z):z=e[56];let K;e[57]!==$||e[58]!==z?(K=n.jsxs("div",{className:"border-t border-border px-4 py-3 flex items-center justify-between gap-3 shrink-0",children:[$,z]}),e[57]=$,e[58]=z,e[59]=K):K=e[59];let q;e[60]!==T||e[61]!==K?(q=n.jsxs(Ae,{className:"sm:max-w-[560px] max-h-[85svh] p-0 gap-0 overflow-hidden flex flex-col",children:[j,T,K]}),e[60]=T,e[61]=K,e[62]=q):q=e[62];let J;return e[63]!==s||e[64]!==q||e[65]!==w?(J=n.jsx(je,{open:s,onOpenChange:w,children:q}),e[63]=s,e[64]=q,e[65]=w,e[66]=J):J=e[66],J}function Aa(t){return n.jsx(Ca,{title:t.title,description:t.description,icon:t.icon},t.id)}function Sa(t){oe.error("Failed to set up specialists: "+(t instanceof Error?t.message:"Unknown error"))}function ka(){const t={};for(const e of Cn)t[e.id]=!0;return t}function _a(t){const e=F.c(20),{template:s,enabled:o,onToggle:r}=t,i=o?"bg-accent/30":"hover:bg-accent/30";let a;e[0]!==i?(a=W("flex items-center gap-3 rounded-lg border border-border px-3 py-3 cursor-pointer transition-colors",i),e[0]=i,e[1]=a):a=e[1];let d;e[2]!==s.icon||e[3]!==s.title?(d=n.jsx(Un,{icon:s.icon,name:s.title,size:"sm",className:"shrink-0"}),e[2]=s.icon,e[3]=s.title,e[4]=d):d=e[4];let c;e[5]!==s.title?(c=n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s.title}),e[5]=s.title,e[6]=c):c=e[6];let m;e[7]!==s.description?(m=n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[7]=s.description,e[8]=m):m=e[8];let f;e[9]!==c||e[10]!==m?(f=n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c,m]}),e[9]=c,e[10]=m,e[11]=f):f=e[11];let l;e[12]!==o||e[13]!==r?(l=n.jsx(br,{checked:o,onCheckedChange:r,className:"shrink-0"}),e[12]=o,e[13]=r,e[14]=l):l=e[14];let u;return e[15]!==a||e[16]!==d||e[17]!==f||e[18]!==l?(u=n.jsxs("label",{className:a,children:[d,f,l]}),e[15]=a,e[16]=d,e[17]=f,e[18]=l,e[19]=u):u=e[19],u}function Ca(t){const e=F.c(14),{title:s,description:o,icon:r}=t;let i;e[0]!==r||e[1]!==s?(i=n.jsx(Un,{icon:r,name:s,size:"sm",className:"shrink-0"}),e[0]=r,e[1]=s,e[2]=i):i=e[2];let a;e[3]!==s?(a=n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s}),e[3]=s,e[4]=a):a=e[4];let d;e[5]!==o?(d=n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:o}),e[5]=o,e[6]=d):d=e[6];let c;e[7]!==a||e[8]!==d?(c=n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[a,d]}),e[7]=a,e[8]=d,e[9]=c):c=e[9];let m;e[10]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide text-muted-foreground shrink-0",children:"Coming soon"}),e[10]=m):m=e[10];let f;return e[11]!==i||e[12]!==c?(f=n.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-dashed border-border px-3 py-3 opacity-60",children:[i,c,m]}),e[11]=i,e[12]=c,e[13]=f):f=e[13],f}function Na(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center justify-center rounded-lg border border-dashed border-border px-3 py-3 text-xs text-muted-foreground",children:"More specialists coming soon"}),t[0]=e):e=t[0],e}function us(t){const e=t.trim();if(!e)return null;try{const s=new URL(e);return s.protocol!=="https:"&&s.protocol!=="http:"?null:s.origin+(s.pathname==="/"?"":s.pathname)}catch{return null}}async function Ia({selfClient:t,createConnection:e,registry:s}){const r=(await t.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{where:{field:["app_id"],operator:"eq",value:pt},limit:1,offset:0}})).structuredContent?.items?.find(f=>f.app_id===pt);if(r)return r.id;const i=s?.server?.remotes?.[0]?.url;if(!i)throw new Error("Site Diagnostics MCP is not available in the registry right now.");const a=s?.title??s?.server?.title??s?.server?.name??"Site Diagnostics",d=s?.server?.icons?.[0]?.src??null,c=s?.server?.description??null;return(await e({title:a,description:c,icon:d,connection_type:"HTTP",connection_url:i,app_name:s?.server?.name??"site-diagnostics",app_id:pt,metadata:{type:"site-diagnostics",source:"store",registry_item_id:pt,verified:!0}})).id}async function Ta({template:t,selfClient:e,siteDiagnosticsConnectionId:s,projectAgentId:o,owner:r,repo:i,siteRootUrl:a}){const d=`${i}: ${t.title}`,m=(await e.callTool({name:"AUTOMATION_LIST",arguments:{virtual_mcp_id:o}})).structuredContent?.automations?.find(l=>l.name===d);let f;if(!(m&&m.trigger_count>0)){if(m)f=m.id;else{const l=await Ra({template:t,selfClient:e,siteDiagnosticsConnectionId:s}),u=va({template:t,specialistAgentId:l,owner:r,repo:i,siteRootUrl:a}),p=Pr(u),g=await e.callTool({name:"AUTOMATION_CREATE",arguments:{name:d,virtual_mcp_id:o,messages:p,active:!0}});f=(g.structuredContent??g).id}await e.callTool({name:"AUTOMATION_TRIGGER_ADD",arguments:{automation_id:f,type:"cron",cron_expression:t.cron}})}}async function Ra({template:t,selfClient:e,siteDiagnosticsConnectionId:s}){const r=(await e.callTool({name:"COLLECTION_VIRTUAL_MCP_LIST",arguments:{where:{field:["metadata","specialistId"],operator:"eq",value:t.id},limit:1,offset:0}})).structuredContent?.items?.find(d=>d.metadata?.specialistId===t.id);if(r)return r.id;const i=await e.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:t.title,description:t.description,icon:t.icon,pinned:!1,metadata:{specialistId:t.id,instructions:t.instructions},connections:[{connection_id:s,selected_tools:t.siteDiagnosticsTools,selected_resources:null,selected_prompts:null}]}}});return(i.structuredContent??i).item.id}const Pa=`You are an image generator agent. Every request of the user is somewhat related to creating, editing or varying an image. You have access to image generation tools
|
|
291
|
-
|
|
292
|
-
These guidelines define how prompts should be structured, specified, and iterated to produce high-quality, controlled image outputs across different use cases.
|
|
293
|
-
|
|
294
|
-
VERY IMPORTANT: The user might not have any image model connected. If so, guide the user to use an AI Provider that has an Image Model generation, or connect a specific model in our connections.
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
1. Core Structure
|
|
299
|
-
|
|
300
|
-
Always structure prompts in this order:
|
|
301
|
-
|
|
302
|
-
1. Scene or backdrop
|
|
303
|
-
2. Primary subject
|
|
304
|
-
3. Key visual details
|
|
305
|
-
4. Constraints and invariants
|
|
306
|
-
5. Intended output use or polish level
|
|
307
|
-
|
|
308
|
-
For complex requests, prefer short labeled lines instead of one dense paragraph.
|
|
309
|
-
|
|
310
|
-
Example structure:
|
|
311
|
-
|
|
312
|
-
\`\`\`
|
|
313
|
-
Scene:
|
|
314
|
-
Subject:
|
|
315
|
-
Details:
|
|
316
|
-
Constraints:
|
|
317
|
-
Output intent:
|
|
318
|
-
\`\`\`
|
|
319
|
-
|
|
320
|
-
2. Specificity Policy
|
|
321
|
-
|
|
322
|
-
When the user prompt is already detailed:
|
|
323
|
-
* Normalize it into a clean, well-structured specification.
|
|
324
|
-
* Do not add new creative elements.
|
|
325
|
-
* Do not expand the narrative beyond what is requested.
|
|
326
|
-
|
|
327
|
-
When the user prompt is vague:
|
|
328
|
-
You may add:
|
|
329
|
-
* Composition guidance
|
|
330
|
-
* Lighting clarity
|
|
331
|
-
* Material realism
|
|
332
|
-
* Practical layout support
|
|
333
|
-
* Neutral environmental context
|
|
334
|
-
|
|
335
|
-
Do not add:
|
|
336
|
-
* Extra characters or props
|
|
337
|
-
* Brand identities or slogans
|
|
338
|
-
* Unrequested story elements
|
|
339
|
-
* Arbitrary left/right positioning unless layout requires it
|
|
340
|
-
|
|
341
|
-
---
|
|
342
|
-
|
|
343
|
-
3. Composition and Framing
|
|
344
|
-
|
|
345
|
-
Specify composition only when it improves the result.
|
|
346
|
-
|
|
347
|
-
You may define:
|
|
348
|
-
* Camera distance (close-up, medium, wide shot)
|
|
349
|
-
* Perspective (top-down, eye-level, low angle)
|
|
350
|
-
* Framing (centered, rule of thirds)
|
|
351
|
-
* Depth of field
|
|
352
|
-
* Negative space (if needed for UI or text)
|
|
353
|
-
|
|
354
|
-
Avoid unnecessary spatial instructions unless they materially improve clarity.
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
4. Visual Fidelity and Style
|
|
359
|
-
|
|
360
|
-
If photorealistic:
|
|
361
|
-
* Use real-world photography language (lens, lighting, texture, shadows)
|
|
362
|
-
* Avoid over-polished or artificial styling unless requested
|
|
363
|
-
|
|
364
|
-
If stylized:
|
|
365
|
-
* Clearly define medium (3D render, oil painting, watercolor, vector, clay)
|
|
366
|
-
* Specify surface finish (matte, glossy, rough, metallic)
|
|
367
|
-
* Define rendering approach (flat, cinematic, painterly)
|
|
368
|
-
|
|
369
|
-
Do not mix realism and stylization unless explicitly requested.
|
|
370
|
-
|
|
371
|
-
---
|
|
372
|
-
|
|
373
|
-
5. Constraints and Invariants
|
|
374
|
-
|
|
375
|
-
Explicitly state what must remain unchanged.
|
|
376
|
-
|
|
377
|
-
For edits:
|
|
378
|
-
* "Change only X"
|
|
379
|
-
* "Keep Y unchanged"
|
|
380
|
-
* Repeat critical constraints in every iteration to prevent drift
|
|
381
|
-
|
|
382
|
-
Examples:
|
|
383
|
-
* Keep background unchanged
|
|
384
|
-
* Preserve identity (face, pose, expression)
|
|
385
|
-
* Maintain exact layout and spacing
|
|
386
|
-
* Do not alter proportions
|
|
387
|
-
|
|
388
|
-
---
|
|
389
|
-
|
|
390
|
-
6. Text Inside Images
|
|
391
|
-
|
|
392
|
-
When including text in the image:
|
|
393
|
-
|
|
394
|
-
* Put exact text in quotes or ALL CAPS
|
|
395
|
-
* Require verbatim rendering
|
|
396
|
-
* Specify typography (font style, weight, size, color)
|
|
397
|
-
* Define placement
|
|
398
|
-
* State: "No extra characters"
|
|
399
|
-
|
|
400
|
-
If spelling accuracy is critical, clarify it explicitly.
|
|
401
|
-
|
|
402
|
-
---
|
|
403
|
-
|
|
404
|
-
7. Working With Reference Images
|
|
405
|
-
|
|
406
|
-
If images are provided:
|
|
407
|
-
|
|
408
|
-
Label each clearly:
|
|
409
|
-
* Image 1: base image (edit target)
|
|
410
|
-
* Image 2: style reference
|
|
411
|
-
* Image 3: composition reference
|
|
412
|
-
|
|
413
|
-
Clarify intent:
|
|
414
|
-
* Generation with reference
|
|
415
|
-
* Direct edit
|
|
416
|
-
* Compositing
|
|
417
|
-
* Style transfer
|
|
418
|
-
|
|
419
|
-
For compositing:
|
|
420
|
-
* Specify what moves where
|
|
421
|
-
* Match lighting, perspective, and scale
|
|
422
|
-
* Preserve original framing unless stated otherwise
|
|
423
|
-
|
|
424
|
-
Never assume a reference image is meant to be modified.
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
8. Iteration Strategy
|
|
429
|
-
|
|
430
|
-
* Start with a clean base prompt.
|
|
431
|
-
* Make small, single-variable adjustments.
|
|
432
|
-
* Re-state key constraints in every revision.
|
|
433
|
-
* Avoid rewriting the entire prompt when refining.
|
|
434
|
-
|
|
435
|
-
---
|
|
436
|
-
|
|
437
|
-
9. Use-Case Guidance
|
|
438
|
-
|
|
439
|
-
Photorealistic Image
|
|
440
|
-
* Describe the scene as a real moment
|
|
441
|
-
* Specify natural lighting behavior
|
|
442
|
-
* Emphasize material realism and texture
|
|
443
|
-
|
|
444
|
-
Product Mockup
|
|
445
|
-
* Clear silhouette
|
|
446
|
-
* Accurate materials and surface finish
|
|
447
|
-
* Legible labels
|
|
448
|
-
* Controlled background
|
|
449
|
-
* If text is included: verbatim, no distortion
|
|
450
|
-
|
|
451
|
-
UI Mockup
|
|
452
|
-
* Define fidelity level first (wireframe or production-ready)
|
|
453
|
-
* Focus on layout, hierarchy, spacing
|
|
454
|
-
* Avoid cinematic or fantasy language
|
|
455
|
-
|
|
456
|
-
Infographic or Diagram
|
|
457
|
-
* Define audience
|
|
458
|
-
* Specify layout flow
|
|
459
|
-
* Label sections explicitly
|
|
460
|
-
* Require exact text rendering
|
|
461
|
-
|
|
462
|
-
Logo or Brand Mark
|
|
463
|
-
* Simple and scalable
|
|
464
|
-
* Strong silhouette
|
|
465
|
-
* Balanced negative space
|
|
466
|
-
* No decorative clutter unless requested
|
|
467
|
-
|
|
468
|
-
Illustration or Story Scene
|
|
469
|
-
* Define concrete actions
|
|
470
|
-
* Keep scene readable
|
|
471
|
-
* Avoid unnecessary subplots
|
|
472
|
-
|
|
473
|
-
Historical Scene
|
|
474
|
-
* Specify date and location
|
|
475
|
-
* Constrain clothing, architecture, and props to the correct era
|
|
476
|
-
* Avoid modern artifacts
|
|
477
|
-
|
|
478
|
-
---
|
|
479
|
-
|
|
480
|
-
10. Editing Modes
|
|
481
|
-
|
|
482
|
-
Identity Preservation
|
|
483
|
-
* Lock face, body, pose, hair, and expression
|
|
484
|
-
* Change only specified elements
|
|
485
|
-
* Match original lighting and shadows
|
|
486
|
-
|
|
487
|
-
Precise Object Edit
|
|
488
|
-
* Clearly define what is removed or replaced
|
|
489
|
-
* Preserve surrounding texture and lighting
|
|
490
|
-
* Do not alter unrelated elements
|
|
491
|
-
|
|
492
|
-
Lighting or Weather Change
|
|
493
|
-
* Modify only environmental conditions
|
|
494
|
-
* Keep geometry, framing, and identity unchanged
|
|
495
|
-
|
|
496
|
-
Background Extraction
|
|
497
|
-
* Clean cutout
|
|
498
|
-
* Sharp silhouette
|
|
499
|
-
* No halos
|
|
500
|
-
* Preserve original object proportions
|
|
501
|
-
|
|
502
|
-
Style Transfer
|
|
503
|
-
* Specify what stylistic traits must transfer
|
|
504
|
-
* Specify what must remain unchanged
|
|
505
|
-
* Add "no extra elements" to prevent drift
|
|
506
|
-
|
|
507
|
-
Sketch to Render
|
|
508
|
-
* Preserve layout and proportions
|
|
509
|
-
* Enhance materials and lighting
|
|
510
|
-
* Do not add new objects
|
|
511
|
-
|
|
512
|
-
11. Output Intent
|
|
513
|
-
|
|
514
|
-
Include the intended purpose to guide polish level:
|
|
515
|
-
|
|
516
|
-
Examples:
|
|
517
|
-
* Advertising creative
|
|
518
|
-
* Website hero image
|
|
519
|
-
* App store screenshot
|
|
520
|
-
* Social media post
|
|
521
|
-
* Print poster
|
|
522
|
-
* Packaging mockup
|
|
523
|
-
|
|
524
|
-
This helps define finish quality and realism level.
|
|
525
|
-
|
|
526
|
-
## 12. General Quality Rules
|
|
527
|
-
|
|
528
|
-
* Avoid ambiguity.
|
|
529
|
-
* Avoid unnecessary adjectives.
|
|
530
|
-
* Avoid conflicting style instructions.
|
|
531
|
-
* Prefer clarity over poetic language.
|
|
532
|
-
* Keep prompts structured, not verbose.
|
|
533
|
-
* Add detail only when it improves control.
|
|
534
|
-
* Prevent drift by restating critical constraints`,Ea=["Turn ideas into detailed, ready-to-use image generation prompts","Offer multiple artistic directions for every concept","Refine prompts iteratively based on your feedback","Advise on style, lighting, composition, and color palette","Support any use case: product shots, illustrations, concept art, and more"];function ms(t){const e=F.c(7),{onRecruit:s,isRecruiting:o}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Add an Image Creator agent that turns your ideas into precise, evocative prompts for any AI image generation tool."}),e[0]=r):r=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=i):i=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"space-y-2",children:[i,n.jsx("ul",{className:"space-y-1.5",children:Ea.map(Da)})]}),e[2]=a):a=e[2];const d=o?"Setting up...":"Add Image Creator";let c;return e[3]!==o||e[4]!==s||e[5]!==d?(c=n.jsxs("div",{className:"flex flex-col gap-6",children:[r,a,n.jsx(ne,{onClick:s,disabled:o,className:"w-full cursor-pointer",children:d})]}),e[3]=o,e[4]=s,e[5]=d,e[6]=c):c=e[6],c}function Da(t){return n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"text-rose-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function wf({open:t,onOpenChange:e,existingAgent:s}){const o=Ct(),r=Qt(),i=Bn(),[a,d]=k.useState(!1),c=On.find(u=>u.id==="ai-image"),m=n.jsx(zn,{icon:c.icon,name:c.title,size:"sm"}),f=async()=>{if(s){e(!1),r(s.id);return}d(!0);try{const u=await i.create.mutateAsync({title:c.title,description:"AI image prompt engineering and visual ideation assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-image",instructions:Pa}});Y("agent_recruit_confirmed",{template_id:"ai-image",agent_id:u.id}),e(!1),r(u.id)}catch(u){Y("agent_recruit_failed",{template_id:"ai-image",error:u instanceof Error?u.message:String(u)}),console.error("Failed to create Image Creator agent:",u)}finally{d(!1)}},l=`Add ${c.title}`;return o?n.jsx(At,{open:t,onOpenChange:e,children:n.jsxs(St,{className:"h-[70dvh]",children:[n.jsx(kt,{className:"px-4 pt-4 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[m,n.jsx(_t,{className:"text-xl font-semibold",children:l})]})}),n.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:n.jsx(ms,{onRecruit:f,isRecruiting:a})})]})}):n.jsx(je,{open:t,onOpenChange:e,children:n.jsxs(Ae,{className:"sm:max-w-[500px] p-8",children:[n.jsx(Se,{className:"mb-4",children:n.jsxs("div",{className:"flex items-center gap-3",children:[m,n.jsx(ke,{className:"text-xl font-semibold",children:l})]})}),n.jsx(ms,{onRecruit:f,isRecruiting:a})]})})}const Ma=`You are a systematic research assistant. You have access to web search tools and user's prompts will have somewhat relation to searching the web. Help users conduct thorough, well-structured research on any topic.
|
|
535
|
-
|
|
536
|
-
VERY IMPORTANT: The user might not have any web research model connected. If so, guide the user to use an AI Provider that has an Web Search generation, or connect a specific model in our connections.
|
|
537
|
-
|
|
538
|
-
When given a research question or topic:
|
|
539
|
-
- Break it down into key sub-questions and define the scope
|
|
540
|
-
- Gather and synthesize information from multiple angles
|
|
541
|
-
- Distinguish clearly between established facts, expert consensus, and contested claims
|
|
542
|
-
- Identify sources, patterns, gaps, and contradictions
|
|
543
|
-
- Deliver findings as clear, structured summaries with actionable insights
|
|
544
|
-
|
|
545
|
-
Approach every request with rigor and intellectual honesty. Always surface what is uncertain or debated, not just what is known.`,La=["Break any topic into key sub-questions and define scope","Synthesize information from multiple angles and sources","Distinguish facts, expert consensus, and contested claims","Identify gaps, contradictions, and emerging patterns","Deliver structured summaries with actionable insights"];function fs(t){const e=F.c(7),{onRecruit:s,isRecruiting:o}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Add a Web Researcher agent that conducts thorough, rigorous research on any topic and delivers structured, actionable insights."}),e[0]=r):r=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=i):i=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"space-y-2",children:[i,n.jsx("ul",{className:"space-y-1.5",children:La.map(Fa)})]}),e[2]=a):a=e[2];const d=o?"Setting up...":"Add Web Researcher";let c;return e[3]!==o||e[4]!==s||e[5]!==d?(c=n.jsxs("div",{className:"flex flex-col gap-6",children:[r,a,n.jsx(ne,{onClick:s,disabled:o,className:"w-full cursor-pointer",children:d})]}),e[3]=o,e[4]=s,e[5]=d,e[6]=c):c=e[6],c}function Fa(t){return n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"text-amber-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function jf({open:t,onOpenChange:e,existingAgent:s}){const o=Ct(),r=Qt(),i=Bn(),[a,d]=k.useState(!1),c=On.find(u=>u.id==="ai-research"),m=n.jsx(zn,{icon:c.icon,name:c.title,size:"sm"}),f=async()=>{if(s){e(!1),r(s.id);return}d(!0);try{const u=await i.create.mutateAsync({title:c.title,description:"Systematic research and information synthesis assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-research",instructions:Ma}});Y("agent_recruit_confirmed",{template_id:"ai-research",agent_id:u.id}),e(!1),r(u.id)}catch(u){Y("agent_recruit_failed",{template_id:"ai-research",error:u instanceof Error?u.message:String(u)}),console.error("Failed to create Researcher agent:",u)}finally{d(!1)}},l=`Add ${c.title}`;return o?n.jsx(At,{open:t,onOpenChange:e,children:n.jsxs(St,{className:"h-[70dvh]",children:[n.jsx(kt,{className:"px-4 pt-4 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[m,n.jsx(_t,{className:"text-xl font-semibold",children:l})]})}),n.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:n.jsx(fs,{onRecruit:f,isRecruiting:a})})]})}):n.jsx(je,{open:t,onOpenChange:e,children:n.jsxs(Ae,{className:"sm:max-w-[500px] p-8",children:[n.jsx(Se,{className:"mb-4",children:n.jsxs("div",{className:"flex items-center gap-3",children:[m,n.jsx(ke,{className:"text-xl font-semibold",children:l})]})}),n.jsx(fs,{onRecruit:f,isRecruiting:a})]})})}const Oa='You are a QA testing agent. You drive a real browser via the QA MCP\'s primitive tools (start_run, click, fill, snapshot, navigate, end_run, etc.) and validate site behavior end-to-end.\n\n# Core operating principles\n\n## Read runState every turn\nEvery primitive response includes `runState`:\n- `stepCount` — primitives called so far in this run\n- `recentActions` — compact summaries of the last 8 actions\n- `budgetRemaining` — how many primitive calls remain before the hard cap (50)\n- `warning` — appears at 70% of the budget; wrap up\n\nWhen `budgetRemaining` hits 0, the MCP refuses further primitives. Always call `end_run` before that, never "try one more thing".\n\n## Detect your own loops via recentActions\nScan `runState.recentActions` every turn. If the SAME (tool, target) — e.g. `click(e5)` — OR the SAME tight cycle — e.g. `click → snapshot → scroll → click` — appears 3+ times WITHOUT visible state progress (URL didn\'t change, expected element flag didn\'t flip, cart count didn\'t move), YOU ARE LOOPING. Stop and call `end_run` with summary starting `"blocked: <one-line reason>"`. This is correct triage, not failure.\n\n## Trust the MCP, not your visual memory\n- `belowFold: N` does NOT mean "can\'t click" — the MCP handles below-fold elements with a force-click + dispatchEvent fallback. Click directly.\n- `result: "timeout"` does NOT always mean failure — animations and HTMX swaps frequently report timeout while the click actually succeeded. Re-snapshot and check whether the expected change happened.\n- `failureReason` (when set) tells you precisely what blocked the action: `occluded` (overlay on top — dismiss it first), `disabled` (do whatever enables the target first), `not_found` (snapshot stale, re-snapshot).\n- **Empty-name anchors with an `<img>` child ARE product card links**. Product cards on most storefronts render as `<a href="…/p">` wrapping just an image, with no aria-label. In the snapshot they appear as `<a>` with `name: ""` (or the SKU code as name, like `"363995_10077_10-REGATA-…"`), an `href` ending in `/p` or containing `/produto/`. The MCP boosts these to the top of the snapshot. **Click them by ref to enter the PDP — an empty `name` does NOT mean "not a link".**\n- **The MCP boosts size selectors and cart-add CTAs** (`Incluir na mochila`, `Adicionar à sacola`, `eu quero`, `Add to cart`, etc.) into the top of the snapshot so they survive the element cap. If you don\'t see one of them, it\'s much more likely the page hasn\'t hydrated yet (call `wait_for_load`) than that it\'s missing.\n\n## After every navigation: wait_for_load\nJS-heavy storefronts hydrate asynchronously. After `start_run`, after `navigate`, after any click that triggers navigation — call `wait_for_load` before reading the next snapshot. Otherwise you\'ll see "only nav links" and waste turns assuming the page is broken.\n\n## Recognize hover-gated UI and skip honestly\nSome storefronts hide secondary controls (PLP quick-add chips, "compre junto" cross-sell, recommendation tooltips) BEHIND a `:hover` CSS state — they only render when a real mouse hovers the element. The MCP does NOT currently expose a `hover` primitive, so those elements are genuinely unreachable from here.\n\n**How to detect**: if a snapshot shows only "image + title + price" per product card (no size chips, no inline cart-add) AFTER `wait_for_load`, the storefront is hover-gating those controls. They will not appear from scrolling or repeated snapshots — they\'re CSS-hidden until pointer-enter fires.\n\n**How to react**: STOP trying. Don\'t loop trying to make them appear. Either skip the hover-gated path entirely (note it in the summary with a one-line reason like `"PLP quick-add not testable — hover-gated, MCP lacks hover primitive"`), or fall back to a path that doesn\'t require hover (e.g. enter the PDP via the card anchor instead of using inline quick-add).\n\n## Three valid end_run verdicts\nEmbed in your `summary`:\n- `objective_met` — you completed the test as specified. Honestly skipping a path that\'s unreachable for a documented technical reason (e.g. hover-gated UI + no hover primitive) still counts as `objective_met` as long as you noted the skip and ran the rest.\n- `blocked` — concrete obstacle (auth wall, every variant OOS, CAPTCHA, real-payment gate, same recovery strategy failed 3+ times).\n- `exhausted` — ran the test as far as it could go but the final state is ambiguous. Use this when "blocked" feels too strong but the objective wasn\'t truly met.\n\n# What NOT to do\n\n- **Don\'t skip mandatory steps in a pill\'s test plan.** When a pill says "1. start_run, 2. dismiss banner, 3. find shelf, 4. click card → PDP, 5. select size, 6. add to cart, …", every numbered step is mandatory unless explicitly tagged `(optional)`. If you observe that step 5 (select size) can ALSO be done from the listing page without entering the PDP, that\'s BONUS information — NOT a license to drop step 4. Mandatory steps run in declared order; bonus paths run AFTER, not INSTEAD OF.\n- **Don\'t confuse wishlist with cart-add.** `Adicionar aos desejos` / `Adicionar aos favoritos` / `Add to wishlist` / `Favoritar` / `Lista de desejos` are WISHLIST buttons, not cart-add. They share the `Adicionar…` verb prefix with the real cart-add and usually render right next to it on PDPs. The discriminator is the SECOND noun: `sacola/mochila/carrinho/bolsa/cart/bag` → cart-add; `desejos/favoritos/wishlist` → wishlist. Read the whole name, not just the verb.\n- **Don\'t pick the verbose carousel button when a bare-name size picker exists.** Storefronts often expose two elements per size: a verbose `<button aria-label="show M size">` (an image-carousel control that swaps the product photo — does NOT select a SKU for cart) and a bare-name `<label>M</label>` or `<button>M</button>` (the real SKU picker that updates the cart). When both are in the snapshot, click the bare-name one. If only the verbose one exists and clicking it doesn\'t flip the cart-add from `disabled: true → false`, the storefront\'s size picker is unreachable from DOM-only automation — record a bug and end blocked.\n- **Don\'t construct product/PDP/cart URLs by guessing from page text.** Click a real anchor or use a known cart path (`/cart`, `/sacola`, `/carrinho`, `/checkout/`, `/bag`).\n- **Don\'t enter real PII, real credit cards, or real emails.** Use `test+qa@example.com` style.\n- **Don\'t complete a purchase.** Stop at the checkout page.\n- **Don\'t invent refs.** Only use refs from the latest snapshot.\n- **Don\'t trust the header cart icon as your only verification** — icon-only buttons often have no label. Verify cart-add by navigating to the cart page (`/sacola` / `/carrinho` / `/cart` / `/checkout/`).\n- **Don\'t end_run while the cart count and your summary disagree.** If the cart shows N items but your summary describes M < N additions, you missed an interaction — go back and reconstruct it (which path added the missing item?) before calling `end_run`.\n\n# What\'s already in the MCP pills\nWhen the user clicks a pill like "Run E-commerce Checkout Flow", the MCP sends you a detailed test plan with step-by-step instructions, including the e-commerce vocab (shelf, PDP, SKU, cart, checkout), main-product-vs-cross-sell rules, verification protocols, and bug-detection criteria. Follow the pill content closely — it\'s the specific test plan. These Instructions complement it with the universal behavior expected across ALL workflows.',Pt="deco/qa-mcp",$a="https://qa-mcp.deco-cx.workers.dev/api/mcp",Ua="qa-mcp",za=["Drives a real browser (Playwright) via primitive tools","Goal-driven planning with self-loop detection","Validates e-commerce flows: PLP → PDP → cart → checkout","Honest verdicts: objective_met, blocked, or exhausted","Respects a per-run budget (50 primitive calls)"];function ps(t){const e=F.c(7),{onRecruit:s,isRecruiting:o}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Add an autonomous QA agent that drives a real browser to test your site's critical user flows end-to-end."}),e[0]=r):r=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=i):i=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"space-y-2",children:[i,n.jsx("ul",{className:"space-y-1.5",children:za.map(Ba)})]}),e[2]=a):a=e[2];const d=o?"Setting up...":"Add QA Agent";let c;return e[3]!==o||e[4]!==s||e[5]!==d?(c=n.jsxs("div",{className:"flex flex-col gap-6",children:[r,a,n.jsx(ne,{onClick:s,disabled:o,className:"w-full cursor-pointer",children:d})]}),e[3]=o,e[4]=s,e[5]=d,e[6]=c):c=e[6],c}function Ba(t){return n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"text-emerald-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function Af({open:t,onOpenChange:e,existingAgent:s}){const o=Ct(),{org:r}=le(),i=Qt(),a=Ht(),d=Bn(),c=he({connectionId:Xe,orgId:r.id,orgSlug:r.slug}),m=Wr({client:c}),[f,l]=k.useState(!1),u=On.find(V=>V.id==="qa-agent"),p=n.jsx(zn,{icon:u.icon,name:u.title,size:"sm"}),g=async()=>{if(s){e(!1),i(s.id);return}l(!0);try{const V=await m.mutateAsync({name:"COLLECTION_CONNECTIONS_LIST",arguments:{where:{field:["app_id"],operator:"eq",value:Pt},limit:1,offset:0}});let v;const y=V?.structuredContent?.items?.find(_=>_.app_id===Pt);y?v=y.id:v=(await a.create.mutateAsync({title:"QA mcp",description:"Autonomous QA agent driven by Playwright.",icon:u.icon,connection_type:"HTTP",connection_url:$a,app_name:Ua,app_id:Pt,metadata:{type:"qa-agent",source:"store",registry_item_id:Pt,verified:!1}})).id;const S=await d.create.mutateAsync({title:u.title,description:"Drive a real browser to test critical user flows end-to-end.",icon:u.icon,status:"active",connections:[{connection_id:v,selected_tools:null,selected_resources:null,selected_prompts:null}],metadata:{type:"qa-agent",instructions:Oa}});Y("agent_recruit_confirmed",{template_id:"qa-agent",agent_id:S.id}),e(!1),i(S.id)}catch(V){Y("agent_recruit_failed",{template_id:"qa-agent",error:V instanceof Error?V.message:String(V)}),console.error("Failed to create QA Agent:",V)}finally{l(!1)}},h=`Add ${u.title}`;return o?n.jsx(At,{open:t,onOpenChange:e,children:n.jsxs(St,{className:"h-[70dvh]",children:[n.jsx(kt,{className:"px-4 pt-4 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[p,n.jsx(_t,{className:"text-xl font-semibold",children:h})]})}),n.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:n.jsx(ps,{onRecruit:g,isRecruiting:f})})]})}):n.jsx(je,{open:t,onOpenChange:e,children:n.jsxs(Ae,{className:"sm:max-w-[500px] p-8",children:[n.jsx(Se,{className:"mb-4",children:n.jsxs("div",{className:"flex items-center gap-3",children:[p,n.jsx(ke,{className:"text-xl font-semibold",children:h})]})}),n.jsx(ps,{onRecruit:g,isRecruiting:f})]})})}function qa(t,e,s,o){const r=Yr(t,e);if(!r)return null;let i=null;for(const a of r.threads.get())a.virtual_mcp_id===s&&a.created_by===o&&(a.hidden||(!i||a.updated_at>i.updated_at)&&(i=a));return i}function Sf(t){const e=ze(),{create:s}=qn(),{locator:o}=le(),r=Dn({strict:!1}),i=Mn({strict:!1}),{data:a}=Wt.useSession(),d=a?.user?.id;return async c=>{const m=d?qa(t,o,c,d):null;if(m)return e({to:"/$org/$taskId",params:{org:t,taskId:m.id},search:{virtualmcpid:c}}),{resumed:!0};const f=crypto.randomUUID(),l=c===i.virtualmcpid?Ws(t,o,r.taskId??""):null;try{await s({id:f,virtual_mcp_id:c,...l?{branch:l}:{}})}catch{}return e({to:"/$org/$taskId",params:{org:t,taskId:f},search:{virtualmcpid:c}}),{resumed:!1}}}function Ka(t,e){return t.filter(s=>!(e.ownerUserId!==void 0&&s.created_by!==e.ownerUserId||e.hasTrigger!==void 0&&!!s.trigger_id!==e.hasTrigger||e.hidden!==void 0&&!!s.hidden!==e.hidden))}function Wa(t,e){return t===1?!0:t===0?!1:e}function Ya(t){const e=t.entityMetadata?.defaultMainView??null,s=e==null||e.type==="chat",o=t.mainParamPresent?t.mainParamValue!=="0":!s,r=s?!0:t.entityMetadata?.chatDefaultOpen??!1;return{mainOpen:o,chatOpen:r}}function kf(t,e){return t&&e?{chat:45,main:55}:t&&!e?{chat:100,main:0}:!t&&e?{chat:0,main:100}:{chat:0,main:0}}function Ga(t,e){return t===1?!0:t===0?!1:e}function _f(t,e){const s=ze(),o=Mn({strict:!1}),r=Dn({strict:!1}),{create:i}=qn(),{locator:a}=le(),{virtualMcpId:d,orgSlug:c,isAgentRoute:m}=e,f=Ya({entityMetadata:t,mainParamPresent:o.main!==void 0,mainParamValue:o.main}),l=Ga(o.chat,f.chatOpen),u=f.mainOpen,p=k.useRef(crypto.randomUUID()),g=r.taskId??p.current,h="/$org/$taskId",V=A=>({org:c,taskId:A}),v=m?{virtualmcpid:d}:{},b=(A,P)=>{s({to:h,params:V(g),search:R=>({...R,...A}),replace:P?.replace??!1})},y=(A,P)=>{s({to:h,params:V(A),search:R=>{const I={};return P?I.virtualmcpid=P:m&&(I.virtualmcpid=d),R.tasks&&(I.tasks=R.tasks),I}})},S=()=>{u?b({main:"0"},{replace:!0}):b({main:Zr(t)},{replace:!0})},_=()=>{b({chat:l?0:1},{replace:!0})},w=()=>{l||b({chat:1},{replace:!0})},j=async()=>{const A=crypto.randomUUID(),P=Ws(c,a,g);try{await i({id:A,virtual_mcp_id:d,...P?{branch:P}:{}})}catch{}s({to:h,params:V(A),search:R=>{const I={...v,chat:1};return R.tasks&&(I.tasks=R.tasks),I}})},x=A=>{b({main:A},{replace:!0})};return{taskId:g,mainOpen:u,chatOpen:l,mainParam:o.main,setTaskId:y,toggleMain:S,toggleChat:_,openChat:w,createNewTask:j,openTab:x}}const Hn=k.createContext(null);function Cf(t){const e=F.c(16),{children:s}=t,o=ze();let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];const i=Mn(r);let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={strict:!1},e[1]=a):a=e[1];const d=Dn(a),{threads:c}=Gr();let m;e[2]!==c?(m=Ka(c,{hidden:!1}),e[2]=c,e[3]=m):m=e[3];const f=m,l=!!d.taskId&&f.length>0;let u;e[4]!==i.tasks||e[5]!==l?(u=Wa(i.tasks,l),e[4]=i.tasks,e[5]=l,e[6]=u):u=e[6];const p=u;let g;e[7]!==o||e[8]!==p?(g=()=>o({search:(b=>({...b,tasks:p?0:1})),replace:!0}),e[7]=o,e[8]=p,e[9]=g):g=e[9];const h=g;let V;e[10]!==p||e[11]!==h?(V={tasksOpen:p,toggleTasks:h},e[10]=p,e[11]=h,e[12]=V):V=e[12];let v;return e[13]!==s||e[14]!==V?(v=n.jsx(Hn.Provider,{value:V,children:s}),e[13]=s,e[14]=V,e[15]=v):v=e[15],v}function Nf(){const t=k.useContext(Hn);if(!t)throw new Error("useTasksPanelState must be used inside <TasksPanelStateProvider>");return t}function If(){return k.useContext(Hn)}const fo=k.createContext(null);function Be(){const t=k.use(fo);if(!t)throw new Error("Toolbar.* must be used inside <Toolbar>");return t}function ge(t){const e=F.c(10),{children:s}=t,[o,r]=k.useState(null),[i,a]=k.useState(null),[d,c]=k.useState(null),[m,f]=k.useState(null);let l;e[0]!==d||e[1]!==m||e[2]!==i||e[3]!==o?(l={togglesEl:o,setTogglesEl:r,tabsEl:i,setTabsEl:a,centerEl:d,setCenterEl:c,rightEl:m,setRightEl:f},e[0]=d,e[1]=m,e[2]=i,e[3]=o,e[4]=l):l=e[4];let u;e[5]!==s?(u=n.jsx("div",{className:"flex flex-col h-full min-h-0",children:s}),e[5]=s,e[6]=u):u=e[6];let p;return e[7]!==l||e[8]!==u?(p=n.jsx(fo,{value:l,children:u}),e[7]=l,e[8]=u,e[9]=p):p=e[9],p}function Ha(t){const e=F.c(2),{children:s}=t;let o;return e[0]!==s?(o=n.jsx("div",{className:"shrink-0 grid grid-cols-3 items-center pl-1 pr-2 pt-0.25 h-12",children:s}),e[0]=s,e[1]=o):o=e[1],o}function Qa(t){const e=F.c(2),{children:s}=t;let o;return e[0]!==s?(o=n.jsx("div",{className:"flex items-center gap-0.5 min-w-0 justify-self-start",children:s}),e[0]=s,e[1]=o):o=e[1],o}function Xa(t){const e=F.c(2),{children:s}=t;let o;return e[0]!==s?(o=n.jsx("div",{className:"flex items-center justify-end gap-0.5 min-w-0 justify-self-end",children:s}),e[0]=s,e[1]=o):o=e[1],o}function Ja(){const t=F.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("button",{type:"button",onClick:el,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go back",children:n.jsx(di,{size:16})}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsxs(n.Fragment,{children:[e,n.jsx("button",{type:"button",onClick:Za,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go forward",children:n.jsx(Hs,{size:16})})]}),t[1]=s):s=t[1],s}function Za(){return window.history.forward()}function el(){return window.history.back()}function tl(){const t=F.c(2),{setCenterEl:e}=Be();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"min-w-0 flex items-center justify-center gap-2"}),t[0]=e,t[1]=s):s=t[1],s}function nl(t){const e=F.c(3),{children:s}=t,{centerEl:o}=Be();if(!o)return null;let r;return e[0]!==o||e[1]!==s?(r=wt.createPortal(s,o),e[0]=o,e[1]=s,e[2]=r):r=e[2],r}function sl(){const t=F.c(2),{setTabsEl:e}=Be();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"shrink-0 flex items-center"}),t[0]=e,t[1]=s):s=t[1],s}function ol(t){const e=F.c(3),{children:s}=t,{tabsEl:o}=Be();if(!o)return null;let r;return e[0]!==s||e[1]!==o?(r=wt.createPortal(s,o),e[0]=s,e[1]=o,e[2]=r):r=e[2],r}function rl(){const t=F.c(2),{setTogglesEl:e}=Be();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"contents"}),t[0]=e,t[1]=s):s=t[1],s}function il(t){const e=F.c(3),{children:s}=t,{togglesEl:o}=Be();if(!o)return null;let r;return e[0]!==s||e[1]!==o?(r=wt.createPortal(s,o),e[0]=s,e[1]=o,e[2]=r):r=e[2],r}function al(){const t=F.c(2),{setRightEl:e}=Be();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"flex items-center justify-end gap-0.5 shrink-0"}),t[0]=e,t[1]=s):s=t[1],s}function ll(t){const e=F.c(3),{children:s}=t,{rightEl:o}=Be();if(!o)return null;let r;return e[0]!==s||e[1]!==o?(r=wt.createPortal(s,o),e[0]=s,e[1]=o,e[2]=r):r=e[2],r}ge.Header=Ha;ge.LeftColumn=Qa;ge.RightColumn=Xa;ge.Nav=Ja;ge.CenterSlot=tl;ge.Center=nl;ge.TabsSlot=sl;ge.Tabs=ol;ge.TogglesSlot=rl;ge.Toggles=il;ge.RightSlot=al;ge.Right=ll;function cl(t){const e={};for(const s of t.arguments??[])e[s.name]=s.required?Ue().min(1,"Required"):Ue();return Me(e)}function dl(t,e){const s={};for(const o of t.arguments??[])s[o.name]=e?.[o.name]??"";return s}function zt(t){const e=F.c(66),{prompt:s,setPrompt:o,onSubmit:r,defaultValues:i}=t,a=k.useId();let d;if(e[0]!==s){const M=s?cl(s):Me({});d=En(M),e[0]=s,e[1]=d}else d=e[1];const m=d;let f;e[2]!==i||e[3]!==s?(f=s?dl(s,i):{},e[2]=i,e[3]=s,e[4]=f):f=e[4];let l;e[5]!==m||e[6]!==f?(l={resolver:m,defaultValues:f,mode:"onChange"},e[5]=m,e[6]=f,e[7]=l):l=e[7];const u=Pn(l);let p;e[8]!==s?.arguments?(p=s?.arguments??[],e[8]=s?.arguments,e[9]=p):p=e[9];const g=p;let h;e[10]!==u||e[11]!==r||e[12]!==o?(h=async M=>{await r(M),o(null),u.reset()},e[10]=u,e[11]=r,e[12]=o,e[13]=h):h=e[13];const V=h;let v;e[14]!==u||e[15]!==o?(v=M=>{M||(u.reset(),o(null))},e[14]=u,e[15]=o,e[16]=v):v=e[16];const b=v;if(!s)return null;let y;e[17]!==s._meta||e[18]!==s.name||e[19]!==s.title?(y=s.title||Jt(s.name,De(s._meta)),e[17]=s._meta,e[18]=s.name,e[19]=s.title,e[20]=y):y=e[20];let S;e[21]!==y?(S=n.jsx(ke,{children:n.jsx("span",{className:"capitalize",children:y})}),e[21]=y,e[22]=S):S=e[22];let _;e[23]!==s.description?(_=s.description&&n.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e[23]=s.description,e[24]=_):_=e[24];let w;e[25]!==_||e[26]!==S?(w=n.jsxs(Se,{children:[S,_]}),e[25]=_,e[26]=S,e[27]=w):w=e[27];let j;e[28]!==u||e[29]!==V?(j=M=>{M.stopPropagation(),u.handleSubmit(V)(M)},e[28]=u,e[29]=V,e[30]=j):j=e[30];let x;if(e[31]!==g||e[32]!==u.control||e[33]!==u.formState.isSubmitting){let M;e[35]!==u.control||e[36]!==u.formState.isSubmitting?(M=$=>n.jsx(fe,{control:u.control,name:$.name,render:U=>{const{field:B}=U;return n.jsxs(ce,{children:[n.jsxs(ve,{className:"text-xs",children:[$.name,$.required?null:n.jsxs("span",{className:"text-muted-foreground font-normal",children:[" ","(optional)"]})]}),n.jsx(de,{children:n.jsx(ye,{...B,value:B.value??"",required:$.required,placeholder:$.description??"",className:"h-9",disabled:u.formState.isSubmitting})}),n.jsx(ue,{})]})}},$.name),e[35]=u.control,e[36]=u.formState.isSubmitting,e[37]=M):M=e[37],x=g.map(M),e[31]=g,e[32]=u.control,e[33]=u.formState.isSubmitting,e[34]=x}else x=e[34];let A;e[38]!==b?(A=()=>b(!1),e[38]=b,e[39]=A):A=e[39];let P;e[40]!==u.formState.isSubmitting||e[41]!==A?(P=n.jsx(ne,{type:"button",variant:"ghost",onClick:A,disabled:u.formState.isSubmitting,children:"Cancel"}),e[40]=u.formState.isSubmitting,e[41]=A,e[42]=P):P=e[42];const R=!u.formState.isValid||u.formState.isSubmitting;let I;e[43]!==u.formState.isSubmitting?(I=u.formState.isSubmitting?n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Ot,{size:"xs"}),"Loading..."]}):"Use prompt",e[43]=u.formState.isSubmitting,e[44]=I):I=e[44];let C;e[45]!==a||e[46]!==R||e[47]!==I?(C=n.jsx(ne,{type:"submit",form:a,disabled:R,children:I}),e[45]=a,e[46]=R,e[47]=I,e[48]=C):C=e[48];let N;e[49]!==P||e[50]!==C?(N=n.jsxs($s,{children:[P,C]}),e[49]=P,e[50]=C,e[51]=N):N=e[51];let D;e[52]!==a||e[53]!==j||e[54]!==x||e[55]!==N?(D=n.jsxs("form",{id:a,className:"space-y-4 py-4",autoComplete:"off",onSubmit:j,children:[x,N]}),e[52]=a,e[53]=j,e[54]=x,e[55]=N,e[56]=D):D=e[56];let L;e[57]!==u||e[58]!==D?(L=n.jsx(at,{...u,children:D}),e[57]=u,e[58]=D,e[59]=L):L=e[59];let E;e[60]!==w||e[61]!==L?(E=n.jsxs(Ae,{className:"sm:max-w-lg max-h-[80vh] overflow-y-auto",children:[w,L]}),e[60]=w,e[61]=L,e[62]=E):E=e[62];let T;return e[63]!==b||e[64]!==E?(T=n.jsx(je,{open:!0,onOpenChange:b,children:E}),e[63]=b,e[64]=E,e[65]=T):T=e[65],T}function ul(t){return!t||!t.content||t.content.length===0?!0:t.content.every(e=>e.type==="paragraph"?!e.content||e.content.length===0?!0:e.content.every(s=>s.type==="hardBreak"||s.type==="text"&&(!s.text||s.text.trim()==="")):!1)}function ml(t,e){return{type:"doc",content:[...t?.content??[],e].filter(Boolean)}}const Vs=3,po="inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-muted text-muted-foreground text-sm font-medium transition-colors cursor-pointer",fl="flex flex-col gap-1.5 p-4 rounded-xl bg-accent/40 text-sm leading-snug transition-colors cursor-pointer text-left";function Vo(t){const e=F.c(46),{item:s,onSelect:o,isLoading:r,isDisabled:i,variant:a}=t,d=a===void 0?"pill":a,{prompt:c}=s;let m;if(e[0]!==c._meta||e[1]!==c.name||e[2]!==c.title){const j=De(c._meta);m=c.title??Jt(c.name,j),e[0]=c._meta,e[1]=c.name,e[2]=c.title,e[3]=m}else m=e[3];const f=m,l=c.description||null;if(d==="card"){let j;e[4]!==o||e[5]!==c?(j=()=>o(c),e[4]=o,e[5]=c,e[6]=j):j=e[6];const x=i||r,A=r&&"bg-accent/40",P=(i||r)&&"cursor-not-allowed opacity-50";let R;e[7]!==A||e[8]!==P?(R=W(fl,"hover:bg-accent/60 text-foreground",A,P),e[7]=A,e[8]=P,e[9]=R):R=e[9];let I;e[10]!==f?(I=n.jsx("span",{className:"font-medium truncate capitalize",children:f}),e[10]=f,e[11]=I):I=e[11];let C;e[12]!==r?(C=r&&n.jsx(Ot,{size:"xs"}),e[12]=r,e[13]=C):C=e[13];let N;e[14]!==I||e[15]!==C?(N=n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[I,C]}),e[14]=I,e[15]=C,e[16]=N):N=e[16];let D;e[17]!==l?(D=l&&n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:l}),e[17]=l,e[18]=D):D=e[18];let L;return e[19]!==N||e[20]!==D||e[21]!==j||e[22]!==x||e[23]!==R?(L=n.jsxs("button",{type:"button",onClick:j,disabled:x,className:R,children:[N,D]}),e[19]=N,e[20]=D,e[21]=j,e[22]=x,e[23]=R,e[24]=L):L=e[24],L}let u;e[25]!==o||e[26]!==c?(u=()=>o(c),e[25]=o,e[26]=c,e[27]=u):u=e[27];const p=i||r,g=r&&"bg-muted/50",h=(i||r)&&"cursor-not-allowed opacity-50";let V;e[28]!==g||e[29]!==h?(V=W(po,"hover:bg-muted/70 hover:text-foreground",g,h),e[28]=g,e[29]=h,e[30]=V):V=e[30];let v;e[31]!==f?(v=n.jsx("span",{className:"capitalize",children:f}),e[31]=f,e[32]=v):v=e[32];let b;e[33]!==r?(b=r&&n.jsx(Ot,{size:"xs"}),e[33]=r,e[34]=b):b=e[34];let y;e[35]!==u||e[36]!==p||e[37]!==V||e[38]!==v||e[39]!==b?(y=n.jsx(Pe,{asChild:!0,children:n.jsxs("button",{type:"button",onClick:u,disabled:p,className:V,children:[v,b]})}),e[35]=u,e[36]=p,e[37]=V,e[38]=v,e[39]=b,e[40]=y):y=e[40];const S=l??f;let _;e[41]!==S?(_=n.jsx(Ee,{side:"top",className:"max-w-xs",children:n.jsx("p",{className:"text-xs",children:S})}),e[41]=S,e[42]=_):_=e[42];let w;return e[43]!==y||e[44]!==_?(w=n.jsxs(Re,{delayDuration:400,children:[y,_]}),e[43]=y,e[44]=_,e[45]=w):w=e[45],w}function pl(t){const e=F.c(41),{items:s,open:o,onOpenChange:r,onSelect:i,loadingPrompt:a}=t,[d,c]=k.useState(""),m=!!a;let f;e[0]!==s||e[1]!==d?(f=d.trim()?s.filter(x=>{const A=d.toLowerCase();return x.prompt.name.toLowerCase().includes(A)||(x.prompt.title??"").toLowerCase().includes(A)||(x.prompt.description??"").toLowerCase().includes(A)}):s,e[0]=s,e[1]=d,e[2]=f):f=e[2];const l=f,u=Ct();let p;e[3]!==l.length||e[4]!==d?(p=l.length===0&&n.jsxs("p",{className:"col-span-4 text-sm text-muted-foreground text-center py-8",children:["No prompts match “",d,"”"]}),e[3]=l.length,e[4]=d,e[5]=p):p=e[5];let g;if(e[6]!==l||e[7]!==m||e[8]!==a?.name||e[9]!==r||e[10]!==i){let x;e[12]!==m||e[13]!==a?.name||e[14]!==r||e[15]!==i?(x=A=>n.jsx(Vo,{item:A,variant:"card",onSelect:P=>{r(!1),i(P)},isLoading:a?.name===A.prompt.name,isDisabled:m&&a?.name!==A.prompt.name},A.prompt.name),e[12]=m,e[13]=a?.name,e[14]=r,e[15]=i,e[16]=x):x=e[16],g=l.map(x),e[6]=l,e[7]=m,e[8]=a?.name,e[9]=r,e[10]=i,e[11]=g}else g=e[11];let h;e[17]!==p||e[18]!==g?(h=n.jsx("div",{className:"flex-1 overflow-y-auto [scrollbar-gutter:stable]",children:n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 p-5",children:[p,g]})}),e[17]=p,e[18]=g,e[19]=h):h=e[19];const V=h;let v;e[20]===Symbol.for("react.memo_cache_sentinel")?(v=x=>{x.key==="Escape"&&c("")},e[20]=v):v=e[20];let b;e[21]!==d?(b=n.jsx(Qs,{value:d,onChange:c,placeholder:"Search prompts...",onKeyDown:v}),e[21]=d,e[22]=b):b=e[22];const y=b;if(u){let x;e[23]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(kt,{className:"sr-only",children:n.jsx(_t,{children:"All prompts"})}),e[23]=x):x=e[23];let A;e[24]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[24]=A):A=e[24];let P;e[25]!==V||e[26]!==y?(P=n.jsxs(St,{className:"h-[85vh] flex flex-col p-0 gap-0",children:[x,A,y,V]}),e[25]=V,e[26]=y,e[27]=P):P=e[27];let R;return e[28]!==r||e[29]!==o||e[30]!==P?(R=n.jsx(An,{delayDuration:400,children:n.jsx(At,{open:o,onOpenChange:r,children:P})}),e[28]=r,e[29]=o,e[30]=P,e[31]=R):R=e[31],R}let S;e[32]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx(Se,{className:"sr-only",children:n.jsx(ke,{children:"All prompts"})}),e[32]=S):S=e[32];let _;e[33]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[33]=_):_=e[33];let w;e[34]!==V||e[35]!==y?(w=n.jsxs(Ae,{className:"sm:max-w-[1100px] h-[680px] p-0 gap-0 overflow-hidden flex flex-col",children:[S,_,y,V]}),e[34]=V,e[35]=y,e[36]=w):w=e[36];let j;return e[37]!==r||e[38]!==o||e[39]!==w?(j=n.jsx(An,{delayDuration:400,children:n.jsx(je,{open:o,onOpenChange:r,children:w})}),e[37]=r,e[38]=o,e[39]=w,e[40]=j):j=e[40],j}function Vl(t){const e=F.c(29),{items:s,onSelect:o,loadingPrompt:r,className:i}=t,[a,d]=k.useState(!1);if(s.length===0)return null;let c,m,f;if(e[0]!==s||e[1]!==r||e[2]!==o){const v=s.slice(0,Vs);let b;e[6]!==s?(b=s.slice(Vs),e[6]=s,e[7]=b):b=e[7],c=b,m=!!r;let y;e[8]!==m||e[9]!==r?.name||e[10]!==o?(y=S=>n.jsx(Vo,{item:S,onSelect:o,isLoading:r?.name===S.prompt.name,isDisabled:m&&r?.name!==S.prompt.name},S.prompt.name),e[8]=m,e[9]=r?.name,e[10]=o,e[11]=y):y=e[11],f=v.map(y),e[0]=s,e[1]=r,e[2]=o,e[3]=c,e[4]=m,e[5]=f}else c=e[3],m=e[4],f=e[5];const l=f;let u;e[12]!==i?(u=W("w-full flex flex-wrap gap-2 justify-center",i),e[12]=i,e[13]=u):u=e[13];let p;e[14]!==c.length||e[15]!==m?(p=c.length>0&&n.jsxs("button",{type:"button",disabled:m,onClick:()=>d(!0),className:W(po,"hover:bg-muted/70 hover:text-foreground",m&&"opacity-50 cursor-not-allowed"),children:["+",c.length," more"]}),e[14]=c.length,e[15]=m,e[16]=p):p=e[16];let g;e[17]!==l||e[18]!==u||e[19]!==p?(g=n.jsxs("div",{className:u,children:[l,p]}),e[17]=l,e[18]=u,e[19]=p,e[20]=g):g=e[20];let h;e[21]!==s||e[22]!==r||e[23]!==a||e[24]!==o?(h=n.jsx(pl,{items:s,open:a,onOpenChange:d,onSelect:o,loadingPrompt:r}),e[21]=s,e[22]=r,e[23]=a,e[24]=o,e[25]=h):h=e[25];let V;return e[26]!==g||e[27]!==h?(V=n.jsxs(An,{delayDuration:400,children:[g,h]}),e[26]=g,e[27]=h,e[28]=V):V=e[28],V}function hl(){return null}function gl(t,e){switch(e.type){case"SELECT_PROMPT":return!e.prompt.arguments||e.prompt.arguments.length===0?{stage:"loading",prompt:e.prompt}:{stage:"idle"};case"START_LOADING":return{stage:"loading",prompt:e.prompt,arguments:e.arguments};case"RESET":return{stage:"idle"};default:return t}}function xl(t){const e=F.c(31),{connectionId:s}=t,{sendMessage:o}=jt(),{tiptapDocRef:r}=Le(),{org:i}=le();let a;e[0]!==s||e[1]!==i.id||e[2]!==i.slug?(a={connectionId:s,orgId:i.id,orgSlug:i.slug},e[0]=s,e[1]=i.id,e[2]=i.slug,e[3]=a):a=e[3];const d=he(a);let c;e[4]!==d?(c={client:d,staleTime:6e4},e[4]=d,e[5]=c):c=e[5];const{data:m}=ui(c);let f;e[6]!==m?.prompts?(f=m?.prompts??[],e[6]=m?.prompts,e[7]=f):f=e[7];const l=f;let u;e[8]!==l?(u=l.map(bl),e[8]=l,e[9]=u):u=e[9];const p=u;let g;e[10]===Symbol.for("react.memo_cache_sentinel")?(g={stage:"idle"},e[10]=g):g=e[10];const[h,V]=k.useReducer(gl,g),[v,b]=k.useState(null);let y;e[11]!==d||e[12]!==o||e[13]!==r?(y=async(N,D)=>{if(!d){oe.error("MCP client not available"),V({type:"RESET"});return}try{const L=await en(d,N.name,D);V({type:"RESET"});const E=ml(r.current,{type:"paragraph",content:[Ys({id:N.name,name:Zt(N.name,De(N._meta)),metadata:L.messages,char:"/",kind:"prompt",args:D})]});await o(E)}catch(L){console.error("[ice-breakers] Failed to fetch prompt:",L),oe.error("Failed to load prompt. Please try again."),V({type:"RESET"})}},e[11]=d,e[12]=o,e[13]=r,e[14]=y):y=e[14];const S=y;let _;e[15]!==S?(_=async N=>{if(N.arguments&&N.arguments.length>0){V({type:"SELECT_PROMPT",prompt:N}),b(N);return}V({type:"START_LOADING",prompt:N}),await S(N)},e[15]=S,e[16]=_):_=e[16];const w=_;let j;e[17]!==v||e[18]!==S?(j=async N=>{v&&(V({type:"START_LOADING",prompt:v,arguments:N}),b(null),await S(v,N))},e[17]=v,e[18]=S,e[19]=j):j=e[19];const x=j;if(p.length===0)return null;const A=h.stage==="loading"?h.prompt:null;let P;e[20]!==w||e[21]!==p||e[22]!==A?(P=n.jsx(Vl,{items:p,onSelect:w,loadingPrompt:A}),e[20]=w,e[21]=p,e[22]=A,e[23]=P):P=e[23];let R;e[24]===Symbol.for("react.memo_cache_sentinel")?(R=()=>{b(null),V({type:"RESET"})},e[24]=R):R=e[24];let I;e[25]!==v||e[26]!==x?(I=n.jsx(zt,{prompt:v,setPrompt:R,onSubmit:x}),e[25]=v,e[26]=x,e[27]=I):I=e[27];let C;return e[28]!==P||e[29]!==I?(C=n.jsxs(n.Fragment,{children:[P,I]}),e[28]=P,e[29]=I,e[30]=C):C=e[30],C}function bl(t){return{prompt:t}}function vl(t){const e=F.c(13),{className:s}=t,{selectedVirtualMcp:o}=Le(),{org:r}=le();let i;e[0]!==r.id?(i=$n(r.id),e[0]=r.id,e[1]=i):i=e[1];const a=i.id,d=o?.id??a;let c;e[2]!==s?(c=W("w-full @container",s),e[2]=s,e[3]=c):c=e[3];const m=d??"default";let f;e[4]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(hl,{}),e[4]=f):f=e[4];let l;e[5]!==d?(l=n.jsx(xl,{connectionId:d}),e[5]=d,e[6]=l):l=e[6];let u;e[7]!==m||e[8]!==l?(u=n.jsx(er,{fallback:null,children:n.jsx(k.Suspense,{fallback:f,children:l},m)}),e[7]=m,e[8]=l,e[9]=u):u=e[9];let p;return e[10]!==c||e[11]!==u?(p=n.jsx("div",{className:c,children:u}),e[10]=c,e[11]=u,e[12]=p):p=e[12],p}const Vn="cubic-bezier(0.645, 0.045, 0.355, 1)",yl=44,wl={default:"",error:"isolate after:content-[''] after:absolute after:inset-0 after:rounded-xl after:bg-destructive/5 after:pointer-events-none after:-z-10",warning:"isolate after:content-[''] after:absolute after:inset-0 after:rounded-xl after:bg-amber-500/5 after:pointer-events-none after:-z-10"},jl={default:"border-border",error:"border-destructive/30",warning:"border-amber-500/30"},Al={default:"text-muted-foreground",error:"text-destructive",warning:"text-amber-600 dark:text-amber-500"};function Qe(t){const e=F.c(61),{icon:s,label:o,count:r,title:i,footerLeft:a,footerRight:d,children:c,defaultExpanded:m,variant:f,onClose:l}=t,u=f===void 0?"default":f,[p,g]=k.useState(m),[h,V]=k.useState(!1);let v;e[0]!==l?(v=()=>{V(!0),l?.()},e[0]=l,e[1]=v):v=e[1];const b=v;if(h)return null;const y=jl[u],S=wl[u];let _;e[2]!==y||e[3]!==S?(_=W("relative flex flex-col rounded-xl bg-background border shadow-md","w-[calc(100%-16px)] max-w-[640px] mx-auto mb-2",y,S),e[2]=y,e[3]=S,e[4]=_):_=e[4];let w;e[5]===Symbol.for("react.memo_cache_sentinel")?(w=()=>g(Sl),e[5]=w):w=e[5];const j=p&&"rounded-b-none",x=!p&&"rounded-b-xl";let A;e[6]!==j||e[7]!==x?(A=W("flex items-center gap-2 w-full px-3 py-2 text-sm text-left","hover:bg-accent/50 transition-colors rounded-t-xl",j,x),e[6]=j,e[7]=x,e[8]=A):A=e[8];const P=Al[u];let R;e[9]!==P?(R=W("shrink-0",P),e[9]=P,e[10]=R):R=e[10];let I;e[11]!==s||e[12]!==R?(I=n.jsx("span",{className:R,children:s}),e[11]=s,e[12]=R,e[13]=I):I=e[13];let C;e[14]!==o?(C=n.jsx("span",{className:"flex-1 min-w-0 truncate",children:o}),e[14]=o,e[15]=C):C=e[15];let N;e[16]!==r?(N=r?n.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:r}):null,e[16]=r,e[17]=N):N=e[17];const D=p?"rotate(180deg)":"rotate(0deg)";let L;e[18]!==D?(L=n.jsx("span",{"aria-hidden":"true",className:"text-muted-foreground shrink-0 flex items-center justify-center",children:n.jsx(tn,{size:16,style:{transform:D,transition:`transform 180ms ${Vn}`}})}),e[18]=D,e[19]=L):L=e[19];let E,T;e[20]!==b?(E=Q=>{Q.stopPropagation(),b()},T=Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),b())},e[20]=b,e[21]=E,e[22]=T):(E=e[21],T=e[22]);let M;e[23]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(ft,{size:16}),e[23]=M):M=e[23];let $;e[24]!==E||e[25]!==T?($=n.jsx("span",{role:"button",tabIndex:0,"data-testid":"collapsible-highlight-close","aria-label":"Close",title:"Close",onClick:E,onKeyDown:T,className:"text-muted-foreground hover:text-foreground transition-colors shrink-0 flex items-center justify-center -mr-1 ml-1 p-1 rounded-md hover:bg-accent",children:M}),e[24]=E,e[25]=T,e[26]=$):$=e[26];let U;e[27]!==p||e[28]!==I||e[29]!==C||e[30]!==N||e[31]!==L||e[32]!==$||e[33]!==A?(U=n.jsxs("button",{type:"button","data-testid":"collapsible-highlight-chip","aria-expanded":p,onClick:w,className:A,children:[I,C,N,L,$]}),e[27]=p,e[28]=I,e[29]=C,e[30]=N,e[31]=L,e[32]=$,e[33]=A,e[34]=U):U=e[34];const B=p?"1fr":"0fr";let O;e[35]!==B?(O={display:"grid",gridTemplateRows:B,transition:`grid-template-rows 180ms ${Vn}`},e[35]=B,e[36]=O):O=e[36];let z;e[37]===Symbol.for("react.memo_cache_sentinel")?(z={overflow:"hidden",minHeight:0},e[37]=z):z=e[37];const K=p?1:0;let q;e[38]!==K?(q={opacity:K,transition:`opacity 120ms ${Vn}`},e[38]=K,e[39]=q):q=e[39];let J;e[40]!==i?(J=i?n.jsx("div",{className:"flex items-start gap-2 px-4 pt-4 pb-5 border-t border-dashed border-border/60",children:n.jsx("p",{className:"flex-1 text-base font-medium text-foreground min-w-0",children:i})}):n.jsx("div",{className:"border-t border-dashed border-border/60"}),e[40]=i,e[41]=J):J=e[41];let G;e[42]!==c||e[43]!==i?(G=c?n.jsx("div",{className:W("overflow-clip pb-4",!i&&"pt-4"),children:c}):null,e[42]=c,e[43]=i,e[44]=G):G=e[44];let Z;e[45]!==a||e[46]!==d?(Z=a||d?n.jsx("div",{className:"border-t border-border px-3 py-3 pb-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{children:a}),n.jsx("div",{className:"flex items-center gap-2",children:d})]})}):null,e[45]=a,e[46]=d,e[47]=Z):Z=e[47];let ee;e[48]!==q||e[49]!==J||e[50]!==G||e[51]!==Z?(ee=n.jsx("div",{style:z,children:n.jsxs("div",{style:q,children:[J,G,Z]})}),e[48]=q,e[49]=J,e[50]=G,e[51]=Z,e[52]=ee):ee=e[52];let te;e[53]!==O||e[54]!==ee?(te=n.jsx("div",{"data-testid":"collapsible-highlight-body",style:O,children:ee}),e[53]=O,e[54]=ee,e[55]=te):te=e[55];let se;return e[56]!==U||e[57]!==te||e[58]!==_||e[59]!==u?(se=n.jsxs("div",{"data-testid":"collapsible-highlight","data-variant":u,className:_,children:[U,te]}),e[56]=U,e[57]=te,e[58]=_,e[59]=u,e[60]=se):se=e[60],se}function Sl(t){return!t}const kl=Me({content:Ue().min(1).describe("Imperative form, e.g. 'Implement the login flow'"),status:Ln(["pending","in_progress","completed"]),activeForm:Ue().min(1).describe("Present-continuous form shown in the UI while the todo is in progress, e.g. 'Implementing the login flow'")}),ho=Me({todos:tr(kl)}),_l="Plan and track multi-step work. Call with the FULL todo list every time — this replaces the prior list. Call at the start of every multi-step request. Skip only for true one-shots (a single tool call or a direct answer). Mark exactly one todo `in_progress` at a time. Flip a todo to `in_progress` before starting it and to `completed` the moment it finishes — do not batch completions. Your prior tool-call inputs are your current state — read your last call to see where you are.";Hr({description:_l,inputSchema:Qr(ho),execute:async({todos:t})=>({ok:!0,count:t.length})});const Cl="tool-todo_write",Nl=new Set(["input-available","output-available"]);function go(t){for(let e=t.length-1;e>=0;e--){const s=t[e];if(s.role!=="assistant")continue;const o=s.parts;if(Array.isArray(o))for(let r=o.length-1;r>=0;r--){const i=o[r];if(i.type!==Cl||typeof i.state!="string"||!Nl.has(i.state))continue;const a=ho.safeParse(i.input);if(a.success)return a.data.todos}}return[]}function xo(t){const e=[];for(const s of t)if("state"in s&&s.state==="approval-requested"&&"approval"in s&&s.approval?.id&&"toolCallId"in s&&s.toolCallId){const o="toolName"in s&&typeof s.toolName=="string"?s.toolName:s.type.startsWith("tool-")?s.type.replace("tool-",""):"Tool";e.push({approvalId:s.approval.id,toolCallId:s.toolCallId,toolName:o,friendlyName:ei(ti(o)),input:s.input})}return e}function bo(t){const e=[];for(const s of t)if("type"in s&&s.type==="tool-propose_plan"&&"state"in s&&s.state==="input-available"&&"toolCallId"in s&&"input"in s){const o=s.input;e.push({toolCallId:s.toolCallId,plan:o.plan,state:s.state})}return e}function Il(t){return t?t.message.startsWith("[CREDITS]"):!1}const Tl={isCreditExhausted:!1,hasTodos:!1,showError:!1,showWarning:!1,hasApprovals:!1,hasPlans:!1,isWaitingForUserInput:!1};function Rl(t){const{messages:e,error:s,finishReason:o,isStreaming:r,isWaitingForApprovals:i}=t;if(!r&&s&&Il(s))return{...Tl,isCreditExhausted:!0};const a=e.at(-1),d=a?.role==="assistant"?a.parts:[],c=d,f=!!c.filter(y=>y.type==="tool-user_ask").filter(y=>y.state!=="output-available").length,l=bo(d),u=xo(c),p=go(e),g=!r&&!!s,h=u.length>0||r&&i,V=l.length>0,b=!r&&!!o&&o!=="stop"&&!(o==="tool-calls"&&(f||h||V))&&!g;return{isCreditExhausted:!1,hasTodos:p.length>0,showError:g,showWarning:b,hasApprovals:h,hasPlans:V,isWaitingForUserInput:f}}function vo(){const t=F.c(6),{messages:e,error:s,finishReason:o,isStreaming:r,isWaitingForApprovals:i}=jt(),a=s??null,d=o??null;let c;return t[0]!==r||t[1]!==i||t[2]!==e||t[3]!==a||t[4]!==d?(c=Rl({messages:e,error:a,finishReason:d,isStreaming:r,isWaitingForApprovals:i}),t[0]=r,t[1]=i,t[2]=e,t[3]=a,t[4]=d,t[5]=c):c=t[5],c}function Pl(){const t=vo();return t.isCreditExhausted?0:Number(t.hasTodos)+Number(t.showError)+Number(t.showWarning)+Number(t.hasApprovals)+Number(t.hasPlans)+Number(t.isWaitingForUserInput)}function El(t){const e=F.c(21),{current:s,total:o,onPrev:r,onNext:i}=t;if(o<=1)return null;const a=s===0,d=s===0?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let c;e[0]!==d?(c=W("p-0.5 rounded transition-colors",d),e[0]=d,e[1]=c):c=e[1];let m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(xi,{size:14}),e[2]=m):m=e[2];let f;e[3]!==r||e[4]!==a||e[5]!==c?(f=n.jsx("button",{type:"button",onClick:r,disabled:a,className:c,"aria-label":"Previous question",children:m}),e[3]=r,e[4]=a,e[5]=c,e[6]=f):f=e[6];const l=s+1;let u;e[7]!==l||e[8]!==o?(u=n.jsxs("span",{className:"tabular-nums text-xs",children:[l," of ",o]}),e[7]=l,e[8]=o,e[9]=u):u=e[9];const p=s===o-1,g=s===o-1?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let h;e[10]!==g?(h=W("p-0.5 rounded transition-colors",g),e[10]=g,e[11]=h):h=e[11];let V;e[12]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(oo,{size:14}),e[12]=V):V=e[12];let v;e[13]!==i||e[14]!==h||e[15]!==p?(v=n.jsx("button",{type:"button",onClick:i,disabled:p,className:h,"aria-label":"Next question",children:V}),e[13]=i,e[14]=h,e[15]=p,e[16]=v):v=e[16];let b;return e[17]!==v||e[18]!==f||e[19]!==u?(b=n.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[f,u,v]}),e[17]=v,e[18]=f,e[19]=u,e[20]=b):b=e[20],b}function yo(t){const e=F.c(8),{currentIndex:s,total:o,onPrev:r,onNext:i,extraLeft:a}=t;let d;e[0]!==s||e[1]!==i||e[2]!==r||e[3]!==o?(d=n.jsx(El,{current:s,total:o,onPrev:r,onNext:i}),e[0]=s,e[1]=i,e[2]=r,e[3]=o,e[4]=d):d=e[4];let c;return e[5]!==a||e[6]!==d?(c=n.jsxs("div",{className:"flex items-center gap-2",children:[d,a]}),e[5]=a,e[6]=d,e[7]=c):c=e[7],c}function Dl(t){const e=F.c(17),{isStreaming:s,isAllAnswered:o,isCurrentAnswered:r,onAdvanceOrSubmit:i,submitLabel:a,nextLabel:d}=t,f=o?a===void 0?"Submit":a:d===void 0?"Next":d,l=o?s:!r,u=l?o?"Waiting for the assistant to finish…":"Answer this item to continue":null;let p;e[0]!==l||e[1]!==i?(p=()=>{l||i()},e[0]=l,e[1]=i,e[2]=p):p=e[2];const g=l&&"opacity-50 cursor-not-allowed";let h;e[3]!==g?(h=W("h-7 px-2.5 text-xs",g),e[3]=g,e[4]=h):h=e[4];let V;e[5]!==l||e[6]!==f||e[7]!==p||e[8]!==h?(V=n.jsx(ne,{type:"button",size:"sm","aria-disabled":l,onClick:p,className:h,children:f}),e[5]=l,e[6]=f,e[7]=p,e[8]=h,e[9]=V):V=e[9];const v=V;if(!u)return v;let b;e[10]!==v?(b=n.jsx(Pe,{asChild:!0,children:v}),e[10]=v,e[11]=b):b=e[11];let y;e[12]!==u?(y=n.jsx(Ee,{children:u}),e[12]=u,e[13]=y):y=e[13];let S;return e[14]!==b||e[15]!==y?(S=n.jsxs(Re,{children:[b,y]}),e[14]=b,e[15]=y,e[16]=S):S=e[16],S}function wo(t,e,s){return t.findIndex(o=>e(o)===s)}function hs(t,e,s,o){return t.length===0?!1:t.every(r=>o(s[e(r)]))}function gs(t,e,s,o,r){if(t.length===0)return null;const i=wo(t,e,r);for(let a=1;a<=t.length;a++){const d=t[(i+a)%t.length];if(!d)continue;const c=e(d);if(c!==r&&!o(s[c]))return c}return null}function Ml(t){return!t.isStreaming&&t.allAnswered}function jo(t){const{parts:e,partKey:s,schema:o,defaultValues:r,isStreaming:i,hasAnswer:a,onSubmit:d}=t,c=e[0]?s(e[0]):"",[m,f]=k.useState(c),[l,u]=k.useState(!1),p=Pn({resolver:En(o),defaultValues:r}),g=p.watch(),h=wo(e,s,m),V=h>=0?e[h]:void 0,v=a(g[m]),b=hs(e,s,g,a),y=Ml({isStreaming:i,allAnswered:b}),S=()=>{if(h>0){const R=e[h-1];R&&f(s(R))}},_=()=>{if(h>=0&&h<e.length-1){const R=e[h+1];R&&f(s(R))}},w=()=>{const R=p.getValues(),I=gs(e,s,R,a,m);I&&f(I)},j=()=>{p.handleSubmit(R=>{const I=R;for(const C of e)d(C,I[s(C)])})()},x=k.useRef(j);x.current=j;const A=()=>{y&&(u(!1),x.current())},P=()=>{const R=p.getValues();if(hs(e,s,R,a)){if(i){u(!0);return}u(!1),x.current()}else{const I=gs(e,s,R,a,m);I&&f(I)}};return k.useEffect(()=>{if(l&&!i){if(!b){u(!1);return}u(!1),x.current()}},[l,i,b]),{form:p,activeKey:m,setActiveKey:f,currentIndex:h,currentPart:V,isCurrentAnswered:v,isAllAnswered:b,canSubmit:y,goPrev:S,goNext:_,advanceToNextUnanswered:w,submit:A,submitOrAdvance:P}}const Ao="User denied this tool call, give other alternatives.";function So(t){const e=F.c(9),{onYolo:s}=t,[o,r]=ct();let i;e[0]!==s||e[1]!==o||e[2]!==r?(i=f=>{const l=f;r({...o,toolApprovalLevel:l}),l==="auto"&&s(l)},e[0]=s,e[1]=o,e[2]=r,e[3]=i):i=e[3];const a=i;let d;e[4]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(to,{size:"xs",className:"text-xs text-muted-foreground border-border/60 bg-transparent hover:bg-accent/60 h-7 gap-1",onClick:Fl,children:n.jsx(no,{})}),e[4]=d):d=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(so,{children:mt.map(Ll)}),e[5]=c):c=e[5];let m;return e[6]!==a||e[7]!==o.toolApprovalLevel?(m=n.jsxs(eo,{value:o.toolApprovalLevel,onValueChange:a,children:[d,c]}),e[6]=a,e[7]=o.toolApprovalLevel,e[8]=m):m=e[8],m}function Ll(t){return n.jsx(rt,{value:t.value,children:t.label},t.value)}function Fl(t){return t.stopPropagation()}function ko(t){const e=F.c(5),{input:s}=t;if(s==null){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"px-4 text-xs text-muted-foreground",children:"No input"}),e[0]=i):i=e[0],i}let o;try{let i;e[1]!==s?(i=JSON.stringify(s,null,2),e[1]=s,e[2]=i):i=e[2],o=i}catch{o=String(s)}let r;return e[3]!==o?(r=n.jsx("div",{className:"px-4",children:n.jsx("pre",{className:"text-xs font-mono text-muted-foreground/70 whitespace-pre-wrap wrap-break-word max-h-32 overflow-y-auto rounded-md bg-muted/30 px-3 py-2",children:o})}),e[3]=o,e[4]=r):r=e[4],r}function Ol(t){const e=F.c(28),{approval:s,onRespond:o}=t,[r]=ct(),i=r.toolApprovalLevel??"readonly";let a;e[0]!==s.approvalId||e[1]!==i||e[2]!==o?(a=()=>o(s.approvalId,!1,Ao,i),e[0]=s.approvalId,e[1]=i,e[2]=o,e[3]=a):a=e[3];const d=a;let c;e[4]!==s.approvalId||e[5]!==i||e[6]!==o?(c=()=>o(s.approvalId,!0,void 0,i),e[4]=s.approvalId,e[5]=i,e[6]=o,e[7]=c):c=e[7];const m=c;let f;e[8]!==s.approvalId||e[9]!==o?(f=_=>o(s.approvalId,!0,void 0,_),e[8]=s.approvalId,e[9]=o,e[10]=f):f=e[10];const l=f;let u;e[11]!==l?(u=n.jsx("div",{className:"flex items-center gap-2",children:n.jsx(So,{onYolo:l})}),e[11]=l,e[12]=u):u=e[12];const p=u;let g;e[13]!==d?(g=n.jsx(ne,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:d,children:"Deny"}),e[13]=d,e[14]=g):g=e[14];let h;e[15]!==m?(h=n.jsx(ne,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs active:scale-[0.97] transition-transform",onClick:m,children:"Accept"}),e[15]=m,e[16]=h):h=e[16];let V;e[17]!==g||e[18]!==h?(V=n.jsxs(n.Fragment,{children:[g,h]}),e[17]=g,e[18]=h,e[19]=V):V=e[19];const v=V;let b;e[20]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(Xt,{size:14}),e[20]=b):b=e[20];let y;e[21]!==s.input?(y=n.jsx(ko,{input:s.input}),e[21]=s.input,e[22]=y):y=e[22];let S;return e[23]!==s.friendlyName||e[24]!==p||e[25]!==v||e[26]!==y?(S=n.jsx(Qe,{icon:b,label:"Approval needed",title:s.friendlyName,defaultExpanded:!0,footerLeft:p,footerRight:v,children:y}),e[23]=s.friendlyName,e[24]=p,e[25]=v,e[26]=y,e[27]=S):S=e[27],S}const $l=nr(Ue(),Me({approved:sr().optional(),levelOverride:Ln(["auto","readonly"]).optional()}));function Ul(t){const e=F.c(42),{approvals:s,isStreaming:o,onRespond:r}=t,[i]=ct(),a=i.toolApprovalLevel??"readonly";let d;e[0]!==s?(d=Object.fromEntries(s.map(ql)),e[0]=s,e[1]=d):d=e[1];const c=d;let m;e[2]!==a||e[3]!==r?(m=(P,R)=>{const I=R;typeof I?.approved=="boolean"&&r(P.approvalId,I.approved,I.approved===!1?Ao:void 0,I.levelOverride??a)},e[2]=a,e[3]=r,e[4]=m):m=e[4];let f;e[5]!==s||e[6]!==c||e[7]!==o||e[8]!==m?(f={parts:s,partKey:Bl,schema:$l,defaultValues:c,isStreaming:o,hasAnswer:zl,onSubmit:m},e[5]=s,e[6]=c,e[7]=o,e[8]=m,e[9]=f):f=e[9];const l=jo(f);let u;e[10]!==s||e[11]!==l?(u=P=>{l.form.reset(Object.fromEntries(s.map(R=>[R.approvalId,{approved:!0,levelOverride:P}]))),l.submitOrAdvance()},e[10]=s,e[11]=l,e[12]=u):u=e[12];const p=u,g=l.currentPart;let h;e[13]!==l?(h=P=>{P.preventDefault(),l.submit()},e[13]=l,e[14]=h):h=e[14];let V;e[15]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(Xt,{size:14}),e[15]=V):V=e[15];const v=`${s.length} approvals pending`,b=g?.friendlyName??"";let y;e[16]!==p?(y=n.jsx(So,{onYolo:p}),e[16]=p,e[17]=y):y=e[17];let S;e[18]!==s.length||e[19]!==l.currentIndex||e[20]!==l.goNext||e[21]!==l.goPrev||e[22]!==y?(S=n.jsx(yo,{currentIndex:l.currentIndex,total:s.length,onPrev:l.goPrev,onNext:l.goNext,extraLeft:y}),e[18]=s.length,e[19]=l.currentIndex,e[20]=l.goNext,e[21]=l.goPrev,e[22]=y,e[23]=S):S=e[23];let _;e[24]!==g||e[25]!==l.form.control||e[26]!==l.submitOrAdvance?(_=g?n.jsx(Kl,{approvalId:g.approvalId,control:l.form.control,onChange:l.submitOrAdvance}):null,e[24]=g,e[25]=l.form.control,e[26]=l.submitOrAdvance,e[27]=_):_=e[27];let w;e[28]!==g?(w=g?n.jsx(ko,{input:g.input}):null,e[28]=g,e[29]=w):w=e[29];let j;e[30]!==S||e[31]!==_||e[32]!==w||e[33]!==v||e[34]!==b?(j=n.jsx(Qe,{icon:V,label:v,title:b,defaultExpanded:!0,footerLeft:S,footerRight:_,children:w}),e[30]=S,e[31]=_,e[32]=w,e[33]=v,e[34]=b,e[35]=j):j=e[35];let x;e[36]!==j||e[37]!==h?(x=n.jsx("form",{onSubmit:h,children:j}),e[36]=j,e[37]=h,e[38]=x):x=e[38];let A;return e[39]!==l.form||e[40]!==x?(A=n.jsx(at,{...l.form,children:x}),e[39]=l.form,e[40]=x,e[41]=A):A=e[41],A}function zl(t){return typeof t?.approved=="boolean"}function Bl(t){return t.approvalId}function ql(t){return[t.approvalId,{approved:void 0}]}function Kl(t){const e=F.c(6),{approvalId:s,control:o,onChange:r}=t,i=`${s}.approved`;let a;e[0]!==r?(a=c=>{const{field:m}=c,f=m.value===!0,l=m.value===!1;return n.jsxs(n.Fragment,{children:[n.jsx(ne,{type:"button",variant:l?"secondary":"ghost",size:"sm",className:"h-7 px-2.5 text-xs",onClick:()=>{m.onChange(!1),r()},"aria-pressed":l,children:"Deny"}),n.jsx(ne,{type:"button",variant:f?"default":"outline",size:"sm",className:"h-7 px-2.5 text-xs",onClick:()=>{m.onChange(!0),r()},"aria-pressed":f,children:"Accept"})]})},e[0]=r,e[1]=a):a=e[1];let d;return e[2]!==o||e[3]!==i||e[4]!==a?(d=n.jsx(or,{control:o,name:i,render:a}),e[2]=o,e[3]=i,e[4]=a,e[5]=d):d=e[5],d}function Wl(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[640px] mx-auto mb-2",children:[n.jsx(Xt,{className:"size-5 text-muted-foreground shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing approval request..."})]}),t[0]=e):e=t[0],e}function Yl(t){const e=F.c(8),{approvals:s,isStreaming:o,onRespond:r}=t;if(o&&s.length===0){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(Wl,{}),e[0]=a):a=e[0],a}if(s.length===0)return null;if(s.length===1){const a=s[0];if(!a)return null;let d;return e[1]!==r||e[2]!==a?(d=n.jsx(Ol,{approval:a,onRespond:r}),e[1]=r,e[2]=a,e[3]=d):d=e[3],d}let i;return e[4]!==s||e[5]!==o||e[6]!==r?(i=n.jsx(Ul,{approvals:s,isStreaming:o,onRespond:r}),e[4]=s,e[5]=o,e[6]=r,e[7]=i):i=e[7],i}function Gl(t){const e=F.c(16),{plan:s,onApprove:o,onDismiss:r}=t;let i;e[0]!==o||e[1]!==s.plan?(i=()=>{o(s.plan)},e[0]=o,e[1]=s.plan,e[2]=i):i=e[2];const a=i;let d;e[3]!==r?(d=n.jsx(ne,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:r,children:"Keep iterating"}),e[3]=r,e[4]=d):d=e[4];let c;e[5]!==a?(c=n.jsx(ne,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs bg-purple-600 hover:bg-purple-700 text-white active:scale-[0.97] transition-transform",onClick:a,children:"Let's go"}),e[5]=a,e[6]=c):c=e[6];let m;e[7]!==d||e[8]!==c?(m=n.jsxs(n.Fragment,{children:[d,c]}),e[7]=d,e[8]=c,e[9]=m):m=e[9];const f=m;let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(kr,{size:14}),e[10]=l):l=e[10];let u;e[11]!==s.plan?(u=n.jsx("div",{className:"px-4 max-h-64 overflow-y-auto",children:n.jsx("div",{className:"prose prose-sm max-w-none text-sm",children:n.jsx(ni,{id:"plan-preview",part:{type:"text",text:s.plan}})})}),e[11]=s.plan,e[12]=u):u=e[12];let p;return e[13]!==f||e[14]!==u?(p=n.jsx(Qe,{icon:l,label:"Plan ready",title:"Implementation Plan",defaultExpanded:!0,footerRight:f,children:u}),e[13]=f,e[14]=u,e[15]=p):p=e[15],p}function Hl(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed border-purple-500/30 rounded-lg bg-purple-500/5 w-[calc(100%-16px)] max-w-[640px] mx-auto mb-2",children:[n.jsx(He,{className:"size-5 text-purple-500 shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing plan..."})]}),t[0]=e):e=t[0],e}function Ql(t){const e=F.c(7),{plans:s,isStreaming:o,onApprove:r,onDismiss:i}=t;if(o&&s.length===0){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(Hl,{}),e[0]=m):m=e[0],m}let a;e[1]!==s?(a=s.at(-1),e[1]=s,e[2]=a):a=e[2];const d=a;if(!d)return null;let c;return e[3]!==d||e[4]!==r||e[5]!==i?(c=n.jsx(Gl,{plan:d,onApprove:r,onDismiss:i}),e[3]=d,e[4]=r,e[5]=i,e[6]=c):c=e[6],c}function _o(t){return t?"response"in t?t.response:t.option??t.draft:""}const xs=Me({response:Ue().min(1,"Response is required")}),Xl=Me({option:Ue().nullable(),draft:Ue()}).refine(t=>(t.option??t.draft).length>0,{message:"Please select or enter an option"}),Jl=Me({response:Ln(["yes","no"])});function Zl(t){switch(t.type){case"text":return xs;case"choice":return Xl;case"confirm":return Jl;default:return xs}}function ec(t){const e={};for(const s of t)e[s.toolCallId]=Zl(s.input);return Me(e)}function tc(t){const e=F.c(6),{control:s,name:o,placeholder:r}=t;let i;e[0]!==r?(i=d=>{const{field:c}=d,m=c.value??"";return n.jsxs(ce,{children:[n.jsx(de,{children:n.jsx("div",{className:"px-2",children:n.jsxs("div",{className:"flex items-center gap-3 px-2 py-3 rounded-lg bg-accent/50",children:[n.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:n.jsx(Us,{size:16,className:"text-muted-foreground"})}),n.jsx("input",{...c,value:m,type:"text",placeholder:r||"Type your response...",autoFocus:!0,"aria-label":"Text response input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"})]})})}),n.jsx(ue,{})]})},e[0]=r,e[1]=i):i=e[1];let a;return e[2]!==s||e[3]!==o||e[4]!==i?(a=n.jsx(fe,{control:s,name:o,render:i}),e[2]=s,e[3]=o,e[4]=i,e[5]=a):a=e[5],a}function Co(t,e){const s=F.c(4);let o,r;s[0]!==t||s[1]!==e?(o=()=>{const i=a=>{const d=a.target.tagName;if(d==="INPUT"||d==="TEXTAREA"||a.metaKey||a.ctrlKey||a.altKey)return;const c=Number.parseInt(a.key,10);c>=1&&c<=t&&(a.preventDefault(),e(c-1))};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},r=[t,e],s[0]=t,s[1]=e,s[2]=o,s[3]=r):(o=s[2],r=s[3]),k.useEffect(o,r)}function nc(t){const e=F.c(40),{control:s,name:o,options:r}=t,i=`${o}.option`;let a;e[0]!==s||e[1]!==i?(a={control:s,name:i,defaultValue:null},e[0]=s,e[1]=i,e[2]=a):a=e[2];const{field:d}=Zn(a),c=`${o}.draft`;let m;e[3]!==s||e[4]!==c?(m={control:s,name:c,defaultValue:""},e[3]=s,e[4]=c,e[5]=m):m=e[5];const{field:f}=Zn(m),l=d.value,u=f.value??"";let p;if(e[6]!==d||e[7]!==r?(p=I=>{const C=r[I];C!=null&&d.onChange(C)},e[6]=d,e[7]=r,e[8]=p):p=e[8],Co(r.length,p),r.length===0)return null;const g=l===null;let h;if(e[9]!==d||e[10]!==l||e[11]!==r){let I;e[13]!==d||e[14]!==l?(I=(C,N)=>{const D=l===C;return n.jsxs("button",{type:"button",onClick:()=>d.onChange(C),className:W("flex items-center gap-3 px-2 py-3 rounded-lg text-left transition-colors w-full",D&&"bg-accent/50",!D&&"hover:bg-accent/30"),"aria-label":`Select ${C}`,children:[n.jsx("span",{className:W("flex items-center justify-center size-6 rounded-md text-sm shrink-0",D?"bg-chart-1 text-white":"bg-muted text-foreground"),children:N+1}),n.jsx("span",{className:"text-sm text-foreground truncate",children:C})]},`${N}-${C}`)},e[13]=d,e[14]=l,e[15]=I):I=e[15],h=r.map(I),e[9]=d,e[10]=l,e[11]=r,e[12]=h}else h=e[12];const V=g&&"bg-accent/50",v=!g&&"hover:bg-accent/30";let b;e[16]!==V||e[17]!==v?(b=W("flex items-center gap-3 px-2 py-3 rounded-lg transition-colors w-full cursor-text",V,v),e[16]=V,e[17]=v,e[18]=b):b=e[18];let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:n.jsx(Us,{size:16,className:"text-muted-foreground"})}),e[19]=y):y=e[19];const S=g?u:"";let _;e[20]!==f||e[21]!==d||e[22]!==l?(_=I=>{f.onChange(I.target.value),l!==null&&d.onChange(null)},e[20]=f,e[21]=d,e[22]=l,e[23]=_):_=e[23];let w;e[24]!==d||e[25]!==l?(w=()=>{l!==null&&d.onChange(null)},e[24]=d,e[25]=l,e[26]=w):w=e[26];let j;e[27]!==S||e[28]!==_||e[29]!==w?(j=n.jsx("input",{type:"text",value:S,onChange:_,onFocus:w,placeholder:"Something else...","aria-label":"Custom choice input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"}),e[27]=S,e[28]=_,e[29]=w,e[30]=j):j=e[30];let x;e[31]!==j||e[32]!==b?(x=n.jsxs("label",{className:b,children:[y,j]}),e[31]=j,e[32]=b,e[33]=x):x=e[33];let A;e[34]!==x||e[35]!==h?(A=n.jsx(de,{children:n.jsxs("div",{className:"flex flex-col px-2",role:"group","aria-label":"Choice options",children:[h,x]})}),e[34]=x,e[35]=h,e[36]=A):A=e[36];let P;e[37]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(ue,{}),e[37]=P):P=e[37];let R;return e[38]!==A?(R=n.jsxs(ce,{children:[A,P]}),e[38]=A,e[39]=R):R=e[39],R}function sc(t){const e=F.c(6),{control:s,name:o}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=["yes","no"],e[0]=r):r=e[0];const i=r,a=k.useRef(null);let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=f=>{a.current?.onChange(i[f]??"")},e[1]=d):d=e[1],Co(i.length,d);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=f=>{const{field:l}=f;return a.current=l,n.jsxs(ce,{children:[n.jsx(de,{children:n.jsx("div",{className:"flex gap-2 px-2",role:"group","aria-label":"Confirmation options",children:i.map(u=>{const p=l.value===u;return n.jsxs("button",{type:"button",onClick:()=>l.onChange(u),className:W("flex items-center gap-3 px-4 py-3 rounded-lg text-left transition-colors flex-1",p&&"bg-accent/50",!p&&"hover:bg-accent/30"),"aria-label":`Confirm ${u}`,children:[n.jsx("span",{className:W("flex items-center justify-center size-6 rounded-md text-sm shrink-0",p?"bg-chart-1 text-white":"bg-muted text-foreground"),children:u==="yes"?1:2}),n.jsx("span",{className:"text-sm text-foreground capitalize",children:u})]},u)})})}),n.jsx(ue,{})]})},e[2]=c):c=e[2];let m;return e[3]!==s||e[4]!==o?(m=n.jsx(fe,{control:s,name:o,render:c}),e[3]=s,e[4]=o,e[5]=m):m=e[5],m}function bs(t){const e=F.c(13),{input:s,control:o,toolCallId:r}=t;switch(s.type){case"text":{const i=`${r}.response`;let a;return e[0]!==o||e[1]!==s.default||e[2]!==i?(a=n.jsx(tc,{control:o,name:i,placeholder:s.default}),e[0]=o,e[1]=s.default,e[2]=i,e[3]=a):a=e[3],a}case"choice":{let i;e[4]!==s.options?(i=s.options?.filter(Boolean)??[],e[4]=s.options,e[5]=i):i=e[5];const a=i;let d;return e[6]!==o||e[7]!==a||e[8]!==r?(d=n.jsx(nc,{control:o,name:r,options:a}),e[6]=o,e[7]=a,e[8]=r,e[9]=d):d=e[9],d}case"confirm":{const i=`${r}.response`;let a;return e[10]!==o||e[11]!==i?(a=n.jsx(sc,{control:o,name:i}),e[10]=o,e[11]=i,e[12]=a):a=e[12],a}default:return null}}function oc(t){const e=F.c(71),{parts:s,isStreaming:o,onSubmit:r}=t;let i;e[0]!==s?(i=ec(s.map(lc)),e[0]=s,e[1]=i):i=e[1];const a=i;let d;e[2]!==s?(d=Object.fromEntries(s.map(ac)),e[2]=s,e[3]=d):d=e[3];const c=d;let m;e[4]!==r?(m=(E,T)=>{const M=_o(T);M&&r(E,M)},e[4]=r,e[5]=m):m=e[5];let f;e[6]!==c||e[7]!==o||e[8]!==s||e[9]!==a||e[10]!==m?(f={parts:s,partKey:ic,schema:a,defaultValues:c,isStreaming:o,hasAnswer:rc,onSubmit:m},e[6]=c,e[7]=o,e[8]=s,e[9]=a,e[10]=m,e[11]=f):f=e[11];const l=jo(f),u=l.currentPart;let p;e[12]!==u||e[13]!==l?(p=()=>{const E=u;if(!E)return;const T=E.toolCallId;E.input?.type==="choice"?(l.form.setValue(`${T}.option`,null),l.form.setValue(`${T}.draft`,"user has skip this question")):l.form.setValue(`${T}.response`,"user has skip this question"),l.advanceToNextUnanswered()},e[12]=u,e[13]=l,e[14]=p):p=e[14];const g=p;let h;e[15]!==l.currentIndex||e[16]!==l.goNext||e[17]!==l.goPrev||e[18]!==s.length?(h=n.jsx(yo,{currentIndex:l.currentIndex,total:s.length,onPrev:l.goPrev,onNext:l.goNext}),e[15]=l.currentIndex,e[16]=l.goNext,e[17]=l.goPrev,e[18]=s.length,e[19]=h):h=e[19];const V=h;let v;e[20]!==g?(v=n.jsx(ne,{type:"button",variant:"outline",size:"sm",onClick:g,className:"h-7",children:"Skip"}),e[20]=g,e[21]=v):v=e[21];let b;e[22]!==l.isAllAnswered||e[23]!==l.isCurrentAnswered||e[24]!==l.submitOrAdvance||e[25]!==o?(b=n.jsx(Dl,{isStreaming:o,isAllAnswered:l.isAllAnswered,isCurrentAnswered:l.isCurrentAnswered,onAdvanceOrSubmit:l.submitOrAdvance}),e[22]=l.isAllAnswered,e[23]=l.isCurrentAnswered,e[24]=l.submitOrAdvance,e[25]=o,e[26]=b):b=e[26];let y;e[27]!==v||e[28]!==b?(y=n.jsxs(n.Fragment,{children:[v,b]}),e[27]=v,e[28]=b,e[29]=y):y=e[29];const S=y;if(s.length===1){const E=s[0];if(!E?.input)return null;let T;e[30]!==l?(T=q=>{q.preventDefault(),l.submit()},e[30]=l,e[31]=T):T=e[31];let M;e[32]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(Sn,{size:14}),e[32]=M):M=e[32];const $=E.input?.prompt??"Question",U=E.input;let B;e[33]!==l.form.control||e[34]!==E.toolCallId||e[35]!==U?(B=n.jsx(bs,{input:U,control:l.form.control,toolCallId:E.toolCallId}),e[33]=l.form.control,e[34]=E.toolCallId,e[35]=U,e[36]=B):B=e[36];let O;e[37]!==S||e[38]!==$||e[39]!==B?(O=n.jsx(Qe,{icon:M,label:"Question pending",title:$,defaultExpanded:!0,footerRight:S,children:B}),e[37]=S,e[38]=$,e[39]=B,e[40]=O):O=e[40];let z;e[41]!==T||e[42]!==O?(z=n.jsx("form",{onSubmit:T,autoComplete:"off",children:O}),e[41]=T,e[42]=O,e[43]=z):z=e[43];let K;return e[44]!==l.form||e[45]!==z?(K=n.jsx(at,{...l.form,children:z}),e[44]=l.form,e[45]=z,e[46]=K):K=e[46],K}const _=l.form;let w;e[47]!==l?(w=E=>{E.preventDefault(),l.submit()},e[47]=l,e[48]=w):w=e[48];let j;e[49]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(Sn,{size:14}),e[49]=j):j=e[49];const x=`${l.currentIndex+1} of ${s.length}`,A=u?.input?.prompt??"Question",P=l.activeKey,R=l.setActiveKey;let I;if(e[50]!==l.form||e[51]!==s){let E;e[53]!==l.form?(E=T=>n.jsx(mi,{value:T.toolCallId,className:"mt-0",children:n.jsx(bs,{input:T.input,control:l.form.control,toolCallId:T.toolCallId})},T.toolCallId),e[53]=l.form,e[54]=E):E=e[54],I=s.map(E),e[50]=l.form,e[51]=s,e[52]=I}else I=e[52];let C;e[55]!==l.activeKey||e[56]!==l.setActiveKey||e[57]!==I?(C=n.jsx(fi,{value:P,onValueChange:R,children:I}),e[55]=l.activeKey,e[56]=l.setActiveKey,e[57]=I,e[58]=C):C=e[58];let N;e[59]!==V||e[60]!==S||e[61]!==x||e[62]!==A||e[63]!==C?(N=n.jsx(Qe,{icon:j,label:"Question pending",count:x,title:A,defaultExpanded:!0,footerLeft:V,footerRight:S,children:C}),e[59]=V,e[60]=S,e[61]=x,e[62]=A,e[63]=C,e[64]=N):N=e[64];let D;e[65]!==w||e[66]!==N?(D=n.jsx("form",{onSubmit:w,autoComplete:"off",children:N}),e[65]=w,e[66]=N,e[67]=D):D=e[67];let L;return e[68]!==l.form||e[69]!==D?(L=n.jsx(at,{..._,children:D}),e[68]=l.form,e[69]=D,e[70]=L):L=e[70],L}function rc(t){return!!_o(t)}function ic(t){return t.toolCallId}function ac(t){return t.input?.type==="choice"?[t.toolCallId,{option:null,draft:""}]:[t.toolCallId,{response:""}]}function lc(t){return{toolCallId:t.toolCallId,input:t.input}}function cc(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[640px] mx-auto mb-2",children:[n.jsx(Sn,{className:"size-5 text-muted-foreground shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing question..."})]}),t[0]=e):e=t[0],e}function No(t){const e=F.c(7),{userAskParts:s,isStreaming:o,onSubmit:r}=t;let i;e[0]!==s?(i=s.filter(dc),e[0]=s,e[1]=i):i=e[1];const a=i;if(a.length===0){if(o){let c;return e[2]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(cc,{}),e[2]=c):c=e[2],c}return null}let d;return e[3]!==o||e[4]!==r||e[5]!==a?(d=n.jsx(oc,{parts:a,isStreaming:o,onSubmit:r}),e[3]=o,e[4]=r,e[5]=a,e[6]=d):d=e[6],d}function dc(t){return t.state==="input-available"}function uc(t){const e=t.filter(i=>i.status==="in_progress"),s=t.filter(i=>i.status==="completed").length,o=t.length;if(o>0&&s===o)return{icon:"completed",activity:"All done",progress:`${o}/${o}`};const[r]=e;return r&&e.length===1?{icon:"in_progress",activity:r.activeForm,progress:`${s}/${o} done`}:e.length>1?{icon:"in_progress",activity:`${e.length} in progress`,progress:`${s}/${o} done`}:s>0?{icon:"pending",activity:`${o-s} pending`,progress:`${s}/${o} done`}:{icon:"pending",activity:`${o} todos`,progress:"not started"}}function mc(){const t=F.c(21),{messages:e}=jt();let s,o,r,i,a,d,c,m,f;if(t[0]!==e){f=Symbol.for("react.early_return_sentinel");e:{const p=go(e);if(p.length===0){f=null;break e}const g=uc(p);s=Qe,a=n.jsx(hc,{status:g.icon}),d=g.activity,c=g.progress,m=!1,o="todos-list",r="flex flex-col px-2 max-h-[40vh] overflow-y-auto",i=p.map(fc)}t[0]=e,t[1]=s,t[2]=o,t[3]=r,t[4]=i,t[5]=a,t[6]=d,t[7]=c,t[8]=m,t[9]=f}else s=t[1],o=t[2],r=t[3],i=t[4],a=t[5],d=t[6],c=t[7],m=t[8],f=t[9];if(f!==Symbol.for("react.early_return_sentinel"))return f;let l;t[10]!==o||t[11]!==r||t[12]!==i?(l=n.jsx("ul",{"data-testid":o,className:r,children:i}),t[10]=o,t[11]=r,t[12]=i,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==a||t[16]!==d||t[17]!==c||t[18]!==m||t[19]!==l?(u=n.jsx(s,{icon:a,label:d,count:c,defaultExpanded:m,children:l}),t[14]=s,t[15]=a,t[16]=d,t[17]=c,t[18]=m,t[19]=l,t[20]=u):u=t[20],u}function fc(t,e){return n.jsx(pc,{todo:t},e)}function pc(t){const e=F.c(14),{todo:s}=t,o=s.status==="completed",i=s.status==="in_progress"?s.activeForm:s.content;let a;e[0]!==s.status?(a=n.jsx(Vc,{status:s.status}),e[0]=s.status,e[1]=a):a=e[1];const d=o&&"text-muted-foreground";let c;e[2]!==d?(c=W("relative text-sm leading-snug pt-px select-none",d),e[2]=d,e[3]=c):c=e[3];const m=o?"100%":"0%",f=o?"width 300ms ease 200ms":"width 150ms ease";let l;e[4]!==m||e[5]!==f?(l=n.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:"50%",height:"1px",background:"currentColor",width:m,transition:f}}),e[4]=m,e[5]=f,e[6]=l):l=e[6];let u;e[7]!==i||e[8]!==c||e[9]!==l?(u=n.jsxs("span",{className:c,children:[i,l]}),e[7]=i,e[8]=c,e[9]=l,e[10]=u):u=e[10];let p;return e[11]!==a||e[12]!==u?(p=n.jsxs("li",{className:"flex items-start gap-2.5 px-2 py-1.5 rounded-lg hover:bg-accent/50 transition-colors",children:[a,u]}),e[11]=a,e[12]=u,e[13]=p):p=e[13],p}function Vc(t){const e=F.c(4),{status:s}=t,o=s==="completed"?"true":void 0,r=s==="in_progress"?"true":void 0;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("svg",{viewBox:"0 0 21 21",children:n.jsx("path",{d:"M5,10.75 L8.5,14.25 L19.4,2.3 C18.8333333,1.43333333 18.0333333,1 17,1 L4,1 C2.35,1 1,2.35 1,4 L1,17 C1,18.65 2.35,20 4,20 L17,20 C18.65,20 20,18.65 20,17 L20,7.99769186"})}),e[0]=i):i=e[0];let a;return e[1]!==o||e[2]!==r?(a=n.jsx("div",{className:"todo-cb mt-0.5","data-checked":o,"data-progress":r,"aria-hidden":"true",children:i}),e[1]=o,e[2]=r,e[3]=a):a=e[3],a}function hc(t){const e=F.c(3),{status:s}=t;if(s==="completed"){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("span",{"aria-label":"completed",className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-sm bg-primary",children:n.jsx("svg",{viewBox:"0 0 10 8",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",className:"w-2 h-2 text-primary-foreground",style:{strokeWidth:2},children:n.jsx("path",{d:"M1 4l2.5 2.5L9 1"})})}),e[0]=r):r=e[0],r}if(s==="in_progress"){let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("span",{"aria-label":"in progress",className:"inline-block w-2 h-2 rounded-full bg-primary animate-pulse shrink-0"}),e[1]=r):r=e[1],r}let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("span",{"aria-label":"pending",className:"inline-block w-3.5 h-3.5 rounded-sm border-[1.5px] border-muted-foreground/50 shrink-0"}),e[2]=o):o=e[2],o}const vs=new Map;function Io(){const{org:t}=le(),e=he({connectionId:Xe,orgId:t.id,orgSlug:t.slug}),s=vi(),o=s.find(V=>V.providerId==="deco"),{data:r,isLoading:i,refetch:a,isFetching:d}=Fn({queryKey:we.aiProviderCredits(t.id,"deco"),enabled:!!o,staleTime:6e4,queryFn:async()=>{const V=await e.callTool({name:"AI_PROVIDER_CREDITS",arguments:{providerId:"deco"}});return V?.isError?null:V.structuredContent??null}}),c=r?.balanceCents??null,m=c!=null?c/100:null,f=k.useRef(new Map);if(c!=null){const V=vs.get(t.id);f.current.get(t.id)&&V!=null&&c>V&&Y("credits_topped_up_detected",{organization_id:t.id,delta_cents:c-V,previous_balance_cents:V,new_balance_cents:c}),vs.set(t.id,c),f.current.set(t.id,!0)}const l=!!o,u=c!=null&&c>0,p=c!=null&&c===0,g=c!=null&&c===200,h=s.length>0&&s.every(V=>V.providerId==="deco");return{hasDecoKey:l,decoKeyId:o?.id??null,balanceCents:c,balanceDollars:m,hasCredits:u,isZeroBalance:p,isInitialFreeCredit:g,hasOnlyDecoProvider:h,isLoading:i,isFetching:d,refetch:a}}const gc={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]},xc=["Access to 100+ AI models","Unified API, no separate keys needed","Pay only for what you use"];function To(t){const e=F.c(44),{onDismiss:s}=t,{org:o}=le(),r=ze(),{decoKeyId:i}=Io();let a;e[0]!==o.id||e[1]!==o.slug?(a={connectionId:Xe,orgId:o.id,orgSlug:o.slug},e[0]=o.id,e[1]=o.slug,e[2]=a):a=e[2];const d=he(a),[c,m]=k.useState(""),[f,l]=k.useState(!1),[u,p]=k.useState("usd"),g=u==="brl"?"R$":"$";let h,V;e[3]!==o.id?(h=()=>{Y("credits_exhausted_shown",{organization_id:o.id})},V=[o.id],e[3]=o.id,e[4]=h,e[5]=V):(h=e[4],V=e[5]),k.useEffect(h,V);let v;e[6]!==d||e[7]!==u?(v=async T=>{const M=await d.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:T,currency:u}});if(M?.isError)throw new Error(M.content?.[0]?.text??"Failed to get top-up URL");return M.structuredContent?.url},e[6]=d,e[7]=u,e[8]=v):v=e[8];let b;e[9]!==s?(b=T=>{T&&window.open(T,"_blank","noopener,noreferrer"),s?.()},e[9]=s,e[10]=b):b=e[10];let y;e[11]!==v||e[12]!==b?(y={mutationFn:v,onSuccess:b,onError:yc},e[11]=v,e[12]=b,e[13]=y):y=e[13];const{mutate:S,isPending:_}=Yt(y),w=parseFloat(c),j=!isNaN(w)&&w>=1;let x;e[14]!==s?(x=T=>!T&&s?.(),e[14]=s,e[15]=x):x=e[15];let A;e[16]===Symbol.for("react.memo_cache_sentinel")?(A=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(165,149,255,0.5) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(208,236,26,0.45) 0%, transparent 100%)"],e[16]=A):A=e[16];let P;e[17]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:A.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[17]=P):P=e[17];let R;e[18]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[P,n.jsxs(Se,{className:"relative gap-4",children:[n.jsx("img",{src:"/logos/deco%20logo.svg",alt:"Deco AI Gateway",className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),n.jsxs("div",{children:[n.jsx(ke,{className:"text-xl font-semibold tracking-tight",children:"Top up to keep building"}),n.jsx(Gt,{className:"mt-1.5 text-sm leading-relaxed",children:"Your credits are used up. Add more to continue using AI across all your agents."})]})]})]}),e[18]=R):R=e[18];let I;e[19]!==u||e[20]!==g||e[21]!==c||e[22]!==w||e[23]!==i||e[24]!==j||e[25]!==_||e[26]!==f||e[27]!==S?(I=i&&n.jsxs("div",{className:"px-8 pt-5 pb-6",children:[n.jsx("div",{className:"mb-4",children:n.jsxs(ro,{type:"single",variant:"outline",size:"sm",value:u,onValueChange:T=>{T&&p(T)},children:[n.jsx(Ut,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),n.jsx(Ut,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),n.jsxs("div",{className:"rounded-xl border border-border p-5",children:[n.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:gc[u].map(T=>{const{dollars:M,label:$}=T;return n.jsxs("button",{type:"button",disabled:_,onClick:()=>{Y("credits_topup_clicked",{amount_cents:M*100,currency:u,tier_label:$,source:"exhausted_banner"}),S(M*100)},className:W("relative flex flex-col items-center gap-1 py-5 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[n.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[g,M]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:$})]},M)})}),f?n.jsxs("div",{className:"flex gap-2 mt-3",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:g}),n.jsx(ye,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:T=>m(T.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),n.jsx(ne,{className:"h-10",disabled:!j||_,onClick:()=>{Y("credits_topup_clicked",{amount_cents:Math.round(w*100),currency:u,tier_label:"custom",source:"exhausted_banner"}),S(Math.round(w*100))},children:_?"Opening...":"Add"})]}):n.jsx("button",{type:"button",className:"w-full mt-3 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>l(!0),children:"Enter custom amount"})]}),n.jsx("div",{className:"mt-5 rounded-xl bg-muted/25 border border-border/50 p-4 space-y-3",children:xc.map(bc)})]}),e[19]=u,e[20]=g,e[21]=c,e[22]=w,e[23]=i,e[24]=j,e[25]=_,e[26]=f,e[27]=S,e[28]=I):I=e[28];let C;e[29]!==s?(C=n.jsx(ne,{variant:"ghost",size:"sm",onClick:s,children:"Dismiss"}),e[29]=s,e[30]=C):C=e[30];let N;e[31]!==r||e[32]!==s||e[33]!==o.slug?(N=n.jsx("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>{r({to:"/$org/settings/ai-providers",params:{org:o.slug}}),s?.()},children:"Manage providers"}),e[31]=r,e[32]=s,e[33]=o.slug,e[34]=N):N=e[34];let D;e[35]!==C||e[36]!==N?(D=n.jsxs("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-between",children:[C,N]}),e[35]=C,e[36]=N,e[37]=D):D=e[37];let L;e[38]!==I||e[39]!==D?(L=n.jsxs(Ae,{className:"sm:max-w-[520px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:vc,children:[R,I,D]}),e[38]=I,e[39]=D,e[40]=L):L=e[40];let E;return e[41]!==L||e[42]!==x?(E=n.jsx(je,{open:!0,onOpenChange:x,children:L}),e[41]=L,e[42]=x,e[43]=E):E=e[43],E}function bc(t){return n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex items-center justify-center size-5 rounded-full bg-[hsl(var(--chart-1))]/15 shrink-0",children:n.jsx(He,{size:12,className:"text-[hsl(var(--chart-1))]"})}),n.jsx("span",{className:"text-sm text-foreground/80",children:t})]},t)}function vc(t){return t.preventDefault()}function yc(t){oe.error(`Top-up failed: ${t.message}`)}const wc={length:"Response reached the model's output limit. Different models have different limits. Try switching models or asking it to continue.","content-filter":"Response was filtered due to content policy.","tool-calls":"Response paused after tool execution to prevent infinite loops and save costs. Click continue to keep working."};function Bt(t){const e=F.c(13),{variant:s,onDismiss:o}=t,r=s==="error",i=r?"Error occurred":"Response incomplete",a=r?t.error.message:wc[t.finishReason]??`Response stopped unexpectedly: ${t.finishReason}`,d=r?Zs:Fs;let c;e[0]!==d?(c=n.jsx(d,{size:14}),e[0]=d,e[1]=c):c=e[1];let m;e[2]!==r||e[3]!==t.onContinue||e[4]!==t.onFixInChat?(m=r?n.jsx(ne,{size:"sm",variant:"outline",onClick:t.onFixInChat,className:"h-7 text-xs",children:"Fix in chat"}):n.jsx(ne,{size:"sm",variant:"outline",onClick:t.onContinue,className:"h-7 text-xs",children:"Continue"}),e[2]=r,e[3]=t.onContinue,e[4]=t.onFixInChat,e[5]=m):m=e[5];let f;return e[6]!==i||e[7]!==a||e[8]!==o||e[9]!==c||e[10]!==m||e[11]!==s?(f=n.jsx(Qe,{icon:c,label:i,title:a,defaultExpanded:!0,variant:s,onClose:o,footerRight:m,children:null}),e[6]=i,e[7]=a,e[8]=o,e[9]=c,e[10]=m,e[11]=s,e[12]=f):f=e[12],f}function sn(){const t=F.c(61),{error:e,clearError:s,finishReason:o,clearFinishReason:r,messages:i,isStreaming:a,submit:d,sendMessage:c}=jt(),[m,f]=ct(),{virtualMcpId:l,createTaskWithMessage:u}=Er(),{chatMode:p,simpleModeTier:g}=Le();let h;t[0]!==p||t[1]!==g||t[2]!==l?(h=Q=>({tier:g,mode:p,toolApprovalLevel:Q,agent:l?{id:l}:void 0}),t[0]=p,t[1]=g,t[2]=l,t[3]=h):h=t[3];const V=h;let v;t[4]!==m.toolApprovalLevel?(v=m.toolApprovalLevel??rr(),t[4]=m.toolApprovalLevel,t[5]=v):v=t[5];const b=v,y=i.at(-1),S=y?.role==="assistant"?y.parts:[],_=S.filter(kc),w=bo(S),j=xo(S);let x;t[6]!==e||t[7]!==c?(x=()=>{if(e){const X={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:`I encountered this error: ${e.message}. Can you help me fix it?`}]}]};c(X)}},t[6]=e,t[7]=c,t[8]=x):x=t[8];const A=x;let P;t[9]!==c?(P=()=>{c({type:"doc",content:[{type:"paragraph",content:[{type:"text",text:"Please continue."}]}]})},t[9]=c,t[10]=P):P=t[10];const R=P;let I;t[11]!==V||t[12]!==b||t[13]!==d?(I=(Q,X)=>{d({kind:"toolOutput",toolCallId:Q.toolCallId,output:{response:X}},V(b))},t[11]=V,t[12]=b,t[13]=d,t[14]=I):I=t[14];const C=I;let N;t[15]!==u||t[16]!==m||t[17]!==f||t[18]!==l?(N=Q=>{f({...m,toolApprovalLevel:"auto"}),u({virtualMcpId:l,message:{parts:[{type:"text",text:`Implement this plan:
|
|
546
|
-
|
|
547
|
-
${Q}`}]}})},t[15]=u,t[16]=m,t[17]=f,t[18]=l,t[19]=N):N=t[19];const D=N,L=Sc;let E;t[20]!==V||t[21]!==d?(E=(Q,X,ae,pe)=>{d({kind:"approval",approvalId:Q,approved:X,...ae?{reason:ae}:{}},V(pe))},t[20]=V,t[21]=d,t[22]=E):E=t[22];const T=E,M=vo();if(M.isCreditExhausted){let Q;return t[23]!==s?(Q=n.jsx(To,{onDismiss:s}),t[23]=s,t[24]=Q):Q=t[24],Q}const{showError:$,showWarning:U,hasApprovals:B}=M,O=_.map(Ac).join("|"),z=w[0]?.toolCallId??"",K=j.map(jc).join("|");let q;t[25]===Symbol.for("react.memo_cache_sentinel")?(q=n.jsx(mc,{}),t[25]=q):q=t[25];let J;t[26]!==s||t[27]!==e||t[28]!==A||t[29]!==$?(J=$&&n.jsx(Bt,{variant:"error",error:e,onDismiss:s,onFixInChat:A}),t[26]=s,t[27]=e,t[28]=A,t[29]=$,t[30]=J):J=t[30];let G;t[31]!==r||t[32]!==o||t[33]!==R||t[34]!==U?(G=U&&n.jsx(Bt,{variant:"warning",finishReason:o,onDismiss:r,onContinue:R}),t[31]=r,t[32]=o,t[33]=R,t[34]=U,t[35]=G):G=t[35];let Z;t[36]!==K||t[37]!==T||t[38]!==B||t[39]!==a||t[40]!==j?(Z=B&&n.jsx(Yl,{approvals:j,isStreaming:a,onRespond:T},K),t[36]=K,t[37]=T,t[38]=B,t[39]=a,t[40]=j,t[41]=Z):Z=t[41];let ee;t[42]!==M.hasPlans||t[43]!==D||t[44]!==L||t[45]!==a||t[46]!==w||t[47]!==z?(ee=M.hasPlans&&n.jsx(Ql,{plans:w,isStreaming:a,onApprove:D,onDismiss:L},z),t[42]=M.hasPlans,t[43]=D,t[44]=L,t[45]=a,t[46]=w,t[47]=z,t[48]=ee):ee=t[48];let te;t[49]!==M.isWaitingForUserInput||t[50]!==C||t[51]!==a||t[52]!==O||t[53]!==_?(te=M.isWaitingForUserInput&&n.jsx(No,{userAskParts:_,isStreaming:a,onSubmit:C},O),t[49]=M.isWaitingForUserInput,t[50]=C,t[51]=a,t[52]=O,t[53]=_,t[54]=te):te=t[54];let se;return t[55]!==Z||t[56]!==ee||t[57]!==te||t[58]!==J||t[59]!==G?(se=n.jsxs("div",{className:"absolute bottom-full left-0 right-0",children:[q,J,G,Z,ee,te]}),t[55]=Z,t[56]=ee,t[57]=te,t[58]=J,t[59]=G,t[60]=se):se=t[60],se}function jc(t){return t.approvalId}function Ac(t){return t.toolCallId}function Sc(){document.querySelector("[data-chat-input]")?.focus()}function kc(t){return t.type==="tool-user_ask"}sn.Error=function(e){return n.jsx(Bt,{variant:"error",error:e.error,onDismiss:e.onDismiss,onFixInChat:e.onFixInChat})};sn.Warning=function(e){return n.jsx(Bt,{variant:"warning",finishReason:e.finishReason,onDismiss:e.onDismiss,onContinue:e.onContinue})};sn.UserAskQuestion=No;const ys=["amber","bold","bright","calm","crimson","coral","daring","deep","dusty","eager","faint","fierce","frozen","gentle","golden","grand","green","hollow","iron","ivory","keen","lasting","lunar","mellow","misty","noble","olive","pale","prime","quiet","rapid","rustic","serene","sharp","silver","sleek","solar","stark","still","swift","tawny","tender","thin","true","vast","velvet","warm","wild","young","zen"],ws=["anchor","birch","brook","cedar","cliff","cove","crane","dune","echo","ember","falcon","fern","flint","forge","frost","glade","grove","harbor","hawk","iris","jade","lark","maple","marsh","mesa","opal","orbit","peak","pine","plume","quartz","rapids","reef","ridge","river","sage","shore","slate","spruce","stone","summit","thorn","tide","trail","vale","wren","aspen","delta","crest","spark"];function _c(){const t=ys[Math.floor(Math.random()*ys.length)],e=ws[Math.floor(Math.random()*ws.length)];return`deco/${t}-${e}`}const Lt=100;function Cc(t,e,s){const o=e.trim().toLowerCase();return o?(t??[]).some(r=>r.branches.some(i=>typeof i.name=="string"&&!s.has(i.name)&&i.name.toLowerCase().includes(o))):!0}function Nc(t,e){const s=e.trim().toLowerCase();return s?[...t].some(o=>o.toLowerCase().includes(s)):!0}function Ic(t){const e=t;if(e.structuredContent)return e.structuredContent;const s=e.content?.find(o=>o.type==="text")?.text;if(s)try{return JSON.parse(s)}catch{return[]}return[]}function Tc(t){const e=F.c(48),{orgId:s,orgSlug:o,userId:r,connectionId:i,sandboxMap:a,owner:d,repo:c,enabled:m}=t,f=m===void 0?!0:m,l=i??null;let u;e[0]!==s||e[1]!==o||e[2]!==l?(u={connectionId:l,orgId:s,orgSlug:o},e[0]=s,e[1]=o,e[2]=l,e[3]=u):u=e[3];const p=he(u);let g;e[4]!==i||e[5]!==s||e[6]!==o||e[7]!==d||e[8]!==c?(g=yr.githubBranches(s,o,i,d,c),e[4]=i,e[5]=s,e[6]=o,e[7]=d,e[8]=c,e[9]=g):g=e[9];const h=f&&!!i&&!!d&&!!c;let V;e[10]!==p||e[11]!==d||e[12]!==c?(V=async U=>{const{pageParam:B,signal:O}=U,z=Number(B),K=await p.callTool({name:"list_branches",arguments:{owner:d,repo:c,page:z,perPage:Lt}},void 0,{signal:O}),q=Ic(K);return{branches:Array.isArray(q)?q:q.branches??[],default_branch:Array.isArray(q)?null:q.default_branch??null,page:z}},e[10]=p,e[11]=d,e[12]=c,e[13]=V):V=e[13];let v;e[14]!==g||e[15]!==h||e[16]!==V?(v={queryKey:g,enabled:h,staleTime:3e4,retry:!1,initialPageParam:1,queryFn:V,getNextPageParam:Lc},e[14]=g,e[15]=h,e[16]=V,e[17]=v):v=e[17];const{data:b,isLoading:y,isError:S,hasNextPage:_,isFetchingNextPage:w,fetchNextPage:j}=Ii(v);let x,A;e[18]!==a||e[19]!==r?(A=new Set(Object.keys(a?.[r]??{})),x=[...A].sort().map(Mc),e[18]=a,e[19]=r,e[20]=x,e[21]=A):(x=e[20],A=e[21]);const P=x;let R;if(e[22]!==b?.pages){const U=new Map;for(const O of b?.pages??[])for(const z of O.branches)typeof z.name=="string"&&U.set(z.name,z);R=[...U.values()].filter(Dc),e[22]=b?.pages,e[23]=R}else R=e[23];let I;e[24]!==R||e[25]!==A?(I=R.filter(U=>!A.has(U.name)).map(Ec),e[24]=R,e[25]=A,e[26]=I):I=e[26];const C=I;let N;e[27]!==b?.pages?(N=b?.pages.find(Pc)?.default_branch??null,e[27]=b?.pages,e[28]=N):N=e[28];const D=N;let L;e[29]!==b?.pages||e[30]!==j||e[31]!==w||e[32]!==A?(L=async(U,B)=>{const O=B===void 0?Rc:B;if(!O()||Nc(A,U)||w)return;let z=b?.pages??[];for(;O()&&!Cc(z,U,A)&&(z.at(-1)?.branches.length??Lt)>=Lt;){const K=await j();if(!O())break;const q=K.data?.pages??z;if(q.length===z.length)break;z=q}},e[29]=b?.pages,e[30]=j,e[31]=w,e[32]=A,e[33]=L):L=e[33];const E=L,T=_??!1;let M;e[34]!==j||e[35]!==_||e[36]!==w?(M=()=>{_&&!w&&j()},e[34]=j,e[35]=_,e[36]=w,e[37]=M):M=e[37];let $;return e[38]!==D||e[39]!==E||e[40]!==S||e[41]!==w||e[42]!==y||e[43]!==C||e[44]!==T||e[45]!==M||e[46]!==P?($={yours:P,others:C,defaultBase:D,isLoading:y,isError:S,hasMore:T,isFetchingMore:w,fetchMore:M,fetchUntilMatch:E},e[38]=D,e[39]=E,e[40]=S,e[41]=w,e[42]=y,e[43]=C,e[44]=T,e[45]=M,e[46]=P,e[47]=$):$=e[47],$}function Rc(){return!0}function Pc(t){return t.default_branch}function Ec(t){return{name:t.name,source:"other",author:typeof t.commit?.author=="string"?t.commit.author:t.commit?.author?.login??null}}function Dc(t){return typeof t.name=="string"}function Mc(t){return{name:t,source:"yours"}}function Lc(t){if(!(t.branches.length<Lt))return t.page+1}function Fc(t){const e=F.c(80),{orgId:s,orgSlug:o,userId:r,connectionId:i,owner:a,repo:d,sandboxMap:c,value:m,onChange:f,disabled:l}=t,u=l===void 0?!1:l,[p,g]=k.useState(!1),[h,V]=k.useState(""),[v,b]=k.useState(!1),y=k.useRef(0);let S;e[0]!==i||e[1]!==p||e[2]!==s||e[3]!==o||e[4]!==a||e[5]!==d||e[6]!==c||e[7]!==r?(S={orgId:s,orgSlug:o,userId:r,connectionId:i,sandboxMap:c,owner:a,repo:d,enabled:p},e[0]=i,e[1]=p,e[2]=s,e[3]=o,e[4]=a,e[5]=d,e[6]=c,e[7]=r,e[8]=S):S=e[8];const{yours:_,others:w,isLoading:j,isError:x,hasMore:A,isFetchingMore:P,fetchMore:R,fetchUntilMatch:I}=Tc(S);let C;e[9]!==f?(C=re=>{f(re),g(!1)},e[9]=f,e[10]=C):C=e[10];const N=C,D=m??"Select branch…";let L;e[11]!==I?(L=re=>{V(re),y.current=y.current+1;const Ne=y.current,qe=re.trim();if(!qe){b(!1);return}b(!0),I(qe,()=>Ne===y.current).finally(()=>{Ne===y.current&&b(!1)})},e[11]=I,e[12]=L):L=e[12];const E=L;let T;e[13]!==R?(T=re=>{const Ne=re.currentTarget;Ne.scrollHeight-Ne.scrollTop-Ne.clientHeight<48&&R()},e[13]=R,e[14]=T):T=e[14];const M=T,$=u?void 0:g,U=u?"gap-0":"gap-0 @[320px]/chat-bottom:gap-1.5";let B;e[15]!==U?(B=W("font-mono text-xs text-muted-foreground hover:text-foreground transition-[gap] duration-200 shrink min-w-0",U),e[15]=U,e[16]=B):B=e[16];let O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=n.jsx(un,{className:"h-3.5 w-3.5"}),e[17]=O):O=e[17];const z=!u&&"@[320px]/chat-bottom:max-w-[200px] @[320px]/chat-bottom:opacity-100";let K;e[18]!==z?(K=W("min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0",z),e[18]=z,e[19]=K):K=e[19];let q;e[20]!==D||e[21]!==K?(q=n.jsx("span",{className:K,children:D}),e[20]=D,e[21]=K,e[22]=q):q=e[22];let J;e[23]!==u?(J=!u&&n.jsx(tn,{size:12,className:"opacity-60 hidden @[320px]/chat-bottom:inline-block"}),e[23]=u,e[24]=J):J=e[24];let G;e[25]!==u||e[26]!==D||e[27]!==q||e[28]!==J||e[29]!==B?(G=n.jsx(Pe,{asChild:!0,children:n.jsx("span",{className:"inline-flex min-w-0 shrink",children:n.jsx(Kn,{asChild:!0,children:n.jsxs(ne,{variant:"ghost",size:"default","aria-label":D,disabled:u,className:B,children:[O,q,J]})})})}),e[25]=u,e[26]=D,e[27]=q,e[28]=J,e[29]=B,e[30]=G):G=e[30];let Z;e[31]!==D?(Z=n.jsx(Ee,{children:D}),e[31]=D,e[32]=Z):Z=e[32];let ee;e[33]!==G||e[34]!==Z?(ee=n.jsxs(Re,{children:[G,Z]}),e[33]=G,e[34]=Z,e[35]=ee):ee=e[35];let te;e[36]!==E||e[37]!==h?(te=n.jsx(ki,{placeholder:"Search loaded branches…",value:h,onValueChange:E}),e[36]=E,e[37]=h,e[38]=te):te=e[38];let se;e[39]!==N?(se=n.jsx(ne,{variant:"outline",size:"sm",className:"h-7 shrink-0",onClick:()=>N(_c()),children:"New"}),e[39]=N,e[40]=se):se=e[40];let Q;e[41]!==te||e[42]!==se?(Q=n.jsxs("div",{className:"*:data-[slot=command-input-wrapper]:flex-1 *:data-[slot=command-input-wrapper]:border-b-0 flex items-center border-b pr-2",children:[te,se]}),e[41]=te,e[42]=se,e[43]=Q):Q=e[43];let X;e[44]!==x?(X=x&&n.jsx("div",{className:"p-3 text-xs text-muted-foreground",children:"Couldn't load branches from GitHub. You can still pick from your branches."}),e[44]=x,e[45]=X):X=e[45];let ae;e[46]!==A||e[47]!==x||e[48]!==j?(ae=!x&&!j&&n.jsx(_i,{children:A?"Looking through more branches...":"No branches found."}),e[46]=A,e[47]=x,e[48]=j,e[49]=ae):ae=e[49];let pe;e[50]!==N||e[51]!==_?(pe=_.length>0&&n.jsx(ns,{heading:"Your branches",children:_.map(re=>n.jsxs(ss,{value:re.name,onSelect:()=>N(re.name),children:[n.jsx(un,{className:"mr-2 h-4 w-4"}),n.jsx("span",{className:"flex-1 truncate",children:re.name})]},re.name))}),e[50]=N,e[51]=_,e[52]=pe):pe=e[52];let _e;e[53]!==w||e[54]!==N?(_e=w.length>0&&n.jsxs(n.Fragment,{children:[n.jsx(Si,{}),n.jsx(ns,{heading:"Other branches in repo",children:w.map(re=>n.jsxs(ss,{value:re.name,onSelect:()=>N(re.name),children:[n.jsx(un,{className:"mr-2 h-4 w-4"}),n.jsx("span",{className:"flex-1 truncate",children:re.name}),re.author&&n.jsxs("span",{className:"text-xs text-muted-foreground",children:["@",re.author]})]},re.name))})]}),e[53]=w,e[54]=N,e[55]=_e):_e=e[55];let me;e[56]!==R||e[57]!==A||e[58]!==P||e[59]!==v?(me=A&&n.jsx("div",{className:"border-t p-2",children:n.jsx(ne,{variant:"ghost",size:"sm",className:"h-7 w-full text-xs",disabled:P,onClick:R,children:P||v?"Loading more…":"Load more branches"})}),e[56]=R,e[57]=A,e[58]=P,e[59]=v,e[60]=me):me=e[60];let Fe;e[61]!==A||e[62]!==w.length?(Fe=!A&&w.length>0&&n.jsx("div",{className:"border-t p-2 text-center text-xs text-muted-foreground",children:"All loaded"}),e[61]=A,e[62]=w.length,e[63]=Fe):Fe=e[63];let xe;e[64]!==M||e[65]!==X||e[66]!==ae||e[67]!==pe||e[68]!==_e||e[69]!==me||e[70]!==Fe?(xe=n.jsxs(Ci,{onScroll:M,children:[X,ae,pe,_e,me,Fe]}),e[64]=M,e[65]=X,e[66]=ae,e[67]=pe,e[68]=_e,e[69]=me,e[70]=Fe,e[71]=xe):xe=e[71];let Ce;e[72]!==Q||e[73]!==xe?(Ce=n.jsx(Wn,{className:"w-[min(420px,calc(100vw-2rem))] p-0",align:"start",children:n.jsxs(Ni,{children:[Q,xe]})}),e[72]=Q,e[73]=xe,e[74]=Ce):Ce=e[74];let be;return e[75]!==p||e[76]!==ee||e[77]!==Ce||e[78]!==$?(be=n.jsxs(Yn,{open:p,onOpenChange:$,children:[ee,Ce]}),e[75]=p,e[76]=ee,e[77]=Ce,e[78]=$,e[79]=be):be=e[79],be}function Oc(t){const e=F.c(6);let s,o;e[0]!==t?({locked:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);let r;return e[3]!==s||e[4]!==o?(r=n.jsx(Fc,{...o,disabled:s}),e[3]=s,e[4]=o,e[5]=r):r=e[5],r}async function $c(t,e,s){const o=await t.callTool({name:e,arguments:s});if(o.isError){const r=o.content?.[0]?.text??`Tool ${e} failed without a message`;throw new Error(r)}return o}const Ro=["SANDBOX_START"],Et=new Map,Uc=t=>`${t.virtualMcpId}::${t.branch??""}`,hn=new Set,zc={mark:(t,e)=>hn.add(`${t}::${e}`),clear:(t,e)=>hn.delete(`${t}::${e}`),isStopped:(t,e)=>hn.has(`${t}::${e}`)};function Bc(t){const e=lt();return Yt({mutationKey:Ro,mutationFn:async s=>{s.branch&&zc.clear(s.virtualMcpId,s.branch);const o=Uc(s),r=Et.get(o);if(r)return r;const i=(async()=>(await $c(t,"SANDBOX_START",s)).structuredContent)();Et.set(o,i);try{return await i}finally{Et.get(o)===i&&Et.delete(o)}},onSuccess:()=>{ir(e)}})}function Tf(t,e){const s=F.c(3);let o;return s[0]!==e||s[1]!==t?(o={mutationKey:Ro,predicate:i=>{if(!t)return!1;const a=i.state.variables;return!a||a.virtualMcpId!==t?!1:(a.branch??"")===(e??"")}},s[0]=e,s[1]=t,s[2]=o):o=s[2],oa(o)>0}const qc={fast:{modelId:"claude-code:haiku",label:"Haiku 4.5"},smart:{modelId:"claude-code:sonnet",label:"Sonnet 4.6"},thinking:{modelId:"claude-code:opus",label:"Opus 4.7"}},Kc={fast:{modelId:"codex:gpt-5.4-mini",label:"GPT-5.4 Mini"},smart:{modelId:"codex:gpt-5.3-codex",label:"GPT-5.3 Codex"},thinking:{modelId:"codex:gpt-5.5",label:"GPT-5.5"}};function Wc(t){return t==="claude-code"?qc:t==="codex"?Kc:null}function js(t,e){return Wc(t)?.[e]??null}const Yc={"cloud-decopilot":"decopilot","local-claude-code":"claude-code-desktop","local-codex":"codex-desktop"},Gc={decopilot:"cloud-decopilot","claude-code-desktop":"local-claude-code","codex-desktop":"local-codex"};function Hc(t){return Yc[t]}function Qc(t){return t===null?"cloud-decopilot":Gc[t]}function Po(){const t=F.c(2),{pendingAgentOption:e}=Le();let s;return t[0]!==e?(s=Qc(e),t[0]=e,t[1]=s):s=t[1],s}function Xc(){const t=F.c(2),{setPendingAgentOption:e}=Le();let s;return t[0]!==e?(s=o=>e(Hc(o)),t[0]=e,t[1]=s):s=t[1],s}function Jc(){return Le().simpleModeTier}function Zc(){return Le().setSimpleModeTier}const ed={fast:"Quicker responses",smart:"Balanced quality",thinking:"Deeper reasoning"};function td(t,e){return t==="local-claude-code"?js("claude-code",e)?.label??null:t==="local-codex"?js("codex",e)?.label??null:ed[e]}const gn={mode:"cloud-decopilot",label:"Decopilot",description:"Runs on the cloud",group:"cloud",icon:n.jsx(zs,{size:16}),isAvailable:()=>!0},xn={mode:"local-claude-code",label:"Claude Code",description:"Runs via Claude Code CLI",group:"local",icon:n.jsx(io,{size:16}),isAvailable:t=>t.claudeCode},bn={mode:"local-codex",label:"Codex",description:"Runs via Codex CLI",group:"local",icon:n.jsx(ao,{size:16}),isAvailable:t=>t.codex};function nd(t){return t==="local-claude-code"?{icon:n.jsx(io,{size:14}),text:"Claude Code"}:t==="local-codex"?{icon:n.jsx(ao,{size:14}),text:"Codex"}:{icon:n.jsx(zs,{size:14}),text:"Cloud"}}const sd="text-muted-foreground hover:text-foreground text-xs transition-[gap] duration-200",od="text-success hover:text-success";function rd(t){const e=F.c(55),{mode:s,availability:o,locked:r,onSelect:i}=t,[a,d]=k.useState(!1);let c;e[0]!==s?(c=nd(s),e[0]=s,e[1]=c):c=e[1];const{icon:m,text:f}=c,l=s!=="cloud-decopilot";let u;e[2]!==i?(u=B=>{i(B),d(!1)},e[2]=i,e[3]=u):u=e[3];const p=u,g=r?void 0:d,h=l&&od,V=r?"gap-0":"gap-0 @[320px]/chat-bottom:gap-1.5";let v;e[4]!==h||e[5]!==V?(v=W(sd,h,"shrink min-w-0",V),e[4]=h,e[5]=V,e[6]=v):v=e[6];const b=!r&&"@[320px]/chat-bottom:max-w-32 @[320px]/chat-bottom:opacity-100";let y;e[7]!==b?(y=W("min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0",b),e[7]=b,e[8]=y):y=e[8];let S;e[9]!==y||e[10]!==f?(S=n.jsx("span",{className:y,children:f}),e[9]=y,e[10]=f,e[11]=S):S=e[11];let _;e[12]!==r?(_=!r&&n.jsx(tn,{size:12,className:"opacity-60 hidden @[320px]/chat-bottom:inline-block"}),e[12]=r,e[13]=_):_=e[13];let w;e[14]!==m||e[15]!==r||e[16]!==_||e[17]!==v||e[18]!==S||e[19]!==f?(w=n.jsx(Pe,{asChild:!0,children:n.jsx("span",{className:"inline-flex min-w-0 shrink",children:n.jsx(Kn,{asChild:!0,children:n.jsxs(ne,{type:"button",variant:"ghost",size:"default","aria-label":f,disabled:r,className:v,children:[m,S,_]})})})}),e[14]=m,e[15]=r,e[16]=_,e[17]=v,e[18]=S,e[19]=f,e[20]=w):w=e[20];let j;e[21]!==f?(j=n.jsx(Ee,{children:f}),e[21]=f,e[22]=j):j=e[22];let x;e[23]!==w||e[24]!==j?(x=n.jsxs(Re,{children:[w,j]}),e[23]=w,e[24]=j,e[25]=x):x=e[25];let A;e[26]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx(As,{title:"Cloud"}),e[26]=A):A=e[26];const P=s===gn.mode;let R;e[27]!==o?(R=gn.isAvailable(o),e[27]=o,e[28]=R):R=e[28];let I;e[29]!==p||e[30]!==P||e[31]!==R?(I=n.jsx(vn,{row:gn,active:P,available:R,onSelect:p}),e[29]=p,e[30]=P,e[31]=R,e[32]=I):I=e[32];let C;e[33]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsx(As,{title:"Local"}),e[33]=C):C=e[33];const N=s===xn.mode;let D;e[34]!==o?(D=xn.isAvailable(o),e[34]=o,e[35]=D):D=e[35];let L;e[36]!==p||e[37]!==N||e[38]!==D?(L=n.jsx(vn,{row:xn,active:N,available:D,onSelect:p}),e[36]=p,e[37]=N,e[38]=D,e[39]=L):L=e[39];const E=s===bn.mode;let T;e[40]!==o?(T=bn.isAvailable(o),e[40]=o,e[41]=T):T=e[41];let M;e[42]!==p||e[43]!==E||e[44]!==T?(M=n.jsx(vn,{row:bn,active:E,available:T,onSelect:p}),e[42]=p,e[43]=E,e[44]=T,e[45]=M):M=e[45];let $;e[46]!==I||e[47]!==L||e[48]!==M?($=n.jsx(Wn,{align:"start",className:"p-1 w-64",children:n.jsxs("div",{role:"menu",className:"flex flex-col",children:[A,I,C,L,M]})}),e[46]=I,e[47]=L,e[48]=M,e[49]=$):$=e[49];let U;return e[50]!==a||e[51]!==x||e[52]!==$||e[53]!==g?(U=n.jsxs(Yn,{open:a,onOpenChange:g,children:[x,$]}),e[50]=a,e[51]=x,e[52]=$,e[53]=g,e[54]=U):U=e[54],U}function As(t){const e=F.c(2),{title:s}=t;let o;return e[0]!==s?(o=n.jsx("div",{className:"px-2 pt-2 pb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground",children:s}),e[0]=s,e[1]=o):o=e[1],o}function vn(t){const e=F.c(23),{row:s,active:o,available:r,onSelect:i}=t,a=r?s.description:"Not connected";let d;e[0]!==i||e[1]!==s.mode?(d=()=>i(s.mode),e[0]=i,e[1]=s.mode,e[2]=d):d=e[2];const c=!r&&"opacity-60";let m;e[3]!==c?(m=W("flex items-start gap-2 px-2 py-1.5 rounded-md text-left","hover:bg-muted",c),e[3]=c,e[4]=m):m=e[4];let f;e[5]!==s.icon?(f=n.jsx("span",{className:"shrink-0 text-muted-foreground mt-0.5",children:s.icon}),e[5]=s.icon,e[6]=f):f=e[6];let l;e[7]!==s.label?(l=n.jsx("div",{className:"text-sm",children:s.label}),e[7]=s.label,e[8]=l):l=e[8];let u;e[9]!==a?(u=n.jsx("div",{className:"text-xs text-muted-foreground",children:a}),e[9]=a,e[10]=u):u=e[10];let p;e[11]!==l||e[12]!==u?(p=n.jsxs("div",{className:"flex-1",children:[l,u]}),e[11]=l,e[12]=u,e[13]=p):p=e[13];let g;e[14]!==o?(g=o&&n.jsx(He,{size:14,className:"text-foreground mt-0.5"}),e[14]=o,e[15]=g):g=e[15];let h;return e[16]!==r||e[17]!==d||e[18]!==m||e[19]!==f||e[20]!==p||e[21]!==g?(h=n.jsxs("button",{type:"button",role:"menuitem","data-available":r,onClick:d,className:m,children:[f,p,g]}),e[16]=r,e[17]=d,e[18]=m,e[19]=f,e[20]=p,e[21]=g,e[22]=h):h=e[22],h}function id(t){const e=F.c(22),{locked:s,currentBranch:o,virtualMcpId:r}=t,i=Po(),a=Xc(),d=yi(),{org:c}=le();let m;e[0]!==c.id||e[1]!==c.slug?(m={connectionId:Xe,orgId:c.id,orgSlug:c.slug},e[0]=c.id,e[1]=c.slug,e[2]=m):m=e[2];const f=he(m),l=Bc(f);let u;e[3]!==d.capabilities||e[4]!==d.online?(u=d.online&&d.capabilities.includes("claude-code"),e[3]=d.capabilities,e[4]=d.online,e[5]=u):u=e[5];let p;e[6]!==d.capabilities||e[7]!==d.online?(p=d.online&&d.capabilities.includes("codex"),e[6]=d.capabilities,e[7]=d.online,e[8]=p):p=e[8];let g;e[9]!==u||e[10]!==p?(g={claudeCode:u,codex:p},e[9]=u,e[10]=p,e[11]=g):g=e[11];const h=g;let V;e[12]!==o||e[13]!==a||e[14]!==l||e[15]!==r?(V=y=>{a(y),Y("agent_mode_selected",{mode:y}),y!=="cloud-decopilot"&&o&&l.mutate({virtualMcpId:r,branch:o,sandboxProviderKind:"user-desktop"})},e[12]=o,e[13]=a,e[14]=l,e[15]=r,e[16]=V):V=e[16];const v=V;let b;return e[17]!==h||e[18]!==v||e[19]!==s||e[20]!==i?(b=n.jsx(rd,{mode:i,availability:h,locked:s,onSelect:v}),e[17]=h,e[18]=v,e[19]=s,e[20]=i,e[21]=b):b=e[21],b}function ad(t){const e=F.c(3),{clonable:s,connected:o,branchPill:r,modePicker:i}=t;if(!s)return null;const a=o&&r;let d;return e[0]!==i||e[1]!==a?(d=n.jsxs(n.Fragment,{children:[a,i]}),e[0]=i,e[1]=a,e[2]=d):d=e[2],d}function ld(t){const e=F.c(27),{orgId:s,orgSlug:o,userId:r,virtualMcp:i,sandboxMap:a,currentBranch:d,onBranchChange:c}=t,m=qs();let f;e[0]!==m?.messages?(f=m?.messages??[],e[0]=m?.messages,e[1]=f):f=e[1];const l=f.length>0,u=i?.metadata;let p;e[2]!==u?(p=Dr(u),e[2]=u,e[3]=p):p=e[3];const g=p;let h;e[4]!==i?(h=Mr(i),e[4]=i,e[5]=h):h=e[5];const V=h,v=i?.metadata?.githubRepo??null,b=i?.id??"",y=v?.connectionId??"",S=v?.owner??"",_=v?.name??"";let w;e[6]!==d||e[7]!==l||e[8]!==c||e[9]!==s||e[10]!==o||e[11]!==a||e[12]!==b||e[13]!==y||e[14]!==S||e[15]!==_||e[16]!==r?(w=n.jsx(Oc,{orgId:s,orgSlug:o,userId:r,virtualMcpId:b,connectionId:y,owner:S,repo:_,sandboxMap:a,value:d,onChange:c,locked:l}),e[6]=d,e[7]=l,e[8]=c,e[9]=s,e[10]=o,e[11]=a,e[12]=b,e[13]=y,e[14]=S,e[15]=_,e[16]=r,e[17]=w):w=e[17];const j=i?.id??"";let x;e[18]!==d||e[19]!==l||e[20]!==j?(x=n.jsx(id,{locked:l,currentBranch:d,virtualMcpId:j}),e[18]=d,e[19]=l,e[20]=j,e[21]=x):x=e[21];let A;return e[22]!==g||e[23]!==V||e[24]!==x||e[25]!==w?(A=n.jsx(ad,{clonable:g,connected:V,branchPill:w,modePicker:x}),e[22]=g,e[23]=V,e[24]=x,e[25]=w,e[26]=A):A=e[26],A}const cd=["fast","smart","thinking"],dt={fast:"Fast",smart:"Smart",thinking:"Thinking"};function dd(t){const e=F.c(30),{tier:s,subtitleFor:o,iconFor:r,onSelect:i}=t,[a,d]=k.useState(!1);let c;e[0]!==i?(c=x=>{i(x),d(!1)},e[0]=i,e[1]=c):c=e[1];const m=c,f=dt[s];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=W("text-muted-foreground hover:text-foreground transition-[gap] duration-200 shrink min-w-0","gap-0 @[320px]/chat-bottom:gap-1.5"),e[2]=l):l=e[2];let u;e[3]!==r||e[4]!==s?(u=r?.(s),e[3]=r,e[4]=s,e[5]=u):u=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=W("min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0","@[320px]/chat-bottom:max-w-24 @[320px]/chat-bottom:opacity-100"),e[6]=p):p=e[6];const g=dt[s];let h;e[7]!==g?(h=n.jsx("span",{className:p,children:g}),e[7]=g,e[8]=h):h=e[8];let V;e[9]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(tn,{size:12,className:"opacity-60 hidden @[320px]/chat-bottom:inline-block"}),e[9]=V):V=e[9];let v;e[10]!==f||e[11]!==u||e[12]!==h?(v=n.jsx(Pe,{asChild:!0,children:n.jsx("span",{className:"inline-flex min-w-0 shrink",children:n.jsx(Kn,{asChild:!0,children:n.jsxs(ne,{type:"button",variant:"ghost",size:"default","aria-label":f,className:l,children:[u,h,V]})})})}),e[10]=f,e[11]=u,e[12]=h,e[13]=v):v=e[13];const b=dt[s];let y;e[14]!==b?(y=n.jsx(Ee,{children:b}),e[14]=b,e[15]=y):y=e[15];let S;e[16]!==y||e[17]!==v?(S=n.jsxs(Re,{children:[v,y]}),e[16]=y,e[17]=v,e[18]=S):S=e[18];let _;e[19]!==m||e[20]!==r||e[21]!==o||e[22]!==s?(_=cd.map(x=>{const A=o(x),P=r?.(x),R=x===s;return n.jsxs("button",{type:"button",role:"menuitem","aria-label":dt[x],onClick:()=>m(x),className:W("flex items-start gap-2 px-2 py-1.5 rounded-md text-left","hover:bg-muted"),children:[P&&n.jsx("span",{className:"shrink-0 text-muted-foreground mt-0.5",children:P}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"text-sm",children:dt[x]}),A&&n.jsx("div",{className:"text-xs text-muted-foreground",children:A})]}),R&&n.jsx(He,{size:14,className:"text-foreground mt-0.5"})]},x)}),e[19]=m,e[20]=r,e[21]=o,e[22]=s,e[23]=_):_=e[23];let w;e[24]!==_?(w=n.jsx(Wn,{align:"end",className:"p-1 w-56",children:n.jsx("div",{role:"menu",className:"flex flex-col",children:_})}),e[24]=_,e[25]=w):w=e[25];let j;return e[26]!==a||e[27]!==S||e[28]!==w?(j=n.jsxs(Yn,{open:a,onOpenChange:d,children:[S,w]}),e[26]=a,e[27]=S,e[28]=w,e[29]=j):j=e[29],j}function ud(t){return t==="fast"?n.jsx(_r,{size:16}):t==="thinking"?n.jsx(Cr,{size:16}):n.jsx(hi,{size:16})}function md(){const t=F.c(6),e=Jc(),s=Zc(),o=Po();let r;t[0]!==o?(r=d=>td(o,d),t[0]=o,t[1]=r):r=t[1];const i=r;let a;return t[2]!==s||t[3]!==i||t[4]!==e?(a=n.jsx(dd,{tier:e,subtitleFor:i,iconFor:ud,onSelect:s}),t[2]=s,t[3]=i,t[4]=e,t[5]=a):a=t[5],a}async function Qn(t,e,s,o,r){if(!nn(e)){oe.error("Selected model does not support file uploads");return}const i=s.type||"application/octet-stream";if(!wi(i,e)){const d=lo(e),c=e?.title??"This model";r?r({fileName:s.name,modelName:c,accepted:d}):oe.error(`"${s.name}" can't be attached`,{description:`${c} accepts ${d}.`});return}const a=10*1024*1024;if(s.size>a){oe.error(`File "${s.name}" exceeds 10MB limit`);return}try{const d=new FileReader,c=new Promise((l,u)=>{d.onload=()=>{const p=d.result;if(typeof p!="string"){u(new Error("Failed to read file as data URL"));return}const g=p.includes(",")?p.split(",")[1]??p:p;l(g)},d.onerror=u});d.readAsDataURL(s);const m=await c,f={id:crypto.randomUUID(),name:s.name,mimeType:s.type||"application/octet-stream",size:s.size,data:m};si(t,{from:o,to:o},f)}catch(d){console.error("Failed to process file:",d),oe.error(`Failed to load file "${s.name}"`)}}function fd(t){const e=F.c(8),{editor:s,selectedModel:o,onUnsupportedFile:r}=t,i=k.useRef(Vd);let a,d;e[0]!==s||e[1]!==r||e[2]!==o?(a=()=>{i.current=async(f,l)=>{await Qn(s,o,f,l,r)}},d=[s,o,r],e[0]=s,e[1]=r,e[2]=o,e[3]=a,e[4]=d):(a=e[3],d=e[4]),k.useEffect(a,d);let c,m;return e[5]!==s?(c=()=>{if(s?.isDestroyed)return;const f=new kn("fileDropHandler");s.state.plugins.find(p=>p.spec.key===f)&&s.unregisterPlugin(f);const u=new Ti({key:f,props:{handleDrop:(p,g,h,V)=>{if(V)return!1;const v=g.dataTransfer?.files;if(!v||v.length===0)return!1;g.preventDefault();const b=p.posAtCoords({left:g.clientX,top:g.clientY});if(!b)return!1;const y=Array.from(v),S=b.pos;for(const _ of y)i.current?.(_,S);return!0},handlePaste:(p,g)=>{const h=g.clipboardData?.items;if(!h)return!1;const V=Array.from(h).filter(pd);if(V.length===0)return!1;g.preventDefault();const{from:v}=p.state.selection;for(const b of V){const y=b.getAsFile();y&&i.current?.(y,v)}return!0}}});return s.registerPlugin(u),()=>{s?.isDestroyed||s.unregisterPlugin(f)}},m=[s],e[5]=s,e[6]=c,e[7]=m):(c=e[6],m=e[7]),k.useEffect(c,m),null}function pd(t){return t.kind==="file"}function Vd(){return Promise.resolve()}function hd(t){const e=F.c(26),{info:s,onClose:o}=t,r=s!==null;let i;e[0]!==o?(i=_=>!_&&o(),e[0]=o,e[1]=i):i=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(251,191,36,0.35) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(244,114,182,0.25) 0%, transparent 100%)"],e[2]=a):a=e[2];let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:a.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[3]=d):d=e[3];let c,m;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"flex items-center justify-center size-9 rounded-lg bg-amber-500/15 text-amber-600 dark:text-amber-400",children:n.jsx(Fs,{size:18})}),m=n.jsx(ke,{className:"text-xl font-semibold tracking-tight",children:"File type not supported"}),e[4]=c,e[5]=m):(c=e[4],m=e[5]);const f=s?.fileName;let l;e[6]!==f?(l=n.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[d,n.jsxs(Se,{className:"relative gap-4",children:[c,n.jsxs("div",{children:[m,n.jsxs(Gt,{className:"mt-1.5 text-sm leading-relaxed",children:[n.jsxs("span",{className:"font-medium text-foreground",children:["“",f,"”"]})," ","can't be attached to this chat."]})]})]})]}),e[6]=f,e[7]=l):l=e[7];const u=s?.modelName;let p;e[8]!==u?(p=n.jsxs("div",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground mb-2",children:[u," accepts"]}),e[8]=u,e[9]=p):p=e[9];let g;e[10]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(Nr,{size:14,className:"text-muted-foreground"}),e[10]=g):g=e[10];const h=s?.accepted;let V;e[11]!==h?(V=n.jsxs("div",{className:"flex items-center gap-2 text-sm text-foreground",children:[g,n.jsx("span",{className:"capitalize",children:h})]}),e[11]=h,e[12]=V):V=e[12];let v;e[13]!==p||e[14]!==V?(v=n.jsx("div",{className:"px-8 pt-3 pb-6 space-y-3",children:n.jsxs("div",{className:"rounded-xl border border-border p-4",children:[p,V]})}),e[13]=p,e[14]=V,e[15]=v):v=e[15];let b;e[16]!==o?(b=n.jsx("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-end",children:n.jsx(ne,{onClick:o,children:"Got it"})}),e[16]=o,e[17]=b):b=e[17];let y;e[18]!==v||e[19]!==b||e[20]!==l?(y=n.jsxs(Ae,{className:"sm:max-w-[480px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:gd,children:[l,v,b]}),e[18]=v,e[19]=b,e[20]=l,e[21]=y):y=e[21];let S;return e[22]!==r||e[23]!==y||e[24]!==i?(S=n.jsx(je,{open:r,onOpenChange:i,children:y}),e[22]=r,e[23]=y,e[24]=i,e[25]=S):S=e[25],S}function gd(t){return t.preventDefault()}function xd(){const t=F.c(3),[e,s]=k.useState(null);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>s(null),t[0]=o):o=t[0];let r;return t[1]!==e?(r={unsupportedFile:e,onUnsupportedFile:s,clearUnsupportedFile:o},t[1]=e,t[2]=r):r=t[2],r}var bd=Ri;var vd=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Nn=vd.join(","),Eo=typeof Element>"u",vt=Eo?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,qt=!Eo&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},Kt=function(e,s){var o;s===void 0&&(s=!0);var r=e==null||(o=e.getAttribute)===null||o===void 0?void 0:o.call(e,"inert"),i=r===""||r==="true",a=i||s&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Kt(e.parentNode));return a},yd=function(e){var s,o=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"contenteditable");return o===""||o==="true"},wd=function(e,s,o){if(Kt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Nn));return s&&vt.call(e,Nn)&&r.unshift(e),r=r.filter(o),r},In=function(e,s,o){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!Kt(a,!1))if(a.tagName==="SLOT"){var d=a.assignedElements(),c=d.length?d:a.children,m=In(c,!0,o);o.flatten?r.push.apply(r,m):r.push({scopeParent:a,candidates:m})}else{var f=vt.call(a,Nn);f&&o.filter(a)&&(s||!e.includes(a))&&r.push(a);var l=a.shadowRoot||typeof o.getShadowRoot=="function"&&o.getShadowRoot(a),u=!Kt(l,!1)&&(!o.shadowRootFilter||o.shadowRootFilter(a));if(l&&u){var p=In(l===!0?a.children:l.children,!0,o);o.flatten?r.push.apply(r,p):r.push({scopeParent:a,candidates:p})}else i.unshift.apply(i,a.children)}}return r},Do=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Mo=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||yd(e))&&!Do(e)?0:e.tabIndex},jd=function(e,s){var o=Mo(e);return o<0&&s&&!Do(e)?0:o},Ad=function(e,s){return e.tabIndex===s.tabIndex?e.documentOrder-s.documentOrder:e.tabIndex-s.tabIndex},Lo=function(e){return e.tagName==="INPUT"},Sd=function(e){return Lo(e)&&e.type==="hidden"},kd=function(e){var s=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(o){return o.tagName==="SUMMARY"});return s},_d=function(e,s){for(var o=0;o<e.length;o++)if(e[o].checked&&e[o].form===s)return e[o]},Cd=function(e){if(!e.name)return!0;var s=e.form||qt(e),o=function(d){return s.querySelectorAll('input[type="radio"][name="'+d+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=o(window.CSS.escape(e.name));else try{r=o(e.name)}catch(a){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",a.message),!1}var i=_d(r,e.form);return!i||i===e},Nd=function(e){return Lo(e)&&e.type==="radio"},Id=function(e){return Nd(e)&&!Cd(e)},Td=function(e){var s,o=e&&qt(e),r=(s=o)===null||s===void 0?void 0:s.host,i=!1;if(o&&o!==e){var a,d,c;for(i=!!((a=r)!==null&&a!==void 0&&(d=a.ownerDocument)!==null&&d!==void 0&&d.contains(r)||e!=null&&(c=e.ownerDocument)!==null&&c!==void 0&&c.contains(e));!i&&r;){var m,f,l;o=qt(r),r=(m=o)===null||m===void 0?void 0:m.host,i=!!((f=r)!==null&&f!==void 0&&(l=f.ownerDocument)!==null&&l!==void 0&&l.contains(r))}}return i},Ss=function(e){var s=e.getBoundingClientRect(),o=s.width,r=s.height;return o===0&&r===0},Rd=function(e,s){var o=s.displayCheck,r=s.getShadowRoot;if(o==="full-native"&&"checkVisibility"in e){var i=e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!i}if(getComputedStyle(e).visibility==="hidden")return!0;var a=vt.call(e,"details>summary:first-of-type"),d=a?e.parentElement:e;if(vt.call(d,"details:not([open]) *"))return!0;if(!o||o==="full"||o==="full-native"||o==="legacy-full"){if(typeof r=="function"){for(var c=e;e;){var m=e.parentElement,f=qt(e);if(m&&!m.shadowRoot&&r(m)===!0)return Ss(e);e.assignedSlot?e=e.assignedSlot:!m&&f!==e.ownerDocument?e=f.host:e=m}e=c}if(Td(e))return!e.getClientRects().length;if(o!=="legacy-full")return!0}else if(o==="non-zero-area")return Ss(e);return!1},Pd=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var s=e.parentElement;s;){if(s.tagName==="FIELDSET"&&s.disabled){for(var o=0;o<s.children.length;o++){var r=s.children.item(o);if(r.tagName==="LEGEND")return vt.call(s,"fieldset[disabled] *")?!0:!r.contains(e)}return!0}s=s.parentElement}return!1},Ed=function(e,s){return!(s.disabled||Sd(s)||Rd(s,e)||kd(s)||Pd(s))},ks=function(e,s){return!(Id(s)||Mo(s)<0||!Ed(e,s))},Dd=function(e){var s=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(s)||s>=0)},Fo=function(e){var s=[],o=[];return e.forEach(function(r,i){var a=!!r.scopeParent,d=a?r.scopeParent:r,c=jd(d,a),m=a?Fo(r.candidates):d;c===0?a?s.push.apply(s,m):s.push(d):o.push({documentOrder:i,tabIndex:c,item:r,isScope:a,content:m})}),o.sort(Ad).reduce(function(r,i){return i.isScope?r.push.apply(r,i.content):r.push(i.content),r},[]).concat(s)},Oo=function(e,s){s=s||{};var o;return s.getShadowRoot?o=In([e],s.includeContainer,{filter:ks.bind(null,s),flatten:!1,getShadowRoot:s.getShadowRoot,shadowRootFilter:Dd}):o=wd(e,s.includeContainer,ks.bind(null,s)),Fo(o)};function Md(){return/apple/i.test(navigator.vendor)}const _s="data-floating-ui-focusable";function Ld(t){let e=t.activeElement;for(;((s=e)==null||(s=s.shadowRoot)==null?void 0:s.activeElement)!=null;){var s;e=e.shadowRoot.activeElement}return e}function Tn(t,e){if(!t||!e)return!1;const s=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(s&&ar(s)){let o=e;for(;o;){if(t===o)return!0;o=o.parentNode||o.host}}return!1}function ut(t){return"composedPath"in t?t.composedPath()[0]:t.target}function yn(t,e){if(e==null)return!1;if("composedPath"in t)return t.composedPath().includes(e);const s=t;return s.target!=null&&e.contains(s.target)}function Fd(t){return t.matches("html,body")}function yt(t){return t?.ownerDocument||document}function Od(t){return t?t.hasAttribute(_s)?t:t.querySelector("["+_s+"]")||t:null}function Ft(t,e,s){return s===void 0&&(s=!0),t.filter(r=>{var i;return r.parentId===e&&(!s||((i=r.context)==null?void 0:i.open))}).flatMap(r=>[r,...Ft(t,r.id,s)])}function $d(t){return"nativeEvent"in t}var Ud=typeof document<"u",zd=function(){},Ge=Ud?k.useLayoutEffect:zd;const Bd={...Os},qd=Bd.useInsertionEffect,Kd=qd||(t=>t());function it(t){const e=k.useRef(()=>{});return Kd(()=>{e.current=t}),k.useCallback(function(){for(var s=arguments.length,o=new Array(s),r=0;r<s;r++)o[r]=arguments[r];return e.current==null?void 0:e.current(...o)},[])}const $o=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function Uo(t,e){const s=Oo(t,$o()),o=s.length;if(o===0)return;const r=Ld(yt(t)),i=s.indexOf(r),a=i===-1?e===1?0:o-1:i+e;return s[a]}function Wd(t){return Uo(yt(t).body,1)||t}function Yd(t){return Uo(yt(t).body,-1)||t}function wn(t,e){const s=e||t.currentTarget,o=t.relatedTarget;return!o||!Tn(s,o)}function Gd(t){Oo(t,$o()).forEach(s=>{s.dataset.tabindex=s.getAttribute("tabindex")||"",s.setAttribute("tabindex","-1")})}function Cs(t){t.querySelectorAll("[data-tabindex]").forEach(s=>{const o=s.dataset.tabindex;delete s.dataset.tabindex,o?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")})}const Hd="data-floating-ui-focusable",Ns="active",Is="selected",Qd={...Os};let Ts=!1,Xd=0;const Rs=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+Xd++;function Jd(){const[t,e]=k.useState(()=>Ts?Rs():void 0);return Ge(()=>{t==null&&e(Rs())},[]),k.useEffect(()=>{Ts=!0},[]),t}const Zd=Qd.useId,Xn=Zd||Jd;function eu(){const t=new Map;return{emit(e,s){var o;(o=t.get(e))==null||o.forEach(r=>r(s))},on(e,s){t.has(e)||t.set(e,new Set),t.get(e).add(s)},off(e,s){var o;(o=t.get(e))==null||o.delete(s)}}}const tu=k.createContext(null),nu=k.createContext(null),zo=()=>{var t;return((t=k.useContext(tu))==null?void 0:t.id)||null},Bo=()=>k.useContext(nu);function Jn(t){return"data-floating-ui-"+t}const su={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},Ps=k.forwardRef(function(e,s){const[o,r]=k.useState();Ge(()=>{Md()&&r("button")},[]);const i={ref:s,tabIndex:0,role:o,"aria-hidden":o?void 0:!0,[Jn("focus-guard")]:"",style:su};return n.jsx("span",{...e,...i})}),ou={clipPath:"inset(50%)",position:"fixed",top:0,left:0},qo=k.createContext(null),Es=Jn("portal");function ru(t){t===void 0&&(t={});const{id:e,root:s}=t,o=Xn(),r=au(),[i,a]=k.useState(null),d=k.useRef(null);return Ge(()=>()=>{i?.remove(),queueMicrotask(()=>{d.current=null})},[i]),Ge(()=>{if(!o||d.current)return;const c=e?document.getElementById(e):null;if(!c)return;const m=document.createElement("div");m.id=o,m.setAttribute(Es,""),c.appendChild(m),d.current=m,a(m)},[e,o]),Ge(()=>{if(s===null||!o||d.current)return;let c=s||r?.portalNode;c&&!fr(c)&&(c=c.current),c=c||document.body;let m=null;e&&(m=document.createElement("div"),m.id=e,c.appendChild(m));const f=document.createElement("div");f.id=o,f.setAttribute(Es,""),c=m||c,c.appendChild(f),d.current=f,a(f)},[e,s,o,r]),i}function iu(t){const{children:e,id:s,root:o,preserveTabOrder:r=!0}=t,i=ru({id:s,root:o}),[a,d]=k.useState(null),c=k.useRef(null),m=k.useRef(null),f=k.useRef(null),l=k.useRef(null),u=a?.modal,p=a?.open,g=!!a&&!a.modal&&a.open&&r&&!!(o||i);return k.useEffect(()=>{if(!i||!r||u)return;function h(V){i&&wn(V)&&(V.type==="focusin"?Cs:Gd)(i)}return i.addEventListener("focusin",h,!0),i.addEventListener("focusout",h,!0),()=>{i.removeEventListener("focusin",h,!0),i.removeEventListener("focusout",h,!0)}},[i,r,u]),k.useEffect(()=>{i&&(p||Cs(i))},[p,i]),n.jsxs(qo.Provider,{value:k.useMemo(()=>({preserveTabOrder:r,beforeOutsideRef:c,afterOutsideRef:m,beforeInsideRef:f,afterInsideRef:l,portalNode:i,setFocusManagerState:d}),[r,i]),children:[g&&i&&n.jsx(Ps,{"data-type":"outside",ref:c,onFocus:h=>{if(wn(h,i)){var V;(V=f.current)==null||V.focus()}else{const v=a?a.domReference:null,b=Yd(v);b?.focus()}}}),g&&i&&n.jsx("span",{"aria-owns":i.id,style:ou}),i&&wt.createPortal(e,i),g&&i&&n.jsx(Ps,{"data-type":"outside",ref:m,onFocus:h=>{if(wn(h,i)){var V;(V=l.current)==null||V.focus()}else{const v=a?a.domReference:null,b=Wd(v);b?.focus(),a?.closeOnFocusOut&&a?.onOpenChange(!1,h.nativeEvent,"focus-out")}}})]})}const au=()=>k.useContext(qo),lu={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},cu={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Ds=t=>{var e,s;return{escapeKey:typeof t=="boolean"?t:(e=t?.escapeKey)!=null?e:!1,outsidePress:typeof t=="boolean"?t:(s=t?.outsidePress)!=null?s:!0}};function du(t,e){e===void 0&&(e={});const{open:s,onOpenChange:o,elements:r,dataRef:i}=t,{enabled:a=!0,escapeKey:d=!0,outsidePress:c=!0,outsidePressEvent:m="pointerdown",referencePress:f=!1,referencePressEvent:l="pointerdown",ancestorScroll:u=!1,bubbles:p,capture:g}=e,h=Bo(),V=it(typeof c=="function"?c:()=>!1),v=typeof c=="function"?V:c,b=k.useRef(!1),{escapeKey:y,outsidePress:S}=Ds(p),{escapeKey:_,outsidePress:w}=Ds(g),j=k.useRef(!1),x=it(N=>{var D;if(!s||!a||!d||N.key!=="Escape"||j.current)return;const L=(D=i.current.floatingContext)==null?void 0:D.nodeId,E=h?Ft(h.nodesRef.current,L):[];if(!y&&(N.stopPropagation(),E.length>0)){let T=!0;if(E.forEach(M=>{var $;if(($=M.context)!=null&&$.open&&!M.context.dataRef.current.__escapeKeyBubbles){T=!1;return}}),!T)return}o(!1,$d(N)?N.nativeEvent:N,"escape-key")}),A=it(N=>{var D;const L=()=>{var E;x(N),(E=ut(N))==null||E.removeEventListener("keydown",L)};(D=ut(N))==null||D.addEventListener("keydown",L)}),P=it(N=>{var D;const L=i.current.insideReactTree;i.current.insideReactTree=!1;const E=b.current;if(b.current=!1,m==="click"&&E||L||typeof v=="function"&&!v(N))return;const T=ut(N),M="["+Jn("inert")+"]",$=yt(r.floating).querySelectorAll(M);let U=Ie(T)?T:null;for(;U&&!dn(U);){const K=dr(U);if(dn(K)||!Ie(K))break;U=K}if($.length&&Ie(T)&&!Fd(T)&&!Tn(T,r.floating)&&Array.from($).every(K=>!Tn(U,K)))return;if(ur(T)&&C){const K=dn(T),q=mr(T),J=/auto|scroll/,G=K||J.test(q.overflowX),Z=K||J.test(q.overflowY),ee=G&&T.clientWidth>0&&T.scrollWidth>T.clientWidth,te=Z&&T.clientHeight>0&&T.scrollHeight>T.clientHeight,se=q.direction==="rtl",Q=te&&(se?N.offsetX<=T.offsetWidth-T.clientWidth:N.offsetX>T.clientWidth),X=ee&&N.offsetY>T.clientHeight;if(Q||X)return}const B=(D=i.current.floatingContext)==null?void 0:D.nodeId,O=h&&Ft(h.nodesRef.current,B).some(K=>{var q;return yn(N,(q=K.context)==null?void 0:q.elements.floating)});if(yn(N,r.floating)||yn(N,r.domReference)||O)return;const z=h?Ft(h.nodesRef.current,B):[];if(z.length>0){let K=!0;if(z.forEach(q=>{var J;if((J=q.context)!=null&&J.open&&!q.context.dataRef.current.__outsidePressBubbles){K=!1;return}}),!K)return}o(!1,N,"outside-press")}),R=it(N=>{var D;const L=()=>{var E;P(N),(E=ut(N))==null||E.removeEventListener(m,L)};(D=ut(N))==null||D.addEventListener(m,L)});k.useEffect(()=>{if(!s||!a)return;i.current.__escapeKeyBubbles=y,i.current.__outsidePressBubbles=S;let N=-1;function D($){o(!1,$,"ancestor-scroll")}function L(){window.clearTimeout(N),j.current=!0}function E(){N=window.setTimeout(()=>{j.current=!1},cr()?5:0)}const T=yt(r.floating);d&&(T.addEventListener("keydown",_?A:x,_),T.addEventListener("compositionstart",L),T.addEventListener("compositionend",E)),v&&T.addEventListener(m,w?R:P,w);let M=[];return u&&(Ie(r.domReference)&&(M=cn(r.domReference)),Ie(r.floating)&&(M=M.concat(cn(r.floating))),!Ie(r.reference)&&r.reference&&r.reference.contextElement&&(M=M.concat(cn(r.reference.contextElement)))),M=M.filter($=>{var U;return $!==((U=T.defaultView)==null?void 0:U.visualViewport)}),M.forEach($=>{$.addEventListener("scroll",D,{passive:!0})}),()=>{d&&(T.removeEventListener("keydown",_?A:x,_),T.removeEventListener("compositionstart",L),T.removeEventListener("compositionend",E)),v&&T.removeEventListener(m,w?R:P,w),M.forEach($=>{$.removeEventListener("scroll",D)}),window.clearTimeout(N)}},[i,r,d,v,m,s,o,u,a,y,S,x,_,A,P,w,R]),k.useEffect(()=>{i.current.insideReactTree=!1},[i,v,m]);const I=k.useMemo(()=>({onKeyDown:x,...f&&{[lu[l]]:N=>{o(!1,N.nativeEvent,"reference-press")},...l!=="click"&&{onClick(N){o(!1,N.nativeEvent,"reference-press")}}}}),[x,o,f,l]),C=k.useMemo(()=>{function N(D){D.button===0&&(b.current=!0)}return{onKeyDown:x,onMouseDown:N,onMouseUp:N,[cu[m]]:()=>{i.current.insideReactTree=!0}}},[x,m,i]);return k.useMemo(()=>a?{reference:I,floating:C}:{},[a,I,C])}function uu(t){const{open:e=!1,onOpenChange:s,elements:o}=t,r=Xn(),i=k.useRef({}),[a]=k.useState(()=>eu()),d=zo()!=null,[c,m]=k.useState(o.reference),f=it((p,g,h)=>{i.current.openEvent=p?g:void 0,a.emit("openchange",{open:p,event:g,reason:h,nested:d}),s?.(p,g,h)}),l=k.useMemo(()=>({setPositionReference:m}),[]),u=k.useMemo(()=>({reference:c||o.reference||null,floating:o.floating||null,domReference:o.reference}),[c,o.reference,o.floating]);return k.useMemo(()=>({dataRef:i,open:e,onOpenChange:f,elements:u,events:a,floatingId:r,refs:l}),[e,f,u,a,r,l])}function mu(t){t===void 0&&(t={});const{nodeId:e}=t,s=uu({...t,elements:{reference:null,floating:null,...t.elements}}),o=t.rootContext||s,r=o.elements,[i,a]=k.useState(null),[d,c]=k.useState(null),f=r?.domReference||i,l=k.useRef(null),u=Bo();Ge(()=>{f&&(l.current=f)},[f]);const p=lr({...t,elements:{...r,...d&&{reference:d}}}),g=k.useCallback(y=>{const S=Ie(y)?{getBoundingClientRect:()=>y.getBoundingClientRect(),getClientRects:()=>y.getClientRects(),contextElement:y}:y;c(S),p.refs.setReference(S)},[p.refs]),h=k.useCallback(y=>{(Ie(y)||y===null)&&(l.current=y,a(y)),(Ie(p.refs.reference.current)||p.refs.reference.current===null||y!==null&&!Ie(y))&&p.refs.setReference(y)},[p.refs]),V=k.useMemo(()=>({...p.refs,setReference:h,setPositionReference:g,domReference:l}),[p.refs,h,g]),v=k.useMemo(()=>({...p.elements,domReference:f}),[p.elements,f]),b=k.useMemo(()=>({...p,...o,refs:V,elements:v,nodeId:e}),[p,V,v,e,o]);return Ge(()=>{o.dataRef.current.floatingContext=b;const y=u?.nodesRef.current.find(S=>S.id===e);y&&(y.context=b)}),k.useMemo(()=>({...p,context:b,refs:V,elements:v}),[p,V,v,b])}function jn(t,e,s){const o=new Map,r=s==="item";let i=t;if(r&&t){const{[Ns]:a,[Is]:d,...c}=t;i=c}return{...s==="floating"&&{tabIndex:-1,[Hd]:""},...i,...e.map(a=>{const d=a?a[s]:null;return typeof d=="function"?t?d(t):null:d}).concat(t).reduce((a,d)=>(d&&Object.entries(d).forEach(c=>{let[m,f]=c;if(!(r&&[Ns,Is].includes(m)))if(m.indexOf("on")===0){if(o.has(m)||o.set(m,[]),typeof f=="function"){var l;(l=o.get(m))==null||l.push(f),a[m]=function(){for(var u,p=arguments.length,g=new Array(p),h=0;h<p;h++)g[h]=arguments[h];return(u=o.get(m))==null?void 0:u.map(V=>V(...g)).find(V=>V!==void 0)}}}else a[m]=f}),a),{})}}function fu(t){t===void 0&&(t=[]);const e=t.map(d=>d?.reference),s=t.map(d=>d?.floating),o=t.map(d=>d?.item),r=k.useCallback(d=>jn(d,t,"reference"),e),i=k.useCallback(d=>jn(d,t,"floating"),s),a=k.useCallback(d=>jn(d,t,"item"),o);return k.useMemo(()=>({getReferenceProps:r,getFloatingProps:i,getItemProps:a}),[r,i,a])}const pu=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Vu(t,e){var s,o;e===void 0&&(e={});const{open:r,elements:i,floatingId:a}=t,{enabled:d=!0,role:c="dialog"}=e,m=Xn(),f=((s=i.domReference)==null?void 0:s.id)||m,l=k.useMemo(()=>{var b;return((b=Od(i.floating))==null?void 0:b.id)||a},[i.floating,a]),u=(o=pu.get(c))!=null?o:c,g=zo()!=null,h=k.useMemo(()=>u==="tooltip"||c==="label"?{["aria-"+(c==="label"?"labelledby":"describedby")]:r?l:void 0}:{"aria-expanded":r?"true":"false","aria-haspopup":u==="alertdialog"?"dialog":u,"aria-controls":r?l:void 0,...u==="listbox"&&{role:"combobox"},...u==="menu"&&{id:f},...u==="menu"&&g&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[u,l,g,r,f,c]),V=k.useMemo(()=>{const b={id:l,...u&&{role:u}};return u==="tooltip"||c==="label"?b:{...b,...u==="menu"&&{"aria-labelledby":f}}},[u,l,f,c]),v=k.useCallback(b=>{let{active:y,selected:S}=b;const _={role:"option",...y&&{id:l+"-fui-option"}};switch(c){case"select":case"combobox":return{..._,"aria-selected":S}}return{}},[l,c]);return k.useMemo(()=>d?{reference:h,floating:V,item:v}:{},[d,h,V,v])}function hu(t){const e=F.c(24),{editor:s,query:o,items:r,onSelect:i,onClose:a}=t,[d,c]=k.useState(0),m=k.useRef(r),f=k.useRef(d),l=k.useRef(i),u=k.useRef(a),p=k.useDeferredValue(o);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=()=>{c(0)},e[0]=g):g=e[0];let h;e[1]!==p?(h=[p],e[1]=p,e[2]=h):h=e[2],k.useEffect(g,h);let V,v;e[3]!==r.length||e[4]!==d?(V=()=>{d>=r.length&&r.length>0&&c(0)},v=[r.length,d],e[3]=r.length,e[4]=d,e[5]=V,e[6]=v):(V=e[5],v=e[6]),k.useEffect(V,v);let b,y;e[7]!==r?(b=()=>{m.current=r},y=[r],e[7]=r,e[8]=b,e[9]=y):(b=e[8],y=e[9]),k.useEffect(b,y);let S,_;e[10]!==d?(S=()=>{f.current=d},_=[d],e[10]=d,e[11]=S,e[12]=_):(S=e[11],_=e[12]),k.useEffect(S,_);let w,j;e[13]!==i?(j=()=>{l.current=i},w=[i],e[13]=i,e[14]=w,e[15]=j):(w=e[14],j=e[15]),k.useEffect(j,w);let x,A;e[16]!==a?(x=()=>{u.current=a},A=[a],e[16]=a,e[17]=x,e[18]=A):(x=e[17],A=e[18]),k.useEffect(x,A);let P,R;e[19]!==s?(P=()=>{if(s?.isDestroyed)return;let N;try{N=s.view.dom}catch{return}if(!N)return;const D=E=>{const T=m.current;if(!T.length)return!1;const M=()=>c(U=>(U+1)%T.length),$=()=>c(U=>(U-1+T.length)%T.length);switch(E.key){case"ArrowUp":return E.preventDefault(),$(),!0;case"ArrowDown":return E.preventDefault(),M(),!0;case"Tab":return E.preventDefault(),E.shiftKey?$():M(),!0;case"Home":return E.preventDefault(),c(0),!0;case"End":return E.preventDefault(),c(T.length-1),!0;case"Enter":{if(E.isComposing)return!1;E.preventDefault();const U=f.current;return U!==-1&&T[U]&&l.current?.(T[U],U),!0}case"Escape":return E.preventDefault(),u.current?.(),!0;default:return!1}},L=E=>{D(E)};return N.addEventListener("keydown",L,!0),()=>{N?.removeEventListener("keydown",L,!0)}},R=[s],e[19]=s,e[20]=P,e[21]=R):(P=e[20],R=e[21]),k.useEffect(P,R);const I=r.length?d:void 0;let C;return e[22]!==I?(C={selectedIndex:I,setSelectedIndex:c},e[22]=I,e[23]=C):C=e[23],C}function gu(t,e){switch(e.type){case"SET_SELECTED_ITEM":return{...t,selectedItem:e.payload};case"ON_START":return{...t,open:!0,selectedItem:null,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_UPDATE":return{...t,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_EXIT":return{open:!1,element:null,query:"",range:null,selectedItem:null};default:return t}}const Ko=k.createContext(void 0);function Wo(){const t=k.useContext(Ko);if(!t)throw new Error("useSuggestionContext must be used within a SuggestionContext.Provider");return t}function xu({editor:t,char:e,pluginKey:s,allow:o,onOpenChange:r}){const[i,a]=k.useReducer(gu,{open:!1,element:null,query:"",range:null,selectedItem:null}),d=k.useRef(r);return d.current=r,k.useEffect(()=>{if(t?.isDestroyed)return;const c=s instanceof kn?s:new kn(s);t.state.plugins.find(l=>l.spec.key===c)&&t.unregisterPlugin(c);const f=Li({pluginKey:c,editor:t,char:e,allow(l){const u=t.state.doc.resolve(l.range.from);for(let p=u.depth;p>0;p--)if(u.node(p).type.name==="image")return!1;return!(o&&!o(l))},command(){},render:()=>({onStart:l=>{a({type:"ON_START",payload:{element:l.decorationNode??null,query:l.query,range:l.range}}),d.current?.(!0)},onUpdate:l=>{a({type:"ON_UPDATE",payload:{element:l.decorationNode??null,query:l.query,range:l.range}})},onKeyDown:l=>l.event.key==="Escape"?(a({type:"ON_EXIT"}),!0):!1,onExit:()=>{a({type:"ON_EXIT"}),d.current?.(!1)}}),items:()=>[]});return t.registerPlugin(f),()=>{t?.isDestroyed||t.unregisterPlugin(c)}},[t,s,e,a,o]),{state:i,dispatch:a}}function bu({editor:t,queryKey:e,queryFn:s,onSelect:o}){const{state:r,dispatch:i}=Wo(),a=k.useDeferredValue(r.query),{data:d}=pr({queryKey:we.suggestionItems(e,r.open,a),queryFn:()=>r.open?s({query:a}):[]}),c=()=>{i({type:"ON_EXIT"})},m=async(l,u)=>{if(!(r.selectedItem!==null||!r.range)){i({type:"SET_SELECTED_ITEM",payload:l});try{const{view:p}=t,h=p.state.selection.$to.nodeAfter?.text?.startsWith(" "),V=r.range?{...r.range}:{from:0,to:0};h&&r.range&&(V.to+=1),await o({range:V,item:l})===!1?i({type:"SET_SELECTED_ITEM",payload:null}):c()}catch{c()}}},{selectedIndex:f}=hu({editor:t,query:a,items:d,onSelect:m,onClose:c});return{selectedItem:r.selectedItem,items:d,selectedIndex:f,close:c,onSelect:m}}function vu({children:t}){const{state:e,dispatch:s}=Wo(),{open:o,element:r}=e,i=()=>{s({type:"ON_EXIT"})},{refs:a,floatingStyles:d,context:c}=mu({placement:"bottom-start",open:o,onOpenChange:u=>{u||i()},elements:{reference:r},middleware:[Vr(10),hr(),gr()],whileElementsMounted:xr}),m=du(c,{outsidePress:u=>!(u.target instanceof Element&&u.target.closest(".ProseMirror"))}),f=Vu(c,{role:"listbox"}),{getFloatingProps:l}=fu([m,f]);return o?n.jsx(iu,{children:n.jsx("div",{ref:a.setFloating,style:d,...l(),className:"z-50 w-auto min-w-[360px] max-w-[520px] rounded-lg border bg-popover p-0 text-popover-foreground shadow-md outline-hidden overflow-hidden",children:t})}):null}const yu=t=>{const e=F.c(29),{item:s,isSelected:o,onSelect:r,isLoading:i,ref:a}=t;let d;if(e[0]!==s){const w=De(s._meta);d=s.title||Jt(s.name,w),e[0]=s,e[1]=d}else d=e[1];const c=d,m=s.description||null,f=s.icon,l=o&&"bg-accent text-accent-foreground",u=i&&"pointer-events-none opacity-50";let p;e[2]!==l||e[3]!==u?(p=W("relative flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","focus:bg-accent focus:text-accent-foreground",l,u),e[2]=l,e[3]=u,e[4]=p):p=e[4];let g;e[5]!==f||e[6]!==c?(g=f!==void 0&&n.jsx(Un,{icon:f,name:c,size:"xs",className:"mr-2"}),e[5]=f,e[6]=c,e[7]=g):g=e[7];let h;e[8]!==c?(h=n.jsx("span",{className:"font-medium flex items-center truncate capitalize",children:c}),e[8]=c,e[9]=h):h=e[9];let V;e[10]!==i?(V=i&&n.jsx(Ot,{size:"xs"}),e[10]=i,e[11]=V):V=e[11];let v;e[12]!==h||e[13]!==V?(v=n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[h,V]}),e[12]=h,e[13]=V,e[14]=v):v=e[14];let b;e[15]!==m?(b=m&&n.jsx("div",{className:"text-xs text-muted-foreground line-clamp-1",children:m}),e[15]=m,e[16]=b):b=e[16];let y;e[17]!==v||e[18]!==b?(y=n.jsxs("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[v,b]}),e[17]=v,e[18]=b,e[19]=y):y=e[19];let S;e[20]!==s.drillable?(S=s.drillable&&n.jsx("kbd",{className:"shrink-0 ml-2 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground bg-muted border border-border rounded",children:"↵"}),e[20]=s.drillable,e[21]=S):S=e[21];let _;return e[22]!==r||e[23]!==a||e[24]!==y||e[25]!==S||e[26]!==p||e[27]!==g?(_=n.jsxs("div",{ref:a,onClick:r,className:p,children:[g,y,S]}),e[22]=r,e[23]=a,e[24]=y,e[25]=S,e[26]=p,e[27]=g,e[28]=_):_=e[28],_},wu=t=>{const e=F.c(18),{editor:s,queryKey:o,queryFn:r,onSelect:i}=t;let a;e[0]!==s||e[1]!==i||e[2]!==r||e[3]!==o?(a={editor:s,queryKey:o,queryFn:r,onSelect:i},e[0]=s,e[1]=i,e[2]=r,e[3]=o,e[4]=a):a=e[4];const{items:d,selectedIndex:c,onSelect:m,selectedItem:f}=bu(a);if(!d.length){let g;return e[5]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md border shadow-md p-3 text-sm",children:"No items found"}),e[5]=g):g=e[5],g}let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l={maxHeight:"min(320px, var(--radix-popover-content-available-height, 320px))"},e[6]=l):l=e[6];let u;if(e[7]!==m||e[8]!==d||e[9]!==c||e[10]!==f?.name){let g;e[12]!==m||e[13]!==c||e[14]!==f?.name?(g=(h,V)=>n.jsx(yu,{item:h,isSelected:V===c,ref:V===c?Su:void 0,onSelect:()=>m(h,V),isLoading:f?.name===h.name},h.name),e[12]=m,e[13]=c,e[14]=f?.name,e[15]=g):g=e[15],u=d.map(g),e[7]=m,e[8]=d,e[9]=c,e[10]=f?.name,e[11]=u}else u=e[11];let p;return e[16]!==u?(p=n.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md overflow-y-auto",style:l,children:n.jsx("div",{className:"p-1",children:u})}),e[16]=u,e[17]=p):p=e[17],p};function ju(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"p-1",children:[...Array(3)].map(Au)}),t[0]=e):e=t[0],e}function Au(t,e){return n.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 animate-pulse",children:[n.jsx("div",{className:"h-4 w-24 bg-muted rounded"}),n.jsx("div",{className:"h-3 w-32 bg-muted rounded"})]},e)}function Yo(t){const e=F.c(18),{editor:s,char:o,pluginKey:r,queryKey:i,queryFn:a,onSelect:d,allow:c,onOpenChange:m}=t;let f;e[0]!==c||e[1]!==o||e[2]!==s||e[3]!==m||e[4]!==r?(f={editor:s,char:o,pluginKey:r,allow:c,onOpenChange:m},e[0]=c,e[1]=o,e[2]=s,e[3]=m,e[4]=r,e[5]=f):f=e[5];const{state:l,dispatch:u}=xu(f);let p;e[6]!==u||e[7]!==l?(p={state:l,dispatch:u},e[6]=u,e[7]=l,e[8]=p):p=e[8];let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(ju,{}),e[9]=g):g=e[9];let h;e[10]!==s||e[11]!==d||e[12]!==a||e[13]!==i?(h=n.jsx(vu,{children:n.jsx(k.Suspense,{fallback:g,children:n.jsx(wu,{editor:s,queryKey:i,queryFn:a,onSelect:d})})}),e[10]=s,e[11]=d,e[12]=a,e[13]=i,e[14]=h):h=e[14];let V;return e[15]!==p||e[16]!==h?(V=n.jsx(Ko.Provider,{value:p,children:h}),e[15]=p,e[16]=h,e[17]=V):V=e[17],V}function Su(t){t&&t.scrollIntoView({block:"center",behavior:"smooth"})}const ku=[{name:"agents",title:"Agents",description:"Mention an agent to hand off work",kind:"category",drillable:!0},{name:"resources",title:"Resources",description:"Attach a resource as context",kind:"category",drillable:!0}],_u=({editor:t,virtualMcpId:e})=>{const s=lt(),{org:o}=le(),r=Kr(),i=he({connectionId:e,orgId:o.id,orgSlug:o.slug}),a=we.virtualMcpResources(e,o.id),[d,c]=k.useState("categories"),m=k.useRef(d);m.current=d;const f=k.useRef(null),l=k.useRef(!1),u=["at-mention",o.id,e??"default",d],p=async({item:V,range:v})=>{if(Y("chat_picker_item_selected",{picker:"@",item_kind:V.kind,item_name:V.name}),V.kind!=="category"&&(l.current=!0),V.kind==="category")return c(V.name==="agents"?"agents":"resources"),!1;if(V.kind==="agent"&&V.agentId){bt(t,v,{id:V.agentId,name:V.name,metadata:{agentId:V.agentId,title:V.name},char:"@"}),c("categories");return}if(V.kind==="resource"&&V.uri&&i){try{const b=await co(i,V.uri);bt(t,v,{id:V.uri,name:V.uri,metadata:b.contents,char:"@"})}catch(b){console.error("[at-mention] Failed to fetch resource:",b),oe.error("Failed to load resource. Please try again.")}c("categories");return}},g=async V=>{const{query:v}=V,b=m.current;if(b==="categories"){if(!v.trim())return ku;const _=v.toLowerCase(),w=r.filter(x=>x.status==="active"&&(!x.id||!es(x.id))&&x.id!==e&&(x.title.toLowerCase().includes(_)||x.description?.toLowerCase().includes(_))).map(x=>({name:x.title,title:x.title,description:x.description??void 0,icon:x.icon??null,kind:"agent",agentId:x.id})),j=await(async()=>{if(!i)return[];let x=s.getQueryData(a);return x||(x=await s.fetchQuery({queryKey:a,queryFn:()=>xt(i),staleTime:6e4})),(x?.resources??[]).filter(A=>A.uri.toLowerCase().includes(_)||A.name?.toLowerCase().includes(_)||A.description?.toLowerCase().includes(_)).map(A=>({name:A.name??A.uri,title:A.name,description:A.description,kind:"resource",uri:A.uri}))})();return[...w,...j]}if(b==="agents"){let _=r.filter(w=>w.status==="active"&&(!w.id||!es(w.id))&&w.id!==e);if(v.trim()){const w=v.toLowerCase();_=_.filter(j=>j.title.toLowerCase().includes(w)||j.description?.toLowerCase().includes(w))}return _.map(w=>({name:w.title,title:w.title,description:w.description??void 0,icon:w.icon??null,kind:"agent",agentId:w.id}))}if(!i)return[];let y=s.getQueryData(a);y?s.fetchQuery({queryKey:a,queryFn:()=>xt(i),staleTime:6e4}).catch(()=>{}):y=await s.fetchQuery({queryKey:a,queryFn:()=>xt(i),staleTime:6e4});let S=y?.resources??[];if(v.trim()){const _=v.toLowerCase();S=S.filter(w=>w.uri.toLowerCase().includes(_)||w.name?.toLowerCase().includes(_)||w.description?.toLowerCase().includes(_))}return S.map(_=>({name:_.name??_.uri,title:_.name,description:_.description,kind:"resource",uri:_.uri}))},h=V=>{if(V)f.current=Date.now(),l.current=!1,Y("chat_picker_opened",{picker:"@"});else{const v=f.current;Y("chat_picker_closed",{picker:"@",outcome:l.current?"selected":"dismissed",duration_ms:v?Date.now()-v:null}),f.current=null,c("categories")}};return n.jsx(Yo,{editor:t,char:"@",pluginKey:"atDropdownMenu",queryKey:u,queryFn:g,onSelect:p,onOpenChange:h})};function Cu(t,e,s){const o=Ks(t),r=vr(),i=new Map(r.map(m=>[m.id,m])),a=(o?.connections??[]).map(m=>m.connection_id),{data:d}=Fn({queryKey:we.promptConnectionMap(e,a),queryFn:async()=>{const m={};return await Promise.all(a.map(async f=>{try{const l=await wr({connectionId:f,orgId:e,orgSlug:s}),u=await $t(l);for(const p of u.prompts)p.name in m||(m[p.name]=f)}catch{}})),m},staleTime:6e4,enabled:a.length>0}),c=new Map;for(const[m,f]of Object.entries(d??{})){const l=i.get(f);l&&c.set(m,l)}return c}async function Ms(t,e,s,o,r,i){try{const a=await en(s,o,i);bt(t,e,{id:o,name:Zt(o,r),metadata:a.messages,char:"/",kind:"prompt",args:i})}catch(a){console.error("[slash] Failed to fetch prompt:",a),oe.error("Failed to load prompt. Please try again.")}}async function Nu(t,e,s,o){try{const r=await co(s,o);bt(t,e,{id:o,name:o,metadata:r.contents,char:"/",kind:"resource"})}catch(r){console.error("[slash] Failed to fetch resource:",r),oe.error("Failed to load resource. Please try again.")}}const Iu=({editor:t,virtualMcpId:e})=>{const s=lt(),{org:o}=le(),r=he({connectionId:e,orgId:o.id,orgSlug:o.slug}),i=Cu(e,o.id,o.slug),a=k.useRef(i);a.current=i;const d=we.virtualMcpPrompts(e,o.id),c=we.virtualMcpResources(e,o.id),m=["slash-mention",o.id,e??"default"],[f,l]=k.useState(null),[u,p]=k.useState(null),g=oi(t);g&&(g.onEditChip=async w=>{if(r)try{const x=(await Ls(s,d,r)).find(A=>A.name===w.promptId);if(!x?.arguments||x.arguments.length===0)return;p({...w,prompt:x})}catch(j){console.error("[slash] Failed to load prompt for editing:",j),oe.error("Failed to load prompt. Please try again.")}});const h=k.useRef(null),V=k.useRef(!1),v=async({item:w,range:j})=>{if(Y("chat_picker_item_selected",{picker:"/",item_kind:w.kind,item_name:w.name}),V.current=!0,!!r)if(w.kind==="prompt"){if(w.arguments&&w.arguments.length>0){l({range:j,item:w});return}const x=De(w._meta);await Ms(t,j,r,w.name,x)}else w.uri&&await Nu(t,j,r,w.uri)},b=async w=>{if(!f||!r)return;const{range:j,item:x}=f,A=De(x._meta);await Ms(t,j,r,x.name,A,w),l(null)},y=async w=>{if(!(!u||!r)){try{const j=await en(r,u.promptId,w),x=De(u.prompt._meta);t.chain().focus().setNodeSelection(u.pos).deleteSelection().insertContentAt(u.pos,Ys({id:u.promptId,name:Zt(u.promptId,x),metadata:j.messages,char:"/",kind:"prompt",args:w})).run(),Y("chat_picker_item_selected",{picker:"/edit",item_kind:"prompt",item_name:u.promptId})}catch(j){console.error("[slash] Failed to update prompt:",j),oe.error("Failed to update prompt. Please try again.")}p(null)}},S=async w=>{const{query:j}=w;if(!r)return[];const[x,A]=await Promise.all([Ls(s,d,r),Tu(s,c,r)]),P=j.trim().toLowerCase(),R=(x??[]).filter(C=>!P||C.name.toLowerCase().includes(P)||C.title?.toLowerCase().includes(P)||C.description?.toLowerCase().includes(P)).map(C=>({name:C.name,title:C.title,description:C.description,icon:a.current.get(C.name)?.icon??null,kind:"prompt",arguments:C.arguments,_meta:C._meta})),I=(A??[]).filter(C=>!P||C.uri.toLowerCase().includes(P)||C.name?.toLowerCase().includes(P)||C.description?.toLowerCase().includes(P)).map(C=>({name:C.name??C.uri,title:C.name,description:C.description,kind:"resource",uri:C.uri}));return[...R,...I]},_=f?.item.kind==="prompt"?{name:f.item.name,arguments:f.item.arguments,description:f.item.description}:null;return n.jsxs(n.Fragment,{children:[n.jsx(Yo,{editor:t,char:"/",pluginKey:"slashDropdownMenu",queryKey:m,queryFn:S,onSelect:v,onOpenChange:w=>{if(w)h.current=Date.now(),V.current=!1,Y("chat_picker_opened",{picker:"/"});else{const j=h.current;Y("chat_picker_closed",{picker:"/",outcome:V.current?"selected":"dismissed",duration_ms:j?Date.now()-j:null}),h.current=null}}}),n.jsx(zt,{prompt:_,setPrompt:()=>l(null),onSubmit:b}),n.jsx(zt,{prompt:u?.prompt??null,setPrompt:()=>p(null),onSubmit:y,defaultValues:u?.args},u?`edit-${u.promptId}-${u.pos}`:"edit-idle")]})};async function Ls(t,e,s){let o=t.getQueryData(e);return o?t.fetchQuery({queryKey:e,queryFn:()=>$t(s),staleTime:6e4}).catch(()=>{}):o=await t.fetchQuery({queryKey:e,queryFn:()=>$t(s),staleTime:6e4}),o?.prompts??[]}async function Tu(t,e,s){let o=t.getQueryData(e);return o?t.fetchQuery({queryKey:e,queryFn:()=>xt(s),staleTime:6e4}).catch(()=>{}):o=await t.fetchQuery({queryKey:e,queryFn:()=>xt(s),staleTime:6e4}),o?.resources??[]}function Ru(t){return[Di.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,dropcursor:!1}),bd.configure({placeholder:()=>t.current??"Ask anything, / for prompts, @ for agents & resources...",showOnlyWhenEditable:!1}),ri,ii]}function Pu({tiptapDoc:t,setTiptapDoc:e,disabled:s=!1,enterToSubmit:o=!1,placeholder:r,onSubmit:i,children:a}){const d=k.useRef(i),c=k.useRef(e),m=k.useRef(o),f=k.useRef(r),l=Pi({extensions:Ru(f),content:t||"",editorProps:{attributes:{"data-chat-input":"true",class:"prose prose-sm max-w-none focus:outline-none w-full h-full text-[15px] p-[18px]"},handleKeyDown:(u,p)=>p.key==="Enter"&&!p.shiftKey&&m.current?(p.preventDefault(),d.current?.(),!0):!1},onUpdate:({editor:u})=>{c.current(u?.getJSON())}});return k.useEffect(()=>{l?.setEditable(!s)},[l,s]),k.useEffect(()=>{d.current=i},[i]),k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{m.current=o},[o]),k.useEffect(()=>{f.current=r},[r]),k.useEffect(()=>{if(l?.isDestroyed)return;const u=JSON.stringify(l?.getJSON()),p=JSON.stringify(t||{type:"doc",content:[]});u!==p&&l.commands.setContent(t||{type:"doc",content:[]})},[l,t]),n.jsx(Ei.Provider,{value:{editor:l},children:a})}function Eu(t){const e=F.c(26),{disabled:s,virtualMcpId:o,showFileUploader:r,selectedModel:i,onUnsupportedFile:a,ref:d,className:c}=t,m=s===void 0?!1:s,f=r===void 0?!1:r,{editor:l}=Gn();let u,p;if(e[0]!==l?(u=()=>({focus:()=>{l?.commands.focus()},clear:()=>{l?.commands.clearContent(!0)},appendText:x=>{if(!l)return;const A=l.state.doc.textContent.trim()==="";l.commands.focus("end"),A||l.commands.insertContent(" "),l.commands.insertContent(x)},syncVoiceText:(x,A)=>{if(l&&(l.commands.setContent(x||{type:"doc",content:[]}),A)){l.commands.focus("end");const P=l.state.doc.textContent.trim().length>0;l.commands.insertContent(P?" "+A:A)}},restoreContent:x=>{l&&l.commands.setContent(x||{type:"doc",content:[]})}}),p=[l],e[0]=l,e[1]=u,e[2]=p):(u=e[1],p=e[2]),k.useImperativeHandle(d??null,u,p),!l)return null;const g=m&&"cursor-not-allowed opacity-70",h=m&&"[&_.ProseMirror]:cursor-not-allowed";let V;e[3]!==c||e[4]!==g||e[5]!==h?(V=W("overflow-y-auto relative flex-1 max-h-[164px] min-h-[20px] w-full flex flex-col",c,"[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[20px] [&_.ProseMirror]:flex-1","[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]","[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground","[&_.ProseMirror_p.is-editor-empty:first-child::before]:opacity-50","[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left","[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none","[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0",g,h),e[3]=c,e[4]=g,e[5]=h,e[6]=V):V=e[6];let v;e[7]!==l||e[8]!==V?(v=n.jsx(Mi,{editor:l,className:V}),e[7]=l,e[8]=V,e[9]=v):v=e[9];const b=o??null;let y;e[10]!==l||e[11]!==b?(y=n.jsx(k.Suspense,{fallback:null,children:n.jsx(Iu,{editor:l,virtualMcpId:b})}),e[10]=l,e[11]=b,e[12]=y):y=e[12];const S=o??null;let _;e[13]!==l||e[14]!==S?(_=n.jsx(k.Suspense,{fallback:null,children:n.jsx(_u,{editor:l,virtualMcpId:S})}),e[13]=l,e[14]=S,e[15]=_):_=e[15];let w;e[16]!==l||e[17]!==a||e[18]!==i||e[19]!==f?(w=f&&i?n.jsx(fd,{editor:l,selectedModel:i,onUnsupportedFile:a}):null,e[16]=l,e[17]=a,e[18]=i,e[19]=f,e[20]=w):w=e[20];let j;return e[21]!==y||e[22]!==_||e[23]!==w||e[24]!==v?(j=n.jsxs(n.Fragment,{children:[v,y,_,w]}),e[21]=y,e[22]=_,e[23]=w,e[24]=v,e[25]=j):j=e[25],j}function Rn(t){const e=F.c(3),[s]=ct();let o;return e[0]!==s.enableSounds||e[1]!==t?(o=()=>{s.enableSounds&&Bi(t.dataUri).catch(i=>{console.warn(`[sound] ${t.name} playback failed:`,i)})},e[0]=s.enableSounds,e[1]=t,e[2]=o):o=e[2],o}const Du={name:"switch-005",dataUri:"data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0VAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+1DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAABkAABU4ABMTEx0dHR0nJycnMTExMTs7OztERERETk5OTlhYWFhiYmJibGxsbHZ2dnZ/f39/iYmJiZOTk5OdnZ2dp6enp7GxsbG7u7u7xMTExM7Ozs7Y2NjY4uLi4uzs7Oz29vb2/////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkBVYAAAAAAAAVOPCP8KUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAACEwDXvQRAAG8Ii93HtACUCAABAKCJwfaCEHwfeoEAQdEAYygIHBOCAIAgCAJh9QIOg+D5/ygPh/wfB8DuKAgCHyn9QPh/5SCDv+CEHAQdxOD4B27c39tbckkqYbBAYAN9bNJLB+aXAf5wQAKdzxfbmrVIRQ4xNx3HwnoDmLhfMhgJiiw/HREXNCHqjvHEPEG8QjBYlxQNepJAT0kC8ip6JzSWj1TasoG+iyycbf2Uil1ovf1f/oUtR1qP+s1WSBFKoAAU02BDjMhuP/7UsQEgws8bRpd8YABJYPeBf9wCGXTGxBYcw5AJFMFMAmQQAhGAxgLBgHIAMYAAALhgAchipbe/91aU1VV4zcZj1Vf1XgYCIMBNrsBAIGs9/Ue4i/xFPeqCqwViI9/UeLf///rOngdA3OPHFjmOBv+EQnGahgaZxVplmkAH5JadDTQlNCEuGNiWYbCCONWdUJg6HXNazFdu1T+VgaEpOP70exv7f2/4b/yH//2/4cqCX/zWRUrIw+IPNMNlDnjAXQas/I4AzmYifA0tMSCgQDF//tSxBCDSzzi3k/sQwEyCtjJ/rBZAk+Uqj1YhA5YMCAAMwgOUchTkK7OR7LbMl0W1H6SvzG0Q2ZzfKUhnmTobv9DNhS1v7P8h//8Gv8gTRt1jReZ7YEjmMQg9hhwwMycHooasFmZyjcZGBKJD+IwbMCQQLoi+IQXCcIoydKoilI2MWFS5uJdDEu2taRrYI2ZSqKY50pJLv2NfjUAAuQAMfqVQ/T3PDQgMJMeEZ45hJzY6MNoFMxqTj1zNGQKJjAxEsSCBgQJBSIL0mcKYQJfVAn/+1LEGwLKlEKrD3MiYcuMkVa/wABB8Vh6M1q1epbvXwWBURhkyEhWZ/////////////9gjZ/Wt4w+4MNMCpE4TBYQl4w1IHvMDdA2zBngBMwc8COMDhCpDAfgOAAgrBgNYU+YC0FBGAkAMpgWoSCYAGESGBGAKBgXgJOdiOJmMCmNwCYNDJhYRPykRCJhTBnEUzlsjv4UNLj/z97n3Mv/7z1nZqyitYAZIqErIwMwJAqEw0GAAMFptJMaqFwB8CQIWlhuhuDAwNjfuwrQFAYXCf/7UsQVAA+9PTP42gYRdiIu9zBwAPbFUCi0DAhgNcS+7cDwVgM05A9bUDeuQMyE/u3CygVISgZhpIau/9PhdQG2C9DpxZZJmn/dn/Psmt0EFm////l84ThUTopE4VD/9JkubOGasTvN30C20G21qgUCkVCoUCgPMywrPCGly27V5q5t24vl/8jSlSAPCxzNseNCw3oh3NGBu4BZJ5hv7DRSfR/+eWG7nA8IKh2Olv5iz3q5m3//Joxo3JqNyYkSuGt/k6D4DeoBOHmHdl0dkZYA//tSxAUAC4B1Z/2DADEcA17Z/uhI4Yoik/TrZo+ww7UtmpW4LDWu2IacoJKJJeTSM+ZmAYBEiU+ZnnAwCn1VVVV6JUJQVnioKhrgqdKgqGpUFeCp0sDR3ztQNREDRUFioKuxKCpYGQBlRIBk+aLwb8KblGQVDdphPYTUdBOGbVpAaTF6ZdjEV0iRUZRCYkA4oUQDx5zqDugtXvza/7fuNNvfZ+j9v+T/2f//J/4cAAOTpE5K4zksR9MfIB+TDcQTI4gNs1XKAzEFUrGkxABYEBb/+1LEEYNKrEjgT/TCwYYVmUX+mHoKgWhKU5Eiw9SFIRmppw+3fYo4siPhUFeexM8KgIO6wVuPDDy01qeRaVbw357//y3+o8M0pBNlNLCGBzGKwyYw2IIFOE1WNTjRM6x8MlA1AxDhUHTAkEiyKpnbWrLcaOBotBUKbk1pypcWDAIK00AhKLGkUco6q9VWvM53mcaq3tVa8zjTM/tX//EDP//////////XAAmrwAAPoKwcw0ShDCZD/BQlhzinxQdorsOuXTEIC01ZkJyu4k/qPP/7UsQUAEjkrrkvZaPBIRXUoe5QObfMhYKX9RVgTPqCSCaSCaSC0XVdV1f/////6IAlguuAJSiDRNloNBsZg+0+Ts8MMCn81WUTRAlIi+GHECD0y8AWDIqswYsxGOSKVV7MqOni8tkVOip0fZX/////9HrMCbAz2EHGS4GKAAiRAAAYAcDdKd4G6Z/nwYgJ0ZAIgZyC8aPAs/iPBhwMpWDQNARltNS5Y61v//9i8Yl4SkFkIGTkAc0UBrIYLPA4MYBEy+YLMRuY4nhTC3hZA68H//tSxCoAyQC6mY6CkWDJBIsBz/QUrgNmahSzcrYw0/HhfnMAZBojDsgTFkDR5MDkG/DZEbk2FCmowqdqv2TYABiJwqqYjaQRGZ1URZ1DhSsdiHX/GBu0QpzIBNSaLqZ0ARkwFARxMrpt/Eh47mbQAhhU6sisFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LESoHHJCRaj/dmYAIAQAAQAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsSLg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsShg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",duration:.609,format:"mp3",license:"CC0",author:"Kenney"},Mu=Xr.togglePlanMode.keys.map(t=>t==="Shift"?"⇧":t).join(""),Lu=[{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/perplexity.png",name:"Perplexity"},{src:"/connections/github.png",name:"GitHub"}];function Fu(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center -space-x-1.5",children:Lu.map(Ou)}),t[0]=e):e=t[0],e}function Ou(t){return n.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-1 ring-border object-cover bg-white"},t.name)}function $u({disabled:t,onOpenConnections:e,virtualMcpId:s,selectedModel:o,isStreaming:r,onUnsupportedFile:i}){const[a,d]=k.useState(!1),c=Rn(Du),{org:m}=le(),{editor:f}=Gn(),l=k.useRef(null),u=nn(o),p=()=>{!u||r||(d(!1),l.current?.click())},g=async O=>{const z=O.target.files;if(!z||z.length===0||!f)return;const K=Array.from(z),{from:q}=f.state.selection;try{for(const J of K)await Qn(f,o??null,J,q,i)}finally{l.current&&(l.current.value="")}},h=he({connectionId:s,orgId:m.id,orgSlug:m.slug}),V=we.virtualMcpPrompts(s,m.id),{data:v,isLoading:b}=Fn({queryKey:V,queryFn:()=>$t(h),staleTime:6e4,enabled:a&&!!h}),y=v?.prompts??[],[S,_]=k.useState(null),{chatMode:w,setChatMode:j}=Le(),[x,A]=ct(),R=(mt.find(O=>O.value===x.toolApprovalLevel)??mt[0]).short,I=O=>{const z=mt.find(K=>K.value===O);if(z){if(z.value===x.toolApprovalLevel){d(!1);return}c(),Y("chat_approval_level_changed",{from_level:x.toolApprovalLevel,to_level:z.value,source:"tools_popover"}),A({...x,toolApprovalLevel:z.value}),d(!1)}},C=w==="plan",N=()=>{c();const O=C?"default":"plan";Y("chat_mode_changed",{from_mode:w,to_mode:O,source:"tools_popover"}),j(O),d(!1)},D=()=>{e(),d(!1)},L=async(O,z)=>{if(!f||!h)return;const K=De(O._meta),q={from:f.state.selection.from,to:f.state.selection.to};try{const J=await en(h,O.name,z);bt(f,q,{id:O.name,name:Zt(O.name,K),metadata:J.messages,char:"/",kind:"prompt",args:z})}catch{oe.error("Failed to load prompt. Please try again.")}},E=async O=>{d(!1);const z=!!(O.arguments&&O.arguments.length>0);if(Y("chat_prompt_inserted",{prompt_name:O.name,with_arguments:z}),z){_(O);return}await L(O)},T=async O=>{S&&(await L(S,O),_(null))},M=()=>{c();const O=w==="gen-image"?"default":"gen-image";Y("chat_mode_changed",{from_mode:w,to_mode:O,source:"tools_popover"}),j(O),d(!1)},$=()=>{c();const O=w==="web-search"?"default":"web-search";Y("chat_mode_changed",{from_mode:w,to_mode:O,source:"tools_popover"}),j(O),d(!1)},U=w==="gen-image",B=w==="web-search";return n.jsxs(n.Fragment,{children:[n.jsx("input",{ref:l,type:"file",multiple:!0,accept:ji(o??null),className:"hidden",onChange:g,disabled:r}),n.jsxs(Fi,{open:a,onOpenChange:O=>{O&&!a&&Y("chat_tools_popover_opened",{chat_mode:w}),d(O)},children:[n.jsx(Oi,{asChild:!0,children:n.jsxs(ne,{type:"button",variant:"ghost",size:"default",disabled:t,title:"Tools","aria-label":"Tools",className:W("text-muted-foreground hover:text-foreground transition-[gap] duration-200 shrink min-w-0","gap-0 @[320px]/chat-bottom:gap-1.5"),children:[n.jsx(Ir,{size:14}),n.jsx("span",{className:W("min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0","@[320px]/chat-bottom:max-w-24 @[320px]/chat-bottom:opacity-100"),children:"Tools"})]})}),n.jsxs($i,{align:"start",className:"w-52 p-1.5 space-y-1",children:[u?n.jsxs(We,{onClick:p,disabled:r,children:[n.jsx(_n,{size:16}),n.jsx("span",{className:"flex-1",children:"Add file"})]}):n.jsxs(Re,{children:[n.jsx(Pe,{asChild:!0,children:n.jsxs(We,{"aria-disabled":"true",className:"opacity-50 cursor-not-allowed",onSelect:O=>O.preventDefault(),children:[n.jsx(_n,{size:16}),n.jsx("span",{className:"flex-1",children:"Add file"})]})}),n.jsx(Ee,{side:"right",children:"The selected model does not support reading files or images."})]}),n.jsxs(We,{onClick:N,className:W(C&&"text-violet-600 dark:text-violet-400"),children:[n.jsx(Gs,{size:16,className:W(C&&"text-violet-500")}),n.jsx("span",{className:"flex-1",children:"Plan mode"}),n.jsx("span",{className:W("text-xs text-muted-foreground",C&&"text-violet-500 font-medium"),children:Mu})]}),n.jsxs(We,{onClick:M,className:W(U&&"text-pink-600 dark:text-pink-400"),children:[n.jsx(Xs,{size:16,className:W(U&&"text-pink-500")}),n.jsx("span",{className:"flex-1",children:"Create image"}),U&&n.jsx("span",{className:"text-xs text-pink-500 font-medium",children:"On"})]}),n.jsxs(We,{onClick:$,className:W(B&&"text-blue-600 dark:text-blue-400"),children:[n.jsx(gt,{size:16,className:W(B&&"text-blue-500")}),n.jsx("span",{className:"flex-1",children:"Web search"}),B&&n.jsx("span",{className:"text-xs text-blue-500 font-medium",children:"On"})]}),n.jsxs(os,{children:[n.jsxs(rs,{className:"gap-2",children:[n.jsx("span",{className:"flex size-4 items-center justify-center text-base font-medium text-muted-foreground",children:"/"}),n.jsx("span",{className:"flex-1",children:"Prompts"})]}),n.jsx(is,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:b?n.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[n.jsx(ht,{size:14,className:"animate-spin"}),"Loading prompts…"]}):y.length===0?n.jsx("div",{className:"px-2 py-3 text-sm text-muted-foreground",children:"No prompts available"}):y.map(O=>n.jsxs(We,{onClick:()=>E(O),className:"flex flex-col items-start gap-0.5",children:[n.jsx("span",{className:"font-medium text-sm capitalize",children:O.title||Jt(O.name,De(O._meta))}),O.description&&n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:O.description})]},O.name))})]}),n.jsxs(os,{children:[n.jsxs(rs,{className:"gap-2",children:[n.jsx(Xt,{size:16}),n.jsx("span",{className:"flex-1",children:"Approval"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:R})]}),n.jsx(is,{className:"w-48 p-1.5",children:n.jsx(Ui,{value:x.toolApprovalLevel,onValueChange:I,children:mt.map(O=>n.jsx(zi,{value:O.value,children:O.label},O.value))})})]}),n.jsxs(We,{onClick:D,children:[n.jsx(bi,{size:16}),n.jsx("span",{className:"flex-1",children:"Connections"}),n.jsx(k.Suspense,{children:n.jsx(Fu,{})})]})]})]}),n.jsx(zt,{prompt:S,setPrompt:_,onSubmit:T})]})}const Uu=[{src:"/connections/github.png",name:"GitHub"},{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/linear.png",name:"Linear"},{src:"/connections/shopify.png",name:"Shopify"},{src:"/connections/firecrawl.png",name:"Firecrawl"},{src:"/connections/perplexity.png",name:"Perplexity"}];function zu(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center -space-x-1",children:Uu.map(Bu)}),t[0]=e):e=t[0],e}function Bu(t){return n.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-2 ring-muted object-cover bg-white"},t.name)}function qu(t){const e=F.c(6),{onClick:s}=t;let o,r,i,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=W("group relative z-10 flex items-center gap-3 w-full px-4 py-3","rounded-b-2xl","cursor-pointer"),r=n.jsx("p",{className:"flex-1 text-xs text-muted-foreground truncate text-left",children:"Connect tools and get more done"}),i=n.jsx(zu,{}),a=n.jsx(Hs,{size:14,className:"shrink-0 text-muted-foreground/60 group-hover:text-muted-foreground transition-colors"}),e[0]=o,e[1]=r,e[2]=i,e[3]=a):(o=e[0],r=e[1],i=e[2],a=e[3]);let d;return e[4]!==s?(d=n.jsxs("button",{type:"button",onClick:s,className:o,children:[r,i,a]}),e[4]=s,e[5]=d):d=e[5],d}const Vt=48;function Ku(){const t=F.c(9),[e,s]=k.useState("idle"),[o,r]=k.useState(""),[i,a]=k.useState(""),[d,c]=k.useState(Gu),m=k.useRef(null),f=k.useRef(null),l=k.useRef(null),u=k.useRef(null),p=k.useRef(0),g=k.useRef(!1),h=k.useRef(""),V=k.useRef(""),v=typeof window<"u"&&!!(window.SpeechRecognition||window.webkitSpeechRecognition);let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=()=>{p.current&&(cancelAnimationFrame(p.current),p.current=0),f.current?.close().catch(Yu),u.current?.getTracks().forEach(Wu),l.current=null,f.current=null,u.current=null},t[0]=b):b=t[0];const y=b;let S;if(t[1]===Symbol.for("react.memo_cache_sentinel")){const R=I=>{u.current=I;const C=new AudioContext;f.current=C;const N=C.createMediaStreamSource(I),D=C.createAnalyser();D.fftSize=128,D.smoothingTimeConstant=.8,N.connect(D),l.current=D;const L=new Uint8Array(D.frequencyBinCount),E=()=>{if(!l.current)return;l.current.getByteFrequencyData(L);const T=[];for(let M=0;M<Vt;M++){const $=Math.floor(M/Vt*L.length);T.push(Math.max(.04,(L[$]??0)/255))}c(T),p.current=requestAnimationFrame(E)};E()};S=async()=>{const I=window.SpeechRecognition||window.webkitSpeechRecognition;if(!I){s("unsupported");return}let C;try{C=await navigator.mediaDevices.getUserMedia({audio:!0})}catch{s("permission-denied");return}r(""),a(""),V.current="",h.current="",g.current=!0,s("recording"),R(C);const N=new I;m.current=N,N.interimResults=!0,N.continuous=!0,N.lang=navigator.language||"en-US",N.onresult=D=>{let L="",E="";for(let T=D.resultIndex;T<D.results.length;T++){const M=D.results[T],$=M?.[0]?.transcript??"";M?.isFinal?E=E+$:L=L+$}E&&(h.current=h.current+E,r(h.current)),V.current=L,a(L)},N.onend=()=>{if(g.current)try{N.start()}catch{}};try{N.start()}catch{s("idle")}},t[1]=S}else S=t[1];const _=S;let w;t[2]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{g.current=!1,m.current?.stop(),y(),s("idle"),c(Array(Vt).fill(.05)),a("");const R=(h.current+(V.current?" "+V.current:"")).trim();return r(""),h.current="",V.current="",R},t[2]=w):w=t[2];const j=w;let x;t[3]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{g.current=!1,m.current?.abort(),y(),s("idle"),r(""),a(""),c(Array(Vt).fill(.05)),h.current="",V.current=""},t[3]=x):x=t[3];const A=x;let P;return t[4]!==i||t[5]!==e||t[6]!==o||t[7]!==d?(P={status:e,transcript:o,interimTranscript:i,waveformData:d,isSupported:v,startRecording:_,stopRecording:j,cancelRecording:A},t[4]=i,t[5]=e,t[6]=o,t[7]=d,t[8]=P):P=t[8],P}function Wu(t){return t.stop()}function Yu(){}function Gu(){return Array(Vt).fill(.05)}function Hu(t){const e=F.c(4),{data:s}=t;let o;e[0]!==s?(o=s.map(Qu),e[0]=s,e[1]=o):o=e[1];let r;return e[2]!==o?(r=n.jsx("div",{className:"flex items-center justify-center gap-[2px] h-10 overflow-hidden","aria-hidden":"true",children:o}),e[2]=o,e[3]=r):r=e[3],r}function Qu(t,e){return n.jsx("div",{className:"w-[2px] shrink-0 rounded-full bg-chart-2 transition-[height] duration-75 ease-out",style:{height:`${Math.max(4,Math.round(t*40))}px`}},e)}function Xu(t,e){const s=F.c(5),{editor:o}=Gn(),[r,i]=k.useState(!1),a=k.useRef(0);let d,c;return s[0]!==o||s[1]!==e||s[2]!==t?(d=()=>{const m=p=>{p.dataTransfer?.types.includes("Files")&&(p.preventDefault(),a.current=a.current+1,i(!0))},f=p=>{p.preventDefault(),a.current=Math.max(0,a.current-1),a.current===0&&i(!1)},l=Ju,u=p=>{if(p.preventDefault(),a.current=0,i(!1),!o||!t||!nn(t))return;const g=p.dataTransfer?.files;if(!g||g.length===0)return;const{from:h}=o.state.selection;for(const V of Array.from(g))Qn(o,t,V,h,e)};return window.addEventListener("dragenter",m),window.addEventListener("dragleave",f),window.addEventListener("dragover",l),window.addEventListener("drop",u),()=>{window.removeEventListener("dragenter",m),window.removeEventListener("dragleave",f),window.removeEventListener("dragover",l),window.removeEventListener("drop",u)}},c=[o,t,e],s[0]=o,s[1]=e,s[2]=t,s[3]=d,s[4]=c):(d=s[3],c=s[4]),k.useEffect(d,c),r}function Ju(t){t.dataTransfer?.types.includes("Files")&&t.preventDefault()}function Zu(t){const e=F.c(11),{selectedModel:s,onUnsupportedFile:o}=t,r=Xu(s,o);let i;e[0]!==s?(i=nn(s),e[0]=s,e[1]=i):i=e[1];const a=i,d=r?"opacity-100":"opacity-0 pointer-events-none",c=a?"border-primary/40 text-primary/70":"border-destructive/30 text-destructive/70";let m;e[2]!==d||e[3]!==c?(m=W("absolute inset-0 z-20 rounded-xl flex flex-col items-center justify-center gap-2 bg-muted border-2 border-dashed transition-opacity",d,c),e[2]=d,e[3]=c,e[4]=m):m=e[4];let f;e[5]!==s||e[6]!==a?(f=a?n.jsxs(n.Fragment,{children:[n.jsx(gi,{size:24}),n.jsxs("span",{className:"text-sm font-medium",children:["Drop ",lo(s)," here"]})]}):n.jsxs(n.Fragment,{children:[n.jsx(Js,{size:24}),n.jsx("span",{className:"text-sm font-medium",children:"This model can't read attachments — switch to one with vision or file support"})]}),e[5]=s,e[6]=a,e[7]=f):f=e[7];let l;return e[8]!==m||e[9]!==f?(l=n.jsx("div",{className:m,children:f}),e[8]=m,e[9]=f,e[10]=l):l=e[10],l}function em(){const t=F.c(6),e=ze(),{org:s,locator:o}=le(),{create:r}=qn();let i;return t[0]!==r||t[1]!==o||t[2]!==e||t[3]!==s.id||t[4]!==s.slug?(i=async a=>{const{tiptapDoc:d,virtualMcp:c}=a,m=crypto.randomUUID(),f=c?.id??$n(s.id).id;Fr(sessionStorage,o,m,{tiptapDoc:d});try{await r({id:m,virtual_mcp_id:f})}catch{}const l={virtualmcpid:f,autosend:Or};e({to:"/$org/$taskId",params:{org:s.slug,taskId:m},search:l})},t[0]=r,t[1]=o,t[2]=e,t[3]=s.id,t[4]=s.slug,t[5]=i):i=t[5],i}function tm({onOpenContextPanel:t,showConnectionsBanner:e=!1}){const s=qs(),o=Lr(),r=s?.messages??[],i=s?.isStreaming??!1,a=s?.isRunInProgress??!1,d=s?.stop??(()=>{}),c=o?.taskId??"",m=em(),{selectedModel:f,selectedVirtualMcp:l,isModelsLoading:u,tiptapDocRef:p,imageModel:g,deepResearchModel:h,chatMode:V,setChatMode:v}=Le(),{data:b}=Wt.useSession(),y=b?.user?.id,{org:S}=le(),_=$n(S.id).id,w=Ks(l?.id??_),j=Rn(as),[x,A]=k.useState(!1),{unsupportedFile:P,onUnsupportedFile:R,clearUnsupportedFile:I}=xd(),C=Ku(),N=k.useRef(void 0),D=async()=>{N.current=M,await C.startRecording();const X=C.status==="recording"?"started":C.status==="unsupported"?"unsupported":C.status==="permission-denied"?"permission_denied":"unknown";Y("chat_voice_started",{thread_id:c,outcome:X})},L=()=>{Y("chat_voice_confirmed",{thread_id:c});const X=C.stopRecording();K.current?.syncVoiceText(N.current,X),K.current?.focus()},E=()=>{Y("chat_voice_cancelled",{thread_id:c}),C.cancelRecording(),K.current?.restoreContent(N.current)};k.useEffect(()=>{if(C.status!=="recording")return;const X=(C.transcript+(C.interimTranscript?" "+C.interimTranscript:"")).trim();K.current?.syncVoiceText(N.current,X)},[C.transcript,C.interimTranscript,C.status]);const T=o?.activeTask??null,[M,$]=k.useState(void 0),U=X=>{$(X),p.current=X},B=k.useRef(c);B.current!==c&&(B.current=c,$(void 0),p.current=void 0);const z=[...r].reverse().find(X=>X.role==="assistant")?.metadata?.modelLimits?.contextWindow??f?.limits?.contextWindow,K=k.useRef(null),q=V==="plan";k.useEffect(()=>{const X=ae=>{Jr(ae)&&ae.code==="KeyL"&&(ae.preventDefault(),ae.shiftKey&&v(V==="plan"?"default":"plan"),K.current?.focus())};return document.addEventListener("keydown",X),()=>document.removeEventListener("keydown",X)},[V,v]);const J=ai(r),G=[...r].reverse().find(X=>X.role==="assistant"&&X.metadata?.usage)?.metadata?.usage,Z=G?.contextTokens??(G?.totalTokens??0)-(G?.reasoningTokens??0),ee=Rn(as),te=!i&&!u&&!ul(M),se=i||a,Q=X=>{X?.preventDefault(),i?(Y("chat_message_stopped",{thread_id:c}),d()):a?(Y("chat_message_stopped",{thread_id:c}),d()):te&&M&&(Y("chat_message_sent",{thread_id:c||null,mode:V,model_id:f?.modelId??null,model_provider:f?.providerId??null,virtual_mcp_id:l?.id??null,submission:X?"button_or_enter":"programmatic"}),ee(),s?s.sendMessage(M):m({tiptapDoc:M,virtualMcp:l}),U(void 0))};return y&&T?.created_by&&T.created_by!==y?n.jsxs("div",{className:"flex w-full items-center gap-2 px-3 py-2.5 rounded-xl border border-border bg-muted/40 text-muted-foreground",children:[n.jsx(Js,{size:14,className:"shrink-0"}),n.jsx("span",{className:"text-sm",children:"Read only — you're viewing someone else's thread"})]}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex flex-col w-full justify-end",children:n.jsxs("div",{className:"relative rounded-2xl w-full flex flex-col",children:[e&&n.jsx("div",{className:"absolute inset-0 rounded-2xl pointer-events-none bg-muted/50"}),s&&o&&n.jsx(sn,{}),n.jsx(Pu,{tiptapDoc:M,setTiptapDoc:U,disabled:i,enterToSubmit:!0,onSubmit:Q,children:n.jsxs("form",{onSubmit:Q,className:W("w-full relative rounded-2xl min-h-[110px] md:min-h-[130px] flex flex-col bg-background dark:bg-muted card-shadow overflow-hidden"),children:[n.jsx(Zu,{selectedModel:f,onUnsupportedFile:R}),n.jsx("div",{className:"group/input relative flex flex-col gap-2 flex-1",children:n.jsx(Eu,{ref:K,disabled:i||C.status==="recording",virtualMcpId:l?.id??_,showFileUploader:!0,selectedModel:f,onUnsupportedFile:R})}),n.jsx("div",{className:"@container/chat-bottom flex items-center justify-between p-2.5 gap-1",children:C.status==="recording"?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex-1"}),n.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[n.jsx(Hu,{data:C.waveformData.slice(0,28)}),n.jsx("button",{type:"button",onClick:E,className:"flex items-center justify-center size-8 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors","aria-label":"Cancel recording",children:n.jsx(ft,{size:16})}),n.jsx("button",{type:"button",onClick:L,className:"flex items-center justify-center size-8 rounded-lg bg-foreground text-background hover:opacity-80 transition-opacity","aria-label":"Use transcription",children:n.jsx(He,{size:16})})]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[n.jsx($u,{disabled:i,onOpenConnections:()=>{Y("connections_dialog_opened",{source:"tools_popover",mode:"add"}),A(!0)},virtualMcpId:l?.id??_,selectedModel:f,isStreaming:i,onUnsupportedFile:R}),q&&n.jsxs("button",{type:"button",onClick:()=>{j(),Y("chat_mode_changed",{from_mode:"plan",to_mode:"default",source:"pill_dismiss"}),v("default")},title:"Plan mode","aria-label":"Plan mode",className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 group min-w-0 shrink animate-in fade-in duration-200",children:[n.jsx(Gs,{size:14,className:"shrink-0"}),n.jsx("span",{className:"min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0 @[320px]/chat-bottom:max-w-32 @[320px]/chat-bottom:opacity-100",children:"Plan mode"}),n.jsx(ft,{size:14,className:"shrink-0 hidden group-hover:block group-disabled:hidden"})]}),V==="gen-image"&&g&&n.jsxs("button",{type:"button",disabled:i,onClick:()=>{j(),Y("chat_mode_changed",{from_mode:"gen-image",to_mode:"default",source:"pill_dismiss"}),v("default")},title:"Create image","aria-label":"Create image",className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-pink-600 dark:text-pink-400 hover:bg-pink-500/10 group min-w-0 shrink animate-in fade-in duration-200 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent",children:[n.jsx(Xs,{size:14,className:"shrink-0"}),n.jsx("span",{className:"min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0 @[320px]/chat-bottom:max-w-[120px] @[320px]/chat-bottom:opacity-100",children:"Create image"}),n.jsx(ft,{size:14,className:"shrink-0 hidden group-hover:block group-disabled:hidden"})]}),V==="web-search"&&h&&n.jsxs("button",{type:"button",disabled:i,onClick:()=>{j(),Y("chat_mode_changed",{from_mode:"web-search",to_mode:"default",source:"pill_dismiss"}),v("default")},title:"Web search","aria-label":"Web search",className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-500/10 group min-w-0 shrink animate-in fade-in duration-200 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent",children:[n.jsx(gt,{size:14,className:"shrink-0"}),n.jsx("span",{className:"min-w-0 truncate transition-[max-width,opacity] duration-200 ease-out max-w-0 opacity-0 @[320px]/chat-bottom:max-w-[120px] @[320px]/chat-bottom:opacity-100",children:"Web search"}),n.jsx(ft,{size:14,className:"shrink-0 hidden group-hover:block group-disabled:hidden"})]}),z&&Z>0&&n.jsx(li,{usage:J,totalTokens:Z,contextWindow:z,onOpenContextPanel:t})]}),n.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[n.jsx(ld,{orgId:S.id,orgSlug:S.slug,userId:y??"",virtualMcp:w,sandboxMap:w?.metadata?.sandboxMap,currentBranch:o?.currentBranch??null,onBranchChange:o?.setCurrentTaskBranch??(()=>{})}),n.jsx(md,{}),C.isSupported&&n.jsx(ne,{type:"button",onClick:D,disabled:i||a,variant:"ghost",size:"icon",className:W("size-8 rounded-lg transition-colors",C.status==="permission-denied"?"text-destructive hover:text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground"),title:C.status==="permission-denied"?"Microphone access denied — click to try again":"Voice input",children:n.jsx(Tr,{size:18})}),n.jsx(ne,{type:se?"button":"submit",onClick:X=>{se&&(X.preventDefault(),X.stopPropagation(),d())},variant:te||se?"default":"ghost",size:"icon",disabled:!te&&!se,className:W("size-8 rounded-lg transition-all",!te&&!se&&"bg-muted text-muted-foreground hover:bg-muted hover:text-muted-foreground cursor-not-allowed"),title:i?"Stop generating":a?"Cancel run":"Send message (Enter)",children:se?n.jsx(Rr,{size:20}):n.jsx(Vi,{size:20})})]})]})})]})},c),e&&n.jsx(qu,{onClick:()=>{Y("connections_banner_clicked",{source:"home_chat_input"}),Y("connections_dialog_opened",{source:"home_banner",mode:"add"}),A(!0)}})]})}),n.jsx(Va,{mode:"browse",open:x,onOpenChange:A,defaultTab:"all"}),n.jsx(hd,{info:P,onClose:I})]})}const nm={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]};function Go(t){return`deco-credits-empty-dismissed:${t}`}function Rf(t){try{return localStorage.getItem(Go(t))==="1"}catch{return!1}}function sm(){const t=F.c(50),{org:e}=le(),s=ze(),{decoKeyId:o}=Io();let r;t[0]!==e.id||t[1]!==e.slug?(r={connectionId:Xe,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=r):r=t[2];const i=he(r),[a,d]=k.useState(!0),[c,m]=k.useState(""),[f,l]=k.useState(!1),[u,p]=k.useState("usd"),g=u==="brl"?"R$":"$";let h;t[3]!==e.id?(h=()=>{Y("credits_empty_state_dismissed",{organization_id:e.id}),d(!1);try{localStorage.setItem(Go(e.id),"1")}catch{}},t[3]=e.id,t[4]=h):h=t[4];const V=h;let v,b;t[5]!==a||t[6]!==e.id?(v=()=>{a&&Y("credits_empty_state_shown",{organization_id:e.id})},b=[a,e.id],t[5]=a,t[6]=e.id,t[7]=v,t[8]=b):(v=t[7],b=t[8]),k.useEffect(v,b);let y;t[9]!==i||t[10]!==u?(y=async B=>{const O=await i.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:B,currency:u}});if(O?.isError)throw new Error(O.content?.[0]?.text??"Failed to get top-up URL");return O.structuredContent?.url},t[9]=i,t[10]=u,t[11]=y):y=t[11];let S;t[12]!==V?(S=B=>{B&&window.open(B,"_blank","noopener,noreferrer"),V()},t[12]=V,t[13]=S):S=t[13];let _;t[14]!==y||t[15]!==S?(_={mutationFn:y,onSuccess:S,onError:rm},t[14]=y,t[15]=S,t[16]=_):_=t[16];const{mutate:w,isPending:j}=Yt(_),x=parseFloat(c),A=!isNaN(x)&&x>=1;if(!a)return null;let P;t[17]!==V?(P=B=>!B&&V(),t[17]=V,t[18]=P):P=t[18];let R;t[19]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("div",{className:"absolute inset-x-0 top-0 h-24 bg-gradient-to-b from-amber-500/8 to-transparent pointer-events-none rounded-t-lg"}),t[19]=R):R=t[19];let I;t[20]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-100 dark:bg-amber-900/40 border border-amber-200/60 dark:border-amber-800/40 mx-auto",children:n.jsx(Bs,{size:20,className:"text-amber-600 dark:text-amber-400"})}),t[20]=I):I=t[20];let C;t[21]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsxs("div",{className:"relative px-6 pt-7 pb-5",children:[R,n.jsxs(Se,{className:"relative gap-3",children:[I,n.jsxs("div",{className:"text-center",children:[n.jsx(ke,{className:"text-lg font-semibold",children:"This workspace has no credits"}),n.jsx(Gt,{className:"mt-2 text-[13px] leading-relaxed max-w-[320px] mx-auto",children:"Your free credits were used in another workspace. Add credits to use AI here."})]})]})]}),t[21]=C):C=t[21];let N;t[22]!==u||t[23]!==g||t[24]!==c||t[25]!==x||t[26]!==o||t[27]!==A||t[28]!==j||t[29]!==f||t[30]!==w?(N=o&&n.jsxs("div",{className:"px-6 pb-5",children:[n.jsx("div",{className:"mb-4",children:n.jsxs(ro,{type:"single",variant:"outline",size:"sm",value:u,onValueChange:B=>{B&&p(B)},children:[n.jsx(Ut,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),n.jsx(Ut,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),n.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:nm[u].map(B=>{const{dollars:O,label:z}=B;return n.jsxs("button",{type:"button",disabled:j,onClick:()=>{Y("credits_topup_clicked",{amount_cents:O*100,currency:u,tier_label:z,source:"empty_state"}),w(O*100)},className:W("relative flex flex-col items-center gap-1 py-6 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[n.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[g,O]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:z})]},O)})}),f?n.jsxs("div",{className:"flex gap-2 mt-3",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:g}),n.jsx(ye,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:B=>m(B.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),n.jsx(ne,{className:"h-10",disabled:!A||j,onClick:()=>{Y("credits_topup_clicked",{amount_cents:Math.round(x*100),currency:u,tier_label:"custom",source:"empty_state"}),w(Math.round(x*100))},children:j?"Opening...":"Add"})]}):n.jsx("button",{type:"button",className:"w-full mt-2.5 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>l(!0),children:"Enter custom amount"})]}),t[22]=u,t[23]=g,t[24]=c,t[25]=x,t[26]=o,t[27]=A,t[28]=j,t[29]=f,t[30]=w,t[31]=N):N=t[31];let D;t[32]!==V||t[33]!==s||t[34]!==e.slug?(D=()=>{s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),V()},t[32]=V,t[33]=s,t[34]=e.slug,t[35]=D):D=t[35];let L;t[36]===Symbol.for("react.memo_cache_sentinel")?(L=n.jsx(oo,{size:12,className:"transition-transform duration-150 group-hover:translate-x-0.5"}),t[36]=L):L=t[36];let E;t[37]!==D?(E=n.jsxs("button",{type:"button",className:"group flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:D,children:["Use your own provider",L]}),t[37]=D,t[38]=E):E=t[38];let T;t[39]!==V?(T=n.jsx(ne,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:V,children:"Skip for now"}),t[39]=V,t[40]=T):T=t[40];let M;t[41]!==E||t[42]!==T?(M=n.jsxs("div",{className:"px-6 py-3.5 border-t border-border bg-muted/30 flex items-center justify-between",children:[E,T]}),t[41]=E,t[42]=T,t[43]=M):M=t[43];let $;t[44]!==N||t[45]!==M?($=n.jsxs(Ae,{className:"sm:max-w-[500px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:om,children:[C,N,M]}),t[44]=N,t[45]=M,t[46]=$):$=t[46];let U;return t[47]!==$||t[48]!==P?(U=n.jsx(je,{open:!0,onOpenChange:P,children:$}),t[47]=$,t[48]=P,t[49]=U):U=t[49],U}function om(t){return t.preventDefault()}function rm(t){oe.error(`Top-up failed: ${t.message}`)}function im(t){const e=F.c(6),{balanceDollars:s}=t;let o;e[0]!==s?(o=s.toFixed(2),e[0]=s,e[1]=o):o=e[1];const r=o;let i,a;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=W("inline-flex items-center gap-1.5 px-3 py-1 rounded-full","bg-emerald-50 dark:bg-emerald-950/30","border border-emerald-200/60 dark:border-emerald-800/40","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),a=n.jsx(Bs,{size:13,className:"text-emerald-600 dark:text-emerald-400"}),e[2]=i,e[3]=a):(i=e[2],a=e[3]);let d;return e[4]!==r?(d=n.jsxs("div",{className:i,children:[a,n.jsxs("span",{className:"text-xs font-medium text-emerald-700 dark:text-emerald-300 tabular-nums",children:["$",r," in credits to get started"]})]}),e[4]=r,e[5]=d):d=e[5],d}function am(){const t=F.c(8),{org:e}=le(),s=ze();let o;t[0]!==s||t[1]!==e.slug?(o=()=>s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),t[0]=s,t[1]=e.slug,t[2]=o):o=t[2];let r,i,a;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=W("inline-flex items-center gap-1.5 px-3 py-1 rounded-full cursor-pointer","bg-amber-50 dark:bg-amber-950/30","border border-amber-200/60 dark:border-amber-800/40","hover:bg-amber-100/60 dark:hover:bg-amber-900/30","transition-colors duration-150","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),i=n.jsx(Zs,{size:13,className:"text-amber-600 dark:text-amber-400"}),a=n.jsx("span",{className:"text-xs font-medium text-amber-700 dark:text-amber-300",children:"No credits remaining · Add more"}),t[3]=r,t[4]=i,t[5]=a):(r=t[3],i=t[4],a=t[5]);let d;return t[6]!==o?(d=n.jsxs("button",{type:"button",onClick:o,className:r,children:[i,a]}),t[6]=o,t[7]=d):d=t[7],d}function lm(t){const e=F.c(11),{className:s}=t;let o;e[0]!==s?(o=W("flex h-full w-full flex-col bg-background",s),e[0]=s,e[1]=o):o=e[1];let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"size-6 rounded-lg bg-muted animate-pulse"}),e[2]=r):r=e[2];let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsxs("div",{className:"flex items-center gap-3",children:[r,n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("div",{className:"h-3.5 w-28 rounded bg-muted animate-pulse"}),n.jsx("div",{className:"h-3 w-40 rounded bg-muted/60 animate-pulse"})]})]}),e[3]=i):i=e[3];let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"flex items-center h-12 flex-none border-b border-border/80 px-4",children:n.jsxs("div",{className:"flex items-center justify-between gap-3 w-full",children:[i,n.jsxs("div",{className:"flex items-end gap-2",children:[n.jsx("div",{className:"h-6 w-6 rounded-full bg-muted animate-pulse"}),n.jsx("div",{className:"h-6 w-6 rounded-lg bg-muted animate-pulse"})]})]})}),e[4]=a):a=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("div",{className:"flex-1 overflow-hidden px-4 py-4",children:n.jsxs("div",{className:"mx-auto flex w-full max-w-2xl flex-col gap-4",children:[n.jsx(Dt,{align:"right",width:"w-3/4"}),n.jsx(Dt,{align:"left",width:"w-full",lines:3}),n.jsx(Dt,{align:"right",width:"w-2/3"}),n.jsx(Dt,{align:"left",width:"w-5/6",lines:2})]})}),e[5]=d):d=e[5];let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"relative flex flex-1 flex-col gap-2 p-2.5",children:n.jsx("div",{className:"relative flex-1",children:n.jsxs("div",{className:"space-y-2 p-2",children:[n.jsx("div",{className:"h-3 w-full rounded bg-muted/40 animate-pulse"}),n.jsx("div",{className:"h-3 w-4/5 rounded bg-muted/40 animate-pulse"})]})})}),e[6]=c):c=e[6];let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("div",{className:"flex items-center gap-1",children:n.jsx("div",{className:"size-8 rounded-full bg-muted/60 animate-pulse"})}),e[7]=m):m=e[7];let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx("div",{className:"px-4 py-4",children:n.jsx("div",{className:"mx-auto w-full max-w-2xl",children:n.jsxs("div",{className:"relative flex min-h-[130px] flex-col rounded-xl bg-background card-shadow",children:[c,n.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-2.5",children:[m,n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("div",{className:"h-8 w-32 rounded-lg bg-muted/60 animate-pulse"}),n.jsx("div",{className:"size-8 rounded-full bg-muted animate-pulse"})]})]})]})})}),e[8]=f):f=e[8];let l;return e[9]!==o?(l=n.jsxs("div",{className:o,children:[a,d,f]}),e[9]=o,e[10]=l):l=e[10],l}function Dt(t){const e=F.c(22),{align:s,width:o,lines:r}=t,i=o===void 0?"w-full":o,a=r===void 0?1:r,d=s==="right"?"flex-row-reverse":"flex-row";let c;e[0]!==d?(c=W("flex w-full gap-4 px-4 py-2",d),e[0]=d,e[1]=c):c=e[1];const m=s==="right"?"ml-auto max-w-3/4 items-end":"w-full items-start";let f;e[2]!==m?(f=W("flex min-w-0 flex-col gap-2",m),e[2]=m,e[3]=f):f=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("div",{className:"h-3 w-16 rounded bg-muted/40 animate-pulse"}),e[4]=l):l=e[4];const u=s==="right"?"bg-muted":"bg-transparent border border-border/40";let p;e[5]!==u||e[6]!==i?(p=W("min-w-0 rounded-2xl p-4",u,i),e[5]=u,e[6]=i,e[7]=p):p=e[7];let g;e[8]!==a?(g=Array.from({length:a}),e[8]=a,e[9]=g):g=e[9];let h;e[10]!==a||e[11]!==g?(h=n.jsx("div",{className:"space-y-2",children:g.map((y,S)=>n.jsx("div",{className:W("h-3 rounded bg-muted-foreground/20 animate-pulse",S===a-1?"w-3/4":"w-full"),style:{animationDelay:`${S*.1}s`}},S))}),e[10]=a,e[11]=g,e[12]=h):h=e[12];let V;e[13]!==h||e[14]!==p?(V=n.jsx("div",{className:p,children:h}),e[13]=h,e[14]=p,e[15]=V):V=e[15];let v;e[16]!==V||e[17]!==f?(v=n.jsxs("div",{className:f,children:[l,V]}),e[16]=V,e[17]=f,e[18]=v):v=e[18];let b;return e[19]!==v||e[20]!==c?(b=n.jsx("div",{className:c,children:v}),e[19]=v,e[20]=c,e[21]=b):b=e[21],b}function cm(t){const e=F.c(7),{scrollRef:s,sentinelRef:o,hasMoreOlder:r,isFetchingOlder:i,fetchOlderMessages:a}=t;let d,c;e[0]!==a||e[1]!==r||e[2]!==i||e[3]!==s||e[4]!==o?(d=()=>{const m=o.current,f=s.current;if(!m||!f||!r)return;const l=new IntersectionObserver(async u=>{if(!u[0]?.isIntersecting||i||!r)return;const g=f.scrollHeight,h=f.scrollTop;await a(),requestAnimationFrame(()=>{const V=f.scrollHeight;f.scrollTop=h+(V-g)})},{root:f,rootMargin:"200px 0px 0px 0px"});return l.observe(m),()=>l.disconnect()},c=[s,o,r,i,a],e[0]=a,e[1]=r,e[2]=i,e[3]=s,e[4]=o,e[5]=d,e[6]=c):(d=e[5],c=e[6]),k.useEffect(d,c)}function dm(t){const e=F.c(5),{className:s,children:o}=t;let r;e[0]!==s?(r=W("flex flex-col h-full w-full bg-background transform-[translateZ(0)]",s),e[0]=s,e[1]=r):r=e[1];let i;return e[2]!==o||e[3]!==r?(i=n.jsx("div",{className:r,children:o}),e[2]=o,e[3]=r,e[4]=i):i=e[4],i}function um(t){const e=F.c(5),{children:s,className:o}=t;let r;e[0]!==o?(r=W("flex-1 min-h-0 overflow-y-auto isolate",o),e[0]=o,e[1]=r):r=e[1];let i;return e[2]!==s||e[3]!==r?(i=n.jsx("div",{className:r,children:s}),e[2]=s,e[3]=r,e[4]=i):i=e[4],i}function mm(t){const e=F.c(2),{children:s}=t;let o;return e[0]!==s?(o=n.jsx("div",{className:"min-h-full shrink-0 w-full flex items-center justify-center max-w-2xl mx-auto py-10",children:s}),e[0]=s,e[1]=o):o=e[1],o}function fm(){const t=F.c(27),{messages:e,status:s,hasMoreOlder:o,isFetchingOlder:r,fetchOlderMessages:i}=jt(),a=ci(e);let d;t[0]!==a?(d=a.at(-1),t[0]=a,t[1]=d):d=t[1];const c=d,f=Pl()*yl+16,l=k.useRef(null),u=k.useRef(null);let p;t[2]!==i||t[3]!==o||t[4]!==r?(p={scrollRef:l,sentinelRef:u,hasMoreOlder:o,isFetchingOlder:r,fetchOlderMessages:i},t[2]=i,t[3]=o,t[4]=r,t[5]=p):p=t[5],cm(p);let g;t[6]!==f?(g={paddingBottom:f},t[6]=f,t[7]=g):g=t[7];let h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("div",{ref:u,"aria-hidden":!0,className:"h-px"}),t[8]=h):h=t[8];let V;t[9]!==r?(V=r&&n.jsx("div",{className:"flex items-center justify-center py-3 text-xs text-muted-foreground",children:"Loading older messages…"}),t[9]=r,t[10]=V):V=t[10];let v;if(t[11]!==a||t[12]!==s){let _;t[14]!==a.length||t[15]!==s?(_=(w,j)=>n.jsx(ts,{pair:w,isLastPair:!1,status:j===a.length-1?s:void 0},`pair-${w.user.id}`),t[14]=a.length,t[15]=s,t[16]=_):_=t[16],v=a.slice(0,-1).map(_),t[11]=a,t[12]=s,t[13]=v}else v=t[13];let b;t[17]!==V||t[18]!==v?(b=n.jsxs("div",{className:"flex flex-col min-w-0 max-w-2xl mx-auto w-full",children:[h,V,v]}),t[17]=V,t[18]=v,t[19]=b):b=t[19];let y;t[20]!==c||t[21]!==s?(y=c&&n.jsx("div",{className:"min-h-full min-w-0 max-w-2xl mx-auto w-full",children:n.jsx(ts,{pair:c,isLastPair:!0,status:s},`pair-${c?.user.id}`)}),t[20]=c,t[21]=s,t[22]=y):y=t[22];let S;return t[23]!==g||t[24]!==b||t[25]!==y?(S=n.jsxs("div",{ref:l,"data-chat-scroller":!0,className:"w-full min-w-0 max-w-full overflow-y-auto h-full overflow-x-hidden",style:g,children:[b,y]}),t[23]=g,t[24]=b,t[25]=y,t[26]=S):S=t[26],S}function pm(t){const e=F.c(5),{children:s,className:o}=t;let r;e[0]!==o?(r=W("flex-none w-full mx-auto p-2 pt-0","max-w-2xl min-w-0",o),e[0]=o,e[1]=r):r=e[1];let i;return e[2]!==s||e[3]!==r?(i=n.jsx("div",{className:r,children:s}),e[2]=s,e[3]=r,e[4]=i):i=e[4],i}const Pf=Object.assign(dm,{Main:um,Messages:fm,EmptyState:mm,Footer:pm,Input:tm,Provider:Ur,ActiveTaskProvider:$r,Skeleton:lm,IceBreakers:vl,NoAiProviderEmptyState:Ai,CreditsEmptyState:sm,CreditsEyebrow:im,NoCreditsEyebrow:am,CreditsExhaustedBanner:To});export{Va as A,Pf as C,Af as Q,yf as S,Cf as T,ge as a,Io as b,Bc as c,Tf as d,dd as e,Pu as f,Eu as g,kf as h,If as i,_f as j,Sf as k,wf as l,jf as m,Ka as n,td as r,zc as s,ud as t,Nf as u,Rf as w};
|