agentworkshop 0.7.70 → 0.7.71
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 +3611 -2786
- package/.output/.AgentWorkShop/aml-python/requirements.txt +3 -0
- package/.output/.AgentWorkShop/optimizer-python/probe.py +24 -0
- package/.output/.AgentWorkShop/optimizer-python/problems.py +347 -0
- package/.output/.AgentWorkShop/optimizer-python/worker.py +119 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +3611 -2786
- package/.output/.AgentWorkShop/schema.json +14 -5
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{zzV9kr9T.js → B6jtLy6z.js} +2 -2
- package/.output/public/_nuxt/{BNNtKbSV.js → B7s2qeyT.js} +4 -4
- package/.output/public/_nuxt/BBw9ylUY2.js +1 -0
- package/.output/public/_nuxt/BO0BJx3w.js +8 -0
- package/.output/public/_nuxt/Bcs9zzO62.js +1 -0
- package/.output/public/_nuxt/BnNmkGJS2.js +36 -0
- package/.output/public/_nuxt/{DoGa0vsN.js → DBtXLkyA.js} +1 -1
- package/.output/public/_nuxt/DPvZxAt02.js +1 -0
- package/.output/public/_nuxt/DbeNMehP.js +1 -0
- package/.output/public/_nuxt/LHIav-Kv.js +1 -0
- package/.output/public/_nuxt/NXY37IO62.js +1 -0
- package/.output/public/_nuxt/RuMLNeQE.js +1 -0
- package/.output/public/_nuxt/board.Bo35UR0e.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/0ae8cb0f-6ce5-4096-9692-9b1fc197b30d.json +1 -0
- package/.output/public/_nuxt/{data.D7XYoiL8.css → data.jRO2K9JI.css} +1 -1
- package/.output/public/_nuxt/{default.C9eAl1QW.css → default.BzOcvmSE.css} +1 -1
- package/.output/public/_nuxt/{entry.DI0qLRfo.css → entry.CL2i0F8o.css} +1 -1
- package/.output/public/_nuxt/optimizer.B8gCbU1b.css +1 -0
- package/.output/public/_nuxt/studio.CjmUr8P7.css +1 -0
- package/.output/server/chunks/_/access.mjs +165 -0
- package/.output/server/chunks/_/access.mjs.map +1 -0
- package/.output/server/chunks/_/binding-authz.mjs +1 -1
- package/.output/server/chunks/_/catalog-view.mjs +2 -1
- package/.output/server/chunks/_/catalog-view.mjs.map +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/chart-repo.mjs +1 -1
- package/.output/server/chunks/_/dashboard-repo.mjs +1 -1
- package/.output/server/chunks/_/data-export.mjs +6 -6
- package/.output/server/chunks/_/data-query.mjs +3 -3
- package/.output/server/chunks/_/dataset-reader.mjs +61 -0
- package/.output/server/chunks/_/dataset-reader.mjs.map +1 -0
- package/.output/server/chunks/_/eda-run.repo.mjs +10 -6
- package/.output/server/chunks/_/eda-run.repo.mjs.map +1 -1
- package/.output/server/chunks/_/entity.mjs +1 -1
- package/.output/server/chunks/_/features.mjs +6 -5
- package/.output/server/chunks/_/features.mjs.map +1 -1
- package/.output/server/chunks/_/golden.mjs +3 -3
- package/.output/server/chunks/_/host-bindings.mjs +2 -1
- package/.output/server/chunks/_/host-bindings.mjs.map +1 -1
- package/.output/server/chunks/_/index.mjs +583 -0
- package/.output/server/chunks/_/index.mjs.map +1 -0
- package/.output/server/chunks/_/mes-console.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +14829 -9417
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/ocap.mjs +1 -1
- package/.output/server/chunks/_/rest-auth.mjs +44 -0
- package/.output/server/chunks/_/rest-auth.mjs.map +1 -0
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/_/spc.mjs +3 -2
- package/.output/server/chunks/_/spc.mjs.map +1 -1
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs +1 -1
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +1 -0
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -1
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +1 -0
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -1
- package/.output/server/chunks/build/{_wsId_-BXSYXXXX.mjs → _wsId_-BNKrrV1H.mjs} +23 -2
- package/.output/server/chunks/build/{_wsId_-BXSYXXXX.mjs.map → _wsId_-BNKrrV1H.mjs.map} +1 -1
- package/.output/server/chunks/build/agents-8tV9xL97.mjs +1 -0
- package/.output/server/chunks/build/agents-8tV9xL97.mjs.map +1 -1
- package/.output/server/chunks/build/aml-BNTEDOsl.mjs +1 -0
- package/.output/server/chunks/build/aml-BNTEDOsl.mjs.map +1 -1
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +1 -0
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -1
- package/.output/server/chunks/build/api-B4Om0mEc.mjs +1 -0
- package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -1
- package/.output/server/chunks/build/api-BsAgXWxi.mjs +72 -0
- package/.output/server/chunks/build/api-BsAgXWxi.mjs.map +1 -0
- package/.output/server/chunks/build/{board-C6JysYLg.mjs → board-Dl2Ar22r.mjs} +26 -38
- package/.output/server/chunks/build/board-Dl2Ar22r.mjs.map +1 -0
- package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs +1 -0
- package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs.map +1 -1
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +117 -0
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -0
- package/.output/server/chunks/build/constants-HPHJvjne.mjs +1 -0
- package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs +2 -1
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -1
- package/.output/server/chunks/build/{data-DL68QJ5W.mjs → data-D8uX1dnm.mjs} +37 -33
- package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +2 -1
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -1
- package/.output/server/chunks/build/{default-Dt1B8QzV.mjs → default-BeB88U7y.mjs} +15 -8
- package/.output/server/chunks/build/{default-Dt1B8QzV.mjs.map → default-BeB88U7y.mjs.map} +1 -1
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs +1 -0
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -1
- package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs +1 -0
- package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs.map +1 -1
- package/.output/server/chunks/build/monitor-DvaR3yo8.mjs +1 -0
- package/.output/server/chunks/build/operations-Cl8nVm9D.mjs +1 -0
- package/.output/server/chunks/build/operations-Cl8nVm9D.mjs.map +1 -1
- package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs +200 -0
- package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs.map +1 -0
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs +1 -0
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs.map +1 -1
- package/.output/server/chunks/build/permissions-CVTfixZj.mjs +1 -0
- package/.output/server/chunks/build/permissions-CVTfixZj.mjs.map +1 -1
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +1 -0
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -1
- package/.output/server/chunks/build/schedules-BLhn2CLn.mjs +1 -0
- package/.output/server/chunks/build/settings-DIf_iYdu.mjs +1 -0
- package/.output/server/chunks/build/settings-DIf_iYdu.mjs.map +1 -1
- package/.output/server/chunks/build/{studio-DjhjwH4s.mjs → studio-cdoNCfyy.mjs} +55 -106
- package/.output/server/chunks/build/studio-cdoNCfyy.mjs.map +1 -0
- package/.output/server/chunks/build/teams-B2J6ouRY.mjs +1 -0
- package/.output/server/chunks/build/teams-B2J6ouRY.mjs.map +1 -1
- package/.output/server/chunks/build/tokens-DFQGaN2n.mjs +1 -0
- package/.output/server/chunks/build/tokens-DFQGaN2n.mjs.map +1 -1
- package/.output/server/chunks/build/tools-DWJFnU_t.mjs +1 -0
- package/.output/server/chunks/build/tools-DWJFnU_t.mjs.map +1 -1
- package/.output/server/chunks/build/town-B5aoiG98.mjs +1 -0
- package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -1
- package/.output/server/chunks/build/town-BV-hbwb5.mjs +1 -0
- package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
- package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
- package/.output/server/chunks/build/types-DWqIeMRP.mjs +1 -0
- package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs +1 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs +1 -0
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +1 -0
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs +1 -0
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs +1 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +1 -0
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +1 -0
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +1 -0
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +1 -0
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +1 -0
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +1 -0
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +1 -0
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +1 -0
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +1 -0
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -1
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +1 -0
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +2 -1
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +1 -0
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +1 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +1 -0
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +2 -1
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +2 -1
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +2 -1
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +1 -0
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +1 -0
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +1 -1
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +2 -1
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -1
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +1 -0
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs +1 -0
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +2 -1
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +1 -0
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +1 -0
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +1 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +1 -0
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +1 -0
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +1 -0
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +1 -0
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +1 -0
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +1 -0
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +1 -0
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +1 -0
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +1 -0
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +1 -1
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +1 -0
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -1
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +1 -0
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -1
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +1 -0
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +1 -0
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +1 -0
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +1 -0
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +1 -0
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +1 -0
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +1 -0
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +1 -0
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +1 -0
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +1 -0
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -1
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +1 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs +1 -0
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs +1 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs +1 -0
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs +1 -0
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +1 -0
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs +1 -0
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs +1 -0
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +1 -0
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +1 -0
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +1 -0
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +1 -0
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -1
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +1 -0
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +1 -0
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +1 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +1 -0
- package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +1 -0
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +1 -0
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +1 -0
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -1
- package/.output/server/chunks/build/users-BWw0VCr9.mjs +1 -0
- package/.output/server/chunks/build/users-BWw0VCr9.mjs.map +1 -1
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs +1 -0
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +32 -9
- package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics.mjs +1 -0
- package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/i18n.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/backup/list.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/backup/run.post.mjs +3 -2
- package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/config.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -0
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -0
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -0
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -0
- package/.output/server/chunks/routes/api/system/timezone.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/change-password.post.mjs +1 -0
- package/.output/server/chunks/routes/api/users/change-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/login.post.mjs +1 -0
- package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -0
- package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/me.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/register.post.mjs +1 -0
- package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +34 -3
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -1
- 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 +51 -15
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
- 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 +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +1 -0
- 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 +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +2 -1
- 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 +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +3 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs +57 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -0
- 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 -0
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +8 -7
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +58 -10
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -1
- 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 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -0
- 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 -0
- package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index13.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index13.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index14.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index14.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index15.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index15.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index16.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index16.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +38 -0
- package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +58 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +66 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +60 -0
- package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +61 -0
- package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +167 -0
- package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +122 -0
- package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +119 -0
- package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +55 -0
- package/.output/server/chunks/routes/api/workshop/process-model/index.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +48 -0
- package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +58 -0
- package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/virtual/entry.mjs +223 -10
- 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 -0
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +14 -7
- package/README.md +15 -7
- package/app/components/AppSidebar.vue +1 -0
- package/app/components/AwChart.vue +21 -2
- package/app/components/data/DataMirrorPanel.vue +1 -1
- package/app/composables/workshop/event-blocks/constants.ts +99 -94
- package/app/composables/workshop/operation-events.ts +1 -1
- package/app/composables/workshop/useWorkshopApi.ts +2 -1
- package/app/pages/optimizer/api.ts +21 -0
- package/app/pages/optimizer/index.vue +669 -0
- package/app/pages/studio/board.vue +18 -13
- package/app/pages/studio/index.vue +6 -33
- package/app/utils/chart-trend.ts +97 -0
- package/config.yml +14 -1
- package/docs/cli.en.md +4 -4
- package/docs/cli.md +4 -4
- package/docs/plugins.en.md +1 -1
- package/docs/plugins.md +1 -1
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/i18n/locales/en.ts +101 -0
- package/i18n/locales/zh-CN.ts +101 -0
- package/nuxt.config.ts +14 -0
- package/package.json +3 -1
- package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -0
- package/scripts/_i18n-verify-keys.mjs +52 -50
- package/scripts/acceptance-optimizer-process-model.mjs +9 -0
- package/scripts/acceptance-optimizer-process-model.ts +863 -0
- package/scripts/agent-binding-matrix-e2e.mjs +240 -0
- package/scripts/e2e-optimizer-live.mjs +1342 -0
- package/scripts/e2e-optimizer-plc.mjs +222 -0
- package/scripts/e2e-optimizer-restart.mjs +125 -0
- package/scripts/e2e-plc-excite.mjs +75 -0
- package/scripts/e2e-simulator-optimizer.mjs +262 -0
- package/scripts/e2e-tool-surface-multiagent.mjs +353 -0
- package/scripts/idd-rag-aml-regression.mjs +348 -0
- package/scripts/idd-rag-aml-ui-demo.mjs +93 -0
- package/scripts/run-quality-gates.mjs +58 -0
- package/scripts/tool-references-migrate.ts +82 -0
- package/scripts/tool-registry-e2e.mjs +2 -2
- package/scripts/ui/optimizer-ui-playwright.py +152 -0
- package/scripts/ui/system-e2e-playwright.py +460 -0
- package/sdk/context.mjs +32 -4
- package/server/api/mcp/workshop.ts +37 -10
- package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +124 -90
- package/server/api/workshop/agent-tools/list.get.ts +60 -15
- package/server/api/workshop/aml/models/[id].delete.ts +38 -35
- package/server/api/workshop/channels/[id]/agents/[agentId]/rotate-token.post.ts +45 -0
- package/server/api/workshop/daq/[id]/ingest.post.ts +192 -166
- package/server/api/workshop/optimization/bindings/[id].delete.ts +12 -0
- package/server/api/workshop/optimization/bindings/index.ts +47 -0
- package/server/api/workshop/optimization/capabilities.get.ts +19 -0
- package/server/api/workshop/optimization/profiles/[id]/publish.post.ts +41 -0
- package/server/api/workshop/optimization/profiles/index.ts +41 -0
- package/server/api/workshop/optimization/recommendations/[id]/crosscheck.post.ts +29 -0
- package/server/api/workshop/optimization/recommendations/[id]/dispatch.post.ts +33 -0
- package/server/api/workshop/optimization/runs/index.get.ts +41 -0
- package/server/api/workshop/optimization/solve.post.ts +23 -0
- package/server/api/workshop/process-model/datasets.post.ts +26 -0
- package/server/api/workshop/process-model/eligibility.ts +40 -0
- package/server/api/workshop/process-model/experiments.ts +43 -0
- package/server/api/workshop/process-model/specs/[id]/publish.post.ts +22 -0
- package/server/api/workshop/process-model/specs/index.ts +34 -0
- package/server/api/workshop/process-model/train.post.ts +36 -0
- package/server/harness/aw-mcp-bridge.mjs +24 -4
- package/server/harness/aw-mcp-signature.mjs +20 -0
- package/server/plugins/workshop.ts +20 -0
- package/server/plugins-builtin/rag-bridge/index.mjs +7 -8
- package/server/services/workshop/agents/adapters/omp-rpc-client/types.ts +121 -115
- package/server/services/workshop/agents/hitl-decision/dispatcher.ts +112 -96
- package/server/services/workshop/agents/host-tool-bridge/catalog.ts +19 -6
- package/server/services/workshop/agents/host-tool-bridge/description-budget.ts +34 -0
- package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +83 -1
- package/server/services/workshop/agents/host-tool-bridge/optimizer-gate.ts +72 -0
- package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +48 -13
- package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +111 -101
- package/server/services/workshop/agents/industrial/grant-guard.ts +18 -0
- package/server/services/workshop/agents/industrial/line-tools.ts +8 -3
- package/server/services/workshop/agents/industrial/optimizer-tools.ts +193 -0
- package/server/services/workshop/agents/industrial/resource-paging.ts +31 -0
- package/server/services/workshop/agents/industrial/resources-tools.ts +79 -0
- package/server/services/workshop/agents/industrial/tool-verify-legacy-specs.ts +73 -0
- package/server/services/workshop/agents/industrial/tool-verify.ts +386 -381
- package/server/services/workshop/agents/plugin-governance.ts +148 -0
- package/server/services/workshop/agents/plugin-tools.ts +11 -0
- package/server/services/workshop/agents/registry.ts +21 -1
- package/server/services/workshop/agents/tool-approvals.ts +7 -5
- package/server/services/workshop/agents/tool-reference-kinds.ts +2 -0
- package/server/services/workshop/agents/tool-reference-spec.ts +114 -0
- package/server/services/workshop/aml/aml.repo.ts +73 -18
- package/server/services/workshop/aml/dataset-builder.ts +195 -25
- package/server/services/workshop/aml/env-lease.ts +148 -0
- package/server/services/workshop/aml/env-manager.ts +6 -1
- package/server/services/workshop/aml/gates.ts +163 -121
- package/server/services/workshop/aml/job-orchestrator/stages.ts +36 -15
- package/server/services/workshop/aml/job-orchestrator/start-job.ts +44 -0
- package/server/services/workshop/aml/job-orchestrator/submit.ts +6 -0
- package/server/services/workshop/aml/model-references.ts +83 -0
- package/server/services/workshop/aml/model-registry.ts +183 -11
- package/server/services/workshop/aml/predictor.ts +147 -5
- package/server/services/workshop/aml/python/requirements.txt +3 -0
- package/server/services/workshop/aml/python-runtime.ts +39 -4
- package/server/services/workshop/aml/retention.ts +104 -98
- package/server/services/workshop/aml/twin/provider-contracts.ts +45 -1
- package/server/services/workshop/aml/twin/provider-loader.ts +13 -4
- package/server/services/workshop/aml/twin/provider-registry.ts +145 -2
- package/server/services/workshop/daq/ingest-policy.ts +43 -0
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +73 -14
- package/server/services/workshop/daq/storage/timescale.adapter.ts +34 -11
- package/server/services/workshop/daq/storage/tsdb-port.ts +36 -0
- package/server/services/workshop/db/channel-agent.repo.ts +58 -3
- package/server/services/workshop/db/database/migrations.ts +75 -0
- package/server/services/workshop/db/database/open.ts +7 -1
- package/server/services/workshop/db/database/schema.ts +202 -2
- package/server/services/workshop/db/retention.ts +9 -0
- package/server/services/workshop/db/tool-registry.repo.ts +5 -1
- package/server/services/workshop/dcw/dcw-controller/lines.ts +11 -0
- package/server/services/workshop/dcw/dcw-controller/recipes.ts +27 -0
- package/server/services/workshop/dcw/dcw-line.repo.ts +3 -0
- package/server/services/workshop/dcw/dcw-recipe.repo.ts +4 -2
- package/server/services/workshop/dcw/line-run.ts +2 -0
- package/server/services/workshop/eda/eda-run.repo.ts +8 -5
- package/server/services/workshop/optimization/access.ts +210 -0
- package/server/services/workshop/optimization/binding.repo.ts +128 -0
- package/server/services/workshop/optimization/binding.service.ts +128 -0
- package/server/services/workshop/optimization/contracts.ts +346 -0
- package/server/services/workshop/optimization/crosscheck.service.ts +351 -0
- package/server/services/workshop/optimization/dispatch.service.ts +446 -0
- package/server/services/workshop/optimization/manager.ts +315 -0
- package/server/services/workshop/optimization/problem-builder.ts +359 -0
- package/server/services/workshop/optimization/profile.repo.ts +158 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +1 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +274 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +14 -0
- package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
- package/server/services/workshop/optimization/python/probe.py +24 -0
- package/server/services/workshop/optimization/python/problems.py +347 -0
- package/server/services/workshop/optimization/python/worker.py +119 -0
- package/server/services/workshop/optimization/recommendation.service.ts +100 -0
- package/server/services/workshop/optimization/rest-auth.ts +61 -0
- package/server/services/workshop/optimization/run.repo.ts +158 -0
- package/server/services/workshop/optimization/templates.ts +3 -0
- package/server/services/workshop/optimization/uq-evidence.ts +144 -0
- package/server/services/workshop/optimization/worker-client.ts +358 -0
- package/server/services/workshop/process-model/artifact-validation.ts +19 -0
- package/server/services/workshop/process-model/conditions.ts +43 -0
- package/server/services/workshop/process-model/context-segments.repo.ts +100 -0
- package/server/services/workshop/process-model/context.ts +202 -0
- package/server/services/workshop/process-model/contracts.ts +344 -0
- package/server/services/workshop/process-model/dataset.ts +144 -0
- package/server/services/workshop/process-model/eligibility-service.ts +83 -0
- package/server/services/workshop/process-model/eligibility.ts +305 -0
- package/server/services/workshop/process-model/experiment.ts +100 -0
- package/server/services/workshop/process-model/spec.repo.ts +127 -0
- package/server/services/workshop/process-model/spec.ts +302 -0
- package/server/services/workshop/process-model/trainers/dataset-reader.ts +80 -0
- package/server/services/workshop/process-model/trainers/index.ts +150 -0
- package/server/services/workshop/process-model/trainers/linear-arx.ts +325 -0
- package/server/services/workshop/process-model/trainers/static-response.ts +211 -0
- package/server/services/workshop/process-model/watermark.ts +18 -0
- package/server/services/workshop/prompts/loader.ts +7 -0
- package/server/services/workshop/runtime/manager/admin-channel.ts +14 -1
- package/server/services/workshop/runtime/manager/host-tools.ts +65 -8
- package/server/services/workshop/runtime/manager/types.ts +2 -2
- package/server/services/workshop/settings.ts +33 -0
- package/server/services/workshop/tools/catalog-view.ts +4 -1
- package/server/services/workshop/tools/policy.ts +60 -10
- package/server/services/workshop/tools/registry.ts +42 -1
- package/shared/config/schema.json +14 -5
- package/shared/dcw-protocol/line.ts +9 -0
- package/shared/dcw-protocol/recipe.ts +2 -0
- package/shared/units.ts +50 -0
- package/.output/public/_nuxt/B1OMZaQh.js +0 -1
- package/.output/public/_nuxt/BYLc8cfE.js +0 -1
- package/.output/public/_nuxt/Bq9DDqiq2.js +0 -1
- package/.output/public/_nuxt/C1vvxGo02.js +0 -1
- package/.output/public/_nuxt/SF0I6Hzp2.js +0 -36
- package/.output/public/_nuxt/board.jjp4MSZR.css +0 -1
- package/.output/public/_nuxt/builds/meta/cd7ec308-625f-4eb8-a841-11f3127fbf66.json +0 -1
- package/.output/public/_nuxt/studio.DiCFYeMk.css +0 -1
- package/.output/public/_nuxt/w5BEz70W.js +0 -1
- package/.output/server/chunks/build/board-C6JysYLg.mjs.map +0 -1
- package/.output/server/chunks/build/data-DL68QJ5W.mjs.map +0 -1
- package/.output/server/chunks/build/studio-DjhjwH4s.mjs.map +0 -1
- /package/.output/public/_nuxt/{2KE8xGVm2.js → 2KE8xGVm.js} +0 -0
- /package/.output/public/_nuxt/{B8cViLJT2.js → B8cViLJT.js} +0 -0
- /package/.output/public/_nuxt/{DF32f5EL.js → DF32f5EL2.js} +0 -0
- /package/.output/public/_nuxt/{TOWR4WpO2.js → TOWR4WpO.js} +0 -0
|
@@ -11,9 +11,24 @@ import { getChannelPluginsRepo } from '../../db/channel-plugins.repo'
|
|
|
11
11
|
import { HOST_TOOLS, createSessionState, dispatchHostTool, hostToolsForAgent } from '../../agents/host-tool-bridge'
|
|
12
12
|
import { instanceToAgentInfo, rowToChannelMail } from './helpers'
|
|
13
13
|
import { listPluginTools, pluginOfTool } from '../../agents/plugin-tools'
|
|
14
|
+
import { auditPluginToolCall, governPluginToolCall } from '../../agents/plugin-governance'
|
|
14
15
|
import { channelToolGate } from '../../tools/policy'
|
|
16
|
+
import { recordOps } from '../../ops/ops'
|
|
15
17
|
import { rowToMessage } from '../mailbox'
|
|
16
18
|
|
|
19
|
+
/** WP4:token 路径需要留痕的协作面工具(可作数据二次外传的通道) */
|
|
20
|
+
const COLLAB_AUDIT_TOOLS = new Set([
|
|
21
|
+
'send_cross_channel_message',
|
|
22
|
+
'send_message_to_agent',
|
|
23
|
+
'broadcast_message',
|
|
24
|
+
'save_memory',
|
|
25
|
+
'search_memory',
|
|
26
|
+
'poll_messages',
|
|
27
|
+
'read_channel_mail',
|
|
28
|
+
'list_other_teams',
|
|
29
|
+
'search_other_teams_memory',
|
|
30
|
+
])
|
|
31
|
+
|
|
17
32
|
export abstract class ManagerHostTools extends ManagerA2A {
|
|
18
33
|
/**
|
|
19
34
|
* 工具桥(协作工具族):按 agentId 定位 channel 并调用其 workspace 方法。
|
|
@@ -82,7 +97,8 @@ export abstract class ManagerHostTools extends ManagerA2A {
|
|
|
82
97
|
const row = this.deps.repos.channelAgents.findById(input.agentId)
|
|
83
98
|
if (!row || row.enabled !== 1) throw new AppError(404, 'NOT_FOUND', `agent 不存在或已停用: ${input.agentId}`)
|
|
84
99
|
// token 鉴权(MCP 桥路径必带;缺省视为服务端内部调用,走 REST 已有用户鉴权)
|
|
85
|
-
|
|
100
|
+
// WP3:走 repo 单点校验(常量时间 + 轮换宽限窗),四路调用点同源
|
|
101
|
+
if (input.token !== undefined && !this.deps.repos.channelAgents.isTokenValid(row, input.token)) {
|
|
86
102
|
throw new AppError(401, 'UNAUTHORIZED', 'agent token 校验失败')
|
|
87
103
|
}
|
|
88
104
|
// ── 人类权限作用域判定(§13.3)────────────────────────────────────────────
|
|
@@ -96,13 +112,18 @@ export abstract class ManagerHostTools extends ManagerA2A {
|
|
|
96
112
|
}
|
|
97
113
|
// 工具执行错误(业务约束/目标不存在等)一律降级为 isError 文本——
|
|
98
114
|
// 绝不让 AppError 以 unhandledRejection 逃逸拖垮 worker(stability-guard 会因此退出整进程)
|
|
115
|
+
// WP4:所有返回路径统一过协作审计(插件/原生/dispatch/兜底)
|
|
116
|
+
const finish = <T extends { text: string, isError?: boolean }>(inp: typeof input, r: T): T => {
|
|
117
|
+
this.auditCollabInvocation(inp, r)
|
|
118
|
+
return r
|
|
119
|
+
}
|
|
99
120
|
try {
|
|
100
121
|
// 活性登记:调度器停滞看门狗以「最近工具调用」为健康信号(见 SchedulerLoopOptions.toolActivityOf)
|
|
101
122
|
this.lastToolInvokeAt.set(input.agentId, Date.now())
|
|
102
123
|
// Channel 逐工具选择:插件分支会提前 return,必须在此先复核(不能只靠 dispatch)。
|
|
103
124
|
{
|
|
104
125
|
const gate = channelToolGate(row.channelId, input.tool)
|
|
105
|
-
if (gate.blocked) return { text: gate.message ?? `工具 ${input.tool} 不可用`, isError: true }
|
|
126
|
+
if (gate.blocked) return finish(input, { text: gate.message ?? `工具 ${input.tool} 不可用`, isError: true })
|
|
106
127
|
}
|
|
107
128
|
// 插件工具:团队开关过滤 + handler 直调(ctx.omp 注册的自定义工具全 harness 同源)
|
|
108
129
|
// 内置同名工具优先(与 dispatch 同口径):插件覆盖不得跳过工业门控
|
|
@@ -128,19 +149,30 @@ export abstract class ManagerHostTools extends ManagerA2A {
|
|
|
128
149
|
isError: true,
|
|
129
150
|
}
|
|
130
151
|
}
|
|
131
|
-
|
|
152
|
+
// 平台侧插件治理(WP4b/WP8):kb 入库 HITL + 声明式引用校验(与 dispatch 同源)
|
|
153
|
+
const governed = await governPluginToolCall(identity, input.tool, input.args ?? {}, pluginTool)
|
|
154
|
+
if (governed) return finish(input, governed)
|
|
155
|
+
try {
|
|
156
|
+
const result = await pluginTool.handler(input.args ?? {}, identity)
|
|
157
|
+
auditPluginToolCall(identity, input.tool, result)
|
|
158
|
+
return finish(input, result)
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
auditPluginToolCall(identity, input.tool, { text: err instanceof Error ? err.message : String(err), isError: true })
|
|
162
|
+
throw err
|
|
163
|
+
}
|
|
132
164
|
}
|
|
133
165
|
const runtime = this.ensureAgentRuntime(row.channelId, input.agentId)
|
|
134
166
|
if (runtime) {
|
|
135
167
|
const viaImpl = await runtime.dispatchHostTool(input.tool, input.args ?? {})
|
|
136
|
-
if (viaImpl) return viaImpl
|
|
168
|
+
if (viaImpl) return finish(input, viaImpl)
|
|
137
169
|
}
|
|
138
170
|
// 回退:impl 未实现 dispatchHostTool(如 mock)→ 仍走**同一份** host-tool-bridge
|
|
139
171
|
// 分发,而不是只支持 3 个协作工具的旧开关。否则同一工具在 omp 上可用、在
|
|
140
172
|
// mock/无工具面引擎经 MCP 桥调用却报“不支持该协作工具”(2026-10-20 实测)。
|
|
141
173
|
const workspace = runtime?.workspace
|
|
142
174
|
if (workspace) {
|
|
143
|
-
return await dispatchHostTool({
|
|
175
|
+
return finish(input, await dispatchHostTool({
|
|
144
176
|
identity: {
|
|
145
177
|
agentId: row.id,
|
|
146
178
|
channelId: row.channelId,
|
|
@@ -149,15 +181,40 @@ export abstract class ManagerHostTools extends ManagerA2A {
|
|
|
149
181
|
},
|
|
150
182
|
state: createSessionState(),
|
|
151
183
|
getWorkspace: () => workspace,
|
|
152
|
-
}, { toolName: input.tool, arguments: input.args ?? {} })
|
|
184
|
+
}, { toolName: input.tool, arguments: input.args ?? {} }))
|
|
153
185
|
}
|
|
154
186
|
// 最后兜底:仅剩不依赖 Agent 运行时的跨 Channel/团队只读面
|
|
155
|
-
return await this.invokeAgentWorkspaceTool(input.agentId, input.tool, input.args ?? {})
|
|
187
|
+
return finish(input, await this.invokeAgentWorkspaceTool(input.agentId, input.tool, input.args ?? {}))
|
|
156
188
|
}
|
|
157
189
|
catch (err) {
|
|
158
190
|
const reason = err instanceof Error ? err.message : String(err)
|
|
159
|
-
return { text: `工具「${input.tool}」调用失败: ${reason}`, isError: true }
|
|
191
|
+
return finish(input, { text: `工具「${input.tool}」调用失败: ${reason}`, isError: true })
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* WP4:token 来源的协作面调用留痕(不改变可达性 —— 桥主循环依赖 poll_messages)。
|
|
197
|
+
* 目的:token 泄露时可经跨频道消息/记忆二次外传,审计面必须能回溯「谁在何时调了什么」。
|
|
198
|
+
*/
|
|
199
|
+
private auditCollabInvocation(input: { agentId: string, token?: string, tool: string }, result: { text?: string, isError?: boolean }): void {
|
|
200
|
+
if (input.token === undefined) return
|
|
201
|
+
if (process.env.AW_COLLAB_AUDIT === '0') return
|
|
202
|
+
if (!COLLAB_AUDIT_TOOLS.has(input.tool)) return
|
|
203
|
+
try {
|
|
204
|
+
recordOps({
|
|
205
|
+
actor: input.agentId,
|
|
206
|
+
actorName: input.agentId,
|
|
207
|
+
actorKind: 'agent',
|
|
208
|
+
action: 'tool.call.collaboration',
|
|
209
|
+
kind: 'system',
|
|
210
|
+
level: result.isError ? 'warn' : 'info',
|
|
211
|
+
targetKind: 'tool',
|
|
212
|
+
targetId: input.tool,
|
|
213
|
+
summary: `Agent token 路径调用协作面工具:${input.tool}(${result.isError ? '失败' : '成功'})`,
|
|
214
|
+
detail: { tool: input.tool, isError: Boolean(result.isError), text: String(result.text ?? '').slice(0, 300) },
|
|
215
|
+
})
|
|
160
216
|
}
|
|
217
|
+
catch { /* 审计失败不阻断工具结果 */ }
|
|
161
218
|
}
|
|
162
219
|
|
|
163
220
|
/** 按 token 解析 agent(桥侧只需 token 的自证路径;未命中返回 null) */
|
|
@@ -79,8 +79,8 @@ export interface AgentTemplateDetail {
|
|
|
79
79
|
isBuiltin: boolean
|
|
80
80
|
/** 归属用户(null = 内置公共) */
|
|
81
81
|
ownerUserId: string | null
|
|
82
|
-
/** 该模板克隆出的全部实例(跨 channel) */
|
|
83
|
-
instances: Array<{ id: string, channelId: string, role: 'lead' | 'worker',
|
|
82
|
+
/** 该模板克隆出的全部实例(跨 channel;WP3:只回 token 尾 4 位) */
|
|
83
|
+
instances: Array<{ id: string, channelId: string, role: 'lead' | 'worker', tokenTail: string }>
|
|
84
84
|
createdAt: string
|
|
85
85
|
updatedAt: string
|
|
86
86
|
}
|
|
@@ -142,10 +142,19 @@ export interface RetentionSettings {
|
|
|
142
142
|
audit_days: number
|
|
143
143
|
approval_days: number
|
|
144
144
|
analysis_days: number
|
|
145
|
+
/** Optimizer 运行/候选/建议/收益台账保留天数 */
|
|
146
|
+
optimizer_days: number
|
|
147
|
+
/** Process Model 资格/试验台账保留天数 */
|
|
148
|
+
process_model_days: number
|
|
145
149
|
}
|
|
146
150
|
export interface LogSettings {
|
|
147
151
|
level: 'debug' | 'info' | 'warn' | 'error'
|
|
148
152
|
}
|
|
153
|
+
export interface OptimizerSolverSettings {
|
|
154
|
+
poolSize: number
|
|
155
|
+
requestTimeoutMs: number
|
|
156
|
+
threads: number
|
|
157
|
+
}
|
|
149
158
|
export interface DaqRuntimeSettings {
|
|
150
159
|
mqtt: {
|
|
151
160
|
host: string
|
|
@@ -204,6 +213,30 @@ export const harnessContinuityEnabled = (): boolean => workshopFlag('harness_con
|
|
|
204
213
|
export const channelMemoryDigestEnabled = (): boolean => workshopFlag('channel_memory_digest_enabled', true)
|
|
205
214
|
export const backupSettings = (): BackupSettings => section<BackupSettings>('backup')
|
|
206
215
|
export const retentionSettings = (): RetentionSettings => section<RetentionSettings>('retention')
|
|
216
|
+
export const optimizerSolverSettings = (): OptimizerSolverSettings => {
|
|
217
|
+
const s = section<Record<string, unknown>>('optimizer')
|
|
218
|
+
const num = (key: string, dflt: number): number => {
|
|
219
|
+
const value = Number(s[`solver.${key}`] ?? dflt)
|
|
220
|
+
return Number.isFinite(value) ? value : dflt
|
|
221
|
+
}
|
|
222
|
+
return {
|
|
223
|
+
poolSize: Math.max(1, Math.min(num('poolSize', 1), 4)),
|
|
224
|
+
requestTimeoutMs: Math.max(1000, num('requestTimeoutMs', 30_000)),
|
|
225
|
+
threads: Math.max(1, Math.min(num('threads', 1), 16)),
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/** 互校逐 CV 无量纲一致性容差(数值精度级;上限 1e-3 防止把门放宽到失效) */
|
|
229
|
+
export const optimizerCrosscheckTol = (): number => {
|
|
230
|
+
const s = section<Record<string, unknown>>('optimizer')
|
|
231
|
+
const value = Number(s['crosscheck.tol'] ?? 1e-6)
|
|
232
|
+
return Number.isFinite(value) ? Math.max(1e-10, Math.min(value, 1e-3)) : 1e-6
|
|
233
|
+
}
|
|
234
|
+
/** 工件 UQ 校准保鲜天数;超期建议降级 unverified */
|
|
235
|
+
export const amlUqFreshDays = (): number => {
|
|
236
|
+
const s = section<Record<string, unknown>>('aml')
|
|
237
|
+
const value = Number(s['uq.freshDays'] ?? 7)
|
|
238
|
+
return Number.isFinite(value) ? Math.max(1, Math.min(value, 365)) : 7
|
|
239
|
+
}
|
|
207
240
|
export const logSettings = (): LogSettings => section<LogSettings>('log')
|
|
208
241
|
export function daqRuntimeSettings(): DaqRuntimeSettings {
|
|
209
242
|
const e = effective()
|
|
@@ -36,7 +36,9 @@ export interface ToolCatalogRow {
|
|
|
36
36
|
export interface ChannelToolView {
|
|
37
37
|
channelId: string
|
|
38
38
|
mode: 'all' | 'selected'
|
|
39
|
-
|
|
39
|
+
/** WP7:degraded/cached = 数据库读取失败后的降级来源(前端可提示「策略为最近快照」) */
|
|
40
|
+
source: 'default' | 'explicit' | 'cached' | 'degraded'
|
|
41
|
+
stale?: boolean
|
|
40
42
|
updatedBy: string
|
|
41
43
|
updatedAt: string | null
|
|
42
44
|
stats: {
|
|
@@ -169,6 +171,7 @@ export function buildChannelToolView(channelId: string): ChannelToolView {
|
|
|
169
171
|
channelId,
|
|
170
172
|
mode: policy.mode,
|
|
171
173
|
source: policy.source,
|
|
174
|
+
...(policy.stale ? { stale: true } : {}),
|
|
172
175
|
updatedBy: policy.updatedBy,
|
|
173
176
|
updatedAt: policy.updatedAt,
|
|
174
177
|
stats: {
|
|
@@ -8,13 +8,40 @@
|
|
|
8
8
|
* 无策略行(默认)= mode='all' + 全部合格工具启用,保证存量 Channel 行为不变。
|
|
9
9
|
*/
|
|
10
10
|
import { getToolRegistryRepo, type ChannelToolPolicySnapshot, type ToolPolicyMode } from '../db/tool-registry.repo'
|
|
11
|
+
import { HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES } from '../agents/tool-classes'
|
|
11
12
|
import { createLogger } from '../logger'
|
|
12
13
|
|
|
13
14
|
const log = createLogger('workshop.tool-policy')
|
|
14
15
|
|
|
15
16
|
let warnedAt = 0
|
|
16
17
|
|
|
17
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* WP7 分级降级:
|
|
20
|
+
* - 读取成功 → 更新「最近已知快照」缓存;
|
|
21
|
+
* - 读取失败但有缓存(≤5min)→ 用缓存 + stale 标记(读面继续可用,写面由闸门按族拒);
|
|
22
|
+
* - 读取失败且无缓存 → selected + 空集(=全拒;比"降级全启用"更安全);
|
|
23
|
+
* - env AW_POLICY_DEGRADE=open 回到旧的 fail-open(灰度观察期用,启动期 audit warn)。
|
|
24
|
+
*/
|
|
25
|
+
const lastGood = new Map<string, { snapshot: ChannelToolPolicySnapshot, at: number }>()
|
|
26
|
+
const STALE_MS = 5 * 60_000
|
|
27
|
+
let degradeWarned = false
|
|
28
|
+
|
|
29
|
+
/** 写族:策略/目录不可判定时这些工具一律拒绝(物理安全优先) */
|
|
30
|
+
const POLICY_WRITE_TOOL_NAMES = new Set<string>([...HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES, 'line_start', 'line_stop'])
|
|
31
|
+
export function isPolicyWriteTool(name: string): boolean {
|
|
32
|
+
return POLICY_WRITE_TOOL_NAMES.has(name)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function failOpenMode(): boolean {
|
|
36
|
+
if (process.env.AW_POLICY_DEGRADE !== 'open') return false
|
|
37
|
+
if (!degradeWarned) {
|
|
38
|
+
degradeWarned = true
|
|
39
|
+
log.warn('AW_POLICY_DEGRADE=open:策略读取失败将降级为全启用(fail-open);安全开关打开态请尽快关闭')
|
|
40
|
+
}
|
|
41
|
+
return true
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** 读取策略;DB 故障时按 WP7 分级降级(缓存→stale;无缓存→全拒;fail-open 仅显式开关) */
|
|
18
45
|
export function getPolicySnapshot(channelId: string): ChannelToolPolicySnapshot {
|
|
19
46
|
const fallback: ChannelToolPolicySnapshot = {
|
|
20
47
|
channelId,
|
|
@@ -26,14 +53,25 @@ export function getPolicySnapshot(channelId: string): ChannelToolPolicySnapshot
|
|
|
26
53
|
}
|
|
27
54
|
if (!channelId) return fallback
|
|
28
55
|
try {
|
|
29
|
-
|
|
56
|
+
const snapshot = getToolRegistryRepo().snapshot(channelId)
|
|
57
|
+
lastGood.set(channelId, { snapshot, at: Date.now() })
|
|
58
|
+
return snapshot
|
|
30
59
|
}
|
|
31
60
|
catch (err) {
|
|
61
|
+
const cached = lastGood.get(channelId)
|
|
62
|
+
if (cached && Date.now() - cached.at <= STALE_MS) {
|
|
63
|
+
if (Date.now() - warnedAt > 60_000) {
|
|
64
|
+
warnedAt = Date.now()
|
|
65
|
+
log.warn(`读取 Channel 工具策略失败,使用最近已知快照(${Math.round((Date.now() - cached.at) / 1000)}s 前): ${err instanceof Error ? err.message : String(err)}`)
|
|
66
|
+
}
|
|
67
|
+
return { ...cached.snapshot, source: 'cached', stale: true, ageMs: Date.now() - cached.at }
|
|
68
|
+
}
|
|
69
|
+
if (failOpenMode()) return fallback
|
|
32
70
|
if (Date.now() - warnedAt > 60_000) {
|
|
33
71
|
warnedAt = Date.now()
|
|
34
|
-
log.warn(`读取 Channel
|
|
72
|
+
log.warn(`读取 Channel 工具策略失败且无可用快照,降级为全拒(selected+空集): ${err instanceof Error ? err.message : String(err)}`)
|
|
35
73
|
}
|
|
36
|
-
return fallback
|
|
74
|
+
return { ...fallback, mode: 'selected', source: 'degraded', stale: true }
|
|
37
75
|
}
|
|
38
76
|
}
|
|
39
77
|
|
|
@@ -51,19 +89,22 @@ export function applyChannelToolPolicy<T extends { name: string }>(tools: T[], c
|
|
|
51
89
|
return tools.filter(t => isChannelToolEnabled(policy, t.name))
|
|
52
90
|
}
|
|
53
91
|
|
|
54
|
-
export type ToolGateReason = 'CHANNEL_TOOL_DISABLED' | 'UNAVAILABLE'
|
|
92
|
+
export type ToolGateReason = 'CHANNEL_TOOL_DISABLED' | 'UNAVAILABLE' | 'POLICY_UNAVAILABLE'
|
|
55
93
|
|
|
56
94
|
export interface ToolGateResult {
|
|
57
95
|
blocked: boolean
|
|
58
96
|
reason?: ToolGateReason
|
|
59
97
|
message?: string
|
|
98
|
+
/** WP7:策略读取降级(读面放行但带降级标记;写面不会带此标记——已被拒) */
|
|
99
|
+
degraded?: boolean
|
|
60
100
|
}
|
|
61
101
|
|
|
62
102
|
/**
|
|
63
103
|
* 执行面闸门:
|
|
64
104
|
* - 未知工具不在这里拦截(保持既有“未知工具”错误语义);
|
|
65
105
|
* - 目录中存在但当前未注册(unavailable)→ 拒绝;
|
|
66
|
-
* - 本 Channel 显式停用 →
|
|
106
|
+
* - 本 Channel 显式停用 → 拒绝;
|
|
107
|
+
* - WP7:目录读取失败时,写族 fail-closed(物理安全优先),读族放行并带 degraded 标记。
|
|
67
108
|
*/
|
|
68
109
|
export function channelToolGate(channelId: string, toolName: string): ToolGateResult {
|
|
69
110
|
if (!channelId) return { blocked: false }
|
|
@@ -72,8 +113,15 @@ export function channelToolGate(channelId: string, toolName: string): ToolGateRe
|
|
|
72
113
|
row = getToolRegistryRepo().get(toolName)
|
|
73
114
|
}
|
|
74
115
|
catch {
|
|
75
|
-
//
|
|
76
|
-
|
|
116
|
+
// 目录不可读:写族必须拒(策略不可判定时不得放行物理写);读族降级可用
|
|
117
|
+
if (isPolicyWriteTool(toolName)) {
|
|
118
|
+
return {
|
|
119
|
+
blocked: true,
|
|
120
|
+
reason: 'POLICY_UNAVAILABLE',
|
|
121
|
+
message: `工具「${toolName}」属写族,当前工具目录不可读(策略无法判定),已按安全默认拒绝。请稍后重试;若持续出现请联系管理员。`,
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return { blocked: false, degraded: true }
|
|
77
125
|
}
|
|
78
126
|
if (!row) return { blocked: false }
|
|
79
127
|
if (!row.available) {
|
|
@@ -88,10 +136,12 @@ export function channelToolGate(channelId: string, toolName: string): ToolGateRe
|
|
|
88
136
|
return {
|
|
89
137
|
blocked: true,
|
|
90
138
|
reason: 'CHANNEL_TOOL_DISABLED',
|
|
91
|
-
message:
|
|
139
|
+
message: policy.stale
|
|
140
|
+
? `本 Channel 已在「设置 → 工具」中停用「${toolName}」(策略为最近已知快照,数据库暂不可读)。请稍后重试或联系 Channel 属主。`
|
|
141
|
+
: `本 Channel 已在「设置 → 工具」中停用「${toolName}」。请让 Channel 属主在工具管理中启用后重试;硬规则排除的工具不能通过开关绕过。`,
|
|
92
142
|
}
|
|
93
143
|
}
|
|
94
|
-
return { blocked: false }
|
|
144
|
+
return { blocked: false, ...(policy.stale ? { degraded: true } : {}) }
|
|
95
145
|
}
|
|
96
146
|
|
|
97
147
|
/** API 写入前的模式校验 */
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { createHash } from 'node:crypto'
|
|
12
12
|
import { HOST_TOOLS } from '../agents/host-tool-bridge/catalog'
|
|
13
|
-
import { LEAD_ONLY_TOOL_NAMES } from '../agents/tool-classes'
|
|
13
|
+
import { HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES, LEAD_ONLY_TOOL_NAMES } from '../agents/tool-classes'
|
|
14
14
|
import { listPluginTools, onPluginToolsChange, pluginOfTool } from '../agents/plugin-tools'
|
|
15
15
|
import { pluginManifest } from '../plugins/host.mjs'
|
|
16
16
|
import { createLogger } from '../logger'
|
|
17
|
+
import { recordOps } from '../ops/ops'
|
|
18
|
+
import { declarationVerdict } from '../agents/tool-reference-spec'
|
|
17
19
|
import {
|
|
18
20
|
getToolRegistryRepo,
|
|
19
21
|
type ToolRegistryUpsert,
|
|
@@ -22,6 +24,20 @@ import {
|
|
|
22
24
|
|
|
23
25
|
const log = createLogger('workshop.tool-registry')
|
|
24
26
|
|
|
27
|
+
/**
|
|
28
|
+
* WP5 登记制:工业工具必须声明引用面(references 或 noRefs)。
|
|
29
|
+
* 写族未声明 → 拒绝登记(不进目录 = 注入面与执行面双关);读族未声明 → 放行+告警入册。
|
|
30
|
+
* 声明字段来自 host-tools.json(迁移脚本 scripts/tool-references-migrate.ts)。
|
|
31
|
+
*/
|
|
32
|
+
const EXTRA_WRITE_TOOL_NAMES = new Set(['line_start', 'line_stop'])
|
|
33
|
+
function isWriteFamily(name: string, riskClass?: string): boolean {
|
|
34
|
+
return riskClass === 'write' || HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES.has(name) || EXTRA_WRITE_TOOL_NAMES.has(name)
|
|
35
|
+
}
|
|
36
|
+
const warnedUndeclared = new Set<string>()
|
|
37
|
+
function declarationVerdictOf(tool: { name: string, references?: unknown, noRefs?: boolean, riskClass?: string }): 'ok' | 'undeclared-write' | 'undeclared-read' {
|
|
38
|
+
return declarationVerdict(tool, isWriteFamily(tool.name, tool.riskClass))
|
|
39
|
+
}
|
|
40
|
+
|
|
25
41
|
export interface ToolRegistrySyncResult {
|
|
26
42
|
builtin: number
|
|
27
43
|
plugin: number
|
|
@@ -104,6 +120,7 @@ const GROUP_BY_PREFIX: Record<string, string> = {
|
|
|
104
120
|
twin: 'twin',
|
|
105
121
|
mpc: 'twin',
|
|
106
122
|
optimization: 'twin',
|
|
123
|
+
optimizer: 'optimization',
|
|
107
124
|
team: 'team',
|
|
108
125
|
exp: 'experience',
|
|
109
126
|
analysis: 'analysis',
|
|
@@ -136,6 +153,28 @@ function hashOf(row: Omit<ToolRegistryUpsert, 'definitionHash'>): string {
|
|
|
136
153
|
export function buildToolRegistrySnapshot(): ToolRegistryUpsert[] {
|
|
137
154
|
const out = new Map<string, ToolRegistryUpsert>()
|
|
138
155
|
for (const tool of HOST_TOOLS) {
|
|
156
|
+
// WP5 登记制:写族未声明引用面 → 不登记(unavailable → 注入/执行双关)
|
|
157
|
+
const verdict = declarationVerdictOf(tool)
|
|
158
|
+
if (verdict === 'undeclared-write') {
|
|
159
|
+
log.error(`工具「${tool.name}」属写族但未声明 references/noRefs,拒绝登记(注入面与执行面均不可用)`)
|
|
160
|
+
recordOps({
|
|
161
|
+
actor: 'system', actorName: 'tool-registry', actorKind: 'system',
|
|
162
|
+
action: 'tool.registry.rejected', kind: 'system', level: 'warn',
|
|
163
|
+
targetKind: 'tool', targetId: tool.name,
|
|
164
|
+
summary: `写族工具未声明引用面,拒绝登记:${tool.name}`,
|
|
165
|
+
})
|
|
166
|
+
continue
|
|
167
|
+
}
|
|
168
|
+
if (verdict === 'undeclared-read' && !warnedUndeclared.has(tool.name)) {
|
|
169
|
+
warnedUndeclared.add(tool.name)
|
|
170
|
+
log.warn(`工具「${tool.name}」未声明 references/noRefs,按无引用工具登记(限期补齐)`)
|
|
171
|
+
recordOps({
|
|
172
|
+
actor: 'system', actorName: 'tool-registry', actorKind: 'system',
|
|
173
|
+
action: 'tool.registry.undeclared', kind: 'system', level: 'warn',
|
|
174
|
+
targetKind: 'tool', targetId: tool.name,
|
|
175
|
+
summary: `工具未声明引用面(references/noRefs):${tool.name}`,
|
|
176
|
+
})
|
|
177
|
+
}
|
|
139
178
|
const safe = safeParameters(tool.parameters)
|
|
140
179
|
const base: Omit<ToolRegistryUpsert, 'definitionHash'> = {
|
|
141
180
|
name: tool.name,
|
|
@@ -150,6 +189,8 @@ export function buildToolRegistrySnapshot(): ToolRegistryUpsert[] {
|
|
|
150
189
|
metadata: {
|
|
151
190
|
builtin: true,
|
|
152
191
|
hidden: Boolean(tool.hidden),
|
|
192
|
+
riskClass: tool.riskClass ?? '',
|
|
193
|
+
referencesDeclared: Boolean(tool.references || tool.noRefs),
|
|
153
194
|
...(safe.error ? { schemaError: safe.error } : {}),
|
|
154
195
|
},
|
|
155
196
|
}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
{ "key": "theme.mode", "type": "select", "group": "theme", "label": "显示模式", "labelKey": "settings.runtime.theme.mode", "description": "全局默认深浅色;用户本地切换偏好优先", "applies": "live", "default": "light", "options": ["light", "dark"] },
|
|
19
19
|
|
|
20
20
|
{ "key": "i18n.defaultLocale", "type": "select", "group": "i18n", "label": "默认语言", "labelKey": "settings.runtime.i18n.defaultLocale", "description": "未做本地选择时的界面语言", "applies": "live", "default": "zh-CN", "options": ["zh-CN", "en"] },
|
|
21
|
+
|
|
21
22
|
{ "key": "time.timeZone", "type": "timezone", "group": "time", "label": "系统时区", "labelKey": "settings.runtime.time.timeZone", "description": "日志、聊天、审计、Agent 记录与定时任务使用的 IANA 时区;DAQ 原始时间轴仍保存绝对时间", "applies": "live", "default": "Asia/Shanghai" },
|
|
22
23
|
|
|
23
24
|
{ "key": "security.approvalGate", "type": "boolean", "group": "security", "label": "高危操作双人复核", "labelKey": "settings.runtime.security.approvalGate", "description": "R3:开启后写控/删除等高风险操作需另一位管理员批核", "applies": "live", "default": false },
|
|
@@ -38,7 +39,6 @@
|
|
|
38
39
|
{ "key": "daq.objectstore.accessKey", "type": "string", "group": "daq", "label": "对象存储 AccessKey", "labelKey": "settings.runtime.daq.osAccess", "description": "MinIO 访问账号", "applies": "restart", "default": "awshop" },
|
|
39
40
|
{ "key": "daq.objectstore.secretKey", "type": "string", "group": "daq", "label": "对象存储 SecretKey", "labelKey": "settings.runtime.daq.osSecret", "description": "MinIO 访问密钥", "applies": "restart", "default": "awshop-secret" },
|
|
40
41
|
{ "key": "daq.objectstore.bucket", "type": "string", "group": "daq", "label": "对象存储桶", "labelKey": "settings.runtime.daq.osBucket", "description": "图像帧存储桶(不存在时自动创建)", "applies": "restart", "default": "daq" },
|
|
41
|
-
|
|
42
42
|
{ "key": "daq.mqtt.qos", "type": "number", "group": "daq", "label": "MQTT QoS", "labelKey": "settings.runtime.daq.mqttQos", "description": "数采事件总线发布 QoS(0/1/2)", "applies": "restart", "default": 0, "min": 0, "max": 2, "aliases": ["DAQ_MQTT_QOS"] },
|
|
43
43
|
{ "key": "daq.mqtt.username", "type": "string", "group": "daq", "label": "MQTT 用户名", "labelKey": "settings.runtime.daq.mqttUsername", "description": "数采事件总线 MQTT 鉴权用户名(空=匿名)", "applies": "restart", "default": "", "aliases": ["DAQ_MQTT_USERNAME"] },
|
|
44
44
|
{ "key": "daq.mqtt.password", "type": "string", "group": "daq", "label": "MQTT 密码", "labelKey": "settings.runtime.daq.mqttPassword", "description": "数采事件总线 MQTT 鉴权密码", "applies": "restart", "default": "", "aliases": ["DAQ_MQTT_PASSWORD"] },
|
|
@@ -76,15 +76,15 @@
|
|
|
76
76
|
{ "key": "harness.opencode_command", "type": "string", "group": "harness", "label": "opencode 命令", "labelKey": "settings.runtime.harness.opencodeCommand", "description": "OpenCode 引擎可执行文件(PATH 解析)", "applies": "restart", "default": "opencode" },
|
|
77
77
|
{ "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" },
|
|
78
78
|
{ "key": "harness.dsh_command", "type": "string", "group": "harness", "label": "dsh 命令", "labelKey": "settings.runtime.harness.dshCommand", "description": "DeepSeek Harness 可执行文件(ACP 模式)", "applies": "restart", "default": "dsh" },
|
|
79
|
-
{ "key": "harness.gemini_command", "type": "string", "group": "harness", "label": "gemini 命令", "labelKey": "settings.runtime.harness.geminiCommand", "description": "Google Gemini CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "gemini" },
|
|
79
|
+
{ "key": "harness.gemini_command", "type": "string", "group": "harness", "label": "gemini 命令", "labelKey": "settings.runtime.harness.geminiCommand", "description": "Google Gemini CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "gemini" },
|
|
80
80
|
{ "key": "harness.qwen_command", "type": "string", "group": "harness", "label": "qwen 命令", "labelKey": "settings.runtime.harness.qwenCommand", "description": "Qwen Code 可执行文件(experimental-acp 模式)", "applies": "restart", "default": "qwen" },
|
|
81
81
|
{ "key": "harness.copilot_command", "type": "string", "group": "harness", "label": "copilot 命令", "labelKey": "settings.runtime.harness.copilotCommand", "description": "GitHub Copilot CLI 可执行文件(JSONL 无头)", "applies": "restart", "default": "copilot" },
|
|
82
82
|
{ "key": "harness.cursor_command", "type": "string", "group": "harness", "label": "cursor 命令", "labelKey": "settings.runtime.harness.cursorCommand", "description": "Cursor CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "cursor-agent" },
|
|
83
83
|
{ "key": "harness.crush_command", "type": "string", "group": "harness", "label": "crush 命令", "labelKey": "settings.runtime.harness.crushCommand", "description": "Charm Crush 可执行文件(run 非交互模式)", "applies": "restart", "default": "crush" },
|
|
84
|
-
{ "key": "harness.goose_command", "type": "string", "group": "harness", "label": "goose 命令", "labelKey": "settings.runtime.harness.gooseCommand", "description": "Block Goose 可执行文件(run stream-json 无头)", "applies": "restart", "default": "goose" },
|
|
84
|
+
{ "key": "harness.goose_command", "type": "string", "group": "harness", "label": "goose 命令", "labelKey": "settings.runtime.harness.gooseCommand", "description": "Block Goose 可执行文件(run stream-json 无头)", "applies": "restart", "default": "goose" },
|
|
85
85
|
{ "key": "harness.pi_command", "type": "string", "group": "harness", "label": "pi 命令", "labelKey": "settings.runtime.harness.piCommand", "description": "pi coding agent 可执行文件(-p --mode json 无头)", "applies": "restart", "default": "pi" },
|
|
86
86
|
{ "key": "harness.hermes_command", "type": "string", "group": "harness", "label": "hermes 命令", "labelKey": "settings.runtime.harness.hermesCommand", "description": "Hermes Agent 可执行文件(acp 模式)", "applies": "restart", "default": "hermes" },
|
|
87
|
-
|
|
87
|
+
{ "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 },
|
|
88
88
|
|
|
89
89
|
{ "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 },
|
|
90
90
|
{ "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 },
|
|
@@ -117,6 +117,8 @@
|
|
|
117
117
|
{ "key": "retention.audit_days", "type": "number", "group": "retention", "label": "审计日志保留(天)", "labelKey": "settings.runtime.retention.auditDays", "description": "审计日志保留天数(合规观察期,从严保留)", "applies": "restart", "default": 90, "min": 1, "max": 3650 },
|
|
118
118
|
{ "key": "retention.approval_days", "type": "number", "group": "retention", "label": "审批历史保留(天)", "labelKey": "settings.runtime.retention.approvalDays", "description": "审批历史保留天数(历史裁决主张不可变,放宽)", "applies": "restart", "default": 180, "min": 1, "max": 3650 },
|
|
119
119
|
{ "key": "retention.analysis_days", "type": "number", "group": "retention", "label": "分析报告保留(天)", "labelKey": "settings.runtime.retention.analysisDays", "description": "数据分析报告台账保留天数(数据留痕,宽松保留)", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
|
|
120
|
+
{ "key": "retention.optimizer_days", "type": "number", "group": "retention", "label": "优化运行保留(天)", "labelKey": "settings.runtime.retention.optimizerDays", "description": "Optimizer 运行/候选/建议/收益台账保留天数", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
|
|
121
|
+
{ "key": "retention.process_model_days", "type": "number", "group": "retention", "label": "过程模型台账保留(天)", "labelKey": "settings.runtime.retention.processModelDays", "description": "过程模型资格报告与模拟试验台账保留天数", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
|
|
120
122
|
|
|
121
123
|
{ "key": "log.level", "type": "string", "group": "log", "label": "日志级别", "labelKey": "settings.runtime.log.level", "description": "服务端日志级别(debug/info/warn/error)", "applies": "restart", "default": "info", "aliases": ["AWSHOP_LOG_LEVEL"] },
|
|
122
124
|
|
|
@@ -136,6 +138,13 @@
|
|
|
136
138
|
{ "key": "aml.gates.valTestGap", "type": "number", "group": "aml", "label": "门禁:泛化差", "labelKey": "settings.runtime.aml.gateValTestGap", "description": "门禁 G3:|test-val|/val 相对差上限(防过拟合验证集)", "applies": "live", "default": 0.2, "min": 0.01, "max": 2 },
|
|
137
139
|
{ "key": "aml.gates.minRows", "type": "number", "group": "aml", "label": "门禁:最少样本行", "labelKey": "settings.runtime.aml.gateMinRows", "description": "门禁 G4a:数据集滑窗样本行数下限", "applies": "live", "default": 500, "min": 50, "max": 1000000 },
|
|
138
140
|
{ "key": "aml.gates.minRuns", "type": "number", "group": "aml", "label": "门禁:最少批次数", "labelKey": "settings.runtime.aml.gateMinRuns", "description": "门禁 G4b:数据集覆盖的批次(run)数下限", "applies": "live", "default": 3, "min": 1, "max": 1000 },
|
|
139
|
-
{ "key": "
|
|
141
|
+
{ "key": "aml.uq.freshDays", "type": "number", "group": "aml", "label": "UQ 证据保鲜天数", "labelKey": "settings.runtime.aml.uqFreshDays", "description": "工件 UQ 校准时间(calibratedAt)超过该天数后建议降级 unverified(需重训刷新证据)", "applies": "live", "default": 7, "min": 1, "max": 365 },
|
|
142
|
+
|
|
143
|
+
{ "key": "mcp.enabled", "type": "boolean", "group": "mcp", "label": "启动 MCP 集成", "labelKey": "settings.runtime.mcp.enabled", "description": "允许 aw 工业 MCP(mcp/aw-mcp-server.mjs)连接并操作本实例;停用后 MCP 工具调用将被拒绝(平台 REST 与频道内 agent 不受影响)。也可用环境变量 AW_MCP_ENABLED 覆盖。", "applies": "live", "default": false, "aliases": ["AW_MCP_ENABLED"] },
|
|
144
|
+
|
|
145
|
+
{ "key": "optimizer.solver.poolSize", "type": "number", "group": "optimizer", "label": "Solver 进程池上限", "labelKey": "settings.runtime.optimizer.poolSize", "description": "本地 Python Solver 进程池大小(每进程同时 1 个 solve)", "applies": "restart", "default": 1, "min": 1, "max": 4 },
|
|
146
|
+
{ "key": "optimizer.solver.requestTimeoutMs", "type": "number", "group": "optimizer", "label": "Solver 请求超时(ms)", "labelKey": "settings.runtime.optimizer.requestTimeoutMs", "description": "单次求解硬超时;超时终止独占 Worker 进程", "applies": "restart", "default": 30000, "min": 1000, "max": 600000 },
|
|
147
|
+
{ "key": "optimizer.solver.threads", "type": "number", "group": "optimizer", "label": "Solver 线程预算", "labelKey": "settings.runtime.optimizer.threads", "description": "求解进程 OMP/OPENBLAS/MKL/NUMEXPR 线程数(避免与训练抢占)", "applies": "restart", "default": 1, "min": 1, "max": 16 },
|
|
148
|
+
{ "key": "optimizer.crosscheck.tol", "type": "number", "group": "optimizer", "label": "互校一致性容差", "labelKey": "settings.runtime.optimizer.crosscheckTol", "description": "候选互校逐 CV 无量纲数值一致性门限(默认数值精度级;调大仅用于诊断,放宽不改变证据要求)", "applies": "live", "default": 0.000001, "min": 0.0000000001, "max": 0.001 }
|
|
140
149
|
]
|
|
141
150
|
}
|
|
@@ -31,12 +31,21 @@ export interface LineView {
|
|
|
31
31
|
* 存量数据无此字段时按 'manual' 生效(读侧归一,见 DcwLineRepo.controlModeOf)。
|
|
32
32
|
*/
|
|
33
33
|
controlMode?: 'auto' | 'manual'
|
|
34
|
+
/**
|
|
35
|
+
* 是否为模拟器产线(C9/A9):只有 simulated=true 的线允许发起"模拟参数试验";
|
|
36
|
+
* 真实线缺失该字段 = false(默认拒绝)。建线时由 seed/bench 脚本显式置位。
|
|
37
|
+
*/
|
|
38
|
+
simulated?: boolean
|
|
39
|
+
/** 模拟器场景 id(plant-runtime 引擎 key;仅诊断展示用) */
|
|
40
|
+
simSceneId?: string
|
|
34
41
|
}
|
|
35
42
|
|
|
36
43
|
export interface LineInput {
|
|
37
44
|
name: string
|
|
38
45
|
color?: string
|
|
39
46
|
description?: string
|
|
47
|
+
simulated?: boolean
|
|
48
|
+
simSceneId?: string
|
|
40
49
|
/** 线级控制模式总闸;缺省 'manual';manual→auto 须 confirm:true(服务端强制) */
|
|
41
50
|
controlMode?: 'auto' | 'manual'
|
|
42
51
|
/** manual→auto 的显式风险确认(严格 === true;仅 patch 入参用,不落盘) */
|
|
@@ -265,6 +265,8 @@ export interface RecipeRunView {
|
|
|
265
265
|
productId: string
|
|
266
266
|
/** 所属产线(自配方继承) */
|
|
267
267
|
lineId: string
|
|
268
|
+
/** 建批时冻结的配方版本(0/缺省 = 历史未知;C8 版本谱系证据) */
|
|
269
|
+
recipeVersion?: number
|
|
268
270
|
startedAt: string
|
|
269
271
|
endedAt: string | null
|
|
270
272
|
/** apply 时逐参数写结果快照(节点级寻址);ack/verify 为 2026-10-08 ACK 鉴定增量 */
|
package/shared/units.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工程↔模型单位唯一换算边界(D23)。
|
|
3
|
+
*
|
|
4
|
+
* `variable.unit` = 工程单位(DCW/配方/操作员面),`modelUnit` = 模型单位(模型训练/IR/求解全程)。
|
|
5
|
+
* 换算:model = value*scale + offset;engineering = (model − offset)/scale。
|
|
6
|
+
*
|
|
7
|
+
* 铁律:scale/offset 缺失、为 0 或非有限一律抛 422 —— **禁止按 1/0 兜底**
|
|
8
|
+
* (train/serve skew:训练按兜底换算、推理按另一口径,结论不可信)。
|
|
9
|
+
* aml 与 optimization 共用本模块(避免反向依赖)。
|
|
10
|
+
*/
|
|
11
|
+
export interface UnitTransform {
|
|
12
|
+
scale: number
|
|
13
|
+
offset: number
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export class UnitContractError extends Error {
|
|
17
|
+
readonly status = 422
|
|
18
|
+
readonly code = 'UNIT_CONTRACT_INVALID'
|
|
19
|
+
constructor(message: string) {
|
|
20
|
+
super(message)
|
|
21
|
+
this.name = 'UnitContractError'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function assertTransform(t: UnitTransform, what: string): void {
|
|
26
|
+
const scale = Number(t?.scale)
|
|
27
|
+
const offset = Number(t?.offset)
|
|
28
|
+
if (!Number.isFinite(scale) || scale === 0 || !Number.isFinite(offset)) {
|
|
29
|
+
throw new UnitContractError(
|
|
30
|
+
`${what} 的单位换算非法(scale=${String(t?.scale)},offset=${String(t?.offset)}):scale 必须为非零有限数,offset 必须为有限数;禁止按 1/0 兜底`,
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** 工程值 → 模型值:model = value*scale + offset */
|
|
36
|
+
export function toModel(value: number, t: UnitTransform, what = '变量'): number {
|
|
37
|
+
assertTransform(t, what)
|
|
38
|
+
return value * t.scale + t.offset
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** 模型值 → 工程值:engineering = (model − offset)/scale */
|
|
42
|
+
export function toEngineering(model: number, t: UnitTransform, what = '变量'): number {
|
|
43
|
+
assertTransform(t, what)
|
|
44
|
+
return (model - t.offset) / t.scale
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** 宽松读取(仅供展示/回显;业务换算必须走 toModel/toEngineering) */
|
|
48
|
+
export function readTransform(raw: { scale?: unknown, offset?: unknown } | undefined): UnitTransform {
|
|
49
|
+
return { scale: Number(raw?.scale), offset: Number(raw?.offset) }
|
|
50
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{N as e,dt as t,mt as n,u as r}from"./CavpkQb0.js";import{Q as i,S as a,V as o,W as s,b as c,f as l,h as u,i as d,k as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as _}from"./B8C-QJB5.js";import{n as v}from"./DkpmSnHX.js";import{n as y}from"./Cnrmlixo.js";import{t as b}from"./D_NjL-Hz.js";import{n as x,t as S}from"./qoUdVDnC.js";import{s as C,t as w}from"./Bc_k6AVA.js";import{t as T}from"./DnzjxC0u.js";import{t as E}from"./rdUE8Khf.js";import{i as D,n as O,t as k}from"./aQ1B7BZa2.js";import{r as A,t as j}from"./CJSohaqk2.js";import{t as M}from"./uu1wfdfR2.js";import{n as N,t as P}from"./CAiHhX8P2.js";import{t as F}from"./DHURbGkn2.js";import{t as I}from"./DzBbYWrw2.js";import{t as L}from"./CR612R752.js";import{t as R}from"./DkQBMVTs2.js";import{t as z}from"./BDNMzG2s.js";import{t as B}from"./CNs_Ozdc.js";import{i as V}from"./Du9v6qGB2.js";import{t as H}from"./B5FKaMM02.js";import{t as U}from"./C-MY-JQE2.js";import{t as W}from"./62J4vljm2.js";import{t as G}from"./DGrrucbG2.js";import{t as K}from"./TOWR4WpO2.js";import{t as q}from"./B8cViLJT2.js";import{t as ee}from"./2KE8xGVm2.js";var J=Object.assign(a({__name:`TeamAddMemberModal`,props:f({team:{},memberOptions:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:f([`added`],[`update:open`]),setup(t,{emit:a}){let s=t,l=i(t,`open`),u=a,{addTemplateId:d,addRole:f,submit:p}=U({open:l,teamId:()=>s.team?.id,onAdded:()=>u(`added`)});return(i,a)=>{let s=T,u=x,_=O,v=D,y=S,b=w;return o(),h(b,{open:l.value,"onUpdate:open":a[2]||=e=>l.value=e,title:i.$t(`teams.k6ljhyv029`,{p0:t.team?.name??``}),"ok-text":i.$t(`teams.joinOk`),"cancel-text":i.$t(`common.cancel`),onOk:e(p)},{default:m(()=>[c(y,{layout:`vertical`},{default:m(()=>[c(u,{label:i.$t(`teams.k41ds5006`)},{default:m(()=>[c(s,{value:e(d),"onUpdate:value":a[0]||=e=>r(d)?d.value=e:null,options:t.memberOptions},null,8,[`value`,`options`])]),_:1},8,[`label`]),c(u,{label:i.$t(`teams.k479op007`)},{default:m(()=>[c(v,{value:e(f),"onUpdate:value":a[1]||=e=>r(f)?f.value=e:null},{default:m(()=>[c(_,{value:`worker`},{default:m(()=>[...a[3]||=[g(` worker `,-1)]]),_:1}),c(_,{value:`lead`},{default:m(()=>[g(n(i.$t(`teams.keowzlv017`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`onOk`])}}}),{__name:`WorkshopTeamsTeamAddMemberModal`}),Y={class:`card`},X={class:`card-head`},Z={class:`name`},Q={class:`owner`},te={class:`members`},ne={class:`member-name`},re={class:`member-harness`},ie=[`onClick`],ae=Object.assign(z(a({__name:`TeamCard`,props:{team:{},vis:{},canWrite:{type:Boolean}},emits:[`toggleVisibility`,`deploy`,`plugins`,`remove`,`addMember`,`removeMember`],setup(e,{emit:r}){let i=r,{t:a}=y(),f=e=>V(a,e);return(r,a)=>{let _=k,v=L,y=A,b=j,x=F,S=C;return o(),u(`div`,Y,[l(`div`,X,[l(`span`,Z,n(f(e.team)),1),c(_,{color:e.vis.color,class:`vis-tag`},{default:m(()=>[e.vis.icon?(o(),u(`span`,{key:0,class:t(e.vis.icon)},null,2)):p(``,!0),g(n(e.vis.text),1)]),_:1},8,[`color`]),!e.team.isBuiltin&&e.canWrite?(o(),h(v,{key:0,checked:e.team.visibility===`public`,size:`small`,title:e.team.visibility===`public`?r.$t(`teams.toPrivate`):r.$t(`teams.toPublic`),onChange:a[0]||=t=>i(`toggleVisibility`,e.team,t===!0)},null,8,[`checked`,`title`])):p(``,!0),l(`span`,Q,n(e.team.ownerName??`-`),1),e.canWrite?(o(),h(x,{key:1},{overlay:m(()=>[c(b,null,{default:m(()=>[c(y,{onClick:a[1]||=t=>i(`deploy`,e.team)},{default:m(()=>[g(n(r.$t(`teams.deployToChannel`)),1)]),_:1}),c(y,{onClick:a[2]||=t=>i(`plugins`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k1plugon047`)),1)]),_:1}),c(y,{danger:``,onClick:a[3]||=t=>i(`remove`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k1bpojhf011`)),1)]),_:1})]),_:1})]),default:m(()=>[a[6]||=l(`span`,{class:`i-tabler-dots op`},null,-1)]),_:1})):(o(),h(S,{key:2,class:`deploy-btn`,size:`small`,type:`default`,title:r.$t(`teams.kxheuf1001`),onClick:a[4]||=t=>i(`deploy`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k48ja7012`)),1)]),_:1},8,[`title`]))]),l(`div`,te,[(o(!0),u(d,null,s(e.team.members,t=>(o(),u(`div`,{key:t.templateId,class:`member`},[c(_,{color:t.role===`lead`?`gold`:`blue`,class:`role`},{default:m(()=>[g(n(t.role),1)]),_:2},1032,[`color`]),l(`span`,ne,n(f(t)),1),l(`span`,re,n(t.harness),1),e.canWrite?(o(),u(`span`,{key:0,class:`i-tabler-x rm`,onClick:n=>i(`removeMember`,e.team,t.templateId)},null,8,ie)):p(``,!0)]))),128)),e.canWrite?(o(),h(S,{key:0,size:`small`,type:`dashed`,block:``,onClick:a[5]||=t=>i(`addMember`,e.team)},{default:m(()=>[g(n(r.$t(`teams.krt2oib013`)),1)]),_:1})):p(``,!0)])])}}}),[[`__scopeId`,`data-v-42a6ce1e`]]),{__name:`WorkshopTeamsTeamCard`}),oe={class:`aw-mono`},se={key:0,class:`plug-builtin-tag`},ce={class:`plug-hint`},le=Object.assign(z(a({__name:`TeamCreateModal`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:f([`created`],[`update:open`]),setup(t,{emit:a}){let f=i(t,`open`),_=a,{createForm:v,platformPlugins:y,pluginChecked:b,submit:C}=W({open:f,onCreated:()=>_(`created`)});return(t,i)=>{let a=E,_=x,T=O,k=D,A=P,j=N,M=S,F=w;return o(),h(F,{open:f.value,"onUpdate:open":i[4]||=e=>f.value=e,title:t.$t(`teams.k1efmuyx002`),"ok-text":t.$t(`common.create`),"cancel-text":t.$t(`common.cancel`),onOk:e(C)},{default:m(()=>[c(M,{layout:`vertical`},{default:m(()=>[c(_,{label:t.$t(`teams.k3xhia003`)},{default:m(()=>[c(a,{value:e(v).name,"onUpdate:value":i[0]||=t=>e(v).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(_,{label:t.$t(`teams.k40gkk004`)},{default:m(()=>[c(a,{value:e(v).description,"onUpdate:value":i[1]||=t=>e(v).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(_,{label:t.$t(`teams.k3lrqn0005`)},{default:m(()=>[c(k,{value:e(v).visibility,"onUpdate:value":i[2]||=t=>e(v).visibility=t},{default:m(()=>[c(T,{value:`private`},{default:m(()=>[g(n(t.$t(`teams.k17jfge3015`)),1)]),_:1}),c(T,{value:`public`},{default:m(()=>[g(n(t.$t(`teams.k1h2lq0o016`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),e(y).length?(o(),h(_,{key:0,label:t.$t(`teams.k1plugon041`)},{default:m(()=>[c(j,{value:e(b),"onUpdate:value":i[3]||=e=>r(b)?b.value=e:null,class:`plug-create-group`},{default:m(()=>[(o(!0),u(d,null,s(e(y),e=>(o(),h(A,{key:e.name,value:e.name},{default:m(()=>[l(`span`,oe,n(e.name),1),e.builtin?(o(),u(`span`,se,n(t.$t(`teams.k3x23c018`)),1)):p(``,!0)]),_:2},1032,[`value`]))),128))]),_:1},8,[`value`]),l(`div`,ce,n(t.$t(`teams.k1plugon042`)),1)]),_:1},8,[`label`])):p(``,!0)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`onOk`])}}}),[[`__scopeId`,`data-v-998f66e7`]]),{__name:`WorkshopTeamsTeamCreateModal`}),ue=Object.assign(a({__name:`TeamDeployModal`,props:f({team:{},channels:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(t){let n=t,a=i(t,`open`),{deployChannelId:s,deploying:l,submit:u}=G({open:a,teamId:()=>n.team?.id});return(n,i)=>{let d=T,f=x,p=S,g=w;return o(),h(g,{open:a.value,"onUpdate:open":i[1]||=e=>a.value=e,title:n.$t(`teams.k1c0o6oe030`,{p0:t.team?.name??``}),"confirm-loading":e(l),"ok-text":n.$t(`teams.deployOk`),"cancel-text":n.$t(`common.cancel`),onOk:e(u)},{default:m(()=>[c(p,{layout:`vertical`},{default:m(()=>[c(f,{label:n.$t(`teams.targetChannelLabel`)},{default:m(()=>[c(d,{value:e(s),"onUpdate:value":i[0]||=e=>r(s)?s.value=e:null,options:t.channels.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`,`onOk`])}}}),{__name:`WorkshopTeamsTeamDeployModal`}),de={class:`plug-source`},fe={class:`plug-text`},pe={class:`plug-name`},me={class:`aw-mono`},he={key:0,class:`plug-builtin-tag`},ge={class:`plug-desc`},_e={key:0,class:`plug-hint`},ve=Object.assign(z(a({__name:`TeamPluginModal`,props:f({team:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(t){let r=t,a=i(t,`open`),{rows:f,source:_,loading:v,saving:y,toggle:b}=q({open:a,teamId:()=>r.team?.id});return(r,i)=>{let x=L,S=I,C=w;return o(),h(C,{open:a.value,"onUpdate:open":i[0]||=e=>a.value=e,title:r.$t(`teams.k1plugon040`,{p0:t.team?.name??``}),footer:null},{default:m(()=>[c(S,{spinning:e(v)},{default:m(()=>[l(`p`,de,[e(_)===`explicit`?(o(),u(d,{key:0},[g(n(r.$t(`teams.k1plugon045`)),1)],64)):(o(),u(d,{key:1},[g(n(r.$t(`teams.k1plugon044`)),1)],64))]),(o(!0),u(d,null,s(e(f),t=>(o(),u(`div`,{key:t.name,class:`plug-row`},[l(`div`,fe,[l(`div`,pe,[l(`span`,me,n(t.name),1),t.builtin?(o(),u(`span`,he,n(r.$t(`teams.k3x23c018`)),1)):p(``,!0)]),l(`div`,ge,n(t.description||`—`),1)]),c(x,{checked:t.enabled,size:`small`,loading:e(y)===t.name,onChange:n=>e(b)(t,n===!0)},null,8,[`checked`,`loading`,`onChange`])]))),128)),e(f).length===0&&!e(v)?(o(),u(`div`,_e,n(r.$t(`teams.k1plugon046`)),1)):p(``,!0)]),_:1},8,[`spinning`])]),_:1},8,[`open`,`title`])}}}),[[`__scopeId`,`data-v-2459d0b0`]]),{__name:`WorkshopTeamsTeamPluginModal`}),ye={class:`page`},be={class:`head`},$={class:`sub`},xe={class:`toolbar`},Se={key:0,class:`admin-note`},Ce={class:`grid`},we=z(a({__name:`teams`,setup(t){let{t:i}=y();B({layout:`default`});let{teams:a,channels:f,loading:x,load:S,memberOptions:w,filter:T,shown:E,canWrite:D,visTag:O,isAdmin:k}=ee(),{toggleVisibility:A,removeMember:j,removeTeam:N}=H({reload:S}),{createOpen:P,addOpen:F,addTeam:L,openAdd:z,deployOpen:V,deployTeam:U,openDeploy:W,plugOpen:G,plugTeam:q,openPlugins:Y}=K();return v({title:()=>i(`titles.teams`)}),(t,i)=>{let v=C,y=M,B=R,H=b,K=I;return o(),u(`div`,ye,[l(`div`,be,[l(`div`,null,[l(`h2`,null,`AgentTeam `+n(t.$t(`teams.k3svl8y028`)),1),l(`p`,$,n(t.$t(`teams.k12gl4wn008`)),1)]),c(y,null,{default:m(()=>[c(v,{onClick:i[0]||=n=>(`navigateTo`in t?t.navigateTo:e(_))(`/workshop`)},{default:m(()=>[g(n(t.$t(`teams.krpx6qa009`)),1)]),_:1}),c(v,{type:`primary`,onClick:i[1]||=e=>P.value=!0},{default:m(()=>[g(n(t.$t(`teams.k1efmuyx002`)),1)]),_:1})]),_:1})]),l(`div`,xe,[c(B,{value:e(T),"onUpdate:value":i[2]||=e=>r(T)?T.value=e:null,size:`small`,options:[{value:`all`,label:t.$t(`chips.chipAll`,{n:e(a).length})},{value:`mine`,label:t.$t(`chips.mine`)},{value:`public`,label:t.$t(`chips.public`)},{value:`builtin`,label:t.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),c(H,null,{default:m(()=>[e(k)?(o(),u(`span`,Se,[i[8]||=l(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+n(t.$t(`teams.k1bpgi8h010`)),1)])):p(``,!0)]),_:1})]),c(K,{spinning:e(x)},{default:m(()=>[l(`div`,Ce,[(o(!0),u(d,null,s(e(E),t=>(o(),h(ae,{key:t.id,team:t,vis:e(O)(t),"can-write":e(D)(t),onToggleVisibility:e(A),onDeploy:e(W),onPlugins:e(Y),onRemove:e(N),onAddMember:e(z),onRemoveMember:e(j)},null,8,[`team`,`vis`,`can-write`,`onToggleVisibility`,`onDeploy`,`onPlugins`,`onRemove`,`onAddMember`,`onRemoveMember`]))),128)),e(E).length===0?(o(),u(`div`,{key:0,class:`card placeholder`,onClick:i[3]||=e=>P.value=!0},[i[9]||=l(`span`,{class:`i-tabler-plus big`},null,-1),l(`span`,null,n(t.$t(`teams.k6cbbgf014`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c(le,{open:e(P),"onUpdate:open":i[4]||=e=>r(P)?P.value=e:null,onCreated:e(S)},null,8,[`open`,`onCreated`]),c(J,{open:e(F),"onUpdate:open":i[5]||=e=>r(F)?F.value=e:null,team:e(L),"member-options":e(w),onAdded:e(S)},null,8,[`open`,`team`,`member-options`,`onAdded`]),c(ue,{open:e(V),"onUpdate:open":i[6]||=e=>r(V)?V.value=e:null,team:e(U),channels:e(f)},null,8,[`open`,`team`,`channels`]),c(ve,{open:e(G),"onUpdate:open":i[7]||=e=>r(G)?G.value=e:null,team:e(q)},null,8,[`open`,`team`])])}}}),[[`__scopeId`,`data-v-b2cf2a06`]]);export{we as default};
|