agentworkshop 0.7.6 → 0.7.7
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/.AgentWorkShop/prompts/host-tools.json +1 -1
- package/.output/.AgentWorkShop/prompts/host-tools.json +1 -1
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{rzGB_ojX.js → 3612gD2V.js} +2 -2
- package/.output/public/_nuxt/8eIQAVlb.js +1 -0
- package/.output/public/_nuxt/Ah9qOv1m.js +1 -0
- package/.output/public/_nuxt/{DdPeifHR.js → B4Fia4FB.js} +1 -1
- package/.output/public/_nuxt/B7aqqzkY.js +1 -0
- package/.output/public/_nuxt/BJ-fxrSw.js +1 -0
- package/.output/public/_nuxt/{DPDqAD1e.js → BSXx2vqR.js} +1 -1
- package/.output/public/_nuxt/{CdSgfcYR.js → BVZjSVs2.js} +1 -1
- package/.output/public/_nuxt/{DP6bdyIp.js → BVzDoF8t.js} +1 -1
- package/.output/public/_nuxt/BYL0Rjqj.js +7 -0
- package/.output/public/_nuxt/{CXmkVXS5.js → BjVLsC3M.js} +1 -1
- package/.output/public/_nuxt/{7ZABjMRh2.js → BkfchkK62.js} +1 -1
- package/.output/public/_nuxt/BnVoQ74r.js +1 -0
- package/.output/public/_nuxt/Bnp4vIAf.js +1 -0
- package/.output/public/_nuxt/BsMpJf7S.js +70 -0
- package/.output/public/_nuxt/{Z8k0uMSI.js → Bt_HDizI.js} +1 -1
- package/.output/public/_nuxt/Bu-P92Pe.js +18 -0
- package/.output/public/_nuxt/ButLXkjo.js +2 -0
- package/.output/public/_nuxt/C-GarxYC.js +1 -0
- package/.output/public/_nuxt/{D8DDDzV62.js → C2iWjzEC2.js} +1 -1
- package/.output/public/_nuxt/{HWXLx5Hz.js → C8dxXc6K.js} +5 -5
- package/.output/public/_nuxt/CGdPdJPP.js +1 -0
- package/.output/public/_nuxt/{CyygA0q4.js → CQiKcuoG.js} +4 -4
- package/.output/public/_nuxt/{CN7Zh8GQ.js → CRGlf1Gb.js} +1 -1
- package/.output/public/_nuxt/{DSBfvCi5.js → CblLEiCZ.js} +7 -7
- package/.output/public/_nuxt/Cd15nPnG2.js +1 -0
- package/.output/public/_nuxt/{OwJ1LJkF.js → CsCpu2Zh.js} +1 -1
- package/.output/public/_nuxt/CvbHIGQY2.js +1 -0
- package/.output/public/_nuxt/Cyk3du4K2.js +1 -0
- package/.output/public/_nuxt/{DVQAz9WI.js → D4qXvjuV.js} +2 -2
- package/.output/public/_nuxt/{CfIXY-ET.js → DCEyMaN-.js} +1 -1
- package/.output/public/_nuxt/{BFYNhG9S.js → DCXIGxzT.js} +1 -1
- package/.output/public/_nuxt/{B9aPoQvt.js → DM8DS9MA.js} +1 -1
- package/.output/public/_nuxt/{ChnfyQHz.js → DNzaswei.js} +1 -1
- package/.output/public/_nuxt/{CrFGZYVB2.js → DYZBdSSg2.js} +1 -1
- package/.output/public/_nuxt/{dObsRdSQ.js → DZk24ego.js} +1 -1
- package/.output/public/_nuxt/DeYsUzhr.js +1 -0
- package/.output/public/_nuxt/Dk6pq9JB2.js +1 -0
- package/.output/public/_nuxt/{ByGNWgAr.js → Do88WZG2.js} +3 -3
- package/.output/public/_nuxt/{R_WxTozV2.js → Du-eSpo2.js} +1 -1
- package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +1 -0
- package/.output/public/_nuxt/{Bsc69G4x.js → VnIWJ0ts.js} +3 -3
- package/.output/public/_nuxt/_id_.BzKMZnLe.css +1 -0
- package/.output/public/_nuxt/_id_.CbpDAWRh.css +1 -0
- package/.output/public/_nuxt/{_wsId_.DET_GinP.css → _wsId_.COUzMXpP.css} +1 -1
- package/.output/public/_nuxt/agents.BlejnOOC.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/14df171d-89cb-43ec-ad6f-9df72d6da7f5.json +1 -0
- package/.output/public/_nuxt/daq.zZ8GR433.css +1 -0
- package/.output/public/_nuxt/{default.D17kXlD6.css → default.V3_hUJq1.css} +1 -1
- package/.output/public/_nuxt/{B4GHHF6d2.js → fQUs58kX2.js} +1 -1
- package/.output/public/_nuxt/p7wSGMtc.js +1 -0
- package/.output/public/_nuxt/tRBT-plo.js +1 -0
- package/.output/server/chunks/_/SearchOutlined.mjs +4 -4
- package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +3 -6
- package/.output/server/chunks/_/character-asset.repo.mjs.map +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +4967 -2035
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +4 -10
- package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -1
- package/.output/server/chunks/build/{Col-D7fjGDF6.mjs → Col-biaNnEPf.mjs} +2 -2
- package/.output/server/chunks/build/{Col-D7fjGDF6.mjs.map → Col-biaNnEPf.mjs.map} +1 -1
- package/.output/server/chunks/build/{OmpTerminalPanel-B_SYhmgb.mjs → OmpTerminalPanel-COphA1br.mjs} +20 -19
- package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +1 -0
- package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs → TownView-B5KifIaT.mjs} +4 -4
- package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs.map → TownView-B5KifIaT.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-GnRJPykX.mjs → _id_-C-ewLgfl.mjs} +119 -119
- package/.output/server/chunks/build/{_id_-GnRJPykX.mjs.map → _id_-C-ewLgfl.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-CWLFGZjV.mjs → _id_-Ct4Jhvl1.mjs} +42 -38
- package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs → _wsId_-CanI_6Su.mjs} +591 -53
- package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs.map → _wsId_-CanI_6Su.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-D4l1icvn.mjs → agents-DSOptxXA.mjs} +146 -91
- package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +1 -0
- package/.output/server/chunks/build/{alert-gH-s7yIh.mjs → alert-qJnjyRcP.mjs} +3 -3
- package/.output/server/chunks/build/{alert-gH-s7yIh.mjs.map → alert-qJnjyRcP.mjs.map} +1 -1
- package/.output/server/chunks/build/{button-BhbX5ACI.mjs → button-DEcZFcqN.mjs} +3 -3
- package/.output/server/chunks/build/{button-BhbX5ACI.mjs.map → button-DEcZFcqN.mjs.map} +1 -1
- package/.output/server/chunks/build/{card-l4BbX67w.mjs → card-Dipvaykh.mjs} +5 -5
- package/.output/server/chunks/build/{card-l4BbX67w.mjs.map → card-Dipvaykh.mjs.map} +1 -1
- package/.output/server/chunks/build/{channel-templates-DqjtC-R0.mjs → channel-templates-BK0KuPOd.mjs} +13 -12
- package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +1 -0
- package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs → checkbox-dzcpU_Cd.mjs} +4 -4
- package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs.map → checkbox-dzcpU_Cd.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-BOgpn9sl.mjs → daq-D9RA_uze.mjs} +102 -102
- package/.output/server/chunks/build/{daq-BOgpn9sl.mjs.map → daq-D9RA_uze.mjs.map} +1 -1
- package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +1 -1
- package/.output/server/chunks/build/{default-CKJWhkot.mjs → default-BfWGTlbj.mjs} +81 -23
- package/.output/server/chunks/build/{default-CKJWhkot.mjs.map → default-BfWGTlbj.mjs.map} +1 -1
- package/.output/server/chunks/build/{drawer-CVValqoh.mjs → drawer-Cmh90erI.mjs} +3 -3
- package/.output/server/chunks/build/{drawer-CVValqoh.mjs.map → drawer-Cmh90erI.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs → dropdown-CGQ0KAzA.mjs} +2 -2
- package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs.map → dropdown-CGQ0KAzA.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs → dropdown-vhn1NPFs.mjs} +4 -4
- package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs.map → dropdown-vhn1NPFs.mjs.map} +1 -1
- package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs → input-number-Bd55elNN.mjs} +5 -5
- package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs.map → input-number-Bd55elNN.mjs.map} +1 -1
- package/.output/server/chunks/build/{input--KMeLYqZ.mjs → input-sf_BT6o6.mjs} +3 -3
- package/.output/server/chunks/build/{input--KMeLYqZ.mjs.map → input-sf_BT6o6.mjs.map} +1 -1
- package/.output/server/chunks/build/logs-Dyk0I2I9.mjs +1 -1
- package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs → menu-WCrlpYVh.mjs} +3 -3
- package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs.map → menu-WCrlpYVh.mjs.map} +1 -1
- package/.output/server/chunks/build/{modal-DrCOcjrl.mjs → modal-yvUquPj5.mjs} +4 -4
- package/.output/server/chunks/build/{modal-DrCOcjrl.mjs.map → modal-yvUquPj5.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs → monitor-MIOvsyLa.mjs} +21 -21
- package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs.map → monitor-MIOvsyLa.mjs.map} +1 -1
- package/.output/server/chunks/build/pages-DR2bzczM.mjs +1 -1
- package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs → plugins-DnOBIWGg.mjs} +7 -7
- package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs.map → plugins-DnOBIWGg.mjs.map} +1 -1
- package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs → popconfirm-CRaHcz5O.mjs} +4 -4
- package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs.map → popconfirm-CRaHcz5O.mjs.map} +1 -1
- package/.output/server/chunks/build/{useWorkshopApi-Bh5VUHWu.mjs → segmented-DPe9ZzLO.mjs} +7 -78
- package/.output/server/chunks/build/segmented-DPe9ZzLO.mjs.map +1 -0
- package/.output/server/chunks/build/{select-D7H2ysgT.mjs → select-D-CeE5vY.mjs} +3 -3
- package/.output/server/chunks/build/{select-D7H2ysgT.mjs.map → select-D-CeE5vY.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-Cr06lbRy.mjs → settings-DA8IkGLo.mjs} +11 -11
- package/.output/server/chunks/build/{settings-Cr06lbRy.mjs.map → settings-DA8IkGLo.mjs.map} +1 -1
- package/.output/server/chunks/build/{space-DCwIlnkI.mjs → space-CCBYAkXt.mjs} +2 -2
- package/.output/server/chunks/build/{space-DCwIlnkI.mjs.map → space-CCBYAkXt.mjs.map} +1 -1
- package/.output/server/chunks/build/{switch-VC0m9ede.mjs → switch-CelRXpcy.mjs} +3 -3
- package/.output/server/chunks/build/{switch-VC0m9ede.mjs.map → switch-CelRXpcy.mjs.map} +1 -1
- package/.output/server/chunks/build/{table-BksLg3Q_.mjs → table-Cswq-l2r.mjs} +10 -10
- package/.output/server/chunks/build/{table-BksLg3Q_.mjs.map → table-Cswq-l2r.mjs.map} +1 -1
- package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs → tabs-BM3tAh_J.mjs} +5 -5
- package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs.map → tabs-BM3tAh_J.mjs.map} +1 -1
- package/.output/server/chunks/build/{tag-oQI3VtqM.mjs → tag-NO9jEqKy.mjs} +4 -4
- package/.output/server/chunks/build/{tag-oQI3VtqM.mjs.map → tag-NO9jEqKy.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-QR3BBF7A.mjs → teams-BhSKBBBM.mjs} +15 -14
- package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs → tokens-D_eyxmcv.mjs} +16 -16
- package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs.map → tokens-D_eyxmcv.mjs.map} +1 -1
- package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
- package/.output/server/chunks/build/{town-_4tEEEVW.mjs → town-DPtOPRRO.mjs} +4 -4
- package/.output/server/chunks/build/{town-_4tEEEVW.mjs.map → town-DPtOPRRO.mjs.map} +1 -1
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +42 -0
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +81 -0
- package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs +1 -1
- package/.output/server/chunks/build/user-Dk-ytEUV.mjs +1 -1
- package/.output/server/chunks/build/{users-4FZ0yFUO.mjs → users-CmVvb1oq.mjs} +16 -16
- package/.output/server/chunks/build/{users-4FZ0yFUO.mjs.map → users-CmVvb1oq.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs → workshop-iCzNRifn.mjs} +9 -9
- package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs.map → workshop-iCzNRifn.mjs.map} +1 -1
- package/.output/server/chunks/build/workspaces-IfORCDJE.mjs +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
- package/.output/server/chunks/routes/api/metrics.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.get.mjs +3 -3
- package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -14
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +39 -0
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/caller.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/channel-templates/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.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/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +9 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +6 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +247 -0
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +27 -0
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +19 -7
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.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/plugins/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/runtime.get.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/scene/layouts.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +123 -113
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/AppHeader.vue +56 -2
- package/app/components/workshop/ChannelSessionList.vue +703 -593
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +2 -1
- package/app/composables/workshop/useLocalTime.ts +16 -0
- package/app/composables/workshop/useSceneLayouts.ts +2 -1
- package/app/composables/workshop/useWorkshopApi.ts +249 -224
- package/app/pages/daq/[id].vue +7 -6
- package/app/pages/daq/index.vue +2 -2
- package/app/pages/dcw/[id].vue +3 -3
- package/app/pages/workshop/agents.vue +432 -382
- package/bin/aw.mjs +0 -0
- package/cli/aw.mjs +8 -1
- package/cli/commands/stop.mjs +7 -4
- package/cli/commands/tui.mjs +10 -1
- package/cli/core/registry.mjs +5 -3
- package/config.yml +134 -134
- package/docs/tui.md +1 -1
- package/i18n/locales/en.ts +5 -0
- package/i18n/locales/zh-CN.ts +5 -0
- package/package.json +148 -140
- package/scripts/_dbg-catalog-smoke.ts +20 -0
- package/scripts/_dbg-codex-probe.mjs +58 -0
- package/scripts/_dbg-dsh-probe.mjs +31 -0
- package/scripts/_dbg-interval-scenario.mjs +126 -0
- package/scripts/_dbg-line-spawn.ts +31 -0
- package/scripts/_dbg-live-engine-probe.mjs +80 -0
- package/scripts/_dbg-mcp-bridge-probe.mjs +147 -0
- package/scripts/_dbg-opencode-sse.mjs +101 -0
- package/scripts/_dbg-opencode-start.ts +57 -0
- package/scripts/_dbg-plugin-matrix.mjs +212 -0
- package/scripts/_dbg-protocol-matrix.mjs +425 -0
- package/scripts/_dbg-real-scenario-timeline.log +123 -0
- package/scripts/_dbg-registry-smoke.ts +14 -0
- package/scripts/_dbg-sim-keeper.mjs +100 -0
- package/scripts/_dbg-team-drill.mjs +173 -0
- package/scripts/dev-guard.mjs +11 -3
- package/scripts/dev-protocol-simulators.mjs +28 -1
- package/scripts/e2e-multi-harness.ts +374 -0
- package/scripts/e2e-multiharness-team.mjs +319 -0
- package/scripts/e2e-plc-scenario.mjs +292 -0
- package/scripts/e2e-real-scenario.mjs +452 -0
- package/scripts/migrate-local-time.mjs +123 -0
- package/scripts/start.mjs +30 -2
- package/server/api/system/settings/index.get.ts +3 -3
- package/server/api/workshop/agent-tools/invoke.post.ts +27 -41
- package/server/api/workshop/agent-tools/list.get.ts +25 -0
- package/server/api/workshop/channels/[id]/index.patch.ts +38 -30
- package/server/api/workshop/daq/[id]/samples.get.ts +6 -3
- package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -0
- package/server/api/workshop/harnesses.get.ts +12 -0
- package/server/api/workshop/hitl/respond.post.ts +87 -67
- package/server/api/workshop/ws.ts +13 -0
- package/server/data/daqs.json +1366 -16
- package/server/data/dcw-lines.json +266 -0
- package/server/data/dcw-products.json +203 -0
- package/server/data/dcw-recipes.json +784 -0
- package/server/data/dcw-rollback.json +1144 -1
- package/server/data/dcw-runs.json +983 -791
- package/server/data/dcw-writes.json +1080 -0
- package/server/data/dcws.json +3278 -203
- package/server/data/line-runs.json +52 -2
- package/server/harness/aw-mcp-bridge.mjs +153 -0
- package/server/plugins/00-local-time.ts +10 -0
- package/server/plugins/aw-plugins.ts +3 -0
- package/server/plugins/backup.ts +116 -97
- package/server/plugins/dev-stability-guard.ts +24 -15
- package/server/plugins/retention.ts +1 -0
- package/server/plugins/security.ts +24 -3
- package/server/plugins/workshop.ts +156 -153
- package/server/repositories/user.repository.ts +414 -391
- package/server/services/system-config.ts +30 -6
- package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
- package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
- package/server/services/workshop/agents/adapters/line-spawn.ts +108 -0
- package/server/services/workshop/agents/adapters/stdio-jsonrpc.ts +316 -0
- package/server/services/workshop/agents/agent-interface.ts +17 -0
- package/server/services/workshop/agents/codex-agent.ts +822 -0
- package/server/services/workshop/agents/dsh-agent.ts +670 -0
- package/server/services/workshop/agents/factory.ts +4 -16
- package/server/services/workshop/agents/harness-env.ts +54 -0
- package/server/services/workshop/agents/harness-models.ts +270 -0
- package/server/services/workshop/agents/host-tool-bridge.ts +592 -0
- package/server/services/workshop/agents/industrial-tools.ts +5 -1
- package/server/services/workshop/agents/node-bindings.repo.ts +4 -5
- package/server/services/workshop/agents/omp-agent.ts +1178 -1957
- package/server/services/workshop/agents/opencode-agent.ts +987 -0
- package/server/services/workshop/agents/prompt-builder.ts +393 -0
- package/server/services/workshop/agents/registry.ts +125 -0
- package/server/services/workshop/assets/character-asset.repo.ts +3 -5
- package/server/services/workshop/assets/device-twin.repo.ts +3 -5
- package/server/services/workshop/daq/daq-controller.ts +8 -4
- package/server/services/workshop/daq/daq-node.repo.ts +3 -5
- package/server/services/workshop/daq/daq-node.ts +2 -2
- package/server/services/workshop/daq/daq-templates.ts +3 -5
- package/server/services/workshop/daq/drivers.ts +41 -12
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +313 -309
- package/server/services/workshop/db/backup-registry.ts +33 -0
- package/server/services/workshop/db/channel.repo.ts +104 -101
- package/server/services/workshop/db/database.ts +956 -949
- package/server/services/workshop/dcw/dcw-controller.ts +3 -1
- package/server/services/workshop/dcw/dcw-line.repo.ts +4 -11
- package/server/services/workshop/dcw/dcw-node.repo.ts +3 -5
- package/server/services/workshop/dcw/dcw-node.ts +13 -1
- package/server/services/workshop/dcw/dcw-product.repo.ts +3 -4
- package/server/services/workshop/dcw/dcw-recipe.repo.ts +3 -19
- package/server/services/workshop/dcw/dcw-templates.ts +3 -5
- package/server/services/workshop/dcw/drivers.ts +37 -13
- package/server/services/workshop/dcw/line-run.ts +3 -5
- package/server/services/workshop/dcw/recipe-rollback.repo.ts +4 -10
- package/server/services/workshop/json-store.mjs +72 -0
- package/server/services/workshop/plugins/host.mjs +2 -1
- package/server/services/workshop/runtime/agent-runtime.ts +44 -0
- package/server/services/workshop/runtime/manager.ts +2953 -2868
- package/server/services/workshop/scene/scene-layout.repo.ts +4 -11
- package/server/services/workshop/settings.ts +7 -0
- package/shared/config/schema.json +5 -0
- package/shared/config/single-instance.mjs +5 -1
- package/shared/local-time.mjs +36 -0
- package/shared/workshop-protocol.ts +11 -5
- package/tui/aw-tui.mjs +28 -10
- package/tui/components/hitl-card.mjs +47 -36
- package/tui/lib/ws.mjs +2 -1
- package/.output/public/_nuxt/9X0fVBD7.js +0 -57
- package/.output/public/_nuxt/B6M2WJWm2.js +0 -1
- package/.output/public/_nuxt/B9Yie5HN.js +0 -2
- package/.output/public/_nuxt/BF9XPEuw.js +0 -1
- package/.output/public/_nuxt/BbQornXa.js +0 -1
- package/.output/public/_nuxt/Bxgaym6j.js +0 -1
- package/.output/public/_nuxt/Bxh5nf8j.js +0 -1
- package/.output/public/_nuxt/CXLI50Sq.js +0 -1
- package/.output/public/_nuxt/CdfAP_IH2.js +0 -1
- package/.output/public/_nuxt/Ce1zyNYu.js +0 -1
- package/.output/public/_nuxt/D-Ne4C9a.js +0 -1
- package/.output/public/_nuxt/DEHNjlTq2.js +0 -1
- package/.output/public/_nuxt/DFnGFEav.js +0 -18
- package/.output/public/_nuxt/DYWgGHNo.js +0 -7
- package/.output/public/_nuxt/OmpTerminalPanel.Bc9GjNU5.css +0 -1
- package/.output/public/_nuxt/W1E3-5ML.js +0 -14
- package/.output/public/_nuxt/XVB9_zwP.js +0 -1
- package/.output/public/_nuxt/Xaf_HIR3.js +0 -1
- package/.output/public/_nuxt/_id_.BeqSLvl_.css +0 -1
- package/.output/public/_nuxt/_id_.DN3U6EF9.css +0 -1
- package/.output/public/_nuxt/agents.BJwgTLFZ.css +0 -1
- package/.output/public/_nuxt/builds/meta/55c10854-ee0e-4be4-924b-a1b0e100fe11.json +0 -1
- package/.output/public/_nuxt/daq.BXsnevQv.css +0 -1
- package/.output/public/_nuxt/yIKY_V1P.js +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-B_SYhmgb.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CWLFGZjV.mjs.map +0 -1
- package/.output/server/chunks/build/agents-D4l1icvn.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs.map +0 -1
- package/.output/server/chunks/build/interval-WlxgjTzO.mjs +0 -9
- package/.output/server/chunks/build/interval-WlxgjTzO.mjs.map +0 -1
- package/.output/server/chunks/build/teams-QR3BBF7A.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopApi-Bh5VUHWu.mjs.map +0 -1
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* 应用级单例,写入 server/data/scene-layouts.json,进程内缓存,启动读盘。
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import fs from 'node:fs'
|
|
13
12
|
import path from 'node:path'
|
|
13
|
+
import { loadJsonFile, saveJsonFileAtomic } from '../json-store.mjs'
|
|
14
14
|
|
|
15
15
|
export interface SceneLayout {
|
|
16
16
|
channelId: string
|
|
@@ -44,18 +44,11 @@ const DB_PATH = process.cwd().endsWith('server')
|
|
|
44
44
|
: path.join(process.cwd(), 'server', 'data', 'scene-layouts.json')
|
|
45
45
|
|
|
46
46
|
function load(): SceneLayout[] {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const parsed = JSON.parse(raw)
|
|
50
|
-
return Array.isArray(parsed) ? parsed : []
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return []
|
|
54
|
-
}
|
|
47
|
+
const parsed = loadJsonFile(DB_PATH, [])
|
|
48
|
+
return Array.isArray(parsed) ? parsed as SceneLayout[] : []
|
|
55
49
|
}
|
|
56
50
|
function save(list: SceneLayout[]): void {
|
|
57
|
-
|
|
58
|
-
fs.writeFileSync(DB_PATH, JSON.stringify(list, null, 2), 'utf-8')
|
|
51
|
+
saveJsonFileAtomic(DB_PATH, list)
|
|
59
52
|
}
|
|
60
53
|
|
|
61
54
|
class SceneLayoutRepo {
|
|
@@ -69,6 +69,12 @@ export interface OmpSettings {
|
|
|
69
69
|
compact_min_interval_ms: number
|
|
70
70
|
compact_wait_ms: number
|
|
71
71
|
}
|
|
72
|
+
export interface HarnessSettings {
|
|
73
|
+
opencode_command: string
|
|
74
|
+
codex_command: string
|
|
75
|
+
dsh_command: string
|
|
76
|
+
hitl_timeout_ms: number
|
|
77
|
+
}
|
|
72
78
|
export interface DcwSettings {
|
|
73
79
|
rollback_cooldown_ms: number
|
|
74
80
|
rollback_min_window_ms: number
|
|
@@ -113,6 +119,7 @@ export interface DaqRuntimeSettings {
|
|
|
113
119
|
|
|
114
120
|
export const memorySettings = (): MemorySettings => section<MemorySettings>('memory')
|
|
115
121
|
export const ompSettings = (): OmpSettings => section<OmpSettings>('omp')
|
|
122
|
+
export const harnessSettings = (): HarnessSettings => section<HarnessSettings>('harness')
|
|
116
123
|
export const dcwSettings = (): DcwSettings => section<DcwSettings>('dcw')
|
|
117
124
|
export const workshopSettings = (): WorkshopSettings => section<WorkshopSettings>('workshop')
|
|
118
125
|
export const backupSettings = (): BackupSettings => section<BackupSettings>('backup')
|
|
@@ -59,6 +59,11 @@
|
|
|
59
59
|
{ "key": "omp.compact_min_interval_ms", "type": "number", "group": "omp", "label": "压缩最小间隔(ms)", "labelKey": "settings.runtime.omp.compactMinIntervalMs", "description": "两次自动压缩之间的最小间隔", "applies": "restart", "default": 300000, "min": 30000, "max": 3600000 },
|
|
60
60
|
{ "key": "omp.compact_wait_ms", "type": "number", "group": "omp", "label": "压缩等待超时(ms)", "labelKey": "settings.runtime.omp.compactWaitMs", "description": "等待 compaction_end 完成事件的超时", "applies": "restart", "default": 120000, "min": 10000, "max": 600000 },
|
|
61
61
|
|
|
62
|
+
{ "key": "harness.opencode_command", "type": "string", "group": "harness", "label": "opencode 命令", "labelKey": "settings.runtime.harness.opencodeCommand", "description": "OpenCode 引擎可执行文件(PATH 解析)", "applies": "restart", "default": "opencode" },
|
|
63
|
+
{ "key": "harness.codex_command", "type": "string", "group": "harness", "label": "codex 命令", "labelKey": "settings.runtime.harness.codexCommand", "description": "OpenAI Codex CLI 可执行文件(app-server 模式)", "applies": "restart", "default": "codex" },
|
|
64
|
+
{ "key": "harness.dsh_command", "type": "string", "group": "harness", "label": "dsh 命令", "labelKey": "settings.runtime.harness.dshCommand", "description": "DeepSeek Harness 可执行文件(ACP 模式)", "applies": "restart", "default": "dsh" },
|
|
65
|
+
{ "key": "harness.hitl_timeout_ms", "type": "number", "group": "harness", "label": "引擎审批超时(ms)", "labelKey": "settings.runtime.harness.hitlTimeoutMs", "description": "codex/opencode/dsh 权限审批无人应答的自动拒绝时限(0=无限等待)", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
|
|
66
|
+
|
|
62
67
|
{ "key": "dcw.rollback_cooldown_ms", "type": "number", "group": "dcw", "label": "回退冷却(ms)", "labelKey": "settings.runtime.dcw.rollbackCooldownMs", "description": "回退执行后的同向冷却窗", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
|
|
63
68
|
{ "key": "dcw.rollback_min_window_ms", "type": "number", "group": "dcw", "label": "回退最小观察窗(ms)", "labelKey": "settings.runtime.dcw.rollbackMinWindowMs", "description": "开记录后允许判定的最小观察窗", "applies": "restart", "default": 120000, "min": 0, "max": 3600000 },
|
|
64
69
|
{ "key": "dcw.rollback_baseline_ms", "type": "number", "group": "dcw", "label": "基线稳定窗(ms)", "labelKey": "settings.runtime.dcw.rollbackBaselineMs", "description": "上一稳定锚的稳定时间要求", "applies": "restart", "default": 600000, "min": 0, "max": 7200000 },
|
|
@@ -113,12 +113,16 @@ export function acquireLock(configRoot, { mode = 'prod', port = null } = {}) {
|
|
|
113
113
|
return { ok: true, lockPath, release }
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
/**
|
|
116
|
+
/** 端口占用探测:TCP try-listen 后立刻释放。EADDRINUSE → 端口号;其余 error code →
|
|
117
|
+
* 绑定状态未知(Windows 保留段 EACCES 等),按"未占用"放行但显式告警,不静默。 */
|
|
117
118
|
export async function checkPort(host, port) {
|
|
118
119
|
const net = await import('node:net')
|
|
119
120
|
return new Promise((resolveProbe) => {
|
|
120
121
|
const srv = net.createServer()
|
|
121
122
|
srv.once('error', (err) => {
|
|
123
|
+
if (err?.code !== 'EADDRINUSE') {
|
|
124
|
+
console.warn(`[checkPort] 端口 ${port} 探测异常(${err?.code ?? err}),绑定状态未知,按未占用继续`)
|
|
125
|
+
}
|
|
122
126
|
resolveProbe(err?.code === 'EADDRINUSE' ? port : null)
|
|
123
127
|
srv.close()
|
|
124
128
|
})
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 本地时间呈现(单点收口):全项目 ISO 时间输出统一为本地系统时区(如北京时间 +08:00)。
|
|
3
|
+
*
|
|
4
|
+
* 背景:Node `Date.toISOString()` 恒输出 UTC(`Z` 后缀)。本项目所有时间字段
|
|
5
|
+
* (日志 t / DB createdAt / WS 帧 at / Agent 记录)此前均为 UTC 字符串,用户要求
|
|
6
|
+
* 全部以本地系统时间呈现。
|
|
7
|
+
*
|
|
8
|
+
* 机制:installLocalIso() 把 Date.prototype.toISOString 改写为输出
|
|
9
|
+
* `YYYY-MM-DDTHH:mm:ss.sss±HH:MM`(本地偏移)。性质:
|
|
10
|
+
* - 同一绝对时刻(仅表示形式变化),Date.parse/new Date(str) 完全兼容;
|
|
11
|
+
* - 偏移后缀恒定(无 DST 时区如 +08:00),字符串字典序排序与时间序一致;
|
|
12
|
+
* - 覆盖显式调用与 JSON.stringify(Date)(toJSON 默认走 toISOString)。
|
|
13
|
+
* - 时区动态取自系统(getTimezoneOffset),跟随宿主,不硬编码。
|
|
14
|
+
*
|
|
15
|
+
* 幂等:重复安装跳过;原始实现保留在 __origToISOString 供诊断。
|
|
16
|
+
*/
|
|
17
|
+
export function installLocalIso() {
|
|
18
|
+
const proto = Date.prototype
|
|
19
|
+
if (proto.__origToISOString) return
|
|
20
|
+
const orig = proto.toISOString
|
|
21
|
+
proto.__origToISOString = orig
|
|
22
|
+
const pad = (n, w) => String(n).padStart(w, '0')
|
|
23
|
+
proto.toISOString = function () {
|
|
24
|
+
const t = this.getTime()
|
|
25
|
+
if (Number.isNaN(t)) throw new RangeError('Invalid time value')
|
|
26
|
+
// getTimezoneOffset:UTC 比本地慢的分钟数(UTC+8 → -480);取负得本地相对 UTC 偏移
|
|
27
|
+
const offMin = -this.getTimezoneOffset()
|
|
28
|
+
const sign = offMin >= 0 ? '+' : '-'
|
|
29
|
+
const abs = Math.abs(offMin)
|
|
30
|
+
// 平移后用 UTC getter 读出本地分量(整分偏移,毫秒不变)
|
|
31
|
+
const shifted = new Date(t + offMin * 60_000)
|
|
32
|
+
return `${pad(shifted.getUTCFullYear(), 4)}-${pad(shifted.getUTCMonth() + 1, 2)}-${pad(shifted.getUTCDate(), 2)}`
|
|
33
|
+
+ `T${pad(shifted.getUTCHours(), 2)}:${pad(shifted.getUTCMinutes(), 2)}:${pad(shifted.getUTCSeconds(), 2)}`
|
|
34
|
+
+ `.${pad(this.getMilliseconds(), 3)}${sign}${pad(Math.floor(abs / 60), 2)}:${pad(abs % 60, 2)}`
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -118,20 +118,26 @@ export interface AepSceneLayout {
|
|
|
118
118
|
rotationY: number
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
/**
|
|
121
|
+
/**
|
|
122
|
+
* hitl.request payload:待人工处理条目的统一视图。
|
|
123
|
+
* kind:omp 对话框(rpc-ui ask)/ dcw 工具审批 / codex 命令与文件审批 /
|
|
124
|
+
* opencode 权限与提问 / dsh 权限请求。
|
|
125
|
+
*/
|
|
126
|
+
export type AepHitlKind = 'omp-dialog' | 'dcw-approval' | 'codex-approval' | 'opencode-permission' | 'dsh-permission'
|
|
127
|
+
|
|
122
128
|
export interface AepHitlItem {
|
|
123
|
-
kind:
|
|
124
|
-
/** omp:对话框 id;dcw:审批 id(ap-*) */
|
|
129
|
+
kind: AepHitlKind
|
|
130
|
+
/** omp:对话框 id;dcw:审批 id(ap-*);其余:引擎请求 id(应答路由用) */
|
|
125
131
|
id: string
|
|
126
132
|
channelId: string
|
|
127
133
|
agentId: string
|
|
128
134
|
agentName: string
|
|
129
135
|
/** omp 子进程 pid(应答路由 respondTerminalUi 用) */
|
|
130
136
|
pid?: number
|
|
131
|
-
/**
|
|
137
|
+
/** 对话框形态(codex requestUserInput/opencode question 为 input/select;权限类为 confirm) */
|
|
132
138
|
method?: 'select' | 'confirm' | 'input' | 'editor'
|
|
133
139
|
title: string
|
|
134
|
-
/** dcw-approval 专属:人读摘要(节点/物理量/目标值) */
|
|
140
|
+
/** dcw-approval 专属:人读摘要(节点/物理量/目标值);其余:命令/路径/权限详情 */
|
|
135
141
|
detail?: string
|
|
136
142
|
/** select 的选项列表 */
|
|
137
143
|
options?: string[]
|
package/tui/aw-tui.mjs
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// 命令系统(/help)+ 监控面板(终端 WS)+ HITL 统一作答(/hitl)。
|
|
10
10
|
// --headless:VirtualTerminal 驱动(无 TTY;scripts/tui-smoke.mjs 用)。
|
|
11
11
|
// ============================================================
|
|
12
|
-
import { TuiMainScreen, Editor, CombinedAutocompleteProvider, ProcessTerminal } from '@earendil-works/pi-tui'
|
|
12
|
+
import { TuiMainScreen, Editor, CombinedAutocompleteProvider, ProcessTerminal, truncateToWidth } from '@earendil-works/pi-tui'
|
|
13
13
|
import { theme } from './theme.mjs'
|
|
14
14
|
import { loadAuth, saveAuth, configRoot } from './lib/config.mjs'
|
|
15
15
|
import { createApi } from './lib/api.mjs'
|
|
@@ -221,10 +221,14 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
else {
|
|
224
|
-
// dcw-approval
|
|
224
|
+
// dcw-approval:显式 y/n。此前"非 y 开头一律落定为拒绝"对中文用户是逆向
|
|
225
|
+
// 陷阱(输入"同意/ok/批准"全部变成静默拒绝高危下发),必须重输。
|
|
225
226
|
const norm = text.trim().toLowerCase()
|
|
227
|
+
if (!['y', 'n', 'yes', 'no'].includes(norm)) {
|
|
228
|
+
push('error', '下发审批请输入 y(批准)或 n(拒绝)')
|
|
229
|
+
return true
|
|
230
|
+
}
|
|
226
231
|
body.confirmed = norm.startsWith('y')
|
|
227
|
-
if (norm.length > 1) body.comment = text
|
|
228
232
|
}
|
|
229
233
|
try {
|
|
230
234
|
await api.hitlRespond(body)
|
|
@@ -234,7 +238,11 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
234
238
|
}
|
|
235
239
|
catch (err) {
|
|
236
240
|
push('error', `应答失败:${err.message}`)
|
|
237
|
-
if (String(err.code) === 'ALREADY_RESOLVED')
|
|
241
|
+
if (String(err.code) === 'ALREADY_RESOLVED') {
|
|
242
|
+
// 该待办已在别处(WebUI/另一端)解决:同步清除列表项,避免幽灵待办
|
|
243
|
+
state.hitl = state.hitl.filter(i => !(i.kind === item.kind && i.id === item.id))
|
|
244
|
+
state.hitlAnswering = null
|
|
245
|
+
}
|
|
238
246
|
}
|
|
239
247
|
store.notify()
|
|
240
248
|
return true
|
|
@@ -262,21 +270,23 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
262
270
|
}
|
|
263
271
|
const ctx = { state, store, api, echo, push, actions }
|
|
264
272
|
|
|
265
|
-
// ──
|
|
273
|
+
// ── 编辑器提交路由:命令 → HITL 作答 → 普通文本按目标分流 ──
|
|
266
274
|
editor.onSubmit = async (text) => {
|
|
267
275
|
const trimmed = text.trim()
|
|
268
276
|
editor.setText('')
|
|
269
277
|
editor.addToHistory?.(text)
|
|
270
278
|
if (!trimmed) return
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return
|
|
274
|
-
}
|
|
279
|
+
// 斜杠命令优先于作答分支:否则作答卡里输入 /hitl off(卡片提示的放弃方式)
|
|
280
|
+
// 会被当作答案文本提交给 Agent —— 与文档承诺行为相反。
|
|
275
281
|
if (trimmed.startsWith('/')) {
|
|
276
282
|
await dispatchCommand(ctx, trimmed)
|
|
277
283
|
store.notify()
|
|
278
284
|
return
|
|
279
285
|
}
|
|
286
|
+
if (state.hitlAnswering) {
|
|
287
|
+
await actions.submitHitlAnswer(trimmed)
|
|
288
|
+
return
|
|
289
|
+
}
|
|
280
290
|
if (!state.activeChannelId) {
|
|
281
291
|
push('error', '未选择频道:Tab 或 /channel use 打开选择器')
|
|
282
292
|
return
|
|
@@ -346,8 +356,16 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
346
356
|
|
|
347
357
|
store.onChange(() => tui.requestRender())
|
|
348
358
|
|
|
359
|
+
// 兜底:未处理的 rejection 只记日志,不让 TUI 进程静默死亡(重连窗口内
|
|
360
|
+
// ws.send 之类的瞬态异常不应终止整个工作台)。
|
|
361
|
+
process.on('unhandledRejection', (err) => {
|
|
362
|
+
push('error', `未处理的异步错误:${err?.message ?? err}`)
|
|
363
|
+
})
|
|
364
|
+
|
|
349
365
|
// ── 组装视图 ──
|
|
350
|
-
tui
|
|
366
|
+
// 出口统一按终端宽度夹断:pi-tui 对超宽行直接 stop()+throw(进程崩溃),
|
|
367
|
+
// 组合行(左栏+44 列监控右栏)在窄终端必然溢出,必须在进入渲染前截断。
|
|
368
|
+
tui.addChild({ render: width => [...stack.render(width), '', ...editor.render(width)].map(l => truncateToWidth(l, width)) })
|
|
351
369
|
editor.setAutocompleteProvider?.(new CombinedAutocompleteProvider(slashCommandCompletions(), process.cwd()))
|
|
352
370
|
tui.setFocus(editor)
|
|
353
371
|
|
|
@@ -1,36 +1,47 @@
|
|
|
1
|
-
// ============================================================
|
|
2
|
-
// HitlCard —— 作答模式卡片(state.hitlAnswering 非空时渲染于输入框上方)。
|
|
3
|
-
// 作答约定:confirm → y/n;select → 选项序号;input/editor → 自由文本;
|
|
4
|
-
// /hitl off 放弃作答(等价 Esc)。提交经 POST /api/workshop/hitl/respond。
|
|
5
|
-
// ============================================================
|
|
6
|
-
import { theme } from '../theme.mjs'
|
|
7
|
-
import { wrapTextWithAnsi, truncateToWidth } from '@earendil-works/pi-tui'
|
|
8
|
-
|
|
9
|
-
const HINT = {
|
|
10
|
-
confirm: '输入 y 批准 / n 拒绝',
|
|
11
|
-
select: '输入选项序号(如 1)',
|
|
12
|
-
input: '输入回答文本',
|
|
13
|
-
editor: '输入回答文本',
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
lines
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
// ============================================================
|
|
2
|
+
// HitlCard —— 作答模式卡片(state.hitlAnswering 非空时渲染于输入框上方)。
|
|
3
|
+
// 作答约定:confirm → y/n;select → 选项序号;input/editor → 自由文本;
|
|
4
|
+
// /hitl off 放弃作答(等价 Esc)。提交经 POST /api/workshop/hitl/respond。
|
|
5
|
+
// ============================================================
|
|
6
|
+
import { theme } from '../theme.mjs'
|
|
7
|
+
import { wrapTextWithAnsi, truncateToWidth } from '@earendil-works/pi-tui'
|
|
8
|
+
|
|
9
|
+
const HINT = {
|
|
10
|
+
confirm: '输入 y 批准 / n 拒绝',
|
|
11
|
+
select: '输入选项序号(如 1)',
|
|
12
|
+
input: '输入回答文本',
|
|
13
|
+
editor: '输入回答文本',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const KIND_LABEL = {
|
|
17
|
+
'omp-dialog': 'omp 对话框',
|
|
18
|
+
'dcw-approval': '下发审批',
|
|
19
|
+
'codex-approval': 'codex 审批',
|
|
20
|
+
'opencode-permission': 'opencode 权限',
|
|
21
|
+
'dsh-permission': 'dsh 权限',
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class HitlCard {
|
|
25
|
+
constructor(state) {
|
|
26
|
+
this.state = state
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
render(width) {
|
|
30
|
+
const item = this.state.hitlAnswering
|
|
31
|
+
if (!item) return []
|
|
32
|
+
const w = Math.max(width - 4, 20)
|
|
33
|
+
const lines = []
|
|
34
|
+
lines.push(theme.warn(`⏸ HITL 作答 · ${item.agentName} · ${KIND_LABEL[item.kind] ?? '引擎待办'}`))
|
|
35
|
+
lines.push(truncateToWidth(theme.bold(String(item.title ?? '')), w))
|
|
36
|
+
if (item.detail) lines.push(...wrapTextWithAnsi(theme.faint(item.detail), w))
|
|
37
|
+
if (item.message) lines.push(...wrapTextWithAnsi(String(item.message), w))
|
|
38
|
+
if (item.method === 'select' && Array.isArray(item.options)) {
|
|
39
|
+
item.options.forEach((opt, i) => lines.push(` ${theme.accent(`${i + 1}.`)} ${opt}`))
|
|
40
|
+
}
|
|
41
|
+
// 下发审批(dcw-approval)无 method 字段,必须显式告知 y/n 约定,
|
|
42
|
+
// 否则中文确认词会触发"非 y 即拒绝"的静默拒绝。
|
|
43
|
+
const hint = item.kind === 'omp-dialog' ? (HINT[item.method] ?? '输入回答') : '输入 y 批准 / n 拒绝'
|
|
44
|
+
lines.push(theme.faint(`${hint} · /hitl off 放弃`))
|
|
45
|
+
return lines.map(l => truncateToWidth(l, Math.max(width, 20)))
|
|
46
|
+
}
|
|
47
|
+
}
|
package/tui/lib/ws.mjs
CHANGED
|
@@ -72,7 +72,8 @@ export function connectAep({ baseUrl, token, onEvent, onState }) {
|
|
|
72
72
|
},
|
|
73
73
|
unsubscribe(channelId) {
|
|
74
74
|
subscribed.delete(channelId)
|
|
75
|
-
|
|
75
|
+
// CONNECTING 态 send() 会同步抛 InvalidStateError(重连窗口内切频道即触发)
|
|
76
|
+
if (ws?.readyState === WebSocket.OPEN) ws.send(JSON.stringify({ type: 'unsub', channelId }))
|
|
76
77
|
},
|
|
77
78
|
/** 游标推进(onEvent 内按信封 seq 调用;重连续传依据) */
|
|
78
79
|
cursor(channelId, seq) {
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import{C as e,E as t,M as n,O as r,P as i,U as a,V as o,c as s,et as c,f as l,ft as u,mt as d,w as f,x as p,z as m}from"./BSCpFtzG.js";import{T as h,kt as g,nt as _,t as v,w as y}from"./BDUjyaF4.js";function b(e){let{prefixCls:t,animation:n,transitionName:r}=e;return n?{name:`${t}-${n}`}:r?{name:r}:{}}_(`bottomLeft`,`bottomRight`,`topLeft`,`topRight`);var x=e=>e!==void 0&&(e===`topLeft`||e===`topRight`)?`slide-down`:`slide-up`,ee=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return g(e?{name:e,appear:!0,enterFromClass:`${e}-enter ${e}-enter-prepare ${e}-enter-start`,enterActiveClass:`${e}-enter ${e}-enter-prepare`,enterToClass:`${e}-enter ${e}-enter-active`,leaveFromClass:` ${e}-leave`,leaveActiveClass:`${e}-leave ${e}-leave-active`,leaveToClass:`${e}-leave ${e}-leave-active`}:{css:!1},t)},te=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return g(e?{name:e,appear:!0,appearActiveClass:`${e}`,appearToClass:`${e}-appear ${e}-appear-active`,enterFromClass:`${e}-appear ${e}-enter ${e}-appear-prepare ${e}-enter-prepare`,enterActiveClass:`${e}`,enterToClass:`${e}-enter ${e}-appear ${e}-appear-active ${e}-enter-active`,leaveActiveClass:`${e} ${e}-leave`,leaveToClass:`${e}-leave-active`}:{css:!1},t)},ne=(e,t,n)=>n===void 0?`${e}-${t}`:n,S=Symbol(`PortalContextKey`),C=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inTriggerContext:!0};a(S,{inTriggerContext:t.inTriggerContext,shouldRender:l(()=>{let{sPopupVisible:t,popupRef:n,forceRender:r,autoDestroy:i}=e||{},a=!1;return(t||n||r)&&(a=!0),!t&&i&&(a=!1),a})})},re=()=>{C({},{inTriggerContext:!1});let e=r(S,{shouldRender:l(()=>!1),inTriggerContext:!1});return{shouldRender:l(()=>e.shouldRender.value||e.inTriggerContext===!1)}},ie=e({compatConfig:{MODE:3},name:`Portal`,inheritAttrs:!1,props:{getContainer:v.func.isRequired,didUpdate:Function},setup(e,t){let{slots:r}=t,a=!0,l,{shouldRender:u}=re();function d(){u.value&&(l=e.getContainer())}i(()=>{a=!1,d()}),m(()=>{l||d()});let f=c(u,()=>{u.value&&!l&&(l=e.getContainer()),l&&f()});return o(()=>{n(()=>{var t;u.value&&((t=e.didUpdate)==null||t.call(e,e))})}),()=>u.value?a?r.default?.call(r):l?p(s,{to:l},r):null:null}}),ae=Symbol(`iconContext`),w=function(){return r(ae,{prefixCls:d(`anticon`),rootClassName:d(``),csp:d()})};function T(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function oe(e,t){return e&&e.contains?e.contains(t):!1}var E=`data-vc-order`,se=`vc-icon-key`,D=new Map;function O(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).mark;return e?e.startsWith(`data-`)?e:`data-${e}`:se}function k(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function ce(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function A(e){return Array.from((D.get(e)||e).children).filter(function(e){return e.tagName===`STYLE`})}function j(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!T())return null;var n=t.csp,r=t.prepend,i=document.createElement(`style`);i.setAttribute(E,ce(r)),n&&n.nonce&&(i.nonce=n.nonce),i.innerHTML=e;var a=k(t),o=a.firstChild;if(r){if(r===`queue`){var s=A(a).filter(function(e){return[`prepend`,`prependQueue`].includes(e.getAttribute(E))});if(s.length)return a.insertBefore(i,s[s.length-1].nextSibling),i}a.insertBefore(i,o)}else a.appendChild(i);return i}function le(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return A(k(t)).find(function(n){return n.getAttribute(O(t))===e})}function ue(e,t){var n=D.get(e);if(!n||!oe(document,n)){var r=j(``,t),i=r.parentNode;D.set(e,i),e.removeChild(r)}}function de(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ue(k(n),n);var r=le(t,n);if(r)return n.csp&&n.csp.nonce&&r.nonce!==n.csp.nonce&&(r.nonce=n.csp.nonce),r.innerHTML!==e&&(r.innerHTML=e),r;var i=j(e,n);return i.setAttribute(O(n),t),i}function M(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){fe(e,t,n[t])})}return e}function fe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pe(e,t){`${t}`}function N(e){return typeof e==`object`&&typeof e.name==`string`&&typeof e.theme==`string`&&(typeof e.icon==`object`||typeof e.icon==`function`)}function P(e,n,r){return r?t(e.tag,M({key:n},r,e.attrs),(e.children||[]).map(function(t,r){return P(t,`${n}-${e.tag}-${r}`)})):t(e.tag,M({key:n},e.attrs),(e.children||[]).map(function(t,r){return P(t,`${n}-${e.tag}-${r}`)}))}function F(e){return h(e)[0]}function I(e){return e?Array.isArray(e)?e:[e]:[]}var me=`
|
|
2
|
-
.anticon {
|
|
3
|
-
display: inline-block;
|
|
4
|
-
color: inherit;
|
|
5
|
-
font-style: normal;
|
|
6
|
-
line-height: 0;
|
|
7
|
-
text-align: center;
|
|
8
|
-
text-transform: none;
|
|
9
|
-
vertical-align: -0.125em;
|
|
10
|
-
text-rendering: optimizeLegibility;
|
|
11
|
-
-webkit-font-smoothing: antialiased;
|
|
12
|
-
-moz-osx-font-smoothing: grayscale;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.anticon > * {
|
|
16
|
-
line-height: 1;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.anticon svg {
|
|
20
|
-
display: inline-block;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.anticon::before {
|
|
24
|
-
display: none;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.anticon .anticon-icon {
|
|
28
|
-
display: block;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.anticon[tabindex] {
|
|
32
|
-
cursor: pointer;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.anticon-spin::before,
|
|
36
|
-
.anticon-spin {
|
|
37
|
-
display: inline-block;
|
|
38
|
-
-webkit-animation: loadingCircle 1s infinite linear;
|
|
39
|
-
animation: loadingCircle 1s infinite linear;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@-webkit-keyframes loadingCircle {
|
|
43
|
-
100% {
|
|
44
|
-
-webkit-transform: rotate(360deg);
|
|
45
|
-
transform: rotate(360deg);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@keyframes loadingCircle {
|
|
50
|
-
100% {
|
|
51
|
-
-webkit-transform: rotate(360deg);
|
|
52
|
-
transform: rotate(360deg);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
`;function L(e){return e&&e.getRootNode&&e.getRootNode()}function he(e){return T()?L(e)instanceof ShadowRoot:!1}function ge(e){return he(e)?L(e):null}var _e=function(){var e=w(),t=e.prefixCls,r=e.csp,i=f(),a=me;t&&(a=a.replace(/anticon/g,t.value)),n(function(){if(T()){var e=i.vnode.el,t=ge(e);de(a,`@ant-design-vue-icons`,{prepend:!0,csp:r.value,attachTo:t})}})},ve=[`icon`,`primaryColor`,`secondaryColor`];function ye(e,t){if(e==null)return{};var n=be(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function be(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){xe(e,t,n[t])})}return e}function xe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var z=u({primaryColor:`#333`,secondaryColor:`#E6E6E6`,calculated:!1});function Se(e){var t=e.primaryColor,n=e.secondaryColor;z.primaryColor=t,z.secondaryColor=n||F(t),z.calculated=!!n}function Ce(){return R({},z)}var B=function(e,t){var n=R({},e,t.attrs),r=n.icon,i=n.primaryColor,a=n.secondaryColor,o=ye(n,ve),s=z;if(i&&(s={primaryColor:i,secondaryColor:a||F(i)}),pe(N(r),`icon should be icon definiton, but got ${r}`),!N(r))return null;var c=r;return c&&typeof c.icon==`function`&&(c=R({},c,{icon:c.icon(s.primaryColor,s.secondaryColor)})),P(c.icon,`svg-${c.name}`,R({},o,{"data-icon":c.name,width:`1em`,height:`1em`,fill:`currentColor`,"aria-hidden":`true`}))};B.props={icon:Object,primaryColor:String,secondaryColor:String,focusable:String},B.inheritAttrs=!1,B.displayName=`IconBase`,B.getTwoToneColors=Ce,B.setTwoToneColors=Se;function we(e,t){return Oe(e)||De(e,t)||Ee(e,t)||Te()}function Te(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
56
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ee(e,t){if(e){if(typeof e==`string`)return V(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return V(e,t)}}function V(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function De(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Oe(e){if(Array.isArray(e))return e}function H(e){var t=we(I(e),2),n=t[0],r=t[1];return B.setTwoToneColors({primaryColor:n,secondaryColor:r})}function ke(){var e=B.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var U=e({name:`InsertStyles`,setup:function(){return _e(),function(){return null}}}),Ae=[`class`,`icon`,`spin`,`rotate`,`tabindex`,`twoToneColor`,`onClick`];function je(e,t){return Fe(e)||Pe(e,t)||Ne(e,t)||Me()}function Me(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
57
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ne(e,t){if(e){if(typeof e==`string`)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}}function W(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Pe(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Fe(e){if(Array.isArray(e))return e}function G(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ie(e,t){if(e==null)return{};var n=Le(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Le(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}H(y.primary);var q=function(e,t){var n,r=G({},e,t.attrs),i=r.class,a=r.icon,o=r.spin,s=r.rotate,c=r.tabindex,l=r.twoToneColor,u=r.onClick,d=Ie(r,Ae),f=w(),m=f.prefixCls,h=f.rootClassName,g=(n={},K(n,h.value,!!h.value),K(n,m.value,!0),K(n,`${m.value}-${a.name}`,!!a.name),K(n,`${m.value}-spin`,!!o||a.name===`loading`),n),_=c;_===void 0&&u&&(_=-1);var v=s?{msTransform:`rotate(${s}deg)`,transform:`rotate(${s}deg)`}:void 0,y=je(I(l),2),b=y[0],x=y[1];return p(`span`,G({role:`img`,"aria-label":a.name},d,{onClick:u,class:[g,i],tabindex:_}),[p(B,{icon:a,primaryColor:b,secondaryColor:x,style:v},null),p(U,null,null)])};q.props={spin:Boolean,rotate:Number,icon:Object,twoToneColor:[String,Array]},q.displayName=`AntdIcon`,q.inheritAttrs=!1,q.getTwoToneColor=ke,q.setTwoToneColor=H;var Re={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z`}}]},name:`loading`,theme:`outlined`};function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ze(e,t,n[t])})}return e}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Y=function(e,t){var n=J({},e,t.attrs);return p(q,J({},n,{icon:Re}),null)};Y.displayName=`LoadingOutlined`,Y.inheritAttrs=!1;var Be={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z`}}]},name:`close`,theme:`outlined`};function X(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ve(e,t,n[t])})}return e}function Ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Z=function(e,t){var n=X({},e,t.attrs);return p(q,X({},n,{icon:Be}),null)};Z.displayName=`CloseOutlined`,Z.inheritAttrs=!1;var He={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z`}}]},name:`close-circle`,theme:`filled`};function Q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ue(e,t,n[t])})}return e}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $=function(e,t){var n=Q({},e,t.attrs);return p(q,Q({},n,{icon:He}),null)};$.displayName=`CloseCircleFilled`,$.inheritAttrs=!1;export{ie as a,te as c,b as d,q as i,ne as l,Z as n,C as o,Y as r,x as s,$ as t,ee as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./OwJ1LJkF.js";t.Button=e,t.install=function(n){return n.component(t.name,t),n.component(e.name,e),n};var n=t;export{n as t};
|