appiq-solution 1.4.8 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -48
- package/bmad-core/agent-teams/team-fullstack.yaml +1 -11
- package/bmad-core/agents/analyst.md +3 -7
- package/bmad-core/agents/architect.md +0 -6
- package/bmad-core/agents/dev.md +5 -24
- package/bmad-core/agents/pm.md +3 -7
- package/bmad-core/agents/qa.md +0 -17
- package/bmad-core/agents/sm.md +3 -8
- package/bmad-core/agents/ux-expert.md +3 -8
- package/bmad-core/data/technical-preferences.md +1 -147
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +5 -12
- package/bmad-core/workflows/brownfield-fullstack.yaml +1 -15
- package/bmad-core/workflows/greenfield-fullstack.yaml +5 -49
- package/bmad-core/working-in-the-brownfield.md +10 -19
- package/dist/agents/bmad-orchestrator.txt +0 -111
- package/dist/agents/pm.txt +2 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
- package/dist/teams/team-all.txt +2 -111
- package/dist/teams/team-fullstack.txt +2 -111
- package/dist/teams/team-ide-minimal.txt +0 -111
- package/dist/teams/team-no-ui.txt +2 -111
- package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/config.yaml +1 -0
- package/package.json +60 -18
- package/tools/cli.js +3 -3
- package/tools/installer/lib/ide-setup.js +11 -0
- package/tools/installer/package-lock.json +2 -2
- package/#NEW APP PROMPT/ARCHITECTURE.md +0 -279
- package/#NEW APP PROMPT/ARCHITECTURE_UNIFIED.md +0 -414
- package/#NEW APP PROMPT/accesibility_prompt.md +0 -103
- package/#NEW APP PROMPT/clean-code.mdc +0 -55
- package/#NEW APP PROMPT/codequality.mdc +0 -47
- package/#NEW APP PROMPT/flutter-ai-rules/LICENSE +0 -21
- package/#NEW APP PROMPT/flutter-ai-rules/README.md +0 -104
- package/#NEW APP PROMPT/flutter-ai-rules/combined/README.md +0 -25
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart.md +0 -192
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart__under_6K.md +0 -99
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail.md +0 -308
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail__under_6K.md +0 -87
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier.md +0 -254
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier__under_6K.md +0 -98
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider.md +0 -261
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider__under_6K.md +0 -105
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito.md +0 -371
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito__under_6K.md +0 -92
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc.md +0 -287
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc__under_6K.md +0 -68
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod.md +0 -375
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod__under_6K.md +0 -106
- package/#NEW APP PROMPT/flutter-ai-rules/media/flutter_ai_rules.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_01.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_02.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/bloc.md +0 -94
- package/#NEW APP PROMPT/flutter-ai-rules/rules/dart_3_updates.md +0 -93
- package/#NEW APP PROMPT/flutter-ai-rules/rules/effective_dart.md +0 -105
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_app_architecture.md +0 -57
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_change_notifier.md +0 -62
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_errors.md +0 -11
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mockito.md +0 -31
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mocktail.md +0 -24
- package/#NEW APP PROMPT/flutter-ai-rules/rules/provider.md +0 -69
- package/#NEW APP PROMPT/flutter-ai-rules/rules/riverpod.md +0 -188
- package/#NEW APP PROMPT/generate ssh.md +0 -4
- package/#NEW APP PROMPT/project_ai_prompt.md +0 -544
- package/#Tools/APPIQ-METHOD/.bmad-config.json +0 -13
- package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +0 -27
- package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +0 -855
- package/#Tools/APPIQ-METHOD/NPM-README.md +0 -138
- package/#Tools/APPIQ-METHOD/README.md +0 -107
- package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +0 -401
- package/#Tools/APPIQ-METHOD/activate-appiq.js +0 -81
- package/#Tools/APPIQ-METHOD/appiq-solution/README.md +0 -226
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-all.yaml +0 -14
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +0 -28
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +0 -85
- package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +0 -90
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-master.md +0 -108
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -150
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +0 -170
- package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +0 -95
- package/#Tools/APPIQ-METHOD/bmad-core/agents/init-flow-po.md +0 -143
- package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +0 -85
- package/#Tools/APPIQ-METHOD/bmad-core/agents/po.md +0 -76
- package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +0 -86
- package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +0 -67
- package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +0 -71
- package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/architect-checklist.md +0 -443
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/change-checklist.md +0 -182
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/pm-checklist.md +0 -375
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/po-master-checklist.md +0 -441
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +0 -332
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-dod-checklist.md +0 -101
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-draft-checklist.md +0 -156
- package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml +0 -20
- package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml.bak +0 -20
- package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +0 -686
- package/#Tools/APPIQ-METHOD/bmad-core/data/bmad-kb.md +0 -803
- package/#Tools/APPIQ-METHOD/bmad-core/data/brainstorming-techniques.md +0 -36
- package/#Tools/APPIQ-METHOD/bmad-core/data/elicitation-methods.md +0 -134
- package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +0 -388
- package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +0 -149
- package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +0 -43
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-epic.md +0 -160
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-story.md +0 -147
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/correct-course.md +0 -70
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-brownfield-story.md +0 -304
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-deep-research-prompt.md +0 -289
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +0 -197
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-next-story.md +0 -112
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/document-project.md +0 -341
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/index-docs.md +0 -179
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +0 -234
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/kb-mode-interaction.md +0 -75
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/review-story.md +0 -145
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/shard-doc.md +0 -187
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +0 -289
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/validate-next-story.md +0 -134
- package/#Tools/APPIQ-METHOD/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/#Tools/APPIQ-METHOD/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
- package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
- package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -812
- package/#Tools/APPIQ-METHOD/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/#Tools/APPIQ-METHOD/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/#Tools/APPIQ-METHOD/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/#Tools/APPIQ-METHOD/bmad-core/templates/story-tmpl.yaml +0 -137
- package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +0 -251
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +0 -311
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +0 -284
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +0 -373
- package/#Tools/APPIQ-METHOD/commands/README.md +0 -28
- package/#Tools/APPIQ-METHOD/commands/analyze.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/appiq.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/help.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/story.md +0 -27
- package/#Tools/APPIQ-METHOD/dist/agents/analyst.txt +0 -2882
- package/#Tools/APPIQ-METHOD/dist/agents/architect.txt +0 -3543
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-master.txt +0 -8756
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -1490
- package/#Tools/APPIQ-METHOD/dist/agents/dev.txt +0 -428
- package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +0 -2229
- package/#Tools/APPIQ-METHOD/dist/agents/po.txt +0 -1364
- package/#Tools/APPIQ-METHOD/dist/agents/qa.txt +0 -386
- package/#Tools/APPIQ-METHOD/dist/agents/sm.txt +0 -668
- package/#Tools/APPIQ-METHOD/dist/agents/ux-expert.txt +0 -701
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2408
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1631
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -822
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10989
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4047
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3744
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -465
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -990
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15467
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2077
- package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +0 -11062
- package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +0 -10392
- package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -3507
- package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +0 -8951
- package/#Tools/APPIQ-METHOD/install-appiq.sh +0 -41
- package/#Tools/APPIQ-METHOD/package-lock.json +0 -631
- package/#Tools/APPIQ-METHOD/package.json +0 -44
- package/#Tools/APPIQ-METHOD/tasks/todo.md +0 -275
- package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +0 -2711
- package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +0 -39
- package/#Tools/APPIQ-METHOD/tools/builders/web-builder.js +0 -681
- package/#Tools/APPIQ-METHOD/tools/bump-all-versions.js +0 -106
- package/#Tools/APPIQ-METHOD/tools/bump-expansion-version.js +0 -83
- package/#Tools/APPIQ-METHOD/tools/cli.js +0 -152
- package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +0 -536
- package/#Tools/APPIQ-METHOD/tools/flattener/main.js +0 -570
- package/#Tools/APPIQ-METHOD/tools/installer/README.md +0 -8
- package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +0 -483
- package/#Tools/APPIQ-METHOD/tools/installer/config/ide-agent-config.yaml +0 -58
- package/#Tools/APPIQ-METHOD/tools/installer/config/install.config.yaml +0 -92
- package/#Tools/APPIQ-METHOD/tools/installer/lib/config-loader.js +0 -253
- package/#Tools/APPIQ-METHOD/tools/installer/lib/file-manager.js +0 -411
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-base-setup.js +0 -227
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-setup.js +0 -1096
- package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +0 -1772
- package/#Tools/APPIQ-METHOD/tools/installer/lib/memory-profiler.js +0 -224
- package/#Tools/APPIQ-METHOD/tools/installer/lib/module-manager.js +0 -110
- package/#Tools/APPIQ-METHOD/tools/installer/lib/resource-locator.js +0 -310
- package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +0 -906
- package/#Tools/APPIQ-METHOD/tools/installer/package.json +0 -43
- package/#Tools/APPIQ-METHOD/tools/lib/dependency-resolver.js +0 -179
- package/#Tools/APPIQ-METHOD/tools/lib/yaml-utils.js +0 -29
- package/#Tools/APPIQ-METHOD/tools/md-assets/web-agent-startup-instructions.md +0 -39
- package/#Tools/APPIQ-METHOD/tools/semantic-release-sync-installer.js +0 -30
- package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +0 -348
- package/#Tools/APPIQ-METHOD/tools/smart-installer.js +0 -592
- package/#Tools/APPIQ-METHOD/tools/sync-installer-version.js +0 -34
- package/#Tools/APPIQ-METHOD/tools/update-expansion-version.js +0 -54
- package/#Tools/APPIQ-METHOD/tools/upgraders/v3-to-v4-upgrader.js +0 -763
- package/#Tools/APPIQ-METHOD/tools/version-bump.js +0 -79
- package/#Tools/APPIQ-METHOD/tools/yaml-format.js +0 -240
- package/#Tools/SkyReels-V2/.pre-commit-config.yaml +0 -25
- package/#Tools/SkyReels-V2/LICENSE.txt +0 -38
- package/#Tools/SkyReels-V2/README.md +0 -766
- package/#Tools/SkyReels-V2/generate_video.py +0 -161
- package/#Tools/SkyReels-V2/generate_video_df.py +0 -220
- package/#Tools/SkyReels-V2/requirements.txt +0 -16
- package/#Tools/SkyReels-V2/skycaptioner_v1/README.md +0 -278
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test.csv +0 -5
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test_result.csv +0 -5
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_fusion_caption.sh +0 -9
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_struct_caption.sh +0 -8
- package/#Tools/SkyReels-V2/skycaptioner_v1/requirements.txt +0 -3
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_fusion_caption.py +0 -146
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_struct_caption.py +0 -92
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/utils.py +0 -19
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_fusion_caption.py +0 -256
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_struct_caption.py +0 -156
- package/#Tools/SkyReels-V2/skyreels_v2_infer/__init__.py +0 -1
- package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/__init__.py +0 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/xdit_context_parallel.py +0 -286
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/__init__.py +0 -69
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/attention.py +0 -179
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/clip.py +0 -525
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/t5.py +0 -454
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/tokenizers.py +0 -78
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/transformer.py +0 -839
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/vae.py +0 -639
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/xlm_roberta.py +0 -165
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/__init__.py +0 -5
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/diffusion_forcing_pipeline.py +0 -659
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/image2video_pipeline.py +0 -156
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/prompt_enhancer.py +0 -65
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/text2video_pipeline.py +0 -110
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/__init__.py +0 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/fm_solvers_unipc.py +0 -759
- package/#Tools/SuperClaude/.claude/commands/analyze.md +0 -36
- package/#Tools/SuperClaude/.claude/commands/build.md +0 -35
- package/#Tools/SuperClaude/.claude/commands/cleanup.md +0 -46
- package/#Tools/SuperClaude/.claude/commands/deploy.md +0 -55
- package/#Tools/SuperClaude/.claude/commands/design.md +0 -91
- package/#Tools/SuperClaude/.claude/commands/dev-setup.md +0 -37
- package/#Tools/SuperClaude/.claude/commands/document.md +0 -99
- package/#Tools/SuperClaude/.claude/commands/estimate.md +0 -69
- package/#Tools/SuperClaude/.claude/commands/explain.md +0 -85
- package/#Tools/SuperClaude/.claude/commands/git.md +0 -47
- package/#Tools/SuperClaude/.claude/commands/improve.md +0 -162
- package/#Tools/SuperClaude/.claude/commands/index.md +0 -159
- package/#Tools/SuperClaude/.claude/commands/load.md +0 -65
- package/#Tools/SuperClaude/.claude/commands/migrate.md +0 -76
- package/#Tools/SuperClaude/.claude/commands/scan.md +0 -163
- package/#Tools/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
- package/#Tools/SuperClaude/.claude/commands/shared/audit.yml +0 -21
- package/#Tools/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
- package/#Tools/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
- package/#Tools/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
- package/#Tools/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
- package/#Tools/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
- package/#Tools/SuperClaude/.claude/commands/shared/constants.yml +0 -311
- package/#Tools/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
- package/#Tools/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
- package/#Tools/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
- package/#Tools/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
- package/#Tools/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
- package/#Tools/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
- package/#Tools/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
- package/#Tools/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
- package/#Tools/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
- package/#Tools/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
- package/#Tools/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
- package/#Tools/SuperClaude/.claude/commands/shared/performance.yml +0 -317
- package/#Tools/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
- package/#Tools/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
- package/#Tools/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
- package/#Tools/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
- package/#Tools/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
- package/#Tools/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
- package/#Tools/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
- package/#Tools/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
- package/#Tools/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
- package/#Tools/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
- package/#Tools/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
- package/#Tools/SuperClaude/.claude/commands/shared/validation.yml +0 -54
- package/#Tools/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
- package/#Tools/SuperClaude/.claude/commands/spawn.md +0 -106
- package/#Tools/SuperClaude/.claude/commands/task.md +0 -110
- package/#Tools/SuperClaude/.claude/commands/test.md +0 -67
- package/#Tools/SuperClaude/.claude/commands/troubleshoot.md +0 -93
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
- package/#Tools/SuperClaude/.github/pull_request_template.md +0 -62
- package/#Tools/SuperClaude/CHANGELOG.md +0 -109
- package/#Tools/SuperClaude/CLAUDE.md +0 -95
- package/#Tools/SuperClaude/CODE_OF_CONDUCT.md +0 -45
- package/#Tools/SuperClaude/CONTRIBUTING.md +0 -225
- package/#Tools/SuperClaude/Commands_Cheat_Sheet.md +0 -160
- package/#Tools/SuperClaude/LICENSE +0 -21
- package/#Tools/SuperClaude/MCP.md +0 -117
- package/#Tools/SuperClaude/PERSONAS.md +0 -115
- package/#Tools/SuperClaude/README.md +0 -249
- package/#Tools/SuperClaude/RULES.md +0 -220
- package/#Tools/SuperClaude/SECURITY.md +0 -91
- package/#Tools/SuperClaude/install.sh +0 -296
- package/#Tools/claude-talk-to-figma-mcp/.github/workflows/test.yml +0 -36
- package/#Tools/claude-talk-to-figma-mcp/CHANGELOG.md +0 -88
- package/#Tools/claude-talk-to-figma-mcp/Dockerfile +0 -16
- package/#Tools/claude-talk-to-figma-mcp/LICENSE +0 -22
- package/#Tools/claude-talk-to-figma-mcp/TESTING.md +0 -216
- package/#Tools/claude-talk-to-figma-mcp/bun.lock +0 -964
- package/#Tools/claude-talk-to-figma-mcp/context/01/00-analisis.md +0 -151
- package/#Tools/claude-talk-to-figma-mcp/context/01/01-tools-refactor.md +0 -370
- package/#Tools/claude-talk-to-figma-mcp/context/01/02-tools-refactor-backlog.md +0 -253
- package/#Tools/claude-talk-to-figma-mcp/context/01/03-tools-refactor-test.md +0 -138
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-channel-error.md +0 -133
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-test-backlog.md +0 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/05-tools-refactor-four-tools-error.md +0 -356
- package/#Tools/claude-talk-to-figma-mcp/context/01/06-tools-refactor-four-tools-error-backlog.md +0 -425
- package/#Tools/claude-talk-to-figma-mcp/context/01/prompt-dev-nodejs-bun.md +0 -105
- package/#Tools/claude-talk-to-figma-mcp/context/01-prompt.md +0 -135
- package/#Tools/claude-talk-to-figma-mcp/context/02/00-analisis.md +0 -131
- package/#Tools/claude-talk-to-figma-mcp/context/02/01-plan.md +0 -162
- package/#Tools/claude-talk-to-figma-mcp/context/02/02-backlog.md +0 -241
- package/#Tools/claude-talk-to-figma-mcp/context/02-analisis.md +0 -202
- package/#Tools/claude-talk-to-figma-mcp/context/99-notas.md +0 -139
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-analisis.md +0 -221
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-claude-tests.md +0 -152
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-npm-publishing.md +0 -272
- package/#Tools/claude-talk-to-figma-mcp/images/claude-talk-to-figma.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/images/mcp-figma-plugin-configuration.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/jest.config.cjs +0 -25
- package/#Tools/claude-talk-to-figma-mcp/package.json +0 -67
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-es.md +0 -82
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-gal.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-pt.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-specialist.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/readme.md +0 -307
- package/#Tools/claude-talk-to-figma-mcp/scripts/configure-claude.js +0 -90
- package/#Tools/claude-talk-to-figma-mcp/scripts/setup.sh +0 -30
- package/#Tools/claude-talk-to-figma-mcp/scripts/test-integration.js +0 -339
- package/#Tools/claude-talk-to-figma-mcp/smithery.yaml +0 -26
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/code.js +0 -3295
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/manifest.json +0 -24
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/setcharacters.js +0 -215
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/ui.html +0 -656
- package/#Tools/claude-talk-to-figma-mcp/src/socket.ts +0 -349
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/bun.lock +0 -246
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/config/config.ts +0 -22
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/package.json +0 -31
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/prompts/index.ts +0 -297
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/server.ts +0 -62
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/component-tools.ts +0 -48
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/creation-tools.ts +0 -620
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/document-tools.ts +0 -390
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/index.ts +0 -28
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/modification-tools.ts +0 -408
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/text-tools.ts +0 -531
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tsconfig.json +0 -18
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/color.ts +0 -13
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/index.ts +0 -87
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/defaults.ts +0 -23
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/figma-helpers.ts +0 -142
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/logger.ts +0 -8
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/websocket.ts +0 -258
- package/#Tools/claude-talk-to-figma-mcp/tests/fixtures/test-data.ts +0 -32
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-fill-color.test.ts +0 -309
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-stroke-color.test.ts +0 -387
- package/#Tools/claude-talk-to-figma-mcp/tests/setup.ts +0 -7
- package/#Tools/claude-talk-to-figma-mcp/tests/unit/utils/defaults.test.ts +0 -131
- package/#Tools/claude-talk-to-figma-mcp/tsconfig.json +0 -17
- package/#Tools/claude-talk-to-figma-mcp/tsup.config.ts +0 -14
- package/#Tools/jwt creator/AuthKey_MZ7UQGFV2Q.p8 +0 -6
- package/#Tools/jwt creator/generate_apple_jwt.js +0 -18
- package/#Tools/jwt creator/node_modules/.package-lock.json +0 -145
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/.travis.yml +0 -4
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/LICENSE.txt +0 -12
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/README.md +0 -50
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/index.js +0 -41
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/package.json +0 -21
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/test.js +0 -42
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/CODEOWNERS +0 -1
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/LICENSE +0 -201
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/README.md +0 -65
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/package.json +0 -46
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +0 -17
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +0 -187
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +0 -23
- package/#Tools/jwt creator/node_modules/jsonwebtoken/LICENSE +0 -21
- package/#Tools/jwt creator/node_modules/jsonwebtoken/README.md +0 -396
- package/#Tools/jwt creator/node_modules/jsonwebtoken/decode.js +0 -30
- package/#Tools/jwt creator/node_modules/jsonwebtoken/index.js +0 -8
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +0 -14
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/NotBeforeError.js +0 -13
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/TokenExpiredError.js +0 -13
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/psSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/timespan.js +0 -18
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +0 -66
- package/#Tools/jwt creator/node_modules/jsonwebtoken/package.json +0 -71
- package/#Tools/jwt creator/node_modules/jsonwebtoken/sign.js +0 -253
- package/#Tools/jwt creator/node_modules/jsonwebtoken/verify.js +0 -263
- package/#Tools/jwt creator/node_modules/jwa/LICENSE +0 -17
- package/#Tools/jwt creator/node_modules/jwa/README.md +0 -150
- package/#Tools/jwt creator/node_modules/jwa/index.js +0 -266
- package/#Tools/jwt creator/node_modules/jwa/package.json +0 -37
- package/#Tools/jwt creator/node_modules/jws/CHANGELOG.md +0 -34
- package/#Tools/jwt creator/node_modules/jws/LICENSE +0 -17
- package/#Tools/jwt creator/node_modules/jws/index.js +0 -22
- package/#Tools/jwt creator/node_modules/jws/lib/data-stream.js +0 -55
- package/#Tools/jwt creator/node_modules/jws/lib/sign-stream.js +0 -78
- package/#Tools/jwt creator/node_modules/jws/lib/tostring.js +0 -10
- package/#Tools/jwt creator/node_modules/jws/lib/verify-stream.js +0 -120
- package/#Tools/jwt creator/node_modules/jws/package.json +0 -34
- package/#Tools/jwt creator/node_modules/jws/readme.md +0 -255
- package/#Tools/jwt creator/node_modules/lodash.includes/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.includes/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.includes/index.js +0 -745
- package/#Tools/jwt creator/node_modules/lodash.includes/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isboolean/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isboolean/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isboolean/index.js +0 -70
- package/#Tools/jwt creator/node_modules/lodash.isboolean/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isinteger/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.isinteger/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isinteger/index.js +0 -265
- package/#Tools/jwt creator/node_modules/lodash.isinteger/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isnumber/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isnumber/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isnumber/index.js +0 -79
- package/#Tools/jwt creator/node_modules/lodash.isnumber/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/index.js +0 -139
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isstring/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isstring/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isstring/index.js +0 -95
- package/#Tools/jwt creator/node_modules/lodash.isstring/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.once/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.once/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.once/index.js +0 -294
- package/#Tools/jwt creator/node_modules/lodash.once/package.json +0 -17
- package/#Tools/jwt creator/node_modules/ms/index.js +0 -162
- package/#Tools/jwt creator/node_modules/ms/license.md +0 -21
- package/#Tools/jwt creator/node_modules/ms/package.json +0 -38
- package/#Tools/jwt creator/node_modules/ms/readme.md +0 -59
- package/#Tools/jwt creator/node_modules/safe-buffer/LICENSE +0 -21
- package/#Tools/jwt creator/node_modules/safe-buffer/README.md +0 -584
- package/#Tools/jwt creator/node_modules/safe-buffer/index.d.ts +0 -187
- package/#Tools/jwt creator/node_modules/safe-buffer/index.js +0 -65
- package/#Tools/jwt creator/node_modules/safe-buffer/package.json +0 -51
- package/#Tools/jwt creator/node_modules/semver/LICENSE +0 -15
- package/#Tools/jwt creator/node_modules/semver/README.md +0 -664
- package/#Tools/jwt creator/node_modules/semver/bin/semver.js +0 -191
- package/#Tools/jwt creator/node_modules/semver/classes/comparator.js +0 -143
- package/#Tools/jwt creator/node_modules/semver/classes/index.js +0 -7
- package/#Tools/jwt creator/node_modules/semver/classes/range.js +0 -556
- package/#Tools/jwt creator/node_modules/semver/classes/semver.js +0 -319
- package/#Tools/jwt creator/node_modules/semver/functions/clean.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/functions/cmp.js +0 -54
- package/#Tools/jwt creator/node_modules/semver/functions/coerce.js +0 -62
- package/#Tools/jwt creator/node_modules/semver/functions/compare-build.js +0 -9
- package/#Tools/jwt creator/node_modules/semver/functions/compare-loose.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/compare.js +0 -7
- package/#Tools/jwt creator/node_modules/semver/functions/diff.js +0 -60
- package/#Tools/jwt creator/node_modules/semver/functions/eq.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/gt.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/gte.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/inc.js +0 -21
- package/#Tools/jwt creator/node_modules/semver/functions/lt.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/lte.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/major.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/minor.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/neq.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/parse.js +0 -18
- package/#Tools/jwt creator/node_modules/semver/functions/patch.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/prerelease.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/functions/rcompare.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/rsort.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/satisfies.js +0 -12
- package/#Tools/jwt creator/node_modules/semver/functions/sort.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/valid.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/index.js +0 -91
- package/#Tools/jwt creator/node_modules/semver/internal/constants.js +0 -37
- package/#Tools/jwt creator/node_modules/semver/internal/debug.js +0 -11
- package/#Tools/jwt creator/node_modules/semver/internal/identifiers.js +0 -25
- package/#Tools/jwt creator/node_modules/semver/internal/lrucache.js +0 -42
- package/#Tools/jwt creator/node_modules/semver/internal/parse-options.js +0 -17
- package/#Tools/jwt creator/node_modules/semver/internal/re.js +0 -223
- package/#Tools/jwt creator/node_modules/semver/package.json +0 -78
- package/#Tools/jwt creator/node_modules/semver/preload.js +0 -4
- package/#Tools/jwt creator/node_modules/semver/range.bnf +0 -16
- package/#Tools/jwt creator/node_modules/semver/ranges/gtr.js +0 -6
- package/#Tools/jwt creator/node_modules/semver/ranges/intersects.js +0 -9
- package/#Tools/jwt creator/node_modules/semver/ranges/ltr.js +0 -6
- package/#Tools/jwt creator/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/#Tools/jwt creator/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/#Tools/jwt creator/node_modules/semver/ranges/min-version.js +0 -63
- package/#Tools/jwt creator/node_modules/semver/ranges/outside.js +0 -82
- package/#Tools/jwt creator/node_modules/semver/ranges/simplify.js +0 -49
- package/#Tools/jwt creator/node_modules/semver/ranges/subset.js +0 -249
- package/#Tools/jwt creator/node_modules/semver/ranges/to-comparators.js +0 -10
- package/#Tools/jwt creator/node_modules/semver/ranges/valid.js +0 -13
- package/#Tools/jwt creator/package-lock.json +0 -150
- package/#Tools/jwt creator/package.json +0 -5
- package/#Tools/package.json +0 -94
- package/SuperClaude/.claude/commands/analyze.md +0 -36
- package/SuperClaude/.claude/commands/build.md +0 -35
- package/SuperClaude/.claude/commands/cleanup.md +0 -46
- package/SuperClaude/.claude/commands/deploy.md +0 -55
- package/SuperClaude/.claude/commands/design.md +0 -91
- package/SuperClaude/.claude/commands/dev-setup.md +0 -37
- package/SuperClaude/.claude/commands/document.md +0 -99
- package/SuperClaude/.claude/commands/estimate.md +0 -69
- package/SuperClaude/.claude/commands/explain.md +0 -85
- package/SuperClaude/.claude/commands/git.md +0 -47
- package/SuperClaude/.claude/commands/improve.md +0 -162
- package/SuperClaude/.claude/commands/index.md +0 -159
- package/SuperClaude/.claude/commands/load.md +0 -65
- package/SuperClaude/.claude/commands/migrate.md +0 -76
- package/SuperClaude/.claude/commands/scan.md +0 -163
- package/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
- package/SuperClaude/.claude/commands/shared/audit.yml +0 -21
- package/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
- package/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
- package/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
- package/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
- package/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
- package/SuperClaude/.claude/commands/shared/constants.yml +0 -311
- package/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
- package/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
- package/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
- package/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
- package/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
- package/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
- package/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
- package/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
- package/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
- package/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
- package/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
- package/SuperClaude/.claude/commands/shared/performance.yml +0 -317
- package/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
- package/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
- package/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
- package/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
- package/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
- package/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
- package/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
- package/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
- package/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
- package/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
- package/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
- package/SuperClaude/.claude/commands/shared/validation.yml +0 -54
- package/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
- package/SuperClaude/.claude/commands/spawn.md +0 -106
- package/SuperClaude/.claude/commands/task.md +0 -110
- package/SuperClaude/.claude/commands/test.md +0 -67
- package/SuperClaude/.claude/commands/troubleshoot.md +0 -93
- package/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
- package/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
- package/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
- package/SuperClaude/.github/pull_request_template.md +0 -62
- package/SuperClaude/CHANGELOG.md +0 -109
- package/SuperClaude/CLAUDE.md +0 -95
- package/SuperClaude/CODE_OF_CONDUCT.md +0 -45
- package/SuperClaude/CONTRIBUTING.md +0 -225
- package/SuperClaude/Commands_Cheat_Sheet.md +0 -160
- package/SuperClaude/LICENSE +0 -21
- package/SuperClaude/MCP.md +0 -117
- package/SuperClaude/PERSONAS.md +0 -115
- package/SuperClaude/README.md +0 -249
- package/SuperClaude/RULES.md +0 -220
- package/SuperClaude/SECURITY.md +0 -91
- package/SuperClaude/install.sh +0 -296
- package/appiq-mcp installer/How-to.md +0 -250
- package/appiq-mcp installer/LICENSE +0 -21
- package/appiq-mcp installer/README.md +0 -235
- package/appiq-mcp installer/index.js +0 -672
- package/appiq-mcp installer/my_mcps.md +0 -105
- package/appiq-mcp installer/package-lock.json +0 -708
- package/appiq-mcp installer/package.json +0 -46
- package/appiq-mcp installer/test-install.bat +0 -60
- package/appiq-mcp installer/test-install.sh +0 -55
- package/appiq-mcp installer/test-load.js +0 -40
- package/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
- package/bmad-core/agents/bmad-smart-launcher.md +0 -170
- package/bmad-core/agents/init-flow-po.md +0 -143
- package/bmad-core/checklists/security-validation-checklist.md +0 -332
- package/bmad-core/core-config.yaml.bak +0 -20
- package/bmad-core/data/backend-services-integration.md +0 -686
- package/bmad-core/data/shadcn-ui-integration.md +0 -388
- package/bmad-core/tasks/create-flutter-story.md +0 -197
- package/bmad-core/tasks/intelligent-epic-creation.md +0 -234
- package/bmad-core/tasks/smart-project-analysis.md +0 -289
- package/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
- package/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
- package/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
- package/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
- package/flutter/CLAUDE.md +0 -58
- package/flutter/punkt.claude/New Folder With Items/channel.md +0 -221
- package/flutter/punkt.claude/New Folder With Items/commands/add-translations.md +0 -12
- package/flutter/punkt.claude/New Folder With Items/commands/create-feature.md +0 -168
- package/flutter/punkt.claude/New Folder With Items/commands/explain-codebase.md +0 -1
- package/flutter/punkt.claude/New Folder With Items/commands/feature-business-logic.md +0 -551
- package/flutter/punkt.claude/New Folder With Items/commands/feature-data-layer.md +0 -924
- package/flutter/punkt.claude/New Folder With Items/commands/feature-domain-layer.md +0 -540
- package/flutter/punkt.claude/New Folder With Items/commands/feature-integration.md +0 -493
- package/flutter/punkt.claude/New Folder With Items/commands/feature-localization.md +0 -427
- package/flutter/punkt.claude/New Folder With Items/commands/feature-ui-layer.md +0 -300
- package/flutter/punkt.claude/New Folder With Items/commands/git-commit.md +0 -3
- package/flutter/punkt.claude/New Folder With Items/commands/search-web.md +0 -1
- package/flutter/punkt.claude/punkt.claude/channel.md +0 -225
- package/flutter/punkt.claude/punkt.claude/commands/add-translations.md +0 -60
- package/flutter/punkt.claude/punkt.claude/commands/bug-fix.md +0 -32
- package/flutter/punkt.claude/punkt.claude/commands/checkdev.md +0 -122
- package/flutter/punkt.claude/punkt.claude/commands/create-feature.md +0 -174
- package/flutter/punkt.claude/punkt.claude/commands/dev.md +0 -79
- package/flutter/punkt.claude/punkt.claude/commands/explain-codebase.md +0 -1
- package/flutter/punkt.claude/punkt.claude/commands/feature-business-logic.md +0 -430
- package/flutter/punkt.claude/punkt.claude/commands/feature-data-layer.md +0 -572
- package/flutter/punkt.claude/punkt.claude/commands/feature-domain-layer.md +0 -537
- package/flutter/punkt.claude/punkt.claude/commands/feature-integration.md +0 -493
- package/flutter/punkt.claude/punkt.claude/commands/feature-localization.md +0 -427
- package/flutter/punkt.claude/punkt.claude/commands/feature-ui-layer.md +0 -831
- package/flutter/punkt.claude/punkt.claude/commands/git-commit.md +0 -3
- package/flutter/punkt.claude/punkt.claude/commands/manage-translations.md +0 -433
- package/flutter/punkt.claude/punkt.claude/commands/search-web.md +0 -1
- package/flutter/punkt.claude/punkt.claude/developer_check.md +0 -121
- package/tools/appiq-installer.js +0 -2711
- package/tools/epic-solution-installer.js +0 -536
- package/tools/setup-ide-commands.js +0 -348
- package/tools/smart-installer.js +0 -592
- package/web/CLAUDE.md +0 -58
- /package/{#Tools/APPIQ-METHOD/.github → .github}/FUNDING.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/bug_report.md +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/feature_request.md +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/workflows/release.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/.releaserc.json → .releaserc.json} +0 -0
- /package/{#Tools/APPIQ-METHOD/.vscode → .vscode}/settings.json +0 -0
- /package/{#Tools/APPIQ-METHOD/CHANGELOG.md → CHANGELOG.md} +0 -0
- /package/{#Tools/APPIQ-METHOD/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
- /package/{#Tools/APPIQ-METHOD/LICENSE → LICENSE} +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/tasks/create-doc.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/tasks/execute-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/utils/bmad-doc-template.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/utils/workflow-management.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/GUIDING-PRINCIPLES.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/core-architecture.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/expansion-packs.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/how-to-contribute-with-pull-requests.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/versioning-and-releases.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/versions.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/README.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agent-teams/flutter-mobile-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-cubit-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-data-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-domain-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-ui-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/shared-components-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/checklists/flutter-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/data/flutter-development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/templates/flutter-mobile-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/workflows/flutter-ui-first-development.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-architect.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-designer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-developer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-sm.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/README.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -0
@@ -1,156 +0,0 @@
|
|
1
|
-
|
2
|
-
import torch
|
3
|
-
import decord
|
4
|
-
import argparse
|
5
|
-
|
6
|
-
import pandas as pd
|
7
|
-
import numpy as np
|
8
|
-
|
9
|
-
from tqdm import tqdm
|
10
|
-
from vllm import LLM, SamplingParams
|
11
|
-
from transformers import AutoTokenizer, AutoProcessor
|
12
|
-
|
13
|
-
from torch.utils.data import DataLoader
|
14
|
-
|
15
|
-
SYSTEM_PROMPT = "I need you to generate a structured and detailed caption for the provided video. The structured output and the requirements for each field are as shown in the following JSON content: {\"subjects\": [{\"appearance\": \"Main subject appearance description\", \"action\": \"Main subject action\", \"expression\": \"Main subject expression (Only for human/animal categories, empty otherwise)\", \"position\": \"Subject position in the video (Can be relative position to other objects or spatial description)\", \"TYPES\": {\"type\": \"Main category (e.g., Human)\", \"sub_type\": \"Sub-category (e.g., Man)\"}, \"is_main_subject\": true}, {\"appearance\": \"Non-main subject appearance description\", \"action\": \"Non-main subject action\", \"expression\": \"Non-main subject expression (Only for human/animal categories, empty otherwise)\", \"position\": \"Position of non-main subject 1\", \"TYPES\": {\"type\": \"Main category (e.g., Vehicles)\", \"sub_type\": \"Sub-category (e.g., Ship)\"}, \"is_main_subject\": false}], \"shot_type\": \"Shot type(Options: long_shot/full_shot/medium_shot/close_up/extreme_close_up/other)\", \"shot_angle\": \"Camera angle(Options: eye_level/high_angle/low_angle/other)\", \"shot_position\": \"Camera position(Options: front_view/back_view/side_view/over_the_shoulder/overhead_view/point_of_view/aerial_view/overlooking_view/other)\", \"camera_motion\": \"Camera movement description\", \"environment\": \"Video background/environment description\", \"lighting\": \"Lighting information in the video\"}"
|
16
|
-
|
17
|
-
|
18
|
-
class VideoTextDataset(torch.utils.data.Dataset):
|
19
|
-
def __init__(self, csv_path, model_path):
|
20
|
-
if isinstance(csv_path, pd.DataFrame):
|
21
|
-
self.meta = csv_path
|
22
|
-
else:
|
23
|
-
self.meta = pd.read_csv(csv_path)
|
24
|
-
self._path = 'path'
|
25
|
-
self.tokenizer = AutoTokenizer.from_pretrained(model_path)
|
26
|
-
self.processor = AutoProcessor.from_pretrained(model_path)
|
27
|
-
|
28
|
-
def __getitem__(self, index):
|
29
|
-
row = self.meta.iloc[index]
|
30
|
-
path = row[self._path]
|
31
|
-
real_index = self.meta.index[index]
|
32
|
-
vr = decord.VideoReader(path, ctx=decord.cpu(0), width=360, height=420)
|
33
|
-
start = 0
|
34
|
-
end = len(vr)
|
35
|
-
# avg_fps = vr.get_avg_fps()
|
36
|
-
index = self.get_index(end-start, 16, st=start)
|
37
|
-
frames = vr.get_batch(index).asnumpy() # n h w c
|
38
|
-
video_inputs = [torch.from_numpy(frames).permute(0, 3, 1, 2)]
|
39
|
-
conversation = {
|
40
|
-
"role": "user",
|
41
|
-
"content": [
|
42
|
-
{
|
43
|
-
"type": "video",
|
44
|
-
"video": row['path'],
|
45
|
-
"max_pixels": 360 * 420, # 460800
|
46
|
-
"fps": 2.0,
|
47
|
-
},
|
48
|
-
{
|
49
|
-
"type": "text",
|
50
|
-
"text": SYSTEM_PROMPT
|
51
|
-
},
|
52
|
-
],
|
53
|
-
}
|
54
|
-
|
55
|
-
# 生成 user_input
|
56
|
-
user_input = self.processor.apply_chat_template(
|
57
|
-
[conversation],
|
58
|
-
tokenize=False,
|
59
|
-
add_generation_prompt=True
|
60
|
-
)
|
61
|
-
results = dict()
|
62
|
-
inputs = {
|
63
|
-
'prompt': user_input,
|
64
|
-
'multi_modal_data': {'video': video_inputs}
|
65
|
-
}
|
66
|
-
results["index"] = real_index
|
67
|
-
results['input'] = inputs
|
68
|
-
return results
|
69
|
-
|
70
|
-
def __len__(self):
|
71
|
-
return len(self.meta)
|
72
|
-
|
73
|
-
def get_index(self, video_size, num_frames, st=0):
|
74
|
-
seg_size = max(0., float(video_size - 1) / num_frames)
|
75
|
-
max_frame = int(video_size) - 1
|
76
|
-
seq = []
|
77
|
-
# index from 1, must add 1
|
78
|
-
for i in range(num_frames):
|
79
|
-
start = int(np.round(seg_size * i))
|
80
|
-
# end = int(np.round(seg_size * (i + 1)))
|
81
|
-
idx = min(start, max_frame)
|
82
|
-
seq.append(idx+st)
|
83
|
-
return seq
|
84
|
-
|
85
|
-
def result_writer(indices_list: list, result_list: list, meta: pd.DataFrame, column):
|
86
|
-
flat_indices = []
|
87
|
-
for x in zip(indices_list):
|
88
|
-
flat_indices.extend(x)
|
89
|
-
flat_results = []
|
90
|
-
for x in zip(result_list):
|
91
|
-
flat_results.extend(x)
|
92
|
-
|
93
|
-
flat_indices = np.array(flat_indices)
|
94
|
-
flat_results = np.array(flat_results)
|
95
|
-
|
96
|
-
unique_indices, unique_indices_idx = np.unique(flat_indices, return_index=True)
|
97
|
-
meta.loc[unique_indices, column[0]] = flat_results[unique_indices_idx]
|
98
|
-
|
99
|
-
meta = meta.loc[unique_indices]
|
100
|
-
return meta
|
101
|
-
|
102
|
-
|
103
|
-
def worker_init_fn(worker_id):
|
104
|
-
# Set different seed for each worker
|
105
|
-
worker_seed = torch.initial_seed() % 2**32
|
106
|
-
np.random.seed(worker_seed)
|
107
|
-
# Prevent deadlocks by setting timeout
|
108
|
-
torch.set_num_threads(1)
|
109
|
-
|
110
|
-
def main():
|
111
|
-
parser = argparse.ArgumentParser(description="SkyCaptioner-V1 vllm batch inference")
|
112
|
-
parser.add_argument("--input_csv", default="./examples/test.csv")
|
113
|
-
parser.add_argument("--out_csv", default="./examples/test_result.csv")
|
114
|
-
parser.add_argument("--bs", type=int, default=4)
|
115
|
-
parser.add_argument("--tp", type=int, default=1)
|
116
|
-
parser.add_argument("--model_path", required=True, type=str, help="skycaptioner-v1 model path")
|
117
|
-
args = parser.parse_args()
|
118
|
-
|
119
|
-
dataset = VideoTextDataset(csv_path=args.input_csv, model_path=args.model_path)
|
120
|
-
dataloader = DataLoader(
|
121
|
-
dataset,
|
122
|
-
batch_size=args.bs,
|
123
|
-
num_workers=4,
|
124
|
-
worker_init_fn=worker_init_fn,
|
125
|
-
persistent_workers=True,
|
126
|
-
timeout=180,
|
127
|
-
)
|
128
|
-
|
129
|
-
sampling_params = SamplingParams(temperature=0.05, max_tokens=2048)
|
130
|
-
|
131
|
-
llm = LLM(model=args.model_path,
|
132
|
-
gpu_memory_utilization=0.6,
|
133
|
-
max_model_len=31920,
|
134
|
-
tensor_parallel_size=args.tp)
|
135
|
-
|
136
|
-
indices_list = []
|
137
|
-
caption_save = []
|
138
|
-
for video_batch in tqdm(dataloader):
|
139
|
-
indices = video_batch["index"]
|
140
|
-
inputs = video_batch["input"]
|
141
|
-
batch_user_inputs = []
|
142
|
-
for prompt, video in zip(inputs['prompt'], inputs['multi_modal_data']['video'][0]):
|
143
|
-
usi={'prompt':prompt, 'multi_modal_data':{'video':video}}
|
144
|
-
batch_user_inputs.append(usi)
|
145
|
-
outputs = llm.generate(batch_user_inputs, sampling_params, use_tqdm=False)
|
146
|
-
struct_outputs = [output.outputs[0].text for output in outputs]
|
147
|
-
|
148
|
-
indices_list.extend(indices.tolist())
|
149
|
-
caption_save.extend(struct_outputs)
|
150
|
-
|
151
|
-
meta_new = result_writer(indices_list, caption_save, dataset.meta, column=["structural_caption"])
|
152
|
-
meta_new.to_csv(args.out_csv, index=False)
|
153
|
-
print(f'Saved structural_caption to {args.out_csv}')
|
154
|
-
|
155
|
-
if __name__ == '__main__':
|
156
|
-
main()
|
@@ -1 +0,0 @@
|
|
1
|
-
from .pipelines import DiffusionForcingPipeline
|
File without changes
|
@@ -1,286 +0,0 @@
|
|
1
|
-
import numpy as np
|
2
|
-
import torch
|
3
|
-
import torch.amp as amp
|
4
|
-
from torch.backends.cuda import sdp_kernel
|
5
|
-
from xfuser.core.distributed import get_sequence_parallel_rank
|
6
|
-
from xfuser.core.distributed import get_sequence_parallel_world_size
|
7
|
-
from xfuser.core.distributed import get_sp_group
|
8
|
-
from xfuser.core.long_ctx_attention import xFuserLongContextAttention
|
9
|
-
|
10
|
-
from ..modules.transformer import sinusoidal_embedding_1d
|
11
|
-
|
12
|
-
|
13
|
-
def pad_freqs(original_tensor, target_len):
|
14
|
-
seq_len, s1, s2 = original_tensor.shape
|
15
|
-
pad_size = target_len - seq_len
|
16
|
-
padding_tensor = torch.ones(pad_size, s1, s2, dtype=original_tensor.dtype, device=original_tensor.device)
|
17
|
-
padded_tensor = torch.cat([original_tensor, padding_tensor], dim=0)
|
18
|
-
return padded_tensor
|
19
|
-
|
20
|
-
|
21
|
-
@amp.autocast("cuda", enabled=False)
|
22
|
-
def rope_apply(x, grid_sizes, freqs):
|
23
|
-
"""
|
24
|
-
x: [B, L, N, C].
|
25
|
-
grid_sizes: [B, 3].
|
26
|
-
freqs: [M, C // 2].
|
27
|
-
"""
|
28
|
-
s, n, c = x.size(1), x.size(2), x.size(3) // 2
|
29
|
-
# split freqs
|
30
|
-
freqs = freqs.split([c - 2 * (c // 3), c // 3, c // 3], dim=1)
|
31
|
-
|
32
|
-
# loop over samples
|
33
|
-
output = []
|
34
|
-
grid = [grid_sizes.tolist()] * x.size(0)
|
35
|
-
for i, (f, h, w) in enumerate(grid):
|
36
|
-
seq_len = f * h * w
|
37
|
-
|
38
|
-
# precompute multipliers
|
39
|
-
x_i = torch.view_as_complex(x[i, :s].to(torch.float64).reshape(s, n, -1, 2))
|
40
|
-
freqs_i = torch.cat(
|
41
|
-
[
|
42
|
-
freqs[0][:f].view(f, 1, 1, -1).expand(f, h, w, -1),
|
43
|
-
freqs[1][:h].view(1, h, 1, -1).expand(f, h, w, -1),
|
44
|
-
freqs[2][:w].view(1, 1, w, -1).expand(f, h, w, -1),
|
45
|
-
],
|
46
|
-
dim=-1,
|
47
|
-
).reshape(seq_len, 1, -1)
|
48
|
-
|
49
|
-
# apply rotary embedding
|
50
|
-
sp_size = get_sequence_parallel_world_size()
|
51
|
-
sp_rank = get_sequence_parallel_rank()
|
52
|
-
freqs_i = pad_freqs(freqs_i, s * sp_size)
|
53
|
-
s_per_rank = s
|
54
|
-
freqs_i_rank = freqs_i[(sp_rank * s_per_rank) : ((sp_rank + 1) * s_per_rank), :, :]
|
55
|
-
x_i = torch.view_as_real(x_i * freqs_i_rank.cuda()).flatten(2)
|
56
|
-
x_i = torch.cat([x_i, x[i, s:]])
|
57
|
-
|
58
|
-
# append to collection
|
59
|
-
output.append(x_i)
|
60
|
-
return torch.stack(output).float()
|
61
|
-
|
62
|
-
|
63
|
-
def broadcast_should_calc(should_calc: bool) -> bool:
|
64
|
-
import torch.distributed as dist
|
65
|
-
|
66
|
-
device = torch.cuda.current_device()
|
67
|
-
int_should_calc = 1 if should_calc else 0
|
68
|
-
tensor = torch.tensor([int_should_calc], device=device, dtype=torch.int8)
|
69
|
-
dist.broadcast(tensor, src=0)
|
70
|
-
should_calc = tensor.item() == 1
|
71
|
-
return should_calc
|
72
|
-
|
73
|
-
|
74
|
-
def usp_dit_forward(self, x, t, context, clip_fea=None, y=None, fps=None):
|
75
|
-
"""
|
76
|
-
x: A list of videos each with shape [C, T, H, W].
|
77
|
-
t: [B].
|
78
|
-
context: A list of text embeddings each with shape [L, C].
|
79
|
-
"""
|
80
|
-
if self.model_type == "i2v":
|
81
|
-
assert clip_fea is not None and y is not None
|
82
|
-
# params
|
83
|
-
device = self.patch_embedding.weight.device
|
84
|
-
if self.freqs.device != device:
|
85
|
-
self.freqs = self.freqs.to(device)
|
86
|
-
|
87
|
-
if y is not None:
|
88
|
-
x = torch.cat([x, y], dim=1)
|
89
|
-
|
90
|
-
# embeddings
|
91
|
-
x = self.patch_embedding(x)
|
92
|
-
grid_sizes = torch.tensor(x.shape[2:], dtype=torch.long)
|
93
|
-
x = x.flatten(2).transpose(1, 2)
|
94
|
-
|
95
|
-
if self.flag_causal_attention:
|
96
|
-
frame_num = grid_sizes[0]
|
97
|
-
height = grid_sizes[1]
|
98
|
-
width = grid_sizes[2]
|
99
|
-
block_num = frame_num // self.num_frame_per_block
|
100
|
-
range_tensor = torch.arange(block_num).view(-1, 1)
|
101
|
-
range_tensor = range_tensor.repeat(1, self.num_frame_per_block).flatten()
|
102
|
-
casual_mask = range_tensor.unsqueeze(0) <= range_tensor.unsqueeze(1) # f, f
|
103
|
-
casual_mask = casual_mask.view(frame_num, 1, 1, frame_num, 1, 1).to(x.device)
|
104
|
-
casual_mask = casual_mask.repeat(1, height, width, 1, height, width)
|
105
|
-
casual_mask = casual_mask.reshape(frame_num * height * width, frame_num * height * width)
|
106
|
-
self.block_mask = casual_mask.unsqueeze(0).unsqueeze(0)
|
107
|
-
|
108
|
-
# time embeddings
|
109
|
-
with amp.autocast("cuda", dtype=torch.float32):
|
110
|
-
if t.dim() == 2:
|
111
|
-
b, f = t.shape
|
112
|
-
_flag_df = True
|
113
|
-
else:
|
114
|
-
_flag_df = False
|
115
|
-
e = self.time_embedding(
|
116
|
-
sinusoidal_embedding_1d(self.freq_dim, t.flatten()).to(self.patch_embedding.weight.dtype)
|
117
|
-
) # b, dim
|
118
|
-
e0 = self.time_projection(e).unflatten(1, (6, self.dim)) # b, 6, dim
|
119
|
-
|
120
|
-
if self.inject_sample_info:
|
121
|
-
fps = torch.tensor(fps, dtype=torch.long, device=device)
|
122
|
-
|
123
|
-
fps_emb = self.fps_embedding(fps).float()
|
124
|
-
if _flag_df:
|
125
|
-
e0 = e0 + self.fps_projection(fps_emb).unflatten(1, (6, self.dim)).repeat(t.shape[1], 1, 1)
|
126
|
-
else:
|
127
|
-
e0 = e0 + self.fps_projection(fps_emb).unflatten(1, (6, self.dim))
|
128
|
-
|
129
|
-
if _flag_df:
|
130
|
-
e = e.view(b, f, 1, 1, self.dim)
|
131
|
-
e0 = e0.view(b, f, 1, 1, 6, self.dim)
|
132
|
-
e = e.repeat(1, 1, grid_sizes[1], grid_sizes[2], 1).flatten(1, 3)
|
133
|
-
e0 = e0.repeat(1, 1, grid_sizes[1], grid_sizes[2], 1, 1).flatten(1, 3)
|
134
|
-
e0 = e0.transpose(1, 2).contiguous()
|
135
|
-
|
136
|
-
assert e.dtype == torch.float32 and e0.dtype == torch.float32
|
137
|
-
|
138
|
-
# context
|
139
|
-
context = self.text_embedding(context)
|
140
|
-
|
141
|
-
if clip_fea is not None:
|
142
|
-
context_clip = self.img_emb(clip_fea) # bs x 257 x dim
|
143
|
-
context = torch.concat([context_clip, context], dim=1)
|
144
|
-
|
145
|
-
# arguments
|
146
|
-
if e0.ndim == 4:
|
147
|
-
e0 = torch.chunk(e0, get_sequence_parallel_world_size(), dim=2)[get_sequence_parallel_rank()]
|
148
|
-
kwargs = dict(e=e0, grid_sizes=grid_sizes, freqs=self.freqs, context=context, block_mask=self.block_mask)
|
149
|
-
|
150
|
-
if self.enable_teacache:
|
151
|
-
modulated_inp = e0 if self.use_ref_steps else e
|
152
|
-
# teacache
|
153
|
-
if self.cnt % 2 == 0: # even -> conditon
|
154
|
-
self.is_even = True
|
155
|
-
if self.cnt < self.ret_steps or self.cnt >= self.cutoff_steps:
|
156
|
-
should_calc_even = True
|
157
|
-
self.accumulated_rel_l1_distance_even = 0
|
158
|
-
else:
|
159
|
-
rescale_func = np.poly1d(self.coefficients)
|
160
|
-
self.accumulated_rel_l1_distance_even += rescale_func(
|
161
|
-
((modulated_inp - self.previous_e0_even).abs().mean() / self.previous_e0_even.abs().mean())
|
162
|
-
.cpu()
|
163
|
-
.item()
|
164
|
-
)
|
165
|
-
if self.accumulated_rel_l1_distance_even < self.teacache_thresh:
|
166
|
-
should_calc_even = False
|
167
|
-
else:
|
168
|
-
should_calc_even = True
|
169
|
-
self.accumulated_rel_l1_distance_even = 0
|
170
|
-
self.previous_e0_even = modulated_inp.clone()
|
171
|
-
else: # odd -> unconditon
|
172
|
-
self.is_even = False
|
173
|
-
if self.cnt < self.ret_steps or self.cnt >= self.cutoff_steps:
|
174
|
-
should_calc_odd = True
|
175
|
-
self.accumulated_rel_l1_distance_odd = 0
|
176
|
-
else:
|
177
|
-
rescale_func = np.poly1d(self.coefficients)
|
178
|
-
self.accumulated_rel_l1_distance_odd += rescale_func(
|
179
|
-
((modulated_inp - self.previous_e0_odd).abs().mean() / self.previous_e0_odd.abs().mean())
|
180
|
-
.cpu()
|
181
|
-
.item()
|
182
|
-
)
|
183
|
-
if self.accumulated_rel_l1_distance_odd < self.teacache_thresh:
|
184
|
-
should_calc_odd = False
|
185
|
-
else:
|
186
|
-
should_calc_odd = True
|
187
|
-
self.accumulated_rel_l1_distance_odd = 0
|
188
|
-
self.previous_e0_odd = modulated_inp.clone()
|
189
|
-
|
190
|
-
x = torch.chunk(x, get_sequence_parallel_world_size(), dim=1)[get_sequence_parallel_rank()]
|
191
|
-
if self.enable_teacache:
|
192
|
-
if self.is_even:
|
193
|
-
should_calc_even = broadcast_should_calc(should_calc_even)
|
194
|
-
if not should_calc_even:
|
195
|
-
x += self.previous_residual_even
|
196
|
-
else:
|
197
|
-
ori_x = x.clone()
|
198
|
-
for block in self.blocks:
|
199
|
-
x = block(x, **kwargs)
|
200
|
-
ori_x.mul_(-1)
|
201
|
-
ori_x.add_(x)
|
202
|
-
self.previous_residual_even = ori_x
|
203
|
-
else:
|
204
|
-
should_calc_odd = broadcast_should_calc(should_calc_odd)
|
205
|
-
if not should_calc_odd:
|
206
|
-
x += self.previous_residual_odd
|
207
|
-
else:
|
208
|
-
ori_x = x.clone()
|
209
|
-
for block in self.blocks:
|
210
|
-
x = block(x, **kwargs)
|
211
|
-
ori_x.mul_(-1)
|
212
|
-
ori_x.add_(x)
|
213
|
-
self.previous_residual_odd = ori_x
|
214
|
-
self.cnt += 1
|
215
|
-
if self.cnt >= self.num_steps:
|
216
|
-
self.cnt = 0
|
217
|
-
else:
|
218
|
-
# Context Parallel
|
219
|
-
for block in self.blocks:
|
220
|
-
x = block(x, **kwargs)
|
221
|
-
|
222
|
-
# head
|
223
|
-
if e.ndim == 3:
|
224
|
-
e = torch.chunk(e, get_sequence_parallel_world_size(), dim=1)[get_sequence_parallel_rank()]
|
225
|
-
x = self.head(x, e)
|
226
|
-
# Context Parallel
|
227
|
-
x = get_sp_group().all_gather(x, dim=1)
|
228
|
-
# unpatchify
|
229
|
-
x = self.unpatchify(x, grid_sizes)
|
230
|
-
return x.float()
|
231
|
-
|
232
|
-
|
233
|
-
def usp_attn_forward(self, x, grid_sizes, freqs, block_mask):
|
234
|
-
|
235
|
-
r"""
|
236
|
-
Args:
|
237
|
-
x(Tensor): Shape [B, L, num_heads, C / num_heads]
|
238
|
-
seq_lens(Tensor): Shape [B]
|
239
|
-
grid_sizes(Tensor): Shape [B, 3], the second dimension contains (F, H, W)
|
240
|
-
freqs(Tensor): Rope freqs, shape [1024, C / num_heads / 2]
|
241
|
-
"""
|
242
|
-
b, s, n, d = *x.shape[:2], self.num_heads, self.head_dim
|
243
|
-
half_dtypes = (torch.float16, torch.bfloat16)
|
244
|
-
|
245
|
-
def half(x):
|
246
|
-
return x if x.dtype in half_dtypes else x.to(torch.bfloat16)
|
247
|
-
|
248
|
-
# query, key, value function
|
249
|
-
def qkv_fn(x):
|
250
|
-
q = self.norm_q(self.q(x)).view(b, s, n, d)
|
251
|
-
k = self.norm_k(self.k(x)).view(b, s, n, d)
|
252
|
-
v = self.v(x).view(b, s, n, d)
|
253
|
-
return q, k, v
|
254
|
-
|
255
|
-
x = x.to(self.q.weight.dtype)
|
256
|
-
q, k, v = qkv_fn(x)
|
257
|
-
|
258
|
-
if not self._flag_ar_attention:
|
259
|
-
q = rope_apply(q, grid_sizes, freqs)
|
260
|
-
k = rope_apply(k, grid_sizes, freqs)
|
261
|
-
else:
|
262
|
-
|
263
|
-
q = rope_apply(q, grid_sizes, freqs)
|
264
|
-
k = rope_apply(k, grid_sizes, freqs)
|
265
|
-
q = q.to(torch.bfloat16)
|
266
|
-
k = k.to(torch.bfloat16)
|
267
|
-
v = v.to(torch.bfloat16)
|
268
|
-
# x = torch.nn.functional.scaled_dot_product_attention(
|
269
|
-
# q.transpose(1, 2),
|
270
|
-
# k.transpose(1, 2),
|
271
|
-
# v.transpose(1, 2),
|
272
|
-
# ).transpose(1, 2).contiguous()
|
273
|
-
with sdp_kernel(enable_flash=True, enable_math=False, enable_mem_efficient=False):
|
274
|
-
x = (
|
275
|
-
torch.nn.functional.scaled_dot_product_attention(
|
276
|
-
q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), attn_mask=block_mask
|
277
|
-
)
|
278
|
-
.transpose(1, 2)
|
279
|
-
.contiguous()
|
280
|
-
)
|
281
|
-
x = xFuserLongContextAttention()(None, query=half(q), key=half(k), value=half(v), window_size=self.window_size)
|
282
|
-
|
283
|
-
# output
|
284
|
-
x = x.flatten(2)
|
285
|
-
x = self.o(x)
|
286
|
-
return x
|
@@ -1,69 +0,0 @@
|
|
1
|
-
import gc
|
2
|
-
import os
|
3
|
-
|
4
|
-
import torch
|
5
|
-
from safetensors.torch import load_file
|
6
|
-
|
7
|
-
from .clip import CLIPModel
|
8
|
-
from .t5 import T5EncoderModel
|
9
|
-
from .transformer import WanModel
|
10
|
-
from .vae import WanVAE
|
11
|
-
|
12
|
-
|
13
|
-
def download_model(model_id):
|
14
|
-
if not os.path.exists(model_id):
|
15
|
-
from huggingface_hub import snapshot_download
|
16
|
-
|
17
|
-
model_id = snapshot_download(repo_id=model_id)
|
18
|
-
return model_id
|
19
|
-
|
20
|
-
|
21
|
-
def get_vae(model_path, device="cuda", weight_dtype=torch.float32) -> WanVAE:
|
22
|
-
vae = WanVAE(model_path).to(device).to(weight_dtype)
|
23
|
-
vae.vae.requires_grad_(False)
|
24
|
-
vae.vae.eval()
|
25
|
-
gc.collect()
|
26
|
-
torch.cuda.empty_cache()
|
27
|
-
return vae
|
28
|
-
|
29
|
-
|
30
|
-
def get_transformer(model_path, device="cuda", weight_dtype=torch.bfloat16) -> WanModel:
|
31
|
-
config_path = os.path.join(model_path, "config.json")
|
32
|
-
transformer = WanModel.from_config(config_path).to(weight_dtype).to(device)
|
33
|
-
|
34
|
-
for file in os.listdir(model_path):
|
35
|
-
if file.endswith(".safetensors"):
|
36
|
-
file_path = os.path.join(model_path, file)
|
37
|
-
state_dict = load_file(file_path)
|
38
|
-
transformer.load_state_dict(state_dict, strict=False)
|
39
|
-
del state_dict
|
40
|
-
gc.collect()
|
41
|
-
torch.cuda.empty_cache()
|
42
|
-
|
43
|
-
transformer.requires_grad_(False)
|
44
|
-
transformer.eval()
|
45
|
-
gc.collect()
|
46
|
-
torch.cuda.empty_cache()
|
47
|
-
return transformer
|
48
|
-
|
49
|
-
|
50
|
-
def get_text_encoder(model_path, device="cuda", weight_dtype=torch.bfloat16) -> T5EncoderModel:
|
51
|
-
t5_model = os.path.join(model_path, "models_t5_umt5-xxl-enc-bf16.pth")
|
52
|
-
tokenizer_path = os.path.join(model_path, "google", "umt5-xxl")
|
53
|
-
text_encoder = T5EncoderModel(checkpoint_path=t5_model, tokenizer_path=tokenizer_path).to(device).to(weight_dtype)
|
54
|
-
text_encoder.requires_grad_(False)
|
55
|
-
text_encoder.eval()
|
56
|
-
gc.collect()
|
57
|
-
torch.cuda.empty_cache()
|
58
|
-
return text_encoder
|
59
|
-
|
60
|
-
|
61
|
-
def get_image_encoder(model_path, device="cuda", weight_dtype=torch.bfloat16) -> CLIPModel:
|
62
|
-
checkpoint_path = os.path.join(model_path, "models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth")
|
63
|
-
tokenizer_path = os.path.join(model_path, "xlm-roberta-large")
|
64
|
-
image_enc = CLIPModel(checkpoint_path, tokenizer_path).to(weight_dtype).to(device)
|
65
|
-
image_enc.requires_grad_(False)
|
66
|
-
image_enc.eval()
|
67
|
-
gc.collect()
|
68
|
-
torch.cuda.empty_cache()
|
69
|
-
return image_enc
|
@@ -1,179 +0,0 @@
|
|
1
|
-
# Copyright 2024-2025 The Alibaba Wan Team Authors. All rights reserved.
|
2
|
-
import torch
|
3
|
-
|
4
|
-
try:
|
5
|
-
import flash_attn_interface
|
6
|
-
|
7
|
-
FLASH_ATTN_3_AVAILABLE = True
|
8
|
-
except ModuleNotFoundError:
|
9
|
-
FLASH_ATTN_3_AVAILABLE = False
|
10
|
-
|
11
|
-
try:
|
12
|
-
import flash_attn
|
13
|
-
|
14
|
-
FLASH_ATTN_2_AVAILABLE = True
|
15
|
-
except ModuleNotFoundError:
|
16
|
-
FLASH_ATTN_2_AVAILABLE = False
|
17
|
-
|
18
|
-
import warnings
|
19
|
-
|
20
|
-
__all__ = [
|
21
|
-
"flash_attention",
|
22
|
-
"attention",
|
23
|
-
]
|
24
|
-
|
25
|
-
|
26
|
-
def flash_attention(
|
27
|
-
q,
|
28
|
-
k,
|
29
|
-
v,
|
30
|
-
q_lens=None,
|
31
|
-
k_lens=None,
|
32
|
-
dropout_p=0.0,
|
33
|
-
softmax_scale=None,
|
34
|
-
q_scale=None,
|
35
|
-
causal=False,
|
36
|
-
window_size=(-1, -1),
|
37
|
-
deterministic=False,
|
38
|
-
dtype=torch.bfloat16,
|
39
|
-
version=None,
|
40
|
-
):
|
41
|
-
"""
|
42
|
-
q: [B, Lq, Nq, C1].
|
43
|
-
k: [B, Lk, Nk, C1].
|
44
|
-
v: [B, Lk, Nk, C2]. Nq must be divisible by Nk.
|
45
|
-
q_lens: [B].
|
46
|
-
k_lens: [B].
|
47
|
-
dropout_p: float. Dropout probability.
|
48
|
-
softmax_scale: float. The scaling of QK^T before applying softmax.
|
49
|
-
causal: bool. Whether to apply causal attention mask.
|
50
|
-
window_size: (left right). If not (-1, -1), apply sliding window local attention.
|
51
|
-
deterministic: bool. If True, slightly slower and uses more memory.
|
52
|
-
dtype: torch.dtype. Apply when dtype of q/k/v is not float16/bfloat16.
|
53
|
-
"""
|
54
|
-
half_dtypes = (torch.float16, torch.bfloat16)
|
55
|
-
assert dtype in half_dtypes
|
56
|
-
assert q.device.type == "cuda" and q.size(-1) <= 256
|
57
|
-
|
58
|
-
# params
|
59
|
-
b, lq, lk, out_dtype = q.size(0), q.size(1), k.size(1), q.dtype
|
60
|
-
|
61
|
-
def half(x):
|
62
|
-
return x if x.dtype in half_dtypes else x.to(dtype)
|
63
|
-
|
64
|
-
# preprocess query
|
65
|
-
|
66
|
-
q = half(q.flatten(0, 1))
|
67
|
-
q_lens = torch.tensor([lq] * b, dtype=torch.int32).to(device=q.device, non_blocking=True)
|
68
|
-
|
69
|
-
# preprocess key, value
|
70
|
-
|
71
|
-
k = half(k.flatten(0, 1))
|
72
|
-
v = half(v.flatten(0, 1))
|
73
|
-
k_lens = torch.tensor([lk] * b, dtype=torch.int32).to(device=k.device, non_blocking=True)
|
74
|
-
|
75
|
-
q = q.to(v.dtype)
|
76
|
-
k = k.to(v.dtype)
|
77
|
-
|
78
|
-
if q_scale is not None:
|
79
|
-
q = q * q_scale
|
80
|
-
|
81
|
-
if version is not None and version == 3 and not FLASH_ATTN_3_AVAILABLE:
|
82
|
-
warnings.warn("Flash attention 3 is not available, use flash attention 2 instead.")
|
83
|
-
|
84
|
-
torch.cuda.nvtx.range_push(f"{list(q.shape)}-{list(k.shape)}-{list(v.shape)}-{q.dtype}-{k.dtype}-{v.dtype}")
|
85
|
-
# apply attention
|
86
|
-
if (version is None or version == 3) and FLASH_ATTN_3_AVAILABLE:
|
87
|
-
# Note: dropout_p, window_size are not supported in FA3 now.
|
88
|
-
x = flash_attn_interface.flash_attn_varlen_func(
|
89
|
-
q=q,
|
90
|
-
k=k,
|
91
|
-
v=v,
|
92
|
-
cu_seqlens_q=torch.cat([q_lens.new_zeros([1]), q_lens])
|
93
|
-
.cumsum(0, dtype=torch.int32)
|
94
|
-
.to(q.device, non_blocking=True),
|
95
|
-
cu_seqlens_k=torch.cat([k_lens.new_zeros([1]), k_lens])
|
96
|
-
.cumsum(0, dtype=torch.int32)
|
97
|
-
.to(q.device, non_blocking=True),
|
98
|
-
seqused_q=None,
|
99
|
-
seqused_k=None,
|
100
|
-
max_seqlen_q=lq,
|
101
|
-
max_seqlen_k=lk,
|
102
|
-
softmax_scale=softmax_scale,
|
103
|
-
causal=causal,
|
104
|
-
deterministic=deterministic,
|
105
|
-
)[0].unflatten(0, (b, lq))
|
106
|
-
else:
|
107
|
-
assert FLASH_ATTN_2_AVAILABLE
|
108
|
-
x = flash_attn.flash_attn_varlen_func(
|
109
|
-
q=q,
|
110
|
-
k=k,
|
111
|
-
v=v,
|
112
|
-
cu_seqlens_q=torch.cat([q_lens.new_zeros([1]), q_lens])
|
113
|
-
.cumsum(0, dtype=torch.int32)
|
114
|
-
.to(q.device, non_blocking=True),
|
115
|
-
cu_seqlens_k=torch.cat([k_lens.new_zeros([1]), k_lens])
|
116
|
-
.cumsum(0, dtype=torch.int32)
|
117
|
-
.to(q.device, non_blocking=True),
|
118
|
-
max_seqlen_q=lq,
|
119
|
-
max_seqlen_k=lk,
|
120
|
-
dropout_p=dropout_p,
|
121
|
-
softmax_scale=softmax_scale,
|
122
|
-
causal=causal,
|
123
|
-
window_size=window_size,
|
124
|
-
deterministic=deterministic,
|
125
|
-
).unflatten(0, (b, lq))
|
126
|
-
torch.cuda.nvtx.range_pop()
|
127
|
-
|
128
|
-
# output
|
129
|
-
return x
|
130
|
-
|
131
|
-
|
132
|
-
def attention(
|
133
|
-
q,
|
134
|
-
k,
|
135
|
-
v,
|
136
|
-
q_lens=None,
|
137
|
-
k_lens=None,
|
138
|
-
dropout_p=0.0,
|
139
|
-
softmax_scale=None,
|
140
|
-
q_scale=None,
|
141
|
-
causal=False,
|
142
|
-
window_size=(-1, -1),
|
143
|
-
deterministic=False,
|
144
|
-
dtype=torch.bfloat16,
|
145
|
-
fa_version=None,
|
146
|
-
):
|
147
|
-
if FLASH_ATTN_2_AVAILABLE or FLASH_ATTN_3_AVAILABLE:
|
148
|
-
return flash_attention(
|
149
|
-
q=q,
|
150
|
-
k=k,
|
151
|
-
v=v,
|
152
|
-
q_lens=q_lens,
|
153
|
-
k_lens=k_lens,
|
154
|
-
dropout_p=dropout_p,
|
155
|
-
softmax_scale=softmax_scale,
|
156
|
-
q_scale=q_scale,
|
157
|
-
causal=causal,
|
158
|
-
window_size=window_size,
|
159
|
-
deterministic=deterministic,
|
160
|
-
dtype=dtype,
|
161
|
-
version=fa_version,
|
162
|
-
)
|
163
|
-
else:
|
164
|
-
if q_lens is not None or k_lens is not None:
|
165
|
-
warnings.warn(
|
166
|
-
"Padding mask is disabled when using scaled_dot_product_attention. It can have a significant impact on performance."
|
167
|
-
)
|
168
|
-
attn_mask = None
|
169
|
-
|
170
|
-
q = q.transpose(1, 2).to(dtype)
|
171
|
-
k = k.transpose(1, 2).to(dtype)
|
172
|
-
v = v.transpose(1, 2).to(dtype)
|
173
|
-
|
174
|
-
out = torch.nn.functional.scaled_dot_product_attention(
|
175
|
-
q, k, v, attn_mask=attn_mask, is_causal=causal, dropout_p=dropout_p
|
176
|
-
)
|
177
|
-
|
178
|
-
out = out.transpose(1, 2).contiguous()
|
179
|
-
return out
|