elanous 0.2.38 → 0.2.40
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/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/{RrjXTwz-urRAbChP1bX02 → HjeK7zONHfR7op1hKXp4k}/_buildManifest.js +1 -1
- package/apps/pwa/out/_next/static/chunks/{7954.4f7a8832663ee979.js → 1060.014f1f01a17aec26.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{8911.bf5e712acb25fb6c.js → 1281.d81877e35b9068f4.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{2104.70e086d5174a4736.js → 1350.59f40e39e02d91b1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1415.79821ec7ae99acdb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1452.162bb2d9d699e82a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/147.f92f63bbc5e85fa5.js +286 -0
- package/apps/pwa/out/_next/static/chunks/1537-6bb97b5214928ea9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1661.fb425a1d8a065b72.js +149 -0
- package/apps/pwa/out/_next/static/chunks/1671-1c22b40b50b208f2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1758.0204d3f48783c49d.js +90 -0
- package/apps/pwa/out/_next/static/chunks/1806.027bf78b6a94d340.js +104 -0
- package/apps/pwa/out/_next/static/chunks/2047.8f23e210995d4548.js +2 -0
- package/apps/pwa/out/_next/static/chunks/2061-7f2bbc53ae96c88b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1632.7d87f998e714bede.js → 2066.a77257c8c350770a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2096-a938496bc996dcbd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8019.21ca554a821dad01.js → 2177.df8547f9d7215c4e.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/2200-9a453b8f99687d49.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3528.e4b8ab70d339f965.js → 2226.2cf61ec781827219.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/2281-b8cede695c6c650e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6493.27ad77de7aac7966.js → 2499.02fbfd18126c10c0.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{7628.6b16863ac3972333.js → 2522.f2766b76d22c8bdf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{3086.fb14b60ce98b53d3.js → 2566.beaffc3a5e1fcd2e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9299.24e2a7d9b6d1f91b.js → 261.0d471e8aded799f3.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/2615.3c9738153de3ef3f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2727.e703d99ac414916d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2752.7904b8df0254d0ae.js +27 -0
- package/apps/pwa/out/_next/static/chunks/2762-5051a862dfa40e99.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2767-31784bfedf8e245d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2774-719820e3f5b2a3eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2812-f016aa0dda149287.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2829-734fe8bf2eee7347.js +1 -0
- package/apps/pwa/out/_next/static/chunks/311-32dcac79970985e8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3175-f93f7495cd28253c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3184.8da993f5502d2140.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3231-d7c981db0ff8bdcc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3250.151309c5176d6b4b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7524.ce973525d30b3d52.js → 3330.7443183b7e6fdbdf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3517.a5aa1797a9dbf2ee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3567-45f676877ed9e8a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3124-561f7f037943cde2.js → 3746-f80a78f220bf37b5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3819.8a1de79b2e8c7298.js +24 -0
- package/apps/pwa/out/_next/static/chunks/39.9b37b0be4c128a83.js +77 -0
- package/apps/pwa/out/_next/static/chunks/{bb6987f9.3647e1a23b0e3217.js → 3b355b3d.6f73c98bf6f9c749.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4023.a19045970a9ce16a.js +36 -0
- package/apps/pwa/out/_next/static/chunks/{8994d93e.33ba491f95345fc2.js → 409c787b.e48c5bec8ec10456.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{5041-5aada92ca215ffdd.js → 413-24c8284bda08241d.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4135.e45d6ebc29e20647.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4283.65502f5d0e6ff6c0.js +287 -0
- package/apps/pwa/out/_next/static/chunks/4305-4e28fa92a7b34a5b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4335-50efa61fd7613142.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4351.0f37a6db2b34d50b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5638.107314dc479e2f37.js → 470.51a72a2348306455.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/4720.ecbd1693fa151068.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8487.291666583bebe640.js → 4769.9fd582071301f382.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{8509.3a54d4e61893d7cb.js → 483.725e4a61be922788.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9fe1b809.738da85c8b17e3fb.js → 4864a2ca.1c1c280a7772c5e5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4969-4b209d7307410c00.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5068-c7f53862f83c0917.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5315.bc96711c24dfefe2.js +74 -0
- package/apps/pwa/out/_next/static/chunks/{8879.ac06755bcf3e44a1.js → 5383.bdfa5d886e39a826.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{6142.913b44e260a3f925.js → 5436.fdf6fa8ae3e9588d.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5542.efbf14f16baed4dd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5622.94893f5aea7185d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5644.8f401a25601d05fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5658.35f70eb9871a54bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5721.7bdc0e904c76ab51.js +8 -0
- package/apps/pwa/out/_next/static/chunks/5790-eef0ca20884a6bdf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5802.ef0d8598ca68fe84.js +62 -0
- package/apps/pwa/out/_next/static/chunks/5890.fb974729788dcb71.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5924.5ef25cddd36d5dbf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5979-e59c099ebf8d1f35.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6020.714cfeada2315e2e.js +94 -0
- package/apps/pwa/out/_next/static/chunks/6027-dfe0349d8c50f698.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7161-8f22db3ec5ed005e.js → 6051-0ae955eedb10adb9.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/6178.bc4730c86cf74536.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3291.f6c1005387d514bd.js → 6257.c0037b8949239f5e.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/6273.d808b0dcb3c2b155.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6292.6ef1df64fa6a4c8a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/647-af8dd920ba46533c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6541-170dc5c59e135c0c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6624.981ef7caeb680560.js +32 -0
- package/apps/pwa/out/_next/static/chunks/6742-a1ad4a94ba7bc37a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5203.51e5d8b5f1dcfe53.js → 6749.0744ce6eb08d40e9.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/6836-493dc55c39187949.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6856-53ac421c06039a18.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1938.0e6c60ee91c4d7f5.js → 6908.06008c67f6380ea9.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/6915.096931864206f522.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6925.5e181fb7dcf90193.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{de8b930d.d94c0f42acf807fc.js → 6cc1d1d6.9a98dd4622f1afc6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7203-800e11037adc41eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7219-15bdd9a80661af8e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7279.6170f591105936bb.js +93 -0
- package/apps/pwa/out/_next/static/chunks/7349-373165c7fbdcc3df.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7514-a533ba0ca1cae4f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7515.1ad6efe157fa4448.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7521.d919cc1fab80c1d9.js +24 -0
- package/apps/pwa/out/_next/static/chunks/7538.90e97bbdf9178cff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7611.85f045bf232053ac.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7825-39203196a12579b2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7869.5e1a9a12fd70d6c7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8086.1ab9103c41be884f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8099.1cccf31c1baa7e1c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8179-e61fffbdb70f1152.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8265.bdeb991b34db6a06.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1026-44010f405704050c.js → 8272-025653884f9645d2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{5307.d7328020227880c2.js → 8357.1aaa713b052a78b1.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/8638-e42615f2166165b5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4199-f7c6eb40cd0322f8.js → 8639-92c11d069792429e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8691.54e22831d5e8ccf8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8d173e38.18a2f7b4e1848bdb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9069.657590a84afb8fac.js +41 -0
- package/apps/pwa/out/_next/static/chunks/9125-ae588d88a0293b93.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9175.2de5209a5ce6f68a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9184.45afbf44fec87574.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{eaad0cba.771200940c529df7.js → 9189505a.980427ac048c8c60.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9311.f9f641a46a508611.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9371-a6fee8378ebfa3ee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9421-3aa9ff4fa7f63d8a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9992.07ce73c10bd5e6a1.js +79 -0
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-1b948637c37b3abd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-c63400f1bcf3e47c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-95d0957267819586.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/{page-866aac5ff226a7f3.js → page-ba957ff875a026a0.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-bb6fd0714879cb87.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-8f9038520d2acbef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-d4b48397e05fce2c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-72d5744245dc0c27.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-37625dc8300fa43a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-fbef9d160272dbc1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-58424168df84928e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-72c12ba430ac57c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-d53f3e9ed806d7e0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-4d2fbd45feee0829.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-8783dc0ed7590a2c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-3706cb390606e930.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-9b0a86598e0111fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-4edb8df90f4537ce.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-83d27757e2b8060a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-47398b9ba1cc5e1b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-fb86f55cfe2e681d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-e22345fc8fd47b1b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-fca2e59a81744d9e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-6e96bda63100b31e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-4d17ad8e0db8cea4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-121f92766c33beaa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-43f14212c545f92d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-ccec2023e7a974ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-b04f33f548b89a94.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-c8792823c0917021.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-8c0e32782ceef4cb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-94bd3922eb230ce8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-bca565887bafa03c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-ac1dffafe649fc6c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-52374edb5e23e455.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ad4ebca120d43ca7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-718b89ce4b4ae4e4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-204eca33eeeaddec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-e58ba9bcdb9ac0f9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-98f6dd50bafd7734.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-139d722de1dcd6c1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-5a4bdd72bff27057.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-6f6ab17d44f984ce.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-aabb7bd15fb72da9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-e4322319164a4436.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-e9efc0c8f32e2371.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-ccde99f07aaf71f7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-80464aced9614390.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{b7478fef.5917716286213fcc.js → b84cad00.594027ebe0531fe2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/c696986b.5dc8bb1143af16d1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{b7459770.6539b11860eb8a9c.js → ca3702f8.2913182e73889fa2.js} +7 -7
- package/apps/pwa/out/_next/static/chunks/{3f0de3de-2340c532c00395db.js → d5d3cefc-373c4eb722ed848b.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{89d6c04f-6b8ab341748e468a.js → d8de0de2-dd0f4ac8e5ab1832.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{framework-4b12a946f352cee2.js → framework-002b472a66935d31.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/main-49b88d47292c0476.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-fff2549cb10a133f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-32abbbba3f3b76b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-9d9cfef60c60dd7a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-cc7f483fa294034a.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +22 -22
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +22 -22
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +22 -22
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +21 -21
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +21 -21
- package/apps/pwa/out/ceo/index.html +1 -1
- package/apps/pwa/out/ceo/index.txt +22 -22
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +21 -21
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +22 -22
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +22 -22
- package/apps/pwa/out/decisions/index.html +1 -1
- package/apps/pwa/out/decisions/index.txt +21 -21
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +22 -22
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +22 -22
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +22 -22
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +22 -22
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +21 -21
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +21 -21
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +22 -22
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +22 -22
- package/apps/pwa/out/live-run/index.html +1 -1
- package/apps/pwa/out/live-run/index.txt +22 -22
- package/apps/pwa/out/loops/index.html +1 -1
- package/apps/pwa/out/loops/index.txt +21 -21
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +21 -21
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +21 -21
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +22 -22
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +22 -22
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +21 -21
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +21 -21
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +21 -21
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +21 -21
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +22 -22
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +22 -22
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +21 -21
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +22 -22
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +22 -22
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +22 -22
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +22 -22
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +22 -22
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +21 -21
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +22 -22
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +22 -22
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +22 -22
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +22 -22
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +22 -22
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +22 -22
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +22 -22
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +22 -22
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +22 -22
- package/graphs/demo/persona-marketer/fixtures/marketer-scenario.yaml +10 -0
- package/graphs/demo/persona-marketer/persona-marketer.yaml +25 -0
- package/graphs/demo/persona-marketer/recipes.yaml +19 -0
- package/graphs/video/explainer-line.yaml +4 -1
- package/package.json +1 -1
- package/scripts/dead-code/report.ts +169 -0
- package/scripts/lib/morning-report-options.ts +3 -4
- package/scripts/lib/tui-regress-evidence.ts +56 -0
- package/scripts/morning-report.ts +5 -1
- package/scripts/public-export.ts +15 -7
- package/scripts/release-loop/export-check-node.ts +21 -3
- package/scripts/release-loop/gate-node.ts +379 -48
- package/scripts/release-loop/gate-shard-dispatch.ts +128 -0
- package/scripts/release-loop/gate-shard-receipts.ts +89 -0
- package/scripts/release-loop/gate-wall.ts +5 -5
- package/scripts/release-loop/preflight.ts +6 -2
- package/scripts/release-loop/resume-release.ts +20 -5
- package/scripts/release-loop/resume.ts +48 -0
- package/scripts/release-loop/version-node.ts +7 -2
- package/scripts/release-story/draft.ts +1 -1
- package/scripts/research-bench/README.md +53 -0
- package/scripts/research-bench/questions.json +66 -0
- package/scripts/research-bench/rubric.md +33 -0
- package/scripts/research-bench/run.ts +523 -0
- package/scripts/tui-regress.ts +85 -10
- package/src/acp/core-turn-bridge.ts +8 -0
- package/src/agent/autonomous-tools.ts +10 -3
- package/src/agent/monad-agent-turn.ts +4 -1
- package/src/agent/registry.ts +26 -2
- package/src/agent/shared-app-tools.ts +1 -1
- package/src/agent/surface-ux/build.ts +12 -3
- package/src/agent/surface-ux/types.ts +1 -1
- package/src/agent/task-notification.ts +75 -6
- package/src/agent/types.ts +3 -0
- package/src/agent-mission/driver.ts +29 -3
- package/src/agent-mission/mission-cli.ts +2 -1
- package/src/agent-substrate/review-context-pack.ts +365 -0
- package/src/agent-substrate/self-review-cli.ts +226 -17
- package/src/ask-user-question/index.ts +6 -0
- package/src/ask-user-question/inline-resolver.ts +49 -0
- package/src/auto-research/question-ladder-contract.ts +22 -3
- package/src/auto-research/research-turn.ts +350 -17
- package/src/autopilot/agent-loop.ts +1 -1
- package/src/autopilot/pty-control-loop.ts +8 -1
- package/src/boot/daemon-tools/index.ts +4 -3
- package/src/boot/daemon-tools/self-implement.ts +270 -2
- package/src/boot/daemon-tools/types.ts +2 -0
- package/src/budget/llm-cost.ts +44 -5
- package/src/budget/unified-usage.ts +17 -1
- package/src/capture/tui-self-report.ts +14 -0
- package/src/chat/index.ts +33 -7
- package/src/cli/agent-cli.ts +43 -8
- package/src/cli/intake-cli.ts +22 -1
- package/src/cli/lesson-cli.ts +19 -3
- package/src/cli/log-event-names.ts +1 -0
- package/src/cli/pod-cli.ts +17 -2
- package/src/cli/pty-takeover-cli.ts +67 -7
- package/src/cli/release-cli.ts +52 -6
- package/src/cli/repo-cli.ts +2 -1
- package/src/cli/tasks-cli.ts +36 -9
- package/src/control-plane/ledger.ts +21 -4
- package/src/core-turn/run-core-turn.ts +44 -3
- package/src/core-turn/run-goal-loop.ts +152 -8
- package/src/core-turn/types.ts +9 -0
- package/src/dashboard/chat/acp-chat.ts +2 -2
- package/src/dashboard/classic-sigquit.ts +16 -0
- package/src/dashboard/index.ts +321 -27
- package/src/dashboard/input/chat-main-interaction-opts.ts +3 -0
- package/src/dashboard/input/chat-main-plain-turn-runtime.ts +7 -2
- package/src/dashboard/input/chat-main-slash-command.ts +7 -0
- package/src/dashboard/input/dashboard-plain-turn-stream.ts +4 -0
- package/src/dashboard/input/dashboard-priority-key-route.ts +21 -5
- package/src/dashboard/input/external-input-host.ts +2 -0
- package/src/dashboard/sidetab-runtime.ts +228 -0
- package/src/dashboard/slash-runtime/ask-clarification.ts +7 -1
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +20 -8
- package/src/dashboard/slash-runtime/help-from-registry.ts +2 -2
- package/src/dashboard/term-slash-runtime.ts +16 -18
- package/src/dashboard/turn-preamble.ts +2 -0
- package/src/domains/knowledge.ts +1 -1
- package/src/esc-abort-gate.ts +33 -1
- package/src/execution-loop/launch-gate.ts +206 -1
- package/src/graph-runner/graph-cli.ts +6 -4
- package/src/graph-runner/runner.ts +31 -9
- package/src/graph-wizard/generate.ts +16 -7
- package/src/graph-wizard/mission-compose.ts +201 -0
- package/src/grok/agent-search.ts +8 -2
- package/src/grok/credential.ts +5 -0
- package/src/grounding/ref-index.ts +11 -0
- package/src/grounding/ref-vector.ts +61 -0
- package/src/grounding/sources-cli.ts +2 -2
- package/src/grounding/sources.ts +15 -1
- package/src/harness/harness-cli-command.ts +38 -9
- package/src/harness/harness-pod-dispatch.ts +7 -1
- package/src/index.ts +18 -4
- package/src/input/external-input-queue.ts +10 -0
- package/src/intake-plane/collect-telegram-saved.ts +36 -1
- package/src/intake-plane/intake-to-tasks.ts +246 -3
- package/src/lessons/friction-ledger.ts +154 -0
- package/src/live-supply/collector.ts +149 -0
- package/src/live-supply/probes.ts +52 -0
- package/src/live-supply/snapshot.ts +40 -0
- package/src/llm.ts +431 -76
- package/src/loops/orchestrator/tick.ts +8 -0
- package/src/nexus/api/harness-api.ts +2 -1
- package/src/pty/snapshot.py +132 -0
- package/src/pty-shell/pty-control-ipc.ts +29 -2
- package/src/pty-shell/pty-manifest.ts +59 -3
- package/src/pty-shell/registry.ts +2 -0
- package/src/pty-shell/tui-run-state.ts +80 -3
- package/src/release-loop/gate-host-reservation.ts +13 -4
- package/src/release-loop/gate-shard-ledger.ts +68 -0
- package/src/release-loop/merged-pr-checklist.ts +25 -2
- package/src/release-loop/rehearsal-shard-plan.ts +6 -1
- package/src/release-loop/rehearsal.ts +27 -0
- package/src/research/edge-decision.ts +124 -15
- package/src/research/gap-followup.ts +249 -0
- package/src/research/lenses/counter-evidence.ts +100 -0
- package/src/research/lenses/working-backwards.ts +89 -0
- package/src/research/plugin-discovery.ts +242 -0
- package/src/research-bridge/invoke.ts +4 -2
- package/src/research-bridge/types.ts +2 -0
- package/src/self-dev/ask-launch-flow.ts +34 -106
- package/src/self-dev/dev-cli.ts +2 -0
- package/src/self-dev/dev-pipeline.ts +8 -4
- package/src/self-dev/graph-journey-route.ts +10 -2
- package/src/self-dev/launch-preflight-text.ts +2 -2
- package/src/self-dev/launch-preflight.ts +38 -7
- package/src/self-dev/orchestrate-cli.ts +1 -0
- package/src/self-dev/run-supervisor.ts +19 -0
- package/src/self-implement/device-first.ts +8 -2
- package/src/self-implement/doctor-visit.ts +76 -58
- package/src/self-implement/gate-artifacts.ts +3 -0
- package/src/self-implement/gate-baseline.ts +75 -4
- package/src/self-implement/gate-cli.ts +317 -9
- package/src/self-implement/gate-receipt-registry.ts +180 -0
- package/src/self-implement/gate-remote.ts +145 -22
- package/src/self-implement/goal-author-clarification.ts +178 -24
- package/src/self-implement/goal-author-decompose.ts +24 -15
- package/src/self-implement/goal-author.ts +9 -5
- package/src/self-implement/host-regate.ts +120 -45
- package/src/self-implement/impl-findings-feedback.ts +188 -0
- package/src/self-implement/knowhow-pack.ts +189 -10
- package/src/self-implement/off-diff-evidence.ts +124 -0
- package/src/self-implement/orchestrator.ts +85 -7
- package/src/self-implement/run-ledger.ts +46 -8
- package/src/self-implement/run-stop.ts +12 -0
- package/src/self-implement/seams.ts +6 -3
- package/src/self-implement/self-implement-cli.ts +4 -2
- package/src/session/chat.ts +89 -15
- package/src/session-runtime/provider-circuit.ts +140 -0
- package/src/shell-runner/file-engine.ts +1 -0
- package/src/shell-runner/types.ts +4 -0
- package/src/sidetab-core/model.ts +176 -0
- package/src/skills/tools/schedule-wakeup.ts +23 -1
- package/src/skills/tools/shell.ts +51 -5
- package/src/steward/directive-audit.ts +354 -0
- package/src/surface/child-process.ts +31 -0
- package/src/surface/tui-stderr-owner.ts +48 -0
- package/src/task-agent/cover.ts +30 -12
- package/src/task-agent/judge.ts +56 -0
- package/src/task-agent/postland-card.ts +35 -2
- package/src/task-agent/rejudge-on-head.ts +46 -2
- package/src/task-agent/repair-cycle.ts +1 -1
- package/src/task-agent/task-hand.ts +129 -24
- package/src/task-agent/tier-split.ts +105 -21
- package/src/task-orchestrator/surfaces/pod-command-job.ts +330 -2
- package/src/task-orchestrator/surfaces/pod-config-snapshot.ts +123 -0
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +27 -2
- package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +11 -8
- package/src/task-orchestrator/surfaces/pod-si-warm-protocol.ts +1 -1
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +74 -6
- package/src/task-orchestrator/surfaces/pod-warm-worker-pod.ts +2 -1
- package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +56 -15
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +186 -33
- package/src/tool-runtime/skill-exec-runtime.ts +95 -5
- package/src/tui/entry.ts +15 -2
- package/src/tui/inline-choice.ts +188 -0
- package/src/tui/sidetab/list.ts +2 -176
- package/src/tui/slash/term.ts +12 -1
- package/src/tui-client/dashboard-session.ts +7 -1
- package/src/user-config.ts +34 -4
- package/src/ux-sim/classic-tui-seat-scenarios.ts +1 -7
- package/src/ux-sim/fake-land-queue.ts +88 -0
- package/src/ux-sim/gate-shard-host-reroute.ts +82 -0
- package/src/ux-sim/goal-interim-trace.ts +24 -0
- package/src/ux-sim/next-tui-seat-scenarios.ts +8 -13
- package/src/ux-sim/task-orchestrator-surfaces-self-implement-pod-device.ts +4 -1
- package/src/version/packed-revision.json +1 -1
- package/src/video-pipeline/recipes/explainer.ts +54 -2
- package/src/web-search/grok.ts +32 -6
- package/src/web-search/index.ts +8 -7
- package/src/workflow-runtime/node-catalog.ts +53 -4
- package/apps/pwa/out/_next/static/chunks/1118.a8a74ea29aac3e46.js +0 -27
- package/apps/pwa/out/_next/static/chunks/1204-2aa830479adf80f4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1341-43b7d2dc77d45c9d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1440-c3ea8882badfd9bf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1698-9c11cbf97f13717e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1770-3b1fc92253ef9f2f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1923-5c1695332240246a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/213-20675f20673ba22a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/214.186a430da28338f1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2277.3bd4c0ac7f1b5996.js +0 -93
- package/apps/pwa/out/_next/static/chunks/240.e09f433f71c78ff4.js +0 -104
- package/apps/pwa/out/_next/static/chunks/2415.738b777642a02233.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2417.02151393605a7cd0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2463.cd2641a76daaa9ff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2576.b9e9c629c4b84c52.js +0 -1
- package/apps/pwa/out/_next/static/chunks/265-c021de53f0865bd9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2998-b1cc13956cd6a6e7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2e4782d3.ba2f0ab2b63a53e7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3130.626b54382b4dc379.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3221-1bb3f99a55088613.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3280.24edb1ffd03a7f3f.js +0 -24
- package/apps/pwa/out/_next/static/chunks/3288-eb3c22a1cbf2ae68.js +0 -1
- package/apps/pwa/out/_next/static/chunks/33.ef99e8374f96c6c4.js +0 -36
- package/apps/pwa/out/_next/static/chunks/3341-f09b9efbd7a82f70.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3389.012c70767a872f9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3410-d7c0f14b329d6fda.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3421.c87d6313a7d670f7.js +0 -287
- package/apps/pwa/out/_next/static/chunks/3422-83a3953f9bd67e26.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3587-002e24e368c515a9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3644.f12a7d821ab940af.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3660.d7516588e2d875c3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3695.b82e2610f4cd4ea9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3858.ca1f5bc0f577eac9.js +0 -94
- package/apps/pwa/out/_next/static/chunks/3959-e6ac4a139d9d4bcc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4032.53f62176514ec0ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4204-ef8484cbecd5d62f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4259-163129ca79913c4b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/428-eaa77df3d0c85969.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4432-97e400ffa1e161f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/449-aa427cf2cbb75f50.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4491-39a0fd32bbaf3840.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4588.b7cf06d382953979.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4690.70ec8060825366ab.js +0 -32
- package/apps/pwa/out/_next/static/chunks/4804.6012b5cd33c22792.js +0 -90
- package/apps/pwa/out/_next/static/chunks/4881.e4d22d730e3b9df5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4937.ce2e340dc29cad3e.js +0 -79
- package/apps/pwa/out/_next/static/chunks/5-bb1c08d84bd71df3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5005.de98df23b37cdf3c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5035.dc64a89cad5573cc.js +0 -74
- package/apps/pwa/out/_next/static/chunks/5207.1a224035455790fd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5255-1b60d50eabe9f057.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5269.d0436ee6d773382a.js +0 -286
- package/apps/pwa/out/_next/static/chunks/5300.677c97e0393742e6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5309.3367c4d50f52b489.js +0 -1
- package/apps/pwa/out/_next/static/chunks/552-689827d49780fa00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5539.34cc9d60622cb69b.js +0 -8
- package/apps/pwa/out/_next/static/chunks/5568.218dea0c00ca2ec7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5645.b7e3b055455a04ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5662.18cc0f30353cbd96.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5671.da24fc9dc5e98325.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5b141171.324c40fd49cb6821.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6175-d4621f6a10b0cfab.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6290.3eb53a20746b72ce.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6415-9307f3eafa90837f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6579-3de35d00aacd71b5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/680-2f324c4e039a5b67.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6845-331b3c7481da3ba3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7000.28157393caaf5343.js +0 -62
- package/apps/pwa/out/_next/static/chunks/7311-60a7ea80d23c7521.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7401.525d0a12f7d02c06.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7438.c2cf72b66dca6aa4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7488.966b116789f3d41a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7573.2376e13c9c21f1f8.js +0 -77
- package/apps/pwa/out/_next/static/chunks/7577.ea6e9ac72e035520.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7657.8d1fb3d2f7ebe273.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7903-1435d5d2f0dd7807.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7978-30a91192c5dbe3c2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8025-8795821525cf1a07.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8191.3674a00f0b565c23.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8217-604955d8885c5ef2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8298-eed6f5f2585a63f4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8758.ac421f726a189125.js +0 -1
- package/apps/pwa/out/_next/static/chunks/891.d6c723a51a067b36.js +0 -149
- package/apps/pwa/out/_next/static/chunks/9223.cbcc88e0e9950426.js +0 -41
- package/apps/pwa/out/_next/static/chunks/9317.6a9869039c231bb3.js +0 -24
- package/apps/pwa/out/_next/static/chunks/9383.e4755f275b3c11ff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9581.da63ddf41acfad46.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9715.8c5529a0a5c41a36.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9817.3009d65f0889ef1f.js +0 -2
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76873dd80da4f715.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-ed32b6ec5dea8f23.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-fdd40e15babf3d25.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-384efc78e85e400b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-d91809c5aeed319a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-128f3522f89a81ab.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-595961abf3b43ad1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-f41dccb76d8c0263.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-a3205c2e28b7d0d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-c39a80277814a3f4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-1ab3f98194513195.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-a5246f7e254d77d0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-0f92287bdb81217d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-5a37131ff63793ef.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-76873dd80da4f715.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ac4bd14bb2348bfd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-c348a3959c5b5fc6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-2addd81c0d3e2906.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-da6b765f58a3eefb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-0661e40f8780c32c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-b89af1b1c8e4875b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-da8aeb82ba751cdb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-cc71317b239439db.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-bde7fc1d64ffe369.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-e2797214f713fa58.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-2a35bcda70defaf6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-3af03deedde45032.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-d1d1210f99f620ae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-46d1b5500885861d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-291ab19fe2acb173.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-7f569e533ddeecba.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-990129c9fee46d8f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-7737f785ebb1cdaf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f3c73a4f7ffd2f8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-03be7fb347f01058.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-96b0280625e4df2b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-56855545049eb56d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-76873dd80da4f715.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-79a909c9981f0338.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-a9d9a3e66459c1e0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-c383cbf2013f7069.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-f57c6a2e54dbdca4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-6b140f77593576eb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-6b767ae2d9d0adfc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-116d6198d5da0e3d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-b9c9b778c7501370.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-a6c78392ab8f6335.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-455183deb4ed0cfe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-6a63e99526bd63d0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-31c22caafe788c08.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-941155250ed2644b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-f8b6765abed6d149.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-78432194c85388f9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-cdf7390829512b1b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-d5f0964a9c2e92d2.js +0 -1
- /package/apps/pwa/out/_next/static/{RrjXTwz-urRAbChP1bX02 → HjeK7zONHfR7op1hKXp4k}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9069],{19069:(t,e,a)=>{a.d(e,{diagram:()=>E});var r=a(72375),i=a(4910),n=a(11226),l=a(46238),s=a(96556),o=a(20330),c=a(43250),d={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},g={axes:[],curves:[],options:d},u=structuredClone(g),p=l.UI.radar,x=(0,o.K)(()=>(0,n.$t)({...p,...(0,l.zj)().radar}),"getConfig"),h=(0,o.K)(()=>u.axes,"getAxes"),m=(0,o.K)(()=>u.curves,"getCurves"),$=(0,o.K)(()=>u.options,"getOptions"),f=(0,o.K)(t=>{u.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),y=(0,o.K)(t=>{u.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:v(t.entries)}))},"setCurves"),v=(0,o.K)(t=>{if(void 0==t[0].axis)return t.map(t=>t.value);let e=h();if(0===e.length)throw Error("Axes must be populated before curves for reference entries");return e.map(e=>{let a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),w={getAxes:h,getCurves:m,getOptions:$,setAxes:f,setCurves:y,setOptions:(0,o.K)(t=>{let e=t.reduce((t,e)=>(t[e.name]=e,t),{});u.options={showLegend:e.showLegend?.value??d.showLegend,ticks:e.ticks?.value??d.ticks,max:e.max?.value??d.max,min:e.min?.value??d.min,graticule:e.graticule?.value??d.graticule},u.options.ticks>32&&(s.R.warn(`Radar diagram ticks (${u.options.ticks}) exceeds maximum allowed (32). Using 32 instead.`),u.options.ticks=32)},"setOptions"),getConfig:x,clear:(0,o.K)(()=>{(0,l.IU)(),u=structuredClone(g)},"clear"),setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI},b=(0,o.K)(t=>{(0,r.S)(t,w);let{axes:e,curves:a,options:i}=t;w.setAxes(e),w.setCurves(a),w.setOptions(i)},"populate"),C={parse:(0,o.K)(async t=>{let e=await (0,c.qg)("radar",t);s.R.debug(e),b(e)},"parse")},k=(0,o.K)((t,e,a,r)=>{let n=r.db,l=n.getAxes(),s=n.getCurves(),o=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),g=K((0,i.D)(e),c),u=o.max??Math.max(...s.map(t=>Math.max(...t.entries))),p=o.min,x=Math.min(c.width,c.height)/2;M(g,l,x,o.ticks,o.graticule),L(g,l,x,c),T(g,l,s,p,u,o.graticule,c),I(g,s,o.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),K=(0,o.K)((t,e)=>{let a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return(0,l.a$)(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} ${r}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),M=(0,o.K)((t,e,a,r,i)=>{if("circle"===i)for(let e=0;e<r;e++){let i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===i){let i=e.length;for(let n=0;n<r;n++){let l=a*(n+1)/r,s=e.map((t,e)=>{let a=2*e*Math.PI/i-Math.PI/2,r=l*Math.cos(a),n=l*Math.sin(a);return`${r},${n}`}).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),L=(0,o.K)((t,e,a,r)=>{let i=e.length;for(let n=0;n<i;n++){let l=e[n].label,s=2*n*Math.PI/i-Math.PI/2,o=Math.cos(s),c=Math.sin(s);t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*o).attr("y2",a*r.axisScaleFactor*c).attr("class","radarAxisLine");let d=o>.01?"start":o<-.01?"end":"middle",g=c>.01?"hanging":c<-.01?"auto":"central";t.append("text").text(l).attr("x",a*r.axisLabelFactor*o+4*o).attr("y",a*r.axisLabelFactor*c+4*c).attr("text-anchor",d).attr("dominant-baseline",g).attr("class","radarAxisLabel")}},"drawAxes");function T(t,e,a,r,i,n,l){let s=e.length,o=Math.min(l.width,l.height)/2;a.forEach((e,a)=>{if(e.entries.length!==s)return;let c=e.entries.map((t,e)=>{let a=2*Math.PI*e/s-Math.PI/2,n=A(t,r,i,o);return{x:n*Math.cos(a),y:n*Math.sin(a)}});"circle"===n?t.append("path").attr("d",S(c,l.curveTension)).attr("class",`radarCurve-${a}`):"polygon"===n&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${a}`)})}function A(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function S(t,e){let a=t.length,r=`M${t[0].x},${t[0].y}`;for(let i=0;i<a;i++){let n=t[(i-1+a)%a],l=t[i],s=t[(i+1)%a],o=t[(i+2)%a],c={x:l.x+(s.x-n.x)*e,y:l.y+(s.y-n.y)*e},d={x:s.x-(o.x-l.x)*e,y:s.y-(o.y-l.y)*e};r+=` C${c.x},${c.y} ${d.x},${d.y} ${s.x},${s.y}`}return`${r} Z`}function I(t,e,a,r){if(!a)return;let i=(r.width/2+r.marginRight)*3/4,n=-(3*(r.height/2+r.marginTop))/4;e.forEach((e,a)=>{let r=t.append("g").attr("transform",`translate(${i}, ${n+20*a})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${a}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}(0,o.K)(T,"drawCurves"),(0,o.K)(A,"relativeRadius"),(0,o.K)(S,"closedRoundCurve"),(0,o.K)(I,"drawLegend");var D=(0,o.K)((t,e)=>{let a="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){let i=t[`cScale${r}`];a+=`
|
|
2
|
+
.radarCurve-${r} {
|
|
3
|
+
color: ${i};
|
|
4
|
+
fill: ${i};
|
|
5
|
+
fill-opacity: ${e.curveOpacity};
|
|
6
|
+
stroke: ${i};
|
|
7
|
+
stroke-width: ${e.curveStrokeWidth};
|
|
8
|
+
}
|
|
9
|
+
.radarLegendBox-${r} {
|
|
10
|
+
fill: ${i};
|
|
11
|
+
fill-opacity: ${e.curveOpacity};
|
|
12
|
+
stroke: ${i};
|
|
13
|
+
}
|
|
14
|
+
`}return a},"genIndexStyles"),O=(0,o.K)(t=>{let e=(0,l.P$)(),a=(0,l.zj)(),r=(0,n.$t)(e,a.themeVariables),i=(0,n.$t)(r.radar,t);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),E={parser:C,db:w,renderer:{draw:k},styles:(0,o.K)(({radar:t}={})=>{let{themeVariables:e,radarOptions:a}=O(t);return`
|
|
15
|
+
.radarTitle {
|
|
16
|
+
font-size: ${e.fontSize};
|
|
17
|
+
color: ${e.titleColor};
|
|
18
|
+
dominant-baseline: hanging;
|
|
19
|
+
text-anchor: middle;
|
|
20
|
+
}
|
|
21
|
+
.radarAxisLine {
|
|
22
|
+
stroke: ${a.axisColor};
|
|
23
|
+
stroke-width: ${a.axisStrokeWidth};
|
|
24
|
+
}
|
|
25
|
+
.radarAxisLabel {
|
|
26
|
+
font-size: ${a.axisLabelFontSize}px;
|
|
27
|
+
color: ${a.axisColor};
|
|
28
|
+
}
|
|
29
|
+
.radarGraticule {
|
|
30
|
+
fill: ${a.graticuleColor};
|
|
31
|
+
fill-opacity: ${a.graticuleOpacity};
|
|
32
|
+
stroke: ${a.graticuleColor};
|
|
33
|
+
stroke-width: ${a.graticuleStrokeWidth};
|
|
34
|
+
}
|
|
35
|
+
.radarLegendText {
|
|
36
|
+
text-anchor: start;
|
|
37
|
+
font-size: ${a.legendFontSize}px;
|
|
38
|
+
dominant-baseline: hanging;
|
|
39
|
+
}
|
|
40
|
+
${D(e,a)}
|
|
41
|
+
`},"styles")}},72375:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(20330).K)(r,"populateCommonDb")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9125],{9125:(e,t,n)=>{"use strict";n.d(t,{Yd:()=>j});var a=n(94451),r=n(75699),l=n(64662),o=n(49923),s=n(58993);n(57117),n(30078),n(86752);var i=n(67330),d=n(8447),c=n(93074),u=n(76531),p=n(97528),m=n(28930),x=n(47283);let h={agent:"#3b82f6",gate:"#f59e0b",git:"#10b981",judge:"#a855f7",observe:"#06b6d4",hitl:"#f43f5e",subgraph:"#8b5cf6"},f={pending:"var(--border, #cbd5e1)",running:"#f59e0b",passed:"var(--chart-2, #16a34a)",failed:"var(--destructive, #ef4444)"},g={pending:"대기",running:"도는 중",passed:"통과",failed:"실패"},b={pending:"workflow-node-status",running:"workflow-node-status workflow-node-status-running",passed:"workflow-node-status workflow-node-status-done",failed:"workflow-node-status workflow-node-status-failed"},v=[1,4,16],y={live:function(e){var t;let{data:n}=e;return(0,a.jsxs)("div",{"data-testid":"live-node-".concat(n.label),"data-state":n.state,className:"relative rounded-lg border-2 bg-surface px-3 py-2 shadow-sm transition-opacity duration-300 ".concat(b[n.state]," ").concat("pending"===n.state?n.unrecorded?"opacity-35":"opacity-60":""),style:{width:d.E,height:n.height,borderColor:f[n.state],borderLeft:"5px solid ".concat(null!=(t=h[n.kind])?t:"#64748b"),outline:n.focused?"2px solid var(--accent, #8b5cf6)":void 0,outlineOffset:3},children:[(0,a.jsx)(o.h7,{id:"in",type:"target",position:s.yX.Left,className:"!pointer-events-none !opacity-0"}),(0,a.jsxs)("div",{"data-testid":"live-node-meta-".concat(n.label),className:"flex items-center gap-1 overflow-hidden text-[11px] text-text-tertiary",children:[(0,a.jsx)("span",{className:"truncate",children:"subgraph"===n.kind?"묶음 \xb7 눌러서 펼치기":n.kind}),n.entry&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-success/15 px-1 text-success",children:"시작"}),n.terminal&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-accent/15 px-1 text-accent",children:"끝"}),(0,a.jsx)("span",{"data-state-word":!0,className:"ml-auto shrink-0 font-medium",style:{color:f[n.state]},children:n.unrecorded?"기록 없음":g[n.state]})]}),(0,a.jsx)("div",{className:"overflow-x-auto whitespace-nowrap font-mono text-sm font-semibold text-text-primary",title:n.label,children:(0,m.Fi)(n.label)?"▣ ".concat(n.label.slice(m.EQ.length)):n.label}),(0,a.jsxs)("div",{className:"truncate text-[11px] text-text-tertiary",title:n.recipe,children:[n.recipe," \xb7 최대 ",n.maxVisits,"회"]}),n.visits>1&&(0,a.jsxs)("span",{"data-testid":"visit-badge-".concat(n.label),className:"absolute -right-2 -top-2 rounded-full bg-amber-500 px-1.5 text-xs font-bold text-white shadow",children:["\xd7",n.visits]}),(0,a.jsx)(o.h7,{id:"out",type:"source",position:s.yX.Right,className:"!pointer-events-none !opacity-0"})]})},...x.r},w={live:function(e){let{id:t,data:n,markerEnd:r,style:l}=e;if(!(null==n?void 0:n.route))return null;let{route:s}=n,i=c.Bu[s.family],d="back"===s.kind;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("g",{"data-testid":n.taken?"edge-token-".concat(s.from,"-").concat(s.to):void 0,children:(0,a.jsx)(o.tE,{id:t,path:s.path,markerEnd:r,style:{stroke:i,strokeWidth:n.active?4:n.taken?3:1.5,opacity:n.active||n.taken?1:.22,transition:"opacity 300ms, stroke-width 300ms",...d?{strokeDasharray:"6 4"}:{},...l,...(null==l?void 0:l.stroke)?{opacity:1}:{}}})}),n.active&&(0,a.jsxs)("g",{opacity:null==l?void 0:l.opacity,children:[(0,a.jsx)("circle",{r:7,fill:i,opacity:.25,children:(0,a.jsx)("animateMotion",{dur:"".concat(n.tokenMs,"ms"),fill:"freeze",path:s.path})}),(0,a.jsx)("circle",{r:4.5,fill:i,stroke:"var(--background, #fff)",strokeWidth:1.5,children:(0,a.jsx)("animateMotion",{dur:"".concat(n.tokenMs,"ms"),fill:"freeze",path:s.path})})]},n.tokenKey),s.label&&(0,a.jsx)(o.rV,{children:(0,a.jsx)("div",{className:"nodrag nopan pointer-events-none absolute whitespace-nowrap rounded-full border px-1.5 font-mono text-[11px] leading-4",style:{transform:"translate(-50%, -50%) translate(".concat(s.label.x,"px, ").concat(s.label.y,"px)"),width:s.label.width,textAlign:"center",borderColor:i,color:i,background:"var(--background, #fff)",opacity:n.active||n.taken?1:.35,fontWeight:n.active?700:500,...(null==l?void 0:l.opacity)!==void 0?{opacity:l.opacity}:{}},children:s.label.text})})]})}};function j(e){var t,n,s,x,h,f;let{runId:g,initialFolded:b=!1}=e,j=(0,i.M1)(),N=(0,l.I)({queryKey:["harness-run-traversal",g],queryFn:()=>j.getHarnessRunTraversal(g),refetchInterval:e=>{var t;return(null==(t=e.state.data)?void 0:t.status)==="running"&&4e3}}),k=N.data,M=(0,l.I)({queryKey:["run-graph",null==k?void 0:k.graphId],queryFn:()=>j.getRunGraph(k.graphId),enabled:!!(null==k?void 0:k.graphId),retry:!1,staleTime:6e4}),S=(0,r.useMemo)(()=>{var e;return null!=(e=null==k?void 0:k.steps)?e:[]},[k]),C=(0,r.useMemo)(()=>{var e;if(!k)return null;let t=M.data;return t?(0,p.D6)(t,S):M.isLoading&&k.graphId?null:(0,p.Q)(null!=(e=k.graphId)?e:k.runId,S)},[k,M.data,M.isLoading,S]),[_,I]=(0,r.useState)(()=>new Set),E=(0,r.useMemo)(()=>C?(0,m.S0)(C):[],[C]),T=(0,r.useMemo)(()=>C?(0,m.F8)(C):new Map,[C]),V=(0,r.useRef)(!1);(0,r.useEffect)(()=>{b&&!V.current&&0!==E.length&&(V.current=!0,I(new Set(E)))},[b,E]);let z=(0,r.useMemo)(()=>C?(0,m.ws)(C,_):null,[C,_]),F=(0,r.useMemo)(()=>z?(0,d.h)(z.graph):null,[z]),O=(0,r.useMemo)(()=>z?S.map(e=>({...e,node:z.resolve(e.node)})):S,[z,S]),D=(0,r.useMemo)(()=>{var e;return null!=(e=null==F?void 0:F.edges.map(e=>({id:e.id,from:e.source,to:e.target,outcomes:e.data.route.outcomes})))?e:[]},[F]),B=(null==k?void 0:k.status)==="running",[L,Z]=(0,r.useState)(null),R=null!=L?L:B?"live":"replay",[W,A]=(0,r.useState)(-1),[K,X]=(0,r.useState)(!1),[q,Q]=(0,r.useState)(!1),[P,G]=(0,r.useState)(4),[H,$]=(0,r.useState)(null),[Y,J]=(0,r.useState)(null),[U,ee]=(0,r.useState)(!0),et=(0,r.useRef)(null),en=(0,r.useRef)(null),[ea,er]=(0,r.useState)(0),el=(0,r.useRef)(!1),[eo,es]=(0,r.useState)(()=>window.innerWidth>0?window.innerWidth:1024);(0,r.useEffect)(()=>{let e=()=>es(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let ei=eo<700;(0,r.useEffect)(()=>{k&&!el.current&&0!==S.length&&(el.current=!0,"running"===k.status?(A(S.length-1),X(null===S.at(-1).outcome)):(A(0),X(!0),Q(!0)))},[k,S]),(0,r.useEffect)(()=>{"live"===R&&0!==S.length&&(A(S.length-1),X(null===S.at(-1).outcome))},[R,S]),(0,r.useEffect)(()=>{if("replay"!==R||!q||0===S.length)return;let e=(0,u.bB)(S,W,P),t=window.setTimeout(()=>X(!1),e/2),n=window.setTimeout(()=>{if(W>=S.length-1)return void Q(!1);A(e=>e+1),X(!0)},e);return()=>{window.clearTimeout(t),window.clearTimeout(n)}},[R,q,W,P,S]);let ed=(0,r.useMemo)(()=>new Set(O.map(e=>e.node)),[O]),ec=(0,r.useMemo)(()=>{var e;return(0,u.aZ)(null!=(e=null==F?void 0:F.nodes.map(e=>e.id))?e:[],D,O,W,K)},[F,D,O,W,K]),eu=(0,r.useCallback)(e=>I(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),ep="replay"===R?Math.max(250,.6*(0,u.bB)(S,Math.max(0,W-1),P)):1200,em=(0,r.useMemo)(()=>{var e;return(0,c.d1)((null==F?void 0:F.nodes.some(e=>e.id===Y))?Y:null,null!=(e=null==F?void 0:F.edges.map(e=>({id:e.id,from:e.source,to:e.target})))?e:[])},[Y,F]),ex=(0,r.useMemo)(()=>{if(!F)return[];let e=F.nodes.map(e=>{var t,n;return{...e,type:"live",zIndex:1,...em&&!em.nodes.has(e.id)?{style:{...e.style,opacity:c.zZ.dimNode}}:{},data:{...e.data,state:null!=(t=ec.nodeState[e.id])?t:"pending",visits:null!=(n=ec.visits[e.id])?n:0,focused:H===e.id,unrecorded:!B&&!ed.has(e.id)}}});return[...(0,m.Vc)(F.nodes.map(e=>({id:e.id,position:e.position,width:d.E,height:e.data.height})),T).map(e=>({id:e.id,type:"groupBox",position:{x:e.x,y:e.y},zIndex:0,selectable:!1,draggable:!1,focusable:!1,data:{group:e.group,memberCount:e.members.length,width:e.width,height:e.height,onCollapse:eu,state:(0,m.Oc)(e.members.map(e=>{var t;return null!=(t=ec.nodeState[e])?t:"pending"})),unrecorded:!B&&e.members.every(e=>!ed.has(e))}})),...e]},[F,ec,H,em,B,ed,T,eu]),eh=(0,r.useMemo)(()=>{var e;return null!=(e=null==F?void 0:F.edges.map(e=>({...e,type:"live",...(0,c.f_)(em,e.id),className:(null==em?void 0:em.edges.has(e.id))?"wiring-edge-flow":void 0,data:{...e.data,taken:ec.takenEdges.has(e.id),active:ec.activeEdge===e.id,tokenKey:"".concat(e.id,":").concat(ec.cursor),tokenMs:ep}})))?e:[]},[F,ec,ep,em]),ef=(0,r.useCallback)(e=>{$(e);let t=et.current;t&&(e?t.fitView({nodes:[{id:e}],duration:600,maxZoom:1.4,padding:.6}):t.fitView({duration:600,padding:.08,minZoom:.5}))},[]),eg=null!=(n=null==(t=O[W])?void 0:t.node)?n:null;(0,r.useEffect)(()=>{var e,t,n;if(!U||H||!eg||!F)return;let a=F.nodes.find(e=>e.id===eg),r=et.current;if(!a||!r)return;let l=Math.min(1,Math.max((n=null!=(t=null==(e=en.current)?void 0:e.clientWidth)?t:1e3)<700?.72:.78,n/900));r.setCenter(a.position.x+d.E/2,a.position.y+a.data.height/2,{zoom:l,duration:400})},[U,H,eg,F,ea]);let eb="replay"===R&&!q&&S.length>0&&W===S.length-1;(0,r.useEffect)(()=>{let e=ei?null:.5;if(!eb||!U||H||null===e)return;let t=window.setTimeout(()=>{var t;null==(t=et.current)||t.fitView({nodes:[...ed].map(e=>({id:e})),duration:800,padding:.08,minZoom:e})},1200);return()=>window.clearTimeout(t)},[eb,U,H,ed,ei]);let ev=e=>{Z("replay"),Q(!1),A(e),X(!1)};if(N.isLoading)return(0,a.jsx)("p",{className:"p-4 text-sm text-text-tertiary",children:"런 원장을 읽는 중…"});if(N.isError||!k)return(0,a.jsxs)("p",{role:"alert",className:"p-4 text-sm text-error",children:["이 런의 원장을 읽지 못했습니다 (",g,")."]});let ey=H?S.map((e,t)=>({step:e,index:t})).filter(e=>{var t;let{step:n}=e;return(null!=(t=null==z?void 0:z.resolve(n.node))?t:n.node)===H}):[],ew=W>=0?S[W]:void 0;return(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"rounded-full px-2 py-0.5 text-xs font-semibold ".concat(B?"bg-amber-500/15 text-amber-600 dark:text-amber-400":"completed"===k.status?"bg-success/15 text-success":"bg-error/15 text-error"),children:(0,p.az)(k.status)}),(0,a.jsx)("h2",{className:"order-first min-w-0 basis-full truncate text-sm font-semibold text-text-primary sm:order-none sm:basis-0 sm:flex-1",title:null!=(s=k.title)?s:void 0,children:null!=(x=k.title)?x:k.runId}),null!==k.prNumber&&(0,a.jsxs)("span",{className:"text-xs text-text-secondary",children:["PR #",k.prNumber]}),(0,a.jsxs)("span",{className:"font-mono text-[11px] text-text-tertiary",children:[k.runId.slice(0,12)," \xb7 ",null!=(h=k.graphId)?h:"그래프 모름",k.substrate?" \xb7 ".concat(k.substrate):""]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,a.jsxs)("div",{role:"group","aria-label":"보기",className:"flex overflow-hidden rounded border border-border",children:[(0,a.jsx)("button",{type:"button",disabled:!B,onClick:()=>{Z("live"),Q(!1)},className:"px-2 py-1 ".concat("live"===R?"bg-primary text-primary-foreground":""," disabled:opacity-40"),children:"● 라이브"}),(0,a.jsx)("button",{type:"button",onClick:()=>{Z("replay")},className:"px-2 py-1 ".concat("replay"===R?"bg-primary text-primary-foreground":""),children:"리플레이"})]}),"replay"===R&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button","aria-label":q?"일시정지":"재생",onClick:()=>{!q&&W>=S.length-1&&(A(0),X(!0)),Q(!q)},className:"rounded border border-border px-2.5 py-1 font-semibold",children:q?"⏸ 일시정지":"▶ 재생"}),(0,a.jsx)("button",{type:"button",onClick:()=>{A(0),X(!0),Q(!1)},className:"rounded border border-border px-2 py-1",children:"처음"}),(0,a.jsx)("div",{role:"group","aria-label":"속도",className:"flex overflow-hidden rounded border border-border",children:v.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>G(e),"aria-pressed":P===e,className:"px-2 py-1 ".concat(P===e?"bg-accent/20 font-semibold text-text-primary":"text-text-secondary"),children:[e,"\xd7"]},e))}),(0,a.jsx)("input",{type:"range","aria-label":"재생 위치",min:0,max:Math.max(0,S.length-1),value:Math.max(0,W),onChange:e=>ev(Number(e.target.value)),className:"min-w-[120px] flex-1"})]}),(0,a.jsxs)("span",{className:"text-text-tertiary",children:[Math.max(0,W+1),"/",S.length," 단계",ew?" \xb7 ".concat(ew.node," \xd7").concat(ew.visit):""]}),(0,a.jsx)("button",{type:"button",onClick:()=>{ee(!1),ef(null)},className:"rounded border border-border px-2 py-1",children:"전체 보기"}),(0,a.jsx)("button",{type:"button","aria-pressed":U,onClick:()=>{ee(!U),$(null)},className:"rounded border px-2 py-1 ".concat(U?"border-primary text-primary":"border-border"),children:"카메라 따라가기"}),E.length>0&&(0,a.jsx)("button",{type:"button","data-testid":"toggle-units",onClick:()=>{$(null),I(_.size===E.length?new Set:new Set(E))},className:"rounded border border-border px-2 py-1",children:_.size===E.length?"묶음 펼치기 (통합 보기)":"묶음 접기"})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 lg:flex-row",children:[(0,a.jsxs)("section",{ref:en,"aria-label":"실행 그래프","data-viewport":ei?"narrow":"wide",className:"relative min-w-0 overflow-hidden rounded-lg border border-border bg-surface ".concat(ei?"h-[65dvh] min-h-[380px]":"h-[60dvh] min-h-[340px]"," lg:h-[calc(100dvh-230px)] lg:min-h-[520px] lg:flex-1"),children:[0===S.length&&(0,a.jsx)("p",{className:"absolute left-3 top-3 z-10 text-xs text-text-tertiary",children:"아직 노드에 들어가지 않았습니다(원장에 `pipeline-node-entry` 없음)."}),F&&(0,a.jsxs)(o.Gc,{nodes:ex,edges:eh,nodeTypes:y,edgeTypes:w,onInit:e=>{et.current=e,er(e=>e+1)},onNodeMouseEnter:(e,t)=>{"groupBox"!==t.type&&J(t.id)},onNodeMouseLeave:()=>J(null),onNodeClick:(e,t)=>{if("groupBox"!==t.type){if((0,m.Fi)(t.id)){var n;let e=null!=(n=t.data.group)?n:t.id.slice(6);eu(e),$(null),window.setTimeout(()=>{var t;null==(t=et.current)||t.fitView({nodes:[{id:"box:".concat(e)}],duration:600,maxZoom:1.4,padding:.2})},80);return}ef(H===t.id?null:t.id)}},onPaneClick:()=>{H&&ef(null)},fitView:!0,fitViewOptions:{padding:.08,minZoom:.5},minZoom:.2,maxZoom:2,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,edgesFocusable:!1,deleteKeyCode:null,proOptions:{hideAttribution:!0},className:"!bg-surface",children:[(0,a.jsx)(o.VS,{}),(0,a.jsx)(o.H2,{showInteractive:!1})]},"".concat(null!=(f=null==C?void 0:C.id)?f:"graph",":").concat([..._].sort().join(","))),H&&(0,a.jsxs)("div",{"data-testid":"node-detail",className:"absolute bottom-3 left-3 right-3 z-10 max-h-[45%] overflow-y-auto rounded-lg border border-border bg-background/95 p-3 text-xs shadow-lg backdrop-blur sm:right-auto sm:w-[320px]",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono text-sm font-semibold text-text-primary",children:H}),(0,a.jsxs)("span",{className:"text-text-tertiary",children:["방문 ",ey.length,"회"]}),(0,a.jsx)("button",{type:"button",onClick:()=>ef(null),className:"ml-auto rounded border border-border px-1.5",children:"닫기"})]}),0===ey.length&&(0,a.jsx)("p",{className:"text-text-tertiary",children:B?"아직 이 노드에 들어가지 않았습니다.":"기록 없음 — 이 런의 원장에 이 노드의 사건이 없습니다."}),(0,a.jsx)("ul",{className:"space-y-1",children:ey.map(e=>{var t;let{step:n,index:r}=e;return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onClick:()=>ev(r),className:"w-full rounded px-1 py-0.5 text-left hover:bg-surface-elevated",children:[(0,a.jsx)("span",{className:"font-mono text-text-secondary",children:(0,u.Xf)(n.at)})," ",(0,a.jsxs)("span",{className:"font-semibold",children:["\xd7",n.visit]})," ",(0,a.jsx)("span",{className:"fail"===n.outcome?"text-error":null===n.outcome?"text-amber-500":"text-success",children:null!=(t=n.outcome)?t:"도는 중"})," ",(0,a.jsx)("span",{className:"text-text-tertiary",children:(0,u.vV)(n.durationMs)}),n.detail&&(0,a.jsx)("span",{className:"block text-text-secondary",children:n.detail})]})},r)})})]})]}),(0,a.jsxs)("aside",{"aria-label":"실행 타임라인",className:"overflow-y-auto rounded-lg border border-border bg-surface ".concat(ei?"max-h-[300px]":"max-h-[420px]"," lg:max-h-[calc(100dvh-230px)] lg:w-[340px] lg:shrink-0"),children:[(0,a.jsx)("h3",{className:"sticky top-0 border-b border-border bg-surface px-3 py-2 text-xs font-semibold",children:"타임라인 (KST)"}),(0,a.jsx)("ol",{children:S.map((e,t)=>{var n,r;let l=t>W,o=t===W;return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onClick:()=>{var n;ev(t),ef(null!=(n=null==z?void 0:z.resolve(e.node))?n:e.node)},"data-testid":"timeline-step-".concat(t),className:"grid w-full grid-cols-[64px_1fr_auto] items-baseline gap-x-2 border-b border-border/60 px-3 py-1.5 text-left text-xs transition-opacity ".concat(l?"opacity-35":""," ").concat(o?"bg-accent/10":"hover:bg-surface-elevated"),children:[(0,a.jsx)("span",{className:"font-mono text-text-tertiary",children:(0,u.Xf)(e.at)}),(0,a.jsxs)("span",{className:"font-mono font-semibold text-text-primary",children:[e.node,e.visit>1?" \xd7".concat(e.visit):""]}),(0,a.jsx)("span",{className:"fail"===e.outcome?"text-error":null===e.outcome?"text-amber-500":"text-success",children:null===e.outcome?"도는 중":"fail"===e.outcome?"실패":"통과"}),(0,a.jsx)("span",{className:"text-[11px] text-text-tertiary",children:(0,u.vV)(e.durationMs)}),(0,a.jsx)("span",{className:"col-span-2 truncate text-[11px] text-text-secondary",title:null!=(n=e.detail)?n:void 0,children:null!=(r=e.detail)?r:""})]})},t)})})]})]}),(0,a.jsxs)("p",{className:"shrink-0 text-[11px] text-text-tertiary",children:["배선도 디자인: ",(0,a.jsx)("a",{href:"https://malfoy-meme-making.vercel.app/wiring/index.html",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"공냥이 AI 실험실"})]})]})}},28930:(e,t,n)=>{"use strict";n.d(t,{EQ:()=>a,F8:()=>l,Fi:()=>r,Oc:()=>d,S0:()=>o,Vc:()=>i,ws:()=>s});let a="group:",r=e=>e.startsWith(a);function l(e){let t=new Map;for(let n of e.nodes){let e="string"==typeof n.group?n.group.trim():"";e&&t.set(n.node_id,e)}return t}function o(e){return[...new Set(l(e).values())]}function s(e,t){let n=l(e),r=e=>{let r=n.get(e);return r&&t.has(r)?"".concat(a).concat(r):e};if(![...n.values()].some(e=>t.has(e)))return{graph:e,resolve:r};let o=[],s=new Set;for(let t of e.nodes){let a=r(t.node_id);if(s.has(a))continue;if(s.add(a),a===t.node_id){o.push(t);continue}let l=n.get(t.node_id),i=e.nodes.filter(e=>n.get(e.node_id)===l);o.push({node_id:a,kind:"subgraph",recipe:"묶음 \xb7 노드 ".concat(i.length,"개"),max_visits:Math.max(...i.map(e=>e.max_visits)),group:l})}let i=[];for(let t of e.edges){let e=r(t.from);if(t.map){let n={};for(let[a,l]of Object.entries(t.map)){let t=r(l);t!==e&&(n[a]=t)}Object.keys(n).length&&i.push({from:e,...t.on?{on:t.on}:{},map:n})}else if(t.to){let n=r(t.to);n!==e&&i.push({from:e,to:n})}}let d=[];for(let e of i){let t=d.find(t=>t.from===e.from&&!!t.map==!!e.map&&(e.map||t.to===e.to));if(!t){d.push(e.map?{...e,map:{...e.map}}:e);continue}if(e.map&&t.map)for(let[n,r]of Object.entries(e.map))n in t.map?t.map[n]===r||Object.values(t.map).includes(r)||(t.map["".concat(n,"\xb7").concat(r.replace(a,""))]=r):t.map[n]=r}let c=r(e.entry_node),u=[...new Set(e.terminal_nodes.map(r))];return{graph:{...e,entry_node:c,terminal_nodes:u,nodes:o,edges:d},resolve:r}}function i(e,t){let n=new Map;for(let l of e){var a;let e=t.get(l.id);!e||r(l.id)||n.set(e,[...null!=(a=n.get(e))?a:[],l])}return[...n.entries()].map(e=>{let[t,n]=e,a=Math.min(...n.map(e=>e.position.x)),r=Math.min(...n.map(e=>e.position.y)),l=Math.max(...n.map(e=>e.position.x+e.width)),o=Math.max(...n.map(e=>e.position.y+e.height));return{id:"box:".concat(t),group:t,members:n.map(e=>e.id),x:a-18,y:r-18-26,width:l-a+36,height:o-r+36+26}})}function d(e){return e.includes("running")?"running":e.includes("failed")?"failed":e.includes("passed")?"passed":"pending"}},47283:(e,t,n)=>{"use strict";n.d(t,{r:()=>o});var a=n(94451);let r={pending:"var(--border, #94a3b8)",running:"#f59e0b",passed:"var(--chart-2, #16a34a)",failed:"var(--destructive, #ef4444)"},l={pending:"대기",running:"도는 중",passed:"통과",failed:"실패"},o={groupBox:function(e){let{data:t}=e,n=r[t.state];return(0,a.jsx)("div",{"data-testid":"group-box-".concat(t.group),"data-state":t.state,className:"pointer-events-none rounded-xl border-2 border-dashed ".concat(t.unrecorded?"opacity-60":""),style:{width:t.width,height:t.height,borderColor:n,background:"color-mix(in srgb, ".concat(n," 6%, transparent)")},children:(0,a.jsxs)("div",{className:"pointer-events-auto flex items-center gap-2 px-2.5 py-1 text-xs",children:[(0,a.jsx)("span",{className:"font-mono font-semibold text-text-primary",children:t.group}),(0,a.jsx)("span",{className:"text-[11px]",style:{color:n},children:t.unrecorded?"기록 없음":l[t.state]}),(0,a.jsx)("span",{className:"text-[11px] text-text-tertiary",children:void 0===t.stepCount?"노드 ".concat(t.memberCount):"걸음 ".concat(t.stepCount)}),t.onCollapse&&(0,a.jsx)("button",{type:"button",onClick:e=>{var n;e.stopPropagation(),null==(n=t.onCollapse)||n.call(t,t.group)},className:"nodrag ml-auto rounded border border-border bg-background px-1.5 text-[11px] text-text-secondary",children:"접기"})]})})}}},76531:(e,t,n)=>{"use strict";n.d(t,{Xf:()=>o,aZ:()=>r,bB:()=>l,vV:()=>s});let a=new Set(["fail","failed","error","blocked","rejected","aborted","unconvergeable","timeout"]);function r(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=Object.fromEntries(e.map(e=>[e,"pending"])),s={},i=new Set,d=null,c=Math.min(r,n.length-1);for(let e=0;e<=c;e+=1){var u,p;let r=n[e];if(s[r.node]=(null!=(u=s[r.node])?u:0)+1,o[r.node]=e===c&&l||null===(p=r.outcome)?"running":a.has(p.toLowerCase())?"failed":"passed",e>0){let a=n[e-1],l=function(e,t,n,a){var r;let l=e.filter(e=>e.from===t&&e.to===a);return 0===l.length?null:null!=(r=l.find(e=>null!==n&&e.outcomes.includes(n)))?r:l[0]}(t,a.node,a.outcome,r.node);l&&(i.add(l.id),e===c&&(d=l.id))}}return{nodeState:o,visits:s,takenEdges:i,activeEdge:d,cursor:c}}function l(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:900,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:4e3,l=e[t],o=e[t+1];if(!l||!o)return a/n;let s=Date.parse(o.at)-Date.parse(l.at);return(Number.isFinite(s)?Math.min(r,Math.max(a,s/60)):a)/Math.max(1,n)}function o(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t+324e5).toISOString().slice(11,19):"—"}function s(e){if(null===e||!Number.isFinite(e)||e<0)return"—";if(e<1e3)return"".concat(Math.round(e),"ms");let t=Math.round(e/1e3);if(t<60)return"".concat(t,"초");let n=Math.floor(t/60);return n<60?"".concat(n,"분 ").concat(t%60,"초"):"".concat(Math.floor(n/60),"시간 ").concat(n%60,"분")}},86752:()=>{},97528:(e,t,n)=>{"use strict";function a(e,t){var n,a,r;let l=[...new Set(t.map(e=>e.node))],o=new Map;for(let e=1;e<t.length;e+=1){let r=t[e-1],l=null!=(n=o.get(r.node))?n:{},s=null!=(a=r.outcome)?a:"pass";Object.values(l).includes(t[e].node)||(l[l[s]?"".concat(s,"\xb7").concat(t[e].node):s]=t[e].node),o.set(r.node,l)}return{id:e,source:"core",editable:!1,entry_node:null!=(r=l[0])?r:"",terminal_nodes:t.length?[t.at(-1).node]:[],nodes:l.map(e=>({node_id:e,kind:"agent",recipe:"원장에서 본 노드",max_visits:t.filter(t=>t.node===e).length})),edges:[...o.entries()].map(e=>{let[t,n]=e;return{from:t,on:"outcome",map:n}})}}function r(e,t){let n=new Set(e.nodes.map(e=>e.node_id)),a=[...new Set(t.map(e=>e.node))].filter(e=>!n.has(e)),r=t=>e.edges.filter(e=>e.from===t).flatMap(e=>e.map?Object.values(e.map):e.to?[e.to]:[]),l=[];for(let e=1;e<t.length;e+=1){let n=t[e-1].node,a=t[e].node;r(n).includes(a)||l.some(e=>e.from===n&&e.to===a)||l.push({from:n,to:a})}return 0===a.length&&0===l.length?e:{...e,nodes:[...e.nodes,...a.map(e=>({node_id:e,kind:"agent",recipe:"원장에서 본 노드(선언 밖)",max_visits:t.filter(t=>t.node===e).length}))],edges:[...e.edges,...l]}}function l(e){switch(e){case"running":return"● 도는 중";case"completed":return"완료";case"failed":return"실패";case"abandoned":return"버려짐";case"cancelled":return"취소됨";default:return e}}function o(e,t){let n=e=>(function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:60,a=(null!=(t=null==e?void 0:e.split("\n").map(e=>e.trim()).find(Boolean))?t:"").replace(/\s*\[truncated[^\]]*\]\s*$/,"").replace(/(?:~|\.{0,2})?\/?(?:[\w.@-]+\/)+([\w.@-]+)/g,"$1");return a.length>n?"".concat(a.slice(0,n-1),"…"):a})(e),a=[...e].sort((e,t)=>{var n,a;return Date.parse(null!=(n=t.lastActivityTimestamp)?n:"")-Date.parse(null!=(a=e.lastActivityTimestamp)?a:"")||0}).map(e=>{var t;return{runId:e.runId,label:n(e.objective)||e.runId,live:!0,at:null!=(t=e.lastActivityTimestamp)?t:null}}),r=new Set(a.map(e=>e.runId));return[...a,...t.filter(e=>!r.has(e.runId)).map(e=>({runId:e.runId,label:n(e.objective)||e.runId,live:!1,at:e.endedAt}))]}n.d(t,{D6:()=>r,Q:()=>a,az:()=>l,wk:()=>o})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9175],{49175:(t,e,n)=>{n.d(e,{Z:()=>$});var r=n(22777),l=n(20330),u=n(67611).hp;function o(t){let e=[];for(let n=0;n<t.length-1;n++)e.push({a:t[n],b:t[n+1]});return e}function i(t,e,n,r){let l=e.x-t.x,u=e.y-t.y,o=r.x-n.x,i=r.y-n.y,a=l*i-u*o;if(0===a)return null;let s=n.x-t.x,f=n.y-t.y,p=(s*i-f*o)/a,h=(s*u-f*l)/a;return p<=1e-6||p>=.999999||h<=1e-6||h>=.999999?null:{point:{x:t.x+p*l,y:t.y+p*u},tA:p,tB:h}}function a(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}function s(t,e,n){if("rounded"!==t.curve)return!1;let r=t.points,l=r[e],u=r[e+1];if(!l||!u)return!1;let o=Math.hypot(u.x-l.x,u.y-l.y),i=n*o,a=e>0?g(r[e-1],l,u,5):null;if(a&&i<a.cutLen)return!0;let s=e+2<r.length?g(l,u,r[e+2],5):null;return null!==s&&o-i<s.cutLen}function f(t){let e=[];for(let n=0;n<t.length;n++){let r=t[n],l=o(r.points);for(let u=n+1;u<t.length;u++){let n=t[u],f=o(n.points);for(let[t,u]of l.entries())for(let[l,o]of f.entries()){let f=i(u.a,u.b,o.a,o.b);if(!f||s(r,t,f.tA)||s(n,l,f.tB))continue;let p=a(u);p!==a(o)&&p?e.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:t,t:f.tA,point:f.point}):e.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:l,t:f.tB,point:f.point})}}}return e}function p(t){let e=Math.round(1e3*t)/1e3;return Number.isInteger(e),`${e}`}function h(t){return`${p(t.x)},${p(t.y)}`}function d(t){let e=t.b.x-t.a.x,n=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(n)?+(e>=0):+(n>=0)}function y(t,e){if(t.length<2)return t.map(t=>({...t}));let n=t.map(t=>({...t})),l=e.arrowTypeStart&&r.hq[e.arrowTypeStart];if(l){let e=t[0],r=t[1],u=Math.atan2(r.y-e.y,r.x-e.x);n[0].x=e.x+l*Math.cos(u),n[0].y=e.y+l*Math.sin(u)}let u=e.arrowTypeEnd&&r.hq[e.arrowTypeEnd];if(u){let e=t.length,r=t[e-2],l=t[e-1],o=Math.atan2(l.y-r.y,l.x-r.x);n[e-1].x=l.x-u*Math.cos(o),n[e-1].y=l.y-u*Math.sin(o)}return n}function c(t,e,n,r,l){let u=t.point.x,o=t.point.y,i={x:u-e*t.r,y:o-n*t.r},a={x:u+e*t.r,y:o+n*t.r},s=[`L${h(i)}`];return"arc"===l?s.push(`A${p(t.r)},${p(t.r)} 0 0 ${r} ${h(a)}`):s.push(`M${h(a)}`),s}function g(t,e,n,r){let l=e.x-t.x,u=e.y-t.y,o=n.x-e.x,i=n.y-e.y,a=Math.hypot(l,u),s=Math.hypot(o,i);if(a<1e-5||s<1e-5)return null;let f=l/a,p=u/a,h=o/s,d=i/s,y=Math.acos(Math.max(-1,Math.min(1,f*h+p*d)));if(y<1e-5||1e-5>Math.abs(Math.PI-y))return null;let c=Math.min(r/Math.sin(y/2),a/2,s/2);return{startX:e.x-f*c,startY:e.y-p*c,endX:e.x+h*c,endY:e.y+d*c,ctrlX:e.x,ctrlY:e.y,cutLen:c}}function x(t,e,n){let r=t.points;if(r.length<2)return"";let l=y(r,t),u="rounded"===t.curve,i=o(l),a=new Map;for(let t of e){let e=i[t.segIndex];if(!e)continue;let r=Math.hypot(e.b.x-e.a.x,e.b.y-e.a.y),l=a.get(t.segIndex)??[];l.push({t:t.t,point:t.point,d:t.t*r,r:n.jumpRadius}),a.set(t.segIndex,l)}let s=[`M${h(l[0])}`];for(let t=0;t<i.length;t++){let e=i[t],r=Math.hypot(e.b.x-e.a.x,e.b.y-e.a.y),o=0===r?0:(e.b.x-e.a.x)/r,f=0===r?0:(e.b.y-e.a.y)/r,y=d(e),x=0;if(u&&t>0){let e=g(l[t-1],l[t],l[t+1]??l[t],5);e&&(x=e.cutLen)}let b=r,M=null;u&&t<i.length-1&&(M=g(l[t],l[t+1],l[t+2]??l[t+1],5))&&(b=r-M.cutLen);let m=.6*n.jumpRadius,$=[...a.get(t)??[]].sort((t,e)=>t.t-e.t).filter(t=>{let e=Math.min(t.d-x,b-t.d)-2;return t.r=Math.min(t.r,e),t.r>=m});for(let t=0;t<$.length-1;t++){let e=$[t+1].d-$[t].d;if($[t].r+$[t+1].r>e){let n=e/2;$[t].r=Math.min($[t].r,n),$[t+1].r=Math.min($[t+1].r,n)}}for(let t of $)t.r<m||s.push(...c(t,o,f,y,n.jumpStyle));u&&M?(s.push(`L${p(M.startX)},${p(M.startY)}`),s.push(`Q${p(M.ctrlX)},${p(M.ctrlY)} ${p(M.endX)},${p(M.endY)}`)):s.push(`L${h(e.b)}`)}return s.join(" ")}function b(t){return/^[\d\s+,.LMelm-]*$/.test(t)}function M(t){return!t||"linear"===t||"rounded"===t||"step"===t||"stepBefore"===t||"stepAfter"===t}function m(t){if(!t)return null;try{let e="function"==typeof atob?atob(t):u.from(t,"base64").toString(),n=JSON.parse(e);if(!Array.isArray(n))return null;let r=[];for(let t of n)t&&"number"==typeof t.x&&"number"==typeof t.y&&r.push({x:t.x,y:t.y});return r.length>=2?r:null}catch{return null}}function $(t,e,n){if(!n.enabled)return;let r=t.node();if(!r)return;let l=new Map;for(let t of e)l.set(t.id,t);let u=new Map;for(let t of r.querySelectorAll("path[data-id]")){let e=t.getAttribute("data-id");null===e||u.has(e)||u.set(e,t)}let o=[];for(let t of e){let e=u.get(t.id);if(!e)continue;let n=m(e.getAttribute("data-points"))??t.points;o.push({...t,points:n})}let i=f(o);if(0===i.length)return;let a=new Map;for(let t of i){let e=a.get(t.jumpEdgeId)??[];e.push(t),a.set(t.jumpEdgeId,e)}for(let t of o){let e=a.get(t.id);if(!e||0===e.length)continue;let r=l.get(t.id),o=r?.curve;if(void 0!==o&&!M(o))continue;let i=u.get(t.id);if(!i||void 0===o&&!b(i.getAttribute("d")??""))continue;let s=i.getAttribute("style")??"",f=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),p=f?Number.parseFloat(f[1]):null,h=f?Number.parseFloat(f[2]):null,d=x(t,e,n);if(i.setAttribute("d",d),null!==p&&null!==h&&"function"==typeof i.getTotalLength){let t=Math.max(0,i.getTotalLength()-p-h),e=`0 ${p} ${t} ${h}`,n=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${e};`).replace(/;\s*;+/g,";");i.setAttribute("style",n)}}}(0,l.K)(o,"buildSegmentList"),(0,l.K)(i,"segmentIntersection"),(0,l.K)(a,"isHorizontalSeg"),(0,l.K)(s,"crossingSitsInRoundedCorner"),(0,l.K)(f,"findEdgeIntersections"),(0,l.K)(p,"fmt"),(0,l.K)(h,"pointToString"),(0,l.K)(d,"getArcSweepFlag"),(0,l.K)(y,"applyMarkerOffsets"),(0,l.K)(c,"emitJump"),(0,l.K)(g,"computeRoundedCorner"),(0,l.K)(x,"rewriteEdgePath"),(0,l.K)(b,"isStraightPath"),(0,l.K)(M,"curveSupportsLineHops"),(0,l.K)(m,"decodeDataPoints"),(0,l.K)($,"applyLineJumpsToSvg")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9184],{39184:(e,t,i)=>{i.d(t,{captureNodeSizes:()=>u});var n=i(20330);function r(){if("undefined"!=typeof globalThis)return globalThis}function a(){return"undefined"==typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let i=r();if(!i)return;let n=t.node(),a=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,o=a?.id??"(unknown)";i.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};i.mermaidCapturedSizes.push(u),i.mermaidLastCapturedSizes=u}function u(e,t){let i=[];for(let e of t.nodes)e.isGroup||i.push({id:e.id,width:e.width??0,height:e.height??0});0!==i.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:a()},nodes:i},e)}(0,n.K)(r,"getCaptureGlobal"),(0,n.K)(function(){return!!r()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,n.K)(a,"capturedFromLocation"),(0,n.K)(o,"emitCapturedSizes"),(0,n.K)(u,"captureNodeSizes")}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[941],{2333:(e,i,s)=>{s.d(i,{B:()=>rP});var r=s(77008),n=Object.defineProperty,o=Object.getOwnPropertyDescriptor,h=(e,i,s,r)=>{for(var h,a=r>1?void 0:r?o(i,s):i,l=e.length-1;l>=0;l--)(h=e[l])&&(a=(r?h(i,s,a):h(a))||a);return r&&a&&n(i,s,a),a},a=(e,i)=>(s,r)=>i(s,r,e),l="Terminal input",c={get:()=>l,set:e=>l=e},d="Too much output to announce, navigate to rows manually to read",_={get:()=>d,set:e=>d=e};function u(e,i,s,r){var n;n=e=e.replace(/\r?\n/g,"\r"),e=s.decPrivateModes.bracketedPasteMode&&!0!==r.rawOptions.ignoreBracketedPasteMode?"\x1b[200~"+n+"\x1b[201~":n,s.triggerDataEvent(e,!0),i.value=""}function f(e,i,s){let r=s.getBoundingClientRect(),n=e.clientX-r.left-10,o=e.clientY-r.top-10;i.style.width="20px",i.style.height="20px",i.style.left=`${n}px`,i.style.top=`${o}px`,i.style.zIndex="1000",i.focus()}function g(e,i,s,r,n){f(e,i,s),n&&r.rightClickSelect(e),i.value=r.selectionText,i.select()}function p(e){return e>65535?String.fromCharCode(((e-=65536)>>10)+55296)+String.fromCharCode(e%1024+56320):String.fromCharCode(e)}function v(e,i=0,s=e.length){let r="";for(let n=i;n<s;++n){let i=e[n];i>65535?(i-=65536,r+=String.fromCharCode((i>>10)+55296)+String.fromCharCode(i%1024+56320)):r+=String.fromCharCode(i)}return r}var m=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,i){let s=e.length;if(!s)return 0;let r=0,n=0;if(this._interim){let s=e.charCodeAt(n++);56320<=s&&s<=57343?i[r++]=(this._interim-55296)*1024+s-56320+65536:(i[r++]=this._interim,i[r++]=s),this._interim=0}for(let o=n;o<s;++o){let n=e.charCodeAt(o);if(55296<=n&&n<=56319){if(++o>=s)return this._interim=n,r;let h=e.charCodeAt(o);56320<=h&&h<=57343?i[r++]=(n-55296)*1024+h-56320+65536:(i[r++]=n,i[r++]=h);continue}65279!==n&&(i[r++]=n)}return r}},S=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,i){let s=e.length;if(!s)return 0;let r=0,n,o,h,a,l=0,c=0;if(this.interim[0]){let n=!1,o=this.interim[0];o&=(224&o)==192?31:(240&o)==224?15:7;let h=0,a;for(;(a=63&this.interim[++h])&&h<4;)o<<=6,o|=a;let l=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,d=l-h;for(;c<d;){if(c>=s)return 0;if((192&(a=e[c++]))!=128){c--,n=!0;break}this.interim[h++]=a,o<<=6,o|=63&a}n||(2===l?o<128?c--:i[r++]=o:3===l?o<2048||o>=55296&&o<=57343||65279===o||(i[r++]=o):o<65536||o>1114111||(i[r++]=o)),this.interim.fill(0)}let d=s-4,_=c;for(;_<s;){for(;_<d&&!(128&(n=e[_]))&&!(128&(o=e[_+1]))&&!(128&(h=e[_+2]))&&!(128&(a=e[_+3]));)i[r++]=n,i[r++]=o,i[r++]=h,i[r++]=a,_+=4;if((n=e[_++])<128)i[r++]=n;else if((224&n)==192){if(_>=s)return this.interim[0]=n,r;if((192&(o=e[_++]))!=128||(l=(31&n)<<6|63&o)<128){_--;continue}i[r++]=l}else if((240&n)==224){if(_>=s)return this.interim[0]=n,r;if((192&(o=e[_++]))!=128){_--;continue}if(_>=s)return this.interim[0]=n,this.interim[1]=o,r;if((192&(h=e[_++]))!=128){_--;continue}if((l=(15&n)<<12|(63&o)<<6|63&h)<2048||l>=55296&&l<=57343||65279===l)continue;i[r++]=l}else if((248&n)==240){if(_>=s)return this.interim[0]=n,r;if((192&(o=e[_++]))!=128){_--;continue}if(_>=s)return this.interim[0]=n,this.interim[1]=o,r;if((192&(h=e[_++]))!=128){_--;continue}if(_>=s)return this.interim[0]=n,this.interim[1]=o,this.interim[2]=h,r;if((192&(a=e[_++]))!=128){_--;continue}if((l=(7&n)<<18|(63&o)<<12|(63&h)<<6|63&a)<65536||l>1114111)continue;i[r++]=l}}return r}},b=class e{constructor(){this.fg=0,this.bg=0,this.extended=new w}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){let i=new e;return i.fg=this.fg,i.bg=this.bg,i.extended=this.extended.clone(),i}isInverse(){return 0x4000000&this.fg}isBold(){return 0x8000000&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:0x10000000&this.fg}isBlink(){return 0x20000000&this.fg}isInvisible(){return 0x40000000&this.fg}isItalic(){return 0x4000000&this.bg}isDim(){return 0x8000000&this.bg}isStrikethrough(){return 0x80000000&this.fg}isProtected(){return 0x20000000&this.bg}isOverline(){return 0x40000000&this.bg}getFgColorMode(){return 0x3000000&this.fg}getBgColorMode(){return 0x3000000&this.bg}isFgRGB(){return(0x3000000&this.fg)==0x3000000}isBgRGB(){return(0x3000000&this.bg)==0x3000000}isFgPalette(){return(0x3000000&this.fg)==0x1000000||(0x3000000&this.fg)==0x2000000}isBgPalette(){return(0x3000000&this.bg)==0x1000000||(0x3000000&this.bg)==0x2000000}isFgDefault(){return(0x3000000&this.fg)==0}isBgDefault(){return(0x3000000&this.bg)==0}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(0x3000000&this.fg){case 0x1000000:case 0x2000000:return 255&this.fg;case 0x3000000:return 0xffffff&this.fg;default:return -1}}getBgColor(){switch(0x3000000&this.bg){case 0x1000000:case 0x2000000:return 255&this.bg;case 0x3000000:return 0xffffff&this.bg;default:return -1}}hasExtendedAttrs(){return 0x10000000&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-0x10000001:this.bg|=0x10000000}getUnderlineColor(){if(0x10000000&this.bg&&~this.extended.underlineColor)switch(0x3000000&this.extended.underlineColor){case 0x1000000:case 0x2000000:return 255&this.extended.underlineColor;case 0x3000000:return 0xffffff&this.extended.underlineColor}return this.getFgColor()}getUnderlineColorMode(){return 0x10000000&this.bg&&~this.extended.underlineColor?0x3000000&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x3000000:this.isFgRGB()}isUnderlineColorPalette(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x1000000||(0x3000000&this.extended.underlineColor)==0x2000000:this.isFgPalette()}isUnderlineColorDefault(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 0x10000000&this.fg?0x10000000&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},w=class e{constructor(e=0,i=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=i}get ext(){return this._urlId?-0x1c000001&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(0x1c000000&this._ext)>>26}set underlineStyle(e){this._ext&=-0x1c000001,this._ext|=e<<26&0x1c000000}get underlineColor(){return 0x3ffffff&this._ext}set underlineColor(e){this._ext&=-0x4000000,this._ext|=0x3ffffff&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(0xe0000000&this._ext)>>29;return e<0?0xfffffff8^e:e}set underlineVariantOffset(e){this._ext&=0x1fffffff,this._ext|=e<<29&0xe0000000}clone(){return new e(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}},y=class e extends b{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new w,this.combinedData=""}static fromCharData(i){let s=new e;return s.setFromCharData(i),s}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?p(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[0],this.bg=0;let i=!1;if(e[1].length>2)i=!0;else if(2===e[1].length){let s=e[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|e[2]<<22:i=!0}else i=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;i&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},C="di$target",k="di$dependencies",x=new Map;function E(e){if(x.has(e))return x.get(e);let i=function(e,s,r){var n,o,h;if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");n=i,o=e,h=r,o[C]===o?o[k].push({id:n,index:h}):(o[k]=[{id:n,index:h}],o[C]=o)};return i._id=e,x.set(e,i),i}var B=E("BufferService"),D=E("CoreMouseService"),R=E("CoreService"),M=E("CharsetService"),L=E("InstantiationService"),P=E("LogService"),T=E("OptionsService"),A=E("OscLinkService"),O=E("UnicodeService"),I=E("DecorationService"),N=class{constructor(e,i,s){this._bufferService=e,this._optionsService=i,this._oscLinkService=s}provideLinks(e,i){let s=this._bufferService.buffer.lines.get(e-1);if(!s)return void i(void 0);let r=[],n=this._optionsService.rawOptions.linkHandler,o=new y,h=s.getTrimmedLength(),a=-1,l=-1,c=!1;for(let i=0;i<h;i++)if(!(-1===l&&!s.hasContent(i))){if(s.loadCell(i,o),o.hasExtendedAttrs()&&o.extended.urlId)if(-1===l){l=i,a=o.extended.urlId;continue}else c=o.extended.urlId!==a;else -1!==l&&(c=!0);if(c||-1!==l&&i===h-1){let s=this._oscLinkService.getLinkData(a)?.uri;if(s){let o={start:{x:l+1,y:e},end:{x:i+ +(!c&&i===h-1),y:e}},a=!1;if(!n?.allowNonHttpProtocols)try{let e=new URL(s);["http:","https:"].includes(e.protocol)||(a=!0)}catch{a=!0}a||r.push({text:s,range:o,activate:(e,i)=>n?n.activate(e,i,o):function(e,i){if(confirm(`Do you want to navigate to ${i}?
|
|
2
2
|
|
|
3
3
|
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}}(0,i),hover:(e,i)=>n?.hover?.(e,i,o),leave:(e,i)=>n?.leave?.(e,i,o)})}c=!1,o.hasExtendedAttrs()&&o.extended.urlId?(l=i,a=o.extended.urlId):(l=-1,a=-1)}}i(r)}};N=h([a(0,B),a(1,T),a(2,A)],N);var H=E("CharSizeService"),W=E("CoreBrowserService"),z=E("MouseService"),F=E("RenderService"),$=E("SelectionService"),K=E("CharacterJoinerService"),U=E("ThemeService"),q=E("LinkProviderService"),V=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?G.isErrorNoTelemetry(e)?new G(e.message+`
|
|
4
4
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9175,9311],{49175:(e,t,n)=>{n.d(t,{Z:()=>w});var r=n(22777),i=n(20330),o=n(67611).hp;function a(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}function l(e,t,n,r){let i=t.x-e.x,o=t.y-e.y,a=r.x-n.x,l=r.y-n.y,s=i*l-o*a;if(0===s)return null;let d=n.x-e.x,u=n.y-e.y,h=(d*l-u*a)/s,g=(d*o-u*i)/s;return h<=1e-6||h>=.999999||g<=1e-6||g>=.999999?null:{point:{x:e.x+h*i,y:e.y+h*o},tA:h,tB:g}}function s(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}function d(e,t,n){if("rounded"!==e.curve)return!1;let r=e.points,i=r[t],o=r[t+1];if(!i||!o)return!1;let a=Math.hypot(o.x-i.x,o.y-i.y),l=n*a,s=t>0?y(r[t-1],i,o,5):null;if(s&&l<s.cutLen)return!0;let d=t+2<r.length?y(i,o,r[t+2],5):null;return null!==d&&a-l<d.cutLen}function u(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=a(r.points);for(let o=n+1;o<e.length;o++){let n=e[o],u=a(n.points);for(let[e,o]of i.entries())for(let[i,a]of u.entries()){let u=l(o.a,o.b,a.a,a.b);if(!u||d(r,e,u.tA)||d(n,i,u.tB))continue;let h=s(o);h!==s(a)&&h?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:u.tA,point:u.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:i,t:u.tB,point:u.point})}}}return t}function h(e){let t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function g(e){return`${h(e.x)},${h(e.y)}`}function f(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}function p(e,t){if(e.length<2)return e.map(e=>({...e}));let n=e.map(e=>({...e})),i=t.arrowTypeStart&&r.hq[t.arrowTypeStart];if(i){let t=e[0],r=e[1],o=Math.atan2(r.y-t.y,r.x-t.x);n[0].x=t.x+i*Math.cos(o),n[0].y=t.y+i*Math.sin(o)}let o=t.arrowTypeEnd&&r.hq[t.arrowTypeEnd];if(o){let t=e.length,r=e[t-2],i=e[t-1],a=Math.atan2(i.y-r.y,i.x-r.x);n[t-1].x=i.x-o*Math.cos(a),n[t-1].y=i.y-o*Math.sin(a)}return n}function c(e,t,n,r,i){let o=e.point.x,a=e.point.y,l={x:o-t*e.r,y:a-n*e.r},s={x:o+t*e.r,y:a+n*e.r},d=[`L${g(l)}`];return"arc"===i?d.push(`A${h(e.r)},${h(e.r)} 0 0 ${r} ${g(s)}`):d.push(`M${g(s)}`),d}function y(e,t,n,r){let i=t.x-e.x,o=t.y-e.y,a=n.x-t.x,l=n.y-t.y,s=Math.hypot(i,o),d=Math.hypot(a,l);if(s<1e-5||d<1e-5)return null;let u=i/s,h=o/s,g=a/d,f=l/d,p=Math.acos(Math.max(-1,Math.min(1,u*g+h*f)));if(p<1e-5||1e-5>Math.abs(Math.PI-p))return null;let c=Math.min(r/Math.sin(p/2),s/2,d/2);return{startX:t.x-u*c,startY:t.y-h*c,endX:t.x+g*c,endY:t.y+f*c,ctrlX:t.x,ctrlY:t.y,cutLen:c}}function x(e,t,n){let r=e.points;if(r.length<2)return"";let i=p(r,e),o="rounded"===e.curve,l=a(i),s=new Map;for(let e of t){let t=l[e.segIndex];if(!t)continue;let r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),i=s.get(e.segIndex)??[];i.push({t:e.t,point:e.point,d:e.t*r,r:n.jumpRadius}),s.set(e.segIndex,i)}let d=[`M${g(i[0])}`];for(let e=0;e<l.length;e++){let t=l[e],r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),a=0===r?0:(t.b.x-t.a.x)/r,u=0===r?0:(t.b.y-t.a.y)/r,p=f(t),x=0;if(o&&e>0){let t=y(i[e-1],i[e],i[e+1]??i[e],5);t&&(x=t.cutLen)}let b=r,m=null;o&&e<l.length-1&&(m=y(i[e],i[e+1],i[e+2]??i[e+1],5))&&(b=r-m.cutLen);let k=.6*n.jumpRadius,w=[...s.get(e)??[]].sort((e,t)=>e.t-t.t).filter(e=>{let t=Math.min(e.d-x,b-e.d)-2;return e.r=Math.min(e.r,t),e.r>=k});for(let e=0;e<w.length-1;e++){let t=w[e+1].d-w[e].d;if(w[e].r+w[e+1].r>t){let n=t/2;w[e].r=Math.min(w[e].r,n),w[e+1].r=Math.min(w[e+1].r,n)}}for(let e of w)e.r<k||d.push(...c(e,a,u,p,n.jumpStyle));o&&m?(d.push(`L${h(m.startX)},${h(m.startY)}`),d.push(`Q${h(m.ctrlX)},${h(m.ctrlY)} ${h(m.endX)},${h(m.endY)}`)):d.push(`L${g(t.b)}`)}return d.join(" ")}function b(e){return/^[\d\s+,.LMelm-]*$/.test(e)}function m(e){return!e||"linear"===e||"rounded"===e||"step"===e||"stepBefore"===e||"stepAfter"===e}function k(e){if(!e)return null;try{let t="function"==typeof atob?atob(e):o.from(e,"base64").toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&"number"==typeof e.x&&"number"==typeof e.y&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}function w(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let i=new Map;for(let e of t)i.set(e.id,e);let o=new Map;for(let e of r.querySelectorAll("path[data-id]")){let t=e.getAttribute("data-id");null===t||o.has(t)||o.set(t,e)}let a=[];for(let e of t){let t=o.get(e.id);if(!t)continue;let n=k(t.getAttribute("data-points"))??e.points;a.push({...e,points:n})}let l=u(a);if(0===l.length)return;let s=new Map;for(let e of l){let t=s.get(e.jumpEdgeId)??[];t.push(e),s.set(e.jumpEdgeId,t)}for(let e of a){let t=s.get(e.id);if(!t||0===t.length)continue;let r=i.get(e.id),a=r?.curve;if(void 0!==a&&!m(a))continue;let l=o.get(e.id);if(!l||void 0===a&&!b(l.getAttribute("d")??""))continue;let d=l.getAttribute("style")??"",u=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(d),h=u?Number.parseFloat(u[1]):null,g=u?Number.parseFloat(u[2]):null,f=x(e,t,n);if(l.setAttribute("d",f),null!==h&&null!==g&&"function"==typeof l.getTotalLength){let e=Math.max(0,l.getTotalLength()-h-g),t=`0 ${h} ${e} ${g}`,n=d.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,";");l.setAttribute("style",n)}}}(0,i.K)(a,"buildSegmentList"),(0,i.K)(l,"segmentIntersection"),(0,i.K)(s,"isHorizontalSeg"),(0,i.K)(d,"crossingSitsInRoundedCorner"),(0,i.K)(u,"findEdgeIntersections"),(0,i.K)(h,"fmt"),(0,i.K)(g,"pointToString"),(0,i.K)(f,"getArcSweepFlag"),(0,i.K)(p,"applyMarkerOffsets"),(0,i.K)(c,"emitJump"),(0,i.K)(y,"computeRoundedCorner"),(0,i.K)(x,"rewriteEdgePath"),(0,i.K)(b,"isStraightPath"),(0,i.K)(m,"curveSupportsLineHops"),(0,i.K)(k,"decodeDataPoints"),(0,i.K)(w,"applyLineJumpsToSvg")},99311:(e,t,n)=>{n.r(t),n.d(t,{render:()=>V});var r=n(49175),i=n(80483),o=n(74616),a=n(22777);n(8303),n(46365),n(13250),n(30151),n(63567),n(87100),n(11226);var l=n(46238);n(96556);var s=n(20330),d=n(91063),u=n(97642),h=(0,s.K)((e,t,{parentById:n})=>{let r=new Set,i=e;if(e===t)return n[e]||"root";for(;i;){if(r.add(i),i===t)return i;i=n[i]}for(i=t;i;){if(r.has(i))return i;i=n[i]}return"root"},"findCommonAncestor");function g(e,t,{parentById:n}){let r=e;for(;(n[r]??"root")!==t;)r=n[r];return r}function f(e,t){let n=e.map(()=>!1),r=new Map;for(let i of(e.forEach(({source:e,target:n},i)=>{if(e===n)return;let o=h(e,n,t);if(o===e||o===n)return;let a=g(e,o,t),l=g(n,o,t),s=r.get(o)??[];s.push({index:i,from:a,to:l,collapsed:a!==e||l!==n}),r.set(o,s)}),r.values())){let e=new Map,t=[],r=new Map;for(let n of i){for(let i of[n.from,n.to])e.has(i)||(e.set(i,[]),t.push(i),r.set(i,0));e.get(n.from).push(n),r.set(n.to,r.get(n.to)+1)}let o=new Map;for(let i of[...t.filter(e=>0===r.get(e)),...t]){if(o.has(i))continue;o.set(i,1);let t=[{node:i,next:0}];for(;t.length>0;){let r=t[t.length-1],i=e.get(r.node);if(r.next>=i.length){o.set(r.node,2),t.pop();continue}let a=i[r.next++],l=o.get(a.to);1===l?n[a.index]=a.collapsed:void 0===l&&(o.set(a.to,1),t.push({node:a.to,next:0}))}}}return n}function p(e,{measure:t}){let n=e.config?.elk?.lineHops;if(!1===n)return;let i=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));(0,r.Z)(t.groups.edgePaths,i,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===n?"gap":"arc"})}(0,s.K)(g,"childOnPath"),(0,s.K)(f,"findSubgraphFeedbackEdges"),(0,s.K)(p,"applyElkLineJumps");var c={},y={},x={},b={},m=10,k=(0,s.K)((e,t,n=.5)=>{let r=e.width/2,i=e.height/2,o=e.x-r,a=e.x+r,l=e.y-i,s=e.y+i,d=Math.abs(t.x-o)<=n&&t.y>=l-n&&t.y<=s+n,u=Math.abs(t.x-a)<=n&&t.y>=l-n&&t.y<=s+n,h=Math.abs(t.y-l)<=n&&t.x>=o-n&&t.x<=a+n,g=Math.abs(t.y-s)<=n&&t.x>=o-n&&t.x<=a+n;return d||u||h||g},"onBorder"),w=(0,s.K)((e,t,n)=>{let r=e.x,i=e.y,o=Math.abs(r-n.x),a=e.width/2,l=n.x<t.x?a-o:a+o,s=e.height/2,d=Math.abs(t.y-n.y),u=Math.abs(t.x-n.x);if(Math.abs(i-t.y)*a>Math.abs(r-t.x)*s){let e=n.y<t.y?t.y-s-i:i-s-t.y;l=u*e/d;let r={x:n.x<t.x?n.x+l:n.x-u+l,y:n.y<t.y?n.y+d-e:n.y-d+e};return 0===u&&(r.x=t.x),0===d&&(r.y=t.y),r}{let e=d*(l=n.x<t.x?t.x-a-r:r-a-t.x)/u,i=n.x<t.x?n.x+u-l:n.x-u+l,o=n.y<t.y?n.y+e:n.y-e;return 0===u&&(i=t.x),0===d&&(o=t.y),{x:i,y:o}}},"intersection"),E=(0,s.K)((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),o=Math.abs(t.y-r),a=e.width/2,l=e.height/2;return i>=a||o>=l},"outsideNode"),M=(0,s.K)((e,t,n=m)=>{let r=Math.abs(t.x-e.x),i=Math.abs(t.y-e.y),o=e.width/2,a=e.height/2;if(1>Math.abs(r-o)||1>Math.abs(i-a)){let r=t.x-e.x,i=t.y-e.y,o=Math.sqrt(r*r+i*i);if(o>0)return{x:e.x+r/o*(o+n),y:e.y+i/o*(o+n)}}return t},"ensureTrulyOutside"),K=(0,s.K)((e,t,n)=>{let r=1>Math.abs(t.x-e.x),i=1>Math.abs(t.y-e.y);return{x:r?t.x:t.x<e.x?e.x-e.width/4:e.x+e.width/4,y:i?t.y:n.y}},"makeInsidePoint"),L=(0,s.K)((e,t,n)=>{if(!e?.intersect)return null;let r=e.intersect(n);return!r||n.x<t.x&&r.x>t.x||n.x>t.x&&r.x<t.x||1>=Math.hypot(n.x-r.x,n.y-r.y)?null:r},"tryNodeIntersect"),S=(0,s.K)((e,t,n)=>{let r=K(e,t,n);return w(e,t,r)},"fallbackIntersection"),O=(0,s.K)((e,t,n)=>{let r=e.intersect?.(n);return!!r&&Math.hypot(n.x-t.x,n.y-t.y)<=Math.hypot(r.x-t.x,r.y-t.y)+1e-9},"insideOutline"),P=(0,s.K)((e,t,n,r)=>{if(!e?.intersect)return null;let i=r.x-n.x,o=r.y-n.y;if(0===i&&0===o||Math.abs(i)>1e-6&&Math.abs(o)>1e-6)return null;let a={x:t.x,y:t.y},l=Math.abs(i)>Math.abs(o),d=(0,s.K)(e=>l?{x:e,y:n.y}:{x:n.x,y:e},"along"),u=l?a.x:a.y,h=l?n.x:n.y;if(!O(e,a,d(u)))return null;if(O(e,a,d(h)))return{...n};for(let t=0;t<20;t++){let t=(u+h)/2;O(e,a,d(t))?u=t:h=t}return d(u)},"outlineAttachPoint"),I=(0,s.K)((e,t,n,r)=>{let i=M(t,n);return L(e,t,i)??S(t,i,r)},"computeNodeIntersection"),A=(0,s.K)((e,t,n,r=.1)=>{if(n&&0!==e.length)if("start"===t)e.length>0&&Math.abs(e[0].x-n.x)<r&&Math.abs(e[0].y-n.y)<r?e.shift():e[0]=n;else{let t=e.length-1;e.length>0&&Math.abs(e[t].x-n.x)<r&&Math.abs(e[t].y-n.y)<r?e.pop():e[t]=n}},"replaceEndpoint"),v=(0,s.K)(e=>"string"!=typeof e?0:Math.max(a.hq[e]??0,a.Nq[e]??0),"markerPathOffset"),N={arrow_open:["none","none"],arrow_cross:["none","arrow_cross"],double_arrow_cross:["arrow_cross","arrow_cross"],arrow_point:["none","arrow_point"],double_arrow_point:["arrow_point","arrow_point"],arrow_circle:["none","arrow_circle"],double_arrow_circle:["arrow_circle","arrow_circle"]},T="[top=12,left=12,bottom=12,right=12]",D={"spacing.baseValue":15,"spacing.nodeNode":15,"elk.aspectRatio":"1.6","elk.expandNodes":"true","elk.rectpacking.trybox":"true","elk.rectpacking.packing.compaction.rowHeightReevaluation":"true","elk.rectpacking.packing.compaction.iterations":10,"elk.rectpacking.whiteSpaceElimination.strategy":"EQUAL_BETWEEN_STRUCTURES","elk.rectpacking.widthApproximation.strategy":"SCANLINE"},C=["nodeSize.constraints","nodeSize.minimum","elk.algorithm","elk.aspectRatio","elk.contentAlignment","elk.expandNodes","elk.padding",...Object.keys(D)];function _(e){for(let t of C)delete e[t];e["spacing.baseValue"]=24,e["spacing.nodeNode"]=50}(0,s.K)(_,"clearContainerAlgorithmOptions");var R=new Set(["elk.layered","elk.box","elk.rectpacking","elk.stress","elk.force","elk.mrtree","elk.radial","elk.sporeOverlap"]);function B(e,t){if("string"==typeof e)return R.has(e)?e:void t?.warn(`Unknown container layout algorithm "${e}". Supported values: ${[...R].join(", ")}. Falling back to the diagram's layout algorithm.`)}function $(e){switch(e){case"LR":return"RIGHT";case"RL":return"LEFT";case"TB":case"TD":default:return"DOWN";case"BT":return"UP"}}function X(e){return(0,o.qV)(e.shape)?(e.labelData?.width??e.labels?.[0]?.width??0)+(e.padding??0):0}function F(e){return(0,o.qV)(e.shape)?{"nodeSize.constraints":"[MINIMUM_SIZE, NODE_LABELS]","nodeSize.minimum":`(${X(e)}, 0)`}:{}}function G(e,t,n,r){let i=(e.labelData?.width??0)+2*(e.padding??0),o=e.labelData?.height??0,a=et(t?.preset),l={...F(e),"spacing.baseValue":24,"elk.layered.spacing.edgeNodeBetweenLayers":30,"elk.spacing.edgeEdge":20,"spacing.nodeNode":50,"elk.padding":"[top=24,left=24,bottom=24,right=24]","nodeLabels.placement":"[H_CENTER V_TOP, INSIDE]","elk.layered.mergeEdges":t?.mergeEdges,"elk.layered.nodePlacement.bk.fixedAlignment":t?.nodePlacementAlignment??a.alignment,"elk.layered.nodePlacement.strategy":t?.nodePlacementStrategy??a.containerPlacement,"elk.layered.cycleBreaking.strategy":t?.cycleBreakingStrategy??a.cycleBreaking,"elk.layered.nodePlacement.networkSimplex.nodeFlexibility":"PORT_POSITION","elk.spacing.portsSurrounding":T},s=B(e.metadata?.algorithm,r);if(s){let e=o+15;if(l["nodeSize.constraints"]="[MINIMUM_SIZE, NODE_LABELS]",l["nodeSize.minimum"]=`(${i}, ${e+15})`,l["elk.algorithm"]=s,l["elk.hierarchyHandling"]="SEPARATE_CHILDREN",l["elk.aspectRatio"]="2.0",l["elk.contentAlignment"]="H_CENTER V_TOP",l["elk.expandNodes"]="true",l["elk.padding"]=`[top=${e},left=15,bottom=15,right=15]`,"elk.rectpacking"===s){let e=o+10;Object.assign(l,D,{"elk.padding":`[top=${e},left=10,bottom=10,right=10]`,"nodeSize.minimum":`(${i}, ${e+10})`})}}else e.dir&&(l["elk.algorithm"]=n,l["elk.direction"]=$(e.dir),l["elk.hierarchyHandling"]="SEPARATE_CHILDREN");return Object.assign(l,b),l}function Y(e,t){let n=new Set,r=new Map;for(let{id:t,parentId:n}of e){let e=r.get(n);e?e.push(t):r.set(n,[t])}for(let e of r.values()){let r=new Set(e),i=new Map(e.map(e=>[e,0])),o=new Map(e.map(e=>[e,[]])),a=[];for(let e of t){let t=null==e.source?void 0:String(e.source),n=null==e.target?void 0:String(e.target);t&&n&&t!==n&&r.has(t)&&r.has(n)&&(i.set(n,(i.get(n)??0)+1),o.get(t).push(n),o.get(n).push(t),a.push([t,n]))}let l=new Map,d=0;for(let t of e){if(l.has(t))continue;let e=[t];for(l.set(t,d);e.length>0;){let t=e.pop();for(let n of o.get(t))l.has(n)||(l.set(n,d),e.push(n))}d++}let u=Array(d).fill(!1);for(let t of e)(i.get(t)??0)===0&&(u[l.get(t)]=!0);if(!u.includes(!1))continue;let h=new Map(e.map(e=>[e,[]])),g=new Map(e.map(e=>[e,0])),f=(0,s.K)((e,t)=>{let n=new Set([e]),r=[e];for(;r.length>0;){let e=r.pop();if(e===t)return!0;for(let t of h.get(e))n.has(t)||(n.add(t),r.push(t))}return!1},"reaches");for(let[e,t]of a)f(t,e)||(h.get(e).push(t),g.set(t,(g.get(t)??0)+1));let p=Array(d).fill(!1);for(let t of e){let e=l.get(t);u[e]||p[e]||0!==g.get(t)||(n.add(t),p[e]=!0)}}return n}function j(e,t){if(e.config.elk?.keepEntryNodeOnTop)for(let n of Y(e.nodes,e.edges.map(e=>({source:e.start,target:e.end})))){let e=t[n];e&&(e.layoutOptions={...e.layoutOptions,"elk.layered.layering.layerConstraint":"FIRST"})}}function H(e,t){let n=Z(t);return q(n),eV(e,n),{algorithm:n.algorithm}}async function W(e,t){let n=Z(t),r=U(e,n),i=new u;n.log.info("Drawing flowchart using v4 renderer",i);let o=await ep(i,r.elkGraph,n.log);return ec(e,o,r,n.log),J(e.nodes),o}function U(e,t){let n={},r=en(e,t.algorithm,t.rootLayoutOptions),i=e.direction??"DOWN";r.layoutOptions["elk.direction"]=$(i);let o=er(e.nodes,t.log);return ei(e.nodes,r,n,t),es(e,r,n,t),eh(e,n,o,t),eg(r,n,o,t.log),e.config.elk?.orientFeedbackEdges!==!1&&z(r,o),j(e,n),{elkGraph:r,nodeDb:n,parentLookupDb:o}}function z(e,t){let n=f(e.edges.map(e=>({source:e.sources[0],target:e.targets[0]})),t);e.edges.forEach((e,t)=>{n[t]&&([e.sources,e.targets]=[e.targets,e.sources],e.layoutReversed=!0)})}(0,s.K)(B,"resolveContainerAlgorithm"),(0,s.K)($,"dir2ElkDirection"),(0,s.K)(X,"groupTitleWidth"),(0,s.K)(F,"groupTitleSizeOptions"),(0,s.K)(G,"buildSubgraphLayoutOptions"),(0,s.K)(Y,"findCyclicEntryNodes"),(0,s.K)(j,"applyCyclicEntryConstraint"),(0,s.K)(H,"prepareLayoutForElk"),(0,s.K)(W,"runElkLayoutCore"),(0,s.K)(U,"buildElkGraphFromLayoutData"),(0,s.K)(z,"reverseSubgraphFeedbackEdges");var V=(0,i.xY)({afterPaint:p,prepareLayout:H,measureLayout:(0,s.K)((e,t)=>(0,i.QV)(e,t,{unwrapGroupLabels:!0}),"measureLayout"),runLayoutCore:W,paintOptions:{skipIntersect:!0}});function q(e){(0,l.XV)(e.getConfig())}function J(e){let t=new Map(e.map(e=>[e.id,e]));e.sort((e,n)=>e.isGroup!==n.isGroup?e.isGroup?-1:1:e.isGroup&&n.isGroup?Q(e,t)-Q(n,t):0)}function Q(e,t){let n=0,r=new Set,i=e.parentId;for(;i&&!r.has(i);){r.add(i);let e=t.get(i);if(!e?.isGroup)break;n++,i=e.parentId}return n}function Z(e){let t=e.helpers;if(!t)throw Error("ELK layout requires Mermaid internal helpers");return{algorithm:e.preparedLayout?.algorithm??e.options?.algorithm,rootLayoutOptions:e.options?.rootLayoutOptions,common:t.common,getConfig:t.getConfig,interpolateToCurve:t.interpolateToCurve,log:t.log}}(0,s.K)(q,"syncHostConfig"),(0,s.K)(J,"orderNodesForElkPaint"),(0,s.K)(Q,"getGroupDepth"),(0,s.K)(Z,"getElkLayoutContext");var ee={default:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"BALANCED",cycleBreaking:"DEPTH_FIRST"},legacy:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY"},modelOrder:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY_MODEL_ORDER"},depthFirst:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"DEPTH_FIRST"}};function et(e){return void 0!==e&&Object.hasOwn(ee,e)?ee[e]:ee.default}function en(e,t,n){let r=et(e.config.elk?.preset),i={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.algorithm":t,"elk.layered.nodePlacement.strategy":e.config.elk?.nodePlacementStrategy??r.placement,"elk.layered.nodePlacement.bk.fixedAlignment":e.config.elk?.nodePlacementAlignment??r.alignment,"elk.layered.mergeEdges":e.config.elk?.mergeEdges,"elk.direction":"DOWN","spacing.baseValue":40,"elk.layered.crossingMinimization.forceNodeModelOrder":e.config.elk?.forceNodeModelOrder,"elk.layered.considerModelOrder.strategy":e.config.elk?.considerModelOrder,"elk.layered.unnecessaryBendpoints":!0,"elk.layered.cycleBreaking.strategy":e.config.elk?.cycleBreakingStrategy??r.cycleBreaking,"elk.layered.layering.strategy":e.config.elk?.layeringStrategy??r.layering,"elk.layered.layering.coffmanGraham.layerBound":e.config.elk?.layeringLayerBound,"elk.layered.wrapping.multiEdge.improveCuts":!0,"elk.layered.wrapping.multiEdge.improveWrappedEdges":!0,"elk.layered.edgeRouting.selfLoopDistribution":"EQUALLY","elk.layered.mergeHierarchyEdges":!0,"elk.spacing.portsSurrounding":T},children:[],edges:[]};return"elk.rectpacking"===t&&Object.assign(i.layoutOptions,D,{"elk.contentAlignment":"H_CENTER V_TOP","elk.padding":"[top=15,left=15,bottom=15,right=15]"}),n&&Object.assign(i.layoutOptions,n),Object.assign(i.layoutOptions,c,y,x),i}function er(e,t){let n={parentById:{},childrenById:{}},r=e.filter(e=>e.isGroup);return t.info("Subgraphs - ",r),r.forEach(t=>{e.filter(e=>e.parentId===t.id).forEach(e=>{n.parentById[e.id]=t.id,n.childrenById[t.id]??=[],n.childrenById[t.id].push(e.id)})}),n}function ei(e,t,n,r,i){let o=e.filter(e=>e?.parentId===i);return r.log.info("addVertices APA12",o,i),o.forEach(i=>{eo(t,e,i,n,r)}),t}function eo(e,t,n,r,i){let o=ea(n);e.children.push(o),r[n.id]=o,n.isGroup&&(o.children=[],ei(t,o,r,i,n.id),o.labelData=el(n,i.getConfig()))}function ea(e){let t={...e};return delete t.domId,e.isGroup?t.children=[]:(t.width=e.width??0,t.height=e.height??0,e.spreadPorts&&(t.layoutOptions={...t.layoutOptions,"elk.portAlignment.default":"CENTER"})),t}function el(e,t){let n=e.labelData;return n||(e.labelBBox?{width:e.labelBBox.width,height:Math.max(0,e.labelBBox.height-2),wrappingWidth:e.wrappingWidth??t.flowchart?.wrappingWidth}:{width:0,height:0,wrappingWidth:e.wrappingWidth??t.flowchart?.wrappingWidth})}function es(e,t,n,r){r.log.info("abc78 DAGA edges = ",e);let i={};return e.edges.forEach(e=>{let o=e.id;i[o]=(i[o]??-1)+1,e.id=o,r.log.info("abc78 new link id to be used is",o,o,i[o]);let{source:a,target:l,sourceId:s,targetId:d}=eu(e,n);r.log.debug("abc78 source and target",a,l),t.edges.push({...e,sources:[a],targets:[l],sourceId:s,targetId:d,labels:[{width:e.width??0,height:e.height??0,orgWidth:e.width??0,orgHeight:e.height??0,text:e.label??"",layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}},...(r.rootLayoutOptions?.["elk.algorithm"]??r.algorithm??"elk.layered")==="elk.layered"?ed(e):[]]})}),t}function ed(e){let t={startLeft:e.startLabelLeft,startRight:e.startLabelRight,endLeft:e.endLabelLeft,endRight:e.endLabelRight};return Object.entries(e.terminalLabelSizes??{}).map(([n,r])=>{let i=n.startsWith("start"),o=i?e.arrowTypeStart:e.arrowTypeEnd,a=o&&"none"!==o?6:0;return{terminal:n,text:t[n],width:r.width+2*a,height:r.height+2*a,layoutOptions:{"edgeLabels.placement":i?"TAIL":"HEAD"}}})}function eu(e,t){let n=e.start,r=e.end,i=n?t[n]:void 0,o=r?t[r]:void 0;return i&&o?{source:n,target:r,sourceId:n,targetId:r}:{source:n,target:r}}function eh(e,t,n,r){e.nodes.forEach(i=>{let o=t[i.id];o&&void 0!==n.childrenById[o.id]&&(o.labels=[{text:o.label,width:o?.labelData?.width??50,height:o?.labelData?.height??50}],r.log.debug("UIO node label",o?.labelData?.width,o.padding),o.layoutOptions=G(o,e.config.elk,r.algorithm,r.log),delete o.x,delete o.y,delete o.width,delete o.height)})}function eg(e,t,n,r){r.debug("APA01 processing edges, count:",e.edges.length),e.edges.forEach((e,i)=>{r.debug("APA01 processing edge",i,":",e);let o=e.sources[0],a=e.targets[0];if(r.debug("APA01 source:",o,"target:",a),r.debug("APA01 nodeDb[source]:",t[o]),r.debug("APA01 nodeDb[target]:",t[a]),t[o]&&t[a]&&t[o].parentId!==t[a].parentId){let e=h(o,a,n);ef(t,o,e,r),ef(t,a,e,r)}})}function ef(e,t,n,r){let i=e[t];i&&(i.layoutOptions??={},"SEPARATE_CHILDREN"===i.layoutOptions["elk.hierarchyHandling"]&&B(i.metadata?.algorithm)&&(r.debug("Dropping explicit algorithm for node",i.id,"due to cross-boundary edges"),_(i.layoutOptions),Object.assign(i.layoutOptions,F(i))),i.layoutOptions["elk.hierarchyHandling"]="INCLUDE_CHILDREN",i.id!==n&&i.parentId&&ef(e,i.parentId,n,r))}async function ep(e,t,n){let r=globalThis.__mermaidProfiler;try{let i;r?.begin("layoutCore");try{i=await e.layout(t)}finally{r?.end()}return n.debug("APA01 after - success"),n.debug("APA01 layout result:",i),i}catch(e){throw n.error("ELK layout error:",e),e}}function ec(e,t,n,r){let i=new Map(e.nodes.map(e=>[e.id,e]));em(t.children??[],n,i,0,0,0,r),eb(t.children??[],n,i,t),eI(e,t,n,r)}function ey(e,t=new Set){for(let n of e.children??[])t.add(n.id),ey(n,t);return t}function ex(e,t,n,r){let i=[];for(let o of e.edges??[]){let e=o.sources?.[0]??o.start,a=o.targets?.[0]??o.end,l=t.has(e)&&t.has(a),s=e===r,d=a===r;if(!l&&!s&&!d)continue;let u=eF(e,a,n.parentLookupDb,n.nodeDb);for(let e of o.sections??[])for(let t of l?[e.startPoint,...e.bendPoints??[],e.endPoint]:[s?e.startPoint:null,d?e.endPoint:null])t&&i.push({x:t.x+u.x,y:t.y+u.y})}return i}function eb(e,t,n,r={}){for(let i of e){if(!i?.isGroup)continue;let e=i.children??[];eb(e,t,n,r);let o=t.nodeDb[i.id],a=e.map(e=>t.nodeDb[e.id]).filter(e=>e?.offset&&e.width&&e.height);if(!o?.offset||0===a.length)continue;let l=ex(r,ey(i),t,i.id),s=[...a.map(e=>e.offset.posX),...a.map(e=>e.offset.posX+e.width),...l.map(e=>e.x)],d=[...a.map(e=>e.offset.posY),...a.map(e=>e.offset.posY+e.height),...l.map(e=>e.y)],u=o.offset,h=Math.max(u.posX,Math.min(...s)-24),g=Math.min(u.posX+o.width,Math.max(...s)+24),f=Math.min(u.posY+o.height,Math.max(...d)+24),p=u.posY,c=X(i),y=h,x=g-h;if(x<c){y-=(c-x)/2,x=c;let e=u.posX+o.width;y=Math.max(u.posX,Math.min(y,e-x)),x=Math.min(x,o.width)}let b=f-p;if(b<=0||x<=0)continue;o.elkOrigin??={posX:u.posX,posY:u.posY},o.offset.posX=y,o.offset.width=x,o.offset.height=b,o.width=x,o.height=b,o.x=y+x/2,o.y=p+b/2;let m=n.get(i.id);m&&(m.x=o.x,m.y=o.y,m.width=x,m.height=b)}}function em(e,t,n,r,i,o,a){e.forEach(e=>{if(!e)return;let l=t.nodeDb[e.id]??e,s=Math.max(e.width,e.labels&&e.labels[0]?.width||0),d={posX:e.x+r,posY:e.y+i,x:r,y:i,depth:o,width:s,height:e.height};l.offset=d,l.x=d.posX+e.width/2,l.y=d.posY+e.height/2,l.width=e.width,l.height=e.height;let u=n.get(e.id);u&&(u.x=l.x,u.y=l.y,u.width=e.isGroup?Math.max(e.width,e.labelData?.width??0):e.width,u.height=e.height,u.labelData=e.labelData,u.labels=e.labels),e.isGroup?(a.debug("Id abc88 subgraph = ",e.id,e.x,e.y,e.labelData),em(e.children??[],t,n,d.posX,d.posY,o+1,a)):a.info("Id NODE = ",e.id,e.x,e.y,r,i,`translate(${l.x}, ${l.y})`)})}function ek(e,t){let n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n>.01&&r<=.01?"h":r>.01&&n<=.01?"v":void 0}function ew(e){let t=[],n=e,r=eE(n);r&&(n=r.points,t.push(r.run));let i=eE([...n].reverse());return i&&(n=i.points.reverse(),t.push(i.run)),{points:n,runs:t}}function eE(e){if(e.length<5)return null;let[t,n,r,i]=e,o=ek(t,n);if(!o||ek(r,i)!==o||ek(n,r)!==("h"===o?"v":"h")||Math.hypot(n.x-t.x,n.y-t.y)>30)return null;let a="h"===o?Math.abs(r.y-n.y):Math.abs(r.x-n.x);if(a<.01||a>16||!("h"===o?Math.sign(n.x-t.x)===Math.sign(i.x-r.x):Math.sign(n.y-t.y)===Math.sign(i.y-r.y)))return null;let l=3;for(;l+1<e.length&&ek(e[l],e[l+1])===o;)l++;if(l===e.length-1)return null;let s=[...e];for(let n=2;n<=l;n++)s[n]="h"===o?{x:e[n].x,y:t.y}:{x:t.x,y:e[n].y};let d={old:{a:e[2],b:e[l]},new:{a:s[2],b:s[l]}};return s.splice(1,2),{points:s,run:d}}function eM(e,t,n,r){let i=(0,s.K)((e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),"side"),o=i(n,r,e),a=i(n,r,t),l=i(e,t,n),d=i(e,t,r);return(o>0&&a<0||o<0&&a>0)&&(l>0&&d<0||l<0&&d>0)}function eK(e,t){let n=0;for(let r=0;r<e.length-1;r++)for(let i=0;i<t.length-1;i++)eM(e[r],e[r+1],t[i],t[i+1])&&n++;return n}function eL(e,t,n){let r=n.x-t.x,i=n.y-t.y,o=r*r+i*i;return 0===o?0:Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/o))}function eS(e,t,n){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function eO(e,t){let n=null;for(let r of t){let t=eL(e,r.old.a,r.old.b),i=eS(r.old.a,r.old.b,t),o=i.x-e.x,a=i.y-e.y,l=o*o+a*a;(!n||l<n.distSq)&&(n={distSq:l,point:eS(r.new.a,r.new.b,t)})}return n?.point??null}function eP(e){let t=e.map(e=>e.points??[]),n=[];for(let[r,i]of e.entries()){let e=t[r];if(e.length<5)continue;let{points:o,runs:a}=ew(e);if(o===e)continue;let l=0,s=0;for(let[n,i]of t.entries())n===r||i.length<2||(l+=eK(e,i),s+=eK(o,i));s>l||(i.points=o,t[r]=o,n.push({edge:i,runs:a}))}return n}function eI(e,t,n,r){let i=new Map(e.edges.map(e=>[e.id,e])),o=e.config.elk?.straightenEdges!==!1,a=new Map;for(let t of e.edges)delete t.terminalLabelCenters;let l=new Map(e.nodes.map(e=>[e.id,e])),d=new Set;if(t.edges?.forEach(e=>{if(!e.sections?.length)return;let t=n.nodeDb[e.sources?.[0]??e.start],r=n.nodeDb[e.targets?.[0]??e.end];if(!t||!r)return;let i=eF(e.start??e.sourceId??e.sources?.[0],e.end??e.targetId??e.targets?.[0],n.parentLookupDb,n.nodeDb),o=e.sections[0];"rect33"!==t.shape&&e$(t,{x:o.startPoint.x+i.x,y:o.startPoint.y+i.y},l,d),"rect33"!==r.shape&&e$(r,{x:o.endPoint.x+i.x,y:o.endPoint.y+i.y},l,d)}),t.edges?.forEach(e=>{let t=i.get(e.id);if(!t)return;let o=!0===e.layoutReversed,l=e.sources?.[0]??e.start,d=e.targets?.[0]??e.end;o&&([l,d]=[d,l]);let u=n.nodeDb[l],h=n.nodeDb[d];if(!u||!h)return;if(!e.sections?.length){let n=(0,s.K)(e=>({x:(e.offset?.posX??e.x??0)+(e.width??0)/2,y:(e.offset?.posY??e.y??0)+(e.height??0)/2}),"centre"),i=n(u),o=n(h);u.x=i.x,u.y=i.y,h.x=o.x,h.y=o.y;let a=eG([i,o],u,h,r);t.points=a,t.curve="linear";let l=a[0],d=a[a.length-1];t.x=(l.x+d.x)/2,t.y=(l.y+d.y)/2,r.debug("APA18 no edge sections, using a straight line",e.id,t.points);return}let g=e.start??e.sourceId??l,f=e.end??e.targetId??d,p=eF(g,f,n.parentLookupDb,n.nodeDb);r.debug("APA18 offset",p,g," ==> ",f,"edge:",e,u);let c=eX(e.sections[0],p);o&&c.reverse();let y={start:c[0],end:c[c.length-1]};u.x=u.offset.posX+u.width/2,u.y=u.offset.posY+u.height/2,h.x=h.offset.posX+h.width/2,h.y=h.offset.posY+h.height/2,"rect33"!==u.shape&&c.unshift({x:u.x,y:u.y}),"rect33"!==h.shape&&c.push({x:h.x,y:h.y}),t.points=eU(ez(eG(c,u,h,r),e1(h),eH(t),r),e1(u),eW(t),r),t.curve="rounded";let x=e.labels?.[0];for(let n of(x&&(t.x=x.x+p.x+x.width/2,t.y=x.y+p.y+x.height/2),e.labels??[]))n.terminal&&(n.x||n.y)&&(t.terminalLabelCenters??={},t.terminalLabelCenters[n.terminal]={x:n.x+p.x+n.width/2,y:n.y+p.y+n.height/2});t.terminalLabelCenters&&a.set(t,y)}),o)for(let{edge:t,runs:n}of eP(e.edges)){if(null==t.x||null==t.y)continue;let e=eO({x:t.x,y:t.y},n);e&&(t.x=e.x,t.y=e.y)}for(let[e,t]of a)eB(e,t);e_(e.edges,e.nodes),eR(e.edges,e.nodes),eA(e.edges)}function eA(e){let t=new Map;for(let n of e){if(null==n.x||null==n.y||!n.label||!n.width)continue;let e=[n.start??"",n.end??""].sort().join("\0"),r=t.get(e);r?r.push(n):t.set(e,[n])}for(let e of t.values()){if(2!==e.length)continue;let[t,n]=e;if(Math.abs(t.y-n.y)>Math.max(t.height??0,n.height??0))continue;let r=t.width/2+n.width/2+4,i=n.x-t.x,o=r-Math.abs(i);if(o<=0)continue;let a=Math.sign(i)||1;t.x=t.x-a*o/2,n.x=n.x+a*o/2}}function ev(e,t,n){let r=0,i=1,o=t.x-e.x,a=t.y-e.y;for(let[t,l]of[[-o,e.x-n.x1],[o,n.x2-e.x],[-a,e.y-n.y1],[a,n.y2-e.y]])if(0===t){if(l<0)return!1}else t<0?r=Math.max(r,l/t):i=Math.min(i,l/t);return r<i}(0,s.K)(et,"resolveElkPreset"),(0,s.K)(en,"createRootElkGraph"),(0,s.K)(er,"addSubGraphs"),(0,s.K)(ei,"addVertices"),(0,s.K)(eo,"addVertex"),(0,s.K)(ea,"createElkNode"),(0,s.K)(el,"getMeasuredLabelData"),(0,s.K)(es,"addEdgesToElkGraph"),(0,s.K)(ed,"terminalElkLabels"),(0,s.K)(eu,"getEdgeStartEndPoint"),(0,s.K)(eh,"configureSubgraphNodes"),(0,s.K)(eg,"configureCrossHierarchyEdges"),(0,s.K)(ef,"setIncludeChildrenPolicy"),(0,s.K)(ep,"runElkLayout"),(0,s.K)(ec,"applyElkLayoutResult"),(0,s.K)(ey,"collectDescendantIds"),(0,s.K)(ex,"internalEdgePoints"),(0,s.K)(eb,"evenGroupFrames"),(0,s.K)(em,"applyElkNodePositions"),(0,s.K)(ek,"axisOf"),(0,s.K)(ew,"straightenTerminalJogsWithRuns"),(0,s.K)(eE,"straightenFront"),(0,s.K)(eM,"segmentsCrossStrict"),(0,s.K)(eK,"crossingCount"),(0,s.K)(eL,"paramOnSegment"),(0,s.K)(eS,"pointAtParam"),(0,s.K)(eO,"projectLabelOntoStraightenedRun"),(0,s.K)(eP,"straightenEdgeTerminals"),(0,s.K)(eI,"applyElkEdgeLayout"),(0,s.K)(eA,"separateOppositeEdgeLabels"),(0,s.K)(ev,"segmentHitsBox");var eN=(0,s.K)((e,t)=>e.x1<t.x2&&t.x1<e.x2&&e.y1<t.y2&&t.y1<e.y2,"boxesOverlap"),eT=(0,s.K)((e,t)=>({x1:e.x-t.width/2,y1:e.y-t.height/2,x2:e.x+t.width/2,y2:e.y+t.height/2}),"labelBox");function eD(e,t){let n=t.filter(e=>void 0!==e.x&&void 0!==e.y),r=(0,s.K)(e=>eT({x:e.x,y:e.y},{width:e.width??0,height:e.height??0}),"boxOf"),i=n.filter(e=>!e.isGroup).map(r),o=n.filter(e=>e.isGroup).map(r).flatMap(({x1:e,y1:t,x2:n,y2:r})=>[[{x:e,y:t},{x:n,y:t}],[{x:n,y:t},{x:n,y:r}],[{x:n,y:r},{x:e,y:r}],[{x:e,y:r},{x:e,y:t}]]),a=e.filter(e=>e.label&&e.width&&e.height&&void 0!==e.x).map(e=>eT({x:e.x,y:e.y},{width:e.width,height:e.height})),l=(0,s.K)((e,t=0)=>{let n={x1:e.x1-t,y1:e.y1-t,x2:e.x2+t,y2:e.y2+t};return o.some(([e,t])=>ev(e,t,n))},"hitsFrame"),d=(0,s.K)((t,n,r,o,s=0)=>i.some(e=>eN(t,e))||a.some(e=>eN(t,e))||l(t,s)||e.some(e=>(e.points??[]).some((r,i,a)=>i<a.length-1&&(e!==n||i!==o)&&ev(r,a[i+1],t)))||e.some(e=>Object.entries(e.terminalLabelCenters??{}).some(([i,o])=>{let a=e.terminalLabelSizes?.[i];return(e!==n||i!==r)&&void 0!==a&&eN(t,eT(o,a))})),"blocked");return{hitsFrame:l,blocked:d}}function*eC(e){for(let t of e){let e=t.points;if(e&&!(e.length<2)&&t.terminalLabelCenters&&t.terminalLabelSizes)for(let[n,r]of Object.entries(t.terminalLabelCenters)){let i=t.terminalLabelSizes[n],o=n.startsWith("start"),a=o?0:e.length-2,[l,s]=[e[a],e[a+1]],d=Math.hypot(s.x-l.x,s.y-l.y);i&&0!==d&&(yield{edge:t,key:n,center:r,size:i,atStart:o,segment:a,from:l,to:s,length:d})}}}function e_(e,t){let{hitsFrame:n,blocked:r}=eD(e,t);for(let{edge:t,key:i,center:o,size:a,atStart:l,segment:d,from:u,to:h,length:g}of eC(e)){if(!n(eT(o,a)))continue;let[e,f]=l?[h,u]:[u,h],p={x:(f.x-e.x)/g,y:(f.y-e.y)/g},c=(Math.abs(p.x)*a.width+Math.abs(p.y)*a.height)/2,y=(0,s.K)(e=>(e.x-f.x)*p.x+(e.y-f.y)*p.y,"along"),x=(0,s.K)(e=>y(e)+c<=0&&y(e)-c>=-g,"onSegment");for(let e=1;e<=g;e++){let n=[e,-e].map(e=>({x:o.x+e*p.x,y:o.y+e*p.y})).find(e=>x(e)&&!r(eT(e,a),t,i,d,2));if(n){t.terminalLabelCenters[i]=n;break}}}}function eR(e,t){let{blocked:n}=eD(e,t);for(let{edge:t,key:r,center:i,size:o,segment:a,from:l,to:s,length:d}of eC(e)){let e={x:-(s.y-l.y)/d,y:(s.x-l.x)/d},u=(i.x-l.x)*e.x+(i.y-l.y)*e.y;if(0===u||u>0===r.endsWith("Right"))continue;let h={x:i.x-2*u*e.x,y:i.y-2*u*e.y};n(eT(h,o),t,r,a)||(t.terminalLabelCenters[r]=h)}}function eB(e,t){let n=e.points;if(!n?.length||!e.terminalLabelCenters)return;let r={start:{x:n[0].x-t.start.x,y:n[0].y-t.start.y},end:{x:n[n.length-1].x-t.end.x,y:n[n.length-1].y-t.end.y}};for(let[t,n]of Object.entries(e.terminalLabelCenters)){let i=t.startsWith("start")?r.start:r.end;e.terminalLabelCenters[t]={x:n.x+i.x,y:n.y+i.y}}}function e$(e,t,n,r){let i=e.width??0,o=e.height??0,a=e.offset.posY,l=.5>=Math.abs(t.y-a)||.5>=Math.abs(t.y-(a+o));if((l?i:o)>=24||r.has(e.id))return;r.add(e.id);let s=l?t.x-(e.offset.posX+i/2):t.y-(e.offset.posY+o/2);if(.01>Math.abs(s))return;l?(e.offset.posX+=s,e.x=e.offset.posX+i/2):(e.offset.posY+=s,e.y=e.offset.posY+o/2);let d=n.get(e.id);d&&(d.x=e.offset.posX+i/2,d.y=e.offset.posY+o/2)}function eX(e,t){let n=e.startPoint,r=e.endPoint,i=(e.bendPoints?e.bendPoints:[]).map(e=>({x:e.x+t.x,y:e.y+t.y}));return[{x:n.x+t.x,y:n.y+t.y},...i,{x:r.x+t.x,y:r.y+t.y}]}function eF(e,t,n,r){let i=h(e,t,n);if(void 0===i||"root"===i)return{x:0,y:0};let o=r[i],a=o?.elkOrigin??o?.offset;return{x:a?.posX??0,y:a?.posY??0}}function eG(e,t,n,r){let i,o=Array.isArray(e)?[...e]:[],a=e1(n);r.debug("PPP cutter2: Points before cutter2:",JSON.stringify(e),"endBounds:",a,k(a,e[e.length-1]));{let e=e1(t),a=e1(n),l=!!t?.isGroup,s=!!n?.isGroup,{candidate:d,centerApprox:u}=e3(o,t,"start"),{candidate:h,centerApprox:g}=e3(o,n,"end"),f=l&&k(e,d),p=s&&k(a,h);e6(o,"start",f&&u),e6(o,"end",p&&g),l&&!f&&(f=e4(o,e,"start")),s&&!p&&(p=e4(o,a,"end")),f||p?(f||e9(o,t,e,r),p||e7(o,n,a,r),r.debug("PPP cutter2: skipping cutter2 due to on-border group endpoint(s)",{skipStart:f,skipEnd:p,startCenterApprox:u,endCenterApprox:g,startCandidate:d,endCandidate:h}),i=o):i=te(t,n,o,r)}if(r.debug("PPP cutter2: Points after cutter2:",JSON.stringify(i)),!Array.isArray(i)||i.length<2||eY(i)){r.warn("POI cutter2: Invalid points from cutter2, falling back to prevPoints",i);let e=o.filter(e=>Number.isFinite(e?.x)&&Number.isFinite(e?.y));i=e.length>=2?e:o}return r.debug("UIO cutter2: Points after cutter2 (sanitized):",i),ej(i,r)}function eY(e){return e?.some(e=>!Number.isFinite(e?.x)||!Number.isFinite(e?.y))}function ej(e,t){let n=e.filter((e,t,n)=>{if(0===t)return!0;let r=n[t-1];return Math.abs(e.x-r.x)>1e-6||Math.abs(e.y-r.y)>1e-6});return n.length!==e.length&&t.debug("UIO cutter2: removed consecutive duplicate points",{before:e,after:n}),n}function eH(e){return v(e.arrowTypeEnd)}function eW(e){return v(e.arrowTypeStart)}function eU(e,t,n,r){if(n<=0||e.length<3)return e;let i=e[0],o=e[1],a=Math.hypot(o.x-i.x,o.y-i.y);if(a>=Math.max(8,2*n)||!k(t,o,1))return e;let l=[i,...e.slice(2)];return r.debug("UIO cutter2: removed short start marker segment",{before:e,after:l,markerOffset:n,segmentLength:a}),l}function ez(e,t,n,r){if(n<=0||e.length<3)return e;let i=e[e.length-1],o=e[e.length-2],a=Math.hypot(i.x-o.x,i.y-o.y);if(a>=Math.max(8,2*n)||!k(t,o,1))return e;let l=[...e.slice(0,-2),i];return r.debug("UIO cutter2: removed short end marker segment",{before:e,after:l,markerOffset:n,segmentLength:a}),l}function eV(e,t){let n=e.edges.defaultInterpolate,r=e.edges.defaultStyle,i=t.getConfig();e.edges.forEach(e=>{let o=eZ(e,{defaultStyle:r,defaultInterpolate:n,confCurve:i.curve},t);Object.assign(e,o)})}function eq(e){return void 0!==e.classes?e.classes:e.start&&e.end?`flowchart-link LS_${e.start} LE_${e.end}`:void 0}function eJ(e,t,n){let r="normal",i="solid",o=[],a=[];return"dotted"===e?(i="dotted",o=["fill:none","stroke-width:2px","stroke-dasharray:3"]):"thick"===e?(r="thick",o=["stroke-width: 3.5px","fill:none"]):(o=t??["fill:none"],void 0!==n&&(a=n)),{thickness:r,pattern:i,style:o,labelStyle:a}}function eQ(e,t,n){return void 0!==e?e:void 0!==t?t:n}function eZ(e,t,n){let r={};r.minlen=e.minlen??e.length??1,r.text=e.text??e.label,r.arrowhead=e.arrowhead??("arrow_open"===e.type?"none":"normal");let i=N[e.type??"arrow_open"]??N.arrow_open;r.arrowTypeStart=e.arrowTypeStart??i[0],r.arrowTypeEnd=e.arrowTypeEnd??i[1],r.startLabelRight=e.startLabelRight,r.endLabelLeft=e.endLabelLeft;let o=eJ(e.stroke,t.defaultStyle,t.defaultLabelStyle);r.thickness=e.thickness??o.thickness,r.pattern=e.pattern??o.pattern,r.style=e.style??o.style,r.labelStyle=e.labelStyle??o.labelStyle,r.classes=eq(e),r.curve=n.interpolateToCurve(eQ(e.curve??e.interpolate,t.defaultInterpolate,t.confCurve),d.lUB);let a=(r.text??"")!=="";return void 0!==e.arrowheadStyle?r.arrowheadStyle=e.arrowheadStyle:(a||void 0!==e.style)&&(r.arrowheadStyle="fill: #333"),r.labelpos=e.labelpos??(a?"c":void 0),r.labelType=e.labelType,r.label=(e.label??r.text??"").replace(n.common.lineBreakRegex,"\n"),r}function e0(e){return Math.max(e.width??0,X(e))}function e1(e){let t=e?.isGroup?e0(e):e.width;return{x:e.offset.posX+e.width/2,y:e.offset.posY+e.height/2,width:t??0,height:e.height??0,padding:e.padding}}function e2(e,t,n=1e-6){return Math.abs(e-t)<n}function e5(e,t){return e2(e.x,t.x??0)&&e2(e.y,t.y??0)}function e3(e,t,n){if(!e?.length)return{candidate:{x:t.x??0,y:t.y??0},centerApprox:!0};if("start"===n){let n=e[0],r=e5(n,t);return{candidate:r&&e.length>1?e[1]:n,centerApprox:r}}{let n=e[e.length-1],r=e5(n,t);return{candidate:r&&e.length>1?e[e.length-2]:n,centerApprox:r}}}function e6(e,t,n){n&&("start"===t?e.length>0&&e.shift():e.length>0&&e.pop())}function e4(e,t,n){let r="start"===n?1:-1,i="start"===n?0:e.length-1,o=i;for(;i>=0&&i<e.length&&!E(t,e[i]);)i+=r;if(i===o||i<0||i>=e.length)return!1;let a=e[i],l=e[i-r],s=a.x-l.x,d=a.y-l.y,u=Math.min(0===s?1/0:(t.x+Math.sign(s)*t.width/2-l.x)/s,0===d?1/0:(t.y+Math.sign(d)*t.height/2-l.y)/d),h={x:l.x+u*s,y:l.y+u*d};return"start"===n?e.splice(0,i,h):e.splice(i+1,e.length-i-1,h),!0}function e9(e,t,n,r){let i=-1;for(let[t,r]of e.entries())if(E(n,r)){i=t;break}if(-1!==i){let o=I(t,n,e[i],e[0]);A(e,"start",o),r.debug("UIO cutter2: start-only intersection applied",{startIntersection:o})}}function e7(e,t,n,r){let i=-1;for(let t=e.length-1;t>=0;t--)if(E(n,e[t])){i=t;break}if(-1!==i){let o=I(t,n,e[i],e[e.length-1]);A(e,"end",o),r.debug("UIO cutter2: end-only intersection applied",{endIntersection:o})}}function e8(e,t,n,r,i){if(e?.isGroup)return null;let o=n[r],a=n[r+i];return o&&a?P(e,t,o,a):null}function te(e,t,n,r){let i=e1(e),o=e1(t);if(0===n.length)return[];let a=[...n],l=a[0],s=a[a.length-1];r.debug("PPP cutter2: bounds",{startBounds:i,endBounds:o}),r.debug("PPP cutter2: original points",n);let d=-1;for(let[e,t]of a.entries())-1===d&&E(i,t)&&(d=e);if(-1!==d){let t=a[d],n=e8(e,i,a,d,1)??I(e,i,t,l);r.debug("UIO cutter2: start intersection",n),A(a,"start",n)}let u=null,h=-1;for(let e=a.length-1;e>=0;e--)if(E(o,a[e])){u=a[e],h=e;break}if(!u&&a.length>1&&(u=a[a.length-2],h=a.length-2),u){let e=e8(t,o,a,h,-1)??I(t,o,u,s);r.debug("UIO cutter2: end intersection",{endIntersection:e,outsideIndexForEnd:h}),A(a,"end",e)}if(a.length>1){let e=a[a.length-1],t=a[a.length-2],n=Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);n<2&&(r.debug("UIO cutter2: trimming tail point (too close)",{distance:n,lastPoint:e,secondLastPoint:t}),a.pop())}return r.debug("UIO cutter2: final points",a),a}(0,s.K)(eD,"terminalLabelObstacles"),(0,s.K)(eC,"placedTerminalLabels"),(0,s.K)(e_,"slideTerminalLabelsOffFrames"),(0,s.K)(eR,"putTerminalLabelsOnTheirSide"),(0,s.K)(eB,"followMovedEndpoints"),(0,s.K)(e$,"alignDegenerateNodeToAnchor"),(0,s.K)(eX,"createEdgePointsFromSection"),(0,s.K)(eF,"calcOffset"),(0,s.K)(eG,"sanitizeElkEdgePoints"),(0,s.K)(eY,"hasInvalidPoint"),(0,s.K)(ej,"dedupeConsecutivePoints"),(0,s.K)(eH,"getEndMarkerPathOffset"),(0,s.K)(eW,"getStartMarkerPathOffset"),(0,s.K)(eU,"ensureStartMarkerSegmentLength"),(0,s.K)(ez,"ensureEndMarkerSegmentLength"),(0,s.K)(eV,"applyElkEdgeRenderData"),(0,s.K)(eq,"buildFallbackEdgeClasses"),(0,s.K)(eJ,"computeStroke"),(0,s.K)(eQ,"getCurve"),(0,s.K)(eZ,"buildEdgeData"),(0,s.K)(e0,"getEffectiveGroupWidth"),(0,s.K)(e1,"boundsFor"),(0,s.K)(e2,"approxEq"),(0,s.K)(e5,"isCenterApprox"),(0,s.K)(e3,"getCandidateBorderPoint"),(0,s.K)(e6,"dropAutoCenterPoint"),(0,s.K)(e4,"clipGroupEndpoint"),(0,s.K)(e9,"applyStartIntersectionIfNeeded"),(0,s.K)(e7,"applyEndIntersectionIfNeeded"),(0,s.K)(e8,"attachAlongDepartureAxis"),(0,s.K)(te,"cutter2")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9371],{12889:(e,r,t)=>{t.d(r,{bq:()=>m,af:()=>g,Jv:()=>y});var n=t(94451);let a={failed:{word:"실패",mark:"✗",cell:"border-red-600/60 bg-red-600/15 text-red-800 dark:text-red-300"},timeout:{word:"잘림",mark:"✂",cell:"border-orange-600/60 bg-orange-500/15 text-orange-800 dark:text-orange-300"},retry:{word:"재시도",mark:"↻",cell:"border-amber-600/60 bg-amber-500/15 text-amber-800 dark:text-amber-300"},pending:{word:"대기",mark:"○",cell:"border-dashed border-border bg-muted/40 text-muted-foreground"},running:{word:"돌기",mark:"●",cell:"border-primary bg-primary/10 text-foreground"},done:{word:"끝",mark:"✓",cell:"border-emerald-600/50 bg-emerald-600/10 text-emerald-800 dark:text-emerald-300"}},s={pending:{word:"끝 \xb7 rc≠0 \xb7 판정 전",mark:"!",cell:"border-amber-600/60 bg-amber-500/15 text-amber-800 dark:text-amber-300"},preexisting:{word:"끝 \xb7 기존 실패",mark:"✓",cell:"border-emerald-600/50 bg-emerald-600/10 text-emerald-800 dark:text-emerald-300"},introduced:{word:"끝 \xb7 rc≠0 \xb7 새 실패 있음",mark:"!",cell:"border-red-600/60 bg-red-600/15 text-red-800 dark:text-red-300"}},o=e=>"done"===e.state&&void 0!==e.rc&&0!==e.rc,d=(e,r)=>o(e)?(e=>e?e.introduced>0?s.introduced:s.preexisting:s.pending)(r):a[e.state],l=Object.keys(a);function i(e){let r=e.summary.counts,t=e.shards.filter(o).length;return["조각 ".concat(e.summary.total),...l.filter(e=>r[e]>0).map(n=>{var s;return"".concat(a[n].word," ").concat(r[n]).concat("done"===n?(s=e.summary.verdict)?s.introduced>0?"(새 실패 ".concat(s.introduced,")"):"":t?"(rc≠0 ".concat(t," \xb7 기존 실패 포함 \xb7 판정 전)"):"":"")})].join(" \xb7 ")}function c(e,r){let t=["".concat(e.id," \xb7 ").concat(d(e,r).word)];return e.waitReason&&t.push("대기 이유: ".concat(e.waitReason)),void 0!==e.rc&&t.push("rc ".concat(e.rc)),void 0!==e.installSec&&t.push("설치 ".concat(e.installSec,"초")),void 0!==e.plannedMin&&t.push("계획 ".concat(e.plannedMin,"분")),t.join(" \xb7 ")}function u(e){let{gate:r}=e,{summary:t}=r,a=e=>l.indexOf(e.state)-.5*!!o(e),s=[...r.shards].sort((e,r)=>a(e)-a(r)||e.id.localeCompare(r.id,"en",{numeric:!0}));return(0,n.jsxs)("div",{className:"min-w-0 space-y-2","aria-label":"게이트 조각",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"게이트 조각"}),(0,n.jsxs)("p",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 text-sm",children:[(0,n.jsx)("span",{className:"font-semibold tabular-nums",children:i(r)}),(0,n.jsx)("span",{className:"text-muted-foreground",children:function(e){var r;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(null!=(r=t.overrunMin)?r:0)>=1?"계획보다 ".concat(t.overrunMin,"분 넘게 도는 중 — 남은 시간 추정 불가"):null===e?"남은 시간 추정 불가(계획 분 없음)":0===e?t.open?"곧 끝남(계획상)":"남은 조각 없음":e>=60?"남은 약 ".concat(Math.floor(e/60),"시간 ").concat(e%60,"분"):"남은 약 ".concat(e,"분")}(t.etaMin,{overrunMin:t.overrunMin,open:t.counts.running+t.counts.pending+t.counts.retry})}),null!==t.staleMin&&t.staleMin>=15&&(0,n.jsxs)("span",{role:"alert",className:"font-semibold text-amber-700 dark:text-amber-400",children:["⚠️ ",t.staleMin,"분째 갱신 없음"]})]}),t.waitReasons.length>0&&(0,n.jsx)("ul",{"aria-label":"대기 이유",className:"space-y-0.5 text-xs",children:t.waitReasons.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)("span",{className:"font-medium",children:["대기 ",e.count]})," — ",e.reason]},e.reason))}),(0,n.jsx)("ol",{"aria-label":"조각 상태 표",className:"grid grid-cols-4 gap-1 sm:grid-cols-6 lg:grid-cols-8",children:s.map(e=>{let r=d(e,t.verdict);return(0,n.jsxs)("li",{"data-shard-state":e.state,title:c(e,t.verdict),"aria-label":c(e,t.verdict),className:"min-w-0 rounded border px-1.5 py-1 text-[11px] leading-tight ".concat(r.cell),children:[(0,n.jsx)("span",{className:"block truncate font-mono",children:e.id}),(0,n.jsxs)("span",{className:"block font-semibold",children:[r.mark," ",r.word]})]},e.id)})})]})}let m={done:{mark:"✓",word:"끝남",chip:"border-emerald-600/50 bg-emerald-600/10",dot:"bg-emerald-600 text-white"},failed:{mark:"✗",word:"실패",chip:"border-red-600/60 bg-red-600/10",dot:"bg-red-600 text-white"},current:{mark:"●",word:"지금",chip:"border-primary bg-primary/10 ring-2 ring-primary/30",dot:"bg-primary text-primary-foreground"},pending:{mark:"○",word:"남음",chip:"border-border border-dashed bg-muted/30",dot:"bg-muted text-muted-foreground"}},p=/^(done|completed|success|succeeded|failed|error|cancelled|aborted)$/i;function x(e,r){let t=e.nodes.find(e=>e.nodeId===r);return(null==t?void 0:t.ok)===!0?"done":(null==t?void 0:t.ok)===!1?"failed":e.path.find(r=>{var t;return(null==(t=e.nodes.find(e=>e.nodeId===r))?void 0:t.ok)!==!0})!==r||p.test(e.status)?"pending":"current"}let f=e=>!!e&&Number.isFinite(Date.parse(e)),h=e=>new Date(e).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul",hour:"2-digit",minute:"2-digit",hourCycle:"h23"});function b(e,r){if(!f(null==e?void 0:e.startedAt))return"시각 미기록";let t=Math.max(0,Math.round(((f(e.endedAt)?Date.parse(e.endedAt):r)-Date.parse(e.startedAt))/6e4));return"".concat(h(e.startedAt)).concat(f(e.endedAt)?"–".concat(h(e.endedAt)):" 시작"," \xb7 ").concat(t,"분")}function g(e){let{run:r,openedNodeId:t,onNode:a,now:s=Date.now()}=e,o=r.path.map(e=>x(r,e)),d=["done","failed","current","pending"].map(e=>[e,o.filter(r=>r===e).length]);return(0,n.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,n.jsx)("div",{className:"flex h-2 w-full overflow-hidden rounded-full bg-muted",role:"img","aria-label":"노드 ".concat(r.path.length,"개 중 ").concat(d.map(e=>{let[r,t]=e;return"".concat(m[r].word," ").concat(t)}).join(" \xb7 ")),children:o.map((e,r)=>(0,n.jsx)("span",{className:"h-full flex-1 border-r border-background last:border-0 ".concat(m[e].dot)},r))}),(0,n.jsx)("p",{className:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground",children:d.map(e=>{let[r,t]=e;return(0,n.jsxs)("span",{children:[m[r].mark," ",m[r].word," ",t]},r)})}),(0,n.jsx)("ol",{"aria-label":"노드 흐름",className:"flex min-w-0 flex-col gap-0 md:flex-row md:flex-wrap md:items-stretch md:gap-y-3",children:r.path.map((e,d)=>{let l=r.nodes.find(r=>r.nodeId===e),c=o[d],u=m[c],p="gate"===e&&"current"===c?r.gateShards:void 0,x=!p&&l?function(e){var r;let t=null!=(r=/(?:샤드|shards?)\D{0,8}?(\d+)\s*\/\s*(\d+)/i.exec(e))?r:/(\d+)\s*\/\s*(\d+)\s*(?:샤드|shards?)/i.exec(e);if(!t)return null;let n=Number(t[1]),a=Number(t[2]);return a>0&&n<=a?{done:n,total:a}:null}(l.summary):null,f=t===e;return(0,n.jsxs)("li",{"data-node-state":c,className:"flex min-w-0 flex-col md:flex-row md:items-center",children:[(0,n.jsxs)("button",{type:"button","aria-expanded":f,"aria-controls":"release-node-detail","aria-current":"current"===c?"step":void 0,onClick:()=>a(e),className:"flex w-full min-w-0 items-start gap-2 rounded-lg border p-2.5 text-left transition-colors hover:bg-muted md:w-52 ".concat(u.chip," ").concat(f?"outline outline-2 outline-offset-2 outline-primary":""),children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-bold ".concat(u.dot),children:u.mark}),(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[(0,n.jsx)("span",{className:"text-[11px] tabular-nums text-muted-foreground",children:d+1}),(0,n.jsx)("span",{className:"min-w-0 truncate font-medium",title:e,children:e})]}),(0,n.jsxs)("span",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 text-xs",children:[(0,n.jsx)("span",{className:"font-semibold",children:u.word}),(0,n.jsx)("span",{className:"text-muted-foreground",children:b(l,s)})]}),p&&(0,n.jsx)("span",{className:"mt-1 block text-xs tabular-nums",children:i(p)}),x&&(0,n.jsxs)("span",{className:"mt-1 block text-xs","aria-label":"샤드 ".concat(x.done,"/").concat(x.total),children:[(0,n.jsx)("span",{className:"tabular-nums",children:"샤드 ".concat(x.done,"/").concat(x.total)}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mt-0.5 block h-1 overflow-hidden rounded-full bg-muted",children:(0,n.jsx)("span",{className:"block h-full bg-current",style:{width:"".concat(Math.round(x.done/x.total*100),"%")}})})]})]})]}),d<r.path.length-1&&(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-auto h-3 w-px bg-border md:mx-1 md:h-px md:w-3"})]},"".concat(e,"-").concat(d))})})]})}function y(e){var r;let{run:t,nodeId:a,log:s,now:o=Date.now()}=e,d=t.nodes.find(e=>e.nodeId===a),l=x(t,a),i=m[l],[c="",...p]=(null!=(r=null==d?void 0:d.summary)?r:"").split(/\r?\n/),f=(null==s?void 0:s.kind)==="ready"?s.data.log.split(/\r?\n/):[],h="failed"===l?f.findIndex(e=>/fail|error|✗|❌|실패/i.test(e)):-1;return(0,n.jsxs)("section",{id:"release-node-detail","aria-label":"노드 상세",className:"min-w-0 space-y-3 rounded-xl border bg-card p-3 sm:p-4",children:[(0,n.jsxs)("header",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-bold ".concat(i.dot),children:i.mark}),(0,n.jsx)("h3",{className:"min-w-0 break-all font-semibold",children:a}),(0,n.jsx)("span",{className:"rounded-full border px-2 py-0.5 text-xs font-semibold",children:i.word}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:b(d,o)})]}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"요약"}),(null==d?void 0:d.summary)?(0,n.jsxs)("div",{className:"min-w-0 break-words text-sm",children:[(0,n.jsx)("p",{className:"failed"===l?"font-semibold text-red-700 dark:text-red-400":"",..."failed"===l?{role:"alert"}:{},children:c}),p.length>0&&(0,n.jsx)("p",{className:"whitespace-pre-wrap text-muted-foreground",children:p.join("\n")})]}):(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"요약 없음"})]}),"gate"===a&&"current"===l&&t.gateShards&&(0,n.jsx)(u,{gate:t.gateShards}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"로그 꼬리"}),(null==s?void 0:s.kind)==="ready"?(0,n.jsx)("pre",{className:"max-h-80 max-w-full overflow-auto whitespace-pre rounded-md bg-muted/50 p-2 font-mono text-xs","aria-label":"노드 로그",children:f.map((e,r)=>(0,n.jsx)("span",{className:r===h?"block bg-red-600/15 font-semibold text-red-700 dark:text-red-300":"block",children:e||" "},r))}):(0,n.jsx)("p",{role:"status",className:"text-sm",children:(null==s?void 0:s.kind)==="error"?"로그를 불러오지 못했습니다 (".concat(s.status,")"):"로그를 불러오는 중…"})]})]})}},65873:(e,r,t)=>{function n(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function a(e){return"string"==typeof e}function s(e){return a(e)&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/.test(e)&&Number.isFinite(Date.parse(e))&&new Date(e).toISOString().slice(0,19)===e.slice(0,19)}function o(e){return n(e)&&a(e.nodeId)&&(null===e.ok||"boolean"==typeof e.ok)&&a(e.summary)&&(void 0===e.startedAt||null===e.startedAt||a(e.startedAt))&&(void 0===e.endedAt||null===e.endedAt||a(e.endedAt))}t.d(r,{HG:()=>g,Kh:()=>b,Nn:()=>f,oc:()=>h});let d=new Set(["pending","running","done","retry","timeout","failed"]),l=e=>void 0===e||"number"==typeof e&&Number.isFinite(e);function i(e){return!!(n(e)&&a(e.runId)&&a(e.status)&&a(e.startedAt)&&(null===e.version||a(e.version))&&Array.isArray(e.path)&&e.path.every(a)&&Array.isArray(e.nodes)&&e.nodes.every(o))&&(void 0!==e.gateShards&&!function(e){if(!n(e)||!a(e.version)||!a(e.updatedAt)||!Array.isArray(e.shards)||!n(e.summary))return!1;let r=e.summary;return e.shards.every(e=>n(e)&&a(e.id)&&d.has(e.state)&&l(e.plannedMin)&&l(e.installSec)&&l(e.rc)&&(void 0===e.waitReason||a(e.waitReason)))&&Number.isInteger(r.total)&&n(r.counts)&&[...d].every(e=>Number.isInteger(r.counts[e]))&&Array.isArray(r.waitReasons)&&r.waitReasons.every(e=>n(e)&&a(e.reason)&&Number.isInteger(e.count))&&(null===r.etaMin||"number"==typeof r.etaMin)&&(null===r.staleMin||"number"==typeof r.staleMin)&&(void 0===r.overrunMin||"number"==typeof r.overrunMin)}(e.gateShards)&&delete e.gateShards,!0)}function c(e){return n(e)&&a(e.id)&&a(e.title)&&a(e.status)&&(void 0===e.owner||a(e.owner))&&a(e.updatedAt)&&(void 0===e.evidence||a(e.evidence))}let u=e=>Number.isInteger(e)&&e>=0;function m(e){return n(e)&&a(e.id)&&a(e.title)&&(null===e.open||u(e.open))&&(null===e.landed||u(e.landed))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>n(e)&&a(e.id)&&a(e.title)))}function p(e){return n(e)&&["OP","MK","TC","UX"].includes(e.seat)&&(void 0===e.role||a(e.role))&&(null===e.now||n(e.now)&&a(e.now.text)&&a(e.now.at))&&(null===e.landed||Array.isArray(e.landed)&&e.landed.every(e=>n(e)&&u(e.pr)&&a(e.title)&&a(e.at)&&(null===e.checklistId||a(e.checklistId))))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>n(e)&&a(e.id)&&a(e.title)&&"red"===e.status))&&(null===e.pendingDecisions||u(e.pendingDecisions))&&(null===e.checklist||n(e.checklist)&&["green","yellow","red","done"].every(r=>u(e.checklist[r])))&&(void 0===e.subSeats||null===e.subSeats||Array.isArray(e.subSeats)&&e.subSeats.every(m))}async function x(e,r,t){try{let n=await e.fetchResponse(r,{method:"GET"});if(403===n.status)return{kind:"forbidden"};if(!n.ok)return{kind:"error",status:n.status};let a=t(await n.json());return null===a?{kind:"error",status:n.status}:{kind:"ready",data:a}}catch(e){return{kind:"error",status:0}}}function f(e,r){return x(e,"/v1/ops/seats".concat(r?"?date=".concat(encodeURIComponent(r)):""),e=>n(e)&&a(e.date)&&Array.isArray(e.seats)&&e.seats.every(p)&&new Set(e.seats.map(e=>e.seat)).size===e.seats.length?{date:e.date,seats:e.seats}:null)}function h(e,r){return x(e,"/v1/ops/release/runs".concat(r?"?version=".concat(encodeURIComponent(r)):""),e=>Array.isArray(e)&&e.every(i)?e:null)}function b(e,r,t){return x(e,"/v1/ops/release/runs/".concat(encodeURIComponent(r),"/nodes/").concat(encodeURIComponent(t),"/log"),e=>n(e)&&a(e.log)?{log:e.log}:null)}function g(e,r){return x(e,"/v1/ops/checklist?version=".concat(encodeURIComponent(r)),e=>{var r,t,o,d;if(!(n(e)&&a(e.version)&&(void 0===e.codename||a(e.codename))&&Array.isArray(e.items)&&e.items.every(c)&&["green","yellow","red","done"].every(r=>void 0===e[r]||Number.isInteger(e[r])&&e[r]>=0)&&(void 0===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(a))&&(void 0===e.byOwner||n(e.byOwner)&&Object.values(e.byOwner).every(e=>Number.isInteger(e)&&e>=0))&&(void 0===e.history||Array.isArray(e.history))))return null;let l={green:0,yellow:0,red:0,done:0};for(let r of e.items)r.status in l&&l[r.status]++;return{version:e.version,...void 0!==e.codename?{codename:e.codename}:{},schedule:n(e.schedule)&&s(e.schedule.cutAt)&&(null===e.schedule.landBy||s(e.schedule.landBy))?{cutAt:e.schedule.cutAt,landBy:e.schedule.landBy}:null,items:e.items,green:null!=(r=e.green)?r:l.green,yellow:null!=(t=e.yellow)?t:l.yellow,red:null!=(o=e.red)?o:l.red,done:null!=(d=e.done)?d:l.done,...void 0!==e.blocked?{blocked:e.blocked}:{},...void 0!==e.byOwner?{byOwner:e.byOwner}:{},...void 0!==e.history?{history:e.history}:{}}})}},67821:(e,r,t)=>{t.d(r,{Zr:()=>o,f6:()=>a,oD:()=>s});let n="elanous.daemon.sessionId";function a(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"s-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10))}function s(){let e=function(){let e=new URLSearchParams(window.location.search).get("session");return e?(localStorage.setItem(n,e),e):localStorage.getItem(n)}();if(e)return e;let r=a();return localStorage.setItem(n,r),r}function o(){let e=a();return localStorage.setItem(n,e),e}},93743:(e,r,t)=>{t.d(r,{C:()=>i,DaemonProvider:()=>c,Q:()=>u});var n=t(94451),a=t(75699),s=t(45217),o=t(67821),d=t(5068),l=t(85303);let i=(0,a.createContext)(null);function c(e){let{children:r}=e,t={baseUrl:"",token:"",provider:""},[c,u]=(0,a.useState)(t),[m,p]=(0,a.useState)(""),[x]=(0,a.useState)(()=>new d.ki(t));(0,a.useEffect)(()=>{let e=(0,s.Fp)();u(e),x.updateConfig(e),p((0,o.oD)()),(0,l.cY)("webterm.provider.daemon.init",{baseUrl:e.baseUrl,hasToken:!!e.token})},[x]),(0,a.useEffect)(()=>{let e=e=>{if("elanous.daemon.token"===e.key||"elanous.nexus.baseUrl"===e.key){let r=(0,s.Fp)();x.updateConfig(r),u(r),(0,l.cY)("webterm.provider.daemon.config-cross-tab",{key:e.key,hasToken:!!r.token});return}"elanous.daemon.sessionId"===e.key&&e.newValue&&p(r=>r===e.newValue?r:((0,l.cY)("webterm.provider.daemon.session-cross-tab",{previous:r||"(empty)",next:e.newValue}),e.newValue))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[x]);let f=e=>{u(r=>{let t={...r,...e};return(0,s.Qc)(e),x.updateConfig(t),(0,l.cY)("webterm.provider.daemon.config-update",{keys:Object.keys(e)}),t})},h=e=>{p(e),localStorage.setItem("elanous.daemon.sessionId",e),(0,l.cY)("webterm.provider.daemon.session-set",{sessionId:e})},b=(0,a.useMemo)(()=>({config:c,setConfig:f,client:x,sessionId:m,setSessionId:h}),[c,x,m]);return(0,n.jsx)(i.Provider,{value:b,children:r})}function u(){let e=(0,a.useContext)(i);if(!e)throw Error("useDaemon must be used inside <DaemonProvider>");return e}}}]);
|