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
package/apps/pwa/out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--RrjXTwz_urRAbChP1bX02--><html lang="ko" class="font-sans __variable_7a3ec7"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/be9019f696217521.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/085673d826b98b62.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-d5f0964a9c2e92d2.js"/><script src="/app/_next/static/chunks/3f0de3de-2340c532c00395db.js" async=""></script><script src="/app/_next/static/chunks/5-bb1c08d84bd71df3.js" async=""></script><script src="/app/_next/static/chunks/main-app-f8b6765abed6d149.js" async=""></script><script src="/app/_next/static/chunks/3221-1bb3f99a55088613.js" async=""></script><script src="/app/_next/static/chunks/4204-ef8484cbecd5d62f.js" async=""></script><script src="/app/_next/static/chunks/449-aa427cf2cbb75f50.js" async=""></script><script src="/app/_next/static/chunks/1026-44010f405704050c.js" async=""></script><script src="/app/_next/static/chunks/4432-97e400ffa1e161f5.js" async=""></script><script src="/app/_next/static/chunks/8025-8795821525cf1a07.js" async=""></script><script src="/app/_next/static/chunks/7978-30a91192c5dbe3c2.js" async=""></script><script src="/app/_next/static/chunks/1204-2aa830479adf80f4.js" async=""></script><script src="/app/_next/static/chunks/4199-f7c6eb40cd0322f8.js" async=""></script><script src="/app/_next/static/chunks/6579-3de35d00aacd71b5.js" async=""></script><script src="/app/_next/static/chunks/1770-3b1fc92253ef9f2f.js" async=""></script><script src="/app/_next/static/chunks/680-2f324c4e039a5b67.js" async=""></script><script src="/app/_next/static/chunks/7311-60a7ea80d23c7521.js" async=""></script><script src="/app/_next/static/chunks/app/layout-2addd81c0d3e2906.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-e2797214f713fa58.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous</title><meta name="description" content="elanous — voice · chat · intake · control · terminal."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><link rel="icon" href="/app/icons/elanous-32.png" sizes="32x32" type="image/png"/><link rel="icon" href="/app/icons/elanous-16.png" sizes="16x16" type="image/png"/><link rel="apple-touch-icon" href="/app/icons/elanous-180.png" sizes="180x180" type="image/png"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><button type="button" data-share-capture-ui="true" aria-label="공유용 캡처" title="공유용 캡처 (beta) — 주소·토큰을 가린 사진을 데몬에 저장" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera h-4 w-4" aria-hidden="true"><path d="M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"></path><circle cx="12" cy="13" r="3"></circle></svg></button><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="flex-1 space-y-2 px-1 py-2"><section aria-label="오늘"><a title="오늘" aria-label="오늘" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/today/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-4 w-4" aria-hidden="true"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></a></section><section aria-label="대화"><a title="대화" aria-label="대화" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></a></section><section aria-label="일"><a title="일" aria-label="일" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/live/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"></path></svg></a></section><section aria-label="만들기"><a title="만들기" aria-label="만들기" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a></section><section aria-label="자료"><a title="자료" aria-label="자료" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/market/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></a></section><section aria-label="설정"><a title="설정" aria-label="설정" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></a></section></div></nav></aside><main class="flex-1 overflow-auto min-w-0"><main data-testid="not-found" class="min-h-screen bg-gradient-to-b from-background via-background to-muted/40 px-6 py-12 sm:px-10"><div class="mx-auto flex w-full max-w-5xl flex-col gap-10"><header class="flex flex-col gap-3"><p class="text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground">elanous PWA</p><h1 class="text-3xl font-bold leading-tight sm:text-4xl">여기엔 없습니다</h1><p class="text-sm text-muted-foreground"><code>/_not-found/</code> 주소는 이 앱에 없습니다. 아래에서 지금 갈 수 있는 곳을 선택하거나 참고 주소의 사유를 확인하세요.</p></header><section aria-label="이동 가능한 주소와 참고 주소" class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><article data-testid="route-guidance-today" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/today/">오늘<!-- --> <code class="text-xs text-muted-foreground">/today</code></a></article><article data-testid="route-guidance-approvals" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/approvals/">승인 대기<!-- --> <code class="text-xs text-muted-foreground">/approvals</code></a></article><article data-testid="route-guidance-intake" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/intake/">넣기<!-- --> <code class="text-xs text-muted-foreground">/intake</code></a></article><article data-testid="route-guidance-chat" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/chat/">채팅<!-- --> <code class="text-xs text-muted-foreground">/chat</code></a></article><article data-testid="route-guidance-exec" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/exec/">COO 에게 맡기기<!-- --> <code class="text-xs text-muted-foreground">/exec</code></a></article><article data-testid="route-guidance-autopilot" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/autopilot/">미션<!-- --> <code class="text-xs text-muted-foreground">/autopilot</code></a></article><article data-testid="route-guidance-outputs" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/outputs/">산출물<!-- --> <code class="text-xs text-muted-foreground">/outputs</code></a></article><article data-testid="route-guidance-scheduler" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/scheduler/">예약<!-- --> <code class="text-xs text-muted-foreground">/scheduler</code></a></article><article data-testid="route-guidance-live" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/live/">Live<!-- --> <code class="text-xs text-muted-foreground">/live</code></a></article><article data-testid="route-guidance-trace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/trace/">Trace<!-- --> <code class="text-xs text-muted-foreground">/trace</code></a></article><article data-testid="route-guidance-live-run" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/live-run/">런 장면<!-- --> <code class="text-xs text-muted-foreground">/live-run</code></a></article><article data-testid="route-guidance-term" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/term/">터미널<!-- --> <code class="text-xs text-muted-foreground">/term</code></a></article><article data-testid="route-guidance-editor" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/editor/">그래프<!-- --> <code class="text-xs text-muted-foreground">/editor</code></a></article><article data-testid="route-guidance-design-check" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/design-check/">디자인<!-- --> <code class="text-xs text-muted-foreground">/design-check</code></a></article><article data-testid="route-guidance-workspace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/workspace/">여러 탭<!-- --> <code class="text-xs text-muted-foreground">/workspace</code></a></article><article data-testid="route-guidance-vault" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/vault/">Obsidian 노트<!-- --> <code class="text-xs text-muted-foreground">/vault</code></a></article><article data-testid="route-guidance-field" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/field/">현장 올리기<!-- --> <code class="text-xs text-muted-foreground">/field</code></a></article><article data-testid="route-guidance-market" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/market/">마켓<!-- --> <code class="text-xs text-muted-foreground">/market</code></a></article><article data-testid="route-guidance-settings" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/settings/">설정<!-- --> <code class="text-xs text-muted-foreground">/settings</code></a></article><article data-testid="route-guidance-ceo" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ceo/">대표 조망판<!-- --> <code class="text-xs text-muted-foreground">/ceo</code></a></article><article data-testid="route-guidance-loops" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/loops/">루프 현황<!-- --> <code class="text-xs text-muted-foreground">/loops</code></a></article><article data-testid="route-guidance-ops-release" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/release/">릴리스<!-- --> <code class="text-xs text-muted-foreground">/ops/release</code></a></article><article data-testid="route-guidance-ops-checklist" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/checklist/">판별 피처<!-- --> <code class="text-xs text-muted-foreground">/ops/checklist</code></a></article><article data-testid="route-guidance-ops-seats" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/seats/">자리 현황<!-- --> <code class="text-xs text-muted-foreground">/ops/seats</code></a></article><article data-testid="route-guidance-bots" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/bots/">봇<!-- --> <code class="text-xs text-muted-foreground">/bots</code></a></article><article data-testid="route-guidance-observatory" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/observatory/">관측<!-- --> <code class="text-xs text-muted-foreground">/observatory</code></a></article><article data-testid="route-guidance-worktrees" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/worktrees/">작업 트리<!-- --> <code class="text-xs text-muted-foreground">/worktrees</code></a></article><article data-testid="route-guidance-control" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/control/">제어<!-- --> <code class="text-xs text-muted-foreground">/control</code></a></article><article data-testid="route-guidance-tasks" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/tasks/">Tasks<!-- --> <code class="text-xs text-muted-foreground">/tasks</code></a></article><article data-testid="route-guidance-board" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/board/">보드<!-- --> <code class="text-xs text-muted-foreground">/board</code></a></article><article data-testid="route-guidance-sessions" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/sessions/">대화 카드<!-- --> <code class="text-xs text-muted-foreground">/sessions</code></a></article><article data-testid="route-guidance-reflection" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/reflection/">Reflection<!-- --> <code class="text-xs text-muted-foreground">/reflection</code></a></article><article data-testid="route-guidance-showroom" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/showroom/">Showroom<!-- --> <code class="text-xs text-muted-foreground">/showroom</code></a></article><article data-testid="route-guidance-share" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/share</code></span><p class="text-sm leading-relaxed text-muted-foreground">운영체제가 공유 동작으로 호출하는 Share Target 진입점.</p></div></article><article data-testid="route-guidance-missions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/missions</code></span><p class="text-sm leading-relaxed text-muted-foreground">`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다.</p></div></article><article data-testid="route-guidance-setup" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 진입점.</p></div></article><article data-testid="route-guidance-setup-done" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup/done</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 완료 화면.</p></div></article><article data-testid="route-guidance-settings-devices" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/settings/devices</code></span><p class="text-sm leading-relaxed text-muted-foreground">Settings 아래 Device fleet 하위 화면.</p></div></article><article data-testid="route-guidance-workflows" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows</code></span><p class="text-sm leading-relaxed text-muted-foreground">기존 워크플로 링크를 /editor?mode=workflow 로 전달한다.</p></div></article><article data-testid="route-guidance-workflows-chat-ui" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows/chat-ui</code></span><p class="text-sm leading-relaxed text-muted-foreground">Workflows에서 여는 hosted chat 하위 흐름.</p></div></article><article data-testid="route-guidance-root" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/</code></span><p class="text-sm leading-relaxed text-muted-foreground">첫 방문자를 위한 루트 welcome 화면.</p></div></article><article data-testid="route-guidance-404" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/404</code></span><p class="text-sm leading-relaxed text-muted-foreground">오류 페이지.</p></div></article><article data-testid="route-guidance-decisions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/decisions</code></span><p class="text-sm leading-relaxed text-muted-foreground">대표 결정 화면(OPS-BOARD #24604) — /ceo 「결정 대기 카드」에서 들어간다(메뉴엔 /ceo 만).</p></div></article><article data-testid="route-guidance-consult" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/consult</code></span><p class="text-sm leading-relaxed text-muted-foreground">AX 도입 상담·과정 문의를 접수하는 입력 화면(CS1 · #22436).</p></div></article><article data-testid="route-guidance-morning" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/morning</code></span><p class="text-sm leading-relaxed text-muted-foreground">부르는 백엔드가 아직 없는 미배선 화면.</p></div></article><article data-testid="route-guidance-inside" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/inside</code></span><p class="text-sm leading-relaxed text-muted-foreground">시연자가 주소로 여는 엘라누스 안쪽 장면 지도(메뉴에는 노출하지 않음).</p></div></article><article data-testid="route-guidance-botlab" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/botlab</code></span><p class="text-sm leading-relaxed text-muted-foreground">봇 화면 «벽»을 한 자리에서 보는 읽기 진단 화면(#15390 · 봇 운영자용).</p></div></article></section></div></main><!--$--><!--/$--></main></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-d5f0964a9c2e92d2.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script><script>self.__next_f.push([1,"2:I[92076,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"ServiceWorkerRegister\"]\n"])</script><script>self.__next_f.push([1,"3:I[14363,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"NewBuildBanner\"]\n"])</script><script>self.__next_f.push([1,"4:I[40503,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"DaemonProvider\"]\n"])</script><script>self.__next_f.push([1,"5:I[7507,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"OperatorRoleDefault\"]\n"])</script><script>self.__next_f.push([1,"6:I[72495,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"NexusClientProvider\"]\n"])</script><script>self.__next_f.push([1,"7:I[28184,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"8:I[7023,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"TooltipProvider\"]\n"])</script><script>self.__next_f.push([1,"9:I[26347,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"ToastProvider\"]\n"])</script><script>self.__next_f.push([1,"a:I[63766,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"AppShell\"]\n"])</script><script>self.__next_f.push([1,"b:I[64691,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"1026\",\"static/chunks/1026-44010f405704050c.js\",\"4432\",\"static/chunks/4432-97e400ffa1e161f5.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"7978\",\"static/chunks/7978-30a91192c5dbe3c2.js\",\"1204\",\"static/chunks/1204-2aa830479adf80f4.js\",\"4199\",\"static/chunks/4199-f7c6eb40cd0322f8.js\",\"6579\",\"static/chunks/6579-3de35d00aacd71b5.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"680\",\"static/chunks/680-2f324c4e039a5b67.js\",\"7311\",\"static/chunks/7311-60a7ea80d23c7521.js\",\"7177\",\"static/chunks/app/layout-2addd81c0d3e2906.js\"],\"MaturityBanner\"]\n"])</script><script>self.__next_f.push([1,"c:I[19376,[],\"\"]\nd:I[6006,[],\"\"]\ne:I[87694,[\"3221\",\"static/chunks/3221-1bb3f99a55088613.js\",\"4204\",\"static/chunks/4204-ef8484cbecd5d62f.js\",\"449\",\"static/chunks/449-aa427cf2cbb75f50.js\",\"8025\",\"static/chunks/8025-8795821525cf1a07.js\",\"1770\",\"static/chunks/1770-3b1fc92253ef9f2f.js\",\"4345\",\"static/chunks/app/not-found-e2797214f713fa58.js\"],\"default\"]\nf:I[52333,[],\"ClientPageRoot\"]\n12:I[5245,[],\"OutletBoundary\"]\n14:I[76328,[],\"AsyncMetadataOutlet\"]\n16:I[5245,[],\"ViewportBoundary\"]\n18:I[5245,[],\"MetadataBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[71884,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/be9019f696217521.css\",\"style\"]\n:HL[\"/app/_next/static/css/085673d826b98b62.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RrjXTwz-urRAbChP1bX02\",\"p\":\"/app\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/be9019f696217521.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/085673d826b98b62.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_7a3ec7\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"children\":[[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Le\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]}]}]]}]]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lf\",null,{\"Component\":\"$e\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@10\",\"$@11\"]}],null,[\"$\",\"$L12\",null,{\"children\":[\"$L13\",[\"$\",\"$L14\",null,{\"promise\":\"$@15\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L18\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"fallback\":null,\"children\":\"$L1a\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"10:{}\n11:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n13:null\n"])</script><script>self.__next_f.push([1,"1c:I[13832,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"15:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"elanous — voice · chat · intake · control · terminal.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/app/icons/elanous-180.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L1c\",\"7\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"1a:\"$15:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--HjeK7zONHfR7op1hKXp4k--><html lang="ko" class="font-sans __variable_7a3ec7"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/be9019f696217521.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/085673d826b98b62.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-cc7f483fa294034a.js"/><script src="/app/_next/static/chunks/d5d3cefc-373c4eb722ed848b.js" async=""></script><script src="/app/_next/static/chunks/6027-dfe0349d8c50f698.js" async=""></script><script src="/app/_next/static/chunks/main-app-fff2549cb10a133f.js" async=""></script><script src="/app/_next/static/chunks/2829-734fe8bf2eee7347.js" async=""></script><script src="/app/_next/static/chunks/6836-493dc55c39187949.js" async=""></script><script src="/app/_next/static/chunks/8179-e61fffbdb70f1152.js" async=""></script><script src="/app/_next/static/chunks/8272-025653884f9645d2.js" async=""></script><script src="/app/_next/static/chunks/2281-b8cede695c6c650e.js" async=""></script><script src="/app/_next/static/chunks/647-af8dd920ba46533c.js" async=""></script><script src="/app/_next/static/chunks/2096-a938496bc996dcbd.js" async=""></script><script src="/app/_next/static/chunks/5068-c7f53862f83c0917.js" async=""></script><script src="/app/_next/static/chunks/8639-92c11d069792429e.js" async=""></script><script src="/app/_next/static/chunks/5979-e59c099ebf8d1f35.js" async=""></script><script src="/app/_next/static/chunks/3231-d7c981db0ff8bdcc.js" async=""></script><script src="/app/_next/static/chunks/1671-1c22b40b50b208f2.js" async=""></script><script src="/app/_next/static/chunks/3175-f93f7495cd28253c.js" async=""></script><script src="/app/_next/static/chunks/app/layout-9b0a86598e0111fd.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-6e96bda63100b31e.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous</title><meta name="description" content="elanous — voice · chat · intake · control · terminal."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><link rel="icon" href="/app/icons/elanous-32.png" sizes="32x32" type="image/png"/><link rel="icon" href="/app/icons/elanous-16.png" sizes="16x16" type="image/png"/><link rel="apple-touch-icon" href="/app/icons/elanous-180.png" sizes="180x180" type="image/png"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><button type="button" data-share-capture-ui="true" aria-label="공유용 캡처" title="공유용 캡처 (beta) — 주소·토큰을 가린 사진을 데몬에 저장" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera h-4 w-4" aria-hidden="true"><path d="M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"></path><circle cx="12" cy="13" r="3"></circle></svg></button><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="flex-1 space-y-2 px-1 py-2"><section aria-label="오늘"><a title="오늘" aria-label="오늘" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/today/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-4 w-4" aria-hidden="true"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></a></section><section aria-label="대화"><a title="대화" aria-label="대화" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></a></section><section aria-label="일"><a title="일" aria-label="일" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/live/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"></path></svg></a></section><section aria-label="만들기"><a title="만들기" aria-label="만들기" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a></section><section aria-label="자료"><a title="자료" aria-label="자료" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/market/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></a></section><section aria-label="설정"><a title="설정" aria-label="설정" class="relative flex justify-center rounded-md px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></a></section></div></nav></aside><main class="flex-1 overflow-auto min-w-0"><main data-testid="not-found" class="min-h-screen bg-gradient-to-b from-background via-background to-muted/40 px-6 py-12 sm:px-10"><div class="mx-auto flex w-full max-w-5xl flex-col gap-10"><header class="flex flex-col gap-3"><p class="text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground">elanous PWA</p><h1 class="text-3xl font-bold leading-tight sm:text-4xl">여기엔 없습니다</h1><p class="text-sm text-muted-foreground"><code>/_not-found/</code> 주소는 이 앱에 없습니다. 아래에서 지금 갈 수 있는 곳을 선택하거나 참고 주소의 사유를 확인하세요.</p></header><section aria-label="이동 가능한 주소와 참고 주소" class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><article data-testid="route-guidance-today" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/today/">오늘<!-- --> <code class="text-xs text-muted-foreground">/today</code></a></article><article data-testid="route-guidance-approvals" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/approvals/">승인 대기<!-- --> <code class="text-xs text-muted-foreground">/approvals</code></a></article><article data-testid="route-guidance-intake" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/intake/">넣기<!-- --> <code class="text-xs text-muted-foreground">/intake</code></a></article><article data-testid="route-guidance-chat" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/chat/">채팅<!-- --> <code class="text-xs text-muted-foreground">/chat</code></a></article><article data-testid="route-guidance-exec" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/exec/">COO 에게 맡기기<!-- --> <code class="text-xs text-muted-foreground">/exec</code></a></article><article data-testid="route-guidance-autopilot" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/autopilot/">미션<!-- --> <code class="text-xs text-muted-foreground">/autopilot</code></a></article><article data-testid="route-guidance-outputs" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/outputs/">산출물<!-- --> <code class="text-xs text-muted-foreground">/outputs</code></a></article><article data-testid="route-guidance-scheduler" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/scheduler/">예약<!-- --> <code class="text-xs text-muted-foreground">/scheduler</code></a></article><article data-testid="route-guidance-live" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/live/">Live<!-- --> <code class="text-xs text-muted-foreground">/live</code></a></article><article data-testid="route-guidance-trace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/trace/">Trace<!-- --> <code class="text-xs text-muted-foreground">/trace</code></a></article><article data-testid="route-guidance-live-run" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/live-run/">런 장면<!-- --> <code class="text-xs text-muted-foreground">/live-run</code></a></article><article data-testid="route-guidance-term" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/term/">터미널<!-- --> <code class="text-xs text-muted-foreground">/term</code></a></article><article data-testid="route-guidance-editor" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/editor/">그래프<!-- --> <code class="text-xs text-muted-foreground">/editor</code></a></article><article data-testid="route-guidance-design-check" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/design-check/">디자인<!-- --> <code class="text-xs text-muted-foreground">/design-check</code></a></article><article data-testid="route-guidance-workspace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/workspace/">여러 탭<!-- --> <code class="text-xs text-muted-foreground">/workspace</code></a></article><article data-testid="route-guidance-vault" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/vault/">Obsidian 노트<!-- --> <code class="text-xs text-muted-foreground">/vault</code></a></article><article data-testid="route-guidance-field" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/field/">현장 올리기<!-- --> <code class="text-xs text-muted-foreground">/field</code></a></article><article data-testid="route-guidance-market" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/market/">마켓<!-- --> <code class="text-xs text-muted-foreground">/market</code></a></article><article data-testid="route-guidance-settings" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/settings/">설정<!-- --> <code class="text-xs text-muted-foreground">/settings</code></a></article><article data-testid="route-guidance-ceo" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ceo/">대표 조망판<!-- --> <code class="text-xs text-muted-foreground">/ceo</code></a></article><article data-testid="route-guidance-loops" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/loops/">루프 현황<!-- --> <code class="text-xs text-muted-foreground">/loops</code></a></article><article data-testid="route-guidance-ops-release" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/release/">릴리스<!-- --> <code class="text-xs text-muted-foreground">/ops/release</code></a></article><article data-testid="route-guidance-ops-checklist" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/checklist/">판별 피처<!-- --> <code class="text-xs text-muted-foreground">/ops/checklist</code></a></article><article data-testid="route-guidance-ops-seats" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/ops/seats/">자리 현황<!-- --> <code class="text-xs text-muted-foreground">/ops/seats</code></a></article><article data-testid="route-guidance-bots" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/bots/">봇<!-- --> <code class="text-xs text-muted-foreground">/bots</code></a></article><article data-testid="route-guidance-observatory" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/observatory/">관측<!-- --> <code class="text-xs text-muted-foreground">/observatory</code></a></article><article data-testid="route-guidance-worktrees" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/worktrees/">작업 트리<!-- --> <code class="text-xs text-muted-foreground">/worktrees</code></a></article><article data-testid="route-guidance-control" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/control/">제어<!-- --> <code class="text-xs text-muted-foreground">/control</code></a></article><article data-testid="route-guidance-tasks" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/tasks/">Tasks<!-- --> <code class="text-xs text-muted-foreground">/tasks</code></a></article><article data-testid="route-guidance-board" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/board/">보드<!-- --> <code class="text-xs text-muted-foreground">/board</code></a></article><article data-testid="route-guidance-sessions" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/sessions/">대화 카드<!-- --> <code class="text-xs text-muted-foreground">/sessions</code></a></article><article data-testid="route-guidance-reflection" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/reflection/">Reflection<!-- --> <code class="text-xs text-muted-foreground">/reflection</code></a></article><article data-testid="route-guidance-showroom" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/showroom/">Showroom<!-- --> <code class="text-xs text-muted-foreground">/showroom</code></a></article><article data-testid="route-guidance-share" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/share</code></span><p class="text-sm leading-relaxed text-muted-foreground">운영체제가 공유 동작으로 호출하는 Share Target 진입점.</p></div></article><article data-testid="route-guidance-missions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/missions</code></span><p class="text-sm leading-relaxed text-muted-foreground">`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다.</p></div></article><article data-testid="route-guidance-setup" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 진입점.</p></div></article><article data-testid="route-guidance-setup-done" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup/done</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 완료 화면.</p></div></article><article data-testid="route-guidance-settings-devices" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/settings/devices</code></span><p class="text-sm leading-relaxed text-muted-foreground">Settings 아래 Device fleet 하위 화면.</p></div></article><article data-testid="route-guidance-workflows" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows</code></span><p class="text-sm leading-relaxed text-muted-foreground">기존 워크플로 링크를 /editor?mode=workflow 로 전달한다.</p></div></article><article data-testid="route-guidance-workflows-chat-ui" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows/chat-ui</code></span><p class="text-sm leading-relaxed text-muted-foreground">Workflows에서 여는 hosted chat 하위 흐름.</p></div></article><article data-testid="route-guidance-root" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/</code></span><p class="text-sm leading-relaxed text-muted-foreground">첫 방문자를 위한 루트 welcome 화면.</p></div></article><article data-testid="route-guidance-404" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/404</code></span><p class="text-sm leading-relaxed text-muted-foreground">오류 페이지.</p></div></article><article data-testid="route-guidance-decisions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/decisions</code></span><p class="text-sm leading-relaxed text-muted-foreground">대표 결정 화면(OPS-BOARD #24604) — /ceo 「결정 대기 카드」에서 들어간다(메뉴엔 /ceo 만).</p></div></article><article data-testid="route-guidance-consult" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/consult</code></span><p class="text-sm leading-relaxed text-muted-foreground">AX 도입 상담·과정 문의를 접수하는 입력 화면(CS1 · #22436).</p></div></article><article data-testid="route-guidance-morning" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/morning</code></span><p class="text-sm leading-relaxed text-muted-foreground">부르는 백엔드가 아직 없는 미배선 화면.</p></div></article><article data-testid="route-guidance-inside" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/inside</code></span><p class="text-sm leading-relaxed text-muted-foreground">시연자가 주소로 여는 엘라누스 안쪽 장면 지도(메뉴에는 노출하지 않음).</p></div></article><article data-testid="route-guidance-botlab" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/botlab</code></span><p class="text-sm leading-relaxed text-muted-foreground">봇 화면 «벽»을 한 자리에서 보는 읽기 진단 화면(#15390 · 봇 운영자용).</p></div></article></section></div></main><!--$--><!--/$--></main></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-cc7f483fa294034a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script><script>self.__next_f.push([1,"2:I[28620,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"ServiceWorkerRegister\"]\n"])</script><script>self.__next_f.push([1,"3:I[93481,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"NewBuildBanner\"]\n"])</script><script>self.__next_f.push([1,"4:I[93743,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"DaemonProvider\"]\n"])</script><script>self.__next_f.push([1,"5:I[83355,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"OperatorRoleDefault\"]\n"])</script><script>self.__next_f.push([1,"6:I[8631,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"NexusClientProvider\"]\n"])</script><script>self.__next_f.push([1,"7:I[97680,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"8:I[26151,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"TooltipProvider\"]\n"])</script><script>self.__next_f.push([1,"9:I[66687,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"ToastProvider\"]\n"])</script><script>self.__next_f.push([1,"a:I[11531,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"AppShell\"]\n"])</script><script>self.__next_f.push([1,"b:I[2331,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"8272\",\"static/chunks/8272-025653884f9645d2.js\",\"2281\",\"static/chunks/2281-b8cede695c6c650e.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"2096\",\"static/chunks/2096-a938496bc996dcbd.js\",\"5068\",\"static/chunks/5068-c7f53862f83c0917.js\",\"8639\",\"static/chunks/8639-92c11d069792429e.js\",\"5979\",\"static/chunks/5979-e59c099ebf8d1f35.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"1671\",\"static/chunks/1671-1c22b40b50b208f2.js\",\"3175\",\"static/chunks/3175-f93f7495cd28253c.js\",\"7177\",\"static/chunks/app/layout-9b0a86598e0111fd.js\"],\"MaturityBanner\"]\n"])</script><script>self.__next_f.push([1,"c:I[64350,[],\"\"]\nd:I[74964,[],\"\"]\ne:I[58822,[\"2829\",\"static/chunks/2829-734fe8bf2eee7347.js\",\"6836\",\"static/chunks/6836-493dc55c39187949.js\",\"8179\",\"static/chunks/8179-e61fffbdb70f1152.js\",\"647\",\"static/chunks/647-af8dd920ba46533c.js\",\"3231\",\"static/chunks/3231-d7c981db0ff8bdcc.js\",\"4345\",\"static/chunks/app/not-found-6e96bda63100b31e.js\"],\"default\"]\nf:I[24591,[],\"ClientPageRoot\"]\n12:I[855,[],\"OutletBoundary\"]\n14:I[4374,[],\"AsyncMetadataOutlet\"]\n16:I[855,[],\"ViewportBoundary\"]\n18:I[855,[],\"MetadataBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[97270,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/be9019f696217521.css\",\"style\"]\n:HL[\"/app/_next/static/css/085673d826b98b62.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HjeK7zONHfR7op1hKXp4k\",\"p\":\"/app\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/be9019f696217521.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/085673d826b98b62.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_7a3ec7\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"children\":[[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Le\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]}]}]]}]]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lf\",null,{\"Component\":\"$e\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@10\",\"$@11\"]}],null,[\"$\",\"$L12\",null,{\"children\":[\"$L13\",[\"$\",\"$L14\",null,{\"promise\":\"$@15\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L18\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"fallback\":null,\"children\":\"$L1a\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"10:{}\n11:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n13:null\n"])</script><script>self.__next_f.push([1,"1c:I[65190,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"15:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"elanous — voice · chat · intake · control · terminal.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/app/icons/elanous-180.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L1c\",\"7\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"1a:\"$15:metadata\"\n"])</script></body></html>
|
package/apps/pwa/out/_next/static/{RrjXTwz-urRAbChP1bX02 → HjeK7zONHfR7op1hKXp4k}/_buildManifest.js
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:47,errorRate:1e-4,numBits:901,numHashes:14,bitArray:[0,0,1,1,r,r,e,r,r,e,r,r,e,e,r,e,e,r,r,e,e,r,e,r,r,e,e,r,r,e,e,r,e,r,r,e,r,r,e,r,r,r,r,e,e,e,r,e,r,r,r,e,r,r,r,e,e,r,r,e,e,r,r,r,e,e,e,e,r,r,e,e,e,e,e,e,r,e,e,r,r,r,e,r,r,r,r,e,e,r,r,r,e,e,e,e,r,r,r,r,e,e,r,r,e,e,r,r,e,r,e,e,r,e,r,r,r,e,r,e,e,e,e,r,e,r,e,r,e,r,e,e,e,r,r,r,e,e,e,e,r,e,e,e,r,r,e,r,e,r,e,e,r,e,r,r,r,r,r,r,r,r,e,e,e,e,e,r,e,r,e,r,r,e,r,r,e,r,r,e,r,e,e,r,e,e,e,e,e,r,e,e,r,e,r,e,r,e,e,r,r,r,e,e,r,e,e,e,r,r,e,r,e,r,e,r,r,e,r,e,e,e,e,e,e,r,r,r,e,r,r,r,r,e,e,e,e,e,r,r,e,e,r,e,e,e,r,r,r,r,e,e,r,r,r,r,r,r,e,e,r,e,e,e,r,e,r,e,e,e,e,e,r,r,e,e,e,e,r,r,e,e,e,e,e,e,e,r,r,r,e,r,r,r,r,e,e,r,r,r,e,e,r,e,r,r,r,r,r,r,r,e,e,e,e,e,e,e,e,r,e,r,e,e,r,e,e,r,e,r,e,r,e,r,e,e,e,r,e,e,r,e,e,e,r,r,r,e,r,e,e,e,e,e,r,e,r,e,r,e,r,e,r,e,r,r,r,e,e,r,r,r,e,r,r,r,r,e,r,e,e,r,r,e,e,e,r,r,e,e,e,r,e,r,r,r,e,r,r,e,r,e,e,r,e,e,e,e,e,e,e,e,e,e,e,r,r,r,e,r,e,r,e,e,r,r,r,e,e,r,r,e,e,e,e,r,e,r,r,r,r,e,r,e,r,e,r,e,e,e,e,e,e,e,e,r,r,r,e,r,e,r,e,e,e,r,r,e,r,r,r,r,e,r,r,r,e,r,e,r,r,e,r,r,e,e,e,r,e,r,r,e,r,r,r,e,e,e,r,e,e,e,e,r,e,r,e,e,e,e,e,e,e,e,e,r,e,r,r,e,e,r,e,r,r,e,e,e,e,r,e,e,e,e,r,e,r,r,e,e,r,r,e,r,e,e,e,r,r,e,r,r,e,e,e,e,r,e,e,e,r,r,r,r,r,r,e,e,e,e,e,r,e,e,r,e,r,e,e,r,e,r,e,r,e,r,e,r,r,r,r,e,e,e,e,r,r,r,e,r,r,r,e,r,r,r,r,e,r,r,r,r,r,r,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,e,e,r,r,r,r,r,r,r,r,e,r,e,r,e,e,e,e,r,r,r,e,e,e,e,e,r,e,e,e,r,r,r,r,r,e,e,e,e,r,r,e,r,r,r,r,e,r,r,r,r,r,e,r,r,r,e,r,e,r,r,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,r,r,e,e,e,e,e,e,e,e,r,e,e,e,r,e,e,r,r,e,r,e,e,r,r,e,e,r,r,e,e,e,e,r,e,r,e,r,e,r,r,e,e,e,e,e,e,e,r,r,r,e,r,r,e,r,r,e,r,e,e,e,e,r,r,r,e,e,r,r,e,e,r,r,e,e,r,r,r,e,r,e,e,r,r,e,e,r,e,r,r,r,e,e,r,e,e,r,r,e,r,r,r,r,e,r,e,e,e,e,r,e,e,r,e,e,e,e,e,r,e,e,r,r,r,r,e,e,e,r,e,e,e,e,e,e,e,e,r,e,r,e,r,r,r,r,e,r,r,r,e,r,r,e,e,e,e,r,e,e,e,r,e,e,r,e,r,r,r,e,e,e,r,e,r,e,e,r,r,r,r,e,r,e,e,r,e,e,e,r,e,r,r,e,e,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,r,e,e,e,r,r,e,e,r,r,e,e,r,e,r,r,r]},"/_error":["static/chunks/pages/_error-
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:47,errorRate:1e-4,numBits:901,numHashes:14,bitArray:[0,0,1,1,r,r,e,r,r,e,r,r,e,e,r,e,e,r,r,e,e,r,e,r,r,e,e,r,r,e,e,r,e,r,r,e,r,r,e,r,r,r,r,e,e,e,r,e,r,r,r,e,r,r,r,e,e,r,r,e,e,r,r,r,e,e,e,e,r,r,e,e,e,e,e,e,r,e,e,r,r,r,e,r,r,r,r,e,e,r,r,r,e,e,e,e,r,r,r,r,e,e,r,r,e,e,r,r,e,r,e,e,r,e,r,r,r,e,r,e,e,e,e,r,e,r,e,r,e,r,e,e,e,r,r,r,e,e,e,e,r,e,e,e,r,r,e,r,e,r,e,e,r,e,r,r,r,r,r,r,r,r,e,e,e,e,e,r,e,r,e,r,r,e,r,r,e,r,r,e,r,e,e,r,e,e,e,e,e,r,e,e,r,e,r,e,r,e,e,r,r,r,e,e,r,e,e,e,r,r,e,r,e,r,e,r,r,e,r,e,e,e,e,e,e,r,r,r,e,r,r,r,r,e,e,e,e,e,r,r,e,e,r,e,e,e,r,r,r,r,e,e,r,r,r,r,r,r,e,e,r,e,e,e,r,e,r,e,e,e,e,e,r,r,e,e,e,e,r,r,e,e,e,e,e,e,e,r,r,r,e,r,r,r,r,e,e,r,r,r,e,e,r,e,r,r,r,r,r,r,r,e,e,e,e,e,e,e,e,r,e,r,e,e,r,e,e,r,e,r,e,r,e,r,e,e,e,r,e,e,r,e,e,e,r,r,r,e,r,e,e,e,e,e,r,e,r,e,r,e,r,e,r,e,r,r,r,e,e,r,r,r,e,r,r,r,r,e,r,e,e,r,r,e,e,e,r,r,e,e,e,r,e,r,r,r,e,r,r,e,r,e,e,r,e,e,e,e,e,e,e,e,e,e,e,r,r,r,e,r,e,r,e,e,r,r,r,e,e,r,r,e,e,e,e,r,e,r,r,r,r,e,r,e,r,e,r,e,e,e,e,e,e,e,e,r,r,r,e,r,e,r,e,e,e,r,r,e,r,r,r,r,e,r,r,r,e,r,e,r,r,e,r,r,e,e,e,r,e,r,r,e,r,r,r,e,e,e,r,e,e,e,e,r,e,r,e,e,e,e,e,e,e,e,e,r,e,r,r,e,e,r,e,r,r,e,e,e,e,r,e,e,e,e,r,e,r,r,e,e,r,r,e,r,e,e,e,r,r,e,r,r,e,e,e,e,r,e,e,e,r,r,r,r,r,r,e,e,e,e,e,r,e,e,r,e,r,e,e,r,e,r,e,r,e,r,e,r,r,r,r,e,e,e,e,r,r,r,e,r,r,r,e,r,r,r,r,e,r,r,r,r,r,r,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,e,e,r,r,r,r,r,r,r,r,e,r,e,r,e,e,e,e,r,r,r,e,e,e,e,e,r,e,e,e,r,r,r,r,r,e,e,e,e,r,r,e,r,r,r,r,e,r,r,r,r,r,e,r,r,r,e,r,e,r,r,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,r,r,e,e,e,e,e,e,e,e,r,e,e,e,r,e,e,r,r,e,r,e,e,r,r,e,e,r,r,e,e,e,e,r,e,r,e,r,e,r,r,e,e,e,e,e,e,e,r,r,r,e,r,r,e,r,r,e,r,e,e,e,e,r,r,r,e,e,r,r,e,e,r,r,e,e,r,r,r,e,r,e,e,r,r,e,e,r,e,r,r,r,e,e,r,e,e,r,r,e,r,r,r,r,e,r,e,e,e,e,r,e,e,r,e,e,e,e,e,r,e,e,r,r,r,r,e,e,e,r,e,e,e,e,e,e,e,e,r,e,r,e,r,r,r,r,e,r,r,r,e,r,r,e,e,e,e,r,e,e,e,r,e,e,r,e,r,r,r,e,e,e,r,e,r,e,e,r,r,r,r,e,r,e,e,r,e,e,e,r,e,r,r,e,e,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,r,e,e,e,r,r,e,e,r,r,e,e,r,e,r,r,r]},"/_error":["static/chunks/pages/_error-9d9cfef60c60dd7a.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
package/apps/pwa/out/_next/static/chunks/{7954.4f7a8832663ee979.js → 1060.014f1f01a17aec26.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7954],{17954:(t,e,i)=>{i.d(e,{diagram:()=>tn});var n=i(23208),r=i(28130),a=i(51636),s=i(47356),o=i(54730),l=i(9820),c=i(78153),h=i(56524),d=i(42094),u=i(43452),p=function(){var t=(0,l.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[6,11,13,14,15,17,19,20,23,24],i=[1,12],n=[1,13],r=[1,14],a=[1,15],s=[1,16],o=[1,19],c=[1,20],h={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:(0,l.K)(function(t,e,i,n,r,a,s){var o=a.length-1;switch(r){case 1:return a[o-1];case 3:n.setDirection("LR");break;case 4:n.setDirection("TD");break;case 5:case 9:case 10:this.$=[];break;case 6:a[o-1].push(a[o]),this.$=a[o-1];break;case 7:case 8:this.$=a[o];break;case 11:n.getCommonDb().setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 12:this.$=a[o].trim(),n.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[o].trim(),n.getCommonDb().setAccDescription(this.$);break;case 15:n.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 18:n.addTask(a[o],0,""),this.$=a[o];break;case 19:n.addEvent(a[o].substr(2)),this.$=a[o]}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:i,15:n,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:i,15:n,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,l.K)(function(t){var e=this,i=[0],n=[],r=[null],a=[],s=this.table,o="",c=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);p.setInput(t,g),g.lexer=p,g.parser=this,void 0===p.yylloc&&(p.yylloc={});var y=p.yylloc;a.push(y);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||p.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){i.length=i.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,l.K)(b,"lex");for(var x,k,_,w,$,v,K,S,E,R={};;){if(_=i[i.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null==x&&(x=b()),w=s[_]&&s[_][x]),void 0===w||!w.length||!w[0]){var I="";for(v in E=[],s[_])this.terminals_[v]&&v>2&&E.push("'"+this.terminals_[v]+"'");I=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:y,expected:E})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+x);switch(w[0]){case 1:i.push(x),r.push(p.yytext),a.push(p.yylloc),i.push(w[1]),x=null,k?(x=k,k=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,y=p.yylloc,d>0&&d--);break;case 2:if(K=this.productions_[w[1]][1],R.$=r[r.length-K],R._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},m&&(R._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(R,[o,h,c,g,w[1],r,a].concat(u))))return $;K&&(i=i.slice(0,-1*K*2),r=r.slice(0,-1*K),a=a.slice(0,-1*K)),i.push(this.productions_[w[1]][0]),r.push(R.$),a.push(R._$),S=s[i[i.length-2]][i[i.length-1]],i.push(S);break;case 3:return!0}}return!0},"parse")};function d(){this.yy={}}return h.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,r=this._currentRules(),a=0;a<r.length;a++)if((i=this._input.match(this.rules[r[a]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,i,n){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 13;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}},(0,l.K)(d,"Parser"),d.prototype=h,h.Parser=d,new d}();p.parser=p;var g={};(0,l.V)(g,{addEvent:()=>I,addSection:()=>K,addTask:()=>R,addTaskOrg:()=>T,clear:()=>w,default:()=>L,getCommonDb:()=>_,getDirection:()=>v,getSections:()=>S,getTasks:()=>E,setDirection:()=>$});var f="",y=0,m="LR",b=[],x=[],k=[],_=(0,l.K)(()=>s.Wt,"getCommonDb"),w=(0,l.K)(function(){b.length=0,x.length=0,f="",k.length=0,m="LR",(0,s.IU)()},"clear"),$=(0,l.K)(function(t){m=t},"setDirection"),v=(0,l.K)(function(){return m},"getDirection"),K=(0,l.K)(function(t){f=t,b.push(t)},"addSection"),S=(0,l.K)(function(){return b},"getSections"),E=(0,l.K)(function(){let t=M(),e=0;for(;!t&&e<100;)t=M(),e++;return x.push(...k),x},"getTasks"),R=(0,l.K)(function(t,e,i){let n={id:y++,section:f,type:f,task:t,score:e||0,events:i?[i]:[]};k.push(n)},"addTask"),I=(0,l.K)(function(t){k.find(t=>t.id===y-1).events.push(t)},"addEvent"),T=(0,l.K)(function(t){let e={section:f,type:f,description:t,task:t,classes:[]};x.push(e)},"addTaskOrg"),M=(0,l.K)(function(){let t=(0,l.K)(function(t){return k[t].processed},"compileTask"),e=!0;for(let[i,n]of k.entries())t(i),e=e&&n.processed;return e},"compileTasks"),L={clear:w,getCommonDb:_,getDirection:v,setDirection:$,addSection:K,getSections:S,getTasks:E,addTask:R,addTaskOrg:T,addEvent:I},H=0,C=(0,l.K)(function(t,e){let i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),void 0!==e.class&&i.attr("class",e.class),i},"drawRect"),N=(0,l.K)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");function r(t){let i=(0,c.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let i=(0,c.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,l.K)(r,"smile"),(0,l.K)(a,"sad"),(0,l.K)(s,"ambivalent"),e.score>3?r(n):e.score<3?a(n):s(n),i},"drawFace"),A=(0,l.K)(function(t,e){let i=e.text.replace(/<br\s*\/?>/gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),void 0!==e.class&&n.attr("class",e.class);let r=n.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(i),n},"drawText"),D=-1,O=(0,l.K)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),B=function(){function t(t,e,i,r,a,s,o,l){n(e.append("text").attr("x",i+a/2).attr("y",r+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,i,r,a,s,o,l,c){let{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){let l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",i+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",i+a/2).attr("dy",l).text(u[t]),p.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(p,o)}}function i(t,i,r,a,s,o,l,c){let h=i.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),n(d,l)}function n(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(i,"byFo"),(0,l.K)(n,"_setTextAttrs"),function(n){return"fo"===n.textPlacement?i:"old"===n.textPlacement?t:e}}(),P=(0,l.K)(function(t,e){H=0,D=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function W(t,e){t.each(function(){var t,i=(0,c.Ltv)(this),n=i.text().split(/(\s+|<br>)/).reverse(),r=[],a=i.attr("y"),s=parseFloat(i.attr("dy")),o=i.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;s<n.length;s++)t=n[n.length-1-s],r.push(t),o.text(r.join(" ").trim()),(o.node().getComputedTextLength()>e||"<br>"===t)&&(r.pop(),o.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],o=i.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}(0,l.K)(W,"wrap");var z=(0,l.K)(function(t,e,i,n,r,a=!1){let{theme:s,look:o}=n,l=s?.includes("redux"),h=i%(n?.themeVariables?.THEME_COLOR_LIMIT??12)-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+h);let u=d.append("g"),p=d.append("g"),g=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(W,e.width).node().getBBox(),f=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=g.height+1.1*f*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),F(u,e,h,r,n),"neo"===o&&(d.attr("data-look","neo"),l)){let e=s.includes("dark"),i=t.node()?.ownerSVGElement??t.node(),n=(0,c.Ltv)(i),r=n.attr("id")??"",a=r?`${r}-drop-shadow`:"drop-shadow";if(n.select(`#${a}`).empty()){let t=n.select("defs");(t.empty()?n.append("defs"):t).append("filter").attr("id",a).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",e?"0.2":"0.06").attr("flood-color",e?"#FFFFFF":"#000000")}}return e},"drawNode"),j=(0,l.K)(function(t,e,i){let n=t.append("g"),r=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(W,e.width).node().getBBox(),a=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;return n.remove(),r.height+1.1*a*.5+e.padding},"getVirtualNodeHeight"),F=(0,l.K)(function(t,e,i,n,r){let{theme:a}=r,s=5*!a?.includes("redux"),o=s>0?`M0 ${e.height-5} v${-e.height+10} q0,-${s},${s},-${s} h${e.width-10} q${s},0,${s},${s} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+H++).attr("class","node-bkg node-"+e.type).attr("d",o),a?.includes("redux")||t.append("line").attr("class","node-line-"+i).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),V={initGraphics:P,drawNode:z,getVirtualNodeHeight:j},G=(0,l.K)(function(t,e,i,n){let r,a=(0,s.D7)(),{look:l,theme:h,themeVariables:d}=a,{useGradient:u,gradientStart:p,gradientStop:g}=d,f=a.timeline?.leftMargin??50;o.R.debug("timeline",n.db);let y=a.securityLevel;"sandbox"===y&&(r=(0,c.Ltv)("#i"+e));let m=("sandbox"===y?(0,c.Ltv)(r.nodes()[0].contentDocument.body):(0,c.Ltv)("body")).select("#"+e);m.append("g");let b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();o.R.debug("task",b),V.initGraphics(m,e);let k=n.db.getSections();o.R.debug("sections",k);let _=0,w=0,$=0,v=0,K=50+f,S=50;v=50;let E=0,R=!0;k.forEach(function(t){let e={number:E,descr:t,section:E,width:150,padding:20,maxHeight:_},i=V.getVirtualNodeHeight(m,e,a);o.R.debug("sectionHeight before draw",i),_=Math.max(_,i+20)});let I=0,T=0;for(let[t,e]of(o.R.debug("tasks.length",b.length),b.entries())){let i={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:w},n=V.getVirtualNodeHeight(m,i,a);o.R.debug("taskHeight before draw",n),w=Math.max(w,n+20),I=Math.max(I,e.events.length);let r=0;for(let t of e.events){let i={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};r+=V.getVirtualNodeHeight(m,i,a)}e.events.length>0&&(r+=(e.events.length-1)*10),T=Math.max(T,r)}o.R.debug("maxSectionHeight before draw",_),o.R.debug("maxTaskHeight before draw",w),k&&k.length>0?k.forEach(t=>{let i=b.filter(e=>e.section===t),n={number:E,descr:t,section:E,width:200*Math.max(i.length,1)-50,padding:20,maxHeight:_};o.R.debug("sectionNode",n);let r=m.append("g"),s=V.drawNode(r,n,E,a,e);o.R.debug("sectionNode output",s),r.attr("transform",`translate(${K}, ${v})`),S+=_+50,i.length>0&&U(m,i,E,K,S,w,a,I,T,_,!1,e),K+=200*Math.max(i.length,1),S=v,E++}):(R=!1,U(m,b,E,K,S,w,a,I,T,_,!0,e));let M=m.node().getBBox();if(o.R.debug("bounds",M),x&&m.append("text").text(x).attr("x","neo"===l?2*M.x+f:M.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),$=R?_+w+150:w+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",f).attr("y1",$).attr("x2",M.width+3*f).attr("y2",$).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),"neo"===l&&u&&"neutral"!==h){let t=m.select("defs"),e=(t.empty()?m.append("defs"):t).append("linearGradient").attr("id",m.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),e.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}(0,s.ot)(void 0,m,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)},"draw"),U=(0,l.K)(function(t,e,i,n,r,a,s,l,c,h,d,u){for(let l of e){let e={descr:l.task,section:i,number:i,width:150,padding:20,maxHeight:a};o.R.debug("taskNode",e);let h=t.append("g").attr("class","taskWrapper"),p=V.drawNode(h,e,i,s,u).height;if(o.R.debug("taskHeight after draw",p),h.attr("transform",`translate(${n}, ${r})`),a=Math.max(a,p),l.events){let e=t.append("g").attr("class","lineWrapper");r+=100,Z(t,l.events,i,n,r,s,u),r-=100,e.append("line").attr("x1",n+95).attr("y1",r+a).attr("x2",n+95).attr("y2",r+a+100+c+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${u}-arrowhead)`).attr("stroke-dasharray","5,5")}n+=200,d&&!s.timeline?.disableMulticolor&&i++}},"drawTasks"),Z=(0,l.K)(function(t,e,i,n,r,a,s){let l=0,c=r;for(let c of(r+=100,e)){let e={descr:c,section:i,number:i,width:150,padding:20,maxHeight:50};o.R.debug("eventNode",e);let h=t.append("g").attr("class","eventWrapper"),d=V.drawNode(h,e,i,a,s,!0).height;l+=d,h.attr("transform",`translate(${n}, ${r})`),r=r+10+d}return r=c,l},"drawEvents"),q={setConf:(0,l.K)(()=>{},"setConf"),draw:G},J=(0,l.K)(function(t,e,i,r){let l=(0,s.D7)(),c=l.timeline?.leftMargin??50;o.R.debug("timeline",r.db);let h=(0,n.D)(e);h.append("g");let d=r.db.getTasks(),u=r.db.getCommonDb().getDiagramTitle();o.R.debug("task",d),V.initGraphics(h);let p=r.db.getSections();o.R.debug("sections",p);let g=0,f=0,y=50,m=230,b=0,x=p&&p.length>0,k=50+c+m,_=Math.max(50,m+360-10);p.forEach(function(t){let e={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g},i=V.getVirtualNodeHeight(h,e,l);o.R.debug("sectionHeight before draw",i),g=Math.max(g,i)});let w=0;for(let[t,e]of(o.R.debug("tasks.length",d.length),d.entries())){let i={number:t,descr:e,section:e.section,width:200,padding:5,maxHeight:f},n=V.getVirtualNodeHeight(h,i,l);o.R.debug("taskHeight before draw",n),f=Math.max(f,n);let r=0;for(let t of e.events){let i={descr:t,section:e.section,number:e.section,width:300,padding:5,maxHeight:50};r+=V.getVirtualNodeHeight(h,i,l)}e.events.length>0&&(r+=(e.events.length-1)*10),w=Math.max(w,r)+0}o.R.debug("maxSectionHeight before draw",g),o.R.debug("maxTaskHeight before draw",f);let $=Math.max(f,w)+30;x?p.forEach(t=>{let e=d.filter(e=>e.section===t),i={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g};o.R.debug("sectionNode",i);let n=h.append("g"),r=V.drawNode(n,i,b,l);o.R.debug("sectionNode output",r);let a=k-m;n.attr("transform",`translate(${a}, ${y})`);let s=y+r.height+20;e.length>0&&Y(h,e,b,k,s,f,l,$,!1);let c=e.length,u=r.height+20+$*Math.max(c,1)-60*(c>0);y+=u,b++}):Y(h,d,b,k,y,f,l,$,!0);let v=h.node()?.getBBox();if(!v)throw Error("bbox not found");if(o.R.debug("bounds",v),u){if(h.append("text").text(u).attr("x",v.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),!(v=h.node()?.getBBox()))throw Error("bbox not found");o.R.debug("bounds after title",v)}let[K]=(0,a.I5)(l.fontSize),S=h.append("g").attr("class","lineWrapper");S.append("line").attr("x1",k).attr("y1",50-(K??16)*2).attr("x2",k).attr("y2",v.y+v.height+((K??16)*.5+20)).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),S.lower(),(0,s.ot)(void 0,h,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},"draw"),Y=(0,l.K)(function(t,e,i,n,r,a,s,l,c){for(let h of e){let e={descr:h.task,section:i,number:i,width:200,padding:5,maxHeight:a};o.R.debug("taskNode",e);let d=t.append("g").attr("class","taskWrapper"),u=V.drawNode(d,e,i,s),p=u.height;o.R.debug("taskHeight after draw",p);let g=n-20-u.width;if(d.attr("transform",`translate(${g}, ${r})`),a=Math.max(a,p),h.events&&h.events.length>0){let e=r,a=n+50;X(t,h.events,i,n,a,e,s)}r+=l,c&&!s.timeline?.disableMulticolor&&i++}},"drawTasks"),X=(0,l.K)(function(t,e,i,n,r,a,s){let l=a;for(let a of e){let e={descr:a,section:i,number:i,width:300,padding:5,maxHeight:0};o.R.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=V.drawNode(c,e,i,s).height;c.attr("transform",`translate(${r}, ${l})`);let d=t.append("g").attr("class","lineWrapper"),u=l+h/2;d.append("line").attr("x1",n).attr("y1",u).attr("x2",r).attr("y2",u).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+h+10}return l-a},"drawEvents"),Q={setConf:(0,l.K)(()=>{},"setConf"),draw:J},tt=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),i=e?.includes("dark"),n=(0,r.P1)(e,t.borderColorArray),a=t.svgId?.replace(/^#/,"")??"",o=a?`url(#${a}-drop-shadow)`:t.dropShadow??"none",l="";for(let e=0;e<(0,r.nw)(t.THEME_COLOR_LIMIT);e++){let r=`${17-3*e}`,a=n?t.borderColorArray[e%t.borderColorArray.length]:void 0,s=a??t.mainBkg,c=a??t.nodeBorder;l+=`
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1060],{51060:(t,e,i)=>{i.d(e,{diagram:()=>tn});var n=i(4910),r=i(87100),a=i(11226),s=i(46238),o=i(96556),l=i(20330),c=i(91063),h=i(14938),d=i(63368),u=i(87542),p=function(){var t=(0,l.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[6,11,13,14,15,17,19,20,23,24],i=[1,12],n=[1,13],r=[1,14],a=[1,15],s=[1,16],o=[1,19],c=[1,20],h={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:(0,l.K)(function(t,e,i,n,r,a,s){var o=a.length-1;switch(r){case 1:return a[o-1];case 3:n.setDirection("LR");break;case 4:n.setDirection("TD");break;case 5:case 9:case 10:this.$=[];break;case 6:a[o-1].push(a[o]),this.$=a[o-1];break;case 7:case 8:this.$=a[o];break;case 11:n.getCommonDb().setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 12:this.$=a[o].trim(),n.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[o].trim(),n.getCommonDb().setAccDescription(this.$);break;case 15:n.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 18:n.addTask(a[o],0,""),this.$=a[o];break;case 19:n.addEvent(a[o].substr(2)),this.$=a[o]}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:i,15:n,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:i,15:n,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,l.K)(function(t){var e=this,i=[0],n=[],r=[null],a=[],s=this.table,o="",c=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);p.setInput(t,g),g.lexer=p,g.parser=this,void 0===p.yylloc&&(p.yylloc={});var y=p.yylloc;a.push(y);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||p.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){i.length=i.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,l.K)(b,"lex");for(var x,k,_,w,$,v,K,S,E,R={};;){if(_=i[i.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null==x&&(x=b()),w=s[_]&&s[_][x]),void 0===w||!w.length||!w[0]){var I="";for(v in E=[],s[_])this.terminals_[v]&&v>2&&E.push("'"+this.terminals_[v]+"'");I=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:y,expected:E})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+x);switch(w[0]){case 1:i.push(x),r.push(p.yytext),a.push(p.yylloc),i.push(w[1]),x=null,k?(x=k,k=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,y=p.yylloc,d>0&&d--);break;case 2:if(K=this.productions_[w[1]][1],R.$=r[r.length-K],R._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},m&&(R._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(R,[o,h,c,g,w[1],r,a].concat(u))))return $;K&&(i=i.slice(0,-1*K*2),r=r.slice(0,-1*K),a=a.slice(0,-1*K)),i.push(this.productions_[w[1]][0]),r.push(R.$),a.push(R._$),S=s[i[i.length-2]][i[i.length-1]],i.push(S);break;case 3:return!0}}return!0},"parse")};function d(){this.yy={}}return h.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,r=this._currentRules(),a=0;a<r.length;a++)if((i=this._input.match(this.rules[r[a]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,i,n){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 13;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}},(0,l.K)(d,"Parser"),d.prototype=h,h.Parser=d,new d}();p.parser=p;var g={};(0,l.V)(g,{addEvent:()=>I,addSection:()=>K,addTask:()=>R,addTaskOrg:()=>T,clear:()=>w,default:()=>L,getCommonDb:()=>_,getDirection:()=>v,getSections:()=>S,getTasks:()=>E,setDirection:()=>$});var f="",y=0,m="LR",b=[],x=[],k=[],_=(0,l.K)(()=>s.Wt,"getCommonDb"),w=(0,l.K)(function(){b.length=0,x.length=0,f="",k.length=0,m="LR",(0,s.IU)()},"clear"),$=(0,l.K)(function(t){m=t},"setDirection"),v=(0,l.K)(function(){return m},"getDirection"),K=(0,l.K)(function(t){f=t,b.push(t)},"addSection"),S=(0,l.K)(function(){return b},"getSections"),E=(0,l.K)(function(){let t=M(),e=0;for(;!t&&e<100;)t=M(),e++;return x.push(...k),x},"getTasks"),R=(0,l.K)(function(t,e,i){let n={id:y++,section:f,type:f,task:t,score:e||0,events:i?[i]:[]};k.push(n)},"addTask"),I=(0,l.K)(function(t){k.find(t=>t.id===y-1).events.push(t)},"addEvent"),T=(0,l.K)(function(t){let e={section:f,type:f,description:t,task:t,classes:[]};x.push(e)},"addTaskOrg"),M=(0,l.K)(function(){let t=(0,l.K)(function(t){return k[t].processed},"compileTask"),e=!0;for(let[i,n]of k.entries())t(i),e=e&&n.processed;return e},"compileTasks"),L={clear:w,getCommonDb:_,getDirection:v,setDirection:$,addSection:K,getSections:S,getTasks:E,addTask:R,addTaskOrg:T,addEvent:I},H=0,C=(0,l.K)(function(t,e){let i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),void 0!==e.class&&i.attr("class",e.class),i},"drawRect"),N=(0,l.K)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");function r(t){let i=(0,c.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let i=(0,c.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,l.K)(r,"smile"),(0,l.K)(a,"sad"),(0,l.K)(s,"ambivalent"),e.score>3?r(n):e.score<3?a(n):s(n),i},"drawFace"),A=(0,l.K)(function(t,e){let i=e.text.replace(/<br\s*\/?>/gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),void 0!==e.class&&n.attr("class",e.class);let r=n.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(i),n},"drawText"),D=-1,O=(0,l.K)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),B=function(){function t(t,e,i,r,a,s,o,l){n(e.append("text").attr("x",i+a/2).attr("y",r+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,i,r,a,s,o,l,c){let{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){let l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",i+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",i+a/2).attr("dy",l).text(u[t]),p.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(p,o)}}function i(t,i,r,a,s,o,l,c){let h=i.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),n(d,l)}function n(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(i,"byFo"),(0,l.K)(n,"_setTextAttrs"),function(n){return"fo"===n.textPlacement?i:"old"===n.textPlacement?t:e}}(),P=(0,l.K)(function(t,e){H=0,D=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function W(t,e){t.each(function(){var t,i=(0,c.Ltv)(this),n=i.text().split(/(\s+|<br>)/).reverse(),r=[],a=i.attr("y"),s=parseFloat(i.attr("dy")),o=i.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;s<n.length;s++)t=n[n.length-1-s],r.push(t),o.text(r.join(" ").trim()),(o.node().getComputedTextLength()>e||"<br>"===t)&&(r.pop(),o.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],o=i.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}(0,l.K)(W,"wrap");var z=(0,l.K)(function(t,e,i,n,r,a=!1){let{theme:s,look:o}=n,l=s?.includes("redux"),h=i%(n?.themeVariables?.THEME_COLOR_LIMIT??12)-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+h);let u=d.append("g"),p=d.append("g"),g=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(W,e.width).node().getBBox(),f=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=g.height+1.1*f*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),F(u,e,h,r,n),"neo"===o&&(d.attr("data-look","neo"),l)){let e=s.includes("dark"),i=t.node()?.ownerSVGElement??t.node(),n=(0,c.Ltv)(i),r=n.attr("id")??"",a=r?`${r}-drop-shadow`:"drop-shadow";if(n.select(`#${a}`).empty()){let t=n.select("defs");(t.empty()?n.append("defs"):t).append("filter").attr("id",a).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",e?"0.2":"0.06").attr("flood-color",e?"#FFFFFF":"#000000")}}return e},"drawNode"),j=(0,l.K)(function(t,e,i){let n=t.append("g"),r=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(W,e.width).node().getBBox(),a=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;return n.remove(),r.height+1.1*a*.5+e.padding},"getVirtualNodeHeight"),F=(0,l.K)(function(t,e,i,n,r){let{theme:a}=r,s=5*!a?.includes("redux"),o=s>0?`M0 ${e.height-5} v${-e.height+10} q0,-${s},${s},-${s} h${e.width-10} q${s},0,${s},${s} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+H++).attr("class","node-bkg node-"+e.type).attr("d",o),a?.includes("redux")||t.append("line").attr("class","node-line-"+i).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),V={initGraphics:P,drawNode:z,getVirtualNodeHeight:j},G=(0,l.K)(function(t,e,i,n){let r,a=(0,s.D7)(),{look:l,theme:h,themeVariables:d}=a,{useGradient:u,gradientStart:p,gradientStop:g}=d,f=a.timeline?.leftMargin??50;o.R.debug("timeline",n.db);let y=a.securityLevel;"sandbox"===y&&(r=(0,c.Ltv)("#i"+e));let m=("sandbox"===y?(0,c.Ltv)(r.nodes()[0].contentDocument.body):(0,c.Ltv)("body")).select("#"+e);m.append("g");let b=n.db.getTasks(),x=n.db.getCommonDb().getDiagramTitle();o.R.debug("task",b),V.initGraphics(m,e);let k=n.db.getSections();o.R.debug("sections",k);let _=0,w=0,$=0,v=0,K=50+f,S=50;v=50;let E=0,R=!0;k.forEach(function(t){let e={number:E,descr:t,section:E,width:150,padding:20,maxHeight:_},i=V.getVirtualNodeHeight(m,e,a);o.R.debug("sectionHeight before draw",i),_=Math.max(_,i+20)});let I=0,T=0;for(let[t,e]of(o.R.debug("tasks.length",b.length),b.entries())){let i={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:w},n=V.getVirtualNodeHeight(m,i,a);o.R.debug("taskHeight before draw",n),w=Math.max(w,n+20),I=Math.max(I,e.events.length);let r=0;for(let t of e.events){let i={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};r+=V.getVirtualNodeHeight(m,i,a)}e.events.length>0&&(r+=(e.events.length-1)*10),T=Math.max(T,r)}o.R.debug("maxSectionHeight before draw",_),o.R.debug("maxTaskHeight before draw",w),k&&k.length>0?k.forEach(t=>{let i=b.filter(e=>e.section===t),n={number:E,descr:t,section:E,width:200*Math.max(i.length,1)-50,padding:20,maxHeight:_};o.R.debug("sectionNode",n);let r=m.append("g"),s=V.drawNode(r,n,E,a,e);o.R.debug("sectionNode output",s),r.attr("transform",`translate(${K}, ${v})`),S+=_+50,i.length>0&&U(m,i,E,K,S,w,a,I,T,_,!1,e),K+=200*Math.max(i.length,1),S=v,E++}):(R=!1,U(m,b,E,K,S,w,a,I,T,_,!0,e));let M=m.node().getBBox();if(o.R.debug("bounds",M),x&&m.append("text").text(x).attr("x","neo"===l?2*M.x+f:M.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),$=R?_+w+150:w+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",f).attr("y1",$).attr("x2",M.width+3*f).attr("y2",$).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),"neo"===l&&u&&"neutral"!==h){let t=m.select("defs"),e=(t.empty()?m.append("defs"):t).append("linearGradient").attr("id",m.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),e.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}(0,s.ot)(void 0,m,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)},"draw"),U=(0,l.K)(function(t,e,i,n,r,a,s,l,c,h,d,u){for(let l of e){let e={descr:l.task,section:i,number:i,width:150,padding:20,maxHeight:a};o.R.debug("taskNode",e);let h=t.append("g").attr("class","taskWrapper"),p=V.drawNode(h,e,i,s,u).height;if(o.R.debug("taskHeight after draw",p),h.attr("transform",`translate(${n}, ${r})`),a=Math.max(a,p),l.events){let e=t.append("g").attr("class","lineWrapper");r+=100,Z(t,l.events,i,n,r,s,u),r-=100,e.append("line").attr("x1",n+95).attr("y1",r+a).attr("x2",n+95).attr("y2",r+a+100+c+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${u}-arrowhead)`).attr("stroke-dasharray","5,5")}n+=200,d&&!s.timeline?.disableMulticolor&&i++}},"drawTasks"),Z=(0,l.K)(function(t,e,i,n,r,a,s){let l=0,c=r;for(let c of(r+=100,e)){let e={descr:c,section:i,number:i,width:150,padding:20,maxHeight:50};o.R.debug("eventNode",e);let h=t.append("g").attr("class","eventWrapper"),d=V.drawNode(h,e,i,a,s,!0).height;l+=d,h.attr("transform",`translate(${n}, ${r})`),r=r+10+d}return r=c,l},"drawEvents"),q={setConf:(0,l.K)(()=>{},"setConf"),draw:G},J=(0,l.K)(function(t,e,i,r){let l=(0,s.D7)(),c=l.timeline?.leftMargin??50;o.R.debug("timeline",r.db);let h=(0,n.D)(e);h.append("g");let d=r.db.getTasks(),u=r.db.getCommonDb().getDiagramTitle();o.R.debug("task",d),V.initGraphics(h);let p=r.db.getSections();o.R.debug("sections",p);let g=0,f=0,y=50,m=230,b=0,x=p&&p.length>0,k=50+c+m,_=Math.max(50,m+360-10);p.forEach(function(t){let e={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g},i=V.getVirtualNodeHeight(h,e,l);o.R.debug("sectionHeight before draw",i),g=Math.max(g,i)});let w=0;for(let[t,e]of(o.R.debug("tasks.length",d.length),d.entries())){let i={number:t,descr:e,section:e.section,width:200,padding:5,maxHeight:f},n=V.getVirtualNodeHeight(h,i,l);o.R.debug("taskHeight before draw",n),f=Math.max(f,n);let r=0;for(let t of e.events){let i={descr:t,section:e.section,number:e.section,width:300,padding:5,maxHeight:50};r+=V.getVirtualNodeHeight(h,i,l)}e.events.length>0&&(r+=(e.events.length-1)*10),w=Math.max(w,r)+0}o.R.debug("maxSectionHeight before draw",g),o.R.debug("maxTaskHeight before draw",f);let $=Math.max(f,w)+30;x?p.forEach(t=>{let e=d.filter(e=>e.section===t),i={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g};o.R.debug("sectionNode",i);let n=h.append("g"),r=V.drawNode(n,i,b,l);o.R.debug("sectionNode output",r);let a=k-m;n.attr("transform",`translate(${a}, ${y})`);let s=y+r.height+20;e.length>0&&Y(h,e,b,k,s,f,l,$,!1);let c=e.length,u=r.height+20+$*Math.max(c,1)-60*(c>0);y+=u,b++}):Y(h,d,b,k,y,f,l,$,!0);let v=h.node()?.getBBox();if(!v)throw Error("bbox not found");if(o.R.debug("bounds",v),u){if(h.append("text").text(u).attr("x",v.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),!(v=h.node()?.getBBox()))throw Error("bbox not found");o.R.debug("bounds after title",v)}let[K]=(0,a.I5)(l.fontSize),S=h.append("g").attr("class","lineWrapper");S.append("line").attr("x1",k).attr("y1",50-(K??16)*2).attr("x2",k).attr("y2",v.y+v.height+((K??16)*.5+20)).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),S.lower(),(0,s.ot)(void 0,h,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},"draw"),Y=(0,l.K)(function(t,e,i,n,r,a,s,l,c){for(let h of e){let e={descr:h.task,section:i,number:i,width:200,padding:5,maxHeight:a};o.R.debug("taskNode",e);let d=t.append("g").attr("class","taskWrapper"),u=V.drawNode(d,e,i,s),p=u.height;o.R.debug("taskHeight after draw",p);let g=n-20-u.width;if(d.attr("transform",`translate(${g}, ${r})`),a=Math.max(a,p),h.events&&h.events.length>0){let e=r,a=n+50;X(t,h.events,i,n,a,e,s)}r+=l,c&&!s.timeline?.disableMulticolor&&i++}},"drawTasks"),X=(0,l.K)(function(t,e,i,n,r,a,s){let l=a;for(let a of e){let e={descr:a,section:i,number:i,width:300,padding:5,maxHeight:0};o.R.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=V.drawNode(c,e,i,s).height;c.attr("transform",`translate(${r}, ${l})`);let d=t.append("g").attr("class","lineWrapper"),u=l+h/2;d.append("line").attr("x1",n).attr("y1",u).attr("x2",r).attr("y2",u).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+h+10}return l-a},"drawEvents"),Q={setConf:(0,l.K)(()=>{},"setConf"),draw:J},tt=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),i=e?.includes("dark"),n=(0,r.P1)(e,t.borderColorArray),a=t.svgId?.replace(/^#/,"")??"",o=a?`url(#${a}-drop-shadow)`:t.dropShadow??"none",l="";for(let e=0;e<(0,r.nw)(t.THEME_COLOR_LIMIT);e++){let r=`${17-3*e}`,a=n?t.borderColorArray[e%t.borderColorArray.length]:void 0,s=a??t.mainBkg,c=a??t.nodeBorder;l+=`
|
|
2
2
|
.section-${e-1} rect,
|
|
3
3
|
.section-${e-1} path,
|
|
4
4
|
.section-${e-1} circle {
|
package/apps/pwa/out/_next/static/chunks/{8911.bf5e712acb25fb6c.js → 1281.d81877e35b9068f4.js}
RENAMED
|
@@ -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([[1281],{1281:(e,t,i)=>{i.r(t),i.d(t,{WebglAddon:()=>t6});var s,r,n=i(77008),o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,h=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?u.isErrorNoTelemetry(e)?new u(e.message+`
|
|
2
2
|
|
|
3
3
|
`+e.stack):Error(e.message+`
|
|
4
4
|
|
package/apps/pwa/out/_next/static/chunks/{2104.70e086d5174a4736.js → 1350.59f40e39e02d91b1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1350],{81350:(e,a,r)=>{r.d(a,{diagram:()=>l});var t=r(4910),n=r(46238),s=r(96556),d=r(20330),i=r(43250),p={parse:(0,d.K)(async e=>{let a=await (0,i.qg)("info",e);s.R.debug(a)},"parse")},g={version:"12.1.0"},o=(0,d.K)(()=>g.version,"getVersion"),l={parser:p,db:{getVersion:o},renderer:{draw:(0,d.K)((e,a,r)=>{s.R.debug("rendering info diagram\n"+e);let d=(0,t.D)(a);(0,n.a$)(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw")}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1415],{41415:(e,s,c)=>{c.d(s,{createTreeViewServices:()=>r.I});var r=c(37784);c(62705)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1452],{31452:(e,t,n)=>{n.r(t),n.d(t,{PtyLiveView:()=>m});var r=n(94451),s=n(75699),l=n(2333),a=n(86645),c=n(63469);n(72553);let o={failures:0,stopped:!1,message:null,screen:null},u=/^\[screen \d+x\d+ cursor=[^\]\n]*\]\r?\n/;function i(e){let t=e.replace(u,"").replace(/\r?\n/g,"\r\n");return"\x1b[H\x1b[2J".concat(t)}function d(e,t){var n;if(e.stopped)return e;if((null==t?void 0:t.status)==="success"&&"string"==typeof t.screen)return{failures:0,stopped:!1,message:null,screen:i(t.screen)};if((null==t?void 0:t.status)==="unknown-pty")return{...e,stopped:!0,message:"PTY 가 끝났습니다"};if((null==t?void 0:t.status)==="denied")return{...e,failures:0,stopped:!0,message:t.reason||"화면 조회가 거부되었습니다"};let r=e.failures+1;return(null==t?void 0:t.status)!=="owner-unreachable"?{...e,failures:r,stopped:r>=5,message:(null==t?void 0:t.reason)||"화면 조회에 실패했습니다"}:{...e,failures:r,stopped:r>=5,message:r>=5?"소유 프로세스에 닿지 않습니다":null!=(n=t.reason)?n:null}}var p=n(85303);function m(e){var t,n;let{terminal:u,client:m,onClose:f}=e,h=(0,s.useRef)(null),v=(0,s.useRef)(null),g=(0,s.useRef)(null),b=(0,s.useRef)(o),[w,x]=(0,s.useState)(!1),[y,k]=(0,s.useState)(!1),T=(0,s.useRef)(!1),[R,S]=(0,s.useState)(null),[P,M]=(0,s.useState)("connecting");return(0,s.useEffect)(()=>{var e,t,n;let r;if(!h.current)return;let s={closed:!1,owned:!1,accepting:!1,queue:Promise.resolve(),takeover:null,release:null};g.current=s,T.current=!1,k(!1);let f={sourceRoot:null==(e=u.sourceRoot)?void 0:e.dbPath},w=new l.B({cols:110,rows:40,fontFamily:'"JetBrainsMono Nerd Font", "JetBrains Mono", monospace',fontSize:13,theme:{background:"#0d0c08",foreground:"#e9e3d4",cursor:"#e9e3d4"},cursorBlink:!1,disableStdin:!0,scrollback:0,allowProposedApi:!0});w.loadAddon(new a.c),w.loadAddon(new c.I),w.unicode.activeVersion="11",w.open(h.current),w.write("\x1b[?25l"),v.current=w,b.current=o,x(!1),S(null);let y=w.onData(e=>{if(!s.accepting||s.closed||!e)return;let t=e.startsWith("\x1b")||"\r"===e||"\n"===e||""===e||" "===e||"\x03"===e;s.queue=s.queue.then(async()=>{try{let n=t?await m.sendTerminalKey(u.id,e,f):await m.sendTerminalText(u.id,e,f);if(s.closed)return;"success"!==n.status&&("denied"===n.status&&(s.accepting=!1,x(!1),w.options.disableStdin=!0),S(n.reason||"입력 실패: ".concat(n.status)))}catch(e){s.closed||S("입력 전송 실패: ".concat(String(e)))}})}),R=h.current,P=!1,j=e=>{s.queue=s.queue.then(async()=>{try{var t;if(!m.sendTerminalMouse)return;let n=await m.sendTerminalMouse(u.id,e,f);if(s.closed||"success"===n.status)return;if((t=n.reason)&&/mouse mode is off|\?1006/i.test(t)){"click"!==e.kind||P||(P=!0,S("이 앱은 마우스를 받지 않는다(마우스 모드 꺼짐) — 키보드로 조작하세요."));return}S(n.reason||"마우스 전송 실패: ".concat(n.status))}catch(e){s.closed||S("마우스 전송 실패: ".concat(String(e)))}})},E=e=>{var t;let n=null==(t=w.element)?void 0:t.querySelector(".xterm-screen");return n?function(e,t,n,r,s){if(!(n.width>0)||!(n.height>0)||r<1||s<1)return null;let l=Math.floor((e-n.left)/n.width*r)+1,a=Math.floor((t-n.top)/n.height*s)+1;return{x:Math.min(r,Math.max(1,l)),y:Math.min(s,Math.max(1,a))}}(e.clientX,e.clientY,n.getBoundingClientRect(),w.cols,w.rows):null},N=()=>s.accepting&&!s.closed&&"none"===w.modes.mouseTrackingMode,Y=e=>{var t;if(!N())return;let n=0===(t=e.button)?"left":1===t?"middle":2===t?"right":null,r=E(e);n&&r&&j({...r,kind:"click",button:n})},q=e=>{if(!N()||0===e.deltaY)return;let t=E(e);t&&(e.preventDefault(),e.stopPropagation(),j({...t,kind:e.deltaY<0?"scroll-up":"scroll-down"}))};null==(t=R.addEventListener)||t.call(R,"mousedown",Y,{capture:!0}),null==(n=R.addEventListener)||n.call(R,"wheel",q,{passive:!1,capture:!0});let L=async()=>{var e,t,n,l;if(!s.closed&&(e=!document.hidden,t=b.current,e&&!t.stopped)){try{let e=await m.snapshotTerminal(u.id,{ansi:!0,sourceRoot:f.sourceRoot});if(s.closed)return;let t=d(b.current,e);b.current=t,null!==t.screen&&"success"===e.status&&w.write(t.screen+"\x1b[?25l"),S(t.message)}catch(t){if(s.closed)return;let e=d(b.current,null);b.current=e,S(e.message)}s.closed||(n=!document.hidden,l=b.current,!n||l.stopped)||(r=setTimeout(()=>{L()},800))}},z=!m.streamTerminal,B=null,C=()=>{!m.streamTerminal||s.closed||z||(M("connecting"),B=m.streamTerminal(u.id,{sourceRoot:f.sourceRoot},e=>{s.closed||("mode"===e.type?M("bytes"===e.mode?"stream-bytes":"stream-screen"):"reset"===e.type||"screen"===e.type?(w.write(i(e.screen)+"\x1b[?25l"),S(null)):"data"===e.type?w.write(e.chunk):"end"===e.type?(S("PTY 가 끝났습니다"),b.current={...b.current,stopped:!0}):"status"===e.type&&S("화면 조회: ".concat(e.status)))},e=>{s.closed||((0,p.cY)("pwa.terminal.stream-fallback",{id:u.id,reason:e}),z=!0,M("poll"),L())}))},_=()=>{if(r&&clearTimeout(r),r=void 0,!z)return void(document.hidden?(null==B||B(),B=null):B||b.current.stopped||C());document.hidden||s.closed||b.current.stopped||L()};return document.addEventListener("visibilitychange",_),z?(M("poll"),L()):C(),()=>{var e,t;s.closed=!0,s.accepting=!1,r&&clearTimeout(r),null==B||B(),document.removeEventListener("visibilitychange",_),y.dispose(),null==(e=R.removeEventListener)||e.call(R,"mousedown",Y,{capture:!0}),null==(t=R.removeEventListener)||t.call(R,"wheel",q,{capture:!0}),(async()=>{if(await s.takeover,s.release&&await s.release,s.owned){await s.queue;try{let e=await m.controlTerminal(u.id,"release",f);"success"===e.status&&(s.owned=!1)}catch(e){}}})(),g.current===s&&(g.current=null),v.current=null,w.dispose()}},[m,u.id,null==(t=u.sourceRoot)?void 0:t.dbPath]),(0,r.jsxs)("section",{className:"flex h-full min-h-0 flex-col bg-[#0d0c08]","aria-label":"PTY 라이브 화면",children:[(0,r.jsxs)("header",{className:"flex flex-wrap items-center gap-3 border-b border-zinc-700 px-3 py-2 text-sm text-zinc-100",children:[(0,r.jsx)("span",{className:"font-mono",children:u.id}),(0,r.jsx)("span",{children:null!=(n=u.kind)?n:"PTY"}),(0,r.jsx)("span",{children:w?"입력 가능":"읽기 전용"}),(0,r.jsx)("span",{className:"rounded bg-zinc-800 px-1.5 py-0.5 font-mono text-[10px] text-zinc-300","data-pty-feed":P,title:"화면을 받는 방식",children:"stream-bytes"===P?"● 실시간":"stream-screen"===P?"● 실시간(화면)":"poll"===P?"폴링 0.8s":"연결 중"}),(0,r.jsx)("button",{type:"button",disabled:y,onClick:()=>{(e=>{var t;let n=g.current;if(!n||n.closed||T.current)return;T.current=!0,k(!0);let r={sourceRoot:null==(t=u.sourceRoot)?void 0:t.dbPath};"release"===e&&(n.accepting=!1,v.current&&(v.current.options.disableStdin=!0));let s=(async()=>{try{"release"===e&&await n.queue;let t=await m.controlTerminal(u.id,e,r);if("success"===t.status&&(n.owned="takeover"===e),n.closed)return;"success"===t.status?(n.accepting="takeover"===e,x(n.accepting),v.current&&(v.current.options.disableStdin=!n.accepting),S(null)):("release"===e&&(n.accepting=n.owned,v.current&&(v.current.options.disableStdin=!n.accepting)),S(t.reason||("denied"===t.status?"제어 거부: 권한이 없습니다":"제어 실패: ".concat(t.status))))}catch(t){n.closed||("release"===e&&(n.accepting=n.owned,v.current&&(v.current.options.disableStdin=!n.accepting)),S("제어 요청 실패: ".concat(String(t))))}finally{n.closed||(T.current=!1,k(!1))}})();"takeover"===e?n.takeover=s:n.release=s})(w?"release":"takeover")},children:w?"release":"takeover"}),(0,r.jsx)("button",{type:"button",onClick:f,"aria-label":"PTY 라이브 닫기",children:"닫기"})]}),R&&(0,r.jsx)("p",{role:"status",className:"px-3 py-1 text-amber-300",children:R}),(0,r.jsx)("div",{ref:h,className:"min-h-0 flex-1 overflow-auto","aria-label":"".concat(u.id," 화면")})]})}}}]);
|