@amrhas82/agentic-kit 1.2.0 → 1.2.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/CHANGELOG.md +26 -0
- package/package.json +5 -11
- package/scripts/validate-all-packages.js +0 -255
- package/tests/VARIANT_TESTING_REPORT.md +0 -362
- package/tests/fixtures/README.md +0 -311
- package/tests/fixtures/helpers/test-helpers.js +0 -319
- package/tests/fixtures/manifests/manifest-lite.json +0 -32
- package/tests/fixtures/manifests/manifest-pro.json +0 -65
- package/tests/fixtures/manifests/manifest-standard.json +0 -51
- package/tests/fixtures/packages/mock-package/agents/test-agent.md +0 -11
- package/tests/fixtures/packages/mock-package/hooks/test-hook.js +0 -16
- package/tests/fixtures/packages/mock-package/resources/test-resource.txt +0 -4
- package/tests/fixtures/packages/mock-package/skills/test-skill/skill.md +0 -10
- package/tests/fixtures/packages/mock-package/variants.json +0 -28
- package/tests/fixtures/variants/variants-corrupted.json +0 -11
- package/tests/fixtures/variants/variants-lite.json +0 -42
- package/tests/fixtures/variants/variants-minimal.json +0 -12
- package/tests/fixtures/variants/variants-pro.json +0 -75
- package/tests/fixtures/variants/variants-standard.json +0 -61
- package/tests/installer/cli.test.js +0 -751
- package/tests/installer/cross-platform-testing.test.js +0 -530
- package/tests/installer/demo-cli-args.js +0 -241
- package/tests/installer/demo-error-handling.js +0 -127
- package/tests/installer/demo-silent-mode.js +0 -329
- package/tests/installer/demo-summary-display.js +0 -140
- package/tests/installer/demo-tool-selection.js +0 -129
- package/tests/installer/error-scenario-testing.test.js +0 -513
- package/tests/installer/installation-engine.test.js +0 -1540
- package/tests/installer/integration.test.js +0 -1039
- package/tests/installer/multi-tool-testing.test.js +0 -482
- package/tests/installer/package-manager.test.js +0 -1025
- package/tests/installer/path-handling-testing.test.js +0 -585
- package/tests/installer/state-manager.test.js +0 -499
- package/tests/installer/test-cli-args.js +0 -329
- package/tests/installer/test-error-handling.js +0 -387
- package/tests/installer/test-install-method.js +0 -305
- package/tests/installer/test-path-confirmation.js +0 -318
- package/tests/installer/test-silent-mode.js +0 -505
- package/tests/installer/test-summary-display.js +0 -255
- package/tests/installer/test-tool-selection-ui.js +0 -152
- package/tests/installer/upgrade-variant.test.js +0 -757
- package/tests/installer/variant-testing.test.js +0 -452
- package/tests/run-all-tests.js +0 -359
- package/tests/test-progress-real-installation.js +0 -126
- package/tests/test-variants-parsing.js +0 -475
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170060156/claude-lite-test/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/1-create-prd.md +0 -56
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/2-generate-tasks.md +0 -73
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/3-process-task-list.md +0 -101
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/business-analyst.md +0 -76
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/full-stack-dev.md +0 -80
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/holistic-architect.md +0 -91
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/product-manager.md +0 -82
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/product-owner.md +0 -97
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/qa-test-architect.md +0 -72
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/agents/ux-expert.md +0 -74
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/manifest.json +0 -82
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/brand-guidelines/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/brand-guidelines/SKILL.md +0 -73
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/SKILL.md +0 -130
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/SKILL.md +0 -197
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/docx-js.md +0 -350
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/pack.py +0 -159
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/unpack.py +0 -29
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validate.py +0 -69
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validation/base.py +0 -951
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validation/docx.py +0 -274
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/ooxml.md +0 -610
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/__init__.py +0 -1
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/document.py +0 -1276
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/templates/comments.xml +0 -3
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/templates/commentsExtended.xml +0 -3
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/templates/commentsIds.xml +0 -3
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/templates/people.xml +0 -3
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/docx/scripts/utilities.py +0 -374
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/SKILL.md +0 -32
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/examples/3p-updates.md +0 -47
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/examples/company-newsletter.md +0 -65
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/examples/faq-answers.md +0 -30
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/internal-comms/examples/general-comms.md +0 -16
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/SKILL.md +0 -294
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/forms.md +0 -205
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/reference.md +0 -612
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/check_bounding_boxes.py +0 -70
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/check_fillable_fields.py +0 -12
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/create_validation_image.py +0 -41
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/extract_form_field_info.py +0 -152
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/fill_fillable_fields.py +0 -114
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/SKILL.md +0 -484
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/html2pptx.md +0 -625
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/pack.py +0 -159
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/unpack.py +0 -29
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validate.py +0 -69
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validation/base.py +0 -951
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/ooxml.md +0 -427
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/scripts/html2pptx.js +0 -979
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/scripts/inventory.py +0 -1020
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/scripts/rearrange.py +0 -231
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/scripts/replace.py +0 -385
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/pptx/scripts/thumbnail.py +0 -450
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/SKILL.md +0 -59
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/theme-showcase.pdf +0 -0
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/arctic-frost.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/botanical-garden.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/desert-rose.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/forest-canopy.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/golden-hour.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/midnight-galaxy.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/modern-minimalist.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/ocean-depths.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/sunset-boulevard.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/theme-factory/themes/tech-innovation.md +0 -19
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/xlsx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/xlsx/SKILL.md +0 -289
- package/tests/tmp/test-cli-install-1762170060156/claude-standard-test/skills/xlsx/recalc.py +0 -178
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170060156/multi-claude/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170060156/rollback-test-claude/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170095553/claude-lite-test/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/1-create-prd.md +0 -56
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/2-generate-tasks.md +0 -73
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/3-process-task-list.md +0 -101
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/business-analyst.md +0 -76
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/full-stack-dev.md +0 -80
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/holistic-architect.md +0 -91
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/product-manager.md +0 -82
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/product-owner.md +0 -97
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/qa-test-architect.md +0 -72
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/agents/ux-expert.md +0 -74
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/manifest.json +0 -82
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/brand-guidelines/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/brand-guidelines/SKILL.md +0 -73
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/SKILL.md +0 -130
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/SKILL.md +0 -197
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/docx-js.md +0 -350
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/pack.py +0 -159
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/unpack.py +0 -29
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validate.py +0 -69
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validation/base.py +0 -951
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validation/docx.py +0 -274
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/ooxml.md +0 -610
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/__init__.py +0 -1
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/document.py +0 -1276
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/templates/comments.xml +0 -3
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/templates/commentsExtended.xml +0 -3
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/templates/commentsIds.xml +0 -3
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/templates/people.xml +0 -3
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/docx/scripts/utilities.py +0 -374
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/SKILL.md +0 -32
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/examples/3p-updates.md +0 -47
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/examples/company-newsletter.md +0 -65
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/examples/faq-answers.md +0 -30
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/internal-comms/examples/general-comms.md +0 -16
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/SKILL.md +0 -294
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/forms.md +0 -205
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/reference.md +0 -612
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/check_bounding_boxes.py +0 -70
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/check_fillable_fields.py +0 -12
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/create_validation_image.py +0 -41
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/extract_form_field_info.py +0 -152
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/fill_fillable_fields.py +0 -114
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/SKILL.md +0 -484
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/html2pptx.md +0 -625
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/pack.py +0 -159
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/unpack.py +0 -29
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validate.py +0 -69
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validation/base.py +0 -951
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/ooxml.md +0 -427
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/scripts/html2pptx.js +0 -979
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/scripts/inventory.py +0 -1020
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/scripts/rearrange.py +0 -231
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/scripts/replace.py +0 -385
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/pptx/scripts/thumbnail.py +0 -450
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/LICENSE.txt +0 -202
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/SKILL.md +0 -59
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/theme-showcase.pdf +0 -0
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/arctic-frost.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/botanical-garden.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/desert-rose.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/forest-canopy.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/golden-hour.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/midnight-galaxy.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/modern-minimalist.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/ocean-depths.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/sunset-boulevard.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/theme-factory/themes/tech-innovation.md +0 -19
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/xlsx/LICENSE.txt +0 -30
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/xlsx/SKILL.md +0 -289
- package/tests/tmp/test-cli-install-1762170095553/claude-standard-test/skills/xlsx/recalc.py +0 -178
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170095553/multi-claude/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/agents/master.md +0 -55
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/agents/orchestrator.md +0 -103
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/agents/scrum-master.md +0 -64
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/hooks/register-agents.js +0 -123
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/hooks/session-start.js +0 -159
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/manifest.json +0 -63
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/agent-teams.yaml +0 -50
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/checklists.md +0 -1724
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/data.md +0 -1372
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/task-briefs.md +0 -4428
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/templates.yaml +0 -5810
- package/tests/tmp/test-cli-install-1762170095553/rollback-test-claude/resources/workflows.yaml +0 -1513
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-lite/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-agents-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-compat-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-counts-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-lite/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-metadata-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-pro/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-resources-hooks-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-skills-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-manifest-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-no-callback-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-pro/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-bytes-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-info-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-percentage-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-pro-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-sequential-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-skills-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-progress-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-granular-test/my-custom-file.txt +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/my-custom-agent.md +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/skills/custom-skill/skill.md +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-preserve-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/manifest.json +0 -45
- package/tests/tmp/test-installation-engine-1762169302975/install-rollback-tracking-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-skills-test/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/manifest.json +0 -58
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/install-standard/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/analyst.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/designer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/developer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/documenter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/executor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/monitor.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/orchestrator.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/planner.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/reporter.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/reviewer.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/scrum-master.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/agents/tester.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/hooks/session-start.js +0 -1
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/resources/workflows.yaml +0 -2
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/skills/docx/docx.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/skills/pdf/pdf.md +0 -3
- package/tests/tmp/test-installation-engine-1762169302975/packages/testool/variants.json +0 -47
- package/tests/tmp/test-installation-engine-1762169302975/tools/testool/manifest-template.json +0 -6
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/analyst.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/designer.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/developer.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/documenter.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/executor.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/master.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/monitor.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/orchestrator.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/planner.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/reporter.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/reviewer.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/scrum-master.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/agents/tester.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/hooks/session-start.js +0 -1
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/resources/workflows.yaml +0 -2
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/skills/docx/docx.md +0 -3
- package/tests/tmp/tests/tmp/test-installation-engine-1762152629295/packages/testool/skills/pdf/pdf.md +0 -3
- package/tests/validation-test.js +0 -271
- package/validate-package.js +0 -312
- package/validate-references.sh +0 -86
|
@@ -1,1540 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for InstallationEngine with variant support
|
|
3
|
-
*
|
|
4
|
-
* Tests variant-based installation, selective file copying, and manifest generation
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const assert = require('assert');
|
|
8
|
-
const fs = require('fs');
|
|
9
|
-
const path = require('path');
|
|
10
|
-
const InstallationEngine = require('../../installer/installation-engine.js');
|
|
11
|
-
const PackageManager = require('../../installer/package-manager.js');
|
|
12
|
-
const PathManager = require('../../installer/path-manager.js');
|
|
13
|
-
|
|
14
|
-
// ANSI color codes for test output
|
|
15
|
-
const colors = {
|
|
16
|
-
reset: '\x1b[0m',
|
|
17
|
-
bright: '\x1b[1m',
|
|
18
|
-
green: '\x1b[32m',
|
|
19
|
-
red: '\x1b[31m',
|
|
20
|
-
yellow: '\x1b[33m',
|
|
21
|
-
blue: '\x1b[34m',
|
|
22
|
-
cyan: '\x1b[36m'
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
// Test results tracking
|
|
26
|
-
let totalTests = 0;
|
|
27
|
-
let passedTests = 0;
|
|
28
|
-
let failedTests = 0;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Test helper - runs a test and tracks results
|
|
32
|
-
*/
|
|
33
|
-
async function test(name, fn) {
|
|
34
|
-
totalTests++;
|
|
35
|
-
try {
|
|
36
|
-
await fn();
|
|
37
|
-
passedTests++;
|
|
38
|
-
console.log(`${colors.green}✓${colors.reset} ${name}`);
|
|
39
|
-
} catch (error) {
|
|
40
|
-
failedTests++;
|
|
41
|
-
console.log(`${colors.red}✗${colors.reset} ${name}`);
|
|
42
|
-
console.log(` ${colors.red}Error: ${error.message}${colors.reset}`);
|
|
43
|
-
if (error.stack) {
|
|
44
|
-
console.log(` ${colors.red}${error.stack.split('\n').slice(1, 3).join('\n')}${colors.reset}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Test helper - create temporary test directory
|
|
51
|
-
*/
|
|
52
|
-
async function createTempDir(name) {
|
|
53
|
-
const tmpDir = path.join(__dirname, '..', 'tmp', `test-${name}-${Date.now()}`);
|
|
54
|
-
await fs.promises.mkdir(tmpDir, { recursive: true });
|
|
55
|
-
return tmpDir;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Test helper - cleanup temporary directory
|
|
60
|
-
*/
|
|
61
|
-
async function cleanupTempDir(dir) {
|
|
62
|
-
try {
|
|
63
|
-
if (fs.existsSync(dir)) {
|
|
64
|
-
await fs.promises.rm(dir, { recursive: true, force: true });
|
|
65
|
-
}
|
|
66
|
-
} catch (error) {
|
|
67
|
-
console.warn(`Warning: Could not clean up ${dir}: ${error.message}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Test helper - create mock package structure for testing
|
|
73
|
-
*/
|
|
74
|
-
async function createMockPackage(packageDir, toolId) {
|
|
75
|
-
// Create package directories
|
|
76
|
-
await fs.promises.mkdir(path.join(packageDir, toolId, 'agents'), { recursive: true });
|
|
77
|
-
await fs.promises.mkdir(path.join(packageDir, toolId, 'skills', 'pdf'), { recursive: true });
|
|
78
|
-
await fs.promises.mkdir(path.join(packageDir, toolId, 'skills', 'docx'), { recursive: true });
|
|
79
|
-
await fs.promises.mkdir(path.join(packageDir, toolId, 'resources'), { recursive: true });
|
|
80
|
-
await fs.promises.mkdir(path.join(packageDir, toolId, 'hooks'), { recursive: true });
|
|
81
|
-
|
|
82
|
-
// Create mock agents (3 for Lite, 13 total)
|
|
83
|
-
const agents = ['master', 'orchestrator', 'scrum-master', 'developer', 'tester',
|
|
84
|
-
'designer', 'analyst', 'reviewer', 'documenter', 'planner',
|
|
85
|
-
'executor', 'monitor', 'reporter'];
|
|
86
|
-
|
|
87
|
-
for (const agent of agents) {
|
|
88
|
-
await fs.promises.writeFile(
|
|
89
|
-
path.join(packageDir, toolId, 'agents', `${agent}.md`),
|
|
90
|
-
`# ${agent} Agent\n\nMock agent content for testing.`
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Create mock skills (2 for testing - pdf and docx for Standard)
|
|
95
|
-
await fs.promises.writeFile(
|
|
96
|
-
path.join(packageDir, toolId, 'skills', 'pdf', 'pdf.md'),
|
|
97
|
-
'# PDF Skill\n\nMock PDF skill content.'
|
|
98
|
-
);
|
|
99
|
-
await fs.promises.writeFile(
|
|
100
|
-
path.join(packageDir, toolId, 'skills', 'docx', 'docx.md'),
|
|
101
|
-
'# DOCX Skill\n\nMock DOCX skill content.'
|
|
102
|
-
);
|
|
103
|
-
|
|
104
|
-
// Create mock resources
|
|
105
|
-
await fs.promises.writeFile(
|
|
106
|
-
path.join(packageDir, toolId, 'resources', 'workflows.yaml'),
|
|
107
|
-
'workflows:\n - test: true'
|
|
108
|
-
);
|
|
109
|
-
|
|
110
|
-
// Create mock hooks
|
|
111
|
-
await fs.promises.writeFile(
|
|
112
|
-
path.join(packageDir, toolId, 'hooks', 'session-start.js'),
|
|
113
|
-
'// Mock session start hook'
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
// Create variants.json
|
|
117
|
-
const variants = {
|
|
118
|
-
lite: {
|
|
119
|
-
name: 'Lite',
|
|
120
|
-
description: 'Minimal installation',
|
|
121
|
-
useCase: 'Testing lite variant',
|
|
122
|
-
targetUsers: 'Test users',
|
|
123
|
-
agents: ['master', 'orchestrator', 'scrum-master'],
|
|
124
|
-
skills: [],
|
|
125
|
-
resources: ['workflows.yaml'],
|
|
126
|
-
hooks: ['session-start.js']
|
|
127
|
-
},
|
|
128
|
-
standard: {
|
|
129
|
-
name: 'Standard',
|
|
130
|
-
description: 'Standard installation',
|
|
131
|
-
useCase: 'Testing standard variant',
|
|
132
|
-
targetUsers: 'Test users',
|
|
133
|
-
agents: '*',
|
|
134
|
-
skills: ['pdf', 'docx'],
|
|
135
|
-
resources: ['workflows.yaml'],
|
|
136
|
-
hooks: ['session-start.js']
|
|
137
|
-
},
|
|
138
|
-
pro: {
|
|
139
|
-
name: 'Pro',
|
|
140
|
-
description: 'Full installation',
|
|
141
|
-
useCase: 'Testing pro variant',
|
|
142
|
-
targetUsers: 'Test users',
|
|
143
|
-
agents: '*',
|
|
144
|
-
skills: '*',
|
|
145
|
-
resources: '*',
|
|
146
|
-
hooks: '*'
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
await fs.promises.writeFile(
|
|
151
|
-
path.join(packageDir, toolId, 'variants.json'),
|
|
152
|
-
JSON.stringify(variants, null, 2)
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Test helper - count files recursively
|
|
158
|
-
*/
|
|
159
|
-
async function countFilesRecursive(dir) {
|
|
160
|
-
let count = 0;
|
|
161
|
-
|
|
162
|
-
async function traverse(currentDir) {
|
|
163
|
-
const items = await fs.promises.readdir(currentDir);
|
|
164
|
-
|
|
165
|
-
for (const item of items) {
|
|
166
|
-
const itemPath = path.join(currentDir, item);
|
|
167
|
-
const stat = await fs.promises.stat(itemPath);
|
|
168
|
-
|
|
169
|
-
if (stat.isDirectory()) {
|
|
170
|
-
await traverse(itemPath);
|
|
171
|
-
} else {
|
|
172
|
-
count++;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
if (fs.existsSync(dir)) {
|
|
178
|
-
await traverse(dir);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return count;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// Main test suite
|
|
185
|
-
async function runTests() {
|
|
186
|
-
console.log(`\n${colors.bright}${colors.cyan}Installation Engine Tests (Variant Support)${colors.reset}\n`);
|
|
187
|
-
|
|
188
|
-
let tempDir = null;
|
|
189
|
-
let targetDir = null;
|
|
190
|
-
|
|
191
|
-
try {
|
|
192
|
-
// Create temporary directories for testing
|
|
193
|
-
tempDir = await createTempDir('installation-engine');
|
|
194
|
-
const mockPackagesDir = path.join(tempDir, 'packages');
|
|
195
|
-
|
|
196
|
-
// Create mock package structure
|
|
197
|
-
await createMockPackage(mockPackagesDir, 'testool');
|
|
198
|
-
|
|
199
|
-
// Create mock tools directory for manifest templates
|
|
200
|
-
const toolsDir = path.join(tempDir, 'tools', 'testool');
|
|
201
|
-
await fs.promises.mkdir(toolsDir, { recursive: true });
|
|
202
|
-
const manifestTemplate = {
|
|
203
|
-
tool: 'testool',
|
|
204
|
-
name: 'Test Tool',
|
|
205
|
-
description: 'Tool for testing',
|
|
206
|
-
optimization: 'test-optimization'
|
|
207
|
-
};
|
|
208
|
-
await fs.promises.writeFile(
|
|
209
|
-
path.join(toolsDir, 'manifest-template.json'),
|
|
210
|
-
JSON.stringify(manifestTemplate, null, 2)
|
|
211
|
-
);
|
|
212
|
-
|
|
213
|
-
// Initialize managers with mock directories
|
|
214
|
-
const packageManager = new PackageManager();
|
|
215
|
-
packageManager.packagesDir = mockPackagesDir;
|
|
216
|
-
|
|
217
|
-
const pathManager = new PathManager();
|
|
218
|
-
const installationEngine = new InstallationEngine(pathManager, packageManager);
|
|
219
|
-
|
|
220
|
-
// Override getManifestTemplate to use our test template
|
|
221
|
-
packageManager.getManifestTemplate = (toolId) => manifestTemplate;
|
|
222
|
-
|
|
223
|
-
console.log(`${colors.blue}Testing InstallationEngine.installPackage() with variant parameter${colors.reset}\n`);
|
|
224
|
-
|
|
225
|
-
// Test 1: Install Lite variant
|
|
226
|
-
await test('installPackage() accepts variant parameter (lite)', async () => {
|
|
227
|
-
targetDir = path.join(tempDir, 'install-lite');
|
|
228
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
229
|
-
assert.ok(fs.existsSync(targetDir), 'Target directory should exist');
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
// Test 2: Verify Lite variant files
|
|
233
|
-
await test('Lite variant installs only selected files (3 agents, 0 skills)', async () => {
|
|
234
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
235
|
-
const skillsDir = path.join(targetDir, 'skills');
|
|
236
|
-
const resourcesDir = path.join(targetDir, 'resources');
|
|
237
|
-
const hooksDir = path.join(targetDir, 'hooks');
|
|
238
|
-
|
|
239
|
-
// Count agents
|
|
240
|
-
const agents = fs.existsSync(agentsDir) ? await fs.promises.readdir(agentsDir) : [];
|
|
241
|
-
assert.strictEqual(agents.length, 3, 'Should have exactly 3 agents');
|
|
242
|
-
assert.ok(agents.includes('master.md'), 'Should include master agent');
|
|
243
|
-
assert.ok(agents.includes('orchestrator.md'), 'Should include orchestrator agent');
|
|
244
|
-
assert.ok(agents.includes('scrum-master.md'), 'Should include scrum-master agent');
|
|
245
|
-
|
|
246
|
-
// Skills should be empty (lite has no skills)
|
|
247
|
-
const skills = fs.existsSync(skillsDir) ? await fs.promises.readdir(skillsDir) : [];
|
|
248
|
-
assert.strictEqual(skills.length, 0, 'Should have 0 skills');
|
|
249
|
-
|
|
250
|
-
// Resources should exist
|
|
251
|
-
const resources = fs.existsSync(resourcesDir) ? await fs.promises.readdir(resourcesDir) : [];
|
|
252
|
-
assert.strictEqual(resources.length, 1, 'Should have 1 resource');
|
|
253
|
-
|
|
254
|
-
// Hooks should exist
|
|
255
|
-
const hooks = fs.existsSync(hooksDir) ? await fs.promises.readdir(hooksDir) : [];
|
|
256
|
-
assert.strictEqual(hooks.length, 1, 'Should have 1 hook');
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
// Test 3: Verify Lite manifest
|
|
260
|
-
await test('Lite variant manifest contains correct component counts', async () => {
|
|
261
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
262
|
-
assert.ok(fs.existsSync(manifestPath), 'Manifest should exist');
|
|
263
|
-
|
|
264
|
-
const manifest = JSON.parse(await fs.promises.readFile(manifestPath, 'utf8'));
|
|
265
|
-
assert.strictEqual(manifest.variant, 'lite', 'Manifest should specify lite variant');
|
|
266
|
-
assert.strictEqual(manifest.components.agents, 3, 'Manifest should show 3 agents');
|
|
267
|
-
assert.strictEqual(manifest.components.skills, 0, 'Manifest should show 0 skills');
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
// Test 4: Install Standard variant
|
|
271
|
-
await test('installPackage() installs Standard variant (all agents, 2 skills)', async () => {
|
|
272
|
-
targetDir = path.join(tempDir, 'install-standard');
|
|
273
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
274
|
-
|
|
275
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
276
|
-
const skillsDir = path.join(targetDir, 'skills');
|
|
277
|
-
|
|
278
|
-
const agents = fs.existsSync(agentsDir) ? await fs.promises.readdir(agentsDir) : [];
|
|
279
|
-
assert.strictEqual(agents.length, 13, 'Should have all 13 agents');
|
|
280
|
-
|
|
281
|
-
const skills = fs.existsSync(skillsDir) ? await fs.promises.readdir(skillsDir) : [];
|
|
282
|
-
assert.strictEqual(skills.length, 2, 'Should have 2 skills');
|
|
283
|
-
assert.ok(skills.includes('pdf'), 'Should include pdf skill');
|
|
284
|
-
assert.ok(skills.includes('docx'), 'Should include docx skill');
|
|
285
|
-
});
|
|
286
|
-
|
|
287
|
-
// Test 5: Verify Standard manifest
|
|
288
|
-
await test('Standard variant manifest contains correct component counts', async () => {
|
|
289
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
290
|
-
const manifest = JSON.parse(await fs.promises.readFile(manifestPath, 'utf8'));
|
|
291
|
-
|
|
292
|
-
assert.strictEqual(manifest.variant, 'standard', 'Manifest should specify standard variant');
|
|
293
|
-
assert.strictEqual(manifest.components.agents, 13, 'Manifest should show 13 agents');
|
|
294
|
-
assert.strictEqual(manifest.components.skills, 2, 'Manifest should show 2 skills');
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
// Test 6: Install Pro variant
|
|
298
|
-
await test('installPackage() installs Pro variant (all content)', async () => {
|
|
299
|
-
targetDir = path.join(tempDir, 'install-pro');
|
|
300
|
-
await installationEngine.installPackage('testool', 'pro', targetDir);
|
|
301
|
-
|
|
302
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
303
|
-
const skillsDir = path.join(targetDir, 'skills');
|
|
304
|
-
|
|
305
|
-
const agents = fs.existsSync(agentsDir) ? await fs.promises.readdir(agentsDir) : [];
|
|
306
|
-
assert.strictEqual(agents.length, 13, 'Should have all 13 agents');
|
|
307
|
-
|
|
308
|
-
const skills = fs.existsSync(skillsDir) ? await fs.promises.readdir(skillsDir) : [];
|
|
309
|
-
assert.strictEqual(skills.length, 2, 'Should have all 2 skills');
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
// Test 7: Verify Pro manifest
|
|
313
|
-
await test('Pro variant manifest contains correct component counts', async () => {
|
|
314
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
315
|
-
const manifest = JSON.parse(await fs.promises.readFile(manifestPath, 'utf8'));
|
|
316
|
-
|
|
317
|
-
assert.strictEqual(manifest.variant, 'pro', 'Manifest should specify pro variant');
|
|
318
|
-
assert.strictEqual(manifest.components.agents, 13, 'Manifest should show 13 agents');
|
|
319
|
-
assert.strictEqual(manifest.components.skills, 2, 'Manifest should show 2 skills');
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
// Test 8: Verify skill directories are copied completely
|
|
323
|
-
await test('Skill directories are copied with all nested files', async () => {
|
|
324
|
-
targetDir = path.join(tempDir, 'install-skills-test');
|
|
325
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
326
|
-
|
|
327
|
-
const pdfSkillPath = path.join(targetDir, 'skills', 'pdf', 'pdf.md');
|
|
328
|
-
const docxSkillPath = path.join(targetDir, 'skills', 'docx', 'docx.md');
|
|
329
|
-
|
|
330
|
-
assert.ok(fs.existsSync(pdfSkillPath), 'PDF skill should include pdf.md');
|
|
331
|
-
assert.ok(fs.existsSync(docxSkillPath), 'DOCX skill should include docx.md');
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
// Test 9: Verify installation uses PackageManager methods
|
|
335
|
-
await test('installPackage() uses PackageManager.validatePackage()', async () => {
|
|
336
|
-
// This test verifies that invalid packages are rejected
|
|
337
|
-
targetDir = path.join(tempDir, 'install-invalid');
|
|
338
|
-
let errorThrown = false;
|
|
339
|
-
|
|
340
|
-
try {
|
|
341
|
-
await installationEngine.installPackage('nonexistent', 'lite', targetDir);
|
|
342
|
-
} catch (error) {
|
|
343
|
-
errorThrown = true;
|
|
344
|
-
assert.ok(error.message.includes('Package directory not found') ||
|
|
345
|
-
error.message.includes('not found'),
|
|
346
|
-
'Should throw error for invalid package');
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
assert.ok(errorThrown, 'Should throw error for nonexistent package');
|
|
350
|
-
});
|
|
351
|
-
|
|
352
|
-
// Test 10: Verify manifest includes variant information
|
|
353
|
-
await test('generateManifest() includes variant name and selected files', async () => {
|
|
354
|
-
targetDir = path.join(tempDir, 'install-manifest-test');
|
|
355
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
356
|
-
|
|
357
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
358
|
-
const manifest = JSON.parse(await fs.promises.readFile(manifestPath, 'utf8'));
|
|
359
|
-
|
|
360
|
-
assert.ok(manifest.variant, 'Manifest should include variant');
|
|
361
|
-
assert.ok(manifest.components, 'Manifest should include components');
|
|
362
|
-
assert.ok(manifest.components.agents !== undefined, 'Manifest should include agent count');
|
|
363
|
-
assert.ok(manifest.components.skills !== undefined, 'Manifest should include skill count');
|
|
364
|
-
assert.ok(manifest.files, 'Manifest should include file information');
|
|
365
|
-
assert.ok(manifest.files.total !== undefined, 'Manifest should include total file count');
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
console.log(`\n${colors.blue}Testing Progress Callback System${colors.reset}\n`);
|
|
369
|
-
|
|
370
|
-
// Test 11: Progress callback is called during installation
|
|
371
|
-
await test('installPackage() calls progress callback during file copying', async () => {
|
|
372
|
-
targetDir = path.join(tempDir, 'install-progress-test');
|
|
373
|
-
const progressUpdates = [];
|
|
374
|
-
|
|
375
|
-
const progressCallback = (progress) => {
|
|
376
|
-
progressUpdates.push(progress);
|
|
377
|
-
};
|
|
378
|
-
|
|
379
|
-
await installationEngine.installPackage('testool', 'standard', targetDir, progressCallback);
|
|
380
|
-
|
|
381
|
-
assert.ok(progressUpdates.length > 0, 'Progress callback should be called at least once');
|
|
382
|
-
assert.ok(progressUpdates.length >= 15, 'Should have progress updates for 15+ files (13 agents + 2 skills)');
|
|
383
|
-
});
|
|
384
|
-
|
|
385
|
-
// Test 12: Progress callback receives correct information
|
|
386
|
-
await test('Progress callback receives currentFile, filesCompleted, totalFiles', async () => {
|
|
387
|
-
targetDir = path.join(tempDir, 'install-progress-info-test');
|
|
388
|
-
const progressUpdates = [];
|
|
389
|
-
|
|
390
|
-
const progressCallback = (progress) => {
|
|
391
|
-
progressUpdates.push(progress);
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
await installationEngine.installPackage('testool', 'lite', targetDir, progressCallback);
|
|
395
|
-
|
|
396
|
-
// Verify first progress update
|
|
397
|
-
const firstUpdate = progressUpdates[0];
|
|
398
|
-
assert.ok(firstUpdate.currentFile, 'Should include currentFile');
|
|
399
|
-
assert.ok(typeof firstUpdate.currentFile === 'string', 'currentFile should be a string');
|
|
400
|
-
assert.ok(typeof firstUpdate.filesCompleted === 'number', 'filesCompleted should be a number');
|
|
401
|
-
assert.ok(typeof firstUpdate.totalFiles === 'number', 'totalFiles should be a number');
|
|
402
|
-
assert.ok(firstUpdate.filesCompleted >= 0, 'filesCompleted should be non-negative');
|
|
403
|
-
assert.ok(firstUpdate.totalFiles > 0, 'totalFiles should be positive');
|
|
404
|
-
});
|
|
405
|
-
|
|
406
|
-
// Test 13: Progress callback includes percentage
|
|
407
|
-
await test('Progress callback includes percentage calculation', async () => {
|
|
408
|
-
targetDir = path.join(tempDir, 'install-progress-percentage-test');
|
|
409
|
-
const progressUpdates = [];
|
|
410
|
-
|
|
411
|
-
const progressCallback = (progress) => {
|
|
412
|
-
progressUpdates.push(progress);
|
|
413
|
-
};
|
|
414
|
-
|
|
415
|
-
await installationEngine.installPackage('testool', 'lite', targetDir, progressCallback);
|
|
416
|
-
|
|
417
|
-
for (const update of progressUpdates) {
|
|
418
|
-
assert.ok(typeof update.percentage === 'number', 'Should include percentage');
|
|
419
|
-
assert.ok(update.percentage >= 0 && update.percentage <= 100, 'Percentage should be 0-100');
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
// Last update should be 100%
|
|
423
|
-
const lastUpdate = progressUpdates[progressUpdates.length - 1];
|
|
424
|
-
assert.strictEqual(lastUpdate.percentage, 100, 'Final progress should be 100%');
|
|
425
|
-
});
|
|
426
|
-
|
|
427
|
-
// Test 14: Progress callback includes bytes transferred
|
|
428
|
-
await test('Progress callback includes bytesTransferred and totalBytes', async () => {
|
|
429
|
-
targetDir = path.join(tempDir, 'install-progress-bytes-test');
|
|
430
|
-
const progressUpdates = [];
|
|
431
|
-
|
|
432
|
-
const progressCallback = (progress) => {
|
|
433
|
-
progressUpdates.push(progress);
|
|
434
|
-
};
|
|
435
|
-
|
|
436
|
-
await installationEngine.installPackage('testool', 'standard', targetDir, progressCallback);
|
|
437
|
-
|
|
438
|
-
// Verify bytes information is included
|
|
439
|
-
for (const update of progressUpdates) {
|
|
440
|
-
assert.ok(typeof update.bytesTransferred === 'number', 'Should include bytesTransferred');
|
|
441
|
-
assert.ok(typeof update.totalBytes === 'number', 'Should include totalBytes');
|
|
442
|
-
assert.ok(update.bytesTransferred >= 0, 'bytesTransferred should be non-negative');
|
|
443
|
-
assert.ok(update.totalBytes > 0, 'totalBytes should be positive');
|
|
444
|
-
assert.ok(update.bytesTransferred <= update.totalBytes, 'bytesTransferred should not exceed totalBytes');
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
// Verify bytes increase over time
|
|
448
|
-
const firstUpdate = progressUpdates[0];
|
|
449
|
-
const lastUpdate = progressUpdates[progressUpdates.length - 1];
|
|
450
|
-
assert.ok(lastUpdate.bytesTransferred >= firstUpdate.bytesTransferred, 'Bytes should increase');
|
|
451
|
-
assert.strictEqual(lastUpdate.bytesTransferred, lastUpdate.totalBytes, 'Final bytes should equal total');
|
|
452
|
-
});
|
|
453
|
-
|
|
454
|
-
// Test 15: Progress updates are sequential
|
|
455
|
-
await test('Progress updates show sequential file completion', async () => {
|
|
456
|
-
targetDir = path.join(tempDir, 'install-progress-sequential-test');
|
|
457
|
-
const progressUpdates = [];
|
|
458
|
-
|
|
459
|
-
const progressCallback = (progress) => {
|
|
460
|
-
progressUpdates.push(progress);
|
|
461
|
-
};
|
|
462
|
-
|
|
463
|
-
await installationEngine.installPackage('testool', 'lite', targetDir, progressCallback);
|
|
464
|
-
|
|
465
|
-
// Verify filesCompleted increases sequentially
|
|
466
|
-
for (let i = 1; i < progressUpdates.length; i++) {
|
|
467
|
-
const prev = progressUpdates[i - 1].filesCompleted;
|
|
468
|
-
const curr = progressUpdates[i].filesCompleted;
|
|
469
|
-
assert.ok(curr >= prev, `filesCompleted should not decrease (${prev} -> ${curr})`);
|
|
470
|
-
assert.ok(curr - prev <= 1, `filesCompleted should increase by at most 1 (${prev} -> ${curr})`);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
// Verify final count equals total
|
|
474
|
-
const lastUpdate = progressUpdates[progressUpdates.length - 1];
|
|
475
|
-
assert.strictEqual(lastUpdate.filesCompleted, lastUpdate.totalFiles,
|
|
476
|
-
'Final filesCompleted should equal totalFiles');
|
|
477
|
-
});
|
|
478
|
-
|
|
479
|
-
// Test 16: Progress callback works with skill directories
|
|
480
|
-
await test('Progress callback correctly handles skill directories', async () => {
|
|
481
|
-
targetDir = path.join(tempDir, 'install-progress-skills-test');
|
|
482
|
-
const progressUpdates = [];
|
|
483
|
-
const skillFilesProcessed = [];
|
|
484
|
-
|
|
485
|
-
const progressCallback = (progress) => {
|
|
486
|
-
progressUpdates.push(progress);
|
|
487
|
-
if (progress.currentFile.includes('skills')) {
|
|
488
|
-
skillFilesProcessed.push(progress.currentFile);
|
|
489
|
-
}
|
|
490
|
-
};
|
|
491
|
-
|
|
492
|
-
await installationEngine.installPackage('testool', 'standard', targetDir, progressCallback);
|
|
493
|
-
|
|
494
|
-
// Verify skill files were processed
|
|
495
|
-
assert.ok(skillFilesProcessed.length > 0, 'Should process skill directory files');
|
|
496
|
-
|
|
497
|
-
// Verify skill directory paths are reported
|
|
498
|
-
const hasSkillPaths = progressUpdates.some(update =>
|
|
499
|
-
update.currentFile.includes('skills/pdf') || update.currentFile.includes('skills/docx')
|
|
500
|
-
);
|
|
501
|
-
assert.ok(hasSkillPaths, 'Should report skill directory paths');
|
|
502
|
-
});
|
|
503
|
-
|
|
504
|
-
// Test 17: Installation works without progress callback (backward compatibility)
|
|
505
|
-
await test('installPackage() works without progress callback parameter', async () => {
|
|
506
|
-
targetDir = path.join(tempDir, 'install-no-callback-test');
|
|
507
|
-
|
|
508
|
-
// Should not throw error when callback is not provided
|
|
509
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
510
|
-
|
|
511
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
512
|
-
assert.ok(fs.existsSync(manifestPath), 'Installation should complete without callback');
|
|
513
|
-
});
|
|
514
|
-
|
|
515
|
-
// Test 18: Progress callback with Pro variant (many files)
|
|
516
|
-
await test('Progress callback handles Pro variant with many files', async () => {
|
|
517
|
-
targetDir = path.join(tempDir, 'install-progress-pro-test');
|
|
518
|
-
const progressUpdates = [];
|
|
519
|
-
|
|
520
|
-
const progressCallback = (progress) => {
|
|
521
|
-
progressUpdates.push(progress);
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
await installationEngine.installPackage('testool', 'pro', targetDir, progressCallback);
|
|
525
|
-
|
|
526
|
-
// Pro should have the most progress updates
|
|
527
|
-
assert.ok(progressUpdates.length >= 15, 'Pro variant should have 15+ progress updates');
|
|
528
|
-
|
|
529
|
-
// Verify final state
|
|
530
|
-
const lastUpdate = progressUpdates[progressUpdates.length - 1];
|
|
531
|
-
assert.strictEqual(lastUpdate.percentage, 100, 'Should reach 100%');
|
|
532
|
-
assert.strictEqual(lastUpdate.filesCompleted, lastUpdate.totalFiles, 'Should complete all files');
|
|
533
|
-
});
|
|
534
|
-
|
|
535
|
-
// ===================================
|
|
536
|
-
// Tests 19-25: Enhanced Manifest Generation
|
|
537
|
-
// ===================================
|
|
538
|
-
console.log(`\n${colors.cyan}${colors.bright}Enhanced Manifest Generation Tests${colors.reset}`);
|
|
539
|
-
|
|
540
|
-
// Test 19: Manifest includes variant metadata
|
|
541
|
-
await test('Manifest includes variant metadata (description, useCase, targetUsers)', async () => {
|
|
542
|
-
targetDir = path.join(tempDir, 'install-manifest-metadata-test');
|
|
543
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
544
|
-
|
|
545
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
546
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
547
|
-
|
|
548
|
-
assert.ok(manifest.variantInfo, 'Manifest should include variantInfo object');
|
|
549
|
-
assert.ok(typeof manifest.variantInfo.name === 'string', 'variantInfo should include name');
|
|
550
|
-
assert.ok(typeof manifest.variantInfo.description === 'string', 'variantInfo should include description');
|
|
551
|
-
assert.ok(typeof manifest.variantInfo.useCase === 'string', 'variantInfo should include useCase');
|
|
552
|
-
assert.ok(typeof manifest.variantInfo.targetUsers === 'string', 'variantInfo should include targetUsers');
|
|
553
|
-
assert.ok(manifest.variantInfo.description.length > 0, 'Description should not be empty');
|
|
554
|
-
});
|
|
555
|
-
|
|
556
|
-
// Test 20: Manifest includes list of installed agents
|
|
557
|
-
await test('Manifest includes list of installed agent files', async () => {
|
|
558
|
-
targetDir = path.join(tempDir, 'install-manifest-agents-test');
|
|
559
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
560
|
-
|
|
561
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
562
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
563
|
-
|
|
564
|
-
assert.ok(manifest.installedFiles, 'Manifest should include installedFiles object');
|
|
565
|
-
assert.ok(Array.isArray(manifest.installedFiles.agents), 'installedFiles.agents should be an array');
|
|
566
|
-
assert.strictEqual(manifest.installedFiles.agents.length, 3, 'Lite variant should list 3 agents');
|
|
567
|
-
|
|
568
|
-
// Verify agent names match the lite variant selection
|
|
569
|
-
const agentNames = manifest.installedFiles.agents;
|
|
570
|
-
assert.ok(agentNames.includes('master'), 'Should include master agent');
|
|
571
|
-
assert.ok(agentNames.includes('orchestrator'), 'Should include orchestrator agent');
|
|
572
|
-
assert.ok(agentNames.includes('scrum-master'), 'Should include scrum-master agent');
|
|
573
|
-
});
|
|
574
|
-
|
|
575
|
-
// Test 21: Manifest includes list of installed skills
|
|
576
|
-
await test('Manifest includes list of installed skill directories', async () => {
|
|
577
|
-
targetDir = path.join(tempDir, 'install-manifest-skills-test');
|
|
578
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
579
|
-
|
|
580
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
581
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
582
|
-
|
|
583
|
-
assert.ok(Array.isArray(manifest.installedFiles.skills), 'installedFiles.skills should be an array');
|
|
584
|
-
assert.ok(manifest.installedFiles.skills.length > 0, 'Standard variant should list skills');
|
|
585
|
-
|
|
586
|
-
// Verify skills are listed
|
|
587
|
-
const skillNames = manifest.installedFiles.skills;
|
|
588
|
-
assert.ok(skillNames.includes('pdf'), 'Should include pdf skill');
|
|
589
|
-
assert.ok(skillNames.includes('docx'), 'Should include docx skill');
|
|
590
|
-
});
|
|
591
|
-
|
|
592
|
-
// Test 22: Manifest includes list of installed resources and hooks
|
|
593
|
-
await test('Manifest includes lists of installed resources and hooks', async () => {
|
|
594
|
-
targetDir = path.join(tempDir, 'install-manifest-resources-hooks-test');
|
|
595
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
596
|
-
|
|
597
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
598
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
599
|
-
|
|
600
|
-
assert.ok(Array.isArray(manifest.installedFiles.resources), 'installedFiles.resources should be an array');
|
|
601
|
-
assert.ok(Array.isArray(manifest.installedFiles.hooks), 'installedFiles.hooks should be an array');
|
|
602
|
-
assert.ok(manifest.installedFiles.resources.length > 0, 'Should list resources');
|
|
603
|
-
assert.ok(manifest.installedFiles.hooks.length > 0, 'Should list hooks');
|
|
604
|
-
});
|
|
605
|
-
|
|
606
|
-
// Test 23: Manifest structure varies by variant
|
|
607
|
-
await test('Manifest reflects different content for different variants', async () => {
|
|
608
|
-
const liteDir = path.join(tempDir, 'install-manifest-lite');
|
|
609
|
-
const proDir = path.join(tempDir, 'install-manifest-pro');
|
|
610
|
-
|
|
611
|
-
await installationEngine.installPackage('testool', 'lite', liteDir);
|
|
612
|
-
await installationEngine.installPackage('testool', 'pro', proDir);
|
|
613
|
-
|
|
614
|
-
const liteManifest = JSON.parse(fs.readFileSync(path.join(liteDir, 'manifest.json'), 'utf8'));
|
|
615
|
-
const proManifest = JSON.parse(fs.readFileSync(path.join(proDir, 'manifest.json'), 'utf8'));
|
|
616
|
-
|
|
617
|
-
// Lite should have fewer files than Pro
|
|
618
|
-
assert.ok(liteManifest.installedFiles.agents.length <= proManifest.installedFiles.agents.length,
|
|
619
|
-
'Lite should have same or fewer agents than Pro');
|
|
620
|
-
assert.ok(liteManifest.installedFiles.skills.length < proManifest.installedFiles.skills.length,
|
|
621
|
-
'Lite should have fewer skills than Pro');
|
|
622
|
-
|
|
623
|
-
// Variant info should be different
|
|
624
|
-
assert.notStrictEqual(liteManifest.variantInfo.name, proManifest.variantInfo.name,
|
|
625
|
-
'Variant names should differ');
|
|
626
|
-
assert.notStrictEqual(liteManifest.variant, proManifest.variant,
|
|
627
|
-
'Variant field should differ');
|
|
628
|
-
});
|
|
629
|
-
|
|
630
|
-
// Test 24: Manifest file counts match installed files lists
|
|
631
|
-
await test('Manifest component counts match installedFiles array lengths', async () => {
|
|
632
|
-
targetDir = path.join(tempDir, 'install-manifest-counts-test');
|
|
633
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
634
|
-
|
|
635
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
636
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
637
|
-
|
|
638
|
-
assert.strictEqual(manifest.components.agents, manifest.installedFiles.agents.length,
|
|
639
|
-
'Agent count should match installedFiles.agents length');
|
|
640
|
-
assert.strictEqual(manifest.components.skills, manifest.installedFiles.skills.length,
|
|
641
|
-
'Skill count should match installedFiles.skills length');
|
|
642
|
-
assert.strictEqual(manifest.components.resources, manifest.installedFiles.resources.length,
|
|
643
|
-
'Resource count should match installedFiles.resources length');
|
|
644
|
-
assert.strictEqual(manifest.components.hooks, manifest.installedFiles.hooks.length,
|
|
645
|
-
'Hook count should match installedFiles.hooks length');
|
|
646
|
-
});
|
|
647
|
-
|
|
648
|
-
// Test 25: Manifest maintains backward compatibility with existing fields
|
|
649
|
-
await test('Manifest maintains all existing fields for backward compatibility', async () => {
|
|
650
|
-
targetDir = path.join(tempDir, 'install-manifest-compat-test');
|
|
651
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
652
|
-
|
|
653
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
654
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
|
|
655
|
-
|
|
656
|
-
// Check all existing fields are still present
|
|
657
|
-
assert.ok(manifest.tool, 'Should include tool field');
|
|
658
|
-
assert.ok(manifest.name, 'Should include name field');
|
|
659
|
-
assert.ok(manifest.description, 'Should include description field');
|
|
660
|
-
assert.ok(manifest.variant, 'Should include variant field');
|
|
661
|
-
assert.ok(manifest.version, 'Should include version field');
|
|
662
|
-
assert.ok(manifest.installed_at, 'Should include installed_at field');
|
|
663
|
-
assert.ok(manifest.components, 'Should include components object');
|
|
664
|
-
assert.ok(manifest.paths, 'Should include paths object');
|
|
665
|
-
assert.ok(manifest.files, 'Should include files object');
|
|
666
|
-
|
|
667
|
-
// Check new fields are added
|
|
668
|
-
assert.ok(manifest.variantInfo, 'Should include new variantInfo field');
|
|
669
|
-
assert.ok(manifest.installedFiles, 'Should include new installedFiles field');
|
|
670
|
-
});
|
|
671
|
-
|
|
672
|
-
// ===================================
|
|
673
|
-
// Tests 26-35: Enhanced Rollback Functionality
|
|
674
|
-
// ===================================
|
|
675
|
-
console.log(`\n${colors.cyan}${colors.bright}Enhanced Rollback Tests${colors.reset}`);
|
|
676
|
-
|
|
677
|
-
// Test 26: Installation tracks files for rollback
|
|
678
|
-
await test('Installation tracks installed files in session log', async () => {
|
|
679
|
-
targetDir = path.join(tempDir, 'install-rollback-tracking-test');
|
|
680
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
681
|
-
|
|
682
|
-
// Check that installation log exists and contains file-level information
|
|
683
|
-
const sessionLog = installationEngine.getSessionLog();
|
|
684
|
-
assert.ok(sessionLog, 'Session log should exist');
|
|
685
|
-
assert.ok(Array.isArray(sessionLog.installedFiles), 'Session log should have installedFiles array');
|
|
686
|
-
assert.ok(sessionLog.installedFiles.length > 0, 'Session log should track installed files');
|
|
687
|
-
});
|
|
688
|
-
|
|
689
|
-
// Test 27: Rollback removes only installed files (not entire directory)
|
|
690
|
-
await test('Rollback removes only installed files, not entire directory', async () => {
|
|
691
|
-
targetDir = path.join(tempDir, 'install-rollback-granular-test');
|
|
692
|
-
|
|
693
|
-
// Install package
|
|
694
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
695
|
-
|
|
696
|
-
// Create a user file (not part of installation)
|
|
697
|
-
const userFilePath = path.join(targetDir, 'my-custom-file.txt');
|
|
698
|
-
await fs.promises.writeFile(userFilePath, 'User-created content');
|
|
699
|
-
|
|
700
|
-
// Perform rollback
|
|
701
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
702
|
-
|
|
703
|
-
// Verify user file still exists
|
|
704
|
-
assert.ok(fs.existsSync(userFilePath), 'User-created file should not be removed by rollback');
|
|
705
|
-
|
|
706
|
-
// Verify installed files are removed
|
|
707
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
708
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed by rollback');
|
|
709
|
-
});
|
|
710
|
-
|
|
711
|
-
// Test 28: Rollback cleans up empty directories
|
|
712
|
-
await test('Rollback removes empty directories after file removal', async () => {
|
|
713
|
-
targetDir = path.join(tempDir, 'install-rollback-cleanup-test');
|
|
714
|
-
|
|
715
|
-
// Install lite variant (only agents, no skills)
|
|
716
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
717
|
-
|
|
718
|
-
// Verify directories exist
|
|
719
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
720
|
-
assert.ok(fs.existsSync(agentsDir), 'Agents directory should exist after installation');
|
|
721
|
-
|
|
722
|
-
// Perform rollback
|
|
723
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
724
|
-
|
|
725
|
-
// Verify empty directories are cleaned up
|
|
726
|
-
assert.ok(!fs.existsSync(agentsDir) || (await fs.promises.readdir(agentsDir)).length === 0,
|
|
727
|
-
'Empty agents directory should be removed or empty');
|
|
728
|
-
});
|
|
729
|
-
|
|
730
|
-
// Test 29: Rollback preserves user files in component directories
|
|
731
|
-
await test('Rollback preserves user files in component directories', async () => {
|
|
732
|
-
targetDir = path.join(tempDir, 'install-rollback-preserve-test');
|
|
733
|
-
|
|
734
|
-
// Install package
|
|
735
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
736
|
-
|
|
737
|
-
// Create user files in agents directory
|
|
738
|
-
const userAgentPath = path.join(targetDir, 'agents', 'my-custom-agent.md');
|
|
739
|
-
await fs.promises.writeFile(userAgentPath, '# My Custom Agent');
|
|
740
|
-
|
|
741
|
-
// Create user file in skills directory
|
|
742
|
-
const userSkillPath = path.join(targetDir, 'skills', 'custom-skill', 'skill.md');
|
|
743
|
-
await fs.promises.mkdir(path.join(targetDir, 'skills', 'custom-skill'), { recursive: true });
|
|
744
|
-
await fs.promises.writeFile(userSkillPath, '# My Custom Skill');
|
|
745
|
-
|
|
746
|
-
// Perform rollback
|
|
747
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
748
|
-
|
|
749
|
-
// Verify user files are preserved
|
|
750
|
-
assert.ok(fs.existsSync(userAgentPath), 'User agent should be preserved');
|
|
751
|
-
assert.ok(fs.existsSync(userSkillPath), 'User skill should be preserved');
|
|
752
|
-
|
|
753
|
-
// Verify installed files are removed
|
|
754
|
-
const installedAgentPath = path.join(targetDir, 'agents', 'master.md');
|
|
755
|
-
assert.ok(!fs.existsSync(installedAgentPath), 'Installed agent should be removed');
|
|
756
|
-
});
|
|
757
|
-
|
|
758
|
-
// Test 30: Rollback works with different variants
|
|
759
|
-
await test('Rollback correctly handles Lite variant (3 agents, 0 skills)', async () => {
|
|
760
|
-
targetDir = path.join(tempDir, 'install-rollback-lite-test');
|
|
761
|
-
|
|
762
|
-
// Install lite variant
|
|
763
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
764
|
-
|
|
765
|
-
// Verify files exist
|
|
766
|
-
const agentCount = await countFilesRecursive(path.join(targetDir, 'agents'));
|
|
767
|
-
assert.ok(agentCount >= 3, 'Should have at least 3 agent files');
|
|
768
|
-
|
|
769
|
-
// Perform rollback
|
|
770
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
771
|
-
|
|
772
|
-
// Verify all installed files are removed
|
|
773
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
774
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed');
|
|
775
|
-
|
|
776
|
-
// Verify agents are removed
|
|
777
|
-
const remainingAgents = fs.existsSync(path.join(targetDir, 'agents'))
|
|
778
|
-
? await countFilesRecursive(path.join(targetDir, 'agents'))
|
|
779
|
-
: 0;
|
|
780
|
-
assert.strictEqual(remainingAgents, 0, 'All installed agents should be removed');
|
|
781
|
-
});
|
|
782
|
-
|
|
783
|
-
// Test 31: Rollback works with Standard variant (includes skills)
|
|
784
|
-
await test('Rollback correctly handles Standard variant (agents + skills)', async () => {
|
|
785
|
-
targetDir = path.join(tempDir, 'install-rollback-standard-test');
|
|
786
|
-
|
|
787
|
-
// Install standard variant
|
|
788
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
789
|
-
|
|
790
|
-
// Verify skills exist
|
|
791
|
-
const skillsDir = path.join(targetDir, 'skills');
|
|
792
|
-
assert.ok(fs.existsSync(skillsDir), 'Skills directory should exist');
|
|
793
|
-
const skillDirs = await fs.promises.readdir(skillsDir);
|
|
794
|
-
assert.ok(skillDirs.length > 0, 'Should have skill directories');
|
|
795
|
-
|
|
796
|
-
// Perform rollback
|
|
797
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
798
|
-
|
|
799
|
-
// Verify skills are removed
|
|
800
|
-
const remainingSkills = fs.existsSync(skillsDir)
|
|
801
|
-
? (await fs.promises.readdir(skillsDir)).length
|
|
802
|
-
: 0;
|
|
803
|
-
assert.strictEqual(remainingSkills, 0, 'All installed skills should be removed');
|
|
804
|
-
});
|
|
805
|
-
|
|
806
|
-
// Test 32: Rollback logs actions for troubleshooting
|
|
807
|
-
await test('Rollback logs all actions for troubleshooting', async () => {
|
|
808
|
-
targetDir = path.join(tempDir, 'install-rollback-logging-test');
|
|
809
|
-
|
|
810
|
-
// Install package
|
|
811
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
812
|
-
|
|
813
|
-
// Perform rollback
|
|
814
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
815
|
-
|
|
816
|
-
// Check rollback log
|
|
817
|
-
const rollbackLog = installationEngine.getRollbackLog();
|
|
818
|
-
assert.ok(rollbackLog, 'Rollback log should exist');
|
|
819
|
-
assert.ok(Array.isArray(rollbackLog), 'Rollback log should be an array');
|
|
820
|
-
assert.ok(rollbackLog.length > 0, 'Rollback log should have entries');
|
|
821
|
-
|
|
822
|
-
// Verify log entries have required information
|
|
823
|
-
const lastRollback = rollbackLog[rollbackLog.length - 1];
|
|
824
|
-
assert.ok(lastRollback.tool, 'Log entry should include tool');
|
|
825
|
-
assert.ok(lastRollback.targetPath, 'Log entry should include target path');
|
|
826
|
-
assert.ok(lastRollback.filesRemoved, 'Log entry should include files removed count');
|
|
827
|
-
assert.ok(lastRollback.timestamp, 'Log entry should include timestamp');
|
|
828
|
-
});
|
|
829
|
-
|
|
830
|
-
// Test 33: Rollback on failed installation
|
|
831
|
-
await test('Rollback automatically triggered on failed installation', async () => {
|
|
832
|
-
targetDir = path.join(tempDir, 'install-rollback-failure-test');
|
|
833
|
-
|
|
834
|
-
// Try to install to a read-only or invalid path to trigger failure
|
|
835
|
-
// First, create a directory and make it unwritable
|
|
836
|
-
await fs.promises.mkdir(targetDir, { recursive: true });
|
|
837
|
-
|
|
838
|
-
// Install successfully first
|
|
839
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
840
|
-
|
|
841
|
-
// Verify installation succeeded
|
|
842
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
843
|
-
assert.ok(fs.existsSync(manifestPath), 'Initial installation should succeed');
|
|
844
|
-
|
|
845
|
-
// Verify rollback can be called
|
|
846
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
847
|
-
|
|
848
|
-
// Verify rollback removed files
|
|
849
|
-
assert.ok(!fs.existsSync(manifestPath), 'Rollback should remove manifest');
|
|
850
|
-
});
|
|
851
|
-
|
|
852
|
-
// Test 34: Rollback restores from backup if available
|
|
853
|
-
await test('Rollback restores from backup if available', async () => {
|
|
854
|
-
targetDir = path.join(tempDir, 'install-rollback-backup-test');
|
|
855
|
-
|
|
856
|
-
// Create an existing installation (must have manifest.json to be detected)
|
|
857
|
-
await fs.promises.mkdir(path.join(targetDir, 'agents'), { recursive: true });
|
|
858
|
-
const existingFilePath = path.join(targetDir, 'agents', 'existing-agent.md');
|
|
859
|
-
await fs.promises.writeFile(existingFilePath, '# Existing Agent');
|
|
860
|
-
|
|
861
|
-
// Create a manifest so it's recognized as existing installation
|
|
862
|
-
const existingManifest = {
|
|
863
|
-
tool: 'testool',
|
|
864
|
-
name: 'Test Tool',
|
|
865
|
-
version: '1.0.0',
|
|
866
|
-
installed_at: new Date().toISOString()
|
|
867
|
-
};
|
|
868
|
-
await fs.promises.writeFile(
|
|
869
|
-
path.join(targetDir, 'manifest.json'),
|
|
870
|
-
JSON.stringify(existingManifest, null, 2)
|
|
871
|
-
);
|
|
872
|
-
|
|
873
|
-
// Install over existing (should create backup)
|
|
874
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
875
|
-
|
|
876
|
-
// Verify backup was created
|
|
877
|
-
const backupLog = installationEngine.backupLog;
|
|
878
|
-
assert.ok(backupLog.length > 0, 'Backup should have been created');
|
|
879
|
-
|
|
880
|
-
// Get the backup path
|
|
881
|
-
const backup = backupLog[backupLog.length - 1];
|
|
882
|
-
assert.ok(fs.existsSync(backup.backup), 'Backup directory should exist');
|
|
883
|
-
|
|
884
|
-
// Perform rollback (should use session log first, not backup)
|
|
885
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
886
|
-
|
|
887
|
-
// After rollback with session log, only installed files should be removed
|
|
888
|
-
// The existing file should still be there because it wasn't in session log
|
|
889
|
-
assert.ok(fs.existsSync(existingFilePath), 'Original file should be preserved (not in session log)');
|
|
890
|
-
|
|
891
|
-
// Verify new installed files are removed
|
|
892
|
-
const masterAgentPath = path.join(targetDir, 'agents', 'master.md');
|
|
893
|
-
assert.ok(!fs.existsSync(masterAgentPath), 'Installed agent should be removed');
|
|
894
|
-
|
|
895
|
-
// Verify manifest is removed
|
|
896
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
897
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed');
|
|
898
|
-
});
|
|
899
|
-
|
|
900
|
-
// Test 35: Rollback works correctly with partial installations
|
|
901
|
-
await test('Rollback handles partial installation (some files copied)', async () => {
|
|
902
|
-
targetDir = path.join(tempDir, 'install-rollback-partial-test');
|
|
903
|
-
|
|
904
|
-
// Install package normally first
|
|
905
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
906
|
-
|
|
907
|
-
// Now simulate a partial installation by manually tracking some files
|
|
908
|
-
// Then perform rollback and verify only those files are removed
|
|
909
|
-
|
|
910
|
-
// Get the session log before rollback
|
|
911
|
-
const sessionLog = installationEngine.getSessionLog();
|
|
912
|
-
const filesBeforeRollback = sessionLog ? sessionLog.installedFiles.length : 0;
|
|
913
|
-
assert.ok(filesBeforeRollback > 0, 'Should have files tracked before rollback');
|
|
914
|
-
|
|
915
|
-
// Perform rollback
|
|
916
|
-
await installationEngine.rollbackInstallation('testool', targetDir);
|
|
917
|
-
|
|
918
|
-
// Verify rollback processed files
|
|
919
|
-
const rollbackLog = installationEngine.getRollbackLog();
|
|
920
|
-
const lastRollback = rollbackLog[rollbackLog.length - 1];
|
|
921
|
-
assert.ok(lastRollback.filesRemoved >= 0, 'Should report number of files removed');
|
|
922
|
-
});
|
|
923
|
-
|
|
924
|
-
console.log(`\n${colors.cyan}${colors.bright}Verification Tests${colors.reset}`);
|
|
925
|
-
|
|
926
|
-
// Test 36: verifyInstallation returns success for valid installation
|
|
927
|
-
await test('verifyInstallation returns success for valid installation', async () => {
|
|
928
|
-
targetDir = path.join(tempDir, 'verify-valid-test');
|
|
929
|
-
|
|
930
|
-
// Install package
|
|
931
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
932
|
-
|
|
933
|
-
// Verify installation
|
|
934
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
935
|
-
|
|
936
|
-
assert.strictEqual(verification.valid, true, 'Verification should be valid');
|
|
937
|
-
assert.strictEqual(verification.toolId, 'testool', 'Tool ID should match');
|
|
938
|
-
assert.strictEqual(verification.targetPath, targetDir, 'Target path should match');
|
|
939
|
-
assert.ok(verification.manifest, 'Should have manifest data');
|
|
940
|
-
assert.strictEqual(verification.issues.length, 0, 'Should have no issues');
|
|
941
|
-
});
|
|
942
|
-
|
|
943
|
-
// Test 37: verifyInstallation detects missing manifest
|
|
944
|
-
await test('verifyInstallation detects missing manifest', async () => {
|
|
945
|
-
targetDir = path.join(tempDir, 'verify-no-manifest-test');
|
|
946
|
-
|
|
947
|
-
// Create directory but no installation
|
|
948
|
-
await fs.promises.mkdir(targetDir, { recursive: true });
|
|
949
|
-
|
|
950
|
-
// Verify installation
|
|
951
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
952
|
-
|
|
953
|
-
assert.strictEqual(verification.valid, false, 'Verification should be invalid');
|
|
954
|
-
assert.ok(verification.issues.length > 0, 'Should have issues');
|
|
955
|
-
assert.ok(
|
|
956
|
-
verification.issues.some(i => i.message.includes('Manifest')),
|
|
957
|
-
'Should report missing manifest'
|
|
958
|
-
);
|
|
959
|
-
});
|
|
960
|
-
|
|
961
|
-
// Test 38: verifyInstallation detects missing files
|
|
962
|
-
await test('verifyInstallation detects missing files', async () => {
|
|
963
|
-
targetDir = path.join(tempDir, 'verify-missing-files-test');
|
|
964
|
-
|
|
965
|
-
// Install package
|
|
966
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
967
|
-
|
|
968
|
-
// Delete one agent file
|
|
969
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
970
|
-
const agentFiles = await fs.promises.readdir(agentsDir);
|
|
971
|
-
if (agentFiles.length > 0) {
|
|
972
|
-
await fs.promises.unlink(path.join(agentsDir, agentFiles[0]));
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
// Verify installation
|
|
976
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
977
|
-
|
|
978
|
-
assert.strictEqual(verification.valid, false, 'Verification should be invalid');
|
|
979
|
-
assert.ok(verification.issues.length > 0, 'Should have issues');
|
|
980
|
-
assert.ok(
|
|
981
|
-
verification.components.agents.missing.length > 0,
|
|
982
|
-
'Should report missing agents'
|
|
983
|
-
);
|
|
984
|
-
});
|
|
985
|
-
|
|
986
|
-
// Test 39: verifyInstallation includes component counts
|
|
987
|
-
await test('verifyInstallation includes component counts', async () => {
|
|
988
|
-
targetDir = path.join(tempDir, 'verify-components-test');
|
|
989
|
-
|
|
990
|
-
// Install package
|
|
991
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
992
|
-
|
|
993
|
-
// Verify installation
|
|
994
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
995
|
-
|
|
996
|
-
assert.ok(verification.components, 'Should have components');
|
|
997
|
-
assert.ok(verification.components.agents, 'Should have agents component');
|
|
998
|
-
assert.ok(verification.components.skills, 'Should have skills component');
|
|
999
|
-
assert.ok(verification.components.resources, 'Should have resources component');
|
|
1000
|
-
assert.ok(verification.components.hooks, 'Should have hooks component');
|
|
1001
|
-
|
|
1002
|
-
// Check component structure
|
|
1003
|
-
assert.ok('expected' in verification.components.agents, 'Should have expected count');
|
|
1004
|
-
assert.ok('found' in verification.components.agents, 'Should have found count');
|
|
1005
|
-
assert.ok('missing' in verification.components.agents, 'Should have missing array');
|
|
1006
|
-
});
|
|
1007
|
-
|
|
1008
|
-
// Test 40: verifyInstallation includes summary
|
|
1009
|
-
await test('verifyInstallation includes summary', async () => {
|
|
1010
|
-
targetDir = path.join(tempDir, 'verify-summary-test');
|
|
1011
|
-
|
|
1012
|
-
// Install package
|
|
1013
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1014
|
-
|
|
1015
|
-
// Verify installation
|
|
1016
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
1017
|
-
|
|
1018
|
-
assert.ok(verification.summary, 'Should have summary');
|
|
1019
|
-
assert.ok('totalExpected' in verification.summary, 'Should have totalExpected');
|
|
1020
|
-
assert.ok('totalFound' in verification.summary, 'Should have totalFound');
|
|
1021
|
-
assert.ok('totalMissing' in verification.summary, 'Should have totalMissing');
|
|
1022
|
-
assert.ok('issueCount' in verification.summary, 'Should have issueCount');
|
|
1023
|
-
assert.ok('warningCount' in verification.summary, 'Should have warningCount');
|
|
1024
|
-
});
|
|
1025
|
-
|
|
1026
|
-
// Test 41: verifyInstallation includes variant and version info
|
|
1027
|
-
await test('verifyInstallation includes variant and version info', async () => {
|
|
1028
|
-
targetDir = path.join(tempDir, 'verify-metadata-test');
|
|
1029
|
-
|
|
1030
|
-
// Install package
|
|
1031
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1032
|
-
|
|
1033
|
-
// Verify installation
|
|
1034
|
-
const verification = await installationEngine.verifyInstallation('testool', targetDir);
|
|
1035
|
-
|
|
1036
|
-
assert.ok(verification.variant, 'Should have variant');
|
|
1037
|
-
assert.strictEqual(verification.variant, 'standard', 'Variant should match');
|
|
1038
|
-
assert.ok(verification.version, 'Should have version');
|
|
1039
|
-
});
|
|
1040
|
-
|
|
1041
|
-
// ===================================
|
|
1042
|
-
// Tests 42-60: Uninstall Functionality
|
|
1043
|
-
// ===================================
|
|
1044
|
-
console.log(`\n${colors.cyan}${colors.bright}Uninstall Functionality Tests${colors.reset}`);
|
|
1045
|
-
|
|
1046
|
-
// Test 42: uninstall() detects missing manifest
|
|
1047
|
-
await test('uninstall() detects missing manifest and returns error', async () => {
|
|
1048
|
-
targetDir = path.join(tempDir, 'uninstall-no-manifest-test');
|
|
1049
|
-
await fs.promises.mkdir(targetDir, { recursive: true });
|
|
1050
|
-
|
|
1051
|
-
const result = await installationEngine.uninstall('testool', targetDir);
|
|
1052
|
-
|
|
1053
|
-
assert.strictEqual(result.success, false, 'Uninstall should fail');
|
|
1054
|
-
assert.ok(result.errors.length > 0, 'Should have errors');
|
|
1055
|
-
assert.ok(result.errors[0].includes('Manifest'), 'Error should mention manifest');
|
|
1056
|
-
});
|
|
1057
|
-
|
|
1058
|
-
// Test 43: uninstall() reads manifest and counts files
|
|
1059
|
-
await test('uninstall() reads manifest and calculates file count', async () => {
|
|
1060
|
-
targetDir = path.join(tempDir, 'uninstall-count-test');
|
|
1061
|
-
|
|
1062
|
-
// Install package
|
|
1063
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1064
|
-
|
|
1065
|
-
// Track confirmation info
|
|
1066
|
-
let confirmInfo = null;
|
|
1067
|
-
const confirmCallback = async (info) => {
|
|
1068
|
-
confirmInfo = info;
|
|
1069
|
-
return true; // Confirm uninstall
|
|
1070
|
-
};
|
|
1071
|
-
|
|
1072
|
-
// Uninstall
|
|
1073
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1074
|
-
|
|
1075
|
-
assert.ok(confirmInfo, 'Confirmation callback should be called');
|
|
1076
|
-
assert.strictEqual(confirmInfo.toolId, 'testool', 'Should pass tool ID');
|
|
1077
|
-
assert.ok(confirmInfo.fileCount > 0, 'Should calculate file count');
|
|
1078
|
-
assert.strictEqual(confirmInfo.variant, 'lite', 'Should pass variant');
|
|
1079
|
-
});
|
|
1080
|
-
|
|
1081
|
-
// Test 44: uninstall() respects user cancellation
|
|
1082
|
-
await test('uninstall() cancels when user declines confirmation', async () => {
|
|
1083
|
-
targetDir = path.join(tempDir, 'uninstall-cancel-test');
|
|
1084
|
-
|
|
1085
|
-
// Install package
|
|
1086
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1087
|
-
|
|
1088
|
-
// Decline confirmation
|
|
1089
|
-
const confirmCallback = async (info) => {
|
|
1090
|
-
return false; // Cancel uninstall
|
|
1091
|
-
};
|
|
1092
|
-
|
|
1093
|
-
// Uninstall
|
|
1094
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1095
|
-
|
|
1096
|
-
assert.strictEqual(result.success, false, 'Uninstall should not succeed');
|
|
1097
|
-
assert.ok(result.warnings.some(w => w.includes('cancelled')), 'Should have cancellation warning');
|
|
1098
|
-
|
|
1099
|
-
// Verify files still exist
|
|
1100
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
1101
|
-
assert.ok(fs.existsSync(manifestPath), 'Manifest should still exist');
|
|
1102
|
-
});
|
|
1103
|
-
|
|
1104
|
-
// Test 45: uninstall() creates backup before removing files
|
|
1105
|
-
await test('uninstall() creates backup before uninstalling', async () => {
|
|
1106
|
-
targetDir = path.join(tempDir, 'uninstall-backup-test');
|
|
1107
|
-
|
|
1108
|
-
// Install package
|
|
1109
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1110
|
-
|
|
1111
|
-
// Auto-confirm
|
|
1112
|
-
const confirmCallback = async () => true;
|
|
1113
|
-
|
|
1114
|
-
// Uninstall
|
|
1115
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1116
|
-
|
|
1117
|
-
assert.ok(result.backupPath, 'Should create backup');
|
|
1118
|
-
assert.ok(fs.existsSync(result.backupPath), 'Backup directory should exist');
|
|
1119
|
-
assert.ok(result.backupPath.includes('.uninstall-backup.'), 'Backup should have correct naming');
|
|
1120
|
-
|
|
1121
|
-
// Verify backup contains files
|
|
1122
|
-
const backupManifest = path.join(result.backupPath, 'manifest.json');
|
|
1123
|
-
assert.ok(fs.existsSync(backupManifest), 'Backup should contain manifest');
|
|
1124
|
-
});
|
|
1125
|
-
|
|
1126
|
-
// Test 46: uninstall() removes all installed files from Lite variant
|
|
1127
|
-
await test('uninstall() removes all files from Lite variant installation', async () => {
|
|
1128
|
-
targetDir = path.join(tempDir, 'uninstall-lite-test');
|
|
1129
|
-
|
|
1130
|
-
// Install package
|
|
1131
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1132
|
-
|
|
1133
|
-
// Verify installation exists
|
|
1134
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
1135
|
-
assert.ok(fs.existsSync(manifestPath), 'Installation should exist');
|
|
1136
|
-
|
|
1137
|
-
// Auto-confirm
|
|
1138
|
-
const confirmCallback = async () => true;
|
|
1139
|
-
|
|
1140
|
-
// Uninstall
|
|
1141
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1142
|
-
|
|
1143
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1144
|
-
assert.ok(result.filesRemoved > 0, 'Should remove files');
|
|
1145
|
-
|
|
1146
|
-
// Verify manifest is removed
|
|
1147
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed');
|
|
1148
|
-
|
|
1149
|
-
// Verify agent files are removed
|
|
1150
|
-
const masterAgent = path.join(targetDir, 'agents', 'master.md');
|
|
1151
|
-
assert.ok(!fs.existsSync(masterAgent), 'Agent files should be removed');
|
|
1152
|
-
});
|
|
1153
|
-
|
|
1154
|
-
// Test 47: uninstall() removes all files from Standard variant (including skills)
|
|
1155
|
-
await test('uninstall() removes all files from Standard variant including skills', async () => {
|
|
1156
|
-
targetDir = path.join(tempDir, 'uninstall-standard-test');
|
|
1157
|
-
|
|
1158
|
-
// Install package
|
|
1159
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1160
|
-
|
|
1161
|
-
// Verify skills exist
|
|
1162
|
-
const pdfSkill = path.join(targetDir, 'skills', 'pdf');
|
|
1163
|
-
assert.ok(fs.existsSync(pdfSkill), 'Skills should exist before uninstall');
|
|
1164
|
-
|
|
1165
|
-
// Auto-confirm
|
|
1166
|
-
const confirmCallback = async () => true;
|
|
1167
|
-
|
|
1168
|
-
// Uninstall
|
|
1169
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1170
|
-
|
|
1171
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1172
|
-
|
|
1173
|
-
// Verify skills are removed
|
|
1174
|
-
assert.ok(!fs.existsSync(pdfSkill), 'Skill directories should be removed');
|
|
1175
|
-
|
|
1176
|
-
// Verify agents are removed
|
|
1177
|
-
const masterAgent = path.join(targetDir, 'agents', 'master.md');
|
|
1178
|
-
assert.ok(!fs.existsSync(masterAgent), 'Agent files should be removed');
|
|
1179
|
-
});
|
|
1180
|
-
|
|
1181
|
-
// Test 48: uninstall() preserves user-created files
|
|
1182
|
-
await test('uninstall() preserves user-created files not in manifest', async () => {
|
|
1183
|
-
targetDir = path.join(tempDir, 'uninstall-preserve-test');
|
|
1184
|
-
|
|
1185
|
-
// Install package
|
|
1186
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1187
|
-
|
|
1188
|
-
// Create user files
|
|
1189
|
-
const userFile = path.join(targetDir, 'my-custom-file.txt');
|
|
1190
|
-
await fs.promises.writeFile(userFile, 'User content');
|
|
1191
|
-
|
|
1192
|
-
const userAgent = path.join(targetDir, 'agents', 'my-agent.md');
|
|
1193
|
-
await fs.promises.writeFile(userAgent, '# My Agent');
|
|
1194
|
-
|
|
1195
|
-
// Auto-confirm
|
|
1196
|
-
const confirmCallback = async () => true;
|
|
1197
|
-
|
|
1198
|
-
// Uninstall
|
|
1199
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1200
|
-
|
|
1201
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1202
|
-
|
|
1203
|
-
// Verify user files are preserved
|
|
1204
|
-
assert.ok(fs.existsSync(userFile), 'User file should be preserved');
|
|
1205
|
-
assert.ok(fs.existsSync(userAgent), 'User agent should be preserved');
|
|
1206
|
-
|
|
1207
|
-
// Verify installed files are removed
|
|
1208
|
-
const masterAgent = path.join(targetDir, 'agents', 'master.md');
|
|
1209
|
-
assert.ok(!fs.existsSync(masterAgent), 'Installed agent should be removed');
|
|
1210
|
-
});
|
|
1211
|
-
|
|
1212
|
-
// Test 49: uninstall() cleans up empty directories
|
|
1213
|
-
await test('uninstall() removes empty directories after file removal', async () => {
|
|
1214
|
-
targetDir = path.join(tempDir, 'uninstall-cleanup-test');
|
|
1215
|
-
|
|
1216
|
-
// Install lite variant (no skills)
|
|
1217
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1218
|
-
|
|
1219
|
-
// Auto-confirm
|
|
1220
|
-
const confirmCallback = async () => true;
|
|
1221
|
-
|
|
1222
|
-
// Uninstall
|
|
1223
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1224
|
-
|
|
1225
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1226
|
-
assert.ok(result.directoriesRemoved > 0, 'Should remove directories');
|
|
1227
|
-
|
|
1228
|
-
// Verify empty category directories are removed
|
|
1229
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
1230
|
-
const agentsDirExists = fs.existsSync(agentsDir);
|
|
1231
|
-
|
|
1232
|
-
if (agentsDirExists) {
|
|
1233
|
-
// If directory exists, it should be empty
|
|
1234
|
-
const items = await fs.promises.readdir(agentsDir);
|
|
1235
|
-
assert.strictEqual(items.length, 0, 'Agents directory should be empty if it exists');
|
|
1236
|
-
}
|
|
1237
|
-
});
|
|
1238
|
-
|
|
1239
|
-
// Test 50: uninstall() preserves directories with user files
|
|
1240
|
-
await test('uninstall() preserves directories containing user files', async () => {
|
|
1241
|
-
targetDir = path.join(tempDir, 'uninstall-preserve-dir-test');
|
|
1242
|
-
|
|
1243
|
-
// Install package
|
|
1244
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1245
|
-
|
|
1246
|
-
// Create user file in agents directory
|
|
1247
|
-
const userAgent = path.join(targetDir, 'agents', 'my-custom-agent.md');
|
|
1248
|
-
await fs.promises.writeFile(userAgent, '# My Custom Agent');
|
|
1249
|
-
|
|
1250
|
-
// Auto-confirm
|
|
1251
|
-
const confirmCallback = async () => true;
|
|
1252
|
-
|
|
1253
|
-
// Uninstall
|
|
1254
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1255
|
-
|
|
1256
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1257
|
-
|
|
1258
|
-
// Verify agents directory still exists (has user file)
|
|
1259
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
1260
|
-
assert.ok(fs.existsSync(agentsDir), 'Agents directory should be preserved');
|
|
1261
|
-
assert.ok(fs.existsSync(userAgent), 'User agent should still exist');
|
|
1262
|
-
|
|
1263
|
-
// Verify installed agents are removed
|
|
1264
|
-
const masterAgent = path.join(targetDir, 'agents', 'master.md');
|
|
1265
|
-
assert.ok(!fs.existsSync(masterAgent), 'Installed agents should be removed');
|
|
1266
|
-
});
|
|
1267
|
-
|
|
1268
|
-
// Test 51: uninstall() calls progress callback
|
|
1269
|
-
await test('uninstall() calls progress callback during file removal', async () => {
|
|
1270
|
-
targetDir = path.join(tempDir, 'uninstall-progress-test');
|
|
1271
|
-
|
|
1272
|
-
// Install package
|
|
1273
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1274
|
-
|
|
1275
|
-
const progressUpdates = [];
|
|
1276
|
-
const progressCallback = (progress) => {
|
|
1277
|
-
progressUpdates.push(progress);
|
|
1278
|
-
};
|
|
1279
|
-
|
|
1280
|
-
// Auto-confirm
|
|
1281
|
-
const confirmCallback = async () => true;
|
|
1282
|
-
|
|
1283
|
-
// Uninstall
|
|
1284
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback, progressCallback);
|
|
1285
|
-
|
|
1286
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1287
|
-
assert.ok(progressUpdates.length > 0, 'Progress callback should be called');
|
|
1288
|
-
|
|
1289
|
-
// Verify progress updates have correct structure
|
|
1290
|
-
const firstUpdate = progressUpdates[0];
|
|
1291
|
-
assert.ok(firstUpdate.type, 'Should have type');
|
|
1292
|
-
assert.ok(firstUpdate.category, 'Should have category');
|
|
1293
|
-
assert.ok(firstUpdate.name, 'Should have name');
|
|
1294
|
-
assert.ok(typeof firstUpdate.filesRemoved === 'number', 'Should have filesRemoved count');
|
|
1295
|
-
assert.ok(typeof firstUpdate.percentage === 'number', 'Should have percentage');
|
|
1296
|
-
});
|
|
1297
|
-
|
|
1298
|
-
// Test 52: uninstall() progress reaches 100%
|
|
1299
|
-
await test('uninstall() progress callback reaches 100% at completion', async () => {
|
|
1300
|
-
targetDir = path.join(tempDir, 'uninstall-progress-100-test');
|
|
1301
|
-
|
|
1302
|
-
// Install package
|
|
1303
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1304
|
-
|
|
1305
|
-
const progressUpdates = [];
|
|
1306
|
-
const progressCallback = (progress) => {
|
|
1307
|
-
progressUpdates.push(progress);
|
|
1308
|
-
};
|
|
1309
|
-
|
|
1310
|
-
// Auto-confirm
|
|
1311
|
-
const confirmCallback = async () => true;
|
|
1312
|
-
|
|
1313
|
-
// Uninstall
|
|
1314
|
-
await installationEngine.uninstall('testool', targetDir, confirmCallback, progressCallback);
|
|
1315
|
-
|
|
1316
|
-
// Verify last update is 100%
|
|
1317
|
-
const lastUpdate = progressUpdates[progressUpdates.length - 1];
|
|
1318
|
-
assert.strictEqual(lastUpdate.percentage, 100, 'Final progress should be 100%');
|
|
1319
|
-
});
|
|
1320
|
-
|
|
1321
|
-
// Test 53: uninstall() returns detailed result summary
|
|
1322
|
-
await test('uninstall() returns detailed result with counts and paths', async () => {
|
|
1323
|
-
targetDir = path.join(tempDir, 'uninstall-result-test');
|
|
1324
|
-
|
|
1325
|
-
// Install package
|
|
1326
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1327
|
-
|
|
1328
|
-
// Auto-confirm
|
|
1329
|
-
const confirmCallback = async () => true;
|
|
1330
|
-
|
|
1331
|
-
// Uninstall
|
|
1332
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1333
|
-
|
|
1334
|
-
assert.ok(result, 'Should return result object');
|
|
1335
|
-
assert.ok('success' in result, 'Should have success field');
|
|
1336
|
-
assert.ok('toolId' in result, 'Should have toolId field');
|
|
1337
|
-
assert.ok('targetPath' in result, 'Should have targetPath field');
|
|
1338
|
-
assert.ok('filesRemoved' in result, 'Should have filesRemoved field');
|
|
1339
|
-
assert.ok('directoriesRemoved' in result, 'Should have directoriesRemoved field');
|
|
1340
|
-
assert.ok('backupPath' in result, 'Should have backupPath field');
|
|
1341
|
-
assert.ok('errors' in result, 'Should have errors array');
|
|
1342
|
-
assert.ok('warnings' in result, 'Should have warnings array');
|
|
1343
|
-
assert.ok('timestamp' in result, 'Should have timestamp');
|
|
1344
|
-
|
|
1345
|
-
assert.strictEqual(result.success, true, 'Should succeed');
|
|
1346
|
-
assert.strictEqual(result.toolId, 'testool', 'Should have correct tool ID');
|
|
1347
|
-
assert.ok(result.filesRemoved > 0, 'Should have removed files');
|
|
1348
|
-
});
|
|
1349
|
-
|
|
1350
|
-
// Test 54: uninstall() handles missing files gracefully
|
|
1351
|
-
await test('uninstall() handles missing files with warnings', async () => {
|
|
1352
|
-
targetDir = path.join(tempDir, 'uninstall-missing-test');
|
|
1353
|
-
|
|
1354
|
-
// Install package
|
|
1355
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1356
|
-
|
|
1357
|
-
// Delete one agent file manually
|
|
1358
|
-
const agentPath = path.join(targetDir, 'agents', 'master.md');
|
|
1359
|
-
await fs.promises.unlink(agentPath);
|
|
1360
|
-
|
|
1361
|
-
// Auto-confirm
|
|
1362
|
-
const confirmCallback = async () => true;
|
|
1363
|
-
|
|
1364
|
-
// Uninstall
|
|
1365
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1366
|
-
|
|
1367
|
-
assert.strictEqual(result.success, true, 'Uninstall should still succeed');
|
|
1368
|
-
assert.ok(result.warnings.length > 0, 'Should have warnings for missing files');
|
|
1369
|
-
assert.ok(result.warnings.some(w => w.includes('not found')), 'Should warn about missing file');
|
|
1370
|
-
});
|
|
1371
|
-
|
|
1372
|
-
// Test 55: uninstall() works without confirmation callback
|
|
1373
|
-
await test('uninstall() works without confirmation callback (skips confirmation)', async () => {
|
|
1374
|
-
targetDir = path.join(tempDir, 'uninstall-no-confirm-test');
|
|
1375
|
-
|
|
1376
|
-
// Install package
|
|
1377
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1378
|
-
|
|
1379
|
-
// Uninstall without confirmation callback
|
|
1380
|
-
const result = await installationEngine.uninstall('testool', targetDir);
|
|
1381
|
-
|
|
1382
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1383
|
-
|
|
1384
|
-
// Verify files are removed
|
|
1385
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
1386
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed');
|
|
1387
|
-
});
|
|
1388
|
-
|
|
1389
|
-
// Test 56: uninstall() works without progress callback
|
|
1390
|
-
await test('uninstall() works without progress callback', async () => {
|
|
1391
|
-
targetDir = path.join(tempDir, 'uninstall-no-progress-test');
|
|
1392
|
-
|
|
1393
|
-
// Install package
|
|
1394
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1395
|
-
|
|
1396
|
-
// Auto-confirm
|
|
1397
|
-
const confirmCallback = async () => true;
|
|
1398
|
-
|
|
1399
|
-
// Uninstall without progress callback
|
|
1400
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1401
|
-
|
|
1402
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1403
|
-
});
|
|
1404
|
-
|
|
1405
|
-
// Test 57: uninstall() handles Pro variant with many files
|
|
1406
|
-
await test('uninstall() successfully removes Pro variant with many files', async () => {
|
|
1407
|
-
targetDir = path.join(tempDir, 'uninstall-pro-test');
|
|
1408
|
-
|
|
1409
|
-
// Install Pro variant
|
|
1410
|
-
await installationEngine.installPackage('testool', 'pro', targetDir);
|
|
1411
|
-
|
|
1412
|
-
// Auto-confirm
|
|
1413
|
-
const confirmCallback = async () => true;
|
|
1414
|
-
|
|
1415
|
-
// Uninstall
|
|
1416
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1417
|
-
|
|
1418
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1419
|
-
assert.ok(result.filesRemoved > 15, 'Pro variant should remove many files');
|
|
1420
|
-
|
|
1421
|
-
// Verify all components are removed
|
|
1422
|
-
const manifestPath = path.join(targetDir, 'manifest.json');
|
|
1423
|
-
assert.ok(!fs.existsSync(manifestPath), 'Manifest should be removed');
|
|
1424
|
-
});
|
|
1425
|
-
|
|
1426
|
-
// Test 58: uninstall() counts files in skill directories correctly
|
|
1427
|
-
await test('uninstall() correctly counts files inside skill directories', async () => {
|
|
1428
|
-
targetDir = path.join(tempDir, 'uninstall-skill-count-test');
|
|
1429
|
-
|
|
1430
|
-
// Install Standard variant (has skills)
|
|
1431
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1432
|
-
|
|
1433
|
-
// Track confirmation info
|
|
1434
|
-
let fileCount = 0;
|
|
1435
|
-
const confirmCallback = async (info) => {
|
|
1436
|
-
fileCount = info.fileCount;
|
|
1437
|
-
return true;
|
|
1438
|
-
};
|
|
1439
|
-
|
|
1440
|
-
// Uninstall
|
|
1441
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1442
|
-
|
|
1443
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1444
|
-
assert.ok(fileCount > 0, 'Should count files');
|
|
1445
|
-
|
|
1446
|
-
// File count should include files inside skill directories
|
|
1447
|
-
// Standard has 13 agents + files in 2 skills + resources + hooks + manifest
|
|
1448
|
-
assert.ok(fileCount >= 15, 'Should count files inside skill directories');
|
|
1449
|
-
});
|
|
1450
|
-
|
|
1451
|
-
// Test 59: uninstall() reports errors for permission issues
|
|
1452
|
-
await test('uninstall() handles and reports errors during removal', async () => {
|
|
1453
|
-
targetDir = path.join(tempDir, 'uninstall-error-test');
|
|
1454
|
-
|
|
1455
|
-
// Install package
|
|
1456
|
-
await installationEngine.installPackage('testool', 'lite', targetDir);
|
|
1457
|
-
|
|
1458
|
-
// Make a file read-only to simulate permission error (on Unix-like systems)
|
|
1459
|
-
const agentPath = path.join(targetDir, 'agents', 'master.md');
|
|
1460
|
-
if (fs.existsSync(agentPath)) {
|
|
1461
|
-
// This test might not work on all systems, so we'll be lenient
|
|
1462
|
-
try {
|
|
1463
|
-
await fs.promises.chmod(path.dirname(agentPath), 0o444); // Read-only directory
|
|
1464
|
-
} catch (error) {
|
|
1465
|
-
// Skip this test if we can't set permissions
|
|
1466
|
-
console.log(' (Skipping permission test - not supported on this system)');
|
|
1467
|
-
return;
|
|
1468
|
-
}
|
|
1469
|
-
|
|
1470
|
-
// Auto-confirm
|
|
1471
|
-
const confirmCallback = async () => true;
|
|
1472
|
-
|
|
1473
|
-
// Uninstall (might fail on some files)
|
|
1474
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1475
|
-
|
|
1476
|
-
// Restore permissions for cleanup
|
|
1477
|
-
await fs.promises.chmod(path.dirname(agentPath), 0o755);
|
|
1478
|
-
|
|
1479
|
-
// The result might have errors
|
|
1480
|
-
// We're mainly testing that it doesn't crash
|
|
1481
|
-
assert.ok(result, 'Should return a result even with errors');
|
|
1482
|
-
}
|
|
1483
|
-
});
|
|
1484
|
-
|
|
1485
|
-
// Test 60: uninstall() backup contains complete installation
|
|
1486
|
-
await test('uninstall() backup contains complete copy of installation', async () => {
|
|
1487
|
-
targetDir = path.join(tempDir, 'uninstall-backup-complete-test');
|
|
1488
|
-
|
|
1489
|
-
// Install package
|
|
1490
|
-
await installationEngine.installPackage('testool', 'standard', targetDir);
|
|
1491
|
-
|
|
1492
|
-
// Count files before uninstall
|
|
1493
|
-
const filesBefore = await countFilesRecursive(targetDir);
|
|
1494
|
-
|
|
1495
|
-
// Auto-confirm
|
|
1496
|
-
const confirmCallback = async () => true;
|
|
1497
|
-
|
|
1498
|
-
// Uninstall
|
|
1499
|
-
const result = await installationEngine.uninstall('testool', targetDir, confirmCallback);
|
|
1500
|
-
|
|
1501
|
-
assert.strictEqual(result.success, true, 'Uninstall should succeed');
|
|
1502
|
-
assert.ok(result.backupPath, 'Should create backup');
|
|
1503
|
-
|
|
1504
|
-
// Count files in backup
|
|
1505
|
-
const filesInBackup = await countFilesRecursive(result.backupPath);
|
|
1506
|
-
|
|
1507
|
-
assert.strictEqual(filesInBackup, filesBefore, 'Backup should contain all original files');
|
|
1508
|
-
|
|
1509
|
-
// Verify backup has manifest
|
|
1510
|
-
const backupManifest = path.join(result.backupPath, 'manifest.json');
|
|
1511
|
-
assert.ok(fs.existsSync(backupManifest), 'Backup should have manifest');
|
|
1512
|
-
});
|
|
1513
|
-
|
|
1514
|
-
} finally {
|
|
1515
|
-
// Cleanup
|
|
1516
|
-
if (tempDir) {
|
|
1517
|
-
await cleanupTempDir(tempDir);
|
|
1518
|
-
}
|
|
1519
|
-
}
|
|
1520
|
-
|
|
1521
|
-
// Print summary
|
|
1522
|
-
console.log(`\n${colors.bright}Test Summary${colors.reset}`);
|
|
1523
|
-
console.log(`Total: ${totalTests}`);
|
|
1524
|
-
console.log(`${colors.green}Passed: ${passedTests}${colors.reset}`);
|
|
1525
|
-
console.log(`${colors.red}Failed: ${failedTests}${colors.reset}`);
|
|
1526
|
-
|
|
1527
|
-
if (failedTests === 0) {
|
|
1528
|
-
console.log(`\n${colors.green}${colors.bright}All tests passed!${colors.reset}\n`);
|
|
1529
|
-
} else {
|
|
1530
|
-
console.log(`\n${colors.red}${colors.bright}Some tests failed.${colors.reset}\n`);
|
|
1531
|
-
process.exit(1);
|
|
1532
|
-
}
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
// Run tests
|
|
1536
|
-
runTests().catch(error => {
|
|
1537
|
-
console.error(`${colors.red}Fatal error running tests: ${error.message}${colors.reset}`);
|
|
1538
|
-
console.error(error.stack);
|
|
1539
|
-
process.exit(1);
|
|
1540
|
-
});
|