elanous 0.2.37 → 0.2.38
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/{8kITumG9GAZ1LwT9POrAR → RrjXTwz-urRAbChP1bX02}/_buildManifest.js +1 -1
- package/apps/pwa/out/_next/static/chunks/{2002-a43a3f380df873ec.js → 1026-44010f405704050c.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1118.a8a74ea29aac3e46.js +27 -0
- package/apps/pwa/out/_next/static/chunks/1204-2aa830479adf80f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1341-43b7d2dc77d45c9d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1440-c3ea8882badfd9bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7424.c0fe2a595d4232b5.js → 1632.7d87f998e714bede.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1698-9c11cbf97f13717e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1770-3b1fc92253ef9f2f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4937-28d437999b77c9dd.js → 1923-5c1695332240246a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1938.0e6c60ee91c4d7f5.js +148 -0
- package/apps/pwa/out/_next/static/chunks/2104.70e086d5174a4736.js +1 -0
- package/apps/pwa/out/_next/static/chunks/213-20675f20673ba22a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/214.186a430da28338f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2277.3bd4c0ac7f1b5996.js +93 -0
- package/apps/pwa/out/_next/static/chunks/240.e09f433f71c78ff4.js +104 -0
- package/apps/pwa/out/_next/static/chunks/{3199.6a1a9b0e6cd01dc6.js → 2415.738b777642a02233.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2417.02151393605a7cd0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2463.cd2641a76daaa9ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2576.b9e9c629c4b84c52.js +1 -0
- package/apps/pwa/out/_next/static/chunks/265-c021de53f0865bd9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2998-b1cc13956cd6a6e7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2e4782d3.ba2f0ab2b63a53e7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1262.a89bb27a5b2f844e.js → 3086.fb14b60ce98b53d3.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3124-561f7f037943cde2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3130.626b54382b4dc379.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3221-1bb3f99a55088613.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3280.24edb1ffd03a7f3f.js +24 -0
- package/apps/pwa/out/_next/static/chunks/3288-eb3c22a1cbf2ae68.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2283.edd9627b7bdfb546.js → 3291.f6c1005387d514bd.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/33.ef99e8374f96c6c4.js +36 -0
- package/apps/pwa/out/_next/static/chunks/{6877-84d47b7e85d0c41e.js → 3341-f09b9efbd7a82f70.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3389.012c70767a872f9b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3410-d7c0f14b329d6fda.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3421.c87d6313a7d670f7.js +287 -0
- package/apps/pwa/out/_next/static/chunks/3422-83a3953f9bd67e26.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6680.6a693c28aae4cd19.js → 3528.e4b8ab70d339f965.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3587-002e24e368c515a9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3644.f12a7d821ab940af.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3660.d7516588e2d875c3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3695.b82e2610f4cd4ea9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3858.ca1f5bc0f577eac9.js +94 -0
- package/apps/pwa/out/_next/static/chunks/3959-e6ac4a139d9d4bcc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3f0de3de-2340c532c00395db.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4032.53f62176514ec0ea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4199-f7c6eb40cd0322f8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4204-ef8484cbecd5d62f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4259-163129ca79913c4b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/428-eaa77df3d0c85969.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4432-97e400ffa1e161f5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/449-aa427cf2cbb75f50.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4491-39a0fd32bbaf3840.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4588.b7cf06d382953979.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4690.70ec8060825366ab.js +32 -0
- package/apps/pwa/out/_next/static/chunks/{4036.d54e55e1ebf5acdc.js → 4804.6012b5cd33c22792.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/4881.e4d22d730e3b9df5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4937.ce2e340dc29cad3e.js +79 -0
- package/apps/pwa/out/_next/static/chunks/5-bb1c08d84bd71df3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5005.de98df23b37cdf3c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5035.dc64a89cad5573cc.js +74 -0
- package/apps/pwa/out/_next/static/chunks/5041-5aada92ca215ffdd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6819.be5c9c4d67f22922.js → 5203.51e5d8b5f1dcfe53.js} +16 -16
- package/apps/pwa/out/_next/static/chunks/5207.1a224035455790fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{757-4fbaf50942b8c424.js → 5255-1b60d50eabe9f057.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5269.d0436ee6d773382a.js +286 -0
- package/apps/pwa/out/_next/static/chunks/5300.677c97e0393742e6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7867.e8725745ddd1d940.js → 5307.d7328020227880c2.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/5309.3367c4d50f52b489.js +1 -0
- package/apps/pwa/out/_next/static/chunks/552-689827d49780fa00.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5539.34cc9d60622cb69b.js +8 -0
- package/apps/pwa/out/_next/static/chunks/5568.218dea0c00ca2ec7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5046.7fd5cbd859299448.js → 5638.107314dc479e2f37.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5645.b7e3b055455a04ea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5662.18cc0f30353cbd96.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5671.da24fc9dc5e98325.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5b141171.324c40fd49cb6821.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6142.913b44e260a3f925.js +64 -0
- package/apps/pwa/out/_next/static/chunks/6175-d4621f6a10b0cfab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6290.3eb53a20746b72ce.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6415-9307f3eafa90837f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6493.27ad77de7aac7966.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6579-3de35d00aacd71b5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/680-2f324c4e039a5b67.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6845-331b3c7481da3ba3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1224.2ceca6c180d5130b.js → 7000.28157393caaf5343.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{6745-5a63492933959dd9.js → 7161-8f22db3ec5ed005e.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/{2479-fe7e188bd9402d14.js → 7311-60a7ea80d23c7521.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7401.525d0a12f7d02c06.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7438.c2cf72b66dca6aa4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5952.294fc574a8625184.js → 7488.966b116789f3d41a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7524.ce973525d30b3d52.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7573.2376e13c9c21f1f8.js +77 -0
- package/apps/pwa/out/_next/static/chunks/7577.ea6e9ac72e035520.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6252.240578f10952e091.js → 7628.6b16863ac3972333.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7657.8d1fb3d2f7ebe273.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7903-1435d5d2f0dd7807.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1746.3563617ea64023a3.js → 7954.4f7a8832663ee979.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7978-30a91192c5dbe3c2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4931.95cc6dbd230774ca.js → 8019.21ca554a821dad01.js} +16 -16
- package/apps/pwa/out/_next/static/chunks/8025-8795821525cf1a07.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8191.3674a00f0b565c23.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8217-604955d8885c5ef2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8298-eed6f5f2585a63f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2375.bf364c85dbb6f085.js → 8487.291666583bebe640.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8509.3a54d4e61893d7cb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8758.ac421f726a189125.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4383.18e5c54db3a22c88.js → 8879.ac06755bcf3e44a1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/891.d6c723a51a067b36.js +149 -0
- package/apps/pwa/out/_next/static/chunks/{9151.a2c51e93f9156dae.js → 8911.bf5e712acb25fb6c.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{58edce7d.f1b0c72acf13b123.js → 8994d93e.33ba491f95345fc2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{5f6af561-f90b7a67f4f75d13.js → 89d6c04f-6b8ab341748e468a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9223.cbcc88e0e9950426.js +41 -0
- package/apps/pwa/out/_next/static/chunks/9299.24e2a7d9b6d1f91b.js +226 -0
- package/apps/pwa/out/_next/static/chunks/9317.6a9869039c231bb3.js +24 -0
- package/apps/pwa/out/_next/static/chunks/9383.e4755f275b3c11ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9581.da63ddf41acfad46.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9715.8c5529a0a5c41a36.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9817.3009d65f0889ef1f.js +2 -0
- package/apps/pwa/out/_next/static/chunks/{de8446d3.31b73eb239fecd7b.js → 9fe1b809.738da85c8b17e3fb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76873dd80da4f715.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-ed32b6ec5dea8f23.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-fdd40e15babf3d25.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-384efc78e85e400b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-866aac5ff226a7f3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-d91809c5aeed319a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-128f3522f89a81ab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-595961abf3b43ad1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-f41dccb76d8c0263.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-a3205c2e28b7d0d9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-c39a80277814a3f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-1ab3f98194513195.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-a5246f7e254d77d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-0f92287bdb81217d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-5a37131ff63793ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-76873dd80da4f715.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ac4bd14bb2348bfd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/{page-5c112c6d7c33656e.js → page-c348a3959c5b5fc6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-2addd81c0d3e2906.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-da6b765f58a3eefb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-0661e40f8780c32c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-b89af1b1c8e4875b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-da8aeb82ba751cdb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-cc71317b239439db.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-bde7fc1d64ffe369.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-e2797214f713fa58.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-2a35bcda70defaf6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-3af03deedde45032.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/{page-88a1edbff62eaf1d.js → page-d1d1210f99f620ae.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-46d1b5500885861d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-291ab19fe2acb173.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/{page-b9af2ac1c4737ce8.js → page-7f569e533ddeecba.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-990129c9fee46d8f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-7737f785ebb1cdaf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f3c73a4f7ffd2f8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-03be7fb347f01058.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-96b0280625e4df2b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-56855545049eb56d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-76873dd80da4f715.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-79a909c9981f0338.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/{page-fb9e639c107f5f72.js → page-a9d9a3e66459c1e0.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-c383cbf2013f7069.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-f57c6a2e54dbdca4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-6b140f77593576eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-6b767ae2d9d0adfc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-116d6198d5da0e3d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-b9c9b778c7501370.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-a6c78392ab8f6335.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-455183deb4ed0cfe.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-6a63e99526bd63d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-31c22caafe788c08.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{709a918c.4fd3b4e2a32cb4e3.js → b7459770.6539b11860eb8a9c.js} +7 -7
- package/apps/pwa/out/_next/static/chunks/{d9815f84.4918f682a45a8502.js → b7478fef.5917716286213fcc.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/{4337e36d.f42c3b391b3d8f20.js → bb6987f9.3647e1a23b0e3217.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/de8b930d.d94c0f42acf807fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8c58d09b.e8724a299658d86f.js → eaad0cba.771200940c529df7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-4b12a946f352cee2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-941155250ed2644b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-f8b6765abed6d149.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-78432194c85388f9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-cdf7390829512b1b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-d5f0964a9c2e92d2.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/release/recipes.yaml +9 -0
- package/graphs/release/release-loop.yaml +26 -18
- package/package.json +1 -1
- package/scripts/ask-op-inbox-once.ts +17 -0
- package/scripts/brand/check.ts +13 -4
- package/scripts/gate-0226-accepted-remaining-90.txt +91 -0
- package/scripts/gate-0226-failure-census.ts +39 -0
- package/scripts/intake-collect-telegram-saved-stage.ts +48 -0
- package/scripts/provision-export-redactions.ts +15 -0
- package/scripts/public-copy-lint.ts +122 -0
- package/scripts/public-export.ts +69 -2
- package/scripts/ratchets/next-tui-entry-budget.ts +124 -0
- package/scripts/ratchets/train-side-invariants.sh +7 -1
- package/scripts/release-loop/cut-branch.ts +61 -12
- package/scripts/release-loop/gate-node.ts +161 -25
- package/scripts/release-loop/gate-partial.ts +82 -3
- package/scripts/release-loop/gate-prewarm-plan.ts +35 -0
- package/scripts/release-loop/gate-radius-live.ts +4 -2
- package/scripts/release-loop/resume-cap.ts +2 -1
- package/scripts/release-loop/resume-release.ts +297 -8
- package/scripts/release-loop/resume.ts +13 -5
- package/scripts/release-loop/traffic-node.ts +12 -4
- package/scripts/release-loop/traffic-transition.ts +53 -13
- package/scripts/release-loop/version-node.ts +29 -4
- package/scripts/ux-sim.ts +1 -1
- package/scripts/video-pipeline.ts +2 -2
- package/src/acp/core-turn-bridge.ts +6 -1
- package/src/agent/run-context.ts +1 -1
- package/src/agent/task-notification.ts +3 -1
- package/src/agent-substrate/review-observation.ts +10 -0
- package/src/agent-substrate/self-review-cli.ts +195 -27
- package/src/auto-research/question-ladder-contract.ts +137 -0
- package/src/auto-research/research-turn.ts +134 -0
- package/src/autopilot/discovery/doc-lint.ts +1 -1
- package/src/bots/screen-probe.ts +1 -1
- package/src/capture/tui-self-report.ts +10 -2
- package/src/chat/index.ts +1 -0
- package/src/chat/tool-render/dispatch.ts +8 -1
- package/src/cli/guardian-cli.ts +3 -1
- package/src/cli/intake-cli.ts +48 -12
- package/src/cli/lesson-cli.ts +69 -9
- package/src/cli/pr-land-overlap-evidence.ts +38 -5
- package/src/cli/pr-land-refusal.ts +1 -1
- package/src/cli/pty-takeover-cli.ts +58 -5
- package/src/cli/release-checklist-read-cli.ts +5 -2
- package/src/cli/release-cli.ts +47 -9
- package/src/cli/review-carry.ts +77 -0
- package/src/cli/self-update.ts +1 -1
- package/src/cli/tasks-card-show.ts +31 -1
- package/src/cli/tasks-cli.ts +62 -23
- package/src/cli/tasks-read-cli.ts +13 -5
- package/src/context-bus/context-now.ts +86 -2
- package/src/core-turn/run-core-turn.ts +9 -2
- package/src/core-turn/types.ts +3 -0
- package/src/dashboard/index.ts +18 -17
- package/src/dashboard/input/terminal-modal-router.ts +8 -159
- package/src/dashboard/side-basic-runtime.ts +61 -0
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +2 -0
- package/src/dashboard/term-slash-runtime.ts +2 -0
- package/src/dashboard/turn-preamble.ts +28 -4
- package/src/domains/guardian-tick.ts +9 -0
- package/src/git-fs/watcher.ts +27 -22
- package/src/git-fs/worktree.ts +19 -3
- package/src/graph-runner/graph-grow.ts +37 -9
- package/src/graph-runner/runner.ts +17 -2
- package/src/grok/credential.ts +107 -36
- package/src/hq/fence-wrapper.ts +1 -1
- package/src/hq/transfer.ts +1 -1
- package/src/index.ts +44 -14
- package/src/intake-plane/collect-telegram-saved.ts +54 -5
- package/src/interactive-terminal-modal.ts +3 -0
- package/src/keybindings.ts +17 -22
- package/src/llm/provider-credentials.ts +1 -1
- package/src/llm-tool-schema.ts +20 -0
- package/src/llm.ts +81 -11
- package/src/loops/orchestrator/inbox-once.ts +28 -0
- package/src/loops/orchestrator/inbox.ts +130 -1
- package/src/loops/orchestrator/tick.ts +6 -3
- package/src/maturity/feature-maturity.ts +1 -0
- package/src/nexus/api/channel-ask-op.ts +96 -0
- package/src/nexus/api/discord-trigger-bot.ts +28 -1
- package/src/nexus/api/telegram-trigger-bot.ts +24 -0
- package/src/nexus/api/terminals.ts +28 -6
- package/src/patents/ledger.ts +18 -1
- package/src/preview/terminal.ts +4 -2
- package/src/prompt-cache/anthropic.ts +2 -0
- package/src/prompt-enhance/enhance.ts +5 -0
- package/src/pty-shell/pty-manifest.ts +16 -2
- package/src/release-loop/gate-shards.ts +61 -0
- package/src/release-loop/light-rc.ts +7 -4
- package/src/release-loop/rehearsal.ts +1 -1
- package/src/repl/index.ts +10 -0
- package/src/research/axis-fanout.ts +133 -0
- package/src/research/edge-decision.ts +88 -0
- package/src/research/output-router.ts +127 -0
- package/src/research-bridge/format.ts +16 -1
- package/src/research-bridge/index.ts +1 -0
- package/src/research-bridge/invoke.ts +41 -5
- package/src/self-dev/decompose.ts +45 -9
- package/src/self-dev/draft-residue.ts +221 -2
- package/src/self-dev/draft-sweep.ts +29 -16
- package/src/self-dev/orchestrate.ts +1 -0
- package/src/self-dev/run-supervisor.ts +22 -7
- package/src/self-dev/shard-run.ts +260 -3
- package/src/self-implement/comment-only-source.ts +54 -0
- package/src/self-implement/doctor-visit.ts +25 -0
- package/src/self-implement/gate-artifacts.ts +2 -2
- package/src/self-implement/gate-baseline.ts +44 -9
- package/src/self-implement/gate-cli.ts +151 -86
- package/src/self-implement/gate-failure-signature.ts +44 -0
- package/src/self-implement/gate-remote.ts +2 -0
- package/src/self-implement/goal-author.ts +74 -3
- package/src/self-implement/goal-doc/section.ts +22 -0
- package/src/self-implement/goal-supervisor-fill.ts +38 -4
- package/src/self-implement/knowhow-pack.ts +120 -7
- package/src/self-implement/l8-merge-queue.ts +198 -32
- package/src/self-implement/off-diff-evidence.ts +23 -0
- package/src/self-implement/orchestrator.ts +55 -12
- package/src/self-implement/pod-inplace-worktree.ts +82 -0
- package/src/self-implement/pod-warm-pool-profile.ts +2 -2
- package/src/self-implement/premise-review.ts +7 -5
- package/src/self-implement/run-ledger.ts +258 -0
- package/src/self-implement/seams.ts +33 -10
- package/src/self-implement/self-implement-cli.ts +26 -2
- package/src/session/channel-ask-op-envelope.ts +36 -0
- package/src/session/channel-op-reply-route.ts +200 -0
- package/src/session/chat.ts +3 -0
- package/src/session/index.ts +2 -0
- package/src/session-runtime/index.ts +9 -22
- package/src/skills/runner.ts +7 -3
- package/src/skills/tools/dev-harness.ts +2 -2
- package/src/skills/tools/schedule-wakeup.ts +1 -6
- package/src/status/bar.ts +3 -3
- package/src/storage/file-lock.ts +17 -4
- package/src/task-agent/adopt-pr.ts +63 -2
- package/src/task-agent/evidence-command-normalize.ts +42 -0
- package/src/task-agent/export-redactions-provision.ts +43 -0
- package/src/task-agent/parent-host.ts +59 -12
- package/src/task-agent/repair-cycle.ts +67 -8
- package/src/task-agent/repair-worker.ts +37 -1
- package/src/task-agent/task-hand.ts +98 -10
- package/src/task-agent/tier-split.ts +37 -3
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +31 -4
- package/src/task-orchestrator/surfaces/pod-pool.ts +27 -4
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +126 -48
- package/src/task-orchestrator/surfaces/self-implement.ts +33 -2
- package/src/terminal/session-registry.ts +1 -0
- package/src/terminal/terminal-modal-router.ts +156 -0
- package/src/tool-hints/gate.ts +6 -4
- package/src/tool-hints/signals.ts +33 -1
- package/src/tui/chat/background-job-status.ts +8 -2
- package/src/tui/entry.ts +469 -31
- package/src/tui/sidetab/attach.ts +304 -0
- package/src/tui/sidetab/list.ts +176 -0
- package/src/tui/sidetab/nl-tool.ts +136 -0
- package/src/tui/slash/resume-command.ts +23 -0
- package/src/tui/slash/resume.ts +3 -23
- package/src/tui/slash/term-next.ts +2 -1
- package/src/tui-client/local-chat-turn.ts +29 -8
- package/src/user-config.ts +11 -2
- package/src/ux-sim/fake-llm.ts +11 -5
- package/src/ux-sim/next-tui-seat-scenarios.ts +53 -1
- package/src/version/packed-revision.json +1 -1
- package/apps/pwa/out/_next/static/chunks/1041-5841aae848fb6403.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1087.3177e54f672dc526.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1105.efe1e13503ac7a33.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1417-1768233ac92f8a5d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1612.81bbc19af06af16c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1766.728d42053070bb2d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1773.d38e945481e04125.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1974-c12f9600da3d3c26.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1ed5e8af.cf424815c7c0efad.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2061.7232dc9dc058417f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/210.90b2cbd64926cf34.js +0 -32
- package/apps/pwa/out/_next/static/chunks/2318-450e75d07605b8fe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/244-a810d282a20f1783.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2514.03b60f266531a015.js +0 -148
- package/apps/pwa/out/_next/static/chunks/2526-a657538869888604.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2533-6f0341ff075809e9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2676.e7994c695ef0f30d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2734.3ffdf54254fb6f99.js +0 -27
- package/apps/pwa/out/_next/static/chunks/2770-23252bf3a37880b9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2969.66b8b545139d1544.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3128.a9210d08800ea6a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3212.12179fd3eee8cef1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3578.4e9f9948a9a6f2f4.js +0 -2
- package/apps/pwa/out/_next/static/chunks/3760-2909ddb9279281cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3825.1921b5901bf33dce.js +0 -36
- package/apps/pwa/out/_next/static/chunks/3994-63eb884ed0547011.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4115.5b438b99f0ae729f.js +0 -226
- package/apps/pwa/out/_next/static/chunks/4269.d8f9f34bb0fc6c43.js +0 -287
- package/apps/pwa/out/_next/static/chunks/431-4eed5bd2c5fe1719.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4313.76f232c304a15bde.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4324.c99ba3e83eb1b691.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4599-96eff3f2a9c242c1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4725-34bed25720cc326b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4825-a9d9d4e9f5892309.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4833-7934c592c5569f00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4879-68518f547a207aff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4896.f9b70285363b27b2.js +0 -24
- package/apps/pwa/out/_next/static/chunks/49aa54ab.80f39398e0ed0f30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5056.482687319b82638e.js +0 -104
- package/apps/pwa/out/_next/static/chunks/506.16b83d56a437a9ee.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5260-20593b0a25d0afbc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5404.cc4e9fec26fd5925.js +0 -1
- package/apps/pwa/out/_next/static/chunks/576.485e83e3f3dec19a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5832-a6be14e663f65726.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5854-56648a9fe646b9a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5925.3b1f8b135710249b.js +0 -93
- package/apps/pwa/out/_next/static/chunks/6168.17749aa3905fa073.js +0 -74
- package/apps/pwa/out/_next/static/chunks/6416.5d50b8ec9986ca98.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6758.e7fbf532953c0783.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6795.0cb8a59730d99703.js +0 -149
- package/apps/pwa/out/_next/static/chunks/6971-fb5f9dc0a2cb5d2d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/717.522b08685979b814.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7191.e41eb8f455c7f089.js +0 -41
- package/apps/pwa/out/_next/static/chunks/7233.8e744b7513119409.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7238-97c2226f80504bd8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7285.307963afcf7e7660.js +0 -24
- package/apps/pwa/out/_next/static/chunks/7299-fbe4b8c47a87614a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7314.df0d95930b0c3f50.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7406.c0589fdf2ee66629.js +0 -1
- package/apps/pwa/out/_next/static/chunks/752-90e3e7daad3d8e39.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7524-bcd3d9928c6842d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7549.9a4de3bf231cfc52.js +0 -1
- package/apps/pwa/out/_next/static/chunks/765.76ae970ceb597b5b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7893-e444a1b0809cd1e4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7956-33748cabb3a05562.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7c5ed21f-f286708e57cf88f7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8030-aa66b478b53dbfca.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8051.c88c07dacbbc5f21.js +0 -8
- package/apps/pwa/out/_next/static/chunks/8080-40d781e7704d3671.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8149.80e402d4345e8dae.js +0 -77
- package/apps/pwa/out/_next/static/chunks/8205.50a5268f4e12ba0b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8231.a128feaa6f8b6079.js +0 -1
- package/apps/pwa/out/_next/static/chunks/85.4ddb1dda2ea3ffa2.js +0 -286
- package/apps/pwa/out/_next/static/chunks/8537.26517a09e8247beb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8595-e9b7081ab773a61f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8821-30cc65a61a60951f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8905.b3385aadb7b133e6.js +0 -79
- package/apps/pwa/out/_next/static/chunks/8983.246bb3a1ac38f50f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9072.18342f5941a1f3ec.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9123.9df04866b2d6e00f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9175-7d383df15a82e2be.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9181-bf89c07ce5b8f599.js +0 -1
- package/apps/pwa/out/_next/static/chunks/920-429bbc4504b45f71.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9207.625edf45d656151c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9378.d2575c6ffd6dd756.js +0 -94
- package/apps/pwa/out/_next/static/chunks/957.db5b5c4d32a35240.js +0 -1
- package/apps/pwa/out/_next/static/chunks/958.53a8dcf4729e6997.js +0 -64
- package/apps/pwa/out/_next/static/chunks/9647.8f0cd0898c592a29.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9665-26abb02665704c2c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9703.e7d81b6faef1050a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9882-7a9164b3c2dacbe5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9998.b74e033efadecd10.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-ec2d8a4979ca9075.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-cb6add08ad3c7660.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-e2eaa321ec223fe6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-5b8a09c475b5f844.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-91a77daedfbac191.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-f37fc5e974bda39b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-91429a0b78415a94.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-b95798b58263b910.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-763d53e175e17aa1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-d55023204055b12f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-89d2140d78abc810.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-82dc069abfe27f55.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-25d9eee7beb552c0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-770b4594c713ee97.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ba8e0dcae4f83985.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-09788e1aa9a87db6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-3337c6a1328c2674.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-89acd5d68c0bc560.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-5c13e2c76371d797.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-653a9f18642825c6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-fe986fe79b107546.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-1e5da297557d2354.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-91ea9f5869a40943.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-7824e21b999962e2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-53d00a60cc75a922.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4e931248b3f9574b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-443364c9e4a23b31.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-25ab9c614c14129b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-dbcdcfac0a395a8a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-bf1de6645089ec58.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c4201761a5e839c9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-c304f469ea5d70e4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-8e5a238cf5e50c9c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-32b526069ee50b3c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-84220c776608cedc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-e475618cbfd5ca2b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-ac2c1e6169cfce57.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-fccd3020af2f8806.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-9c0d7198ff7b5a91.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-d54b1ec9b9c6430d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-8c4bef1791d732ca.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-46fcc0b0bbc6fbfe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-c1c80e345fa9d6f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-7dfda00afd172f5b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/f21fd540.63ac75328926ed30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-77fdcc873519a6cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-d0d620d2ce235713.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-e0ef79c79337ba90.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-84b1bc71e3f9ce6a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-2acb61f1363128cb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-462ff5727ceb7824.js +0 -1
- package/scripts/migrate-monad-to-elanous.ts +0 -195
- package/scripts/rebrand-elanous.ts +0 -242
- /package/apps/pwa/out/_next/static/{8kITumG9GAZ1LwT9POrAR → RrjXTwz-urRAbChP1bX02}/_ssgManifest.js +0 -0
|
@@ -48,8 +48,9 @@ export async function handleNextTuiTermSlash(args: string[], context: NextTuiTer
|
|
|
48
48
|
' /term list List terminal sessions.',
|
|
49
49
|
' /term status Show live/exited session counts.',
|
|
50
50
|
' /term matrix Show terminal transport and liveness.',
|
|
51
|
+
' /side Open the Next TUI session/PTY sidetab.',
|
|
51
52
|
' Unknown cwd or exit codes are shown as unknown.',
|
|
52
|
-
'
|
|
53
|
+
' Next TUI mutations use explicit /side new and /side kill commands.',
|
|
53
54
|
);
|
|
54
55
|
} else if (command === 'status') {
|
|
55
56
|
const sessions = await context.sessions.list();
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
import type { NextTuiCompactDeps, NextTuiCompactOutcome } from '../tui/slash/compact.js';
|
|
3
3
|
import { NEXT_TUI_WAKEUP_IPC_ENV, answerWakeupCall, isWakeupCallMessage, nextTuiWakeupTool } from './next-wakeup.js';
|
|
4
4
|
import { isNextTuiSelfHealthSnapshot, type NextTuiSelfHealthSnapshot } from '../tui/chat/self-health-status.js';
|
|
5
|
+
import { answerNextSidetabCall, isNextSidetabCall, type NextSidetabHandler } from '../tui/sidetab/nl-tool.js';
|
|
5
6
|
|
|
6
7
|
const STATUS_PREFIX = 'ELANOUS_TUI_BG_STATUS\t';
|
|
8
|
+
let nextSidetabHandler: NextSidetabHandler | null = null;
|
|
9
|
+
|
|
10
|
+
export function setNextSidetabHandler(handler: NextSidetabHandler | null): void {
|
|
11
|
+
nextSidetabHandler = handler;
|
|
12
|
+
}
|
|
7
13
|
|
|
8
14
|
interface TurnResult {
|
|
9
15
|
event?: string | null;
|
|
@@ -18,6 +24,7 @@ interface TurnResult {
|
|
|
18
24
|
interface WaitingTurn {
|
|
19
25
|
turnId: string;
|
|
20
26
|
onDelta?: (text: string) => void;
|
|
27
|
+
onStatus?: (text: string) => void;
|
|
21
28
|
resolve: (result: TurnResult) => void;
|
|
22
29
|
reject: (error: Error) => void;
|
|
23
30
|
}
|
|
@@ -37,6 +44,7 @@ class LocalChatSession {
|
|
|
37
44
|
// TUI-NEXT-QUEUE-AND-WAKE: the child's ScheduleWakeup asks this process over Bun IPC — the scheduler
|
|
38
45
|
// lives here because the child dies on Esc and /new. No tool registered → no IPC, env unchanged.
|
|
39
46
|
const wakeupTool = nextTuiWakeupTool();
|
|
47
|
+
const sidetabHandler = nextSidetabHandler;
|
|
40
48
|
this.child = Bun.spawn({
|
|
41
49
|
cmd: [process.execPath, cli, 'repl', '--session', sessionId, '--json', '--stdin-jsonl'],
|
|
42
50
|
stdin: 'pipe', stdout: 'pipe', stderr: 'pipe',
|
|
@@ -44,13 +52,19 @@ class LocalChatSession {
|
|
|
44
52
|
...process.env, ELANOUS_NEXT_TUI_BG_STATUS: '1', ELANOUS_NEXT_TUI_STREAM: '1',
|
|
45
53
|
ELANOUS_NEXT_TUI_SELF_HEALTH: '1',
|
|
46
54
|
...(wakeupTool ? { [NEXT_TUI_WAKEUP_IPC_ENV]: '1' } : {}),
|
|
55
|
+
ELANOUS_NEXT_TUI_SIDETAB_IPC: sidetabHandler ? '1' : '0',
|
|
47
56
|
},
|
|
48
|
-
...(wakeupTool ? {
|
|
57
|
+
...(wakeupTool || sidetabHandler ? {
|
|
49
58
|
ipc: (message: unknown, child: { send(message: unknown): unknown }) => {
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
59
|
+
if (wakeupTool && isWakeupCallMessage(message)) {
|
|
60
|
+
void answerWakeupCall(wakeupTool, message).then((reply) => {
|
|
61
|
+
try { child.send(reply); } catch { /* the child exited mid-call; its dispatch times out */ }
|
|
62
|
+
});
|
|
63
|
+
} else if (sidetabHandler && isNextSidetabCall(message)) {
|
|
64
|
+
void answerNextSidetabCall(sidetabHandler, message).then((reply) => {
|
|
65
|
+
try { child.send(reply); } catch { /* the child exited mid-call; its dispatch times out */ }
|
|
66
|
+
});
|
|
67
|
+
}
|
|
54
68
|
},
|
|
55
69
|
} : {}),
|
|
56
70
|
});
|
|
@@ -86,6 +100,12 @@ class LocalChatSession {
|
|
|
86
100
|
}
|
|
87
101
|
return;
|
|
88
102
|
}
|
|
103
|
+
if (result.event === 'status') {
|
|
104
|
+
if (result.turnId === waiting.turnId && typeof result.text === 'string') {
|
|
105
|
+
try { waiting.onStatus?.(result.text); } catch { /* renderer cannot break the turn */ }
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
89
109
|
// Future side-channel events cannot complete a turn. Legacy final
|
|
90
110
|
// frames have no event; typed final frames use event=result.
|
|
91
111
|
if ('event' in result && result.event !== 'result') return;
|
|
@@ -155,12 +175,12 @@ class LocalChatSession {
|
|
|
155
175
|
}
|
|
156
176
|
}
|
|
157
177
|
|
|
158
|
-
async turn(prompt: string, writePrompt?: (payload: string) => Promise<void>, onDelta?: (text: string) => void, attachments: readonly string[] = []): Promise<TurnResult> {
|
|
178
|
+
async turn(prompt: string, writePrompt?: (payload: string) => Promise<void>, onDelta?: (text: string) => void, attachments: readonly string[] = [], onStatus?: (text: string) => void): Promise<TurnResult> {
|
|
159
179
|
if (this.closed) throw new Error('REPL child exited');
|
|
160
180
|
if (this.waiting) throw new Error('REPL turn already running');
|
|
161
181
|
const turnId = `tui-${++this.turnCount}`;
|
|
162
182
|
const payload = JSON.stringify({ prompt, id: turnId, ...(attachments.length ? { attachments } : {}) }) + '\n';
|
|
163
|
-
const response = new Promise<TurnResult>((resolve, reject) => { this.waiting = { turnId, onDelta, resolve, reject }; });
|
|
183
|
+
const response = new Promise<TurnResult>((resolve, reject) => { this.waiting = { turnId, onDelta, onStatus, resolve, reject }; });
|
|
164
184
|
try {
|
|
165
185
|
if (writePrompt) await writePrompt(payload);
|
|
166
186
|
else await this.writeInput(payload);
|
|
@@ -238,6 +258,7 @@ export async function runLocalChatTurn(
|
|
|
238
258
|
onDelta?: (text: string) => void,
|
|
239
259
|
compact: LocalChatTurnCompact = {},
|
|
240
260
|
attachments: readonly string[] = [],
|
|
261
|
+
onStatus?: (line: string) => void,
|
|
241
262
|
): Promise<void> {
|
|
242
263
|
if (signal.aborted) throw new Error('응답을 취소했습니다');
|
|
243
264
|
if (!cli) throw new Error('elanous CLI entry is unavailable');
|
|
@@ -259,7 +280,7 @@ export async function runLocalChatTurn(
|
|
|
259
280
|
try {
|
|
260
281
|
result = await session.turn(text, writePrompt, (delta) => {
|
|
261
282
|
if (!signal.aborted) onDelta?.(delta);
|
|
262
|
-
}, attachments);
|
|
283
|
+
}, attachments, (line) => { if (!signal.aborted) onStatus?.(line); });
|
|
263
284
|
} catch (error) {
|
|
264
285
|
if (signal.aborted) throw new Error('응답을 취소했습니다');
|
|
265
286
|
await closeLocalChatSession(sessionId);
|
package/src/user-config.ts
CHANGED
|
@@ -864,7 +864,7 @@ function normalizeReportChannel(raw: unknown): TelegramReportChannel | undefined
|
|
|
864
864
|
export interface TelegramTestChannel {
|
|
865
865
|
botToken: string;
|
|
866
866
|
allowedUsers?: number[];
|
|
867
|
-
/** 무인 주입(scripts/telegram-inject.ts·#24)의 대상 봇 username(예: `@
|
|
867
|
+
/** 무인 주입(scripts/telegram-inject.ts·#24)의 대상 봇 username(예: `@test_helper_bot`). 봇이 여럿일
|
|
868
868
|
* 때 어느 봇(테스트 채널용)에 objective 를 주입할지 명시. env `TELEGRAM_TEST_BOT`/`--to` 로도 지정 가능. */
|
|
869
869
|
botUsername?: string;
|
|
870
870
|
}
|
|
@@ -901,7 +901,7 @@ export interface TelegramChannel {
|
|
|
901
901
|
chatId: number;
|
|
902
902
|
interactive: boolean;
|
|
903
903
|
roles: string[];
|
|
904
|
-
/** 봇 username(예: `
|
|
904
|
+
/** 봇 username(예: `primary_bot`). 무인 유틸(scripts/telegram-inject.ts)이
|
|
905
905
|
* role/name 으로 대상 봇을 config 한 곳에서 찾도록 하는 조회용 필드. 선택. */
|
|
906
906
|
botUsername?: string;
|
|
907
907
|
}
|
|
@@ -3901,6 +3901,8 @@ function parseProjectsConfig(raw: unknown): Record<string, ProjectConfig> | unde
|
|
|
3901
3901
|
}
|
|
3902
3902
|
|
|
3903
3903
|
export interface UserConfig {
|
|
3904
|
+
/** Next TUI sidetab visibility: off disables it, collapsed starts folded, open starts visible. */
|
|
3905
|
+
tui?: { sidetab?: 'off' | 'collapsed' | 'open' };
|
|
3904
3906
|
projects?: Record<string, ProjectConfig>;
|
|
3905
3907
|
/** Default personal topic watch; absent = enabled when user sources exist. */
|
|
3906
3908
|
watch?: { enabled?: boolean };
|
|
@@ -4392,6 +4394,7 @@ function parseRoleLlmConfig(raw: unknown): RoleLlmConfig | undefined {
|
|
|
4392
4394
|
|
|
4393
4395
|
function defaultConfig(): UserConfig {
|
|
4394
4396
|
return {
|
|
4397
|
+
tui: { sidetab: 'collapsed' },
|
|
4395
4398
|
cli: { helpRole: 'owner' },
|
|
4396
4399
|
coo: { linearProject: '외부 행정·큰 일 (COO)' },
|
|
4397
4400
|
decisions: { linearProjection: { enabled: false }, requireCrossCheck: false,
|
|
@@ -5128,9 +5131,11 @@ export function buildUserConfig(path: string = defaultPath()): UserConfig {
|
|
|
5128
5131
|
|
|
5129
5132
|
const nexus = rawObj.nexus && typeof rawObj.nexus === 'object' && !Array.isArray(rawObj.nexus)
|
|
5130
5133
|
? rawObj.nexus as Record<string, unknown> : {};
|
|
5134
|
+
const tuiRaw = rawObj.tui && typeof rawObj.tui === 'object' && !Array.isArray(rawObj.tui) ? rawObj.tui as Record<string, unknown> : {};
|
|
5131
5135
|
const gateRemoteConfig = parseGateRemoteConfig(rawObj.gateRemote);
|
|
5132
5136
|
const projects = parseProjectsConfig(rawObj.projects);
|
|
5133
5137
|
return {
|
|
5138
|
+
tui: { sidetab: tuiRaw.sidetab === 'off' || tuiRaw.sidetab === 'open' ? tuiRaw.sidetab : 'collapsed' },
|
|
5134
5139
|
...(projects ? { projects } : {}),
|
|
5135
5140
|
...(rawObj.starter && typeof rawObj.starter === 'object' && !Array.isArray(rawObj.starter)
|
|
5136
5141
|
&& Array.isArray((rawObj.starter as Record<string, unknown>).topics)
|
|
@@ -6487,6 +6492,8 @@ export function saveUserConfig(
|
|
|
6487
6492
|
},
|
|
6488
6493
|
};
|
|
6489
6494
|
const rawRest = { ...(cfg.raw ?? {}) };
|
|
6495
|
+
const rawTui = rawRest.tui && typeof rawRest.tui === 'object' && !Array.isArray(rawRest.tui)
|
|
6496
|
+
? rawRest.tui as Record<string, unknown> : {};
|
|
6490
6497
|
// projects: raw entries are kept verbatim — an invalid entry loaded from disk is preserved, not blocked (its error
|
|
6491
6498
|
// surfaces in resolveRubricAxes) — and typed axes handed to save are validated (invalid ones refuse the save).
|
|
6492
6499
|
const rawProjectsValue = rawRest.projects;
|
|
@@ -6769,6 +6776,8 @@ export function saveUserConfig(
|
|
|
6769
6776
|
debug: cfg.debug,
|
|
6770
6777
|
logs: cfg.logs,
|
|
6771
6778
|
shell: cfg.shell,
|
|
6779
|
+
// Preserve newer/unknown TUI settings while the typed config only knows sidetab.
|
|
6780
|
+
tui: { ...rawTui, ...cfg.tui },
|
|
6772
6781
|
errorReports: cfg.errorReports ? stripUndef({ ...cfg.errorReports }) : undefined,
|
|
6773
6782
|
chat: stripUndef({
|
|
6774
6783
|
fastPath: cfg.chat.fastPath,
|
package/src/ux-sim/fake-llm.ts
CHANGED
|
@@ -47,18 +47,19 @@ export function resetTestFakeLlmScript(): void {
|
|
|
47
47
|
* («결함이 계속되는 세션에서도 사람 턴은 답을 받는다» 무대 · 칸 수를 호출 수에 맞춰 세지 않게). */
|
|
48
48
|
export const TEST_FAKE_LLM_SCRIPT_SKIP_WHEN_ENV = 'ELANOUS_TEST_FAKE_LLM_SCRIPT_SKIP_WHEN';
|
|
49
49
|
|
|
50
|
-
/** 다음 호출의 스크립트 칸을 소비한다. 400 칸이면
|
|
51
|
-
function consumeScriptStep(messages: LLMMessage[]):
|
|
50
|
+
/** 다음 호출의 스크립트 칸을 소비한다. 400 칸이면 던지고 `stall:<text>` 는 스트림에서 첫 조각 뒤 멈춘다. */
|
|
51
|
+
function consumeScriptStep(messages: LLMMessage[]): string | undefined {
|
|
52
52
|
const raw = process.env[TEST_FAKE_LLM_SCRIPT_ENV];
|
|
53
|
-
if (!raw) return;
|
|
53
|
+
if (!raw) return undefined;
|
|
54
54
|
const skipWhen = process.env[TEST_FAKE_LLM_SCRIPT_SKIP_WHEN_ENV];
|
|
55
|
-
if (skipWhen && (lastHumanText(messages) ?? '').includes(skipWhen)) return;
|
|
55
|
+
if (skipWhen && (lastHumanText(messages) ?? '').includes(skipWhen)) return undefined;
|
|
56
56
|
if (raw !== scriptCursorFor) { scriptCursorFor = raw; scriptCursor = 0; }
|
|
57
57
|
const steps = raw.split(',').map((step) => step.trim()).filter(Boolean);
|
|
58
58
|
const step = steps[scriptCursor];
|
|
59
59
|
scriptCursor += 1;
|
|
60
60
|
if (step === '400') throw new Error(TEST_FAKE_LLM_400_MESSAGE);
|
|
61
61
|
if (step === '400codex') throw new Error(TEST_FAKE_LLM_CODEX_400_MESSAGE);
|
|
62
|
+
return step;
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
/** TUI-SEAT-MEMORY-RECALL — 요청 기록(격리 무대 전용). 경로를 주면 호출마다 받은 메시지(role·문자열 content)를
|
|
@@ -130,8 +131,13 @@ export const testFakeLlmProvider: LLMProvider = {
|
|
|
130
131
|
},
|
|
131
132
|
async *streamChat(messages: LLMMessage[], _opts?: LLMOpts): AsyncGenerator<LLMStreamEvent, void, unknown> {
|
|
132
133
|
captureRequest(messages);
|
|
133
|
-
consumeScriptStep(messages);
|
|
134
|
+
const step = consumeScriptStep(messages);
|
|
134
135
|
await scriptedDelay(messages);
|
|
136
|
+
if (step?.startsWith('stall:')) {
|
|
137
|
+
yield { type: 'text', delta: step.slice('stall:'.length) };
|
|
138
|
+
await new Promise<void>(() => {});
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
135
141
|
const call = scriptedToolCall(messages);
|
|
136
142
|
if (call) { yield call; return; }
|
|
137
143
|
yield { type: 'text', delta: testFakeLlmResponse(messages) };
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TEST_FAKE_LLM_DELAY_MS_ENV, TEST_FAKE_LLM_DELAY_WHEN_ENV, TEST_FAKE_LLM_ENV, TEST_FAKE_LLM_RESPONSE_ENV, TEST_FAKE_LLM_TOOL_CALL_ENV,
|
|
14
14
|
} from './fake-llm.js';
|
|
15
15
|
|
|
16
|
-
export const NEXT_TUI_SCENARIOS = ['next-new-session', 'next-compact', 'next-queue', 'next-wakeup', 'next-tool-fold', 'next-tool-fold-read', 'next-goal-continue', 'next-goal-interim', 'next-proactive-continue', 'next-paste', 'next-at-picker', 'next-subagent-e4'] as const;
|
|
16
|
+
export const NEXT_TUI_SCENARIOS = ['next-new-session', 'next-compact', 'next-resume', 'next-queue', 'next-wakeup', 'next-tool-fold', 'next-tool-fold-read', 'next-goal-continue', 'next-goal-interim', 'next-proactive-continue', 'next-paste', 'next-at-picker', 'next-subagent-e4'] as const;
|
|
17
17
|
export type NextTuiScenario = (typeof NEXT_TUI_SCENARIOS)[number];
|
|
18
18
|
|
|
19
19
|
export interface NextTuiScenarioSpec {
|
|
@@ -248,6 +248,8 @@ export async function runNextTuiScenario(spec: NextTuiScenarioSpec): Promise<Nex
|
|
|
248
248
|
return { scenario: spec.scenario, universe: root, run, store, logs, checks };
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
+
if (spec.scenario === 'next-resume') return runNextResumeScenario(spec, root, base, reply, done);
|
|
252
|
+
|
|
251
253
|
if (spec.scenario === 'next-tool-fold') return runNextToolFoldScenario(spec, root, base, reply, done);
|
|
252
254
|
if (spec.scenario === 'next-tool-fold-read') return runNextToolFoldReadScenario(spec, root, base, done);
|
|
253
255
|
if (spec.scenario === 'next-queue') return runNextQueueScenario(spec, root, base, reply, done);
|
|
@@ -273,6 +275,9 @@ export async function runNextTuiScenario(spec: NextTuiScenarioSpec): Promise<Nex
|
|
|
273
275
|
];
|
|
274
276
|
const run = await mockSeatPtySequence({
|
|
275
277
|
...base,
|
|
278
|
+
// A bare Next launch intentionally starts a fresh conversation. This scenario
|
|
279
|
+
// exercises compaction of the seeded one, so attach to it explicitly.
|
|
280
|
+
args: [spec.entry, '--config-dir', '{root}', '--test-state-dir', '{root}', '--resume', id, '--tui', 'next'],
|
|
276
281
|
ready: { label: 'before (12 seeded messages)', until: (s) => base.ready.until(s) && s.includes('xxxx') },
|
|
277
282
|
steps,
|
|
278
283
|
});
|
|
@@ -296,6 +301,53 @@ export async function runNextTuiScenario(spec: NextTuiScenarioSpec): Promise<Nex
|
|
|
296
301
|
return { scenario: spec.scenario, universe: root, run, store: { sessionId: id, messages: stored.length, summaryHead: summary?.content.slice(0, 80) ?? null }, logs, checks };
|
|
297
302
|
}
|
|
298
303
|
|
|
304
|
+
async function runNextResumeScenario(spec: NextTuiScenarioSpec, root: string, base: ScenarioBase, reply: string, done: Done): Promise<NextTuiScenarioResult> {
|
|
305
|
+
const seeded = withStore(root, () => {
|
|
306
|
+
const from = createSession({ source: 'tui', title: '현재 대화' }).id;
|
|
307
|
+
appendMessage(from, { role: 'user', content: '현재 대화 기록', ts: new Date().toISOString() });
|
|
308
|
+
appendMessage(from, { role: 'assistant', content: '현재 답변', ts: new Date().toISOString() });
|
|
309
|
+
const target = createSession({ source: 'tui', title: '저장된 n8n 설명' }).id;
|
|
310
|
+
appendMessage(target, { role: 'user', content: '저장된 n8n 맥락', ts: new Date().toISOString() });
|
|
311
|
+
appendMessage(target, { role: 'assistant', content: '저장된 답변', ts: new Date().toISOString() });
|
|
312
|
+
setActiveSessionId(from);
|
|
313
|
+
return { from, target };
|
|
314
|
+
});
|
|
315
|
+
const steps: SeatPtyStep[] = [
|
|
316
|
+
{ label: 'after /resume list', text: '/resume', until: (s) => s.includes(seeded.target.slice(0, 8)) && s.includes('저장된 n8n 설명') },
|
|
317
|
+
{ label: 'after /resume load', text: `/resume ${seeded.target.slice(0, 8)}`, until: (s) => s.includes(`대화 이어 가기 · ${seeded.target.slice(0, 8)}`) && s.includes('저장된 n8n 맥락') },
|
|
318
|
+
{ label: 'after resumed turn', text: '이어진 대화 확인', until: done(1, '이어진 대화 확인') },
|
|
319
|
+
];
|
|
320
|
+
const run = await mockSeatPtySequence({ ...base, steps });
|
|
321
|
+
const current = withStore(root, () => getActiveSessionId() ?? '');
|
|
322
|
+
const logs = readLogs(spec, 'tui.next,llm.route-decision');
|
|
323
|
+
const events = parseEvents(logs);
|
|
324
|
+
const listEvents = events.filter((e) => e.category === 'tui.next' && e.event === 'session-resume-list');
|
|
325
|
+
const resumeEvents = events.filter((e) => e.category === 'tui.next' && e.event === 'session-resume');
|
|
326
|
+
const listed = parseData<{ from: string }>(listEvents[0]?.data);
|
|
327
|
+
const resume = parseData<{ from: string; to: string }>(resumeEvents[0]?.data);
|
|
328
|
+
const routes = events.filter((e) => e.category === 'llm.route-decision' && e.event === 'local-chat-executed').map((e) => parseData<{ provider: string; sessionId: string }>(e.data));
|
|
329
|
+
const listScreen = run.frames.find((f) => f.label === 'after /resume list')?.screen ?? '';
|
|
330
|
+
const loadScreen = run.frames.find((f) => f.label === 'after /resume load')?.screen ?? '';
|
|
331
|
+
const store = {
|
|
332
|
+
from: seeded.from,
|
|
333
|
+
target: seeded.target,
|
|
334
|
+
active: current,
|
|
335
|
+
oldUser: userTexts(root, seeded.from),
|
|
336
|
+
targetUser: userTexts(root, seeded.target),
|
|
337
|
+
};
|
|
338
|
+
const checks = {
|
|
339
|
+
listDisplaysSavedSession: listEvents.length === 1 && listScreen.includes(seeded.target.slice(0, 8)) && listScreen.includes('저장된 n8n 설명'),
|
|
340
|
+
selectedSessionBecomesActive: current === seeded.target && resumeEvents.length === 1
|
|
341
|
+
&& Boolean(listed.from) && resume.from === listed.from && resume.to === seeded.target,
|
|
342
|
+
resumedHistoryRenders: loadScreen.includes('저장된 n8n 맥락') && loadScreen.includes('저장된 답변'),
|
|
343
|
+
oldSessionPreserved: JSON.stringify(store.oldUser) === JSON.stringify(['현재 대화 기록']),
|
|
344
|
+
newTurnUsesResumedSession: routes.length === 1 && routes[0]?.sessionId === seeded.target && store.targetUser.includes('이어진 대화 확인'),
|
|
345
|
+
onlyFakeProvider: routes.length === 1 && routes.every((r) => r.provider === 'test-fake-llm'),
|
|
346
|
+
exitedClean: run.exitCode === 0,
|
|
347
|
+
};
|
|
348
|
+
return { scenario: spec.scenario, universe: root, run, store, logs, checks };
|
|
349
|
+
}
|
|
350
|
+
|
|
299
351
|
type ScenarioBase = Omit<Parameters<typeof mockSeatPtySequence>[0], 'steps'> & { env: Record<string, string> };
|
|
300
352
|
type Done = (n: number, also?: string) => (s: string) => boolean;
|
|
301
353
|
type LogEvent = { category?: string; event?: string; data?: string };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"commit":"
|
|
1
|
+
{"commit":"a78f3f66a3db5de0bce1342c99d3c4abc0a96f45"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1041],{1041:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},useLinkStatus:function(){return b}});let n=r(70063),o=r(57865),u=n._(r(20381)),a=r(51496),i=r(29494),l=r(3389),f=r(23398),c=r(82668);r(57439);let s=r(5969),p=r(92369),d=r(64077);r(28255);let h=r(99254);function y(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}function g(e){var t;let r,n,a,[g,b]=(0,u.useOptimistic)(s.IDLE_LINK_STATUS),P=(0,u.useRef)(null),{href:_,as:v,children:E,prefetch:O=null,passHref:j,replace:S,shallow:C,scroll:N,onClick:T,onMouseEnter:x,onTouchStart:A,legacyBehavior:M=!1,onNavigate:R,ref:L,unstable_dynamicOnHover:k,...I}=e;r=E,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let U=u.default.useContext(i.AppRouterContext),w=!1!==O,F=!1!==O?null===(t=O)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:K}=u.default.useMemo(()=>{let e=y(_);return{href:e,as:v?y(v):e}},[_,v]);M&&(n=u.default.Children.only(r));let B=M?n&&"object"==typeof n&&n.ref:L,z=u.default.useCallback(e=>(null!==U&&(P.current=(0,s.mountLinkInstance)(e,D,U,F,w,b)),()=>{P.current&&((0,s.unmountLinkForCurrentNavigation)(P.current),P.current=null),(0,s.unmountPrefetchableInstance)(e)}),[w,D,U,F,b]),Q={ref:(0,l.useMergedRef)(z,B),onClick(e){M||"function"!=typeof T||T(e),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),U&&(e.defaultPrevented||function(e,t,r,n,o,a,i){let{nodeName:l}=e.currentTarget;if(!("A"===l.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}u.default.startTransition(()=>{(0,d.dispatchNavigateAction)(r||t,o?"replace":"push",null==a||a,n.current)})}}(e,D,K,P,S,N,R))},onMouseEnter(e){M||"function"!=typeof x||x(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),U&&w&&(0,s.onNavigationIntent)(e.currentTarget,!0===k)},onTouchStart:function(e){M||"function"!=typeof A||A(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),U&&w&&(0,s.onNavigationIntent)(e.currentTarget,!0===k)}};return(0,f.isAbsoluteUrl)(K)?Q.href=K:M&&!j&&("a"!==n.type||"href"in n.props)||(Q.href=(0,c.addBasePath)(K)),a=M?u.default.cloneElement(n,Q):(0,o.jsx)("a",{...I,...Q,children:r}),(0,o.jsx)(m.Provider,{value:g,children:a})}let m=(0,u.createContext)(s.IDLE_LINK_STATUS),b=()=>(0,u.useContext)(m);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3389:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=r(20381);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=u(e,n)),t&&(o.current=u(t,n))},[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23398:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return m},NormalizeError:function(){return y},PageNotFoundError:function(){return g},SP:function(){return p},ST:function(){return d},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return l},getLocationOrigin:function(){return a},getURL:function(){return i},isAbsoluteUrl:function(){return u},isResSent:function(){return f},loadGetInitialProps:function(){return s},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),u=0;u<n;u++)o[u]=arguments[u];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>o.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function i(){let{href:e}=window.location,t=a();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function s(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await s(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,d=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class y extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},28255:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},39624:(e,t)=>{function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return u},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},51496:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return u},formatWithValidation:function(){return i},urlObjectKeys:function(){return a}});let n=r(70063)._(r(39624)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,u=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",f=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?f=t+e.host:r&&(f=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(f+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==f?(f="//"+(f||""),a&&"/"!==a[0]&&(a="/"+a)):f||(f=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),""+u+f+(a=a.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+i}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return u(e)}},92369:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return u}});let n=r(23398),o=r(57751);function u(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1087],{21087:(e,c,r)=>{r.d(c,{createArchitectureServices:()=>s.S});var s=r(242);r(88931)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1105],{61105:(e,c,s)=>{s.d(c,{createPacketServices:()=>a.$});var a=s(74179);s(88931)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1417],{995:(t,e,n)=>{n.d(e,{A:()=>l,x:()=>u,y:()=>o});var r=n(72206),i=n(13274);function u(t){return t.x}function o(t){return t.y}var a=Math.PI*(3-Math.sqrt(5));function l(t){let e;var n,u=1,o=.001,l=1-Math.pow(.001,1/300),s=0,c=.6,h=new Map,f=(0,i.O1)(d),v=(0,r.A)("tick","end"),y=(e=1,()=>(e=(1664525*e+0x3c6ef35f)%0x100000000)/0x100000000);function d(){g(),v.call("tick",n),u<o&&(f.stop(),v.call("end",n))}function g(e){var r,i,o=t.length;void 0===e&&(e=1);for(var a=0;a<e;++a)for(u+=(s-u)*l,h.forEach(function(t){t(u)}),r=0;r<o;++r)null==(i=t[r]).fx?i.x+=i.vx*=c:(i.x=i.fx,i.vx=0),null==i.fy?i.y+=i.vy*=c:(i.y=i.fy,i.vy=0);return n}function x(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(.5+n),u=n*a;e.x=i*Math.cos(u),e.y=i*Math.sin(u)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function p(e){return e.initialize&&e.initialize(t,y),e}return null==t&&(t=[]),x(),n={tick:g,restart:function(){return f.restart(d),n},stop:function(){return f.stop(),n},nodes:function(e){return arguments.length?(t=e,x(),h.forEach(p),n):t},alpha:function(t){return arguments.length?(u=+t,n):u},alphaMin:function(t){return arguments.length?(o=+t,n):o},alphaDecay:function(t){return arguments.length?(l=+t,n):+l},alphaTarget:function(t){return arguments.length?(s=+t,n):s},velocityDecay:function(t){return arguments.length?(c=1-t,n):1-c},randomSource:function(t){return arguments.length?(y=t,h.forEach(p),n):y},force:function(t,e){return arguments.length>1?(null==e?h.delete(t):h.set(t,p(e)),n):h.get(t)},find:function(e,n,r){var i,u,o,a,l,s=0,c=t.length;for(null==r?r=1/0:r*=r,s=0;s<c;++s)(o=(i=e-(a=t[s]).x)*i+(u=n-a.y)*u)<r&&(l=a,r=o);return l},on:function(t,e){return arguments.length>1?(v.on(t,e),n):v.on(t)}}}},2490:(t,e,n)=>{n.d(e,{A:()=>r});function r(t,e){var n,r=1;function i(){var i,u,o=n.length,a=0,l=0;for(i=0;i<o;++i)a+=(u=n[i]).x,l+=u.y;for(a=(a/o-t)*r,l=(l/o-e)*r,i=0;i<o;++i)u=n[i],u.x-=a,u.y-=l}return null==t&&(t=0),null==e&&(e=0),i.initialize=function(t){n=t},i.x=function(e){return arguments.length?(t=+e,i):t},i.y=function(t){return arguments.length?(e=+t,i):e},i.strength=function(t){return arguments.length?(r=+t,i):r},i}},14399:(t,e,n)=>{n.d(e,{A:()=>l});var r=n(51308),i=n(36007),u=n(99919);function o(t){return t.x+t.vx}function a(t){return t.y+t.vy}function l(t){var e,n,l,s=1,c=1;function h(){for(var t,i,h,v,y,d,g,x=e.length,p=0;p<c;++p)for(t=0,i=(0,r.A)(e,o,a).visitAfter(f);t<x;++t)g=(d=n[(h=e[t]).index])*d,v=h.x+h.vx,y=h.y+h.vy,i.visit(_);function _(t,e,n,r,i){var o=t.data,a=t.r,c=d+a;if(o){if(o.index>h.index){var f=v-o.x-o.vx,x=y-o.y-o.vy,p=f*f+x*x;p<c*c&&(0===f&&(p+=(f=(0,u.A)(l))*f),0===x&&(p+=(x=(0,u.A)(l))*x),p=(c-(p=Math.sqrt(p)))/p*s,h.vx+=(f*=p)*(c=(a*=a)/(g+a)),h.vy+=(x*=p)*c,o.vx-=f*(c=1-c),o.vy-=x*c)}return}return e>v+c||r<v-c||n>y+c||i<y-c}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function v(){if(e){var r,i,u=e.length;for(r=0,n=Array(u);r<u;++r)n[(i=e[r]).index]=+t(i,r,e)}}return"function"!=typeof t&&(t=(0,i.A)(null==t?1:+t)),h.initialize=function(t,n){e=t,l=n,v()},h.iterations=function(t){return arguments.length?(c=+t,h):c},h.strength=function(t){return arguments.length?(s=+t,h):s},h.radius=function(e){return arguments.length?(t="function"==typeof e?e:(0,i.A)(+e),v(),h):t},h}},23941:(t,e,n)=>{n.d(e,{A:()=>y});var r=n(72206),i=n(98416),u=n(26521),o=n(39497),a=n(94829);let l=t=>()=>t;function s(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:u,x:o,y:a,dx:l,dy:s,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:c}})}function c(t){return!t.ctrlKey&&!t.button}function h(){return this.parentNode}function f(t,e){return null==e?{x:t.x,y:t.y}:e}function v(){return navigator.maxTouchPoints||"ontouchstart"in this}function y(){var t,e,n,y,d=c,g=h,x=f,p=v,_={},w=(0,r.A)("start","drag","end"),b=0,m=0;function A(t){t.on("mousedown.drag",k).filter(p).on("touchstart.drag",z).on("touchmove.drag",E,a.vr).on("touchend.drag touchcancel.drag",q).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function k(r,u){if(!y&&d.call(this,r,u)){var l=C(this,g.call(this,r,u),r,u,"mouse");l&&((0,i.A)(r.view).on("mousemove.drag",N,a.Rw).on("mouseup.drag",M,a.Rw),(0,o.A)(r.view),(0,a.GK)(r),n=!1,t=r.clientX,e=r.clientY,l("start",r))}}function N(r){if((0,a.Ay)(r),!n){var i=r.clientX-t,u=r.clientY-e;n=i*i+u*u>m}_.mouse("drag",r)}function M(t){(0,i.A)(t.view).on("mousemove.drag mouseup.drag",null),(0,o.y)(t.view,n),(0,a.Ay)(t),_.mouse("end",t)}function z(t,e){if(d.call(this,t,e)){var n,r,i=t.changedTouches,u=g.call(this,t,e),o=i.length;for(n=0;n<o;++n)(r=C(this,u,t,e,i[n].identifier,i[n]))&&((0,a.GK)(t),r("start",t,i[n]))}}function E(t){var e,n,r=t.changedTouches,i=r.length;for(e=0;e<i;++e)(n=_[r[e].identifier])&&((0,a.Ay)(t),n("drag",t,r[e]))}function q(t){var e,n,r=t.changedTouches,i=r.length;for(y&&clearTimeout(y),y=setTimeout(function(){y=null},500),e=0;e<i;++e)(n=_[r[e].identifier])&&((0,a.GK)(t),n("end",t,r[e]))}function C(t,e,n,r,i,o){var a,l,c,h=w.copy(),f=(0,u.A)(o||n,e);if(null!=(c=x.call(t,new s("beforestart",{sourceEvent:n,target:A,identifier:i,active:b,x:f[0],y:f[1],dx:0,dy:0,dispatch:h}),r)))return a=c.x-f[0]||0,l=c.y-f[1]||0,function n(o,v,y){var d,g=f;switch(o){case"start":_[i]=n,d=b++;break;case"end":delete _[i],--b;case"drag":f=(0,u.A)(y||v,e),d=b}h.call(o,t,new s(o,{sourceEvent:v,subject:c,target:A,identifier:i,active:d,x:f[0]+a,y:f[1]+l,dx:f[0]-g[0],dy:f[1]-g[1],dispatch:h}),r)}}return A.filter=function(t){return arguments.length?(d="function"==typeof t?t:l(!!t),A):d},A.container=function(t){return arguments.length?(g="function"==typeof t?t:l(t),A):g},A.subject=function(t){return arguments.length?(x="function"==typeof t?t:l(t),A):x},A.touchable=function(t){return arguments.length?(p="function"==typeof t?t:l(!!t),A):p},A.on=function(){var t=w.on.apply(w,arguments);return t===w?A:t},A.clickDistance=function(t){return arguments.length?(m=(t*=1)*t,A):Math.sqrt(m)},A}s.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t}},36007:(t,e,n)=>{n.d(e,{A:()=>r});function r(t){return function(){return t}}},41603:(t,e,n)=>{n.d(e,{A:()=>a});var r=n(36007),i=n(99919);function u(t){return t.index}function o(t,e){var n=t.get(e);if(!n)throw Error("node not found: "+e);return n}function a(t){var e,n,a,l,s,c,h=u,f=function(t){return 1/Math.min(l[t.source.index],l[t.target.index])},v=(0,r.A)(30),y=1;function d(r){for(var u=0,o=t.length;u<y;++u)for(var a,l,h,f,v,d,g,x=0;x<o;++x)l=(a=t[x]).source,d=((d=Math.sqrt((f=(h=a.target).x+h.vx-l.x-l.vx||(0,i.A)(c))*f+(v=h.y+h.vy-l.y-l.vy||(0,i.A)(c))*v))-n[x])/d*r*e[x],f*=d,v*=d,h.vx-=f*(g=s[x]),h.vy-=v*g,l.vx+=f*(g=1-g),l.vy+=v*g}function g(){if(a){var r,i,u=a.length,c=t.length,f=new Map(a.map((t,e)=>[h(t,e,a),t]));for(r=0,l=Array(u);r<c;++r)(i=t[r]).index=r,"object"!=typeof i.source&&(i.source=o(f,i.source)),"object"!=typeof i.target&&(i.target=o(f,i.target)),l[i.source.index]=(l[i.source.index]||0)+1,l[i.target.index]=(l[i.target.index]||0)+1;for(r=0,s=Array(c);r<c;++r)i=t[r],s[r]=l[i.source.index]/(l[i.source.index]+l[i.target.index]);e=Array(c),x(),n=Array(c),p()}}function x(){if(a)for(var n=0,r=t.length;n<r;++n)e[n]=+f(t[n],n,t)}function p(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+v(t[e],e,t)}return null==t&&(t=[]),d.initialize=function(t,e){a=t,c=e,g()},d.links=function(e){return arguments.length?(t=e,g(),d):t},d.id=function(t){return arguments.length?(h=t,d):h},d.iterations=function(t){return arguments.length?(y=+t,d):y},d.strength=function(t){return arguments.length?(f="function"==typeof t?t:(0,r.A)(+t),x(),d):f},d.distance=function(t){return arguments.length?(v="function"==typeof t?t:(0,r.A)(+t),p(),d):v},d}},50192:(t,e,n)=>{n.d(e,{A:()=>a});var r=n(51308),i=n(36007),u=n(99919),o=n(995);function a(){var t,e,n,a,l,s=(0,i.A)(-30),c=1,h=1/0,f=.81;function v(n){var i,u=t.length,l=(0,r.A)(t,o.x,o.y).visitAfter(d);for(a=n,i=0;i<u;++i)e=t[i],l.visit(g)}function y(){if(t){var e,n,r=t.length;for(e=0,l=Array(r);e<r;++e)l[(n=t[e]).index]=+s(n,e,t)}}function d(t){var e,n,r,i,u,o=0,a=0;if(t.length){for(r=i=u=0;u<4;++u)(e=t[u])&&(n=Math.abs(e.value))&&(o+=e.value,a+=n,r+=n*e.x,i+=n*e.y);t.x=r/a,t.y=i/a}else{(e=t).x=e.data.x,e.y=e.data.y;do o+=l[e.data.index];while(e=e.next)}t.value=o}function g(t,r,i,o){if(!t.value)return!0;var s=t.x-e.x,v=t.y-e.y,y=o-r,d=s*s+v*v;if(y*y/f<d)return d<h&&(0===s&&(d+=(s=(0,u.A)(n))*s),0===v&&(d+=(v=(0,u.A)(n))*v),d<c&&(d=Math.sqrt(c*d)),e.vx+=s*t.value*a/d,e.vy+=v*t.value*a/d),!0;if(!t.length&&!(d>=h)){(t.data!==e||t.next)&&(0===s&&(d+=(s=(0,u.A)(n))*s),0===v&&(d+=(v=(0,u.A)(n))*v),d<c&&(d=Math.sqrt(c*d)));do t.data!==e&&(y=l[t.data.index]*a/d,e.vx+=s*y,e.vy+=v*y);while(t=t.next)}}return v.initialize=function(e,r){t=e,n=r,y()},v.strength=function(t){return arguments.length?(s="function"==typeof t?t:(0,i.A)(+t),y(),v):s},v.distanceMin=function(t){return arguments.length?(c=t*t,v):Math.sqrt(c)},v.distanceMax=function(t){return arguments.length?(h=t*t,v):Math.sqrt(h)},v.theta=function(t){return arguments.length?(f=t*t,v):Math.sqrt(f)},v}},51308:(t,e,n)=>{function r(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,u,o,a,l,s,c,h,f,v=t._root,y={data:r},d=t._x0,g=t._y0,x=t._x1,p=t._y1;if(!v)return t._root=y,t;for(;v.length;)if((s=e>=(u=(d+x)/2))?d=u:x=u,(c=n>=(o=(g+p)/2))?g=o:p=o,i=v,!(v=v[h=c<<1|s]))return i[h]=y,t;if(a=+t._x.call(null,v.data),l=+t._y.call(null,v.data),e===a&&n===l)return y.next=v,i?i[h]=y:t._root=y,t;do i=i?i[h]=[,,,,]:t._root=[,,,,],(s=e>=(u=(d+x)/2))?d=u:x=u,(c=n>=(o=(g+p)/2))?g=o:p=o;while((h=c<<1|s)==(f=(l>=o)<<1|a>=u));return i[f]=v,i[h]=y,t}function i(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function u(t){return t[0]}function o(t){return t[1]}function a(t,e,n){var r=new l(null==e?u:e,null==n?o:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function l(t,e,n,r,i,u){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=u,this._root=void 0}function s(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}n.d(e,{A:()=>a});var c=a.prototype=l.prototype;c.copy=function(){var t,e,n=new l(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=s(r),n;for(t=[{source:r,target:n._root=[,,,,]}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=[,,,,]}):r.target[i]=s(e));return n},c.add=function(t){let e=+this._x.call(null,t),n=+this._y.call(null,t);return r(this.cover(e,n),e,n,t)},c.addAll=function(t){var e,n,i,u,o=t.length,a=Array(o),l=Array(o),s=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)!(isNaN(i=+this._x.call(null,e=t[n]))||isNaN(u=+this._y.call(null,e)))&&(a[n]=i,l[n]=u,i<s&&(s=i),i>h&&(h=i),u<c&&(c=u),u>f&&(f=u));if(s>h||c>f)return this;for(this.cover(s,c).cover(h,f),n=0;n<o;++n)r(this,a[n],l[n],t[n]);return this},c.cover=function(t,e){if(isNaN(t*=1)||isNaN(e*=1))return this;var n=this._x0,r=this._y0,i=this._x1,u=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,u=(r=Math.floor(e))+1;else{for(var o,a,l=i-n||1,s=this._root;n>t||t>=i||r>e||e>=u;)switch(a=(e<r)<<1|t<n,(o=[,,,,])[a]=s,s=o,l*=2,a){case 0:i=n+l,u=r+l;break;case 1:n=i-l,u=r+l;break;case 2:i=n+l,r=u-l;break;case 3:n=i-l,r=u-l}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=u,this},c.data=function(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t},c.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},c.find=function(t,e,n){var r,u,o,a,l,s,c,h=this._x0,f=this._y0,v=this._x1,y=this._y1,d=[],g=this._root;for(g&&d.push(new i(g,h,f,v,y)),null==n?n=1/0:(h=t-n,f=e-n,v=t+n,y=e+n,n*=n);s=d.pop();)if((g=s.node)&&!((u=s.x0)>v)&&!((o=s.y0)>y)&&!((a=s.x1)<h)&&!((l=s.y1)<f))if(g.length){var x=(u+a)/2,p=(o+l)/2;d.push(new i(g[3],x,p,a,l),new i(g[2],u,p,x,l),new i(g[1],x,o,a,p),new i(g[0],u,o,x,p)),(c=(e>=p)<<1|t>=x)&&(s=d[d.length-1],d[d.length-1]=d[d.length-1-c],d[d.length-1-c]=s)}else{var _=t-this._x.call(null,g.data),w=e-this._y.call(null,g.data),b=_*_+w*w;if(b<n){var m=Math.sqrt(n=b);h=t-m,f=e-m,v=t+m,y=e+m,r=g.data}}return r},c.remove=function(t){if(isNaN(u=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,u,o,a,l,s,c,h,f,v=this._root,y=this._x0,d=this._y0,g=this._x1,x=this._y1;if(!v)return this;if(v.length)for(;;){if((s=u>=(a=(y+g)/2))?y=a:g=a,(c=o>=(l=(d+x)/2))?d=l:x=l,e=v,!(v=v[h=c<<1|s]))return this;if(!v.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;v.data!==t;)if(r=v,!(v=v.next))return this;return((i=v.next)&&delete v.next,r)?i?r.next=i:delete r.next:e?(i?e[h]=i:delete e[h],(v=e[0]||e[1]||e[2]||e[3])&&v===(e[3]||e[2]||e[1]||e[0])&&!v.length&&(n?n[f]=v:this._root=v)):this._root=i,this},c.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},c.root=function(){return this._root},c.size=function(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t},c.visit=function(t){var e,n,r,u,o,a,l=[],s=this._root;for(s&&l.push(new i(s,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(s=e.node,r=e.x0,u=e.y0,o=e.x1,a=e.y1)&&s.length){var c=(r+o)/2,h=(u+a)/2;(n=s[3])&&l.push(new i(n,c,h,o,a)),(n=s[2])&&l.push(new i(n,r,h,c,a)),(n=s[1])&&l.push(new i(n,c,u,o,h)),(n=s[0])&&l.push(new i(n,r,u,c,h))}return this},c.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new i(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var u=e.node;if(u.length){var o,a=e.x0,l=e.y0,s=e.x1,c=e.y1,h=(a+s)/2,f=(l+c)/2;(o=u[0])&&n.push(new i(o,a,l,h,f)),(o=u[1])&&n.push(new i(o,h,l,s,f)),(o=u[2])&&n.push(new i(o,a,f,h,c)),(o=u[3])&&n.push(new i(o,h,f,s,c))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},c.x=function(t){return arguments.length?(this._x=t,this):this._x},c.y=function(t){return arguments.length?(this._y=t,this):this._y}},58441:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(20381);let i=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.filter((t,e,n)=>!!t&&""!==t.trim()&&n.indexOf(t)===e).join(" ").trim()},u=t=>{let e=t.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,e,n)=>n?n.toUpperCase():e.toLowerCase());return e.charAt(0).toUpperCase()+e.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,r.createContext)({}),l=(0,r.forwardRef)((t,e)=>{var n,u,l;let{color:s,size:c,strokeWidth:h,absoluteStrokeWidth:f,className:v="",children:y,iconNode:d,...g}=t,{size:x=24,strokeWidth:p=2,absoluteStrokeWidth:_=!1,color:w="currentColor",className:b=""}=null!=(n=(0,r.useContext)(a))?n:{},m=(null!=f?f:_)?24*Number(null!=h?h:p)/Number(null!=c?c:x):null!=h?h:p;return(0,r.createElement)("svg",{ref:e,...o,width:null!=(u=null!=c?c:x)?u:o.width,height:null!=(l=null!=c?c:x)?l:o.height,stroke:null!=s?s:w,strokeWidth:m,className:i("lucide",b,v),...!y&&!(t=>{for(let e in t)if(e.startsWith("aria-")||"role"===e||"title"===e)return!0;return!1})(g)&&{"aria-hidden":"true"},...g},[...d.map(t=>{let[e,n]=t;return(0,r.createElement)(e,n)}),...Array.isArray(y)?y:[y]])}),s=(t,e)=>{let n=(0,r.forwardRef)((n,o)=>{let{className:a,...s}=n;return(0,r.createElement)(l,{ref:o,iconNode:e,className:i("lucide-".concat(u(t).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(t),a),...s})});return n.displayName=u(t),n}},74506:(t,e,n)=>{n.d(e,{A:()=>r});let r=(0,n(58441).A)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},80906:(t,e,n)=>{n.d(e,{n5:()=>K});var r=n(72206),i=n(39497),u=n(4167),o=n(98416),a=n(26521),l=n(38363);let s=t=>()=>t;function c(t,{sourceEvent:e,target:n,selection:r,mode:i,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:u}})}function h(t){t.preventDefault(),t.stopImmediatePropagation()}var f={name:"drag"},v={name:"space"},y={name:"handle"},d={name:"center"};let{abs:g,max:x,min:p}=Math;function _(t){return[+t[0],+t[1]]}function w(t){return[_(t[0]),_(t[1])]}var b={name:"x",handles:["w","e"].map(E),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},m={name:"y",handles:["n","s"].map(E),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}};["n","w","e","s","nw","ne","sw","se"].map(E);var A={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},k={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},N={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},M={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},z={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function E(t){return{type:t}}function q(t){return!t.ctrlKey&&!t.button}function C(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function T(){return navigator.maxTouchPoints||"ontouchstart"in this}function j(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function K(){return function(t){var e,n=C,_=q,K=T,P=!0,G=(0,r.A)("start","brush","end"),W=6;function D(e){var n=e.property("__brush",I).selectAll(".overlay").data([E("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",A.overlay).merge(n).each(function(){var t=j(this).extent;(0,o.A)(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),e.selectAll(".selection").data([E("selection")]).enter().append("rect").attr("class","selection").attr("cursor",A.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,function(t){return t.type});r.exit().remove(),r.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return A[t.type]}),e.each(L).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",S).filter(K).on("touchstart.brush",S).on("touchmove.brush",V).on("touchend.brush touchcancel.brush",B).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function L(){var t=(0,o.A)(this),e=j(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?e[1][0]-W/2:e[0][0]-W/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-W/2:e[0][1]-W/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+W:W}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+W:W})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function O(t,e,n){var r=t.__brush.emitter;return!r||n&&r.clean?new R(t,e,n):r}function R(t,e,n){this.that=t,this.args=e,this.state=t.__brush,this.active=0,this.clean=n}function S(n){if((!e||n.touches)&&_.apply(this,arguments)){var r,u,s,c,w,E,q,C,T,K,G,W=this,D=n.target.__data__.type,R=(P&&n.metaKey?D="overlay":D)==="selection"?f:P&&n.altKey?d:y,S=t===m?null:M[D],V=t===b?null:z[D],B=j(W),I=B.extent,U=B.selection,X=I[0][0],Y=I[0][1],Z=I[1][0],$=I[1][1],F=0,H=0,J=S&&V&&P&&n.shiftKey,Q=Array.from(n.touches||[n],t=>{let e=t.identifier;return(t=(0,a.A)(t,W)).point0=t.slice(),t.identifier=e,t});(0,l.G)(W);var tt=O(W,arguments,!0).beforestart();if("overlay"===D){U&&(T=!0);let e=[Q[0],Q[1]||Q[0]];B.selection=U=[[r=t===m?X:p(e[0][0],e[1][0]),s=t===b?Y:p(e[0][1],e[1][1])],[w=t===m?Z:x(e[0][0],e[1][0]),q=t===b?$:x(e[0][1],e[1][1])]],Q.length>1&&tu(n)}else r=U[0][0],s=U[0][1],w=U[1][0],q=U[1][1];u=r,c=s,E=w,C=q;var te=(0,o.A)(W).attr("pointer-events","none"),tn=te.selectAll(".overlay").attr("cursor",A[D]);if(n.touches)tt.moved=ti,tt.ended=to;else{var tr=(0,o.A)(n.view).on("mousemove.brush",ti,!0).on("mouseup.brush",to,!0);P&&tr.on("keydown.brush",function(t){switch(t.keyCode){case 16:J=S&&V;break;case 18:R===y&&(S&&(w=E-F*S,r=u+F*S),V&&(q=C-H*V,s=c+H*V),R=d,tu(t));break;case 32:(R===y||R===d)&&(S<0?w=E-F:S>0&&(r=u-F),V<0?q=C-H:V>0&&(s=c-H),R=v,tn.attr("cursor",A.selection),tu(t));break;default:return}h(t)},!0).on("keyup.brush",function(t){switch(t.keyCode){case 16:J&&(K=G=J=!1,tu(t));break;case 18:R===d&&(S<0?w=E:S>0&&(r=u),V<0?q=C:V>0&&(s=c),R=y,tu(t));break;case 32:R===v&&(t.altKey?(S&&(w=E-F*S,r=u+F*S),V&&(q=C-H*V,s=c+H*V),R=d):(S<0?w=E:S>0&&(r=u),V<0?q=C:V>0&&(s=c),R=y),tn.attr("cursor",A[D]),tu(t));break;default:return}h(t)},!0),(0,i.A)(n.view)}L.call(W),tt.start(n,R.name)}function ti(t){for(let e of t.changedTouches||[t])for(let t of Q)t.identifier===e.identifier&&(t.cur=(0,a.A)(e,W));if(J&&!K&&!G&&1===Q.length){let t=Q[0];g(t.cur[0]-t[0])>g(t.cur[1]-t[1])?G=!0:K=!0}for(let t of Q)t.cur&&(t[0]=t.cur[0],t[1]=t.cur[1]);T=!0,h(t),tu(t)}function tu(t){var e;let n=Q[0],i=n.point0;switch(F=n[0]-i[0],H=n[1]-i[1],R){case v:case f:S&&(F=x(X-r,p(Z-w,F)),u=r+F,E=w+F),V&&(H=x(Y-s,p($-q,H)),c=s+H,C=q+H);break;case y:Q[1]?(S&&(u=x(X,p(Z,Q[0][0])),E=x(X,p(Z,Q[1][0])),S=1),V&&(c=x(Y,p($,Q[0][1])),C=x(Y,p($,Q[1][1])),V=1)):(S<0?(F=x(X-r,p(Z-r,F)),u=r+F,E=w):S>0&&(F=x(X-w,p(Z-w,F)),u=r,E=w+F),V<0?(H=x(Y-s,p($-s,H)),c=s+H,C=q):V>0&&(H=x(Y-q,p($-q,H)),c=s,C=q+H));break;case d:S&&(u=x(X,p(Z,r-F*S)),E=x(X,p(Z,w+F*S))),V&&(c=x(Y,p($,s-H*V)),C=x(Y,p($,q+H*V)))}E<u&&(S*=-1,e=r,r=w,w=e,e=u,u=E,E=e,D in k&&tn.attr("cursor",A[D=k[D]])),C<c&&(V*=-1,e=s,s=q,q=e,e=c,c=C,C=e,D in N&&tn.attr("cursor",A[D=N[D]])),B.selection&&(U=B.selection),K&&(u=U[0][0],E=U[1][0]),G&&(c=U[0][1],C=U[1][1]),(U[0][0]!==u||U[0][1]!==c||U[1][0]!==E||U[1][1]!==C)&&(B.selection=[[u,c],[E,C]],L.call(W),tt.brush(t,R.name))}function to(t){var n;if(t.stopImmediatePropagation(),t.touches){if(t.touches.length)return;e&&clearTimeout(e),e=setTimeout(function(){e=null},500)}else(0,i.y)(t.view,T),tr.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);te.attr("pointer-events","all"),tn.attr("cursor",A.overlay),B.selection&&(U=B.selection),((n=U)[0][0]===n[1][0]||n[0][1]===n[1][1])&&(B.selection=null,L.call(W)),tt.end(t,R.name)}}function V(t){O(this,arguments).moved(t)}function B(t){O(this,arguments).ended(t)}function I(){var e=this.__brush||{selection:null};return e.extent=w(n.apply(this,arguments)),e.dim=t,e}return D.move=function(e,n,r){e.tween?e.on("start.brush",function(t){O(this,arguments).beforestart().start(t)}).on("interrupt.brush end.brush",function(t){O(this,arguments).end(t)}).tween("brush",function(){var e=this,r=e.__brush,i=O(e,arguments),o=r.selection,a=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),l=(0,u.A)(o,a);function s(t){r.selection=1===t&&null===a?null:l(t),L.call(e),i.brush()}return null!==o&&null!==a?s:s(1)}):e.each(function(){var e=arguments,i=this.__brush,u=t.input("function"==typeof n?n.apply(this,e):n,i.extent),o=O(this,e).beforestart();(0,l.G)(this),i.selection=null===u?null:u,L.call(this),o.start(r).brush(r).end(r)})},D.clear=function(t,e){D.move(t,null,e)},R.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(t,e){return this.starting?(this.starting=!1,this.emit("start",t,e)):this.emit("brush",t),this},brush:function(t,e){return this.emit("brush",t,e),this},end:function(t,e){return 0==--this.active&&(delete this.state.emitter,this.emit("end",t,e)),this},emit:function(e,n,r){var i=(0,o.A)(this.that).datum();G.call(e,this.that,new c(e,{sourceEvent:n,target:D,selection:t.output(this.state.selection),mode:r,dispatch:G}),i)}},D.extent=function(t){return arguments.length?(n="function"==typeof t?t:s(w(t)),D):n},D.filter=function(t){return arguments.length?(_="function"==typeof t?t:s(!!t),D):_},D.touchable=function(t){return arguments.length?(K="function"==typeof t?t:s(!!t),D):K},D.handleSize=function(t){return arguments.length?(W=+t,D):W},D.keyModifiers=function(t){return arguments.length?(P=!!t,D):P},D.on=function(){var t=G.on.apply(G,arguments);return t===G?D:t},D}(b)}},99919:(t,e,n)=>{n.d(e,{A:()=>r});function r(t){return(t()-.5)*1e-6}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1612],{2437:(e,t,i)=>{function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>n}),(0,i(73084).K)(n,"populateCommonDb")},61612:(e,t,i)=>{i.d(t,{diagram:()=>en});var n=i(2437),a=i(68180),r=i(94268),o=i(1642),l=i(73084),d=i(6416),s=i(39433),m="position frame",c="frame positioned",x="position relation",u="relation positioned",f=(0,l.K)(function(e){o.R.debug("options str",e)},"setOptions"),g=(0,l.K)(function(){return{}},"getOptions"),h=(0,l.K)(function(){b(),(0,r.IU)()},"clear");function b(){v={}}(0,l.K)(b,"reset");var p=r.UI.eventmodeling,w=(0,l.K)(()=>(0,a.$t)({...p,...(0,r.zj)().eventmodeling}),"getConfig"),v={};function y(){let e=K,{ast:t}=v,i=M();if(!t)throw Error("No data for EventModel");return t.frames.forEach((n,a)=>{let r=A(n,t.dataEntities,i);e=L(e,{$kind:m,index:a,frame:n,textProps:r}),N(n)?(o.R.debug("source frame",n.sourceFrames),t.frames.filter(e=>n.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=L(e,{$kind:x,index:a,frame:n,sourceFrame:t})})):e=L(e,{$kind:x,index:a,frame:n})}),e={...e,sortedSwimlanesArray:H(e.swimlanes)}}function P(e){v.ast=void 0;let t=new Set;for(let i of e.frames){if(t.has(i.name)){let e=i.$cstNode?.range.start.line,t=void 0===e?"":` on line ${e+1}`;throw Error(`Duplicate event modeling frame ID "${i.name}"${t}`)}t.add(i.name)}v.ast=e}(0,l.K)(y,"getState"),(0,l.K)(P,"setAst");var k={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return k}(0,l.K)(M,"getDiagramProps");var K={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){let t=e.split(".");if(2===t.length)return t[0]}function B(e){let t=e.split(".");return 2===t.length?t[1]:e}function $(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function F(e,t,i){return Math.max(t,...Object.keys(e).filter(e=>{let n=Number.parseInt(e);return n>t&&n<i}).map(e=>Number.parseInt(e)))+1}function E(e,t){let i=S(e.entityIdentifier),n=$(t,i);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(n)return{index:n.index,label:n.namespace||k.labelUiAutomation};if(i)return{index:F(t,0,100),label:k.labelUiAutomationPrefix+i};return{index:0,label:k.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(n)return{index:n.index,label:n.namespace||k.labelCommandReadModel};if(i)return{index:F(t,100,200),label:k.labelCommandReadModelPrefix+i};return{index:100,label:k.labelCommandReadModel};default:if(n)return{index:n.index,label:n.namespace||k.labelEvents};if(i)return{index:F(t,200,300),label:k.labelEventsPrefix+i};return{index:200,label:k.labelEvents}}}function R(e){let{themeVariables:t}=(0,r.zj)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function A(e,t,i){let n,l=(0,r.zj)(),d=(0,r.jZ)(B(e.entityIdentifier)??"",l),s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},m=(0,a.bH)(d,i.textMaxWidth,s),c=`<b>${m}</b>`;if(e.dataInlineValue&&(n=(n=(n=e.dataInlineValue).substring(n.indexOf("{")+1)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")),e.dataReference){let o=t.find(t=>t.name===e.dataReference?.$refText);o&&(n=(n=(n=o.dataBlockValue).substring(n.indexOf("{\n")+2)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")+"<br/>")}let x=void 0!==n;x&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${n}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=(0,a.PX)(c,u),g={content:c,width:x?f.width/3:f.width,height:f.height};return o.R.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function T(e,t){let i=R(t.frame),n={width:t.textProps.width+2*k.boxTextPadding,height:t.textProps.height+2*k.boxTextPadding};return[{$kind:c,frame:t.frame,index:t.index,visual:i,dimension:n,textProps:t.textProps}]}function D(e,t,i){return void 0===t?k.contentStartX:t.index===e.index&&e.r?e.r+k.boxPadding:void 0===i?k.contentStartX:i.r-k.boxOverlap+k.boxPadding}function W(e,t){return Math.max(...e.map(e=>e.r),t)}function H(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function I(e,t){let i,n=E(t.frame,e.swimlanes);i=n.index in e.swimlanes?e.swimlanes[n.index]:{index:n.index,label:n.label,r:0,y:n.index*k.swimlaneMinHeight+k.swimlaneGap,height:k.swimlaneMinHeight,maxHeight:k.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(k.boxMinWidth,Math.min(k.boxMaxWidth,t.dimension.width))+2*k.boxPadding,height:Math.max(k.boxMinHeight,Math.min(k.boxMaxHeight,t.dimension.height))+2*k.boxPadding},l=D(i,r,a),d=l+o.width+k.boxPadding,s=W(Object.values(e.swimlanes),d);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(k.swimlaneMinHeight,i.maxHeight)+2*k.swimlanePadding;let m={x:l,y:k.swimlanePadding+i.y,r:d,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},c={...e,boxes:[...e.boxes,m],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:t.frame,maxR:s},x=H(c.swimlanes);x.length>0&&(x[0].y=0);for(let e=1;e<x.length;e++){let t=x[e],i=x[e-1];t.y=i.y+i.height+k.swimlaneGap}return c}function C(e,t){return 0===e&&0===t.sourceFrames.length}function N(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function O(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function j(e,t,i){if(!(i<0))for(let n=i;n>=0;n--){let i=e[n];if(i.swimlane.index!==t)return i}}function U(e,t){let i;if(C(t.index,t.frame))return[];let n=O(e.boxes,t.frame);if(void 0===n)throw Error(`Target box not found for frame ${t.frame.name}`);if(t.sourceFrame)i=O(e.boxes,t.sourceFrame);else{if((0,d.F5)(t.frame))return[];i=j(e.boxes,n.swimlane.index,t.index-1)}return void 0===i?[]:[{$kind:u,frame:t.frame,index:t.index,sourceBox:i,targetBox:n}]}function z(e,t){let i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}(0,l.K)(S,"extractNamespace"),(0,l.K)(B,"extractName"),(0,l.K)($,"findSwimlaneByNamespace"),(0,l.K)(F,"findNextAvailableIndex"),(0,l.K)(E,"calculateSwimlaneProps"),(0,l.K)(R,"calculateEntityVisualProps"),(0,l.K)(A,"calculateTextProps"),(0,l.K)(T,"decidePositionFrame"),(0,l.K)(D,"calculateX"),(0,l.K)(W,"calculateMaxRight"),(0,l.K)(H,"sortedSwimlanesArray"),(0,l.K)(I,"evolveFramePositioned"),(0,l.K)(C,"isFirstFrame"),(0,l.K)(N,"hasSourceFrame"),(0,l.K)(O,"findBoxByFrame"),(0,l.K)(j,"findBoxByLineIndex"),(0,l.K)(U,"decidePositionRelation"),(0,l.K)(z,"evolveRelationPositioned");var X={[m]:T,[x]:U},V={[c]:I,[u]:z};function _(e,t){let i=X[t.$kind];if(null==i)return[];let n=i(e,t);return o.R.debug("decided events",n),n}function G(e,t){let i=t.reduce((e,t)=>{let i=V[t.$kind];return null==i?e:i(e,t)},e);return o.R.debug("evolve events",{state:e,newState:i,events:t}),i}function L(e,t){let i=_(e,t);return G(e,i)}(0,l.K)(_,"decide"),(0,l.K)(G,"evolve"),(0,l.K)(L,"dispatch");var Z={getConfig:w,preserveCommentsWhenParsing:!0,setOptions:f,getOptions:g,clear:h,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAst:P,getDiagramProps:M,getState:y},Y={parse:(0,l.K)(async e=>{let t=await (0,d.qg)("eventmodeling",e);o.R.debug(t),Z.setAst(t),(0,n.S)(t,Z)},"parse")},q=(0,r.D7)(),J=q?.eventmodeling;function Q(e,t){return i=>{let n=i.swimlane.y+t.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",i.x).attr("y",n).attr("rx","3").attr("width",i.dimension.width).attr("height",i.dimension.height).attr("stroke",i.visual.stroke).attr("fill",i.visual.fill),a.append("foreignObject").attr("x",i.x+t.boxPadding).attr("y",n+10).attr("width",i.dimension.width-2*t.boxPadding).attr("height",i.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(i.text)}}function ee(e,t){return e>t}function et(e,t,i,n){return a=>{let r,l,d=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,m=ee(d,s),c=a.sourceBox.x+2*a.sourceBox.dimension.width/3,x=a.targetBox.x+a.targetBox.dimension.width/3;o.R.debug(`rendering relation up=${m} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),m?(r=d,l=s+a.targetBox.dimension.height):(r=d+a.sourceBox.dimension.height,l=s);let u=n.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${i})`).attr("d",`M${c} ${r} L${x} ${l}`)}}function ei(e,t,i,n){return a=>{let r=e.append("g").attr("class","em-swimlane"),o=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",t+i.swimlanePadding).attr("height",a.height).attr("fill",o).attr("stroke",l),r.append("text").attr("font-weight",i.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}(0,l.K)(Q,"renderD3Box"),(0,l.K)(ee,"dirUpwards"),(0,l.K)(et,"renderD3Relation"),(0,l.K)(ei,"renderD3Swimlane");var en={parser:Y,db:Z,renderer:{draw:(0,l.K)(function(e,t,i,n){if(o.R.debug("in eventmodeling renderer",e+"\n","id:",t,i),!J)throw Error("EventModeling config not found");let a=n.db,{themeVariables:l,eventmodeling:d}=(0,r.D7)(),m=(0,s.Ltv)(`[id="${t}"]`),c=a.getDiagramProps(),x=a.getState(),u=`em-arrowhead-${t}`,f=l.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ei(m,x.maxR,c,l)),x.boxes.forEach(Q(m,c)),x.relations.forEach(et(m,c,u,l)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),(0,r.mj)(void 0,m,d?.padding??30,d?.useMaxWidth)},"draw")},styles:(0,l.K)(e=>"","getStyles")}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1766],{1643:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(14797),i=r(96858),o=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;let a=u?function(t){return null==t?[]:(t=Object(t),(0,n.A)(u(t),function(e){return o.call(t,e)}))}:i.A},1814:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(e){return null==e?void 0:e[t]}}},1940:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return t.has(e)}},3337:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(17540),i=r(56129);let o=function(t){return"symbol"==typeof t||(0,i.A)(t)&&"[object Symbol]"==(0,n.A)(t)}},3940:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},8462:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(80321),i=r(56129);let o=function(t){return(0,i.A)(t)&&(0,n.A)(t)}},9894:(t,e,r)=>{r.d(e,{A:()=>u});var n,i=r(66126),o=r(80321);let u=(n=i.A,function(t,e){if(null==t)return t;if(!(0,o.A)(t))return n(t,e);for(var r=t.length,i=-1,u=Object(t);++i<r&&!1!==e(u[i],i,u););return t})},11718:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},12205:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(88422),i=r(60174),o=r(80321);let u=function(t){return(0,o.A)(t)?(0,n.A)(t):(0,i.A)(t)}},14797:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var u=t[r];e(u,r,t)&&(o[i++]=u)}return o}},17038:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(45766),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,u=o&&o.exports===i?n.A.Buffer:void 0;let a=(u?u.isBuffer:void 0)||function(){return!1}},17540:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(24330),i=Object.prototype,o=i.hasOwnProperty,u=i.toString,a=n.A?n.A.toStringTag:void 0;let s=function(t){var e=o.call(t,a),r=t[a];try{t[a]=void 0;var n=!0}catch(t){}var i=u.call(t);return n&&(e?t[a]=r:delete t[a]),i};var c=Object.prototype.toString,l=n.A?n.A.toStringTag:void 0;let f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":l&&l in Object(t)?s(t):c.call(t)}},17694:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},18460:(t,e,r)=>{r.d(e,{A:()=>s});var n=r(14797),i=r(9894);let o=function(t,e){var r=[];return(0,i.A)(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r};var u=r(30469),a=r(93894);let s=function(t,e){return((0,a.A)(t)?n.A:o)(t,(0,u.A)(e,3))}},20633:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(17540),i=r(11718);let o=function(t){if(!(0,i.A)(t))return!1;var e=(0,n.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},21056:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(70781),i=r(45766);let o=(0,n.A)(i.A,"Map")},23854:(t,e,r)=>{r.d(e,{A:()=>o});let n=function(t,e){return null!=t&&e in Object(t)};var i=r(99309);let o=function(t,e){return null!=t&&(0,i.A)(t,e,n)}},24330:(t,e,r)=>{r.d(e,{A:()=>n});let n=r(45766).A.Symbol},24777:(t,e,r)=>{r.d(e,{A:()=>o});let n=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var i=Math.max;let o=function(t,e,r){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,u=-1,a=i(o.length-e,0),s=Array(a);++u<a;)s[u]=o[e+u];u=-1;for(var c=Array(e+1);++u<e;)c[u]=o[u];return c[e]=r(s),n(t,this,c)}}},28693:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(99051),i=r(24777),o=r(84600);let u=function(t,e){return(0,o.A)((0,i.A)(t,e,n.A),t+"")}},30469:(t,e,r)=>{r.d(e,{A:()=>W});var n=r(70562),i=r(51191);let o=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1};var u=r(1940);let a=function(t,e,r,n,a,s){var c=1&r,l=t.length,f=e.length;if(l!=f&&!(c&&f>l))return!1;var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var A=-1,p=!0,v=2&r?new i.A:void 0;for(s.set(t,e),s.set(e,t);++A<l;){var _=t[A],b=e[A];if(n)var g=c?n(b,_,A,e,t,s):n(_,b,A,t,e,s);if(void 0!==g){if(g)continue;p=!1;break}if(v){if(!o(e,function(t,e){if(!(0,u.A)(v,e)&&(_===t||a(_,t,r,n,s)))return v.push(e)})){p=!1;break}}else if(!(_===b||a(_,b,r,n,s))){p=!1;break}}return s.delete(t),s.delete(e),p};var s=r(24330),c=r(40167),l=r(30831);let f=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var h=r(3940),d=s.A?s.A.prototype:void 0,A=d?d.valueOf:void 0;let p=function(t,e,r,n,i,o,u){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)break;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":if(t.byteLength!=e.byteLength||!o(new c.A(t),new c.A(e)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,l.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=f;case"[object Set]":var d=1&n;if(s||(s=h.A),t.size!=e.size&&!d)break;var p=u.get(t);if(p)return p==e;n|=2,u.set(t,e);var v=a(s(t),s(e),n,i,o,u);return u.delete(t),v;case"[object Symbol]":if(A)return A.call(t)==A.call(e)}return!1};var v=r(91925),_=Object.prototype.hasOwnProperty;let b=function(t,e,r,n,i,o){var u=1&r,a=(0,v.A)(t),s=a.length;if(s!=(0,v.A)(e).length&&!u)return!1;for(var c=s;c--;){var l=a[c];if(!(u?l in e:_.call(e,l)))return!1}var f=o.get(t),h=o.get(e);if(f&&h)return f==e&&h==t;var d=!0;o.set(t,e),o.set(e,t);for(var A=u;++c<s;){var p=t[l=a[c]],b=e[l];if(n)var g=u?n(b,p,l,e,t,o):n(p,b,l,t,e,o);if(!(void 0===g?p===b||i(p,b,r,n,o):g)){d=!1;break}A||(A="constructor"==l)}if(d&&!A){var y=t.constructor,j=e.constructor;y!=j&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof j&&j instanceof j)&&(d=!1)}return o.delete(t),o.delete(e),d};var g=r(84717),y=r(93894),j=r(17038),O=r(57304),w="[object Arguments]",m="[object Array]",C="[object Object]",E=Object.prototype.hasOwnProperty;let P=function(t,e,r,i,o,u){var s=(0,y.A)(t),c=(0,y.A)(e),l=s?m:(0,g.A)(t),f=c?m:(0,g.A)(e);l=l==w?C:l,f=f==w?C:f;var h=l==C,d=f==C,A=l==f;if(A&&(0,j.A)(t)){if(!(0,j.A)(e))return!1;s=!0,h=!1}if(A&&!h)return u||(u=new n.A),s||(0,O.A)(t)?a(t,e,r,i,o,u):p(t,e,l,r,i,o,u);if(!(1&r)){var v=h&&E.call(t,"__wrapped__"),_=d&&E.call(e,"__wrapped__");if(v||_){var P=v?t.value():t,z=_?e.value():e;return u||(u=new n.A),o(P,z,r,i,u)}}return!!A&&(u||(u=new n.A),b(t,e,r,i,o,u))};var z=r(56129);let N=function t(e,r,n,i,o){return e===r||(null!=e&&null!=r&&((0,z.A)(e)||(0,z.A)(r))?P(e,r,n,i,t,o):e!=e&&r!=r)},L=function(t,e,r,i){var o=r.length,u=o,a=!i;if(null==t)return!u;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<u;){var c=(s=r[o])[0],l=t[c],f=s[1];if(a&&s[2]){if(void 0===l&&!(c in t))return!1}else{var h=new n.A;if(i)var d=i(l,f,c,t,e,h);if(!(void 0===d?N(f,l,3,i,h):d))return!1}}return!0};var S=r(11718);let D=function(t){return t==t&&!(0,S.A)(t)};var x=r(12205);let k=function(t){for(var e=(0,x.A)(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,D(i)]}return e},F=function(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}},M=function(t){var e=k(t);return 1==e.length&&e[0][2]?F(e[0][0],e[0][1]):function(r){return r===t||L(r,t,e)}};var T=r(90837);let $=function(t,e,r){var n=null==t?void 0:(0,T.A)(t,e);return void 0===n?r:n};var B=r(23854),I=r(69141),U=r(82286),R=r(99051),V=r(1814);let G=function(t){return(0,I.A)(t)?(0,V.A)((0,U.A)(t)):function(e){return(0,T.A)(e,t)}},W=function(t){if("function"==typeof t)return t;if(null==t)return R.A;if("object"==typeof t){var e,r;return(0,y.A)(t)?(e=t[0],r=t[1],(0,I.A)(e)&&D(r)?F((0,U.A)(e),r):function(t){var n=$(t,e);return void 0===n&&n===r?(0,B.A)(t,e):N(r,n,3)}):M(t)}return G(t)}},30831:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return t===e||t!=t&&e!=e}},31582:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(70781),i=r(45766);let o=(0,n.A)(i.A,"Set")},32039:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),u=o.length;u--;){var a=o[++n];if(!1===e(i[a],a,i))break}return t}},33449:(t,e,r)=>{r.d(e,{A:()=>h});var n=(0,r(70781).A)(Object,"create"),i=Object.prototype.hasOwnProperty,o=Object.prototype.hasOwnProperty;function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}u.prototype.clear=function(){this.__data__=n?n(null):{},this.size=0},u.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=!!e,e},u.prototype.get=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return i.call(e,t)?e[t]:void 0},u.prototype.has=function(t){var e=this.__data__;return n?void 0!==e[t]:o.call(e,t)},u.prototype.set=function(t,e){var r=this.__data__;return this.size+=+!this.has(t),r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this};var a=r(82780),s=r(21056);let c=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t},l=function(t,e){var r=t.__data__;return c(e)?r["string"==typeof e?"string":"hash"]:r.map};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}f.prototype.clear=function(){this.size=0,this.__data__={hash:new u,map:new(s.A||a.A),string:new u}},f.prototype.delete=function(t){var e=l(this,t).delete(t);return this.size-=!!e,e},f.prototype.get=function(t){return l(this,t).get(t)},f.prototype.has=function(t){return l(this,t).has(t)},f.prototype.set=function(t,e){var r=l(this,t),n=r.size;return r.set(t,e),this.size+=+(r.size!=n),this};let h=f},35224:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return -1}},40167:(t,e,r)=>{r.d(e,{A:()=>n});let n=r(45766).A.Uint8Array},41766:(t,e,r)=>{r.d(e,{T:()=>n.T});var n=r(59263)},45543:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}},45766:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(73651),i="object"==typeof self&&self&&self.Object===Object&&self;let o=n.A||i||Function("return this")()},46728:(t,e,r)=>{r.d(e,{A:()=>i});var n=Object.prototype;let i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},49182:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(73651),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,u=o&&o.exports===i&&n.A.process;let a=function(){try{var t=o&&o.require&&o.require("util").types;if(t)return t;return u&&u.binding&&u.binding("util")}catch(t){}}()},51191:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(33449);function i(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n.A;++e<r;)this.add(t[e])}i.prototype.add=i.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},i.prototype.has=function(t){return this.__data__.has(t)};let o=i},52333:(t,e,r)=>{r.d(e,{A:()=>i});var n=r(99051);let i=function(t){return"function"==typeof t?t:n.A}},55065:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(45543),i=r(24330),o=r(85749),u=r(93894),a=i.A?i.A.isConcatSpreadable:void 0;let s=function(t){return(0,u.A)(t)||(0,o.A)(t)||!!(a&&t&&t[a])},c=function t(e,r,i,o,u){var a=-1,c=e.length;for(i||(i=s),u||(u=[]);++a<c;){var l=e[a];r>0&&i(l)?r>1?t(l,r-1,i,o,u):(0,n.A)(u,l):o||(u[u.length]=l)}return u}},56129:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return null!=t&&"object"==typeof t}},57304:(t,e,r)=>{r.d(e,{A:()=>l});var n=r(17540),i=r(97057),o=r(56129),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1;var a=r(62750),s=r(49182),c=s.A&&s.A.isTypedArray;let l=c?(0,a.A)(c):function(t){return(0,o.A)(t)&&(0,i.A)(t.length)&&!!u[(0,n.A)(t)]}},59263:(t,e,r)=>{r.d(e,{T:()=>M});var n=r(70689),i=r(20633),o=r(12205),u=r(18460),a=r(60174),s=r(84717),c=r(85749),l=r(93894),f=r(80321),h=r(17038),d=r(46728),A=r(57304),p=Object.prototype.hasOwnProperty;let v=function(t){if(null==t)return!0;if((0,f.A)(t)&&((0,l.A)(t)||"string"==typeof t||"function"==typeof t.splice||(0,h.A)(t)||(0,A.A)(t)||(0,c.A)(t)))return!t.length;var e=(0,s.A)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,d.A)(t))return!(0,a.A)(t).length;for(var r in t)if(p.call(t,r))return!1;return!0};var _=r(68101),b=r(79363),g=r(55065),y=r(28693),j=r(51191),O=r(35224);let w=function(t){return t!=t},m=function(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return -1},C=function(t,e){return!!(null==t?0:t.length)&&(e==e?m(t,e,0):(0,O.A)(t,w,0))>-1},E=function(t,e,r){for(var n=-1,i=null==t?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1};var P=r(1940),z=r(31582),N=r(3940),L=z.A&&1/(0,N.A)(new z.A([,-0]))[1]==1/0?function(t){return new z.A(t)}:function(){};let S=function(t,e,r){var n=-1,i=C,o=t.length,u=!0,a=[],s=a;if(r)u=!1,i=E;else if(o>=200){var c=e?null:L(t);if(c)return(0,N.A)(c);u=!1,i=P.A,s=new j.A}else s=e?[]:a;t:for(;++n<o;){var l=t[n],f=e?e(l):l;if(l=r||0!==l?l:0,u&&f==f){for(var h=s.length;h--;)if(s[h]===f)continue t;e&&s.push(f),a.push(l)}else i(s,f,r)||(s!==a&&s.push(f),a.push(l))}return a};var D=r(8462),x=(0,y.A)(function(t){return S((0,g.A)(t,1,D.A,!0))}),k=r(92070),F=r(93234);class M{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=n.A(void 0),this._defaultEdgeLabelFn=n.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return i.A(t)||(t=n.A(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return o.A(this._nodes)}sources(){var t=this;return u.A(this.nodes(),function(e){return v(t._in[e])})}sinks(){var t=this;return u.A(this.nodes(),function(e){return v(t._out[e])})}setNodes(t,e){var r=arguments,n=this;return _.A(t,function(t){r.length>1?n.setNode(t,e):n.setNode(t)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?arguments.length>1&&(this._nodes[t]=e):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount),this}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],_.A(this.children(t),t=>{this.setParent(t)}),delete this._children[t]),_.A(o.A(this._in[t]),e),delete this._in[t],delete this._preds[t],_.A(o.A(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(b.A(e))e="\0";else{e+="";for(var r=e;!b.A(r);r=this.parent(r))if(r===t)throw Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}}children(t){if(b.A(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return o.A(e)}else if("\0"===t)return this.nodes();else if(this.hasNode(t))return[]}predecessors(t){var e=this._preds[t];if(e)return o.A(e)}successors(t){var e=this._sucs[t];if(e)return o.A(e)}neighbors(t){var e=this.predecessors(t);if(e)return x(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;_.A(this._nodes,function(r,n){t(n)&&e.setNode(n,r)}),_.A(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,r.edge(t))});var n={};return this._isCompound&&_.A(e.nodes(),function(t){e.setParent(t,function t(i){var o=r.parent(i);return void 0===o||e.hasNode(o)?(n[i]=o,o):o in n?n[o]:t(o)}(t))}),e}setDefaultEdgeLabel(t){return i.A(t)||(t=n.A(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return k.A(this._edgeObjs)}setPath(t,e){var r=this,n=arguments;return F.A(t,function(t,i){return n.length>1?r.setEdge(t,i,e):r.setEdge(t,i),i}),this}setEdge(){var t,e,r,n,i=!1,o=arguments[0];"object"==typeof o&&null!==o&&"v"in o?(t=o.v,e=o.w,r=o.name,2==arguments.length&&(n=arguments[1],i=!0)):(t=o,e=arguments[1],r=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),t=""+t,e=""+e,b.A(r)||(r=""+r);var u=B(this._isDirected,t,e,r);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,u))return i&&(this._edgeLabels[u]=n),this;if(!b.A(r)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[u]=i?n:this._defaultEdgeLabelFn(t,e,r);var a=function(t,e,r,n){var i=""+e,o=""+r;if(!t&&i>o){var u=i;i=o,o=u}var a={v:i,w:o};return n&&(a.name=n),a}(this._isDirected,t,e,r);return t=a.v,e=a.w,Object.freeze(a),this._edgeObjs[u]=a,T(this._preds[e],t),T(this._sucs[t],e),this._in[e][u]=a,this._out[t][u]=a,this._edgeCount++,this}edge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r);return this._edgeLabels[n]}hasEdge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r);return Object.prototype.hasOwnProperty.call(this._edgeLabels,n)}removeEdge(t,e,r){var n=1==arguments.length?I(this._isDirected,arguments[0]):B(this._isDirected,t,e,r),i=this._edgeObjs[n];return i&&(t=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],$(this._preds[e],t),$(this._sucs[t],e),delete this._in[e][n],delete this._out[t][n],this._edgeCount--),this}inEdges(t,e){var r=this._in[t];if(r){var n=k.A(r);return e?u.A(n,function(t){return t.v===e}):n}}outEdges(t,e){var r=this._out[t];if(r){var n=k.A(r);return e?u.A(n,function(t){return t.w===e}):n}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}function T(t,e){t[e]?t[e]++:t[e]=1}function $(t,e){--t[e]||delete t[e]}function B(t,e,r,n){var i=""+e,o=""+r;if(!t&&i>o){var u=i;i=o,o=u}return i+"\x01"+o+"\x01"+(b.A(n)?"\0":n)}function I(t,e){return B(t,e.v,e.w,e.name)}M.prototype._nodeCount=0,M.prototype._edgeCount=0},59612:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){return function(r){return t(e(r))}}},60174:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(46728),i=(0,r(59612).A)(Object.keys,Object),o=Object.prototype.hasOwnProperty;let u=function(t){if(!(0,n.A)(t))return i(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},62122:(t,e,r)=>{r.d(e,{A:()=>i});var n=Function.prototype.toString;let i=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},62750:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(e){return t(e)}}},63784:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(45543),i=r(93894);let o=function(t,e,r){var o=e(t);return(0,i.A)(t)?o:(0,n.A)(o,r(t))}},66126:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(32039),i=r(12205);let o=function(t,e){return t&&(0,n.A)(t,e,i.A)}},68101:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(17694),i=r(9894),o=r(52333),u=r(93894);let a=function(t,e){return((0,u.A)(t)?n.A:i.A)(t,(0,o.A)(e))}},69141:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(93894),i=r(3337),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;let a=function(t,e){if((0,n.A)(t))return!1;var r=typeof t;return!!("number"==r||"symbol"==r||"boolean"==r||null==t||(0,i.A)(t))||u.test(t)||!o.test(t)||null!=e&&t in Object(e)}},70562:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(82780),i=r(21056),o=r(33449);function u(t){var e=this.__data__=new n.A(t);this.size=e.size}u.prototype.clear=function(){this.__data__=new n.A,this.size=0},u.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},u.prototype.get=function(t){return this.__data__.get(t)},u.prototype.has=function(t){return this.__data__.has(t)},u.prototype.set=function(t,e){var r=this.__data__;if(r instanceof n.A){var u=r.__data__;if(!i.A||u.length<199)return u.push([t,e]),this.size=++r.size,this;r=this.__data__=new o.A(u)}return r.set(t,e),this.size=r.size,this};let a=u},70689:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return function(){return t}}},70781:(t,e,r)=>{r.d(e,{A:()=>A});var n=r(20633),i=r(45766).A["__core-js_shared__"],o=function(){var t=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),u=r(11718),a=r(62122),s=/^\[object .+?Constructor\]$/,c=Object.prototype,l=Function.prototype.toString,f=c.hasOwnProperty,h=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let d=function(t){return!!(0,u.A)(t)&&(!o||!(o in t))&&((0,n.A)(t)?h:s).test((0,a.A)(t))},A=function(t,e){var r=null==t?void 0:t[e];return d(r)?r:void 0}},71171:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}},73651:(t,e,r)=>{r.d(e,{A:()=>n});let n="object"==typeof global&&global&&global.Object===Object&&global},79363:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return void 0===t}},80321:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(20633),i=r(97057);let o=function(t){return null!=t&&(0,i.A)(t.length)&&!(0,n.A)(t)}},80986:(t,e,r)=>{r.d(e,{A:()=>i});var n=/^(?:0|[1-9]\d*)$/;let i=function(t,e){var r=typeof t;return!!(e=null==e?0x1fffffffffffff:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},82286:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(3337),i=1/0;let o=function(t){if("string"==typeof t||(0,n.A)(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},82780:(t,e,r)=>{r.d(e,{A:()=>a});var n=r(30831);let i=function(t,e){for(var r=t.length;r--;)if((0,n.A)(t[r][0],e))return r;return -1};var o=Array.prototype.splice;function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}u.prototype.clear=function(){this.__data__=[],this.size=0},u.prototype.delete=function(t){var e=this.__data__,r=i(e,t);return!(r<0)&&(r==e.length-1?e.pop():o.call(e,r,1),--this.size,!0)},u.prototype.get=function(t){var e=this.__data__,r=i(e,t);return r<0?void 0:e[r][1]},u.prototype.has=function(t){return i(this.__data__,t)>-1},u.prototype.set=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};let a=u},83588:(t,e,r)=>{r.d(e,{A:()=>i});var n=r(70781);let i=function(){try{var t=(0,n.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},84600:(t,e,r)=>{r.d(e,{A:()=>s});var n=r(70689),i=r(83588),o=r(99051),u=i.A?function(t,e){return(0,i.A)(t,"toString",{configurable:!0,enumerable:!1,value:(0,n.A)(e),writable:!0})}:o.A,a=Date.now;let s=function(t){var e=0,r=0;return function(){var n=a(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(u)},84717:(t,e,r)=>{r.d(e,{A:()=>w});var n=r(70781),i=r(45766),o=(0,n.A)(i.A,"DataView"),u=r(21056),a=(0,n.A)(i.A,"Promise"),s=r(31582),c=(0,n.A)(i.A,"WeakMap"),l=r(17540),f=r(62122),h="[object Map]",d="[object Promise]",A="[object Set]",p="[object WeakMap]",v="[object DataView]",_=(0,f.A)(o),b=(0,f.A)(u.A),g=(0,f.A)(a),y=(0,f.A)(s.A),j=(0,f.A)(c),O=l.A;(o&&O(new o(new ArrayBuffer(1)))!=v||u.A&&O(new u.A)!=h||a&&O(a.resolve())!=d||s.A&&O(new s.A)!=A||c&&O(new c)!=p)&&(O=function(t){var e=(0,l.A)(t),r="[object Object]"==e?t.constructor:void 0,n=r?(0,f.A)(r):"";if(n)switch(n){case _:return v;case b:return h;case g:return d;case y:return A;case j:return p}return e});let w=O},85749:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(17540),i=r(56129);let o=function(t){return(0,i.A)(t)&&"[object Arguments]"==(0,n.A)(t)};var u=Object.prototype,a=u.hasOwnProperty,s=u.propertyIsEnumerable;let c=o(function(){return arguments}())?o:function(t){return(0,i.A)(t)&&a.call(t,"callee")&&!s.call(t,"callee")}},88422:(t,e,r)=>{r.d(e,{A:()=>l});let n=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var i=r(85749),o=r(93894),u=r(17038),a=r(80986),s=r(57304),c=Object.prototype.hasOwnProperty;let l=function(t,e){var r=(0,o.A)(t),l=!r&&(0,i.A)(t),f=!r&&!l&&(0,u.A)(t),h=!r&&!l&&!f&&(0,s.A)(t),d=r||l||f||h,A=d?n(t.length,String):[],p=A.length;for(var v in t)(e||c.call(t,v))&&!(d&&("length"==v||f&&("offset"==v||"parent"==v)||h&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||(0,a.A)(v,p)))&&A.push(v);return A}},88907:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(24330),i=r(71171),o=r(93894),u=r(3337),a=1/0,s=n.A?n.A.prototype:void 0,c=s?s.toString:void 0;let l=function t(e){if("string"==typeof e)return e;if((0,o.A)(e))return(0,i.A)(e,t)+"";if((0,u.A)(e))return c?c.call(e):"";var r=e+"";return"0"==r&&1/e==-a?"-0":r},f=function(t){return null==t?"":l(t)}},89184:(t,e,r)=>{r.d(e,{A:()=>f});var n=r(93894),i=r(69141),o=r(33449);function u(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var u=t.apply(this,n);return r.cache=o.set(i,u)||o,u};return r.cache=new(u.Cache||o.A),r}u.Cache=o.A;var a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,c=function(t){var e=u(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(a,function(t,r,n,i){e.push(n?i.replace(s,"$1"):r||t)}),e}),l=r(88907);let f=function(t,e){return(0,n.A)(t)?t:(0,i.A)(t,e)?[t]:c((0,l.A)(t))}},90837:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(89184),i=r(82286);let o=function(t,e){e=(0,n.A)(e,t);for(var r=0,o=e.length;null!=t&&r<o;)t=t[(0,i.A)(e[r++])];return r&&r==o?t:void 0}},91925:(t,e,r)=>{r.d(e,{A:()=>u});var n=r(63784),i=r(1643),o=r(12205);let u=function(t){return(0,n.A)(t,o.A,i.A)}},92070:(t,e,r)=>{r.d(e,{A:()=>o});var n=r(71171),i=r(12205);let o=function(t){var e;return null==t?[]:(e=(0,i.A)(t),(0,n.A)(e,function(e){return t[e]}))}},93234:(t,e,r)=>{r.d(e,{A:()=>s});let n=function(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r};var i=r(9894),o=r(30469);let u=function(t,e,r,n,i){return i(t,function(t,i,o){r=n?(n=!1,t):e(r,t,i,o)}),r};var a=r(93894);let s=function(t,e,r){var s=(0,a.A)(t)?n:u,c=arguments.length<3;return s(t,(0,o.A)(e,4),r,c,i.A)}},93894:(t,e,r)=>{r.d(e,{A:()=>n});let n=Array.isArray},96858:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(){return[]}},97057:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},99051:(t,e,r)=>{r.d(e,{A:()=>n});let n=function(t){return t}},99309:(t,e,r)=>{r.d(e,{A:()=>c});var n=r(89184),i=r(85749),o=r(93894),u=r(80986),a=r(97057),s=r(82286);let c=function(t,e,r){e=(0,n.A)(e,t);for(var c=-1,l=e.length,f=!1;++c<l;){var h=(0,s.A)(e[c]);if(!(f=null!=t&&r(t,h)))break;t=t[h]}return f||++c!=l?f:!!(l=null==t?0:t.length)&&(0,a.A)(l)&&(0,u.A)(h,l)&&((0,o.A)(t)||(0,i.A)(t))}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1773],{64154:(e,t,n)=>{n.d(t,{B:()=>c,OS:()=>k,QV:()=>_,dc:()=>N,ju:()=>b,sc:()=>P,sv:()=>h,xY:()=>X});var r=n(61410),a=n(97411),i=n(52957),d=n(6171),o=n(68180),s=n(94268),l=n(1642),g=n(73084),u=n(41766);function c(e,{edgePathsClass:t="edges edgePaths"}={}){let n=e.insert("g").attr("class","root"),r=n.insert("g").attr("class","clusters"),a=n.insert("g").attr("class",t);return{clusters:r,edgePaths:a,edgeLabels:n.insert("g").attr("class","edgeLabels"),nodes:n.insert("g").attr("class","nodes"),rootGroups:n}}async function f(e,t,n){if(t.label){let{shapeSvg:r,bbox:a}=await (0,d.Zk)(e,void 0===n?t:{...t,width:n});t.labelBBox={width:a.width,height:a.height},r.remove()}else t.labelBBox={width:0,height:0}}async function h(e,t,n){let r=await (0,i.on)(e,t,n),a=r.node()?.getBBox()??{width:0,height:0};return t.width=a.width,t.height=a.height,r}function p(e,t,n){let r=e,a=new Set;for(;r;){if(r.dir)return r.dir;if(!r.parentId||a.has(r.parentId))break;a.add(r.parentId),r=t.get(r.parentId)}return n}async function w(e,t,r={}){let i=new u.T({multigraph:!0,compound:!0}),d=[...t.edges],o=(0,s.D7)(),l=c(e),{edgeLabels:g,nodes:b}=l,R=new Map,m=new Map(t.nodes.map(e=>[e.id,e])),v=t.direction,y=null!=e.node();for(let e of(await Promise.all(t.nodes.map(async e=>{if(e.isGroup){if(y){let t=r.unwrapGroupLabels&&"markdown"!==e.labelType;await f(b,e,t?1/0:void 0)}i.setNode(e.id,{...e})}else{if(y){let t=await h(b,e,{config:o,dir:p(e,m,v)});R.set(e.id,t)}i.setNode(e.id,{...e})}})),d))y&&(0,a.a6)(e)&&await (0,a.jP)(g,e),i.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await n.e(506).then(n.bind(n,506));r(e,t)}return{graph:i,groups:l,nodeElements:R}}(0,g.K)(c,"createLayoutElementGroups"),(0,g.K)(f,"measureGroupLabel"),(0,g.K)(h,"insertMeasuredNode"),(0,g.K)(p,"resolveNodeDir"),(0,g.K)(w,"createGraphWithElements");var b=new Map,R=new Map,m=new Map,v=(0,g.K)(()=>{R.clear(),m.clear(),b.clear()},"clear"),y=(0,g.K)((e,t)=>{let n=R.get(t)||[];return l.R.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),C=(0,g.K)((e,t)=>{let n=R.get(t)||[];return l.R.info("Descendants of ",t," is ",n),l.R.info("Edge is ",e),e.v!==t&&e.w!==t&&(n?n.includes(e.v)||y(e.v,t)||y(e.w,t)||n.includes(e.w):(l.R.debug("Tilt, ",t,",not in descendants"),!1))},"edgeInCluster"),K=(0,g.K)((e,t,n,r)=>{l.R.debug("Copying children of ",e,"root",r,"data",t.node(e),r);let a=t.children(e)||[];e!==r&&a.push(e),l.R.debug("Copying (nodes) clusterId",e,"nodes",a),a.forEach(a=>{if(t.children(a).length>0)K(a,t,n,r);else{let i=t.node(a);l.R.info("cp ",a," to ",r," with parent ",e),n.setNode(a,i),r!==t.parent(a)&&(l.R.debug("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(l.R.debug("Setting parent",a,e),n.setParent(a,e)):(l.R.info("In copy ",e,"root",r,"data",t.node(e),r),l.R.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));let d=t.edges(a);l.R.debug("Copying Edges",d),d.forEach(a=>{l.R.info("Edge",a);let i=t.edge(a.v,a.w,a.name);l.R.info("Edge data",i,r);try{C(a,r)?(l.R.info("Copying as ",a.v,a.w,i,a.name),n.setEdge(a.v,a.w,i,a.name),l.R.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):l.R.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",r," clusterId:",e)}catch(e){l.R.error(e)}})}l.R.debug("Removing node",a),t.removeNode(a)})},"copy"),E=(0,g.K)((e,t)=>{let n=t.children(e),r=[...n];for(let a of n)m.set(a,e),r=[...r,...E(a,t)];return r},"extractDescendants"),L=(0,g.K)((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),a=e.edges().filter(e=>e.v===n||e.w===n),i=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),d=a.map(e=>({v:e.v,w:e.w}));return i.filter(e=>d.some(t=>e.v===t.v&&e.w===t.w))},"findCommonEdges"),N=(0,g.K)((e,t,n)=>{let r,a=t.children(e);if(l.R.trace("Searching children of id ",e,a),a.length<1)return e;for(let e of a){let a=N(e,t,n),i=L(t,n,a);if(a)if(!(i.length>0))return a;else r=a}return r},"findNonClusterChild"),x=(0,g.K)(e=>b.has(e)&&b.get(e).externalConnections&&b.has(e)?b.get(e).id:e,"getAnchorId"),k=(0,g.K)((e,t)=>{if(!e||t>10)return void l.R.debug("Opting out, no graph ");for(let t of(l.R.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(l.R.debug("Cluster identified",t," Replacement id in edges: ",N(t,e,t)),R.set(t,E(t,e)),b.set(t,{id:N(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(l.R.debug("Cluster identified",t,R),r.forEach(e=>{y(e.v,t)^y(e.w,t)&&(l.R.debug("Edge: ",e," leaves cluster ",t),l.R.debug("Descendants of XXX ",t,": ",R.get(t)),b.get(t).externalConnections=!0)})):l.R.debug("Not a cluster ",t,R)}),b.keys())){let n=b.get(t).id,r=e.parent(n);r!==t&&b.has(r)&&!b.get(r).externalConnections&&(b.get(t).id=r);let a=e.edges().some(e=>e.v===t);if(n&&b.get(t)?.externalConnections&&a&&S(e,n,t)){let r=T(e,t,e.parent(n));r&&(b.get(t).id=r)}}e.edges().forEach(function(t){let n=e.edge(t);l.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),l.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,a=t.w;if(l.R.debug("Fix XXX",b,"ids:",t.v,t.w,"Translating: ",b.get(t.v)," --- ",b.get(t.w)),b.get(t.v)||b.get(t.w)){if(l.R.debug("Fixing and trying - removing XXX",t.v,t.w,t.name),r=x(t.v),a=x(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let a=e.parent(r);b.get(a).externalConnections=!0,n.fromCluster=t.v}if(a!==t.w){let r=e.parent(a);b.get(r).externalConnections=!0,n.toCluster=t.w}l.R.debug("Fix Replacing with XXX",r,a,t.name),e.setEdge(r,a,n,t.name)}}),I(e,0),l.R.trace(b)},"adjustClustersAndEdges"),I=(0,g.K)((e,t)=>{if(t>10)return void l.R.error("Bailing out");let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r)return void l.R.debug("Done, no node has children",e.nodes());for(let r of(l.R.debug("Nodes = ",n,t),n))if(l.R.debug("Extracting node",r,b,b.has(r)&&!b.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),b.has(r))if(!b.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){l.R.debug("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";b.get(r)?.clusterData?.dir&&(n=b.get(r).clusterData.dir,l.R.debug("Fixing dir",b.get(r).clusterData.dir,n));let a=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});K(r,e,a,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:b.get(r).clusterData,label:b.get(r).label,graph:a})}else l.R.debug("Cluster ** ",r," **not meeting the criteria !externalConnections:",!b.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),l.R.debug(b);else l.R.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),l.R.debug("New list of nodes",n),n)){let n=e.node(r);l.R.debug(" Now next level",r,n),n?.clusterNode&&I(n.graph,t+1)}},"extractor"),D=(0,g.K)((e,t)=>{if(0===t.length)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=e.children(t),a=D(e,r);n=[...n,...a]}),n},"sorter"),P=(0,g.K)(e=>D(e,e.children()),"sortNodesByHierarchy"),S=(0,g.K)((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=b.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},"isNodeInExtractableCluster"),T=(0,g.K)((e,t,n)=>{for(let r of e.children(t)??[]){if(r===n||y(r,n))continue;let a=N(r,e,t);if(a&&!S(e,a,t))return a}return null},"findSafeAnchorNode");function X({prepareLayout:e,measureLayout:t,runLayoutCore:n,paintLayout:r,afterPaint:i,paintOptions:d}){let o=t??_;return(0,g.K)(async function(t,s,l,g){let u=s.select("g");(l?.insertMarkers??a.g0)(u,t.markers,t.type,t.diagramId),B();let c={element:u,helpers:l,options:g};c.preparedLayout=await e?.(t,c);let f=await o(t,c),h=await n(t,c),p={...c,measure:f};r?await r(t,p,h):await M(t,p,d),await i?.(t,p,h)},"render")}function B(){(0,i.IU)(),(0,a.IU)(),(0,r.IU)(),v()}async function _(e,{element:t},n){return await w(t,e,n)}async function M(e,t,n={}){let{measure:r}=t,{groups:a}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await G(a,r,t,n);let i=U(e.nodes);for(let r of e.edges)j(r,n)||await A(a,r,i,e,n,t)}async function G(e,t,n,a){t.clusterNode?(0,i.U_)(t):O(t,n,a)?await (0,r.U)(e.clusters,t):(0,i.U_)(t)}function O(e,t,n){return!0===e.isGroup&&(n.isCluster?.(e,t)??!0)}function U(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}function j(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}async function A(e,t,n,r,i,d){let o=(0,a.Jo)(e.edgePaths,{...t},i.clusterDb??new Map,r.type,F(t.start,t,n,d,i),F(t.end,t,n,d,i),r.diagramId,$(t,i));(0,a.a6)(t)&&(a.lP.has(t.id)||await (0,a.jP)(e.edgeLabels,t),J(t,o))}function F(e,t,n,r,a){return a.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}function $(e,t){return"function"==typeof t.skipIntersect?t.skipIntersect(e):t.skipIntersect??!1}function J(e,t){let n=t?.updatedPath??t?.originalPath,r=(0,s.zj)(),{subGraphTitleTotalMargin:d}=(0,i.Oi)({flowchart:r.flowchart??{}});if(e.label){let n=a.lP.get(e.id),{x:r,y:i}=(0,a.Pk)(e,t);n.attr("transform",`translate(${r}, ${i+d/2})`)}for(let[t,r]of[["startLeft",e.startLabelLeft],["startRight",e.startLabelRight],["endLeft",e.endLabelLeft],["endRight",e.endLabelRight]])if(r){let{x:r,y:i}=Q(e,t,n);a.UQ.get(e.id)[t].attr("transform",`translate(${r}, ${i})`)}}(0,g.K)(X,"createCommonLayoutRenderer"),(0,g.K)(B,"clearLayoutRenderState"),(0,g.K)(_,"defaultMeasureLayout"),(0,g.K)(M,"paintLayoutData"),(0,g.K)(G,"paintLayoutNode"),(0,g.K)(O,"shouldPaintAsCluster"),(0,g.K)(U,"buildNodeLookup"),(0,g.K)(j,"shouldSkipPaintEdge"),(0,g.K)(A,"paintLayoutEdge"),(0,g.K)(F,"getRenderedNode"),(0,g.K)($,"shouldSkipIntersect"),(0,g.K)(J,"positionRenderedEdgeLabel");var z={startLeft:"start_left",startRight:"start_right",endLeft:"end_left",endRight:"end_right"};function Q(e,t,n){let r=e.terminalLabelCenters?.[t];if(r)return{...r};if(!n)return{x:e.x,y:e.y};let a=t.startsWith("start")?e.arrowTypeStart:e.arrowTypeEnd;return o._K.calcTerminalLabelPosition(10*!!a,z[t],n)}(0,g.K)(Q,"terminalLabelTranslate")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1974],{46618:(e,o,l)=>{l.d(o,{M1:()=>p,Qj:()=>c,tI:()=>s});var t=l(57865),i=l(20381),a=l(36171),n=l(4710);let r=(0,i.createContext)(null);function s(e){let{client:o,queryClient:l,defaultStaleTimeMs:s,children:p}=e,c=(0,i.useMemo)(()=>null!=l?l:new a.E({defaultOptions:{queries:{staleTime:null!=s?s:2e3,refetchOnWindowFocus:!1}}}),[l,s]);return(0,t.jsx)(r.Provider,{value:o,children:(0,t.jsx)(n.Ht,{client:c,children:p})})}function p(){let e=(0,i.useContext)(r);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function c(){return(0,i.useContext)(r)}},87824:(e,o,l)=>{l.d(o,{Hw:()=>T,vm:()=>j,f4:()=>P,OE:()=>M,Ue:()=>U,wu:()=>S,HW:()=>H,Ye:()=>L});var t=l(94146),i=l(53583),a=l(86750),n=l(57300),r=l(71994),s=l(23307),p=l(8029),c=l(70788),u=l(10825),h=l(16590),d=l(24427),b=l(91751),w=l(74506),f=l(11677),g=l(76547),k=l(8857),v=l(46169),m=l(26326),y=l(2202),A=l(54138),O=l(73597),C=l(6919),R=l(3791),x=l(95380);let T=[{id:"today",label:"오늘",icon:t.A,bottomTab:!0},{id:"talk",label:"대화",icon:i.A,bottomTab:!0},{id:"work",label:"일",icon:a.A,bottomTab:!0},{id:"make",label:"만들기",icon:n.A,bottomTab:!0},{id:"files",label:"자료",icon:r.A,bottomTab:!1},{id:"settings",label:"설정",icon:s.A,bottomTab:!1},{id:"ops",label:"운영\uD83D\uDD12",icon:p.A,bottomTab:!1}];function L(e,o){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"owner",t=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0,a=e=>{var o;return null!=(o=e.visibility)?o:"public"},n=e.filter(e=>"ops"===e.group?t:(0,x.EX)(l,e.href,i));return{main:n.filter(e=>"ops"===e.group||"public"===a(e)),labs:o.showLabs?n.filter(e=>"ops"!==e.group&&"labs"===a(e)):[],hidden:o.showHidden?n.filter(e=>"ops"!==e.group&&"hidden"===a(e)):[]}}let P="elanous.nav.showLabs",j="elanous.nav.showHidden";function E(e){return e.split(/[?#]/,1)[0]||"/"}function S(e){return E(e)!==e}function W(e,o){let l=new URLSearchParams(o);for(let[o,t]of new URLSearchParams(e.slice(e.indexOf("?")+1)))if(l.get(o)!==t)return!1;return!0}function H(e,o,l,t){var i;let a=E(e.href);return!!("/"===a?"/"===o:o===a||o.startsWith(a+"/")||(null!=(i=e.activeAlso)?i:[]).some(e=>o===e||o.startsWith(e+"/")))&&(S(e.href)?o===a&&W(e.href,l):!t.some(t=>t!==e&&S(t.href)&&E(t.href)===o&&W(t.href,l)))}let M=[{href:"/share",category:"system-share-target",reason:"운영체제가 공유 동작으로 호출하는 Share Target 진입점."},{href:"/missions",category:"dynamic-route-parent",reason:"`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다."},{href:"/setup",category:"provider-onboarding",reason:"LLM provider 온보딩 진입점."},{href:"/setup/done",category:"provider-onboarding-complete",reason:"LLM provider 온보딩 완료 화면."},{href:"/settings/devices",category:"settings-subpage",reason:"Settings 아래 Device fleet 하위 화면."},{href:"/workflows",category:"workflow-legacy-redirect",reason:"기존 워크플로 링크를 /editor?mode=workflow 로 전달한다."},{href:"/workflows/chat-ui",category:"workflow-subflow",reason:"Workflows에서 여는 hosted chat 하위 흐름."},{href:"/",category:"root-welcome",reason:"첫 방문자를 위한 루트 welcome 화면."},{href:"/404",category:"error-page",reason:"오류 페이지."},{href:"/decisions",category:"operator-direct-link",reason:"대표 결정 화면(OPS-BOARD #24604) — /ceo 「결정 대기 카드」에서 들어간다(메뉴엔 /ceo 만)."},{href:"/consult",category:"contact-form",reason:"AX 도입 상담\xb7과정 문의를 접수하는 입력 화면(CS1 \xb7 #22436)."},{href:"/morning",category:"unwired-screen",reason:"부르는 백엔드가 아직 없는 미배선 화면."},{href:"/inside",category:"beta-direct-link",reason:"시연자가 주소로 여는 엘라누스 안쪽 장면 지도(메뉴에는 노출하지 않음)."},{href:"/botlab",category:"diagnostic-readonly",reason:"봇 화면 \xab벽\xbb을 한 자리에서 보는 읽기 진단 화면(#15390 \xb7 봇 운영자용)."}],U=[{group:"today",href:"/today",label:"오늘",hint:"결정 대기 \xb7 맡긴 일 \xb7 최근 대화",icon:t.A,kind:null},{group:"today",href:"/approvals",label:"승인 대기",hint:"아이디어 PR 요약 \xb7 승인하고 머지",icon:c.A,kind:null},{group:"today",href:"/intake",label:"넣기",hint:"넣으면 흡수 \xb7 작업 \xb7 그래프로 (URL \xb7 미션 \xb7 메모)",icon:t.A,kind:null},{group:"talk",href:"/chat",label:"채팅",hint:"채팅 (스트리밍 \xb7 multimodal \xb7 mic)",icon:i.A,kind:"chat"},{group:"talk",href:"/exec",label:"COO 에게 맡기기",hint:"COO 에게 맡기기 \xb7 맡긴 일",icon:u.A,kind:null},{group:"work",href:"/autopilot",label:"미션",hint:"미션 \xb7 작업 (미션 계보\xb7골 던지기\xb7작업 보드\xb7자율행동)",icon:a.A,kind:null,activeAlso:["/tasks","/missions"]},{group:"work",href:"/outputs",label:"산출물",hint:"엘라누스가 만든 문서 \xb7 슬라이드 \xb7 보고서 \xb7 영상",icon:h.A,kind:null},{group:"work",href:"/scheduler",label:"예약",hint:"예약 잡 종합 현황 (크론\xb7데몬\xb7launchd)",icon:d.A,kind:null},{group:"work",href:"/live",label:"Live",hint:"런이 판단\xb7기획하는 신호 (진짜 수 \xb7 쇼 모드)",icon:b.A,kind:null},{group:"work",href:"/trace",label:"Trace",hint:"렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)",icon:w.A,kind:null},{group:"work",href:"/live-run",label:"런 장면",hint:"하니스 런 하나가 도는 장면 — 노드\xb7간선 (라이브 \xb7 리플레이)",icon:f.A,kind:null},{group:"make",href:"/term",label:"터미널",hint:"터미널 + agent dock",icon:n.A,kind:"term"},{group:"make",href:"/editor",label:"그래프",hint:"그래프 작성\xb7편집 — 작업 노드 \xb7 실행 단계 노드",icon:f.A,kind:null,activeAlso:["/workflows"]},{group:"make",href:"/design-check",label:"디자인",hint:"디자인 시스템 고르기 \xb7 시안 \xb7 URL 로 내 시스템",icon:g.A,kind:null},{group:"make",href:"/workspace",label:"여러 탭",hint:"여러 탭 동시 보기",icon:h.A,kind:null,visibility:"labs"},{group:"files",href:"/vault",label:"Obsidian 노트",hint:"Vault — Obsidian 노트 (브라우저\xb7에디터\xb7검색\xb7그래프)",icon:r.A,kind:null},{group:"files",href:"/field",label:"현장 올리기",hint:"현장 올리기 \xb7 사진과 메모",icon:t.A,kind:null},{group:"files",href:"/market",label:"마켓",hint:"플러그인 찾아보기 \xb7 상세 \xb7 설치됨",icon:k.A,kind:null},{group:"settings",href:"/settings",label:"설정",hint:"환경 + provider + theme",icon:s.A,kind:"settings"},{group:"ops",href:"/ceo",label:"대표 조망판",hint:"판 진행 \xb7 루프 판정 \xb7 결정 대기 \xb7 오늘 병합",icon:v.A,kind:null},{group:"ops",href:"/loops",label:"루프 현황",hint:"루프\xb7크론 발화 상태 (읽기 전용 \xb7 beta)",icon:b.A,kind:null},{group:"ops",href:"/loops?view=interact",label:"루프 상호작용",hint:"자리\xb7루프\xb7런 사이 실제 사건 지도 (?journey=<카드> 여정 \xb7 실시간)",icon:m.A,kind:null},{group:"ops",href:"/ops/release",label:"릴리스",hint:"판 진행 노드 줄 \xb7 로그 꼬리",icon:f.A,kind:null},{group:"ops",href:"/ops/checklist",label:"판별 피처",hint:"확인표 칸 목록 \xb7 상태 \xb7 담당 \xb7 근거",icon:c.A,kind:null},{group:"ops",href:"/ops/seats",label:"자리 현황",hint:"자리별 지금 일 \xb7 착지 \xb7 막힘 \xb7 결정 대기(?capture=public 공개 시연)",icon:y.A,kind:null},{group:"ops",href:"/bots",label:"봇",hint:"봇 신원 + 공통 명령 카탈로그 (읽기 전용)",icon:u.A,kind:null,visibility:"hidden"},{group:"ops",href:"/observatory",label:"관측",hint:"subject 관측 (talk \xb7 screen \xb7 agent)",icon:A.A,kind:null,visibility:"hidden"},{group:"ops",href:"/worktrees",label:"작업 트리",hint:"격리 작업 트리 목록\xb7상태",icon:f.A,kind:null,visibility:"hidden"},{group:"ops",href:"/control",label:"제어",hint:"데몬 제어 패널",icon:p.A,kind:"control",visibility:"hidden"},{group:"work",href:"/tasks",label:"Tasks",hint:"작업 보드 (Missions 안 ② 작업)",icon:O.A,kind:"tasks",visibility:"hidden"},{group:"work",href:"/board",label:"보드",hint:"태스크 카드 흐름 (스튜어드 → 실행 → 착지 → 릴리스)",icon:O.A,kind:null,visibility:"labs"},{group:"work",href:"/sessions",label:"대화 카드",hint:"대화 카드 데크 (스와이프 결정)",icon:C.A,kind:null,visibility:"hidden"},{group:"today",href:"/reflection",label:"Reflection",hint:"오늘의 회고 (5분 갱신)",icon:R.A,kind:null,visibility:"hidden"},...[].map(e=>{var o;return{...e,group:null!=(o=e.group)?o:"files"}}),{group:"make",href:"/showroom",label:"Showroom",hint:"multi-agent 동시 비교 (broadcast \xb7 CV-3)",icon:v.A,kind:null,visibility:"labs"}]},89570:(e,o,l)=>{l.d(o,{AF:()=>t});let t={all:["nexus"],health:()=>[...t.all,"health"],snapshot:()=>[...t.all,"snapshot"],tabs:e=>e?[...t.all,"tabs",{kind:e}]:[...t.all,"tabs"],tab:e=>[...t.all,"tab",e],templates:()=>[...t.all,"templates"],template:e=>[...t.all,"template",e],config:()=>[...t.all,"config"],switches:()=>[...t.all,"switches"],switch:e=>[...t.all,"switch",e],secrets:()=>[...t.all,"secrets"],bindingChannels:()=>[...t.all,"bindings","channels"],bindings:e=>[...t.all,"bindings",e],binding:(e,o)=>[...t.all,"binding",e,o],logsTail:(e,o)=>o?[...t.all,"logs",e,{lines:o}]:[...t.all,"logs",e],workflows:()=>[...t.all,"workflows"],workflow:e=>[...t.all,"workflow",e],workflowRun:e=>[...t.all,"workflow-run",e],workflowRuns:()=>[...t.all,"workflow-runs"],pendingApprovals:()=>[...t.all,"workflow-pending-approvals"],platforms:()=>[...t.all,"platforms"],providers:()=>[...t.all,"providers"],worktrees:()=>[...t.all,"worktrees"],designCheck:()=>[...t.all,"design-check"],designPreviews:()=>[...t.all,"design-previews"],designPreview:e=>[...t.all,"design-preview",e],registryCatalog:()=>[...t.all,"registry-catalog"],resolvedView:()=>[...t.all,"resolved-view"]};t.snapshot(),t.tabs(),t.health(),t.snapshot(),t.config(),t.switches()},95380:(e,o,l)=>{l.d(o,{dY:()=>n,EX:()=>r});let t={pwaRoute:{"/":{pwa:"stable"},"/404":{pwa:"stable"},"/setup":{pwa:"stable"},"/setup/done":{pwa:"stable"},"/consult":{pwa:"stable"},"/chat":{pwa:"stable"},"/today":{pwa:"stable"},"/term":{pwa:"stable"},"/live":{pwa:"stable"},"/live-run":{pwa:"beta"},"/market":{pwa:"stable"},"/sessions":{pwa:"stable"},"/settings":{pwa:"beta"},"/editor":{pwa:"stable"},"/intake":{pwa:"beta"},"/trace":{pwa:"beta"},"/inside":{pwa:"beta"},"/board":{pwa:"beta"},"/autopilot":{pwa:"beta"},"/missions/[id]":{pwa:"beta"},"/tasks":{pwa:"beta"},"/workspace":{pwa:"beta"},"/reflection":{pwa:"beta"},"/vault":{pwa:"beta"},"/observatory":{pwa:"beta"},"/exec":{pwa:"beta"},"/outputs":{pwa:"beta"},"/field":{pwa:"beta"},"/showroom":{pwa:"beta"},"/workflows":{pwa:"beta"},"/approvals":{pwa:"tool"},"/worktrees":{pwa:"tool"},"/design-check":{pwa:"tool"},"/control":{pwa:"tool"},"/scheduler":{pwa:"ops"},"/loops":{pwa:"beta"},"/ops/release":{pwa:"ops"},"/ops/seats":{pwa:"ops"},"/ops/checklist":{pwa:"ops"},"/ceo":{pwa:"ops"},"/decisions":{pwa:"ops"},"/dashboard":{pwa:"ops"},"/pitch":{pwa:"ops"},"/bots":{pwa:"ops"},"/botlab":{pwa:"ops"},"/morning":{pwa:"broken"},"/settings/devices":{pwa:"broken"},"/workflows/chat-ui":{pwa:"broken"},"/share":{pwa:"system"}}},i=Object.fromEntries(Object.entries(t.pwaRoute).map(e=>{let[o,l]=e;return[o,l.pwa]}));function a(e){var o;let l=(null==(o=e.split(/[?#]/,1)[0])?void 0:o.replace(/\/+$/,""))||"/";return Object.prototype.hasOwnProperty.call(i,l)?l:l.startsWith("/missions/")&&-1===l.slice(10).indexOf("/")?"/missions/[id]":l}function n(e){let o=a(e);return Object.prototype.hasOwnProperty.call(i,o)?i[o]:void 0}function r(e,o,l){let i=a(o);if("general"===e&&(null==l?void 0:l.showBeta)&&"beta"===n(i))return!0;let r=function(e,o){var l;if(!Object.prototype.hasOwnProperty.call(t.pwaRoute,e))return;let i=t.pwaRoute[e];return null!=(l=i.pwa)?l:"desktop"===o?i.pwa:void 0}(i,"pwa");return!!r&&("owner"===e||"system"!==r&&("/settings"===i||"stable"===r||"contributor"===e&&("beta"===r||"tool"===r)))}}}]);
|