agentstudio 0.3.4 → 0.4.0
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/bin/agentstudio.js +44 -4
- package/bin/agentstudio.js.map +1 -1
- package/bin/serviceManager.d.ts.map +1 -1
- package/bin/serviceManager.js +312 -28
- package/bin/serviceManager.js.map +1 -1
- package/config/engineConfig.d.ts +96 -0
- package/config/engineConfig.d.ts.map +1 -0
- package/config/engineConfig.js +429 -0
- package/config/engineConfig.js.map +1 -0
- package/engines/claude/__tests__/supportedModels.test.d.ts +10 -0
- package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -0
- package/engines/claude/__tests__/supportedModels.test.js +89 -0
- package/engines/claude/__tests__/supportedModels.test.js.map +1 -0
- package/engines/claude/aguiAdapter.d.ts +101 -0
- package/engines/claude/aguiAdapter.d.ts.map +1 -0
- package/engines/claude/aguiAdapter.js +382 -0
- package/engines/claude/aguiAdapter.js.map +1 -0
- package/engines/claude/claudeEngine.d.ts +42 -0
- package/engines/claude/claudeEngine.d.ts.map +1 -0
- package/engines/claude/claudeEngine.js +325 -0
- package/engines/claude/claudeEngine.js.map +1 -0
- package/engines/claude/index.d.ts +8 -0
- package/engines/claude/index.d.ts.map +1 -0
- package/engines/claude/index.js +14 -0
- package/engines/claude/index.js.map +1 -0
- package/engines/cursor/__tests__/a2aAdapter.test.d.ts +6 -0
- package/engines/cursor/__tests__/a2aAdapter.test.d.ts.map +1 -0
- package/engines/cursor/__tests__/a2aAdapter.test.js +376 -0
- package/engines/cursor/__tests__/a2aAdapter.test.js.map +1 -0
- package/engines/cursor/a2aAdapter.d.ts +180 -0
- package/engines/cursor/a2aAdapter.d.ts.map +1 -0
- package/engines/cursor/a2aAdapter.js +405 -0
- package/engines/cursor/a2aAdapter.js.map +1 -0
- package/engines/cursor/aguiAdapter.d.ts +97 -0
- package/engines/cursor/aguiAdapter.d.ts.map +1 -0
- package/engines/cursor/aguiAdapter.js +507 -0
- package/engines/cursor/aguiAdapter.js.map +1 -0
- package/engines/cursor/cursorEngine.d.ts +68 -0
- package/engines/cursor/cursorEngine.d.ts.map +1 -0
- package/engines/cursor/cursorEngine.js +465 -0
- package/engines/cursor/cursorEngine.js.map +1 -0
- package/engines/cursor/index.d.ts +11 -0
- package/engines/cursor/index.d.ts.map +1 -0
- package/engines/cursor/index.js +21 -0
- package/engines/cursor/index.js.map +1 -0
- package/engines/engineManager.d.ts +80 -0
- package/engines/engineManager.d.ts.map +1 -0
- package/engines/engineManager.js +137 -0
- package/engines/engineManager.js.map +1 -0
- package/engines/index.d.ts +26 -0
- package/engines/index.d.ts.map +1 -0
- package/engines/index.js +81 -0
- package/engines/index.js.map +1 -0
- package/engines/types.d.ts +319 -0
- package/engines/types.d.ts.map +1 -0
- package/engines/types.js +69 -0
- package/engines/types.js.map +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +139 -16
- package/index.js.map +1 -1
- package/middleware/auth.d.ts.map +1 -1
- package/middleware/auth.js +4 -0
- package/middleware/auth.js.map +1 -1
- package/package.json +7 -1
- package/public/assets/AgentsPage-D462iGRy.js +10 -0
- package/public/assets/{Button-BoiVlafj.js → Button-B_6lGF64.js} +1 -1
- package/public/assets/ChatPage-NjuRQPaL.js +478 -0
- package/public/assets/{CommandForm-Se4iemMp.js → CommandForm-DwGvE9A_.js} +1 -1
- package/public/assets/CommandsPage-DeUS8fhJ.js +1 -0
- package/public/assets/CursorConfigPage-Bl1Blrbr.js +1 -0
- package/public/assets/{DashboardPage-DbCVzPKz.js → DashboardPage-DH-2iuqf.js} +1 -1
- package/public/assets/EngineGate-DxTYx9wb.js +1 -0
- package/public/assets/{FileBrowser-DcoBWzKK.js → FileBrowser-CeGsJnUL.js} +5 -5
- package/public/assets/{FileExplorer-B41BB0LM.js → FileExplorer-x5R0Tcmk.js} +1 -1
- package/public/assets/GeneralSettingsPage-lhNEJQD_.js +1 -0
- package/public/assets/HooksPage-9fingjdz.js +1 -0
- package/public/assets/LandingPage-BAzi8PDo.js +1 -0
- package/public/assets/LoginPage-kQ_NWy8p.js +16 -0
- package/public/assets/McpAdminSettingsPage-DQHpWHRC.js +7 -0
- package/public/assets/McpPage-DLHfmhSJ.js +20 -0
- package/public/assets/{MemorySettingsPage-DYSuz-hU.js → MemorySettingsPage-CRIPja9X.js} +1 -1
- package/public/assets/ModelsPage-Bb5vSsuc.js +1 -0
- package/public/assets/PluginsPage-BhKM7gV7.js +12 -0
- package/public/assets/ProjectSelector-Cbct6pnn.js +1 -0
- package/public/assets/ProjectsPage-lQo7-7dt.js +21 -0
- package/public/assets/RulesPage-BRnB7__3.js +1 -0
- package/public/assets/ScheduledTasksPage-CZiABTSb.js +1 -0
- package/public/assets/SettingsLayout-BfG7ftoT.js +1 -0
- package/public/assets/SkillsPage-CL6MKxQ9.js +18 -0
- package/public/assets/{SubagentForm-C0R084ja.js → SubagentForm-BzzeWg0W.js} +2 -2
- package/public/assets/{SubagentsPage-BKFNmqxg.js → SubagentsPage-DhFP2kDE.js} +1 -1
- package/public/assets/SystemInfoPage-CFHUN3j8.js +1 -0
- package/public/assets/{TelemetrySettingsPage-Ck2btMol.js → TelemetrySettingsPage-BcZFVBXN.js} +1 -1
- package/public/assets/{ToastTestPage-B79DFhqI.js → ToastTestPage-BtGnZdyk.js} +1 -1
- package/public/assets/{ToolsList-Kfxwp80g.js → ToolsList-CTsQr53G.js} +1 -1
- package/public/assets/{UnifiedToolSelector-CkafUbz3.js → UnifiedToolSelector-BP6fuyzG.js} +1 -1
- package/public/assets/VersionSettingsPage-DjOjyL3X.js +5 -0
- package/public/assets/VoiceSettingsPage-d3l9AWBn.js +1 -0
- package/public/assets/WebSocketTunnelPage-CfHtJR9r.js +1 -0
- package/public/assets/_basePickBy-Bac3af5O.js +1 -0
- package/public/assets/{_baseUniq-COj5YnAO.js → _baseUniq-Dvh9sZ-T.js} +1 -1
- package/public/assets/{agents-3mB536QF.js → agents-KlPdWQ8K.js} +1 -1
- package/public/assets/arc-CRR5EPpK.js +1 -0
- package/public/assets/{architectureDiagram-VXUJARFQ-DD1BwT1T.js → architectureDiagram-VXUJARFQ-Ct1p8kmV.js} +1 -1
- package/public/assets/{blockDiagram-VD42YOAC-DFKUIZc6.js → blockDiagram-VD42YOAC-CX_8YiYn.js} +1 -1
- package/public/assets/{c4Diagram-YG6GDRKO-B0VVIIvh.js → c4Diagram-YG6GDRKO-BIBVWIY4.js} +1 -1
- package/public/assets/channel-CPs-2Y_m.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-DM8J7YO9.js → chunk-4BX2VUAB-CQNNXsb5.js} +1 -1
- package/public/assets/{chunk-55IACEB6-BjhdmGlM.js → chunk-55IACEB6-N_ZrGhOu.js} +1 -1
- package/public/assets/{chunk-B4BG7PRW-1RJ6n2xv.js → chunk-B4BG7PRW-CI6DkhbM.js} +1 -1
- package/public/assets/{chunk-DI55MBZ5-1-EHSO67.js → chunk-DI55MBZ5-Dgj-Eo9U.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-DV3SMJK_.js → chunk-FMBD7UC4-o4B0HzSK.js} +1 -1
- package/public/assets/{chunk-QN33PNHL-IlsCTdDq.js → chunk-QN33PNHL-DXlfdPIk.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-DJXs-Fqo.js → chunk-QZHKN3VN-ZCBUGD7e.js} +1 -1
- package/public/assets/{chunk-TZMSLE5B-BxHO9wa1.js → chunk-TZMSLE5B-N3lZ106d.js} +1 -1
- package/public/assets/classDiagram-2ON5EDUG-DCwNRxvC.js +1 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-DCwNRxvC.js +1 -0
- package/public/assets/clone-C3DcKvhB.js +1 -0
- package/public/assets/{cose-bilkent-S5V4N54A-BVJXoW_K.js → cose-bilkent-S5V4N54A-Crc39J9q.js} +1 -1
- package/public/assets/{dagre-6UL2VRFP-DHDnVshA.js → dagre-6UL2VRFP-nC3WLCf7.js} +1 -1
- package/public/assets/{diagram-PSM6KHXK-40qGxDeg.js → diagram-PSM6KHXK-B5DQIDQ3.js} +1 -1
- package/public/assets/diagram-QEK2KX5R-BccDOQuz.js +43 -0
- package/public/assets/{diagram-S2PKOQOG-D7AX72a5.js → diagram-S2PKOQOG-D-Cv16WE.js} +1 -1
- package/public/assets/{erDiagram-Q2GNP2WA-BHsgeBpL.js → erDiagram-Q2GNP2WA-Dr0ZgvnS.js} +1 -1
- package/public/assets/{flowDiagram-NV44I4VS-BYqChOSE.js → flowDiagram-NV44I4VS-DGbbfVi5.js} +1 -1
- package/public/assets/{ganttDiagram-LVOFAZNH-CZFFSLKX.js → ganttDiagram-LVOFAZNH-C-3Wnf96.js} +1 -1
- package/public/assets/{gitGraphDiagram-NY62KEGX-C5Bgrf0J.js → gitGraphDiagram-NY62KEGX--Q8whT5z.js} +1 -1
- package/public/assets/{graph-BP5lFRBg.js → graph-CO1DMS2E.js} +1 -1
- package/public/assets/{index-BEPv9Bqe.js → index-B5hSSnK3.js} +58 -58
- package/public/assets/index-gbHlIp96.css +1 -0
- package/public/assets/infoDiagram-F6ZHWCRC-DSR9cM2B.js +2 -0
- package/public/assets/{journeyDiagram-XKPGCS4Q--abC1RHz.js → journeyDiagram-XKPGCS4Q-Cc00zHNt.js} +1 -1
- package/public/assets/{kanban-definition-3W4ZIXB7-BJeChfWu.js → kanban-definition-3W4ZIXB7-BF_gHshF.js} +6 -6
- package/public/assets/{layout-DjAix4WK.js → layout-BxoLV88o.js} +1 -1
- package/public/assets/{linear-Cw0z8VNY.js → linear-Y8e2e012.js} +1 -1
- package/public/assets/{mindmap-definition-VGOIOE7T-U_T9xIUk.js → mindmap-definition-VGOIOE7T-CzpuQA4p.js} +1 -1
- package/public/assets/{pieDiagram-ADFJNKIX-B0mT9OgH.js → pieDiagram-ADFJNKIX-B22MhIcy.js} +2 -2
- package/public/assets/{quadrantDiagram-AYHSOK5B-BWdlgO0u.js → quadrantDiagram-AYHSOK5B-CTT9bIA8.js} +1 -1
- package/public/assets/{requirementDiagram-UZGBJVZJ-B-8LxsGB.js → requirementDiagram-UZGBJVZJ-B_vjXDH9.js} +1 -1
- package/public/assets/{sankeyDiagram-TZEHDZUN-OXuxkgGA.js → sankeyDiagram-TZEHDZUN-CKfZ4633.js} +1 -1
- package/public/assets/{sequenceDiagram-WL72ISMW-Bt5twlzi.js → sequenceDiagram-WL72ISMW-BmTPN6j6.js} +1 -1
- package/public/assets/{stateDiagram-FKZM4ZOC-Dmph7TeW.js → stateDiagram-FKZM4ZOC-y2fQE1C7.js} +1 -1
- package/public/assets/stateDiagram-v2-4FDKWEC3-C4CM6z52.js +1 -0
- package/public/assets/{table-DjMdAdjH.js → table-BJUz-ck5.js} +1 -1
- package/public/assets/{timeline-definition-IT6M3QCI-CcV8nyIH.js → timeline-definition-IT6M3QCI-DsXlR68n.js} +1 -1
- package/public/assets/{tools-BAI9XHGS.js → tools-BZTR2NP1.js} +1 -1
- package/public/assets/{treemap-KMMF4GRG-DBuwkj4f.js → treemap-KMMF4GRG-Cecs9uxX.js} +1 -1
- package/public/assets/{ui-components-DaGtjl0g.js → ui-components-DjgDPiqV.js} +153 -128
- package/public/assets/useAgents-8KXN6U61.js +2 -0
- package/public/assets/{useClaudeVersions-Cy71v4HE.js → useClaudeVersions-DicHLV6A.js} +1 -1
- package/public/assets/useCommands-DbSH48ba.js +1 -0
- package/public/assets/{useProjects-XgfgISgV.js → useProjects-Bbh6hJMM.js} +1 -1
- package/public/assets/{useSessions-CQgq4d84.js → useSessions-DOa4-xiB.js} +1 -1
- package/public/assets/{xychartDiagram-PRI3JC2R-Bo9K-U2S.js → xychartDiagram-PRI3JC2R-C2IWhyM7.js} +1 -1
- package/public/index.html +5 -5
- package/public/wechat-qr-code.png +0 -0
- package/routes/a2a.d.ts +7 -0
- package/routes/a2a.d.ts.map +1 -1
- package/routes/a2a.js +193 -21
- package/routes/a2a.js.map +1 -1
- package/routes/agents.d.ts.map +1 -1
- package/routes/agents.js +45 -2
- package/routes/agents.js.map +1 -1
- package/routes/agui.d.ts +16 -0
- package/routes/agui.d.ts.map +1 -0
- package/routes/agui.js +520 -0
- package/routes/agui.js.map +1 -0
- package/routes/commands.d.ts.map +1 -1
- package/routes/commands.js +35 -3
- package/routes/commands.js.map +1 -1
- package/routes/cursorA2a.d.ts +18 -0
- package/routes/cursorA2a.d.ts.map +1 -0
- package/routes/cursorA2a.js +393 -0
- package/routes/cursorA2a.js.map +1 -0
- package/routes/engine.d.ts +12 -0
- package/routes/engine.d.ts.map +1 -0
- package/routes/engine.js +178 -0
- package/routes/engine.js.map +1 -0
- package/routes/gitVersions.d.ts +10 -0
- package/routes/gitVersions.d.ts.map +1 -0
- package/routes/gitVersions.js +147 -0
- package/routes/gitVersions.js.map +1 -0
- package/routes/hooks.d.ts +11 -0
- package/routes/hooks.d.ts.map +1 -0
- package/routes/hooks.js +303 -0
- package/routes/hooks.js.map +1 -0
- package/routes/mcp.d.ts.map +1 -1
- package/routes/mcp.js +28 -3
- package/routes/mcp.js.map +1 -1
- package/routes/plugins.d.ts.map +1 -1
- package/routes/plugins.js +317 -4
- package/routes/plugins.js.map +1 -1
- package/routes/rules.d.ts +9 -0
- package/routes/rules.d.ts.map +1 -0
- package/routes/rules.js +470 -0
- package/routes/rules.js.map +1 -0
- package/routes/sessions.d.ts.map +1 -1
- package/routes/sessions.js +64 -30
- package/routes/sessions.js.map +1 -1
- package/routes/speechToText.d.ts +8 -0
- package/routes/speechToText.d.ts.map +1 -0
- package/routes/speechToText.js +216 -0
- package/routes/speechToText.js.map +1 -0
- package/schemas/a2a.d.ts +2 -2
- package/services/__tests__/agentImporter.test.d.ts +5 -0
- package/services/__tests__/agentImporter.test.d.ts.map +1 -0
- package/services/__tests__/agentImporter.test.js +379 -0
- package/services/__tests__/agentImporter.test.js.map +1 -0
- package/services/__tests__/marketplaceUpdateService.test.d.ts +5 -0
- package/services/__tests__/marketplaceUpdateService.test.d.ts.map +1 -0
- package/services/__tests__/marketplaceUpdateService.test.js +227 -0
- package/services/__tests__/marketplaceUpdateService.test.js.map +1 -0
- package/services/__tests__/pluginInstaller.test.js +172 -0
- package/services/__tests__/pluginInstaller.test.js.map +1 -1
- package/services/a2a/__tests__/agentCardService.test.js +224 -0
- package/services/a2a/__tests__/agentCardService.test.js.map +1 -1
- package/services/a2a/__tests__/cursorA2aService.test.d.ts +6 -0
- package/services/a2a/__tests__/cursorA2aService.test.d.ts.map +1 -0
- package/services/a2a/__tests__/cursorA2aService.test.js +359 -0
- package/services/a2a/__tests__/cursorA2aService.test.js.map +1 -0
- package/services/a2a/agentCardService.d.ts +22 -0
- package/services/a2a/agentCardService.d.ts.map +1 -1
- package/services/a2a/agentCardService.js +246 -0
- package/services/a2a/agentCardService.js.map +1 -1
- package/services/a2a/cursorA2aService.d.ts +126 -0
- package/services/a2a/cursorA2aService.d.ts.map +1 -0
- package/services/a2a/cursorA2aService.js +336 -0
- package/services/a2a/cursorA2aService.js.map +1 -0
- package/services/agentImporter.d.ts +62 -0
- package/services/agentImporter.d.ts.map +1 -0
- package/services/agentImporter.js +335 -0
- package/services/agentImporter.js.map +1 -0
- package/services/cursorConfigService.d.ts +75 -0
- package/services/cursorConfigService.d.ts.map +1 -0
- package/services/cursorConfigService.js +538 -0
- package/services/cursorConfigService.js.map +1 -0
- package/services/gitVersionService.d.ts +52 -0
- package/services/gitVersionService.d.ts.map +1 -0
- package/services/gitVersionService.js +377 -0
- package/services/gitVersionService.js.map +1 -0
- package/services/marketplaceUpdateService.d.ts +66 -0
- package/services/marketplaceUpdateService.d.ts.map +1 -0
- package/services/marketplaceUpdateService.js +364 -0
- package/services/marketplaceUpdateService.js.map +1 -0
- package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts +5 -0
- package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts.map +1 -0
- package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js +429 -0
- package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js.map +1 -0
- package/services/mcpAdmin/tools/index.d.ts +1 -0
- package/services/mcpAdmin/tools/index.d.ts.map +1 -1
- package/services/mcpAdmin/tools/index.js +5 -1
- package/services/mcpAdmin/tools/index.js.map +1 -1
- package/services/mcpAdmin/tools/scheduledTaskTools.d.ts +64 -0
- package/services/mcpAdmin/tools/scheduledTaskTools.d.ts.map +1 -0
- package/services/mcpAdmin/tools/scheduledTaskTools.js +1002 -0
- package/services/mcpAdmin/tools/scheduledTaskTools.js.map +1 -0
- package/services/mcpAdmin/types.d.ts +1 -1
- package/services/mcpAdmin/types.d.ts.map +1 -1
- package/services/pluginInstaller.d.ts +55 -1
- package/services/pluginInstaller.d.ts.map +1 -1
- package/services/pluginInstaller.js +437 -13
- package/services/pluginInstaller.js.map +1 -1
- package/services/sessionEventBus.d.ts +67 -0
- package/services/sessionEventBus.d.ts.map +1 -0
- package/services/sessionEventBus.js +106 -0
- package/services/sessionEventBus.js.map +1 -0
- package/services/speechToText/__tests__/speechToText.test.d.ts +5 -0
- package/services/speechToText/__tests__/speechToText.test.d.ts.map +1 -0
- package/services/speechToText/__tests__/speechToText.test.js +208 -0
- package/services/speechToText/__tests__/speechToText.test.js.map +1 -0
- package/services/speechToText/index.d.ts +25 -0
- package/services/speechToText/index.d.ts.map +1 -0
- package/services/speechToText/index.js +228 -0
- package/services/speechToText/index.js.map +1 -0
- package/services/speechToText/providers/aliyun.d.ts +22 -0
- package/services/speechToText/providers/aliyun.d.ts.map +1 -0
- package/services/speechToText/providers/aliyun.js +185 -0
- package/services/speechToText/providers/aliyun.js.map +1 -0
- package/services/speechToText/providers/google.d.ts +24 -0
- package/services/speechToText/providers/google.d.ts.map +1 -0
- package/services/speechToText/providers/google.js +205 -0
- package/services/speechToText/providers/google.js.map +1 -0
- package/services/speechToText/providers/openaiCompatible.d.ts +22 -0
- package/services/speechToText/providers/openaiCompatible.d.ts.map +1 -0
- package/services/speechToText/providers/openaiCompatible.js +198 -0
- package/services/speechToText/providers/openaiCompatible.js.map +1 -0
- package/services/speechToText/providers/tencent.d.ts +23 -0
- package/services/speechToText/providers/tencent.d.ts.map +1 -0
- package/services/speechToText/providers/tencent.js +215 -0
- package/services/speechToText/providers/tencent.js.map +1 -0
- package/services/speechToText/types.d.ts +102 -0
- package/services/speechToText/types.d.ts.map +1 -0
- package/services/speechToText/types.js +43 -0
- package/services/speechToText/types.js.map +1 -0
- package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts +8 -2
- package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts.map +1 -1
- package/services/taskExecutor/__tests__/mcp-tools-integration.test.js +215 -72
- package/services/taskExecutor/__tests__/mcp-tools-integration.test.js.map +1 -1
- package/services/taskExecutor/taskWorker.js +9 -1
- package/services/taskExecutor/taskWorker.js.map +1 -1
- package/services/telemetry.js +1 -1
- package/types/a2a.d.ts +20 -0
- package/types/a2a.d.ts.map +1 -1
- package/types/engine.d.ts +314 -0
- package/types/engine.d.ts.map +1 -0
- package/types/engine.js +14 -0
- package/types/engine.js.map +1 -0
- package/types/hooks.d.ts +45 -0
- package/types/hooks.d.ts.map +1 -0
- package/types/hooks.js +9 -0
- package/types/hooks.js.map +1 -0
- package/types/plugins.d.ts +86 -2
- package/types/plugins.d.ts.map +1 -1
- package/types/plugins.js +1 -0
- package/types/plugins.js.map +1 -1
- package/types/rules.d.ts +51 -0
- package/types/rules.d.ts.map +1 -0
- package/types/rules.js +9 -0
- package/types/rules.js.map +1 -0
- package/utils/__tests__/cursorIdeAgentParser.test.d.ts +7 -0
- package/utils/__tests__/cursorIdeAgentParser.test.d.ts.map +1 -0
- package/utils/__tests__/cursorIdeAgentParser.test.js +289 -0
- package/utils/__tests__/cursorIdeAgentParser.test.js.map +1 -0
- package/utils/cursorCliHistoryParser.d.ts +58 -0
- package/utils/cursorCliHistoryParser.d.ts.map +1 -0
- package/utils/cursorCliHistoryParser.js +664 -0
- package/utils/cursorCliHistoryParser.js.map +1 -0
- package/utils/cursorIdeAgentParser.d.ts +49 -0
- package/utils/cursorIdeAgentParser.d.ts.map +1 -0
- package/utils/cursorIdeAgentParser.js +332 -0
- package/utils/cursorIdeAgentParser.js.map +1 -0
- package/public/assets/AgentsPage-gSnkPp2k.js +0 -10
- package/public/assets/ChatPage-BMrfVkpt.js +0 -471
- package/public/assets/CommandsPage-B6u4IO7L.js +0 -1
- package/public/assets/GeneralSettingsPage-BbEbWJUQ.js +0 -1
- package/public/assets/LandingPage-DFPm2d4Y.js +0 -1
- package/public/assets/LoginPage-D5kZJqhk.js +0 -16
- package/public/assets/McpAdminSettingsPage-D32iUEjH.js +0 -7
- package/public/assets/McpPage-QT4qs391.js +0 -20
- package/public/assets/PluginsPage-BotzuK9f.js +0 -1
- package/public/assets/ProjectSelector-DujNObqr.js +0 -1
- package/public/assets/ProjectsPage-CRWe6HPl.js +0 -21
- package/public/assets/ScheduledTasksPage-Beeurg-w.js +0 -1
- package/public/assets/SettingsLayout-BfkBUyI_.js +0 -1
- package/public/assets/SkillsPage-B59bAr6W.js +0 -18
- package/public/assets/SystemInfoPage-D89s7PjE.js +0 -1
- package/public/assets/VersionSettingsPage-CaB4PH6h.js +0 -5
- package/public/assets/WebSocketTunnelPage-Cbru_-hL.js +0 -1
- package/public/assets/_basePickBy-5fAM04Ra.js +0 -1
- package/public/assets/arc-C2gTU2ZR.js +0 -1
- package/public/assets/channel-DcVTcy-S.js +0 -1
- package/public/assets/classDiagram-2ON5EDUG-BXVT6Q7h.js +0 -1
- package/public/assets/classDiagram-v2-WZHVMYZB-BXVT6Q7h.js +0 -1
- package/public/assets/clone-Bp6orjIq.js +0 -1
- package/public/assets/diagram-QEK2KX5R-BfMGeeRo.js +0 -43
- package/public/assets/index-BgR-BTTw.css +0 -1
- package/public/assets/infoDiagram-F6ZHWCRC-C6OApgqf.js +0 -2
- package/public/assets/stateDiagram-v2-4FDKWEC3-DyE8O3Kx.js +0 -1
- package/public/assets/useAgents-D5EDAc_E.js +0 -2
- package/public/assets/useCommands-BgoCfyuu.js +0 -1
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cursor A2A Service
|
|
4
|
+
*
|
|
5
|
+
* Provides A2A protocol support for the Cursor engine.
|
|
6
|
+
* This service bridges Cursor CLI's AGUI output to the A2A protocol,
|
|
7
|
+
* enabling Cursor to participate in agent-to-agent communication.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Synchronous message handling (message/send)
|
|
11
|
+
* - Streaming message handling (message/stream)
|
|
12
|
+
* - Task management for async operations
|
|
13
|
+
* - Agent Card generation for Cursor capabilities
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.A2A_ERROR_CODES = exports.createA2AErrorResponse = exports.CursorA2AAdapter = void 0;
|
|
17
|
+
exports.executeCursorA2AQuery = executeCursorA2AQuery;
|
|
18
|
+
exports.executeCursorA2AStreaming = executeCursorA2AStreaming;
|
|
19
|
+
exports.createUserMessage = createUserMessage;
|
|
20
|
+
exports.generateCursorAgentCard = generateCursorAgentCard;
|
|
21
|
+
exports.handleMessageSend = handleMessageSend;
|
|
22
|
+
exports.handleMessageStream = handleMessageStream;
|
|
23
|
+
const uuid_1 = require("uuid");
|
|
24
|
+
const index_js_1 = require("../../engines/cursor/index.js");
|
|
25
|
+
const a2aAdapter_js_1 = require("../../engines/cursor/a2aAdapter.js");
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// Cursor A2A Service
|
|
28
|
+
// =============================================================================
|
|
29
|
+
/**
|
|
30
|
+
* Execute a Cursor request and return A2A-formatted response (non-streaming)
|
|
31
|
+
*/
|
|
32
|
+
async function executeCursorA2AQuery(params, config) {
|
|
33
|
+
const { message } = params;
|
|
34
|
+
const { workspace, model, sessionId, timeout, requestId, contextId, taskId } = config;
|
|
35
|
+
// Extract text from message parts
|
|
36
|
+
const messageText = message.parts
|
|
37
|
+
.filter(p => p.kind === 'text')
|
|
38
|
+
.map(p => p.text)
|
|
39
|
+
.join('\n');
|
|
40
|
+
if (!messageText) {
|
|
41
|
+
throw new Error('Message must contain at least one text part');
|
|
42
|
+
}
|
|
43
|
+
// Create A2A adapter
|
|
44
|
+
const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
|
|
45
|
+
taskId: taskId || message.taskId || (0, uuid_1.v4)(),
|
|
46
|
+
contextId: contextId || message.contextId || (0, uuid_1.v4)(),
|
|
47
|
+
requestId: requestId || (0, uuid_1.v4)(),
|
|
48
|
+
});
|
|
49
|
+
// Collect all events
|
|
50
|
+
const events = [];
|
|
51
|
+
// Build engine config
|
|
52
|
+
// Don't default to 'auto', let CLI use its internal model settings
|
|
53
|
+
const engineConfig = {
|
|
54
|
+
type: 'cursor',
|
|
55
|
+
workspace,
|
|
56
|
+
model, // undefined/empty means CLI will use its internal settings
|
|
57
|
+
sessionId,
|
|
58
|
+
timeout: timeout || 600000, // 10 minutes default
|
|
59
|
+
};
|
|
60
|
+
// Execute Cursor request
|
|
61
|
+
const result = await index_js_1.cursorEngine.sendMessage(messageText, engineConfig, (event) => {
|
|
62
|
+
events.push(event);
|
|
63
|
+
// Convert in real-time for logging
|
|
64
|
+
adapter.convertEvent(event);
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
task: adapter.createTask(),
|
|
68
|
+
responseText: adapter.getResponseText(),
|
|
69
|
+
sessionId: result.sessionId,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Execute a Cursor request with A2A streaming output
|
|
74
|
+
*/
|
|
75
|
+
async function executeCursorA2AStreaming(params, config, onResponse) {
|
|
76
|
+
const { message } = params;
|
|
77
|
+
const { workspace, model, sessionId, timeout, requestId, contextId, taskId } = config;
|
|
78
|
+
// Extract text from message parts
|
|
79
|
+
const messageText = message.parts
|
|
80
|
+
.filter(p => p.kind === 'text')
|
|
81
|
+
.map(p => p.text)
|
|
82
|
+
.join('\n');
|
|
83
|
+
if (!messageText) {
|
|
84
|
+
throw new Error('Message must contain at least one text part');
|
|
85
|
+
}
|
|
86
|
+
// Create A2A adapter
|
|
87
|
+
const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
|
|
88
|
+
taskId: taskId || message.taskId || (0, uuid_1.v4)(),
|
|
89
|
+
contextId: contextId || message.contextId || (0, uuid_1.v4)(),
|
|
90
|
+
requestId: requestId || (0, uuid_1.v4)(),
|
|
91
|
+
});
|
|
92
|
+
// Build engine config
|
|
93
|
+
// Don't default to 'auto', let CLI use its internal model settings
|
|
94
|
+
const engineConfig = {
|
|
95
|
+
type: 'cursor',
|
|
96
|
+
workspace,
|
|
97
|
+
model, // undefined/empty means CLI will use its internal settings
|
|
98
|
+
sessionId,
|
|
99
|
+
timeout: timeout || 600000,
|
|
100
|
+
};
|
|
101
|
+
// Execute Cursor request with streaming conversion
|
|
102
|
+
const result = await index_js_1.cursorEngine.sendMessage(messageText, engineConfig, (event) => {
|
|
103
|
+
// Convert AGUI event to A2A and stream immediately
|
|
104
|
+
const responses = adapter.convertEvent(event);
|
|
105
|
+
for (const response of responses) {
|
|
106
|
+
onResponse(response);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
taskId: adapter.getTaskId(),
|
|
111
|
+
contextId: adapter.getContextId(),
|
|
112
|
+
sessionId: result.sessionId,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Create an A2A Message from user input
|
|
117
|
+
*/
|
|
118
|
+
function createUserMessage(text, options) {
|
|
119
|
+
return {
|
|
120
|
+
kind: 'message',
|
|
121
|
+
role: 'user',
|
|
122
|
+
messageId: (0, uuid_1.v4)(),
|
|
123
|
+
taskId: options?.taskId,
|
|
124
|
+
contextId: options?.contextId,
|
|
125
|
+
parts: [{
|
|
126
|
+
kind: 'text',
|
|
127
|
+
text,
|
|
128
|
+
}],
|
|
129
|
+
metadata: options?.metadata,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Generate an A2A Agent Card for Cursor engine
|
|
134
|
+
*/
|
|
135
|
+
async function generateCursorAgentCard(context) {
|
|
136
|
+
const models = await index_js_1.cursorEngine.getSupportedModels();
|
|
137
|
+
const capabilities = index_js_1.cursorEngine.capabilities;
|
|
138
|
+
return {
|
|
139
|
+
name: 'Cursor Agent',
|
|
140
|
+
description: 'AI-powered coding assistant powered by Cursor CLI. Capable of code editing, file operations, terminal commands, and codebase navigation.',
|
|
141
|
+
url: `${context.baseUrl}/a2a/${context.a2aAgentId}`,
|
|
142
|
+
provider: {
|
|
143
|
+
organization: 'Cursor',
|
|
144
|
+
url: 'https://cursor.com',
|
|
145
|
+
},
|
|
146
|
+
version: '1.0.0',
|
|
147
|
+
documentationUrl: 'https://cursor.com/docs',
|
|
148
|
+
capabilities: {
|
|
149
|
+
streaming: true,
|
|
150
|
+
pushNotifications: false,
|
|
151
|
+
stateTransitionHistory: false,
|
|
152
|
+
},
|
|
153
|
+
securitySchemes: {
|
|
154
|
+
apiKey: {
|
|
155
|
+
type: 'apiKey',
|
|
156
|
+
in: 'header',
|
|
157
|
+
name: 'Authorization',
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
security: [{ apiKey: [] }],
|
|
161
|
+
defaultInputModes: ['text/plain', 'application/json'],
|
|
162
|
+
defaultOutputModes: ['text/plain', 'application/json'],
|
|
163
|
+
skills: generateCursorSkills(capabilities),
|
|
164
|
+
// AgentStudio-specific context
|
|
165
|
+
context: {
|
|
166
|
+
a2aAgentId: context.a2aAgentId,
|
|
167
|
+
projectId: context.projectId,
|
|
168
|
+
projectName: context.projectName,
|
|
169
|
+
workingDirectory: context.workingDirectory,
|
|
170
|
+
engineType: 'cursor',
|
|
171
|
+
supportedModels: models.map(m => ({ id: m.id, name: m.name })),
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Generate skills list based on Cursor capabilities
|
|
177
|
+
*/
|
|
178
|
+
function generateCursorSkills(capabilities) {
|
|
179
|
+
const skills = [];
|
|
180
|
+
// Code editing skill
|
|
181
|
+
skills.push({
|
|
182
|
+
id: 'code-editing',
|
|
183
|
+
name: 'Code Editing',
|
|
184
|
+
description: 'Read, write, and modify code files with intelligent context awareness',
|
|
185
|
+
tags: ['code', 'editing', 'development'],
|
|
186
|
+
examples: [
|
|
187
|
+
'Fix the bug in the login function',
|
|
188
|
+
'Add error handling to the API endpoint',
|
|
189
|
+
'Refactor this class to use async/await',
|
|
190
|
+
],
|
|
191
|
+
inputModes: ['text/plain'],
|
|
192
|
+
outputModes: ['text/plain', 'application/json'],
|
|
193
|
+
});
|
|
194
|
+
// File operations skill
|
|
195
|
+
skills.push({
|
|
196
|
+
id: 'file-operations',
|
|
197
|
+
name: 'File Operations',
|
|
198
|
+
description: 'Read, write, create, and navigate files in the workspace',
|
|
199
|
+
tags: ['files', 'filesystem', 'navigation'],
|
|
200
|
+
examples: [
|
|
201
|
+
'Show me the contents of package.json',
|
|
202
|
+
'Create a new component file',
|
|
203
|
+
'Find all TypeScript files in src/',
|
|
204
|
+
],
|
|
205
|
+
inputModes: ['text/plain'],
|
|
206
|
+
outputModes: ['text/plain', 'application/json'],
|
|
207
|
+
});
|
|
208
|
+
// Terminal execution skill
|
|
209
|
+
if (capabilities.features.codeExecution) {
|
|
210
|
+
skills.push({
|
|
211
|
+
id: 'terminal-execution',
|
|
212
|
+
name: 'Terminal Command Execution',
|
|
213
|
+
description: 'Execute shell commands and scripts in the project context',
|
|
214
|
+
tags: ['terminal', 'shell', 'commands'],
|
|
215
|
+
examples: [
|
|
216
|
+
'Run the test suite',
|
|
217
|
+
'Install the missing dependencies',
|
|
218
|
+
'Build the project',
|
|
219
|
+
],
|
|
220
|
+
inputModes: ['text/plain'],
|
|
221
|
+
outputModes: ['text/plain', 'application/json'],
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
// Code search skill
|
|
225
|
+
skills.push({
|
|
226
|
+
id: 'code-search',
|
|
227
|
+
name: 'Code Search & Navigation',
|
|
228
|
+
description: 'Search for patterns, find definitions, and navigate the codebase',
|
|
229
|
+
tags: ['search', 'navigation', 'codebase'],
|
|
230
|
+
examples: [
|
|
231
|
+
'Find all usages of the User class',
|
|
232
|
+
'Search for TODO comments',
|
|
233
|
+
'Where is the authentication logic?',
|
|
234
|
+
],
|
|
235
|
+
inputModes: ['text/plain'],
|
|
236
|
+
outputModes: ['application/json'],
|
|
237
|
+
});
|
|
238
|
+
// General assistant skill
|
|
239
|
+
skills.push({
|
|
240
|
+
id: 'coding-assistant',
|
|
241
|
+
name: 'General Coding Assistant',
|
|
242
|
+
description: 'Answer questions, explain code, and provide coding guidance',
|
|
243
|
+
tags: ['assistant', 'explanation', 'guidance'],
|
|
244
|
+
examples: [
|
|
245
|
+
'Explain how this function works',
|
|
246
|
+
'What\'s the best practice for handling errors here?',
|
|
247
|
+
'How should I structure this feature?',
|
|
248
|
+
],
|
|
249
|
+
inputModes: ['text/plain'],
|
|
250
|
+
outputModes: ['text/plain'],
|
|
251
|
+
});
|
|
252
|
+
return skills;
|
|
253
|
+
}
|
|
254
|
+
// =============================================================================
|
|
255
|
+
// JSON-RPC Method Handlers
|
|
256
|
+
// =============================================================================
|
|
257
|
+
/**
|
|
258
|
+
* Handle message/send JSON-RPC method
|
|
259
|
+
*/
|
|
260
|
+
async function handleMessageSend(params, config) {
|
|
261
|
+
const blocking = params.configuration?.blocking ?? true;
|
|
262
|
+
if (blocking) {
|
|
263
|
+
// Synchronous - wait for completion
|
|
264
|
+
const result = await executeCursorA2AQuery(params, config);
|
|
265
|
+
return result.task;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
// Non-blocking - return immediately with task reference
|
|
269
|
+
const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
|
|
270
|
+
taskId: config.taskId || (0, uuid_1.v4)(),
|
|
271
|
+
contextId: config.contextId || (0, uuid_1.v4)(),
|
|
272
|
+
requestId: config.requestId || (0, uuid_1.v4)(),
|
|
273
|
+
});
|
|
274
|
+
// Start execution in background
|
|
275
|
+
const taskId = adapter.getTaskId();
|
|
276
|
+
const contextId = adapter.getContextId();
|
|
277
|
+
// Schedule execution (don't await)
|
|
278
|
+
executeCursorA2AQuery(params, {
|
|
279
|
+
...config,
|
|
280
|
+
taskId,
|
|
281
|
+
contextId,
|
|
282
|
+
}).catch(error => {
|
|
283
|
+
console.error(`[CursorA2A] Background task ${taskId} failed:`, error);
|
|
284
|
+
});
|
|
285
|
+
// Return initial task state
|
|
286
|
+
return {
|
|
287
|
+
id: taskId,
|
|
288
|
+
contextId,
|
|
289
|
+
status: {
|
|
290
|
+
state: 'submitted',
|
|
291
|
+
timestamp: new Date().toISOString(),
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Handle message/stream JSON-RPC method
|
|
298
|
+
* Returns an async generator for SSE streaming
|
|
299
|
+
*/
|
|
300
|
+
async function* handleMessageStream(params, config) {
|
|
301
|
+
const responseQueue = [];
|
|
302
|
+
let done = false;
|
|
303
|
+
let error = null;
|
|
304
|
+
// Start execution
|
|
305
|
+
const executionPromise = executeCursorA2AStreaming(params, config, (response) => {
|
|
306
|
+
responseQueue.push(response);
|
|
307
|
+
}).then(() => {
|
|
308
|
+
done = true;
|
|
309
|
+
}).catch((err) => {
|
|
310
|
+
error = err;
|
|
311
|
+
done = true;
|
|
312
|
+
});
|
|
313
|
+
// Yield responses as they come
|
|
314
|
+
while (!done || responseQueue.length > 0) {
|
|
315
|
+
if (responseQueue.length > 0) {
|
|
316
|
+
yield responseQueue.shift();
|
|
317
|
+
}
|
|
318
|
+
else if (!done) {
|
|
319
|
+
// Wait a bit for more responses
|
|
320
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
// Check for errors after loop completion
|
|
324
|
+
const finalError = error;
|
|
325
|
+
if (finalError) {
|
|
326
|
+
yield (0, a2aAdapter_js_1.createA2AErrorResponse)(finalError.message, a2aAdapter_js_1.A2A_ERROR_CODES.INTERNAL_ERROR, config.requestId || 'unknown');
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// =============================================================================
|
|
330
|
+
// Exports
|
|
331
|
+
// =============================================================================
|
|
332
|
+
var a2aAdapter_js_2 = require("../../engines/cursor/a2aAdapter.js");
|
|
333
|
+
Object.defineProperty(exports, "CursorA2AAdapter", { enumerable: true, get: function () { return a2aAdapter_js_2.CursorA2AAdapter; } });
|
|
334
|
+
Object.defineProperty(exports, "createA2AErrorResponse", { enumerable: true, get: function () { return a2aAdapter_js_2.createA2AErrorResponse; } });
|
|
335
|
+
Object.defineProperty(exports, "A2A_ERROR_CODES", { enumerable: true, get: function () { return a2aAdapter_js_2.A2A_ERROR_CODES; } });
|
|
336
|
+
//# sourceMappingURL=cursorA2aService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursorA2aService.js","sourceRoot":"","sources":["../../../src/services/a2a/cursorA2aService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Importer Service
|
|
3
|
+
*
|
|
4
|
+
* Imports AgentStudio-specific agents from marketplaces.
|
|
5
|
+
* These agents are defined in marketplace.json under the 'agents' array
|
|
6
|
+
* and are distinct from Claude Code's plugin agents (which are simple markdown files).
|
|
7
|
+
*/
|
|
8
|
+
import { MarketplaceAgent } from '../types/plugins';
|
|
9
|
+
export interface AgentImportResult {
|
|
10
|
+
success: boolean;
|
|
11
|
+
agentId?: string;
|
|
12
|
+
agentName?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface MarketplaceAgentImportResult {
|
|
16
|
+
marketplaceName: string;
|
|
17
|
+
results: AgentImportResult[];
|
|
18
|
+
totalAgents: number;
|
|
19
|
+
importedCount: number;
|
|
20
|
+
errorCount: number;
|
|
21
|
+
}
|
|
22
|
+
declare class AgentImporter {
|
|
23
|
+
/**
|
|
24
|
+
* Import all agents from a marketplace
|
|
25
|
+
*/
|
|
26
|
+
importAgentsFromMarketplace(marketplaceName: string): Promise<MarketplaceAgentImportResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Import a single agent from a marketplace
|
|
29
|
+
*/
|
|
30
|
+
importAgent(marketplaceName: string, agentDef: MarketplaceAgent): Promise<AgentImportResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Uninstall an agent (remove symlink)
|
|
33
|
+
*/
|
|
34
|
+
uninstallAgent(agentId: string): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Uninstall all agents from a marketplace
|
|
37
|
+
*/
|
|
38
|
+
uninstallMarketplaceAgents(marketplaceName: string): Promise<number>;
|
|
39
|
+
/**
|
|
40
|
+
* List agents available in a marketplace
|
|
41
|
+
*/
|
|
42
|
+
listMarketplaceAgents(marketplaceName: string): Promise<MarketplaceAgent[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Get installed agents from a specific marketplace
|
|
45
|
+
*/
|
|
46
|
+
getInstalledAgentsFromMarketplace(marketplaceName: string): Promise<string[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Load marketplace manifest
|
|
49
|
+
*/
|
|
50
|
+
private loadMarketplaceManifest;
|
|
51
|
+
/**
|
|
52
|
+
* Convert marketplace agent config to AgentConfig format
|
|
53
|
+
*/
|
|
54
|
+
private convertMarketplaceAgentConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Generate agent ID from name
|
|
57
|
+
*/
|
|
58
|
+
private generateAgentId;
|
|
59
|
+
}
|
|
60
|
+
export declare const agentImporter: AgentImporter;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=agentImporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentImporter.d.ts","sourceRoot":"","sources":["../../src/services/agentImporter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOzE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,cAAM,aAAa;IACjB;;OAEG;IACG,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAiCjG;;OAEG;IACG,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8HlG;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BvD;;OAEG;IACG,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB1E;;OAEG;IACG,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKjF;;OAEG;IACG,iCAAiC,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BnF;;OAEG;YACW,uBAAuB;IAiBrC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|