agentworkshop 0.7.34 → 0.7.37
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/.output/.AgentWorkShop/aml-python/aml_eval.py +171 -0
- package/.output/.AgentWorkShop/aml-python/amlkit.py +120 -0
- package/.output/.AgentWorkShop/aml-python/requirements.txt +7 -0
- package/.output/.AgentWorkShop/aml-python/train-example.py +92 -0
- package/.output/.AgentWorkShop/schema.json +2 -1
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DLljr7g0.js → 45zuyAso.js} +1 -1
- package/.output/public/_nuxt/4sIEbgcl.js +42 -0
- package/.output/public/_nuxt/8NMOXZOV.js +1 -0
- package/.output/public/_nuxt/BCGafdXT.js +2 -0
- package/.output/public/_nuxt/BDNMzG2s2.js +1 -0
- package/.output/public/_nuxt/{C-mDhyEd.js → BDmh31hl.js} +1 -1
- package/.output/public/_nuxt/BFkgkW8u.js +4 -0
- package/.output/public/_nuxt/BG8sCcwx.js +14 -0
- package/.output/public/_nuxt/{D8CqF0yy.js → BHA40aHa.js} +1 -1
- package/.output/public/_nuxt/BJHKLJJU.js +1 -0
- package/.output/public/_nuxt/{DoTdlVVe2.js → BN6iuJEg2.js} +1 -1
- package/.output/public/_nuxt/BNT8gYU92.js +4 -0
- package/.output/public/_nuxt/BU83-NnX.js +106 -0
- package/.output/public/_nuxt/BYhEUx8t.js +17 -0
- package/.output/public/_nuxt/BzHEilTt.js +1 -0
- package/.output/public/_nuxt/{Ct-WOVr4.js → C3J6FYKa.js} +1 -1
- package/.output/public/_nuxt/C3gwHTz0.js +1 -0
- package/.output/public/_nuxt/C4DWUZ6d2.js +1 -0
- package/.output/public/_nuxt/C5gUkRwn.js +1 -0
- package/.output/public/_nuxt/CClOy-Hz2.js +1 -0
- package/.output/public/_nuxt/{CUXCQXjG.js → CM12FuB42.js} +1 -1
- package/.output/public/_nuxt/{BSCpFtzG.js → CSkxz2NX.js} +1 -1
- package/.output/public/_nuxt/CWoJjWmZ.js +1 -0
- package/.output/public/_nuxt/CY9LbPCI.js +1 -0
- package/.output/public/_nuxt/CYWVXZTS.js +7 -0
- package/.output/public/_nuxt/CZiw7sEV.js +1 -0
- package/.output/public/_nuxt/C_OLzD09.js +1 -0
- package/.output/public/_nuxt/C__m4EhR.js +1 -0
- package/.output/public/_nuxt/Cbq-mryP.js +1 -0
- package/.output/public/_nuxt/{C4OAdbVK2.js → Cc_9VzD42.js} +1 -1
- package/.output/public/_nuxt/{BASN8nZ0.js → CdPzkOMV.js} +1 -1
- package/.output/public/_nuxt/Cec0Ua3F.js +1 -0
- package/.output/public/_nuxt/{DYKVPzN-.js → CoNpEq5X.js} +1 -1
- package/.output/public/_nuxt/CojCTLKD.js +1 -0
- package/.output/public/_nuxt/{B7wL3pDk.js → Crod5z2f.js} +1 -1
- package/.output/public/_nuxt/CzlMDL5H.js +13 -0
- package/.output/public/_nuxt/{G0qIw7Gq2.js → D0ZBQrN_2.js} +1 -1
- package/.output/public/_nuxt/{Lp7Ll94I.js → D1YDxZpZ.js} +1 -1
- package/.output/public/_nuxt/{Bc0AmjfT.js → D20Yamr4.js} +1 -1
- package/.output/public/_nuxt/D6uzXueg.js +2 -0
- package/.output/public/_nuxt/D9Oidm5I.js +1 -0
- package/.output/public/_nuxt/DAe0h2MB.js +1 -0
- package/.output/public/_nuxt/DBHNsT1Y.js +23 -0
- package/.output/public/_nuxt/DDShH71m.js +1 -0
- package/.output/public/_nuxt/DDgJcSET.js +19 -0
- package/.output/public/_nuxt/DHFrCUxA2.js +13 -0
- package/.output/public/_nuxt/{BcrN7QEl2.js → DIaZ2PTo2.js} +1 -1
- package/.output/public/_nuxt/DPnwL14Y.js +1 -0
- package/.output/public/_nuxt/DR12_WCA.js +3 -0
- package/.output/public/_nuxt/{B9nXmjSB.js → DUrecWPx.js} +4 -4
- package/.output/public/_nuxt/DVsjtsvZ2.js +1 -0
- package/.output/public/_nuxt/DYr1VMiQ.js +6 -0
- package/.output/public/_nuxt/DZtm4l-P2.js +1 -0
- package/.output/public/_nuxt/DdD9mCHM.js +1 -0
- package/.output/public/_nuxt/DeJykBFf.js +9 -0
- package/.output/public/_nuxt/{DoMxCWN52.js → DeyBFhKH2.js} +1 -1
- package/.output/public/_nuxt/DkGQ7lnb2.js +1 -0
- package/.output/public/_nuxt/DmqknNvV.js +18 -0
- package/.output/public/_nuxt/DnUuIR83.js +1 -0
- package/.output/public/_nuxt/DrYV5i68.js +1 -0
- package/.output/public/_nuxt/{B5S_UyaC.js → DtYHUi5Z.js} +1 -1
- package/.output/public/_nuxt/Dz_Q3Lpw2.js +1 -0
- package/.output/public/_nuxt/DzbFpZRk.js +3 -0
- package/.output/public/_nuxt/HBLJ-wei.js +1 -0
- package/.output/public/_nuxt/JCoYF4IJ.js +31 -0
- package/.output/public/_nuxt/JTLM-kqr2.js +1 -0
- package/.output/public/_nuxt/{BeIfu4N3.js → KZQX7xoM.js} +2 -2
- package/.output/public/_nuxt/S_fVQwJK.js +1 -0
- package/.output/public/_nuxt/TownView.0oLiQgTC.css +1 -0
- package/.output/public/_nuxt/YnQxK3eG.js +1 -0
- package/.output/public/_nuxt/_id_.D-SYuyZb.css +1 -0
- package/.output/public/_nuxt/_id_.hma_BU6T.css +1 -0
- package/.output/public/_nuxt/_wsId_.B12v3PhY.css +1 -0
- package/.output/public/_nuxt/aLLjF2K-2.js +1 -0
- package/.output/public/_nuxt/aWWIh8YL.js +24 -0
- package/.output/public/_nuxt/ahgEJu2R.js +1 -0
- package/.output/public/_nuxt/aml.COEKNNqK.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/a66fdef7-dcfd-453b-b1f6-543c7dfd98d5.json +1 -0
- package/.output/public/_nuxt/daq.B3265ZDn.css +1 -0
- package/.output/public/_nuxt/dcw.DLYZqEhT.css +1 -0
- package/.output/public/_nuxt/default.DE_vT238.css +1 -0
- package/.output/public/_nuxt/entry.BB-Eeh-J.css +1 -0
- package/.output/public/_nuxt/jZsY8yYz.js +1 -0
- package/.output/public/_nuxt/logs.CqFyMrJw.css +1 -0
- package/.output/public/_nuxt/pages.ooEzrMm9.css +1 -0
- package/.output/public/_nuxt/pdk8jLGT.js +1 -0
- package/.output/public/_nuxt/plugins.5e5chZ67.css +1 -0
- package/.output/public/_nuxt/pz2JDAM7.js +2 -0
- package/.output/public/_nuxt/settings.Dm3M0RLy.css +1 -0
- package/.output/public/_nuxt/town.DKIAhKnx.css +1 -0
- package/.output/public/_nuxt/users.CXnP2E08.css +1 -0
- package/.output/public/_nuxt/vRTjoWqd.js +1 -0
- package/.output/public/_nuxt/workshop.Jk5HxWPE.css +1 -0
- package/.output/public/_nuxt/zIGh7R49.js +75 -0
- package/.output/public/_nuxt/zq5t1vyX.js +1 -0
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/entity.mjs +174 -0
- package/.output/server/chunks/_/entity.mjs.map +1 -0
- package/.output/server/chunks/_/env-manager.mjs +162 -0
- package/.output/server/chunks/_/env-manager.mjs.map +1 -0
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +1523 -1027
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/build/{TownView-BdHnAilw.mjs → TownView-jVazYOjN.mjs} +141 -141
- package/.output/server/chunks/build/{TownView-BdHnAilw.mjs.map → TownView-jVazYOjN.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Cb845FHR.mjs → _id_-CfVosNg3.mjs} +136 -136
- package/.output/server/chunks/build/{_id_-Cb845FHR.mjs.map → _id_-CfVosNg3.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-fadFPl2i.mjs → _id_-Hwr4rZpr.mjs} +32 -32
- package/.output/server/chunks/build/{_id_-fadFPl2i.mjs.map → _id_-Hwr4rZpr.mjs.map} +1 -1
- package/.output/server/chunks/build/{_wsId_-CTZswnm5.mjs → _wsId_-BVg3bB77.mjs} +175 -165
- package/.output/server/chunks/build/{_wsId_-CTZswnm5.mjs.map → _wsId_-BVg3bB77.mjs.map} +1 -1
- package/.output/server/chunks/build/aml-BCSJCdX7.mjs +588 -0
- package/.output/server/chunks/build/aml-BCSJCdX7.mjs.map +1 -0
- package/.output/server/chunks/build/{daq-BvihjQyW.mjs → daq-C03Uu5UE.mjs} +108 -106
- package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-Ks2vJ4PF.mjs → dcw-6vEYVeje.mjs} +44 -44
- package/.output/server/chunks/build/{dcw-Ks2vJ4PF.mjs.map → dcw-6vEYVeje.mjs.map} +1 -1
- package/.output/server/chunks/build/{default-GgHt4O2R.mjs → default-hseyOqBT.mjs} +30 -27
- package/.output/server/chunks/build/{default-GgHt4O2R.mjs.map → default-hseyOqBT.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-CYBhkQwh.mjs → logs-B-xhuqln.mjs} +35 -35
- package/.output/server/chunks/build/{logs-CYBhkQwh.mjs.map → logs-B-xhuqln.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-C-6BRtv8.mjs → pages-BO7yZsXA.mjs} +18 -27
- package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-dZRegC7m.mjs → plugins-CUWmMdyt.mjs} +17 -17
- package/.output/server/chunks/build/{plugins-dZRegC7m.mjs.map → plugins-CUWmMdyt.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-CgDLkP3s.mjs → settings-DoQ2Oq3P.mjs} +43 -43
- package/.output/server/chunks/build/{settings-CgDLkP3s.mjs.map → settings-DoQ2Oq3P.mjs.map} +1 -1
- package/.output/server/chunks/build/{town-DJ-V5G9U.mjs → town-BOl6hs9B.mjs} +7 -7
- package/.output/server/chunks/build/{town-DJ-V5G9U.mjs.map → town-BOl6hs9B.mjs.map} +1 -1
- package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs +1 -1
- package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs +1 -1
- package/.output/server/chunks/build/{useWorkshopWs-CprkZEdq.mjs → useWorkshopWs-C_I7q9As.mjs} +110 -32
- package/.output/server/chunks/build/{useWorkshopWs-CprkZEdq.mjs.map → useWorkshopWs-C_I7q9As.mjs.map} +1 -1
- package/.output/server/chunks/build/{users-4nzxTjFT.mjs → users-fohSmF-J.mjs} +6 -6
- package/.output/server/chunks/build/{users-4nzxTjFT.mjs.map → users-fohSmF-J.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-81xhz368.mjs → workshop-DX5-ldc4.mjs} +15 -15
- package/.output/server/chunks/build/{workshop-81xhz368.mjs.map → workshop-DX5-ldc4.mjs.map} +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +21 -8
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +58 -0
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +27 -6
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +45 -0
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +30 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +40 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +4 -22
- package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +4 -16
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +19 -34
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +62 -0
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +63 -0
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +54 -0
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +46 -0
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +12 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/virtual/entry.mjs +103 -17
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +578 -507
- package/README.md +125 -51
- package/app/assets/css/main.css +329 -22
- package/app/components/AppHeader.vue +5 -4
- package/app/components/AppSidebar.vue +5 -4
- package/app/components/AwChart.vue +17 -0
- package/app/components/workshop/AgentLanesView.vue +2 -2
- package/app/components/workshop/ChannelSessionList.vue +3 -3
- package/app/components/workshop/CommandPalette.vue +1 -2
- package/app/components/workshop/Composer.vue +4 -4
- package/app/components/workshop/DaqNodeRow.vue +20 -1
- package/app/components/workshop/EventBlock.vue +3 -3
- package/app/components/workshop/MentionHoverCard.vue +1 -1
- package/app/components/workshop/MultiChannelView.vue +1 -1
- package/app/components/workshop/TaskBoardView.vue +5 -5
- package/app/components/workshop/TranscriptTimeline.vue +3 -3
- package/app/components/workshop/blocks/ClusterRoute.vue +3 -3
- package/app/components/workshop/blocks/ClusterStream.vue +1 -1
- package/app/components/workshop/blocks/ClusterTool.vue +1 -1
- package/app/components/workshop/lanes/LaneBlocks.vue +5 -2
- package/app/components/workshop/town/TownView.vue +0 -7
- package/app/composables/workshop/useClusteredBlocks.ts +22 -3
- package/app/composables/workshop/useEscClose.ts +44 -0
- package/app/config/index.ts +2 -1
- package/app/layouts/default.vue +25 -8
- package/app/pages/aml/index.vue +626 -4
- package/app/pages/daq/[id].vue +1 -1
- package/app/pages/daq/index.vue +10 -12
- package/app/pages/dcw/[id].vue +2 -2
- package/app/pages/dcw/index.vue +7 -11
- package/app/pages/index.vue +24 -6
- package/app/pages/logs/index.vue +2 -6
- package/app/pages/plugins/index.vue +1 -1
- package/app/pages/settings.vue +2 -2
- package/app/pages/town.vue +0 -2
- package/app/pages/users.vue +1 -1
- package/app/pages/workshop/index.vue +2 -2
- package/app/plugins/esc-close.client.ts +31 -0
- package/app/stores/workshop/events.ts +186 -36
- package/bin/aw.mjs +7 -2
- package/cli/aw.mjs +19 -34
- package/cli/commands/build.mjs +18 -1
- package/cli/commands/config.mjs +2 -0
- package/cli/commands/plugin.mjs +45 -18
- package/cli/commands/register.mjs +6 -2
- package/cli/commands/status.mjs +2 -1
- package/cli/commands/update.mjs +1 -1
- package/cli/commands/version.mjs +1 -1
- package/cli/core/args.mjs +76 -4
- package/cli/core/help.mjs +3 -1
- package/cli/core/meta.mjs +38 -0
- package/cli/core/post-build.mjs +96 -0
- package/cli/core/registry.mjs +6 -3
- package/config.yml +28 -26
- package/docs/aml.md +99 -0
- package/docs/cli.en.md +445 -0
- package/docs/cli.md +410 -220
- package/docs/full-test-plan.md +174 -0
- package/docs/multi-harness-architecture.md +248 -0
- package/docs/plugins.en.md +534 -0
- package/docs/plugins.md +531 -179
- package/docs/sdk.en.md +922 -0
- package/docs/sdk.md +725 -129
- package/i18n/dicts/aml.json +43 -1
- package/i18n/locales/en.ts +1928 -1885
- package/i18n/locales/zh-CN.ts +1928 -1885
- package/nuxt.config.ts +27 -2
- package/package.json +164 -153
- package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +14 -0
- package/scripts/_audit/aml-layout-diag.mjs +83 -0
- package/scripts/_audit/bump-version.mjs +51 -0
- package/scripts/_audit/channel-inspect.mjs +49 -0
- package/scripts/_audit/cleanup-apply.mjs +89 -0
- package/scripts/_audit/cleanup-plan.mjs +82 -0
- package/scripts/_audit/contrast-check.mjs +43 -0
- package/scripts/_audit/dcw-unrecorded-write.ts +1 -1
- package/scripts/_audit/design-shots.mjs +145 -0
- package/scripts/_audit/docs-font-probe.mjs +68 -0
- package/scripts/_audit/docs-probe.mjs +107 -0
- package/scripts/_audit/docs-shots.mjs +171 -0
- package/scripts/_audit/docs-v3-verify.mjs +255 -0
- package/scripts/_audit/docs-vue-lint.mjs +81 -0
- package/scripts/_audit/docs-vue-lint2.mjs +91 -0
- package/scripts/_audit/exp-cost-scaling.mjs +4 -1
- package/scripts/_audit/exp-envelope-and-png.mjs +2 -1
- package/scripts/_audit/exp-sweep-fairness.mjs +4 -2
- package/scripts/_audit/fix-settings-count.mjs +57 -0
- package/scripts/_audit/glass-verify.mjs +155 -0
- package/scripts/_audit/hydration-diff.mjs +104 -0
- package/scripts/_audit/hydration-head.mjs +36 -0
- package/scripts/_audit/hydration-probe.mjs +59 -0
- package/scripts/_audit/lead-matrix-test.mjs +172 -0
- package/scripts/_audit/plc-agent-task.mjs +74 -0
- package/scripts/_audit/plc-clean-scenario.mjs +434 -0
- package/scripts/_audit/plc-clean-shots.mjs +161 -0
- package/scripts/_audit/plc-fc10-probe.mjs +30 -0
- package/scripts/_audit/probe-binding.mjs +114 -103
- package/scripts/_audit/review-fix-verify.mjs +158 -0
- package/scripts/_audit/seed-demo.mjs +165 -0
- package/scripts/_audit/town-focus-shot.mjs +129 -0
- package/scripts/_audit/town-reposition.mjs +85 -0
- package/scripts/_audit/ts-resolve-hook.mjs +57 -22
- package/scripts/_audit/verify-cleanup.mjs +67 -0
- package/scripts/_audit/verify-release-pack.mjs +82 -0
- package/scripts/_audit/watchdog-recovery-test.mjs +127 -0
- package/scripts/_dbg-audit-all-pages.mjs +43 -43
- package/scripts/_dbg-configroot-audit.mjs +84 -84
- package/scripts/_dbg-daq-intervals-func.mjs +94 -94
- package/scripts/_dbg-daq-rowstyle-verify.mjs +112 -112
- package/scripts/_dbg-groups-ui-verify.mjs +122 -122
- package/scripts/_dbg-harness-e2e.mjs +92 -92
- package/scripts/_dbg-harness-ui-e2e.py +97 -97
- package/scripts/_dbg-hitl-timeout-e2e.mjs +93 -93
- package/scripts/_dbg-multiharness-live-e2e.mjs +254 -254
- package/scripts/_dbg-opslog-agent-e2e.mjs +194 -194
- package/scripts/_dbg-opt-team-e2e.mjs +133 -133
- package/scripts/_dbg-recipe-e2e.mjs +176 -176
- package/scripts/_dbg-recipe-stale-e2e.mjs +135 -135
- package/scripts/_dbg-render-perf.mjs +142 -142
- package/scripts/_dbg-render-regression.mjs +130 -130
- package/scripts/_dbg-town-smoke.mjs +54 -54
- package/scripts/aw-start-smoke.mjs +27 -8
- package/scripts/check-docs-sync.mjs +367 -0
- package/scripts/e2e-full-closedloop.mjs +36 -18
- package/scripts/production-closed-loop-e2e.mjs +300 -303
- package/scripts/test-cli-exit.mjs +129 -21
- package/scripts/test-daq-frame-race.mjs +144 -96
- package/scripts/test-events-index.mjs +176 -0
- package/scripts/test-lru.mjs +34 -11
- package/scripts/test-memory-month-query.mjs +11 -3
- package/scripts/test-plugin-hardening.mjs +7 -2
- package/scripts/test-plugin-lifecycle.mjs +173 -0
- package/scripts/test-rollback-index.mjs +76 -18
- package/scripts/test-sdk-surface.mjs +6 -3
- package/sdk/client.mjs +16 -7
- package/sdk/context.mjs +21 -9
- package/sdk/examples/line-sentinel/client.mjs +13 -6
- package/sdk/examples/line-sentinel/index.mjs +5 -2
- package/sdk/examples/ops-notifier/client.mjs +3 -1
- package/sdk/examples/sample-insight/client.mjs +4 -2
- package/sdk/index.d.mts +133 -16
- package/sdk/index.mjs +3 -2
- package/sdk/lifecycle.mjs +8 -3
- package/server/api/workshop/agent-tools/bindings/index.post.ts +22 -7
- package/server/api/workshop/aml/datasets/[id].delete.ts +39 -0
- package/server/api/workshop/aml/datasets/[id].get.ts +31 -9
- package/server/api/workshop/aml/datasets/[id].patch.ts +30 -0
- package/server/api/workshop/aml/entities/index.get.ts +13 -0
- package/server/api/workshop/aml/entities/prune.post.ts +28 -0
- package/server/api/workshop/aml/env/index.get.ts +13 -0
- package/server/api/workshop/aml/env/recheck.post.ts +14 -0
- package/server/api/workshop/aml/env/uv.post.ts +21 -0
- package/server/api/workshop/aml/env/venv.post.ts +24 -0
- package/server/api/workshop/aml/index.get.ts +14 -1
- package/server/api/workshop/aml/jobs/[id].delete.ts +44 -0
- package/server/api/workshop/aml/models/[id].delete.ts +35 -0
- package/server/api/workshop/aml/models/[id].patch.ts +30 -0
- package/server/services/workshop/agents/agent-interface.ts +3 -0
- package/server/services/workshop/agents/codex-agent.ts +4 -7
- package/server/services/workshop/agents/dsh-agent.ts +4 -7
- package/server/services/workshop/agents/opencode-agent.ts +5 -7
- package/server/services/workshop/aml/aml.repo.ts +18 -0
- package/server/services/workshop/aml/dataset-builder.ts +4 -0
- package/server/services/workshop/aml/entity.ts +365 -0
- package/server/services/workshop/aml/env-manager.ts +242 -0
- package/server/services/workshop/aml/job-orchestrator.ts +4 -15
- package/server/services/workshop/aml/model-registry.ts +6 -0
- package/server/services/workshop/aml/python-runtime.ts +396 -62
- package/server/services/workshop/aml/runtime.ts +95 -4
- package/server/services/workshop/daq/bus/mqtt.adapter.ts +3 -1
- package/server/services/workshop/daq/daq-controller.ts +95 -47
- package/server/services/workshop/daq/daq-node.repo.ts +0 -10
- package/server/services/workshop/daq/daq-runtime.ts +0 -5
- package/server/services/workshop/json-store.mjs +35 -2
- package/server/services/workshop/plugins/host.mjs +14 -5
- package/server/services/workshop/runtime/manager.ts +28 -1
- package/server/services/workshop/runtime/scheduler-loop.ts +10 -1
- package/server/services/workshop/settings.ts +2 -0
- package/shared/config/home.mjs +58 -0
- package/shared/config/schema.json +2 -1
- package/shared/lru.mjs +4 -1
- package/.output/public/_nuxt/-6OnbLFb.js +0 -1
- package/.output/public/_nuxt/-nb2uqVg.js +0 -1
- package/.output/public/_nuxt/4bHdIqEg.js +0 -18
- package/.output/public/_nuxt/6PZPfFcO.js +0 -17
- package/.output/public/_nuxt/BBBtwOpo.js +0 -9
- package/.output/public/_nuxt/BBwMH_hG.js +0 -7
- package/.output/public/_nuxt/BDUjyaF4.js +0 -42
- package/.output/public/_nuxt/BNXfwXpE.js +0 -1
- package/.output/public/_nuxt/BN_PdN3J.js +0 -24
- package/.output/public/_nuxt/BSSUlJnx2.js +0 -1
- package/.output/public/_nuxt/BWSE6hR6.js +0 -1
- package/.output/public/_nuxt/BZGNTgTQ2.js +0 -1
- package/.output/public/_nuxt/BZv4RFYN.js +0 -1
- package/.output/public/_nuxt/BcmbLh2z2.js +0 -1
- package/.output/public/_nuxt/BfGc7TJp.js +0 -1
- package/.output/public/_nuxt/BgTB6h_q.js +0 -2
- package/.output/public/_nuxt/BkLJA9J5.js +0 -1
- package/.output/public/_nuxt/Bp5luxkg2.js +0 -1
- package/.output/public/_nuxt/BuCHayqN.js +0 -1
- package/.output/public/_nuxt/BuvcLKh1.js +0 -19
- package/.output/public/_nuxt/C3tCneTM.js +0 -1
- package/.output/public/_nuxt/C77oC8yC2.js +0 -7
- package/.output/public/_nuxt/C9f8QMp12.js +0 -1
- package/.output/public/_nuxt/CKfhtOt7.js +0 -13
- package/.output/public/_nuxt/CQvmN-Mi.js +0 -1
- package/.output/public/_nuxt/CUDrOuW7.js +0 -1
- package/.output/public/_nuxt/CZcC-gpk.js +0 -1
- package/.output/public/_nuxt/CbzsPO5H.js +0 -1
- package/.output/public/_nuxt/CdSOrh2c.js +0 -1
- package/.output/public/_nuxt/Cgx818r-.js +0 -1
- package/.output/public/_nuxt/Cjm7VogC.js +0 -1
- package/.output/public/_nuxt/Cm5mDxzH.js +0 -1
- package/.output/public/_nuxt/CmHzfVc5.js +0 -3
- package/.output/public/_nuxt/Cn3J3NXR.js +0 -23
- package/.output/public/_nuxt/Cno6kYiO2.js +0 -1
- package/.output/public/_nuxt/Cp6z0RN7.js +0 -1
- package/.output/public/_nuxt/CwqIxJGj.js +0 -2
- package/.output/public/_nuxt/D-Ca4BGY.js +0 -70
- package/.output/public/_nuxt/D0fhp-Ga.js +0 -75
- package/.output/public/_nuxt/D1z7i2UP.js +0 -31
- package/.output/public/_nuxt/DIaTPH1M.js +0 -1
- package/.output/public/_nuxt/DTYBfjRY.js +0 -1
- package/.output/public/_nuxt/DXRZPxGs.js +0 -1
- package/.output/public/_nuxt/DZzGarBE2.js +0 -13
- package/.output/public/_nuxt/DaMCzQhv.js +0 -1
- package/.output/public/_nuxt/DoLasgPj2.js +0 -1
- package/.output/public/_nuxt/DpojD719.js +0 -1
- package/.output/public/_nuxt/DsVcWfyR.js +0 -1
- package/.output/public/_nuxt/DtBu71ev.js +0 -32
- package/.output/public/_nuxt/Dy-mxvXY2.js +0 -1
- package/.output/public/_nuxt/DzuC31-i.js +0 -2
- package/.output/public/_nuxt/FQri3dV3.js +0 -1
- package/.output/public/_nuxt/ORt9oDIy2.js +0 -1
- package/.output/public/_nuxt/TownView.CtskuMXS.css +0 -1
- package/.output/public/_nuxt/VLI2Zy4t.js +0 -5
- package/.output/public/_nuxt/_id_.MbzdFygI.css +0 -1
- package/.output/public/_nuxt/_id_.hRYo-EAB.css +0 -1
- package/.output/public/_nuxt/_wsId_.gXMEOYgX.css +0 -1
- package/.output/public/_nuxt/aml.WU_bh87J.css +0 -1
- package/.output/public/_nuxt/arUY5dyq2.js +0 -4
- package/.output/public/_nuxt/builds/meta/adc365b6-f636-4a2b-9527-79819c1e874b.json +0 -1
- package/.output/public/_nuxt/daq.Bb6l44-O.css +0 -1
- package/.output/public/_nuxt/dcw.rXH2fc2Z.css +0 -1
- package/.output/public/_nuxt/default.jNT73_hq.css +0 -1
- package/.output/public/_nuxt/ekuGmQ7R.js +0 -1
- package/.output/public/_nuxt/entry.jFrFAWuA.css +0 -1
- package/.output/public/_nuxt/logs.DMOM-iHe.css +0 -1
- package/.output/public/_nuxt/niDwBOZW.js +0 -3
- package/.output/public/_nuxt/pMoIO6rr.js +0 -14
- package/.output/public/_nuxt/pages.Cc8GX9T1.css +0 -1
- package/.output/public/_nuxt/plugins.wIPyfPn-.css +0 -1
- package/.output/public/_nuxt/rqZ-1SoP.js +0 -2
- package/.output/public/_nuxt/settings.BCm4NZIc.css +0 -1
- package/.output/public/_nuxt/town.C_DsNW0J.css +0 -1
- package/.output/public/_nuxt/users.DuAt_Zwf.css +0 -1
- package/.output/public/_nuxt/vJ4FPb-_.js +0 -1
- package/.output/public/_nuxt/workshop.BJg84pOK.css +0 -1
- package/.output/server/chunks/build/aml-uBNIppIf.mjs +0 -508
- package/.output/server/chunks/build/aml-uBNIppIf.mjs.map +0 -1
- package/.output/server/chunks/build/daq-BvihjQyW.mjs.map +0 -1
- package/.output/server/chunks/build/pages-C-6BRtv8.mjs.map +0 -1
- package/scripts/_audit/.tmp/audit-data/dcws.json +0 -28
- package/scripts/_audit/.tmp/dcw-writes.json +0 -15650
- package/scripts/_audit/.tmp/dcws.json +0 -9033
- package/scripts/_audit/.tmp/pollution-backup/dcw-rollback.polluted.json +0 -470006
- package/scripts/_audit/.tmp/pollution-backup/dcws.polluted.json +0 -9085
- package/scripts/_audit/.tmp/probe-cwd.txt +0 -1
- package/scripts/_audit/awhome/commands/README.md +0 -3
- package/scripts/_audit/awhome/commands/hello.mjs +0 -12
- package/scripts/_audit/diag-cwd.ts +0 -20
- package/scripts/_audit/diag-cwd2.ts +0 -19
- package/scripts/_audit/hello.mjs +0 -12
- package/scripts/_audit/ndjson-partial-line-repro.mjs +0 -77
- package/scripts/_audit/opencode-await-ternary-repro.mjs +0 -20
- package/scripts/_audit/part-frag.txt +0 -84
- package/scripts/_audit/part-head.txt +0 -45
- package/scripts/_audit/probe-child.mjs +0 -17
- package/scripts/_audit/probe-envelope.mjs +0 -49
- package/scripts/_audit/probe-packlist.mjs +0 -67
- package/scripts/_audit/probe-routes.mjs +0 -47
- package/scripts/_audit/probe-routes2.mjs +0 -38
- package/scripts/_audit/probe.ts +0 -9
- package/scripts/_audit/probe2.ts +0 -6
- package/scripts/_audit/probe3.ts +0 -3
- package/scripts/_audit/probe4.ts +0 -3
- package/scripts/_audit/proj/.AgentWorkShop/commands/echoargs.mjs +0 -13
- package/scripts/_audit/proj/config.yml +0 -1
- package/scripts/_audit/run.mjs +0 -30
- package/scripts/_audit/tsconfig.probe.json +0 -24
- package/scripts/_audit/typecheck-out.txt +0 -466
- package/scripts/_daq-realtime-probe.mjs +0 -68
- package/scripts/_daq-warn-probe.mjs +0 -50
- package/scripts/_dbg-acc-1-setup.mjs +0 -57
- package/scripts/_dbg-acc-2-diag.mjs +0 -14
- package/scripts/_dbg-acc-2-intervals.mjs +0 -81
- package/scripts/_dbg-acc-3-daq.mjs +0 -48
- package/scripts/_dbg-acc-4-team.mjs +0 -92
- package/scripts/_dbg-acc-5-visual.mjs +0 -63
- package/scripts/_dbg-acc-5b-ws-town.mjs +0 -18
- package/scripts/_dbg-acc-5c-town.mjs +0 -12
- package/scripts/_dbg-acc-6-i18n.mjs +0 -19
- package/scripts/_dbg-agent-tools-audit.mjs +0 -154
- package/scripts/_dbg-agent-workflow-audit.mjs +0 -177
- package/scripts/_dbg-agents-dropdown-shot.py +0 -33
- package/scripts/_dbg-anim-verify.mjs +0 -81
- package/scripts/_dbg-app-shot.mjs +0 -48
- package/scripts/_dbg-autoframe.mjs +0 -103
- package/scripts/_dbg-availability-probe.ts +0 -11
- package/scripts/_dbg-beacon-final.mjs +0 -181
- package/scripts/_dbg-bind-bidi-e2e.mjs +0 -239
- package/scripts/_dbg-callout-near.mjs +0 -108
- package/scripts/_dbg-catalog-smoke.ts +0 -20
- package/scripts/_dbg-cf-line-shot.mjs +0 -18
- package/scripts/_dbg-chan-focus.mjs +0 -49
- package/scripts/_dbg-channel-plugin-ui.mjs +0 -94
- package/scripts/_dbg-cleanup.mjs +0 -31
- package/scripts/_dbg-closedloop-ui-shot.mjs +0 -61
- package/scripts/_dbg-codex-handshake.ts +0 -30
- package/scripts/_dbg-codex-probe.mjs +0 -58
- package/scripts/_dbg-codex-sandbox.ts +0 -58
- package/scripts/_dbg-codex-turn.ts +0 -65
- package/scripts/_dbg-collab-scenario-e2e.mjs +0 -185
- package/scripts/_dbg-config-smoke.ts +0 -28
- package/scripts/_dbg-console-audit.mjs +0 -61
- package/scripts/_dbg-console-probe.mjs +0 -23
- package/scripts/_dbg-context-inject-audit.mjs +0 -231
- package/scripts/_dbg-cpu-profile.mjs +0 -53
- package/scripts/_dbg-crash-recovery.mjs +0 -143
- package/scripts/_dbg-crop-shot.mjs +0 -16
- package/scripts/_dbg-cross-channel-e2e.mjs +0 -157
- package/scripts/_dbg-cross-team-visibility-e2e.mjs +0 -129
- package/scripts/_dbg-crush-probe.sh +0 -21
- package/scripts/_dbg-crush-spawn-probe.ts +0 -22
- package/scripts/_dbg-daq-acc-probe.mjs +0 -24
- package/scripts/_dbg-daq-attrib.mjs +0 -34
- package/scripts/_dbg-daq-bind-audit.mjs +0 -119
- package/scripts/_dbg-daq-cadence.mjs +0 -104
- package/scripts/_dbg-daq-debug.mjs +0 -22
- package/scripts/_dbg-daq-diag.mjs +0 -33
- package/scripts/_dbg-daq-e2e.mjs +0 -171
- package/scripts/_dbg-daq-film.mjs +0 -136
- package/scripts/_dbg-daq-filter-e2e.mjs +0 -109
- package/scripts/_dbg-daq-filter-e2e2.mjs +0 -62
- package/scripts/_dbg-daq-final-regression.mjs +0 -78
- package/scripts/_dbg-daq-frame-alarm.mjs +0 -49
- package/scripts/_dbg-daq-frame-ui.mjs +0 -62
- package/scripts/_dbg-daq-frame-ws.mjs +0 -72
- package/scripts/_dbg-daq-full-check.mjs +0 -179
- package/scripts/_dbg-daq-line-note-verify.mjs +0 -61
- package/scripts/_dbg-daq-linebanner-audit.mjs +0 -107
- package/scripts/_dbg-daq-pages-shot.mjs +0 -37
- package/scripts/_dbg-daq-perf.mjs +0 -61
- package/scripts/_dbg-daq-probe.mjs +0 -27
- package/scripts/_dbg-daq-recipe-e2e.mjs +0 -30
- package/scripts/_dbg-daq-redesign-shot.mjs +0 -88
- package/scripts/_dbg-daq-rows-probe.mjs +0 -26
- package/scripts/_dbg-daq-rowstate-e2e.mjs +0 -152
- package/scripts/_dbg-daq-rowstate-shot.mjs +0 -45
- package/scripts/_dbg-daq-rowstate-shot2.mjs +0 -38
- package/scripts/_dbg-daq-tpl.mjs +0 -144
- package/scripts/_dbg-dash-console-check.mjs +0 -49
- package/scripts/_dbg-dash-deep-probe.mjs +0 -61
- package/scripts/_dbg-dash-hitpoint.mjs +0 -44
- package/scripts/_dbg-dash-live-shot.mjs +0 -36
- package/scripts/_dbg-dash-shot.mjs +0 -21
- package/scripts/_dbg-dashboard-shot.mjs +0 -35
- package/scripts/_dbg-dcw-audit.mjs +0 -126
- package/scripts/_dbg-dcw-card-e2e.mjs +0 -108
- package/scripts/_dbg-dcw-channel-ui.mjs +0 -144
- package/scripts/_dbg-dcw-examples.mjs +0 -81
- package/scripts/_dbg-dcw-light-shot.mjs +0 -19
- package/scripts/_dbg-dcw-line-audit.mjs +0 -107
- package/scripts/_dbg-dcw-pause-tpl-audit.mjs +0 -161
- package/scripts/_dbg-dcw-pause-ui.mjs +0 -175
- package/scripts/_dbg-dcw-read-toolface.ts +0 -13
- package/scripts/_dbg-dcw-read-ui.mjs +0 -74
- package/scripts/_dbg-dcw-scene.mjs +0 -72
- package/scripts/_dbg-dcw-shot2.mjs +0 -14
- package/scripts/_dbg-dcw-twin-e2e.mjs +0 -192
- package/scripts/_dbg-diag-mock-loop.mjs +0 -89
- package/scripts/_dbg-diag-watch.mjs +0 -95
- package/scripts/_dbg-docs-site-shot.mjs +0 -32
- package/scripts/_dbg-dsh-probe.mjs +0 -31
- package/scripts/_dbg-dt-interact.mjs +0 -193
- package/scripts/_dbg-error-probe.mjs +0 -54
- package/scripts/_dbg-filter-light-verify.mjs +0 -54
- package/scripts/_dbg-final-acceptance-2.mjs +0 -72
- package/scripts/_dbg-final-acceptance.mjs +0 -192
- package/scripts/_dbg-final-agent-e2e.mjs +0 -151
- package/scripts/_dbg-final-features.mjs +0 -155
- package/scripts/_dbg-final-fixups.mjs +0 -62
- package/scripts/_dbg-final-full-e2e.mjs +0 -218
- package/scripts/_dbg-final-line-e2e.mjs +0 -173
- package/scripts/_dbg-final-shots.mjs +0 -32
- package/scripts/_dbg-final-t6-hitl.mjs +0 -38
- package/scripts/_dbg-final-visual.mjs +0 -29
- package/scripts/_dbg-fix-unused-imports.py +0 -41
- package/scripts/_dbg-focus-range.mjs +0 -115
- package/scripts/_dbg-fresh-scene-e2e.mjs +0 -125
- package/scripts/_dbg-fullchain-e2e.mjs +0 -178
- package/scripts/_dbg-gate-debug.mjs +0 -37
- package/scripts/_dbg-gif-encode.mjs +0 -111
- package/scripts/_dbg-gizmo.mjs +0 -95
- package/scripts/_dbg-glass-probe.mjs +0 -57
- package/scripts/_dbg-glass-shot.mjs +0 -50
- package/scripts/_dbg-glass-sweep.mjs +0 -25
- package/scripts/_dbg-glb-probe.mjs +0 -43
- package/scripts/_dbg-goose-probe.mjs +0 -33
- package/scripts/_dbg-goose-probe.sh +0 -10
- package/scripts/_dbg-hardening-probe.mjs +0 -90
- package/scripts/_dbg-harness-cancel-repro.mjs +0 -81
- package/scripts/_dbg-harness-ui-dbg.py +0 -49
- package/scripts/_dbg-harness-ui-shot.py +0 -109
- package/scripts/_dbg-hero-btn-probe.mjs +0 -21
- package/scripts/_dbg-hidden-check.mjs +0 -21
- package/scripts/_dbg-hmi-audit.mjs +0 -164
- package/scripts/_dbg-home-repro.mjs +0 -24
- package/scripts/_dbg-home-stack.mjs +0 -13
- package/scripts/_dbg-host.mjs +0 -16
- package/scripts/_dbg-huashu-survey.mjs +0 -31
- package/scripts/_dbg-huashu-survey2.mjs +0 -35
- package/scripts/_dbg-huashu-verify.mjs +0 -25
- package/scripts/_dbg-huashu-verify2.mjs +0 -26
- package/scripts/_dbg-hydration-detail.mjs +0 -18
- package/scripts/_dbg-i18n-debug.mjs +0 -27
- package/scripts/_dbg-i18n-debug2.mjs +0 -26
- package/scripts/_dbg-i18n-final.mjs +0 -42
- package/scripts/_dbg-i18n-scan.mjs +0 -38
- package/scripts/_dbg-infra-lifecycle.mjs +0 -44
- package/scripts/_dbg-interval-config.mjs +0 -156
- package/scripts/_dbg-interval-scenario.mjs +0 -126
- package/scripts/_dbg-kicker-check.mjs +0 -11
- package/scripts/_dbg-line-aura-shots.mjs +0 -54
- package/scripts/_dbg-line-control-e2e.mjs +0 -120
- package/scripts/_dbg-line-gate-audit.mjs +0 -108
- package/scripts/_dbg-line-live-e2e.mjs +0 -144
- package/scripts/_dbg-line-repo-test.ts +0 -10
- package/scripts/_dbg-line-scenario-e2e.mjs +0 -256
- package/scripts/_dbg-line-spawn.ts +0 -31
- package/scripts/_dbg-live-engine-probe.mjs +0 -80
- package/scripts/_dbg-login-debug.py +0 -23
- package/scripts/_dbg-login-e2e.mjs +0 -26
- package/scripts/_dbg-logs-ui-e2e.py +0 -126
- package/scripts/_dbg-mcp-bridge-probe.mjs +0 -147
- package/scripts/_dbg-modbus-latency.mjs +0 -22
- package/scripts/_dbg-mqtt-chain-e2e.mjs +0 -90
- package/scripts/_dbg-mqtt-publisher.mjs +0 -17
- package/scripts/_dbg-nav-rpg.mjs +0 -84
- package/scripts/_dbg-nav-shot.mjs +0 -28
- package/scripts/_dbg-nav.mjs +0 -27
- package/scripts/_dbg-oneshot-impl-probe.ts +0 -67
- package/scripts/_dbg-opencode-sse.mjs +0 -101
- package/scripts/_dbg-opencode-start.ts +0 -57
- package/scripts/_dbg-opslog-e2e.mjs +0 -121
- package/scripts/_dbg-opslog-shots.mjs +0 -62
- package/scripts/_dbg-optimization-e2e.mjs +0 -94
- package/scripts/_dbg-orbit.mjs +0 -58
- package/scripts/_dbg-overview-probe.sh +0 -31
- package/scripts/_dbg-panesplitter-fix-check.mjs +0 -62
- package/scripts/_dbg-perms-visual.mjs +0 -36
- package/scripts/_dbg-pg-tcp-probe.cjs +0 -27
- package/scripts/_dbg-phase-e3-monitor.mjs +0 -25
- package/scripts/_dbg-pi-spawn-probe.ts +0 -33
- package/scripts/_dbg-plc-agent-loop.ts +0 -102
- package/scripts/_dbg-plc-e2e.mjs +0 -171
- package/scripts/_dbg-plugin-agent-read.ts +0 -56
- package/scripts/_dbg-plugin-config-ui.mjs +0 -111
- package/scripts/_dbg-plugin-matrix.mjs +0 -212
- package/scripts/_dbg-plugin-panels-ui.mjs +0 -54
- package/scripts/_dbg-plugin-sink-rest.mjs +0 -70
- package/scripts/_dbg-plugin-sink-ui.mjs +0 -81
- package/scripts/_dbg-plugin-tools-inject.ts +0 -80
- package/scripts/_dbg-plugin-ui-wizard.mjs +0 -125
- package/scripts/_dbg-plugin-verify-e2e.mjs +0 -123
- package/scripts/_dbg-plugins-e2e.mjs +0 -101
- package/scripts/_dbg-pop-clamp-verify.mjs +0 -77
- package/scripts/_dbg-preset-e2e.mjs +0 -116
- package/scripts/_dbg-preview-console.mjs +0 -28
- package/scripts/_dbg-preview-minrepro.mjs +0 -156
- package/scripts/_dbg-preview-pixels.mjs +0 -93
- package/scripts/_dbg-prompts-hotreload-test.ts +0 -76
- package/scripts/_dbg-prompts-resolve-test.ts +0 -39
- package/scripts/_dbg-quality-pages-e2e.mjs +0 -84
- package/scripts/_dbg-query-cancel.ts +0 -12
- package/scripts/_dbg-qwen-acp-probe.mjs +0 -30
- package/scripts/_dbg-qwen-capture.mjs +0 -21
- package/scripts/_dbg-rail-tree-e2e.mjs +0 -183
- package/scripts/_dbg-real-driver-e2e.mjs +0 -55
- package/scripts/_dbg-redesign-shots.mjs +0 -34
- package/scripts/_dbg-registry-smoke.ts +0 -14
- package/scripts/_dbg-release-smoke.mjs +0 -104
- package/scripts/_dbg-repo-setup-verify.mjs +0 -31
- package/scripts/_dbg-resolve-probe.ts +0 -6
- package/scripts/_dbg-restart-persist.mjs +0 -41
- package/scripts/_dbg-retention-test.ts +0 -25
- package/scripts/_dbg-rollback-mgr-audit.mjs +0 -169
- package/scripts/_dbg-rpg.mjs +0 -71
- package/scripts/_dbg-sc001-dispatch.mjs +0 -63
- package/scripts/_dbg-scenario-final-shot.mjs +0 -24
- package/scripts/_dbg-scenario-phase-e2.mjs +0 -75
- package/scripts/_dbg-scenario-phase-e3.mjs +0 -96
- package/scripts/_dbg-scenario-phase1.mjs +0 -90
- package/scripts/_dbg-scenario-phase2.mjs +0 -105
- package/scripts/_dbg-scenario-phase3-monitor.mjs +0 -48
- package/scripts/_dbg-scenario-phase3.mjs +0 -111
- package/scripts/_dbg-scene-polish-shot.mjs +0 -118
- package/scripts/_dbg-selring-probe.mjs +0 -47
- package/scripts/_dbg-settings-draft-probe.mjs +0 -39
- package/scripts/_dbg-settings-probe.mjs +0 -33
- package/scripts/_dbg-setup-e2e.mjs +0 -88
- package/scripts/_dbg-sideinfo.mjs +0 -101
- package/scripts/_dbg-sim-keeper.mjs +0 -100
- package/scripts/_dbg-splitter.mjs +0 -88
- package/scripts/_dbg-swatch-check.mjs +0 -10
- package/scripts/_dbg-task-cancel-probe.mjs +0 -66
- package/scripts/_dbg-team-drill.mjs +0 -173
- package/scripts/_dbg-town-alarm-e2e.mjs +0 -40
- package/scripts/_dbg-town-beauty-shots.mjs +0 -54
- package/scripts/_dbg-town-daq-shot.mjs +0 -26
- package/scripts/_dbg-town-full-e2e.mjs +0 -104
- package/scripts/_dbg-town-gate.mjs +0 -44
- package/scripts/_dbg-town-ins-probe.mjs +0 -37
- package/scripts/_dbg-town-perf.mjs +0 -50
- package/scripts/_dbg-town-polish-shots.mjs +0 -82
- package/scripts/_dbg-town-realtime.mjs +0 -42
- package/scripts/_dbg-town-shot.py +0 -25
- package/scripts/_dbg-town-shot3.mjs +0 -17
- package/scripts/_dbg-town-truth.mjs +0 -37
- package/scripts/_dbg-town-truth2.mjs +0 -27
- package/scripts/_dbg-transform-audit.mjs +0 -98
- package/scripts/_dbg-trend-expand-test.mjs +0 -38
- package/scripts/_dbg-twindaq-focus.mjs +0 -81
- package/scripts/_dbg-ui-polish-shot.mjs +0 -43
- package/scripts/_dbg-ui-polish-verify1.mjs +0 -92
- package/scripts/_dbg-ui-polish-verify2.mjs +0 -50
- package/scripts/_dbg-ui-polish-verify3.mjs +0 -51
- package/scripts/_dbg-ui-polish-verify4.mjs +0 -50
- package/scripts/_dbg-ui-shot.mjs +0 -26
- package/scripts/_dbg-ui-shots.mjs +0 -28
- package/scripts/_dbg-ui-survey.py +0 -52
- package/scripts/_dbg-unify-shot.mjs +0 -43
- package/scripts/_dbg-uplink-probe.mjs +0 -36
- package/scripts/_dbg-wizard-preview-shot.mjs +0 -58
- package/scripts/_dbg-wizard-ui-e2e.mjs +0 -93
- package/scripts/_dbg-ws-probe.mjs +0 -86
- package/scripts/_dbg-ws-shot2.mjs +0 -23
- package/scripts/_dbg-wsdot-sanity.mjs +0 -25
- package/scripts/_dev-stack.mjs +0 -46
- package/scripts/_http-driver-probe.mjs +0 -30
- package/scripts/_mqtt-driver-probe.mjs +0 -30
- package/scripts/_newdriver-rest-probe.mjs +0 -100
- package/scripts/_node-state-probe.mjs +0 -5
- package/scripts/_opcua-driver-probe.mjs +0 -31
- package/scripts/_rtu-debug.mjs +0 -41
- package/scripts/_rtu-direct.mjs +0 -6
- package/scripts/_rtu-driver-probe.mjs +0 -53
- package/scripts/_spike-pitui.mjs +0 -116
- package/scripts/_tmp-args-probe.mjs +0 -20
- package/scripts/_tmp-cyc-entry.mjs +0 -8
- package/scripts/_tmp-cyc-main.mjs +0 -5
- package/scripts/_tmp-cyc-mod.mjs +0 -2
- package/scripts/_tmp-cycle-a.mjs +0 -6
- package/scripts/_tmp-cycle-b.mjs +0 -2
- package/scripts/_tmp-cycle-probe.mjs +0 -4
- package/scripts/_tmp-entry-variant.mjs +0 -2
- package/scripts/_tmp-help-probe.mjs +0 -19
- package/scripts/_tmp-help-probe2.mjs +0 -2
- package/scripts/_tmp-trace-preload.mjs +0 -1
- package/scripts/_wizard-shots.mjs +0 -90
- package/scripts/acceptance-suite.py +0 -207
- package/scripts/aml-agent-bridge.ts +0 -230
- package/scripts/aml-industrial-loop.ts +0 -232
- package/scripts/build-film-devices.mjs +0 -227
- package/scripts/collab-live-test.py +0 -177
- package/scripts/debug-mcp-http.ts +0 -64
- package/scripts/demo-lead-worker.ts +0 -256
- package/scripts/demo-modes.ts +0 -415
- package/scripts/demo-omp-channel.ts +0 -135
- package/scripts/design-preflight.mjs +0 -223
- package/scripts/design-verify-templates.mjs +0 -110
- package/scripts/design-verify.mjs +0 -170
- package/scripts/dev-window.cmd +0 -6
- package/scripts/device-line-restore.mjs +0 -34
- package/scripts/diag-lead-status.ts +0 -101
- package/scripts/e2e-a2a-steer-live.mjs +0 -193
- package/scripts/e2e-dual-drive-comm.ts +0 -259
- package/scripts/e2e-full-scenario.ts +0 -321
- package/scripts/e2e-harness-consistency.ts +0 -204
- package/scripts/e2e-harness-provider-task.mjs +0 -126
- package/scripts/e2e-line-live.mjs +0 -144
- package/scripts/e2e-memory-persistence.ts +0 -320
- package/scripts/e2e-omp-modes.ts +0 -274
- package/scripts/e2e-omp-realtime.ts +0 -258
- package/scripts/e2e-plc-scenario.mjs +0 -292
- package/scripts/e2e-real-scenario.mjs +0 -466
- package/scripts/e2e-tab-close.mjs +0 -136
- package/scripts/e2e-token-ui.mjs +0 -149
- package/scripts/final-soup-run.py +0 -192
- package/scripts/final-soup-watch.py +0 -83
- package/scripts/i18n-codemod.mjs +0 -173
- package/scripts/i18n-fix-en.py +0 -28
- package/scripts/i18n-fix-en2.py +0 -31
- package/scripts/i18n-merge.mjs +0 -191
- package/scripts/migrate-local-time.mjs +0 -123
- package/scripts/omp-real-test.py +0 -328
- package/scripts/team-plugins-api-smoke.mjs +0 -149
- package/scripts/test-a2a-relay.mjs +0 -222
- package/scripts/test-aml-integration.ts +0 -159
- package/scripts/test-aml-job.ts +0 -174
- package/scripts/test-aml-unit.ts +0 -184
- package/scripts/test-api-client.ts +0 -108
- package/scripts/test-api-suite.mjs +0 -271
- package/scripts/test-block-consumption.mjs +0 -194
- package/scripts/test-cmd-render.mjs +0 -218
- package/scripts/test-collab-omp.mjs +0 -192
- package/scripts/test-config-precedence.ts +0 -124
- package/scripts/test-context-governor.ts +0 -176
- package/scripts/test-daq-frames.ts +0 -180
- package/scripts/test-daq-minio.ts +0 -77
- package/scripts/test-dedup-logic.ts +0 -132
- package/scripts/test-e2e-collaboration.ts +0 -262
- package/scripts/test-e2e-monitor.ts +0 -192
- package/scripts/test-event-history.ts +0 -112
- package/scripts/test-exec-modes.ts +0 -316
- package/scripts/test-fifo-realtime.mjs +0 -193
- package/scripts/test-final-e2e.mjs +0 -290
- package/scripts/test-goal-summary.ts +0 -202
- package/scripts/test-harness-liveness.ts +0 -109
- package/scripts/test-harness-terminal.ts +0 -164
- package/scripts/test-header-trail.mjs +0 -95
- package/scripts/test-hitl.ts +0 -360
- package/scripts/test-koda-restyle.mjs +0 -105
- package/scripts/test-lane-raw.ts +0 -67
- package/scripts/test-lanes-history-render.mjs +0 -138
- package/scripts/test-loop-omp.mjs +0 -154
- package/scripts/test-mdlite.ts +0 -53
- package/scripts/test-memory-brief-chronicle.ts +0 -180
- package/scripts/test-memory-rrf-mmr.ts +0 -114
- package/scripts/test-mock-collab.mjs +0 -226
- package/scripts/test-modern-render.mjs +0 -174
- package/scripts/test-omp-terminal.mjs +0 -187
- package/scripts/test-plugin-ext.ts +0 -173
- package/scripts/test-prompts-loader.ts +0 -56
- package/scripts/test-real-scenario.mjs +0 -290
- package/scripts/test-stream-render.ts +0 -37
- package/scripts/test-task-drawer.mjs +0 -204
- package/scripts/test-task-invariants.mjs +0 -169
- package/scripts/test-town-3d.mjs +0 -121
- package/scripts/test-town-layout.mjs +0 -200
- package/scripts/test-town-page.mjs +0 -136
- package/scripts/test-town-scene-math.ts +0 -169
- package/scripts/test-town-twin.mjs +0 -121
- package/scripts/test-town-upload.mjs +0 -89
- package/scripts/test-town-user-flow.mjs +0 -619
- package/scripts/test-town-world.mjs +0 -76
- package/scripts/test-town-wuwa.mjs +0 -198
- package/scripts/test-user-isolation.mjs +0 -193
- package/scripts/test-workshop-entries.ts +0 -370
- package/scripts/test-workspace-api.ts +0 -329
- package/scripts/test-ws-aep.mjs +0 -187
- package/scripts/test-ws-protocol.ts +0 -134
- package/scripts/town-demo-seed.mjs +0 -75
- package/scripts/town-scene-clear.mjs +0 -56
- package/scripts/verify-exec-modes-report.ts +0 -248
- package/scripts/verify-lead-mail.ts +0 -188
- package/scripts/verify-page-smoke.mjs +0 -87
- package/scripts/ws-test.mjs +0 -176
- package/scripts/ws-test.py +0 -4
|
@@ -3,7 +3,7 @@ import http from 'node:http';
|
|
|
3
3
|
import https from 'node:https';
|
|
4
4
|
import { EventEmitter } from 'node:events';
|
|
5
5
|
import { Buffer as Buffer$1 } from 'node:buffer';
|
|
6
|
-
import { promises, existsSync, readFileSync, mkdirSync, writeFileSync, renameSync, readdirSync, statSync, watch as watch$1, copyFileSync, rmSync, cpSync, appendFileSync, accessSync, constants } from 'node:fs';
|
|
6
|
+
import { promises, existsSync, readFileSync, mkdirSync, writeFileSync, renameSync, readdirSync, statSync, watch as watch$1, copyFileSync, rmSync, chmodSync, cpSync, appendFileSync, accessSync, constants } from 'node:fs';
|
|
7
7
|
import { resolve as resolve$1, dirname as dirname$1, join, relative as relative$1, isAbsolute as isAbsolute$1, sep } from 'node:path';
|
|
8
8
|
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
9
9
|
import { copyFile, mkdir, writeFile as writeFile$1, readFile as readFile$2, rm } from 'node:fs/promises';
|
|
@@ -5107,7 +5107,7 @@ function _expandFromEnv(value) {
|
|
|
5107
5107
|
const _inlineRuntimeConfig = {
|
|
5108
5108
|
"app": {
|
|
5109
5109
|
"baseURL": "/",
|
|
5110
|
-
"buildId": "
|
|
5110
|
+
"buildId": "a66fdef7-dcfd-453b-b1f6-543c7dfd98d5",
|
|
5111
5111
|
"buildAssetsDir": "/_nuxt/",
|
|
5112
5112
|
"cdnURL": ""
|
|
5113
5113
|
},
|
|
@@ -5137,7 +5137,7 @@ const _inlineRuntimeConfig = {
|
|
|
5137
5137
|
"public": {
|
|
5138
5138
|
"appName": "AgentWorkShop",
|
|
5139
5139
|
"appTitle": "AgentWorkShop",
|
|
5140
|
-
"version": "0.7.
|
|
5140
|
+
"version": "0.7.37",
|
|
5141
5141
|
"description": "基于 Nuxt 4 的配置驱动运行范式",
|
|
5142
5142
|
"mode": "dev",
|
|
5143
5143
|
"apiBase": "/api",
|
|
@@ -6363,14 +6363,16 @@ function toQuery(query) {
|
|
|
6363
6363
|
// AgentWorkShop SDK — 服务端插件上下文工厂(宿主调用;插件经 setup(ctx) 获得)
|
|
6364
6364
|
// ------------------------------------------------------------
|
|
6365
6365
|
// ctx 形态(运行时完整变量面):
|
|
6366
|
-
// 身份 ctx.name / ctx.scope('
|
|
6367
|
-
// 钩子 ctx.hooks HookBus(生命周期 + event:*)
|
|
6366
|
+
// 身份 ctx.name / ctx.scope('builtin'|'project'|'user') / ctx.dir / ctx.sdkVersion
|
|
6367
|
+
// 钩子 ctx.hooks HookBus 门面(生命周期 + event:*) [SDK]
|
|
6368
6368
|
// 日志 ctx.logger { debug, info, warn, error } 插件名前缀 [SDK]
|
|
6369
|
-
// 配置 ctx.config { get
|
|
6369
|
+
// 配置 ctx.config { get,all,onChange,defineGroup,defineField,
|
|
6370
|
+
// removeGroup,removeField,groups,fields } [SDK]
|
|
6370
6371
|
// 存储 ctx.kv { get,set,all,bump } 内存态+防抖落盘 [SDK]
|
|
6371
6372
|
// 定时 ctx.timer { setInterval, setTimeout } 服务关闭自动回收 [SDK]
|
|
6372
6373
|
// 清理 ctx.onDispose(fn) / ctx.subscriptions [SDK]
|
|
6373
|
-
// 路由 ctx.route(method, path, handler) →
|
|
6374
|
+
// 路由 ctx.route(method, path, handler) → boolean [SDK]
|
|
6375
|
+
// /api/plugins/<name><path>;鉴权由插件入口 auth 字段声明
|
|
6374
6376
|
// 平台 ctx.api 平台 REST 客户端(lines/daq/dcw/twins/teams…) [SDK]
|
|
6375
6377
|
// 网络 ctx.http { get, post } 带超时 fetch(仅 http/https) [SDK]
|
|
6376
6378
|
// 事件 ctx.events { on(type,fn), off } scene 实时事件 [SDK]
|
|
@@ -6393,6 +6395,10 @@ function safeUrl(raw, timeoutMs = 8000) {
|
|
|
6393
6395
|
*/
|
|
6394
6396
|
function createPluginContext(opts) {
|
|
6395
6397
|
const { name, scope, dir, hooks, config, paths, emitter } = opts;
|
|
6398
|
+
// 宿主回收登记口(host.mjs perPluginDisposables)。**必须转发**:此前这里漏接
|
|
6399
|
+
// opts.onDispose,导致 ctx.onDispose / ctx.timer.* / ctx.subscriptions.add 登记的
|
|
6400
|
+
// 清理永不执行 —— 定时器泄漏 + 退出前 200ms 的 kv 写入丢失,而文档承诺"自动回收"。
|
|
6401
|
+
const hostOnDispose = typeof opts.onDispose === 'function' ? opts.onDispose : null;
|
|
6396
6402
|
// 规范化 logger:宿主实现缺级时兜底 no-op(插件可用全套 debug/info/warn/error)
|
|
6397
6403
|
const logger = {
|
|
6398
6404
|
debug: () => {},
|
|
@@ -6402,6 +6408,8 @@ function createPluginContext(opts) {
|
|
|
6402
6408
|
...(opts.logger ?? {}),
|
|
6403
6409
|
};
|
|
6404
6410
|
const onDispose = (fn) => {
|
|
6411
|
+
if (typeof fn !== 'function') return fn
|
|
6412
|
+
if (hostOnDispose) hostOnDispose(fn);
|
|
6405
6413
|
return fn
|
|
6406
6414
|
};
|
|
6407
6415
|
|
|
@@ -6410,11 +6418,13 @@ function createPluginContext(opts) {
|
|
|
6410
6418
|
setInterval: (fn, ms, ...rest) => {
|
|
6411
6419
|
const id = setInterval(fn, ms, ...rest);
|
|
6412
6420
|
if (typeof id === 'object' && id !== null && 'unref' in id) id.unref?.();
|
|
6421
|
+
onDispose(() => clearInterval(id));
|
|
6413
6422
|
return id
|
|
6414
6423
|
},
|
|
6415
6424
|
setTimeout: (fn, ms, ...rest) => {
|
|
6416
6425
|
const id = setTimeout(fn, ms, ...rest);
|
|
6417
6426
|
if (typeof id === 'object' && id !== null && 'unref' in id) id.unref?.();
|
|
6427
|
+
onDispose(() => clearTimeout(id));
|
|
6418
6428
|
return id
|
|
6419
6429
|
},
|
|
6420
6430
|
};
|
|
@@ -6448,6 +6458,11 @@ function createPluginContext(opts) {
|
|
|
6448
6458
|
clearTimeout(kvFlushTimer);
|
|
6449
6459
|
kvFlushTimer = setTimeout(flushKvNow, 200);
|
|
6450
6460
|
};
|
|
6461
|
+
// 关停兜底:取消挂起防抖并同步落盘(否则进程退出前 200ms 内的 kv.set 全部丢失)
|
|
6462
|
+
onDispose(() => {
|
|
6463
|
+
clearTimeout(kvFlushTimer);
|
|
6464
|
+
flushKvNow();
|
|
6465
|
+
});
|
|
6451
6466
|
|
|
6452
6467
|
const ctx = {
|
|
6453
6468
|
name,
|
|
@@ -6503,16 +6518,19 @@ function createPluginContext(opts) {
|
|
|
6503
6518
|
* visibleLineIds(user) → Set<lineId>|null(全量)
|
|
6504
6519
|
* listGrants(userId) → [{lineId,mode,grantedBy,grantedAt}]
|
|
6505
6520
|
* setGrants(userId, [{lineId,mode}]) → 写授权(需 admin 上下文)
|
|
6506
|
-
* 变更事件:
|
|
6521
|
+
* 变更事件:ctx.events.on('permissions:changed', fn)
|
|
6522
|
+
* ——宿主把平台事件统一加 `event:` 前缀,故订阅要走 ctx.events(它会补前缀),
|
|
6523
|
+
* 直接 ctx.hooks.on('permissions:changed') 永远不触发。 */
|
|
6507
6524
|
permissions: opts.permissions ?? {
|
|
6508
6525
|
lineMode: () => 'none',
|
|
6509
6526
|
visibleLineIds: () => new Set(),
|
|
6510
6527
|
listGrants: () => [],
|
|
6511
6528
|
setGrants: () => { throw new Error('[sdk] ctx.permissions 未由宿主注入') },
|
|
6512
6529
|
},
|
|
6513
|
-
/** 订阅式清理对象({ dispose(){} })集中登记 */
|
|
6530
|
+
/** 订阅式清理对象({ dispose(){} })集中登记(与 ctx.onDispose 同一回收队列) */
|
|
6514
6531
|
subscriptions: {
|
|
6515
6532
|
add: (d) => {
|
|
6533
|
+
onDispose(typeof d === 'function' ? d : (...a) => d.dispose?.(...a));
|
|
6516
6534
|
return d
|
|
6517
6535
|
},
|
|
6518
6536
|
},
|
|
@@ -6733,7 +6751,10 @@ function validatePluginSettings(pluginName, defs, { defaultGroup } = {}) {
|
|
|
6733
6751
|
// client?: './client.mjs', routes?: [{method,path,handler}] }
|
|
6734
6752
|
// —— ctx 由宿主注入,插件运行时零导入依赖(sdk/ 供类型与显式糖)。
|
|
6735
6753
|
//
|
|
6736
|
-
//
|
|
6754
|
+
// 启停状态机:<home>/plugins-state.json { version, updatedAt, disabled: string[] }
|
|
6755
|
+
// ⚠️ home = $AW_HOME 或 ~/.AgentWorkShop —— **不是**配置根。源码检出下两者不同:
|
|
6756
|
+
// configRoot=<repo>/.AgentWorkShop(数据/kv 在这里),home=~/.AgentWorkShop(状态在这里)。
|
|
6757
|
+
// 全局安装两者重合,所以旧注释写"配置根"时看不出问题。
|
|
6737
6758
|
// · 装载时跳过 disabled 插件(manifest 仍可见,enabled:false)
|
|
6738
6759
|
// · 状态文件变化(fs.watch)→ 热重载:全部 dispose/解绑 → 重新装载
|
|
6739
6760
|
// · CLI(aw plugin enable/disable) 与 Web 设置页均只写状态文件,服务自感知
|
|
@@ -6880,7 +6901,8 @@ async function seedRuntimeServices() {
|
|
|
6880
6901
|
servicesExt.register('plugins', async () => pluginManifest());
|
|
6881
6902
|
}
|
|
6882
6903
|
|
|
6883
|
-
// ---- 启停状态(
|
|
6904
|
+
// ---- 启停状态(单一事实源:<home>/plugins-state.json;CLI/Web/宿主三方读写) ----
|
|
6905
|
+
// 入参 homeDir 由 modePaths().homeDir 给出($AW_HOME 优先),**不是配置根**。
|
|
6884
6906
|
function statePathFor(homeDir) {
|
|
6885
6907
|
return join(homeDir, 'plugins-state.json')
|
|
6886
6908
|
}
|
|
@@ -6903,7 +6925,10 @@ function writeDisabledSet(homeDir, disabled) {
|
|
|
6903
6925
|
renameSync(tmp, p);
|
|
6904
6926
|
}
|
|
6905
6927
|
|
|
6906
|
-
/**
|
|
6928
|
+
/** 发现插件入口,三作用域。**同名 builtin 优先**(先扫先占,`seen` 去重),
|
|
6929
|
+
* 即优先级 builtin > project > user —— 与 CLI 指令注册表(cli/core/registry.mjs,
|
|
6930
|
+
* 后扫覆盖 → project > user > builtin)方向相反,勿照搬。
|
|
6931
|
+
* 实现见下方循环顺序 [builtin, project, user] + `if (seen.has(name)) continue`。 */
|
|
6907
6932
|
function discoverPluginDirs(cwd = process.cwd()) {
|
|
6908
6933
|
const { builtinDir, projectDir, userDir } = modePaths(cwd);
|
|
6909
6934
|
const out = [];
|
|
@@ -7102,9 +7127,11 @@ async function loadAllPlugins(host, { config, paths }) {
|
|
|
7102
7127
|
for (const e of groupsCheck.errors) host.logger.warn(`[${def.name}] 分组声明已跳过: ${e}`);
|
|
7103
7128
|
|
|
7104
7129
|
const emitter = {
|
|
7130
|
+
/** @returns {boolean} 注册结果(SDK 契约 `ctx.route(...) → boolean`,勿丢返回值) */
|
|
7105
7131
|
registerRoute: (n, m, p, h) => {
|
|
7106
|
-
host.routes.register(n, m, p, h);
|
|
7107
|
-
rec.routes.push({ method: String(m).toUpperCase(), path: p });
|
|
7132
|
+
const ok = host.routes.register(n, m, p, h);
|
|
7133
|
+
if (ok) rec.routes.push({ method: String(m).toUpperCase(), path: p });
|
|
7134
|
+
return ok
|
|
7108
7135
|
},
|
|
7109
7136
|
};
|
|
7110
7137
|
const perPluginDisposables = [];
|
|
@@ -8098,6 +8125,61 @@ function ensureDataDir(cwd = process.cwd(), env = process.env) {
|
|
|
8098
8125
|
}
|
|
8099
8126
|
catch { /* 迁移失败不阻断 */ }
|
|
8100
8127
|
return dir
|
|
8128
|
+
}
|
|
8129
|
+
|
|
8130
|
+
/**
|
|
8131
|
+
* AML 平台数据根(<amlRoot>):**项目目录下的 ./aml**,与配置根(.AgentWorkShop)分离。
|
|
8132
|
+
*
|
|
8133
|
+
* 为什么单独一个根、而不是挂在 <configRoot>/data/aml 下:
|
|
8134
|
+
* - AML 的产物是「可移植的资产」——数据集数组、训练作业工作区、ONNX 模型工件。
|
|
8135
|
+
* 这些需要能被 git/rsync/打包带走、被外部 Python 工具直接读取、被人在资源管理器里
|
|
8136
|
+
* 打开查看;埋在 .AgentWorkShop/data 里(那是运行时状态目录,常被 GC/清理)不合适。
|
|
8137
|
+
* - uv 虚拟环境固定在 <amlRoot>/.venv,与数据集/模型同级,整个 ./aml 可以整体删除重建。
|
|
8138
|
+
*
|
|
8139
|
+
* 解析优先级:
|
|
8140
|
+
* ① AW_AML_DIR 环境变量(显式覆盖;测试隔离与自定义部署用)
|
|
8141
|
+
* ② repo 模式 → <检出根>/aml (cwd 向上找 config.yml + nuxt.config.ts)
|
|
8142
|
+
* ③ home 模式(全局安装) → <配置根>/aml (~/.AgentWorkShop/aml)
|
|
8143
|
+
* ④ 兜底 → <cwd>/aml
|
|
8144
|
+
*
|
|
8145
|
+
* @returns {{ dir: string, mode: 'env'|'repo'|'home'|'cwd', projectRoot: string|null }}
|
|
8146
|
+
*/
|
|
8147
|
+
function resolveAmlRoot({ cwd = process.cwd(), env = process.env } = {}) {
|
|
8148
|
+
if (env.AW_AML_DIR && String(env.AW_AML_DIR).trim()) {
|
|
8149
|
+
return { dir: resolve$1(String(env.AW_AML_DIR).trim()), mode: 'env', projectRoot: null }
|
|
8150
|
+
}
|
|
8151
|
+
if (env.AW_MODE !== 'home') {
|
|
8152
|
+
const repoRoot = findRepoRoot(cwd);
|
|
8153
|
+
if (repoRoot) return { dir: join(repoRoot, 'aml'), mode: 'repo', projectRoot: repoRoot }
|
|
8154
|
+
}
|
|
8155
|
+
const forceHome = env.AW_MODE === 'home';
|
|
8156
|
+
if (forceHome) return { dir: join(awHome(env), 'aml'), mode: 'home', projectRoot: null }
|
|
8157
|
+
// 非检出目录(既无 config.yml+nuxt.config.ts):配置根优先,最后才落 cwd
|
|
8158
|
+
const localRoot = findLocalConfigRoot(cwd);
|
|
8159
|
+
if (localRoot) return { dir: join(localRoot, 'aml'), mode: 'home', projectRoot: null }
|
|
8160
|
+
return { dir: join(resolve$1(cwd), 'aml'), mode: 'cwd', projectRoot: null }
|
|
8161
|
+
}
|
|
8162
|
+
|
|
8163
|
+
/** AML 数据根绝对路径(仅解析,不创建) */
|
|
8164
|
+
function amlDirFor(cwd = process.cwd(), env = process.env) {
|
|
8165
|
+
return resolveAmlRoot({ cwd, env }).dir
|
|
8166
|
+
}
|
|
8167
|
+
|
|
8168
|
+
/**
|
|
8169
|
+
* 确保 AML 数据根存在并落标准子目录骨架:
|
|
8170
|
+
* .venv/ uv 创建的解释器环境
|
|
8171
|
+
* datasets/<id>/ 数据集快照(spec.json/manifest.json/report.json/arrays/)
|
|
8172
|
+
* jobs/<id>/ 训练作业(workspace/run.log/artifacts/)
|
|
8173
|
+
* models/<id>/ 模型工件(model.onnx/io_spec.json)
|
|
8174
|
+
* runtime/ 运行时状态(uv 安装记录/环境探针缓存)
|
|
8175
|
+
* tools/ 项目本地自动安装的 uv 二进制(免管理员、不污染 PATH)
|
|
8176
|
+
*/
|
|
8177
|
+
function ensureAmlDir(cwd = process.cwd(), env = process.env) {
|
|
8178
|
+
const dir = amlDirFor(cwd, env);
|
|
8179
|
+
for (const sub of ['datasets', 'jobs', 'models', 'runtime', 'tools']) {
|
|
8180
|
+
mkdirSync(join(dir, sub), { recursive: true });
|
|
8181
|
+
}
|
|
8182
|
+
return dir
|
|
8101
8183
|
}
|
|
8102
8184
|
|
|
8103
8185
|
// ============================================================
|
|
@@ -8598,7 +8680,10 @@ class LruMap {
|
|
|
8598
8680
|
has(key) { return this.map.has(key) }
|
|
8599
8681
|
|
|
8600
8682
|
get(key) {
|
|
8601
|
-
if (!this.map.has(key)) {
|
|
8683
|
+
if (!this.map.has(key)) {
|
|
8684
|
+
this.misses += 1;
|
|
8685
|
+
return undefined
|
|
8686
|
+
}
|
|
8602
8687
|
// 访问即提升:删了重插(值不变),维持「尾部最新」
|
|
8603
8688
|
const v = this.map.get(key);
|
|
8604
8689
|
this.map.delete(key);
|
|
@@ -11631,16 +11716,49 @@ function loadJsonFile(filePath, fallback) {
|
|
|
11631
11716
|
}
|
|
11632
11717
|
}
|
|
11633
11718
|
|
|
11719
|
+
/**
|
|
11720
|
+
* 紧凑 vs 缩进的切换阈值(顶层元素数)。
|
|
11721
|
+
*
|
|
11722
|
+
* 为什么需要:`null, 2` 缩进对**小文件**是净收益(人可读、diff 友好、成本可忽略),
|
|
11723
|
+
* 但对**大库**是纯税:实测 DCW 回退账本 20000 锚 + 2000 记录 — 缩进 8.57 MB / 23.2 ms,
|
|
11724
|
+
* 紧凑 5.82 MB / 13.2 ms(体积 -32%、CPU -43%)。而它每个 1.5s 防抖窗就要整库重写一次,
|
|
11725
|
+
* 与 PLC 写 sweep 跑在同一个事件循环上 —— 缩进在这里换来的是几十毫秒的阻塞。
|
|
11726
|
+
*
|
|
11727
|
+
* 所以按规模自动选择:小库保持缩进(可读性),大库走紧凑(性能)。
|
|
11728
|
+
* 2000 是实测拐点量级:低于此的库序列化都在亚毫秒,缩进白拿。
|
|
11729
|
+
*/
|
|
11730
|
+
const PRETTY_MAX_ENTRIES = 2000;
|
|
11731
|
+
|
|
11732
|
+
/** 顶层元素数估算(数组取长度;对象取各数组属性长度之和)——用于选择序列化形态 */
|
|
11733
|
+
function entryCount(data) {
|
|
11734
|
+
if (Array.isArray(data)) return data.length
|
|
11735
|
+
if (data && typeof data === 'object') {
|
|
11736
|
+
let n = 0;
|
|
11737
|
+
for (const v of Object.values(data)) if (Array.isArray(v)) n += v.length;
|
|
11738
|
+
return n
|
|
11739
|
+
}
|
|
11740
|
+
return 0
|
|
11741
|
+
}
|
|
11742
|
+
|
|
11743
|
+
/** 按规模选择缩进(小库可读、大库省 CPU/IO) */
|
|
11744
|
+
function serializeJson(data) {
|
|
11745
|
+
return entryCount(data) > PRETTY_MAX_ENTRIES
|
|
11746
|
+
? JSON.stringify(data)
|
|
11747
|
+
: JSON.stringify(data, null, 2)
|
|
11748
|
+
}
|
|
11749
|
+
|
|
11634
11750
|
/**
|
|
11635
11751
|
* 原子落盘:写临时文件 → rename 替换;失败退回直写。
|
|
11752
|
+
* 序列化形态按库规模自动选择(见 serializeJson)。
|
|
11636
11753
|
* @param {string} filePath
|
|
11637
11754
|
* @param {unknown} data
|
|
11638
11755
|
*/
|
|
11639
11756
|
function saveJsonFileAtomic(filePath, data) {
|
|
11640
11757
|
mkdirSync(dirname$1(filePath), { recursive: true });
|
|
11641
11758
|
const tmp = `${filePath}.tmp-${process.pid}`;
|
|
11759
|
+
const payload = serializeJson(data);
|
|
11642
11760
|
try {
|
|
11643
|
-
writeFileSync(tmp,
|
|
11761
|
+
writeFileSync(tmp, payload, 'utf-8');
|
|
11644
11762
|
try {
|
|
11645
11763
|
renameSync(tmp, filePath);
|
|
11646
11764
|
return
|
|
@@ -11652,7 +11770,7 @@ function saveJsonFileAtomic(filePath, data) {
|
|
|
11652
11770
|
catch (tmpErr) {
|
|
11653
11771
|
console.error(`[json-store] 临时文件写入失败(${tmpErr.message}),退回直写`);
|
|
11654
11772
|
}
|
|
11655
|
-
writeFileSync(filePath,
|
|
11773
|
+
writeFileSync(filePath, payload, 'utf-8');
|
|
11656
11774
|
}
|
|
11657
11775
|
|
|
11658
11776
|
var __defProp$C = Object.defineProperty;
|
|
@@ -12076,10 +12194,6 @@ class DaqNodeRuntime {
|
|
|
12076
12194
|
this.lastPublishAt = 0;
|
|
12077
12195
|
this.lastIngestAt = 0;
|
|
12078
12196
|
}
|
|
12079
|
-
/** 仅重置下发游标(全局下发间隔变更时,让新缺省立刻可观测) */
|
|
12080
|
-
republish() {
|
|
12081
|
-
this.lastPublishAt = 0;
|
|
12082
|
-
}
|
|
12083
12197
|
/**
|
|
12084
12198
|
* 是否已到采样时点(网关调度用)。
|
|
12085
12199
|
* 网关每拍派发额度有限,先判到期再占用额度:未到期的节点零成本跳过,
|
|
@@ -12250,16 +12364,6 @@ class DaqNodeRepo {
|
|
|
12250
12364
|
log$u.error("[daq] \u5FEB\u7167\u843D\u76D8\u5931\u8D25:", err);
|
|
12251
12365
|
}
|
|
12252
12366
|
}
|
|
12253
|
-
/** 读数落盘防抖(采样循环每帧调用;5s 合并一次磁盘写) */
|
|
12254
|
-
flushDebounced(ms = 5e3) {
|
|
12255
|
-
var _a, _b;
|
|
12256
|
-
if (this.flushTimer) return;
|
|
12257
|
-
this.flushTimer = setTimeout(() => {
|
|
12258
|
-
this.flushTimer = null;
|
|
12259
|
-
this.flushNow();
|
|
12260
|
-
}, ms);
|
|
12261
|
-
(_b = (_a = this.flushTimer).unref) == null ? void 0 : _b.call(_a);
|
|
12262
|
-
}
|
|
12263
12367
|
}
|
|
12264
12368
|
const g$n = globalThis;
|
|
12265
12369
|
function getDaqNodeRepo() {
|
|
@@ -12666,6 +12770,21 @@ class DaqController {
|
|
|
12666
12770
|
__publicField$y(this, "siblingsCache", new LruMap(500));
|
|
12667
12771
|
/** 遥测 WS 推送(1s/设备节流):孪生状态/遥测事件化直推,前端全量轮询降级为断线兜底 */
|
|
12668
12772
|
__publicField$y(this, "twinPushAt", /* @__PURE__ */ new Map());
|
|
12773
|
+
/**
|
|
12774
|
+
* 帧查询的「内存读穿透」索引 —— 帧先入 frameBuffer 再广播 thumbUrl(contentUrl),
|
|
12775
|
+
* TSDB 为 500ms 防抖异步刷盘,收到 WS 立刻回查会在落库前 404,故查询侧先看 buffer。
|
|
12776
|
+
*
|
|
12777
|
+
* 为什么要有索引:早先 frameContent 直接线性扫 frameBuffer,而 frames() 更糟 ——
|
|
12778
|
+
* 它对每个 pending 行都调一次 framesFromBuffer(),即**在 O(n) 的外层里再套 O(n) 的全扫**
|
|
12779
|
+
* (n = FRAME_BUFFER_CAP = 2000):突发写入后缓冲全满时,单次 REST 查询 ≈ 4×10⁶ 次迭代
|
|
12780
|
+
* + 2000 次多余对象构造,而它和 250ms 采样 sweep 跑在同一个事件循环上。
|
|
12781
|
+
*
|
|
12782
|
+
* 现在:byNode 按节点分桶(范围查询只扫该节点的行),byKey 给出 (nodeId, tsMs) 的 O(1) 命中。
|
|
12783
|
+
* 两个索引与 frameBuffer 严格同生命周期 —— 所有 push/淘汰/flush 都必须经下面的私有方法,
|
|
12784
|
+
* 不允许直接操作 frameBuffer,否则索引会与缓冲漂移(表现为"刚采到的帧查不到")。
|
|
12785
|
+
*/
|
|
12786
|
+
__publicField$y(this, "frameByNode", /* @__PURE__ */ new Map());
|
|
12787
|
+
__publicField$y(this, "frameByKey", /* @__PURE__ */ new Map());
|
|
12669
12788
|
}
|
|
12670
12789
|
// ---------- 生命周期 ----------
|
|
12671
12790
|
ensureLoop() {
|
|
@@ -12854,7 +12973,7 @@ class DaqController {
|
|
|
12854
12973
|
const lineRun = (_b = (_a = getDaqHostPorts()) == null ? void 0 : _a.lineRun.activeRun(node.lineId)) != null ? _b : null;
|
|
12855
12974
|
if (lineRun) (_c = getDaqHostPorts()) == null ? void 0 : _c.lineRun.bumpTaggedSamples(node.lineId);
|
|
12856
12975
|
const metrics = (_d = f.metrics) != null ? _d : {};
|
|
12857
|
-
this.
|
|
12976
|
+
this.pushFrame({
|
|
12858
12977
|
nodeId: node.id,
|
|
12859
12978
|
tsMs,
|
|
12860
12979
|
kind: f.kind,
|
|
@@ -12869,8 +12988,7 @@ class DaqController {
|
|
|
12869
12988
|
metrics
|
|
12870
12989
|
});
|
|
12871
12990
|
if (this.frameBuffer.length > FRAME_BUFFER_CAP) {
|
|
12872
|
-
this.
|
|
12873
|
-
this.tsdbDropped += 1;
|
|
12991
|
+
if (this.evictFrames(FRAME_BUFFER_CAP) > 0) this.tsdbDropped += 1;
|
|
12874
12992
|
}
|
|
12875
12993
|
this.scheduleTsdbFlush();
|
|
12876
12994
|
this.evaluateMetricAlarms(node, tpl, metrics);
|
|
@@ -12960,13 +13078,6 @@ class DaqController {
|
|
|
12960
13078
|
}
|
|
12961
13079
|
this.emitController();
|
|
12962
13080
|
}
|
|
12963
|
-
/** 网关停止:全部节点置 offline */
|
|
12964
|
-
markAllOffline() {
|
|
12965
|
-
for (const n of this.repo.all()) {
|
|
12966
|
-
if (n.enabled) n.state = "offline";
|
|
12967
|
-
}
|
|
12968
|
-
this.emitController();
|
|
12969
|
-
}
|
|
12970
13081
|
/** 运行时注册表对账(仓库为权威:增删节点/启动即对齐;返回新建的运行时) */
|
|
12971
13082
|
syncRuntimes() {
|
|
12972
13083
|
const live = /* @__PURE__ */ new Set();
|
|
@@ -13097,8 +13208,9 @@ class DaqController {
|
|
|
13097
13208
|
}
|
|
13098
13209
|
}
|
|
13099
13210
|
}
|
|
13100
|
-
|
|
13101
|
-
|
|
13211
|
+
let pendingFrames = this.drainFrames();
|
|
13212
|
+
while (pendingFrames.length > 0) {
|
|
13213
|
+
const batch = pendingFrames;
|
|
13102
13214
|
let ok = false;
|
|
13103
13215
|
for (let attempt = 0; attempt < TSDB_WRITE_RETRIES && !ok; attempt++) {
|
|
13104
13216
|
try {
|
|
@@ -13114,6 +13226,7 @@ class DaqController {
|
|
|
13114
13226
|
}
|
|
13115
13227
|
}
|
|
13116
13228
|
}
|
|
13229
|
+
pendingFrames = this.drainFrames();
|
|
13117
13230
|
}
|
|
13118
13231
|
} finally {
|
|
13119
13232
|
this.tsdbWriting = false;
|
|
@@ -13173,10 +13286,6 @@ class DaqController {
|
|
|
13173
13286
|
setBroadcast(fn) {
|
|
13174
13287
|
this.broadcast = fn;
|
|
13175
13288
|
}
|
|
13176
|
-
onlineCount() {
|
|
13177
|
-
if (!this.running) return 0;
|
|
13178
|
-
return this.repo.all().filter((n) => n.enabled).length;
|
|
13179
|
-
}
|
|
13180
13289
|
controllerState() {
|
|
13181
13290
|
const queueLost = g_queueLost();
|
|
13182
13291
|
const nodes = this.repo.all();
|
|
@@ -13224,30 +13333,62 @@ class DaqController {
|
|
|
13224
13333
|
if (!node) throw Object.assign(new Error(`\u6570\u91C7\u8282\u70B9\u4E0D\u5B58\u5728: ${id}`), { status: 404 });
|
|
13225
13334
|
return getTsdb().query(id, opts);
|
|
13226
13335
|
}
|
|
13227
|
-
/**
|
|
13228
|
-
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
|
|
13232
|
-
|
|
13336
|
+
/** 帧索引键((nodeId, tsMs) 唯一:同一节点同一毫秒只会有一帧) */
|
|
13337
|
+
static frameKey(nodeId, tsMs) {
|
|
13338
|
+
return `${nodeId}@${tsMs}`;
|
|
13339
|
+
}
|
|
13340
|
+
/** 入缓冲 + 同步三处索引 */
|
|
13341
|
+
pushFrame(row) {
|
|
13342
|
+
this.frameBuffer.push(row);
|
|
13343
|
+
const key = DaqController.frameKey(row.nodeId, row.tsMs);
|
|
13344
|
+
this.frameByKey.set(key, row);
|
|
13345
|
+
const bucket = this.frameByNode.get(row.nodeId);
|
|
13346
|
+
if (bucket) bucket.push(row);
|
|
13347
|
+
else this.frameByNode.set(row.nodeId, [row]);
|
|
13348
|
+
}
|
|
13349
|
+
/** 淘汰最旧若干行,并同步清理索引(避免索引持有已淘汰行的强引用 → 内存泄漏) */
|
|
13350
|
+
evictFrames(keepLast) {
|
|
13351
|
+
const excess = this.frameBuffer.length - keepLast;
|
|
13352
|
+
if (excess <= 0) return 0;
|
|
13353
|
+
const dropped = this.frameBuffer.splice(0, excess);
|
|
13354
|
+
for (const row of dropped) {
|
|
13355
|
+
const key = DaqController.frameKey(row.nodeId, row.tsMs);
|
|
13356
|
+
if (this.frameByKey.get(key) === row) this.frameByKey.delete(key);
|
|
13357
|
+
const bucket = this.frameByNode.get(row.nodeId);
|
|
13358
|
+
if (!bucket) continue;
|
|
13359
|
+
const idx = bucket.indexOf(row);
|
|
13360
|
+
if (idx >= 0) bucket.splice(idx, 1);
|
|
13361
|
+
if (bucket.length === 0) this.frameByNode.delete(row.nodeId);
|
|
13362
|
+
}
|
|
13363
|
+
return dropped.length;
|
|
13364
|
+
}
|
|
13365
|
+
/** 取走全部帧(刷盘用)并清空索引 */
|
|
13366
|
+
drainFrames() {
|
|
13367
|
+
if (this.frameBuffer.length === 0) return [];
|
|
13368
|
+
const batch = this.frameBuffer.splice(0, this.frameBuffer.length);
|
|
13369
|
+
this.frameByNode.clear();
|
|
13370
|
+
this.frameByKey.clear();
|
|
13371
|
+
return batch;
|
|
13372
|
+
}
|
|
13373
|
+
/** 单行 → 对外记录(纯映射,不做任何扫描) */
|
|
13374
|
+
static toFrameRecord(r) {
|
|
13233
13375
|
var _a, _b, _c, _d, _e;
|
|
13234
|
-
|
|
13235
|
-
|
|
13236
|
-
|
|
13237
|
-
|
|
13238
|
-
|
|
13239
|
-
|
|
13240
|
-
|
|
13241
|
-
|
|
13242
|
-
|
|
13243
|
-
|
|
13244
|
-
|
|
13245
|
-
|
|
13246
|
-
|
|
13247
|
-
|
|
13248
|
-
|
|
13249
|
-
|
|
13250
|
-
return out;
|
|
13376
|
+
return {
|
|
13377
|
+
at: r.tsMs,
|
|
13378
|
+
kind: r.kind,
|
|
13379
|
+
points: r.kind === "vector" ? DaqController.pointsFromMeta(r.meta) : void 0,
|
|
13380
|
+
metrics: r.metrics,
|
|
13381
|
+
meta: r.meta,
|
|
13382
|
+
deviceBindingId: (_a = r.deviceBindingId) != null ? _a : null,
|
|
13383
|
+
lineId: (_b = r.lineId) != null ? _b : null,
|
|
13384
|
+
productId: (_c = r.productId) != null ? _c : null,
|
|
13385
|
+
recipeId: (_d = r.recipeId) != null ? _d : null,
|
|
13386
|
+
runId: (_e = r.runId) != null ? _e : null
|
|
13387
|
+
};
|
|
13388
|
+
}
|
|
13389
|
+
/** (nodeId, tsMs) 精确命中未刷盘帧;O(1) */
|
|
13390
|
+
bufferedFrameAt(id, tsMs) {
|
|
13391
|
+
return this.frameByKey.get(DaqController.frameKey(id, tsMs));
|
|
13251
13392
|
}
|
|
13252
13393
|
/** 向量点列从 meta.points 还原(与 TSDB adapter 同规则:非数组/空/越界/非数值 → undefined) */
|
|
13253
13394
|
static pointsFromMeta(meta) {
|
|
@@ -13257,21 +13398,17 @@ class DaqController {
|
|
|
13257
13398
|
}
|
|
13258
13399
|
/** 节点帧历史(v2:向量/图像元数据;像素按需经 frameContent 从对象存储取) */
|
|
13259
13400
|
async frames(id, opts) {
|
|
13260
|
-
var _a;
|
|
13401
|
+
var _a, _b, _c, _d;
|
|
13261
13402
|
this.ensureLoop();
|
|
13262
13403
|
await tsdbReady;
|
|
13263
13404
|
const node = this.repo.byId(id);
|
|
13264
13405
|
if (!node) throw Object.assign(new Error(`\u6570\u91C7\u8282\u70B9\u4E0D\u5B58\u5728: ${id}`), { status: 404 });
|
|
13265
13406
|
const rows = await getTsdb().queryFrames(id, opts);
|
|
13266
13407
|
const seen = new Set(rows.map((r) => r.at));
|
|
13267
|
-
const
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
var _a2;
|
|
13272
|
-
return (_a2 = this.framesFromBuffer(id, r.tsMs)[0]) != null ? _a2 : null;
|
|
13273
|
-
}).filter((r) => r != null);
|
|
13274
|
-
return [...rows, ...pending].slice(0, Math.min(Math.max((_a = opts.limit) != null ? _a : 100, 1), 1e3));
|
|
13408
|
+
const toMs = (_a = opts.toMs) != null ? _a : Date.now();
|
|
13409
|
+
const fromMs = (_b = opts.fromMs) != null ? _b : 0;
|
|
13410
|
+
const pending = ((_c = this.frameByNode.get(id)) != null ? _c : []).filter((r) => (opts.kind == null || r.kind === opts.kind) && r.tsMs >= fromMs && r.tsMs <= toMs && !seen.has(r.tsMs)).sort((a, b) => b.tsMs - a.tsMs).map(DaqController.toFrameRecord);
|
|
13411
|
+
return [...rows, ...pending].slice(0, Math.min(Math.max((_d = opts.limit) != null ? _d : 100, 1), 1e3));
|
|
13275
13412
|
}
|
|
13276
13413
|
/** 帧内容(图像主图/缩略图;从对象存储读取后由 REST 流式返回) */
|
|
13277
13414
|
async frameContent(id, tsMs, thumb) {
|
|
@@ -13279,7 +13416,8 @@ class DaqController {
|
|
|
13279
13416
|
await tsdbReady;
|
|
13280
13417
|
const node = this.repo.byId(id);
|
|
13281
13418
|
if (!node) throw Object.assign(new Error(`\u6570\u91C7\u8282\u70B9\u4E0D\u5B58\u5728: ${id}`), { status: 404 });
|
|
13282
|
-
const
|
|
13419
|
+
const buffered = this.bufferedFrameAt(id, tsMs);
|
|
13420
|
+
const rows = buffered ? [DaqController.toFrameRecord(buffered)] : await getTsdb().queryFrames(id, { fromMs: tsMs - 1, toMs: tsMs + 1, limit: 5 });
|
|
13283
13421
|
if (rows.length === 0) rows.push(...await getTsdb().queryFrames(id, { fromMs: tsMs - 1, toMs: tsMs + 1, limit: 5 }));
|
|
13284
13422
|
const row = rows.find((r) => r.at === tsMs);
|
|
13285
13423
|
if (!row || row.kind !== "image") throw Object.assign(new Error(`\u5E27\u4E0D\u5B58\u5728: ${id}@${tsMs}`), { status: 404 });
|
|
@@ -22092,6 +22230,10 @@ function createAmlRepo(db) {
|
|
|
22092
22230
|
},
|
|
22093
22231
|
remove(id) {
|
|
22094
22232
|
db.prepare("DELETE FROM aml_datasets WHERE id = ?").run(id);
|
|
22233
|
+
},
|
|
22234
|
+
/** 元数据局部更新(备注;CRUD 的 U) */
|
|
22235
|
+
updateNote(id, note) {
|
|
22236
|
+
db.prepare("UPDATE aml_datasets SET note = ? WHERE id = ?").run(note, id);
|
|
22095
22237
|
}
|
|
22096
22238
|
},
|
|
22097
22239
|
// ----- jobs -----
|
|
@@ -22142,6 +22284,14 @@ function createAmlRepo(db) {
|
|
|
22142
22284
|
},
|
|
22143
22285
|
requeue(id) {
|
|
22144
22286
|
jobRetryBump.run(id);
|
|
22287
|
+
},
|
|
22288
|
+
remove(id) {
|
|
22289
|
+
db.prepare("DELETE FROM aml_jobs WHERE id = ?").run(id);
|
|
22290
|
+
},
|
|
22291
|
+
/** 删除作业时级联清实验谱系(否则实验行成为悬挂元数据) */
|
|
22292
|
+
removeExperimentsOf(jobId) {
|
|
22293
|
+
const r = db.prepare("DELETE FROM aml_experiments WHERE job_id = ?").run(jobId);
|
|
22294
|
+
return Number(r.changes);
|
|
22145
22295
|
}
|
|
22146
22296
|
},
|
|
22147
22297
|
// ----- experiments -----
|
|
@@ -22235,23 +22385,75 @@ function createAmlRepo(db) {
|
|
|
22235
22385
|
},
|
|
22236
22386
|
markPruned(id) {
|
|
22237
22387
|
modelPrune.run(id);
|
|
22388
|
+
},
|
|
22389
|
+
remove(id) {
|
|
22390
|
+
db.prepare("DELETE FROM aml_models WHERE id = ?").run(id);
|
|
22391
|
+
},
|
|
22392
|
+
updateNote(id, note) {
|
|
22393
|
+
db.prepare("UPDATE aml_models SET note = ? WHERE id = ?").run(note, id);
|
|
22238
22394
|
}
|
|
22239
22395
|
}
|
|
22240
22396
|
};
|
|
22241
22397
|
}
|
|
22242
22398
|
|
|
22243
22399
|
const g$5 = globalThis;
|
|
22244
|
-
|
|
22400
|
+
const README = `# AML \u5E73\u53F0\u6570\u636E\u76EE\u5F55
|
|
22401
|
+
|
|
22402
|
+
\u672C\u76EE\u5F55\u662F AgentWorkShop \u81EA\u52A8\u5EFA\u6A21(AML)\u5E73\u53F0\u7684**\u5168\u90E8\u8D44\u4EA7\u6839**,\u7531\u670D\u52A1\u81EA\u52A8\u521B\u5EFA\u4E0E\u7EF4\u62A4\u3002
|
|
22403
|
+
|
|
22404
|
+
## \u76EE\u5F55\u7EA6\u5B9A
|
|
22405
|
+
|
|
22406
|
+
| \u8DEF\u5F84 | \u5185\u5BB9 | \u53EF\u5426\u624B\u5220 |
|
|
22407
|
+
| --- | --- | --- |
|
|
22408
|
+
| \`.venv/\` | uv \u521B\u5EFA/\u7BA1\u7406\u7684 Python \u73AF\u5883(\u4F9D\u8D56\u9501\u5B9A\u5728\u5E73\u53F0\u7684 requirements.txt) | \u53EF\u5220,\u4E0B\u6B21\u4F9B\u7ED9\u81EA\u52A8\u91CD\u5EFA |
|
|
22409
|
+
| \`datasets/<id>/\` | \u6570\u636E\u96C6\u5B9E\u4F53:\`spec.json\` \u53D6\u6570\u89C4\u683C\u3001\`manifest.json\` \u5217\u5B9A\u4E49\u3001\`report.json\` \u8D28\u91CF\u62A5\u544A\u3001\`arrays/*.f32\` \u5217\u5F0F\u6570\u7EC4 | \u5148\u5220\u5143\u6570\u636E\u884C,\u518D\u5220\u76EE\u5F55 |
|
|
22410
|
+
| \`jobs/<id>/\` | \u8BAD\u7EC3\u4F5C\u4E1A\u5B9E\u4F53:\`job.json\` \u63D0\u4EA4\u5951\u7EA6\u3001\`workspace/\`(train.py + amlkit.py)\u3001\`run.log\`\u3001\`artifacts/\`(\u4EA7\u51FA\u6A21\u578B) | \u540C\u4E0A |
|
|
22411
|
+
| \`models/<id>/\` | \u6A21\u578B\u5B9E\u4F53:\`model.onnx\` + \`io_spec.json\`(\u8F93\u5165\u8F93\u51FA\u5951\u7EA6,\u4E0D\u53EF\u53D8) | \u540C\u4E0A |
|
|
22412
|
+
| \`runtime/\` | \u5E73\u53F0\u8FD0\u884C\u65F6\u72B6\u6001:uv \u5B89\u88C5\u8BB0\u5F55(\`uv.json\`)\u3001\u73AF\u5883\u63A2\u9488\u5FEB\u7167(\`env.json\`) | \u53EF\u5220,\u81EA\u52A8\u91CD\u5EFA |
|
|
22413
|
+
| \`tools/\` | \u5E73\u53F0\u81EA\u52A8\u5B89\u88C5\u7684 uv \u4E8C\u8FDB\u5236(\u514D\u7BA1\u7406\u5458\u3001\u4E0D\u6539\u7CFB\u7EDF PATH) | \u53EF\u5220,\u53EF\u91CD\u65B0\u4E00\u952E\u5B89\u88C5 |
|
|
22414
|
+
|
|
22415
|
+
## \u5143\u6570\u636E\u4E0E\u5B9E\u4F53\u7684\u5173\u7CFB
|
|
22416
|
+
|
|
22417
|
+
\u5E73\u53F0\u7528 SQLite \u56DB\u8868\u4FDD\u5B58**\u5143\u6570\u636E**(\u6570\u636E\u96C6/\u4F5C\u4E1A/\u5B9E\u9A8C/\u6A21\u578B),\u7528\u672C\u76EE\u5F55\u4FDD\u5B58**\u5B9E\u4F53**\u3002
|
|
22418
|
+
\u4E24\u8005\u4EE5 id \u4E00\u4E00\u5BF9\u5E94;REST \u7684 \`/api/workshop/aml/*\` \u63D0\u4F9B\u5143\u6570\u636E CRUD,
|
|
22419
|
+
\u5220\u9664\u5143\u6570\u636E\u65F6\u540C\u6B65\u6E05\u7406\u5BF9\u5E94\u5B9E\u4F53\u76EE\u5F55(\u6709\u5F15\u7528\u7684\u6570\u636E\u96C6\u4F1A\u88AB\u62D2\u7EDD\u5220\u9664)\u3002
|
|
22420
|
+
|
|
22421
|
+
## \u8FC1\u79FB\u5230\u522B\u7684\u673A\u5668
|
|
22422
|
+
|
|
22423
|
+
\u6574\u4E2A \`aml/\` \u76EE\u5F55\u53EF\u76F4\u63A5\u62F7\u8D1D(\u542B \`.venv\` \u4E0E\u6A21\u578B\u5DE5\u4EF6);\u76EE\u6807\u673A\u82E5\u65E0\u540C\u7248\u672C Python,
|
|
22424
|
+
\u5220\u6389 \`.venv/\` \u8BA9\u5E73\u53F0\u6309\u672C\u673A\u89E3\u91CA\u5668\u91CD\u5EFA\u5373\u53EF \u2014\u2014 \u6570\u636E\u96C6\u4E0E\u6A21\u578B\u5DE5\u4EF6\u4E0D\u53D7\u5F71\u54CD\u3002
|
|
22425
|
+
`;
|
|
22426
|
+
const GITIGNORE = `# AML \u8FD0\u884C\u65F6\u8D44\u4EA7:\u4F53\u79EF\u5927\u4E14\u4E0E\u673A\u5668\u7ED1\u5B9A,\u4E0D\u5165\u5E93
|
|
22427
|
+
.venv/
|
|
22428
|
+
tools/
|
|
22429
|
+
runtime/
|
|
22430
|
+
datasets/
|
|
22431
|
+
jobs/
|
|
22432
|
+
models/
|
|
22433
|
+
`;
|
|
22434
|
+
function configureAmlRuntime(db, _dataDir) {
|
|
22245
22435
|
if (g$5.__amlRuntime) return g$5.__amlRuntime;
|
|
22246
|
-
const
|
|
22436
|
+
const resolved = resolveAmlRoot({});
|
|
22437
|
+
const root = ensureAmlDir();
|
|
22247
22438
|
const rt = {
|
|
22248
22439
|
db,
|
|
22249
22440
|
root,
|
|
22441
|
+
rootMode: resolved.mode,
|
|
22442
|
+
projectRoot: resolved.projectRoot,
|
|
22250
22443
|
repo: createAmlRepo(db),
|
|
22251
22444
|
datasetsDir: join(root, "datasets"),
|
|
22252
22445
|
jobsDir: join(root, "jobs"),
|
|
22253
|
-
modelsDir: join(root, "models")
|
|
22446
|
+
modelsDir: join(root, "models"),
|
|
22447
|
+
venvDir: join(root, ".venv"),
|
|
22448
|
+
toolsDir: join(root, "tools"),
|
|
22449
|
+
runtimeDir: join(root, "runtime")
|
|
22254
22450
|
};
|
|
22451
|
+
mkdirSync(rt.venvDir, { recursive: true });
|
|
22452
|
+
try {
|
|
22453
|
+
if (!existsSync(join(root, "README.md"))) writeFileSync(join(root, "README.md"), README);
|
|
22454
|
+
if (!existsSync(join(root, ".gitignore"))) writeFileSync(join(root, ".gitignore"), GITIGNORE);
|
|
22455
|
+
} catch {
|
|
22456
|
+
}
|
|
22255
22457
|
g$5.__amlRuntime = rt;
|
|
22256
22458
|
return rt;
|
|
22257
22459
|
}
|
|
@@ -22261,6 +22463,24 @@ function getAmlRuntime() {
|
|
|
22261
22463
|
}
|
|
22262
22464
|
return g$5.__amlRuntime;
|
|
22263
22465
|
}
|
|
22466
|
+
function amlRootSourceLabel(mode) {
|
|
22467
|
+
switch (mode) {
|
|
22468
|
+
case "env":
|
|
22469
|
+
return "\u73AF\u5883\u53D8\u91CF AW_AML_DIR \u6307\u5B9A";
|
|
22470
|
+
case "repo":
|
|
22471
|
+
return "\u9879\u76EE\u68C0\u51FA\u6839(./aml)";
|
|
22472
|
+
case "home":
|
|
22473
|
+
return "\u7528\u6237\u914D\u7F6E\u6839(~/.AgentWorkShop/aml)";
|
|
22474
|
+
default:
|
|
22475
|
+
return "\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55(./aml)";
|
|
22476
|
+
}
|
|
22477
|
+
}
|
|
22478
|
+
function isInsideAmlRoot(rt, p) {
|
|
22479
|
+
const norm = (s) => s.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
22480
|
+
const root = norm(rt.root);
|
|
22481
|
+
const target = norm(p);
|
|
22482
|
+
return target === root || target.startsWith(`${root}/`);
|
|
22483
|
+
}
|
|
22264
22484
|
|
|
22265
22485
|
const amlDatasetSpecSchema = z.object({
|
|
22266
22486
|
lineId: z.string().min(1),
|
|
@@ -22799,6 +23019,7 @@ async function buildDataset(spec, by) {
|
|
|
22799
23019
|
beatMs: beat
|
|
22800
23020
|
};
|
|
22801
23021
|
writeFileSync(join(dir, "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
23022
|
+
writeFileSync(join(dir, "spec.json"), JSON.stringify(spec, null, 2));
|
|
22802
23023
|
const nodeSummaries = [];
|
|
22803
23024
|
for (const n of order) {
|
|
22804
23025
|
bucketsPart.train.flatMap(() => []);
|
|
@@ -23056,8 +23277,11 @@ function killHarnessProcess(pid) {
|
|
|
23056
23277
|
}
|
|
23057
23278
|
|
|
23058
23279
|
const log$l = createLogger("aml.py");
|
|
23280
|
+
const UV_INSTALL_TIMEOUT_MS = 10 * 6e4;
|
|
23281
|
+
const VENV_CREATE_TIMEOUT_MS = 5 * 6e4;
|
|
23282
|
+
const PIP_INSTALL_TIMEOUT_MS = 20 * 6e4;
|
|
23059
23283
|
const g$4 = globalThis;
|
|
23060
|
-
function runCapture(cmd, args, timeoutMs) {
|
|
23284
|
+
function runCapture(cmd, args, timeoutMs, onData) {
|
|
23061
23285
|
return new Promise((resolve) => {
|
|
23062
23286
|
var _a, _b;
|
|
23063
23287
|
const child = spawnLineProcess(cmd, args);
|
|
@@ -23070,10 +23294,14 @@ function runCapture(cmd, args, timeoutMs) {
|
|
|
23070
23294
|
[timeout ${timeoutMs}ms]` });
|
|
23071
23295
|
}, timeoutMs);
|
|
23072
23296
|
(_a = child.stdout) == null ? void 0 : _a.on("data", (d) => {
|
|
23073
|
-
|
|
23297
|
+
const s = String(d);
|
|
23298
|
+
out += s;
|
|
23299
|
+
onData == null ? void 0 : onData(s);
|
|
23074
23300
|
});
|
|
23075
23301
|
(_b = child.stderr) == null ? void 0 : _b.on("data", (d) => {
|
|
23076
|
-
|
|
23302
|
+
const s = String(d);
|
|
23303
|
+
err += s;
|
|
23304
|
+
onData == null ? void 0 : onData(s);
|
|
23077
23305
|
});
|
|
23078
23306
|
child.on("error", (e) => {
|
|
23079
23307
|
clearTimeout(timer);
|
|
@@ -23085,21 +23313,152 @@ function runCapture(cmd, args, timeoutMs) {
|
|
|
23085
23313
|
});
|
|
23086
23314
|
});
|
|
23087
23315
|
}
|
|
23316
|
+
function uvBinName() {
|
|
23317
|
+
return process.platform === "win32" ? "uv.exe" : "uv";
|
|
23318
|
+
}
|
|
23319
|
+
function looksLikePath(name) {
|
|
23320
|
+
return name.includes("/") || name.includes("\\") || /^[A-Za-z]:/.test(name);
|
|
23321
|
+
}
|
|
23322
|
+
function readUvRecord(rt) {
|
|
23323
|
+
try {
|
|
23324
|
+
const p = join(rt.runtimeDir, "uv.json");
|
|
23325
|
+
if (!existsSync(p)) return null;
|
|
23326
|
+
const parsed = JSON.parse(readFileSync(p, "utf8"));
|
|
23327
|
+
return parsed && typeof parsed.uvPath === "string" ? parsed : null;
|
|
23328
|
+
} catch {
|
|
23329
|
+
return null;
|
|
23330
|
+
}
|
|
23331
|
+
}
|
|
23332
|
+
function writeUvRecord(rt, rec) {
|
|
23333
|
+
try {
|
|
23334
|
+
mkdirSync(rt.runtimeDir, { recursive: true });
|
|
23335
|
+
writeFileSync(join(rt.runtimeDir, "uv.json"), JSON.stringify(rec, null, 2));
|
|
23336
|
+
} catch (err) {
|
|
23337
|
+
log$l.warn("[aml-uv] \u5B89\u88C5\u8BB0\u5F55\u843D\u76D8\u5931\u8D25:", err == null ? void 0 : err.message);
|
|
23338
|
+
}
|
|
23339
|
+
}
|
|
23340
|
+
function findUvInDir(dir, depth = 3) {
|
|
23341
|
+
if (depth < 0 || !existsSync(dir)) return null;
|
|
23342
|
+
let entries;
|
|
23343
|
+
try {
|
|
23344
|
+
entries = readdirSync(dir);
|
|
23345
|
+
} catch {
|
|
23346
|
+
return null;
|
|
23347
|
+
}
|
|
23348
|
+
const want = uvBinName();
|
|
23349
|
+
for (const e of entries) {
|
|
23350
|
+
if (e === want) {
|
|
23351
|
+
const p = join(dir, e);
|
|
23352
|
+
try {
|
|
23353
|
+
if (statSync(p).isFile()) return p;
|
|
23354
|
+
} catch {
|
|
23355
|
+
}
|
|
23356
|
+
}
|
|
23357
|
+
}
|
|
23358
|
+
for (const e of entries) {
|
|
23359
|
+
if (e === "bin" || e === "Scripts" || e === "tools") {
|
|
23360
|
+
const p = join(dir, e, want);
|
|
23361
|
+
try {
|
|
23362
|
+
if (existsSync(p) && statSync(p).isFile()) return p;
|
|
23363
|
+
} catch {
|
|
23364
|
+
}
|
|
23365
|
+
}
|
|
23366
|
+
}
|
|
23367
|
+
for (const e of entries) {
|
|
23368
|
+
const p = join(dir, e);
|
|
23369
|
+
try {
|
|
23370
|
+
if (!statSync(p).isDirectory()) continue;
|
|
23371
|
+
} catch {
|
|
23372
|
+
continue;
|
|
23373
|
+
}
|
|
23374
|
+
const hit = findUvInDir(p, depth - 1);
|
|
23375
|
+
if (hit) return hit;
|
|
23376
|
+
}
|
|
23377
|
+
return null;
|
|
23378
|
+
}
|
|
23379
|
+
function platformPythonDir() {
|
|
23380
|
+
var _a, _b, _c;
|
|
23381
|
+
const rel = join("server", "services", "workshop", "aml", "python");
|
|
23382
|
+
const fallback = join(process.cwd(), rel);
|
|
23383
|
+
const candidates = [
|
|
23384
|
+
(_a = process.env.AML_PYHOME) != null ? _a : "",
|
|
23385
|
+
fallback,
|
|
23386
|
+
join(process.cwd(), ".output", ".AgentWorkShop", "aml-python"),
|
|
23387
|
+
join((_b = process.env.AW_PACKAGE_ROOT) != null ? _b : process.cwd(), rel),
|
|
23388
|
+
join((_c = process.env.AW_PACKAGE_ROOT) != null ? _c : process.cwd(), ".output", ".AgentWorkShop", "aml-python")
|
|
23389
|
+
];
|
|
23390
|
+
for (const c of candidates) {
|
|
23391
|
+
if (c && existsSync(join(c, "amlkit.py"))) return c;
|
|
23392
|
+
}
|
|
23393
|
+
return fallback;
|
|
23394
|
+
}
|
|
23395
|
+
function venvDir(rt) {
|
|
23396
|
+
return rt.venvDir || join(rt.root, ".venv");
|
|
23397
|
+
}
|
|
23398
|
+
function venvPythonPath(rt) {
|
|
23399
|
+
return process.platform === "win32" ? join(venvDir(rt), "Scripts", "python.exe") : join(venvDir(rt), "bin", "python");
|
|
23400
|
+
}
|
|
23401
|
+
function resetProbeCache() {
|
|
23402
|
+
g$4.__amlPyProbe = void 0;
|
|
23403
|
+
g$4.__amlUvProbe = void 0;
|
|
23404
|
+
g$4.__amlVenvPromise = void 0;
|
|
23405
|
+
}
|
|
23406
|
+
async function probeUvBinary(candidate, source) {
|
|
23407
|
+
var _a;
|
|
23408
|
+
const resolved = (_a = resolveOnPath(candidate)) != null ? _a : looksLikePath(candidate) || existsSync(candidate) ? candidate : void 0;
|
|
23409
|
+
if (!resolved) return null;
|
|
23410
|
+
if (!existsSync(resolved)) return null;
|
|
23411
|
+
const r = await runCapture(resolved, ["--version"], 15e3);
|
|
23412
|
+
if (r.code !== 0) return null;
|
|
23413
|
+
return { ok: true, path: resolved, version: (r.out || r.err).trim().split("\n")[0], source };
|
|
23414
|
+
}
|
|
23415
|
+
async function probeUv(rt) {
|
|
23416
|
+
if (g$4.__amlUvProbe) return g$4.__amlUvProbe;
|
|
23417
|
+
const s = amlSettings();
|
|
23418
|
+
const attempts = [];
|
|
23419
|
+
if (s.python.uvBin) attempts.push([s.python.uvBin, "config"]);
|
|
23420
|
+
const record = rt ? readUvRecord(rt) : null;
|
|
23421
|
+
if (rt) {
|
|
23422
|
+
const projectHit = findUvInDir(rt.toolsDir);
|
|
23423
|
+
if (projectHit) attempts.push([projectHit, "project"]);
|
|
23424
|
+
}
|
|
23425
|
+
if (record == null ? void 0 : record.uvPath) attempts.push([record.uvPath, "state"]);
|
|
23426
|
+
if (!s.python.uvBin) attempts.push(["uv", "path"]);
|
|
23427
|
+
for (const [candidate, source] of attempts) {
|
|
23428
|
+
const hit = await probeUvBinary(candidate, source);
|
|
23429
|
+
if (hit) {
|
|
23430
|
+
g$4.__amlUvProbe = hit;
|
|
23431
|
+
log$l.info(`[aml-uv] \u63A2\u6D4B\u5230 uv ${hit.version} @ ${hit.path} (\u6765\u6E90=${source})`);
|
|
23432
|
+
return hit;
|
|
23433
|
+
}
|
|
23434
|
+
}
|
|
23435
|
+
if (process.platform !== "win32" && !s.python.uvBin) {
|
|
23436
|
+
const r = await runCapture("which", ["uv"], 5e3);
|
|
23437
|
+
const p = r.out.trim().split("\n")[0];
|
|
23438
|
+
if (r.code === 0 && p) {
|
|
23439
|
+
const hit = await probeUvBinary(p, "path");
|
|
23440
|
+
if (hit) {
|
|
23441
|
+
g$4.__amlUvProbe = hit;
|
|
23442
|
+
return hit;
|
|
23443
|
+
}
|
|
23444
|
+
}
|
|
23445
|
+
}
|
|
23446
|
+
const miss = {
|
|
23447
|
+
ok: false,
|
|
23448
|
+
reason: "\u672A\u68C0\u6D4B\u5230 uv\u3002\u53EF\u70B9\u51FB\u300C\u4E00\u952E\u5B89\u88C5 uv\u300D\u7531\u5E73\u53F0\u81EA\u52A8\u5B89\u88C5\u5230 ./aml/tools(\u514D\u7BA1\u7406\u5458\u3001\u4E0D\u6539\u7CFB\u7EDF PATH),\u6216\u5728\u8BBE\u7F6E\u4E2D\u6307\u5B9A aml.python.uvBin\u3002"
|
|
23449
|
+
};
|
|
23450
|
+
g$4.__amlUvProbe = miss;
|
|
23451
|
+
return miss;
|
|
23452
|
+
}
|
|
23088
23453
|
async function probePython() {
|
|
23089
23454
|
var _a;
|
|
23090
23455
|
if (g$4.__amlPyProbe) return g$4.__amlPyProbe;
|
|
23091
23456
|
const s = amlSettings();
|
|
23457
|
+
const rt = safeRuntime();
|
|
23458
|
+
const uv = rt ? await probeUv(rt) : void 0;
|
|
23092
23459
|
const candidates = s.python.pythonBin ? [s.python.pythonBin] : process.platform === "win32" ? ["python", "py"] : ["python3", "python"];
|
|
23093
|
-
let uvPath;
|
|
23094
|
-
const uvName = s.python.uvBin || "uv";
|
|
23095
|
-
const uvResolved = resolveOnPath(uvName);
|
|
23096
|
-
if (uvResolved) uvPath = uvResolved;
|
|
23097
|
-
else if (!s.python.uvBin && process.platform !== "win32") {
|
|
23098
|
-
const r = await runCapture("which", [uvName], 5e3);
|
|
23099
|
-
if (r.code === 0 && r.out.trim()) uvPath = r.out.trim().split("\n")[0];
|
|
23100
|
-
}
|
|
23101
23460
|
for (const name of candidates) {
|
|
23102
|
-
const resolved = (_a = resolveOnPath(name)) != null ? _a :
|
|
23461
|
+
const resolved = (_a = resolveOnPath(name)) != null ? _a : looksLikePath(name) ? name : void 0;
|
|
23103
23462
|
if (!resolved || !existsSync(resolved)) continue;
|
|
23104
23463
|
const probe = await runCapture(resolved, ["--version"], 1e4);
|
|
23105
23464
|
if (probe.code === 0) {
|
|
@@ -23108,83 +23467,180 @@ async function probePython() {
|
|
|
23108
23467
|
ok: true,
|
|
23109
23468
|
pythonPath: resolved,
|
|
23110
23469
|
version,
|
|
23111
|
-
uvPath
|
|
23470
|
+
uvPath: (uv == null ? void 0 : uv.ok) ? uv.path : void 0
|
|
23112
23471
|
};
|
|
23113
23472
|
g$4.__amlPyProbe = result2;
|
|
23114
|
-
log$l.info(`[aml-python] \u63A2\u6D4B\u6210\u529F:${version} @ ${resolved}${
|
|
23473
|
+
log$l.info(`[aml-python] \u63A2\u6D4B\u6210\u529F:${version} @ ${resolved}${(uv == null ? void 0 : uv.ok) ? ` (uv: ${uv.path})` : " (\u65E0 uv,\u5C06\u7528 python -m venv \u515C\u5E95)"}`);
|
|
23115
23474
|
return result2;
|
|
23116
23475
|
}
|
|
23117
23476
|
}
|
|
23118
23477
|
const result = {
|
|
23119
23478
|
ok: false,
|
|
23120
|
-
uvPath,
|
|
23479
|
+
uvPath: (uv == null ? void 0 : uv.ok) ? uv.path : void 0,
|
|
23121
23480
|
reason: "\u672A\u627E\u5230\u53EF\u7528\u7684 Python 3 \u89E3\u91CA\u5668:\u5B89\u88C5 Python 3.10+ \u6216 uv,\u6216\u8BBE\u7F6E aml.python.pythonBin \u6307\u5411\u89E3\u91CA\u5668\u7EDD\u5BF9\u8DEF\u5F84"
|
|
23122
23481
|
};
|
|
23123
23482
|
g$4.__amlPyProbe = result;
|
|
23124
23483
|
return result;
|
|
23125
23484
|
}
|
|
23485
|
+
function safeRuntime() {
|
|
23486
|
+
var _a;
|
|
23487
|
+
try {
|
|
23488
|
+
return (_a = g$4.__amlRuntime) != null ? _a : null;
|
|
23489
|
+
} catch {
|
|
23490
|
+
return null;
|
|
23491
|
+
}
|
|
23492
|
+
}
|
|
23493
|
+
async function installUv(rt, onLog) {
|
|
23494
|
+
var _a;
|
|
23495
|
+
const lines = [];
|
|
23496
|
+
const emit = (s) => {
|
|
23497
|
+
const t = s.trimEnd();
|
|
23498
|
+
if (t) {
|
|
23499
|
+
lines.push(t);
|
|
23500
|
+
onLog == null ? void 0 : onLog(t);
|
|
23501
|
+
}
|
|
23502
|
+
};
|
|
23503
|
+
const existing = await probeUvBinary((_a = findUvInDir(rt.toolsDir)) != null ? _a : "", "project");
|
|
23504
|
+
if ((existing == null ? void 0 : existing.ok) && existing.path) {
|
|
23505
|
+
emit(`\u5DF2\u5B58\u5728\u53EF\u7528 uv:${existing.version} @ ${existing.path}`);
|
|
23506
|
+
return { ok: true, uvPath: existing.path, version: existing.version, method: "existing", log: lines.join("\n") };
|
|
23507
|
+
}
|
|
23508
|
+
mkdirSync(rt.toolsDir, { recursive: true });
|
|
23509
|
+
const errors = [];
|
|
23510
|
+
emit(`[1/2] \u4F7F\u7528\u5B98\u65B9\u5B89\u88C5\u811A\u672C\u5B89\u88C5 uv \u5230 ${rt.toolsDir} \u2026`);
|
|
23511
|
+
const script = await runOfficialInstaller(rt, emit);
|
|
23512
|
+
if (script.ok) {
|
|
23513
|
+
const hit = findUvInDir(rt.toolsDir);
|
|
23514
|
+
if (hit) {
|
|
23515
|
+
const v = await runCapture(hit, ["--version"], 15e3);
|
|
23516
|
+
const version = (v.out || v.err).trim().split("\n")[0];
|
|
23517
|
+
writeUvRecord(rt, { uvPath: hit, version, installedAt: (/* @__PURE__ */ new Date()).toISOString(), installDir: rt.toolsDir, method: "official-script" });
|
|
23518
|
+
resetProbeCache();
|
|
23519
|
+
emit(`\u5B89\u88C5\u6210\u529F:${version} @ ${hit}`);
|
|
23520
|
+
return { ok: true, uvPath: hit, version, method: "official-script", log: lines.join("\n") };
|
|
23521
|
+
}
|
|
23522
|
+
errors.push("\u5B98\u65B9\u811A\u672C\u6267\u884C\u5B8C\u6210\u4F46\u672A\u5728 tools \u76EE\u5F55\u627E\u5230 uv \u53EF\u6267\u884C\u6587\u4EF6");
|
|
23523
|
+
} else {
|
|
23524
|
+
errors.push(script.err);
|
|
23525
|
+
}
|
|
23526
|
+
emit("[2/2] \u56DE\u9000\u65B9\u6848:python -m pip install --target tools uv");
|
|
23527
|
+
const probe = await probePython();
|
|
23528
|
+
if (probe.ok && probe.pythonPath) {
|
|
23529
|
+
const pipArgs = ["-m", "pip", "install", "--upgrade", "--target", rt.toolsDir, "uv"];
|
|
23530
|
+
const idx = amlSettings().python.indexUrl;
|
|
23531
|
+
if (idx) pipArgs.push("--index-url", idx);
|
|
23532
|
+
const r = await runCapture(probe.pythonPath, pipArgs, UV_INSTALL_TIMEOUT_MS, emit);
|
|
23533
|
+
if (r.code === 0) {
|
|
23534
|
+
const hit = findUvInDir(rt.toolsDir);
|
|
23535
|
+
if (hit) {
|
|
23536
|
+
try {
|
|
23537
|
+
chmodSync(hit, 493);
|
|
23538
|
+
} catch {
|
|
23539
|
+
}
|
|
23540
|
+
const v = await runCapture(hit, ["--version"], 15e3);
|
|
23541
|
+
const version = (v.out || v.err).trim().split("\n")[0];
|
|
23542
|
+
writeUvRecord(rt, { uvPath: hit, version, installedAt: (/* @__PURE__ */ new Date()).toISOString(), installDir: rt.toolsDir, method: "pip-target" });
|
|
23543
|
+
resetProbeCache();
|
|
23544
|
+
emit(`\u5B89\u88C5\u6210\u529F:${version} @ ${hit}`);
|
|
23545
|
+
return { ok: true, uvPath: hit, version, method: "pip-target", log: lines.join("\n") };
|
|
23546
|
+
}
|
|
23547
|
+
errors.push("pip \u5B89\u88C5\u6210\u529F\u4F46\u672A\u627E\u5230 uv \u53EF\u6267\u884C\u6587\u4EF6");
|
|
23548
|
+
} else {
|
|
23549
|
+
errors.push(`pip \u5B89\u88C5\u5931\u8D25:${(r.err || r.out).slice(-400)}`);
|
|
23550
|
+
}
|
|
23551
|
+
} else {
|
|
23552
|
+
errors.push(`\u65E0\u53EF\u7528 Python \u89E3\u91CA\u5668:${probe.reason}`);
|
|
23553
|
+
}
|
|
23554
|
+
emit("\u5B89\u88C5\u5931\u8D25\u3002");
|
|
23555
|
+
return { ok: false, method: "none", log: `${lines.join("\n")}
|
|
23556
|
+
|
|
23557
|
+
--- \u5931\u8D25\u539F\u56E0 ---
|
|
23558
|
+
${errors.join("\n")}` };
|
|
23559
|
+
}
|
|
23560
|
+
const PS_QUOTE_ESC = "''";
|
|
23561
|
+
async function runOfficialInstaller(rt, emit) {
|
|
23562
|
+
if (process.platform === "win32") {
|
|
23563
|
+
const ps = [
|
|
23564
|
+
`$env:UV_INSTALL_DIR='${rt.toolsDir.replace(/'/g, PS_QUOTE_ESC)}'`,
|
|
23565
|
+
`$env:UV_NO_MODIFY_PATH='1'`,
|
|
23566
|
+
"irm https://astral.sh/uv/install.ps1 | iex"
|
|
23567
|
+
].join("; ");
|
|
23568
|
+
const r2 = await runCapture("powershell", ["-ExecutionPolicy", "Bypass", "-NoProfile", "-NonInteractive", "-Command", ps], UV_INSTALL_TIMEOUT_MS, emit);
|
|
23569
|
+
return { ok: r2.code === 0, err: `\u5B98\u65B9\u811A\u672C\u5931\u8D25(exit=${r2.code}):${(r2.err || r2.out).slice(-400)}` };
|
|
23570
|
+
}
|
|
23571
|
+
const sh = `curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR='${rt.toolsDir.replace(/'/g, `'\\''`)}' UV_NO_MODIFY_PATH=1 sh`;
|
|
23572
|
+
const r = await runCapture("sh", ["-c", sh], UV_INSTALL_TIMEOUT_MS, emit);
|
|
23573
|
+
return { ok: r.code === 0, err: `\u5B98\u65B9\u811A\u672C\u5931\u8D25(exit=${r.code}):${(r.err || r.out).slice(-400)}` };
|
|
23574
|
+
}
|
|
23126
23575
|
function requirementsHash() {
|
|
23127
23576
|
const reqPath = join(platformPythonDir(), "requirements.txt");
|
|
23128
23577
|
const content = existsSync(reqPath) ? readFileSync(reqPath, "utf8") : "";
|
|
23129
23578
|
const idx = amlSettings().python.indexUrl;
|
|
23130
23579
|
return createHash("sha256").update(content).update(idx).digest("hex").slice(0, 12);
|
|
23131
23580
|
}
|
|
23132
|
-
function
|
|
23133
|
-
|
|
23134
|
-
const fallback = join(process.cwd(), "server", "services", "workshop", "aml", "python");
|
|
23135
|
-
const candidates = [
|
|
23136
|
-
(_a = process.env.AML_PYHOME) != null ? _a : "",
|
|
23137
|
-
fallback,
|
|
23138
|
-
join((_b = process.env.AW_PACKAGE_ROOT) != null ? _b : process.cwd(), "server", "services", "workshop", "aml", "python")
|
|
23139
|
-
];
|
|
23140
|
-
for (const c of candidates) {
|
|
23141
|
-
if (c && existsSync(join(c, "amlkit.py"))) return c;
|
|
23142
|
-
}
|
|
23143
|
-
return fallback;
|
|
23144
|
-
}
|
|
23145
|
-
function venvDir(rt) {
|
|
23146
|
-
return join(rt.root, "runtime", "venv");
|
|
23581
|
+
function venvMarkerPath(rt) {
|
|
23582
|
+
return join(venvDir(rt), `.aml-ok-${requirementsHash()}`);
|
|
23147
23583
|
}
|
|
23148
|
-
function
|
|
23149
|
-
return
|
|
23584
|
+
function isVenvReady(rt) {
|
|
23585
|
+
return existsSync(venvMarkerPath(rt)) && existsSync(venvPythonPath(rt));
|
|
23150
23586
|
}
|
|
23151
|
-
async function ensureVenv(rt) {
|
|
23152
|
-
if (
|
|
23153
|
-
|
|
23587
|
+
async function ensureVenv(rt, opts = {}) {
|
|
23588
|
+
if (opts.force) {
|
|
23589
|
+
try {
|
|
23590
|
+
rmSync(venvDir(rt), { recursive: true, force: true });
|
|
23591
|
+
emitLog(opts.onLog, `\u5DF2\u6E05\u7406\u65E7\u73AF\u5883:${venvDir(rt)}`);
|
|
23592
|
+
} catch (err) {
|
|
23593
|
+
throw new AppError(500, "AML_VENV_FAILED", `\u6E05\u7406\u65E7\u73AF\u5883\u5931\u8D25(\u53EF\u80FD\u4ECD\u88AB\u8FDB\u7A0B\u5360\u7528):${err.message}`);
|
|
23594
|
+
}
|
|
23595
|
+
g$4.__amlVenvPromise = void 0;
|
|
23596
|
+
}
|
|
23597
|
+
if (g$4.__amlVenvPromise && !opts.force) return g$4.__amlVenvPromise;
|
|
23598
|
+
const task = (async () => {
|
|
23599
|
+
const vdir = venvDir(rt);
|
|
23600
|
+
const vpy = venvPythonPath(rt);
|
|
23601
|
+
if (isVenvReady(rt)) {
|
|
23602
|
+
emitLog(opts.onLog, `\u73AF\u5883\u5DF2\u5C31\u7EEA(\u6807\u8BB0 ${requirementsHash()}):${vdir}`);
|
|
23603
|
+
return vpy;
|
|
23604
|
+
}
|
|
23154
23605
|
const probe = await probePython();
|
|
23155
23606
|
if (!probe.ok || !probe.pythonPath) {
|
|
23156
23607
|
throw new AppError(503, "AML_PYTHON_MISSING", `\u8BAD\u7EC3\u8FD0\u884C\u65F6\u4E0D\u53EF\u7528:${probe.reason}`);
|
|
23157
23608
|
}
|
|
23158
|
-
const vdir = venvDir(rt);
|
|
23159
|
-
const vpy = venvPythonPath(rt);
|
|
23160
|
-
const marker = join(vdir, `.aml-ok-${requirementsHash()}`);
|
|
23161
|
-
if (existsSync(marker) && existsSync(vpy)) return vpy;
|
|
23162
23609
|
const s = amlSettings();
|
|
23163
23610
|
const idxArgs = s.python.indexUrl ? ["--index-url", s.python.indexUrl] : [];
|
|
23164
23611
|
const reqPath = join(platformPythonDir(), "requirements.txt");
|
|
23165
|
-
|
|
23612
|
+
mkdirSync(rt.root, { recursive: true });
|
|
23613
|
+
emitLog(opts.onLog, `\u5F00\u59CB\u4F9B\u7ED9 Python \u73AF\u5883(\u9996\u6B21\u53EF\u80FD\u9700\u6570\u5206\u949F\u4E0B\u8F7D\u4F9D\u8D56)\u2026`);
|
|
23166
23614
|
if (probe.uvPath) {
|
|
23167
|
-
|
|
23615
|
+
emitLog(opts.onLog, `uv venv ${vdir} --python ${probe.pythonPath}`);
|
|
23616
|
+
const mk = await runCapture(probe.uvPath, ["venv", vdir, "--python", probe.pythonPath], VENV_CREATE_TIMEOUT_MS, opts.onLog);
|
|
23168
23617
|
if (mk.code !== 0) throw new AppError(500, "AML_VENV_FAILED", `uv venv \u5931\u8D25:${mk.err.slice(-400)}`);
|
|
23169
|
-
|
|
23618
|
+
emitLog(opts.onLog, `uv pip install -r requirements.txt`);
|
|
23619
|
+
const inst = await runCapture(probe.uvPath, ["pip", "install", "--python", vpy, "-r", reqPath, ...idxArgs], PIP_INSTALL_TIMEOUT_MS, opts.onLog);
|
|
23170
23620
|
if (inst.code !== 0) throw new AppError(500, "AML_VENV_FAILED", `\u4F9D\u8D56\u5B89\u88C5\u5931\u8D25:${(inst.err || inst.out).slice(-400)}`);
|
|
23171
23621
|
} else {
|
|
23172
|
-
|
|
23622
|
+
emitLog(opts.onLog, `\u672A\u68C0\u6D4B\u5230 uv,\u56DE\u9000 python -m venv(\u8F83\u6162)`);
|
|
23623
|
+
const mk = await runCapture(probe.pythonPath, ["-m", "venv", vdir], VENV_CREATE_TIMEOUT_MS, opts.onLog);
|
|
23173
23624
|
if (mk.code !== 0) throw new AppError(500, "AML_VENV_FAILED", `python -m venv \u5931\u8D25:${mk.err.slice(-400)}`);
|
|
23174
|
-
const inst = await runCapture(vpy, ["-m", "pip", "install", "-r", reqPath, ...idxArgs],
|
|
23625
|
+
const inst = await runCapture(vpy, ["-m", "pip", "install", "-r", reqPath, ...idxArgs], PIP_INSTALL_TIMEOUT_MS, opts.onLog);
|
|
23175
23626
|
if (inst.code !== 0) throw new AppError(500, "AML_VENV_FAILED", `pip install \u5931\u8D25:${(inst.err || inst.out).slice(-400)}`);
|
|
23176
23627
|
}
|
|
23177
|
-
writeFileSync(
|
|
23628
|
+
writeFileSync(venvMarkerPath(rt), (/* @__PURE__ */ new Date()).toISOString());
|
|
23629
|
+
emitLog(opts.onLog, "\u73AF\u5883\u4F9B\u7ED9\u5B8C\u6210\u3002");
|
|
23178
23630
|
log$l.info("[aml-python] venv \u4F9B\u7ED9\u5B8C\u6210");
|
|
23179
23631
|
return vpy;
|
|
23180
23632
|
})();
|
|
23633
|
+
g$4.__amlVenvPromise = task;
|
|
23181
23634
|
try {
|
|
23182
|
-
return await
|
|
23635
|
+
return await task;
|
|
23183
23636
|
} catch (err) {
|
|
23184
23637
|
g$4.__amlVenvPromise = void 0;
|
|
23185
23638
|
throw err;
|
|
23186
23639
|
}
|
|
23187
23640
|
}
|
|
23641
|
+
function emitLog(onLog, line) {
|
|
23642
|
+
onLog == null ? void 0 : onLog(line);
|
|
23643
|
+
}
|
|
23188
23644
|
function jobEnv(rt, jobDir) {
|
|
23189
23645
|
const platformPyDir = platformPythonDir();
|
|
23190
23646
|
const pick = (k) => process.env[k] ? `${k}=${process.env[k]}` : "";
|
|
@@ -23196,6 +23652,8 @@ function jobEnv(rt, jobDir) {
|
|
|
23196
23652
|
return {
|
|
23197
23653
|
...sysEnv,
|
|
23198
23654
|
AML_JOB_DIR: jobDir,
|
|
23655
|
+
// 资产根暴露给训练脚本:模型/数据集实体都在 ./aml 下,脚本按相对路径读取
|
|
23656
|
+
AML_ROOT: rt.root,
|
|
23199
23657
|
PYTHONPATH: platformPyDir,
|
|
23200
23658
|
PYTHONUNBUFFERED: "1",
|
|
23201
23659
|
PYTHONDONTWRITEBYTECODE: "1",
|
|
@@ -23317,6 +23775,10 @@ function registerModelFromJob(jobId, gates, metricsJson) {
|
|
|
23317
23775
|
writeFileSync(join(modelDir, "REGISTERED"), now);
|
|
23318
23776
|
}
|
|
23319
23777
|
const ioSpec = buildIoSpec(dataset.path, job.purpose);
|
|
23778
|
+
try {
|
|
23779
|
+
writeFileSync(join(modelDir, "io_spec.json"), JSON.stringify(ioSpec, null, 2));
|
|
23780
|
+
} catch {
|
|
23781
|
+
}
|
|
23320
23782
|
rt.repo.model.insert({
|
|
23321
23783
|
id: modelId,
|
|
23322
23784
|
experimentId: expId,
|
|
@@ -23939,21 +24401,12 @@ async function runtimeStatus() {
|
|
|
23939
24401
|
const st = state$1();
|
|
23940
24402
|
return {
|
|
23941
24403
|
python: { ok: probe.ok, version: probe.version, reason: probe.reason },
|
|
23942
|
-
venvReady: probe.ok ?
|
|
24404
|
+
venvReady: probe.ok ? isVenvReady(rt) : false,
|
|
24405
|
+
amlRoot: rt.root,
|
|
23943
24406
|
queued: st.queue.length + rt.repo.job.list({ status: "queued" }).length,
|
|
23944
24407
|
running: st.running.size
|
|
23945
24408
|
};
|
|
23946
24409
|
}
|
|
23947
|
-
function venvDirOf(rt) {
|
|
23948
|
-
return join(rt.root, "runtime", "venv");
|
|
23949
|
-
}
|
|
23950
|
-
function requirementsHashOf() {
|
|
23951
|
-
try {
|
|
23952
|
-
return requirementsHash();
|
|
23953
|
-
} catch {
|
|
23954
|
-
return "";
|
|
23955
|
-
}
|
|
23956
|
-
}
|
|
23957
24410
|
|
|
23958
24411
|
const log$j = createLogger("aml.predict");
|
|
23959
24412
|
const g$2 = globalThis;
|
|
@@ -28866,12 +29319,11 @@ class OpenCodeAgentImpl extends BaseAgentImpl {
|
|
|
28866
29319
|
});
|
|
28867
29320
|
__publicField$c(this, "config");
|
|
28868
29321
|
__publicField$c(this, "agentInfo", null);
|
|
28869
|
-
|
|
28870
|
-
|
|
28871
|
-
|
|
28872
|
-
|
|
28873
|
-
|
|
28874
|
-
__publicField$c(this, "agentRole", "worker");
|
|
29322
|
+
// 注意:不要在本类重新声明 bridgeCtx / agentRole —— 它们由 BaseAgentImpl 持有。
|
|
29323
|
+
// 子类字段初始化器在 super() **之后**执行,会用一个空的 identity 覆盖基类已装配好的
|
|
29324
|
+
// bridgeCtx(class field 遮蔽),导致 host tool 桥拿到的 agentId 恒为 '' ——
|
|
29325
|
+
// 所有按 agentId 的鉴权(节点绑定/工业工具)都会误判为"未绑定"。
|
|
29326
|
+
// 同理 agentRole 被重置为 'worker',lead 身份传不到桥里。
|
|
28875
29327
|
// 服务进程与 API 面
|
|
28876
29328
|
__publicField$c(this, "child", null);
|
|
28877
29329
|
__publicField$c(this, "baseUrl", "");
|
|
@@ -29889,12 +30341,10 @@ class CodexAgentImpl extends BaseAgentImpl {
|
|
|
29889
30341
|
});
|
|
29890
30342
|
__publicField$a(this, "config");
|
|
29891
30343
|
__publicField$a(this, "agentInfo", null);
|
|
29892
|
-
|
|
29893
|
-
|
|
29894
|
-
|
|
29895
|
-
|
|
29896
|
-
});
|
|
29897
|
-
__publicField$a(this, "agentRole", "worker");
|
|
30344
|
+
// 不要重新声明 bridgeCtx / agentRole(由 BaseAgentImpl 持有)。
|
|
30345
|
+
// 子类字段初始化器在 super() 之后执行,会用空 identity 遮蔽基类已装配好的 bridgeCtx,
|
|
30346
|
+
// 使 host tool 桥的 agentId 恒为 '' → 按 agentId 的鉴权全部误判(节点绑定/工业工具)。
|
|
30347
|
+
// 同理 agentRole 会被重置为 'worker',lead 身份丢失。
|
|
29898
30348
|
__publicField$a(this, "client", null);
|
|
29899
30349
|
__publicField$a(this, "clientStarting", null);
|
|
29900
30350
|
__publicField$a(this, "threadId", null);
|
|
@@ -30502,12 +30952,10 @@ class DshAgentImpl extends BaseAgentImpl {
|
|
|
30502
30952
|
});
|
|
30503
30953
|
__publicField$9(this, "config");
|
|
30504
30954
|
__publicField$9(this, "agentInfo", null);
|
|
30505
|
-
|
|
30506
|
-
|
|
30507
|
-
|
|
30508
|
-
|
|
30509
|
-
});
|
|
30510
|
-
__publicField$9(this, "agentRole", "worker");
|
|
30955
|
+
// 不要重新声明 bridgeCtx / agentRole(由 BaseAgentImpl 持有)。
|
|
30956
|
+
// 子类字段初始化器在 super() 之后执行,会用空 identity 遮蔽基类已装配好的 bridgeCtx,
|
|
30957
|
+
// 使 host tool 桥的 agentId 恒为 '' → 按 agentId 的鉴权全部误判(节点绑定/工业工具)。
|
|
30958
|
+
// 同理 agentRole 会被重置为 'worker',lead 身份丢失。
|
|
30511
30959
|
__publicField$9(this, "client", null);
|
|
30512
30960
|
__publicField$9(this, "clientStarting", null);
|
|
30513
30961
|
__publicField$9(this, "sessionId", null);
|
|
@@ -33965,7 +34413,7 @@ class SchedulerLoop {
|
|
|
33965
34413
|
}
|
|
33966
34414
|
/** 内置规则引擎兜底(harness 无关) */
|
|
33967
34415
|
ruleEngine(snapshot) {
|
|
33968
|
-
var _a, _b;
|
|
34416
|
+
var _a, _b, _c;
|
|
33969
34417
|
const decisions = [];
|
|
33970
34418
|
const { tasks, members, now } = snapshot;
|
|
33971
34419
|
this.refreshIdle(members, now);
|
|
@@ -34058,7 +34506,11 @@ class SchedulerLoop {
|
|
|
34058
34506
|
} else {
|
|
34059
34507
|
this.notified.delete(task.id);
|
|
34060
34508
|
this.lastProgress.delete(task.id);
|
|
34061
|
-
|
|
34509
|
+
const didWork = task.progress > 0 || ((_c = task.artifacts) != null ? _c : []).some((a) => {
|
|
34510
|
+
var _a2;
|
|
34511
|
+
return a.name !== "input" && ((_a2 = a.parts) != null ? _a2 : []).length > 0;
|
|
34512
|
+
});
|
|
34513
|
+
decisions.push(didWork ? { kind: "complete", taskId: task.id } : { kind: "cancel", taskId: task.id });
|
|
34062
34514
|
}
|
|
34063
34515
|
}
|
|
34064
34516
|
for (const task of tasks) {
|
|
@@ -35395,6 +35847,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
|
|
|
35395
35847
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
35396
35848
|
const log$1 = createLogger("workshop.manager");
|
|
35397
35849
|
function instanceToAgentInfo(m) {
|
|
35850
|
+
var _a;
|
|
35398
35851
|
return {
|
|
35399
35852
|
id: m.id,
|
|
35400
35853
|
channelId: m.channelId,
|
|
@@ -35403,7 +35856,11 @@ function instanceToAgentInfo(m) {
|
|
|
35403
35856
|
role: m.role,
|
|
35404
35857
|
config: parseJson(m.configJson, {}),
|
|
35405
35858
|
token: m.token,
|
|
35406
|
-
enabled: m.enabled
|
|
35859
|
+
enabled: m.enabled,
|
|
35860
|
+
/** 来源 Agent 模板 id(手工成员为 null)。
|
|
35861
|
+
* 外部调用方需要它把「模板 → 已部署实例」对上 —— Agent↔节点绑定必须落到实例 id,
|
|
35862
|
+
* 而绑定接口只回一个实例 id;不暴露这个字段时调用方只能靠名字猜(实测踩过)。 */
|
|
35863
|
+
templateId: (_a = m.templateId) != null ? _a : null
|
|
35407
35864
|
};
|
|
35408
35865
|
}
|
|
35409
35866
|
function rowToTask(row) {
|
|
@@ -35814,6 +36271,10 @@ class AgentChannelManager {
|
|
|
35814
36271
|
const lead = this.ensureAgentRuntime(channelId, channel.leadAgentId);
|
|
35815
36272
|
if (!lead) return;
|
|
35816
36273
|
const loop = new SchedulerLoop(cr, lead, {
|
|
36274
|
+
// 停滞窗口默认取 workshop.stall_ms(默认 5 分钟,可经设置调整):
|
|
36275
|
+
// 它决定"多久算停滞"以及"多久之后收口",是运维最需要按现场调的一个值;
|
|
36276
|
+
// 以前写死在 SchedulerLoop 构造默认值里,mock/规则引擎路径上最长要 10 分钟才可见。
|
|
36277
|
+
...Number.isFinite(workshopSettings().stall_ms) ? { stallMs: workshopSettings().stall_ms } : {},
|
|
35817
36278
|
...options,
|
|
35818
36279
|
// 停滞看门狗活性源:agent 最近一次工具 invoke 时刻(工具调用即健康推进)
|
|
35819
36280
|
toolActivityOf: (agentId) => {
|
|
@@ -37330,6 +37791,26 @@ class AgentChannelManager {
|
|
|
37330
37791
|
}
|
|
37331
37792
|
return message;
|
|
37332
37793
|
}
|
|
37794
|
+
/**
|
|
37795
|
+
* 按主键查 Channel 成员实例(跨频道)。
|
|
37796
|
+
* 用途:校验「Agent ↔ 工业节点绑定」的主体 —— 运行时持绑定做鉴权的是**成员实例**,
|
|
37797
|
+
* 不是 Agent 模板;绑到模板 id 上会得到一条永远不生效的静默绑定(实测踩过)。
|
|
37798
|
+
*/
|
|
37799
|
+
findChannelAgentById(channelAgentId) {
|
|
37800
|
+
const row = this.deps.repos.channelAgents.findById(channelAgentId);
|
|
37801
|
+
return row ? { id: row.id, channelId: row.channelId, templateId: row.templateId } : void 0;
|
|
37802
|
+
}
|
|
37803
|
+
/** 某 Agent 模板已部署到哪些频道(用于把"绑错主体"的报错变成可执行提示) */
|
|
37804
|
+
listChannelAgentInstances(templateId) {
|
|
37805
|
+
return this.deps.repos.channelAgents.listByTemplate(templateId).map((r) => {
|
|
37806
|
+
var _a, _b;
|
|
37807
|
+
return {
|
|
37808
|
+
id: r.id,
|
|
37809
|
+
channelId: r.channelId,
|
|
37810
|
+
name: (_b = (_a = this.deps.repos.channels.findById(r.channelId)) == null ? void 0 : _a.name) != null ? _b : r.channelId
|
|
37811
|
+
};
|
|
37812
|
+
});
|
|
37813
|
+
}
|
|
37333
37814
|
/**
|
|
37334
37815
|
* 实时消息(外部/系统注入):priority=immediate → busy 时 steer 注入运行中的 omp 会话。
|
|
37335
37816
|
* 触发器 requireReply=true → 接收方须回执(执行结果+所需内容,in_reply_to 关联)。
|
|
@@ -37851,7 +38332,7 @@ function workshopPlugin(nitroApp) {
|
|
|
37851
38332
|
approvalRequests: createApprovalRequestRepo(db)
|
|
37852
38333
|
});
|
|
37853
38334
|
const deps = { repos, implFactory: createAgentImpl, db };
|
|
37854
|
-
configureAmlRuntime(db
|
|
38335
|
+
configureAmlRuntime(db);
|
|
37855
38336
|
recoverInterruptedJobs();
|
|
37856
38337
|
startAmlRetentionTimer();
|
|
37857
38338
|
const manager = createAgentChannelManager(deps);
|
|
@@ -37903,1321 +38384,1307 @@ workshopPlugin
|
|
|
37903
38384
|
];
|
|
37904
38385
|
|
|
37905
38386
|
const assets = {
|
|
37906
|
-
"/favicon.svg": {
|
|
37907
|
-
"type": "image/svg+xml",
|
|
37908
|
-
"etag": "\"333-aFlSVm0gS1OwJAKmnnSly7X0FJ0\"",
|
|
37909
|
-
"mtime": "2026-08-30T11:59:05.964Z",
|
|
37910
|
-
"size": 819,
|
|
37911
|
-
"path": "../public/favicon.svg"
|
|
37912
|
-
},
|
|
37913
|
-
"/_nuxt/-6OnbLFb.js": {
|
|
37914
|
-
"type": "text/javascript; charset=utf-8",
|
|
37915
|
-
"etag": "\"1343-vdAf4w0aJYo+a7mW3u5aS6nVAXY\"",
|
|
37916
|
-
"mtime": "2026-09-11T13:02:27.870Z",
|
|
37917
|
-
"size": 4931,
|
|
37918
|
-
"path": "../public/_nuxt/-6OnbLFb.js"
|
|
37919
|
-
},
|
|
37920
38387
|
"/_nuxt/36oeS8_R2.js": {
|
|
37921
38388
|
"type": "text/javascript; charset=utf-8",
|
|
37922
38389
|
"etag": "\"d6-9W7EHt23WjRGOYCN8bz9Yy0aMhg\"",
|
|
37923
|
-
"mtime": "2026-09-
|
|
38390
|
+
"mtime": "2026-09-12T03:59:43.216Z",
|
|
37924
38391
|
"size": 214,
|
|
37925
38392
|
"path": "../public/_nuxt/36oeS8_R2.js"
|
|
37926
38393
|
},
|
|
37927
|
-
"/
|
|
37928
|
-
"type": "
|
|
37929
|
-
"etag": "\"
|
|
37930
|
-
"mtime": "2026-
|
|
37931
|
-
"size":
|
|
37932
|
-
"path": "../public/
|
|
38394
|
+
"/favicon.svg": {
|
|
38395
|
+
"type": "image/svg+xml",
|
|
38396
|
+
"etag": "\"333-aFlSVm0gS1OwJAKmnnSly7X0FJ0\"",
|
|
38397
|
+
"mtime": "2026-08-30T11:59:05.964Z",
|
|
38398
|
+
"size": 819,
|
|
38399
|
+
"path": "../public/favicon.svg"
|
|
37933
38400
|
},
|
|
37934
|
-
"/_nuxt/
|
|
38401
|
+
"/_nuxt/45zuyAso.js": {
|
|
37935
38402
|
"type": "text/javascript; charset=utf-8",
|
|
37936
|
-
"etag": "\"
|
|
37937
|
-
"mtime": "2026-09-
|
|
37938
|
-
"size":
|
|
37939
|
-
"path": "../public/_nuxt/
|
|
38403
|
+
"etag": "\"e475-il2QNg4Ih8pW97JlDDn074j4h40\"",
|
|
38404
|
+
"mtime": "2026-09-12T03:59:43.216Z",
|
|
38405
|
+
"size": 58485,
|
|
38406
|
+
"path": "../public/_nuxt/45zuyAso.js"
|
|
37940
38407
|
},
|
|
37941
|
-
"/_nuxt/
|
|
38408
|
+
"/_nuxt/4sIEbgcl.js": {
|
|
37942
38409
|
"type": "text/javascript; charset=utf-8",
|
|
37943
|
-
"etag": "\"
|
|
37944
|
-
"mtime": "2026-09-
|
|
37945
|
-
"size":
|
|
37946
|
-
"path": "../public/_nuxt/
|
|
38410
|
+
"etag": "\"12211-x+AgGtu1FHNowDE8TFro0dX68yU\"",
|
|
38411
|
+
"mtime": "2026-09-12T03:59:43.216Z",
|
|
38412
|
+
"size": 74257,
|
|
38413
|
+
"path": "../public/_nuxt/4sIEbgcl.js"
|
|
37947
38414
|
},
|
|
37948
|
-
"/_nuxt/
|
|
38415
|
+
"/_nuxt/ahgEJu2R.js": {
|
|
37949
38416
|
"type": "text/javascript; charset=utf-8",
|
|
37950
|
-
"etag": "\"
|
|
37951
|
-
"mtime": "2026-09-
|
|
37952
|
-
"size":
|
|
37953
|
-
"path": "../public/_nuxt/
|
|
37954
|
-
},
|
|
37955
|
-
"/_nuxt/aml.WU_bh87J.css": {
|
|
37956
|
-
"type": "text/css; charset=utf-8",
|
|
37957
|
-
"etag": "\"2ba6-KFAbaZ9MCLBfgaOBN48bAVLUIkI\"",
|
|
37958
|
-
"mtime": "2026-09-11T13:02:27.899Z",
|
|
37959
|
-
"size": 11174,
|
|
37960
|
-
"path": "../public/_nuxt/aml.WU_bh87J.css"
|
|
37961
|
-
},
|
|
37962
|
-
"/_nuxt/B7wL3pDk.js": {
|
|
37963
|
-
"type": "text/javascript; charset=utf-8",
|
|
37964
|
-
"etag": "\"3d5-itnLaBVfNThToG43nVPq3jMDhq0\"",
|
|
37965
|
-
"mtime": "2026-09-11T13:02:27.880Z",
|
|
37966
|
-
"size": 981,
|
|
37967
|
-
"path": "../public/_nuxt/B7wL3pDk.js"
|
|
38417
|
+
"etag": "\"680-U+6Xyxt5ZpTg6vsMybB7bBYMY/M\"",
|
|
38418
|
+
"mtime": "2026-09-12T03:59:43.238Z",
|
|
38419
|
+
"size": 1664,
|
|
38420
|
+
"path": "../public/_nuxt/ahgEJu2R.js"
|
|
37968
38421
|
},
|
|
37969
38422
|
"/_nuxt/agents.BV70ioCv.css": {
|
|
37970
38423
|
"type": "text/css; charset=utf-8",
|
|
37971
38424
|
"etag": "\"864-vWJ7ST00xR5cH47IGfSMfZZYzFk\"",
|
|
37972
|
-
"mtime": "2026-09-
|
|
38425
|
+
"mtime": "2026-09-12T03:59:43.242Z",
|
|
37973
38426
|
"size": 2148,
|
|
37974
38427
|
"path": "../public/_nuxt/agents.BV70ioCv.css"
|
|
37975
38428
|
},
|
|
37976
|
-
"/_nuxt/
|
|
37977
|
-
"type": "text/javascript; charset=utf-8",
|
|
37978
|
-
"etag": "\"2435-cVXb4Ze0vEZbXwWSHOgo7NJ59ME\"",
|
|
37979
|
-
"mtime": "2026-09-11T13:02:27.880Z",
|
|
37980
|
-
"size": 9269,
|
|
37981
|
-
"path": "../public/_nuxt/B5S_UyaC.js"
|
|
37982
|
-
},
|
|
37983
|
-
"/_nuxt/BBBtwOpo.js": {
|
|
38429
|
+
"/_nuxt/aLLjF2K-2.js": {
|
|
37984
38430
|
"type": "text/javascript; charset=utf-8",
|
|
37985
|
-
"etag": "\"
|
|
37986
|
-
"mtime": "2026-09-
|
|
37987
|
-
"size":
|
|
37988
|
-
"path": "../public/_nuxt/
|
|
38431
|
+
"etag": "\"53-W7A73tjZk8gL0O4HA2ZRkaTaF64\"",
|
|
38432
|
+
"mtime": "2026-09-12T03:59:43.237Z",
|
|
38433
|
+
"size": 83,
|
|
38434
|
+
"path": "../public/_nuxt/aLLjF2K-2.js"
|
|
37989
38435
|
},
|
|
37990
|
-
"/_nuxt/
|
|
38436
|
+
"/_nuxt/8NMOXZOV.js": {
|
|
37991
38437
|
"type": "text/javascript; charset=utf-8",
|
|
37992
|
-
"etag": "\"
|
|
37993
|
-
"mtime": "2026-09-
|
|
37994
|
-
"size":
|
|
37995
|
-
"path": "../public/_nuxt/
|
|
38438
|
+
"etag": "\"c0a1-nxEv13/TZOSwXE1Uh5g6ynV5Bao\"",
|
|
38439
|
+
"mtime": "2026-09-12T03:59:43.216Z",
|
|
38440
|
+
"size": 49313,
|
|
38441
|
+
"path": "../public/_nuxt/8NMOXZOV.js"
|
|
37996
38442
|
},
|
|
37997
38443
|
"/_nuxt/BBrRELH32.js": {
|
|
37998
38444
|
"type": "text/javascript; charset=utf-8",
|
|
37999
38445
|
"etag": "\"5bc-jGs6+2LpPidhbmCHZyKfmEWQxCI\"",
|
|
38000
|
-
"mtime": "2026-09-
|
|
38446
|
+
"mtime": "2026-09-12T03:59:43.217Z",
|
|
38001
38447
|
"size": 1468,
|
|
38002
38448
|
"path": "../public/_nuxt/BBrRELH32.js"
|
|
38003
38449
|
},
|
|
38450
|
+
"/_nuxt/aml.COEKNNqK.css": {
|
|
38451
|
+
"type": "text/css; charset=utf-8",
|
|
38452
|
+
"etag": "\"370f-qgRKdQJo512yCFP+pajQDl5GKi0\"",
|
|
38453
|
+
"mtime": "2026-09-12T03:59:43.242Z",
|
|
38454
|
+
"size": 14095,
|
|
38455
|
+
"path": "../public/_nuxt/aml.COEKNNqK.css"
|
|
38456
|
+
},
|
|
38457
|
+
"/_nuxt/aWWIh8YL.js": {
|
|
38458
|
+
"type": "text/javascript; charset=utf-8",
|
|
38459
|
+
"etag": "\"10b83-nv1ZsQJBS5EehASgX2SOiI/mBpw\"",
|
|
38460
|
+
"mtime": "2026-09-12T03:59:43.238Z",
|
|
38461
|
+
"size": 68483,
|
|
38462
|
+
"path": "../public/_nuxt/aWWIh8YL.js"
|
|
38463
|
+
},
|
|
38464
|
+
"/_nuxt/BDmh31hl.js": {
|
|
38465
|
+
"type": "text/javascript; charset=utf-8",
|
|
38466
|
+
"etag": "\"5d4-nK1q0f/en9CHIE67KnsUTLT2CQI\"",
|
|
38467
|
+
"mtime": "2026-09-12T03:59:43.218Z",
|
|
38468
|
+
"size": 1492,
|
|
38469
|
+
"path": "../public/_nuxt/BDmh31hl.js"
|
|
38470
|
+
},
|
|
38471
|
+
"/_nuxt/BCGafdXT.js": {
|
|
38472
|
+
"type": "text/javascript; charset=utf-8",
|
|
38473
|
+
"etag": "\"3ff0-kMClwjRpzrLcxzcqbcd8Q/cCnJg\"",
|
|
38474
|
+
"mtime": "2026-09-12T03:59:43.217Z",
|
|
38475
|
+
"size": 16368,
|
|
38476
|
+
"path": "../public/_nuxt/BCGafdXT.js"
|
|
38477
|
+
},
|
|
38004
38478
|
"/_nuxt/B7gZokg82.js": {
|
|
38005
38479
|
"type": "text/javascript; charset=utf-8",
|
|
38006
38480
|
"etag": "\"1d5d9-7v10FhVDuY8RpWcfSCPKziAj8s8\"",
|
|
38007
|
-
"mtime": "2026-09-
|
|
38481
|
+
"mtime": "2026-09-12T03:59:43.217Z",
|
|
38008
38482
|
"size": 120281,
|
|
38009
38483
|
"path": "../public/_nuxt/B7gZokg82.js"
|
|
38010
38484
|
},
|
|
38011
|
-
"/_nuxt/
|
|
38485
|
+
"/_nuxt/BDNMzG2s2.js": {
|
|
38012
38486
|
"type": "text/javascript; charset=utf-8",
|
|
38013
|
-
"etag": "\"
|
|
38014
|
-
"mtime": "2026-09-
|
|
38015
|
-
"size":
|
|
38016
|
-
"path": "../public/_nuxt/
|
|
38487
|
+
"etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
|
|
38488
|
+
"mtime": "2026-09-12T03:59:43.217Z",
|
|
38489
|
+
"size": 84,
|
|
38490
|
+
"path": "../public/_nuxt/BDNMzG2s2.js"
|
|
38017
38491
|
},
|
|
38018
|
-
"/_nuxt/
|
|
38492
|
+
"/_nuxt/BHA40aHa.js": {
|
|
38019
38493
|
"type": "text/javascript; charset=utf-8",
|
|
38020
|
-
"etag": "\"
|
|
38021
|
-
"mtime": "2026-09-
|
|
38022
|
-
"size":
|
|
38023
|
-
"path": "../public/_nuxt/
|
|
38494
|
+
"etag": "\"1dae-TNCHUupkSTNB3L7XCdP+v3qPTYQ\"",
|
|
38495
|
+
"mtime": "2026-09-12T03:59:43.220Z",
|
|
38496
|
+
"size": 7598,
|
|
38497
|
+
"path": "../public/_nuxt/BHA40aHa.js"
|
|
38024
38498
|
},
|
|
38025
|
-
"/_nuxt/
|
|
38499
|
+
"/_nuxt/BFkgkW8u.js": {
|
|
38026
38500
|
"type": "text/javascript; charset=utf-8",
|
|
38027
|
-
"etag": "\"
|
|
38028
|
-
"mtime": "2026-09-
|
|
38029
|
-
"size":
|
|
38030
|
-
"path": "../public/_nuxt/
|
|
38501
|
+
"etag": "\"a0d1-NSV9xOdq2+TkNG3z1okARkbt/Ew\"",
|
|
38502
|
+
"mtime": "2026-09-12T03:59:43.219Z",
|
|
38503
|
+
"size": 41169,
|
|
38504
|
+
"path": "../public/_nuxt/BFkgkW8u.js"
|
|
38031
38505
|
},
|
|
38032
|
-
"/_nuxt/
|
|
38506
|
+
"/_nuxt/BJHKLJJU.js": {
|
|
38033
38507
|
"type": "text/javascript; charset=utf-8",
|
|
38034
|
-
"etag": "\"
|
|
38035
|
-
"mtime": "2026-09-
|
|
38036
|
-
"size":
|
|
38037
|
-
"path": "../public/_nuxt/
|
|
38508
|
+
"etag": "\"1339-QAcPV/AbfgGywBnf88Wg49sAL0M\"",
|
|
38509
|
+
"mtime": "2026-09-12T03:59:43.220Z",
|
|
38510
|
+
"size": 4921,
|
|
38511
|
+
"path": "../public/_nuxt/BJHKLJJU.js"
|
|
38038
38512
|
},
|
|
38039
|
-
"/_nuxt/
|
|
38513
|
+
"/_nuxt/BG8sCcwx.js": {
|
|
38040
38514
|
"type": "text/javascript; charset=utf-8",
|
|
38041
|
-
"etag": "\"
|
|
38042
|
-
"mtime": "2026-09-
|
|
38043
|
-
"size":
|
|
38044
|
-
"path": "../public/_nuxt/
|
|
38515
|
+
"etag": "\"4190d-RfweN32GXq6RZeMfyyTy4wIr35U\"",
|
|
38516
|
+
"mtime": "2026-09-12T03:59:43.215Z",
|
|
38517
|
+
"size": 268557,
|
|
38518
|
+
"path": "../public/_nuxt/BG8sCcwx.js"
|
|
38045
38519
|
},
|
|
38046
|
-
"/_nuxt/
|
|
38520
|
+
"/_nuxt/BNT8gYU92.js": {
|
|
38047
38521
|
"type": "text/javascript; charset=utf-8",
|
|
38048
|
-
"etag": "\"
|
|
38049
|
-
"mtime": "2026-09-
|
|
38050
|
-
"size":
|
|
38051
|
-
"path": "../public/_nuxt/
|
|
38522
|
+
"etag": "\"5d7c-uoVe6NWOOg3c8AvXRdXBJ9QJC2k\"",
|
|
38523
|
+
"mtime": "2026-09-12T03:59:43.221Z",
|
|
38524
|
+
"size": 23932,
|
|
38525
|
+
"path": "../public/_nuxt/BNT8gYU92.js"
|
|
38052
38526
|
},
|
|
38053
|
-
"/_nuxt/
|
|
38527
|
+
"/_nuxt/BN6iuJEg2.js": {
|
|
38054
38528
|
"type": "text/javascript; charset=utf-8",
|
|
38055
|
-
"etag": "\"
|
|
38056
|
-
"mtime": "2026-09-
|
|
38057
|
-
"size":
|
|
38058
|
-
"path": "../public/_nuxt/
|
|
38529
|
+
"etag": "\"d01-vLMADOVcZ1D0Movw5mYesca16fQ\"",
|
|
38530
|
+
"mtime": "2026-09-12T03:59:43.220Z",
|
|
38531
|
+
"size": 3329,
|
|
38532
|
+
"path": "../public/_nuxt/BN6iuJEg2.js"
|
|
38059
38533
|
},
|
|
38060
|
-
"/_nuxt/
|
|
38534
|
+
"/_nuxt/BU83-NnX.js": {
|
|
38061
38535
|
"type": "text/javascript; charset=utf-8",
|
|
38062
|
-
"etag": "\"
|
|
38063
|
-
"mtime": "2026-09-
|
|
38064
|
-
"size":
|
|
38065
|
-
"path": "../public/_nuxt/
|
|
38536
|
+
"etag": "\"1bca7-QTUYnyzS2tyJukMLZN6kXIjjcw8\"",
|
|
38537
|
+
"mtime": "2026-09-12T03:59:43.221Z",
|
|
38538
|
+
"size": 113831,
|
|
38539
|
+
"path": "../public/_nuxt/BU83-NnX.js"
|
|
38540
|
+
},
|
|
38541
|
+
"/_nuxt/BrIJiJSN.js": {
|
|
38542
|
+
"type": "text/javascript; charset=utf-8",
|
|
38543
|
+
"etag": "\"50eba-EQGueVrdlEzHO7oTVt2LPxnHgRo\"",
|
|
38544
|
+
"mtime": "2026-09-12T03:59:43.221Z",
|
|
38545
|
+
"size": 331450,
|
|
38546
|
+
"path": "../public/_nuxt/BrIJiJSN.js"
|
|
38066
38547
|
},
|
|
38067
38548
|
"/_nuxt/BFjGV-RV2.js": {
|
|
38068
38549
|
"type": "text/javascript; charset=utf-8",
|
|
38069
38550
|
"etag": "\"a0340-NzvTqyczSJgnuw9pjPQnLX42sAE\"",
|
|
38070
|
-
"mtime": "2026-09-
|
|
38551
|
+
"mtime": "2026-09-12T03:59:43.219Z",
|
|
38071
38552
|
"size": 656192,
|
|
38072
38553
|
"path": "../public/_nuxt/BFjGV-RV2.js"
|
|
38073
38554
|
},
|
|
38074
38555
|
"/_nuxt/BGkumHZ32.js": {
|
|
38075
38556
|
"type": "text/javascript; charset=utf-8",
|
|
38076
38557
|
"etag": "\"14a0a8-FkCiOKvl5+p8em/4UNCrmbDN4qY\"",
|
|
38077
|
-
"mtime": "2026-09-
|
|
38558
|
+
"mtime": "2026-09-12T03:59:43.219Z",
|
|
38078
38559
|
"size": 1351848,
|
|
38079
38560
|
"path": "../public/_nuxt/BGkumHZ32.js"
|
|
38080
38561
|
},
|
|
38081
|
-
"/_nuxt/
|
|
38082
|
-
"type": "text/javascript; charset=utf-8",
|
|
38083
|
-
"etag": "\"28d3-MQaEd967hxGnatCbff3bUnWV5K8\"",
|
|
38084
|
-
"mtime": "2026-09-11T13:02:27.886Z",
|
|
38085
|
-
"size": 10451,
|
|
38086
|
-
"path": "../public/_nuxt/BkLJA9J5.js"
|
|
38087
|
-
},
|
|
38088
|
-
"/_nuxt/BNXfwXpE.js": {
|
|
38562
|
+
"/_nuxt/BYhEUx8t.js": {
|
|
38089
38563
|
"type": "text/javascript; charset=utf-8",
|
|
38090
|
-
"etag": "\"
|
|
38091
|
-
"mtime": "2026-09-
|
|
38092
|
-
"size":
|
|
38093
|
-
"path": "../public/_nuxt/
|
|
38564
|
+
"etag": "\"4683-VUVLNcxEYcNaMSm1Cbz/wmeM604\"",
|
|
38565
|
+
"mtime": "2026-09-12T03:59:43.221Z",
|
|
38566
|
+
"size": 18051,
|
|
38567
|
+
"path": "../public/_nuxt/BYhEUx8t.js"
|
|
38094
38568
|
},
|
|
38095
|
-
"/_nuxt/
|
|
38569
|
+
"/_nuxt/C3gwHTz0.js": {
|
|
38096
38570
|
"type": "text/javascript; charset=utf-8",
|
|
38097
|
-
"etag": "\"
|
|
38098
|
-
"mtime": "2026-09-
|
|
38099
|
-
"size":
|
|
38100
|
-
"path": "../public/_nuxt/
|
|
38571
|
+
"etag": "\"c83-Qsb8eOw0ptJIE9g9mNDkYaOA4VM\"",
|
|
38572
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38573
|
+
"size": 3203,
|
|
38574
|
+
"path": "../public/_nuxt/C3gwHTz0.js"
|
|
38101
38575
|
},
|
|
38102
|
-
"/_nuxt/
|
|
38576
|
+
"/_nuxt/C3J6FYKa.js": {
|
|
38103
38577
|
"type": "text/javascript; charset=utf-8",
|
|
38104
|
-
"etag": "\"
|
|
38105
|
-
"mtime": "2026-09-
|
|
38106
|
-
"size":
|
|
38107
|
-
"path": "../public/_nuxt/
|
|
38578
|
+
"etag": "\"626-QRtMC3g1WIOYAvpDGdpR8kmZ7ps\"",
|
|
38579
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38580
|
+
"size": 1574,
|
|
38581
|
+
"path": "../public/_nuxt/C3J6FYKa.js"
|
|
38108
38582
|
},
|
|
38109
|
-
"/_nuxt/
|
|
38583
|
+
"/_nuxt/C4DWUZ6d2.js": {
|
|
38110
38584
|
"type": "text/javascript; charset=utf-8",
|
|
38111
|
-
"etag": "\"
|
|
38112
|
-
"mtime": "2026-09-
|
|
38113
|
-
"size":
|
|
38114
|
-
"path": "../public/_nuxt/
|
|
38585
|
+
"etag": "\"92-SI4m48ydIbJ1X/2oxc8lcVNlouc\"",
|
|
38586
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38587
|
+
"size": 146,
|
|
38588
|
+
"path": "../public/_nuxt/C4DWUZ6d2.js"
|
|
38115
38589
|
},
|
|
38116
|
-
"/_nuxt/
|
|
38590
|
+
"/_nuxt/BzHEilTt.js": {
|
|
38117
38591
|
"type": "text/javascript; charset=utf-8",
|
|
38118
|
-
"etag": "\"
|
|
38119
|
-
"mtime": "2026-09-
|
|
38120
|
-
"size":
|
|
38121
|
-
"path": "../public/_nuxt/
|
|
38592
|
+
"etag": "\"4fa9-va7l3h5q8x+aE2yvqoL1csBP9KI\"",
|
|
38593
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38594
|
+
"size": 20393,
|
|
38595
|
+
"path": "../public/_nuxt/BzHEilTt.js"
|
|
38122
38596
|
},
|
|
38123
|
-
"/_nuxt/
|
|
38597
|
+
"/_nuxt/C5gUkRwn.js": {
|
|
38124
38598
|
"type": "text/javascript; charset=utf-8",
|
|
38125
|
-
"etag": "\"
|
|
38126
|
-
"mtime": "2026-09-
|
|
38127
|
-
"size":
|
|
38128
|
-
"path": "../public/_nuxt/
|
|
38599
|
+
"etag": "\"4d54-4zd4iq14kAxdjxf8PVzJ8SMRDlU\"",
|
|
38600
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38601
|
+
"size": 19796,
|
|
38602
|
+
"path": "../public/_nuxt/C5gUkRwn.js"
|
|
38129
38603
|
},
|
|
38130
|
-
"/_nuxt/
|
|
38604
|
+
"/_nuxt/CClOy-Hz2.js": {
|
|
38131
38605
|
"type": "text/javascript; charset=utf-8",
|
|
38132
|
-
"etag": "\"
|
|
38133
|
-
"mtime": "2026-09-
|
|
38134
|
-
"size":
|
|
38135
|
-
"path": "../public/_nuxt/
|
|
38606
|
+
"etag": "\"20d4-RN9mqBdS6ZEpvrVM2lHCRuY3nZY\"",
|
|
38607
|
+
"mtime": "2026-09-12T03:59:43.222Z",
|
|
38608
|
+
"size": 8404,
|
|
38609
|
+
"path": "../public/_nuxt/CClOy-Hz2.js"
|
|
38136
38610
|
},
|
|
38137
|
-
"/_nuxt/
|
|
38611
|
+
"/_nuxt/Cc_9VzD42.js": {
|
|
38138
38612
|
"type": "text/javascript; charset=utf-8",
|
|
38139
|
-
"etag": "\"
|
|
38140
|
-
"mtime": "2026-09-
|
|
38141
|
-
"size":
|
|
38142
|
-
"path": "../public/_nuxt/
|
|
38613
|
+
"etag": "\"89e-avARWlfoAeMZaTQr0sXFqaRVGk4\"",
|
|
38614
|
+
"mtime": "2026-09-12T03:59:43.225Z",
|
|
38615
|
+
"size": 2206,
|
|
38616
|
+
"path": "../public/_nuxt/Cc_9VzD42.js"
|
|
38143
38617
|
},
|
|
38144
|
-
"/_nuxt/
|
|
38618
|
+
"/_nuxt/Cbq-mryP.js": {
|
|
38145
38619
|
"type": "text/javascript; charset=utf-8",
|
|
38146
|
-
"etag": "\"
|
|
38147
|
-
"mtime": "2026-09-
|
|
38148
|
-
"size":
|
|
38149
|
-
"path": "../public/_nuxt/
|
|
38620
|
+
"etag": "\"28a9-MWirBiv3ouIxepoJqTpjvo0d20Q\"",
|
|
38621
|
+
"mtime": "2026-09-12T03:59:43.225Z",
|
|
38622
|
+
"size": 10409,
|
|
38623
|
+
"path": "../public/_nuxt/Cbq-mryP.js"
|
|
38150
38624
|
},
|
|
38151
|
-
"/_nuxt/
|
|
38625
|
+
"/_nuxt/CdPzkOMV.js": {
|
|
38152
38626
|
"type": "text/javascript; charset=utf-8",
|
|
38153
|
-
"etag": "\"
|
|
38154
|
-
"mtime": "2026-09-
|
|
38155
|
-
"size":
|
|
38156
|
-
"path": "../public/_nuxt/
|
|
38627
|
+
"etag": "\"623-/ooRHZ1cBLnY/mPYTYuLzxenEjw\"",
|
|
38628
|
+
"mtime": "2026-09-12T03:59:43.225Z",
|
|
38629
|
+
"size": 1571,
|
|
38630
|
+
"path": "../public/_nuxt/CdPzkOMV.js"
|
|
38157
38631
|
},
|
|
38158
|
-
"/_nuxt/
|
|
38632
|
+
"/_nuxt/Cec0Ua3F.js": {
|
|
38159
38633
|
"type": "text/javascript; charset=utf-8",
|
|
38160
|
-
"etag": "\"
|
|
38161
|
-
"mtime": "2026-09-
|
|
38162
|
-
"size":
|
|
38163
|
-
"path": "../public/_nuxt/
|
|
38634
|
+
"etag": "\"1993-GdUyzzzMcfvjHxm7UFrX9akkoI0\"",
|
|
38635
|
+
"mtime": "2026-09-12T03:59:43.226Z",
|
|
38636
|
+
"size": 6547,
|
|
38637
|
+
"path": "../public/_nuxt/Cec0Ua3F.js"
|
|
38164
38638
|
},
|
|
38165
|
-
"/_nuxt/
|
|
38166
|
-
"type": "text/
|
|
38167
|
-
"etag": "\"
|
|
38168
|
-
"mtime": "2026-09-
|
|
38169
|
-
"size":
|
|
38170
|
-
"path": "../public/_nuxt/
|
|
38639
|
+
"/_nuxt/channel-templates.C-M5nKcC.css": {
|
|
38640
|
+
"type": "text/css; charset=utf-8",
|
|
38641
|
+
"etag": "\"846-tzs5DYP5eAKLaZTF1ToNjvfm6T8\"",
|
|
38642
|
+
"mtime": "2026-09-12T03:59:43.242Z",
|
|
38643
|
+
"size": 2118,
|
|
38644
|
+
"path": "../public/_nuxt/channel-templates.C-M5nKcC.css"
|
|
38171
38645
|
},
|
|
38172
|
-
"/_nuxt/
|
|
38646
|
+
"/_nuxt/CNs_Ozdc2.js": {
|
|
38173
38647
|
"type": "text/javascript; charset=utf-8",
|
|
38174
|
-
"etag": "\"
|
|
38175
|
-
"mtime": "2026-09-
|
|
38176
|
-
"size":
|
|
38177
|
-
"path": "../public/_nuxt/
|
|
38648
|
+
"etag": "\"1b-1MHUJYdBtOvbvPMaiQxDXp3lHyw\"",
|
|
38649
|
+
"mtime": "2026-09-12T03:59:43.223Z",
|
|
38650
|
+
"size": 27,
|
|
38651
|
+
"path": "../public/_nuxt/CNs_Ozdc2.js"
|
|
38178
38652
|
},
|
|
38179
|
-
"/_nuxt/
|
|
38653
|
+
"/_nuxt/CM12FuB42.js": {
|
|
38180
38654
|
"type": "text/javascript; charset=utf-8",
|
|
38181
|
-
"etag": "\"
|
|
38182
|
-
"mtime": "2026-09-
|
|
38183
|
-
"size":
|
|
38184
|
-
"path": "../public/_nuxt/
|
|
38655
|
+
"etag": "\"18b-zv5adDS5UoLhJMpSccvf5MniJLA\"",
|
|
38656
|
+
"mtime": "2026-09-12T03:59:43.223Z",
|
|
38657
|
+
"size": 395,
|
|
38658
|
+
"path": "../public/_nuxt/CM12FuB42.js"
|
|
38185
38659
|
},
|
|
38186
|
-
"/_nuxt/
|
|
38660
|
+
"/_nuxt/CojCTLKD.js": {
|
|
38187
38661
|
"type": "text/javascript; charset=utf-8",
|
|
38188
|
-
"etag": "\"
|
|
38189
|
-
"mtime": "2026-09-
|
|
38190
|
-
"size":
|
|
38191
|
-
"path": "../public/_nuxt/
|
|
38662
|
+
"etag": "\"11c5-6b4j7sZqh+T5P+aLRZ6XhkyJGyo\"",
|
|
38663
|
+
"mtime": "2026-09-12T03:59:43.227Z",
|
|
38664
|
+
"size": 4549,
|
|
38665
|
+
"path": "../public/_nuxt/CojCTLKD.js"
|
|
38192
38666
|
},
|
|
38193
|
-
"/_nuxt/
|
|
38667
|
+
"/_nuxt/CoNpEq5X.js": {
|
|
38194
38668
|
"type": "text/javascript; charset=utf-8",
|
|
38195
|
-
"etag": "\"
|
|
38196
|
-
"mtime": "2026-09-
|
|
38197
|
-
"size":
|
|
38198
|
-
"path": "../public/_nuxt/
|
|
38669
|
+
"etag": "\"2f1-FZU8z3/vTyhXK2ZmBtITplcBXmY\"",
|
|
38670
|
+
"mtime": "2026-09-12T03:59:43.226Z",
|
|
38671
|
+
"size": 753,
|
|
38672
|
+
"path": "../public/_nuxt/CoNpEq5X.js"
|
|
38199
38673
|
},
|
|
38200
|
-
"/_nuxt/
|
|
38674
|
+
"/_nuxt/Crod5z2f.js": {
|
|
38201
38675
|
"type": "text/javascript; charset=utf-8",
|
|
38202
|
-
"etag": "\"
|
|
38203
|
-
"mtime": "2026-09-
|
|
38204
|
-
"size":
|
|
38205
|
-
"path": "../public/_nuxt/
|
|
38676
|
+
"etag": "\"3d5-mS8/hK4dwayfb1YZWtzMVEWPF6g\"",
|
|
38677
|
+
"mtime": "2026-09-12T03:59:43.227Z",
|
|
38678
|
+
"size": 981,
|
|
38679
|
+
"path": "../public/_nuxt/Crod5z2f.js"
|
|
38206
38680
|
},
|
|
38207
|
-
"/_nuxt/
|
|
38681
|
+
"/_nuxt/CSkxz2NX.js": {
|
|
38208
38682
|
"type": "text/javascript; charset=utf-8",
|
|
38209
|
-
"etag": "\"
|
|
38210
|
-
"mtime": "2026-09-
|
|
38211
|
-
"size":
|
|
38212
|
-
"path": "../public/_nuxt/
|
|
38683
|
+
"etag": "\"1334d-Ivbd7+iw6XuJ8M1ljfz5AEuDZrs\"",
|
|
38684
|
+
"mtime": "2026-09-12T03:59:43.223Z",
|
|
38685
|
+
"size": 78669,
|
|
38686
|
+
"path": "../public/_nuxt/CSkxz2NX.js"
|
|
38213
38687
|
},
|
|
38214
|
-
"/_nuxt/
|
|
38688
|
+
"/_nuxt/CWKEp1wx2.js": {
|
|
38215
38689
|
"type": "text/javascript; charset=utf-8",
|
|
38216
|
-
"etag": "\"
|
|
38217
|
-
"mtime": "2026-09-
|
|
38218
|
-
"size":
|
|
38219
|
-
"path": "../public/_nuxt/
|
|
38690
|
+
"etag": "\"555-ED/tuOi0Qdk4aSGksbI58QY+vQ8\"",
|
|
38691
|
+
"mtime": "2026-09-12T03:59:43.223Z",
|
|
38692
|
+
"size": 1365,
|
|
38693
|
+
"path": "../public/_nuxt/CWKEp1wx2.js"
|
|
38220
38694
|
},
|
|
38221
|
-
"/_nuxt/
|
|
38695
|
+
"/_nuxt/CWoJjWmZ.js": {
|
|
38222
38696
|
"type": "text/javascript; charset=utf-8",
|
|
38223
|
-
"etag": "\"
|
|
38224
|
-
"mtime": "2026-09-
|
|
38225
|
-
"size":
|
|
38226
|
-
"path": "../public/_nuxt/
|
|
38227
|
-
},
|
|
38228
|
-
"/_nuxt/channel-templates.C-M5nKcC.css": {
|
|
38229
|
-
"type": "text/css; charset=utf-8",
|
|
38230
|
-
"etag": "\"846-tzs5DYP5eAKLaZTF1ToNjvfm6T8\"",
|
|
38231
|
-
"mtime": "2026-09-11T13:02:27.899Z",
|
|
38232
|
-
"size": 2118,
|
|
38233
|
-
"path": "../public/_nuxt/channel-templates.C-M5nKcC.css"
|
|
38697
|
+
"etag": "\"42-7Ccac6Eptzx/VGBNDzFAvw0P6lU\"",
|
|
38698
|
+
"mtime": "2026-09-12T03:59:43.223Z",
|
|
38699
|
+
"size": 66,
|
|
38700
|
+
"path": "../public/_nuxt/CWoJjWmZ.js"
|
|
38234
38701
|
},
|
|
38235
|
-
"/_nuxt/
|
|
38702
|
+
"/_nuxt/CZiw7sEV.js": {
|
|
38236
38703
|
"type": "text/javascript; charset=utf-8",
|
|
38237
|
-
"etag": "\"
|
|
38238
|
-
"mtime": "2026-09-
|
|
38239
|
-
"size":
|
|
38240
|
-
"path": "../public/_nuxt/
|
|
38704
|
+
"etag": "\"2d3b-ltYRPZ6fvOybrmOvkmkMnVB1IhA\"",
|
|
38705
|
+
"mtime": "2026-09-12T03:59:43.224Z",
|
|
38706
|
+
"size": 11579,
|
|
38707
|
+
"path": "../public/_nuxt/CZiw7sEV.js"
|
|
38241
38708
|
},
|
|
38242
|
-
"/_nuxt/
|
|
38709
|
+
"/_nuxt/CY9LbPCI.js": {
|
|
38243
38710
|
"type": "text/javascript; charset=utf-8",
|
|
38244
|
-
"etag": "\"
|
|
38245
|
-
"mtime": "2026-09-
|
|
38246
|
-
"size":
|
|
38247
|
-
"path": "../public/_nuxt/
|
|
38711
|
+
"etag": "\"3dab-L0ihOqle9YGGkDIZ1n27qT21mAo\"",
|
|
38712
|
+
"mtime": "2026-09-12T03:59:43.224Z",
|
|
38713
|
+
"size": 15787,
|
|
38714
|
+
"path": "../public/_nuxt/CY9LbPCI.js"
|
|
38248
38715
|
},
|
|
38249
|
-
"/_nuxt/
|
|
38716
|
+
"/_nuxt/CYWVXZTS.js": {
|
|
38250
38717
|
"type": "text/javascript; charset=utf-8",
|
|
38251
|
-
"etag": "\"
|
|
38252
|
-
"mtime": "2026-09-
|
|
38253
|
-
"size":
|
|
38254
|
-
"path": "../public/_nuxt/
|
|
38718
|
+
"etag": "\"1fdf-2SN2fQIRzi888CZqLLWMShlF9mc\"",
|
|
38719
|
+
"mtime": "2026-09-12T03:59:43.224Z",
|
|
38720
|
+
"size": 8159,
|
|
38721
|
+
"path": "../public/_nuxt/CYWVXZTS.js"
|
|
38255
38722
|
},
|
|
38256
|
-
"/_nuxt/
|
|
38723
|
+
"/_nuxt/CzlMDL5H.js": {
|
|
38257
38724
|
"type": "text/javascript; charset=utf-8",
|
|
38258
|
-
"etag": "\"
|
|
38259
|
-
"mtime": "2026-09-
|
|
38260
|
-
"size":
|
|
38261
|
-
"path": "../public/_nuxt/
|
|
38725
|
+
"etag": "\"9125-dP1WUSElrGrzZB2/J46sGS1t4MM\"",
|
|
38726
|
+
"mtime": "2026-09-12T03:59:43.227Z",
|
|
38727
|
+
"size": 37157,
|
|
38728
|
+
"path": "../public/_nuxt/CzlMDL5H.js"
|
|
38262
38729
|
},
|
|
38263
|
-
"/_nuxt/
|
|
38730
|
+
"/_nuxt/C_OLzD09.js": {
|
|
38264
38731
|
"type": "text/javascript; charset=utf-8",
|
|
38265
|
-
"etag": "\"
|
|
38266
|
-
"mtime": "2026-09-
|
|
38267
|
-
"size":
|
|
38268
|
-
"path": "../public/_nuxt/
|
|
38732
|
+
"etag": "\"210b-10X0chnaT8E+32rHtx6ZB643xnQ\"",
|
|
38733
|
+
"mtime": "2026-09-12T03:59:43.225Z",
|
|
38734
|
+
"size": 8459,
|
|
38735
|
+
"path": "../public/_nuxt/C_OLzD09.js"
|
|
38269
38736
|
},
|
|
38270
|
-
"/_nuxt/
|
|
38737
|
+
"/_nuxt/D0ZBQrN_2.js": {
|
|
38271
38738
|
"type": "text/javascript; charset=utf-8",
|
|
38272
|
-
"etag": "\"
|
|
38273
|
-
"mtime": "2026-09-
|
|
38274
|
-
"size":
|
|
38275
|
-
"path": "../public/_nuxt/
|
|
38739
|
+
"etag": "\"462-0ouITDqojxoQrlHfAjgz9yuwtnk\"",
|
|
38740
|
+
"mtime": "2026-09-12T03:59:43.227Z",
|
|
38741
|
+
"size": 1122,
|
|
38742
|
+
"path": "../public/_nuxt/D0ZBQrN_2.js"
|
|
38276
38743
|
},
|
|
38277
|
-
"/_nuxt/
|
|
38744
|
+
"/_nuxt/C__m4EhR.js": {
|
|
38278
38745
|
"type": "text/javascript; charset=utf-8",
|
|
38279
|
-
"etag": "\"
|
|
38280
|
-
"mtime": "2026-09-
|
|
38281
|
-
"size":
|
|
38282
|
-
"path": "../public/_nuxt/
|
|
38746
|
+
"etag": "\"496d-b/ZPXL6opL07ctddnDSvbWv3crU\"",
|
|
38747
|
+
"mtime": "2026-09-12T03:59:43.225Z",
|
|
38748
|
+
"size": 18797,
|
|
38749
|
+
"path": "../public/_nuxt/C__m4EhR.js"
|
|
38283
38750
|
},
|
|
38284
|
-
"/_nuxt/
|
|
38751
|
+
"/_nuxt/D6uzXueg.js": {
|
|
38285
38752
|
"type": "text/javascript; charset=utf-8",
|
|
38286
|
-
"etag": "\"
|
|
38287
|
-
"mtime": "2026-09-
|
|
38288
|
-
"size":
|
|
38289
|
-
"path": "../public/_nuxt/
|
|
38753
|
+
"etag": "\"3f2d-Qvezt1XBT/ai/Ii96P6PEqxX730\"",
|
|
38754
|
+
"mtime": "2026-09-12T03:59:43.228Z",
|
|
38755
|
+
"size": 16173,
|
|
38756
|
+
"path": "../public/_nuxt/D6uzXueg.js"
|
|
38290
38757
|
},
|
|
38291
|
-
"/_nuxt/
|
|
38758
|
+
"/_nuxt/D9Oidm5I.js": {
|
|
38292
38759
|
"type": "text/javascript; charset=utf-8",
|
|
38293
|
-
"etag": "\"
|
|
38294
|
-
"mtime": "2026-09-
|
|
38295
|
-
"size":
|
|
38296
|
-
"path": "../public/_nuxt/
|
|
38760
|
+
"etag": "\"29d-vUjiOrV6RvvMjy8bqbIIKVpv2qg\"",
|
|
38761
|
+
"mtime": "2026-09-12T03:59:43.228Z",
|
|
38762
|
+
"size": 669,
|
|
38763
|
+
"path": "../public/_nuxt/D9Oidm5I.js"
|
|
38297
38764
|
},
|
|
38298
|
-
"/_nuxt/
|
|
38765
|
+
"/_nuxt/D1YDxZpZ.js": {
|
|
38299
38766
|
"type": "text/javascript; charset=utf-8",
|
|
38300
|
-
"etag": "\"
|
|
38301
|
-
"mtime": "2026-09-
|
|
38302
|
-
"size":
|
|
38303
|
-
"path": "../public/_nuxt/
|
|
38767
|
+
"etag": "\"373d-vQBJMgqXZqjiLL5JDkPtggsr7/A\"",
|
|
38768
|
+
"mtime": "2026-09-12T03:59:43.227Z",
|
|
38769
|
+
"size": 14141,
|
|
38770
|
+
"path": "../public/_nuxt/D1YDxZpZ.js"
|
|
38304
38771
|
},
|
|
38305
|
-
"/_nuxt/
|
|
38772
|
+
"/_nuxt/DAe0h2MB.js": {
|
|
38306
38773
|
"type": "text/javascript; charset=utf-8",
|
|
38307
|
-
"etag": "\"
|
|
38308
|
-
"mtime": "2026-09-
|
|
38309
|
-
"size":
|
|
38310
|
-
"path": "../public/_nuxt/
|
|
38774
|
+
"etag": "\"472d-sNSO3lgXFkiAXskOa0EXqG2y91Y\"",
|
|
38775
|
+
"mtime": "2026-09-12T03:59:43.229Z",
|
|
38776
|
+
"size": 18221,
|
|
38777
|
+
"path": "../public/_nuxt/DAe0h2MB.js"
|
|
38311
38778
|
},
|
|
38312
|
-
"/_nuxt/
|
|
38779
|
+
"/_nuxt/D20Yamr4.js": {
|
|
38313
38780
|
"type": "text/javascript; charset=utf-8",
|
|
38314
|
-
"etag": "\"
|
|
38315
|
-
"mtime": "2026-09-
|
|
38316
|
-
"size":
|
|
38317
|
-
"path": "../public/_nuxt/
|
|
38781
|
+
"etag": "\"34e0-kHxgtavu/TqtFkh5WIroNe+fqeA\"",
|
|
38782
|
+
"mtime": "2026-09-12T03:59:43.228Z",
|
|
38783
|
+
"size": 13536,
|
|
38784
|
+
"path": "../public/_nuxt/D20Yamr4.js"
|
|
38318
38785
|
},
|
|
38319
|
-
"/_nuxt/
|
|
38320
|
-
"type": "text/
|
|
38321
|
-
"etag": "\"
|
|
38322
|
-
"mtime": "2026-09-
|
|
38323
|
-
"size":
|
|
38324
|
-
"path": "../public/_nuxt/
|
|
38786
|
+
"/_nuxt/dcw.DLYZqEhT.css": {
|
|
38787
|
+
"type": "text/css; charset=utf-8",
|
|
38788
|
+
"etag": "\"226e-H/BNammWITMmwjVcDe3temawvWY\"",
|
|
38789
|
+
"mtime": "2026-09-12T03:59:43.242Z",
|
|
38790
|
+
"size": 8814,
|
|
38791
|
+
"path": "../public/_nuxt/dcw.DLYZqEhT.css"
|
|
38325
38792
|
},
|
|
38326
|
-
"/_nuxt/
|
|
38327
|
-
"type": "text/
|
|
38328
|
-
"etag": "\"
|
|
38329
|
-
"mtime": "2026-09-
|
|
38330
|
-
"size":
|
|
38331
|
-
"path": "../public/_nuxt/
|
|
38793
|
+
"/_nuxt/daq.B3265ZDn.css": {
|
|
38794
|
+
"type": "text/css; charset=utf-8",
|
|
38795
|
+
"etag": "\"5716-d66zshbHGr48GGRyBvY2sfoJdQ0\"",
|
|
38796
|
+
"mtime": "2026-09-12T03:59:43.242Z",
|
|
38797
|
+
"size": 22294,
|
|
38798
|
+
"path": "../public/_nuxt/daq.B3265ZDn.css"
|
|
38332
38799
|
},
|
|
38333
|
-
"/_nuxt/
|
|
38800
|
+
"/_nuxt/DBHNsT1Y.js": {
|
|
38334
38801
|
"type": "text/javascript; charset=utf-8",
|
|
38335
|
-
"etag": "\"
|
|
38336
|
-
"mtime": "2026-09-
|
|
38337
|
-
"size":
|
|
38338
|
-
"path": "../public/_nuxt/
|
|
38802
|
+
"etag": "\"a6ea-PNGgN6dJ9yAlkTn986443/cv5Bg\"",
|
|
38803
|
+
"mtime": "2026-09-12T03:59:43.229Z",
|
|
38804
|
+
"size": 42730,
|
|
38805
|
+
"path": "../public/_nuxt/DBHNsT1Y.js"
|
|
38339
38806
|
},
|
|
38340
|
-
"/_nuxt/
|
|
38807
|
+
"/_nuxt/DdD9mCHM.js": {
|
|
38341
38808
|
"type": "text/javascript; charset=utf-8",
|
|
38342
|
-
"etag": "\"
|
|
38343
|
-
"mtime": "2026-09-
|
|
38344
|
-
"size":
|
|
38345
|
-
"path": "../public/_nuxt/
|
|
38809
|
+
"etag": "\"367e-omWo6yki7BAYCZUeWqjXVB4D12g\"",
|
|
38810
|
+
"mtime": "2026-09-12T03:59:43.232Z",
|
|
38811
|
+
"size": 13950,
|
|
38812
|
+
"path": "../public/_nuxt/DdD9mCHM.js"
|
|
38346
38813
|
},
|
|
38347
|
-
"/_nuxt/
|
|
38814
|
+
"/_nuxt/DDgJcSET.js": {
|
|
38348
38815
|
"type": "text/javascript; charset=utf-8",
|
|
38349
|
-
"etag": "\"
|
|
38350
|
-
"mtime": "2026-09-
|
|
38351
|
-
"size":
|
|
38352
|
-
"path": "../public/_nuxt/
|
|
38816
|
+
"etag": "\"10d2d-J5i2Bh5KGpWiMbirWVsqUXnECEM\"",
|
|
38817
|
+
"mtime": "2026-09-12T03:59:43.230Z",
|
|
38818
|
+
"size": 68909,
|
|
38819
|
+
"path": "../public/_nuxt/DDgJcSET.js"
|
|
38353
38820
|
},
|
|
38354
|
-
"/_nuxt/
|
|
38821
|
+
"/_nuxt/DDShH71m.js": {
|
|
38355
38822
|
"type": "text/javascript; charset=utf-8",
|
|
38356
|
-
"etag": "\"
|
|
38357
|
-
"mtime": "2026-09-
|
|
38358
|
-
"size":
|
|
38359
|
-
"path": "../public/_nuxt/
|
|
38823
|
+
"etag": "\"208b-0HsRaWwHxTBF3c2qeOvAD47ZMqc\"",
|
|
38824
|
+
"mtime": "2026-09-12T03:59:43.229Z",
|
|
38825
|
+
"size": 8331,
|
|
38826
|
+
"path": "../public/_nuxt/DDShH71m.js"
|
|
38360
38827
|
},
|
|
38361
|
-
"/_nuxt/
|
|
38828
|
+
"/_nuxt/DeyBFhKH2.js": {
|
|
38362
38829
|
"type": "text/javascript; charset=utf-8",
|
|
38363
|
-
"etag": "\"
|
|
38364
|
-
"mtime": "2026-09-
|
|
38365
|
-
"size":
|
|
38366
|
-
"path": "../public/_nuxt/
|
|
38830
|
+
"etag": "\"de0-Yj9kKk3gjPDsLBddu+/SWVIcWAs\"",
|
|
38831
|
+
"mtime": "2026-09-12T03:59:43.233Z",
|
|
38832
|
+
"size": 3552,
|
|
38833
|
+
"path": "../public/_nuxt/DeyBFhKH2.js"
|
|
38367
38834
|
},
|
|
38368
|
-
"/_nuxt/
|
|
38835
|
+
"/_nuxt/DeJykBFf.js": {
|
|
38369
38836
|
"type": "text/javascript; charset=utf-8",
|
|
38370
|
-
"etag": "\"
|
|
38371
|
-
"mtime": "2026-09-
|
|
38372
|
-
"size":
|
|
38373
|
-
"path": "../public/_nuxt/
|
|
38374
|
-
},
|
|
38375
|
-
"/_nuxt/daq.Bb6l44-O.css": {
|
|
38376
|
-
"type": "text/css; charset=utf-8",
|
|
38377
|
-
"etag": "\"566b-xIfGRXMPjOr3Vjd3F9p2MkDmMgE\"",
|
|
38378
|
-
"mtime": "2026-09-11T13:02:27.899Z",
|
|
38379
|
-
"size": 22123,
|
|
38380
|
-
"path": "../public/_nuxt/daq.Bb6l44-O.css"
|
|
38381
|
-
},
|
|
38382
|
-
"/_nuxt/dcw.rXH2fc2Z.css": {
|
|
38383
|
-
"type": "text/css; charset=utf-8",
|
|
38384
|
-
"etag": "\"21ff-eCEj1LjsZGqaWA3e7HmSw6eii6c\"",
|
|
38385
|
-
"mtime": "2026-09-11T13:02:27.900Z",
|
|
38386
|
-
"size": 8703,
|
|
38387
|
-
"path": "../public/_nuxt/dcw.rXH2fc2Z.css"
|
|
38837
|
+
"etag": "\"334a-u9bmdQK8w/dApegtnDfx3UMudy0\"",
|
|
38838
|
+
"mtime": "2026-09-12T03:59:43.232Z",
|
|
38839
|
+
"size": 13130,
|
|
38840
|
+
"path": "../public/_nuxt/DeJykBFf.js"
|
|
38388
38841
|
},
|
|
38389
38842
|
"/_nuxt/DeYsUzhr.js": {
|
|
38390
38843
|
"type": "text/javascript; charset=utf-8",
|
|
38391
38844
|
"etag": "\"287-ALaKQkZWM37K7ru31bg511e8ikI\"",
|
|
38392
|
-
"mtime": "2026-09-
|
|
38845
|
+
"mtime": "2026-09-12T03:59:43.233Z",
|
|
38393
38846
|
"size": 647,
|
|
38394
38847
|
"path": "../public/_nuxt/DeYsUzhr.js"
|
|
38395
38848
|
},
|
|
38396
|
-
"/_nuxt/default.
|
|
38849
|
+
"/_nuxt/default.DE_vT238.css": {
|
|
38397
38850
|
"type": "text/css; charset=utf-8",
|
|
38398
|
-
"etag": "\"
|
|
38399
|
-
"mtime": "2026-09-
|
|
38400
|
-
"size":
|
|
38401
|
-
"path": "../public/_nuxt/default.
|
|
38851
|
+
"etag": "\"3383-KOL7cduQcGPwgDzvdpujb8cbadk\"",
|
|
38852
|
+
"mtime": "2026-09-12T03:59:43.243Z",
|
|
38853
|
+
"size": 13187,
|
|
38854
|
+
"path": "../public/_nuxt/default.DE_vT238.css"
|
|
38402
38855
|
},
|
|
38403
|
-
"/_nuxt/
|
|
38856
|
+
"/_nuxt/DIaZ2PTo2.js": {
|
|
38404
38857
|
"type": "text/javascript; charset=utf-8",
|
|
38405
|
-
"etag": "\"
|
|
38406
|
-
"mtime": "2026-09-
|
|
38407
|
-
"size":
|
|
38408
|
-
"path": "../public/_nuxt/
|
|
38409
|
-
},
|
|
38410
|
-
"/_nuxt/DLljr7g0.js": {
|
|
38411
|
-
"type": "text/javascript; charset=utf-8",
|
|
38412
|
-
"etag": "\"e476-VQA4IJLzQzu/XZWihB2Sdw3aL+M\"",
|
|
38413
|
-
"mtime": "2026-09-11T13:02:27.893Z",
|
|
38414
|
-
"size": 58486,
|
|
38415
|
-
"path": "../public/_nuxt/DLljr7g0.js"
|
|
38858
|
+
"etag": "\"b14-0G25NjaOjPL8pUTCqFfHo9IuyOU\"",
|
|
38859
|
+
"mtime": "2026-09-12T03:59:43.230Z",
|
|
38860
|
+
"size": 2836,
|
|
38861
|
+
"path": "../public/_nuxt/DIaZ2PTo2.js"
|
|
38416
38862
|
},
|
|
38417
38863
|
"/_nuxt/DIOBYJe3.js": {
|
|
38418
38864
|
"type": "text/javascript; charset=utf-8",
|
|
38419
38865
|
"etag": "\"4b5-DdWaiyBS+/JejqhLG4Q7/JprP2Q\"",
|
|
38420
|
-
"mtime": "2026-09-
|
|
38866
|
+
"mtime": "2026-09-12T03:59:43.230Z",
|
|
38421
38867
|
"size": 1205,
|
|
38422
38868
|
"path": "../public/_nuxt/DIOBYJe3.js"
|
|
38423
38869
|
},
|
|
38424
|
-
"/_nuxt/
|
|
38870
|
+
"/_nuxt/DkGQ7lnb2.js": {
|
|
38425
38871
|
"type": "text/javascript; charset=utf-8",
|
|
38426
|
-
"etag": "\"
|
|
38427
|
-
"mtime": "2026-09-
|
|
38428
|
-
"size":
|
|
38429
|
-
"path": "../public/_nuxt/
|
|
38872
|
+
"etag": "\"10e-BEf1fw3Luoou0jWXn/VjweK3eFg\"",
|
|
38873
|
+
"mtime": "2026-09-12T03:59:43.234Z",
|
|
38874
|
+
"size": 270,
|
|
38875
|
+
"path": "../public/_nuxt/DkGQ7lnb2.js"
|
|
38430
38876
|
},
|
|
38431
|
-
"/_nuxt/
|
|
38877
|
+
"/_nuxt/DHFrCUxA2.js": {
|
|
38432
38878
|
"type": "text/javascript; charset=utf-8",
|
|
38433
|
-
"etag": "\"
|
|
38434
|
-
"mtime": "2026-09-
|
|
38435
|
-
"size":
|
|
38436
|
-
"path": "../public/_nuxt/
|
|
38879
|
+
"etag": "\"6a25-yH+Kt/gXrDj++gPlxRCMxjita4o\"",
|
|
38880
|
+
"mtime": "2026-09-12T03:59:43.230Z",
|
|
38881
|
+
"size": 27173,
|
|
38882
|
+
"path": "../public/_nuxt/DHFrCUxA2.js"
|
|
38437
38883
|
},
|
|
38438
|
-
"/_nuxt/
|
|
38884
|
+
"/_nuxt/DnUuIR83.js": {
|
|
38439
38885
|
"type": "text/javascript; charset=utf-8",
|
|
38440
|
-
"etag": "\"
|
|
38441
|
-
"mtime": "2026-09-
|
|
38442
|
-
"size":
|
|
38443
|
-
"path": "../public/_nuxt/
|
|
38886
|
+
"etag": "\"25e9-8nbC9HSsBhQz/JBDCkuVLAvVelM\"",
|
|
38887
|
+
"mtime": "2026-09-12T03:59:43.234Z",
|
|
38888
|
+
"size": 9705,
|
|
38889
|
+
"path": "../public/_nuxt/DnUuIR83.js"
|
|
38444
38890
|
},
|
|
38445
|
-
"/_nuxt/
|
|
38891
|
+
"/_nuxt/DmqknNvV.js": {
|
|
38446
38892
|
"type": "text/javascript; charset=utf-8",
|
|
38447
|
-
"etag": "\"
|
|
38448
|
-
"mtime": "2026-09-
|
|
38449
|
-
"size":
|
|
38450
|
-
"path": "../public/_nuxt/
|
|
38893
|
+
"etag": "\"26be4-2hzvX3cIxgA2eSHJiw0fjKz7dsY\"",
|
|
38894
|
+
"mtime": "2026-09-12T03:59:43.234Z",
|
|
38895
|
+
"size": 158692,
|
|
38896
|
+
"path": "../public/_nuxt/DmqknNvV.js"
|
|
38451
38897
|
},
|
|
38452
|
-
"/_nuxt/
|
|
38898
|
+
"/_nuxt/DPnwL14Y.js": {
|
|
38453
38899
|
"type": "text/javascript; charset=utf-8",
|
|
38454
|
-
"etag": "\"
|
|
38455
|
-
"mtime": "2026-09-
|
|
38456
|
-
"size":
|
|
38457
|
-
"path": "../public/_nuxt/
|
|
38900
|
+
"etag": "\"1d26-XSq9sA2ArdeEv8EAehmtwVgJuzE\"",
|
|
38901
|
+
"mtime": "2026-09-12T03:59:43.231Z",
|
|
38902
|
+
"size": 7462,
|
|
38903
|
+
"path": "../public/_nuxt/DPnwL14Y.js"
|
|
38458
38904
|
},
|
|
38459
|
-
"/_nuxt/
|
|
38905
|
+
"/_nuxt/DR12_WCA.js": {
|
|
38460
38906
|
"type": "text/javascript; charset=utf-8",
|
|
38461
|
-
"etag": "\"
|
|
38462
|
-
"mtime": "2026-09-
|
|
38463
|
-
"size":
|
|
38464
|
-
"path": "../public/_nuxt/
|
|
38907
|
+
"etag": "\"7e8c-cnN52Tex5ueiXHiBbehql11WL2w\"",
|
|
38908
|
+
"mtime": "2026-09-12T03:59:43.231Z",
|
|
38909
|
+
"size": 32396,
|
|
38910
|
+
"path": "../public/_nuxt/DR12_WCA.js"
|
|
38465
38911
|
},
|
|
38466
|
-
"/_nuxt/
|
|
38912
|
+
"/_nuxt/DrYV5i68.js": {
|
|
38467
38913
|
"type": "text/javascript; charset=utf-8",
|
|
38468
|
-
"etag": "\"
|
|
38469
|
-
"mtime": "2026-09-
|
|
38470
|
-
"size":
|
|
38471
|
-
"path": "../public/_nuxt/
|
|
38914
|
+
"etag": "\"247c-c3SMdj/FgJdc1JQtOVxTE/w+KWc\"",
|
|
38915
|
+
"mtime": "2026-09-12T03:59:43.235Z",
|
|
38916
|
+
"size": 9340,
|
|
38917
|
+
"path": "../public/_nuxt/DrYV5i68.js"
|
|
38472
38918
|
},
|
|
38473
|
-
"/_nuxt/
|
|
38919
|
+
"/_nuxt/DVsjtsvZ2.js": {
|
|
38474
38920
|
"type": "text/javascript; charset=utf-8",
|
|
38475
|
-
"etag": "\"
|
|
38476
|
-
"mtime": "2026-09-
|
|
38477
|
-
"size":
|
|
38478
|
-
"path": "../public/_nuxt/
|
|
38921
|
+
"etag": "\"5ad7-SJw11mAwm8ecvvMfEtiG2ti53z8\"",
|
|
38922
|
+
"mtime": "2026-09-12T03:59:43.231Z",
|
|
38923
|
+
"size": 23255,
|
|
38924
|
+
"path": "../public/_nuxt/DVsjtsvZ2.js"
|
|
38479
38925
|
},
|
|
38480
|
-
"/_nuxt/
|
|
38926
|
+
"/_nuxt/DtYHUi5Z.js": {
|
|
38481
38927
|
"type": "text/javascript; charset=utf-8",
|
|
38482
|
-
"etag": "\"
|
|
38483
|
-
"mtime": "2026-09-
|
|
38484
|
-
"size":
|
|
38485
|
-
"path": "../public/_nuxt/
|
|
38928
|
+
"etag": "\"2435-K8RPT3nu03HotXRj2dJy+ny1j2A\"",
|
|
38929
|
+
"mtime": "2026-09-12T03:59:43.235Z",
|
|
38930
|
+
"size": 9269,
|
|
38931
|
+
"path": "../public/_nuxt/DtYHUi5Z.js"
|
|
38486
38932
|
},
|
|
38487
|
-
"/_nuxt/
|
|
38933
|
+
"/_nuxt/DZtm4l-P2.js": {
|
|
38488
38934
|
"type": "text/javascript; charset=utf-8",
|
|
38489
|
-
"etag": "\"
|
|
38490
|
-
"mtime": "2026-09-
|
|
38491
|
-
"size":
|
|
38492
|
-
"path": "../public/_nuxt/
|
|
38935
|
+
"etag": "\"1876-xVj/E45RroZBjWvEiBrZZOcvgoI\"",
|
|
38936
|
+
"mtime": "2026-09-12T03:59:43.232Z",
|
|
38937
|
+
"size": 6262,
|
|
38938
|
+
"path": "../public/_nuxt/DZtm4l-P2.js"
|
|
38493
38939
|
},
|
|
38494
|
-
"/_nuxt/
|
|
38940
|
+
"/_nuxt/DzbFpZRk.js": {
|
|
38495
38941
|
"type": "text/javascript; charset=utf-8",
|
|
38496
|
-
"etag": "\"
|
|
38497
|
-
"mtime": "2026-09-
|
|
38498
|
-
"size":
|
|
38499
|
-
"path": "../public/_nuxt/
|
|
38942
|
+
"etag": "\"12d7-yzX3bY+yjWI2Ir8cswaDbLtltvQ\"",
|
|
38943
|
+
"mtime": "2026-09-12T03:59:43.235Z",
|
|
38944
|
+
"size": 4823,
|
|
38945
|
+
"path": "../public/_nuxt/DzbFpZRk.js"
|
|
38500
38946
|
},
|
|
38501
|
-
"/_nuxt/
|
|
38947
|
+
"/_nuxt/Dz_Q3Lpw2.js": {
|
|
38502
38948
|
"type": "text/javascript; charset=utf-8",
|
|
38503
|
-
"etag": "\"
|
|
38504
|
-
"mtime": "2026-09-
|
|
38505
|
-
"size":
|
|
38506
|
-
"path": "../public/_nuxt/
|
|
38949
|
+
"etag": "\"39d2-I7HGf3BtAL6slz4WB2XKvH99HmQ\"",
|
|
38950
|
+
"mtime": "2026-09-12T03:59:43.235Z",
|
|
38951
|
+
"size": 14802,
|
|
38952
|
+
"path": "../public/_nuxt/Dz_Q3Lpw2.js"
|
|
38507
38953
|
},
|
|
38508
38954
|
"/_nuxt/eb-garamond-cyrillic-400-italic.BZInx2ys.woff": {
|
|
38509
38955
|
"type": "font/woff",
|
|
38510
38956
|
"etag": "\"3f04-1MKyFKXvChwQTK9MnbAM3SwAP/w\"",
|
|
38511
|
-
"mtime": "2026-09-
|
|
38957
|
+
"mtime": "2026-09-12T03:59:43.243Z",
|
|
38512
38958
|
"size": 16132,
|
|
38513
38959
|
"path": "../public/_nuxt/eb-garamond-cyrillic-400-italic.BZInx2ys.woff"
|
|
38514
38960
|
},
|
|
38515
|
-
"/_nuxt/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2": {
|
|
38516
|
-
"type": "font/woff2",
|
|
38517
|
-
"etag": "\"3504-t17DeaJZ5CiTr/7PdWXcRgN9/Yc\"",
|
|
38518
|
-
"mtime": "2026-09-11T13:02:27.900Z",
|
|
38519
|
-
"size": 13572,
|
|
38520
|
-
"path": "../public/_nuxt/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2"
|
|
38521
|
-
},
|
|
38522
38961
|
"/_nuxt/eb-garamond-cyrillic-400-normal.C0kVTdou.woff": {
|
|
38523
38962
|
"type": "font/woff",
|
|
38524
38963
|
"etag": "\"3c88-Q5XoFKe1rGp1UkdvSR6MtPcFfgQ\"",
|
|
38525
|
-
"mtime": "2026-09-
|
|
38964
|
+
"mtime": "2026-09-12T03:59:43.243Z",
|
|
38526
38965
|
"size": 15496,
|
|
38527
38966
|
"path": "../public/_nuxt/eb-garamond-cyrillic-400-normal.C0kVTdou.woff"
|
|
38528
38967
|
},
|
|
38968
|
+
"/_nuxt/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2": {
|
|
38969
|
+
"type": "font/woff2",
|
|
38970
|
+
"etag": "\"3504-t17DeaJZ5CiTr/7PdWXcRgN9/Yc\"",
|
|
38971
|
+
"mtime": "2026-09-12T03:59:43.243Z",
|
|
38972
|
+
"size": 13572,
|
|
38973
|
+
"path": "../public/_nuxt/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2"
|
|
38974
|
+
},
|
|
38529
38975
|
"/_nuxt/eb-garamond-cyrillic-400-normal.DDLP67lu.woff2": {
|
|
38530
38976
|
"type": "font/woff2",
|
|
38531
38977
|
"etag": "\"33d4-lVrdxXudnaWAAL0JfU6b+yZGpK0\"",
|
|
38532
|
-
"mtime": "2026-09-
|
|
38978
|
+
"mtime": "2026-09-12T03:59:43.244Z",
|
|
38533
38979
|
"size": 13268,
|
|
38534
38980
|
"path": "../public/_nuxt/eb-garamond-cyrillic-400-normal.DDLP67lu.woff2"
|
|
38535
38981
|
},
|
|
38536
|
-
"/_nuxt/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff": {
|
|
38537
|
-
"type": "font/woff",
|
|
38538
|
-
"etag": "\"5698-6bgErOYTElI0Z3Untp+h0Xi0FGs\"",
|
|
38539
|
-
"mtime": "2026-09-11T13:02:27.901Z",
|
|
38540
|
-
"size": 22168,
|
|
38541
|
-
"path": "../public/_nuxt/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff"
|
|
38542
|
-
},
|
|
38543
38982
|
"/_nuxt/eb-garamond-cyrillic-ext-400-italic.Bz1w3xqM.woff2": {
|
|
38544
38983
|
"type": "font/woff2",
|
|
38545
38984
|
"etag": "\"4620-AEmSjSDDFDLAiok0BdjqqFs2mx4\"",
|
|
38546
|
-
"mtime": "2026-09-
|
|
38985
|
+
"mtime": "2026-09-12T03:59:43.244Z",
|
|
38547
38986
|
"size": 17952,
|
|
38548
38987
|
"path": "../public/_nuxt/eb-garamond-cyrillic-ext-400-italic.Bz1w3xqM.woff2"
|
|
38549
38988
|
},
|
|
38989
|
+
"/_nuxt/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff": {
|
|
38990
|
+
"type": "font/woff",
|
|
38991
|
+
"etag": "\"5698-6bgErOYTElI0Z3Untp+h0Xi0FGs\"",
|
|
38992
|
+
"mtime": "2026-09-12T03:59:43.244Z",
|
|
38993
|
+
"size": 22168,
|
|
38994
|
+
"path": "../public/_nuxt/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff"
|
|
38995
|
+
},
|
|
38550
38996
|
"/_nuxt/eb-garamond-cyrillic-ext-400-normal.DG8lny6_.woff": {
|
|
38551
38997
|
"type": "font/woff",
|
|
38552
38998
|
"etag": "\"4fcc-Wt58DNvJEH8PhhsEwR/fAuZLZf0\"",
|
|
38553
|
-
"mtime": "2026-09-
|
|
38999
|
+
"mtime": "2026-09-12T03:59:43.245Z",
|
|
38554
39000
|
"size": 20428,
|
|
38555
39001
|
"path": "../public/_nuxt/eb-garamond-cyrillic-ext-400-normal.DG8lny6_.woff"
|
|
38556
39002
|
},
|
|
38557
39003
|
"/_nuxt/eb-garamond-cyrillic-ext-400-normal.o8fRvAFQ.woff2": {
|
|
38558
39004
|
"type": "font/woff2",
|
|
38559
39005
|
"etag": "\"419c-BgVrkDzxBAskhVuAe8ZPKrVJ2vk\"",
|
|
38560
|
-
"mtime": "2026-09-
|
|
39006
|
+
"mtime": "2026-09-12T03:59:43.245Z",
|
|
38561
39007
|
"size": 16796,
|
|
38562
39008
|
"path": "../public/_nuxt/eb-garamond-cyrillic-ext-400-normal.o8fRvAFQ.woff2"
|
|
38563
39009
|
},
|
|
38564
39010
|
"/_nuxt/eb-garamond-greek-400-italic.BamGE6QP.woff": {
|
|
38565
39011
|
"type": "font/woff",
|
|
38566
39012
|
"etag": "\"307c-Fmorq8T0Tyl1FByuAGfnIMJMsU0\"",
|
|
38567
|
-
"mtime": "2026-09-
|
|
39013
|
+
"mtime": "2026-09-12T03:59:43.245Z",
|
|
38568
39014
|
"size": 12412,
|
|
38569
39015
|
"path": "../public/_nuxt/eb-garamond-greek-400-italic.BamGE6QP.woff"
|
|
38570
39016
|
},
|
|
38571
39017
|
"/_nuxt/eb-garamond-greek-400-italic.Dqr5KC66.woff2": {
|
|
38572
39018
|
"type": "font/woff2",
|
|
38573
39019
|
"etag": "\"2904-BXAeLh8O+jrT8ujKrV7WtU2zP1c\"",
|
|
38574
|
-
"mtime": "2026-09-
|
|
39020
|
+
"mtime": "2026-09-12T03:59:43.245Z",
|
|
38575
39021
|
"size": 10500,
|
|
38576
39022
|
"path": "../public/_nuxt/eb-garamond-greek-400-italic.Dqr5KC66.woff2"
|
|
38577
39023
|
},
|
|
38578
|
-
"/_nuxt/eb-garamond-greek-400-normal.CVAbzS9p.woff2": {
|
|
38579
|
-
"type": "font/woff2",
|
|
38580
|
-
"etag": "\"2a00-ZNzj8SIiN3t2N23u++WhC6jE8gk\"",
|
|
38581
|
-
"mtime": "2026-09-11T13:02:27.902Z",
|
|
38582
|
-
"size": 10752,
|
|
38583
|
-
"path": "../public/_nuxt/eb-garamond-greek-400-normal.CVAbzS9p.woff2"
|
|
38584
|
-
},
|
|
38585
39024
|
"/_nuxt/eb-garamond-greek-400-normal.d4JlP2QH.woff": {
|
|
38586
39025
|
"type": "font/woff",
|
|
38587
39026
|
"etag": "\"3108-ggShwQ6kE+MAR7EEQafdmWunxHg\"",
|
|
38588
|
-
"mtime": "2026-09-
|
|
39027
|
+
"mtime": "2026-09-12T03:59:43.246Z",
|
|
38589
39028
|
"size": 12552,
|
|
38590
39029
|
"path": "../public/_nuxt/eb-garamond-greek-400-normal.d4JlP2QH.woff"
|
|
38591
39030
|
},
|
|
39031
|
+
"/_nuxt/eb-garamond-greek-400-normal.CVAbzS9p.woff2": {
|
|
39032
|
+
"type": "font/woff2",
|
|
39033
|
+
"etag": "\"2a00-ZNzj8SIiN3t2N23u++WhC6jE8gk\"",
|
|
39034
|
+
"mtime": "2026-09-12T03:59:43.245Z",
|
|
39035
|
+
"size": 10752,
|
|
39036
|
+
"path": "../public/_nuxt/eb-garamond-greek-400-normal.CVAbzS9p.woff2"
|
|
39037
|
+
},
|
|
38592
39038
|
"/_nuxt/eb-garamond-greek-ext-400-italic.BL1XYHtS.woff": {
|
|
38593
39039
|
"type": "font/woff",
|
|
38594
39040
|
"etag": "\"2304-q8ppn7qePqLys53UrEKMrGT8e6E\"",
|
|
38595
|
-
"mtime": "2026-09-
|
|
39041
|
+
"mtime": "2026-09-12T03:59:43.246Z",
|
|
38596
39042
|
"size": 8964,
|
|
38597
39043
|
"path": "../public/_nuxt/eb-garamond-greek-ext-400-italic.BL1XYHtS.woff"
|
|
38598
39044
|
},
|
|
39045
|
+
"/_nuxt/eb-garamond-greek-ext-400-normal.BaZl8BIK.woff": {
|
|
39046
|
+
"type": "font/woff",
|
|
39047
|
+
"etag": "\"20b0-FNV/ZgjupejIrGOsz4+8EYVUXHo\"",
|
|
39048
|
+
"mtime": "2026-09-12T03:59:43.247Z",
|
|
39049
|
+
"size": 8368,
|
|
39050
|
+
"path": "../public/_nuxt/eb-garamond-greek-ext-400-normal.BaZl8BIK.woff"
|
|
39051
|
+
},
|
|
39052
|
+
"/_nuxt/DYr1VMiQ.js": {
|
|
39053
|
+
"type": "text/javascript; charset=utf-8",
|
|
39054
|
+
"etag": "\"14128-u+iLJm1OCFSZy6SZdZC9SpDNZKM\"",
|
|
39055
|
+
"mtime": "2026-09-12T03:59:43.232Z",
|
|
39056
|
+
"size": 82216,
|
|
39057
|
+
"path": "../public/_nuxt/DYr1VMiQ.js"
|
|
39058
|
+
},
|
|
38599
39059
|
"/_nuxt/eb-garamond-greek-ext-400-italic.CHZOQEtG.woff2": {
|
|
38600
39060
|
"type": "font/woff2",
|
|
38601
39061
|
"etag": "\"19d0-ppOK6AfNTXYuDEeeEMQQhOypGW8\"",
|
|
38602
|
-
"mtime": "2026-09-
|
|
39062
|
+
"mtime": "2026-09-12T03:59:43.246Z",
|
|
38603
39063
|
"size": 6608,
|
|
38604
39064
|
"path": "../public/_nuxt/eb-garamond-greek-ext-400-italic.CHZOQEtG.woff2"
|
|
38605
39065
|
},
|
|
38606
|
-
"/_nuxt/
|
|
38607
|
-
"type": "
|
|
38608
|
-
"etag": "\"
|
|
38609
|
-
"mtime": "2026-09-
|
|
38610
|
-
"size":
|
|
38611
|
-
"path": "../public/_nuxt/
|
|
39066
|
+
"/_nuxt/DUrecWPx.js": {
|
|
39067
|
+
"type": "text/javascript; charset=utf-8",
|
|
39068
|
+
"etag": "\"9095e-l1Y5uaqwCSwzDmMZvMC0IgZ+OHM\"",
|
|
39069
|
+
"mtime": "2026-09-12T03:59:43.231Z",
|
|
39070
|
+
"size": 592222,
|
|
39071
|
+
"path": "../public/_nuxt/DUrecWPx.js"
|
|
38612
39072
|
},
|
|
38613
39073
|
"/_nuxt/eb-garamond-greek-ext-400-normal.K8pwR3tn.woff2": {
|
|
38614
39074
|
"type": "font/woff2",
|
|
38615
39075
|
"etag": "\"1940-Y3hsqG2RXMGI9hHTiI+Nv2Q4msM\"",
|
|
38616
|
-
"mtime": "2026-09-
|
|
39076
|
+
"mtime": "2026-09-12T03:59:43.247Z",
|
|
38617
39077
|
"size": 6464,
|
|
38618
39078
|
"path": "../public/_nuxt/eb-garamond-greek-ext-400-normal.K8pwR3tn.woff2"
|
|
38619
39079
|
},
|
|
38620
39080
|
"/_nuxt/eb-garamond-latin-400-italic.CDFyLPXJ.woff": {
|
|
38621
39081
|
"type": "font/woff",
|
|
38622
39082
|
"etag": "\"7890-VX8YYh09367bg28IWSUybEXrsDQ\"",
|
|
38623
|
-
"mtime": "2026-09-
|
|
39083
|
+
"mtime": "2026-09-12T03:59:43.247Z",
|
|
38624
39084
|
"size": 30864,
|
|
38625
39085
|
"path": "../public/_nuxt/eb-garamond-latin-400-italic.CDFyLPXJ.woff"
|
|
38626
39086
|
},
|
|
38627
|
-
"/_nuxt/eb-garamond-latin-400-normal.maQnHeKB.woff": {
|
|
38628
|
-
"type": "font/woff",
|
|
38629
|
-
"etag": "\"6fc0-tKFcVMt7ocp7dmWyG6/kxtP5mKY\"",
|
|
38630
|
-
"mtime": "2026-09-11T13:02:27.904Z",
|
|
38631
|
-
"size": 28608,
|
|
38632
|
-
"path": "../public/_nuxt/eb-garamond-latin-400-normal.maQnHeKB.woff"
|
|
38633
|
-
},
|
|
38634
39087
|
"/_nuxt/eb-garamond-latin-400-italic.DSEbMgZu.woff2": {
|
|
38635
39088
|
"type": "font/woff2",
|
|
38636
39089
|
"etag": "\"632c-iB8RNlBCm9D0APLcMJ/hIPATx+0\"",
|
|
38637
|
-
"mtime": "2026-09-
|
|
39090
|
+
"mtime": "2026-09-12T03:59:43.247Z",
|
|
38638
39091
|
"size": 25388,
|
|
38639
39092
|
"path": "../public/_nuxt/eb-garamond-latin-400-italic.DSEbMgZu.woff2"
|
|
38640
39093
|
},
|
|
38641
39094
|
"/_nuxt/eb-garamond-latin-400-normal.BCNrxLz_.woff2": {
|
|
38642
39095
|
"type": "font/woff2",
|
|
38643
39096
|
"etag": "\"5d0c-w7FmIa34l5RBoJYmvp9lwadEvW4\"",
|
|
38644
|
-
"mtime": "2026-09-
|
|
39097
|
+
"mtime": "2026-09-12T03:59:43.247Z",
|
|
38645
39098
|
"size": 23820,
|
|
38646
39099
|
"path": "../public/_nuxt/eb-garamond-latin-400-normal.BCNrxLz_.woff2"
|
|
38647
39100
|
},
|
|
39101
|
+
"/_nuxt/eb-garamond-latin-400-normal.maQnHeKB.woff": {
|
|
39102
|
+
"type": "font/woff",
|
|
39103
|
+
"etag": "\"6fc0-tKFcVMt7ocp7dmWyG6/kxtP5mKY\"",
|
|
39104
|
+
"mtime": "2026-09-12T03:59:43.248Z",
|
|
39105
|
+
"size": 28608,
|
|
39106
|
+
"path": "../public/_nuxt/eb-garamond-latin-400-normal.maQnHeKB.woff"
|
|
39107
|
+
},
|
|
38648
39108
|
"/_nuxt/eb-garamond-latin-ext-400-italic.DUSsnRSD.woff": {
|
|
38649
39109
|
"type": "font/woff",
|
|
38650
39110
|
"etag": "\"f5b8-o98RIl4uKzIPJHZZpEI+mI17K3c\"",
|
|
38651
|
-
"mtime": "2026-09-
|
|
39111
|
+
"mtime": "2026-09-12T03:59:43.248Z",
|
|
38652
39112
|
"size": 62904,
|
|
38653
39113
|
"path": "../public/_nuxt/eb-garamond-latin-ext-400-italic.DUSsnRSD.woff"
|
|
38654
39114
|
},
|
|
38655
39115
|
"/_nuxt/eb-garamond-latin-ext-400-italic.V7s3nWfX.woff2": {
|
|
38656
39116
|
"type": "font/woff2",
|
|
38657
39117
|
"etag": "\"b19c-7qms9anmdJJsBixQTHSocgV31Qk\"",
|
|
38658
|
-
"mtime": "2026-09-
|
|
39118
|
+
"mtime": "2026-09-12T03:59:43.248Z",
|
|
38659
39119
|
"size": 45468,
|
|
38660
39120
|
"path": "../public/_nuxt/eb-garamond-latin-ext-400-italic.V7s3nWfX.woff2"
|
|
38661
39121
|
},
|
|
38662
39122
|
"/_nuxt/eb-garamond-latin-ext-400-normal.B4EmgUmt.woff": {
|
|
38663
39123
|
"type": "font/woff",
|
|
38664
39124
|
"etag": "\"12b44-jg/K3aZca4XOngCAf1Jh47/0cj8\"",
|
|
38665
|
-
"mtime": "2026-09-
|
|
39125
|
+
"mtime": "2026-09-12T03:59:43.248Z",
|
|
38666
39126
|
"size": 76612,
|
|
38667
39127
|
"path": "../public/_nuxt/eb-garamond-latin-ext-400-normal.B4EmgUmt.woff"
|
|
38668
39128
|
},
|
|
38669
39129
|
"/_nuxt/eb-garamond-vietnamese-400-italic.DQ8HKnks.woff2": {
|
|
38670
39130
|
"type": "font/woff2",
|
|
38671
39131
|
"etag": "\"187c-Wj36AOh9OjwDZT5W3eeao1D/NT4\"",
|
|
38672
|
-
"mtime": "2026-09-
|
|
39132
|
+
"mtime": "2026-09-12T03:59:43.249Z",
|
|
38673
39133
|
"size": 6268,
|
|
38674
39134
|
"path": "../public/_nuxt/eb-garamond-vietnamese-400-italic.DQ8HKnks.woff2"
|
|
38675
39135
|
},
|
|
38676
39136
|
"/_nuxt/eb-garamond-latin-ext-400-normal.o4A__6QZ.woff2": {
|
|
38677
39137
|
"type": "font/woff2",
|
|
38678
39138
|
"etag": "\"de84-qKZ/sgxlZLRv1TmEnWR30Cc4wfw\"",
|
|
38679
|
-
"mtime": "2026-09-
|
|
39139
|
+
"mtime": "2026-09-12T03:59:43.249Z",
|
|
38680
39140
|
"size": 56964,
|
|
38681
39141
|
"path": "../public/_nuxt/eb-garamond-latin-ext-400-normal.o4A__6QZ.woff2"
|
|
38682
39142
|
},
|
|
38683
39143
|
"/_nuxt/eb-garamond-vietnamese-400-italic.ORtyMVfw.woff": {
|
|
38684
39144
|
"type": "font/woff",
|
|
38685
39145
|
"etag": "\"1edc-XUugZ4qMSSF4m+TQLER2LLza1t0\"",
|
|
38686
|
-
"mtime": "2026-09-
|
|
39146
|
+
"mtime": "2026-09-12T03:59:43.250Z",
|
|
38687
39147
|
"size": 7900,
|
|
38688
39148
|
"path": "../public/_nuxt/eb-garamond-vietnamese-400-italic.ORtyMVfw.woff"
|
|
38689
39149
|
},
|
|
38690
39150
|
"/_nuxt/eb-garamond-vietnamese-400-normal.CLvJdMEL.woff2": {
|
|
38691
39151
|
"type": "font/woff2",
|
|
38692
39152
|
"etag": "\"183c-arAHcc3MmJQ6+OtYVThlERUqDQQ\"",
|
|
38693
|
-
"mtime": "2026-09-
|
|
39153
|
+
"mtime": "2026-09-12T03:59:43.250Z",
|
|
38694
39154
|
"size": 6204,
|
|
38695
39155
|
"path": "../public/_nuxt/eb-garamond-vietnamese-400-normal.CLvJdMEL.woff2"
|
|
38696
39156
|
},
|
|
39157
|
+
"/_nuxt/entry.BB-Eeh-J.css": {
|
|
39158
|
+
"type": "text/css; charset=utf-8",
|
|
39159
|
+
"etag": "\"22c96-XxnjyI/eCOm4bHchDmRm07nGUdw\"",
|
|
39160
|
+
"mtime": "2026-09-12T03:59:43.250Z",
|
|
39161
|
+
"size": 142486,
|
|
39162
|
+
"path": "../public/_nuxt/entry.BB-Eeh-J.css"
|
|
39163
|
+
},
|
|
38697
39164
|
"/_nuxt/eb-garamond-vietnamese-400-normal.ifvNSiWx.woff": {
|
|
38698
39165
|
"type": "font/woff",
|
|
38699
39166
|
"etag": "\"1e50-PGVIQbsmhTvI1h5aIhavpIQl8z4\"",
|
|
38700
|
-
"mtime": "2026-09-
|
|
39167
|
+
"mtime": "2026-09-12T03:59:43.250Z",
|
|
38701
39168
|
"size": 7760,
|
|
38702
39169
|
"path": "../public/_nuxt/eb-garamond-vietnamese-400-normal.ifvNSiWx.woff"
|
|
38703
39170
|
},
|
|
38704
|
-
"/_nuxt/ekuGmQ7R.js": {
|
|
38705
|
-
"type": "text/javascript; charset=utf-8",
|
|
38706
|
-
"etag": "\"5f2-QOjCRpxYZho41W5eoXY4CpvV16I\"",
|
|
38707
|
-
"mtime": "2026-09-11T13:02:27.897Z",
|
|
38708
|
-
"size": 1522,
|
|
38709
|
-
"path": "../public/_nuxt/ekuGmQ7R.js"
|
|
38710
|
-
},
|
|
38711
|
-
"/_nuxt/FQri3dV3.js": {
|
|
38712
|
-
"type": "text/javascript; charset=utf-8",
|
|
38713
|
-
"etag": "\"9d28-A1mhFeEq6JXP9WiU/lzgX6qqGnM\"",
|
|
38714
|
-
"mtime": "2026-09-11T13:02:27.895Z",
|
|
38715
|
-
"size": 40232,
|
|
38716
|
-
"path": "../public/_nuxt/FQri3dV3.js"
|
|
38717
|
-
},
|
|
38718
39171
|
"/_nuxt/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2": {
|
|
38719
39172
|
"type": "font/woff2",
|
|
38720
39173
|
"etag": "\"1cfc-yYSDXNlt/tTRaj6rJo8ZMqvY7pQ\"",
|
|
38721
|
-
"mtime": "2026-09-
|
|
39174
|
+
"mtime": "2026-09-12T03:59:43.250Z",
|
|
38722
39175
|
"size": 7420,
|
|
38723
39176
|
"path": "../public/_nuxt/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2"
|
|
38724
39177
|
},
|
|
38725
|
-
"/_nuxt/G0qIw7Gq2.js": {
|
|
38726
|
-
"type": "text/javascript; charset=utf-8",
|
|
38727
|
-
"etag": "\"462-s/N+VoJiDplj3GORHgaIwAR+Uqk\"",
|
|
38728
|
-
"mtime": "2026-09-11T13:02:27.896Z",
|
|
38729
|
-
"size": 1122,
|
|
38730
|
-
"path": "../public/_nuxt/G0qIw7Gq2.js"
|
|
38731
|
-
},
|
|
38732
|
-
"/_nuxt/entry.jFrFAWuA.css": {
|
|
38733
|
-
"type": "text/css; charset=utf-8",
|
|
38734
|
-
"etag": "\"2149f-XybaaWT8IIh+ycY/8Br++oA4uGU\"",
|
|
38735
|
-
"mtime": "2026-09-11T13:02:27.905Z",
|
|
38736
|
-
"size": 136351,
|
|
38737
|
-
"path": "../public/_nuxt/entry.jFrFAWuA.css"
|
|
38738
|
-
},
|
|
38739
39178
|
"/_nuxt/geist-cyrillic-wght-normal.BEAKL7Jp.woff2": {
|
|
38740
39179
|
"type": "font/woff2",
|
|
38741
39180
|
"etag": "\"3aec-5kpQSZEtAzzU5kdiuro3Zr2YR54\"",
|
|
38742
|
-
"mtime": "2026-09-
|
|
39181
|
+
"mtime": "2026-09-12T03:59:43.251Z",
|
|
38743
39182
|
"size": 15084,
|
|
38744
39183
|
"path": "../public/_nuxt/geist-cyrillic-wght-normal.BEAKL7Jp.woff2"
|
|
38745
39184
|
},
|
|
38746
39185
|
"/_nuxt/geist-latin-ext-wght-normal.DC-KSUi6.woff2": {
|
|
38747
39186
|
"type": "font/woff2",
|
|
38748
39187
|
"etag": "\"4080-mZu3Z7sOWqglha+kefNbUA9Pp+Q\"",
|
|
38749
|
-
"mtime": "2026-09-
|
|
39188
|
+
"mtime": "2026-09-12T03:59:43.251Z",
|
|
38750
39189
|
"size": 16512,
|
|
38751
39190
|
"path": "../public/_nuxt/geist-latin-ext-wght-normal.DC-KSUi6.woff2"
|
|
38752
39191
|
},
|
|
39192
|
+
"/_nuxt/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2": {
|
|
39193
|
+
"type": "font/woff2",
|
|
39194
|
+
"etag": "\"1820-nQACIwCsmkduQK2CSMidMhmLR9U\"",
|
|
39195
|
+
"mtime": "2026-09-12T03:59:43.251Z",
|
|
39196
|
+
"size": 6176,
|
|
39197
|
+
"path": "../public/_nuxt/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2"
|
|
39198
|
+
},
|
|
38753
39199
|
"/_nuxt/geist-latin-wght-normal.BgDaEnEv.woff2": {
|
|
38754
39200
|
"type": "font/woff2",
|
|
38755
39201
|
"etag": "\"72d8-9J+D7/6th5UzRxIgoFX9awJv47A\"",
|
|
38756
|
-
"mtime": "2026-09-
|
|
39202
|
+
"mtime": "2026-09-12T03:59:43.251Z",
|
|
38757
39203
|
"size": 29400,
|
|
38758
39204
|
"path": "../public/_nuxt/geist-latin-wght-normal.BgDaEnEv.woff2"
|
|
38759
39205
|
},
|
|
38760
39206
|
"/_nuxt/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2": {
|
|
38761
39207
|
"type": "font/woff2",
|
|
38762
39208
|
"etag": "\"328c-3kQUs7xjzfvJdLvI58iU6DHlynA\"",
|
|
38763
|
-
"mtime": "2026-09-
|
|
39209
|
+
"mtime": "2026-09-12T03:59:43.252Z",
|
|
38764
39210
|
"size": 12940,
|
|
38765
39211
|
"path": "../public/_nuxt/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2"
|
|
38766
39212
|
},
|
|
38767
|
-
"/_nuxt/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2": {
|
|
38768
|
-
"type": "font/woff2",
|
|
38769
|
-
"etag": "\"1820-nQACIwCsmkduQK2CSMidMhmLR9U\"",
|
|
38770
|
-
"mtime": "2026-09-11T13:02:27.907Z",
|
|
38771
|
-
"size": 6176,
|
|
38772
|
-
"path": "../public/_nuxt/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2"
|
|
38773
|
-
},
|
|
38774
39213
|
"/_nuxt/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2": {
|
|
38775
39214
|
"type": "font/woff2",
|
|
38776
39215
|
"etag": "\"3968-BV9ZbqWHVAcipAKX5y8la3JkUQs\"",
|
|
38777
|
-
"mtime": "2026-09-
|
|
39216
|
+
"mtime": "2026-09-12T03:59:43.252Z",
|
|
38778
39217
|
"size": 14696,
|
|
38779
39218
|
"path": "../public/_nuxt/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2"
|
|
38780
39219
|
},
|
|
38781
39220
|
"/_nuxt/geist-mono-latin-wght-normal.XN7g48iV.woff2": {
|
|
38782
39221
|
"type": "font/woff2",
|
|
38783
39222
|
"etag": "\"5a58-jDy+14PX7OhwqFZsiKzuRax9xZ8\"",
|
|
38784
|
-
"mtime": "2026-09-
|
|
39223
|
+
"mtime": "2026-09-12T03:59:43.252Z",
|
|
38785
39224
|
"size": 23128,
|
|
38786
39225
|
"path": "../public/_nuxt/geist-mono-latin-wght-normal.XN7g48iV.woff2"
|
|
38787
39226
|
},
|
|
38788
39227
|
"/_nuxt/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2": {
|
|
38789
39228
|
"type": "font/woff2",
|
|
38790
39229
|
"etag": "\"16b4-aZoLOGWoEYW7gmwZamfz5kTfFco\"",
|
|
38791
|
-
"mtime": "2026-09-
|
|
39230
|
+
"mtime": "2026-09-12T03:59:43.252Z",
|
|
38792
39231
|
"size": 5812,
|
|
38793
39232
|
"path": "../public/_nuxt/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2"
|
|
38794
39233
|
},
|
|
38795
39234
|
"/_nuxt/geist-mono-vietnamese-wght-normal.DadHysG0.woff2": {
|
|
38796
39235
|
"type": "font/woff2",
|
|
38797
39236
|
"etag": "\"1e10-mpU2OlFk4DakDO4paRfgJ2LHDsM\"",
|
|
38798
|
-
"mtime": "2026-09-
|
|
39237
|
+
"mtime": "2026-09-12T03:59:43.253Z",
|
|
38799
39238
|
"size": 7696,
|
|
38800
39239
|
"path": "../public/_nuxt/geist-mono-vietnamese-wght-normal.DadHysG0.woff2"
|
|
38801
39240
|
},
|
|
38802
39241
|
"/_nuxt/geist-vietnamese-wght-normal.6IgcOCM7.woff2": {
|
|
38803
39242
|
"type": "font/woff2",
|
|
38804
39243
|
"etag": "\"1f44-6MZ7/PEEOeDVF0eHI650KpwKQV8\"",
|
|
38805
|
-
"mtime": "2026-09-
|
|
39244
|
+
"mtime": "2026-09-12T03:59:43.253Z",
|
|
38806
39245
|
"size": 8004,
|
|
38807
39246
|
"path": "../public/_nuxt/geist-vietnamese-wght-normal.6IgcOCM7.woff2"
|
|
38808
39247
|
},
|
|
39248
|
+
"/_nuxt/HBLJ-wei.js": {
|
|
39249
|
+
"type": "text/javascript; charset=utf-8",
|
|
39250
|
+
"etag": "\"13a1-fzEUxRt3em5vbto3D3QQ5+jkREo\"",
|
|
39251
|
+
"mtime": "2026-09-12T03:59:43.235Z",
|
|
39252
|
+
"size": 5025,
|
|
39253
|
+
"path": "../public/_nuxt/HBLJ-wei.js"
|
|
39254
|
+
},
|
|
38809
39255
|
"/_nuxt/HclGiUj8.js": {
|
|
38810
39256
|
"type": "text/javascript; charset=utf-8",
|
|
38811
39257
|
"etag": "\"4bb-OjUbx7m0dPDFUkNfZ4BuUs+1sHI\"",
|
|
38812
|
-
"mtime": "2026-09-
|
|
39258
|
+
"mtime": "2026-09-12T03:59:43.236Z",
|
|
38813
39259
|
"size": 1211,
|
|
38814
39260
|
"path": "../public/_nuxt/HclGiUj8.js"
|
|
38815
39261
|
},
|
|
39262
|
+
"/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2": {
|
|
39263
|
+
"type": "font/woff2",
|
|
39264
|
+
"etag": "\"20a4-mDbzFbXDuciYuRDdYbcJkcocaWU\"",
|
|
39265
|
+
"mtime": "2026-09-12T03:59:43.253Z",
|
|
39266
|
+
"size": 8356,
|
|
39267
|
+
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2"
|
|
39268
|
+
},
|
|
38816
39269
|
"/_nuxt/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff": {
|
|
38817
39270
|
"type": "font/woff",
|
|
38818
39271
|
"etag": "\"1c24-wpeoT2YBcqJ4hbipsoiB1m58w98\"",
|
|
38819
|
-
"mtime": "2026-09-
|
|
39272
|
+
"mtime": "2026-09-12T03:59:43.253Z",
|
|
38820
39273
|
"size": 7204,
|
|
38821
39274
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff"
|
|
38822
39275
|
},
|
|
38823
39276
|
"/_nuxt/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff": {
|
|
38824
39277
|
"type": "font/woff",
|
|
38825
39278
|
"etag": "\"1c28-50yap58S0sLYRB2B8AEk2dq82kg\"",
|
|
38826
|
-
"mtime": "2026-09-
|
|
39279
|
+
"mtime": "2026-09-12T03:59:43.253Z",
|
|
38827
39280
|
"size": 7208,
|
|
38828
39281
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff"
|
|
38829
39282
|
},
|
|
38830
|
-
"/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2": {
|
|
38831
|
-
"type": "font/woff2",
|
|
38832
|
-
"etag": "\"20a4-mDbzFbXDuciYuRDdYbcJkcocaWU\"",
|
|
38833
|
-
"mtime": "2026-09-11T13:02:27.909Z",
|
|
38834
|
-
"size": 8356,
|
|
38835
|
-
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2"
|
|
38836
|
-
},
|
|
38837
39283
|
"/_nuxt/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2": {
|
|
38838
39284
|
"type": "font/woff2",
|
|
38839
39285
|
"etag": "\"210c-yqAnW+098RkHUvQzwj27Jo9sIUc\"",
|
|
38840
|
-
"mtime": "2026-09-
|
|
39286
|
+
"mtime": "2026-09-12T03:59:43.254Z",
|
|
38841
39287
|
"size": 8460,
|
|
38842
39288
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2"
|
|
38843
39289
|
},
|
|
38844
|
-
"/_nuxt/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff": {
|
|
38845
|
-
"type": "font/woff",
|
|
38846
|
-
"etag": "\"1c64-t3eBraFEv1B6D+DIfK23+8/F2mA\"",
|
|
38847
|
-
"mtime": "2026-09-11T13:02:27.909Z",
|
|
38848
|
-
"size": 7268,
|
|
38849
|
-
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff"
|
|
38850
|
-
},
|
|
38851
39290
|
"/_nuxt/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2": {
|
|
38852
39291
|
"type": "font/woff2",
|
|
38853
39292
|
"etag": "\"2488-WHfw+ZaOHy8HhYaV0AzfKZ8dozA\"",
|
|
38854
|
-
"mtime": "2026-09-
|
|
39293
|
+
"mtime": "2026-09-12T03:59:43.254Z",
|
|
38855
39294
|
"size": 9352,
|
|
38856
39295
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2"
|
|
38857
39296
|
},
|
|
38858
|
-
"/_nuxt/ibm-plex-mono-cyrillic-
|
|
39297
|
+
"/_nuxt/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff": {
|
|
38859
39298
|
"type": "font/woff",
|
|
38860
|
-
"etag": "\"
|
|
38861
|
-
"mtime": "2026-09-
|
|
38862
|
-
"size":
|
|
38863
|
-
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-
|
|
39299
|
+
"etag": "\"1c64-t3eBraFEv1B6D+DIfK23+8/F2mA\"",
|
|
39300
|
+
"mtime": "2026-09-12T03:59:43.254Z",
|
|
39301
|
+
"size": 7268,
|
|
39302
|
+
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff"
|
|
38864
39303
|
},
|
|
38865
39304
|
"/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2": {
|
|
38866
39305
|
"type": "font/woff2",
|
|
38867
39306
|
"etag": "\"1b00-w57wcK5m30ZZ4sBwsaWzlcI3F7c\"",
|
|
38868
|
-
"mtime": "2026-09-
|
|
39307
|
+
"mtime": "2026-09-12T03:59:43.255Z",
|
|
38869
39308
|
"size": 6912,
|
|
38870
39309
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2"
|
|
38871
39310
|
},
|
|
38872
|
-
"/_nuxt/ibm-plex-mono-cyrillic-ext-
|
|
39311
|
+
"/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff": {
|
|
38873
39312
|
"type": "font/woff",
|
|
38874
|
-
"etag": "\"
|
|
38875
|
-
"mtime": "2026-09-
|
|
38876
|
-
"size":
|
|
38877
|
-
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-
|
|
39313
|
+
"etag": "\"16bc-GBHBT1lClOFRLkxzjkkoZV1QN+Y\"",
|
|
39314
|
+
"mtime": "2026-09-12T03:59:43.254Z",
|
|
39315
|
+
"size": 5820,
|
|
39316
|
+
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff"
|
|
38878
39317
|
},
|
|
38879
39318
|
"/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2": {
|
|
38880
39319
|
"type": "font/woff2",
|
|
38881
39320
|
"etag": "\"1b3c-pFin0Xk9XlGLhqdo1+npFJkyQ5Y\"",
|
|
38882
|
-
"mtime": "2026-09-
|
|
39321
|
+
"mtime": "2026-09-12T03:59:43.255Z",
|
|
38883
39322
|
"size": 6972,
|
|
38884
39323
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2"
|
|
38885
39324
|
},
|
|
38886
39325
|
"/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff": {
|
|
38887
39326
|
"type": "font/woff",
|
|
38888
39327
|
"etag": "\"16a0-8RgtlGopOkBt2P4jKMMd7hk+D74\"",
|
|
38889
|
-
"mtime": "2026-09-
|
|
39328
|
+
"mtime": "2026-09-12T03:59:43.255Z",
|
|
38890
39329
|
"size": 5792,
|
|
38891
39330
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff"
|
|
38892
39331
|
},
|
|
39332
|
+
"/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff": {
|
|
39333
|
+
"type": "font/woff",
|
|
39334
|
+
"etag": "\"168c-gvDCX7ATl9g9LbPEKlQjJSXhRPw\"",
|
|
39335
|
+
"mtime": "2026-09-12T03:59:43.255Z",
|
|
39336
|
+
"size": 5772,
|
|
39337
|
+
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff"
|
|
39338
|
+
},
|
|
38893
39339
|
"/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2": {
|
|
38894
39340
|
"type": "font/woff2",
|
|
38895
39341
|
"etag": "\"1e0c-R9/TBUX2qLWGlHeC55LoggyLdII\"",
|
|
38896
|
-
"mtime": "2026-09-
|
|
39342
|
+
"mtime": "2026-09-12T03:59:43.256Z",
|
|
38897
39343
|
"size": 7692,
|
|
38898
39344
|
"path": "../public/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2"
|
|
38899
39345
|
},
|
|
38900
39346
|
"/_nuxt/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff": {
|
|
38901
39347
|
"type": "font/woff",
|
|
38902
39348
|
"etag": "\"3358-rWMSbc9cch7FBErQpfnWcshAYFM\"",
|
|
38903
|
-
"mtime": "2026-09-
|
|
39349
|
+
"mtime": "2026-09-12T03:59:43.256Z",
|
|
38904
39350
|
"size": 13144,
|
|
38905
39351
|
"path": "../public/_nuxt/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff"
|
|
38906
39352
|
},
|
|
38907
39353
|
"/_nuxt/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2": {
|
|
38908
39354
|
"type": "font/woff2",
|
|
38909
39355
|
"etag": "\"3974-u4dQDjIEo6fGXWYzx5xchAw76NM\"",
|
|
38910
|
-
"mtime": "2026-09-
|
|
39356
|
+
"mtime": "2026-09-12T03:59:43.256Z",
|
|
38911
39357
|
"size": 14708,
|
|
38912
39358
|
"path": "../public/_nuxt/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2"
|
|
38913
39359
|
},
|
|
38914
39360
|
"/_nuxt/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff": {
|
|
38915
39361
|
"type": "font/woff",
|
|
38916
39362
|
"etag": "\"3364-S8wip5no4QO46BFh3FPzQKpIOec\"",
|
|
38917
|
-
"mtime": "2026-09-
|
|
39363
|
+
"mtime": "2026-09-12T03:59:43.257Z",
|
|
38918
39364
|
"size": 13156,
|
|
38919
39365
|
"path": "../public/_nuxt/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff"
|
|
38920
39366
|
},
|
|
38921
39367
|
"/_nuxt/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2": {
|
|
38922
39368
|
"type": "font/woff2",
|
|
38923
39369
|
"etag": "\"3a28-0y8OBwGsYgQ4QBMagAznF6huTuI\"",
|
|
38924
|
-
"mtime": "2026-09-
|
|
39370
|
+
"mtime": "2026-09-12T03:59:43.257Z",
|
|
38925
39371
|
"size": 14888,
|
|
38926
39372
|
"path": "../public/_nuxt/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2"
|
|
38927
39373
|
},
|
|
38928
39374
|
"/_nuxt/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2": {
|
|
38929
39375
|
"type": "font/woff2",
|
|
38930
39376
|
"etag": "\"3d04-zppco6h02pIBwmMMXLe/qpaIwFI\"",
|
|
38931
|
-
"mtime": "2026-09-
|
|
39377
|
+
"mtime": "2026-09-12T03:59:43.257Z",
|
|
38932
39378
|
"size": 15620,
|
|
38933
39379
|
"path": "../public/_nuxt/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2"
|
|
38934
39380
|
},
|
|
38935
39381
|
"/_nuxt/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff": {
|
|
38936
39382
|
"type": "font/woff",
|
|
38937
39383
|
"etag": "\"3398-D/GHpHo4zls8HLHH2boKeigB6S4\"",
|
|
38938
|
-
"mtime": "2026-09-
|
|
39384
|
+
"mtime": "2026-09-12T03:59:43.257Z",
|
|
38939
39385
|
"size": 13208,
|
|
38940
39386
|
"path": "../public/_nuxt/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff"
|
|
38941
39387
|
},
|
|
38942
39388
|
"/_nuxt/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2": {
|
|
38943
39389
|
"type": "font/woff2",
|
|
38944
39390
|
"etag": "\"3424-SvjO9SK9iRLLL61B4GuQJWQP62I\"",
|
|
38945
|
-
"mtime": "2026-09-
|
|
39391
|
+
"mtime": "2026-09-12T03:59:43.258Z",
|
|
38946
39392
|
"size": 13348,
|
|
38947
39393
|
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2"
|
|
38948
39394
|
},
|
|
38949
39395
|
"/_nuxt/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff": {
|
|
38950
39396
|
"type": "font/woff",
|
|
38951
39397
|
"etag": "\"2df8-dfJwTWMZxHyGnUuJDGfpU4w2dLs\"",
|
|
38952
|
-
"mtime": "2026-09-
|
|
39398
|
+
"mtime": "2026-09-12T03:59:43.258Z",
|
|
38953
39399
|
"size": 11768,
|
|
38954
39400
|
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff"
|
|
38955
39401
|
},
|
|
38956
39402
|
"/_nuxt/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2": {
|
|
38957
39403
|
"type": "font/woff2",
|
|
38958
39404
|
"etag": "\"3478-PpQvQo59iHxPLcEUBhJfmFmCPuA\"",
|
|
38959
|
-
"mtime": "2026-09-
|
|
39405
|
+
"mtime": "2026-09-12T03:59:43.258Z",
|
|
38960
39406
|
"size": 13432,
|
|
38961
39407
|
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2"
|
|
38962
39408
|
},
|
|
38963
39409
|
"/_nuxt/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff": {
|
|
38964
39410
|
"type": "font/woff",
|
|
38965
39411
|
"etag": "\"2df8-73sb1BUyjMsq70ppsdZBHEqWrtE\"",
|
|
38966
|
-
"mtime": "2026-09-
|
|
39412
|
+
"mtime": "2026-09-12T03:59:43.258Z",
|
|
38967
39413
|
"size": 11768,
|
|
38968
39414
|
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff"
|
|
38969
39415
|
},
|
|
38970
|
-
"/_nuxt/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff": {
|
|
38971
|
-
"type": "font/woff",
|
|
38972
|
-
"etag": "\"2e38-fOmVENNzEJaYqxODn6K5NAbrEJk\"",
|
|
38973
|
-
"mtime": "2026-09-11T13:02:27.912Z",
|
|
38974
|
-
"size": 11832,
|
|
38975
|
-
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff"
|
|
38976
|
-
},
|
|
38977
39416
|
"/_nuxt/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2": {
|
|
38978
39417
|
"type": "font/woff2",
|
|
38979
39418
|
"etag": "\"37f8-5XYRqKuMO2rN5QZqfj4VW8r2jSQ\"",
|
|
38980
|
-
"mtime": "2026-09-
|
|
39419
|
+
"mtime": "2026-09-12T03:59:43.259Z",
|
|
38981
39420
|
"size": 14328,
|
|
38982
39421
|
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2"
|
|
38983
39422
|
},
|
|
38984
|
-
"/_nuxt/ibm-plex-mono-
|
|
39423
|
+
"/_nuxt/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff": {
|
|
38985
39424
|
"type": "font/woff",
|
|
38986
|
-
"etag": "\"
|
|
38987
|
-
"mtime": "2026-09-
|
|
38988
|
-
"size":
|
|
38989
|
-
"path": "../public/_nuxt/ibm-plex-mono-
|
|
39425
|
+
"etag": "\"2e38-fOmVENNzEJaYqxODn6K5NAbrEJk\"",
|
|
39426
|
+
"mtime": "2026-09-12T03:59:43.259Z",
|
|
39427
|
+
"size": 11832,
|
|
39428
|
+
"path": "../public/_nuxt/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff"
|
|
38990
39429
|
},
|
|
38991
39430
|
"/_nuxt/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2": {
|
|
38992
39431
|
"type": "font/woff2",
|
|
38993
39432
|
"etag": "\"16ec-bIkS18/YaTiWdOzfzp4pFXvLmqQ\"",
|
|
38994
|
-
"mtime": "2026-09-
|
|
39433
|
+
"mtime": "2026-09-12T03:59:43.259Z",
|
|
38995
39434
|
"size": 5868,
|
|
38996
39435
|
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2"
|
|
38997
39436
|
},
|
|
38998
39437
|
"/_nuxt/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff": {
|
|
38999
39438
|
"type": "font/woff",
|
|
39000
39439
|
"etag": "\"15f4-LdRX2sBB3T5WDAsZLCwBlsMYXPw\"",
|
|
39001
|
-
"mtime": "2026-09-
|
|
39440
|
+
"mtime": "2026-09-12T03:59:43.259Z",
|
|
39002
39441
|
"size": 5620,
|
|
39003
39442
|
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff"
|
|
39004
39443
|
},
|
|
39444
|
+
"/_nuxt/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff": {
|
|
39445
|
+
"type": "font/woff",
|
|
39446
|
+
"etag": "\"15f0-mGuZIt/ndQFiw5uxmCOkhhWSxi4\"",
|
|
39447
|
+
"mtime": "2026-09-12T03:59:43.260Z",
|
|
39448
|
+
"size": 5616,
|
|
39449
|
+
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff"
|
|
39450
|
+
},
|
|
39005
39451
|
"/_nuxt/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2": {
|
|
39006
39452
|
"type": "font/woff2",
|
|
39007
39453
|
"etag": "\"1798-7VDjg0E2ggd9c0kJDHNRh+Fu5E0\"",
|
|
39008
|
-
"mtime": "2026-09-
|
|
39454
|
+
"mtime": "2026-09-12T03:59:43.260Z",
|
|
39009
39455
|
"size": 6040,
|
|
39010
39456
|
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2"
|
|
39011
39457
|
},
|
|
39012
39458
|
"/_nuxt/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2": {
|
|
39013
39459
|
"type": "font/woff2",
|
|
39014
39460
|
"etag": "\"1b14-ylPjcMKGVc4RbTi2G25N0MSlVNo\"",
|
|
39015
|
-
"mtime": "2026-09-
|
|
39461
|
+
"mtime": "2026-09-12T03:59:43.260Z",
|
|
39016
39462
|
"size": 6932,
|
|
39017
39463
|
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2"
|
|
39018
39464
|
},
|
|
39019
39465
|
"/_nuxt/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff": {
|
|
39020
39466
|
"type": "font/woff",
|
|
39021
39467
|
"etag": "\"1650-9Pko0qRZ+EoISmnDaTRQ8KRGy/s\"",
|
|
39022
|
-
"mtime": "2026-09-
|
|
39468
|
+
"mtime": "2026-09-12T03:59:43.261Z",
|
|
39023
39469
|
"size": 5712,
|
|
39024
39470
|
"path": "../public/_nuxt/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff"
|
|
39025
39471
|
},
|
|
39472
|
+
"/_nuxt/JCoYF4IJ.js": {
|
|
39473
|
+
"type": "text/javascript; charset=utf-8",
|
|
39474
|
+
"etag": "\"3455-37tXgWnbnb3znRa47oi8vjuTdqc\"",
|
|
39475
|
+
"mtime": "2026-09-12T03:59:43.236Z",
|
|
39476
|
+
"size": 13397,
|
|
39477
|
+
"path": "../public/_nuxt/JCoYF4IJ.js"
|
|
39478
|
+
},
|
|
39479
|
+
"/_nuxt/JTLM-kqr2.js": {
|
|
39480
|
+
"type": "text/javascript; charset=utf-8",
|
|
39481
|
+
"etag": "\"5f5-SCePszT8yZWllH2E7nvCS+dPYsk\"",
|
|
39482
|
+
"mtime": "2026-09-12T03:59:43.236Z",
|
|
39483
|
+
"size": 1525,
|
|
39484
|
+
"path": "../public/_nuxt/JTLM-kqr2.js"
|
|
39485
|
+
},
|
|
39026
39486
|
"/_nuxt/kZl6yT-12.js": {
|
|
39027
39487
|
"type": "text/javascript; charset=utf-8",
|
|
39028
39488
|
"etag": "\"e9-t0VKevMurw+ruGbCV/EgmcM2dww\"",
|
|
39029
|
-
"mtime": "2026-09-
|
|
39489
|
+
"mtime": "2026-09-12T03:59:43.238Z",
|
|
39030
39490
|
"size": 233,
|
|
39031
39491
|
"path": "../public/_nuxt/kZl6yT-12.js"
|
|
39032
39492
|
},
|
|
39033
|
-
"/_nuxt/logs.DMOM-iHe.css": {
|
|
39034
|
-
"type": "text/css; charset=utf-8",
|
|
39035
|
-
"etag": "\"1410-UAOJXMAmlE9Bn2Xj1iFk0CXWguY\"",
|
|
39036
|
-
"mtime": "2026-09-11T13:02:27.914Z",
|
|
39037
|
-
"size": 5136,
|
|
39038
|
-
"path": "../public/_nuxt/logs.DMOM-iHe.css"
|
|
39039
|
-
},
|
|
39040
39493
|
"/_nuxt/lO5tpDZ5.js": {
|
|
39041
39494
|
"type": "text/javascript; charset=utf-8",
|
|
39042
39495
|
"etag": "\"3b-z4jypkmUW9c9v+AALQ28pDyJ80A\"",
|
|
39043
|
-
"mtime": "2026-09-
|
|
39496
|
+
"mtime": "2026-09-12T03:59:43.238Z",
|
|
39044
39497
|
"size": 59,
|
|
39045
39498
|
"path": "../public/_nuxt/lO5tpDZ5.js"
|
|
39046
39499
|
},
|
|
39047
|
-
"/_nuxt/
|
|
39500
|
+
"/_nuxt/jZsY8yYz.js": {
|
|
39048
39501
|
"type": "text/javascript; charset=utf-8",
|
|
39049
|
-
"etag": "\"
|
|
39050
|
-
"mtime": "2026-09-
|
|
39051
|
-
"size":
|
|
39052
|
-
"path": "../public/_nuxt/
|
|
39502
|
+
"etag": "\"7c7-PL0IO2vGe5m8kLiMxnsrBNzHDKA\"",
|
|
39503
|
+
"mtime": "2026-09-12T03:59:43.238Z",
|
|
39504
|
+
"size": 1991,
|
|
39505
|
+
"path": "../public/_nuxt/jZsY8yYz.js"
|
|
39506
|
+
},
|
|
39507
|
+
"/_nuxt/logs.CqFyMrJw.css": {
|
|
39508
|
+
"type": "text/css; charset=utf-8",
|
|
39509
|
+
"etag": "\"14c3-80Yys++VF02i9m0dmRGSlXNvsdM\"",
|
|
39510
|
+
"mtime": "2026-09-12T03:59:43.261Z",
|
|
39511
|
+
"size": 5315,
|
|
39512
|
+
"path": "../public/_nuxt/logs.CqFyMrJw.css"
|
|
39513
|
+
},
|
|
39514
|
+
"/_nuxt/KZQX7xoM.js": {
|
|
39515
|
+
"type": "text/javascript; charset=utf-8",
|
|
39516
|
+
"etag": "\"bc8d-NE8BmFk1U6Qr8oLUgb9logVLDHA\"",
|
|
39517
|
+
"mtime": "2026-09-12T03:59:43.237Z",
|
|
39518
|
+
"size": 48269,
|
|
39519
|
+
"path": "../public/_nuxt/KZQX7xoM.js"
|
|
39053
39520
|
},
|
|
39054
39521
|
"/_nuxt/monitor.B--1dPzs.css": {
|
|
39055
39522
|
"type": "text/css; charset=utf-8",
|
|
39056
39523
|
"etag": "\"578-FjYyH+T9goSVwJOLXNhMi2Hm95Y\"",
|
|
39057
|
-
"mtime": "2026-09-
|
|
39524
|
+
"mtime": "2026-09-12T03:59:43.261Z",
|
|
39058
39525
|
"size": 1400,
|
|
39059
39526
|
"path": "../public/_nuxt/monitor.B--1dPzs.css"
|
|
39060
39527
|
},
|
|
39061
|
-
"/_nuxt/niDwBOZW.js": {
|
|
39062
|
-
"type": "text/javascript; charset=utf-8",
|
|
39063
|
-
"etag": "\"12f1-JlgzqHJQENBszEGLuO9fMyRYm/E\"",
|
|
39064
|
-
"mtime": "2026-09-11T13:02:27.897Z",
|
|
39065
|
-
"size": 4849,
|
|
39066
|
-
"path": "../public/_nuxt/niDwBOZW.js"
|
|
39067
|
-
},
|
|
39068
39528
|
"/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css": {
|
|
39069
39529
|
"type": "text/css; charset=utf-8",
|
|
39070
39530
|
"etag": "\"10d0-uLyus3YRLFfRIoYhlKCERpGIwVE\"",
|
|
39071
|
-
"mtime": "2026-09-
|
|
39531
|
+
"mtime": "2026-09-12T03:59:43.240Z",
|
|
39072
39532
|
"size": 4304,
|
|
39073
39533
|
"path": "../public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css"
|
|
39074
39534
|
},
|
|
39075
|
-
"/_nuxt/
|
|
39076
|
-
"type": "text/javascript; charset=utf-8",
|
|
39077
|
-
"etag": "\"c42-g+2xQOk5SmNd8dk4LSqx7FrSVE0\"",
|
|
39078
|
-
"mtime": "2026-09-11T13:02:27.896Z",
|
|
39079
|
-
"size": 3138,
|
|
39080
|
-
"path": "../public/_nuxt/ORt9oDIy2.js"
|
|
39081
|
-
},
|
|
39082
|
-
"/_nuxt/pages.Cc8GX9T1.css": {
|
|
39535
|
+
"/_nuxt/pages.ooEzrMm9.css": {
|
|
39083
39536
|
"type": "text/css; charset=utf-8",
|
|
39084
|
-
"etag": "\"
|
|
39085
|
-
"mtime": "2026-09-
|
|
39086
|
-
"size":
|
|
39087
|
-
"path": "../public/_nuxt/pages.
|
|
39537
|
+
"etag": "\"1f8f-b9J2EkJ46q6pDMK7XHEZEMw/z3s\"",
|
|
39538
|
+
"mtime": "2026-09-12T03:59:43.261Z",
|
|
39539
|
+
"size": 8079,
|
|
39540
|
+
"path": "../public/_nuxt/pages.ooEzrMm9.css"
|
|
39088
39541
|
},
|
|
39089
39542
|
"/_nuxt/permissions.B1pjGChZ.css": {
|
|
39090
39543
|
"type": "text/css; charset=utf-8",
|
|
39091
39544
|
"etag": "\"439-4fFWPs3Fv7K/AFrSalCd0HFO3pI\"",
|
|
39092
|
-
"mtime": "2026-09-
|
|
39545
|
+
"mtime": "2026-09-12T03:59:43.261Z",
|
|
39093
39546
|
"size": 1081,
|
|
39094
39547
|
"path": "../public/_nuxt/permissions.B1pjGChZ.css"
|
|
39095
39548
|
},
|
|
39096
|
-
"/_nuxt/plugins.
|
|
39549
|
+
"/_nuxt/plugins.5e5chZ67.css": {
|
|
39097
39550
|
"type": "text/css; charset=utf-8",
|
|
39098
|
-
"etag": "\"
|
|
39099
|
-
"mtime": "2026-09-
|
|
39100
|
-
"size":
|
|
39101
|
-
"path": "../public/_nuxt/plugins.
|
|
39551
|
+
"etag": "\"ab2-6+VhPmyRC3rpgUGjFUB63S7ymbc\"",
|
|
39552
|
+
"mtime": "2026-09-12T03:59:43.262Z",
|
|
39553
|
+
"size": 2738,
|
|
39554
|
+
"path": "../public/_nuxt/plugins.5e5chZ67.css"
|
|
39555
|
+
},
|
|
39556
|
+
"/_nuxt/pdk8jLGT.js": {
|
|
39557
|
+
"type": "text/javascript; charset=utf-8",
|
|
39558
|
+
"etag": "\"1a39-SiPMzso8YXbn1yBHlZHYwIyR4Cw\"",
|
|
39559
|
+
"mtime": "2026-09-12T03:59:43.239Z",
|
|
39560
|
+
"size": 6713,
|
|
39561
|
+
"path": "../public/_nuxt/pdk8jLGT.js"
|
|
39102
39562
|
},
|
|
39103
39563
|
"/_nuxt/PluginSlot.DmjNbrcX.css": {
|
|
39104
39564
|
"type": "text/css; charset=utf-8",
|
|
39105
39565
|
"etag": "\"1b1-ASM0+zql/trZXZZxT6JL/MDdPtY\"",
|
|
39106
|
-
"mtime": "2026-09-
|
|
39566
|
+
"mtime": "2026-09-12T03:59:43.240Z",
|
|
39107
39567
|
"size": 433,
|
|
39108
39568
|
"path": "../public/_nuxt/PluginSlot.DmjNbrcX.css"
|
|
39109
39569
|
},
|
|
39110
|
-
"/_nuxt/
|
|
39570
|
+
"/_nuxt/pz2JDAM7.js": {
|
|
39111
39571
|
"type": "text/javascript; charset=utf-8",
|
|
39112
|
-
"etag": "\"
|
|
39113
|
-
"mtime": "2026-09-
|
|
39114
|
-
"size":
|
|
39115
|
-
"path": "../public/_nuxt/
|
|
39116
|
-
},
|
|
39117
|
-
"/_nuxt/rqZ-1SoP.js": {
|
|
39118
|
-
"type": "text/javascript; charset=utf-8",
|
|
39119
|
-
"etag": "\"761d-n3nYYQYIxdnAu9GaImKE7k1Xy7Y\"",
|
|
39120
|
-
"mtime": "2026-09-11T13:02:27.897Z",
|
|
39121
|
-
"size": 30237,
|
|
39122
|
-
"path": "../public/_nuxt/rqZ-1SoP.js"
|
|
39572
|
+
"etag": "\"1caea-Rsju6Xu8UELInbAAC8iS80XsDQo\"",
|
|
39573
|
+
"mtime": "2026-09-12T03:59:43.239Z",
|
|
39574
|
+
"size": 117482,
|
|
39575
|
+
"path": "../public/_nuxt/pz2JDAM7.js"
|
|
39123
39576
|
},
|
|
39124
39577
|
"/_nuxt/RYFtK4qZ2.js": {
|
|
39125
39578
|
"type": "text/javascript; charset=utf-8",
|
|
39126
39579
|
"etag": "\"594c-ZHrAodAyz6fWAruZCqluWn052zA\"",
|
|
39127
|
-
"mtime": "2026-09-
|
|
39580
|
+
"mtime": "2026-09-12T03:59:43.237Z",
|
|
39128
39581
|
"size": 22860,
|
|
39129
39582
|
"path": "../public/_nuxt/RYFtK4qZ2.js"
|
|
39130
39583
|
},
|
|
39131
|
-
"/_nuxt/settings.
|
|
39584
|
+
"/_nuxt/settings.Dm3M0RLy.css": {
|
|
39132
39585
|
"type": "text/css; charset=utf-8",
|
|
39133
|
-
"etag": "\"
|
|
39134
|
-
"mtime": "2026-09-
|
|
39135
|
-
"size":
|
|
39136
|
-
"path": "../public/_nuxt/settings.
|
|
39586
|
+
"etag": "\"2175-Bfu2f0XoqMS7xPh3BapUEUv/fps\"",
|
|
39587
|
+
"mtime": "2026-09-12T03:59:43.262Z",
|
|
39588
|
+
"size": 8565,
|
|
39589
|
+
"path": "../public/_nuxt/settings.Dm3M0RLy.css"
|
|
39590
|
+
},
|
|
39591
|
+
"/_nuxt/S_fVQwJK.js": {
|
|
39592
|
+
"type": "text/javascript; charset=utf-8",
|
|
39593
|
+
"etag": "\"9dc0-3l6Kc/MTmlDr92xcFaiueO5zXl8\"",
|
|
39594
|
+
"mtime": "2026-09-12T03:59:43.237Z",
|
|
39595
|
+
"size": 40384,
|
|
39596
|
+
"path": "../public/_nuxt/S_fVQwJK.js"
|
|
39597
|
+
},
|
|
39598
|
+
"/_nuxt/teams.BC75EGnR.css": {
|
|
39599
|
+
"type": "text/css; charset=utf-8",
|
|
39600
|
+
"etag": "\"a49-L5ibM+Ztp1to2Um0i9mSYODdZw4\"",
|
|
39601
|
+
"mtime": "2026-09-12T03:59:43.262Z",
|
|
39602
|
+
"size": 2633,
|
|
39603
|
+
"path": "../public/_nuxt/teams.BC75EGnR.css"
|
|
39137
39604
|
},
|
|
39138
39605
|
"/_nuxt/tokens.xRb1fSPU.css": {
|
|
39139
39606
|
"type": "text/css; charset=utf-8",
|
|
39140
39607
|
"etag": "\"991-sd4TNmcKczQa4a+DM+FOOSKkG9A\"",
|
|
39141
|
-
"mtime": "2026-09-
|
|
39608
|
+
"mtime": "2026-09-12T03:59:43.262Z",
|
|
39142
39609
|
"size": 2449,
|
|
39143
39610
|
"path": "../public/_nuxt/tokens.xRb1fSPU.css"
|
|
39144
39611
|
},
|
|
39145
39612
|
"/_nuxt/town.BLrD9-WH.css": {
|
|
39146
39613
|
"type": "text/css; charset=utf-8",
|
|
39147
39614
|
"etag": "\"64-INqlNEwsg1I+Dzc8LaEkJCLno5o\"",
|
|
39148
|
-
"mtime": "2026-09-
|
|
39615
|
+
"mtime": "2026-09-12T03:59:43.263Z",
|
|
39149
39616
|
"size": 100,
|
|
39150
39617
|
"path": "../public/_nuxt/town.BLrD9-WH.css"
|
|
39151
39618
|
},
|
|
39152
|
-
"/_nuxt/
|
|
39619
|
+
"/_nuxt/town.DKIAhKnx.css": {
|
|
39153
39620
|
"type": "text/css; charset=utf-8",
|
|
39154
|
-
"etag": "\"
|
|
39155
|
-
"mtime": "2026-09-
|
|
39156
|
-
"size":
|
|
39157
|
-
"path": "../public/_nuxt/
|
|
39621
|
+
"etag": "\"3f6-2stsCbObPrmCagrbI7L30H9657A\"",
|
|
39622
|
+
"mtime": "2026-09-12T03:59:43.263Z",
|
|
39623
|
+
"size": 1014,
|
|
39624
|
+
"path": "../public/_nuxt/town.DKIAhKnx.css"
|
|
39158
39625
|
},
|
|
39159
|
-
"/_nuxt/
|
|
39626
|
+
"/_nuxt/TownView.0oLiQgTC.css": {
|
|
39160
39627
|
"type": "text/css; charset=utf-8",
|
|
39161
|
-
"etag": "\"
|
|
39162
|
-
"mtime": "2026-09-
|
|
39163
|
-
"size":
|
|
39164
|
-
"path": "../public/_nuxt/
|
|
39628
|
+
"etag": "\"11be0-jasT+CDSVlHGDB2IL1ee1/4PS20\"",
|
|
39629
|
+
"mtime": "2026-09-12T03:59:43.240Z",
|
|
39630
|
+
"size": 72672,
|
|
39631
|
+
"path": "../public/_nuxt/TownView.0oLiQgTC.css"
|
|
39165
39632
|
},
|
|
39166
|
-
"/_nuxt/
|
|
39633
|
+
"/_nuxt/users.CXnP2E08.css": {
|
|
39167
39634
|
"type": "text/css; charset=utf-8",
|
|
39168
|
-
"etag": "\"
|
|
39169
|
-
"mtime": "2026-09-
|
|
39170
|
-
"size":
|
|
39171
|
-
"path": "../public/_nuxt/
|
|
39635
|
+
"etag": "\"22f-AZpbJXPsElnWYRHZbAWTKPG8Rxw\"",
|
|
39636
|
+
"mtime": "2026-09-12T03:59:43.263Z",
|
|
39637
|
+
"size": 559,
|
|
39638
|
+
"path": "../public/_nuxt/users.CXnP2E08.css"
|
|
39639
|
+
},
|
|
39640
|
+
"/_nuxt/vRTjoWqd.js": {
|
|
39641
|
+
"type": "text/javascript; charset=utf-8",
|
|
39642
|
+
"etag": "\"3ee-AsfUZSgw/F0W9cFRTAEVXcLJZiA\"",
|
|
39643
|
+
"mtime": "2026-09-12T03:59:43.239Z",
|
|
39644
|
+
"size": 1006,
|
|
39645
|
+
"path": "../public/_nuxt/vRTjoWqd.js"
|
|
39172
39646
|
},
|
|
39173
|
-
"/_nuxt/
|
|
39647
|
+
"/_nuxt/workshop.Jk5HxWPE.css": {
|
|
39174
39648
|
"type": "text/css; charset=utf-8",
|
|
39175
|
-
"etag": "\"
|
|
39176
|
-
"mtime": "2026-09-
|
|
39177
|
-
"size":
|
|
39178
|
-
"path": "../public/_nuxt/
|
|
39649
|
+
"etag": "\"1038-1Xveua8xDfO+3AbczDYlptdvcWQ\"",
|
|
39650
|
+
"mtime": "2026-09-12T03:59:43.263Z",
|
|
39651
|
+
"size": 4152,
|
|
39652
|
+
"path": "../public/_nuxt/workshop.Jk5HxWPE.css"
|
|
39179
39653
|
},
|
|
39180
|
-
"/_nuxt/
|
|
39654
|
+
"/_nuxt/YnQxK3eG.js": {
|
|
39181
39655
|
"type": "text/javascript; charset=utf-8",
|
|
39182
|
-
"etag": "\"
|
|
39183
|
-
"mtime": "2026-09-
|
|
39184
|
-
"size":
|
|
39185
|
-
"path": "../public/_nuxt/
|
|
39656
|
+
"etag": "\"56aa-34p36rIty4zhPYsHZGMJ3m4YxOQ\"",
|
|
39657
|
+
"mtime": "2026-09-12T03:59:43.237Z",
|
|
39658
|
+
"size": 22186,
|
|
39659
|
+
"path": "../public/_nuxt/YnQxK3eG.js"
|
|
39186
39660
|
},
|
|
39187
|
-
"/_nuxt/
|
|
39661
|
+
"/_nuxt/zIGh7R49.js": {
|
|
39188
39662
|
"type": "text/javascript; charset=utf-8",
|
|
39189
|
-
"etag": "\"
|
|
39190
|
-
"mtime": "2026-09-
|
|
39191
|
-
"size":
|
|
39192
|
-
"path": "../public/_nuxt/
|
|
39663
|
+
"etag": "\"28a11-UMQ9kZ/56LLLr7SzoahyJK4kF+8\"",
|
|
39664
|
+
"mtime": "2026-09-12T03:59:43.240Z",
|
|
39665
|
+
"size": 166417,
|
|
39666
|
+
"path": "../public/_nuxt/zIGh7R49.js"
|
|
39193
39667
|
},
|
|
39194
|
-
"/_nuxt/
|
|
39195
|
-
"type": "text/
|
|
39196
|
-
"etag": "\"
|
|
39197
|
-
"mtime": "2026-09-
|
|
39198
|
-
"size":
|
|
39199
|
-
"path": "../public/_nuxt/
|
|
39200
|
-
},
|
|
39201
|
-
"/_nuxt/workshop.BJg84pOK.css": {
|
|
39202
|
-
"type": "text/css; charset=utf-8",
|
|
39203
|
-
"etag": "\"103c-a5w4eTEpLUvJ9/PHO/G3obwFdMs\"",
|
|
39204
|
-
"mtime": "2026-09-11T13:02:27.915Z",
|
|
39205
|
-
"size": 4156,
|
|
39206
|
-
"path": "../public/_nuxt/workshop.BJg84pOK.css"
|
|
39668
|
+
"/_nuxt/zq5t1vyX.js": {
|
|
39669
|
+
"type": "text/javascript; charset=utf-8",
|
|
39670
|
+
"etag": "\"60d-NnE9dj7Q2Llc8RcygvdWR36sHQs\"",
|
|
39671
|
+
"mtime": "2026-09-12T03:59:43.240Z",
|
|
39672
|
+
"size": 1549,
|
|
39673
|
+
"path": "../public/_nuxt/zq5t1vyX.js"
|
|
39207
39674
|
},
|
|
39208
|
-
"/_nuxt/_id_.
|
|
39675
|
+
"/_nuxt/_id_.D-SYuyZb.css": {
|
|
39209
39676
|
"type": "text/css; charset=utf-8",
|
|
39210
|
-
"etag": "\"
|
|
39211
|
-
"mtime": "2026-09-
|
|
39212
|
-
"size":
|
|
39213
|
-
"path": "../public/_nuxt/_id_.
|
|
39677
|
+
"etag": "\"3d10-ns70o4Kj3LWHCLTavrVybVSFwYM\"",
|
|
39678
|
+
"mtime": "2026-09-12T03:59:43.241Z",
|
|
39679
|
+
"size": 15632,
|
|
39680
|
+
"path": "../public/_nuxt/_id_.D-SYuyZb.css"
|
|
39214
39681
|
},
|
|
39215
|
-
"/_nuxt/
|
|
39682
|
+
"/_nuxt/_id_.hma_BU6T.css": {
|
|
39216
39683
|
"type": "text/css; charset=utf-8",
|
|
39217
|
-
"etag": "\"
|
|
39218
|
-
"mtime": "2026-09-
|
|
39219
|
-
"size":
|
|
39220
|
-
"path": "../public/_nuxt/
|
|
39684
|
+
"etag": "\"1611-u2wYUO+6Mf0kDeG7LtcojlL7Wbo\"",
|
|
39685
|
+
"mtime": "2026-09-12T03:59:43.241Z",
|
|
39686
|
+
"size": 5649,
|
|
39687
|
+
"path": "../public/_nuxt/_id_.hma_BU6T.css"
|
|
39221
39688
|
},
|
|
39222
39689
|
"/assets/game/coin.png": {
|
|
39223
39690
|
"type": "image/png",
|
|
@@ -39226,6 +39693,13 @@ const assets = {
|
|
|
39226
39693
|
"size": 6733,
|
|
39227
39694
|
"path": "../public/assets/game/coin.png"
|
|
39228
39695
|
},
|
|
39696
|
+
"/_nuxt/_wsId_.B12v3PhY.css": {
|
|
39697
|
+
"type": "text/css; charset=utf-8",
|
|
39698
|
+
"etag": "\"11002-wG5qYFNHpNeZ8Npb7NaYMOlUJQ0\"",
|
|
39699
|
+
"mtime": "2026-09-12T03:59:43.241Z",
|
|
39700
|
+
"size": 69634,
|
|
39701
|
+
"path": "../public/_nuxt/_wsId_.B12v3PhY.css"
|
|
39702
|
+
},
|
|
39229
39703
|
"/assets/game/tuxemon-town.json": {
|
|
39230
39704
|
"type": "application/json",
|
|
39231
39705
|
"etag": "\"fec5-uB5TWkwSxd0G5Tiupl3I0+u94XM\"",
|
|
@@ -39240,13 +39714,6 @@ const assets = {
|
|
|
39240
39714
|
"size": 10050,
|
|
39241
39715
|
"path": "../public/assets/game/player-sheet.png"
|
|
39242
39716
|
},
|
|
39243
|
-
"/_nuxt/builds/latest.json": {
|
|
39244
|
-
"type": "application/json",
|
|
39245
|
-
"etag": "\"47-i2ssFthlpKbFtUaGATFeF6cccto\"",
|
|
39246
|
-
"mtime": "2026-09-11T13:02:32.535Z",
|
|
39247
|
-
"size": 71,
|
|
39248
|
-
"path": "../public/_nuxt/builds/latest.json"
|
|
39249
|
-
},
|
|
39250
39717
|
"/scene/background/cyber-town-background.svg": {
|
|
39251
39718
|
"type": "image/svg+xml",
|
|
39252
39719
|
"etag": "\"1656-Q8xWIs77K5i5HJYRdMCDYSQhkvs\"",
|
|
@@ -39254,6 +39721,13 @@ const assets = {
|
|
|
39254
39721
|
"size": 5718,
|
|
39255
39722
|
"path": "../public/scene/background/cyber-town-background.svg"
|
|
39256
39723
|
},
|
|
39724
|
+
"/assets/game/tuxmon-sample-32px-extruded.png": {
|
|
39725
|
+
"type": "image/png",
|
|
39726
|
+
"etag": "\"2ee08-3yTsAqzTx0djGCGVAEgUGQ1/MEg\"",
|
|
39727
|
+
"mtime": "2026-08-25T12:20:54.518Z",
|
|
39728
|
+
"size": 192008,
|
|
39729
|
+
"path": "../public/assets/game/tuxmon-sample-32px-extruded.png"
|
|
39730
|
+
},
|
|
39257
39731
|
"/assets/game/character/bot.png": {
|
|
39258
39732
|
"type": "image/png",
|
|
39259
39733
|
"etag": "\"36fe-Ke8vj83Dinp8fFaRQQBfBsTGI/8\"",
|
|
@@ -39261,6 +39735,13 @@ const assets = {
|
|
|
39261
39735
|
"size": 14078,
|
|
39262
39736
|
"path": "../public/assets/game/character/bot.png"
|
|
39263
39737
|
},
|
|
39738
|
+
"/_nuxt/builds/latest.json": {
|
|
39739
|
+
"type": "application/json",
|
|
39740
|
+
"etag": "\"47-0tOzk3s80CkE6QyDmlCMFBquImg\"",
|
|
39741
|
+
"mtime": "2026-09-12T03:59:50.785Z",
|
|
39742
|
+
"size": 71,
|
|
39743
|
+
"path": "../public/_nuxt/builds/latest.json"
|
|
39744
|
+
},
|
|
39264
39745
|
"/assets/game/character/device-3d.glb": {
|
|
39265
39746
|
"type": "model/gltf-binary",
|
|
39266
39747
|
"etag": "\"4bc8-yAiKZtO+P2bBmqfRvhlxcF0oduE\"",
|
|
@@ -39275,13 +39756,6 @@ const assets = {
|
|
|
39275
39756
|
"size": 33940,
|
|
39276
39757
|
"path": "../public/assets/game/character/hero-3d.glb"
|
|
39277
39758
|
},
|
|
39278
|
-
"/assets/game/tuxmon-sample-32px-extruded.png": {
|
|
39279
|
-
"type": "image/png",
|
|
39280
|
-
"etag": "\"2ee08-3yTsAqzTx0djGCGVAEgUGQ1/MEg\"",
|
|
39281
|
-
"mtime": "2026-08-25T12:20:54.518Z",
|
|
39282
|
-
"size": 192008,
|
|
39283
|
-
"path": "../public/assets/game/tuxmon-sample-32px-extruded.png"
|
|
39284
|
-
},
|
|
39285
39759
|
"/assets/game/character/hero-anime-1.glb": {
|
|
39286
39760
|
"type": "model/gltf-binary",
|
|
39287
39761
|
"etag": "\"1044c-AUMAdrW4S6OKEsUeAcR5c50fyKs\"",
|
|
@@ -39324,34 +39798,6 @@ const assets = {
|
|
|
39324
39798
|
"size": 14386,
|
|
39325
39799
|
"path": "../public/assets/game/character/mage.png"
|
|
39326
39800
|
},
|
|
39327
|
-
"/assets/game/npc/boltnu-sheet.png": {
|
|
39328
|
-
"type": "image/png",
|
|
39329
|
-
"etag": "\"a14-8xg90l10OuRoiEEgFXx9PTGJ9rA\"",
|
|
39330
|
-
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39331
|
-
"size": 2580,
|
|
39332
|
-
"path": "../public/assets/game/npc/boltnu-sheet.png"
|
|
39333
|
-
},
|
|
39334
|
-
"/assets/game/npc/fluttaflap-sheet.png": {
|
|
39335
|
-
"type": "image/png",
|
|
39336
|
-
"etag": "\"f65-ivBz79RSNtXu3px7cWEzCwMXdkg\"",
|
|
39337
|
-
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39338
|
-
"size": 3941,
|
|
39339
|
-
"path": "../public/assets/game/npc/fluttaflap-sheet.png"
|
|
39340
|
-
},
|
|
39341
|
-
"/assets/game/npc/tux-sheet.png": {
|
|
39342
|
-
"type": "image/png",
|
|
39343
|
-
"etag": "\"912-kf4+Q7EukO60VT6vlziy5RrzuUo\"",
|
|
39344
|
-
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39345
|
-
"size": 2322,
|
|
39346
|
-
"path": "../public/assets/game/npc/tux-sheet.png"
|
|
39347
|
-
},
|
|
39348
|
-
"/assets/game/npc/rockitten-sheet.png": {
|
|
39349
|
-
"type": "image/png",
|
|
39350
|
-
"etag": "\"786-IY4LCl37+SB6pnPynapoUxsxvOM\"",
|
|
39351
|
-
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39352
|
-
"size": 1926,
|
|
39353
|
-
"path": "../public/assets/game/npc/rockitten-sheet.png"
|
|
39354
|
-
},
|
|
39355
39801
|
"/assets/game/devices/agv.glb": {
|
|
39356
39802
|
"type": "model/gltf-binary",
|
|
39357
39803
|
"etag": "\"b0ec-SGRGNfFN89F7v1GROXKGve7pQqs\"",
|
|
@@ -39373,13 +39819,6 @@ const assets = {
|
|
|
39373
39819
|
"size": 14724,
|
|
39374
39820
|
"path": "../public/assets/game/devices/device-console.glb"
|
|
39375
39821
|
},
|
|
39376
|
-
"/assets/game/devices/device-scanner.glb": {
|
|
39377
|
-
"type": "model/gltf-binary",
|
|
39378
|
-
"etag": "\"28e0-uKYZaLiZiCedMMozKBOFU14HUSE\"",
|
|
39379
|
-
"mtime": "2026-08-26T05:23:14.560Z",
|
|
39380
|
-
"size": 10464,
|
|
39381
|
-
"path": "../public/assets/game/devices/device-scanner.glb"
|
|
39382
|
-
},
|
|
39383
39822
|
"/assets/game/devices/device-robot-arm.glb": {
|
|
39384
39823
|
"type": "model/gltf-binary",
|
|
39385
39824
|
"etag": "\"37fc-uBxMDklo0SfaA6KXZIylh/S2p+c\"",
|
|
@@ -39387,6 +39826,13 @@ const assets = {
|
|
|
39387
39826
|
"size": 14332,
|
|
39388
39827
|
"path": "../public/assets/game/devices/device-robot-arm.glb"
|
|
39389
39828
|
},
|
|
39829
|
+
"/assets/game/devices/device-scanner.glb": {
|
|
39830
|
+
"type": "model/gltf-binary",
|
|
39831
|
+
"etag": "\"28e0-uKYZaLiZiCedMMozKBOFU14HUSE\"",
|
|
39832
|
+
"mtime": "2026-08-26T05:23:14.560Z",
|
|
39833
|
+
"size": 10464,
|
|
39834
|
+
"path": "../public/assets/game/devices/device-scanner.glb"
|
|
39835
|
+
},
|
|
39390
39836
|
"/assets/game/devices/power-cabinet.glb": {
|
|
39391
39837
|
"type": "model/gltf-binary",
|
|
39392
39838
|
"etag": "\"54f0-KsrAxig9JTAY5SGKK3jbdJXB6fk\"",
|
|
@@ -39394,13 +39840,6 @@ const assets = {
|
|
|
39394
39840
|
"size": 21744,
|
|
39395
39841
|
"path": "../public/assets/game/devices/power-cabinet.glb"
|
|
39396
39842
|
},
|
|
39397
|
-
"/assets/game/devices/extruder.glb": {
|
|
39398
|
-
"type": "model/gltf-binary",
|
|
39399
|
-
"etag": "\"18124-H6X1eQmFDn6eONUMGU6lGdQafZ8\"",
|
|
39400
|
-
"mtime": "2026-08-27T07:03:12.506Z",
|
|
39401
|
-
"size": 98596,
|
|
39402
|
-
"path": "../public/assets/game/devices/extruder.glb"
|
|
39403
|
-
},
|
|
39404
39843
|
"/assets/game/devices/mdo.glb": {
|
|
39405
39844
|
"type": "model/gltf-binary",
|
|
39406
39845
|
"etag": "\"132e4-EDslgF5+17dSukguA0eZzN4I0+o\"",
|
|
@@ -39408,12 +39847,12 @@ const assets = {
|
|
|
39408
39847
|
"size": 78564,
|
|
39409
39848
|
"path": "../public/assets/game/devices/mdo.glb"
|
|
39410
39849
|
},
|
|
39411
|
-
"/assets/game/devices/
|
|
39850
|
+
"/assets/game/devices/extruder.glb": {
|
|
39412
39851
|
"type": "model/gltf-binary",
|
|
39413
|
-
"etag": "\"
|
|
39414
|
-
"mtime": "2026-08-27T07:03:12.
|
|
39415
|
-
"size":
|
|
39416
|
-
"path": "../public/assets/game/devices/
|
|
39852
|
+
"etag": "\"18124-H6X1eQmFDn6eONUMGU6lGdQafZ8\"",
|
|
39853
|
+
"mtime": "2026-08-27T07:03:12.506Z",
|
|
39854
|
+
"size": 98596,
|
|
39855
|
+
"path": "../public/assets/game/devices/extruder.glb"
|
|
39417
39856
|
},
|
|
39418
39857
|
"/assets/game/devices/pump.glb": {
|
|
39419
39858
|
"type": "model/gltf-binary",
|
|
@@ -39429,12 +39868,12 @@ const assets = {
|
|
|
39429
39868
|
"size": 13440,
|
|
39430
39869
|
"path": "../public/assets/game/devices/thickness-scanner.glb"
|
|
39431
39870
|
},
|
|
39432
|
-
"/assets/game/
|
|
39433
|
-
"type": "
|
|
39434
|
-
"etag": "\"
|
|
39435
|
-
"mtime": "2026-08-
|
|
39436
|
-
"size":
|
|
39437
|
-
"path": "../public/assets/game/
|
|
39871
|
+
"/assets/game/devices/tdo.glb": {
|
|
39872
|
+
"type": "model/gltf-binary",
|
|
39873
|
+
"etag": "\"e10c-GdMX+mG/KrSVBzy4EeAPPjFoTqM\"",
|
|
39874
|
+
"mtime": "2026-08-27T07:03:12.523Z",
|
|
39875
|
+
"size": 57612,
|
|
39876
|
+
"path": "../public/assets/game/devices/tdo.glb"
|
|
39438
39877
|
},
|
|
39439
39878
|
"/assets/game/devices/winder.glb": {
|
|
39440
39879
|
"type": "model/gltf-binary",
|
|
@@ -39443,6 +39882,118 @@ const assets = {
|
|
|
39443
39882
|
"size": 36996,
|
|
39444
39883
|
"path": "../public/assets/game/devices/winder.glb"
|
|
39445
39884
|
},
|
|
39885
|
+
"/assets/game/wuwa/world-middle.png": {
|
|
39886
|
+
"type": "image/png",
|
|
39887
|
+
"etag": "\"16164-Dxu+NdXPnqoPFfWHwQi1oefgNvU\"",
|
|
39888
|
+
"mtime": "2026-08-25T12:20:54.523Z",
|
|
39889
|
+
"size": 90468,
|
|
39890
|
+
"path": "../public/assets/game/wuwa/world-middle.png"
|
|
39891
|
+
},
|
|
39892
|
+
"/assets/game/wuwa/scene-map.png": {
|
|
39893
|
+
"type": "image/png",
|
|
39894
|
+
"etag": "\"682db-bU8mh8SeHPotvuaCc6PZzrWoT+A\"",
|
|
39895
|
+
"mtime": "2026-08-25T12:20:54.521Z",
|
|
39896
|
+
"size": 426715,
|
|
39897
|
+
"path": "../public/assets/game/wuwa/scene-map.png"
|
|
39898
|
+
},
|
|
39899
|
+
"/assets/game/wuwa/wu-aura.png": {
|
|
39900
|
+
"type": "image/png",
|
|
39901
|
+
"etag": "\"2055-NKWgEbJfTq5l56FGWi9WDWgBAbU\"",
|
|
39902
|
+
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39903
|
+
"size": 8277,
|
|
39904
|
+
"path": "../public/assets/game/wuwa/wu-aura.png"
|
|
39905
|
+
},
|
|
39906
|
+
"/assets/game/wuwa/wu-lead.png": {
|
|
39907
|
+
"type": "image/png",
|
|
39908
|
+
"etag": "\"3b04-agK45Y3g7QDPns/kmkhTGYSTPDM\"",
|
|
39909
|
+
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39910
|
+
"size": 15108,
|
|
39911
|
+
"path": "../public/assets/game/wuwa/wu-lead.png"
|
|
39912
|
+
},
|
|
39913
|
+
"/assets/game/wuwa/wu-ring.png": {
|
|
39914
|
+
"type": "image/png",
|
|
39915
|
+
"etag": "\"65ac-/iIjlPgFNpD98zDsyCJYA8021E4\"",
|
|
39916
|
+
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39917
|
+
"size": 26028,
|
|
39918
|
+
"path": "../public/assets/game/wuwa/wu-ring.png"
|
|
39919
|
+
},
|
|
39920
|
+
"/assets/game/wuwa/world-far.png": {
|
|
39921
|
+
"type": "image/png",
|
|
39922
|
+
"etag": "\"6b391-DRcUWDyPUwUxDpAWplDh9StwdO0\"",
|
|
39923
|
+
"mtime": "2026-08-25T12:20:54.522Z",
|
|
39924
|
+
"size": 439185,
|
|
39925
|
+
"path": "../public/assets/game/wuwa/world-far.png"
|
|
39926
|
+
},
|
|
39927
|
+
"/assets/game/wuwa/wu-slash.png": {
|
|
39928
|
+
"type": "image/png",
|
|
39929
|
+
"etag": "\"185-fVjcllSJOBMFcBWLIgBzTrzWGaY\"",
|
|
39930
|
+
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39931
|
+
"size": 389,
|
|
39932
|
+
"path": "../public/assets/game/wuwa/wu-slash.png"
|
|
39933
|
+
},
|
|
39934
|
+
"/assets/game/wuwa/wu-worker-0.png": {
|
|
39935
|
+
"type": "image/png",
|
|
39936
|
+
"etag": "\"3c59-fILvgyTv9TKRgrI9GQlRhaSR96U\"",
|
|
39937
|
+
"mtime": "2026-08-25T12:20:54.528Z",
|
|
39938
|
+
"size": 15449,
|
|
39939
|
+
"path": "../public/assets/game/wuwa/wu-worker-0.png"
|
|
39940
|
+
},
|
|
39941
|
+
"/assets/game/wuwa/world-near.png": {
|
|
39942
|
+
"type": "image/png",
|
|
39943
|
+
"etag": "\"bbcd8-BrybeZP/ZGdD0v5NVC8T/Y4AXyM\"",
|
|
39944
|
+
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39945
|
+
"size": 769240,
|
|
39946
|
+
"path": "../public/assets/game/wuwa/world-near.png"
|
|
39947
|
+
},
|
|
39948
|
+
"/assets/game/wuwa/wu-worker-1.png": {
|
|
39949
|
+
"type": "image/png",
|
|
39950
|
+
"etag": "\"3cc8-0XoRr5qFC7X+vEEX+XrX4cRX+D0\"",
|
|
39951
|
+
"mtime": "2026-08-25T12:20:54.529Z",
|
|
39952
|
+
"size": 15560,
|
|
39953
|
+
"path": "../public/assets/game/wuwa/wu-worker-1.png"
|
|
39954
|
+
},
|
|
39955
|
+
"/assets/game/wuwa/wu-worker-2.png": {
|
|
39956
|
+
"type": "image/png",
|
|
39957
|
+
"etag": "\"3c81-6qd4LQS0v2L4rTa0XAmekluER7c\"",
|
|
39958
|
+
"mtime": "2026-08-25T12:20:54.529Z",
|
|
39959
|
+
"size": 15489,
|
|
39960
|
+
"path": "../public/assets/game/wuwa/wu-worker-2.png"
|
|
39961
|
+
},
|
|
39962
|
+
"/assets/game/npc/boltnu-sheet.png": {
|
|
39963
|
+
"type": "image/png",
|
|
39964
|
+
"etag": "\"a14-8xg90l10OuRoiEEgFXx9PTGJ9rA\"",
|
|
39965
|
+
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39966
|
+
"size": 2580,
|
|
39967
|
+
"path": "../public/assets/game/npc/boltnu-sheet.png"
|
|
39968
|
+
},
|
|
39969
|
+
"/assets/game/npc/fluttaflap-sheet.png": {
|
|
39970
|
+
"type": "image/png",
|
|
39971
|
+
"etag": "\"f65-ivBz79RSNtXu3px7cWEzCwMXdkg\"",
|
|
39972
|
+
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39973
|
+
"size": 3941,
|
|
39974
|
+
"path": "../public/assets/game/npc/fluttaflap-sheet.png"
|
|
39975
|
+
},
|
|
39976
|
+
"/assets/game/npc/rockitten-sheet.png": {
|
|
39977
|
+
"type": "image/png",
|
|
39978
|
+
"etag": "\"786-IY4LCl37+SB6pnPynapoUxsxvOM\"",
|
|
39979
|
+
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39980
|
+
"size": 1926,
|
|
39981
|
+
"path": "../public/assets/game/npc/rockitten-sheet.png"
|
|
39982
|
+
},
|
|
39983
|
+
"/assets/game/npc/tux-sheet.png": {
|
|
39984
|
+
"type": "image/png",
|
|
39985
|
+
"etag": "\"912-kf4+Q7EukO60VT6vlziy5RrzuUo\"",
|
|
39986
|
+
"mtime": "2026-08-25T12:20:54.513Z",
|
|
39987
|
+
"size": 2322,
|
|
39988
|
+
"path": "../public/assets/game/npc/tux-sheet.png"
|
|
39989
|
+
},
|
|
39990
|
+
"/assets/game/player/misa-back-walk.000.png": {
|
|
39991
|
+
"type": "image/png",
|
|
39992
|
+
"etag": "\"157-/Sm0qrBJSHEFTGYwuSqnzRaX3Jk\"",
|
|
39993
|
+
"mtime": "2026-08-25T12:20:54.514Z",
|
|
39994
|
+
"size": 343,
|
|
39995
|
+
"path": "../public/assets/game/player/misa-back-walk.000.png"
|
|
39996
|
+
},
|
|
39446
39997
|
"/assets/game/player/misa-back-walk.001.png": {
|
|
39447
39998
|
"type": "image/png",
|
|
39448
39999
|
"etag": "\"15c-PoeNPtRrfApGTf0GzJcdNP59kts\"",
|
|
@@ -39478,19 +40029,19 @@ const assets = {
|
|
|
39478
40029
|
"size": 338,
|
|
39479
40030
|
"path": "../public/assets/game/player/misa-front-walk.000.png"
|
|
39480
40031
|
},
|
|
39481
|
-
"/assets/game/player/misa-front-walk.
|
|
40032
|
+
"/assets/game/player/misa-front-walk.001.png": {
|
|
39482
40033
|
"type": "image/png",
|
|
39483
|
-
"etag": "\"155-
|
|
40034
|
+
"etag": "\"155-r/wKRG+amQ/2TvYolFC2UPXHdC4\"",
|
|
39484
40035
|
"mtime": "2026-08-25T12:20:54.515Z",
|
|
39485
40036
|
"size": 341,
|
|
39486
|
-
"path": "../public/assets/game/player/misa-front-walk.
|
|
40037
|
+
"path": "../public/assets/game/player/misa-front-walk.001.png"
|
|
39487
40038
|
},
|
|
39488
|
-
"/assets/game/player/misa-front-walk.
|
|
40039
|
+
"/assets/game/player/misa-front-walk.002.png": {
|
|
39489
40040
|
"type": "image/png",
|
|
39490
|
-
"etag": "\"155-
|
|
40041
|
+
"etag": "\"155-UzIsnRRYoGpmHf5w9T7CLy/0ubw\"",
|
|
39491
40042
|
"mtime": "2026-08-25T12:20:54.515Z",
|
|
39492
40043
|
"size": 341,
|
|
39493
|
-
"path": "../public/assets/game/player/misa-front-walk.
|
|
40044
|
+
"path": "../public/assets/game/player/misa-front-walk.002.png"
|
|
39494
40045
|
},
|
|
39495
40046
|
"/assets/game/player/misa-front-walk.003.png": {
|
|
39496
40047
|
"type": "image/png",
|
|
@@ -39506,6 +40057,13 @@ const assets = {
|
|
|
39506
40057
|
"size": 341,
|
|
39507
40058
|
"path": "../public/assets/game/player/misa-front.png"
|
|
39508
40059
|
},
|
|
40060
|
+
"/assets/game/player/misa-left-walk.002.png": {
|
|
40061
|
+
"type": "image/png",
|
|
40062
|
+
"etag": "\"13e-ZO/OghsjeAi+tGQq5r7slwZn0zg\"",
|
|
40063
|
+
"mtime": "2026-08-25T12:20:54.516Z",
|
|
40064
|
+
"size": 318,
|
|
40065
|
+
"path": "../public/assets/game/player/misa-left-walk.002.png"
|
|
40066
|
+
},
|
|
39509
40067
|
"/assets/game/player/misa-left-walk.000.png": {
|
|
39510
40068
|
"type": "image/png",
|
|
39511
40069
|
"etag": "\"13f-Hlll+U+bluQUD8w3klFf7vww08M\"",
|
|
@@ -39520,13 +40078,6 @@ const assets = {
|
|
|
39520
40078
|
"size": 319,
|
|
39521
40079
|
"path": "../public/assets/game/player/misa-left-walk.001.png"
|
|
39522
40080
|
},
|
|
39523
|
-
"/assets/game/player/misa-left-walk.002.png": {
|
|
39524
|
-
"type": "image/png",
|
|
39525
|
-
"etag": "\"13e-ZO/OghsjeAi+tGQq5r7slwZn0zg\"",
|
|
39526
|
-
"mtime": "2026-08-25T12:20:54.516Z",
|
|
39527
|
-
"size": 318,
|
|
39528
|
-
"path": "../public/assets/game/player/misa-left-walk.002.png"
|
|
39529
|
-
},
|
|
39530
40081
|
"/assets/game/player/misa-left-walk.003.png": {
|
|
39531
40082
|
"type": "image/png",
|
|
39532
40083
|
"etag": "\"13f-1/+5Oh6upY4V8FkyK62tdXeFc7o\"",
|
|
@@ -39576,89 +40127,12 @@ const assets = {
|
|
|
39576
40127
|
"size": 302,
|
|
39577
40128
|
"path": "../public/assets/game/player/misa-right.png"
|
|
39578
40129
|
},
|
|
39579
|
-
"/
|
|
39580
|
-
"type": "image/png",
|
|
39581
|
-
"etag": "\"16164-Dxu+NdXPnqoPFfWHwQi1oefgNvU\"",
|
|
39582
|
-
"mtime": "2026-08-25T12:20:54.523Z",
|
|
39583
|
-
"size": 90468,
|
|
39584
|
-
"path": "../public/assets/game/wuwa/world-middle.png"
|
|
39585
|
-
},
|
|
39586
|
-
"/assets/game/wuwa/wu-aura.png": {
|
|
39587
|
-
"type": "image/png",
|
|
39588
|
-
"etag": "\"2055-NKWgEbJfTq5l56FGWi9WDWgBAbU\"",
|
|
39589
|
-
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39590
|
-
"size": 8277,
|
|
39591
|
-
"path": "../public/assets/game/wuwa/wu-aura.png"
|
|
39592
|
-
},
|
|
39593
|
-
"/assets/game/wuwa/wu-lead.png": {
|
|
39594
|
-
"type": "image/png",
|
|
39595
|
-
"etag": "\"3b04-agK45Y3g7QDPns/kmkhTGYSTPDM\"",
|
|
39596
|
-
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39597
|
-
"size": 15108,
|
|
39598
|
-
"path": "../public/assets/game/wuwa/wu-lead.png"
|
|
39599
|
-
},
|
|
39600
|
-
"/assets/game/wuwa/scene-map.png": {
|
|
39601
|
-
"type": "image/png",
|
|
39602
|
-
"etag": "\"682db-bU8mh8SeHPotvuaCc6PZzrWoT+A\"",
|
|
39603
|
-
"mtime": "2026-08-25T12:20:54.521Z",
|
|
39604
|
-
"size": 426715,
|
|
39605
|
-
"path": "../public/assets/game/wuwa/scene-map.png"
|
|
39606
|
-
},
|
|
39607
|
-
"/assets/game/wuwa/world-far.png": {
|
|
39608
|
-
"type": "image/png",
|
|
39609
|
-
"etag": "\"6b391-DRcUWDyPUwUxDpAWplDh9StwdO0\"",
|
|
39610
|
-
"mtime": "2026-08-25T12:20:54.522Z",
|
|
39611
|
-
"size": 439185,
|
|
39612
|
-
"path": "../public/assets/game/wuwa/world-far.png"
|
|
39613
|
-
},
|
|
39614
|
-
"/assets/game/wuwa/world-near.png": {
|
|
39615
|
-
"type": "image/png",
|
|
39616
|
-
"etag": "\"bbcd8-BrybeZP/ZGdD0v5NVC8T/Y4AXyM\"",
|
|
39617
|
-
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39618
|
-
"size": 769240,
|
|
39619
|
-
"path": "../public/assets/game/wuwa/world-near.png"
|
|
39620
|
-
},
|
|
39621
|
-
"/assets/game/wuwa/wu-slash.png": {
|
|
39622
|
-
"type": "image/png",
|
|
39623
|
-
"etag": "\"185-fVjcllSJOBMFcBWLIgBzTrzWGaY\"",
|
|
39624
|
-
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39625
|
-
"size": 389,
|
|
39626
|
-
"path": "../public/assets/game/wuwa/wu-slash.png"
|
|
39627
|
-
},
|
|
39628
|
-
"/assets/game/wuwa/wu-ring.png": {
|
|
39629
|
-
"type": "image/png",
|
|
39630
|
-
"etag": "\"65ac-/iIjlPgFNpD98zDsyCJYA8021E4\"",
|
|
39631
|
-
"mtime": "2026-08-25T12:20:54.527Z",
|
|
39632
|
-
"size": 26028,
|
|
39633
|
-
"path": "../public/assets/game/wuwa/wu-ring.png"
|
|
39634
|
-
},
|
|
39635
|
-
"/assets/game/wuwa/wu-worker-0.png": {
|
|
39636
|
-
"type": "image/png",
|
|
39637
|
-
"etag": "\"3c59-fILvgyTv9TKRgrI9GQlRhaSR96U\"",
|
|
39638
|
-
"mtime": "2026-08-25T12:20:54.528Z",
|
|
39639
|
-
"size": 15449,
|
|
39640
|
-
"path": "../public/assets/game/wuwa/wu-worker-0.png"
|
|
39641
|
-
},
|
|
39642
|
-
"/assets/game/wuwa/wu-worker-1.png": {
|
|
39643
|
-
"type": "image/png",
|
|
39644
|
-
"etag": "\"3cc8-0XoRr5qFC7X+vEEX+XrX4cRX+D0\"",
|
|
39645
|
-
"mtime": "2026-08-25T12:20:54.529Z",
|
|
39646
|
-
"size": 15560,
|
|
39647
|
-
"path": "../public/assets/game/wuwa/wu-worker-1.png"
|
|
39648
|
-
},
|
|
39649
|
-
"/assets/game/wuwa/wu-worker-2.png": {
|
|
39650
|
-
"type": "image/png",
|
|
39651
|
-
"etag": "\"3c81-6qd4LQS0v2L4rTa0XAmekluER7c\"",
|
|
39652
|
-
"mtime": "2026-08-25T12:20:54.529Z",
|
|
39653
|
-
"size": 15489,
|
|
39654
|
-
"path": "../public/assets/game/wuwa/wu-worker-2.png"
|
|
39655
|
-
},
|
|
39656
|
-
"/_nuxt/builds/meta/adc365b6-f636-4a2b-9527-79819c1e874b.json": {
|
|
40130
|
+
"/_nuxt/builds/meta/a66fdef7-dcfd-453b-b1f6-543c7dfd98d5.json": {
|
|
39657
40131
|
"type": "application/json",
|
|
39658
|
-
"etag": "\"58-
|
|
39659
|
-
"mtime": "2026-09-
|
|
40132
|
+
"etag": "\"58-QuM6hqsTD8xmSILeeMXx6uTHY5A\"",
|
|
40133
|
+
"mtime": "2026-09-12T03:59:50.786Z",
|
|
39660
40134
|
"size": 88,
|
|
39661
|
-
"path": "../public/_nuxt/builds/meta/
|
|
40135
|
+
"path": "../public/_nuxt/builds/meta/a66fdef7-dcfd-453b-b1f6-543c7dfd98d5.json"
|
|
39662
40136
|
},
|
|
39663
40137
|
"/assets/game/character/yangyang-walk.glb": {
|
|
39664
40138
|
"type": "model/gltf-binary",
|
|
@@ -39955,21 +40429,32 @@ const _lazy_OK7iTh = () => import('../routes/api/workshop/agents/_id_.patch.mjs'
|
|
|
39955
40429
|
const _lazy_Ib89Gv = () => import('../routes/api/workshop/index.get.mjs');
|
|
39956
40430
|
const _lazy_jGcf0C = () => import('../routes/api/workshop/index.post.mjs');
|
|
39957
40431
|
const _lazy_fESV0_ = () => import('../routes/api/workshop/agents/subscribe.post.mjs');
|
|
40432
|
+
const _lazy_nO_s5_ = () => import('../routes/api/workshop/aml/datasets/_id_.delete.mjs');
|
|
39958
40433
|
const _lazy_tV0TAv = () => import('../routes/api/workshop/aml/datasets/_id_.get.mjs');
|
|
40434
|
+
const _lazy_L8VYQ_ = () => import('../routes/api/workshop/aml/datasets/_id_.patch.mjs');
|
|
39959
40435
|
const _lazy_X7krQs = () => import('../routes/api/workshop/aml/datasets/_id/preview.get.mjs');
|
|
39960
40436
|
const _lazy_3J0Xcs = () => import('../routes/api/workshop/aml/index.get.mjs');
|
|
39961
40437
|
const _lazy_fxhSeB = () => import('../routes/api/workshop/aml/index.post.mjs');
|
|
39962
|
-
const
|
|
40438
|
+
const _lazy_KqY6Ut = () => import('../routes/api/workshop/aml/index2.get.mjs');
|
|
40439
|
+
const _lazy_DuVwH7 = () => import('../routes/api/workshop/aml/entities/prune.post.mjs');
|
|
40440
|
+
const _lazy_sTjAeo = () => import('../routes/api/workshop/aml/index3.get.mjs');
|
|
40441
|
+
const _lazy_qhdgDb = () => import('../routes/api/workshop/aml/env/recheck.post.mjs');
|
|
40442
|
+
const _lazy_p9v5He = () => import('../routes/api/workshop/aml/env/uv.post.mjs');
|
|
40443
|
+
const _lazy_pPdn3t = () => import('../routes/api/workshop/aml/env/venv.post.mjs');
|
|
40444
|
+
const _lazy_OhQ1TJ = () => import('../routes/api/workshop/aml/index4.get.mjs');
|
|
39963
40445
|
const _lazy_fEDefo = () => import('../routes/api/workshop/index2.get.mjs');
|
|
40446
|
+
const _lazy_w4VKE0 = () => import('../routes/api/workshop/aml/jobs/_id_.delete.mjs');
|
|
39964
40447
|
const _lazy_wnp00i = () => import('../routes/api/workshop/aml/jobs/_id_.get.mjs');
|
|
39965
40448
|
const _lazy_i_nokq = () => import('../routes/api/workshop/aml/jobs/_id/cancel.post.mjs');
|
|
39966
40449
|
const _lazy_sKQYLY = () => import('../routes/api/workshop/aml/jobs/_id/logs.get.mjs');
|
|
39967
40450
|
const _lazy_dJdojE = () => import('../routes/api/workshop/aml/jobs/_id/retry.post.mjs');
|
|
39968
|
-
const _lazy_giSCA5 = () => import('../routes/api/workshop/aml/
|
|
40451
|
+
const _lazy_giSCA5 = () => import('../routes/api/workshop/aml/index5.get.mjs');
|
|
39969
40452
|
const _lazy_FDpvz_ = () => import('../routes/api/workshop/aml/index2.post.mjs');
|
|
40453
|
+
const _lazy_MCHjBO = () => import('../routes/api/workshop/aml/models/_id_.delete.mjs');
|
|
40454
|
+
const _lazy_FFXs4U = () => import('../routes/api/workshop/aml/models/_id_.patch.mjs');
|
|
39970
40455
|
const _lazy_gykCLA = () => import('../routes/api/workshop/aml/models/_id/predict.post.mjs');
|
|
39971
40456
|
const _lazy_iC7aQp = () => import('../routes/api/workshop/aml/models/_id/promote.post.mjs');
|
|
39972
|
-
const _lazy_rROxR2 = () => import('../routes/api/workshop/aml/
|
|
40457
|
+
const _lazy_rROxR2 = () => import('../routes/api/workshop/aml/index6.get.mjs');
|
|
39973
40458
|
const _lazy_oKzzOL = () => import('../routes/api/workshop/approvals/_id/decide.post.mjs');
|
|
39974
40459
|
const _lazy_N57pWC = () => import('../routes/api/workshop/index3.get.mjs');
|
|
39975
40460
|
const _lazy_N7zTgE = () => import('../routes/api/workshop/assets/character/_id_.delete.mjs');
|
|
@@ -40191,18 +40676,29 @@ const handlers = [
|
|
|
40191
40676
|
{ route: '/api/workshop/agents', handler: _lazy_Ib89Gv, lazy: true, middleware: false, method: "get" },
|
|
40192
40677
|
{ route: '/api/workshop/agents', handler: _lazy_jGcf0C, lazy: true, middleware: false, method: "post" },
|
|
40193
40678
|
{ route: '/api/workshop/agents/subscribe', handler: _lazy_fESV0_, lazy: true, middleware: false, method: "post" },
|
|
40679
|
+
{ route: '/api/workshop/aml/datasets/:id', handler: _lazy_nO_s5_, lazy: true, middleware: false, method: "delete" },
|
|
40194
40680
|
{ route: '/api/workshop/aml/datasets/:id', handler: _lazy_tV0TAv, lazy: true, middleware: false, method: "get" },
|
|
40681
|
+
{ route: '/api/workshop/aml/datasets/:id', handler: _lazy_L8VYQ_, lazy: true, middleware: false, method: "patch" },
|
|
40195
40682
|
{ route: '/api/workshop/aml/datasets/:id/preview', handler: _lazy_X7krQs, lazy: true, middleware: false, method: "get" },
|
|
40196
40683
|
{ route: '/api/workshop/aml/datasets', handler: _lazy_3J0Xcs, lazy: true, middleware: false, method: "get" },
|
|
40197
40684
|
{ route: '/api/workshop/aml/datasets', handler: _lazy_fxhSeB, lazy: true, middleware: false, method: "post" },
|
|
40685
|
+
{ route: '/api/workshop/aml/entities', handler: _lazy_KqY6Ut, lazy: true, middleware: false, method: "get" },
|
|
40686
|
+
{ route: '/api/workshop/aml/entities/prune', handler: _lazy_DuVwH7, lazy: true, middleware: false, method: "post" },
|
|
40687
|
+
{ route: '/api/workshop/aml/env', handler: _lazy_sTjAeo, lazy: true, middleware: false, method: "get" },
|
|
40688
|
+
{ route: '/api/workshop/aml/env/recheck', handler: _lazy_qhdgDb, lazy: true, middleware: false, method: "post" },
|
|
40689
|
+
{ route: '/api/workshop/aml/env/uv', handler: _lazy_p9v5He, lazy: true, middleware: false, method: "post" },
|
|
40690
|
+
{ route: '/api/workshop/aml/env/venv', handler: _lazy_pPdn3t, lazy: true, middleware: false, method: "post" },
|
|
40198
40691
|
{ route: '/api/workshop/aml/experiments', handler: _lazy_OhQ1TJ, lazy: true, middleware: false, method: "get" },
|
|
40199
40692
|
{ route: '/api/workshop/aml', handler: _lazy_fEDefo, lazy: true, middleware: false, method: "get" },
|
|
40693
|
+
{ route: '/api/workshop/aml/jobs/:id', handler: _lazy_w4VKE0, lazy: true, middleware: false, method: "delete" },
|
|
40200
40694
|
{ route: '/api/workshop/aml/jobs/:id', handler: _lazy_wnp00i, lazy: true, middleware: false, method: "get" },
|
|
40201
40695
|
{ route: '/api/workshop/aml/jobs/:id/cancel', handler: _lazy_i_nokq, lazy: true, middleware: false, method: "post" },
|
|
40202
40696
|
{ route: '/api/workshop/aml/jobs/:id/logs', handler: _lazy_sKQYLY, lazy: true, middleware: false, method: "get" },
|
|
40203
40697
|
{ route: '/api/workshop/aml/jobs/:id/retry', handler: _lazy_dJdojE, lazy: true, middleware: false, method: "post" },
|
|
40204
40698
|
{ route: '/api/workshop/aml/jobs', handler: _lazy_giSCA5, lazy: true, middleware: false, method: "get" },
|
|
40205
40699
|
{ route: '/api/workshop/aml/jobs', handler: _lazy_FDpvz_, lazy: true, middleware: false, method: "post" },
|
|
40700
|
+
{ route: '/api/workshop/aml/models/:id', handler: _lazy_MCHjBO, lazy: true, middleware: false, method: "delete" },
|
|
40701
|
+
{ route: '/api/workshop/aml/models/:id', handler: _lazy_FFXs4U, lazy: true, middleware: false, method: "patch" },
|
|
40206
40702
|
{ route: '/api/workshop/aml/models/:id/predict', handler: _lazy_gykCLA, lazy: true, middleware: false, method: "post" },
|
|
40207
40703
|
{ route: '/api/workshop/aml/models/:id/promote', handler: _lazy_iC7aQp, lazy: true, middleware: false, method: "post" },
|
|
40208
40704
|
{ route: '/api/workshop/aml/models', handler: _lazy_rROxR2, lazy: true, middleware: false, method: "get" },
|
|
@@ -40764,5 +41260,5 @@ function setupGracefulShutdown(listener, nitroApp) {
|
|
|
40764
41260
|
});
|
|
40765
41261
|
}
|
|
40766
41262
|
|
|
40767
|
-
export { getDcwController as $, getSystemConfigService as A, defineWebSocketHandler as B, respondTerminalUi as C, abortTerminal as D, sendTerminalInput as E, resolveUserByToken as F, findLiveTerminalPidByAgent as G, terminalSessionSnapshot as H, subscribeTerminal as I, listHarnessProcesses as J, AppError as K, createEventStream as L, userService as M, readValidatedBody as N, zValidator as O, getValidatedQuery as P, extractBearerToken as Q, userRepository as R, getRequestHeader as S, setResponseStatus as T, parseJson as U, getToolApprovals as V, audit as W, getAgentNodeBindingRepo as X, ErrorCodes as Y, lineMode as Z, getDaqController as _, trapUnhandledNodeErrors as a,
|
|
41263
|
+
export { getDcwController as $, getSystemConfigService as A, defineWebSocketHandler as B, respondTerminalUi as C, abortTerminal as D, sendTerminalInput as E, resolveUserByToken as F, findLiveTerminalPidByAgent as G, terminalSessionSnapshot as H, subscribeTerminal as I, listHarnessProcesses as J, AppError as K, createEventStream as L, userService as M, readValidatedBody as N, zValidator as O, getValidatedQuery as P, extractBearerToken as Q, userRepository as R, getRequestHeader as S, setResponseStatus as T, parseJson as U, getToolApprovals as V, audit as W, getAgentNodeBindingRepo as X, ErrorCodes as Y, lineMode as Z, getDaqController as _, trapUnhandledNodeErrors as a, harnessMetas as a$, visibleLineIds as a0, getHeader as a1, getAmlRuntime as a2, requireLineMode as a3, recordOps as a4, isInsideAmlRoot as a5, createLogger as a6, loadManifest as a7, filterByLine as a8, parseDatasetSpec as a9, notifyToolChange as aA, listTerminalSessions as aB, broadcastSceneEvent as aC, bindDaqHostPorts as aD, bindDaqBroadcast as aE, bumpTaggedSamples as aF, getDcwLineRepo as aG, getDcwRecipeRepo as aH, getAllActiveLineRuns as aI, getActiveLineRun as aJ, deviceScenePayload as aK, daqRuntimeSettings as aL, tsdbReady as aM, getDaqQueue as aN, listDaqTemplates as aO, daqInfraStatus as aP, daqInfraConfig as aQ, getDaqTemplateRegistry as aR, normalizeDriverKind as aS, bindDcwBroadcast as aT, gateDangerous as aU, getRecipeRollBackManager as aV, isPrivilegedRole as aW, listDcwTemplates as aX, emitLineLifecycle as aY, getDcwTemplateRegistry as aZ, checkAllHarnessAvailability as a_, buildDataset as aa, probeUv as ab, probePython as ac, isVenvReady as ad, venvDir as ae, requirementsHash as af, venvPythonPath as ag, amlRootSourceLabel as ah, resetProbeCache as ai, installUv as aj, ensureVenv as ak, amlSettings as al, runtimeStatus as am, cancelJob as an, jobLogsTail as ao, retryJob as ap, submitJob as aq, predictWithModel as ar, verifyModelArtifact as as, transitionModel as at, loadJsonFile as au, saveJsonFileAtomic as av, ensureDataDir as aw, readMultipartFormData as ax, ensureLeadSchedulerLoop as ay, getChannelPluginsRepo as az, useNitroApp as b, StdioJsonRpcClient as b0, spawnLineProcess as b1, getHitlRegistry as b2, notifyGrantsChanged as b3, setPluginEnabled as b4, reloadPluginHost as b5, publishSceneLayoutEvent as b6, encodePath as b7, buildAssetsURL as b8, publicAssetsURL as b9, ws$1 as bA, channelPlugins_repo as bB, defineRenderHandler as ba, getRouteRules as bb, relative as bc, joinURL as bd, getResponseStatusText as be, getResponseStatus as bf, createHooks as bg, sanitizeStatusCode as bh, klona as bi, isEqual as bj, setCookie as bk, getCookie as bl, deleteCookie as bm, $fetch as bn, baseURL as bo, defu as bp, getRequestProtocol as bq, appendResponseHeader as br, DAQ_TEMPLATES as bs, DCW_TEMPLATES as bt, daqKeyFromRef as bu, DAQ_DRIVERS as bv, DCW_DRIVERS as bw, DAQ_TEMPLATE_ICONS as bx, DCW_LINE_COLORS as by, host as bz, defineApiHandler as c, destr as d, useServerConfig as e, getDeviceTwinRepo as f, getWorkshopManager as g, defineEventHandler as h, readRawBody as i, getRequestURL as j, getRequestHeaders as k, getOps as l, setResponseHeader as m, createError$1 as n, readBody as o, getPluginHost as p, getRouterParam as q, randomUUID as r, setupGracefulShutdown as s, toNodeListener as t, useRuntimeConfig as u, readClientScript as v, setHeader as w, pluginI18nBundle as x, pluginManifest as y, getQuery as z };
|
|
40768
41264
|
//# sourceMappingURL=nitro.mjs.map
|