elanous 0.2.23 → 0.2.25
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/chunks/1027.a0f04663d24c2779.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1038.676007ae505822e7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1113.a37eadf7f740d955.js +1 -0
- package/apps/pwa/out/_next/static/chunks/112-fa7c526c20ce1405.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1144.5fa1fa1d48dbcd12.js +36 -0
- package/apps/pwa/out/_next/static/chunks/1146.80d15ea7c6e6ee95.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1157.f08bf2b70915e176.js +148 -0
- package/apps/pwa/out/_next/static/chunks/119b405e.8fdd0e44d1ff37aa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1296.04560d98e73fbf51.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1314-f604ba013ec535b0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1454-37fd16f479f5554a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1464.f3209af0d8ae4ff2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8532.a86e99acf9b761cb.js → 1516.83dd2c1b86b4e507.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/{89849432.9eaa2f4c9c010965.js → 16e57f67.3ea19e893461e611.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/1729-d73dd25e564679d4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1505.5826671109111e75.js → 1743.563d3168e95825ef.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/1843.5924c24295243261.js +27 -0
- package/apps/pwa/out/_next/static/chunks/1987.e28149724b92918b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2066-5ca18ffa5a4be68b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2240.d10a66695155fd93.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2391.e2cbc98d4abbb41a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2528.3868070ef1be69f9.js +24 -0
- package/apps/pwa/out/_next/static/chunks/2566-734cb83bbd405886.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2697.76ca2ac3efef6f3b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/275.0e6bad414729bfa0.js +32 -0
- package/apps/pwa/out/_next/static/chunks/2803-33bdae771855a8d1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2846.d6a433b8663819a5.js +309 -0
- package/apps/pwa/out/_next/static/chunks/3143.257997a5f1ed79df.js +34 -0
- package/apps/pwa/out/_next/static/chunks/{5967-c0a80f8ffe5d4050.js → 3259-86f3be56e43eaf6a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3280-e177c33bfbdcfb0a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3294-2b6a6d45a46a6c1c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3309.364573ceedbdfd5f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3522.758840fc5e7fe630.js +287 -0
- package/apps/pwa/out/_next/static/chunks/3525-a7c989c1a661e880.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3694.b1a66387756458c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/370.124f9e678a76fc01.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3797-9643105335e660fe.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5578.ac963634373b28c6.js → 4084.15ecaf4240bd9e77.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/4089-b3382b8843114eee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8438.ee7f0df3b3f6fcb4.js → 4204.a409ab6250c0f6a8.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4293.928a8d573c16aab7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4402.f9238a3b18a7bd43.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4490-9b090b0f9427f902.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4548.13502d0ca3b4f862.js +8 -0
- package/apps/pwa/out/_next/static/chunks/4565-67e4c620597965c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7905.b230b9d06cb4ad5d.js → 4593.10f5b9bd702d4a6c.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4599-548bc96cda44a5a7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4625.206574e33a9e7ae8.js +104 -0
- package/apps/pwa/out/_next/static/chunks/4862-392c9a71f0d8dfb4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5054.2906d1b02542edc5.js +149 -0
- package/apps/pwa/out/_next/static/chunks/{8569.b853a8daa8f31d12.js → 5081.a240b63fad28663a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5102-c822bbbee5a022a4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5194-8c93f2e7e4b6f717.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5305-bacd7eca0b9a5848.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5311.9071ee3f44fd7ff5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5369.9f34353442daa421.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2528.0af5c0e1fad88df6.js → 5408.377c8c543635b81f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9502-32c5dc22e8f120f5.js → 5492-e05e26a033ba80d2.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/5785-ea8d2c633b6688e3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/589-49d730cb8138b397.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5904-264a6412ae3c9028.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5980.728531d5c566535c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/599-a914cc0468f56143.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6011.f525002e21bef0ac.js +23 -0
- package/apps/pwa/out/_next/static/chunks/6132.4381ab93683f1acf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6149.2e698635e454d8f6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5974.360f8441eb0ac1ec.js → 6196.34d6b229079e9e28.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6356-0afafc4230cf9767.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6406.64756073f7df35b8.js +77 -0
- package/apps/pwa/out/_next/static/chunks/6479-16e62aedafa0e310.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6599.b5246b46a2453329.js +64 -0
- package/apps/pwa/out/_next/static/chunks/{ce383d63.d2ede338788ed18e.js → 65ebff95.081daeff622d238e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6610.5c26eec011565acb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/666.37d18474edc1c552.js +2 -0
- package/apps/pwa/out/_next/static/chunks/6904.a0b5b1ed4f2d2c20.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{83cfc5c8.349535543c1548b6.js → 6def8a8e.c81f9ca41028eccf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7247-1f4aba94aba50d9f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7274-e71a7c5b7760cd02.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7290.1fcaeef3adb5d0d4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7477-2c64e42760f82f33.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2721.bc9a8f36bd85c07a.js → 7483.ba01c6c209b81bba.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7505-47002b76ff1aef6c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7600-11884ca4da68e5d9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7607.40d8bb3689697ccb.js +62 -0
- package/apps/pwa/out/_next/static/chunks/{6702.ebbd165d5e4a4a14.js → 7752.5cbdd0b433c54af9.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7763.f51fcc19ca1414ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7785.846140c859b1adf6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7807-a0fdac6393e0bf36.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7837-20a63b4b7e9342b1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/800.7815414cf280545d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8925-2abfb48af477fb7f.js → 8085-1e5fce59500a2cc2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8100.415f2105faa63e97.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8290.701aa42ed13aa767.js +226 -0
- package/apps/pwa/out/_next/static/chunks/{b4e12462-5fab4a813a63dadd.js → 83a80514-b897b64df43ce108.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8444.d9c74214a3145a43.js +93 -0
- package/apps/pwa/out/_next/static/chunks/8569.98c915534928c7f9.js +24 -0
- package/apps/pwa/out/_next/static/chunks/{8264.00e434fbd02e9311.js → 8578.dff22d988cc2b106.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/8591.b1c7f876e5ec7cfb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8715-f63756021d3ab989.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8879.776c2ec7732aa114.js +115 -0
- package/apps/pwa/out/_next/static/chunks/8881.ddca15b3c82c490c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8946.5da5c87f32a2e1a8.js +41 -0
- package/apps/pwa/out/_next/static/chunks/9117.080b9b75be90e14d.js +74 -0
- package/apps/pwa/out/_next/static/chunks/9167.f3ecb28f367d6e69.js +94 -0
- package/apps/pwa/out/_next/static/chunks/9224.66095370ee28c93b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9238-0682b013c83d6449.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7518.49161e8f5814abdb.js → 9311.24c8f5ea793253dd.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9976.8f28864317639fe6.js → 94.4cfed21c0b781a06.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/9449.d3ed795da4befb1c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/949.1e7d45ccb71580aa.js +90 -0
- package/apps/pwa/out/_next/static/chunks/9638-d268329f2c6f4f8d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{0e3acd34.d42b2ef87fdf4234.js → 973cbf1b.3bbcf2b41548eca7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9842-d6644eb53d3dc6bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9863.94ca3263e760696e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6571-926ddf024a6ad5df.js → 9917-9e26abc5f7772735.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9938.b23e4d4dfa0114cd.js +79 -0
- package/apps/pwa/out/_next/static/chunks/{740.90b31555290236a9.js → 9974.e77b4ff4884557b3.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/{4c5e95ce.83e9b16add6fcd8c.js → ab4d57c2.e90bc2cb31949045.js} +7 -7
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-d9babd8795f396a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-9360b1285b2a346e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-f08f6529d09ffae1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-f000d54d258f9ef6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/{page-ad3bd8084048bee4.js → page-b12149c51f7d04b1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-22f674e7e4c2c9d5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-8888733e40cea6d1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-9717ec6964b92276.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-44eaad486bc98a45.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-97fa6cf3d34c7eb9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-305cd294e754906e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/{page-a648bc464c9dc754.js → page-dea4b795741126fd.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-35e05d7450461a67.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-45889e7070d11126.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-16a2e893f83ae4d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-d9babd8795f396a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-b2638013c0bf7dfd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-56888bc744e08dac.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-c44f93a41167536f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-952c6ceec6d9de38.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-6d0202af568f4c63.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-1b810474507f3702.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-74366ae2693a7d95.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-4fb6fc34e20c07b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-e9502921f4f01b1f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-b6169ea2f09cf287.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-6a14333d1b1b3967.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-8c91a9a66c9ec90a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/{page-48fb31810693c357.js → page-4e634c5b98fd4e93.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-ed3070d637850548.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/{page-cb154acadb025414.js → page-b9cc8a10bc6078b4.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/page-3d3fc73dd187ed52.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-128458c8d86fbb5f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-9c04dac0831c2bbb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-cf0c2b0183991d09.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-04de9ca6d52a3893.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-62527677bbc2fdc4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-9a2e09c4a311764c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-d9babd8795f396a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-bfeb35d69e8b24bb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-89cb33bced824e4a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-b008aff96be56654.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-814394dcbae789b1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-6a87325c87f09dd2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-6445ac4cbb8dd869.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-852170303c6cd755.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-087ceeb975ef272b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-97c7361cc2a19319.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-20162174b77f96cf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-8c6901833f897496.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-05a4b2c9b91034aa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/dcf24383-2f82e35f2d827393.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{53746282.1be36038d1abd949.js → e117f801.e92bf10242653497.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/e87d89b9.2e71c0ae475d28a1.js +122 -0
- package/apps/pwa/out/_next/static/chunks/{0673cc54.8e2ef1c23e49e190.js → f4dfbfc0.a69fb12f854882aa.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-bf135b997155e90e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-5571537543bea91c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-25c51c7df7f3a442.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-e3b2c1f5d82abd65.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-083f2e23e9bc3641.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-e94d22b7a028217b.js +1 -0
- package/apps/pwa/out/_next/static/css/72becfd42807b50d.css +1 -0
- package/apps/pwa/out/_next/static/{rfkMm4movqkqMebBrCXiR → dRS6lEhSRRBr1abbzp7fJ}/_buildManifest.js +1 -1
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +23 -23
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +23 -23
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +23 -23
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +22 -22
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +22 -22
- package/apps/pwa/out/ceo/index.html +1 -1
- package/apps/pwa/out/ceo/index.txt +23 -23
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +22 -22
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +23 -23
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +23 -23
- package/apps/pwa/out/decisions/index.html +1 -1
- package/apps/pwa/out/decisions/index.txt +22 -22
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +23 -23
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +23 -23
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +23 -23
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +23 -23
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +22 -22
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +22 -22
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +23 -23
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +23 -23
- package/apps/pwa/out/live-run/index.html +1 -1
- package/apps/pwa/out/live-run/index.txt +23 -23
- package/apps/pwa/out/loops/index.html +1 -1
- package/apps/pwa/out/loops/index.txt +22 -22
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +22 -22
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +22 -22
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +23 -23
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +23 -23
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +22 -22
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +22 -22
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +22 -22
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +22 -22
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +23 -23
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +23 -23
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +22 -22
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +23 -23
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +23 -23
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +23 -23
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +23 -23
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +23 -23
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +22 -22
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +23 -23
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +23 -23
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +23 -23
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +23 -23
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +23 -23
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +23 -23
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +23 -23
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +23 -23
- package/catalog/models/openrouter/deepseek-v4-pro-0813.yaml +39 -0
- package/catalog/models/openrouter/deepseek-v4.1-flash.yaml +38 -0
- package/catalog/models/openrouter/glm-5.3-flash.yaml +35 -0
- package/catalog/providers/openrouter.yaml +2 -0
- package/graphs/implement-loop.yaml +31 -0
- package/graphs/ops/harness-gc.yaml +17 -0
- package/graphs/ops/recipes.yaml +3 -0
- package/graphs/overlays/README.md +1 -1
- package/graphs/overlays/stop-heal-ladder.yaml +105 -0
- package/graphs/release/release-loop.yaml +5 -5
- package/graphs/steward/recipes.yaml +4 -0
- package/graphs/steward/steward.yaml +10 -1
- package/package.json +1 -1
- package/scripts/add-api-key.sh +1 -1
- package/scripts/bench-report.ts +46 -1
- package/scripts/ci-typecheck-changed.ts +73 -14
- package/scripts/fleet/bedrock-pod-secret.ts +122 -0
- package/scripts/fleet/node-setup-linux.sh +97 -0
- package/scripts/fleet/node-setup.sh +11 -0
- package/scripts/fleet/zai-pod-secret.ts +86 -0
- package/scripts/land-global-checks.ts +3 -0
- package/scripts/measure-log-diet-2.ts +213 -0
- package/scripts/measure-tsc-affected-roots.ts +289 -0
- package/scripts/release-loop/auto-approve-node.ts +6 -0
- package/scripts/release-loop/gate-closure.ts +286 -0
- package/scripts/release-loop/gate-executor.ts +28 -0
- package/scripts/release-loop/gate-node.ts +333 -37
- package/scripts/release-loop/gate-partial.ts +34 -6
- package/scripts/release-loop/ops-upgrade-node.ts +63 -42
- package/scripts/release-loop/publish-node.ts +6 -0
- package/scripts/release-loop/resume-release.ts +46 -13
- package/scripts/release-loop/resume.ts +110 -4
- package/scripts/release-loop/unattended-release.ts +22 -7
- package/scripts/tsc-baseline-cache.ts +172 -0
- package/scripts/usage-rollup.ts +72 -6
- package/scripts/ux-sim.ts +30 -1
- package/skills/youtube-master/scripts/main.ts +4 -1
- package/skills/youtube-master/src/obsidian.ts +9 -0
- package/src/agent/run-context.ts +10 -0
- package/src/agent-mission/driver.ts +18 -3
- package/src/agent-mission/resource-ladder.ts +8 -3
- package/src/agent-mission/review-loop.ts +8 -2
- package/src/agent-substrate/acp-implementer.ts +146 -0
- package/src/agent-substrate/pr-reviewer.ts +60 -13
- package/src/agent-substrate/self-review-cli.ts +170 -15
- package/src/autopilot/mission-critique.ts +18 -5
- package/src/autopilot/mission-feasibility-negotiate.ts +11 -10
- package/src/autopilot/mission-trace.ts +12 -1
- package/src/autopilot/system-lookback-run.ts +16 -10
- package/src/bench/bench.ts +183 -0
- package/src/budget/cost-tier-advisor.ts +91 -0
- package/src/budget/fetchers/grok.ts +15 -5
- package/src/budget/llm-cost.ts +37 -5
- package/src/budget/shadow-arms.ts +77 -0
- package/src/budget/types.ts +10 -2
- package/src/budget/unified-usage.ts +256 -10
- package/src/cli/bench-cli.ts +34 -0
- package/src/cli/doctor-cli.ts +21 -0
- package/src/cli/friendly-errors.ts +113 -0
- package/src/cli/guardian-cli.ts +26 -1
- package/src/cli/image-cli.ts +101 -0
- package/src/cli/intake-cli.ts +3 -1
- package/src/cli/log-event-names.ts +4 -0
- package/src/cli/memory-cli.ts +182 -0
- package/src/cli/model-watch-cli.ts +4 -1
- package/src/cli/pr-cli.ts +62 -5
- package/src/cli/pr-land-overlap-evidence.ts +160 -12
- package/src/cli/pr-land-pod-shadow.ts +54 -0
- package/src/cli/release-cli.ts +27 -16
- package/src/cli/release-run-if-ready.ts +11 -0
- package/src/cli/resource-cli.ts +48 -0
- package/src/cli/retro-cli.ts +12 -3
- package/src/cli/rfc-status.ts +52 -2
- package/src/cli/seat-requests-cli.ts +25 -0
- package/src/cli/self-update.ts +104 -0
- package/src/cli/tasks-cli.ts +139 -10
- package/src/cli/usage-cli.ts +93 -8
- package/src/compact/verify-probe.ts +23 -3
- package/src/context-card/index.ts +50 -0
- package/src/control/control-status.ts +30 -1
- package/src/core-turn/run-goal-loop.ts +5 -4
- package/src/dashboard/ad-run-setup-bindings.ts +279 -0
- package/src/dashboard/index.ts +18 -276
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +4 -138
- package/src/dashboard/slash-runtime/shell-slash.ts +145 -0
- package/src/dashboard/stale-install-check.ts +11 -0
- package/src/debug/log-diet.ts +53 -10
- package/src/debug/log.ts +19 -1
- package/src/domains/morning-essential.ts +18 -3
- package/src/domains/release-tool.ts +43 -0
- package/src/error-report/report.ts +21 -4
- package/src/execution-loop/launch-gate.ts +158 -2
- package/src/fleet/host-doctor.ts +375 -0
- package/src/github/pr-labels.ts +1 -0
- package/src/goals/judge.ts +20 -6
- package/src/graph-runner/graph-cli.ts +42 -1
- package/src/graph-runner/runner.ts +176 -11
- package/src/graph-wizard/archetypes.ts +14 -8
- package/src/graph-wizard/generate.ts +77 -1
- package/src/grok/usage.ts +23 -2
- package/src/grok.ts +13 -7
- package/src/grounding/ref-index.ts +253 -0
- package/src/harness/dispatch-backpressure.ts +10 -2
- package/src/harness/harness-clean.ts +199 -78
- package/src/harness/harness-cli-command.ts +176 -52
- package/src/harness/harness-gc.ts +331 -0
- package/src/harness/harness-stop.ts +82 -10
- package/src/harness/harness-substrate-default.ts +142 -7
- package/src/harness/launch-registry.ts +6 -0
- package/src/harness/worktree-branch-prefix.ts +9 -0
- package/src/hq/fence.ts +187 -0
- package/src/hq/seats.ts +38 -22
- package/src/images/image-ledger.ts +179 -0
- package/src/index.ts +110 -186
- package/src/instance/child-scope.ts +32 -1
- package/src/instance/dev-project.ts +133 -0
- package/src/instance/resolve.ts +24 -0
- package/src/instance/spawn-elanous.ts +45 -0
- package/src/intake-plane/collect-github.ts +7 -2
- package/src/intake-plane/lens.ts +46 -4
- package/src/intake-plane/ref-prefetch.ts +110 -0
- package/src/intake-plane/requirement-funnel.ts +53 -1
- package/src/intelligence-map/catalog-feed.ts +119 -0
- package/src/intelligence-map/model-catalog.ts +72 -0
- package/src/intelligence-map/model-watch-intake.ts +40 -0
- package/src/intelligence-map/model-watch-mission.ts +14 -1
- package/src/llm/bedrock-eventstream.ts +215 -0
- package/src/llm/bedrock-provider.ts +114 -41
- package/src/llm/bedrock.ts +174 -28
- package/src/llm/open-weight-discipline.ts +21 -0
- package/src/llm/openrouter-byok-cost.ts +96 -0
- package/src/llm/openrouter-deepseek.ts +151 -0
- package/src/llm/openrouter-upstream-pins.config.ts +25 -0
- package/src/llm/zai-coding-plan.ts +700 -0
- package/src/llm.ts +91 -24
- package/src/loops/checker.ts +148 -9
- package/src/loops/orchestrator/resync-shadow.ts +34 -7
- package/src/maturity/feature-maturity.ts +3 -3
- package/src/model-tier/llm-tier-map.ts +9 -5
- package/src/models/prompts.ts +2 -1
- package/src/mss/logging/log-store.ts +58 -11
- package/src/nexus/api/http-server.ts +22 -0
- package/src/nexus/api/missions.ts +73 -2
- package/src/nexus/api/ops-api.ts +18 -0
- package/src/nexus/index.ts +7 -75
- package/src/nexus/tools-kind.ts +78 -0
- package/src/oauth/codex-account-rotation.ts +43 -3
- package/src/oauth/codex-account-store.ts +339 -27
- package/src/oauth/codex-quota-policy.ts +33 -4
- package/src/oauth/fallback-chain.ts +53 -15
- package/src/onboarding/first-run.ts +37 -18
- package/src/onboarding/web-first.ts +20 -2
- package/src/ops/machine-heartbeat.ts +185 -0
- package/src/ops/overview-cache.ts +175 -0
- package/src/ops/overview.ts +8 -0
- package/src/preview/terminal.ts +15 -5
- package/src/project/project-store.ts +20 -0
- package/src/prompt-cache/openai.ts +3 -0
- package/src/prompt-cache/types.ts +5 -0
- package/src/prompt-enhance/enhance.ts +23 -0
- package/src/release-loop/auto-start.ts +7 -5
- package/src/release-loop/checklist.ts +11 -1
- package/src/release-loop/gate-shards.ts +4 -0
- package/src/release-loop/light-rc.ts +84 -13
- package/src/release-loop/merged-pr-checklist.ts +35 -5
- package/src/release-loop/placement.ts +16 -1
- package/src/release-loop/rehearsal.ts +1 -1
- package/src/requirements/requirement-ledger.ts +536 -0
- package/src/retro/daily.ts +5 -5
- package/src/seat-loop/duty-ledger.ts +64 -0
- package/src/seat-loop/seat-loop.ts +32 -10
- package/src/self-dev/decompose.ts +37 -3
- package/src/self-dev/dev-cli.ts +44 -10
- package/src/self-dev/dev-pipeline.ts +39 -9
- package/src/self-dev/draft-residue.ts +27 -5
- package/src/self-dev/draft-sweep.ts +151 -0
- package/src/self-dev/fabric-decompose-adapter.ts +9 -2
- package/src/self-dev/graph-journey-route.ts +6 -0
- package/src/self-dev/orchestrate-cli.ts +25 -3
- package/src/self-dev/orchestrate.ts +41 -6
- package/src/self-dev/run-supervisor.ts +218 -15
- package/src/self-dev/run-types.ts +13 -0
- package/src/self-dev/supervisor-verdict-edges.ts +1 -0
- package/src/self-implement/budget-gate.ts +53 -13
- package/src/self-implement/child-context-composition.ts +139 -0
- package/src/self-implement/child-llm-preference.ts +13 -5
- package/src/self-implement/claude-acp-implement.ts +67 -0
- package/src/self-implement/flex-signals.ts +59 -0
- package/src/self-implement/frozen-merges.ts +8 -3
- package/src/self-implement/gate-cli.ts +29 -10
- package/src/self-implement/gate-remote.ts +4 -1
- package/src/self-implement/goal-author-decompose.ts +10 -2
- package/src/self-implement/goal-author.ts +36 -11
- package/src/self-implement/goal-new-paths.ts +42 -0
- package/src/self-implement/graph-overlay-condition.ts +28 -0
- package/src/self-implement/graph-overlay-yaml.ts +41 -7
- package/src/self-implement/graph-templates.ts +33 -1
- package/src/self-implement/graph-yaml.ts +56 -0
- package/src/self-implement/heal-intake.ts +5 -1
- package/src/self-implement/host-regate.ts +124 -30
- package/src/self-implement/importer-test-index.ts +3 -1
- package/src/self-implement/l8-merge-queue.ts +80 -2
- package/src/self-implement/merge-train.ts +19 -0
- package/src/self-implement/off-diff-evidence.ts +40 -1
- package/src/self-implement/orchestrator.ts +230 -32
- package/src/self-implement/premise-review.ts +159 -0
- package/src/self-implement/regate-detail.ts +79 -0
- package/src/self-implement/review-deferred-to-host.ts +21 -0
- package/src/self-implement/rework-budget-judgment.ts +23 -3
- package/src/self-implement/running-runs.ts +75 -5
- package/src/self-implement/scope-adjacency.ts +23 -0
- package/src/self-implement/seams.ts +89 -8
- package/src/self-implement/self-implement-cli.ts +9 -4
- package/src/self-implement/stop-autoheal.ts +69 -2
- package/src/session-runtime/retry-policy.ts +2 -1
- package/src/skills/tools/agent.ts +16 -1
- package/src/skills/tools/persistent-grounding.ts +11 -1
- package/src/skills/tools/shell.ts +33 -1
- package/src/steward/launch.ts +5 -4
- package/src/steward/rejudge-tick.ts +142 -0
- package/src/steward/triage-budget.ts +62 -0
- package/src/steward/triage.ts +83 -22
- package/src/task-agent/actions.ts +62 -5
- package/src/task-agent/board.ts +92 -3
- package/src/task-agent/card-evidence.ts +88 -1
- package/src/task-agent/completion-evidence.ts +5 -0
- package/src/task-agent/cover.ts +166 -3
- package/src/task-agent/judge.ts +16 -0
- package/src/task-agent/land-order-ledger.ts +95 -0
- package/src/task-agent/live-move-history.ts +87 -1
- package/src/task-agent/live-moves.ts +350 -20
- package/src/task-agent/parent-host.ts +27 -3
- package/src/task-agent/rejudge-on-head.ts +223 -24
- package/src/task-agent/review-prior-fix.ts +146 -0
- package/src/task-agent/review-result-capture.ts +3 -1
- package/src/task-agent/run-adopt.ts +136 -0
- package/src/task-agent/shadow.ts +65 -9
- package/src/task-agent/task-hand.ts +57 -7
- package/src/task-orchestrator/surfaces/pod-account-broker.ts +38 -5
- package/src/task-orchestrator/surfaces/pod-bedrock-child.ts +74 -0
- package/src/task-orchestrator/surfaces/pod-child-default.ts +50 -0
- package/src/task-orchestrator/surfaces/pod-child-providers.ts +14 -1
- package/src/task-orchestrator/surfaces/pod-command-job.ts +14 -0
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +79 -6
- package/src/task-orchestrator/surfaces/pod-host-acp-review.ts +122 -0
- package/src/task-orchestrator/surfaces/pod-lease.ts +17 -5
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +11 -5
- package/src/task-orchestrator/surfaces/pod-manifest-test-normalize.ts +23 -0
- package/src/task-orchestrator/surfaces/pod-pool.ts +73 -4
- package/src/task-orchestrator/surfaces/pod-zai-child.ts +101 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +432 -35
- package/src/task-orchestrator/surfaces/self-implement.ts +19 -1
- package/src/typecheck-ratchet.ts +1 -0
- package/src/user-config.ts +69 -15
- package/src/ux-sim/fault-cred-expiry.ts +100 -0
- package/src/ux-sim/fault-pod-death.ts +74 -0
- package/src/ux-sim/fault-pool-cap.ts +81 -0
- package/src/version/packed-revision.json +1 -1
- package/src/webclone/qa-table.ts +22 -0
- package/src/workflow-runtime/triggers/registry.ts +59 -0
- package/src/workflow-runtime/triggers/webhook-source.ts +35 -5
- package/apps/pwa/out/_next/static/chunks/0a09e062-34f747a17d8d8c2e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1168.a0fb3d9db76c00bd.js +0 -77
- package/apps/pwa/out/_next/static/chunks/1325-dc3f3c21eb181cb4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1357.a843c41d2cd7ec31.js +0 -34
- package/apps/pwa/out/_next/static/chunks/1430.53f49882b17607c2.js +0 -24
- package/apps/pwa/out/_next/static/chunks/1459-be6509b3419d8a9f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/153.0a4e3cd516930491.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1572.7bc291352e241a45.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1593-d07ad068c120dfb0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1608.b7c900baa56cab32.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1615-4d8156febaac4b35.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1646.e03f0fbc26bc72f6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1669-da843ed73aa301f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/176.13ba0659e3e96fd4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1990.9c60f495ef33c070.js +0 -36
- package/apps/pwa/out/_next/static/chunks/2042e469.f86158dd5c1e51a1.js +0 -122
- package/apps/pwa/out/_next/static/chunks/2543-28ec6aeb80a5e1e1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2561.43c99d6ee914ee6a.js +0 -62
- package/apps/pwa/out/_next/static/chunks/2638.b39ab2f674caa1a5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/272-b23d2e92161d11fd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2778.67e0c1d484189ccf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2841.10ff309f6a3168af.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2886-9639f97d523d752a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2978.57fb87ce21cc5a85.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3664.15f968c39d15bd28.js +0 -149
- package/apps/pwa/out/_next/static/chunks/3786-935eb3fcde90e496.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3813.df4a01ae89c6f63f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3961-fbef064c213b2b18.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3992.f79c70480e8c4077.js +0 -309
- package/apps/pwa/out/_next/static/chunks/40-413e8641de9ed1e5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4054-521f11a503daed64.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4315.e7356f34c7d8ec79.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4489-bf629de6f04f7681.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4540.557733cc88c6a82b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/462.0275b4338c5b6337.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4658-7ed9266098a787e4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4945-0f4046cfc3228ea3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5105-18b4165c5d3a86b0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5205-6992210fe31f45f4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5287-72898b126d722457.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5313.1697309c532b9856.js +0 -2
- package/apps/pwa/out/_next/static/chunks/5474.991b90688c3cb321.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5544-871146192d095594.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5935.d5e8ca3e096772e8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6006.84e8b418a7a0db97.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6013-1267ba7454d6764b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6038-1e0f7ee1086da4cf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/617.709dd0019fe99796.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6261.fb9bf94947094636.js +0 -74
- package/apps/pwa/out/_next/static/chunks/6411.1966866fae31ffa9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6481-b829d99aa8d158f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6541.2b7daa043100d0fa.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6597.2d7a6d77ab485b27.js +0 -64
- package/apps/pwa/out/_next/static/chunks/67.5dd2dc543c2fa3de.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6777-312496b0d774719b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/681.0116f7036cfb4e8d.js +0 -32
- package/apps/pwa/out/_next/static/chunks/6871.30b2bf23b3126e36.js +0 -24
- package/apps/pwa/out/_next/static/chunks/6882.737d366d54e29d83.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7035.54c2c535164b1c9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7086-8bfa7e8f796a03d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7126.5e5599f251726b67.js +0 -93
- package/apps/pwa/out/_next/static/chunks/7203-47ff0740a293e284.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7268.017f49dafb5f0ff3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7355.5d65a87e9567ae08.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7392.4018c2a62177f296.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7471.3a3d1be50559cfb8.js +0 -148
- package/apps/pwa/out/_next/static/chunks/7500.73489a345cef2201.js +0 -226
- package/apps/pwa/out/_next/static/chunks/7565.c2f72a15c1ed0396.js +0 -27
- package/apps/pwa/out/_next/static/chunks/7651.6d1c984d3d8587a4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7713.7ab863ed59b2d661.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7793.d7cd2026767ddd54.js +0 -115
- package/apps/pwa/out/_next/static/chunks/7837.c7c267e5dceadb11.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7891.09266382daf70d1c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7990-cbf6a01bcbdcb7e6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8119-819c549e0c197786.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8186-74ea19a3700d04a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8267-e7b3262b735ae106.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8386.86518e55b75f7cf5.js +0 -8
- package/apps/pwa/out/_next/static/chunks/8437.ba6eeeb29590042f.js +0 -23
- package/apps/pwa/out/_next/static/chunks/8469-1500be57e582296f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8483-7164cecdaf178ca6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8722-4c940f02c496ad36.js +0 -1
- package/apps/pwa/out/_next/static/chunks/887-41d0dcf5af48c628.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9039.da86361496797522.js +0 -90
- package/apps/pwa/out/_next/static/chunks/905.d5745a25884754d4.js +0 -94
- package/apps/pwa/out/_next/static/chunks/9089-d909f3d4478b0628.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9096.dc5c7a267f83790c.js +0 -41
- package/apps/pwa/out/_next/static/chunks/93.a567257b6bdb7fe4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9320.419acb9665b46597.js +0 -287
- package/apps/pwa/out/_next/static/chunks/9356.b8ceda6634612ff8.js +0 -79
- package/apps/pwa/out/_next/static/chunks/94.e9e1043b35cd3eed.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9400-7498ea90b2e6ee8f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9930-58644af9c813d6e1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9932.367cf4725fedd6e2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9935.1628b904cdc8ce0e.js +0 -104
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-a2aa8709d193ee0d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-d5341ac96203a983.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-0160ab83c8685a12.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-55c631c032dcc47e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-e6784759a2531031.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-5c5d0e370f495ef6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-c325e21543cd48a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-6168a7c43e6ef8f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-31417d3604154a6d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-e9606dc0bdec9305.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-25bb425afdb27541.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-32d72fdef1afe11a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-d27b794c8ba76bbb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-a2aa8709d193ee0d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-2bd9ce9c020d02d4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-a34096245e63b9f2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-22170f4f00a15496.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-4cc66d22ca4ec502.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-83b14c729fcea837.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-6e2781c523dad761.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-26dd415c8f13f341.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-ccdb83ed40c8d724.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-7ad3de8fa06fdea9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-015c02c4fec4023e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-6b0ae5b5c42f6d2f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-786111f30b6f0969.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4e17cce5e2ed0fee.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-16258e956ea93fc2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-c2dd2b19c93f90ab.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-85f35dd1dd96ae87.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-d3c007c8a0ddd7ee.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-7837ce2aacb97b04.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-7350ee93f4fe1033.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-00723458575f2b19.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-a2aa8709d193ee0d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-745d9b6c015076f8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-736d33c7414a8a1a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-119be9a0444d2482.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-fa806c018833e332.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-c782041b5f5199ba.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-d431fbdea6ad93dd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-0c056abff82b9891.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-242d668e4fbf72c4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-847c3de6ca8a4416.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-81dd0d8ae923ed72.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-74e69ba2c8e970d4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-70038f41ae7cf931.js +0 -1
- package/apps/pwa/out/_next/static/chunks/cd39fa05.fac4545f42a3ef70.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-b2763b10dc6b3836.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-27893e93b0ec193d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-f280047194e1daf8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-e90eff2d0b70564c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-70f2d654b3435d34.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-4794f053bd5e4230.js +0 -1
- package/apps/pwa/out/_next/static/css/5619d59e87eddf66.css +0 -1
- /package/apps/pwa/out/_next/static/{rfkMm4movqkqMebBrCXiR → dRS6lEhSRRBr1abbzp7fJ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7274],{6896:(e,t,n)=>{n.d(t,{M1:()=>c,Qj:()=>d,tI:()=>i});var a=n(77194),s=n(49954),r=n(6066),l=n(91403);let o=(0,s.createContext)(null);function i(e){let{client:t,queryClient:n,defaultStaleTimeMs:i,children:c}=e,d=(0,s.useMemo)(()=>null!=n?n:new r.E({defaultOptions:{queries:{staleTime:null!=i?i:2e3,refetchOnWindowFocus:!1}}}),[n,i]);return(0,a.jsx)(o.Provider,{value:t,children:(0,a.jsx)(l.Ht,{client:d,children:c})})}function c(){let e=(0,s.useContext)(o);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function d(){return(0,s.useContext)(o)}},9094:(e,t,n)=>{n.d(t,{D3:()=>x,GJ:()=>g,Gp:()=>l,HR:()=>p,IE:()=>f,JW:()=>u,Jo:()=>v,NZ:()=>m,OL:()=>o,cD:()=>h,f:()=>c,fT:()=>b,kJ:()=>i,lb:()=>d});var a=n(13083);let s=e=>"string"==typeof e&&e.trim()?e:null,r=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function l(e){let t=[];for(let i of e){var n,a,l,o;if(!i.category.startsWith("llm.usage"))continue;let e=null!=(n=i.data)?n:{},c=Date.parse(i.ts);if(!Number.isFinite(c))continue;let d=null!=(a=e.cost)?a:{};t.push({ts:i.ts,t:c,model:null!=(l=s(e.model))?l:"unknown",site:null!=(o=s(e.site))?o:"unknown",billing:s(e.billing),provider:s(e.billingProvider),input:r(e.inputTokens),output:r(e.outputTokens),cache:r(e.cacheReadInputTokens),apiUsd:r(d.apiEquivalentUsd)})}return t.sort((e,t)=>t.t-e.t)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6e4,s=Math.floor(t/a)*a-(n-1)*a,r=Array.from({length:n},(e,t)=>({t:s+t*a,count:0,tokens:0,byModel:{}}));for(let t of e){var l;let e=Math.floor((t.t-s)/a);if(e<0||e>=n)continue;let o=r[e];o.count+=1,o.tokens+=t.input+t.output,o.byModel[t.model]=(null!=(l=o.byModel[t.model])?l:0)+1}return r}function i(e,t,n){let a=t-n/2,s=new Map;for(let l of e){var r;if(l.t<t-n)continue;let e=null!=(r=s.get(l.model))?r:{count:0,tokens:0,late:0,early:0};e.count+=1,e.tokens+=l.input+l.output,l.t>=a?e.late+=1:e.early+=1,s.set(l.model,e)}return[...s.entries()].map(e=>{let[t,n]=e;return{model:t,count:n.count,tokens:n.tokens,delta:n.late>n.early?1:n.late<n.early?-1:0}}).sort((e,t)=>t.count-e.count)}function c(e){var t,n,a;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:7,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,l=new Map,o=new Map;for(let a of e)l.set(a.model,(null!=(t=l.get(a.model))?t:0)+1),o.set(a.site,(null!=(n=o.get(a.site))?n:0)+1);let i=[...l.entries()].sort((e,t)=>t[1]-e[1]).slice(0,s).map(e=>{let[t]=e;return t}),c=[...o.entries()].sort((e,t)=>t[1]-e[1]).slice(0,r).map(e=>{let[t]=e;return t}),d={},u=0;for(let t of e){if(!i.includes(t.model)||!c.includes(t.site))continue;let e="".concat(t.model,"|").concat(t.site);d[e]=(null!=(a=d[e])?a:0)+1,u=Math.max(u,d[e])}return{models:i,sites:c,cells:d,max:u}}function d(e){let t=new Map;for(let a of e){var n;let e=s(null==(n=a.data)?void 0:n.runId),r=Date.parse(a.ts);if(!e||!Number.isFinite(r))continue;let l=t.get(e);l?(l.lo=Math.min(l.lo,r),l.hi=Math.max(l.hi,r)):t.set(e,{lo:r,hi:r})}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,ms:n.hi-n.lo}})}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:40,n=Array(t).fill(0);if(0===e.length)return{bins:n,lo:0,hi:0,max:0};let a=Math.min(...e),s=Math.max(...e),r=(s-a)/t||1;for(let s of e)n[Math.min(t-1,Math.floor((s-a)/r))]+=1;return{bins:n,lo:a,hi:s,max:Math.max(...n)}}function p(e){let t=Object.fromEntries(a.lV.map(e=>[e,0]));for(let n of e.snapshot.runs)n.current&&(t[n.current]+=1);let n=null;for(let e of a.lV)t[e]>0&&(!n||t[e]>t[n])&&(n=e);return{counts:t,busiest:n}}function h(e){let t=0,n=0;for(let s of e){let e=(0,a.dl)(s);"gate"===e.stage&&("ok"===e.tone?t+=1:"bad"===e.tone&&(n+=1))}return{pass:t,fail:n}}function m(e){let t=new Set,n=new Set;for(let o of e){var a,l;if(!o.category.startsWith("review-loop"))continue;let e=null!=(a=o.data)?a:{},i=null!=(l=s(e.pr))?l:r(e.prNumber)?String(r(e.prNumber)):null;i&&(("rework-start"===o.event||"judge-verdict"===o.event&&r(e.asks)>0)&&t.add(i),/merged/.test(o.event)&&n.add(i))}return[...t].filter(e=>n.has(e))}function f(e){let t=new Map;for(let a of e){var n;let e=s(null==(n=a.data)?void 0:n.runId);e&&a.instance&&!t.has(e)&&t.set(e,a.instance)}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,instance:n}})}function x(e){let t=new Map;for(let i of e){var n,a,l,o;let e=s(null==(n=i.data)?void 0:n.runId);if(!e)continue;let c=Date.parse(i.ts),d=null;if("decompose-and-retry.applied"===i.event&&Array.isArray(null==(a=i.data)?void 0:a.pieceFeatures))d=i.data.pieceFeatures.map(e=>"string"==typeof e?e:"").filter(Boolean);else if("goal-steps-decomposed"===i.event&&r(null==(l=i.data)?void 0:l.stepCount)>1){let e=Math.min(12,r(null==(o=i.data)?void 0:o.stepCount));d=Array.from({length:e},(t,n)=>"단계 ".concat(n+1,"/").concat(e))}if(!d||0===d.length)continue;let u=t.get(e);(!u||c>=u.t)&&t.set(e,{t:c,pieces:d.slice(0,12)})}return[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,pieces:n.pieces}})}function g(e){let t=[];for(let a of e){var n;if("harness.substrate"!==a.category||"dispatch-pod"!==a.event)continue;let e=s(null==(n=a.data)?void 0:n.podPool);e&&t.push({pool:e,ts:a.ts})}return t}function v(e){let t=new Map,n=new Map;for(let u of e){var l,o,i,c,d;let e=s(null==(l=u.data)?void 0:l.runId);if(!e)continue;u.category.startsWith("review-loop")&&"rework-start"===u.event&&t.set(e,Math.max(null!=(i=t.get(e))?i:0,r(null==(o=u.data)?void 0:o.round)||(null!=(c=t.get(e))?c:0)+1));let p=(0,a.dl)(u);"gate"===p.stage&&"bad"===p.tone&&n.set(e,(null!=(d=n.get(e))?d:0)+1)}return[...[...t.entries()].map(e=>{let[t,n]=e;return{runId:t,stage:"review",retries:n}}),...[...n.entries()].map(e=>{let[t,n]=e;return{runId:t,stage:"gate",retries:n}})]}function b(e){let t=new Map;for(let r of e){var n;let e=s(null==(n=r.data)?void 0:n.runId);if(!e)continue;let{stage:l,tone:o}=(0,a.dl)(r),i="".concat(e,"|").concat(r.category,".").concat(r.event),c=t.get(i);if(c){c.count+=1,c.bad||(c.bad="bad"===o);continue}t.set(i,{runId:e,key:i,label:r.event,stage:l,count:1,bad:"bad"===o})}return[...t.values()]}},13083:(e,t,n)=>{n.d(t,{jg:()=>v,lV:()=>i,fQ:()=>c,Hc:()=>y,dl:()=>d,qo:()=>m,bh:()=>b,hS:()=>x,Yu:()=>f,BP:()=>g});let a={budget:"예산",placement:"장소",relation:"관계",memory:"기억"},s=e=>null===e||"object"!=typeof e||Array.isArray(e)?null:e,r=new Set(["한도 도달","후보 없음","측정 불가: 시간 초과"]);function l(e){if("string"!=typeof e)return null;let t=e.trim();return r.has(t)?t.slice(0,80):null}function o(e){let t=l(e);return"확인 못 함".concat(t?" \xb7 ".concat(t):"")}let i=["author","decompose","build","gate","review","land"],c={author:"저작",decompose:"분해",build:"구현",gate:"게이트",review:"리뷰",land:"착지"};function d(e){var t;let n=e.category,a=e.event,s="error"===e.level||/(fail|reject|block|abandon|conflict|error|unconvergeable|timeout)/i.test(a)?"bad":/(merged|pass|done|ok|opened|completed|approved)/i.test(a)?"ok":"info";if("self-implement.pod.ledger"===n&&"string"==typeof(null==(t=e.data)?void 0:t.stage)){let t=e.data.stage,n="string"==typeof e.data.status?e.data.status:"",a=/(fail|block|abandon|reject|error)/i.test(n)||/(fail|block|abandon)/i.test(t)?"bad":s,r=/^(implement|repair)/i.test(t)?"build":/^gat/i.test(t)?"gate":/^review/i.test(t)?"review":/(merged|pr-opened|landed|auto-merge)/i.test(t)?"land":null;if(r)return{stage:r,tone:"land"===r&&"bad"!==a?"ok":a}}return n.startsWith("goal-author")||n.startsWith("harness.frontdoor")||"dev-pipeline"===n&&/^(plan|selection|base-selection)$/.test(a)?{stage:"author",tone:s}:n.startsWith("self-dev")&&/decompos/i.test(a)||"self-dev.orchestrate"===n&&"start"===a?{stage:"decompose",tone:s}:n.startsWith("self-dev.spawn")||n.startsWith("harness.substrate")||"self-implement"===n||"dev-pipeline"===n&&"harness.launch"===a?{stage:"build",tone:s}:n.startsWith("self-gate")||n.startsWith("self-dev.reduce")&&/gate/i.test(a)?{stage:"gate",tone:s}:n.startsWith("review-loop")&&/(merged|auto-merge)/i.test(a)?{stage:"land",tone:"ok"}:n.startsWith("review-loop")?{stage:"review",tone:s}:n.startsWith("self-dev.reduce")&&/(pr-opened|merged)/i.test(a)||"dev-pipeline"===n&&"done"===a?{stage:"land",tone:s}:{stage:null,tone:s}}let u=e=>"string"==typeof e&&e.trim()?e:null,p=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function h(e){var t,n,a,s,r;let l=null!=(t=e.data)?t:{},o=null!=(n=u(l.pr))?n:p(l.prNumber)?String(l.prNumber):null;return e.category.startsWith("review-loop")&&"judge-verdict"===e.event?"리뷰 판정: ".concat(null!=(a=u(l.verdict))?a:"?").concat(o?" \xb7 #".concat(o):"").concat(p(l.asks)?" \xb7 요구 ".concat(p(l.asks)):""):e.category.startsWith("review-loop")&&/merged/.test(e.event)?"자동 병합".concat(o?" #".concat(o):""):e.category.startsWith("review-loop")&&"rework-start"===e.event?"리뷰 반영 라운드 ".concat(p(l.round)||"?"," 시작").concat(o?" \xb7 #".concat(o):""):e.category.startsWith("llm.router")&&/fallback/i.test(e.event)?"모델 폴백: ".concat(null!=(s=u(l.from))?s:"?"," → ").concat(null!=(r=u(l.to))?r:"?"):e.category.startsWith("oauth")&&/rotat/i.test(e.event)?"계정 회전".concat(u(l.account)?": ".concat(u(l.account)):""):e.category.startsWith("harness.boundary")?"경계 밖 쓰기 거절".concat(u(l.path)?": ".concat(u(l.path)):""):e.category.startsWith("self-dev.reduce")&&/gate-failed/.test(e.event)?"게이트 실패 → 수리 라운드":"dev-pipeline"===e.category&&"rejected"===e.event?"발사 전 검사가 막았다".concat(u(l.reason)?": ".concat(u(l.reason)):""):null}function m(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e.slice(11,19):n.toLocaleTimeString("en-GB",{hour12:!1,...t?{timeZone:t}:{}})}function f(e){return/Error:|ENOENT|EACCES|EPERM|ECONN|TypeError|\bstack\b|at\s+\S+\s+\(|\/Users\/|\/home\/|\\/.test(e)}function x(e,t){return null==e?e:"owner"!==t&&f(e)?"실패 — 자세한 사유는 오너 화면에서":e}function g(e,t){var n;let a=null!=(n=e.data)?n:{},s=["runId","pr","verdict","model","provider","round","reason"].map(e=>void 0!==a[e]&&null!==a[e]&&""!==a[e]?"".concat(e,"=").concat(String(a[e]).slice(0,40)):null).filter(Boolean).join(" ");return"".concat(m(e.ts,t)," ").concat(e.category," ").concat(e.event).concat(s?" \xb7 ".concat(s):"").replace(/\b(sk-[A-Za-z0-9_-]{8,}|ghp_[A-Za-z0-9]{8,}|gho_[A-Za-z0-9]{8,}|xox[abpr]-[A-Za-z0-9-]{8,}|AKIA[0-9A-Z]{12,})\b/g,"[redacted]").replace(/(Bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,"$1[redacted]").replace(/("?(?:token|secret|password|apiKey|api_key|authorization)"?\s*[:=]\s*")[^"]{4,}"/gi,'$1[redacted]"')}let v=["PLAN","ROUTE","VERIFY","HEAL","ESCALATE","SHIP"];function b(e){let t=e.category,n=e.event;if("harness.decision"===t){var a;let t="string"==typeof(null==(a=e.data)?void 0:a.kind)?e.data.kind.toUpperCase():"";return v.includes(t)?t:null}return t.startsWith("review-loop")&&/merged/.test(n)||t.startsWith("self-dev.reduce")&&/(pr-opened|merged)/.test(n)?"SHIP":/(needs-human|hitl|escalat|parked)/i.test(n)||"dev-pipeline"===t&&"rejected"===n?"ESCALATE":t.startsWith("review-loop")&&/^rework-start$/.test(n)||/repair|rework-round/i.test(n)||t.startsWith("self-dev.supervisor")&&/(resume|retry)/i.test(n)?"HEAL":t.startsWith("review-loop")&&/verdict/.test(n)||t.startsWith("self-gate")||t.startsWith("self-dev.reduce")&&/gate/.test(n)?"VERIFY":t.startsWith("oauth.codex-account")&&/rotation$/.test(n)||t.startsWith("llm.router")&&/fallback/i.test(n)||t.startsWith("harness.role-llm")||t.startsWith("harness.substrate")&&/dispatch/.test(n)||t.startsWith("harness.boundary")?"ROUTE":t.startsWith("goal-author")&&/(done|assembled|phase-end)/.test(n)||t.startsWith("self-dev")&&/decompos/i.test(n)||"dev-pipeline"===t&&"plan"===n?"PLAN":null}function y(e,t,n){let r=function(e,t,n){var a,s,r,l,o,i,c,m,f,x;let g=n.now-6e4*n.windowMinutes,v=e.filter(e=>Date.parse(e.ts)>=g).sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts)),b=new Map,y=[],w=new Map,k=new Map,j=0,N=0;for(let e of v){let t=null!=(s=e.data)?s:{},n=u(t.runId);if(e.category.startsWith("llm.usage")){j+=1,N+=p(t.inputTokens)+p(t.outputTokens)+p(t.totalTokens&&!t.inputTokens?t.totalTokens:0);let e=null!=(l=null!=(r=u(t.model))?r:u(t.provider))?l:"unknown";w.set(e,(null!=(o=w.get(e))?o:0)+1)}if(e.category.startsWith("review-loop")&&"judge-verdict"===e.event){let e=null!=(i=u(t.verdict))?i:"unknown";k.set(e,(null!=(c=k.get(e))?c:0)+1)}let a=h(e),{stage:x,tone:g}=d(e);if(a&&y.push({ts:e.ts,runId:n,tone:/merged/.test(e.event)?"ok":g,text:a}),!n||!x)continue;let v=null!=(m=b.get(n))?m:{runId:n,stages:{},current:null,lastTs:e.ts,events:0,blocked:!1,pr:null,ledgerStatus:null};v.stages[x]=g,v.current=x,v.lastTs=e.ts,v.events+=1,v.blocked="bad"===g,v.pr=null!=(f=u(t.pr))?f:p(t.prNumber)?String(p(t.prNumber)):v.pr,b.set(n,v)}let M=new Map(t.map(e=>[e.runId,e]));for(let e of b.values())e.ledgerStatus=null!=(x=null==(a=M.get(e.runId))?void 0:a.status)?x:null;let S=[...b.values()].sort((e,t)=>Date.parse(t.lastTs)-Date.parse(e.lastTs)),E=S.filter(e=>"land"!==e.current&&n.now-Date.parse(e.lastTs)<9e5).length,I=e=>[...e.entries()].map(e=>{let[t,n]=e;return{name:t,count:n}}).sort((e,t)=>t.count-e.count);return{runs:S,cards:y.slice(-40).reverse(),counters:{activeRuns:E,llmRequests:j,llmRequestsPerMin:n.windowMinutes>0?Math.round(j/n.windowMinutes*10)/10:0,tokens:N,landed:S.filter(e=>"ok"===e.stages.land).length,blocked:S.filter(e=>e.blocked).length},providers:I(w),reviewVerdicts:I(k),windowMinutes:n.windowMinutes}}(e,t,n),i=n.now-6e4*n.windowMinutes,c=e.filter(e=>Date.parse(e.ts)>=i).sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts)),m=[],f={},x=new Set,g=new Map,v=new Map,y=new Map,w=0,k=new Set(c.filter(e=>"harness.decision"===e.category).map(e=>b(e)).filter(Boolean));for(let e of c){var j,N,M,S,E,I,C,A,T,R,P,L,O,F,W;let t=null!=(j=e.data)?j:{},n=u(t.runId);if(e.category.startsWith("review-loop")&&p(t.round)&&n&&(f[n]=Math.max(null!=(N=f[n])?N:0,p(t.round))),e.category.startsWith("review-loop")&&"judge-verdict"===e.event&&u(t.pr)&&p(t.round)){let e=null!=(M=y.get(u(t.pr)))?M:new Map;e.set(p(t.round),p(t.asks)),y.set(u(t.pr),e)}if(e.category.startsWith("llm.usage")){let e=p(t.inputTokens)+p(t.outputTokens);w+=e;let n=null!=(S=u(t.model))?S:"unknown",a=null!=(E=v.get(n))?E:{requests:0,tokens:0,billing:u(t.billing)};a.requests+=1,a.tokens+=e,v.set(n,a)}let r=b(e);if(!r||"harness.decision"!==e.category&&k.has(r))continue;let i="harness.decision"===e.category&&"string"==typeof t.what?function(e,t){var n,r;let i,c=/^execution-loop (budget|placement|relation|memory) gate$/.exec(e);if(!c)return null;let d=c[1],u="관문 \xb7 ".concat(a[d]),p=null;try{p=s(JSON.parse(null!=t?t:""))}catch(e){p=null!=(n=function(e,t){if(!t||t.startsWith("{"))return null;if(t.startsWith("unavailable"))return{decision:"unavailable"};let n=new Map;for(let e of t.split(" \xb7 ")){let t=e.indexOf("=");t>0&&!n.has(e.slice(0,t))&&n.set(e.slice(0,t),e.slice(t+1))}if(!n.size)return null;switch(e){case"budget":if(!n.has("action"))return null;return{decision:{action:n.get("action"),...n.get("provider")?{provider:n.get("provider")}:{},reasons:n.get("reason")?[n.get("reason")]:[]}};case"placement":{if(!n.has("substrate"))return null;let e=n.get("pool");return{decision:{substrate:n.get("substrate"),pool:e&&"none"!==e?e:null,...n.get("memory")?{memory:{limit:n.get("memory")}}:{}}}}case"relation":{let e=Number(n.get("overlap"));if(!Number.isInteger(e)||e<0)return null;return{decision:{action:"record",overlappingCards:Array.from({length:e},(e,t)=>"card-".concat(t+1))}}}case"memory":{let e=n.get("context");if("recalled"!==e&&"none"!==e)return null;return{decision:{action:"record",context:"recalled"===e?"recalled":null}}}}}(d,null!=t?t:""))?n:function(e){if(!e.startsWith('{"decision":{'))return null;let t={},n=t=>{var n;return null==(n=new RegExp('"'.concat(t,'":"([^"\\\\]*)"')).exec(e))?void 0:n[1]},a=n("action");a&&(t.action=a);let s=n("provider");s&&(t.provider=s);let r=n("substrate");r&&(t.substrate=r);let l=/"pool":(null|"([^"\\]*)")/.exec(e);l&&(t.pool="null"===l[1]?null:l[2]);let o=/"memory":\{[^}]*"limit":"([^"\\]*)"/.exec(e);o&&(t.memory={limit:o[1]});let i=/"overlappingCards":\[([^\]]*)\]/.exec(e);i&&(t.overlappingCards=i[1].trim()?i[1].split(",").map(e=>e.trim().replace(/^"|"$/g,"")):[]);let c=/"context":(null|")/.exec(e);if(c&&(t.context="null"===c[1]?null:"recalled"),/"reasons":\[/.test(e)){let n=/"reasons":\[((?:"[^"\\]*",?)*)\]/.exec(e);t.reasons=n?[...n[1].matchAll(/"([^"\\]*)"/g)].map(e=>e[1]):[]}return Object.keys(t).length?{decision:t}:null}(null!=t?t:"")}let h=s(null==p?void 0:p.decision),m=null==p?void 0:p.explanation;if(!h)return{what:u,why:o(m)};switch(d){case"budget":{let e,t=h.action,n="string"==typeof(e=h.provider)&&/^(openai-codex|grok|anthropic|openai|google|local|openrouter)$/.test(e)?e:null,a="proceed"===t?"그대로 진행":"next-provider"===t?"다른 제공자로".concat(n?"(".concat(n,")"):""):"wait-reset"===t?"한도 회복까지 대기":"stop"===t?"멈춤":null;if(!a||!Array.isArray(h.reasons))return{what:u,why:o(m)};let s=l(h.reasons[0]);i="".concat(a).concat(s?" \xb7 ".concat(s):"");break}case"placement":{let e,t,n=h.substrate;if("pod"!==n&&"local"!==n&&"unknown"!==n)return{what:u,why:o(m)};let a="string"==typeof(e=h.pool)&&/^(?:fast-\d{1,2}|pool-msb\d{1,2}(?:@msb\d{1,2}:\d{1,2})?)$/.test(e)?e:null,l="string"==typeof(t=null==(r=s(h.memory))?void 0:r.limit)&&/^\d+(?:\.\d+)?\s*(?:[KMGT]i?B?|bytes?)$/i.test(t)?t.replace(/\s+/g," "):null;i="".concat("pod"===n?"Pod".concat(a?" ".concat(a):""):"local"===n?"이 기기":"모름").concat(l?" \xb7 메모리 한도 ".concat(l):"");break}case"relation":if("record"!==h.action||!Array.isArray(h.overlappingCards)||!h.overlappingCards.every(e=>"string"==typeof e))return{what:u,why:o(m)};i=h.overlappingCards.length?"겹치는 카드 ".concat(h.overlappingCards.length,"개"):"겹치는 일 없음";break;case"memory":if("record"!==h.action||"string"!=typeof h.context&&null!==h.context)return{what:u,why:o(m)};i=h.context?"지난 기록 있음":"지난 기록 없음"}return{what:u,why:i}}(t.what,null!=(I=u(t.reason))?I:void 0):null,c=null!=(A=null!=(C=null==i?void 0:i.why)?C:u(t.reason))?A:u(t.why),d=i?null:u(t.purpose),H=i?null:null!=(O=null!=(R=null!=(T=u(t.target))?T:u(t.to))?R:u(t.account))?O:"SHIP"===r&&(null!=(P=u(t.pr))?P:p(t.prNumber)?String(p(t.prNumber)):null)?"#".concat(null!=(L=u(t.pr))?L:p(t.prNumber)):null,q=i?null:n;"HEAL"===r&&n&&x.add(n);let D=p(t.paths)||void 0;m.push({ts:e.ts,kind:r,runId:q,what:null!=(F=null==i?void 0:i.what)?F:function(e,t){var n,a;return"harness.decision"===e.category&&"string"==typeof(null==(n=e.data)?void 0:n.what)?e.data.what:null!=(a=h(e))?a:"".concat(e.category," ").concat(e.event).slice(0,80)}(e,0),why:c,purpose:d,target:H,...D?{paths:D}:{}});let U=[c?null:"why",d?null:"purpose",H?null:"target"].filter(Boolean);if(U.length){let t=i?"harness.decision decision":"".concat(e.category," ").concat(e.event),n=null!=(W=g.get(t))?W:{count:0,lacks:new Set};n.count+=1,U.forEach(e=>n.lacks.add(e)),g.set(t,n)}}let H=[...x],q=H.filter(e=>{var t;return(null==(t=r.runs.find(t=>t.runId===e))?void 0:t.stages.land)==="ok"}).length;return{snapshot:r,gauges:{live:r.counters.activeRuns,decisions:m.length,decisionsPerMin:n.windowMinutes>0?Math.round(m.length/n.windowMinutes*10)/10:0,shipped:m.filter(e=>"SHIP"===e.kind).length,selfHealRate:H.length?Math.round(q/H.length*100):null,selfHealRuns:H.length,burnTokensPerMin:n.windowMinutes>0?Math.round(w/n.windowMinutes):0},stream:m.slice(-80).reverse(),emitted:c.filter(e=>"harness.decision"===e.category).length,rounds:f,convergence:[...y.entries()].map(e=>{let[t,n]=e;return{pr:t,points:[...n.entries()].sort((e,t)=>e[0]-t[0]).map(e=>{let[t,n]=e;return{round:t,asks:n}})}}),scorecard:[...v.entries()].map(e=>{let[t,n]=e;return{model:t,...n}}).sort((e,t)=>t.requests-e.requests),missing:[...g.entries()].map(e=>{let[t,n]=e;return{key:t,count:n.count,lacks:[...n.lacks]}}).sort((e,t)=>t.count-e.count)}}},17996:(e,t,n)=>{n.d(t,{RT:()=>h});var a=n(77194),s=n(49954),r=n(64862),l=n.n(r),o=n(59917),i=n(6896),c=n(13083),d=n(35857);let u={"no-screen-key":"이 인스턴스 로그에 이 런의 화면 키가 없다 — 다른 우주(시험\xb7Pod)에서 돈 런이면 그 우주에서 본다.","screen-missing":"화면 키는 있는데 화면 파일이 없다 — 런이 끝나 화면이 정리됐을 수 있다.","log-store-missing":"이 인스턴스에 로그 저장소가 없다.","log-store-unreadable":"로그 저장소를 읽지 못했다."};function p(e){var t,n;let{runId:s,run:r,screen:o,screenError:i,lines:d,stopState:p,stopMessage:h,onStop:m,onConfirmStop:f,onCancelStop:x,onClose:g,max:v}=e,b=!!(null==o?void 0:o.stoppable);return(0,a.jsxs)("section",{className:"space-y-2 rounded-lg border border-primary/40 bg-card/60 p-3","aria-label":"런 서랍","data-live-run-drawer":s,children:[(0,a.jsxs)("header",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,a.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:s}),(null==r?void 0:r.current)&&(0,a.jsx)("span",{className:"rounded bg-primary/15 px-1.5 py-0.5 text-[11px]",children:c.fQ[r.current]}),(null==r?void 0:r.blocked)&&(0,a.jsx)("span",{className:"rounded bg-error/15 px-1.5 py-0.5 text-[11px] text-error",children:"막힘"}),(null==r?void 0:r.pr)&&(0,a.jsxs)("span",{className:"font-mono text-[11px]",children:["PR #",r.pr]}),(0,a.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[v&&("confirm"===v.state?(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs",role:"alertdialog","aria-label":"MAX 이 런만 확인",children:[(0,a.jsx)("span",{className:"text-amber-500",children:"이 런만 30분 상세 계측(부하가 든다)?"}),(0,a.jsx)("button",{type:"button",onClick:v.confirm,className:"rounded-md border border-amber-500 px-2 py-1 text-amber-600 hover:bg-amber-500/10","data-elanous-action":"live-run-max-confirm",children:"켜기"}),(0,a.jsx)("button",{type:"button",onClick:v.cancel,className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-muted",children:"취소"})]}):(0,a.jsx)("button",{type:"button",onClick:v.ask,disabled:"on"===v.state,className:"rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:opacity-50","data-elanous-action":"live-run-max",title:"이 런의 판단 \xab왜\xb7목적\xb7어디로\xbb를 30분 자세히 남긴다",children:"on"===v.state?"● MAX 이 런 켜짐":"failed"===v.state?"MAX 못 켬 \xb7 다시":"MAX 이 런만"})),(0,a.jsx)(l(),{href:"/trace?level=L2&run=".concat(encodeURIComponent(s)),className:"rounded-md border px-2 py-1 text-xs hover:bg-muted","data-elanous-action":"live-run-trace",children:"Trace 로 →"}),(0,a.jsx)(l(),{href:"/live-run/?run=".concat(encodeURIComponent(s)),className:"rounded-md border px-2 py-1 text-xs hover:bg-muted","data-elanous-action":"live-run-scene",children:"런 장면 →"}),!!(null==r?void 0:r.pr)&&"ok"!==r.stages.land&&(0,a.jsx)(l(),{href:"/approvals?pr=".concat(encodeURIComponent(r.pr)),className:"rounded-md border px-2 py-1 text-xs hover:bg-muted","data-elanous-action":"live-run-approvals",children:"승인 카드로 →"}),"confirm"===p?(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs",role:"alertdialog","aria-label":"멈춤 확인",children:[(0,a.jsx)("span",{className:"text-error",children:"이 런을 멈출까요? 되돌릴 수 없습니다."}),(0,a.jsx)("button",{type:"button",onClick:f,className:"rounded-md border border-error px-2 py-1 text-error hover:bg-error/10","data-elanous-action":"live-run-stop-confirm",children:"멈춤"}),(0,a.jsx)("button",{type:"button",onClick:x,className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-muted",children:"취소"})]}):(0,a.jsx)("button",{type:"button",onClick:m,disabled:!b||"stopping"===p||"stopped"===p,title:b?"부드러운 멈춤을 보낸다(확인 한 번)":"살아 있는 화면이 없어 멈출 수 없다",className:"rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:opacity-40","data-elanous-action":"live-run-stop",children:"⏹ 멈춤"}),(0,a.jsx)("button",{type:"button",onClick:g,className:"rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-muted","aria-label":"서랍 닫기",children:"✕"})]})]}),h&&(0,a.jsx)("p",{className:"text-xs ".concat("failed"===p?"text-error":"text-muted-foreground"),"data-live-run-stop-result":!0,children:h}),(0,a.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("h3",{className:"mb-1 text-xs font-medium text-muted-foreground",children:["화면",(null==o?void 0:o.screenKey)?(0,a.jsxs)("span",{className:"ml-1 font-mono",children:["\xb7 ",o.screenKey]}):null]}),(0,a.jsx)("pre",{className:"max-h-64 overflow-auto rounded-md border bg-muted/30 p-2 text-[11px] leading-relaxed","data-live-run-screen":!0,children:i?"화면을 못 읽었다: ".concat(i):null!=(n=null==o?void 0:o.text)?n:(null==o?void 0:o.reason)?null!=(t=u[o.reason])?t:o.reason:"불러오는 중…"})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("h3",{className:"mb-1 text-xs font-medium text-muted-foreground",children:["로그 ",(0,a.jsxs)("span",{className:"font-mono",children:["\xb7 ",d.length]})]}),(0,a.jsx)("pre",{className:"max-h-64 overflow-auto rounded-md border bg-muted/30 p-2 text-[11px] leading-relaxed","data-live-run-log":!0,children:d.slice(0,40).join("\n")||"—"})]})]})]})}function h(e){var t;let{runId:n,run:r,lines:l,onClose:c}=e,u=(0,i.M1)(),h=(0,o.I)({queryKey:["live","run-screen",n],queryFn:()=>u.getRunScreen(n,60),refetchInterval:3e3}),[m,f]=(0,s.useState)("idle"),[x,g]=(0,s.useState)(null),[v,b]=(0,s.useState)("idle");return(0,a.jsx)(p,{runId:n,run:r,screen:null!=(t=h.data)?t:null,screenError:h.error?h.error instanceof Error?h.error.message:String(h.error):null,lines:l,stopState:m,stopMessage:x,onStop:()=>f("confirm"),onConfirmStop:()=>{var e;let t=null==(e=h.data)?void 0:e.screenKey;t&&(f("stopping"),u.stopHarness(t).then(e=>{var t;let a=!!e.stopped;(0,d.cY)("pwa.live.run-stop",{runId:n,ok:a}),f(a?"stopped":"failed"),g(a?"멈춤을 보냈다 — 런이 다음 확인 지점에서 멈춘다(".concat(e.stopped,")."):"멈추지 못했다: ".concat(null!=(t=e.error)?t:"알 수 없음"))}).catch(e=>{(0,d.cY)("pwa.live.run-stop",{runId:n,ok:!1}),f("failed"),g("멈추지 못했다: ".concat(e instanceof Error?e.message:String(e)))}))},onCancelStop:()=>f("idle"),onClose:c,max:{state:v,ask:()=>b("confirm"),confirm:()=>{u.setLiveDetail({scope:n,ttlMin:30,by:"pwa-run-drawer"}).then(e=>{b(e.on?"on":"failed"),(0,d.cY)("pwa.live.run-max",{runId:n,on:e.on})}).catch(()=>b("failed"))},cancel:()=>b("idle")}})}},23987:(e,t,n)=>{n.d(t,{Es:()=>l,Wf:()=>s,q9:()=>r});let a=/\u{1F451}|`[^`]+`|\b(?=[0-9a-f]*\d)(?=[0-9a-f]*[a-f])[0-9a-f]{7,40}\b|\/Users\/|\/(?:home|root)\/|\/\.ssh\/|~\/\.elanous|elt_|\$\s*[-+]?\d[\d,.]*|run-[0-9a-f]{8}\b|\b(?:test|mirror):|\b(?:account|remote)-\d+\b|\bmsb\d+\b|\.ts\.net\b|\bgcpvm\b|user|[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/iu;function s(e){return!a.test(e)}function r(e){return(e.replace(/^\s*\*\*\[[A-Za-z]{1,4}\]\*\*\s*/,"").replace(/^(?:\{\{TS\}\}|\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}(?::\d{2})?\s*(?:KST)?)\s*/,"").replace(/^→\s*(?:(?:[A-Z]{2,4}|전원|전체)(?=[\s·,(]|$)[\s·,]*)+/u,"").replace(/^—\s*/,"").replace(/^(?:보고|요청|정정|결정|사고|안내)\s*·\s*/,"").trim()||e.trim()).replace(/\*\*/g,"")}function l(e){return e.replace(/#\d{4,6}\b/g,"PR")}},31352:(e,t,n)=>{n.d(t,{xl:()=>E});var a=n(77194),s=n(49954),r=n(13083);let l={author:"PLAN",decompose:"PLAN",build:"ROUTE",gate:"VERIFY",review:"VERIFY",land:"SHIP"},o=(e,t)=>"phase:".concat(e,":").concat(t),i=new Set(["model","target","account","universe","pod"]);var c=n(9094),d=n(23987);function u(e,t){return t>=0?"런 ".concat(t+1):"미등록 런"}let p=new Map;function h(e){let t=p.get(e);if(t)return t;let n=p.size+1,a="";for(;n>0;)n-=1,a=String.fromCharCode(65+n%26)+a,n=Math.floor(n/26);let s="계정 ".concat(a);return p.set(e,s),s}let m=new Map,f=new Map;function x(e){if(/^(?:chatgpt|gpt)(?:[-_.\s]|\d|$)/i.test(e))return"GPT";if(/^claude(?:[-_.\s]|\d|$)/i.test(e))return"Claude";if(/^grok(?:[-_.\s]|\d|$)/i.test(e))return"Grok";let t=f.get(e);return t||(t="모델 ".concat(f.size+1),f.set(e,t)),t}let g={ROUTE:"경로 정하기",PLAN:"계획",HEAL:"스스로 수리",SHIP:"착지",VERIFY:"검증",ESCALATE:"사람에게 묻기"};function v(e){let t=g[e];return(0,d.Wf)(t)?t:"신호"}let b={PLAN:"#38bdf8",ROUTE:"#a78bfa",VERIFY:"#fbbf24",HEAL:"#34d399",ESCALATE:"#fb7185",SHIP:"#4ade80"},y={harness:"#e0e7ff",run:"#818cf8",phase:"#c7d2fe",pr:"#4ade80",model:"#f0abfc",target:"#93c5fd",event:"#a5b4fc",site:"#f5d0fe",account:"#fbcfe8",request:"#f0abfc",universe:"#67e8f9",piece:"#7dd3fc",pod:"#fcd34d"},w={ok:"#4ade80",bad:"#fb7185",info:"#c7d2fe"},k=["#f0abfc","#c4b5fd","#93c5fd","#67e8f9","#a7f3d0","#fde68a","#fca5a5"],j={harness:16,run:8,phase:5.5,pr:5,model:7,target:4,event:2.6,site:3,account:6,request:1.2,universe:7,piece:3.4,pod:7},N=new Set(["harness","run","phase","pr","model","account","target","universe","pod"]),M=[];function S(e){return!!(e.why||e.purpose||e.target)}function E(e){var t,n,p,m;let{board:f,rows:E=M,windowMinutes:D=60,sourceLabel:B="this instance",shippedSource:$="log",autoReplay:z=!0,publicCapture:G=!1,onSelectRun:V,role:Y="owner"}=e,_=(0,s.useRef)(null),J=(0,s.useRef)({nodes:[],edges:[]}),K=(0,s.useRef)([]),Q=(0,s.useRef)([]),X=(0,s.useRef)(null),Z=(0,s.useRef)([]),[ee,et]=(0,s.useState)(null),[en,ea]=(0,s.useState)(!1),[es,er]=(0,s.useState)(0),[el,eo]=(0,s.useState)(""),[ei,ec]=(0,s.useState)(5),[ed,eu]=(0,s.useState)({nodes:0,edges:0}),ep=(0,s.useRef)(1500),eh=()=>"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,em=e=>{K.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.022,alpha:1,size:3.6}),"SHIP"===e.kind&&Q.current.push({id:e.to,t:0})},ef=(0,s.useMemo)(()=>(0,c.Gp)(E),[E]),ex=(0,s.useMemo)(()=>{var e,t,n;let a=new Map,s=new Set(E.filter(e=>"harness.decision"===e.category).map(r.bh).filter(e=>null!==e)),l=new Map;for(let t of[...E].sort((e,t)=>Date.parse(e.ts)-Date.parse(t.ts))){let n=(0,r.bh)(t);if(!n||"harness.decision"!==t.category&&s.has(n))continue;let a="".concat(t.ts,"|").concat(n),o=null!=(e=l.get(a))?e:[];o.push("harness.decision"===t.category?v(n):function(e,t){let n=(0,r.bh)({category:e,event:t}),a=n?g[n]:"신호";return(0,d.Wf)(a)?a:"신호"}(t.category,t.event)),l.set(a,o)}for(let e of f.stream)a.set(e,null!=(n=null==(t=l.get("".concat(e.ts,"|").concat(e.kind)))?void 0:t.pop())?n:v(e.kind));return a},[f.stream,E]),eg=e=>{var t;return null!=(t=ex.get(e))?t:v(e.kind)},ev=(0,s.useMemo)(()=>{let e=Date.now(),t=6e4*D,n=(0,c.lb)(E).map(e=>e.ms/6e4).filter(e=>e>0),a=ef.map(e=>e.input+e.output).filter(e=>e>0);return{now:e,candles:(0,c.OL)(ef,e,40,Math.max(6e4,6e4*Math.ceil(t/40/6e4))),bucketMin:Math.max(1,Math.ceil(t/40/6e4)),ticker:(0,c.kJ)(ef,e,t),heat:(0,c.f)(ef),hist:(0,c.JW)(n,40),tokHist:(0,c.JW)(a.map(e=>Math.log10(e)),40),spans:n.length,gate:(0,c.cD)(E),load:(0,c.HR)(f),events:(0,c.fT)(E),universes:(0,c.IE)(E),plans:(0,c.D3)(E),pods:(0,c.GJ)(E),retries:(0,c.Jo)(E)}},[ef,E,f,D]),eb=(0,s.useRef)([]);for(let e of f.snapshot.runs)eb.current.includes(e.runId)||eb.current.push(e.runId);for(let e of f.stream)e.runId&&!eb.current.includes(e.runId)&&eb.current.push(e.runId);let ey=e=>(eb.current.includes(e)||eb.current.push(e),u(e,eb.current.indexOf(e))),ew=(0,s.useMemo)(()=>{let e=new Map;return ev.ticker.forEach((t,n)=>e.set(t.model,k[n%k.length])),t=>{var n;return null!=(n=e.get(t))?n:"#a5b4fc"}},[ev.ticker]);(0,s.useEffect)(()=>{let e=()=>{eo(new Date().toLocaleTimeString(void 0,{hour12:!1})),ec(e=>e<=1?5:e-1)};e();let t=window.setInterval(e,1e3);return()=>window.clearInterval(t)},[]),(0,s.useEffect)(()=>{ec(5)},[E]),(0,s.useEffect)(()=>{var e,t;let n=function(e){var t,n,a,s,i,c,d,u;let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=new Map,m=[],f=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,s=h.get(e);if(s)return s.weight+=a,s;let r="harness"===t?{x:.5,y:.5}:function(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),0x1000193);let n=(t>>>0)%3600/3600*Math.PI*2,a=.25+(t>>>12)%1e3/1e3*.2;return{x:.5+Math.cos(n)*a,y:.5+Math.sin(n)*a}}(e),l={id:e,kind:t,label:n,weight:a,x:r.x,y:r.y,vx:0,vy:0};return h.set(e,l),l},x=(e,t,n)=>{m.some(a=>a.from===e&&a.to===t&&a.kind===n)||m.push({from:e,to:t,kind:n})};for(let t of(f("harness","harness","harness",3),e.snapshot.runs.slice(0,12).forEach((e,t)=>{let n="run:".concat(e.runId);f(n,"run",e.runId.replace(/^run-/,"").slice(0,6),2),x("harness",n,"PLAN");let a=null;if(t<8){let t=n;for(let n of r.lV){let s=e.stages[n];if(!s&&e.current!==n)continue;let i=o(e.runId,n),c=f(i,"phase",r.fQ[n]);c.current=e.current===n,c.tone=null!=s?s:"info",x(t,i,"bad"===s?"ESCALATE":l[n]),t=i,a=i}}e.pr&&(f("pr:".concat(e.pr),"pr","#".concat(e.pr)),x(null!=a?a:n,"pr:".concat(e.pr),"ok"===e.stages.land?"SHIP":"VERIFY")),e.blocked&&x(n,"harness","ESCALATE")}),e.scorecard.slice(0,6)))f("model:".concat(t.model),"model",t.model.length>18?"".concat(t.model.slice(0,17),"…"):t.model,Math.max(1,Math.round(Math.log2(1+t.requests)))),x("harness","model:".concat(t.model),"ROUTE");let g=0;for(let e of null!=(t=p.events)?t:[]){if(g>=180)break;let t="run:".concat(e.runId);if(!h.has(t))continue;let n=e.stage?o(e.runId,e.stage):null,a=n&&h.has(n)?n:t,s=f("ev:".concat(e.key),"event",e.label,Math.max(1,Math.round(Math.log2(1+e.count))));e.bad&&(s.tone="bad"),x(a,s.id,e.bad?"ESCALATE":e.stage?l[e.stage]:"PLAN"),g+=1}let v=new Set,b=0;for(let e of null!=(n=p.reqs)?n:[]){let t="model:".concat(e.model);if(!h.has(t))continue;let n="site:".concat(e.model,"|").concat(e.site);if(v.has(n)?h.get(n).weight+=.05:(v.add(n),f(n,"site",e.site),x(t,n,"ROUTE")),e.provider){let n="acct:".concat(e.provider);h.has(n)||f(n,"account",e.provider,2),x(n,t,"ROUTE")}b<220&&(x(n,f("req:".concat(e.model,"|").concat(e.site,"|").concat(e.ts,"|").concat(b),"request","",Math.max(1,Math.log10(1+e.input+e.output))).id,"ROUTE"),b+=1)}for(let e of null!=(a=p.universes)?a:[]){let t="run:".concat(e.runId);if(!h.has(t))continue;let n="uni:".concat(e.instance);h.has(n)?h.get(n).weight+=1:f(n,"universe",e.instance,2),x(n,t,"PLAN")}for(let e of null!=(s=p.plans)?s:[]){let t="run:".concat(e.runId);if(!h.has(t))continue;let n=o(e.runId,"decompose"),a=h.has(n)?n:t;e.pieces.forEach((t,n)=>{let s="piece:".concat(e.runId,":").concat(n);f(s,"piece",t.length>22?"".concat(t.slice(0,21),"…"):t,1.5),x(a,s,"PLAN")})}for(let e of null!=(i=p.pods)?i:[]){let t="pod:".concat(e.pool);h.has(t)?h.get(t).weight+=.2:f(t,"pod",null!=(c=e.pool.replace(/^pool-/,"").split("@")[0])?c:e.pool,2),x("harness",t,"ROUTE")}for(let e of null!=(d=p.retries)?d:[]){let t=h.get(o(e.runId,e.stage));t&&(t.retries=Math.max(null!=(u=t.retries)?u:0,e.retries))}let y=0;for(let t of e.stream){let e=t.runId&&h.has("run:".concat(t.runId))?"run:".concat(t.runId):"harness";if("SHIP"===t.kind&&t.target)f("pr:".concat(t.target.replace(/^#/,"")),"pr",t.target),x(e,"pr:".concat(t.target.replace(/^#/,"")),"SHIP");else if(t.target&&y<10&&!t.target.startsWith("#")){let n="target:".concat(t.target);h.has(n)||(y+=1),f(n,"target",t.target.length>18?"".concat(t.target.slice(0,17),"…"):t.target),x(e,n,t.kind)}else("HEAL"===t.kind||"VERIFY"===t.kind)&&x(e,e,t.kind)}return{nodes:[...h.values()],edges:m}}(f,{events:ev.events,reqs:ef,universes:ev.universes,plans:ev.plans,pods:ev.pods,retries:ev.retries}),a=new Map(J.current.nodes.map(e=>[e.id,e]));for(let e of n.nodes){let t=a.get(e.id);t&&(e.x=t.x,e.y=t.y,e.vx=t.vx,e.vy=t.vy)}J.current=n,eu(e=>e.nodes===n.nodes.length&&e.edges===n.edges.length?e:{nodes:n.nodes.length,edges:n.edges.length});let s=ev.pods.map(e=>"pod|".concat(e.ts,"|").concat(e.pool));if(X.current)for(let e of ev.pods){let t="pod|".concat(e.ts,"|").concat(e.pool);X.current.has(t)||em({from:"harness",to:"pod:".concat(e.pool),kind:"ROUTE"})}let i=function(e,t){let n=[];for(let s of t.stream){var a;let t="".concat(s.ts,"|").concat(s.kind,"|").concat(null!=(a=s.runId)?a:"","|").concat(s.what);if(e.has(t))continue;let r=s.runId?"run:".concat(s.runId):"harness",l="SHIP"===s.kind&&s.target?"pr:".concat(s.target.replace(/^#/,"")):s.target?"target:".concat(s.target):r;n.push({key:t,kind:s.kind,from:r,to:l})}return n}(null!=(e=X.current)?e:new Set,f);if(X.current){let e=new Map(f.stream.map(e=>{var t;return["".concat(e.ts,"|").concat(e.kind,"|").concat(null!=(t=e.runId)?t:"","|").concat(e.what),e]})),t=[...i].reverse();t.forEach((n,a)=>{let s=e.get(n.key);!s||!S(s)||eh()||a<t.length-6?em(n):Z.current.push({key:n.key,line:s,from:n.from,to:n.to})}),er(e=>e+1)}X.current=new Set([...null!=(t=X.current)?t:[],...i.map(e=>e.key),...s])},[f,ev.events,ev.universes,ev.plans,ev.pods,ev.retries,ef]),(0,s.useEffect)(()=>{if(ee)return;let e=Z.current.shift();if(!e){en&&ea(!1);return}et({item:e,folding:!1})},[ee,es,en]),(0,s.useEffect)(()=>{if(!ee)return;if(!ee.folding){let e=setTimeout(()=>et({item:ee.item,folding:!0}),ep.current);return()=>clearTimeout(e)}em({from:ee.item.from,to:ee.item.to,kind:ee.item.line.kind});let e=setTimeout(()=>et(null),250);return()=>clearTimeout(e)},[ee]),(0,s.useEffect)(()=>{ep.current=en?550:1500},[en]);let ek=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(!z||ek.current||0===f.stream.length||eh())return;ek.current=!0;let e=setTimeout(()=>ej(),1200);return()=>clearTimeout(e)},[f.stream.length]);let ej=()=>{Z.current=f.stream.filter(S).slice(0,40).reverse().map(e=>{let t=e.runId?"run:".concat(e.runId):"harness",n="SHIP"===e.kind&&e.target?"pr:".concat(e.target.replace(/^#/,"")):e.target?"target:".concat(e.target):t;return{key:"replay|".concat(e.ts,"|").concat(e.what),line:e,from:t,to:n}}),ea(!0),er(e=>e+1)};(0,s.useEffect)(()=>{let e=_.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let n=eh(),a=new Map,s=e=>{let t=a.get(e);if(t)return t;let n=document.createElement("canvas");n.width=64,n.height=64;let s=n.getContext("2d");if(s){let t=s.createRadialGradient(32,32,0,32,32,32);t.addColorStop(0,"".concat(e,"ff")),t.addColorStop(.25,"".concat(e,"88")),t.addColorStop(1,"".concat(e,"00")),s.fillStyle=t,s.fillRect(0,0,64,64)}return a.set(e,n),n},r=0,l=0,o=()=>{let a=window.devicePixelRatio||1,c=e.clientWidth,d=e.clientHeight;(e.width!==Math.round(c*a)||e.height!==Math.round(d*a))&&(e.width=Math.round(c*a),e.height=Math.round(d*a)),t.setTransform(a,0,0,a,0,0);let p=J.current;n||function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{nodes:n,edges:a}=e,s=new Map(n.map(e=>[e.id,e])),r=Math.min(1,60/Math.max(1,n.length));for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){let a=n[e],s=n[t],l=a.x-s.x,o=a.y-s.y,i=l*l+o*o;i<1e-6&&(l=.01,o=.01,i=2e-4);let c=e=>"phase"===e||"request"===e||"event"===e||"piece"===e,d=r*(c(a.kind)||c(s.kind)?"request"===a.kind||"request"===s.kind?12e-6:5e-5:18e-5)/i;a.vx+=l*d,a.vy+=o*d,s.vx-=l*d,s.vy-=o*d}for(let e of a){if(e.from===e.to)continue;let t=s.get(e.from),n=s.get(e.to);if(!t||!n)continue;let a=n.x-t.x,r=n.y-t.y,l=Math.sqrt(a*a+r*r)||.001,o=(l-("request"===n.kind?.035:"site"===n.kind?.06:i.has(t.kind)||i.has(n.kind)?.34:"harness"===t.kind||"harness"===n.kind?.2:"phase"===t.kind||"phase"===n.kind?.07:.12))*("phase"===t.kind||"phase"===n.kind?.05:.02);t.vx+=a/l*o,t.vy+=r/l*o,n.vx-=a/l*o,n.vy-=r/l*o}for(let e of n){if("harness"===e.kind){e.x=.5,e.y=.5,e.vx=0,e.vy=0;continue}if(i.has(e.kind)){let t=e.x-.5,n=e.y-.5,a=Math.sqrt(t*t+n*n)||.001,s=(("universe"===e.kind?.44:.3)-a)*.01;e.vx+=t/a*s,e.vy+=n/a*s}else e.vx+=(.5-e.x)*.003,e.vy+=(.5-e.y)*.003;e.x<.08&&(e.vx+=(.08-e.x)*.06),e.x>.92&&(e.vx-=(e.x-.92)*.06),e.y<.18&&(e.vy+=(.18-e.y)*.06),e.y>.87&&(e.vy-=(e.y-.87)*.06),e.vx*=.86,e.vy*=.86,e.x=Math.min(.97,Math.max(.03,e.x+e.vx*t)),e.y=Math.min(.95,Math.max(.1,e.y+e.vy*t))}}(p),l+=1;let m=new Map(p.nodes.map(e=>[e.id,e])),f=e=>n?0:1.4*Math.sin(l/40+e.id.length%7),g=e=>{let t=m.get(e);return t?{x:t.x*c+f(t),y:t.y*d+.7*f(t)}:null};for(let e of(t.clearRect(0,0,c,d),t.globalCompositeOperation="lighter",p.edges)){let n=g(e.from),a=g(e.to);n&&a&&(t.strokeStyle=b[e.kind],t.globalAlpha=e.to.startsWith("ev:")||e.to.startsWith("site:")?.15:.25,t.lineWidth="SHIP"===e.kind?1.4:.7,t.beginPath(),e.from===e.to?t.arc(n.x+8,n.y-8,8,0,2*Math.PI):(t.moveTo(n.x,n.y),t.lineTo(a.x,a.y)),t.stroke())}if(!n&&p.edges.length&&l%4==0&&K.current.length<110){let e=p.edges[7919*l%p.edges.length];e.from!==e.to&&K.current.push({from:e.from,to:e.to,kind:e.kind,t:0,speed:.008,alpha:.45,size:1.6})}for(let e of(K.current=K.current.filter(e=>e.t<=1),K.current)){let a=g(e.from),r=g(e.to);if(!a||!r){e.t=2;continue}e.t+=n?1:e.speed;let l=a.x+(r.x-a.x)*e.t,o=a.y+(r.y-a.y)*e.t-(e.from===e.to?24*Math.sin(e.t*Math.PI):0),i=5*e.size;t.globalAlpha=e.alpha,t.drawImage(s(b[e.kind]),l-i,o-i,2*i,2*i)}for(let e of(Q.current=Q.current.filter(e=>e.t<=1),Q.current)){let a=g(e.id);if(!a){e.t=2;continue}e.t+=n?1:.014;let r=10+70*Math.min(1,e.t/.3);t.globalAlpha=1-e.t,t.strokeStyle=b.SHIP,t.lineWidth=2.5,t.beginPath(),t.arc(a.x,a.y,r,0,2*Math.PI),t.stroke(),t.drawImage(s(b.SHIP),a.x-r,a.y-r,2*r,2*r)}for(let e of p.nodes){let a=g(e.id),r="phase"===e.kind,o="harness"===e.kind||r&&e.current,i=j[e.kind]+("model"===e.kind||"run"===e.kind?Math.min(4,.4*e.weight):"event"===e.kind?Math.min(3,.5*e.weight):0),c=o&&!n?i*(1+Math.sin(l/(r?9:20))*(r?.35:.12)):i,d=(r||"event"===e.kind)&&e.tone?w[e.tone]:y[e.kind],u=o||"run"===e.kind||"model"===e.kind||"account"===e.kind||"universe"===e.kind,p=c*(u?8:3);if(t.globalAlpha=u?.6:.35,t.drawImage(s(d),a.x-p,a.y-p,2*p,2*p),t.globalAlpha="event"===e.kind?.85:1,t.fillStyle=d,t.beginPath(),t.arc(a.x,a.y,c,0,2*Math.PI),t.fill(),r&&e.retries){t.globalAlpha=.75,t.strokeStyle=b.HEAL,t.lineWidth=1,t.setLineDash([3,3]);for(let s=1;s<=Math.min(4,e.retries);s+=1)t.lineDashOffset=n?0:-(l*(.4+.1*s)),t.beginPath(),t.arc(a.x,a.y,c+4+4*s,0,2*Math.PI),t.stroke();t.setLineDash([])}if(r&&e.current&&!n){let e=l%60/60;t.strokeStyle=d,t.globalAlpha=1-e,t.lineWidth=1.2,t.beginPath(),t.arc(a.x,a.y,c+18*e,0,2*Math.PI),t.stroke()}}for(let e of(t.globalCompositeOperation="source-over",t.globalAlpha=1,p.nodes)){if(!N.has(e.kind))continue;let n=g(e.id);t.fillStyle="harness"===e.kind?"#eef2ff":"phase"===e.kind?"rgba(199,210,254,.65)":"rgba(226,232,240,.82)",t.font=G?"600 14px ui-monospace, SFMono-Regular, monospace":"harness"===e.kind?"600 12px ui-monospace, SFMono-Regular, monospace":"10px ui-monospace, SFMono-Regular, monospace";let a=G?"model"===e.kind?x(e.label):function(e,t){switch(e.kind){case"run":return u(e.id.slice(4),t.indexOf(e.id.slice(4)));case"universe":return e.label,"본부";case"account":return h(e.id.slice(5));case"pod":return h(e.id.slice(4));case"model":case"phase":return e.label;case"pr":return"PR";case"harness":return"ELANOUS HARNESS";default:return"경로"}}(e,eb.current):"harness"===e.kind?"ELANOUS HARNESS":"phase"===e.kind?e.label:e.label.toUpperCase();t.fillText(a,n.x+j[e.kind]+4,n.y+3)}n||(r=requestAnimationFrame(o))};r=requestAnimationFrame(o);let c=t=>{let n=e.getBoundingClientRect(),a=(t.clientX-n.left)/n.width,s=(t.clientY-n.top)/n.height,r=J.current.nodes.find(e=>"run"===e.kind&&.02>Math.hypot(e.x-a,e.y-s));r&&(null==V||V(r.id.replace(/^run:/,"")))};return e.addEventListener("click",c),()=>{cancelAnimationFrame(r),e.removeEventListener("click",c)}},[V,G]);let eN=f.gauges,eM=function(e){var t;let n=e.snapshot.runs.filter(e=>"ok"===e.stages.land);if(n.length)return{run:[...n].sort((t,n)=>{var a,s;return(null!=(a=e.rounds[n.runId])?a:0)-(null!=(s=e.rounds[t.runId])?s:0)||n.events-t.events})[0],why:"merged"};let a=null!=(t=e.snapshot.runs.find(e=>e.current&&!e.blocked))?t:e.snapshot.runs[0];return a?{run:a,why:"in-flight"}:null}(f),eS=null!=(t=null==eM?void 0:eM.run)?t:null,eE=Object.values(f.rounds),eI=r.jg.map(e=>({k:e,n:f.stream.filter(t=>t.kind===e).length})),eC=ef.reduce((e,t)=>e+t.input+t.output,0),eA=ef.reduce((e,t)=>e+t.apiUsd,0),eT=Math.max(1,...ef.slice(0,10).map(e=>e.input+e.output)),eR=eS?r.lV.filter(e=>eS.stages[e]):[];return(0,a.jsxs)("div",{className:"live-stage live-v5 space-y-1.5 rounded-xl p-1.5 text-slate-100","data-live-max-stage":!0,"data-live-v5":!0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-indigo-400/10 bg-slate-950/60 px-2 py-1",children:[(0,a.jsx)("span",{className:"shrink-0 text-xl tracking-tight text-slate-50",style:{fontFamily:'Georgia, "Times New Roman", serif'},children:"Elanous"}),(0,a.jsx)("span",{className:"hidden shrink-0 font-mono ".concat(G?"text-sm":"text-[11px]"," sm:inline ").concat(G?"text-sm":"lg:text-[10.5px]"," tracking-[.18em] text-indigo-200/80"),children:"\xd7 HARNESS \xb7 판단"}),(0,a.jsx)(A,{publicCapture:G,tone:"live",children:"● LIVE"}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)(P,{publicCapture:G,ariaLabel:"판단 띠",bare:!0,items:f.stream.slice(0,16).map((e,t)=>(0,a.jsxs)("span",{className:G?"mx-4 whitespace-normal":"mx-4 whitespace-nowrap",children:[(0,a.jsxs)("span",{style:{color:b[e.kind]},children:["▸ ",G?"판단":e.kind]})," ",(0,a.jsx)("span",{className:"text-slate-300",children:G?eg(e):e.what}),!G&&e.target&&(0,a.jsxs)("span",{className:"text-slate-500",children:[" → ",e.target]})]},"".concat(e.ts,"-").concat(t)))})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-lg tabular-nums text-slate-200",suppressHydrationWarning:!0,children:el})]}),(0,a.jsx)(P,{publicCapture:G,ariaLabel:"모델 띠",slow:!0,items:[(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-rose-300",children:"● LIVE RUNS"})," ",eN.live]},"live"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-emerald-300",children:"SHIPPED"})," ",eN.shipped]},"ship"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"DECISIONS/MIN"})," ",eN.decisionsPerMin]},"dpm"),(0,a.jsxs)("span",{className:"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{className:"text-indigo-300",children:"BURN/MIN"})," ",I(eN.burnTokensPerMin)]},"burn"),...ev.ticker.map(e=>(0,a.jsxs)("span",{className:G?"mx-4 whitespace-normal":"mx-4 whitespace-nowrap",children:[(0,a.jsx)("span",{style:{color:ew(e.model)},children:G?x(e.model):e.model.toUpperCase()})," ",(0,a.jsx)("span",{className:e.delta>0?"text-emerald-300":e.delta<0?"text-rose-300":"text-slate-400",children:e.delta>0?"▲":e.delta<0?"▼":"■"})," ",e.count," req \xb7 ",I(e.tokens)," tok"]},e.model))]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(C,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:"SHIPPED \xb7 병합된 PR",stat:"".concat("github"===$?"GITHUB":"LOG"," \xb7 ").concat(D>=60?"".concat(D/60,"H"):"".concat(D,"M")),children:[(0,a.jsxs)("div",{className:"flex items-end gap-3",children:[(0,a.jsx)(L,{value:eN.shipped,accent:b.SHIP}),(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)(A,{publicCapture:G,tone:"ok",children:"MERGED"}),eN.selfHealRuns>0&&(0,a.jsx)(A,{publicCapture:G,tone:"heal",children:"SELF-HEALED"}),f.snapshot.counters.blocked>0&&(0,a.jsxs)(A,{publicCapture:G,tone:"bad",children:["BLOCKED ",f.snapshot.counters.blocked]})]})]}),(0,a.jsxs)("div",{className:"mt-1 grid grid-cols-3 gap-2 border-t border-indigo-400/10 pt-2",children:[(0,a.jsx)(T,{publicCapture:G,label:"SELF-HEAL",value:null===eN.selfHealRate?"—":"".concat(eN.selfHealRate,"%"),color:b.HEAL}),(0,a.jsx)(T,{publicCapture:G,label:"RUNS",value:String(f.snapshot.runs.length),color:"#c7d2fe"}),(0,a.jsx)(T,{publicCapture:G,label:"DECISIONS",value:String(eN.decisions),color:b.PLAN})]})]}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:(null==eM?void 0:eM.why)==="merged"?"BEST RUN \xb7 오늘 최고의 런":"NOW \xb7 지금 런",stat:eS?"R ".concat(null!=(n=f.rounds[eS.runId])?n:0,"/3"):"—",children:eS?(0,a.jsxs)("button",{type:"button",className:"block w-full text-left",onClick:()=>null==V?void 0:V(eS.runId),"data-live-v5-best":!0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono ".concat(G?"text-sm":"text-[11px]"," text-slate-400"),children:G?ey(eS.runId):"owner"===Y?eS.runId:"런"}),(null==eM?void 0:eM.why)==="merged"?(0,a.jsxs)(A,{publicCapture:G,tone:"ok",children:["VERIFIED \xb7 MERGED",eS.pr?G?" PR":" #".concat(eS.pr):""]}):(0,a.jsx)(A,{publicCapture:G,tone:"live",children:"IN FLIGHT"})]}),(0,a.jsxs)("div",{className:"mt-1 flex items-baseline gap-3",children:[(0,a.jsx)("span",{className:"font-mono text-6xl font-semibold tabular-nums text-indigo-100",style:{textShadow:"0 0 24px #818cf888"},children:eS.pr?G?"PR":"#".concat(eS.pr):eS.current?r.fQ[eS.current]:"—"}),(0,a.jsxs)("span",{className:"font-mono ".concat(G?"text-sm":"text-xs"," text-slate-400"),children:[eS.events," signals \xb7 라운드 ",null!=(p=f.rounds[eS.runId])?p:0]})]}),(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:eR.map(e=>{let t=eS.stages[e];return(0,a.jsxs)(A,{publicCapture:G,tone:"bad"===t?"bad":"ok"===t?"ok":"dim",children:[r.fQ[e],"ok"===t?" ✓":"bad"===t?" ✗":""]},e)})})]}):(0,a.jsx)("p",{className:"py-6 ".concat(G?"text-sm":"text-xs"," text-slate-500"),children:"이 창에 런 신호가 없다 — ▶ REPLAY 로 최근 판단을 본다."})}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:"LLM \xb7 ".concat(ev.bucketMin,"분 봉 ⊕ 요청 창"),stat:"".concat(ef.length," REQ \xb7 ").concat(I(eC)," TOK"),children:(0,a.jsxs)("div",{className:"grid grid-cols-5 gap-2",children:[(0,a.jsx)(O,{publicCapture:G,candles:ev.candles,color:ew,unit:"/".concat(ev.bucketMin,"M"),className:"col-span-3"}),(0,a.jsxs)("ul",{className:"col-span-2 ".concat(G?"min-h-28":"h-28"," space-y-0.5 ").concat(G?"overflow-visible":"overflow-hidden"," font-mono ").concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"),"data-live-v5-book":!0,children:[ef.slice(0,10).map((e,t)=>(0,a.jsxs)("li",{className:"relative flex justify-between gap-1 ".concat(G?"overflow-visible":"overflow-hidden"," px-1 ").concat(0===t?"live-line-in":""),children:[(0,a.jsx)("span",{className:"absolute inset-y-0 right-0 opacity-20",style:{width:"".concat((e.input+e.output)/eT*100,"%"),background:ew(e.model)}}),(0,a.jsx)("span",{className:G?"relative whitespace-normal break-words":"relative truncate",style:{color:ew(e.model)},children:G?x(e.model):e.model}),(0,a.jsx)("span",{className:"relative tabular-nums text-slate-300",children:I(e.input+e.output)})]},"".concat(e.ts,"-").concat(t))),0===ef.length&&(0,a.jsx)("li",{className:"text-slate-500",children:"요청 없음"})]})]})})]}),(0,a.jsx)(C,{publicCapture:G,title:"EXECUTION CYCLE \xb7 하니스 한 바퀴",stat:"".concat(eS?"ROUND ".concat(null!=(m=f.rounds[eS.runId])?m:0,"/3 \xb7 "):"","NEXT ").concat(ei,"S"),children:(0,a.jsx)("div",{className:"grid grid-cols-3 gap-1.5 sm:grid-cols-6",children:r.lV.map((e,t)=>{let n=eS?eS.current===e:ev.load.busiest===e,s=null==eS?void 0:eS.stages[e];return(0,a.jsxs)("div",{"data-live-v5-stage":e,"data-hot":n?"1":void 0,className:"rounded-md border px-3 py-2 ".concat(n?"live-v5-hot":""),style:n?{borderColor:"#a78bfa",boxShadow:"0 0 18px #a78bfa66, inset 0 0 18px #a78bfa33",background:"rgba(124,58,237,.28)"}:{borderColor:"rgba(99,102,241,.18)",background:"rgba(2,6,23,.55)"},children:[(0,a.jsxs)("div",{className:"flex justify-between font-mono ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"," text-slate-400"),children:[(0,a.jsx)("span",{children:String(t+1).padStart(2,"0")}),s&&(0,a.jsx)("span",{style:{color:w[s]},children:"ok"===s?"✓":"bad"===s?"✗":"●"})]}),(0,a.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,a.jsx)("span",{className:n?"text-sm font-semibold text-white":"text-sm text-slate-300",children:r.fQ[e]}),(0,a.jsx)("span",{className:"font-mono ".concat(G?"text-sm":"text-xs"," tabular-nums text-slate-400"),title:"지금 이 단계에 있는 런",children:ev.load.counts[e]})]})]},e)})})}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsxs)(C,{publicCapture:G,className:"relative col-span-12 xl:col-span-10",title:"JUDGMENT GRAPH \xb7 FORCE",stat:"NODES ".concat(ed.nodes," \xb7 EDGES ").concat(ed.edges),bodyClass:"p-0",hot:!0,children:[(0,a.jsx)("canvas",{ref:_,className:"h-[370px] w-full bg-[radial-gradient(ellipse_at_center,rgba(79,70,229,.26),rgba(2,6,23,.96)_70%)]","aria-label":"판단 그래프"}),(0,a.jsx)("div",{className:"pointer-events-none absolute left-3 top-9 flex flex-col gap-0.5 rounded-md bg-slate-950/60 p-2 font-mono ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"),children:eI.map(e=>{let{k:t,n}=e;return(0,a.jsxs)("span",{style:{color:b[t]},children:["● ",G?v(t):t," ",(0,a.jsx)("span",{className:"text-slate-400",children:n})]},t)})}),(0,a.jsx)("button",{type:"button",onClick:ej,disabled:en||0===f.stream.length,"data-elanous-action":"live-replay",className:"absolute bottom-3 right-3 rounded-full border border-indigo-400/40 bg-slate-950/70 px-3 py-1 font-mono ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"," text-indigo-200 hover:bg-indigo-500/20 disabled:opacity-40"),title:"이 창의 판단을 옛것부터 빨리 감기(최근 40)",children:en?"REPLAY \xb7 ".concat(Z.current.length):"▶ REPLAY"}),ee&&(0,a.jsx)(q,{item:ee.item,folding:ee.folding,role:Y,publicCapture:G,runLabel:ey})]}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 xl:col-span-2",title:"STATS",stat:"".concat(ei,"S"),children:(0,a.jsxs)("dl",{className:"grid grid-cols-2 gap-x-2 gap-y-1.5 font-mono","data-live-v5-stats":!0,children:[(0,a.jsx)(R,{publicCapture:G,label:"PATHS",value:f.stream.reduce((e,t)=>{var n;return e+(null!=(n=t.paths)?n:0)},0)||"—"}),(0,a.jsx)(R,{publicCapture:G,label:"CONV",value:f.convergence.length?"".concat(f.convergence.filter(e=>{var t;return(null==(t=e.points.at(-1))?void 0:t.asks)===0}).length,"/").concat(f.convergence.length):"—"}),(0,a.jsx)(R,{publicCapture:G,label:"ROUNDS AVG",value:eE.length?(eE.reduce((e,t)=>e+t,0)/eE.length).toFixed(1):"—"}),(0,a.jsx)(R,{publicCapture:G,label:"DECISIONS/MIN",value:eN.decisionsPerMin}),(0,a.jsx)(R,{publicCapture:G,label:"SIGNALS",value:E.length}),(0,a.jsx)(R,{publicCapture:G,label:"LLM REQ",value:ef.length}),G?(0,a.jsx)(R,{publicCapture:G,label:"MODELS",value:ev.ticker.length}):(0,a.jsx)(R,{publicCapture:G,label:"API ≈ USD",value:"$".concat(eA.toFixed(2))}),(0,a.jsx)(R,{publicCapture:G,label:"NEXT POLL",value:"".concat(ei,"s")})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-12 gap-1.5",children:[(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"MODEL \xd7 SITE \xb7 요청 수",stat:"MAX ".concat(ev.heat.max),children:(0,a.jsx)(F,{heat:ev.heat,color:ew,publicCapture:G})}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"DISTRIBUTION \xb7 런 소요 ⊕ 요청 토큰",stat:"".concat(ev.spans," RUNS \xb7 ").concat(ef.length," REQ"),children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,a.jsx)(W,{publicCapture:G,hist:ev.hist,label:e=>"".concat(e.toFixed(0),"분")}),(0,a.jsx)(W,{publicCapture:G,hist:ev.tokHist,label:e=>I(10**e)})]})}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"CONVERGENCE \xb7 must-fix ⊕ GATE",stat:"".concat(f.convergence.length," PR"),children:(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,a.jsx)("div",{className:"col-span-2",children:(0,a.jsx)(U,{publicCapture:G,series:f.convergence})}),(0,a.jsx)(H,{publicCapture:G,pass:ev.gate.pass,fail:ev.gate.fail,verdicts:f.snapshot.reviewVerdicts})]})}),(0,a.jsx)(C,{publicCapture:G,className:"col-span-12 md:col-span-6 xl:col-span-3",title:"EXECUTION LOG \xb7 LIVE",stat:"".concat(f.stream.length),bodyClass:"px-2 py-1",children:(0,a.jsxs)("ul",{className:"".concat(G?"min-h-[124px]":"h-[124px]"," space-y-0.5 ").concat(G?"overflow-visible":"overflow-hidden"," font-mono ").concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10.5px]"),"data-live-max-stream":!0,children:[f.stream.slice(0,9).map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-1.5 ".concat(0===t?"live-line-in":""),style:"SHIP"===e.kind?{textShadow:"0 0 10px ".concat(b.SHIP)}:void 0,children:[(0,a.jsx)("span",{className:"shrink-0 text-slate-500",title:e.ts,children:(0,r.qo)(e.ts)}),(0,a.jsx)("span",{className:"w-14 shrink-0 rounded px-1 text-center",style:{color:b[e.kind],background:"".concat(b[e.kind],"1f")},children:G?"판단":e.kind}),(0,a.jsxs)("span",{className:G?"whitespace-normal break-words":"truncate",children:[G?eg(e):e.what,!G&&e.target&&(0,a.jsxs)("span",{className:"text-slate-500",children:[" → ",e.target]})]})]},"".concat(e.ts,"-").concat(t))),0===f.stream.length&&(0,a.jsx)("li",{className:"text-slate-500",children:"이 창에 판단 신호가 없다."})]})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 rounded-md border border-indigo-400/10 bg-slate-950/60 px-3 py-1 font-mono ".concat(G?"text-sm":"text-[11px]"," ").concat(G?"text-sm":"lg:text-[10px]"," text-slate-400"),children:[(0,a.jsxs)("span",{children:["STACK ",(0,a.jsx)("span",{className:"text-slate-200",children:"elanous-core"})]}),(0,a.jsxs)("span",{children:["SOURCE ",(0,a.jsx)("span",{className:"text-slate-200",children:G?"본부":B})]}),(0,a.jsxs)("span",{children:["SIGNALS ",(0,a.jsx)("span",{className:"text-slate-200",children:E.length})]}),(0,a.jsxs)("span",{children:["LLM ",(0,a.jsxs)("span",{className:"text-slate-200",children:[ef.length," req"]})]}),(0,a.jsxs)("span",{children:["EMITTED ",(0,a.jsx)("span",{className:"text-slate-200",children:f.emitted})]}),G&&(0,a.jsx)("span",{className:"text-emerald-300","data-live-public-capture":!0,children:"PUBLIC CAPTURE \xb7 계정\xb7과금 가림"}),(0,a.jsx)("span",{className:"ml-auto",children:"EVERY NUMBER IS REAL \xb7 보이는 수는 전부 진짜"})]})]})}function I(e){return e>=1e6?"".concat((e/1e6).toFixed(1),"M"):e>=1e3?"".concat((e/1e3).toFixed(e>=1e5?0:1),"k"):String(Math.round(e))}function C(e){let{title:t,stat:n,children:s,className:r="",bodyClass:l="p-2.5",hot:o=!1,publicCapture:i}=e;return(0,a.jsxs)("section",{className:"".concat(i?"overflow-visible":"overflow-hidden"," rounded-lg border bg-slate-950/70 ").concat(r),style:o?{borderColor:"rgba(167,139,250,.7)",boxShadow:"0 0 22px #a78bfa33"}:{borderColor:"rgba(99,102,241,.16)"},"aria-label":t,"data-live-v5-panel":t,children:[(0,a.jsxs)("header",{className:"flex items-center justify-between border-b border-indigo-400/10 px-2.5 py-1 font-mono ".concat(i?"text-sm":"text-[11px]"," ").concat(i?"text-sm":"lg:text-[10.5px]"," tracking-[.08em] text-slate-400"),children:[(0,a.jsxs)("span",{children:["▸ ",t]}),n&&(0,a.jsx)("span",{className:"tabular-nums text-slate-300",children:n})]}),(0,a.jsx)("div",{className:l,children:s})]})}function A(e){let{tone:t,children:n,publicCapture:s}=e,r="ok"===t?b.SHIP:"bad"===t?b.ESCALATE:"heal"===t?b.HEAL:"dim"===t?"#a5b4fc":"#f0abfc";return(0,a.jsx)("span",{className:"inline-block ".concat(s?"whitespace-normal":"whitespace-nowrap"," rounded px-1.5 py-0.5 font-mono ").concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"lg:text-[10px]"," font-semibold tracking-wider ").concat("live"===t?"live-v5-blink":""),style:{color:r,background:"".concat(r,"22"),boxShadow:"inset 0 0 0 1px ".concat(r,"66")},children:n})}function T(e){let{label:t,value:n,color:s,publicCapture:r}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-mono ".concat(r?"text-sm":"text-[11px]"," ").concat(r?"text-sm":"lg:text-[9.5px]"," tracking-widest text-slate-500"),children:t}),(0,a.jsx)("div",{className:"font-mono text-3xl font-semibold tabular-nums",style:{color:s,textShadow:"0 0 14px ".concat(s,"55")},children:n})]})}function R(e){let{label:t,value:n,publicCapture:s}=e;return(0,a.jsxs)("div",{className:"border-b border-indigo-400/10 pb-1",children:[(0,a.jsx)("dt",{className:"".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"lg:text-[9.5px]"," tracking-widest text-slate-500"),children:t}),(0,a.jsx)("dd",{className:"text-lg font-semibold tabular-nums text-indigo-100",children:n})]})}function P(e){let{items:t,ariaLabel:n,slow:s=!1,bare:r=!1,publicCapture:l}=e;return(0,a.jsx)("div",{className:"relative overflow-hidden font-mono ".concat(l?"text-sm":"text-[11px]"," ").concat(r?"":"rounded-md border border-indigo-400/10 bg-slate-950/60 py-1"),"aria-label":n,children:0===t.length?(0,a.jsx)("span",{className:"px-3 text-slate-500",children:"—"}):(0,a.jsxs)("div",{className:"live-v5-marquee flex w-max",style:{animationDuration:"".concat(Math.max(30,t.length*(s?9:6)),"s")},children:[(0,a.jsx)("div",{className:"flex",children:t}),(0,a.jsx)("div",{className:"flex","aria-hidden":!0,children:t})]})})}function L(e){let{value:t,accent:n}=e,[r,l]=(0,s.useState)(t),[o,i]=(0,s.useState)(!1),c=(0,s.useRef)(t);return(0,s.useEffect)(()=>{let e=c.current;t>e&&(i(!0),setTimeout(()=>i(!1),700)),c.current=t;let n=performance.now(),a=0,s=r=>{let o=Math.min(1,(r-n)/900);l(e+(t-e)*(1-Math.pow(1-o,3))),o<1&&(a=requestAnimationFrame(s))};return a=requestAnimationFrame(s),()=>cancelAnimationFrame(a)},[t]),(0,a.jsx)("div",{className:"font-mono text-[112px] font-semibold leading-none tabular-nums",style:{color:n,textShadow:"0 0 ".concat(o?40:26,"px ").concat(n).concat(o?"cc":"66")},"data-live-max-gauge":"SHIPPED",children:Math.round(r)})}function O(e){let{candles:t,color:n,unit:s,className:r="",publicCapture:l}=e,o=Math.max(1,...t.map(e=>e.count)),i=240/t.length,c=(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(240," ").concat(120),className:l?"h-28 w-full":"h-28 w-full ".concat(r),"data-live-v5-candles":!0,"aria-label":"분당 LLM 요청",children:[[.25,.5,.75].map(e=>(0,a.jsx)("line",{x1:0,x2:240,y1:120*e,y2:120*e,stroke:"#1e293b",strokeDasharray:"2 3"},e)),t.map((e,t)=>{let s=120;return Object.entries(e.byModel).map(e=>{let[r,l]=e,c=l/o*114;return s-=c,(0,a.jsx)("rect",{x:t*i+1,y:s,width:Math.max(1,i-2),height:c,fill:n(r),opacity:.85},"".concat(t,"-").concat(r))})}),!l&&(0,a.jsxs)("text",{x:238,y:10,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:[o,s]})]});return l?(0,a.jsxs)("div",{className:r,children:[c,(0,a.jsxs)("span",{className:"block break-words font-mono text-sm text-slate-400",children:[o,s]})]}):c}function F(e){let{heat:t,color:n,publicCapture:s}=e;return 0===t.models.length?(0,a.jsx)("p",{className:"py-6 ".concat(s?"text-sm":"text-xs"," text-slate-500"),children:"이 창에 요청이 없다."}):(0,a.jsxs)("table",{className:"w-full border-separate border-spacing-0.5 font-mono ".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"lg:text-[10px]"),"data-live-v5-heat":!0,children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{}),t.sites.map(e=>(0,a.jsx)("th",{className:s?"max-w-16 whitespace-normal break-words font-normal text-slate-500":"max-w-16 truncate font-normal text-slate-500",children:s?function(e){let t=e.toLowerCase();if("stream-llm"===t||t.startsWith("stream-llm-"))return"대화";if("agent-turn"===t||t.startsWith("agent-turn-"))return"자리 턴";if("pod-rollup"===t||t.startsWith("pod-"))return"파드 작업";if(t.startsWith("stream-"))return"대화 작업";if(t.startsWith("agent-"))return"자리 작업";let n=m.get(e);return n||(n="작업 ".concat(m.size+1),m.set(e,n)),n}(e):e},e))]})}),(0,a.jsx)("tbody",{children:t.models.map(e=>(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:s?"max-w-24 whitespace-normal break-words pr-1":"max-w-24 truncate pr-1",style:{color:n(e)},children:s?x(e):e}),t.sites.map(n=>{var s;let r=null!=(s=t.cells["".concat(e,"|").concat(n)])?s:0,l=0===r?0:Math.min(5,Math.ceil(r/Math.max(1,t.max)*5));return(0,a.jsx)("td",{className:"rounded-sm px-1 py-0.5 text-center tabular-nums",style:{background:l?"rgba(167,139,250,".concat(.12+.15*l,")"):"rgba(30,41,59,.5)",color:l>=4?"#fff":"#cbd5e1"},children:r||"\xb7"},n)})]},e))})]})}function W(e){let{hist:t,label:n,publicCapture:s}=e,r=200/t.bins.length;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(200," ").concat(90),className:"h-20 w-full","data-live-v5-hist":!0,"aria-label":"분포",children:[(0,a.jsx)("defs",{children:(0,a.jsxs)("linearGradient",{id:"v5hist",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:b.HEAL}),(0,a.jsx)("stop",{offset:"60%",stopColor:b.PLAN}),(0,a.jsx)("stop",{offset:"100%",stopColor:b.ROUTE})]})}),t.bins.map((e,n)=>{let s=t.max?e/t.max*86:0;return(0,a.jsx)("rect",{x:n*r+.5,y:90-s,width:Math.max(1,r-1),height:s,fill:"url(#v5hist)",opacity:.9},n)}),(0,a.jsx)("line",{x1:0,x2:200,y1:89.5,y2:89.5,stroke:"#334155"})]}),(0,a.jsxs)("div",{className:"flex justify-between font-mono ".concat(s?"text-sm":"text-[11px]"," ").concat(s?"text-sm":"lg:text-[9.5px]"," text-slate-500"),children:[(0,a.jsx)("span",{children:t.max?n(t.lo):"—"}),(0,a.jsx)("span",{children:t.max?n(t.hi):""})]})]})}function H(e){let{pass:t,fail:n,verdicts:s,publicCapture:r}=e,l=[{name:"GATE ✓",count:t,c:b.SHIP},{name:"GATE ✗",count:n,c:b.ESCALATE},...s.slice(0,3).map(e=>({name:e.name.toUpperCase(),count:e.count,c:b.VERIFY}))],o=Math.max(1,...l.map(e=>e.count));return(0,a.jsx)("ul",{className:"space-y-1 font-mono ".concat(r?"text-sm":"text-[11px]"," ").concat(r?"text-sm":"lg:text-[9.5px]"),"data-live-v5-gate":!0,children:l.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsxs)("div",{className:"flex justify-between text-slate-400",children:[(0,a.jsx)("span",{className:r?"whitespace-normal break-words":"truncate",children:e.name}),(0,a.jsx)("span",{className:"tabular-nums text-slate-200",children:e.count})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full bg-slate-800",children:(0,a.jsx)("div",{className:"h-1.5 rounded-full",style:{width:"".concat(e.count/o*100,"%"),background:e.c,boxShadow:"0 0 8px ".concat(e.c,"88")}})})]},e.name))})}function q(e){var t;let{item:n,folding:s,role:l,publicCapture:o,runLabel:i}=e,{line:c}=n,d=b[c.kind];return(0,a.jsxs)("div",{"data-live-decision-card":c.kind,className:"pointer-events-none absolute left-1/2 top-12 w-[min(92%,580px)] rounded-xl border bg-slate-950/85 p-3 backdrop-blur transition-all duration-200",style:{borderColor:"".concat(d,"88"),boxShadow:"0 0 32px ".concat(d,"55"),opacity:+!s,transform:"translateX(-50%) scale(".concat(s&&!o?.6:1,")")},children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-mono ".concat(o?"text-sm":"text-[11px]"," ").concat(o?"text-sm":"lg:text-[10px]"),children:[(0,a.jsxs)("span",{style:{color:d},children:["● ",c.kind]}),(0,a.jsx)("span",{className:"text-slate-500",children:(0,r.qo)(c.ts)}),(o||"owner"===l)&&c.runId&&(0,a.jsx)("span",{className:"text-slate-500",children:o?i(c.runId):c.runId.replace(/^run-/,"").slice(0,8)}),c.paths?(0,a.jsxs)("span",{className:"ml-auto text-slate-400",children:["PATHS ",c.paths]}):null]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2 ".concat(o?"text-sm":"text-[11px]"," leading-snug"),children:[(0,a.jsx)(D,{publicCapture:o,label:"무엇 \xb7 WHAT",value:o?v(c.kind):c.what,strong:!0}),(0,a.jsx)(D,{publicCapture:o,label:"왜 \xb7 WHY",value:o?v(c.kind):null!=(t=(0,r.hS)(c.why,l))?t:c.purpose}),(0,a.jsx)(D,{publicCapture:o,label:"어디로 \xb7 TO",value:o?c.target?v(c.kind):null:c.target,accent:d})]})]})}function D(e){let{label:t,value:n,strong:s=!1,accent:r,publicCapture:l}=e;return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"font-mono ".concat(l?"text-sm":"text-[11px]"," ").concat(l?"text-sm":"lg:text-[9px]"," tracking-widest text-slate-500"),children:t}),(0,a.jsx)("div",{className:s?"".concat(l?"break-words":"line-clamp-3"," font-medium text-slate-100"):"".concat(l?"break-words":"line-clamp-3"," text-slate-300"),style:r&&n?{color:r}:void 0,children:null!=n?n:"—"})]})}function U(e){let{series:t,publicCapture:n}=e,s=Math.max(1,...t.flatMap(e=>e.points.map(e=>e.asks))),r=Math.max(3,...t.flatMap(e=>e.points.map(e=>e.round))),l=e=>20+(e-1)/Math.max(1,r-1)*146,o=e=>84-e/s*72,i=Array.from({length:r},(e,t)=>t+1);return(0,a.jsxs)("div",{"data-live-convergence":!0,children:[0===t.length?(0,a.jsx)("div",{className:"py-8 text-center ".concat(n?"text-sm":"text-[11px]"," text-slate-500"),children:"이 창에 리뷰 라운드가 없다."}):(0,a.jsxs)("svg",{viewBox:"0 0 ".concat(200," ").concat(100),className:"h-24 w-full",children:[(0,a.jsx)("line",{x1:20,y1:84,x2:166,y2:84,stroke:"#334155"}),(0,a.jsx)("line",{x1:20,y1:12,x2:20,y2:84,stroke:"#334155"}),i.map(e=>(0,a.jsxs)("g",{children:[(0,a.jsx)("line",{x1:l(e),y1:12,x2:l(e),y2:84,stroke:"#1e293b",strokeDasharray:"2 3"}),!n&&(0,a.jsxs)("text",{x:l(e),y:96,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"middle",children:["R",e]})]},e)),!n&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("text",{x:17,y:o(s)+3,fill:"#64748b",fontSize:8,fontFamily:"monospace",textAnchor:"end",children:s}),(0,a.jsx)("text",{x:17,y:o(0)+3,fill:b.SHIP,fontSize:8,fontFamily:"monospace",textAnchor:"end",children:"0"})]}),t.slice(0,6).map((e,t)=>{let s=e.points.at(-1),r=0===s.asks?b.SHIP:["#818cf8","#fbbf24","#38bdf8","#f0abfc","#fb7185"][t%5];return(0,a.jsxs)("g",{children:[(0,a.jsx)("polyline",{fill:"none",stroke:r,strokeWidth:1.6,points:e.points.map(e=>"".concat(l(e.round),",").concat(o(e.asks))).join(" ")}),e.points.map(e=>(0,a.jsx)("circle",{cx:l(e.round),cy:o(e.asks),r:2.5,fill:r},e.round)),!n&&(0,a.jsxs)("text",{x:l(s.round)+4,y:o(s.asks)-3,fill:r,fontSize:8,fontFamily:"monospace",children:["#",e.pr," ",s.asks]})]},e.pr)})]}),n&&t.length>0&&(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-1 font-mono text-sm text-slate-400","data-live-convergence-labels":!0,children:[(0,a.jsxs)("span",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:s}),(0,a.jsx)("span",{className:"text-emerald-300",children:"0"})]}),(0,a.jsx)("span",{className:"flex flex-wrap gap-x-2",children:i.map(e=>(0,a.jsxs)("span",{children:["R",e]},e))}),(0,a.jsx)("span",{className:"flex flex-col break-words",children:t.slice(0,6).map((e,t)=>{let n=e.points.at(-1);return(0,a.jsxs)("span",{style:{color:0===n.asks?b.SHIP:["#818cf8","#fbbf24","#38bdf8","#f0abfc","#fb7185"][t%5]},children:["#",e.pr," ",n.asks]},e.pr)})})]})]})}},35083:(e,t,n)=>{n.d(t,{cn:()=>r});var a=n(44196),s=n(25080);function r(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.QP)((0,a.$)(t))}},35857:(e,t,n)=>{let a;n.d(t,{cY:()=>d,x8:()=>o});let s={debug:0,info:1,warn:2,error:3},r="/v1/debug-logs/batch",l=null;function o(e){l=e}class i{health(){return{pending:this.queue.length,consecutiveFailures:this.consecutiveFailures,lastOkAt:this.lastOkAt,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches}}push(e){if(!(s[function(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return/^(error|exception|crash|fail|failed)$/.test(t)?"error":/^(warn|degraded|timeout)$/.test(t)?"warn":/^(boot|ready|start|begin|open|ok|done|resolve|end|stop|close)$/.test(t)?"info":"debug"}(e.category)]<s[this.minLevel])){if(this.queue.push(e),this.queue.length>500){let e=this.queue.length-500;this.droppedByCap+=e,this.queue.splice(0,e)}if(this.queue.length>=100&&!this.inFlight){null!==this.timer&&(clearTimeout(this.timer),this.timer=null),this.flush();return}null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},this.flushMs))}}async flush(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.inFlight||0===this.queue.length)return;let e=this.queue.slice(0,100);this.inFlight=!0;let t=!1,n=JSON.stringify({records:e});try{var a,s;t=await (a=this.fetchFn(n),s=this.postTimeoutMs,new Promise((e,t)=>{let n=setTimeout(()=>t(Error("debug-forward timeout after ".concat(s,"ms"))),s);a.then(t=>{clearTimeout(n),e(t)},e=>{clearTimeout(n),t(e)})}))}catch(e){t=!1}finally{this.inFlight=!1}if(!t){if(this.consecutiveFailures+=1,this.consecutiveFailures>=2&&l)try{await l(JSON.stringify({records:[...e,this.blockedNotice()]}))&&(this.fallbackBatches+=1)}catch(e){}this.wasFailing=!0,this.scheduleRetry();return}let r=this.lastOkAt;this.lastOkAt=Date.now();let o=this.consecutiveFailures;this.consecutiveFailures=0,this.queue.splice(0,e.length),this.wasFailing&&(this.wasFailing=!1,this.queue.push({ts:new Date().toISOString(),category:"pwa.debug-forwarder.recovered",event:"recovered",data:{consecutiveFailures:o,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches,pending:this.queue.length,previousOkAt:r},source:{platform:"pwa"}})),this.queue.length>0&&null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},this.flushMs))}scheduleRetry(){if(null!==this.timer||0===this.queue.length)return;let e=Math.min(this.flushMs*2**this.consecutiveFailures,3e4);this.timer=setTimeout(()=>{this.flush()},e)}blockedNotice(){return{ts:new Date().toISOString(),category:"pwa.debug-forwarder.http-blocked",event:"http-blocked",data:{consecutiveFailures:this.consecutiveFailures,pending:this.queue.length,droppedByCap:this.droppedByCap,lastOkAt:this.lastOkAt,via:"acp-fallback"},source:{platform:"pwa"}}}beaconFlush(){if(0!==this.queue.length)try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){let e=this.queue.slice(0,100),t=new Blob([JSON.stringify({records:e})],{type:"application/json"});navigator.sendBeacon(r,t)&&this.queue.splice(0,e.length)}}catch(e){}}get pending(){return this.queue.length}constructor(e=c,t="debug",n=1e4,a=100){this.fetchFn=e,this.minLevel=t,this.postTimeoutMs=n,this.flushMs=a,this.queue=[],this.timer=null,this.inFlight=!1,this.consecutiveFailures=0,this.lastOkAt=null,this.droppedByCap=0,this.fallbackBatches=0,this.wasFailing=!1}}async function c(e){return(await fetch(r,{method:"POST",headers:{"content-type":"application/json"},body:e,keepalive:!0,..."undefined"!=typeof AbortSignal&&"function"==typeof AbortSignal.timeout?{signal:AbortSignal.timeout(1e4)}:{}})).ok}function d(e,t){if("undefined"==typeof console)return;let n=new Date().toISOString();if(void 0!==t){let a="";try{let e=new WeakSet;a=JSON.stringify(t,(t,n)=>{if("bigint"==typeof n)return"".concat(n.toString(),"n");if("function"==typeof n)return"[fn ".concat(n.name||"anon","]");if(n&&"object"==typeof n){if(e.has(n))return"[circular]";e.add(n)}return n})}catch(e){a="[unserializable: ".concat(String(e),"]")}a&&a.length>800&&(a=a.slice(0,797)+"..."),console.debug("[".concat(n,"] ").concat(e," ").concat(a),t),u(n,e,a)}else console.debug("[".concat(n,"] ").concat(e)),u(n,e,void 0)}function u(e,t,n){let s,r=function(){if(void 0!==a)return a;let e=function(){try{let e="off"!==window.localStorage.getItem("elanous.pwa.debug.forward"),t=window.localStorage.getItem("elanous.pwa.debug.forwardLevel");return{forward:e,level:"info"===t||"warn"===t||"error"===t?t:"debug"}}catch(e){return{forward:!0,level:"debug"}}}();if(!e.forward)return a=null,null;let t=new i(c,e.level,1e4,1500);try{window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&t.beaconFlush()})}catch(e){}return a=t,t}();if(!r)return;let l=t.slice(t.lastIndexOf(".")+1)||t;if(void 0!==n&&""!==n)try{s=JSON.parse(n)}catch(e){s=n}r.push({ts:e,category:t,event:l,...void 0!==s?{data:s}:{},source:{platform:"pwa"}})}},50475:(e,t,n)=>{n.d(t,{HI:()=>l});var a=n(49954),s=n(59917),r=n(6896);function l(e){var t,n,l;let o=(0,r.M1)(),i=(t,n)=>{var a;return{queryKey:["live","logs",t,null!=(a=e.store)?a:"",e.windowMinutes],queryFn:()=>o.getLogs({category:t,since:"".concat(e.windowMinutes,"m"),limit:n,store:e.store}),refetchInterval:5e3}},c=(0,s.I)(i("goal-author,harness.frontdoor,harness.substrate,harness.boundary,harness.role-llm,dev-pipeline,self-dev,self-gate,review-loop",1500)),d=(0,s.I)(i("llm.usage",2e3)),u=(0,s.I)(i("harness.decision,oauth.codex-account,harness.boundary",300)),p=(0,s.I)(i("research",300)),h=(0,a.useMemo)(()=>{var e,t,n,a,s,r,l,o;return[...null!=(s=null==(e=c.data)?void 0:e.logs)?s:[],...null!=(r=null==(t=d.data)?void 0:t.logs)?r:[],...null!=(l=null==(n=u.data)?void 0:n.logs)?l:[],...null!=(o=null==(a=p.data)?void 0:a.logs)?o:[]]},[c.data,d.data,u.data,p.data]),m={data:(0,a.useMemo)(()=>({ok:!0,logs:h,count:h.length}),[h]),error:null!=(l=null!=(n=null!=(t=c.error)?t:d.error)?n:u.error)?l:null,dataUpdatedAt:Math.max(c.dataUpdatedAt,d.dataUpdatedAt,u.dataUpdatedAt,p.dataUpdatedAt),truncated:[c,d,u].some(e=>e.data&&e.data.count>=(e===d?2e3:e===c?1500:300)),...function(e){let t=new Set,n=new Set,a=null;for(let l of e){var s,r;for(let e of null!=(s=null==l?void 0:l.stores)?s:[])t.add(e);for(let e of null!=(r=null==l?void 0:l.failedStores)?r:[])n.add(e.name);"number"==typeof(null==l?void 0:l.registeredStores)&&(a=Math.max(null!=a?a:0,l.registeredStores))}return{stores:[...t],failedStores:[...n],registeredStores:a}}([c.data,d.data,u.data,p.data])};return{logs:m,runs:(0,s.I)({queryKey:["live","runs"],queryFn:()=>o.getHarnessRuns(),refetchInterval:6e4}),instances:(0,s.I)({queryKey:["live","instances"],queryFn:()=>o.getLogInstances(),staleTime:6e4})}}},73158:(e,t,n)=>{n.d(t,{Er:()=>s,cj:()=>c,dc:()=>l,yR:()=>i});let a=/^(oauth\.|harness\.decision|llm\.router)/;function s(e){let t=[],n=e=>{"string"==typeof e&&e.trim()&&!t.includes(e.trim())&&t.push(e.trim())};for(let t of e){var s;let e=null!=(s=t.data)?s:{};if(t.category.startsWith("oauth.")){for(let t of["from","to","name","account"])n(e[t]);if(Array.isArray(e.usage))for(let t of e.usage)n(null==t?void 0:t.name);continue}if(a.test(t.category))for(let t of(n(e.account),["what","why","reason"])){let a=e[t];if("string"==typeof a)for(let e of a.matchAll(/계정\s+([A-Za-z0-9][\w.-]*)/g))n(e[1])}}return t}function r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function l(e){let t=new Map(e.map((e,t)=>[e,"account-".concat(t+1)])),n=e.length?RegExp("(^|[^\\w-])(".concat(e.map(r).sort((e,t)=>t.length-e.length).join("|"),")(?![\\w-])"),"g"):null,a=new Map;return(e,s)=>{let r=e.replace(/\b[a-z0-9-]+\.tail[0-9a-f]+\.ts\.net\b/gi,"tailnet-host").replace(/\bmsb\d+\b/gi,e=>(e=>{let t=e.toLowerCase();a.has(t)||a.set(t,"remote-".concat(a.size+1));let n=a.get(t);return e===e.toUpperCase()?n.toUpperCase():n})(e)).replace(/\bmbp\b/gi,e=>e===e.toUpperCase()?"LOCAL":"local").replace(/\/Users\/[^/\s"']+/g,"~").replace(/(크레딧|credits?|💳)(\s*[:=]?\s*)[\d][\d,.]*/gi,"$1$2•••").replace(/[\d][\d,.]*(\s*)(크레딧|credits?)/gi,"•••$1$2").replace(/\$\s?[\d][\d,.]*/g,"$•••").replace(/(잔량?|remaining|left)(\s*[:=]?\s*)(?:[A-Za-z0-9][\w.-]*\s+)?\d+(?:\.\d+)?\s?%/gi,"$1$2•••");return s&&n&&(r=r.replace(n,(e,n,a)=>{var s;return"".concat(n).concat(null!=(s=t.get(a))?s:"account")})),r}}function o(e,t){if("string"==typeof e)return t(e);if(Array.isArray(e))return e.map(e=>o(e,t));if(e&&"object"==typeof e){let n={};for(let[a,s]of Object.entries(e))"apiEquivalentUsd"===a||"usd"===a||/credit(s|Balance)?$/i.test(a)||(n[a]=o(s,t));return n}return e}function i(e){let t=l(s(e));return e.map(e=>{let n=a.test(e.category);return{...e,event:t(e.event,!1),data:e.data?o(e.data,e=>t(e,n)):e.data}})}function c(e,t){let n=l(t);return o(e,e=>n(e,!0))}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7290],{37290:(e,s,c)=>{c.d(s,{createTreeViewServices:()=>r.I});var r=c(18347);c(64390)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7477],{8801:(e,r,t)=>{t.d(r,{C:()=>i,DaemonProvider:()=>c,Q:()=>u});var n=t(77194),a=t(49954),s=t(9248),o=t(19631),d=t(49638),l=t(35857);let i=(0,a.createContext)(null);function c(e){let{children:r}=e,t={baseUrl:"",token:"",provider:""},[c,u]=(0,a.useState)(t),[m,p]=(0,a.useState)(""),[x]=(0,a.useState)(()=>new d.ki(t));(0,a.useEffect)(()=>{let e=(0,s.Fp)();u(e),x.updateConfig(e),p((0,o.oD)()),(0,l.cY)("webterm.provider.daemon.init",{baseUrl:e.baseUrl,hasToken:!!e.token})},[x]),(0,a.useEffect)(()=>{let e=e=>{if("elanous.daemon.token"===e.key||"elanous.nexus.baseUrl"===e.key){let r=(0,s.Fp)();x.updateConfig(r),u(r),(0,l.cY)("webterm.provider.daemon.config-cross-tab",{key:e.key,hasToken:!!r.token});return}"elanous.daemon.sessionId"===e.key&&e.newValue&&p(r=>r===e.newValue?r:((0,l.cY)("webterm.provider.daemon.session-cross-tab",{previous:r||"(empty)",next:e.newValue}),e.newValue))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[x]);let f=e=>{u(r=>{let t={...r,...e};return(0,s.Qc)(e),x.updateConfig(t),(0,l.cY)("webterm.provider.daemon.config-update",{keys:Object.keys(e)}),t})},h=e=>{p(e),localStorage.setItem("elanous.daemon.sessionId",e),(0,l.cY)("webterm.provider.daemon.session-set",{sessionId:e})},b=(0,a.useMemo)(()=>({config:c,setConfig:f,client:x,sessionId:m,setSessionId:h}),[c,x,m]);return(0,n.jsx)(i.Provider,{value:b,children:r})}function u(){let e=(0,a.useContext)(i);if(!e)throw Error("useDaemon must be used inside <DaemonProvider>");return e}},19631:(e,r,t)=>{t.d(r,{Zr:()=>o,f6:()=>a,oD:()=>s});let n="elanous.daemon.sessionId";function a(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"s-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10))}function s(){let e=function(){let e=new URLSearchParams(window.location.search).get("session");return e?(localStorage.setItem(n,e),e):localStorage.getItem(n)}();if(e)return e;let r=a();return localStorage.setItem(n,r),r}function o(){let e=a();return localStorage.setItem(n,e),e}},75419:(e,r,t)=>{function n(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function a(e){return"string"==typeof e}function s(e){return a(e)&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/.test(e)&&Number.isFinite(Date.parse(e))&&new Date(e).toISOString().slice(0,19)===e.slice(0,19)}function o(e){return n(e)&&a(e.nodeId)&&(null===e.ok||"boolean"==typeof e.ok)&&a(e.summary)&&(void 0===e.startedAt||null===e.startedAt||a(e.startedAt))&&(void 0===e.endedAt||null===e.endedAt||a(e.endedAt))}t.d(r,{HG:()=>g,Kh:()=>b,Nn:()=>f,oc:()=>h});let d=new Set(["pending","running","done","retry","timeout","failed"]),l=e=>void 0===e||"number"==typeof e&&Number.isFinite(e);function i(e){return!!(n(e)&&a(e.runId)&&a(e.status)&&a(e.startedAt)&&(null===e.version||a(e.version))&&Array.isArray(e.path)&&e.path.every(a)&&Array.isArray(e.nodes)&&e.nodes.every(o))&&(void 0!==e.gateShards&&!function(e){if(!n(e)||!a(e.version)||!a(e.updatedAt)||!Array.isArray(e.shards)||!n(e.summary))return!1;let r=e.summary;return e.shards.every(e=>n(e)&&a(e.id)&&d.has(e.state)&&l(e.plannedMin)&&l(e.installSec)&&l(e.rc)&&(void 0===e.waitReason||a(e.waitReason)))&&Number.isInteger(r.total)&&n(r.counts)&&[...d].every(e=>Number.isInteger(r.counts[e]))&&Array.isArray(r.waitReasons)&&r.waitReasons.every(e=>n(e)&&a(e.reason)&&Number.isInteger(e.count))&&(null===r.etaMin||"number"==typeof r.etaMin)&&(null===r.staleMin||"number"==typeof r.staleMin)&&(void 0===r.overrunMin||"number"==typeof r.overrunMin)}(e.gateShards)&&delete e.gateShards,!0)}function c(e){return n(e)&&a(e.id)&&a(e.title)&&a(e.status)&&(void 0===e.owner||a(e.owner))&&a(e.updatedAt)&&(void 0===e.evidence||a(e.evidence))}let u=e=>Number.isInteger(e)&&e>=0;function m(e){return n(e)&&a(e.id)&&a(e.title)&&(null===e.open||u(e.open))&&(null===e.landed||u(e.landed))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>n(e)&&a(e.id)&&a(e.title)))}function p(e){return n(e)&&["OP","MK","TC","UX"].includes(e.seat)&&(void 0===e.role||a(e.role))&&(null===e.now||n(e.now)&&a(e.now.text)&&a(e.now.at))&&(null===e.landed||Array.isArray(e.landed)&&e.landed.every(e=>n(e)&&u(e.pr)&&a(e.title)&&a(e.at)&&(null===e.checklistId||a(e.checklistId))))&&(null===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(e=>n(e)&&a(e.id)&&a(e.title)&&"red"===e.status))&&(null===e.pendingDecisions||u(e.pendingDecisions))&&(null===e.checklist||n(e.checklist)&&["green","yellow","red","done"].every(r=>u(e.checklist[r])))&&(void 0===e.subSeats||null===e.subSeats||Array.isArray(e.subSeats)&&e.subSeats.every(m))}async function x(e,r,t){try{let n=await e.fetchResponse(r,{method:"GET"});if(403===n.status)return{kind:"forbidden"};if(!n.ok)return{kind:"error",status:n.status};let a=t(await n.json());return null===a?{kind:"error",status:n.status}:{kind:"ready",data:a}}catch(e){return{kind:"error",status:0}}}function f(e,r){return x(e,"/v1/ops/seats".concat(r?"?date=".concat(encodeURIComponent(r)):""),e=>n(e)&&a(e.date)&&Array.isArray(e.seats)&&e.seats.every(p)&&new Set(e.seats.map(e=>e.seat)).size===e.seats.length?{date:e.date,seats:e.seats}:null)}function h(e,r){return x(e,"/v1/ops/release/runs".concat(r?"?version=".concat(encodeURIComponent(r)):""),e=>Array.isArray(e)&&e.every(i)?e:null)}function b(e,r,t){return x(e,"/v1/ops/release/runs/".concat(encodeURIComponent(r),"/nodes/").concat(encodeURIComponent(t),"/log"),e=>n(e)&&a(e.log)?{log:e.log}:null)}function g(e,r){return x(e,"/v1/ops/checklist?version=".concat(encodeURIComponent(r)),e=>{var r,t,o,d;if(!(n(e)&&a(e.version)&&(void 0===e.codename||a(e.codename))&&Array.isArray(e.items)&&e.items.every(c)&&["green","yellow","red","done"].every(r=>void 0===e[r]||Number.isInteger(e[r])&&e[r]>=0)&&(void 0===e.blocked||Array.isArray(e.blocked)&&e.blocked.every(a))&&(void 0===e.byOwner||n(e.byOwner)&&Object.values(e.byOwner).every(e=>Number.isInteger(e)&&e>=0))&&(void 0===e.history||Array.isArray(e.history))))return null;let l={green:0,yellow:0,red:0,done:0};for(let r of e.items)r.status in l&&l[r.status]++;return{version:e.version,...void 0!==e.codename?{codename:e.codename}:{},schedule:n(e.schedule)&&s(e.schedule.cutAt)&&(null===e.schedule.landBy||s(e.schedule.landBy))?{cutAt:e.schedule.cutAt,landBy:e.schedule.landBy}:null,items:e.items,green:null!=(r=e.green)?r:l.green,yellow:null!=(t=e.yellow)?t:l.yellow,red:null!=(o=e.red)?o:l.red,done:null!=(d=e.done)?d:l.done,...void 0!==e.blocked?{blocked:e.blocked}:{},...void 0!==e.byOwner?{byOwner:e.byOwner}:{},...void 0!==e.history?{history:e.history}:{}}})}},77419:(e,r,t)=>{t.d(r,{bq:()=>m,af:()=>g,Jv:()=>y});var n=t(77194);let a={failed:{word:"실패",mark:"✗",cell:"border-red-600/60 bg-red-600/15 text-red-800 dark:text-red-300"},timeout:{word:"잘림",mark:"✂",cell:"border-orange-600/60 bg-orange-500/15 text-orange-800 dark:text-orange-300"},retry:{word:"재시도",mark:"↻",cell:"border-amber-600/60 bg-amber-500/15 text-amber-800 dark:text-amber-300"},pending:{word:"대기",mark:"○",cell:"border-dashed border-border bg-muted/40 text-muted-foreground"},running:{word:"돌기",mark:"●",cell:"border-primary bg-primary/10 text-foreground"},done:{word:"끝",mark:"✓",cell:"border-emerald-600/50 bg-emerald-600/10 text-emerald-800 dark:text-emerald-300"}},s={pending:{word:"끝 \xb7 rc≠0 \xb7 판정 전",mark:"!",cell:"border-amber-600/60 bg-amber-500/15 text-amber-800 dark:text-amber-300"},preexisting:{word:"끝 \xb7 기존 실패",mark:"✓",cell:"border-emerald-600/50 bg-emerald-600/10 text-emerald-800 dark:text-emerald-300"},introduced:{word:"끝 \xb7 rc≠0 \xb7 새 실패 있음",mark:"!",cell:"border-red-600/60 bg-red-600/15 text-red-800 dark:text-red-300"}},o=e=>"done"===e.state&&void 0!==e.rc&&0!==e.rc,d=(e,r)=>o(e)?(e=>e?e.introduced>0?s.introduced:s.preexisting:s.pending)(r):a[e.state],l=Object.keys(a);function i(e){let r=e.summary.counts,t=e.shards.filter(o).length;return["조각 ".concat(e.summary.total),...l.filter(e=>r[e]>0).map(n=>{var s;return"".concat(a[n].word," ").concat(r[n]).concat("done"===n?(s=e.summary.verdict)?s.introduced>0?"(새 실패 ".concat(s.introduced,")"):"":t?"(rc≠0 ".concat(t," \xb7 기존 실패 포함 \xb7 판정 전)"):"":"")})].join(" \xb7 ")}function c(e,r){let t=["".concat(e.id," \xb7 ").concat(d(e,r).word)];return e.waitReason&&t.push("대기 이유: ".concat(e.waitReason)),void 0!==e.rc&&t.push("rc ".concat(e.rc)),void 0!==e.installSec&&t.push("설치 ".concat(e.installSec,"초")),void 0!==e.plannedMin&&t.push("계획 ".concat(e.plannedMin,"분")),t.join(" \xb7 ")}function u(e){let{gate:r}=e,{summary:t}=r,a=e=>l.indexOf(e.state)-.5*!!o(e),s=[...r.shards].sort((e,r)=>a(e)-a(r)||e.id.localeCompare(r.id,"en",{numeric:!0}));return(0,n.jsxs)("div",{className:"min-w-0 space-y-2","aria-label":"게이트 조각",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"게이트 조각"}),(0,n.jsxs)("p",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 text-sm",children:[(0,n.jsx)("span",{className:"font-semibold tabular-nums",children:i(r)}),(0,n.jsx)("span",{className:"text-muted-foreground",children:function(e){var r;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(null!=(r=t.overrunMin)?r:0)>=1?"계획보다 ".concat(t.overrunMin,"분 넘게 도는 중 — 남은 시간 추정 불가"):null===e?"남은 시간 추정 불가(계획 분 없음)":0===e?t.open?"곧 끝남(계획상)":"남은 조각 없음":e>=60?"남은 약 ".concat(Math.floor(e/60),"시간 ").concat(e%60,"분"):"남은 약 ".concat(e,"분")}(t.etaMin,{overrunMin:t.overrunMin,open:t.counts.running+t.counts.pending+t.counts.retry})}),null!==t.staleMin&&t.staleMin>=15&&(0,n.jsxs)("span",{role:"alert",className:"font-semibold text-amber-700 dark:text-amber-400",children:["⚠️ ",t.staleMin,"분째 갱신 없음"]})]}),t.waitReasons.length>0&&(0,n.jsx)("ul",{"aria-label":"대기 이유",className:"space-y-0.5 text-xs",children:t.waitReasons.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)("span",{className:"font-medium",children:["대기 ",e.count]})," — ",e.reason]},e.reason))}),(0,n.jsx)("ol",{"aria-label":"조각 상태 표",className:"grid grid-cols-4 gap-1 sm:grid-cols-6 lg:grid-cols-8",children:s.map(e=>{let r=d(e,t.verdict);return(0,n.jsxs)("li",{"data-shard-state":e.state,title:c(e,t.verdict),"aria-label":c(e,t.verdict),className:"min-w-0 rounded border px-1.5 py-1 text-[11px] leading-tight ".concat(r.cell),children:[(0,n.jsx)("span",{className:"block truncate font-mono",children:e.id}),(0,n.jsxs)("span",{className:"block font-semibold",children:[r.mark," ",r.word]})]},e.id)})})]})}let m={done:{mark:"✓",word:"끝남",chip:"border-emerald-600/50 bg-emerald-600/10",dot:"bg-emerald-600 text-white"},failed:{mark:"✗",word:"실패",chip:"border-red-600/60 bg-red-600/10",dot:"bg-red-600 text-white"},current:{mark:"●",word:"지금",chip:"border-primary bg-primary/10 ring-2 ring-primary/30",dot:"bg-primary text-primary-foreground"},pending:{mark:"○",word:"남음",chip:"border-border border-dashed bg-muted/30",dot:"bg-muted text-muted-foreground"}},p=/^(done|completed|success|succeeded|failed|error|cancelled|aborted)$/i;function x(e,r){let t=e.nodes.find(e=>e.nodeId===r);return(null==t?void 0:t.ok)===!0?"done":(null==t?void 0:t.ok)===!1?"failed":e.path.find(r=>{var t;return(null==(t=e.nodes.find(e=>e.nodeId===r))?void 0:t.ok)!==!0})!==r||p.test(e.status)?"pending":"current"}let f=e=>!!e&&Number.isFinite(Date.parse(e)),h=e=>new Date(e).toLocaleTimeString("ko-KR",{timeZone:"Asia/Seoul",hour:"2-digit",minute:"2-digit",hourCycle:"h23"});function b(e,r){if(!f(null==e?void 0:e.startedAt))return"시각 미기록";let t=Math.max(0,Math.round(((f(e.endedAt)?Date.parse(e.endedAt):r)-Date.parse(e.startedAt))/6e4));return"".concat(h(e.startedAt)).concat(f(e.endedAt)?"–".concat(h(e.endedAt)):" 시작"," \xb7 ").concat(t,"분")}function g(e){let{run:r,openedNodeId:t,onNode:a,now:s=Date.now()}=e,o=r.path.map(e=>x(r,e)),d=["done","failed","current","pending"].map(e=>[e,o.filter(r=>r===e).length]);return(0,n.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,n.jsx)("div",{className:"flex h-2 w-full overflow-hidden rounded-full bg-muted",role:"img","aria-label":"노드 ".concat(r.path.length,"개 중 ").concat(d.map(e=>{let[r,t]=e;return"".concat(m[r].word," ").concat(t)}).join(" \xb7 ")),children:o.map((e,r)=>(0,n.jsx)("span",{className:"h-full flex-1 border-r border-background last:border-0 ".concat(m[e].dot)},r))}),(0,n.jsx)("p",{className:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground",children:d.map(e=>{let[r,t]=e;return(0,n.jsxs)("span",{children:[m[r].mark," ",m[r].word," ",t]},r)})}),(0,n.jsx)("ol",{"aria-label":"노드 흐름",className:"flex min-w-0 flex-col gap-0 md:flex-row md:flex-wrap md:items-stretch md:gap-y-3",children:r.path.map((e,d)=>{let l=r.nodes.find(r=>r.nodeId===e),c=o[d],u=m[c],p="gate"===e&&"current"===c?r.gateShards:void 0,x=!p&&l?function(e){var r;let t=null!=(r=/(?:샤드|shards?)\D{0,8}?(\d+)\s*\/\s*(\d+)/i.exec(e))?r:/(\d+)\s*\/\s*(\d+)\s*(?:샤드|shards?)/i.exec(e);if(!t)return null;let n=Number(t[1]),a=Number(t[2]);return a>0&&n<=a?{done:n,total:a}:null}(l.summary):null,f=t===e;return(0,n.jsxs)("li",{"data-node-state":c,className:"flex min-w-0 flex-col md:flex-row md:items-center",children:[(0,n.jsxs)("button",{type:"button","aria-expanded":f,"aria-controls":"release-node-detail","aria-current":"current"===c?"step":void 0,onClick:()=>a(e),className:"flex w-full min-w-0 items-start gap-2 rounded-lg border p-2.5 text-left transition-colors hover:bg-muted md:w-52 ".concat(u.chip," ").concat(f?"outline outline-2 outline-offset-2 outline-primary":""),children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-bold ".concat(u.dot),children:u.mark}),(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[(0,n.jsx)("span",{className:"text-[11px] tabular-nums text-muted-foreground",children:d+1}),(0,n.jsx)("span",{className:"min-w-0 truncate font-medium",title:e,children:e})]}),(0,n.jsxs)("span",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 text-xs",children:[(0,n.jsx)("span",{className:"font-semibold",children:u.word}),(0,n.jsx)("span",{className:"text-muted-foreground",children:b(l,s)})]}),p&&(0,n.jsx)("span",{className:"mt-1 block text-xs tabular-nums",children:i(p)}),x&&(0,n.jsxs)("span",{className:"mt-1 block text-xs","aria-label":"샤드 ".concat(x.done,"/").concat(x.total),children:[(0,n.jsx)("span",{className:"tabular-nums",children:"샤드 ".concat(x.done,"/").concat(x.total)}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mt-0.5 block h-1 overflow-hidden rounded-full bg-muted",children:(0,n.jsx)("span",{className:"block h-full bg-current",style:{width:"".concat(Math.round(x.done/x.total*100),"%")}})})]})]})]}),d<r.path.length-1&&(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-auto h-3 w-px bg-border md:mx-1 md:h-px md:w-3"})]},"".concat(e,"-").concat(d))})})]})}function y(e){var r;let{run:t,nodeId:a,log:s,now:o=Date.now()}=e,d=t.nodes.find(e=>e.nodeId===a),l=x(t,a),i=m[l],[c="",...p]=(null!=(r=null==d?void 0:d.summary)?r:"").split(/\r?\n/),f=(null==s?void 0:s.kind)==="ready"?s.data.log.split(/\r?\n/):[],h="failed"===l?f.findIndex(e=>/fail|error|✗|❌|실패/i.test(e)):-1;return(0,n.jsxs)("section",{id:"release-node-detail","aria-label":"노드 상세",className:"min-w-0 space-y-3 rounded-xl border bg-card p-3 sm:p-4",children:[(0,n.jsxs)("header",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-bold ".concat(i.dot),children:i.mark}),(0,n.jsx)("h3",{className:"min-w-0 break-all font-semibold",children:a}),(0,n.jsx)("span",{className:"rounded-full border px-2 py-0.5 text-xs font-semibold",children:i.word}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:b(d,o)})]}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"요약"}),(null==d?void 0:d.summary)?(0,n.jsxs)("div",{className:"min-w-0 break-words text-sm",children:[(0,n.jsx)("p",{className:"failed"===l?"font-semibold text-red-700 dark:text-red-400":"",..."failed"===l?{role:"alert"}:{},children:c}),p.length>0&&(0,n.jsx)("p",{className:"whitespace-pre-wrap text-muted-foreground",children:p.join("\n")})]}):(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"요약 없음"})]}),"gate"===a&&"current"===l&&t.gateShards&&(0,n.jsx)(u,{gate:t.gateShards}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:"로그 꼬리"}),(null==s?void 0:s.kind)==="ready"?(0,n.jsx)("pre",{className:"max-h-80 max-w-full overflow-auto whitespace-pre rounded-md bg-muted/50 p-2 font-mono text-xs","aria-label":"노드 로그",children:f.map((e,r)=>(0,n.jsx)("span",{className:r===h?"block bg-red-600/15 font-semibold text-red-700 dark:text-red-300":"block",children:e||" "},r))}):(0,n.jsx)("p",{role:"status",className:"text-sm",children:(null==s?void 0:s.kind)==="error"?"로그를 불러오지 못했습니다 (".concat(s.status,")"):"로그를 불러오는 중…"})]})]})}}}]);
|
package/apps/pwa/out/_next/static/chunks/{2721.bc9a8f36bd85c07a.js → 7483.ba01c6c209b81bba.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7483],{97483:(e,t,i)=>{i.d(t,{captureNodeSizes:()=>u});var n=i(13345);function r(){if("undefined"!=typeof globalThis)return globalThis}function a(){return"undefined"==typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let i=r();if(!i)return;let n=t.node(),a=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,o=a?.id??"(unknown)";i.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};i.mermaidCapturedSizes.push(u),i.mermaidLastCapturedSizes=u}function u(e,t){let i=[];for(let e of t.nodes)e.isGroup||i.push({id:e.id,width:e.width??0,height:e.height??0});0!==i.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:a()},nodes:i},e)}(0,n.K)(r,"getCaptureGlobal"),(0,n.K)(function(){return!!r()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,n.K)(a,"capturedFromLocation"),(0,n.K)(o,"emitCapturedSizes"),(0,n.K)(u,"captureNodeSizes")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7505],{12204:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(50429)},14605:(e,t,r)=>{r.d(t,{R:()=>n});function n(e){return e?.ownerDocument||document}},16203:(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,{bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return o},createSnapshot:function(){return u}});let r=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let a="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function o(){return a?new a:new n}function l(e){return a?a.bind(e):n.bind(e)}function u(){return a?a.snapshot():function(e,...t){return e(...t)}}},22910:(e,t,r)=>{r.d(t,{B:()=>u});var n=r(49954);let a={...r.t(n,2)},o=0,l=a.useId;function u(e,t){if(void 0!==l){let r=l();return null!=e?e:t?"".concat(t,"-").concat(r):r}return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mui",[r,a]=n.useState(e),l=e||r;return n.useEffect(()=>{null==r&&(o+=1,a("".concat(t,"-").concat(o)))},[r,t]),l}(e,t)}},27475:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(30728).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},28376:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(30728).A)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]])},30728:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(49954);let a=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={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 u=(0,n.createContext)({}),i=(0,n.forwardRef)((e,t)=>{var r,o,i;let{color:s,size:c,strokeWidth:d,absoluteStrokeWidth:f,className:h="",children:p,iconNode:y,...g}=e,{size:m=24,strokeWidth:v=2,absoluteStrokeWidth:b=!1,color:k="currentColor",className:w=""}=null!=(r=(0,n.useContext)(u))?r:{},j=(null!=f?f:b)?24*Number(null!=d?d:v)/Number(null!=c?c:m):null!=d?d:v;return(0,n.createElement)("svg",{ref:t,...l,width:null!=(o=null!=c?c:m)?o:l.width,height:null!=(i=null!=c?c:m)?i:l.height,stroke:null!=s?s:k,strokeWidth:j,className:a("lucide",w,h),...!p&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(g)&&{"aria-hidden":"true"},...g},[...y.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(p)?p:[p]])}),s=(e,t)=>{let r=(0,n.forwardRef)((r,l)=>{let{className:u,...s}=r;return(0,n.createElement)(i,{ref:l,iconNode:t,className:a("lucide-".concat(o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),u),...s})});return r.displayName=o(e),r}},32379:(e,t,r)=>{function n(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(77194),r(6911),r(12204),r(50745)},45444:(e,t,r)=>{r.d(t,{e:()=>a});var n=r(22910);function a(e){return(0,n.B)(e,"base-ui")}},50429:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(16203).createAsyncLocalStorage)()},61881:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(77194),a=r(49954),o=r(83766);function l(e){return{default:e&&"default"in e?e.default:e}}r(32379);let u={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},i=function(e){let t={...u,...e},r=(0,a.lazy)(()=>t.loader().then(l)),i=t.loading;function s(e){let l=i?(0,n.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,s=u?a.Suspense:a.Fragment,c=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(o.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(s,{...u?{fallback:l}:{},children:c})}return s.displayName="LoadableComponent",s}},65481:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(62613)._(r(61881));function a(e,t){var r;let a={};"function"==typeof e&&(a.loader=e);let o={...a,...t};return(0,n.default)({...o,modules:null==(r=o.loadableGenerated)?void 0:r.modules})}("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)},72005:(e,t,r)=>{r.d(t,{EW:()=>l,RS:()=>a,gR:()=>o});var n=r(41421);function a(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function o(e,t){if(!e||!t)return!1;let r=t.getRootNode?.();if(e.contains(t))return!0;if(r&&(0,n.Ng)(r)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function l(e){return"composedPath"in e?e.composedPath()[0]:e.target}},73870:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(30728).A)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},76840:(e,t,r)=>{r.d(t,{N7:()=>o,Np:()=>l,SR:()=>u,Ui:()=>a,Xn:()=>i,dv:()=>n,jv:()=>s,zJ:()=>c});let n="none",a="trigger-press",o="trigger-hover",l="outside-press",u="close-press",i="focus-out",s="escape-key",c="imperative-action"},79854:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(30728).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},80890:(e,t,r)=>{r.d(t,{d:()=>a});var n=r(58163);function a(e,t,r,a){let o=!1,l=!1,u=a??n.t0;return{reason:e,event:t??new Event("base-ui"),cancel(){o=!0},allowPropagation(){l=!0},get isCanceled(){return o},get isPropagationAllowed(){return l},trigger:r,...u}}},83766:(e,t,r)=>{function n(e){let{reason:t,children:r}=e;return r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(35442)},88544:(e,t,r)=>{r.d(t,{default:()=>a.a});var n=r(65481),a=r.n(n)},97514:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(30728).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},98451:(e,t,r)=>{var n=r(13979);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7600],{5794:(e,t,s)=>{s.d(t,{r:()=>i});var n=s(77194),a=s(64862),r=s.n(a);let l=[{key:"autopilot",href:"/autopilot",num:"①",label:"미션",sub:"Autopilot"},{key:"tasks",href:"/tasks",num:"②",label:"작업",sub:"Tasks"},{key:"scheduler",href:"/scheduler",num:"③",label:"스케줄",sub:"Schedules"}];function i(e){let{active:t}=e;return(0,n.jsxs)("nav",{"aria-label":"Mission Fabric 파이프라인","data-testid":"fabric-stage-header",className:"flex flex-wrap items-center gap-1 text-xs",children:[(0,n.jsx)("span",{className:"mr-1 text-muted-foreground",children:"Missions"}),l.map((e,s)=>(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsxs)(r(),{href:e.href,"aria-current":e.key===t?"page":void 0,className:["rounded px-2 py-1 ring-1 transition-colors",e.key===t?"bg-primary/15 font-medium text-foreground ring-primary/40":"text-muted-foreground ring-border hover:bg-muted hover:text-foreground"].join(" "),children:[(0,n.jsx)("span",{className:"mr-1",children:e.num}),e.label,(0,n.jsx)("span",{className:"ml-1 text-[10px] opacity-70",children:e.sub})]}),s<l.length-1&&(0,n.jsx)("span",{className:"text-muted-foreground/50","aria-hidden":!0,children:"→"})]},e.key))]})}},72248:(e,t,s)=>{function n(e){let t=e.filter(e=>"cron"===e.kind&&e.id).map(e=>e.id);return t.length?"/scheduler?ids=".concat(t.map(encodeURIComponent).join(",")):null}s.d(t,{NE:()=>d,Yt:()=>i,on:()=>n});let a=["task","goal-loop","single-shot"],r=["scheduler","monitor-trigger"];function l(e){var t,s,n,l,i,d,o;let c=e.autopilot,u=null!=(t=null==c?void 0:c.executionModel)?t:null;return{id:e.id,goal:e.title||e.description||e.id,source:null!=(s=null==c?void 0:c.origin)?s:"human",status:null!=(n=null==c?void 0:c.apmStatus)?n:e.status,model:u,tier:null!=(l=null==c?void 0:c.tier)?l:null,engine:null!=(i=null==c?void 0:c.engine)?i:null,kind:(o=null!=(d=null==c?void 0:c.executionModel)?d:null)&&a.includes(o)?"finite":o&&r.includes(o)?"continuous":"other",reviewDue:!1,createdAt:new Date(e.createdAt).toISOString(),updatedAt:e.updatedAt,derived:e.derived,isAutopilot:null!=c,toxStatus:e.status,taskCount:e.taskCount,taskCounts:e.taskStatusCounts}}class i{async triagePreview(e,t){return this.client.fetchJson("/v1/autopilot/triage-preview",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({goal:e,...t?{category:t}:{}})})}async commitMission(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"intake",s=arguments.length>2?arguments[2]:void 0;return this.client.fetchJson("/v1/autopilot/triage-preview",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({goal:e,commit:!0,source:t,...s?{category:s}:{}})})}async missionsUnified(e){var t,s;let n=new URLSearchParams({...e?{status:e}:{}}).toString(),a=await this.client.fetchJson("/v1/missions".concat(n?"?".concat(n):"")),r=null!=(t=a.missions)?t:[];return{ok:!0,total:null!=(s=a.total)?s:r.length,missions:r.map(l)}}async trace(e){return this.client.fetchJson("/v1/autopilot/trace?id=".concat(encodeURIComponent(e)))}async missionArcMap(){var e,t,s;let n=await this.client.fetchJson("/v1/missions"),a=new Map;for(let r of null!=(e=n.missions)?e:[]){let e=null==(t=r.autopilot)?void 0:t.arcs;e&&e.length>0&&a.set(r.id,{apmStatus:null==(s=r.autopilot)?void 0:s.apmStatus,arcs:e})}return a}async missionAction(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.client.fetchJson("/v1/autopilot/mission-action",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({id:e,action:t,...s})})}async autonomy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,t=arguments.length>1?arguments[1]:void 0,s=new URLSearchParams({limit:String(e),...t?{loop:t}:{}});return this.client.fetchJson("/v1/autopilot/autonomy?".concat(s.toString()))}async arming(){return this.client.fetchJson("/v1/autopilot/arming")}constructor(e){this.client=e}}let d={task:{label:"작업 분해",tone:"bg-sky-500/15 text-sky-200 ring-sky-500/30"},"goal-loop":{label:"목표 루프",tone:"bg-violet-500/15 text-violet-200 ring-violet-500/30"},scheduler:{label:"스케줄러",tone:"bg-emerald-500/15 text-emerald-200 ring-emerald-500/30"},"monitor-trigger":{label:"감시 트리거",tone:"bg-amber-500/15 text-amber-200 ring-amber-500/30"},hybrid:{label:"하이브리드",tone:"bg-fuchsia-500/15 text-fuchsia-200 ring-fuchsia-500/30"},fanout:{label:"병렬 팬아웃",tone:"bg-cyan-500/15 text-cyan-200 ring-cyan-500/30"},"single-shot":{label:"즉답",tone:"bg-muted text-muted-foreground ring-border"},"hitl-delegate":{label:"HITL 위임",tone:"bg-rose-500/15 text-rose-200 ring-rose-500/30"}}},77600:(e,t,s)=>{s.d(t,{B:()=>T});var n=s(77194),a=s(49954),r=s(8801),l=s(44092);class i{buildSnapshot(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:80;return this.client.fetchJson("/v1/builds/".concat(encodeURIComponent(e),"?tail=").concat(t))}list(){return this.client.fetchJson("/v1/tasks")}detail(e){return this.client.fetchJson("/v1/tasks/".concat(encodeURIComponent(e)))}constructor(e){this.client=e}}var d=s(72248),o=s(35857),c=s(46479),u=s(77653);class m extends Error{constructor(e,t,s){super("fluent-chain ".concat(e," on ").concat(t)),this.status=e,this.path=t,this.body=s,this.name="FluentChainApiError"}}function x(e){var t;let s=e.baseUrl.replace(/\/+$/,""),n=null!=(t=e.fetchImpl)?t:fetch,a="/v1/next-fluent/preview";return{async preview(t){let r={"content-type":"application/json"};e.authHeader&&(r.authorization=e.authHeader);let l=await n("".concat(s).concat(a),{method:"POST",headers:r,body:JSON.stringify(t)});if(204===l.status)return{kind:"no-suggestions",enabled:!0};let i=await l.json().catch(()=>null);if(409===l.status){let e=!!i&&"object"==typeof i&&"enabled"in i&&!!i.enabled;return e?{kind:"no-suggestions",enabled:e}:{kind:"disabled"}}if(503===l.status&&i&&"object"==typeof i&&"next-fluent-not-wired"===i.error)return{kind:"disabled"};if(!l.ok||!(null==i?void 0:i.card))throw new m(l.status,a,i);return{kind:"card",card:i.card}},async dispatch(t,a){let r={"content-type":"application/json"};e.authHeader&&(r.authorization=e.authHeader);let l=u.m,i=await n("".concat(s).concat(l),{method:"POST",headers:r,body:JSON.stringify({refId:t,action:a})}),d=await i.json().catch(()=>null);return d&&"object"==typeof d&&"ok"in d?d:{ok:!1,error:"dispatch ".concat(i.status)}}}}function p(e){var t;let[s,r]=(0,a.useState)({kind:"loading"});if((0,a.useEffect)(()=>{var t;let s=!1;return(null!=(t=e.api)?t:x({baseUrl:window.location.origin})).preview(e.trigger).then(e=>{s||("card"===e.kind?r({kind:"card",card:e.card}):"no-suggestions"===e.kind?r({kind:"empty"}):r({kind:"disabled"}))}).catch(e=>{s||r({kind:"error",message:e instanceof Error?e.message:String(e)})}),()=>{s=!0}},[e.api,e.trigger.refId,e.trigger.refKind,e.trigger.outcome,e.trigger.completedAt]),"loading"===s.kind)return(0,n.jsx)("span",{className:"text-xs opacity-60",children:"checking next-action…"});if("disabled"===s.kind||"empty"===s.kind)return null;if("error"===s.kind)return(0,n.jsxs)("span",{className:"text-xs text-rose-700",children:["next-action: ",s.message]});let l=null!=(t=e.limit)?t:3,i=s.card.suggestions.slice(0,l);return 0===i.length?null:(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-1 text-xs","data-fluent-ref":e.trigger.refId,children:[(0,n.jsx)("span",{className:"opacity-60",children:"next:"}),i.map(t=>(0,n.jsxs)("button",{type:"button",className:"rounded-full border border-zinc-300 bg-white px-2 py-0.5 hover:bg-zinc-50",onClick:()=>{var s;return null==(s=e.onChoose)?void 0:s.call(e,t.kind,t)},title:t.reason||t.kind,children:[t.kind,"none"!==t.endorsedBy&&(0,n.jsxs)("span",{className:"ml-1 text-[10px] opacity-60",children:["\xb7 ",t.endorsedBy]})]},t.kind))]})}class h extends Error{constructor(e,t,s){super("idle-nudge ".concat(e," on ").concat(t)),this.status=e,this.path=t,this.body=s,this.name="IdleNudgeApiError"}}function g(e){let[t,s]=(0,a.useState)({kind:"loading"});if((0,a.useEffect)(()=>{var t;let n=!1;return(null!=(t=e.api)?t:function(e){var t;let s=e.baseUrl.replace(/\/+$/,""),n=null!=(t=e.fetchImpl)?t:fetch,a=u.J3;return{async preview(t){let r={"content-type":"application/json"};e.authHeader&&(r.authorization=e.authHeader);let l=await n("".concat(s).concat(a),{method:"POST",headers:r,body:JSON.stringify(t)}),i=await l.json().catch(()=>null);if(!l.ok)throw new h(l.status,a,i);return i}}}({baseUrl:window.location.origin})).preview(e.request).then(e=>{n||("nudge"===e.decision.kind&&e.record?s({kind:"nudge",decision:e.decision,record:e.record}):"defer"===e.decision.kind?s({kind:"defer",nextAt:e.decision.nextEligibleAt}):s({kind:"idle"}))}).catch(e=>{n||s({kind:"error",message:e instanceof h?"Idle-nudge error (".concat(e.status,")"):e instanceof Error?e.message:String(e)})}),()=>{n=!0}},[e.api,e.request.taskId,e.request.observedAt,e.request.status,e.request.enteredStatusAt]),"loading"===t.kind||"idle"===t.kind)return null;if("defer"===t.kind)return(0,n.jsxs)("span",{className:"text-[10px] opacity-60",children:["nudge deferred until ",new Date(t.nextAt).toLocaleTimeString()]});if("error"===t.kind)return(0,n.jsx)("span",{className:"text-[10px] text-rose-700",children:t.message});let r=Math.round(t.decision.idleMs/36e5);return(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 rounded-full border border-amber-300 bg-amber-50 px-2 py-0.5 text-[11px] text-amber-900 hover:bg-amber-100",onClick:()=>{var s;return null==(s=e.onOpenShowroom)?void 0:s.call(e,t.record.showroomSessionId)},title:"Idle ".concat(r,"h \xb7 click to open nudge room"),"data-task-id":t.record.taskId,children:[(0,n.jsx)("span",{"aria-hidden":!0,children:"⏳"}),"idle ",r,"h \xb7 ",t.record.lanes.length," lanes"]})}var f=s(5794);let b=(0,a.createContext)(null),v=new Set(["ready","running","review","blocked"]),y=new Set(["done","failed"]),k=[{id:"backlog",label:"Backlog",statuses:["backlog","blocked"]},{id:"scheduled",label:"Scheduled",statuses:["scheduled"]},{id:"ready",label:"Ready",statuses:["ready"]},{id:"running",label:"Running",statuses:["running"]},{id:"review",label:"Review",statuses:["review"]},{id:"closed",label:"Closed",statuses:["done","failed","cancelled","superseded"]}],j={urgent:"bg-red-500/15 text-red-300 ring-red-500/30",high:"bg-amber-500/15 text-amber-200 ring-amber-500/30",medium:"bg-sky-500/15 text-sky-200 ring-sky-500/30",low:"bg-muted text-muted-foreground ring-border"},N={pending:"bg-slate-500/15 text-slate-300 ring-slate-500/30",active:"bg-sky-500/15 text-sky-200 ring-sky-500/30",verifying:"bg-amber-500/15 text-amber-200 ring-amber-500/30",done:"bg-emerald-500/15 text-emerald-300 ring-emerald-500/30",failed:"bg-red-500/15 text-red-300 ring-red-500/30"};function w(e){let t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<60)return"".concat(t,"s ago");let s=Math.floor(t/60);if(s<60)return"".concat(s,"m ago");let n=Math.floor(s/60);return n<24?"".concat(n,"h ago"):"".concat(Math.floor(n/24),"d ago")}let S={running:0,review:1,ready:2,blocked:3,backlog:4,done:5,failed:5,cancelled:6,superseded:6,scheduled:3};function C(e){var t;let{group:s,selectedId:r,onSelect:l,arcDetail:i}=e,d=s.total>0?Math.round(s.doneCount/s.total*100):0,[o,c]=(0,a.useState)(!1),u=(null!=(t=null==i?void 0:i.length)?t:0)>0;return(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-muted/20 p-3",children:[(0,n.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-2",children:[!s.isStandalone&&(0,n.jsx)("span",{className:"text-xs",children:"\uD83C\uDFAF"}),u&&(0,n.jsx)("button",{type:"button",onClick:()=>c(e=>!e),className:"text-xs text-muted-foreground hover:text-foreground",title:"아크 상세",children:o?"▾":"▸"}),(0,n.jsx)("h2",{className:"text-sm font-semibold",title:s.missionTitle,children:s.missionTitle}),(0,n.jsxs)("span",{className:"rounded-full bg-background px-2 py-0.5 text-[11px] text-muted-foreground",children:[s.doneCount,"/",s.total," \xb7 ",d,"%"]}),s.runningCount>0&&(0,n.jsxs)("span",{className:"animate-pulse rounded-full bg-sky-500/15 px-2 py-0.5 text-[10px] text-sky-200 ring-1 ring-sky-500/30",children:["● ",s.runningCount," 빌드중"]}),s.failedCount>0&&(0,n.jsxs)("span",{className:"rounded-full bg-red-500/15 px-2 py-0.5 text-[10px] text-red-300 ring-1 ring-red-500/30",children:["✗ ",s.failedCount," 실패"]})]}),s.arcs.length>0&&(0,n.jsx)("div",{className:"mb-2 flex flex-wrap gap-1.5",children:s.arcs.map((e,t)=>{var s;return(0,n.jsxs)("span",{className:"flex items-center gap-1 text-[10px]",children:[t>0&&(0,n.jsx)("span",{className:"text-muted-foreground",children:"→"}),(0,n.jsxs)("span",{className:"rounded-full px-2 py-0.5 ring-1 ".concat(null!=(s=N[e.status])?s:N.pending),children:["⬡ ",e.name," ",e.done,"/",e.total]})]},e.name)})}),o&&u&&(0,n.jsx)("div",{className:"mb-3 space-y-1.5 rounded-xl border border-border bg-background/40 p-2",children:i.map((e,t)=>{var s,a,r,l;let i="failed"===e.status||(null==(s=e.verifyResult)?void 0:s.ok)===!1;return(0,n.jsxs)("div",{className:"text-[11px]",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:["아크 ",t+1]}),(0,n.jsxs)("span",{className:"rounded-full px-2 py-0.5 ring-1 ".concat(null!=(l=N[e.status])?l:N.pending),children:["⬡ ",e.name," \xb7 ",e.status]}),e.dependsOnArcs.length>0&&(0,n.jsxs)("span",{className:"text-muted-foreground",children:["← 선행 ",e.dependsOnArcs.length]})]}),(0,n.jsx)("div",{className:"mt-0.5 pl-1 text-muted-foreground",children:e.intent}),i&&(null==(a=e.verifyResult)?void 0:a.missing)&&(0,n.jsxs)("div",{className:"mt-0.5 rounded-md bg-red-500/10 px-2 py-1 text-red-300",children:["\uD83D\uDD12 아크 통합검증 실패: ",e.verifyResult.missing,(0,n.jsx)("div",{className:"text-red-400/70",children:"→ arc-revise 초안 카드가 발송됩니다(페이즈는 완료돼도 아크로는 미충족)."})]}),(null==(r=e.verifyResult)?void 0:r.ok)&&(0,n.jsxs)("div",{className:"mt-0.5 pl-1 text-emerald-400/70",children:["✓ 통합검증 통과: ",e.verifyResult.evidence.slice(0,80)]}),e.preflightVerdict&&"founded"!==e.preflightVerdict.verdict&&(0,n.jsxs)("div",{className:"mt-0.5 rounded-md bg-amber-500/10 px-2 py-1 text-amber-300",children:["⚠️ pre-flight: ","mirage"===e.preflightVerdict.verdict?"허상 의심":"과대 범위"," → ",e.preflightVerdict.action,(0,n.jsx)("div",{className:"text-amber-400/70",children:e.preflightVerdict.reason.slice(0,120)})]})]},e.arcId)})}),(0,n.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-3",children:s.tasks.map(e=>(0,n.jsx)(I,{task:e,selected:e.id===r,onClick:()=>l(e.id)},e.id))})]})}function A(e){var t;let{api:s,buildId:r}=e,[l,i]=(0,a.useState)(null),[d,o]=(0,a.useState)(null),c=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e,t=!1,n=async()=>{try{let a=await s.buildSnapshot(r,120);if(t)return;i(a),o(null),"running"===a.build.status&&(e=window.setTimeout(()=>void n(),2e3))}catch(e){t||o(e instanceof Error?e.message:String(e))}};return n(),()=>{t=!0,e&&window.clearTimeout(e)}},[s,r]),(0,a.useEffect)(()=>{c.current&&(c.current.scrollTop=c.current.scrollHeight)},[l]),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[11px]",children:[(0,n.jsx)("span",{className:"font-medium",children:"빌드 로그"}),(0,n.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground",children:r}),l&&(0,n.jsx)("span",{className:"rounded-full px-2 py-0.5 ring-1 ".concat("running"===l.build.status?"bg-sky-500/15 text-sky-200 ring-sky-500/30":"bg-muted text-muted-foreground ring-border"),children:"running"===l.build.status?"● 라이브":l.build.status}),(null==l?void 0:l.diffStat)&&(0,n.jsxs)("span",{className:"text-muted-foreground",children:["+",l.diffStat.insertions,"/-",l.diffStat.deletions," \xb7 ",l.diffStat.files,"파일"]})]}),d&&(0,n.jsxs)("div",{className:"text-[11px] text-red-300",children:["로그 조회 실패: ",d]}),(0,n.jsx)("div",{ref:c,className:"max-h-64 overflow-auto rounded-lg border border-border bg-background/60 p-2 font-mono text-[10px] leading-relaxed text-muted-foreground",children:(null==l||null==(t=l.logTail)?void 0:t.length)?l.logTail.map((e,t)=>(0,n.jsx)("div",{className:"whitespace-pre-wrap break-all",children:e},t)):(0,n.jsx)("div",{className:"opacity-60",children:"로그 대기 중…"})})]})}function I(e){var t,s,a;let{task:r,selected:l,onClick:i}=e;return(0,n.jsxs)("button",{type:"button",onClick:i,className:["w-full rounded-xl border p-3 text-left transition-colors",l?"border-primary bg-primary/10 ring-1 ring-primary/40":"border-border bg-card hover:bg-accent/40"].join(" "),children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[r.missionTitle&&(0,n.jsxs)("div",{className:"mb-1 flex items-center gap-1 truncate text-[10px] text-indigo-300",title:r.missionTitle,children:[(0,n.jsx)("span",{className:"shrink-0",children:"\uD83C\uDFAF 미션"}),(0,n.jsx)("span",{className:"truncate opacity-80",children:r.missionTitle})]}),(0,n.jsx)("div",{className:"text-sm font-medium leading-5",children:r.title}),(0,n.jsx)("div",{className:"mt-1 text-[11px] text-muted-foreground",children:r.id})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[r.dryRun&&(0,n.jsx)("span",{className:"rounded-full bg-emerald-500/15 px-2 py-0.5 text-[10px] text-emerald-300",children:"dry run"}),(0,n.jsx)("span",{className:"rounded-full px-2 py-0.5 text-[10px] ring-1 ".concat(null!=(t=j[r.priority])?t:j.low),children:r.priority})]})]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-1.5 text-[11px] text-muted-foreground",children:[(0,n.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5",children:r.surfaceKind}),"running"===r.status&&r.build&&(0,n.jsxs)("span",{className:"flex items-center gap-1 rounded-full bg-sky-500/15 px-2 py-0.5 text-sky-200 ring-1 ring-sky-500/30",title:"빌드 ".concat(r.build.buildId," \xb7 ").concat(r.build.backend).concat(r.build.maxTurns?" \xb7 ".concat(r.build.maxTurns,"턴"):""),children:[(0,n.jsx)("span",{className:"animate-pulse",children:"●"})," 빌드중 ",r.build.backend.replace(/^elanous-self:/,"")," 시도",r.build.attemptSeq]}),r.arcName&&(0,n.jsxs)("span",{className:"rounded-full px-2 py-0.5 ring-1 ".concat(null!=(a=N[null!=(s=r.arcStatus)?s:"pending"])?a:N.pending),title:"아크: ".concat(r.arcName).concat(r.arcStatus?" \xb7 ".concat(r.arcStatus):""),children:["⬡ ",r.arcName,r.phaseIndexInArc&&r.arcTotalPhases?" \xb7 ".concat(r.phaseIndexInArc,"/").concat(r.arcTotalPhases):""]}),r.featureName&&(0,n.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5",children:r.featureName}),r.scheduleText&&(0,n.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5",children:r.scheduleText}),r.showroomSessionId&&(0,n.jsx)("a",{href:"/showroom?session=".concat(encodeURIComponent(r.showroomSessionId)),onClick:e=>e.stopPropagation(),className:"rounded-full bg-sky-500/15 px-2 py-0.5 text-sky-200 ring-1 ring-sky-500/30 hover:bg-sky-500/25",title:"Open showroom session ".concat(r.showroomSessionId),children:"↗ showroom"})]}),(0,n.jsxs)("div",{className:"mt-3 flex items-center justify-between text-[11px] text-muted-foreground",children:[(0,n.jsxs)("span",{children:["attempt ",r.attempt,"/",r.maxRetries]}),(0,n.jsx)("span",{children:w(r.updatedAt)})]}),(0,n.jsx)(M,{task:r})]})}function M(e){let{task:t}=e,s=y.has(t.status),r=v.has(t.status),l=(0,a.useContext)(b);return s||r?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",onClick:e=>e.stopPropagation(),children:[s&&(0,n.jsx)(p,{trigger:{refId:t.id,refKind:"task",finishedSurface:function(e){switch(e){case"terminal-pane":case"vw-slot":case"subagent":case"skill":case"chat-prompt":case"cron":case"llm-direct":case"acx-session":case"showroom":return e;default:return null}}(t.surfaceKind),outcome:"done"===t.status?"ok":"failed",completedAt:t.updatedAt,...t.featureName?{tags:[t.featureName]}:{}},...l?{onChoose:e=>{l(t.id,e)}}:{}}),r&&(0,n.jsx)(g,{request:{taskId:t.id,status:t.status,enteredStatusAt:t.updatedAt,observedAt:Date.now(),taskTitle:t.title}})]}):null}function R(e){let{label:t,value:s}=e;return(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:t}),(0,n.jsx)("div",{className:"text-sm",children:s})]})}function T(){var e,t,s,u,m,p;let{client:h}=(0,r.Q)(),g=(0,a.useMemo)(()=>new i(h),[h]),v=(0,a.useMemo)(()=>new d.Yt(h),[h]),[y,j]=(0,a.useState)(""),[N,M]=(0,a.useState)(!1),[T,J]=(0,a.useState)(new Map),[E,O]=(0,a.useState)([]),[D,P]=(0,a.useState)(null),[U,_]=(0,a.useState)(null),[F,H]=(0,a.useState)(null),[q,z]=(0,a.useState)(!1),[K,L]=(0,a.useState)(!1),[V,B]=(0,a.useState)("mission"),$=(0,a.useCallback)(async()=>{(0,o.cY)("webterm.tasks.list.refresh",{}),z(!0);try{let e=await g.list();O(e.tasks),P(e.summary),v.missionArcMap().then(J).catch(()=>{}),_(t=>t&&e.tasks.some(e=>e.id===t)?t:null)}catch(e){c.oR.error("task board failed: ".concat(e instanceof Error?e.message:e))}finally{z(!1)}},[g,v]),Y=(0,a.useCallback)(async(e,t)=>{try{var s;let n=await x({baseUrl:window.location.origin}).dispatch(e,t);n.ok?c.oR.success("".concat(t," 실행됨")):c.oR.error("".concat(t," 실패: ").concat(null!=(s=n.error)?s:""))}catch(e){c.oR.error("".concat(t," 실패: ").concat(e instanceof Error?e.message:e))}await $()},[$]),G=(0,a.useCallback)(async()=>{let e=y.trim();if(e&&!N){M(!0);try{let t=await v.commitMission(e,"intake");t.ok?(c.oR.success("태스크 생성 → 미션 fabric 이 플랜화 중".concat(t.missionId?" (".concat(t.missionId,")"):"")),j(""),setTimeout(()=>void $(),1200)):c.oR.error("태스크 생성 실패")}catch(e){c.oR.error("태스크 생성 실패: ".concat(e instanceof Error?e.message:e))}finally{M(!1)}}},[y,N,v,$]);(0,a.useEffect)(()=>{$();let e=window.setInterval(()=>void $(),15e3);return()=>window.clearInterval(e)},[$]),(0,a.useEffect)(()=>{if(!U)return void H(null);let e=!1;return L(!0),(async()=>{try{var t;let s=await g.detail(U);if(e)return;H({task:s.task,executions:s.executions.map(e=>({id:e.id,status:e.status,startedAt:e.startedAt,durationMs:e.durationMs,output:e.output})),events:s.events,linkedSchedulerJob:null!=(t=s.linkedSchedulerJob)?t:null})}catch(t){e||c.oR.error("task detail failed: ".concat(t instanceof Error?t.message:t))}finally{e||L(!1)}})(),()=>{e=!0}},[g,U]);let Q=(0,a.useMemo)(()=>k.map(e=>({...e,tasks:E.filter(t=>e.statuses.some(e=>e===t.status))})),[E]),W=(0,a.useMemo)(()=>(function(e){var t,s,n,a,r,l,i;let d=new Map;for(let n of e){let e=n.missionTitle?null!=(t=n.goalSlug)?t:n.missionTitle:"__standalone__";(null!=(s=d.get(e))?s:d.set(e,[]).get(e)).push(n)}let o=[];for(let[e,t]of Array.from(d.entries())){let s="__standalone__"===e,d=new Map;for(let e of t)if(e.arcName){let t=null!=(l=d.get(e.arcName))?l:{name:e.arcName,total:0,done:0,status:null!=(a=e.arcStatus)?a:"pending",index:null!=(r=e.arcIndex)?r:0};t.total+=1,"done"===e.status&&(t.done+=1),e.arcStatus&&(t.status=e.arcStatus),d.set(e.arcName,t)}let c=[...t].sort((e,t)=>{var s,n;return(null!=(s=S[e.status])?s:9)-(null!=(n=S[t.status])?n:9)||t.createdAt-e.createdAt});o.push({key:e,missionTitle:s?"독립 태스크 (미션 외)":null!=(i=null==(n=t[0])?void 0:n.missionTitle)?i:e,tasks:c,total:t.length,doneCount:t.filter(e=>"done"===e.status).length,runningCount:t.filter(e=>"running"===e.status).length,failedCount:t.filter(e=>"failed"===e.status).length,arcs:Array.from(d.values()).sort((e,t)=>e.index-t.index),isStandalone:s})}return o.sort((e,t)=>{if(e.isStandalone!==t.isStandalone)return e.isStandalone?1:-1;let s=e.runningCount>0||e.doneCount<e.total;return s!==(t.runningCount>0||t.doneCount<t.total)?s?-1:1:t.total-e.total})})(E),[E]);return(0,n.jsx)(b.Provider,{value:Y,children:(0,n.jsxs)("div",{className:"mx-auto max-w-[1600px] space-y-4 p-4",children:[(0,n.jsx)(f.r,{active:"tasks"}),(0,n.jsxs)("header",{className:"flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"Task Manager"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"TOX board snapshot for backlog, running work, and closed items."})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[D&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card px-3 py-2 text-xs",children:[(0,n.jsx)("div",{className:"text-muted-foreground",children:"open"}),(0,n.jsx)("div",{className:"text-sm font-semibold",children:D.open})]}),(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card px-3 py-2 text-xs",children:[(0,n.jsx)("div",{className:"text-muted-foreground",children:"closed"}),(0,n.jsx)("div",{className:"text-sm font-semibold",children:D.terminal})]}),(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card px-3 py-2 text-xs",children:[(0,n.jsx)("div",{className:"text-muted-foreground",children:"linked schedules"}),(0,n.jsx)("div",{className:"text-sm font-semibold",children:D.linkedScheduler})]})]}),(0,n.jsxs)("div",{className:"flex rounded-lg border border-border bg-card p-0.5 text-xs",children:[(0,n.jsx)("button",{type:"button",onClick:()=>B("mission"),className:"rounded-md px-2.5 py-1 ".concat("mission"===V?"bg-primary/20 text-primary":"text-muted-foreground hover:text-foreground"),children:"\uD83C\uDFAF 미션별"}),(0,n.jsx)("button",{type:"button",onClick:()=>B("kanban"),className:"rounded-md px-2.5 py-1 ".concat("kanban"===V?"bg-primary/20 text-primary":"text-muted-foreground hover:text-foreground"),children:"칸반"})]}),(0,n.jsx)(l.$,{size:"sm",variant:"outline",onClick:()=>void $(),disabled:q,children:"Refresh"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border bg-card p-2",children:[(0,n.jsx)("span",{className:"pl-1 text-sm text-muted-foreground",children:"+"}),(0,n.jsx)("input",{type:"text",value:y,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&G()},placeholder:"새 태스크(골)를 입력하면 미션 fabric 이 플랜화→구현→DONE… 예: 'README 중복 정리 리포트 만들어줘'",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/60",disabled:N}),(0,n.jsx)(l.$,{size:"sm",onClick:()=>void G(),disabled:N||!y.trim(),children:N?"생성 중…":"Create Task"})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-start",children:[(0,n.jsx)("section",{className:"min-w-0 flex-1 space-y-3",children:"mission"===V?(0,n.jsx)("div",{className:"space-y-3",children:W.length>0?W.map(e=>{var t;return(0,n.jsx)(C,{group:e,selectedId:U,onSelect:_,arcDetail:null==(t=T.get(e.key))?void 0:t.arcs},e.key)}):(0,n.jsx)("div",{className:"rounded-xl border border-dashed border-border px-3 py-12 text-center text-sm text-muted-foreground",children:"미션/태스크 없음"})}):(0,n.jsx)("div",{className:"pb-2",children:(0,n.jsx)("div",{className:"flex flex-wrap gap-3",children:Q.map(e=>(0,n.jsxs)("div",{className:"min-w-[170px] flex-1 rounded-2xl border border-border bg-muted/30 p-3",children:[(0,n.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,n.jsx)("h2",{className:"text-sm font-semibold",children:e.label}),(0,n.jsx)("span",{className:"rounded-full bg-background px-2 py-0.5 text-[11px] text-muted-foreground",children:e.tasks.length})]}),(0,n.jsx)("div",{className:"space-y-2",children:e.tasks.length>0?e.tasks.map(e=>(0,n.jsx)(I,{task:e,selected:e.id===U,onClick:()=>_(e.id)},e.id)):(0,n.jsx)("div",{className:"rounded-xl border border-dashed border-border px-3 py-8 text-center text-xs text-muted-foreground",children:"no tasks"})})]},e.id))})})}),U&&(0,n.jsxs)("aside",{className:"w-full shrink-0 space-y-3 rounded-2xl border border-border bg-card p-4 xl:w-[360px]",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Detail"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(null==F?void 0:F.task)&&(0,n.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-[11px] text-muted-foreground",children:F.task.status}),(0,n.jsx)("button",{type:"button",onClick:()=>_(null),className:"rounded-md px-1.5 py-0.5 text-xs text-muted-foreground hover:bg-accent/40 hover:text-foreground","aria-label":"Close detail",children:"✕"})]})]}),K||!F?(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading task detail…"}):(0,n.jsxs)("div",{className:"space-y-4",children:[(()=>{let e=E.find(e=>e.id===U);return(null==e?void 0:e.status)==="running"&&e.build?(0,n.jsx)(A,{api:g,buildId:e.build.buildId}):null})(),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-lg font-semibold leading-6",children:F.task.title}),(0,n.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:F.task.id}),F.task.description&&(0,n.jsx)("p",{className:"mt-3 whitespace-pre-wrap text-sm text-muted-foreground",children:F.task.description})]}),(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,n.jsx)(R,{label:"Surface",value:F.task.surface.kind}),(0,n.jsx)(R,{label:"Priority",value:F.task.priority}),(0,n.jsx)(R,{label:"Goal",value:null!=(u=F.task.goalSlug)?u:"—"}),(0,n.jsx)(R,{label:"Feature",value:null!=(m=F.task.featureName)?m:"—"}),(0,n.jsx)(R,{label:"Depends On",value:F.task.dependsOn.length>0?F.task.dependsOn.join(", "):"—"}),(0,n.jsx)(R,{label:"Schedule",value:null!=(p=F.task.schedulerJobId)?p:"—"})]}),F.linkedSchedulerJob&&(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-muted/40 px-3 py-2 text-sm",children:["linked schedule: ",F.linkedSchedulerJob.title,(0,n.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:F.linkedSchedulerJob.taskId}),(null==(e=F.linkedSchedulerJob.taskMeta)?void 0:e.dryRun)&&(0,n.jsxs)("span",{className:"ml-2 rounded-full bg-emerald-500/15 px-2 py-0.5 text-[10px] text-emerald-300",children:["dry run",F.linkedSchedulerJob.taskMeta.dryRunOutcome?" \xb7 ".concat(F.linkedSchedulerJob.taskMeta.dryRunOutcome):""]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-sm font-semibold",children:"Acceptance"}),(null==(s=F.task.acceptance)||null==(t=s.criteria)?void 0:t.length)?(0,n.jsx)("ul",{className:"space-y-1 text-sm text-muted-foreground",children:F.task.acceptance.criteria.map(e=>(0,n.jsx)("li",{className:"rounded-lg bg-muted/50 px-3 py-2",children:e},e))}):(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:"No acceptance criteria."})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-sm font-semibold",children:"Recent Executions"}),F.executions.length>0?(0,n.jsx)("div",{className:"space-y-2",children:F.executions.map(e=>(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-background p-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,n.jsx)("span",{className:"font-medium",children:e.status}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:w(e.startedAt)})]}),void 0!==e.durationMs&&(0,n.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:["duration ",Math.round(e.durationMs/1e3),"s"]}),e.output&&(0,n.jsx)("pre",{className:"mt-2 max-h-28 overflow-auto whitespace-pre-wrap rounded-lg bg-muted p-2 text-xs text-muted-foreground",children:e.output.slice(0,600)})]},e.id))}):(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:"No executions recorded yet."})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-sm font-semibold",children:"Recent Events"}),F.events.length>0?(0,n.jsx)("div",{className:"space-y-1",children:F.events.slice(-8).reverse().map((e,t)=>(0,n.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-muted/50 px-3 py-2 text-xs",children:[(0,n.jsx)("span",{children:e.kind}),(0,n.jsx)("span",{className:"text-muted-foreground",children:w(e.timestamp)})]},"".concat(e.kind,"-").concat(e.timestamp,"-").concat(t)))}):(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:"No events recorded yet."})]})]})]})]})]})})}},77653:(e,t,s)=>{s.d(t,{GM:()=>i,J3:()=>l,WF:()=>n,bR:()=>r,m:()=>d,r5:()=>a});let n="/v1/devices",a="/v1/approvals/merges",r="/v1/templates/capability-preview",l="/v1/idle-nudge/preview",i="/v1/morning-digest/showroom",d="/v1/next-fluent/dispatch"}}]);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7607],{77607:(t,e,a)=>{a.d(e,{diagram:()=>B});var n=a(98436),r=a(98269),i=a(86256),o=a(57541),l=a(17487),c=a(13345),s=a(15369),d=(0,c.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),f=d(),p=(0,c.K)(()=>f.domains,"getDomains"),y={getDomains:p,getTransitions:(0,c.K)(()=>f.transitions,"getTransitions"),setDomains:(0,c.K)(t=>{if(t)for(let e of t){let t=e.domain,a=(e.items??[]).map(t=>({label:t.label}));f.domains.set(t,{name:t,items:a})}},"setDomains"),setTransitions:(0,c.K)(t=>{t&&(f.transitions=t.filter(t=>t.from!==t.to||(l.R.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:(0,c.K)(()=>(0,i.$t)({...o.UI.cynefin,...(0,o.zj)().cynefin}),"getConfig"),clear:(0,c.K)(()=>{(0,o.IU)(),f=d()},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI},m=(0,c.K)(t=>{(0,n.S)(t,y),y.setDomains(t.domains),y.setTransitions(t.transitions)},"populate"),x={parse:(0,c.K)(async t=>{let e=await (0,s.qg)("cynefin",t);l.R.debug(e),m(e)},"parse")};function h(t){let e=t+0x6d2b79f5|0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}function $(t){let e=0;for(let a=0;a<t.length;a++)e=(e<<5)-e+t.charCodeAt(a)|0;return e}function g(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:$(e)}function u(t,e,a,n){let r=t/2,i=n??.015*t,o=e/7,l=[];for(let t=0;t<=7;t++){let e=h(a+17*t)*i*2-i;l.push({x:r+e,y:t*o})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.y+n.y)/2,o=1.5*i*(t%2==0?1:-1)*h(a+31*t+7),s=e.x+o,d=n.x-o;c+=` C${s},${r} ${d},${r} ${n.x},${n.y}`}return c}function b(t,e,a,n){let r=e/2,i=n??.015*e,o=t/7,l=[];for(let t=0;t<=7;t++){let e=h(a+23*t)*i*2-i;l.push({x:t*o,y:r+e})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.x+n.x)/2,o=1.5*i*(t%2==0?1:-1)*h(a+37*t+11),s=e.y+o,d=n.y-o;c+=` C${r},${s} ${r},${d} ${n.x},${n.y}`}return c}function w(t,e){let a=t/2,n=.5*e,r=.03*t;return`M${a},${n} C${a+r},${n+(e-n)*.2} ${a-1.5*r},${n+(e-n)*.55} ${a+.5*r},${n+(e-n)*.75} C${a-r},${n+(e-n)*.85} ${a+.3*r},${n+(e-n)*.95} ${a},${e}`}function C(t,e,a,n){return`M${t-a},${e} A${a},${n} 0 1,1 ${t+a},${e} A${a},${n} 0 1,1 ${t-a},${e} Z`}(0,c.K)(h,"seededRandom"),(0,c.K)($,"hashString"),(0,c.K)(g,"resolveSeed"),(0,c.K)(u,"generateFoldPath"),(0,c.K)(b,"generateHorizontalBoundary"),(0,c.K)(w,"generateCliffPath"),(0,c.K)(C,"generateConfusionPath");var k={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},D=(0,c.K)((t,e)=>{let a=t/2,n=e/2;return{complex:{cx:a/2,cy:n/2,x:0,y:0,w:a,h:n},complicated:{cx:a+a/2,cy:n/2,x:a,y:0,w:a,h:n},chaotic:{cx:a/2,cy:n+n/2,x:0,y:n,w:a,h:n},clear:{cx:a+a/2,cy:n+n/2,x:a,y:n,w:a,h:n},confusion:{cx:a,cy:n,x:.7*a,y:.7*n,w:.6*a,h:.6*n}}},"getDomainLayouts"),K=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinDomainColors"),T=(0,c.K)((t,e,a,n)=>{let i=n.db,c=i.getDomains(),s=i.getTransitions(),d=i.getDiagramTitle(),f=i.getAccTitle(),p=i.getAccDescription(),y=i.getConfig(),m=K();l.R.debug("Rendering Cynefin diagram");let x=y.width,h=y.height,$=y.padding,T=y.showDomainDescriptions,A=y.boundaryAmplitude,B=x+2*$,S=h+2*$,z={complex:m.complexBg,complicated:m.complicatedBg,clear:m.clearBg,chaotic:m.chaoticBg,confusion:m.confusionBg},v=(0,r.D)(e);(0,o.a$)(v,S,B,y.useMaxWidth??!0),v.attr("viewBox",`0 0 ${B} ${S}`),f&&v.append("title").text(f),p&&v.append("desc").text(p);let M=v.append("g").attr("transform",`translate(${$}, ${$})`),I=D(x,h),L=g(y.seed,e),P=M.append("g").attr("class","cynefin-backgrounds"),R=["complex","complicated","chaotic","clear"];for(let t of R){let e=I[t];P.append("rect").attr("class","cynefinDomain").attr("x",e.x).attr("y",e.y).attr("width",e.w).attr("height",e.h).attr("fill",z[t]).attr("fill-opacity",.4).attr("stroke","none")}let F=M.append("g").attr("class","cynefin-boundaries");F.append("path").attr("class","cynefinBoundary").attr("d",u(x,h,L,A)).attr("fill","none"),F.append("path").attr("class","cynefinBoundary").attr("d",b(x,h,L+100,A)).attr("fill","none"),F.append("path").attr("class","cynefinCliff").attr("d",w(x,h)).attr("fill","none");let E=.15*x,N=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",C(x/2,h/2,E,N)).attr("fill",z.confusion).attr("fill-opacity",.5);let W=M.append("g").attr("class","cynefin-labels");for(let t of R){let e=I[t];W.append("text").attr("class","cynefinDomainLabel").attr("x",e.cx).attr("y",T?e.cy-30:e.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(t.charAt(0).toUpperCase()+t.slice(1))}if(W.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",T?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),T){let t=M.append("g").attr("class","cynefin-subtitles");for(let e of R){let a=I[e],n=k[e];t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.model),t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(k.confusion.practice)}let H=M.append("g").attr("class","cynefin-items");for(let t of["complex","complicated","chaotic","clear","confusion"]){let e,a=c.get(t);if(!a||0===a.items.length)continue;let n=I[t],r="confusion"===t,i=a.items,o=0;if(r&&a.items.length>3&&(o=a.items.length-3,i=a.items.slice(0,3)),r){let t=T?22:14;e=n.cy+t}else e=n.cy+(T?25:15);if([...i].forEach((a,r)=>{let i=e+30*r,o=H.append("g"),l=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(a.label),c=7*a.label.length,s=l.node();if(s&&"function"==typeof s.getBBox){let t=s.getBBox();t.width>0&&(c=t.width)}let d=c+20,f=n.cx-d/2;o.attr("transform",`translate(${f}, ${i})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.95),l.attr("x",d/2).attr("y",13)}),o>0){let a=e+30*i.length,r=`+${o} more`,l=H.append("g"),c=l.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(r),s=7*r.length,d=c.node();if(d&&"function"==typeof d.getBBox){let t=d.getBBox();t.width>0&&(s=t.width)}let f=s+20,p=n.cx-f/2;l.attr("transform",`translate(${p}, ${a})`),l.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.6),c.attr("x",f/2).attr("y",13)}}if(s.length>0){let t=v.select("defs").empty()?v.append("defs"):v.select("defs"),a=`cynefin-arrow-${e}`;t.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let n=M.append("g").attr("class","cynefin-arrows");s.forEach(t=>{let e=I[t.from],r=I[t.to];if(!e||!r)return;if(t.from===t.to)return void l.R.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);let i=e.cx,o=e.cy,c=r.cx,s=r.cy,d=c-i,f=s-o,p=Math.sqrt(d*d+f*f),y=.15*p,m=(i+c)/2+-f/p*y,x=(o+s)/2+d/p*y;n.append("path").attr("class","cynefinArrowLine").attr("d",`M${i},${o} Q${m},${x} ${c},${s}`).attr("fill","none").attr("marker-end",`url(#${a})`),t.label&&n.append("text").attr("class","cynefinArrowLabel").attr("x",m).attr("y",x-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}d&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-$/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d)},"draw"),A=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinTheme"),B={parser:x,db:y,renderer:{draw:T},styles:(0,c.K)(()=>{let t=A();return`
|
|
2
|
+
.cynefinDomain {
|
|
3
|
+
stroke: none;
|
|
4
|
+
}
|
|
5
|
+
.cynefinDomainLabel {
|
|
6
|
+
font-size: ${t.domainFontSize}px;
|
|
7
|
+
font-weight: bold;
|
|
8
|
+
fill: ${t.labelColor};
|
|
9
|
+
}
|
|
10
|
+
.cynefinSubtitle {
|
|
11
|
+
font-size: ${t.itemFontSize-1}px;
|
|
12
|
+
fill: ${t.textColor};
|
|
13
|
+
font-style: italic;
|
|
14
|
+
}
|
|
15
|
+
.cynefinItem {
|
|
16
|
+
fill-opacity: 0.95;
|
|
17
|
+
stroke: ${t.boundaryColor};
|
|
18
|
+
stroke-width: 1;
|
|
19
|
+
}
|
|
20
|
+
.cynefinItemText {
|
|
21
|
+
font-size: ${t.itemFontSize}px;
|
|
22
|
+
fill: ${t.textColor};
|
|
23
|
+
}
|
|
24
|
+
.cynefinItemOverflow {
|
|
25
|
+
fill-opacity: 0.6;
|
|
26
|
+
stroke: ${t.boundaryColor};
|
|
27
|
+
stroke-width: 1;
|
|
28
|
+
stroke-dasharray: 3 2;
|
|
29
|
+
}
|
|
30
|
+
.cynefinBoundary {
|
|
31
|
+
stroke: ${t.boundaryColor};
|
|
32
|
+
stroke-width: ${t.boundaryWidth};
|
|
33
|
+
stroke-dasharray: 6 3;
|
|
34
|
+
}
|
|
35
|
+
.cynefinCliff {
|
|
36
|
+
stroke: ${t.cliffColor};
|
|
37
|
+
stroke-width: ${t.cliffWidth};
|
|
38
|
+
}
|
|
39
|
+
.cynefinConfusion {
|
|
40
|
+
stroke: ${t.boundaryColor};
|
|
41
|
+
stroke-width: 1.5;
|
|
42
|
+
stroke-dasharray: 4 2;
|
|
43
|
+
}
|
|
44
|
+
.cynefinArrowLine {
|
|
45
|
+
stroke: ${t.arrowColor};
|
|
46
|
+
stroke-width: ${t.arrowWidth};
|
|
47
|
+
fill: none;
|
|
48
|
+
}
|
|
49
|
+
.cynefinArrowHead {
|
|
50
|
+
fill: ${t.arrowColor};
|
|
51
|
+
stroke: none;
|
|
52
|
+
}
|
|
53
|
+
.cynefinArrowLabel {
|
|
54
|
+
font-size: ${t.itemFontSize-1}px;
|
|
55
|
+
fill: ${t.textColor};
|
|
56
|
+
}
|
|
57
|
+
.cynefinTitle {
|
|
58
|
+
font-size: ${t.domainFontSize+2}px;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
fill: ${t.labelColor};
|
|
61
|
+
}
|
|
62
|
+
`},"styles")}},98436:(t,e,a)=>{function n(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>n}),(0,a(13345).K)(n,"populateCommonDb")}}]);
|
package/apps/pwa/out/_next/static/chunks/{6702.ebbd165d5e4a4a14.js → 7752.5cbdd0b433c54af9.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7752],{17752:(t,e,n)=>{n.d(e,{Z:()=>$});var r=n(70314),l=n(13345),u=n(21146).hp;function o(t){let e=[];for(let n=0;n<t.length-1;n++)e.push({a:t[n],b:t[n+1]});return e}function i(t,e,n,r){let l=e.x-t.x,u=e.y-t.y,o=r.x-n.x,i=r.y-n.y,a=l*i-u*o;if(0===a)return null;let s=n.x-t.x,f=n.y-t.y,p=(s*i-f*o)/a,h=(s*u-f*l)/a;return p<=1e-6||p>=.999999||h<=1e-6||h>=.999999?null:{point:{x:t.x+p*l,y:t.y+p*u},tA:p,tB:h}}function a(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}function s(t,e,n){if("rounded"!==t.curve)return!1;let r=t.points,l=r[e],u=r[e+1];if(!l||!u)return!1;let o=Math.hypot(u.x-l.x,u.y-l.y),i=n*o,a=e>0?g(r[e-1],l,u,5):null;if(a&&i<a.cutLen)return!0;let s=e+2<r.length?g(l,u,r[e+2],5):null;return null!==s&&o-i<s.cutLen}function f(t){let e=[];for(let n=0;n<t.length;n++){let r=t[n],l=o(r.points);for(let u=n+1;u<t.length;u++){let n=t[u],f=o(n.points);for(let[t,u]of l.entries())for(let[l,o]of f.entries()){let f=i(u.a,u.b,o.a,o.b);if(!f||s(r,t,f.tA)||s(n,l,f.tB))continue;let p=a(u);p!==a(o)&&p?e.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:t,t:f.tA,point:f.point}):e.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:l,t:f.tB,point:f.point})}}}return e}function p(t){let e=Math.round(1e3*t)/1e3;return Number.isInteger(e),`${e}`}function h(t){return`${p(t.x)},${p(t.y)}`}function d(t){let e=t.b.x-t.a.x,n=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(n)?+(e>=0):+(n>=0)}function y(t,e){if(t.length<2)return t.map(t=>({...t}));let n=t.map(t=>({...t})),l=e.arrowTypeStart&&r.hq[e.arrowTypeStart];if(l){let e=t[0],r=t[1],u=Math.atan2(r.y-e.y,r.x-e.x);n[0].x=e.x+l*Math.cos(u),n[0].y=e.y+l*Math.sin(u)}let u=e.arrowTypeEnd&&r.hq[e.arrowTypeEnd];if(u){let e=t.length,r=t[e-2],l=t[e-1],o=Math.atan2(l.y-r.y,l.x-r.x);n[e-1].x=l.x-u*Math.cos(o),n[e-1].y=l.y-u*Math.sin(o)}return n}function c(t,e,n,r,l){let u=t.point.x,o=t.point.y,i={x:u-e*t.r,y:o-n*t.r},a={x:u+e*t.r,y:o+n*t.r},s=[`L${h(i)}`];return"arc"===l?s.push(`A${p(t.r)},${p(t.r)} 0 0 ${r} ${h(a)}`):s.push(`M${h(a)}`),s}function g(t,e,n,r){let l=e.x-t.x,u=e.y-t.y,o=n.x-e.x,i=n.y-e.y,a=Math.hypot(l,u),s=Math.hypot(o,i);if(a<1e-5||s<1e-5)return null;let f=l/a,p=u/a,h=o/s,d=i/s,y=Math.acos(Math.max(-1,Math.min(1,f*h+p*d)));if(y<1e-5||1e-5>Math.abs(Math.PI-y))return null;let c=Math.min(r/Math.sin(y/2),a/2,s/2);return{startX:e.x-f*c,startY:e.y-p*c,endX:e.x+h*c,endY:e.y+d*c,ctrlX:e.x,ctrlY:e.y,cutLen:c}}function x(t,e,n){let r=t.points;if(r.length<2)return"";let l=y(r,t),u="rounded"===t.curve,i=o(l),a=new Map;for(let t of e){let e=i[t.segIndex];if(!e)continue;let r=Math.hypot(e.b.x-e.a.x,e.b.y-e.a.y),l=a.get(t.segIndex)??[];l.push({t:t.t,point:t.point,d:t.t*r,r:n.jumpRadius}),a.set(t.segIndex,l)}let s=[`M${h(l[0])}`];for(let t=0;t<i.length;t++){let e=i[t],r=Math.hypot(e.b.x-e.a.x,e.b.y-e.a.y),o=0===r?0:(e.b.x-e.a.x)/r,f=0===r?0:(e.b.y-e.a.y)/r,y=d(e),x=0;if(u&&t>0){let e=g(l[t-1],l[t],l[t+1]??l[t],5);e&&(x=e.cutLen)}let b=r,M=null;u&&t<i.length-1&&(M=g(l[t],l[t+1],l[t+2]??l[t+1],5))&&(b=r-M.cutLen);let m=.6*n.jumpRadius,$=[...a.get(t)??[]].sort((t,e)=>t.t-e.t).filter(t=>{let e=Math.min(t.d-x,b-t.d)-2;return t.r=Math.min(t.r,e),t.r>=m});for(let t=0;t<$.length-1;t++){let e=$[t+1].d-$[t].d;if($[t].r+$[t+1].r>e){let n=e/2;$[t].r=Math.min($[t].r,n),$[t+1].r=Math.min($[t+1].r,n)}}for(let t of $)t.r<m||s.push(...c(t,o,f,y,n.jumpStyle));u&&M?(s.push(`L${p(M.startX)},${p(M.startY)}`),s.push(`Q${p(M.ctrlX)},${p(M.ctrlY)} ${p(M.endX)},${p(M.endY)}`)):s.push(`L${h(e.b)}`)}return s.join(" ")}function b(t){return/^[\d\s+,.LMelm-]*$/.test(t)}function M(t){return!t||"linear"===t||"rounded"===t||"step"===t||"stepBefore"===t||"stepAfter"===t}function m(t){if(!t)return null;try{let e="function"==typeof atob?atob(t):u.from(t,"base64").toString(),n=JSON.parse(e);if(!Array.isArray(n))return null;let r=[];for(let t of n)t&&"number"==typeof t.x&&"number"==typeof t.y&&r.push({x:t.x,y:t.y});return r.length>=2?r:null}catch{return null}}function $(t,e,n){if(!n.enabled)return;let r=t.node();if(!r)return;let l=new Map;for(let t of e)l.set(t.id,t);let u=new Map;for(let t of r.querySelectorAll("path[data-id]")){let e=t.getAttribute("data-id");null===e||u.has(e)||u.set(e,t)}let o=[];for(let t of e){let e=u.get(t.id);if(!e)continue;let n=m(e.getAttribute("data-points"))??t.points;o.push({...t,points:n})}let i=f(o);if(0===i.length)return;let a=new Map;for(let t of i){let e=a.get(t.jumpEdgeId)??[];e.push(t),a.set(t.jumpEdgeId,e)}for(let t of o){let e=a.get(t.id);if(!e||0===e.length)continue;let r=l.get(t.id),o=r?.curve;if(void 0!==o&&!M(o))continue;let i=u.get(t.id);if(!i||void 0===o&&!b(i.getAttribute("d")??""))continue;let s=i.getAttribute("style")??"",f=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),p=f?Number.parseFloat(f[1]):null,h=f?Number.parseFloat(f[2]):null,d=x(t,e,n);if(i.setAttribute("d",d),null!==p&&null!==h&&"function"==typeof i.getTotalLength){let t=Math.max(0,i.getTotalLength()-p-h),e=`0 ${p} ${t} ${h}`,n=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${e};`).replace(/;\s*;+/g,";");i.setAttribute("style",n)}}}(0,l.K)(o,"buildSegmentList"),(0,l.K)(i,"segmentIntersection"),(0,l.K)(a,"isHorizontalSeg"),(0,l.K)(s,"crossingSitsInRoundedCorner"),(0,l.K)(f,"findEdgeIntersections"),(0,l.K)(p,"fmt"),(0,l.K)(h,"pointToString"),(0,l.K)(d,"getArcSweepFlag"),(0,l.K)(y,"applyMarkerOffsets"),(0,l.K)(c,"emitJump"),(0,l.K)(g,"computeRoundedCorner"),(0,l.K)(x,"rewriteEdgePath"),(0,l.K)(b,"isStraightPath"),(0,l.K)(M,"curveSupportsLineHops"),(0,l.K)(m,"decodeDataPoints"),(0,l.K)($,"applyLineJumpsToSvg")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7763],{97763:(a,e,s)=>{s.d(e,{diagram:()=>k.AC});var k=s(48578);s(7224),s(61085),s(95138),s(38123),s(77044),s(15081),s(1538),s(42527),s(70314),s(93464),s(54722),s(93189),s(14126),s(22174),s(31183),s(86256),s(57541),s(17487),s(13345)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7785],{37785:(e,r,t)=>{t.d(r,{diagram:()=>y});var a=t(34009),n=t(98436);t(98269),t(57541);var l=t(17487),s=t(13345),p=t(15369),i=(0,p.sB)().RailroadAbnf.parser.LangiumParser,u=(0,s.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),m=(0,s.K)(e=>{let r=e.elements.map(d);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),o=(0,s.K)(e=>{if(e.includes("*")){let[r,t]=e.split("*");return{min:r?parseInt(r,10):0,max:t?parseInt(t,10):1/0}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=(0,s.K)(e=>{let r=b(e.primary);if(!e.repeat)return r;let{min:t,max:a}=o(e.repeat);return 0===t&&1===a?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:a}},"transformElement"),b=(0,s.K)(e=>{switch(e.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return u(e.element);case"AbnfOptionalGroup":return{type:"optional",element:u(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,s.K)(e=>({name:e.name,definition:u(e.definition)}),"transformRule"),c=(0,s.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(f(e)))},"populateDb"),y={parser:{parse:(0,s.K)(e=>{a.db.clear(),l.R.debug("[ABNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;l.R.debug("[ABNF Parser] Parsed rules:",t.rules.length),c(t),l.R.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);
|