gflow-cli 0.74.0__tar.gz → 0.75.0__tar.gz
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.
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.agents/plugins/marketplace.json +1 -1
- gflow_cli-0.75.0/.claude-plugin/marketplace.json +17 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.codex-plugin/plugin.json +2 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/ci.yml +3 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/AGENTS.md +1 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/CHANGELOG.md +89 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/CLAUDE.md +1 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/DISCLAIMER.md +1 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/KNOWN_ISSUES.md +36 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/PKG-INFO +40 -5
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/README.md +23 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/RELEASE.md +3 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/ROADMAP.md +2 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/CONFIGURATION.md +4 -4
- gflow_cli-0.75.0/docs/DISTRIBUTION.md +371 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/INDEX.md +2 -1
- gflow_cli-0.75.0/docs/LIVE_VERIFICATION_v0.75.0.md +166 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/MCP.md +54 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/PROJECT_STATUS.md +48 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/USAGE.md +6 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/medium_tutorial.md +1 -1
- gflow_cli-0.75.0/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +380 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +107 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/index.html +5 -5
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/llms.txt +1 -1
- gflow_cli-0.75.0/plugins/README.md +44 -0
- gflow_cli-0.75.0/plugins/gflow/.claude-plugin/plugin.json +30 -0
- gflow_cli-0.75.0/plugins/gflow/.mcp.json +8 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/gflow-cli/SKILL.md +2 -2
- gflow_cli-0.75.0/plugins/gflow/skills/video-production/SKILL.md +392 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/pyproject.toml +54 -4
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_repo_hygiene.py +16 -2
- gflow_cli-0.75.0/scripts/ci/generate_plugin_skills.py +164 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/skillopt/harness.py +1 -1
- gflow_cli-0.75.0/scripts/dev/spike_credits_migrated_surface.py +338 -0
- gflow_cli-0.75.0/server.json +42 -0
- gflow_cli-0.75.0/skills/gflow-cli/SKILL.md +288 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/release/SKILL.md +3 -3
- gflow_cli-0.75.0/skills/video-production/clip_qa.py +321 -0
- gflow_cli-0.75.0/skills/video-production/composition.md +171 -0
- gflow_cli-0.75.0/skills/video-production/consistency.md +167 -0
- gflow_cli-0.75.0/skills/video-production/failure-modes.md +76 -0
- gflow_cli-0.75.0/skills/video-production/tasks.json +498 -0
- gflow_cli-0.75.0/src/gflow_cli/__init__.py +3 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/_cli_helpers.py +10 -4
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli.py +27 -15
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_movie.py +3 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_run.py +2 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_scene.py +4 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_video.py +18 -6
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/errors.py +8 -6
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/server.py +131 -3
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/media.py +26 -23
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/ui/app.py +11 -1
- gflow_cli-0.75.0/tests/cli/test_cli_auth_error_paths.py +141 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_scene.py +54 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_video_chain.py +242 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_error_handling.py +45 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_helpers.py +43 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_http_transport.py +12 -2
- gflow_cli-0.75.0/tests/mcp/test_serve_auth.py +504 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_server.py +24 -12
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_setup.py +45 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_repo_hygiene.py +24 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_codex_plugin.py +10 -3
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_errors.py +6 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_media.py +28 -34
- gflow_cli-0.75.0/tests/test_plugin_manifests.py +263 -0
- gflow_cli-0.75.0/tests/test_rich_markup_safety.py +199 -0
- gflow_cli-0.75.0/tests/test_server_json.py +148 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/uv.lock +3 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/CONFIGURATION.md +4 -4
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/KNOWN_ISSUES.md +36 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/MCP.md +54 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/USAGE.md +6 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/index.md +2 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/onboarding-mockup.html +2 -2
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/onboarding.md +1 -1
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/mkdocs.yml +2 -2
- gflow_cli-0.74.0/src/gflow_cli/__init__.py +0 -3
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/active.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/branch-review.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/changelog.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/check.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/doc-review.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/issue-assessment.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/issue-resolve.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/known-issues.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/live-verify.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/llm-council.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/next.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/plan.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/pr-council-review.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/predict.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/release.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/scenario.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/sonar.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/spike.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.claude/commands/gflow/status.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.env.template +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.gitattributes +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/CODEOWNERS +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/FUNDING.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/copilot-instructions.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/dependabot.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/deps-watch.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/external-pr-triage.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/governance-advisory.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/governance-benchmark.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/labels.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/main-base-guard.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/pages.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/release.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/scorecard.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/selector-probe.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/sponsors.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.github/workflows/star-history-watch.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.gitignore +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.gitleaks.toml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.pre-commit-config.yaml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/.secrets.baseline +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/CONFIGURATION.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/CONTRIBUTING.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/LICENSE +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/deploy/logrotate-pr-triage +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docker-compose.yml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/AGENT_GUIDE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/AGENT_UI_E2E.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/AGENT_UI_RECON.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/ASSET_TAGGING_RECON.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/CHARACTER.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/CHARACTER_RECON.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/DEMOS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/GITHUB.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/MOVIE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/REFERENCE_STRATEGIES.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/SECURITY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/SPONSORS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/TOOLS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/assets/demo-split-pf.gif +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/assets/example-run.gif +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/assets/examples.webp +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/schemas/movie-handoff.schema.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/sonar-cleanup-tracker.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/release-signing.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/batch_from_config.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/multi_prompt_t2i.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/sample_config.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/sample_prompts.txt +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/single_image_t2i.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/examples/workflow_chain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/mempalace.yaml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/composition.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/01_upload_image.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/04_archive_workflow.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/05_createProject.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/06_batchGenerateImages.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/12_create_scene.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/14_get_scene_workflows.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/canary/register_task.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/canary/run_canary.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_council_memory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_doc_links.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_materiality.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_release_artifacts.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_test_count.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/check_website_docs_pii.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/generate_website_docs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/ci/update_sponsors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/debug_editor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/debug_gen_settings.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/debug_settings.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/_recording_client.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/_spike_common.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/acceptance/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/acceptance/bench.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/acceptance/domain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/acceptance/judge.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/acceptance/settings.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/active_plan.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_locale_invariants.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_project_listing.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/character_create_spike.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/character_create_spike_v2.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/dump_character_selectors.js +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/incident_bundle_quality.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/live_verify_mcp_tasks.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/live_verify_video_model_select.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/make_project.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/materiality_backtest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/measure_html_lang_settle.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/measure_locale_probe.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/patch_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/skillopt/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/skillopt/tasks.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/sonar-local-scan.sh +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_changelog_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_char_editor_dom.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_char_gen_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_character_prompt_format.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_extend_model_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_extend_route_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_frames_picker_confirm.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_generation_wire_survey.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_host_lane.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_image_model_attribution.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_incident_live.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_locale_poison.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_model_inventory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_movie_picker_select.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_movie_voice_list.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_patch_entity.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_patchright.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_project_media_status.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/spike_video_tab_dom.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/verify_language_agnostic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/dev/verify_model_attribution.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/capture_flow_traffic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/memory_profile.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/recaptcha_mint.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/diag/spike_387_openai_compat.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/e2e/capture_agent_toggle.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/probe/run_probe.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/probe/spike_auth_matrix.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/record_demo.ps1 +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/smoke_image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/smoke_video_editor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/smoke_worker_style.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/spike_waf_camoufox.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/scripts/verify_chrome_auth_viability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/README.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/changelog/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/check/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/doc-review/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/issue-assessment/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/issue-resolve/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/known-issues/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/live-verify/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/llm-council/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/plan/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/pr-council-review/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/predict/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/scenario/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/sonar/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/spike/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/status/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/skills/video-production/SKILL.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/sonar-project.properties +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/__main__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/_engine.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/_retry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/client.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/dto.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/extend_chain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/image_upscale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/recaptcha.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/routes.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/scene.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/_common.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/base.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/batchexecute.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/migrated_composer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/ui_automation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/video.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/api/video_extend.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/base.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/cookies.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/factory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/internal_chromium.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/real_chrome.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/strategies.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/auth/verification.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/browser_manager.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/chain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/chain_manifest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_data.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_doctor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_instructions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_models.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_project.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_tools.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/cli_update.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/composition.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/config.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/chain_repo.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/models.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/queries.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/recorder.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/redaction.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/repository.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/data/store.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/diagnostics.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/exceptions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/file_integrity.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/model.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/image_batch.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/json_output.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/prompts.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/resources.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/setup.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/tasks_extension.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/mcp/tools.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/movie_manifest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/observability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/paths.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/profile_lease.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/profile_store.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/redaction.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/catalog_sync.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/character_create.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/doctor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/services/mentions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/storage.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/banned.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/expander.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/invocation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/loader.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/registry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/runtime.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/tools/spec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/ui/server.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/update_check.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/winsec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/worker/codec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/worker/daemon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/src/gflow_cli/worker/queue.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tasks/lessons.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/test_assets/sample_batch.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/test_assets/sample_batch.tsv +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/test_assets/sample_batch_invalid.tsv +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/fixtures/character_gen_response.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/fixtures/patch_entity_response.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_aisandbox_auth_error.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_bearer_redaction.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_bootstrap_chooser.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_character_readback_fallback.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_delete_characters.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_errors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_extend.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_generate_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_incidents.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_launch_kwargs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_locale_cache.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_migrated_mint.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_patch_entity.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_scene.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_client_upscale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_concurrency.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_credits_http.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_dto.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_engine.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_extend_chain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_image_dto.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_image_upscale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_recaptcha.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_retry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_routes.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_routes_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_routes_locale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_routes_scene.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_sapisidhash_helper.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_scene_models.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_video.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_video_extend.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_video_request.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/test_video_status_poll.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_agentic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_classic.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_factory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_agent_only_composer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_base.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_batchexecute.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_bearer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_character_model_picker.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_click_attribution.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_common.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_factory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_fingerprint.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ligature_carrier.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_locale_navigation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_composer.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_dispatch.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_images.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_r2v.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_route.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_mode_control.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_model_selection_loud.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_navigation_settled.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_overlay_precondition.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_policy_400.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_sapisidhash.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_selector_symmetry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_transport_timeout.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_video.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_ui_character_editor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/strategies/test_factory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/strategies/test_strategies.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/test_account_autoselect.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/test_cookies.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/test_real_chrome.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/test_verification.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/auth/test_windows_acl.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_auth_status.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_auth_list.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_character_create.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_data.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_data_errors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_data_sync.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_doctor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_image.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_image_upscale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_instructions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_models.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_movie.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_run.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_tools.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_video.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_cli_video_extend.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_failure_funnel.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_incident_output.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_movie_manifest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_predictable_output.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_settings_validation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/composition/test_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/composition/test_compose_prompt.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/composition/test_handoff.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/composition/test_style_variants.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/composition/test_style_variants_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_chain_repo.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_failure_recording.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_find_incomplete_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_models.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_null_columns_stay_null.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_packaging.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_recorder.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_recorder_character.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_redaction.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_repository.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_scene_persistence.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_settings_and_errors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_store.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/data/test_store_migrations.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/dev/test_recording_client.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_cancellation_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_chain_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_character_create_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_credits_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_credits_mcp_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_daemon_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_data_layer_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_image_batch_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_json_output_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_migrated_host_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_project_naming_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_scene_compose_live.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_tools_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_transports_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/asset_tagging.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/auth.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/auth_login.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/character_create.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/character_read.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/click_attribution.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/credits.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/duration_tab_drift.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/entity_provenance.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/image.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/image_batch_references.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/image_upscale.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/incident_diagnostics.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/instructions.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/landing_state_diagnosis.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/latched_locale_recovery.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/locale_picker_include.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/mcp_tasks.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/media_picker_tiers.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/migrated_driver.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/migrated_host_gate.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/migrated_host_images.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/migrated_i2v.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/output_hardening.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_asset_tagging_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_auth_login_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_auth_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_character_create_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_character_read_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_credits_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_e2e_binding_guard.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_image_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_image_upscale_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_instructions_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_locale_picker_include_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_mcp_tasks_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_migrated_driver_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_migrated_host_images_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_migrated_i2v_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_output_hardening_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_step_collision_guard.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_video_agent_ui_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/test_video_chain_steps.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/video_agent_ui.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/features/video_chain.feature +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/changelog_modal_page.html +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/doctor_env.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/flow_model_inventory.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/flow_project_listing_media.json +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/listing_payload.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/fixtures/seeded_catalog.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/test_grading.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/test_model.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/test_model_governance.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/test_registry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/flow_selectors/test_report.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/image_batch/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/image_batch/test_image_manifest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/image_batch/test_jitter_config.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/image_batch/test_observability_events.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/constants.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/test_expander_gateway.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/test_storage_gcs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/integration/test_storage_s3.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/conftest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_auth_status_tool.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_character_tools.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_cli_parity.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_credits_tool.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_error_funnel.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_known_issues_resource.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_no_spend.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_resources.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_stdio_transport.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_tasks_extension.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_tools_helpers.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_tools_instructions.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/mcp/test_tools_wired.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_canary_classify.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_canary_reexec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_council_memory.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_materiality.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_release_artifacts.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_test_count.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_extract_har_summary.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_frame_acceptance.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_generate_website_docs.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_materiality_backtest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_skillopt_scoring.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_spike_page_pool.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_spike_profile_lease.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_update_sponsors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/scripts/test_workflow_hardening.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_catalog_sync.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_character_create_redaction.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_character_create_saga.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_credits.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_doctor.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_media_attribution.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_mentions_observability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_mentions_parse.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_mentions_resolve.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/services/test_resolve_and_apply.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/smoke/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/smoke/test_profile_account_smoke.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/smoke/test_real_flow.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_auth.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_browser_manager.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_chain.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_chain_manifest.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_cli_data.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_cli_project.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_cli_update.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_config.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_conftest_isolation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_data_queries.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_bundle.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_events.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_journal.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_recorder.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_retention.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_diagnostics_sanitize.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_documentation_gate.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_duration_tab_drift.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_entity_provenance.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_errors_classification.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_image_batch_references.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_incident_generation_requests.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_json_output.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_marker_registry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_observability.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_overlay_banner_dismissal.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_paths.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_playwright_pin.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_profile_lease.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_profile_lease_subprocess.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_profile_store.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_profile_store_locale.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_project_list_urls.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_self_documenting_errors.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_smoke.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/test_update_check.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/__init__.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_banned.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_expander.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_invocation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_loader.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_registry.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_runtime.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/tools/test_spec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/ui/test_app.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_codec.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_daemon.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_mcp_daemon_race.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_queue.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_queue_multiprocess.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/tests/worker/test_queue_reconciliation.py +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/CHARACTER.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/MOVIE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/SECURITY.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/SPONSORS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/TOOLS.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/agents.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/installation.md +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/docs/stylesheets/extra.css +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/requirements.in +0 -0
- {gflow_cli-0.74.0 → gflow_cli-0.75.0}/website/requirements.txt +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gflow-cli",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Flavio Oliva",
|
|
5
|
+
"url": "https://github.com/ffroliva"
|
|
6
|
+
},
|
|
7
|
+
"description": "Drive Google Flow (Veo video, Imagen images) from Claude Code.",
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "gflow",
|
|
11
|
+
"source": "./plugins/gflow",
|
|
12
|
+
"category": "Developer Tools",
|
|
13
|
+
"tags": ["video", "image", "google-flow", "veo", "imagen", "mcp"],
|
|
14
|
+
"defaultEnabled": false
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0",
|
|
4
4
|
"description": "Reusable development and operations workflows for gflow-cli",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Flavio Oliva",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"codex",
|
|
15
15
|
"google-flow"
|
|
16
16
|
],
|
|
17
|
-
"skills": "./skills/",
|
|
17
|
+
"skills": "./plugins/gflow/skills/",
|
|
18
18
|
"interface": {
|
|
19
19
|
"displayName": "gflow-cli",
|
|
20
20
|
"shortDescription": "Develop, validate, review, and operate gflow-cli.",
|
|
@@ -199,6 +199,9 @@ jobs:
|
|
|
199
199
|
- name: Council memory (every cited slug resolves, every file is cited)
|
|
200
200
|
run: uv run python scripts/ci/check_council_memory.py
|
|
201
201
|
|
|
202
|
+
- name: Plugin skills in sync (curated payload, no maintainer-only skill shipped)
|
|
203
|
+
run: uv run python scripts/ci/generate_plugin_skills.py --check
|
|
204
|
+
|
|
202
205
|
- name: Lint
|
|
203
206
|
run: uv run ruff check src tests
|
|
204
207
|
|
|
@@ -44,7 +44,7 @@ by construction, so Codex / Cursor / Aider / `agy` read exactly what Claude Code
|
|
|
44
44
|
|
|
45
45
|
## Project at a glance
|
|
46
46
|
|
|
47
|
-
-
|
|
47
|
+
- Python CLI and MCP server for [Google Flow](https://labs.google/fx/tools/flow) — drives Veo (image-to-video, text-to-video) and Imagen (text-to-image) generations from the terminal by reverse-engineering Flow's private REST API at `aisandbox-pa.googleapis.com` — and, for accounts Google has moved to `flow.google.com`, that frontend's `batchexecute` wire (text-to-video, image-to-video from a local `--initial-frame`, reference-to-video from local `--ref` files, and text-to-image/local-file image-to-image, today; `GFLOW_CLI_FLOW_HOST`).
|
|
48
48
|
- Python 3.11+ · `uv`-managed · `hatchling` builds · Playwright Chromium transport · `pyright` strict · `ruff` · `pytest`.
|
|
49
49
|
- Single-package modular monolith. Top-level modules under `src/gflow_cli/`: `api/`, `auth/`, `data/`, `mcp/`, `services/`, `tools/`, `ui/`, `worker/`, `browser_manager.py`, `cli.py`, `_cli_helpers.py`, `diagnostics.py`, `json_output.py`, `media.py`, `profile_lease.py`, `redaction.py`, `storage.py`, `winsec.py`, `cli_project.py`, `cli_character.py`, `cli_credits.py`, `cli_data.py`, `cli_image.py`, `cli_instructions.py`, `cli_models.py`, `cli_movie.py`, `cli_run.py`, `cli_scene.py`, `cli_tools.py`, `cli_video.py`, `chain.py`, `chain_manifest.py`, `cli_doctor.py`, `cli_update.py`, `composition.py`, `config.py`, `errors.py`, `file_integrity.py`, `flow_selectors/`, `update_check.py`, `exceptions.py`, `image_batch.py`, `movie_manifest.py`, `observability.py`, `paths.py`, `profile_store.py`.
|
|
50
50
|
- Command surface: `gflow auth`, `gflow credits` (user/list — read-only Veo balance), `gflow image` (t2i/i2i/batch/upload/upscale), `gflow video` (t2v/i2v/r2v/chain/extend — `extend` continues an existing clip past Flow's 8s ceiling, server-seeded from the source so the join is continuous; no `batch` subcommand; the nonfunctional stub was removed, loop `gflow video t2v`/`i2v` from the shell for multi-clip runs), `gflow character` (create/list/show/rm/voices — reusable project-scoped Flow Character entities), `gflow scene` (create/show — Add Clip / Scenes, with `create --output` for credit-free server-side extended video), `gflow instructions` (persistent Agent-Mode brief cards — add/list/enable/disable/rm/apply/toggle-mode, credits-free, `--project` required), `gflow movie` (run/template — multi-scene manifest pipeline), `gflow tools` (list/show/run — prompt-rewriting tools, also `--tool` on generation commands), `gflow data` (catalog queries), `gflow doctor` (read-only pre-flight diagnostic, exit 33 = findings present), `gflow update` (self-update through the installer that put it here — uv tool / pipx / pip; `--check` only reports; source installs refused, exit 11; deliberately no MCP twin), `gflow project`, `gflow models`, `gflow run`, `gflow mcp` (run/setup — stdio MCP server), and `gflow serve` (Streamable HTTP at `/mcp`; `--transport sse` is deprecated).
|
|
@@ -7,6 +7,93 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.75.0] — 2026-09-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Installable as a Claude Code plugin.** `/plugin marketplace add ffroliva/gflow-cli` then
|
|
15
|
+
`/plugin install gflow@gflow-cli` installs the `gflow-cli` and `video-production` skills and
|
|
16
|
+
registers the MCP server in one step. The plugin ships **disabled**: Claude Code starts a
|
|
17
|
+
plugin's MCP servers automatically on enable with no prompt of its own, and this one drives your
|
|
18
|
+
own Google account where video generation bills your credits, so enabling it is a deliberate act.
|
|
19
|
+
For a hard guarantee, register the server yourself with `gflow mcp run --no-spend`.
|
|
20
|
+
- **`docs/DISTRIBUTION.md`** — an operational catalog of every channel people install or discover
|
|
21
|
+
gflow-cli through: audience, how to submit, requirements, status and a last-verified date per
|
|
22
|
+
row. Every row was checked live. It also records the channels that listed us without being asked
|
|
23
|
+
(MCP Market, skills.sh with 21 installs, two auto-generated catalogs) and the ones we are not
|
|
24
|
+
eligible for, with the reason.
|
|
25
|
+
- **Listed on [cursor.directory](https://cursor.directory/plugins/gflow-cli)**, and submitted to
|
|
26
|
+
seven more channels: Glama, mcpservers.org, and PRs or issues on `punkpeye/awesome-mcp-servers`,
|
|
27
|
+
`ComposioHQ/awesome-claude-skills`, `hesreallyhim/awesome-claude-code`,
|
|
28
|
+
`travisvn/awesome-claude-skills` and `Arnon-hs/open-source`. `DISTRIBUTION.md` carries the
|
|
29
|
+
status and reference for each, and — equally deliberately — why four channels are closed to a
|
|
30
|
+
local-stdio server that spends the user's own credits, including a section on why there is no
|
|
31
|
+
hosted "connector" and what one would actually cost.
|
|
32
|
+
- **`server.json`** — metadata for the official MCP Registry, with `tests/test_server_json.py`
|
|
33
|
+
pinning version lockstep, the schema's 100-character description cap, the name pattern, the
|
|
34
|
+
`mcp-name:` ownership token in the README, and that the command it advertises really exists.
|
|
35
|
+
- **A `gflow-cli` console script.** `uvx gflow-cli mcp run` previously failed with uv's own
|
|
36
|
+
*"Use `uvx --from gflow-cli <EXECUTABLE-NAME>` instead"*, because the console scripts were named
|
|
37
|
+
`gflow` and `flow`. The MCP Registry builds exactly that `uvx <identifier>` command from the
|
|
38
|
+
PyPI identifier and has no field for a differing executable name, so a listing would have been
|
|
39
|
+
broken on arrival.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- **PyPI metadata.** The summary described only image-to-video and never mentioned MCP; it now
|
|
44
|
+
says what the package is. Added `Documentation`, `Repository` and `Changelog` sidebar links,
|
|
45
|
+
ten trove classifiers (all checked against the official list) and MCP-related keywords.
|
|
46
|
+
- **Dropped "unofficial" as a label** from the PyPI summary, `README.md`, `index.html`, the docs
|
|
47
|
+
site, `llms.txt`, `ROADMAP.md`, `DISCLAIMER.md`, `AGENTS.md`, `CLAUDE.md`,
|
|
48
|
+
`skills/gflow-cli/SKILL.md` and `src/gflow_cli/__init__.py`. The substance is unchanged and
|
|
49
|
+
still prominent: the README warning block reads "alpha and reverse-engineered — not affiliated
|
|
50
|
+
with Google", and `DISCLAIMER.md` still opens "not affiliated with, endorsed by, sponsored by,
|
|
51
|
+
or otherwise connected to Google LLC" — only the word "unofficial" left its first sentence.
|
|
52
|
+
It was leading with a negative in the one line PyPI shows in search results.
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- **The Codex and ChatGPT-desktop plugin manifests shipped every skill in `skills/`**, including
|
|
57
|
+
maintainer-only ones (`release`, `check`, `pr-council-review`, `sonar`, `doc-review`). All three
|
|
58
|
+
channels now point at the same curated two-skill payload under `plugins/gflow/`, generated from
|
|
59
|
+
`skills/` by `scripts/ci/generate_plugin_skills.py` with a `--check` drift gate in CI.
|
|
60
|
+
|
|
61
|
+
- **Remediation hints naming an extra rendered without the extra.** Rich reads `[chain]` in an
|
|
62
|
+
interpolated value as a style tag and silently drops it, so `pip install 'gflow-cli[chain]'`
|
|
63
|
+
printed as `pip install 'gflow-cli'` — advice that reinstalls what you already have. The same
|
|
64
|
+
applied to `gflow-cli[patchright]`. Only brackets whose first character is `[a-z#/@]` are
|
|
65
|
+
affected, which is exactly the shape of a package extra. Every site that renders error text
|
|
66
|
+
through Rich now escapes it, and `tests/test_rich_markup_safety.py` fails the build if a new one
|
|
67
|
+
appears. `--json` was never affected.
|
|
68
|
+
|
|
69
|
+
- **`gflow video chain` was unusable on a clean `gflow-cli[chain]` install (#813).** The extra
|
|
70
|
+
installed `av` but not Pillow, while `media.py` imports `PIL` at module level — so
|
|
71
|
+
`uvx --from 'gflow-cli[chain]==0.74.0' gflow video chain one.jsonl --dry-run` died on
|
|
72
|
+
`No module named 'PIL'`, surfaced as a generic exit `1` *"Unexpected error… file a bug"*,
|
|
73
|
+
immediately after the user installed the documented extra. `pillow>=12.3.0` now ships in the
|
|
74
|
+
`chain` extra alongside `av`.
|
|
75
|
+
- **A missing `av` used to fail only AFTER a paid clip.** `import av` sat inside
|
|
76
|
+
`media._decode_frame`, which runs between links — so the missing extra surfaced once link 0
|
|
77
|
+
had already been generated and billed. It is now a module-level import beside `PIL`, and the
|
|
78
|
+
import block at the top of `video chain` is guarded: either missing package is a typed
|
|
79
|
+
`FrameExtractionError` (exit `20`) raised *before* the manifest is read, before `--dry-run`
|
|
80
|
+
prints a plan, and before the cost prompt. Nothing is submitted and no browser is launched.
|
|
81
|
+
`FrameExtractionError`'s remediation now names the extra **and both** packages (`av`,
|
|
82
|
+
`pillow`); it previously said only "PyAV", which left a missing Pillow undiagnosable.
|
|
83
|
+
- **Error text containing `[...]` was silently truncated on the console.** `detail` and
|
|
84
|
+
`remediation_hint` were interpolated into Rich markup unescaped, so Rich read `[chain]` as an
|
|
85
|
+
unknown style tag and dropped it — turning every `install gflow-cli[chain]` hint into
|
|
86
|
+
`install gflow-cli`, advice that reinstalls what the user already has. Both error render
|
|
87
|
+
paths now escape. `--json` was never affected.
|
|
88
|
+
### Security
|
|
89
|
+
|
|
90
|
+
- **`gflow serve` now requires the configured daemon token on every HTTP request.**
|
|
91
|
+
`GFLOW_CLI_DAEMON_TOKEN` / `GFLOW_DAEMON_TOKEN` previously gated startup only. It is now verified
|
|
92
|
+
on every request, on both the Streamable HTTP and the deprecated SSE transport, with a
|
|
93
|
+
constant-time comparison; a missing, malformed or wrong token gets `401` plus a
|
|
94
|
+
`WWW-Authenticate: Bearer` header and never reaches a tool. Set a token and upgrade if you run
|
|
95
|
+
`gflow serve` on anything other than the default loopback bind.
|
|
96
|
+
|
|
10
97
|
## [0.74.0] — 2026-09-14
|
|
11
98
|
|
|
12
99
|
### Added
|
|
@@ -5014,7 +5101,8 @@ shell-script template that branches on these codes.
|
|
|
5014
5101
|
|
|
5015
5102
|
First skeleton. Not functional end-to-end yet.
|
|
5016
5103
|
|
|
5017
|
-
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.
|
|
5104
|
+
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.75.0...HEAD
|
|
5105
|
+
[0.75.0]: https://github.com/ffroliva/gflow-cli/compare/v0.74.0...v0.75.0
|
|
5018
5106
|
[0.74.0]: https://github.com/ffroliva/gflow-cli/compare/v0.73.2...v0.74.0
|
|
5019
5107
|
[0.73.2]: https://github.com/ffroliva/gflow-cli/compare/v0.73.1...v0.73.2
|
|
5020
5108
|
[0.73.1]: https://github.com/ffroliva/gflow-cli/compare/v0.73.0...v0.73.1
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this project is
|
|
6
6
|
|
|
7
|
-
`gflow-cli` is
|
|
7
|
+
`gflow-cli` is a Python CLI that drives [Google Flow](https://labs.google/fx/tools/flow) (Veo image-to-video, Imagen text-to-image) from the terminal by reverse-engineering Flow's private REST API. See [README.md](README.md) for the user-facing overview.
|
|
8
8
|
|
|
9
9
|
## System rules — loaded, not requested
|
|
10
10
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Not affiliated with Google
|
|
4
4
|
|
|
5
|
-
`gflow-cli` is an **independent
|
|
5
|
+
`gflow-cli` is an **independent** project. It is **not affiliated with, endorsed by, sponsored by, or otherwise connected to Google LLC, Alphabet Inc., DeepMind, or any of their subsidiaries.** All trademarks (Google, Flow, Veo, Gemini, Imagen, AI Ultra, AI Pro) are the property of their respective owners. The use of these names here is purely descriptive — to identify the service this tool integrates with — and does not imply endorsement.
|
|
6
6
|
|
|
7
7
|
## Reverse-engineered surface
|
|
8
8
|
|
|
@@ -1203,6 +1203,42 @@ your prompts.
|
|
|
1203
1203
|
|
|
1204
1204
|
---
|
|
1205
1205
|
|
|
1206
|
+
### `gflow-cli[chain]` ≤ 0.74.0 does not install Pillow — `video chain` fails with exit 1
|
|
1207
|
+
|
|
1208
|
+
- **Status:** **Fixed in v0.75.0** · affects `gflow-cli` ≤ 0.74.0 · **Severity:** High (the command was unusable) · **Affects:** `gflow video chain` · **Tracked:** [#813](https://github.com/ffroliva/gflow-cli/issues/813)
|
|
1209
|
+
|
|
1210
|
+
Through 0.74.0 the `chain` extra declared `av` alone, but `gflow_cli/media.py`
|
|
1211
|
+
imports `PIL` at module level. So the documented install produced a CLI that
|
|
1212
|
+
could not run the command it was installed for:
|
|
1213
|
+
|
|
1214
|
+
```console
|
|
1215
|
+
$ uvx --isolated --from 'gflow-cli[chain]==0.74.0' gflow video chain one.jsonl --dry-run
|
|
1216
|
+
Unexpected error ... file a bug # exit 1; the real cause is No module named 'PIL'
|
|
1217
|
+
```
|
|
1218
|
+
|
|
1219
|
+
A missing **`av`** was worse than it looked: `import av` was deferred into the
|
|
1220
|
+
decode helper, which only runs *between* links — so it surfaced after link 0 had
|
|
1221
|
+
already been generated and **paid for**.
|
|
1222
|
+
|
|
1223
|
+
**Workaround on ≤ 0.74.0** — install Pillow alongside the extra:
|
|
1224
|
+
|
|
1225
|
+
```bash
|
|
1226
|
+
pip install 'gflow-cli[chain]' pillow
|
|
1227
|
+
# or: uv tool install 'gflow-cli[chain]' --with pillow
|
|
1228
|
+
```
|
|
1229
|
+
|
|
1230
|
+
**Fixed in v0.75.0:** `pillow` ships in the `chain` extra, `av` moved to
|
|
1231
|
+
a module-level import so both fail at the same point, and `video chain` now
|
|
1232
|
+
raises `FrameExtractionError` (**exit 20**) naming the extra and both packages —
|
|
1233
|
+
before the manifest is read, before `--dry-run` prints a plan, and before the
|
|
1234
|
+
cost prompt. Verified against a real wheel installed without extras: a
|
|
1235
|
+
**nonexistent** manifest still exits 20 on the dependency error rather than
|
|
1236
|
+
file-not-found, which is what shows the guard precedes the manifest read.
|
|
1237
|
+
The advice is also legible now — Rich used to eat `[chain]` out of it and print
|
|
1238
|
+
`pip install 'gflow-cli'`, i.e. reinstall what you already have.
|
|
1239
|
+
|
|
1240
|
+
---
|
|
1241
|
+
|
|
1206
1242
|
### `gflow video chain` outputs N clips, not one file — auto-concat is deferred
|
|
1207
1243
|
|
|
1208
1244
|
- **Status:** Open (by design) · **Severity:** Low · **Affects:** `gflow video chain` (v0.12.0)
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: gflow-cli
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.75.0
|
|
4
|
+
Summary: CLI and MCP server for Google Flow — drive Veo text-to-video, image-to-video and Imagen image generation from the terminal.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ffroliva/gflow-cli
|
|
6
|
+
Project-URL: Documentation, https://ffroliva.github.io/gflow-cli/
|
|
7
|
+
Project-URL: Repository, https://github.com/ffroliva/gflow-cli
|
|
8
|
+
Project-URL: Changelog, https://github.com/ffroliva/gflow-cli/blob/main/CHANGELOG.md
|
|
6
9
|
Project-URL: Issues, https://github.com/ffroliva/gflow-cli/issues
|
|
7
10
|
Project-URL: Funding, https://github.com/sponsors/ffroliva
|
|
8
11
|
Author-email: Flavio Oliva <ffroliva@gmail.com>
|
|
@@ -28,15 +31,25 @@ License: MIT License
|
|
|
28
31
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
32
|
SOFTWARE.
|
|
30
33
|
License-File: LICENSE
|
|
31
|
-
Keywords: ai,cli,flow,google,veo,video
|
|
34
|
+
Keywords: ai,ai-video,cli,flow,generative-ai,google,google-flow,image-to-video,imagen,mcp,mcp-server,model-context-protocol,playwright,text-to-video,veo,video,video-generation
|
|
32
35
|
Classifier: Development Status :: 3 - Alpha
|
|
33
36
|
Classifier: Environment :: Console
|
|
37
|
+
Classifier: Framework :: AsyncIO
|
|
38
|
+
Classifier: Framework :: Pydantic :: 2
|
|
34
39
|
Classifier: Intended Audience :: Developers
|
|
40
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
35
41
|
Classifier: License :: OSI Approved :: MIT License
|
|
42
|
+
Classifier: Natural Language :: English
|
|
43
|
+
Classifier: Operating System :: OS Independent
|
|
44
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
36
45
|
Classifier: Programming Language :: Python :: 3.11
|
|
37
46
|
Classifier: Programming Language :: Python :: 3.12
|
|
38
47
|
Classifier: Programming Language :: Python :: 3.13
|
|
48
|
+
Classifier: Topic :: Multimedia :: Graphics
|
|
39
49
|
Classifier: Topic :: Multimedia :: Video
|
|
50
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
51
|
+
Classifier: Topic :: Utilities
|
|
52
|
+
Classifier: Typing :: Typed
|
|
40
53
|
Requires-Python: >=3.11
|
|
41
54
|
Requires-Dist: browser-cookie3>=0.20.1
|
|
42
55
|
Requires-Dist: click>=8.1.0
|
|
@@ -53,6 +66,7 @@ Requires-Dist: tenacity>=8.2
|
|
|
53
66
|
Requires-Dist: uvicorn[standard]>=0.34.0
|
|
54
67
|
Provides-Extra: chain
|
|
55
68
|
Requires-Dist: av>=12; extra == 'chain'
|
|
69
|
+
Requires-Dist: pillow>=12.3.0; extra == 'chain'
|
|
56
70
|
Provides-Extra: dev
|
|
57
71
|
Requires-Dist: av>=12; extra == 'dev'
|
|
58
72
|
Requires-Dist: numpy>=1.24; extra == 'dev'
|
|
@@ -70,9 +84,11 @@ Requires-Dist: s3fs>=2024.2.0; extra == 's3'
|
|
|
70
84
|
Requires-Dist: universal-pathlib>=0.2.5; extra == 's3'
|
|
71
85
|
Description-Content-Type: text/markdown
|
|
72
86
|
|
|
87
|
+
<!-- mcp-name: io.github.ffroliva/gflow-cli -->
|
|
88
|
+
|
|
73
89
|
# gflow-cli
|
|
74
90
|
|
|
75
|
-
>
|
|
91
|
+
> Python CLI and MCP server for Google Flow. Drive [Veo](https://labs.google/fx/tools/flow) (image-to-video, text-to-video) and Imagen (text-to-image) from your terminal: scripted, batched, pipeline-ready.
|
|
76
92
|
|
|
77
93
|
[](https://pypi.org/project/gflow-cli/)
|
|
78
94
|
[](https://github.com/ffroliva/gflow-cli/actions/workflows/ci.yml)
|
|
@@ -92,7 +108,7 @@ Description-Content-Type: text/markdown
|
|
|
92
108
|
|
|
93
109
|
<!-- sponsors-gold:end -->
|
|
94
110
|
|
|
95
|
-
> ⚠️ **Read this before you install.** gflow-cli is **
|
|
111
|
+
> ⚠️ **Read this before you install.** gflow-cli is **alpha and reverse-engineered — not affiliated with Google**. It drives a headed browser on *your own* Google Flow session, so treat it as your own account risk: automation is subject to Google's ToS, and endpoints or UI can change without notice. It works with **any Google account** that has Flow access, and every generation bills against your account's Flow credit allowance. Read the full [DISCLAIMER](DISCLAIMER.md).
|
|
96
112
|
>
|
|
97
113
|
> 🛡️ **"Will this get my account flagged?"** The honest, specific answer — what the tool does to stay unremarkable (headed real Chrome, randomised interaction timing, paced submissions), what it deliberately does **not** do (no proxies, no fingerprint spoofing, no pretending it isn't automation), what you can tune, and what we cannot promise — is in [docs/ACCOUNT_SAFETY.md](docs/ACCOUNT_SAFETY.md).
|
|
98
114
|
>
|
|
@@ -188,6 +204,25 @@ gflow-cli ships four agent entry points. Pick the one your tool reads first.
|
|
|
188
204
|
| [**llms.txt**](llms.txt) | LLM-readable summary (llmstxt.org format) | Paste into ChatGPT, Claude, or Gemini to onboard the model |
|
|
189
205
|
| [`skills/gflow-cli/SKILL.md`](skills/gflow-cli/SKILL.md) | Claude Code Skill | Symlink into `~/.claude/skills/` |
|
|
190
206
|
|
|
207
|
+
### Install the plugin (Claude Code)
|
|
208
|
+
|
|
209
|
+
One step, and you get the `gflow-cli` and `video-production` skills plus the MCP server:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
/plugin marketplace add ffroliva/gflow-cli
|
|
213
|
+
/plugin install gflow@gflow-cli
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
The plugin ships **disabled**. Claude Code starts a plugin's MCP servers automatically once a
|
|
217
|
+
plugin is enabled, with no prompt of its own — and this server drives your own Google account,
|
|
218
|
+
where Veo video generation bills your credits. So installing it starts nothing, and enabling it
|
|
219
|
+
is a deliberate act. Images and composition are free; only video spends. For a hard guarantee,
|
|
220
|
+
register the server yourself with `gflow mcp run --no-spend`, which never registers the
|
|
221
|
+
credit-spending tools at all. See [docs/MCP.md](docs/MCP.md) for the details, including which
|
|
222
|
+
revision `/plugin marketplace add` gives you.
|
|
223
|
+
|
|
224
|
+
Codex users: `codex plugin marketplace add .` then `codex plugin add gflow@gflow-cli`.
|
|
225
|
+
|
|
191
226
|
Onboard any agent in one line. Paste this into your agent of choice:
|
|
192
227
|
|
|
193
228
|
> *"Read [AGENTS.md](https://github.com/ffroliva/gflow-cli/blob/main/AGENTS.md) and [docs/INDEX.md](https://github.com/ffroliva/gflow-cli/blob/main/docs/INDEX.md), then help me with my Flow batch."*
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
<!-- mcp-name: io.github.ffroliva/gflow-cli -->
|
|
2
|
+
|
|
1
3
|
# gflow-cli
|
|
2
4
|
|
|
3
|
-
>
|
|
5
|
+
> Python CLI and MCP server for Google Flow. Drive [Veo](https://labs.google/fx/tools/flow) (image-to-video, text-to-video) and Imagen (text-to-image) from your terminal: scripted, batched, pipeline-ready.
|
|
4
6
|
|
|
5
7
|
[](https://pypi.org/project/gflow-cli/)
|
|
6
8
|
[](https://github.com/ffroliva/gflow-cli/actions/workflows/ci.yml)
|
|
@@ -20,7 +22,7 @@
|
|
|
20
22
|
|
|
21
23
|
<!-- sponsors-gold:end -->
|
|
22
24
|
|
|
23
|
-
> ⚠️ **Read this before you install.** gflow-cli is **
|
|
25
|
+
> ⚠️ **Read this before you install.** gflow-cli is **alpha and reverse-engineered — not affiliated with Google**. It drives a headed browser on *your own* Google Flow session, so treat it as your own account risk: automation is subject to Google's ToS, and endpoints or UI can change without notice. It works with **any Google account** that has Flow access, and every generation bills against your account's Flow credit allowance. Read the full [DISCLAIMER](DISCLAIMER.md).
|
|
24
26
|
>
|
|
25
27
|
> 🛡️ **"Will this get my account flagged?"** The honest, specific answer — what the tool does to stay unremarkable (headed real Chrome, randomised interaction timing, paced submissions), what it deliberately does **not** do (no proxies, no fingerprint spoofing, no pretending it isn't automation), what you can tune, and what we cannot promise — is in [docs/ACCOUNT_SAFETY.md](docs/ACCOUNT_SAFETY.md).
|
|
26
28
|
>
|
|
@@ -116,6 +118,25 @@ gflow-cli ships four agent entry points. Pick the one your tool reads first.
|
|
|
116
118
|
| [**llms.txt**](llms.txt) | LLM-readable summary (llmstxt.org format) | Paste into ChatGPT, Claude, or Gemini to onboard the model |
|
|
117
119
|
| [`skills/gflow-cli/SKILL.md`](skills/gflow-cli/SKILL.md) | Claude Code Skill | Symlink into `~/.claude/skills/` |
|
|
118
120
|
|
|
121
|
+
### Install the plugin (Claude Code)
|
|
122
|
+
|
|
123
|
+
One step, and you get the `gflow-cli` and `video-production` skills plus the MCP server:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
/plugin marketplace add ffroliva/gflow-cli
|
|
127
|
+
/plugin install gflow@gflow-cli
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The plugin ships **disabled**. Claude Code starts a plugin's MCP servers automatically once a
|
|
131
|
+
plugin is enabled, with no prompt of its own — and this server drives your own Google account,
|
|
132
|
+
where Veo video generation bills your credits. So installing it starts nothing, and enabling it
|
|
133
|
+
is a deliberate act. Images and composition are free; only video spends. For a hard guarantee,
|
|
134
|
+
register the server yourself with `gflow mcp run --no-spend`, which never registers the
|
|
135
|
+
credit-spending tools at all. See [docs/MCP.md](docs/MCP.md) for the details, including which
|
|
136
|
+
revision `/plugin marketplace add` gives you.
|
|
137
|
+
|
|
138
|
+
Codex users: `codex plugin marketplace add .` then `codex plugin add gflow@gflow-cli`.
|
|
139
|
+
|
|
119
140
|
Onboard any agent in one line. Paste this into your agent of choice:
|
|
120
141
|
|
|
121
142
|
> *"Read [AGENTS.md](https://github.com/ffroliva/gflow-cli/blob/main/AGENTS.md) and [docs/INDEX.md](https://github.com/ffroliva/gflow-cli/blob/main/docs/INDEX.md), then help me with my Flow batch."*
|
|
@@ -90,6 +90,8 @@ python -m pip install --pre gflow-cli
|
|
|
90
90
|
6. Update the version in:
|
|
91
91
|
- `pyproject.toml`
|
|
92
92
|
- `.codex-plugin/plugin.json`
|
|
93
|
+
- `plugins/gflow/.claude-plugin/plugin.json` (the Claude Code plugin a user installs;
|
|
94
|
+
`tests/test_plugin_manifests.py::test_plugin_version_tracks_pyproject` fails if it lags)
|
|
93
95
|
- `src/gflow_cli/__init__.py`
|
|
94
96
|
- `uv.lock` (run `uv lock` — the editable package version is pinned there)
|
|
95
97
|
- any tests that assert the package version
|
|
@@ -97,7 +99,7 @@ python -m pip install --pre gflow-cli
|
|
|
97
99
|
release section.
|
|
98
100
|
8. Commit the release prep:
|
|
99
101
|
```bash
|
|
100
|
-
git add pyproject.toml .codex-plugin/plugin.json src/gflow_cli/__init__.py uv.lock CHANGELOG.md tests docs
|
|
102
|
+
git add pyproject.toml .codex-plugin/plugin.json plugins/gflow/.claude-plugin/plugin.json src/gflow_cli/__init__.py uv.lock CHANGELOG.md tests docs
|
|
101
103
|
git commit -m "chore(release): vX.Y.Z"
|
|
102
104
|
```
|
|
103
105
|
9. Tag and push. **Must be a signed annotated tag** (`-s`) — `.github/workflows/release.yml` rejects unsigned or lightweight tags. Requires a GPG or SSH signing key registered with your GitHub account.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Roadmap
|
|
2
2
|
|
|
3
|
-
> Themes, not deadlines. `gflow-cli` is an
|
|
3
|
+
> Themes, not deadlines. `gflow-cli` is an independent CLI tracking a private Google Flow API — a single upstream UI change can rearrange a sprint, so we publish themed milestones with deliverables and let velocity emerge.
|
|
4
4
|
|
|
5
5
|
## v0.9.0 — Maturity & Visibility (current)
|
|
6
6
|
|
|
@@ -43,4 +43,4 @@ The point at which `FlowApiClient` carries a SemVer commitment and the documenta
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
*Themes, not deadlines. An
|
|
46
|
+
*Themes, not deadlines. An independent CLI tracking a private API can have its sprint broken by a single UI change upstream — fixed dates would be dishonest.*
|
|
@@ -207,8 +207,8 @@ gflow tools run creative-director "cat in space" --json # check "was_expanded"
|
|
|
207
207
|
|
|
208
208
|
### `GFLOW_CLI_DAEMON_TOKEN` (alias: `GFLOW_DAEMON_TOKEN`)
|
|
209
209
|
|
|
210
|
-
**What:** API token required before `gflow serve` will bind to a non-localhost address (`--host` other than `127.0.0.1`)
|
|
211
|
-
**Default:** unset.
|
|
210
|
+
**What:** API token for `gflow serve`. When set, **every** HTTP request to the daemon must carry `Authorization: Bearer <token>` — missing, wrong, or non-`Bearer` credentials are answered `401` with a `WWW-Authenticate: Bearer` header, on both `--transport http` (`/mcp`) and the deprecated `--transport sse` (`/sse` and `/messages/`). It is also required *before* `gflow serve` will bind to a non-localhost address (`--host` other than `127.0.0.1`); without it, non-local binds abort with exit 11.
|
|
211
|
+
**Default:** unset — a loopback bind then serves unauthenticated requests (the local single-user posture), and startup logs `mcp.server.auth_disabled` saying so.
|
|
212
212
|
**Security:** stored as a Pydantic `SecretStr` (since v0.55.0), so a `repr()`/`str()`/`model_dump_json()` of the settings object masks it by construction — on top of the existing logging-boundary redaction. Treat it like any credential: set it via `.env`/environment, never commit it.
|
|
213
213
|
|
|
214
214
|
### `GFLOW_MCP_NO_SPEND`
|
|
@@ -476,8 +476,8 @@ each link in turn, so total wallclock is the sum of all link waits).
|
|
|
476
476
|
| `--profile NAME` | default profile | Per-subcommand profile override. |
|
|
477
477
|
| `--json` | off | Emit a machine-readable JSON result. |
|
|
478
478
|
|
|
479
|
-
The last-frame extractor needs the **`chain` optional extra** (PyAV
|
|
480
|
-
ffmpeg required):
|
|
479
|
+
The last-frame extractor needs the **`chain` optional extra** (PyAV for decoding —
|
|
480
|
+
no system ffmpeg required — plus Pillow to write the seed JPEG):
|
|
481
481
|
|
|
482
482
|
```bash
|
|
483
483
|
pip install 'gflow-cli[chain]'
|