@xagent-ai/cli 1.0.1
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/.eslintrc.js +25 -0
- package/.gitmodules +3 -0
- package/.prettierrc.json +8 -0
- package/CONTRIBUTING.md +167 -0
- package/LICENSE +21 -0
- package/README.md +280 -0
- package/README_CN.md +280 -0
- package/dist/agents.d.ts +21 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +463 -0
- package/dist/agents.js.map +1 -0
- package/dist/ai-client.d.ts +83 -0
- package/dist/ai-client.d.ts.map +1 -0
- package/dist/ai-client.js +1280 -0
- package/dist/ai-client.js.map +1 -0
- package/dist/auth.d.ts +25 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +573 -0
- package/dist/auth.js.map +1 -0
- package/dist/cancellation.d.ts +46 -0
- package/dist/cancellation.d.ts.map +1 -0
- package/dist/cancellation.js +154 -0
- package/dist/cancellation.js.map +1 -0
- package/dist/checkpoint.d.ts +28 -0
- package/dist/checkpoint.d.ts.map +1 -0
- package/dist/checkpoint.js +186 -0
- package/dist/checkpoint.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +364 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +49 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +205 -0
- package/dist/config.js.map +1 -0
- package/dist/context-compressor.d.ts +51 -0
- package/dist/context-compressor.d.ts.map +1 -0
- package/dist/context-compressor.js +231 -0
- package/dist/context-compressor.js.map +1 -0
- package/dist/conversation.d.ts +34 -0
- package/dist/conversation.d.ts.map +1 -0
- package/dist/conversation.js +221 -0
- package/dist/conversation.js.map +1 -0
- package/dist/gui-subagent/action-parser/actionParser.d.ts +19 -0
- package/dist/gui-subagent/action-parser/actionParser.d.ts.map +1 -0
- package/dist/gui-subagent/action-parser/actionParser.js +203 -0
- package/dist/gui-subagent/action-parser/actionParser.js.map +1 -0
- package/dist/gui-subagent/action-parser/constants.d.ts +8 -0
- package/dist/gui-subagent/action-parser/constants.d.ts.map +1 -0
- package/dist/gui-subagent/action-parser/constants.js +12 -0
- package/dist/gui-subagent/action-parser/constants.js.map +1 -0
- package/dist/gui-subagent/action-parser/index.d.ts +3 -0
- package/dist/gui-subagent/action-parser/index.d.ts.map +1 -0
- package/dist/gui-subagent/action-parser/index.js +6 -0
- package/dist/gui-subagent/action-parser/index.js.map +1 -0
- package/dist/gui-subagent/action-parser/types.d.ts +24 -0
- package/dist/gui-subagent/action-parser/types.d.ts.map +1 -0
- package/dist/gui-subagent/action-parser/types.js +12 -0
- package/dist/gui-subagent/action-parser/types.js.map +1 -0
- package/dist/gui-subagent/agent/gui-agent.d.ts +126 -0
- package/dist/gui-subagent/agent/gui-agent.d.ts.map +1 -0
- package/dist/gui-subagent/agent/gui-agent.js +820 -0
- package/dist/gui-subagent/agent/gui-agent.js.map +1 -0
- package/dist/gui-subagent/agent/index.d.ts +5 -0
- package/dist/gui-subagent/agent/index.d.ts.map +1 -0
- package/dist/gui-subagent/agent/index.js +5 -0
- package/dist/gui-subagent/agent/index.js.map +1 -0
- package/dist/gui-subagent/index.d.ts +43 -0
- package/dist/gui-subagent/index.d.ts.map +1 -0
- package/dist/gui-subagent/index.js +96 -0
- package/dist/gui-subagent/index.js.map +1 -0
- package/dist/gui-subagent/operator/base-operator.d.ts +108 -0
- package/dist/gui-subagent/operator/base-operator.d.ts.map +1 -0
- package/dist/gui-subagent/operator/base-operator.js +172 -0
- package/dist/gui-subagent/operator/base-operator.js.map +1 -0
- package/dist/gui-subagent/operator/browser-operator.d.ts +36 -0
- package/dist/gui-subagent/operator/browser-operator.d.ts.map +1 -0
- package/dist/gui-subagent/operator/browser-operator.js +306 -0
- package/dist/gui-subagent/operator/browser-operator.js.map +1 -0
- package/dist/gui-subagent/operator/computer-operator.d.ts +31 -0
- package/dist/gui-subagent/operator/computer-operator.d.ts.map +1 -0
- package/dist/gui-subagent/operator/computer-operator.js +441 -0
- package/dist/gui-subagent/operator/computer-operator.js.map +1 -0
- package/dist/gui-subagent/operator/desktop-operator.d.ts +55 -0
- package/dist/gui-subagent/operator/desktop-operator.d.ts.map +1 -0
- package/dist/gui-subagent/operator/desktop-operator.js +527 -0
- package/dist/gui-subagent/operator/desktop-operator.js.map +1 -0
- package/dist/gui-subagent/operator/index.d.ts +7 -0
- package/dist/gui-subagent/operator/index.d.ts.map +1 -0
- package/dist/gui-subagent/operator/index.js +6 -0
- package/dist/gui-subagent/operator/index.js.map +1 -0
- package/dist/gui-subagent/types/actions.d.ts +108 -0
- package/dist/gui-subagent/types/actions.d.ts.map +1 -0
- package/dist/gui-subagent/types/actions.js +39 -0
- package/dist/gui-subagent/types/actions.js.map +1 -0
- package/dist/gui-subagent/types/index.d.ts +6 -0
- package/dist/gui-subagent/types/index.d.ts.map +1 -0
- package/dist/gui-subagent/types/index.js +6 -0
- package/dist/gui-subagent/types/index.js.map +1 -0
- package/dist/gui-subagent/types/operator.d.ts +95 -0
- package/dist/gui-subagent/types/operator.d.ts.map +1 -0
- package/dist/gui-subagent/types/operator.js +16 -0
- package/dist/gui-subagent/types/operator.js.map +1 -0
- package/dist/gui-subagent/utils.d.ts +19 -0
- package/dist/gui-subagent/utils.d.ts.map +1 -0
- package/dist/gui-subagent/utils.js +42 -0
- package/dist/gui-subagent/utils.js.map +1 -0
- package/dist/hook.d.ts +73 -0
- package/dist/hook.d.ts.map +1 -0
- package/dist/hook.js +156 -0
- package/dist/hook.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/input-history.d.ts +24 -0
- package/dist/input-history.d.ts.map +1 -0
- package/dist/input-history.js +94 -0
- package/dist/input-history.js.map +1 -0
- package/dist/input-processor.d.ts +31 -0
- package/dist/input-processor.d.ts.map +1 -0
- package/dist/input-processor.js +233 -0
- package/dist/input-processor.js.map +1 -0
- package/dist/keyboard-manager.d.ts +151 -0
- package/dist/keyboard-manager.d.ts.map +1 -0
- package/dist/keyboard-manager.js +396 -0
- package/dist/keyboard-manager.js.map +1 -0
- package/dist/logger.d.ts +75 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +339 -0
- package/dist/logger.js.map +1 -0
- package/dist/mcp.d.ts +57 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +483 -0
- package/dist/mcp.js.map +1 -0
- package/dist/memory.d.ts +25 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +250 -0
- package/dist/memory.js.map +1 -0
- package/dist/print-system-prompt.d.ts +2 -0
- package/dist/print-system-prompt.d.ts.map +1 -0
- package/dist/print-system-prompt.js +40 -0
- package/dist/print-system-prompt.js.map +1 -0
- package/dist/session-manager.d.ts +41 -0
- package/dist/session-manager.d.ts.map +1 -0
- package/dist/session-manager.js +234 -0
- package/dist/session-manager.js.map +1 -0
- package/dist/session.d.ts +77 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +1081 -0
- package/dist/session.js.map +1 -0
- package/dist/skill-invoker.d.ts +177 -0
- package/dist/skill-invoker.d.ts.map +1 -0
- package/dist/skill-invoker.js +1643 -0
- package/dist/skill-invoker.js.map +1 -0
- package/dist/skill-loader.d.ts +76 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +407 -0
- package/dist/skill-loader.js.map +1 -0
- package/dist/slash-commands.d.ts +60 -0
- package/dist/slash-commands.d.ts.map +1 -0
- package/dist/slash-commands.js +1021 -0
- package/dist/slash-commands.js.map +1 -0
- package/dist/smart-approval.d.ts +137 -0
- package/dist/smart-approval.d.ts.map +1 -0
- package/dist/smart-approval.js +512 -0
- package/dist/smart-approval.js.map +1 -0
- package/dist/system-prompt-generator.d.ts +35 -0
- package/dist/system-prompt-generator.d.ts.map +1 -0
- package/dist/system-prompt-generator.js +729 -0
- package/dist/system-prompt-generator.js.map +1 -0
- package/dist/test-boundary-conditions.d.ts.map +1 -0
- package/dist/test-boundary-conditions.js.map +1 -0
- package/dist/test-cancellation-fix.d.ts.map +1 -0
- package/dist/test-cancellation-fix.js.map +1 -0
- package/dist/test-input-history.d.ts.map +1 -0
- package/dist/test-input-history.js.map +1 -0
- package/dist/test-interaction-flow.d.ts.map +1 -0
- package/dist/test-interaction-flow.js.map +1 -0
- package/dist/test-quick.d.ts.map +1 -0
- package/dist/test-quick.js.map +1 -0
- package/dist/test-user-interaction.d.ts.map +1 -0
- package/dist/test-user-interaction.js.map +1 -0
- package/dist/theme.d.ts +353 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +383 -0
- package/dist/theme.js.map +1 -0
- package/dist/tools.d.ts +373 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +2906 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +180 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- package/dist/unified-session.d.ts +42 -0
- package/dist/unified-session.d.ts.map +1 -0
- package/dist/unified-session.js +271 -0
- package/dist/unified-session.js.map +1 -0
- package/dist/update.d.ts +30 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +211 -0
- package/dist/update.js.map +1 -0
- package/dist/workflow.d.ts +53 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +405 -0
- package/dist/workflow.js.map +1 -0
- package/docs/architecture/mcp-integration-guide.md +131 -0
- package/docs/architecture/overview.md +93 -0
- package/docs/architecture/tool-system-design.md +89 -0
- package/docs/cli/commands.md +189 -0
- package/docs/smart-mode.md +257 -0
- package/docs/third-party-models.md +449 -0
- package/package.json +85 -0
- package/scripts/init-skills-path.js +58 -0
- package/skills/.claude-plugin/marketplace.json +45 -0
- package/skills/README.md +94 -0
- package/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/skills/skills/algorithmic-art/LICENSE.txt +202 -0
- package/skills/skills/algorithmic-art/SKILL.md +405 -0
- package/skills/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/skills/skills/algorithmic-art/templates/viewer.html +599 -0
- package/skills/skills/brand-guidelines/LICENSE.txt +202 -0
- package/skills/skills/brand-guidelines/SKILL.md +73 -0
- package/skills/skills/canvas-design/LICENSE.txt +202 -0
- package/skills/skills/canvas-design/SKILL.md +130 -0
- package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/skills/doc-coauthoring/SKILL.md +375 -0
- package/skills/skills/docx/LICENSE.txt +30 -0
- package/skills/skills/docx/SKILL.md +197 -0
- package/skills/skills/docx/docx-js.md +350 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/skills/docx/ooxml.md +610 -0
- package/skills/skills/docx/scripts/__init__.py +1 -0
- package/skills/skills/docx/scripts/document.py +1276 -0
- package/skills/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/skills/docx/scripts/utilities.py +374 -0
- package/skills/skills/frontend-design/LICENSE.txt +177 -0
- package/skills/skills/frontend-design/SKILL.md +42 -0
- package/skills/skills/internal-comms/LICENSE.txt +202 -0
- package/skills/skills/internal-comms/SKILL.md +32 -0
- package/skills/skills/internal-comms/examples/3p-updates.md +47 -0
- package/skills/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/skills/skills/internal-comms/examples/faq-answers.md +30 -0
- package/skills/skills/internal-comms/examples/general-comms.md +16 -0
- package/skills/skills/mcp-builder/LICENSE.txt +202 -0
- package/skills/skills/mcp-builder/SKILL.md +236 -0
- package/skills/skills/mcp-builder/reference/evaluation.md +602 -0
- package/skills/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/skills/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/skills/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/skills/skills/mcp-builder/scripts/connections.py +151 -0
- package/skills/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/skills/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/skills/pdf/LICENSE.txt +30 -0
- package/skills/skills/pdf/SKILL.md +294 -0
- package/skills/skills/pdf/forms.md +205 -0
- package/skills/skills/pdf/reference.md +612 -0
- package/skills/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/skills/pptx/LICENSE.txt +30 -0
- package/skills/skills/pptx/SKILL.md +484 -0
- package/skills/skills/pptx/html2pptx.md +625 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/skills/pptx/ooxml.md +427 -0
- package/skills/skills/pptx/scripts/html2pptx.js +979 -0
- package/skills/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/skills/pptx/scripts/replace.py +385 -0
- package/skills/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/skills/skill-creator/LICENSE.txt +202 -0
- package/skills/skills/skill-creator/SKILL.md +356 -0
- package/skills/skills/skill-creator/references/output-patterns.md +82 -0
- package/skills/skills/skill-creator/references/workflows.md +28 -0
- package/skills/skills/skill-creator/scripts/init_skill.py +303 -0
- package/skills/skills/skill-creator/scripts/package_skill.py +110 -0
- package/skills/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/skills/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/skills/skills/slack-gif-creator/SKILL.md +254 -0
- package/skills/skills/slack-gif-creator/core/easing.py +234 -0
- package/skills/skills/slack-gif-creator/core/frame_composer.py +176 -0
- package/skills/skills/slack-gif-creator/core/gif_builder.py +269 -0
- package/skills/skills/slack-gif-creator/core/validators.py +136 -0
- package/skills/skills/slack-gif-creator/requirements.txt +4 -0
- package/skills/skills/theme-factory/LICENSE.txt +202 -0
- package/skills/skills/theme-factory/SKILL.md +59 -0
- package/skills/skills/theme-factory/theme-showcase.pdf +0 -0
- package/skills/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/skills/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/skills/skills/theme-factory/themes/desert-rose.md +19 -0
- package/skills/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/skills/skills/theme-factory/themes/golden-hour.md +19 -0
- package/skills/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/skills/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/skills/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/skills/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/skills/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/skills/skills/web-artifacts-builder/LICENSE.txt +202 -0
- package/skills/skills/web-artifacts-builder/SKILL.md +74 -0
- package/skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/skills/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
- package/skills/skills/webapp-testing/LICENSE.txt +202 -0
- package/skills/skills/webapp-testing/SKILL.md +96 -0
- package/skills/skills/webapp-testing/examples/console_logging.py +35 -0
- package/skills/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/skills/webapp-testing/scripts/with_server.py +106 -0
- package/skills/skills/xlsx/LICENSE.txt +30 -0
- package/skills/skills/xlsx/SKILL.md +289 -0
- package/skills/skills/xlsx/recalc.py +178 -0
- package/skills/spec/agent-skills-spec.md +3 -0
- package/skills/template/SKILL.md +6 -0
- package/src/agents.ts +504 -0
- package/src/ai-client.ts +1456 -0
- package/src/auth.ts +648 -0
- package/src/cancellation.ts +176 -0
- package/src/checkpoint.ts +219 -0
- package/src/cli.ts +384 -0
- package/src/config.ts +248 -0
- package/src/context-compressor.ts +290 -0
- package/src/conversation.ts +288 -0
- package/src/gui-subagent/action-parser/actionParser.ts +312 -0
- package/src/gui-subagent/action-parser/constants.ts +12 -0
- package/src/gui-subagent/action-parser/index.ts +6 -0
- package/src/gui-subagent/action-parser/types.ts +31 -0
- package/src/gui-subagent/agent/gui-agent.ts +982 -0
- package/src/gui-subagent/agent/index.ts +5 -0
- package/src/gui-subagent/index.ts +139 -0
- package/src/gui-subagent/operator/base-operator.ts +246 -0
- package/src/gui-subagent/operator/computer-operator.ts +520 -0
- package/src/gui-subagent/operator/index.ts +7 -0
- package/src/gui-subagent/types/actions.ts +263 -0
- package/src/gui-subagent/types/index.ts +6 -0
- package/src/gui-subagent/types/operator.ts +106 -0
- package/src/gui-subagent/utils.ts +51 -0
- package/src/index.ts +18 -0
- package/src/input-processor.ts +282 -0
- package/src/logger.ts +438 -0
- package/src/mcp.ts +563 -0
- package/src/memory.ts +303 -0
- package/src/session-manager.ts +308 -0
- package/src/session.ts +1280 -0
- package/src/skill-invoker.ts +1888 -0
- package/src/skill-loader.ts +476 -0
- package/src/slash-commands.ts +1150 -0
- package/src/smart-approval.ts +595 -0
- package/src/system-prompt-generator.ts +786 -0
- package/src/theme.ts +455 -0
- package/src/tools.ts +3398 -0
- package/src/types.ts +198 -0
- package/src/update.ts +270 -0
- package/src/workflow.ts +508 -0
- package/tsconfig.json +22 -0
- package/vitest.config.ts +19 -0
package/dist/agents.js
ADDED
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { getToolRegistry } from './tools.js';
|
|
5
|
+
export class AgentManager {
|
|
6
|
+
agents = new Map();
|
|
7
|
+
globalAgentsPath;
|
|
8
|
+
projectAgentsPath;
|
|
9
|
+
constructor(projectRoot) {
|
|
10
|
+
this.globalAgentsPath = path.join(os.homedir(), '.xagent', 'agents');
|
|
11
|
+
this.projectAgentsPath = projectRoot
|
|
12
|
+
? path.join(projectRoot, '.xagent', 'agents')
|
|
13
|
+
: '';
|
|
14
|
+
}
|
|
15
|
+
async loadAgents() {
|
|
16
|
+
// First load DEFAULT_AGENTS
|
|
17
|
+
for (const agent of DEFAULT_AGENTS) {
|
|
18
|
+
this.agents.set(agent.agentType, agent);
|
|
19
|
+
}
|
|
20
|
+
// Then load from file system (can override defaults)
|
|
21
|
+
await this.loadAgentsFromDirectory(this.globalAgentsPath);
|
|
22
|
+
if (this.projectAgentsPath) {
|
|
23
|
+
await this.loadAgentsFromDirectory(this.projectAgentsPath);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async loadAgentsFromDirectory(dirPath) {
|
|
27
|
+
try {
|
|
28
|
+
const files = await fs.readdir(dirPath);
|
|
29
|
+
for (const file of files) {
|
|
30
|
+
const filePath = path.join(dirPath, file);
|
|
31
|
+
// Support both .md (markdown) and .json config files
|
|
32
|
+
if (file.endsWith('.md')) {
|
|
33
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
34
|
+
const agent = this.parseAgentConfig(content);
|
|
35
|
+
if (agent) {
|
|
36
|
+
this.agents.set(agent.agentType, agent);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (file.endsWith('.json') && file !== 'agent-config.example.json') {
|
|
40
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
41
|
+
this.applyJsonAgentConfig(content);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error.code !== 'ENOENT') {
|
|
47
|
+
console.error(`Failed to load agents from ${dirPath}:`, error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
applyJsonAgentConfig(content) {
|
|
52
|
+
try {
|
|
53
|
+
const parsed = JSON.parse(content);
|
|
54
|
+
if (parsed.agents && typeof parsed.agents === 'object') {
|
|
55
|
+
for (const [agentType, config] of Object.entries(parsed.agents)) {
|
|
56
|
+
const agentConfig = config;
|
|
57
|
+
const existingAgent = this.agents.get(agentType);
|
|
58
|
+
if (existingAgent) {
|
|
59
|
+
// Merge config into existing agent
|
|
60
|
+
if (agentConfig.allowedTools) {
|
|
61
|
+
existingAgent.allowedTools = agentConfig.allowedTools;
|
|
62
|
+
}
|
|
63
|
+
if (agentConfig.description) {
|
|
64
|
+
existingAgent.description = agentConfig.description;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error('Failed to apply JSON agent config:', error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
parseAgentConfig(content) {
|
|
75
|
+
const frontMatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
76
|
+
if (!frontMatterMatch) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const frontMatter = frontMatterMatch[1];
|
|
81
|
+
const config = {};
|
|
82
|
+
frontMatter.split('\n').forEach(line => {
|
|
83
|
+
const colonIndex = line.indexOf(':');
|
|
84
|
+
if (colonIndex > 0) {
|
|
85
|
+
const key = line.slice(0, colonIndex).trim();
|
|
86
|
+
const value = line.slice(colonIndex + 1).trim();
|
|
87
|
+
if (key === 'allowedTools' || key === 'allowedMcps') {
|
|
88
|
+
config[key] = value ? value.split(',').map(s => s.trim()) : [];
|
|
89
|
+
}
|
|
90
|
+
else if (key === 'isInheritTools' || key === 'isInheritMcps' || key === 'proactive') {
|
|
91
|
+
config[key] = value === 'true';
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
config[key] = value;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
agentType: config.agentType,
|
|
100
|
+
systemPrompt: config.systemPrompt,
|
|
101
|
+
whenToUse: config.whenToUse,
|
|
102
|
+
model: config.model,
|
|
103
|
+
allowedTools: config.allowedTools,
|
|
104
|
+
allowedMcps: config.allowedMcps,
|
|
105
|
+
isInheritMcps: config.isInheritMcps ?? true,
|
|
106
|
+
proactive: config.proactive ?? false,
|
|
107
|
+
color: config.color,
|
|
108
|
+
name: config.name,
|
|
109
|
+
description: config.description
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error('Failed to parse agent config:', error);
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
getAgent(agentType) {
|
|
118
|
+
return this.agents.get(agentType);
|
|
119
|
+
}
|
|
120
|
+
getAllAgents() {
|
|
121
|
+
return Array.from(this.agents.values());
|
|
122
|
+
}
|
|
123
|
+
async addAgent(agent, scope = 'global') {
|
|
124
|
+
const agentsPath = scope === 'global' ? this.globalAgentsPath : this.projectAgentsPath;
|
|
125
|
+
if (!agentsPath) {
|
|
126
|
+
throw new Error('Project agents path not set');
|
|
127
|
+
}
|
|
128
|
+
await fs.mkdir(agentsPath, { recursive: true });
|
|
129
|
+
const filePath = path.join(agentsPath, `${agent.agentType}.md`);
|
|
130
|
+
const content = this.formatAgentConfig(agent);
|
|
131
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
132
|
+
this.agents.set(agent.agentType, agent);
|
|
133
|
+
}
|
|
134
|
+
formatAgentConfig(agent) {
|
|
135
|
+
let content = '---\n';
|
|
136
|
+
content += `agentType: "${agent.agentType}"\n`;
|
|
137
|
+
content += `systemPrompt: "${agent.systemPrompt}"\n`;
|
|
138
|
+
content += `whenToUse: "${agent.whenToUse}"\n`;
|
|
139
|
+
if (agent.model) {
|
|
140
|
+
content += `model: "${agent.model}"\n`;
|
|
141
|
+
}
|
|
142
|
+
if (agent.allowedTools && agent.allowedTools.length > 0) {
|
|
143
|
+
content += `allowedTools: [${agent.allowedTools.map(t => `"${t}"`).join(', ')}]\n`;
|
|
144
|
+
}
|
|
145
|
+
if (agent.allowedMcps && agent.allowedMcps.length > 0) {
|
|
146
|
+
content += `allowedMcps: [${agent.allowedMcps.map(m => `"${m}"`).join(', ')}]\n`;
|
|
147
|
+
}
|
|
148
|
+
if (agent.isInheritMcps !== undefined) {
|
|
149
|
+
content += `isInheritMcps: ${agent.isInheritMcps}\n`;
|
|
150
|
+
}
|
|
151
|
+
if (agent.proactive !== undefined) {
|
|
152
|
+
content += `proactive: ${agent.proactive}\n`;
|
|
153
|
+
}
|
|
154
|
+
if (agent.color) {
|
|
155
|
+
content += `color: "${agent.color}"\n`;
|
|
156
|
+
}
|
|
157
|
+
if (agent.name) {
|
|
158
|
+
content += `name: "${agent.name}"\n`;
|
|
159
|
+
}
|
|
160
|
+
if (agent.description) {
|
|
161
|
+
content += `description: "${agent.description}"\n`;
|
|
162
|
+
}
|
|
163
|
+
content += '---\n\n';
|
|
164
|
+
content += `# ${agent.name || agent.agentType}\n\n`;
|
|
165
|
+
content += agent.description || `Agent for ${agent.whenToUse}`;
|
|
166
|
+
return content;
|
|
167
|
+
}
|
|
168
|
+
async removeAgent(agentType, scope = 'global') {
|
|
169
|
+
const agentsPath = scope === 'global' ? this.globalAgentsPath : this.projectAgentsPath;
|
|
170
|
+
if (!agentsPath) {
|
|
171
|
+
throw new Error('Project agents path not set');
|
|
172
|
+
}
|
|
173
|
+
const filePath = path.join(agentsPath, `${agentType}.md`);
|
|
174
|
+
try {
|
|
175
|
+
await fs.unlink(filePath);
|
|
176
|
+
this.agents.delete(agentType);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
if (error.code !== 'ENOENT') {
|
|
180
|
+
throw error;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
getAvailableToolsForAgent(agent, executionMode) {
|
|
185
|
+
const toolRegistry = getToolRegistry();
|
|
186
|
+
const allTools = toolRegistry.getAll();
|
|
187
|
+
// general-purpose agent: tools are determined by execution mode
|
|
188
|
+
if (agent.agentType === 'general-purpose') {
|
|
189
|
+
return allTools
|
|
190
|
+
.filter(tool => tool.allowedModes.includes(executionMode))
|
|
191
|
+
.map(tool => tool.name);
|
|
192
|
+
}
|
|
193
|
+
// Other subagents: only use their own allowedTools configuration
|
|
194
|
+
// This keeps tool permissions consistent regardless of main agent's mode
|
|
195
|
+
return agent.allowedTools || [];
|
|
196
|
+
}
|
|
197
|
+
getAvailableMcpsForAgent(agent) {
|
|
198
|
+
if (!agent.isInheritMcps) {
|
|
199
|
+
return agent.allowedMcps || [];
|
|
200
|
+
}
|
|
201
|
+
return agent.allowedMcps || [];
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
let agentManagerInstance = null;
|
|
205
|
+
export function getAgentManager(projectRoot) {
|
|
206
|
+
if (!agentManagerInstance) {
|
|
207
|
+
agentManagerInstance = new AgentManager(projectRoot);
|
|
208
|
+
}
|
|
209
|
+
return agentManagerInstance;
|
|
210
|
+
}
|
|
211
|
+
export const DEFAULT_AGENTS = [
|
|
212
|
+
{
|
|
213
|
+
agentType: 'general-purpose',
|
|
214
|
+
systemPrompt: `You are xAgent CLI, an interactive command-line assistant focused on software engineering tasks.
|
|
215
|
+
|
|
216
|
+
## Self Introduction
|
|
217
|
+
|
|
218
|
+
When users ask you to introduce yourself, respond with:
|
|
219
|
+
|
|
220
|
+
I am xAgent CLI, your intelligent life assistant and computer automation expert.
|
|
221
|
+
|
|
222
|
+
As your **AI-powered PC companion**, I help you:
|
|
223
|
+
- **Automate your digital life** - Handle repetitive tasks, manage files, and streamline workflows
|
|
224
|
+
- **Control your computer** - Navigate browsers, fill forms, click elements, and perform desktop operations
|
|
225
|
+
- **Boost productivity** - Write code, fix bugs, search information, and execute commands seamlessly
|
|
226
|
+
|
|
227
|
+
Core capabilities:
|
|
228
|
+
- **Life Automation & PC Smart Management** - Your intelligent assistant for everyday computing
|
|
229
|
+
- **Browser automation** - Navigate, fill forms, click, and interact with web pages
|
|
230
|
+
- **Desktop control** - Perform mouse, keyboard, and system operations
|
|
231
|
+
- **Software engineering** - Code analysis, debugging, refactoring, and testing
|
|
232
|
+
- **Project management** - Build, test, and deploy applications
|
|
233
|
+
- **Version control** - Git operations and collaboration
|
|
234
|
+
|
|
235
|
+
Key features:
|
|
236
|
+
- Multi-mode execution (DEFAULT, YOLO, ACCEPT_EDITS, PLAN, SMART)
|
|
237
|
+
- 2-level thinking mode (Off, On)
|
|
238
|
+
- Rich toolset (file ops, code search, Web search, GUI automation, etc.)
|
|
239
|
+
- Interactive dialogue and task management
|
|
240
|
+
- Support for multiple AI models
|
|
241
|
+
- **GUI Subagent** for visual web and desktop automation
|
|
242
|
+
|
|
243
|
+
Usage: npm start
|
|
244
|
+
|
|
245
|
+
Enter /help to view all available commands.
|
|
246
|
+
|
|
247
|
+
## Your Capabilities
|
|
248
|
+
|
|
249
|
+
You can:
|
|
250
|
+
- **Automate your computer** - Control browsers, desktop apps, mouse, and keyboard via sub-agent
|
|
251
|
+
- **Manage files and folders** - Read, write, organize, and search your digital workspace
|
|
252
|
+
- **Office document creation and editing - Create and edit documents, presentations, and spreadsheets
|
|
253
|
+
- **Execute commands** - Run shell commands and automate workflows
|
|
254
|
+
- **Code and build** - Analyze, write, debug, refactor, and test software
|
|
255
|
+
- **Search and research** - Find information locally and from the web
|
|
256
|
+
- **Delegate to specialists** - Use expert subagents for complex tasks (gui-subagent, explore-agent, plan-agent, etc.)
|
|
257
|
+
- **Create todo lists** - Track progress and manage complex tasks
|
|
258
|
+
|
|
259
|
+
## CRITICAL: IMMEDIATE TOOL EXECUTION
|
|
260
|
+
**YOU MUST CALL TOOLS IMMEDIATELY when needed - DO NOT say "let me..." or "I will..." first!**
|
|
261
|
+
|
|
262
|
+
## GUI SUBAGENT DELEGATION
|
|
263
|
+
|
|
264
|
+
For visual tasks (opening apps, browsing, desktop interactions), use gui subagent directly. The GUI subagent will handle:
|
|
265
|
+
- Mouse clicks and keyboard input
|
|
266
|
+
- Browser navigation and web interactions
|
|
267
|
+
- Desktop application control
|
|
268
|
+
- Screenshot-based action execution
|
|
269
|
+
|
|
270
|
+
Simply invoke sub-agent with the user's instruction, and the GUI subagent will perform the visual automation.
|
|
271
|
+
|
|
272
|
+
## ABSOLUTE FORBIDDEN: NEVER RUN BASH COMMANDS FOR GUI TASKS!
|
|
273
|
+
|
|
274
|
+
When user asks to "open/enter/browse/view/access" ANYTHING involving:
|
|
275
|
+
- Opening files, folders, applications, or websites
|
|
276
|
+
- Navigating to directories or locations
|
|
277
|
+
- Interacting with desktop UI elements
|
|
278
|
+
- Browsing visual content
|
|
279
|
+
|
|
280
|
+
🚫 **THIS IS NOT A RECOMMENDATION - IT IS A HARD RULE:**
|
|
281
|
+
- NEVER run: cd, ls, dir, cat, type, curl, wget
|
|
282
|
+
- NEVER use bash/powershell for GUI tasks
|
|
283
|
+
|
|
284
|
+
✅ **ONLY USE sub-agent:**
|
|
285
|
+
- sub-agent handles ALL visual interactions
|
|
286
|
+
- sub-agent for: opening apps, folders, websites, clicking, typing
|
|
287
|
+
- sub-agent for: desktop control, browser navigation, file browsing
|
|
288
|
+
|
|
289
|
+
🚫 **WRONG EXAMPLES (NE DO THIS):**
|
|
290
|
+
- User: "open my computer" → DO NOT run: shell:ThisPC
|
|
291
|
+
- User: "open downloads" → DO NOT run: shell:Downloads
|
|
292
|
+
- User: "open WeChat" → DO NOT run: start wechat.exe
|
|
293
|
+
|
|
294
|
+
✅ **CORRECT EXAMPLES (ALWAYS DO THIS):**
|
|
295
|
+
- User: "open my computer" → Use gui subagent
|
|
296
|
+
- User: "open downloads" → Use gui subagent
|
|
297
|
+
- User: "open WeChat" → Use gui subagent
|
|
298
|
+
- User: "open Baidu" → Use gui subagent with open_url action
|
|
299
|
+
`,
|
|
300
|
+
whenToUse: 'Default agent for general tasks. Delegates to specialized agents when appropriate.',
|
|
301
|
+
// Tool permissions are determined by execution mode (YOLO/PLAN/ACCEPT_EDITS/SMART)
|
|
302
|
+
isInheritMcps: true,
|
|
303
|
+
proactive: false,
|
|
304
|
+
color: '#2ECC71',
|
|
305
|
+
name: 'General Purpose',
|
|
306
|
+
description: 'Default agent for general tasks. Has access to all tools and can delegate to specialized subagents.'
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
agentType: 'plan-agent',
|
|
310
|
+
systemPrompt: `You are an expert planning agent specialized in task analysis, decomposition, and strategy formulation.
|
|
311
|
+
|
|
312
|
+
Your core responsibilities:
|
|
313
|
+
1. Analyze complex requests and break them into manageable steps
|
|
314
|
+
2. Identify dependencies and potential risks
|
|
315
|
+
3. Create structured plans with clear milestones
|
|
316
|
+
4. Provide estimates for effort and complexity
|
|
317
|
+
5. Suggest optimal execution order for tasks
|
|
318
|
+
|
|
319
|
+
When planning:
|
|
320
|
+
- Always start by understanding the full scope of the request
|
|
321
|
+
- Break down large tasks into smaller, actionable steps
|
|
322
|
+
- Identify which steps can be done in parallel vs. sequence
|
|
323
|
+
- Flag any assumptions or unknowns that need clarification
|
|
324
|
+
- Consider edge cases and error scenarios
|
|
325
|
+
|
|
326
|
+
Output format:
|
|
327
|
+
Provide plans in a structured format with:
|
|
328
|
+
- Executive summary of the task
|
|
329
|
+
- Step-by-step breakdown with numbered items
|
|
330
|
+
- Dependencies between steps
|
|
331
|
+
- Estimated complexity for each step
|
|
332
|
+
- Any questions or clarifications needed`,
|
|
333
|
+
whenToUse: 'Use for analyzing complex tasks, creating implementation plans, and breaking down requirements',
|
|
334
|
+
allowedTools: ['Read', 'Grep', 'Bash', 'ListDirectory', 'web_search', 'todo_write', 'todo_read', 'ReadBashOutput', 'web_fetch', 'ask_user_question', 'exit_plan_mode', 'image_read'],
|
|
335
|
+
isInheritMcps: true,
|
|
336
|
+
proactive: false,
|
|
337
|
+
color: '#9B59B6',
|
|
338
|
+
name: 'Plan Agent',
|
|
339
|
+
description: 'Specialized in task planning, analysis, and strategy formulation. Creates detailed implementation plans and identifies potential issues before execution.'
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
agentType: 'explore-agent',
|
|
343
|
+
systemPrompt: `You are an expert exploration agent specialized in codebase analysis, architecture discovery, and code understanding.
|
|
344
|
+
|
|
345
|
+
Your core responsibilities:
|
|
346
|
+
1. Explore and understand codebase structure
|
|
347
|
+
2. Identify key components and their relationships
|
|
348
|
+
3. Trace data flows and control flows
|
|
349
|
+
4. Find relevant code for specific features
|
|
350
|
+
5. Document architecture and design patterns
|
|
351
|
+
|
|
352
|
+
When exploring:
|
|
353
|
+
- Start with high-level structure (directory layout, key files)
|
|
354
|
+
- Use file exploration tools to understand project organization
|
|
355
|
+
- Trace imports and dependencies to understand relationships
|
|
356
|
+
- Look for configuration files, entry points, and key modules
|
|
357
|
+
- Identify patterns and conventions used in the codebase
|
|
358
|
+
- Document your findings in a clear, structured manner
|
|
359
|
+
|
|
360
|
+
CRITICAL - When to stop exploring and return results:
|
|
361
|
+
- After you have gathered enough information to provide a comprehensive overview
|
|
362
|
+
- When you have explored the key directories and files relevant to the task
|
|
363
|
+
- When you have identified the main components and their relationships
|
|
364
|
+
- DO NOT continue making tool calls once you have sufficient information
|
|
365
|
+
- Return your findings in the "plain text content" of your response, not as tool calls
|
|
366
|
+
|
|
367
|
+
Output format:
|
|
368
|
+
Provide exploration results with:
|
|
369
|
+
- Project overview and structure
|
|
370
|
+
- Key files and their purposes
|
|
371
|
+
- Dependencies and relationships
|
|
372
|
+
- Architecture patterns identified
|
|
373
|
+
- Recommendations for next steps
|
|
374
|
+
|
|
375
|
+
Remember: Your goal is to explore AND REPORT your findings, not to explore endlessly. Once you have gathered the necessary information, stop making tool calls and provide your comprehensive analysis in your response content.`,
|
|
376
|
+
whenToUse: 'Use for exploring codebase structure, understanding architecture, and finding relevant code',
|
|
377
|
+
allowedTools: ['Read', 'Grep', 'Bash', 'ListDirectory', 'SearchCodebase', 'ReadBashOutput'],
|
|
378
|
+
isInheritMcps: true,
|
|
379
|
+
proactive: false,
|
|
380
|
+
color: '#3498DB',
|
|
381
|
+
name: 'Explore Agent',
|
|
382
|
+
description: 'Specialized in codebase exploration and architecture analysis. Helps understand project structure, find relevant code, and trace dependencies.'
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
agentType: 'frontend-tester',
|
|
386
|
+
systemPrompt: `You are an expert frontend testing agent specialized in creating and running tests for web applications.
|
|
387
|
+
|
|
388
|
+
Your core responsibilities:
|
|
389
|
+
1. Write unit tests for frontend components
|
|
390
|
+
2. Create integration tests for user interactions
|
|
391
|
+
3. Set up test configurations and fixtures
|
|
392
|
+
4. Run tests and analyze results
|
|
393
|
+
5. Debug and fix failing tests
|
|
394
|
+
6. Improve test coverage
|
|
395
|
+
|
|
396
|
+
When testing:
|
|
397
|
+
- Understand the component structure and props
|
|
398
|
+
- Identify critical paths and user interactions
|
|
399
|
+
- Create tests that cover both happy paths and edge cases
|
|
400
|
+
- Use appropriate testing libraries and frameworks
|
|
401
|
+
- Mock external dependencies as needed
|
|
402
|
+
- Ensure tests are independent and repeatable
|
|
403
|
+
|
|
404
|
+
Testing priorities:
|
|
405
|
+
1. Critical user flows and interactions
|
|
406
|
+
2. Error handling and boundary conditions
|
|
407
|
+
3. State management and data flow
|
|
408
|
+
4. Accessibility and user experience
|
|
409
|
+
5. Performance considerations`,
|
|
410
|
+
whenToUse: 'Use for creating and running frontend tests, ensuring code quality and reliability',
|
|
411
|
+
allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
|
|
412
|
+
isInheritMcps: true,
|
|
413
|
+
proactive: true,
|
|
414
|
+
color: '#E74C3C',
|
|
415
|
+
name: 'Frontend Tester',
|
|
416
|
+
description: 'Specialized in frontend testing including unit tests, integration tests, and end-to-end tests for web applications.'
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
agentType: 'code-reviewer',
|
|
420
|
+
systemPrompt: 'You are an expert code reviewer. Analyze code for quality, security, performance, and best practices.',
|
|
421
|
+
whenToUse: 'Use when reviewing code, checking for bugs, or ensuring code quality',
|
|
422
|
+
allowedTools: ['Read', 'Grep', 'SearchCodebase'],
|
|
423
|
+
isInheritMcps: true,
|
|
424
|
+
proactive: true,
|
|
425
|
+
color: '#FF6B6B',
|
|
426
|
+
name: 'Code Reviewer',
|
|
427
|
+
description: 'Specialized in code review, bug detection, and quality assurance.'
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
agentType: 'frontend-developer',
|
|
431
|
+
systemPrompt: 'You are a frontend development expert specializing in React, TypeScript, and modern web technologies.',
|
|
432
|
+
whenToUse: 'Use for frontend development tasks, UI components, and web application features',
|
|
433
|
+
allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
|
|
434
|
+
isInheritMcps: true,
|
|
435
|
+
proactive: true,
|
|
436
|
+
color: '#4ECDC4',
|
|
437
|
+
name: 'Frontend Developer',
|
|
438
|
+
description: 'Specialized in frontend development using React, TypeScript, and modern web technologies.'
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
agentType: 'backend-developer',
|
|
442
|
+
systemPrompt: 'You are a backend development expert specializing in Node.js, databases, APIs, and server-side architecture.',
|
|
443
|
+
whenToUse: 'Use for backend development tasks, API design, and server-side logic',
|
|
444
|
+
allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
|
|
445
|
+
isInheritMcps: true,
|
|
446
|
+
proactive: true,
|
|
447
|
+
color: '#45B7D1',
|
|
448
|
+
name: 'Backend Developer',
|
|
449
|
+
description: 'Specialized in backend development using Node.js, databases, APIs, and server-side architecture.'
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
agentType: 'gui-subagent',
|
|
453
|
+
systemPrompt: '', // GUI Subagent uses its own built-in system prompt from gui-agent.ts
|
|
454
|
+
whenToUse: 'Use for browser/desktop automation tasks, web scraping, form filling, and visual interactions',
|
|
455
|
+
isInheritMcps: false,
|
|
456
|
+
proactive: false,
|
|
457
|
+
color: '#9B59B6',
|
|
458
|
+
name: 'GUI Subagent',
|
|
459
|
+
description: 'Specialized in browser/desktop automation using GUI interactions. Controls mouse, keyboard, and navigation via gui subagent.',
|
|
460
|
+
model: 'guiSubagentModel'
|
|
461
|
+
}
|
|
462
|
+
];
|
|
463
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { AuthConfig } from './types.js';
|
|
2
|
+
export interface AnthropicContentBlock {
|
|
3
|
+
type: 'text' | 'tool_use' | 'tool_result' | 'thinking';
|
|
4
|
+
text?: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
input?: any;
|
|
8
|
+
tool_use_id?: string;
|
|
9
|
+
content?: string;
|
|
10
|
+
thinking?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Message {
|
|
13
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
14
|
+
content: string | Array<AnthropicContentBlock | {
|
|
15
|
+
type: string;
|
|
16
|
+
text?: string;
|
|
17
|
+
image_url?: {
|
|
18
|
+
url: string;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
reasoning_content?: string;
|
|
22
|
+
tool_calls?: any[];
|
|
23
|
+
tool_call_id?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ToolDefinition {
|
|
26
|
+
type: 'function';
|
|
27
|
+
function: {
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
parameters?: any;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface ChatCompletionOptions {
|
|
34
|
+
model?: string;
|
|
35
|
+
temperature?: number;
|
|
36
|
+
maxTokens?: number;
|
|
37
|
+
tools?: ToolDefinition[];
|
|
38
|
+
toolChoice?: 'auto' | 'none' | {
|
|
39
|
+
type: string;
|
|
40
|
+
function: {
|
|
41
|
+
name: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
stream?: boolean;
|
|
45
|
+
thinkingTokens?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ChatCompletionResponse {
|
|
48
|
+
id: string;
|
|
49
|
+
object: string;
|
|
50
|
+
created: number;
|
|
51
|
+
model: string;
|
|
52
|
+
choices: Array<{
|
|
53
|
+
index: number;
|
|
54
|
+
message: Message;
|
|
55
|
+
finish_reason: string;
|
|
56
|
+
}>;
|
|
57
|
+
usage?: {
|
|
58
|
+
prompt_tokens: number;
|
|
59
|
+
completion_tokens: number;
|
|
60
|
+
total_tokens: number;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export declare class AIClient {
|
|
64
|
+
private client;
|
|
65
|
+
private authConfig;
|
|
66
|
+
constructor(authConfig: AuthConfig);
|
|
67
|
+
private convertToAnthropicFormat;
|
|
68
|
+
chatCompletion(messages: Message[], options?: ChatCompletionOptions): Promise<ChatCompletionResponse>;
|
|
69
|
+
private anthropicNativeChatCompletion;
|
|
70
|
+
private minimaxChatCompletion;
|
|
71
|
+
private convertFromAnthropicNativeResponse;
|
|
72
|
+
private convertFromMiniMaxResponse;
|
|
73
|
+
streamChatCompletion(messages: Message[], options?: ChatCompletionOptions): AsyncGenerator<string, void, unknown>;
|
|
74
|
+
private anthropicNativeStreamChatCompletion;
|
|
75
|
+
private minimaxStreamChatCompletion;
|
|
76
|
+
listModels(): Promise<any[]>;
|
|
77
|
+
updateAuthConfig(authConfig: AuthConfig): void;
|
|
78
|
+
getAuthConfig(): AuthConfig;
|
|
79
|
+
hasToolCalls(messages: Message[]): boolean;
|
|
80
|
+
}
|
|
81
|
+
export declare function detectThinkingKeywords(text: string): 'none' | 'normal' | 'hard' | 'mega' | 'ultra';
|
|
82
|
+
export declare function getThinkingTokens(mode: 'none' | 'normal' | 'hard' | 'mega' | 'ultra'): number;
|
|
83
|
+
//# sourceMappingURL=ai-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../src/ai-client.ts"],"names":[],"mappings":"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"}
|