elanous 0.2.41 → 0.2.43
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/{GiOLWmt4MqDZePubBjA4Q → Om5xS9jpjSXJCeTNGYEi4}/_buildManifest.js +1 -1
- package/apps/pwa/out/_next/static/chunks/{2fe2c302.41b517f88d6fe502.js → 0966f8a1.745fcd44f64a87ea.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{385e4574.e9886ab32759eda3.js → 0ad6802e.ae7afb63fdcb4491.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/114.2b90424d1a3ce84c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1151-5c2bb8f002ca2dd6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1200.6a37c202f9f17e9a.js +226 -0
- package/apps/pwa/out/_next/static/chunks/1261-a616d5728e02e624.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1313-19f737e0222c4444.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1357.3bbef3976c37f94a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1362-20adddfaf662b0fa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6874.d5cf7eb8edb2cabe.js → 1406.a1dc2ab6f8449374.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/1737-9491fc6ab29b9ec6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1803-4f91a8e7dcaf042c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5744.b9415e18ad623100.js → 1961.a81b12872c3e93a9.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1970cf59.2d4d8ce5d6c81853.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1971-8890f3962ba7ee0a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2073-ba274e00e4f9efb4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5471.1e611302ed3a7c53.js → 2144.25b292396712196d.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/{3230-49298c3b73ef2268.js → 2268-53861f339e0b65a2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9834.63ab2bbc3153172e.js → 2312.0c8b61e22d3136d7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{1800.f7ff51dc4978a958.js → 2573.387a707f6f9d720c.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/273.f156eee28f11af77.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2873.d2140e5a82546401.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{9048.212083de42d25be3.js → 3072.01338851ca21a6f7.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/3091.a5a4143dea33d197.js +90 -0
- package/apps/pwa/out/_next/static/chunks/3095.dc44586a5f83b86d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2263.e09b6edea33bad2d.js → 3113.d7472bbc27d580c7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3228-9650b6447b6fa288.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3402.44b565b314f2263c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{addc2b32.8c4ff8f0aefe987d.js → 3557ac4a.c8931684475018ad.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/360.ae9f9f4c33c395e8.js +79 -0
- package/apps/pwa/out/_next/static/chunks/3638.80412ea63aae8f3f.js +286 -0
- package/apps/pwa/out/_next/static/chunks/{a0a01613.6d1cca322238d7fe.js → 363bfab3.9623b9f89363541f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3694.e0099884345f0198.js +64 -0
- package/apps/pwa/out/_next/static/chunks/3744.54f87db52acfd1ab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3903.3ef4656c67572764.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3935.16701e33f8982dc9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3955.6922286237f2ac2b.js +24 -0
- package/apps/pwa/out/_next/static/chunks/3969.272ee7f9fd6c62e5.js +34 -0
- package/apps/pwa/out/_next/static/chunks/4199.ce86b281fd0a60b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4311-6dd3144002cc0c2d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4426-2b230fad00c88930.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{530.d26346e18089640a.js → 4445.7990c76b3751a918.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4447-14c5161fa59166c7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4856-b0b8075bba8c53f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4870-de370d65e73c0bb5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4885-2c989165c4b29fad.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4894.fec2ca9e99caefa2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5093.8f04b7f8cb899a95.js +94 -0
- package/apps/pwa/out/_next/static/chunks/5122-2bb177cebf89e19a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5154.5f56dc3902e3d275.js +36 -0
- package/apps/pwa/out/_next/static/chunks/529.64ff7257180b2ac9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5394.5dabeb0c62293a28.js +93 -0
- package/apps/pwa/out/_next/static/chunks/5461.08bf2404ff38ec85.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5474-22e08a85583209b2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1219.7e17964e0e7cd8e5.js → 5564.9e72532188f57586.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/5567-265df39ed8fe9dcb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5570-a94ae19811cb2046.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5574-b47c9ef2dceff1fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5628.6ddb2d5ffba4ff4c.js +309 -0
- package/apps/pwa/out/_next/static/chunks/5730.43d7ccc09988e646.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1178.1aa9cad0e7695427.js → 5789.2da35c258292e1e5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{4133.2056bb4d78f621af.js → 5824.da9527b15a3221e5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5866.366966af47fdde5d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4527.a69f2894d1bc9f4a.js → 5930.8b4df3b46c32b05a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5963-c4d8469c52a0828b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6001.ec4049ceb3c43418.js +27 -0
- package/apps/pwa/out/_next/static/chunks/6120-471f03db1e299c0c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6175-41479e643aca1878.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6291.a2de4f9787637075.js +104 -0
- package/apps/pwa/out/_next/static/chunks/6400-6699907c3537436a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6428.1f4327d6ae5fdf9a.js +287 -0
- package/apps/pwa/out/_next/static/chunks/644.02cb026fa44bcd0a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6466-6c87d60d3dd174fb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{9507.7026657a2f47eb64.js → 6540.c7bef57ad8f90a87.js} +16 -16
- package/apps/pwa/out/_next/static/chunks/6773.d4264665ab31bec0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6822.3c789f1a8443e774.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5574.f35accf4f132b29d.js → 6944.309f4e3ea54d1537.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7261-8ff69d3b2ee671fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7266.084c6bbc70035140.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7271.5c0100e7320aa856.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7429-bf5731358c8f2f68.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7464.01f7a0ae1215fbe7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7479.0fcad5f37eb64f0c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7483.427a2fe2049e388d.js +148 -0
- package/apps/pwa/out/_next/static/chunks/7502-be74718178e13e56.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7530.0889722b19572065.js +24 -0
- package/apps/pwa/out/_next/static/chunks/7645.5b2ee3ad45c55ea3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7788.7d1c79f1a8e18946.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7900.096f455c7c1efc53.js +77 -0
- package/apps/pwa/out/_next/static/chunks/7910-6f139bcafd238b9f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7966.f71c8958d1637548.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5947-135e26537d80a6b9.js → 8062-7cd0bcc7f01455ba.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/8073.f6cf2f2c71aafbd0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8201.190b94088980f430.js +74 -0
- package/apps/pwa/out/_next/static/chunks/8205.282ca4bb62d54a0a.js +62 -0
- package/apps/pwa/out/_next/static/chunks/8313-dfa1021bb58a46d6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/837-81336ebaca8198a8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8447.7963352ef5f71b76.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8574-868e8129525ef6d9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8588.d1c6a2903727ce87.js +149 -0
- package/apps/pwa/out/_next/static/chunks/8637.90f92d5c8db4732c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2743.5d3f76948be32b34.js → 868.6e953be05bcf6dca.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/8706-e1fe0309343a2273.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8749-06384cdfc4520add.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5964-7e21164a8f2cf0ce.js → 8861-cc1fa1c7b920fa8e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8967-7dfebf710c9dec9d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5159.115f1c2ca471386c.js → 8986.8e2e4efbfa655c59.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8997-3c564dbb3b58b055.js +1 -0
- package/apps/pwa/out/_next/static/chunks/923.2034d10ae91e9c20.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9312.bc1b89c5d4368033.js +1 -0
- package/apps/pwa/out/_next/static/chunks/943.39ae5e82f4f1893f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9469.0500480de55fb205.js +32 -0
- package/apps/pwa/out/_next/static/chunks/9770.5f75bc6088b16109.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9810-2543267050e58b82.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9870.8419702475254745.js +8 -0
- package/apps/pwa/out/_next/static/chunks/9941-376d1b74d51b01a4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9958.385434ab04241758.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{b2271e54.c1de3347976e90b0.js → aa57532f.510551854ff239b1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-deea1450b17cb8dc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-70985b904f8650ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-a2e15e33e56a4353.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-fc72ce2db12d6ca9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-be03e41f9436ebd9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-35a35999382da3f2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-3ff5b1e6ca88b848.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-a65101300a0ee5c1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-3aca5b6d67dba511.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-45b8ab0a71e61314.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-53046e282d4cda8e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-17809e60e8354c17.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-fd2442d347bf5898.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-e9d720d6fc082e21.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-6b8b4267bab0a677.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-deea1450b17cb8dc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-8bcf6233ac7c17af.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-7cc25591cfc2126f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-053e871f35c9beba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-eff819f0c2d5e084.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-4d7e9d8db5274a87.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-2b2d8f5aa5f69ad4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-0b8f92c5062e68b1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-1bd9d0fdac2ced3d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-9ee28f7df07428ea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-44b7a1ff468c6648.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-cbc6523711dc1b65.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-fdad47899c2695be.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/{page-40f9e19149024298.js → page-79a8b5fee4c20871.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-03e8ac9606aeaffb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-4cd55c55ec287e2f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-db17b4305404161e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-30041d848350fd02.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-c540da022dbf86b0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9399efc538da057f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/{page-a142dfb0331a05f5.js → page-ca2d09128c585ca4.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0e2635aecd343038.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ef7f4399b6b7726e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-deea1450b17cb8dc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-caf530535b875468.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-eaa20c1543a5fd8e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-c541eb1b75120f61.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-ab5e213eda9479f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-0a815f34367b6db6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-e858ba0ed9393b68.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-1638ee9dd6e0582f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-4cf5a399109391f2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-b4396321238798ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-cb72bfd21006781a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-6135d0242afbc434.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-a1dccf907eddb856.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{53aeb4ee-51c92f8d683f5220.js → c7945435-b44d4dbe90ba0dcb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{2fdf2931.b431eee4fb468bc3.js → cb0f8df8.09a4a6be97e3fc5f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{c0c1a699.0ba79f97005965d4.js → d96660fb.cbc21a2a88539dbb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/ea514caa.05a24f78d9dffe5f.js +122 -0
- package/apps/pwa/out/_next/static/chunks/{83184dcd-0ee6247ff41eb3f2.js → fb7d20d5-6892502b6ee39ca6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-e8a911e19b1be41f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-7022f418fabba021.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-e5f15df755756a1e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-4525f91e36940c9b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-140f0e519c085b0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-8f22ef63dcb865b1.js +1 -0
- package/apps/pwa/out/_next/static/css/{b9d8151e48998417.css → 62c858ad53854f47.css} +1 -1
- package/apps/pwa/out/_next/static/css/d1f8bb401740a549.css +1 -0
- 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 +24 -25
- 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 +23 -23
- 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 +24 -25
- package/apps/pwa/out/live-run/index.html +1 -1
- package/apps/pwa/out/live-run/index.txt +24 -25
- 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/external-commands.yaml +5 -3
- package/catalog/meta/catalogVersion.yaml +2 -1
- package/catalog/signing/catalog-signing-public.pem +3 -0
- package/docs/goal-context/04-mock-scenarios.md +13 -0
- package/graphs/catalog/catalog.yaml +1 -1
- package/graphs/heal/heal-loop.yaml +1 -0
- package/graphs/intake/intake-daily.yaml +16 -0
- package/graphs/intake/news-sources.yaml +1 -0
- package/graphs/intake/recipes.yaml +7 -0
- package/graphs/overlays/examples/research-runtime-empty-terminal.yaml +28 -0
- package/graphs/overlays/stop-heal-ladder.yaml +113 -0
- package/graphs/profiles/local.yaml +5 -0
- package/graphs/profiles/pod.yaml +4 -0
- package/graphs/units/verbs/recipes.yaml +11 -11
- package/graphs/work/research-report.yaml +10 -2
- package/package.json +6 -2
- package/plugins/demo-absorption-briefing/plugin.json +18 -0
- package/plugins/demo-absorption-briefing/skills/demo-absorption-briefing/SKILL.md +8 -0
- package/plugins/demo-browser-hand/plugin.json +13 -0
- package/plugins/demo-browser-hand/skills/demo-browser-hand/SKILL.md +8 -0
- package/plugins/demo-linear-secretary/plugin.json +15 -0
- package/plugins/demo-linear-secretary/skills/demo-linear-secretary/SKILL.md +8 -0
- package/plugins/demo-plugin-wizard/plugin.json +11 -0
- package/plugins/demo-plugin-wizard/skills/demo-plugin-wizard/SKILL.md +8 -0
- package/plugins/demo-research/plugin.json +16 -0
- package/plugins/demo-research/skills/demo-research/SKILL.md +8 -0
- package/plugins/demo-video-briefing/plugin.json +15 -0
- package/plugins/demo-video-briefing/skills/demo-video-briefing/SKILL.md +8 -0
- package/scripts/build-signed-catalog.ts +48 -0
- package/scripts/ci-typecheck-main-delta.sh +88 -0
- package/scripts/codex-fallback-live-probe.ts +1 -1
- package/scripts/demo/demo1104-parallel-scenes.ts +301 -0
- package/scripts/demo/demo1104-stage.config.ts +21 -0
- package/scripts/demo/demo1104-stage.ts +316 -0
- package/scripts/goal-method-audit.ts +17 -1
- package/scripts/graph-units/land-enqueue.ts +90 -0
- package/scripts/heal/run-role.ts +99 -5
- package/scripts/hooks/codex-notify.sh +32 -0
- package/scripts/install.sh +10 -38
- package/scripts/land-global-checks.ts +6 -1
- package/scripts/landing-heal/land-plan.ts +57 -0
- package/scripts/lib/decompose-ab.ts +1 -0
- package/scripts/lib/fixtures/tui-regress/help-insufficient-commands.txt +15 -0
- package/scripts/lib/fixtures/tui-regress/help-live.txt +42 -0
- package/scripts/lib/fixtures/tui-regress/help-missing-keys.txt +21 -0
- package/scripts/lib/fixtures/tui-regress/help-original.txt +51 -0
- package/scripts/lib/fixtures/tui-regress/help-shifted-input.txt +26 -0
- package/scripts/lib/tui-regress-checks.ts +33 -13
- package/scripts/release-loop/auto-approve-node.ts +1 -1
- package/scripts/release-loop/gate-autoheal-sim-evidence.ts +60 -0
- package/scripts/release-loop/gate-baseline-receipt.ts +47 -9
- package/scripts/release-loop/gate-image-pin.ts +81 -0
- package/scripts/release-loop/gate-method.ts +139 -0
- package/scripts/release-loop/gate-node-sim.ts +207 -0
- package/scripts/release-loop/gate-node.ts +463 -64
- package/scripts/release-loop/gate-pod-image-sticky-plan.ts +99 -0
- package/scripts/release-loop/gate-radius-live.ts +97 -13
- package/scripts/release-loop/gate-shard-dispatch.ts +43 -0
- package/scripts/release-loop/gate-traffic-mode.ts +151 -3
- package/scripts/release-loop/gate-train-receipts.ts +122 -0
- package/scripts/release-loop/node-verdict.ts +38 -25
- package/scripts/release-loop/preflight.ts +362 -8
- package/scripts/release-loop/resume-release.ts +83 -8
- package/scripts/release-loop/unattended-release.ts +20 -9
- package/scripts/rhythm/daily.ts +36 -4
- package/scripts/rhythm/linear-progress-sync.ts +298 -0
- package/scripts/ux-sim.ts +18 -1
- package/scripts/video-pipeline.ts +9 -1
- package/scripts/warm-pool-provider-config.ts +286 -0
- package/skills/omni-crawl/SKILL.md +5 -2
- package/skills/omni-crawl/scripts/main.ts +84 -23
- package/src/acp/agent-manager.ts +1 -0
- package/src/acp/codex-app-server-agent.ts +33 -0
- package/src/acp/codex-app-server-client.ts +153 -16
- package/src/acp/core-turn-bridge.ts +27 -9
- package/src/acp/event-router.ts +20 -1
- package/src/acp/server.ts +6 -0
- package/src/agent/registry.ts +2 -0
- package/src/agent/task-notification.ts +25 -5
- package/src/agent/types.ts +6 -0
- package/src/agent-mission/browser-roundtrip-coordinator.ts +85 -0
- package/src/agent-mission/claude-headless.ts +4 -1
- package/src/agent-mission/codex-exec.ts +105 -0
- package/src/agent-mission/driver.ts +192 -11
- package/src/agent-mission/grok-auth-status.ts +47 -0
- package/src/agent-mission/hand-hooks.ts +101 -0
- package/src/agent-mission/mission-cli.ts +63 -4
- package/src/agent-mission/mission-hand-reply.ts +118 -0
- package/src/agent-mission/mission-line.ts +180 -0
- package/src/agent-mission/mission-out.ts +833 -0
- package/src/agent-mission/tool-install.ts +200 -3
- package/src/agent-substrate/context-strategy.ts +4 -4
- package/src/agent-substrate/self-review-cli.ts +178 -13
- package/src/agents/general-purpose.md +1 -1
- package/src/auto-research/research-turn.ts +211 -53
- package/src/autopilot/pr-manager.ts +69 -10
- package/src/autopilot/pty-control-loop.ts +2 -0
- package/src/boot/daemon-tools/self-implement.ts +3 -1
- package/src/boot/daemon-tools/web-search.ts +1 -2
- package/src/briefing/brief-items.ts +55 -11
- package/src/capture/tui-self-report.ts +22 -6
- package/src/chat/index.ts +1 -1
- package/src/cli/agent-cli.ts +2 -1
- package/src/cli/catalog-cli.ts +31 -0
- package/src/cli/connector-cli.ts +16 -0
- package/src/cli/doctor-fix.ts +2 -2
- package/src/cli/fixtures/review-loop-breaker/opwaiver-32646-1694ccc7a170.json +1 -0
- package/src/cli/fixtures/review-loop-breaker/opwaiver-32853-bd8f73595c83.json +1 -0
- package/src/cli/fixtures/review-loop-breaker/opwaiver-33097-1cc85900413c.json +1 -0
- package/src/cli/fixtures/review-loop-breaker/opwaiver-33106-972f31e4a3ca.json +1 -0
- package/src/cli/fixtures/review-loop-breaker/opwaiver-33113-3ab51f05968f.json +1 -0
- package/src/cli/fixtures/review-loop-breaker/pr-33097-1cc85900413c.json +1 -0
- package/src/cli/intake-source-cli.ts +44 -8
- package/src/cli/msg-cli.ts +32 -3
- package/src/cli/pr-cli.ts +21 -1
- package/src/cli/pr-land-heavy-remote.ts +75 -5
- package/src/cli/pr-land-overlap-evidence.ts +113 -2
- package/src/cli/pr-land-pod-shadow-job.ts +202 -4
- package/src/cli/pr-land-pod-shadow.ts +9 -2
- package/src/cli/release-checklist-read-cli.ts +57 -19
- package/src/cli/release-cli.ts +23 -3
- package/src/cli/research-cli.ts +13 -5
- package/src/cli/setup-cli.ts +166 -6
- package/src/cli/setup-keys.ts +187 -0
- package/src/cli/task-plugin-wizard-host.ts +114 -0
- package/src/cli/tasks-cli.ts +61 -9
- package/src/cli/tui-test-cli.ts +186 -0
- package/src/compact/auto.ts +8 -1
- package/src/config.ts +4 -2
- package/src/connectors/linear-daily-progress.ts +228 -0
- package/src/connectors/linear-projector.ts +34 -12
- package/src/connectors/linear.ts +151 -7
- package/src/control-plane/ledger.ts +52 -2
- package/src/control-plane/server.ts +16 -2
- package/src/core-turn/deep-turn-bloom.ts +67 -0
- package/src/core-turn/research-policy.ts +37 -0
- package/src/core-turn/run-core-turn.ts +606 -95
- package/src/core-turn/run-goal-loop.ts +18 -0
- package/src/core-turn/types.ts +4 -0
- package/src/dashboard/chat/acp-chat.ts +10 -0
- package/src/dashboard/classic-sidetab-mission-job.ts +161 -0
- package/src/dashboard/classic-sidetab-mission-pair.ts +81 -0
- package/src/dashboard/classic-sidetab-mission-trio.ts +219 -0
- package/src/dashboard/classic-sidetab-mission.ts +347 -0
- package/src/dashboard/index.ts +517 -18
- package/src/dashboard/input/agent-wake.ts +23 -1
- package/src/dashboard/input/chat-main-acp-dispatch.ts +23 -0
- package/src/dashboard/input/chat-main-plain-turn-runtime.ts +17 -0
- package/src/dashboard/mission-cli-consumer.ts +165 -0
- package/src/dashboard/plugin-wizard-runtime.ts +50 -0
- package/src/dashboard/plugin-wizard-tool.ts +55 -0
- package/src/dashboard/seat-boot-preamble.ts +171 -1
- package/src/dashboard/side-basic-runtime.ts +54 -1
- package/src/dashboard/sidetab-runtime.ts +90 -1
- package/src/dashboard/skill-catalog-preamble.ts +101 -0
- package/src/dashboard/skill-detection-runtime.ts +55 -15
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +15 -0
- package/src/dashboard/terminal-popup-runtime.ts +6 -3
- package/src/dashboard/turn-preamble.ts +53 -15
- package/src/dashboard/turn-prompt-runtime.ts +4 -2
- package/src/decisions/linear-progress-summary.ts +78 -0
- package/src/decisions/linear-progress-sync.ts +152 -0
- package/src/domains/outbound-alert.ts +49 -11
- package/src/domains/telegram-kind-route.ts +16 -9
- package/src/graph-runner/arg-allowance.ts +13 -0
- package/src/graph-runner/graph-cli.ts +23 -7
- package/src/graph-runner/graph-run-api.ts +3 -1
- package/src/graph-runner/graph-tick.ts +10 -2
- package/src/graph-runner/runner.ts +86 -18
- package/src/graph-wizard/mission-compose.ts +407 -12
- package/src/grok/agent-search.ts +14 -4
- package/src/grok/credential.ts +28 -11
- package/src/harness/dispatch-backpressure.ts +54 -1
- package/src/harness/dispatch-shadow-compare.ts +74 -0
- package/src/harness/harness-cli-command.ts +11 -1
- package/src/harness/harness-pod-dispatch.ts +81 -15
- package/src/harness/harness-stop.ts +155 -11
- package/src/harness/skill-exec.ts +21 -9
- package/src/harness/skill-select.ts +1 -1
- package/src/hooks/error-report-cloud.ts +101 -0
- package/src/hooks/receiver.ts +29 -2
- package/src/index.ts +159 -13
- package/src/instance/spawn-elanous.ts +6 -4
- package/src/intake-plane/actions.ts +354 -0
- package/src/intake-plane/adapters/telegram-ambient.ts +34 -18
- package/src/intake-plane/intake-sources.ts +78 -8
- package/src/intake-plane/items.ts +14 -4
- package/src/intake-plane/linear-mission-sync.ts +80 -0
- package/src/intake-plane/linear-secretary-runtime.ts +178 -0
- package/src/intake-plane/linear-wish.ts +227 -1
- package/src/life/life-cli.ts +168 -0
- package/src/life/life-kinds.ts +160 -0
- package/src/live-supply/budget-consumer.ts +78 -0
- package/src/live-supply/read.ts +3 -0
- package/src/live-supply/snapshot.ts +45 -0
- package/src/llm/provider-credentials.ts +8 -2
- package/src/llm.ts +168 -9
- package/src/loops/orchestrator/coordinator-shadow.ts +226 -0
- package/src/loops/orchestrator/tick.ts +13 -0
- package/src/maturity/feature-maturity.ts +4 -4
- package/src/msg/msg-sse-server.ts +3 -3
- package/src/msg/msg-store.ts +177 -19
- package/src/native-tool-catalog.ts +38 -4
- package/src/nexus/api/harness-traversal.ts +11 -0
- package/src/nexus/api/http-server.ts +37 -1
- package/src/nexus/api/mcp-public-allowlist.ts +2 -0
- package/src/nexus/index.ts +7 -2
- package/src/nexus/outbound/format.ts +9 -0
- package/src/nexus/outbound/router.ts +98 -13
- package/src/nexus/setup-status.ts +9 -0
- package/src/nexus/state/state.ts +3 -0
- package/src/oauth/codex-account-store.ts +20 -7
- package/src/oauth/codex-owner-mirror.ts +44 -0
- package/src/oauth/codex.ts +17 -2
- package/src/oauth/fallback-chain.ts +47 -17
- package/src/onboarding/first-run-doctor.ts +8 -1
- package/src/onboarding/first-run.ts +85 -26
- package/src/onboarding/key-setup.ts +103 -0
- package/src/onboarding/menu-answer.ts +13 -0
- package/src/onboarding/secret-prompt.ts +37 -0
- package/src/plugins/install/plugin-install.ts +59 -0
- package/src/pr-tool/census.ts +133 -2
- package/src/pty-shell/pty-control-ipc.ts +4 -1
- package/src/pty-shell/tui-run-state.ts +188 -2
- package/src/registry/catalog-server.ts +232 -0
- package/src/registry/loader.ts +45 -1
- package/src/registry/types.ts +1 -2
- package/src/release-loop/checklist-target-path-hint.ts +13 -0
- package/src/release-loop/checklist.ts +9 -1
- package/src/repl/index.ts +43 -2
- package/src/research/axis-fanout.ts +136 -16
- package/src/research/bloom-exemplars.ts +3 -1
- package/src/research/gap-followup.ts +13 -1
- package/src/research/plugin-discovery.ts +36 -14
- package/src/research-bridge/invoke.ts +22 -5
- package/src/research-bridge/types.ts +2 -0
- package/src/self-dev/ask-launch-flow.ts +72 -1
- package/src/self-dev/decompose.ts +119 -5
- package/src/self-dev/dev-cli.ts +4 -1
- package/src/self-dev/dev-pipeline.ts +5 -0
- package/src/self-dev/draft-residue.ts +64 -5
- package/src/self-dev/graph-front-nodes.ts +2 -1
- package/src/self-dev/graph-journey-route.ts +76 -21
- package/src/self-dev/launch-preflight-text.ts +5 -6
- package/src/self-dev/launch-preflight.ts +58 -0
- package/src/self-dev/orchestrate.ts +13 -3
- package/src/self-dev/review-provider-fallback.ts +9 -2
- package/src/self-dev/run-supervisor.ts +42 -4
- package/src/self-dev/run-types.ts +4 -0
- package/src/self-dev/shard-aggregate.ts +4 -0
- package/src/self-dev/shard-run.ts +36 -15
- package/src/self-implement/abandoned-classification.ts +12 -3
- package/src/self-implement/budget-gate.ts +7 -0
- package/src/self-implement/child-llm-preference.ts +10 -1
- package/src/self-implement/doctor-visit.ts +118 -8
- package/src/self-implement/elanous-tui-spawn.ts +3 -0
- package/src/self-implement/fixtures/tdd-green-missing-passing-child-transcript.txt +2 -0
- package/src/self-implement/gate-artifacts.ts +2 -1
- package/src/self-implement/goal-author-cli.ts +4 -2
- package/src/self-implement/goal-author.ts +684 -7
- package/src/self-implement/graph-overlay-yaml.ts +37 -4
- package/src/self-implement/graph-overlay.ts +3 -1
- package/src/self-implement/graph-profile-yaml.ts +107 -0
- package/src/self-implement/graph-yaml.ts +26 -3
- package/src/self-implement/headless-elanous-driver.ts +31 -2
- package/src/self-implement/heal-intake.ts +112 -4
- package/src/self-implement/heal-triage.ts +20 -0
- package/src/self-implement/host-regate.ts +27 -4
- package/src/self-implement/merge-train.ts +5 -0
- package/src/self-implement/off-diff-evidence.ts +249 -5
- package/src/self-implement/orchestrator.ts +365 -25
- package/src/self-implement/regate-detail.ts +38 -1
- package/src/self-implement/rework-child-provider.ts +25 -0
- package/src/self-implement/run-chart.ts +122 -0
- package/src/self-implement/run-ledger.ts +162 -11
- package/src/self-implement/run-stop.ts +188 -4
- package/src/self-implement/runtime-overlay-run-steps.ts +95 -0
- package/src/self-implement/stop-autoheal.ts +13 -0
- package/src/self-implement/tdd-evidence-tags.ts +9 -0
- package/src/self-implement/train-gate-receipt.ts +166 -0
- package/src/self-implement/train-gate-remote.ts +62 -18
- package/src/session/chat.ts +40 -4
- package/src/session/session-fanout.ts +2 -0
- package/src/session/streaming/acp-stream-sink.ts +2 -1
- package/src/session/streaming/chunk-producer.ts +6 -0
- package/src/session/streaming/stream-compositor.ts +3 -2
- package/src/session-runtime/index.ts +135 -5
- package/src/session-runtime/retry-policy.ts +1 -1
- package/src/session-runtime/tier-flip.ts +3 -3
- package/src/setup/llm-env-detect.ts +3 -0
- package/src/setup/service-key-catalog.ts +46 -0
- package/src/setup/service-keys.ts +241 -0
- package/src/sidetab-core/model.ts +19 -5
- package/src/sidetab-core/visible-agent-mission.ts +262 -0
- package/src/skills/name-match.ts +20 -0
- package/src/skills/tools/agent.ts +53 -6
- package/src/skills/tools/omni-search.ts +173 -13
- package/src/task-agent/parent-host.ts +10 -0
- package/src/task-agent/pod-distributor-entry.ts +3 -0
- package/src/task-agent/repair-outcomes.ts +65 -0
- package/src/task-agent/task-hand.ts +47 -7
- package/src/task-orchestrator/dispatcher.ts +14 -1
- package/src/task-orchestrator/linear-capture-events.ts +55 -0
- package/src/task-orchestrator/store.ts +16 -5
- package/src/task-orchestrator/surfaces/pod-artifact-return.ts +4 -0
- package/src/task-orchestrator/surfaces/pod-distributor.ts +48 -0
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +92 -1
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +38 -1
- package/src/task-orchestrator/surfaces/pod-ledger-events.ts +113 -14
- package/src/task-orchestrator/surfaces/pod-si-warm-entry.ts +33 -6
- package/src/task-orchestrator/surfaces/pod-source-bundle.ts +45 -9
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +178 -16
- package/src/task-orchestrator/surfaces/pod-source-spec.ts +3 -3
- package/src/task-orchestrator/surfaces/pod-warm-switch.ts +2 -0
- package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +237 -41
- package/src/task-orchestrator/surfaces/pod-warm-worker-runtime.ts +80 -3
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +337 -51
- package/src/task-orchestrator/surfaces/self-implement.ts +27 -3
- package/src/task-orchestrator/surfaces/warm-reuse-evidence.ts +169 -0
- package/src/task-orchestrator/types.ts +14 -0
- package/src/telegram.ts +14 -16
- package/src/terminal/coding-agent.ts +14 -5
- package/src/terminal/session-registry.ts +1 -1
- package/src/tokens.ts +35 -2
- package/src/tool-hints/gate.ts +1 -0
- package/src/tool-runtime/agent-runtime.ts +2 -0
- package/src/tool-runtime/browser-hand-runtime.ts +381 -0
- package/src/tool-runtime/browser-runtime.ts +2 -1
- package/src/tool-runtime/elanous-linear-issue-runtime.ts +76 -0
- package/src/tool-runtime/elanous-linear-secretary-runtime.ts +57 -0
- package/src/tool-runtime/elanous-skills-list-runtime.ts +5 -1
- package/src/tool-runtime/graph-mcp-runtimes.ts +240 -0
- package/src/tool-runtime/index.ts +6 -0
- package/src/tool-runtime/skill-exec-runtime.ts +33 -13
- package/src/tool-runtime/types.ts +4 -0
- package/src/tui/entry.ts +38 -5
- package/src/tui/sidetab/attach.ts +177 -1
- package/src/tui/sidetab/herdr-portal.ts +225 -0
- package/src/tui-client/local-chat-turn.ts +26 -13
- package/src/tui.ts +22 -0
- package/src/user-config.ts +34 -9
- package/src/user-intent/types.ts +4 -3
- package/src/ux-sim/browser-hand.ts +165 -0
- package/src/ux-sim/draft-inventory-builder.ts +198 -0
- package/src/ux-sim/fake-browser-page.ts +81 -0
- package/src/ux-sim/fake-kubectl.ts +37 -3
- package/src/ux-sim/fake-linear-device.ts +31 -0
- package/src/ux-sim/fault-pool-cap.ts +11 -6
- package/src/ux-sim/graph-engine-sim.ts +47 -0
- package/src/ux-sim/linear-secretary.ts +216 -0
- package/src/ux-sim/mock-scenario-catalog.json +93 -0
- package/src/ux-sim/mock-scenario-catalog.ts +274 -0
- package/src/ux-sim/onboarding-first-run-device.ts +31 -21
- package/src/ux-sim/scenario.ts +185 -48
- package/src/ux-sim/service-key-setup.ts +50 -0
- package/src/ux-sim/term-slash-device.ts +74 -0
- package/src/ux-sim/turn-throw-sim.ts +31 -0
- package/src/version/packed-revision.json +1 -1
- package/src/voice/voice-tts-singleton.ts +18 -3
- package/src/web-search/exa.ts +77 -0
- package/src/web-search/grok.ts +5 -9
- package/src/web-search/index.ts +30 -9
- package/src/web-search/provider.ts +4 -1
- package/src/web-search/x-intent.ts +5 -0
- package/apps/pwa/out/_next/static/chunks/1115.434ae2ecb0ad986d.js +0 -149
- package/apps/pwa/out/_next/static/chunks/1121.667cec0bcdbb3fdb.js +0 -36
- package/apps/pwa/out/_next/static/chunks/1197-54da59d250a6e476.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1245.1cfd13b26dbd71d6.js +0 -287
- package/apps/pwa/out/_next/static/chunks/1494-f93046ff5c5a124d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1609.2b312797599b8e45.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1661.0dd330f3d89f73f3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/167-0c121e4b47e0f9da.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1700.cdc2bf8cc685e221.js +0 -90
- package/apps/pwa/out/_next/static/chunks/1703-78e46acad29f3cfc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1765.679b29625c8e88d4.js +0 -77
- package/apps/pwa/out/_next/static/chunks/1971-7efb628c471dc5a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1999-8de7b7bb36801913.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2073.689dcb2680113d76.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2198-557d49184104d165.js +0 -1
- package/apps/pwa/out/_next/static/chunks/221-440ce67fa9f5c839.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2427-8ed8e98624cbd664.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2457-725c5827bc003795.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2491-2718b15a5ccb75a5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2527-5c636a43c7cc5dde.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2692-1027cb16fe4ccf49.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2773.0e80b9d325fb5635.js +0 -32
- package/apps/pwa/out/_next/static/chunks/2873-0f3cb56c8e3528ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3097.864e92bdaa2f4d15.js +0 -79
- package/apps/pwa/out/_next/static/chunks/3136-d6870ba63300a93e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3173-0289113d434e83b7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/325-dd9208a1a0ab7ce4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3283.528f430dd043fb4e.js +0 -74
- package/apps/pwa/out/_next/static/chunks/3295.cc8cb13b8f0dae1a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3688-86e3b88abf18cb3b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3804-7220467a5473a8df.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3808.3e1e247ce7bdf889.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3927.b5473ad109da44c5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3934-98ea94832e194796.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4156.ba4de4a3664f04b4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4297-239ca82f293faab0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4320-dcc5a7734126f4c9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4434.94b4c552a2d91e69.js +0 -148
- package/apps/pwa/out/_next/static/chunks/4579.03e4092f73950965.js +0 -226
- package/apps/pwa/out/_next/static/chunks/4667.97e31aa38c95c475.js +0 -309
- package/apps/pwa/out/_next/static/chunks/4702.4a4adc1f16d7c93b.js +0 -64
- package/apps/pwa/out/_next/static/chunks/4815.481501c57b3568d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/487-d16e698ef14662d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4888-7a38bf522c9cc6fe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5034-30e429d6bb086881.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5040-35c494e60dadd97d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/50c6ab1e.81a96e419350909d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5154.4b6a836179356f30.js +0 -94
- package/apps/pwa/out/_next/static/chunks/5228-a8200df486278f2d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5379.97af106d09566f69.js +0 -8
- package/apps/pwa/out/_next/static/chunks/5479-b6372e762719f92f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5534-699c5cbcbc96c5d7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5701.9c4e8f250312eeee.js +0 -24
- package/apps/pwa/out/_next/static/chunks/5892.2526d962339662d8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5937.c2df9e3447e1f667.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5941.8210cc93c9202c0a.js +0 -286
- package/apps/pwa/out/_next/static/chunks/5975.4004f820ae3cecd5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6142-7ccd48795d7abd55.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6160.bf9177b8c1bfb243.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6398.71ba0690c8027555.js +0 -27
- package/apps/pwa/out/_next/static/chunks/6492.2bd5c10edc1a064e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6552.a3840aa7da35ad68.js +0 -62
- package/apps/pwa/out/_next/static/chunks/6736.1e36d3ac5fa5e41d.js +0 -24
- package/apps/pwa/out/_next/static/chunks/6900.3ccbe069bdd4556a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/71327eb4.add50b365f94bf3a.js +0 -122
- package/apps/pwa/out/_next/static/chunks/7136.deca3e3a2ddaa374.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7139-ee9f8ed2677a40b3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7191.fdc955f7d96064a4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7423-e0aa5d9e2962120e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7453.afc1ea7e05d56a8c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7503-5e6a3d7fe67e4a0c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7761-476fd7bf768abd34.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7975.eafb12097a0a9e62.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8050-9b364bdef8f71927.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8152.64e253c35cccfaae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8190.620f0231b3924bcb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8448.45b6b1f1a99eeb35.js +0 -104
- package/apps/pwa/out/_next/static/chunks/8464-e24f10451b658aac.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8477.e4c944bb3aa5d2f3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8710.ca385257d5ca422e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8830.627ccf294ec2465c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8880.64c445592f04acaf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8981.c706964c8ba27aff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9053.bd0fffaff8d3f836.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9161-c66e723d7ec9d682.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9185.1ecdf9b65c0bb684.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9356.fccd5f58086b4ff5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9446.dc0406109371d329.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9506.dcf25d467a42627e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9541.eb8e2f8480c7feca.js +0 -93
- package/apps/pwa/out/_next/static/chunks/9577.ed7582186efa5482.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9579.4a8169600fff2058.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9642-ff2e039eb62e3b92.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9659-8f2323348113ad80.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9724.4c5623af2db43153.js +0 -34
- package/apps/pwa/out/_next/static/chunks/9869.81a1e24ca682d5a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-8d9d76ea322d855c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-ed2c4e59f9f1fe21.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-2dc99e03c5d76ca0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-b5a3a788330e920f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-14949db884bfa672.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-ea76c85b36388a97.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-01716d20af62d325.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-62baf6881a64b1e9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-f89ba590c2af8afa.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-22f8b0f78d9637e5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-817f9d7e6820be80.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-ffb9bc0d2650249a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-f6d0e64873c0f629.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-8bfa0d4ba23a209d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-f5060462249e32c7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-8d9d76ea322d855c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-b2049f8b1ef79117.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-1446c5fa93907f11.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-b48a7a07c5204156.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-e974b8c4ca47614c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-8a919b869bd28594.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-d31b8de6bfcd72ed.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-64765f817909db29.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-d128c8569a36ee9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-b2679d357e9b9270.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-6fabec98a9e7b269.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-048f30149dcf1349.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-9113181d6b5a2725.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-1e7a755a13227611.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-3c8f8b67a203cf07.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-18032f5437215062.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-da3b739192fd0ee3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-d332545571bd6fd1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-5237aa5b3f3b8ec5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-d16e56c3989c147e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-6b6593600869e2cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-8d9d76ea322d855c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-29e8b8a8396b55cb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-b3414d856a1a7e2f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-c3affa52b7ce961b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-f21dddf9f95b6fab.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-f5a30a24745bf088.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-8c8569a09b4d4e34.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-2ce32722c0243483.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-4767b0d9c0a98c6c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-116ee1339c387a75.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-35e8c50ca4ef7ffc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-52e17113356bb891.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-7458ae05ed2ac1a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-ad6c9dd524ad6ef8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-2ddd1f2b44d6aa59.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-e3d82bdc358d20c5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-71d5aa3896e1655f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-03ffc54e00438546.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-56bb89af5a611d0b.js +0 -1
- package/apps/pwa/out/_next/static/css/be9019f696217521.css +0 -1
- package/apps/pwa/out/_next/static/css/d0a48dc099ed86cf.css +0 -1
- /package/apps/pwa/out/_next/static/{GiOLWmt4MqDZePubBjA4Q → Om5xS9jpjSXJCeTNGYEi4}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3295],{43295:(e,c,r)=>{r.d(c,{createArchitectureServices:()=>s.S});var s=r(52338);r(78499)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3688],{13783:(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"}})}},14336:(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))}},15586:(e,t,n)=>{n.d(t,{xl:()=>E});var a=n(59977),s=n(95453),r=n(74886);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(97716),d=n(50157);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)([]),X=(0,s.useRef)([]),Z=(0,s.useRef)(null),Q=(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&&X.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(Z.current)for(let e of ev.pods){let t="pod|".concat(e.ts,"|").concat(e.pool);Z.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=Z.current)?e:new Set,f);if(Z.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):Q.current.push({key:n.key,line:s,from:n.from,to:n.to})}),er(e=>e+1)}Z.current=new Set([...null!=(t=Z.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=Q.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=()=>{Q.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(X.current=X.current.filter(e=>e.t<=1),X.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})),eA=ef.reduce((e,t)=>e+t.input+t.output,0),eC=ef.reduce((e,t)=>e+t.apiUsd,0),eR=Math.max(1,...ef.slice(0,10).map(e=>e.input+e.output)),eT=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)(C,{publicCapture:G,tone:"live",children:"● LIVE"}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)(L,{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)(L,{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)(A,{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)(P,{value:eN.shipped,accent:b.SHIP}),(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)(C,{publicCapture:G,tone:"ok",children:"MERGED"}),eN.selfHealRuns>0&&(0,a.jsx)(C,{publicCapture:G,tone:"heal",children:"SELF-HEALED"}),f.snapshot.counters.blocked>0&&(0,a.jsxs)(C,{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)(R,{publicCapture:G,label:"SELF-HEAL",value:null===eN.selfHealRate?"—":"".concat(eN.selfHealRate,"%"),color:b.HEAL}),(0,a.jsx)(R,{publicCapture:G,label:"RUNS",value:String(f.snapshot.runs.length),color:"#c7d2fe"}),(0,a.jsx)(R,{publicCapture:G,label:"DECISIONS",value:String(eN.decisions),color:b.PLAN})]})]}),(0,a.jsx)(A,{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)(C,{publicCapture:G,tone:"ok",children:["VERIFIED \xb7 MERGED",eS.pr?G?" PR":" #".concat(eS.pr):""]}):(0,a.jsx)(C,{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:eT.map(e=>{let t=eS.stages[e];return(0,a.jsxs)(C,{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)(A,{publicCapture:G,className:"col-span-12 lg:col-span-4",title:"LLM \xb7 ".concat(ev.bucketMin,"분 봉 ⊕ 요청 창"),stat:"".concat(ef.length," REQ \xb7 ").concat(I(eA)," 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)/eR*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)(A,{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)(A,{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(Q.current.length):"▶ REPLAY"}),ee&&(0,a.jsx)(q,{item:ee.item,folding:ee.folding,role:Y,publicCapture:G,runLabel:ey})]}),(0,a.jsx)(A,{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)(T,{publicCapture:G,label:"PATHS",value:f.stream.reduce((e,t)=>{var n;return e+(null!=(n=t.paths)?n:0)},0)||"—"}),(0,a.jsx)(T,{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)(T,{publicCapture:G,label:"ROUNDS AVG",value:eE.length?(eE.reduce((e,t)=>e+t,0)/eE.length).toFixed(1):"—"}),(0,a.jsx)(T,{publicCapture:G,label:"DECISIONS/MIN",value:eN.decisionsPerMin}),(0,a.jsx)(T,{publicCapture:G,label:"SIGNALS",value:E.length}),(0,a.jsx)(T,{publicCapture:G,label:"LLM REQ",value:ef.length}),G?(0,a.jsx)(T,{publicCapture:G,label:"MODELS",value:ev.ticker.length}):(0,a.jsx)(T,{publicCapture:G,label:"API ≈ USD",value:"$".concat(eC.toFixed(2))}),(0,a.jsx)(T,{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)(A,{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)(A,{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)(A,{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)(A,{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 A(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 C(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 R(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 T(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 L(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 P(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)})})]})]})}},45045:(e,t,n)=>{n.d(t,{cn:()=>r});var a=n(93035),s=n(88239);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))}},50157:(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")}},57758:(e,t,n)=>{n.d(t,{RT:()=>h});var a=n(59977),s=n(95453),r=n(24297),l=n.n(r),o=n(8464),i=n(99106),c=n(74886),d=n(13783);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")}})}},74886:(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,A,C,R,T,L,P,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!=(C=null!=(A=null==i?void 0:i.why)?A:u(t.reason))?C:u(t.why),d=i?null:u(t.purpose),H=i?null:null!=(O=null!=(T=null!=(R=u(t.target))?R:u(t.to))?T:u(t.account))?O:"SHIP"===r&&(null!=(L=u(t.pr))?L:p(t.prNumber)?String(p(t.prNumber)):null)?"#".concat(null!=(P=u(t.pr))?P: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)}}},78629:(e,t,n)=>{n.d(t,{HI:()=>l});var a=n(95453),s=n(8464),r=n(99106);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})}}},97716:(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(74886);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()]}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3804],{12897:(e,t,s)=>{function n(e){if("undefined"==typeof localStorage)return{migrated:!1,currentValue:null};let t=localStorage.getItem(e.currentKey);if(t&&t.length>0)return{migrated:!1,currentValue:t};let s=localStorage.getItem(e.legacyKey);if(!s||0===s.length)return{migrated:!1,currentValue:t};let n=s;if(e.transformValue)try{n=e.transformValue(s)}catch(e){n=null}if(!n||0===n.length)return{migrated:!1,currentValue:t};try{localStorage.setItem(e.currentKey,n),localStorage.removeItem(e.legacyKey)}catch(e){return{migrated:!1,currentValue:t}}return{migrated:!0,currentValue:n}}s.d(t,{yS:()=>d,uh:()=>u,Ip:()=>o,Fp:()=>l,Qc:()=>c});let r={baseUrl:"elanous.nexus.baseUrl",token:"elanous.daemon.token",provider:"elanous.daemon.provider"},a={daemonBaseUrl:"elanous.daemon.baseUrl",voiceWsUrl:"elanous.voice.wsUrl",voiceToken:"elanous.voice.token"};function o(){let e="https:"===window.location.protocol?"https:":"http:";return"".concat(e,"//").concat(window.location.host)}function i(e,t){if(!e)return"";let s=new URL(t,e);return s.protocol="https:"===s.protocol?"wss:":"ws:",s.toString()}function l(){var e,t;n({legacyKey:a.daemonBaseUrl,currentKey:r.baseUrl}),n({legacyKey:a.voiceWsUrl,currentKey:r.baseUrl,transformValue:e=>{try{let t=new URL(e);return t.protocol="wss:"===t.protocol?"https:":"http:",t.pathname="/",t.toString().replace(/\/$/,"")}catch(e){return null}}});let s=localStorage.getItem(a.voiceToken);s&&!localStorage.getItem(r.token)&&localStorage.setItem(r.token,s);let i=localStorage.getItem(r.baseUrl);return{baseUrl:i&&i.length>0?i:o(),token:null!=(e=localStorage.getItem(r.token))?e:"",provider:null!=(t=localStorage.getItem(r.provider))?t:""}}function c(e){void 0!==e.baseUrl&&localStorage.setItem(r.baseUrl,e.baseUrl),void 0!==e.token&&localStorage.setItem(r.token,e.token),void 0!==e.provider&&localStorage.setItem(r.provider,e.provider)}function d(e){return i(e.baseUrl,"/v1/acp")}function u(e){return i(e.baseUrl,"/v1/voice/ws")}},13783:(e,t,s)=>{let n;s.d(t,{cY:()=>d,x8:()=>i});let r={debug:0,info:1,warn:2,error:3},a="/v1/debug-logs/batch",o=null;function i(e){o=e}class l{health(){return{pending:this.queue.length,consecutiveFailures:this.consecutiveFailures,lastOkAt:this.lastOkAt,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches}}push(e){if(!(r[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)]<r[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,s=JSON.stringify({records:e});try{var n,r;t=await (n=this.fetchFn(s),r=this.postTimeoutMs,new Promise((e,t)=>{let s=setTimeout(()=>t(Error("debug-forward timeout after ".concat(r,"ms"))),r);n.then(t=>{clearTimeout(s),e(t)},e=>{clearTimeout(s),t(e)})}))}catch(e){t=!1}finally{this.inFlight=!1}if(!t){if(this.consecutiveFailures+=1,this.consecutiveFailures>=2&&o)try{await o(JSON.stringify({records:[...e,this.blockedNotice()]}))&&(this.fallbackBatches+=1)}catch(e){}this.wasFailing=!0,this.scheduleRetry();return}let a=this.lastOkAt;this.lastOkAt=Date.now();let i=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:i,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches,pending:this.queue.length,previousOkAt:a},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(a,t)&&this.queue.splice(0,e.length)}}catch(e){}}get pending(){return this.queue.length}constructor(e=c,t="debug",s=1e4,n=100){this.fetchFn=e,this.minLevel=t,this.postTimeoutMs=s,this.flushMs=n,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(a,{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 s=new Date().toISOString();if(void 0!==t){let n="";try{let e=new WeakSet;n=JSON.stringify(t,(t,s)=>{if("bigint"==typeof s)return"".concat(s.toString(),"n");if("function"==typeof s)return"[fn ".concat(s.name||"anon","]");if(s&&"object"==typeof s){if(e.has(s))return"[circular]";e.add(s)}return s})}catch(e){n="[unserializable: ".concat(String(e),"]")}n&&n.length>800&&(n=n.slice(0,797)+"..."),console.debug("[".concat(s,"] ").concat(e," ").concat(n),t),u(s,e,n)}else console.debug("[".concat(s,"] ").concat(e)),u(s,e,void 0)}function u(e,t,s){let r,a=function(){if(void 0!==n)return n;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 n=null,null;let t=new l(c,e.level,1e4,1500);try{window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&t.beaconFlush()})}catch(e){}return n=t,t}();if(!a)return;let o=t.slice(t.lastIndexOf(".")+1)||t;if(void 0!==s&&""!==s)try{r=JSON.parse(s)}catch(e){r=s}a.push({ts:e,category:t,event:o,...void 0!==r?{data:r}:{},source:{platform:"pwa"}})}},13804:(e,t,s)=>{s.d(t,{J_:()=>i,ki:()=>l});var n=s(33140),r=s(12897),a=s(13783),o=s(79030);class i extends Error{constructor(e,t,s=[]){super(t),this.status=e,this.code=t,this.seats=s}}class l{updateConfig(e){let t="".concat((0,r.yS)(this.cfg),"\0").concat(this.cfg.token),s="".concat((0,r.yS)(e),"\0").concat(e.token);this.cfg=e,t!==s&&(this.acpConnections.forEach(e=>e.dispose()),this.acpConnections.clear())}async fetchResponse(e,t){var s;let r=await fetch(this.url(e),{...t,headers:{...this.authHeaders(),...null!=(s=null==t?void 0:t.headers)?s:{}}});return 401===r.status&&(0,n.Qb)(e),r}async fetchJson(e,t){var s;if(e.startsWith("/v1/terminals")&&!e.startsWith("/v1/terminals/")&&(!t||(null!=(s=t.method)?s:"GET")==="GET"&&void 0===t.body)){let s=this.inflightTerminals.get(e);if(s)return s;let n=this.fetchJsonOnce(e,t).finally(()=>{this.inflightTerminals.delete(e)});return this.inflightTerminals.set(e,n),n}return this.fetchJsonOnce(e,t)}async fetchJsonOnce(e,t){var s,n,r;let a=await this.fetchResponse(e,t),o=(null!=(s=a.headers.get("content-type"))?s:"").includes("application/json")?await a.json():await a.text();if(!a.ok)throw Error(String("string"==typeof o?o:null!=(r=null!=(n=null==o?void 0:o.reason)?n:null==o?void 0:o.error)?r:"".concat(a.status)));return o}getCodexLogin(){return this.fetchJson("/v1/setup/codex-login")}startCodexLogin(e){return this.fetchJson("/v1/setup/codex-login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({mode:e})})}async health(){return this.fetchJson("/v1/health")}async fieldDefaultEvent(){return this.fetchJson("/v1/field/uploads")}async fieldReelStatus(e){return this.fetchJson("/v1/field/reel?event=".concat(encodeURIComponent(e)))}uploadField(e,t,s,r){let a=new FormData;t.forEach(e=>a.append("file",e,e.name)),t.forEach(()=>a.append("capturedAt",""));let o=new URLSearchParams({event:e,device:"pwa"});s.trim()&&(o.set("caption",s.trim()),a.append("caption",s.trim()));let i="/v1/field/uploads?".concat(o);return new Promise((e,t)=>{let s=new XMLHttpRequest;s.open("POST",this.url(i)),this.cfg.token&&s.setRequestHeader("authorization","Bearer ".concat(this.cfg.token)),s.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&r(Math.min(100,Math.round(100*e.loaded/e.total)))},s.onerror=()=>t(Error("field upload: network error")),s.onload=()=>{let r;401===s.status&&(0,n.Qb)(i);try{r=JSON.parse(s.responseText)}catch(e){t(Error("field upload ".concat(s.status,": invalid response")));return}if("object"!=typeof r||null===r)return void t(Error("field upload ".concat(s.status,": invalid response")));if(s.status<200||s.status>=300||!0!==r.ok){var a,o;t(Error(null!=(o=null!=(a=r.reason)?a:r.error)?o:"field upload ".concat(s.status)));return}if("string"!=typeof r.event||"number"!=typeof r.count)return void t(Error("field upload ".concat(s.status,": invalid response")));e({event:r.event,count:r.count})},s.send(a)})}async submitConsultRequest(e){let t=await this.fetchResponse("/v1/consult-requests",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)});if(202===t.status||400===t.status)return await t.json();throw Error("consult-requests ".concat(t.status))}async listExecRequests(){return this.fetchJson("/v1/exec-requests")}async getExecRequest(e){return this.fetchJson("/v1/exec-requests/".concat(encodeURIComponent(e)))}async submitExecRequest(e){let t=await this.fetchResponse("/v1/exec-requests",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:e})});if(202!==t.status)throw Error("exec-requests ".concat(t.status));return await t.json()}async listSeatRequests(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams;void 0!==e.seat&&t.set("seat",e.seat),void 0!==e.limit&&t.set("limit",String(e.limit));let s=t.size?"?".concat(t):"";return this.fetchJson("/v1/seat-requests".concat(s))}async listSeatAskAnswers(e){return this.fetchJson("/v1/seat-requests?answers=1",{headers:{"x-seat-ask-client":e}})}async acknowledgeSeatAskAnswers(e,t){await this.fetchJson("/v1/seat-requests?answers=ack",{method:"POST",headers:{"content-type":"application/json","x-seat-ask-client":e},body:JSON.stringify({ids:t})})}async submitSeatAsk(e,t){let s=await this.fetchResponse("/v1/seat-requests",{method:"POST",headers:{"content-type":"application/json","x-seat-ask-client":t},body:JSON.stringify({seat:"TC",text:e})});if(!s.ok)throw Error("seat ask ".concat(s.status));return s.json()}async submitSeatRequest(e,t){let{seat:s,text:n,attachments:r}=e,a=await this.fetchResponse("/v1/seat-requests",{method:"POST",headers:{"content-type":"application/json","Idempotency-Key":t},body:JSON.stringify({...void 0!==s?{seat:s}:{},text:n,...(null==r?void 0:r.length)?{attachments:r.map(e=>{let{id:t,filename:s,mediaType:n,size:r}=e;return{id:t,name:s,mediaType:n,bytes:r}})}:{}})}),o=await a.json();if(!a.ok){var l,c;throw new i(a.status,null!=(l=o.error)?l:"http-".concat(a.status),null!=(c=o.seats)?c:[])}return o}subscribeChatEvents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=new AbortController,r={method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal},o="".concat(this.url("/v1/chat/events"),"?sessionId=").concat(encodeURIComponent(e));return(0,a.cY)("webterm.chat.observer.subscribe",{sessionId:e}),(async()=>{var i,l;try{let e=await fetch(o,r);if(401===e.status&&(0,n.Qb)("/v1/chat/events"),!e.ok||!e.body){null==(i=t.onError)||i.call(t,{error:"observer_failed",message:"".concat(e.status,": ").concat(await e.text())});return}await f(e.body,t)}catch(e){if(s.signal.aborted)return;null==(l=t.onError)||l.call(t,{error:"observer_disconnected",message:e instanceof Error?e.message:String(e)})}(0,a.cY)("webterm.chat.observer.end",{sessionId:e})})(),()=>{(0,a.cY)("webterm.chat.observer.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeAgentStatusEvents(e,t){let s=new AbortController,r="".concat(this.url("/v1/events"),"?topics=agent.status");return(0,a.cY)("webterm.agent-status.subscribe",{sessionId:e}),(async()=>{var o,i;try{let a=await fetch(r,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(401===a.status&&(0,n.Qb)("/v1/events"),!a.ok||!a.body){null==(o=t.onError)||o.call(t,{error:"agent_status_failed",message:"".concat(a.status,": ").concat(await a.text())});return}await g(a.body,e,t)}catch(e){if(s.signal.aborted)return;null==(i=t.onError)||i.call(t,{error:"agent_status_disconnected",message:e instanceof Error?e.message:String(e)})}(0,a.cY)("webterm.agent-status.end",{sessionId:e})})(),()=>{(0,a.cY)("webterm.agent-status.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeHudSegmentEvents(e,t){let s=new AbortController,r="".concat(this.url("/v1/events"),"?topics=hud.segment");return(0,a.cY)("webterm.hud-segment.subscribe",{sessionId:e}),(async()=>{var o,i;try{let a=await fetch(r,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(401===a.status&&(0,n.Qb)("/v1/events"),!a.ok||!a.body){null==(o=t.onError)||o.call(t,{error:"hud_segment_failed",message:"".concat(a.status,": ").concat(await a.text())});return}await y(a.body,e,t)}catch(e){if(s.signal.aborted)return;null==(i=t.onError)||i.call(t,{error:"hud_segment_disconnected",message:e instanceof Error?e.message:String(e)})}(0,a.cY)("webterm.hud-segment.end",{sessionId:e})})(),()=>{(0,a.cY)("webterm.hud-segment.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeChatFeedbackEvents(e,t){let s=new AbortController,r=["agent.status","hud.segment"],o="".concat(this.url("/v1/events"),"?topics=").concat(r.join(","));return(0,a.cY)("webterm.chat-feedback.subscribe",{sessionId:e,topics:r}),(async()=>{var r,i,l,c,d,u,h,p;try{let a=await fetch(o,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(401===a.status&&(0,n.Qb)("/v1/events"),!a.ok||!a.body){let e="".concat(a.status,": ").concat(await a.text());null==(r=(i=t.agentStatus).onError)||r.call(i,{error:"agent_status_failed",message:e}),null==(l=(c=t.hudSegment).onError)||l.call(c,{error:"hud_segment_failed",message:e});return}let[d,u]=a.body.tee();await Promise.all([g(d,e,t.agentStatus),y(u,e,t.hudSegment)])}catch(n){if(s.signal.aborted)return;let e=n instanceof Error?n.message:String(n);null==(d=(u=t.agentStatus).onError)||d.call(u,{error:"agent_status_disconnected",message:e}),null==(h=(p=t.hudSegment).onError)||h.call(p,{error:"hud_segment_disconnected",message:e})}(0,a.cY)("webterm.chat-feedback.end",{sessionId:e})})(),()=>{(0,a.cY)("webterm.chat-feedback.dispose",{sessionId:e});try{s.abort()}catch(e){}}}async promptStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.cY)("webterm.rest.prompt.stream",{sessionId:e.sessionId,len:e.userText.length});let s={method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...this.authHeaders()},body:JSON.stringify({...void 0!==e.sessionId?{sessionId:e.sessionId}:{},userText:e.userText,...void 0!==e.userContent?{userContent:e.userContent}:{},...void 0!==e.provider?{provider:e.provider}:{},...void 0!==e.personaId?{personaId:e.personaId}:{}})};t.signal&&(s.signal=t.signal);let r=!0===t.debugTap?"/v1/prompt/stream?debug-tap=on":"/v1/prompt/stream",o=await fetch(this.url(r),s);if(401===o.status&&(0,n.Qb)(r),!o.ok||!o.body)throw Error("prompt/stream ".concat(o.status,": ").concat(await o.text()));return p(o.body,t)}connectAcp(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=(0,r.yS)(this.cfg);if(!s)throw Error("daemon baseUrl not configured");if(!t.sessionId)return new c(s,this.cfg.token).acquire(t.onSession);let n=t.sessionId,a=this.acpConnections.get(n);return a&&!a.isTerminal?a.acquire(t.onSession):(e=new c(s,this.cfg.token,t.sessionId,()=>{this.acpConnections.get(n)===e&&this.acpConnections.delete(n)}),this.acpConnections.set(n,e),e.acquire(t.onSession))}voiceWsUrl(){return(0,r.uh)(this.cfg)}async voiceCost(){return this.fetchJson("/v1/voice/cost")}async listTerminals(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!0===e.all&&!0===e.includeTest?"?all=true&includeTest=true":"";return this.fetchJson("/v1/terminals".concat(t))}async fetchTerminalLineage(e){return this.fetchJson("/v1/terminals/lineage?key=".concat(encodeURIComponent(e)))}async fetchTerminalScrollback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=encodeURIComponent(e),r=new URLSearchParams({lines:String(t)});return s.sourceRoot&&r.set("sourceRoot",s.sourceRoot),this.fetchJson("/v1/terminals/".concat(n,"/scrollback?").concat(r))}streamTerminal(e,t,r,a){let o=new AbortController,i=t.sourceRoot?"?sourceRoot=".concat(encodeURIComponent(t.sourceRoot)):"",l=this.url("/v1/terminals/".concat(encodeURIComponent(e),"/stream").concat(i));return(async()=>{try{let e=await fetch(l,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:o.signal});if(401===e.status&&(0,n.Qb)("/v1/terminals/stream"),!e.ok||!e.body)return void a("stream ".concat(e.status));let{parseTerminalSse:t}=await s.e(7191).then(s.bind(s,87191)),i=e.body.getReader(),c=new TextDecoder,d="";for(;;){let e=await i.read();if(e.done)break;d+=c.decode(e.value,{stream:!0});let s=t(d);for(let e of(d=s.rest,s.events))r(e)}}catch(e){if(o.signal.aborted)return;a(e instanceof Error?e.message:String(e))}})(),()=>{try{o.abort()}catch(e){}}}async snapshotTerminal(e,t){return this.requestTerminalControl(e,{action:"snapshot",ansi:t.ansi},t)}async sendTerminalText(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.requestTerminalControl(e,{action:"input-text",chars:t},s)}async sendTerminalKey(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.requestTerminalControl(e,{action:"input-key",chars:t},s)}async sendTerminalMouse(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.requestTerminalControl(e,{action:"input-mouse",...t},s)}async controlTerminal(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.requestTerminalControl(e,{action:t},s)}async requestTerminalControl(e,t){let s,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=encodeURIComponent(e),o=r.sourceRoot?"?sourceRoot=".concat(encodeURIComponent(r.sourceRoot)):"",i=await fetch(this.url("/v1/terminals/".concat(a,"/control").concat(o)),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(t)});401===i.status&&(0,n.Qb)("/v1/terminals/".concat(a,"/control"));try{s=await i.json()}catch(e){throw Error("terminal control ".concat(i.status,": invalid JSON response"))}let l=s&&"object"==typeof s?s.status:void 0,c="write-failed"===l?"failed":l;if("success"!==c&&"unknown-pty"!==c&&"denied"!==c&&"failed"!==c&&"owner-unreachable"!==c||i.status!==({success:200,"unknown-pty":404,denied:409,failed:502,"owner-unreachable":504})[c]){var d;let e=s&&"object"==typeof s?null!=(d=s.reason)?d:s.error:void 0;throw Error("terminal control ".concat(i.status,": ").concat(String(null!=e?e:"unexpected response")))}let u=s;if("snapshot"===t.action&&"success"===c&&"string"!=typeof u.screen)throw Error("terminal control ".concat(i.status,": missing screen"));return{status:c,..."string"==typeof u.reason?{reason:u.reason}:{},..."snapshot"===t.action&&"string"==typeof u.screen?{screen:u.screen}:{}}}async renameTerminal(e,t){let s,r=encodeURIComponent(e),a=await fetch(this.url("/v1/terminals/".concat(r,"/rename")),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify({name:t})});401===a.status&&(0,n.Qb)("/v1/terminals/".concat(r,"/rename"));try{s=await a.json()}catch(e){throw Error("terminal rename ".concat(a.status,": invalid JSON response"))}let o=s&&"object"==typeof s?s:{},i="write-failed"===o.status?"failed":"unknown-pty"===o.status||"denied"===o.status||"failed"===o.status||"owner-unreachable"===o.status?o.status:"success"===o.status?"success":"invalid-name"===o.error?"invalid-name":void 0;if(void 0===i||a.status!==({success:200,"invalid-name":400,"unknown-pty":404,denied:409,failed:502,"owner-unreachable":504})[i]||"success"===i&&("string"!=typeof o.id||"string"!=typeof o.name)){var l,c;throw Error("terminal rename ".concat(a.status,": ").concat(String(null!=(c=null!=(l=o.reason)?l:o.error)?c:"unexpected response")))}return"success"===i?{status:i,id:o.id,name:o.name}:{status:i}}async fetchTerminalFrame(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=encodeURIComponent(e),n=t.sourceRoot?"?sourceRoot=".concat(encodeURIComponent(t.sourceRoot)):"",r=await this.fetchJson("/v1/terminals/".concat(s,"/frame").concat(n));return{id:r.id,frame:r.frame,frameAt:r.frameAt,frameSource:r.frameSource}}async createAgentCliSession(e,t,s){let n=(null==s?void 0:s.hitl)==="off"?"/v1/agent-cli/sessions?hitl=off":"/v1/agent-cli/sessions";return this.fetchJson(n,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({backend:e,...t?{cwd:t}:{}})})}async agentCliPromptStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(e)};t.signal&&(s.signal=t.signal);let r=await fetch(this.url("/v1/agent-cli/prompt"),s);if(401===r.status&&(0,n.Qb)("/v1/agent-cli/prompt"),!r.ok){let e=await r.text().catch(()=>"");throw Error("agent-cli/prompt ".concat(r.status,": ").concat(e))}if(!r.body)throw Error("agent-cli/prompt: no body");let a=r.body.getReader(),o=new TextDecoder,i="",l="",c="end_turn",d=e.sessionId,u=null;for(;;){let{value:e,done:s}=await a.read();if(s)break;let n=(i+=o.decode(e,{stream:!0})).indexOf("\n\n");for(;-1!==n;){var h,p,f,m,g,y;let e=i.slice(0,n);i=i.slice(n+2);let s=e.split("\n"),r="message",a=[];for(let e of s)e.startsWith("event: ")?r=e.slice(7).trim():e.startsWith("data: ")&&a.push(e.slice(6));let o=a.join("\n");if("chunk"===r)try{let e=JSON.parse(o);"string"==typeof e.text&&(l+=e.text,null==(h=t.onTextDelta)||h.call(t,{delta:e.text,full:l}))}catch(e){}else if("stop"===r)try{let e=JSON.parse(o);e.stopReason&&(c=e.stopReason),e.sessionId&&(d=e.sessionId),null==(p=t.onStop)||p.call(t,{stopReason:c,sessionId:d})}catch(e){}else if("tool_call"===r||"tool_call_update"===r)try{let e=JSON.parse(o),s=e.rawOutput,n=null===s||"object"!=typeof s||Array.isArray(s)?void 0:s,a=null==n?void 0:n._meta,i=null===a||"object"!=typeof a||Array.isArray(a)?void 0:a.ui,l=null===i||"object"!=typeof i||Array.isArray(i)?void 0:i.resourceUri,c=null==n?void 0:n["ui/resourceUri"],d="string"==typeof l?l:"string"==typeof c?c:void 0;null==(f=t.onToolCall)||f.call(t,{kind:r,...e.toolCallId?{toolCallId:e.toolCallId}:{},...e.title?{title:e.title}:{},...e.kind?{toolKind:e.kind}:{},...e.status?{status:e.status}:{},...e.contentText?{contentText:e.contentText}:{},...void 0!==s?{rawOutput:s}:{},...void 0!==d?{resourceUri:d}:{}})}catch(e){}else if("usage"===r)try{let e=JSON.parse(o);"number"==typeof e.turnDurationMs&&"number"==typeof e.toolCallCount&&"number"==typeof e.textBytes&&(null==(m=t.onUsage)||m.call(t,{turnDurationMs:e.turnDurationMs,toolCallCount:e.toolCallCount,textBytes:e.textBytes}))}catch(e){}else if("error"===r)try{u=null!=(y=JSON.parse(o).error)?y:"unknown",null==(g=t.onError)||g.call(t,{error:u})}catch(e){u="parse-error"}n=i.indexOf("\n\n")}}if(u)throw Error(u);return{sessionId:d,text:l,stopReason:c}}async cancelAgentCliSession(e){return this.fetchJson("/v1/agent-cli/cancel",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sessionId:e})})}async closeAgentCliSession(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/agent-cli/sessions/".concat(t),{method:"DELETE"})}async listShowroomLayouts(){return this.fetchJson("/v1/showroom/layouts")}async getShowroomLayout(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(t))}async saveShowroomLayout(e,t){let s=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(s),{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(t)})}async deleteShowroomLayout(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(t),{method:"DELETE"})}async fetchUrlContext(e){return this.fetchJson("/v1/context/fetch-url",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:e})})}async listLlmModels(){let e=await fetch(this.url("/v1/llm/models"),{method:"GET",headers:{...this.authHeaders()}});return(401===e.status&&(0,n.Qb)("/v1/llm/models"),e.ok)?await e.json():{models:[],error:"http-".concat(e.status)}}async getLlmHosts(){return this.fetchJson("/v1/llm/hosts")}async setLlmHosts(e){return this.fetchJson("/v1/llm/hosts",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}async clearLlmHosts(){return this.fetchJson("/v1/llm/hosts",{method:"DELETE"})}async transcribeAudio(e,t){let s=new FormData;s.append("file",e,e.name),t&&s.append("language",t);let r=await fetch(this.url("/v1/audio/stt"),{method:"POST",headers:{...this.authHeaders()},body:s});if(401===r.status&&(0,n.Qb)("/v1/audio/stt"),!r.ok){let e="";try{e=await r.text()}catch(e){}throw Error("audio-stt http ".concat(r.status,": ").concat(e.slice(0,200)))}return await r.json()}async judgeRole(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={prompt:e};t.backend&&(s.backend=t.backend),t.model&&(s.model=t.model);let r=await fetch(this.url("/v1/showroom/role-judge"),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(s)});if(401===r.status&&(0,n.Qb)("/v1/showroom/role-judge"),!r.ok)throw Error("role-judge http ".concat(r.status));return await r.json()}showroomLayoutsEventsUrl(){return this.cfg.baseUrl?this.url("/v1/showroom/layouts/events"):null}personasEventsUrl(){return this.cfg.baseUrl?this.url("/v1/personas/events"):null}sessionStoreEventsUrl(){return this.cfg.baseUrl?"".concat(this.url("/v1/events"),"?topics=session."):null}async listLogs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams(e).toString();return this.fetchJson("/v1/logs".concat(t?"?".concat(t):""))}async listProgressFrames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this.listLogs({event:"headless.progress-frame",limit:String(e)})}logsStreamUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.cfg.baseUrl)return null;let t=new URLSearchParams(e).toString();return"".concat(this.url("/v1/logs/stream")).concat(t?"?".concat(t):"")}async listPersonas(){return this.fetchJson("/v1/personas")}async getRegistryCatalog(){return this.fetchJson("/v1/registry/catalog")}url(e){let t=this.cfg.baseUrl.replace(/\/$/,"");return"".concat(t).concat(e)}authHeaders(){return this.cfg.token?{authorization:"Bearer ".concat(this.cfg.token)}:{}}constructor(e){this.cfg=e,this.acpConnections=new Map,this.inflightTerminals=new Map}}class c{get ready(){return this.readyPromise}sendRaw(e,t){if("FAILED"===this.stateValue||"CLOSED"===this.stateValue||this.ws.readyState!==WebSocket.OPEN){var s;return Promise.reject(null!=(s=this.stateError)?s:Error("socket is ".concat(this.stateValue)))}let n=this.nextId++,r={jsonrpc:"2.0",id:n,method:e,params:t};return(0,a.cY)("webterm.acp.send",{method:e,id:n}),new Promise((e,t)=>{this.pending.set(n,{resolve:e,reject:t});try{this.ws.send(JSON.stringify(r)+"\n")}catch(e){this.pending.delete(n),t(e),this.closeIfUnused()}})}get readyState(){return this.ws.readyState}get state(){return this.stateValue}get isTerminal(){return"FAILED"===this.stateValue||"CLOSED"===this.stateValue}acquire(e){return this.leases+=1,new d(this,e)}subscribeSession(e){return this.sessionHandlers.add(e),()=>this.sessionHandlers.delete(e)}release(){if(this.leases=Math.max(0,this.leases-1),0===this.leases){if(this.pending.size>0)return void(0,a.cY)("webterm.acp.release-deferred",{pending:this.pending.size});this.closeIfUnused()}}closeIfUnused(){0!==this.leases||0!==this.pending.size||this.isTerminal||this.dispose(Error("ACP transport released"))}dispose(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Error("ACP transport disposed");"CLOSED"!==this.stateValue&&this.transition("CLOSED",e),this.rejectPending(e),this.notifyTerminal(),this.ws.readyState!==WebSocket.CLOSED&&this.ws.readyState!==WebSocket.CLOSING&&this.ws.close()}onState(e){return this.stateHandlers.add(e),this.notifyStateHandler(e,this.stateValue,this.stateError),()=>this.stateHandlers.delete(e)}transition(e,t){(this.stateValue!==e||this.stateError!==t)&&(this.stateValue=e,t&&(this.stateError=t),this.stateHandlers.forEach(s=>this.notifyStateHandler(s,e,t)),(0,a.cY)("webterm.acp.state",{state:e,reason:null==t?void 0:t.message}))}notifyStateHandler(e,t,s){try{e(t,s)}catch(e){(0,a.cY)("webterm.acp.state-handler.error",{state:t,reason:String(e)})}}rejectPending(e){this.pending.forEach(t=>t.reject(e)),this.pending.clear()}notifyTerminal(){var e;this.terminalNotified||(this.terminalNotified=!0,null==(e=this.onTerminal)||e.call(this))}terminate(e,t){this.isTerminal||this.transition(t,e),this.rejectPending(e),this.notifyTerminal()}fail(e){this.terminate(e,"FAILED"),(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN)&&this.ws.close()}async send(e,t){return await this.readyPromise.catch(()=>void 0),this.sendRaw(e,t)}on(e,t){let s=this.kindHandlers.get(e);return s||(s=new Set,this.kindHandlers.set(e,s)),s.add(t),()=>s.delete(t)}onAny(e){return this.anyHandlers.add(e),()=>this.anyHandlers.delete(e)}onRequest(e,t){let s=Symbol(e),n=this.requestHandlers.get(e);return n||(n=new Map,this.requestHandlers.set(e,n)),n.set(s,t),()=>{let t=this.requestHandlers.get(e);t&&(t.delete(s),0===t.size&&this.requestHandlers.delete(e))}}close(){this.release()}async handleInboundRequest(e,t,s,n){(0,a.cY)("webterm.acp.request.in",{method:t,id:e});try{let r=await n(s);this.sendResponse({jsonrpc:"2.0",id:e,result:r},t)}catch(n){let s=n instanceof Error?n.message:String(n);this.sendResponse({jsonrpc:"2.0",id:e,error:{code:-32603,message:"internal error: ".concat(s)}},t)}}sendErrorResponse(e,t,s){this.sendResponse({jsonrpc:"2.0",id:e,error:{code:t,message:s}},"error-response")}sendResponse(e,t){if("OPEN"!==this.stateValue||this.ws.readyState!==WebSocket.OPEN)return void(0,a.cY)("webterm.acp.request.response.drop",{method:t,id:e.id,state:this.stateValue});try{this.ws.send(JSON.stringify(e)+"\n")}catch(s){(0,a.cY)("webterm.acp.request.response.fail",{method:t,id:e.id,reason:String(s)})}}async waitOpen(){if(this.ws.readyState!==WebSocket.OPEN){if(this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING)throw Error("socket already closed");await new Promise((e,t)=>{let s=()=>{a(),this.transition("OPEN"),e()},n=()=>{a(),t(Error("socket open failed"))},r=()=>{a(),t(Error("socket closed before open"))},a=()=>{this.ws.removeEventListener("open",s),this.ws.removeEventListener("error",n),this.ws.removeEventListener("close",r)};this.ws.addEventListener("open",s),this.ws.addEventListener("error",n),this.ws.addEventListener("close",r)})}}onMessage(e){var t;let s,n,r=e.data;if("string"==typeof r)s=r;else if(r instanceof ArrayBuffer)s=new TextDecoder().decode(new Uint8Array(r));else{if("undefined"!=typeof Blob&&r instanceof Blob)return void r.text().then(t=>this.onMessage({...e,data:t}));s=""}try{n=JSON.parse(s)}catch(e){(0,a.cY)("webterm.acp.parse-error",{err:String(e),len:s.length});return}if(!n.kind&&n.method&&"session/update"===n.method&&(n.kind="sessionUpdate"),(0,a.cY)("webterm.acp.frame.in",{method:null!=(t=n.method)?t:"(notif)",kind:n.kind,id:n.id}),void 0!==n.id&&this.pending.has(n.id)){let e=this.pending.get(n.id);this.pending.delete(n.id),n.error?e.reject(Error(n.error.message)):e.resolve(n.result),queueMicrotask(()=>this.closeIfUnused())}else if(void 0!==n.id&&n.method&&this.requestHandlers.has(n.method)){let e=[...this.requestHandlers.get(n.method).values()].at(-1);e&&this.handleInboundRequest(n.id,n.method,n.params,e)}else void 0!==n.id&&n.method&&this.sendErrorResponse(n.id,-32601,"method not found: ".concat(n.method));if(n.kind){let e=this.kindHandlers.get(n.kind);null==e||e.forEach(e=>e(n))}this.anyHandlers.forEach(e=>e(n))}constructor(e,t,s,n){this.nextId=1,this.pending=new Map,this.kindHandlers=new Map,this.anyHandlers=new Set,this.requestHandlers=new Map,this.sessionHandlers=new Set,this.stateHandlers=new Set,this.leases=0,this.stateValue="CONNECTING",this.handshakeComplete=!1,this.terminalNotified=!1;let r=s?"".concat(e,"?session=").concat(encodeURIComponent(s)):e;(0,a.cY)("webterm.acp.connect",{url:r,hasToken:!!t,sessionId:s}),this.ws=t?new WebSocket(r,["bearer.".concat(t)]):new WebSocket(r),this.onTerminal=n,this.ws.binaryType="arraybuffer",this.ws.addEventListener("message",e=>this.onMessage(e)),this.ws.addEventListener("error",()=>{let e=Error(function(e,t){let s="unknown-host";try{s=new URL(t).host}catch(e){}return 0===e?"socket error before open — daemon unreachable or refused (".concat(s,")"):"socket error while open — connection dropped (".concat(s,")")}(this.ws.readyState,r));this.fail(e),(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN)&&this.ws.close(),(0,a.cY)("webterm.acp.error",{reason:e.message})}),this.ws.addEventListener("close",e=>{var t;let s=e.reason?": ".concat(e.reason):"",n=null!=(t=this.stateError)?t:Error("socket closed: ".concat(e.code).concat(s));this.terminate(n,this.handshakeComplete?"CLOSED":"FAILED"),(0,a.cY)("webterm.acp.close",{code:e.code,reason:e.reason,handshakeComplete:this.handshakeComplete})}),this.readyPromise=(async()=>{await this.waitOpen();let e=await this.sendRaw("initialize",{protocolVersion:1,clientCapabilities:{fs:{readTextFile:!1,writeTextFile:!1},terminal:!1,_meta:{elanous:{ui:{showModal:!0,showToast:!0,updateStatusPill:!0,usage:!1},term:{terminalOutput:!0,terminalExit:!0,terminalFrame:!0},ask:{askUserQuestion:!0}}}}});(0,a.cY)("webterm.acp.initialize.done",{res:e});let t="";if(s)try{await this.sendRaw("session/load",{sessionId:s,cwd:"/",mcpServers:[]}),t=s,(0,a.cY)("webterm.acp.session-load.done",{sessionId:t})}catch(e){(0,a.cY)("webterm.acp.session-load.miss",{sessionId:s,reason:String(e)})}if(!t){var n;let e=await this.sendRaw("session/new",{cwd:"/",mcpServers:[]});t=null!=(n=null==e?void 0:e.sessionId)?n:"",(0,a.cY)("webterm.acp.session-new.done",{sessionId:t})}return t&&this.sessionHandlers.forEach(e=>{try{e(t)}catch(e){}}),this.handshakeComplete=!0,t})().catch(e=>{let t=e instanceof Error?e:Error(String(e));return this.fail(t),(0,a.cY)("webterm.acp.handshake-failed",{reason:t.message}),""})}}class d{track(e){return this.closed?(e(),()=>{}):(this.disposers.add(e),()=>{this.disposers.delete(e),e()})}get ready(){return this.core.ready}get readyState(){return this.core.readyState}get state(){return this.core.state}send(e,t){return this.closed?Promise.reject(Error("ACP lease released")):this.core.send(e,t)}on(e,t){return this.closed?()=>{}:this.track(this.core.on(e,t))}onAny(e){return this.closed?()=>{}:this.track(this.core.onAny(e))}onRequest(e,t){return this.closed?()=>{}:this.track(this.core.onRequest(e,t))}onState(e){return this.closed?()=>{}:this.track(this.core.onState(e))}close(){this.closed||(this.closed=!0,this.disposers.forEach(e=>e()),this.disposers.clear(),this.core.release())}constructor(e,t){this.core=e,this.closed=!1,this.disposers=new Set,t&&this.disposers.add(e.subscribeSession(t))}}function u(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e.result,s=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t,n=null==s?void 0:s._meta,r=null===n||"object"!=typeof n||Array.isArray(n)?void 0:n.ui,a=null===r||"object"!=typeof r||Array.isArray(r)?void 0:r.resourceUri,o=null==s?void 0:s["ui/resourceUri"],i="string"==typeof a?a:"string"==typeof o?o:void 0;return{id:e.id,name:e.name,ok:e.ok,...void 0!==e.summary?{summary:e.summary}:{},...void 0!==t?{rawOutput:t}:{},...void 0!==i?{resourceUri:i}:{},...void 0!==e.resultOmittedReason?{resultOmittedReason:e.resultOmittedReason}:{}}}function h(e){let t="message",s="";for(let n of e.split("\n"))if(n.startsWith("event:"))t=n.slice(6).trim();else if(n.startsWith("data:")){let e=n.slice(5);s+=e.startsWith(" ")?e.slice(1):e}if(!s)return null;try{return{event:t,data:JSON.parse(s)}}catch(e){return null}}async function p(e,t){let s=e.getReader(),n=new TextDecoder,r="",i=null,l=null;for(;;){let e,{value:w,done:b}=await s.read();if(b)break;for(r+=n.decode(w,{stream:!0});(e=r.indexOf("\n\n"))>=0;){var c,d,p,f,m,g,y,v;let s=r.slice(0,e);r=r.slice(e+2);let n=h(s);if(n)if("turn-begin"===n.event)null==(c=t.onTurnBegin)||c.call(t,n.data);else if("text-delta"===n.event)null==(d=t.onTextDelta)||d.call(t,n.data);else if("image-block"===n.event)null==(p=t.onImageBlock)||p.call(t,n.data);else if("tool-call"===n.event)null==(f=t.onToolCall)||f.call(t,n.data);else if("tool-result"===n.event){let e=u(n.data);e&&(null==(m=t.onToolResult)||m.call(t,e))}else"feedback"===n.event?(0,o.L)(n.data)?null==(g=t.onFeedback)||g.call(t,n.data):(0,a.cY)("webterm.sse.feedback.drop",{reason:"schema-mismatch"}):"turn-end"===n.event?(i=n.data,null==(y=t.onTurnEnd)||y.call(t,i)):"error"===n.event&&(l=n.data,null==(v=t.onError)||v.call(t,l))}}if(l){let e=l.message?": ".concat(l.message):"";throw Error("".concat(l.error).concat(e))}if(!i)throw Error("prompt/stream closed without turn-end");return i}async function f(e,t){let s=e.getReader(),n=new TextDecoder,r="";for(;;){let{value:e,done:y}=await s.read();if(y)break;let v=(r+=n.decode(e,{stream:!0})).indexOf("\n\n");for(;v>=0;){var i,l,c,d,p,f,m,g;let e=r.slice(0,v);r=r.slice(v+2);let s=h(e);if(v=r.indexOf("\n\n"),s&&"subscribed"!==s.event)if("turn-begin"===s.event)null==(i=t.onTurnBegin)||i.call(t,s.data);else if("text-delta"===s.event)null==(l=t.onTextDelta)||l.call(t,s.data);else if("image-block"===s.event)null==(c=t.onImageBlock)||c.call(t,s.data);else if("tool-call"===s.event)null==(d=t.onToolCall)||d.call(t,s.data);else if("tool-result"===s.event){let e=u(s.data);e&&(null==(p=t.onToolResult)||p.call(t,e))}else"feedback"===s.event?(0,o.L)(s.data)?null==(f=t.onFeedback)||f.call(t,s.data):(0,a.cY)("webterm.sse.feedback.observer-drop",{reason:"schema-mismatch"}):"turn-end"===s.event?null==(m=t.onTurnEnd)||m.call(t,s.data):"error"===s.event&&(null==(g=t.onError)||g.call(t,s.data))}}}let m={idle:null,working:"running",awaiting:"queued",done:"done",err:"error"};async function g(e,t,s){let n=e.getReader(),r=new TextDecoder,i="",l=new Map,c=e=>{var t;let s=(null!=(t=l.get(e))?t:0)+1;return l.set(e,s),s};for(;;){let{value:e,done:l}=await n.read();if(l)break;let d=(i+=r.decode(e,{stream:!0})).indexOf("\n\n");for(;d>=0;){let e=i.slice(0,d);d=(i=i.slice(d+2)).indexOf("\n\n");let n=h(e);if(!n||"agent.status"!==n.event)continue;let r=n.data;if(!r||"object"!=typeof r)continue;let l=r.detail;if(!l||"string"!=typeof l.agentId||"string"!=typeof l.status)continue;let u=m[l.status];if(null==u)continue;let p="".concat(t,":agent-status:").concat(l.agentId),f={envelopeVersion:1,sessionId:t,blockId:p,kind:"agent.status",phase:"update",emittedAt:"number"==typeof l.updatedAt?l.updatedAt:r.ts,seq:c(p),payload:{agentId:l.agentId,status:u,..."string"==typeof l.lastEvent?{lastEvent:l.lastEvent}:{}},asciiFallback:["".concat(l.agentId," ").concat(u).concat(l.lastEvent?" \xb7 "+l.lastEvent:"")]};if(!(0,o.L)(f)){(0,a.cY)("webterm.agent-status.synthesize.drop",{agentId:l.agentId,status:l.status});continue}s.onFeedback(f)}}}async function y(e,t,s){let n=e.getReader(),r=new TextDecoder,i="",l=new Map,c=e=>{var t;let s=(null!=(t=l.get(e))?t:0)+1;return l.set(e,s),s};for(;;){let{value:e,done:l}=await n.read();if(l)break;let u=(i+=r.decode(e,{stream:!0})).indexOf("\n\n");for(;u>=0;){var d;let e=i.slice(0,u);u=(i=i.slice(u+2)).indexOf("\n\n");let n=h(e);if(!n||"hud.segment"!==n.event)continue;let r=n.data;if(!r||"object"!=typeof r)continue;let l=r.detail;if(!l||"string"!=typeof l.key||!l.key)continue;let p="end"===l.phase?"end":"update",f="".concat(t,":hud:").concat(l.key),m={key:l.key};if("update"===p){if("string"!=typeof l.value){(0,a.cY)("webterm.hud-segment.synthesize.drop",{key:l.key,reason:"missing-value"});continue}m.value=l.value,"number"==typeof l.priority&&(m.priority=l.priority),"string"==typeof l.tone&&(m.tone=l.tone),"string"==typeof l.glyph&&(m.glyph=l.glyph)}else m.value="";let g={envelopeVersion:1,sessionId:t,blockId:f,kind:"hud.segment",phase:p,emittedAt:r.ts,seq:c(f),payload:m,asciiFallback:"update"===p&&"string"==typeof l.value?["".concat(null!=(d=l.glyph)?d:"").concat(l.glyph?" ":"").concat(l.value)]:[]};if(!(0,o.L)(g)){(0,a.cY)("webterm.hud-segment.synthesize.drop",{key:l.key,reason:"wire-guard"});continue}s.onFeedback(g)}}}},33140:(e,t,s)=>{s.d(t,{Qb:()=>o,SI:()=>l,dJ:()=>i});let n="elanous:auth-required",r=null,a=!1;function o(e){null===r&&(r=e,window.dispatchEvent(new CustomEvent(n,{detail:{path:e}})))}function i(e){let t=window,s=t=>e(t.detail);return t.addEventListener(n,s),null===r||a||e({path:r}),()=>t.removeEventListener(n,s)}function l(){a=!0}},79030:(e,t,s)=>{s.d(t,{L:()=>a});let n=new Set(["tool.progress","tool.diff","tool.search-hit","agent.status","agent.thinking","agent.plan","debug.line","perf.tick","hud.segment","mission.update","agent.chat-stream","media.image","media.video","media.job"]),r=new Set(["start","delta","update","end"]);function a(e){return null!==e&&"object"==typeof e&&1===e.envelopeVersion&&"string"==typeof e.sessionId&&!!e.sessionId&&"string"==typeof e.blockId&&!!e.blockId&&"string"==typeof e.kind&&!!n.has(e.kind)&&"string"==typeof e.phase&&!!r.has(e.phase)&&"number"==typeof e.emittedAt&&"number"==typeof e.seq&&!(e.seq<0)&&!!Array.isArray(e.asciiFallback)&&void 0!==e.payload&&null!==e.payload&&(void 0===e.parentToolCallId||"string"==typeof e.parentToolCallId)&&!0}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3808],{93808:(e,a,s)=>{s.d(a,{createRadarServices:()=>c.f});var c=s(81467);s(78499)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3927],{23927:(e,s,a)=>{a.d(s,{createWardleyServices:()=>c.J});var c=a(39383);a(78499)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3934],{78176:(e,t,r)=>{r.d(t,{DE:()=>d});var n=r(95453),i=r(79294);let a=new(r(13804)).ki({baseUrl:"",token:"",provider:""});async function s(){var e,t,r,n;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=null!=(e=s.fetchImpl)?e:globalThis.fetch,d=null!=(t=s.listProgressFrames)?t:()=>a.listProgressFrames().catch(()=>null);try{let[e,t]=await Promise.all([l("/v1/terminals").then(async e=>{if(!e.ok)throw Error("GET /v1/terminals failed (".concat(e.status,")"));return e.json()}),d()]);return(0,i.I4)({status:"ready",subjects:null!=(r=e.subjects)?r:[],logs:null!=(n=null==t?void 0:t.logs)?n:[]})}catch(e){return(0,i.I4)({status:"error",message:e instanceof Error?e.message:"Failed to load activity"})}}function l(){return"undefined"!=typeof document&&!0===document.hidden}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Tt,[r,a]=(0,n.useState)({kind:"loading"});return(0,n.useEffect)(()=>(function(e){var t,r;let n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Tt,o=!1,u=null!=(t=a.isHidden)?t:l,c=null!=(r=a.now)?r:()=>Date.now(),f=async()=>{if(u()){n=setTimeout(()=>{f()},d);return}let t=c(),r=await s(a);o||(e(r),n=setTimeout(()=>{f()},Math.min(6e4,Math.max(d,Math.round(4*(c()-t))))))};return a.firstDelayMs?n=setTimeout(()=>{f()},a.firstDelayMs):f(),()=>{o=!0,void 0!==n&&clearTimeout(n)}})(a,{...e,firstDelayMs:1500},t),[e.fetchImpl,e.listProgressFrames,t]),r}},79189:(e,t,r)=>{r.d(t,{$M:()=>p,hA:()=>h,tg:()=>g});var n=r(59977),i=r(95453),a=r(88255);let s="elanous.pwa.workspace",l=new Set(["chat","term","intake","tasks","workflows","control","settings"]);function d(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&0!==e.id.length&&"string"==typeof e.kind&&!!l.has(e.kind)&&"number"==typeof e.createdAt&&("chat"!==e.kind||"string"==typeof e.sessionId&&0!==e.sessionId.length&&(void 0===e.title||"string"==typeof e.title))&&!0}var o=r(82351),u=r(40589);let c={maxAlive:8},f={maxAlive:5},v=(0,i.createContext)(null);function p(e){let{children:t}=e,[r,l]=(0,i.useReducer)(a.an,a.Tx,e=>e),[p,h]=(0,i.useState)(null),g=(0,i.useRef)(!1);(0,i.useEffect)(()=>{if(g.current)return;g.current=!0;let e=function(){var e;let t,r=null;try{r=window.localStorage.getItem(s)}catch(e){return a.Tx}if(!r)return a.Tx;try{t=JSON.parse(r)}catch(e){return a.Tx}if(!t||"object"!=typeof t)return a.Tx;let n=t;return 1!==n.version?a.Tx:(e=n.state)&&"object"==typeof e&&Array.isArray(e.tabs)&&e.tabs.every(d)&&Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)&&Array.isArray(e.frozenIds)&&e.frozenIds.every(e=>"string"==typeof e)&&(null===e.activeId||"string"==typeof e.activeId)&&1?function(e){let t=new Set(e.tabs.map(e=>e.id)),r=e.order.filter(e=>t.has(e));for(let t of e.tabs)r.includes(t.id)||r.push(t.id);let n=e.frozenIds.filter(e=>t.has(e)),i=e.activeId;if(null!==i&&!t.has(i)){var a;i=null!=(a=r[0])?a:null}return null===i&&r.length>0&&(i=r[0]),{tabs:e.tabs,order:r,frozenIds:n,activeId:i}}(n.state):a.Tx}();(e.tabs.length>0||null!==e.activeId)&&l({type:"replace",state:e})},[]),(0,i.useEffect)(()=>{if(g.current)try{window.localStorage.setItem(s,JSON.stringify({version:1,state:r}))}catch(e){}},[r]);let b=(0,i.useRef)(new Map);(0,i.useEffect)(()=>{r.activeId&&b.current.set(r.activeId,Date.now())},[r.activeId]);let[I,m]=(0,i.useState)(c);(0,i.useEffect)(()=>{let e=window.matchMedia("(min-width: 768px)"),t=()=>m(e.matches?c:f);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,i.useEffect)(()=>{if(!g.current)return;let e=function(e,t,r){let n=new Set(e.frozenIds),i=e.tabs.map(e=>e.id).filter(e=>!n.has(e));if(i.length<=t.maxAlive)return{freezeCandidates:[]};let a=new Map(e.tabs.map(e=>[e.id,e])),s=i.map(e=>{var t,n;let i=a.get(e),s=null!=(n=null!=(t=r.get(e))?t:null==i?void 0:i.createdAt)?n:0;return{id:e,ts:s}});s.sort((e,t)=>e.ts-t.ts);let l=i.length-t.maxAlive,d=[];for(let{id:t}of s){if(d.length>=l)break;t!==e.activeId&&d.push(t)}return{freezeCandidates:d}}(r,I,b.current);if(0!==e.freezeCandidates.length)for(let t of e.freezeCandidates)l({type:"freezeTab",id:t})},[r,I]);let y=(0,i.useCallback)(e=>{let t,r="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"t-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10));if("chat"===e.kind){var n;let i=null!=(n=e.sessionId)?n:(0,u.f6)();t=(0,a.MJ)({id:r,sessionId:i,...void 0!==e.title?{title:e.title}:{}})}else t=(0,a.ax)({id:r,kind:e.kind});return l({type:"addTab",tab:t}),r},[]),k=(0,i.useCallback)(e=>{l({type:"closeTab",id:e}),b.current.delete(e)},[]),w=(0,i.useCallback)(e=>{l({type:"activateTab",id:e})},[]),T=(0,i.useCallback)((e,t)=>{l({type:"reorderTab",id:e,toIndex:t})},[]),x=(0,i.useCallback)((e,t)=>{l({type:"updateTab",id:e,patch:t})},[]),C=(0,i.useCallback)(e=>{if("chat"===e)return null;if((0,o.k)(e)){let t=r.tabs.find(t=>t.kind===e);if(t)return l({type:"activateTab",id:t.id}),t.id}return y({kind:e})},[r.tabs,y]),z=(0,i.useCallback)(e=>{h(e)},[]),M=(0,i.useCallback)(()=>{h(null)},[]),A=(0,i.useMemo)(()=>({state:r,addTab:y,closeTab:k,activateTab:w,reorderTab:T,updateChatTab:x,activateOrAdd:C,pickerMode:p,openPicker:z,closePicker:M}),[r,y,k,w,T,x,C,p,z,M]);return(0,n.jsx)(v.Provider,{value:A,children:t})}function h(){let e=(0,i.useContext)(v);if(!e)throw Error("useWorkspace must be used inside <WorkspaceProvider>");return e}function g(){return(0,i.useContext)(v)}},79294:(e,t,r)=>{r.d(t,{Hl:()=>d,I4:()=>l,Tt:()=>a});var n=r(80139),i=r(32427);let a=8e3;function s(e){return(null==e?void 0:e.kind)==="progress"&&"running"===e.status?3:(null==e?void 0:e.kind)==="progress"?2:1}function l(e){var t,r;if("loading"===e.status)return{kind:"loading"};if("error"===e.status)return{kind:"error",message:e.message||"Failed to load activity"};let a=null!=(t=e.subjects)?t:[],l=(0,n.vq)(a,(0,i.gA)(null!=(r=e.logs)?r:[])),d=function(e,t){var r,i;let a=e.filter(e=>"live"===(0,n.t_)(e));if(0===a.length)return null;let l=[...a].sort((e,r)=>{let n=s(t.get(r.id))-s(t.get(e.id));return 0!==n?n:(e.runId||e.id).localeCompare(r.runId||r.id)})[0];return{run:(r=t.get(l.id),{subjectId:l.id,runId:l.runId||l.id,origin:l.origin,progressLine:(null==r?void 0:r.kind)==="progress"?r.line:null,progressStatus:(null==r?void 0:r.kind)==="progress"?r.status:null,href:(i=l.id,"/observatory#".concat(encodeURIComponent(i)))}),extraLiveCount:a.length-1}}(a,l);return d?{kind:"active",run:d.run,extraLiveCount:d.extraLiveCount}:{kind:"quiet"}}function d(e){let{run:t,extraLiveCount:r}=e,n=["LIVE ".concat(t.runId),"origin: ".concat(t.origin)];return t.progressStatus&&t.progressLine&&n.push("".concat(t.progressStatus," — ").concat(t.progressLine)),r>0&&n.push("+".concat(r," more")),n.join(" \xb7 ")}},82351:(e,t,r)=>{r.d(t,{k:()=>n});function n(e){return"chat"!==e}},88255:(e,t,r)=>{r.d(t,{MJ:()=>s,Tx:()=>i,an:()=>a,ax:()=>l,ub:()=>d});var n=r(82351);let i={tabs:[],activeId:null,order:[],frozenIds:[]};function a(e,t){switch(t.type){case"addTab":{var r;let i=t.tab,a=null==(r=t.activate)||r;if((0,n.k)(i.kind)){let t=e.tabs.find(e=>e.kind===i.kind);if(t)return a?{...e,activeId:t.id}:e}if(e.tabs.some(e=>e.id===i.id))return a?{...e,activeId:i.id}:e;let s=[...e.tabs,i],l=[...e.order,i.id];return{...e,tabs:s,order:l,activeId:a?i.id:e.activeId}}case"closeTab":{if(0>e.tabs.findIndex(e=>e.id===t.id))return e;let r=e.tabs.filter(e=>e.id!==t.id),n=e.order.filter(e=>e!==t.id),i=e.frozenIds.filter(e=>e!==t.id),a=e.activeId;if(e.activeId===t.id)if(0===n.length)a=null;else{let r=Math.min(Math.max(e.order.indexOf(t.id)-1,0),n.length-1);a=n[r]}return{...e,tabs:r,order:n,frozenIds:i,activeId:a}}case"activateTab":{if(!e.tabs.some(e=>e.id===t.id)||e.activeId===t.id)return e;let r=e.frozenIds.filter(e=>e!==t.id);return{...e,activeId:t.id,frozenIds:r}}case"reorderTab":{if(!e.tabs.some(e=>e.id===t.id))return e;let r=e.order.indexOf(t.id);if(r<0)return e;let n=Math.max(0,Math.min(t.toIndex,e.order.length-1));if(n===r)return e;let i=[...e.order];return i.splice(r,1),i.splice(n,0,t.id),{...e,order:i}}case"updateTab":{let r=e.tabs.findIndex(e=>e.id===t.id);if(r<0)return e;let n=e.tabs[r],i={};if("chat"===n.kind&&("sessionId"in t.patch&&"string"==typeof t.patch.sessionId&&(i.sessionId=t.patch.sessionId),"title"in t.patch&&(i.title=t.patch.title)),0===Object.keys(i).length)return e;let a={...n,...i},s=[...e.tabs];return s[r]=a,{...e,tabs:s}}case"freezeTab":if(!e.tabs.some(e=>e.id===t.id)||e.activeId===t.id||e.frozenIds.includes(t.id))return e;return{...e,frozenIds:[...e.frozenIds,t.id]};case"unfreezeTab":if(!e.frozenIds.includes(t.id))return e;return{...e,frozenIds:e.frozenIds.filter(e=>e!==t.id)};case"replace":return t.state}}function s(e){var t;return{id:e.id,kind:"chat",sessionId:e.sessionId,...void 0!==e.title?{title:e.title}:{},createdAt:null!=(t=e.createdAt)?t:Date.now()}}function l(e){var t;return{id:e.id,kind:e.kind,createdAt:null!=(t=e.createdAt)?t:Date.now()}}function d(e){let t=new Map(e.tabs.map(e=>[e.id,e])),r=[];for(let n of e.order){let e=t.get(n);e&&r.push(e)}return r}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4156],{36997:(e,t,i)=>{function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>n}),(0,i(61628).K)(n,"populateCommonDb")},74156:(e,t,i)=>{i.d(t,{diagram:()=>en});var n=i(36997),a=i(65524),r=i(52732),o=i(64330),l=i(61628),d=i(86160),s=i(57801),m="position frame",c="frame positioned",x="position relation",u="relation positioned",f=(0,l.K)(function(e){o.R.debug("options str",e)},"setOptions"),g=(0,l.K)(function(){return{}},"getOptions"),h=(0,l.K)(function(){b(),(0,r.IU)()},"clear");function b(){v={}}(0,l.K)(b,"reset");var p=r.UI.eventmodeling,w=(0,l.K)(()=>(0,a.$t)({...p,...(0,r.zj)().eventmodeling}),"getConfig"),v={};function y(){let e=K,{ast:t}=v,i=M();if(!t)throw Error("No data for EventModel");return t.frames.forEach((n,a)=>{let r=A(n,t.dataEntities,i);e=L(e,{$kind:m,index:a,frame:n,textProps:r}),N(n)?(o.R.debug("source frame",n.sourceFrames),t.frames.filter(e=>n.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=L(e,{$kind:x,index:a,frame:n,sourceFrame:t})})):e=L(e,{$kind:x,index:a,frame:n})}),e={...e,sortedSwimlanesArray:H(e.swimlanes)}}function P(e){v.ast=void 0;let t=new Set;for(let i of e.frames){if(t.has(i.name)){let e=i.$cstNode?.range.start.line,t=void 0===e?"":` on line ${e+1}`;throw Error(`Duplicate event modeling frame ID "${i.name}"${t}`)}t.add(i.name)}v.ast=e}(0,l.K)(y,"getState"),(0,l.K)(P,"setAst");var k={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return k}(0,l.K)(M,"getDiagramProps");var K={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){let t=e.split(".");if(2===t.length)return t[0]}function B(e){let t=e.split(".");return 2===t.length?t[1]:e}function $(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function F(e,t,i){return Math.max(t,...Object.keys(e).filter(e=>{let n=Number.parseInt(e);return n>t&&n<i}).map(e=>Number.parseInt(e)))+1}function E(e,t){let i=S(e.entityIdentifier),n=$(t,i);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(n)return{index:n.index,label:n.namespace||k.labelUiAutomation};if(i)return{index:F(t,0,100),label:k.labelUiAutomationPrefix+i};return{index:0,label:k.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(n)return{index:n.index,label:n.namespace||k.labelCommandReadModel};if(i)return{index:F(t,100,200),label:k.labelCommandReadModelPrefix+i};return{index:100,label:k.labelCommandReadModel};default:if(n)return{index:n.index,label:n.namespace||k.labelEvents};if(i)return{index:F(t,200,300),label:k.labelEventsPrefix+i};return{index:200,label:k.labelEvents}}}function R(e){let{themeVariables:t}=(0,r.zj)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function A(e,t,i){let n,l=(0,r.zj)(),d=(0,r.jZ)(B(e.entityIdentifier)??"",l),s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},m=(0,a.bH)(d,i.textMaxWidth,s),c=`<b>${m}</b>`;if(e.dataInlineValue&&(n=(n=(n=e.dataInlineValue).substring(n.indexOf("{")+1)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")),e.dataReference){let o=t.find(t=>t.name===e.dataReference?.$refText);o&&(n=(n=(n=o.dataBlockValue).substring(n.indexOf("{\n")+2)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")+"<br/>")}let x=void 0!==n;x&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${n}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=(0,a.PX)(c,u),g={content:c,width:x?f.width/3:f.width,height:f.height};return o.R.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function T(e,t){let i=R(t.frame),n={width:t.textProps.width+2*k.boxTextPadding,height:t.textProps.height+2*k.boxTextPadding};return[{$kind:c,frame:t.frame,index:t.index,visual:i,dimension:n,textProps:t.textProps}]}function D(e,t,i){return void 0===t?k.contentStartX:t.index===e.index&&e.r?e.r+k.boxPadding:void 0===i?k.contentStartX:i.r-k.boxOverlap+k.boxPadding}function W(e,t){return Math.max(...e.map(e=>e.r),t)}function H(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function I(e,t){let i,n=E(t.frame,e.swimlanes);i=n.index in e.swimlanes?e.swimlanes[n.index]:{index:n.index,label:n.label,r:0,y:n.index*k.swimlaneMinHeight+k.swimlaneGap,height:k.swimlaneMinHeight,maxHeight:k.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(k.boxMinWidth,Math.min(k.boxMaxWidth,t.dimension.width))+2*k.boxPadding,height:Math.max(k.boxMinHeight,Math.min(k.boxMaxHeight,t.dimension.height))+2*k.boxPadding},l=D(i,r,a),d=l+o.width+k.boxPadding,s=W(Object.values(e.swimlanes),d);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(k.swimlaneMinHeight,i.maxHeight)+2*k.swimlanePadding;let m={x:l,y:k.swimlanePadding+i.y,r:d,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},c={...e,boxes:[...e.boxes,m],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:t.frame,maxR:s},x=H(c.swimlanes);x.length>0&&(x[0].y=0);for(let e=1;e<x.length;e++){let t=x[e],i=x[e-1];t.y=i.y+i.height+k.swimlaneGap}return c}function C(e,t){return 0===e&&0===t.sourceFrames.length}function N(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function O(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function j(e,t,i){if(!(i<0))for(let n=i;n>=0;n--){let i=e[n];if(i.swimlane.index!==t)return i}}function U(e,t){let i;if(C(t.index,t.frame))return[];let n=O(e.boxes,t.frame);if(void 0===n)throw Error(`Target box not found for frame ${t.frame.name}`);if(t.sourceFrame)i=O(e.boxes,t.sourceFrame);else{if((0,d.F5)(t.frame))return[];i=j(e.boxes,n.swimlane.index,t.index-1)}return void 0===i?[]:[{$kind:u,frame:t.frame,index:t.index,sourceBox:i,targetBox:n}]}function z(e,t){let i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}(0,l.K)(S,"extractNamespace"),(0,l.K)(B,"extractName"),(0,l.K)($,"findSwimlaneByNamespace"),(0,l.K)(F,"findNextAvailableIndex"),(0,l.K)(E,"calculateSwimlaneProps"),(0,l.K)(R,"calculateEntityVisualProps"),(0,l.K)(A,"calculateTextProps"),(0,l.K)(T,"decidePositionFrame"),(0,l.K)(D,"calculateX"),(0,l.K)(W,"calculateMaxRight"),(0,l.K)(H,"sortedSwimlanesArray"),(0,l.K)(I,"evolveFramePositioned"),(0,l.K)(C,"isFirstFrame"),(0,l.K)(N,"hasSourceFrame"),(0,l.K)(O,"findBoxByFrame"),(0,l.K)(j,"findBoxByLineIndex"),(0,l.K)(U,"decidePositionRelation"),(0,l.K)(z,"evolveRelationPositioned");var X={[m]:T,[x]:U},V={[c]:I,[u]:z};function _(e,t){let i=X[t.$kind];if(null==i)return[];let n=i(e,t);return o.R.debug("decided events",n),n}function G(e,t){let i=t.reduce((e,t)=>{let i=V[t.$kind];return null==i?e:i(e,t)},e);return o.R.debug("evolve events",{state:e,newState:i,events:t}),i}function L(e,t){let i=_(e,t);return G(e,i)}(0,l.K)(_,"decide"),(0,l.K)(G,"evolve"),(0,l.K)(L,"dispatch");var Z={getConfig:w,preserveCommentsWhenParsing:!0,setOptions:f,getOptions:g,clear:h,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAst:P,getDiagramProps:M,getState:y},Y={parse:(0,l.K)(async e=>{let t=await (0,d.qg)("eventmodeling",e);o.R.debug(t),Z.setAst(t),(0,n.S)(t,Z)},"parse")},q=(0,r.D7)(),J=q?.eventmodeling;function Q(e,t){return i=>{let n=i.swimlane.y+t.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",i.x).attr("y",n).attr("rx","3").attr("width",i.dimension.width).attr("height",i.dimension.height).attr("stroke",i.visual.stroke).attr("fill",i.visual.fill),a.append("foreignObject").attr("x",i.x+t.boxPadding).attr("y",n+10).attr("width",i.dimension.width-2*t.boxPadding).attr("height",i.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(i.text)}}function ee(e,t){return e>t}function et(e,t,i,n){return a=>{let r,l,d=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,m=ee(d,s),c=a.sourceBox.x+2*a.sourceBox.dimension.width/3,x=a.targetBox.x+a.targetBox.dimension.width/3;o.R.debug(`rendering relation up=${m} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),m?(r=d,l=s+a.targetBox.dimension.height):(r=d+a.sourceBox.dimension.height,l=s);let u=n.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${i})`).attr("d",`M${c} ${r} L${x} ${l}`)}}function ei(e,t,i,n){return a=>{let r=e.append("g").attr("class","em-swimlane"),o=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",t+i.swimlanePadding).attr("height",a.height).attr("fill",o).attr("stroke",l),r.append("text").attr("font-weight",i.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}(0,l.K)(Q,"renderD3Box"),(0,l.K)(ee,"dirUpwards"),(0,l.K)(et,"renderD3Relation"),(0,l.K)(ei,"renderD3Swimlane");var en={parser:Y,db:Z,renderer:{draw:(0,l.K)(function(e,t,i,n){if(o.R.debug("in eventmodeling renderer",e+"\n","id:",t,i),!J)throw Error("EventModeling config not found");let a=n.db,{themeVariables:l,eventmodeling:d}=(0,r.D7)(),m=(0,s.Ltv)(`[id="${t}"]`),c=a.getDiagramProps(),x=a.getState(),u=`em-arrowhead-${t}`,f=l.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ei(m,x.maxR,c,l)),x.boxes.forEach(Q(m,c)),x.relations.forEach(et(m,c,u,l)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),(0,r.mj)(void 0,m,d?.padding??30,d?.useMaxWidth)},"draw")},styles:(0,l.K)(e=>"","getStyles")}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4297],{1145:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return u}});let n=r(42894),o=r(59727);function u(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},24297:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},useLinkStatus:function(){return b}});let n=r(67023),o=r(59977),u=n._(r(95453)),a=r(57984),i=r(2174),l=r(94069),f=r(42894),c=r(25748);r(45079);let s=r(74457),p=r(1145),d=r(72437);r(60775);let h=r(76126);function y(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}function g(e){var t;let r,n,a,[g,b]=(0,u.useOptimistic)(s.IDLE_LINK_STATUS),P=(0,u.useRef)(null),{href:_,as:v,children:E,prefetch:O=null,passHref:j,replace:S,shallow:C,scroll:N,onClick:T,onMouseEnter:x,onTouchStart:A,legacyBehavior:M=!1,onNavigate:R,ref:L,unstable_dynamicOnHover:k,...I}=e;r=E,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let U=u.default.useContext(i.AppRouterContext),w=!1!==O,F=!1!==O?null===(t=O)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:K}=u.default.useMemo(()=>{let e=y(_);return{href:e,as:v?y(v):e}},[_,v]);M&&(n=u.default.Children.only(r));let B=M?n&&"object"==typeof n&&n.ref:L,z=u.default.useCallback(e=>(null!==U&&(P.current=(0,s.mountLinkInstance)(e,D,U,F,w,b)),()=>{P.current&&((0,s.unmountLinkForCurrentNavigation)(P.current),P.current=null),(0,s.unmountPrefetchableInstance)(e)}),[w,D,U,F,b]),Q={ref:(0,l.useMergedRef)(z,B),onClick(e){M||"function"!=typeof T||T(e),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),U&&(e.defaultPrevented||function(e,t,r,n,o,a,i){let{nodeName:l}=e.currentTarget;if(!("A"===l.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}u.default.startTransition(()=>{(0,d.dispatchNavigateAction)(r||t,o?"replace":"push",null==a||a,n.current)})}}(e,D,K,P,S,N,R))},onMouseEnter(e){M||"function"!=typeof x||x(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),U&&w&&(0,s.onNavigationIntent)(e.currentTarget,!0===k)},onTouchStart:function(e){M||"function"!=typeof A||A(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),U&&w&&(0,s.onNavigationIntent)(e.currentTarget,!0===k)}};return(0,f.isAbsoluteUrl)(K)?Q.href=K:M&&!j&&("a"!==n.type||"href"in n.props)||(Q.href=(0,c.addBasePath)(K)),a=M?u.default.cloneElement(n,Q):(0,o.jsx)("a",{...I,...Q,children:r}),(0,o.jsx)(m.Provider,{value:g,children:a})}let m=(0,u.createContext)(s.IDLE_LINK_STATUS),b=()=>(0,u.useContext)(m);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42894:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return m},NormalizeError:function(){return y},PageNotFoundError:function(){return g},SP:function(){return p},ST:function(){return d},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return l},getLocationOrigin:function(){return a},getURL:function(){return i},isAbsoluteUrl:function(){return u},isResSent:function(){return f},loadGetInitialProps:function(){return s},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),u=0;u<n;u++)o[u]=arguments[u];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>o.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function i(){let{href:e}=window.location,t=a();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function s(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await s(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,d=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class y extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},57984:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return u},formatWithValidation:function(){return i},urlObjectKeys:function(){return a}});let n=r(67023)._(r(68800)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,u=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",f=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?f=t+e.host:r&&(f=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(f+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==f?(f="//"+(f||""),a&&"/"!==a[0]&&(a="/"+a)):f||(f=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),""+u+f+(a=a.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+i}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return u(e)}},60775:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},68800:(e,t)=>{function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return u},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},94069:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=r(95453);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=u(e,n)),t&&(o.current=u(t,n))},[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]);
|