gflow-cli 0.85.0__tar.gz → 0.86.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.85.0 → gflow_cli-0.86.0}/.codex-plugin/plugin.json +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.env.template +10 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/ci.yml +5 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/AGENTS.md +2 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/CHANGELOG.md +78 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/KNOWN_ISSUES.md +56 -28
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/PKG-INFO +3 -3
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/README.md +2 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker/Dockerfile +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/AUTHENTICATION.md +47 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/CONFIGURATION.md +13 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/E2E_TESTING.md +4 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/INDEX.md +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.85.0.md +8 -1
- gflow_cli-0.86.0/docs/LIVE_VERIFICATION_v0.86.0.md +69 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/MCP.md +23 -16
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/PROJECT_STATUS.md +27 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/USAGE.md +41 -14
- {gflow_cli-0.85.0/website → gflow_cli-0.86.0}/docs/USER_GUIDE.md +4 -0
- gflow_cli-0.86.0/docs/superpowers/memory/drive-the-page-dont-replay-the-rpc.md +29 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +7 -5
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +4 -2
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/ASSESSMENT.md +45 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PLAN.md +146 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PREDICT.md +101 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/SCENARIO.md +95 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/PLAN.md +104 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/PREDICT.md +43 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/SCENARIO.md +79 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-09-15-agent-only-composer-drive-surface.md +178 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-09-19-migrated-video-extend-wire.md +53 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-14-labs-nextauth-silent-refresh.md +34 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-17-agent-only-cohort-profiles.md +53 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-17-migrated-extend-ui-path.md +148 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/llms.txt +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/.claude-plugin/plugin.json +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0/plugins/gflow}/skills/gflow-cli/SKILL.md +11 -6
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/SKILL.md +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/pyproject.toml +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/skillopt/tasks.json +7 -7
- gflow_cli-0.86.0/scripts/dev/spike_agent_confirm_radios.py +54 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_cohort_profiles.py +150 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_composer.py +334 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_video_ready.py +154 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_video_tile.py +118 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_settings_defaults.py +166 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_submit_references.py +4 -4
- gflow_cli-0.86.0/scripts/dev/spike_labs_nextauth_refresh.py +87 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_end_frame.py +4 -4
- gflow_cli-0.86.0/scripts/dev/spike_migrated_extend_ui_path.py +396 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_refusal_envelope.py +3 -3
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_nano_banana_21_wire.py +2 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/server.json +2 -2
- {gflow_cli-0.85.0/plugins/gflow → gflow_cli-0.86.0}/skills/gflow-cli/SKILL.md +11 -6
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/pr-council-review/SKILL.md +58 -5
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/spike/SKILL.md +2 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/SKILL.md +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/__init__.py +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/client.py +77 -8
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/credits.py +11 -10
- gflow_cli-0.86.0/src/gflow_cli/api/transports/agent_only_composer.py +991 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/batchexecute.py +3 -3
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_composer.py +183 -104
- gflow_cli-0.86.0/src/gflow_cli/api/transports/migrated_extend.py +559 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/ui_automation.py +4 -1
- gflow_cli-0.86.0/src/gflow_cli/auth/renew.py +217 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli.py +127 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_credits.py +18 -8
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_video.py +279 -18
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/config.py +16 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/errors.py +5 -4
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/tools.py +20 -8
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/credits.py +58 -8
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_extend.py +51 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_image.py +68 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_credits_http.py +13 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_upload_reference.py +17 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_agent_only_composer.py +58 -0
- gflow_cli-0.86.0/tests/api/transports/test_agent_only_composer_driver.py +1063 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_composer.py +80 -21
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_existing_refs.py +18 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_extend.py +535 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_r2v.py +3 -3
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_signed_media_retry.py +10 -10
- gflow_cli-0.86.0/tests/auth/test_renew.py +347 -0
- gflow_cli-0.86.0/tests/cli/test_auth_renew.py +229 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_credits.py +48 -4
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video_extend.py +243 -2
- gflow_cli-0.86.0/tests/e2e/test_agent_only_composer_bdd.py +262 -0
- gflow_cli-0.86.0/tests/e2e/test_auth_renew_e2e.py +128 -0
- gflow_cli-0.86.0/tests/e2e/test_credits_refresh_e2e.py +108 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_host_e2e.py +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_refusal_live_bdd.py +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_project_create_e2e.py +1 -1
- gflow_cli-0.86.0/tests/e2e/test_video_extend_migrated_e2e.py +234 -0
- gflow_cli-0.86.0/tests/features/agent_only_composer_live.feature +32 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_credits_steps.py +2 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_cli_parity.py +5 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_credits_tool.py +31 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_credits.py +240 -0
- gflow_cli-0.86.0/tests/test_config_agent_confirm.py +28 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_documentation_gate.py +22 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_marker_registry.py +10 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/uv.lock +1 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/AUTHENTICATION.md +47 -1
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/CONFIGURATION.md +13 -2
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/E2E_TESTING.md +4 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/KNOWN_ISSUES.md +56 -28
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/MCP.md +23 -16
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/USAGE.md +41 -14
- {gflow_cli-0.85.0 → gflow_cli-0.86.0/website}/docs/USER_GUIDE.md +4 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.agents/plugins/marketplace.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/active.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/branch-review.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/changelog.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/check.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/doc-review.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/issue-assessment.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/issue-resolve.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/known-issues.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/live-verify.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/llm-council.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/next.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/plan.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/pr-council-review.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/predict.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/release.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/scenario.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/sonar.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/spike.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude/commands/gflow/status.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.claude-plugin/marketplace.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.gitattributes +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/CODEOWNERS +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/FUNDING.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/copilot-instructions.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/dependabot.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/deps-watch.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/external-pr-triage.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/governance-advisory.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/governance-benchmark.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/labels.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/main-base-guard.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/mcp-registry.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/pages.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/release.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/scorecard.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/selector-probe.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/sponsors.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.github/workflows/star-history-watch.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.gitignore +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.gitleaks.toml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.pre-commit-config.yaml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/.secrets.baseline +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/CLAUDE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/CONFIGURATION.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/CONTRIBUTING.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/DISCLAIMER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/LICENSE +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/RELEASE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/ROADMAP.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/deploy/logrotate-pr-triage +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker/Dockerfile.test +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker/docker-compose.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker/dockerignore.example +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docker-compose.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/AGENT_GUIDE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/AGENT_UI_E2E.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/AGENT_UI_RECON.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/ASSET_TAGGING_RECON.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/CHARACTER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/CHARACTER_RECON.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/CONTAINER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/DEMOS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/DISTRIBUTION.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/GITHUB.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.75.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.76.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.77.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.77.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.78.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.79.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.79.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.80.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.81.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.82.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.82.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.2.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.84.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/MARKETPLACES.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/MOVIE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/REFERENCE_STRATEGIES.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/SECURITY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/SPONSORS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/TOOLS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/assets/demo-split-pf.gif +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/assets/example-run.gif +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/assets/examples.webp +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/medium_tutorial.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/schemas/movie-handoff.schema.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/sonar-cleanup-tracker.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/content-policy-text-scan-false-positives-on-page-chrome.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/migrated-refusal-is-a-dom-card-not-a-wire-record.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-signing.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/SCENARIO.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-project-create-bundle/PLAN.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-15-container-transport-viability.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-15-unentitled-account-signal.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-16-networkidle-costs-3x-it-does-not-hang.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-migrated-end-frame-submit-contract.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-project-create-on-flow-google-com.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-stranded-clip-recovery.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-20-warm-client-premint-on-about-blank.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-22-playwright-max-retries-econnreset.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-23-about-cta-leads-to-google-reauth.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-27-migrated-refusal-is-on-the-wire.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-27-stealth-fingerprint-delta.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-30-migrated-upscale-wire.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-01-batch-ref-dropped.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-01-recaptcha-error-shape.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-06-948-record-slot3-null.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-08-nano-banana-21-replaced-2.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-10-duration-locale-and-notice-only-cookie-bar.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-13-migrated-image-character-mention.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/batch_from_config.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/multi_prompt_t2i.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/sample_config.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/sample_prompts.txt +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/single_image_t2i.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/examples/workflow_chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/glama.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/hatch_build.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/index.html +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/mempalace.yaml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/.mcp.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/composition.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/01_upload_image.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/04_archive_workflow.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/05_createProject.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/06_batchGenerateImages.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/12_create_scene.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/14_get_scene_workflows.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/canary/register_task.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/canary/run_canary.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_council_memory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_doc_links.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_fork_pr_ci.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_materiality.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_release_artifacts.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_repo_hygiene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_test_count.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/check_website_docs_pii.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/generate_plugin_skills.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/generate_website_docs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/ci/update_sponsors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/debug_editor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/debug_gen_settings.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/debug_settings.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/_recording_client.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/_spike_common.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/bench.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/domain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/judge.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/settings.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/active_plan.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_locale_invariants.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_project_listing.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/character_create_spike.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/character_create_spike_v2.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/dump_character_selectors.js +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/incident_bundle_quality.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_mcp_tasks.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_video_model_select.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/make_project.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/materiality_backtest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/measure_html_lang_settle.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/measure_locale_probe.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/patch_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/skillopt/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/skillopt/harness.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/sonar-local-scan.sh +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_948_project_records.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_948_submit_envelope.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_963_duration_locale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_cta_recovery.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_batch_ref_dropped.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_batch_ref_existing_media.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_changelog_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_char_editor_dom.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_char_gen_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_character_prompt_format.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_create_project_401.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_credits_migrated_surface.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_model_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_route_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_flow_unavailable_signal.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_frames_picker_confirm.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_generation_wire_survey.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_gif_export_delivery.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_host_lane.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_model_attribution.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_incident_live.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_locale_poison.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_mention_existing_media.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_aspect_radios.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_create_project.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_mint_on_about_blank.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_model_inventory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_picker_select.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_voice_list.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_networkidle_bootstrap_cost.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_offscreen_window.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_patch_entity.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_patchright.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_picker_chip_removal.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_picker_entity_marker.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_playwright_max_retries.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_project_media_status.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_recaptcha_error_shape.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_recover_stranded_clip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_ref_gate.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_stealth_fingerprint_delta.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_upload_token_join.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_upscale_menu_anchors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_video_tab_dom.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_video_workflow_id.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/spike_warm_client_unported_form.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/verify_language_agnostic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/dev/verify_model_attribution.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/capture_flow_traffic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/memory_profile.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/recaptcha_mint.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/diag/spike_387_openai_compat.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/e2e/capture_agent_toggle.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/probe/run_probe.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/probe/spike_auth_matrix.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/record_demo.ps1 +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/smoke_image.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/smoke_video_editor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/smoke_worker_style.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/spike_waf_camoufox.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/scripts/verify_chrome_auth_viability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/README.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/changelog/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/check/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/doc-review/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/issue-assessment/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/issue-resolve/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/known-issues/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/live-verify/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/llm-council/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/plan/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/predict/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/release/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/scenario/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/sonar/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/status/SKILL.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/composition.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/sonar-project.properties +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/__main__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/_cli_helpers.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_engine.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_retry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/dto.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/extend_chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/image.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/image_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/recaptcha.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/routes.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/scene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/_common.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/base.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_recover.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_video_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/video.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/api/video_extend.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/base.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/cookies.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/factory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/internal_chromium.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/real_chrome.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/strategies.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/verification.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/browser_manager.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/chain_manifest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_data.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_docs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_doctor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_image.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_instructions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_models.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_movie.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_project.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_run.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_scene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_tools.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_update.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/composition.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/chain_repo.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/models.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/queries.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/recorder.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/redaction.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/repository.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/data/store.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/diagnostics.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/docs_catalog.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/exceptions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/file_integrity.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/model.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/image_batch.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/json_output.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/prompts.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/resources.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/server.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/setup.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/tasks_extension.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/media.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/movie_manifest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/observability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/paths.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/profile_lease.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/profile_store.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/redaction.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/catalog_sync.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/character_create.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/doctor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/media_recovery.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/services/mentions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/storage.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/banned.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/expander.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/invocation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/loader.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/registry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/runtime.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/spec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/ui/app.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/ui/server.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/update_check.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/winsec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/codec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/daemon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/queue.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tasks/lessons.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/test_assets/sample_batch.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/test_assets/sample_batch.tsv +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/test_assets/sample_batch_invalid.tsv +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/_upscale_fakes.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/fixtures/character_gen_response.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/fixtures/patch_entity_response.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_error.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_remediation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_bearer_redaction.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_bootstrap_chooser.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_character_readback_fallback.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_delete_characters.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_generate_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_incidents.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_launch_kwargs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_locale_cache.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_migrated_mint.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_patch_entity.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_project_host.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_scene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_client_window_position.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_concurrency.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_credits.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_dto.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_engine.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_extend_chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_image.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_image_capability_and_cookie_bar.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_image_dto.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_image_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_migrated_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_migrated_video_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_recaptcha.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_retry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_routes.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_routes_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_routes_locale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_routes_scene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_sapisidhash_helper.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_scene_models.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_video.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_video_extend.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_video_request.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/test_video_status_poll.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/_ogiz0b.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_agentic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_classic.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_factory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_base.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_batchexecute.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_bearer.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_character_model_picker.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_click_attribution.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_common.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_factory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_fingerprint.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_flow_access_unavailable.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ligature_carrier.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_locale_navigation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_dispatch.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_images.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_project.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_recover.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_route.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_mode_control.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_model_selection_loud.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_navigation_settled.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_overlay_precondition.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_policy_400.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_sapisidhash.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_selector_symmetry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_transport_timeout.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_video.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_character_editor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/strategies/test_factory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/strategies/test_strategies.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/test_account_autoselect.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/test_cookies.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/test_real_chrome.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/test_verification.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/auth/test_windows_acl.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_auth_status.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_auth_error_paths.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_auth_list.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_character_create.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_sync.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_docs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_doctor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_instructions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_models.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_movie.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_run.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_scene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_tools.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video_chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video_upscale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_docs_catalog_real_docs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_error_handling.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_failure_funnel.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_helpers.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_incident_output.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_movie_manifest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_predictable_output.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_settings_validation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/cli/test_video_recording_busy.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/composition/test_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/composition/test_compose_prompt.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/composition/test_handoff.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/composition/test_style_variants.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/composition/test_style_variants_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_chain_repo.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_failure_recording.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_find_incomplete_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_models.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_null_columns_stay_null.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_packaging.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_recorder.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_recorder_character.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_redaction.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_repository.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_scene_persistence.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_settings_and_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_store.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_store_migrations.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/data/test_store_transaction_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/dev/test_recording_client.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_blocking_dialog_dismissal_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_cancellation_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_chain_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_character_create_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_credits_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_credits_mcp_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_daemon_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_data_download_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_data_layer_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_frame_picker_binding_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_image_batch_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_json_output_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_login_identity_recheck_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_manifest_refs_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_image_character_mention_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_locale_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_upscale_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_project_naming_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_recaptcha_error_shape_bdd.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_retired_labs_route_diagnosis_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_scene_compose_live.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_t2i_batch_project_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_tools_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_transports_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/asset_tagging.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/auth.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/auth_login.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/blocking_dialog_dismissal.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/character_create.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/character_read.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/click_attribution.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/credits.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/duration_tab_drift.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/entity_provenance.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/frame_picker_binding.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/image.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/image_batch_references.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/image_upscale.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/incident_diagnostics.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/instructions.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/landing_state_diagnosis.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/latched_locale_recovery.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/locale_picker_include.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/manifest_refs_live.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/mcp_tasks.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/media_picker_tiers.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_driver.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_host_gate.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_host_images.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_i2v.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_image_character_mention.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_refusal_envelope.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/migrated_refusal_live.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/output_hardening.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/recaptcha_error_shape.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_asset_tagging_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_auth_login_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_auth_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_character_create_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_character_read_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_e2e_binding_guard.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_image_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_image_upscale_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_instructions_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_locale_picker_include_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_mcp_tasks_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_migrated_driver_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_migrated_host_images_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_migrated_i2v_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_migrated_refusal_envelope_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_output_hardening_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_step_collision_guard.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_video_agent_ui_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/test_video_chain_steps.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/video_agent_ui.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/features/video_chain.feature +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/changelog_modal_page.html +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/doctor_env.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/flow_model_inventory.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/flow_project_listing_media.json +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/listing_payload.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/fixtures/seeded_catalog.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_grading.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_model.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_model_governance.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_registry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_report.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/image_batch/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/image_batch/test_image_manifest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/image_batch/test_jitter_config.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/image_batch/test_observability_events.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/constants.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/test_docs_ships_in_wheel.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/test_expander_gateway.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/test_storage_gcs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/integration/test_storage_s3.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/conftest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_auth_status_tool.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_character_tools.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_download_error_envelope.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_error_funnel.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_http_transport.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_known_issues_resource.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_mcp_profile_contention.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_no_spend.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_payload_key_round_trip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_resources.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_serve_auth.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_server.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_setup.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_stdio_transport.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_tasks_extension.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_helpers.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_instructions.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_wired.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/mcp/test_upscale_tool.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_canary_classify.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_canary_reexec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_council_memory.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_fork_pr_ci.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_materiality.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_release_artifacts.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_repo_hygiene.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_test_count.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_codex_plugin.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_extract_har_summary.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_frame_acceptance.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_generate_website_docs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_materiality_backtest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_skillopt_scoring.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_spike_page_pool.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_spike_profile_lease.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_update_sponsors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/scripts/test_workflow_hardening.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_catalog_sync.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_character_create_redaction.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_character_create_saga.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_doctor.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_media_attribution.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_media_recovery.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_mentions_observability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_mentions_parse.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_mentions_resolve.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/services/test_resolve_and_apply.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/smoke/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/smoke/test_profile_account_smoke.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/smoke/test_real_flow.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_about_landing_guard.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_auth.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_batch_outcomes.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_batch_recording.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_batch_ref_wiring.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_browser_manager.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_chain.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_chain_manifest.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_cli_data.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_cli_project.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_cli_update.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_config.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_conftest_isolation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_data_queries.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_bundle.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_events.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_journal.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_recorder.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_retention.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_diagnostics_sanitize.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_dockerfile_version_pin.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_duration_tab_drift.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_entity_provenance.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_errors_classification.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_glama_build_spec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_image_batch_references.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_incident_generation_requests.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_json_output.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_manifest_refs.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_media.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_observability.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_overlay_banner_dismissal.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_paths.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_playwright_pin.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_plugin_manifests.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_profile_lease.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_profile_lease_subprocess.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_profile_store.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_profile_store_locale.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_project_list_urls.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_release_version_sites.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_rich_markup_safety.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_self_documenting_errors.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_server_json.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_smoke.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/test_update_check.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/__init__.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_banned.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_expander.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_invocation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_loader.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_registry.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_runtime.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/tools/test_spec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/ui/test_app.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_codec.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_daemon.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_mcp_daemon_race.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_queue.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_queue_multiprocess.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/tests/worker/test_queue_reconciliation.py +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/CHARACTER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/MOVIE.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/SECURITY.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/SPONSORS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/TOOLS.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/agents.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/index.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/installation.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/onboarding-mockup.html +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/onboarding.md +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/docs/stylesheets/extra.css +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/mkdocs.yml +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/requirements.in +0 -0
- {gflow_cli-0.85.0 → gflow_cli-0.86.0}/website/requirements.txt +0 -0
|
@@ -202,6 +202,16 @@
|
|
|
202
202
|
# with exit 36 (kill switch).
|
|
203
203
|
# GFLOW_CLI_FLOW_HOST=auto
|
|
204
204
|
|
|
205
|
+
# Agent-only composer (#799): "Confirm before generating" applied before a run.
|
|
206
|
+
# account (default): leave the Flow account's setting; gflow approves one
|
|
207
|
+
# confirmation its own submit produced and stops on a second. Only that second
|
|
208
|
+
# one is stopped before billing: one confirmation can cover several clips, and an
|
|
209
|
+
# over-count under it is caught after the fact.
|
|
210
|
+
# always: set Always. never: set Never — no approval step, so an agent that
|
|
211
|
+
# queues more than asked is only caught after credits are spent.
|
|
212
|
+
# Saved to the Flow account and not restored after the run.
|
|
213
|
+
# GFLOW_CLI_AGENT_CONFIRM=account
|
|
214
|
+
|
|
205
215
|
# DEPRECATED — use GFLOW_CLI_UI_MODE=classic. true maps to ui_mode=classic, but the
|
|
206
216
|
# old silent agentic fallback is gone: a classic-required run now aborts (exit 28).
|
|
207
217
|
# GFLOW_CLI_PREFER_CLASSIC=false
|
|
@@ -256,9 +256,12 @@ jobs:
|
|
|
256
256
|
# (bad marker/-k filter, broken conftest), never routine deletions.
|
|
257
257
|
run: uv run python scripts/ci/check_test_count.py pytest-report.xml 2000
|
|
258
258
|
|
|
259
|
-
# Upload coverage XML so the sonar job can consume it
|
|
259
|
+
# Upload coverage XML so the sonar job can consume it. It must come from the job
|
|
260
|
+
# that installs Chromium: the real-DOM fixture tests skip everywhere else, so a
|
|
261
|
+
# 3.11 upload counted every browser-tested module as uncovered (#989's
|
|
262
|
+
# agent_only_composer.py measured 39% new coverage with its tests green).
|
|
260
263
|
- name: Upload coverage report
|
|
261
|
-
if: matrix.python-version == '3.
|
|
264
|
+
if: matrix.python-version == '3.13'
|
|
262
265
|
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
|
|
263
266
|
with:
|
|
264
267
|
name: coverage-xml
|
|
@@ -44,10 +44,10 @@ by construction, so Codex / Cursor / Aider / `agy` read exactly what Claude Code
|
|
|
44
44
|
|
|
45
45
|
## Project at a glance
|
|
46
46
|
|
|
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 with `@Character` mentions by name, today; `GFLOW_CLI_FLOW_HOST`).
|
|
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 with `@Character` mentions by name, and a single-segment `video extend`, today — an agent-only composer, #799, takes text-to-image and text-to-video only; `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_docs.py`, `docs_catalog.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
|
-
- Command surface: `gflow auth
|
|
50
|
+
- Command surface: `gflow auth` (login/status/renew/list/use/logout — `renew` refreshes saved sessions headlessly, no sign-in), `gflow credits` (user/list — Veo balance; read-only unless `--refresh`, which renews expired sessions first), `gflow image` (t2i/i2i/batch/upload/upscale), `gflow video` (t2v/i2v/r2v/chain/extend/upscale — `extend` continues an existing clip past Flow's 8s ceiling, server-seeded from the source so the join is continuous; `upscale` exports to 1080p, 720p, or 270p GIF; 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 docs` (browse the bundled documentation — bare lists every topic, `gflow docs <topic>` prints one as Markdown, `gflow docs --search TERM` searches all of them; there are **no** `list`/`print`/`search` subcommands — read-only, offline, deliberately no MCP twin), `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` (JSON image-batch config; a row may generate from an earlier row with `"ref": "batch:N"`, referenced in place, no upload, or from a local image file, uploaded once per run), `gflow mcp` (run/setup — stdio MCP server), and `gflow serve` (Streamable HTTP at `/mcp`; `--transport sse` is deprecated).
|
|
51
51
|
- Works with any Google account that has Flow access. All generations bill against the user's own Google account.
|
|
52
52
|
|
|
53
53
|
## Headed-browser dependency (architectural reality)
|
|
@@ -7,6 +7,82 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.86.0] — 2026-10-18
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`gflow video extend` runs on flow.google.com, one segment at a time.** gflow opens the
|
|
15
|
+
clip's editor and drives Flow's own Extend control, so the page builds and mints the
|
|
16
|
+
`fZytfe` submit itself, the way every other flow.google.com port works. Before any click,
|
|
17
|
+
Flow's own project read must list the clip as a video in `--project` (exit 11 otherwise).
|
|
18
|
+
Every scene/extend request passes a route guard that aborts it, before Flow sees it, if
|
|
19
|
+
it names another clip. The new segment is downloaded to `--output` (or the output
|
|
20
|
+
directory). On that host `--segments > 1`, `--scene`/`--resume-from`, `--seed` and an
|
|
21
|
+
`--aspect` other than the source's exit 36 before anything is billed; `--aspect` now
|
|
22
|
+
defaults to the source's aspect there (9:16 on labs.google, as before). Each run leaves a
|
|
23
|
+
new scene in the project, and the plan shows no price, because flow.google.com does not
|
|
24
|
+
report one before submitting. Thanks to @stgmt, whose wire research in #882 (the
|
|
25
|
+
workflow-id slot, the frame window, the `as29s` record) mapped this surface.
|
|
26
|
+
([#639](https://github.com/ffroliva/gflow-cli/issues/639), [#882](https://github.com/ffroliva/gflow-cli/pull/882))
|
|
27
|
+
- **Text-to-image and text-to-video on Flow's agent-only composer
|
|
28
|
+
([#799](https://github.com/ffroliva/gflow-cli/issues/799)).** Accounts `flow.google.com` serves
|
|
29
|
+
with no classic composer exited 25; `gflow image t2i` and `gflow video t2v` (and their MCP
|
|
30
|
+
twins) now run there. gflow sets aspect, count and model in Agent settings, saves, asks the
|
|
31
|
+
agent in plain language, and restores those defaults afterwards — also when the run fails
|
|
32
|
+
with an error. A run killed between Save and restore leaves the run's defaults in place; the
|
|
33
|
+
`migrated.agent_only.defaults_restore_failed` log names the originals (KNOWN_ISSUES).
|
|
34
|
+
Completion is read from the page: images from new grid tiles, named by their
|
|
35
|
+
`img[data-media-id]` and downloaded at original size from the tile's opaque `/asb/` URL
|
|
36
|
+
(`=s0`; the tile itself shows a 512-px preview), videos once no pending tile is left, with the clip id taken from the agent's reply when the grid tile has
|
|
37
|
+
none. Live-verified on an AI Pro account: 3:4 × 2 images, and a 4 s 9:16 clip downloaded.
|
|
38
|
+
Other forms on that composer exit 36 before anything is clicked.
|
|
39
|
+
- **`GFLOW_CLI_AGENT_CONFIRM=account|always|never`** — the agent-only composer's "Confirm before
|
|
40
|
+
generating" choice, applied before a run and kept. `account` (default) leaves the account's
|
|
41
|
+
setting alone. With a confirmation step gflow approves exactly one that its own submit
|
|
42
|
+
produced, and stops without approving a second. Only that second confirmation is stopped
|
|
43
|
+
before billing: one confirmation can cover several clips, and an over-count under it is caught
|
|
44
|
+
after the fact. A video run also refuses to start while another clip is still generating in the project, and stops if more clips are queued than were requested.
|
|
45
|
+
- **`gflow auth renew` refreshes saved sessions without signing in again.** It opens each
|
|
46
|
+
profile (`--profile`, or `--all`) in a headless browser and loads Flow, so Google and Flow
|
|
47
|
+
rotate the saved cookies. It then verifies the session like `gflow auth status`. No credits
|
|
48
|
+
are spent. A revoked session still needs `gflow auth login`, and a profile in use by another
|
|
49
|
+
gflow process is skipped. It reports a profile as renewed only when it saw it renewed: an
|
|
50
|
+
account Flow holds at its public `/about` page is `public_landing`; a labs.google session that
|
|
51
|
+
stayed expired, or never answered readably, is `labs_stale` / `labs_unverified`; a browser
|
|
52
|
+
that cannot start (the profile is open in your own Chrome) is a `launch_error` row, and the
|
|
53
|
+
rest of an `--all` run carries on. `--json` prints JSON on every path, including errors.
|
|
54
|
+
- **`gflow credits user|list --refresh` renews expired sessions again.** Since #802, an expired
|
|
55
|
+
session fails the credits read without opening a browser. That is the right default, because
|
|
56
|
+
re-asking aisandbox-pa with the same Bearer cannot change its answer. It also removed the only
|
|
57
|
+
automatic renewal that `credits list` used to give stale profiles. `--refresh` brings it back as
|
|
58
|
+
an opt-in. A profile whose fast path raises an expired-session error is renewed through
|
|
59
|
+
`auth renew` and asked again, while the others are untouched. A failed renewal keeps the
|
|
60
|
+
original diagnosis. The MCP twin is `gflow_get_credits(refresh=true)`. The credits 401 hint
|
|
61
|
+
now points at `--refresh` / `gflow auth renew` instead of "check your balance in Flow"; an
|
|
62
|
+
account whose labs session issues no token at all is not helped by renewal, and says so.
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- **The agent-only composer is recognised after 5 s**, not after the full 30 s readiness wait.
|
|
67
|
+
- **Image downloads accept `flow.google.com` URLs, and now check where redirects end.** The
|
|
68
|
+
agent-only composer's `/asb/` image URLs redirect to `lh3.google.com`; a download whose
|
|
69
|
+
redirects end on a host outside Google's allowlist (or on plain `http`) is refused before
|
|
70
|
+
anything is written.
|
|
71
|
+
- **A run on the agent-only composer that times out after submit is `retryable: false`.** The
|
|
72
|
+
request was already sent, so an automatic retry would submit (and for a video, bill) again.
|
|
73
|
+
- **Refusals before the page opens now require that neither composer supports the request.**
|
|
74
|
+
`--aspect 3:4` was refused up front because the classic settings pane has no 3:4 option; the
|
|
75
|
+
agent-only pane does.
|
|
76
|
+
|
|
77
|
+
### Fixed
|
|
78
|
+
|
|
79
|
+
- **`gflow video extend --json` prints one JSON document.** The human plan preamble no
|
|
80
|
+
longer precedes it on stdout, and the payload now carries the same `video_result` fields
|
|
81
|
+
as `t2v`/`i2v` (`status`, `succeeded`, `media_id`, `local_path`, `request.mode`). On
|
|
82
|
+
flow.google.com `--output` saves the new extension clip; on labs.google it still renders
|
|
83
|
+
the whole scene.
|
|
84
|
+
(#882, @stgmt)
|
|
85
|
+
|
|
10
86
|
## [0.85.0] — 2026-10-14
|
|
11
87
|
|
|
12
88
|
### Added
|
|
@@ -6058,7 +6134,8 @@ shell-script template that branches on these codes.
|
|
|
6058
6134
|
|
|
6059
6135
|
First skeleton. Not functional end-to-end yet.
|
|
6060
6136
|
|
|
6061
|
-
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.
|
|
6137
|
+
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.86.0...HEAD
|
|
6138
|
+
[0.86.0]: https://github.com/ffroliva/gflow-cli/compare/v0.85.0...v0.86.0
|
|
6062
6139
|
[0.85.0]: https://github.com/ffroliva/gflow-cli/compare/v0.84.0...v0.85.0
|
|
6063
6140
|
[0.84.0]: https://github.com/ffroliva/gflow-cli/compare/v0.83.2...v0.84.0
|
|
6064
6141
|
[0.83.2]: https://github.com/ffroliva/gflow-cli/compare/v0.83.1...v0.83.2
|
|
@@ -47,7 +47,7 @@ close Chrome yourself. On the measured account, `/about` was gone on the next ru
|
|
|
47
47
|
|
|
48
48
|
### Flow is migrating to `flow.google.com`; generation coverage is partial but includes images
|
|
49
49
|
|
|
50
|
-
- **Status:** Open (partially resolved) · **Severity:** High for unported forms · **Affected:** on accounts the rollout has reached, `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`,
|
|
50
|
+
- **Status:** Open (partially resolved) · **Severity:** High for unported forms · **Affected:** on accounts the rollout has reached, `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, local-file `gflow image i2i`, and a **single-segment** `gflow video extend` (#882: Flow's own Extend control, driven from the clip editor) now run on the migrated host. Image mode supports Nano Banana 2.1 (`nano2`, which replaced Nano Banana 2 there, #958) / 2 Lite / Pro, all five aspect ratios its radiogroup renders (16:9, 4:3, 1:1, 3:4, 9:16 — 3:4 appeared by 2026-09-17, #864), and count 1–4. Image prompts can tag a **character** with `@Name` / `--reference-entity` + `--reference-entity-name` since #723 (attached through the composer's `@` picker; an id without a name exits 36; video is unchanged). That matrix is the **classic** migrated composer's. On an **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gflow drives `image t2i` (all five aspects; count 1–4) and `video t2v` (one 9:16 or 16:9 clip) only — i2i, i2v, r2v and character references are refused there before anything is clicked. Image refs by UUID, video `@Name` / `--reference-entity`, Agent instructions, Imagen 4, video frame refs by UUID/name, scenes, chained extend (`-n > 1`, `--scene`/`--resume-from`, `--seed`, an `--aspect` other than the source clip's), instructions and tools are not ported yet and fail before submit. **`character create` worked on the migrated host until its labs `createEntity` route was retired:** measured 2026-10-14 on a profile served flow.google.com, it exits 7 with "Flow RPCs have been deprecated" (404). `character list` does NOT: it reads the retired labs `projectInitialData` route and exits 7, measured 2026-09-20 both on `auto` and with `GFLOW_CLI_FLOW_HOST=flow.google.com` (#875). Of the remainder, only the i2v-by-UUID case rests on a positive observation of absence (the Frames picker tiles carry no media id); `scenes`, multi-segment `extend` (`-n > 1`, `--scene`/`--resume-from`, `--seed`), `instructions` and `tools` remain *unported by gflow*, never proven impossible on the host.
|
|
51
51
|
- **Tracked:** [#639](https://github.com/ffroliva/gflow-cli/issues/639) · Reported 2026-09-02 against 0.59.0, 0.62.1, 0.63.0 and 0.65.0
|
|
52
52
|
- **Confirmed live 2026-09-03 on a second, independent account** (`ffroliva`) — see [LIVE_VERIFICATION_v0.66.0](docs/LIVE_VERIFICATION_v0.66.0.md). A read-only probe of the migrated origin measured `i_total: 0`, reproducing the reporter's central measurement.
|
|
53
53
|
- **`--reference-entity` was refused on `r2v` but not on `t2v`** ([#716](https://github.com/ffroliva/gflow-cli/issues/716), fixed in v0.71.0): the "not ported, exit 36" refusal above sat inside the r2v branch of the routing gate, so a `t2v` request carrying a character entity returned from that gate without its entities ever being inspected — and nothing downstream attaches one on this host. The generation was **submitted and billed** with the entity silently dropped, returning a plausible clip of the wrong person. The check is now mode-independent and ahead of every early return. If you ran `gflow video t2v @Name …` or `--reference-entity` on a moved account before this fix, the identity in those clips was never bound.
|
|
@@ -140,7 +140,7 @@ with the distinct, non-retryable exit 36 instead of the misleading
|
|
|
140
140
|
`UiSelectorDriftError` (exit 23, "file a selector bug"). `_check_logged_in` also
|
|
141
141
|
accepts the migrated host, so a migrated load is no longer misread as a
|
|
142
142
|
logged-out session. The generation forms listed above and characters are driven;
|
|
143
|
-
scenes, extend, instructions, tools, and the named reference/model
|
|
143
|
+
scenes, chained extend, instructions, tools, and the named reference/model
|
|
144
144
|
variants are the remaining work
|
|
145
145
|
tracked here — no retry helps for those until each is ported.
|
|
146
146
|
|
|
@@ -742,16 +742,27 @@ Google's web session cookies aren't permanent. They expire when:
|
|
|
742
742
|
|
|
743
743
|
When this happens, the next API call returns 401/403 and `gflow-cli` raises `AuthExpiredError`.
|
|
744
744
|
|
|
745
|
-
**Workaround:**
|
|
745
|
+
**Workaround, stale session (the common case):**
|
|
746
|
+
```bash
|
|
747
|
+
gflow auth renew --profile <name> # or: gflow auth renew --all
|
|
748
|
+
gflow credits list --refresh # renews only the expired profiles, then reads them
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
A profile that has just sat unused has a lapsed labs.google token, not a dead Google session.
|
|
752
|
+
`auth renew` loads Flow and labs.google in a headless browser and waits for labs to sign in
|
|
753
|
+
again on its own, with no prompt. Measured 2026-10-14: 7 of 10 stale profiles recovered.
|
|
754
|
+
|
|
755
|
+
**Workaround, revoked session:**
|
|
746
756
|
```bash
|
|
747
757
|
gflow auth login --profile <name>
|
|
748
758
|
```
|
|
749
759
|
|
|
750
760
|
Re-running `auth login` reuses the existing profile dir (you typically just click "Continue as <you>" on the Google account chooser). No data is lost; only the cookie jar is refreshed.
|
|
751
761
|
|
|
752
|
-
**
|
|
753
|
-
|
|
754
|
-
|
|
762
|
+
**What renewal cannot do:** complete a step only a human can, such as CAPTCHA, device
|
|
763
|
+
verification, or "Confirm it's you". The 3 profiles that did not recover on 2026-10-14 were held
|
|
764
|
+
at Flow's public `/about` page ([entry above](#every-command-lands-on-flowgooglecomabout-exit-31-while-gflow-auth-status-says-the-session-is-fine)),
|
|
765
|
+
and `auth renew` reports them as not renewed. See [docs/AUTHENTICATION.md § Refresh / expiry](docs/AUTHENTICATION.md#refresh--expiry).
|
|
755
766
|
|
|
756
767
|
---
|
|
757
768
|
|
|
@@ -1345,32 +1356,49 @@ continue as a seeded I2V generation — tracked as backlog.
|
|
|
1345
1356
|
|
|
1346
1357
|
## Mitigated
|
|
1347
1358
|
|
|
1348
|
-
### Some accounts get an agent-only composer on flow.google.com
|
|
1359
|
+
### Some accounts get an agent-only composer on flow.google.com — text-to-image and text-to-video are driven; other forms are not
|
|
1349
1360
|
|
|
1350
1361
|
Some accounts on `flow.google.com` are served a composer with **no classic arm at all**:
|
|
1351
1362
|
the only prompt box is the agent panel, there is no `agent-mode-chip` to turn off, and
|
|
1352
1363
|
aspect / model / count are Agent-settings **defaults** rather than per-request controls.
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1364
|
+
|
|
1365
|
+
**Driven ([#799](https://github.com/ffroliva/gflow-cli/issues/799)):** `gflow image t2i` and
|
|
1366
|
+
`gflow video t2v` (and their MCP twins). gflow sets the request's aspect, count and model in
|
|
1367
|
+
Agent settings, saves, sends a natural-language request to the agent, and **restores those
|
|
1368
|
+
three defaults afterwards**. "Confirm before generating" follows
|
|
1369
|
+
[`GFLOW_CLI_AGENT_CONFIRM`](docs/CONFIGURATION.md#gflow_cli_agent_confirm) and is not restored.
|
|
1370
|
+
With a confirmation step, gflow approves exactly one that its own submit produced and stops
|
|
1371
|
+
without approving a second. Live-verified 2026-09-15 on a Google AI Pro account (`en`):
|
|
1372
|
+
t2i 3:4 × 2 (896×1200 each), t2v 4 s 9:16 (ready 69 s after submit, MP4 downloaded).
|
|
1373
|
+
|
|
1374
|
+
**Not driven yet on this composer** (exit 36, before anything is clicked): image-to-image,
|
|
1375
|
+
image-to-video, reference-to-video, character references, Agent instructions, an explicit
|
|
1376
|
+
video `--resolution` (the Agent settings pane has no resolution control), and more than one
|
|
1377
|
+
video per request.
|
|
1378
|
+
|
|
1379
|
+
**Rough edges, measured:**
|
|
1380
|
+
- A run that dies between Save and restore can leave the account on the run's defaults; the
|
|
1381
|
+
`migrated.agent_only.defaults_restore_failed` log line names the originals.
|
|
1382
|
+
- Editing Agent settings in the browser *during* a run is overwritten by the restore.
|
|
1383
|
+
- Finished **video** tiles re-render to opaque `/asb/` media with no media id; the id comes
|
|
1384
|
+
from the agent's reply instead, and the clip is fetched from the tile's hover player.
|
|
1385
|
+
**Image** tiles also load an opaque `/asb/` src (a 512-px preview) but carry the media id on
|
|
1386
|
+
`img[data-media-id]`; gflow downloads the original size by rewriting the size spec to `=s0`.
|
|
1387
|
+
- The request text is English. Whether the agent honours it on a non-English account is
|
|
1388
|
+
unmeasured (the original reporter's account is `ru`).
|
|
1389
|
+
- **The confirmation step does not bound the spend of the first ask.** gflow approves the
|
|
1390
|
+
first confirmation without reading the count it names, and one confirmation can cover
|
|
1391
|
+
several generations. Only a *second* confirmation is stopped before billing; an agent that
|
|
1392
|
+
queues more than requested under the first is detected after the fact (more clips pending,
|
|
1393
|
+
or more images on the grid, than requested), with the credits already spent — even with
|
|
1394
|
+
`GFLOW_CLI_AGENT_CONFIRM=always`.
|
|
1395
|
+
- An image whose orientation does not match the requested aspect is kept (the run is
|
|
1396
|
+
billed and the file is valid) and logged as `migrated.agent_only.aspect_mismatch`.
|
|
1397
|
+
|
|
1398
|
+
**Detection** is unchanged from v0.74.0: a hidden settings trigger with **no chip anywhere**
|
|
1399
|
+
is this composer; with a chip it is the recoverable agent mode of
|
|
1400
|
+
[#749](https://github.com/ffroliva/gflow-cli/issues/749). It is now reported after a 5 s
|
|
1401
|
+
early wait instead of the full 30 s readiness gate.
|
|
1374
1402
|
|
|
1375
1403
|
The **negative** controls were measured live at $0 on 2026-09-13, which is what makes the
|
|
1376
1404
|
discriminator more than a guess: a healthy migrated composer carries
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: gflow-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.86.0
|
|
4
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
6
|
Project-URL: Documentation, https://ffroliva.github.io/gflow-cli/
|
|
@@ -127,7 +127,7 @@ You have a Google account with Flow access, you have Veo credits, and you run re
|
|
|
127
127
|
- **Consistent subjects.** `gflow character create` mints a Flow Character (face and body reference) so the same person appears from one generation to the next.
|
|
128
128
|
- **Prompt tools.** `--tool creative-director` rewrites a terse prompt into a vivid one (Google's 5-component formula) before generating — on any command. Bring your own with [My Tools](docs/TOOLS.md).
|
|
129
129
|
- **Pipelines.** Wire Veo into your content automation, AI-video stack, or batch experiments.
|
|
130
|
-
- **Terminal-native.** After one `gflow auth login`, you stay in the shell. No clicking through dialogs.
|
|
130
|
+
- **Terminal-native.** After one `gflow auth login`, you stay in the shell. No clicking through dialogs. A stale session renews headlessly with `gflow auth renew` (or `gflow credits user|list --refresh`).
|
|
131
131
|
|
|
132
132
|
Same Veo and Imagen models, same quality, same billing against your own Google account, now programmatic.
|
|
133
133
|
|
|
@@ -243,7 +243,7 @@ gflow CLI → Provider (interchangeable) → Flow (ui_automation) / Mock (te
|
|
|
243
243
|
|
|
244
244
|
**Current transport:** `ui_automation` drives Flow through a persistent Playwright Chromium profile. It is production-stable and verified end-to-end every release (see the per-release `LIVE_VERIFICATION_*` evidence files).
|
|
245
245
|
|
|
246
|
-
**Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image,
|
|
246
|
+
**Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
|
|
247
247
|
|
|
248
248
|
**What's blocked:** a pure HTTP transport for video generation. The video upload endpoint returns HTTP 401 under non-Chrome browsers plus a reCAPTCHA mint we cannot reproduce headlessly. Three earlier HTTP strategies (`evaluate_fetch`, `bearer`, `sapisidhash`) live under `src/gflow_cli/api/transports/experimental/` for research, off the production path.
|
|
249
249
|
|
|
@@ -39,7 +39,7 @@ You have a Google account with Flow access, you have Veo credits, and you run re
|
|
|
39
39
|
- **Consistent subjects.** `gflow character create` mints a Flow Character (face and body reference) so the same person appears from one generation to the next.
|
|
40
40
|
- **Prompt tools.** `--tool creative-director` rewrites a terse prompt into a vivid one (Google's 5-component formula) before generating — on any command. Bring your own with [My Tools](docs/TOOLS.md).
|
|
41
41
|
- **Pipelines.** Wire Veo into your content automation, AI-video stack, or batch experiments.
|
|
42
|
-
- **Terminal-native.** After one `gflow auth login`, you stay in the shell. No clicking through dialogs.
|
|
42
|
+
- **Terminal-native.** After one `gflow auth login`, you stay in the shell. No clicking through dialogs. A stale session renews headlessly with `gflow auth renew` (or `gflow credits user|list --refresh`).
|
|
43
43
|
|
|
44
44
|
Same Veo and Imagen models, same quality, same billing against your own Google account, now programmatic.
|
|
45
45
|
|
|
@@ -155,7 +155,7 @@ gflow CLI → Provider (interchangeable) → Flow (ui_automation) / Mock (te
|
|
|
155
155
|
|
|
156
156
|
**Current transport:** `ui_automation` drives Flow through a persistent Playwright Chromium profile. It is production-stable and verified end-to-end every release (see the per-release `LIVE_VERIFICATION_*` evidence files).
|
|
157
157
|
|
|
158
|
-
**Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image,
|
|
158
|
+
**Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
|
|
159
159
|
|
|
160
160
|
**What's blocked:** a pure HTTP transport for video generation. The video upload endpoint returns HTTP 401 under non-Chrome browsers plus a reCAPTCHA mint we cannot reproduce headlessly. Three earlier HTTP strategies (`evaluate_fetch`, `bearer`, `sapisidhash`) live under `src/gflow_cli/api/transports/experimental/` for research, off the production path.
|
|
161
161
|
|
|
@@ -45,7 +45,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
45
45
|
# Deliberately NOT pinned: google-chrome-stable. Chrome's apt repo keeps only the current
|
|
46
46
|
# build, so a pinned version stops resolving within weeks. The trade-off is that this
|
|
47
47
|
# layer caches indefinitely and a rebuild is what picks up a newer Chrome.
|
|
48
|
-
ARG GFLOW_VERSION=0.
|
|
48
|
+
ARG GFLOW_VERSION=0.86.0
|
|
49
49
|
RUN pip install --no-cache-dir "gflow-cli==${GFLOW_VERSION}"
|
|
50
50
|
|
|
51
51
|
VOLUME ["/data"]
|
|
@@ -262,6 +262,35 @@ Flow session verified as you@example.com.
|
|
|
262
262
|
|
|
263
263
|
> Note: `cookies_present: True` only confirms the file exists. The final verdict line is the live probe result, and it has three failing shapes — all exit 1, each with a different hint. A **dead session** prints a `gflow auth login` remediation hint. A probe that **cannot reach the endpoint** (offline, 5xx) suggests checking connectivity instead of re-logging in. And a profile **missing its `.gflow_browser_strategy` marker** — the state a failed *first* login leaves behind, since that rolls the marker back — says so and points at `gflow auth login --browser chrome --profile <name>`; it is local profile state, not a network fault, and "check connectivity" would send you to the wrong place ([#796](https://github.com/ffroliva/gflow-cli/issues/796), 0.73.2). The MCP twin `gflow_auth_status` reports the same three as HTTP 401, 503 (`retryable: true`) and 409 (`retryable: false`) — see [MCP.md](MCP.md).
|
|
264
264
|
|
|
265
|
+
### `gflow auth renew`
|
|
266
|
+
|
|
267
|
+
Refreshes saved sessions **without signing in again**. Google rotates its session cookies, and
|
|
268
|
+
Flow re-mints its own session, only when a real browser visits the app. A profile left unused for
|
|
269
|
+
weeks therefore drifts towards an expired session even though nothing about the account changed.
|
|
270
|
+
`auth renew` opens the profile in a hidden browser and loads Flow. It then loads
|
|
271
|
+
`labs.google/fx/` and waits up to 20 s for the labs app to sign in again on its own: a stale labs
|
|
272
|
+
session reports `ACCESS_TOKEN_REFRESH_NEEDED`, and the page renews it through Google without a
|
|
273
|
+
prompt. This step matters because `gflow credits` reads its token from that labs session, and the
|
|
274
|
+
Flow visit alone never refreshes it. The browser saves whatever cookies were rotated, and the
|
|
275
|
+
result is verified exactly like `gflow auth status`. It spends no credits.
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
gflow auth renew # the default profile
|
|
279
|
+
gflow auth renew --profile work # one named profile
|
|
280
|
+
gflow auth renew --all --json # every profile with a saved session
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
It exits `0` when every renewed profile verifies and `1` otherwise. An account that Flow sends to
|
|
284
|
+
its public `/about` page (see [KNOWN_ISSUES](../KNOWN_ISSUES.md)) never finishes the labs sign-in,
|
|
285
|
+
so it needs `gflow auth login`. A profile counts as renewed only when labs.google was seen to
|
|
286
|
+
refresh it: if labs is unreachable or answers unreadably (a network that blocks `labs.google`,
|
|
287
|
+
say), the row is `labs_unverified` and the command exits `1` even though the Flow session
|
|
288
|
+
verifies. A profile another gflow process is using is skipped, not failed. It cannot bring back a session Google has **revoked**
|
|
289
|
+
(a password change, "sign out of all devices", an identity re-check). That still needs
|
|
290
|
+
`gflow auth login`. `gflow credits user|list --refresh` runs the same renewal automatically for
|
|
291
|
+
a profile whose credits read fails with an expired session. Over MCP, that case is reached
|
|
292
|
+
through `gflow_get_credits(refresh=true)`; `auth renew` itself has no MCP tool.
|
|
293
|
+
|
|
265
294
|
### `gflow auth list`
|
|
266
295
|
|
|
267
296
|
Same output as bare `gflow auth` when profiles exist — useful when you want the table even from a script (no auto-login fallback).
|
|
@@ -417,7 +446,24 @@ ERROR: Auth expired for profile 'default'.
|
|
|
417
446
|
Run: gflow auth login --profile default
|
|
418
447
|
```
|
|
419
448
|
|
|
420
|
-
|
|
449
|
+
Two cases look the same at that point and are fixed differently:
|
|
450
|
+
|
|
451
|
+
- **Stale, not revoked.** This is the common one: the profile has simply not been opened for a
|
|
452
|
+
while. Google's cookies are still good, but labs' NextAuth token has lapsed
|
|
453
|
+
(`ACCESS_TOKEN_REFRESH_NEEDED`), and labs only renews it when a browser visits. Run
|
|
454
|
+
[`gflow auth renew`](#gflow-auth-renew), or add `--refresh` to `gflow credits user|list`. It
|
|
455
|
+
renews the session headlessly with no sign-in.
|
|
456
|
+
- **Revoked.** A password change, a removed device, or Google asking to "Confirm it's you" cannot
|
|
457
|
+
be renewed from cookies. `auth renew` reports "could not be renewed" (or names Flow's public
|
|
458
|
+
`/about` page). Re-running `gflow auth login` refreshes the cookies in place, and no other state
|
|
459
|
+
is lost.
|
|
460
|
+
|
|
461
|
+
> **Renewal signs in headlessly.** The labs re-sign-in runs Google's OAuth hop in a headless
|
|
462
|
+
> browser, which identifies itself as `HeadlessChrome` (only `navigator.webdriver` is hidden).
|
|
463
|
+
> Generation runs headed by default, so this is the one Google sign-in gflow does headless.
|
|
464
|
+
> It worked on 7 of 7 recoverable profiles on 2026-10-14. If Google ever starts challenging it,
|
|
465
|
+
> fall back to `gflow auth login`. Note that `gflow_get_credits(refresh=true)` lets an agent
|
|
466
|
+
> trigger a renewal on every expired profile.
|
|
421
467
|
|
|
422
468
|
## Chromium downgrade guard
|
|
423
469
|
|
|
@@ -420,7 +420,7 @@ Measurement script: `scripts/dev/spike_offscreen_window.py`.
|
|
|
420
420
|
**How it works:** before each generation, gflow determines the required arm, clicks the classic↔agentic toggle as a **prerequisite**, **verifies** with a DOM re-probe, then binds — or fails fast. The required arm is also **inferred**: `-i` instructions are agentic-only, so they force `agentic` automatically (and `--ui-mode classic` + `-i` is a hard conflict, not a silent drop).
|
|
421
421
|
**Why `classic`:** the agentic cohort treats aspect ratio as a soft prompt hint (portrait 9:16 can come back landscape). `classic` enforces it or fails fast instead of silently degrading.
|
|
422
422
|
**Retry note:** the cohort flaps per load, so an exit-28 abort is **retryable** — a re-run often lands the wanted arm. A server experiment can pin the arm, in which case it's unreachable from the client (the abort still saves the credits).
|
|
423
|
-
**Video commands:** `gflow video t2v`/`i2v` joined the policy in [#299](https://github.com/ffroliva/gflow-cli/issues/299) PR-A. The video pipeline only has a classic driver, so `auto` ≡ `classic` there: both verify the classic editor pre-submit and abort with exit 28 if it is unreachable. An env-sourced `agentic` **degrades to classic with a logged warning** (so a value set for image workflows can't hard-fail your video runs); only an explicit agentic *request* errors — the `--ui-mode agentic` flag immediately at the CLI edge (exit 2), or the MCP `ui_mode="agentic"` param with a 400 envelope — because no agentic video driver exists yet. `video r2v` and `video chain` have no flag and follow the env-only path.
|
|
423
|
+
**Video commands:** `gflow video t2v`/`i2v` joined the policy in [#299](https://github.com/ffroliva/gflow-cli/issues/299) PR-A. The video pipeline only has a classic driver, so `auto` ≡ `classic` there: both verify the classic editor pre-submit and abort with exit 28 if it is unreachable. An env-sourced `agentic` **degrades to classic with a logged warning** (so a value set for image workflows can't hard-fail your video runs); only an explicit agentic *request* errors — the `--ui-mode agentic` flag immediately at the CLI edge (exit 2), or the MCP `ui_mode="agentic"` param with a 400 envelope — because no agentic video driver exists yet. `video r2v` and `video chain` have no flag and follow the env-only path. This policy is the labs and classic-migrated one: an account whose `flow.google.com` project is served an **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) is routed to its driver before it, so supported `image t2i` / `video t2v` requests run there whatever this is set to.
|
|
424
424
|
**Supersedes:** `GFLOW_CLI_PREFER_CLASSIC` and `GFLOW_CLI_FORCE_AGENT_UI` (below).
|
|
425
425
|
|
|
426
426
|
### `GFLOW_CLI_FLOW_HOST`
|
|
@@ -431,7 +431,18 @@ Measurement script: `scripts/dev/spike_offscreen_window.py`.
|
|
|
431
431
|
- `flow.google.com` — force the migrated composer for everything, including what it cannot serve yet (those requests then exit 36/11 instead of falling back).
|
|
432
432
|
- `labs.google` — never use the migrated composer; where Flow serves `flow.google.com`, requests fail with exit 36 (kill switch).
|
|
433
433
|
**Default:** `auto`
|
|
434
|
-
**Scope today:** the migrated composer covers `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, and local-file `gflow image i2i`. Images support Nano Banana 2.1 (`nano2`, #958) / 2 Lite / Pro, all five aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16 — `3:4` was added to that host's radiogroup by 2026-09-17, #864) and count 1–4; the page owns the `ogiZ0b` reCAPTCHA + submit and the response already contains completed signed image URLs. Local-file start+end frames (`--initial-frame` + `--end-frame`) are ported (#639). Image prompts may tag a character with `@Name` (or `--reference-entity` paired with `--reference-entity-name`; an id alone exits 36), attached through the composer's `@` picker (#723). Frames given by UUID/`@Name`, media references by UUID/`@Name`, character entities on video, Agent instructions, Imagen 4, scenes,
|
|
434
|
+
**Scope today:** the migrated composer covers `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, and local-file `gflow image i2i`. Images support Nano Banana 2.1 (`nano2`, #958) / 2 Lite / Pro, all five aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16 — `3:4` was added to that host's radiogroup by 2026-09-17, #864) and count 1–4; the page owns the `ogiZ0b` reCAPTCHA + submit and the response already contains completed signed image URLs. Local-file start+end frames (`--initial-frame` + `--end-frame`) are ported (#639). Image prompts may tag a character with `@Name` (or `--reference-entity` paired with `--reference-entity-name`; an id alone exits 36), attached through the composer's `@` picker (#723). `video extend` is ported for a single segment from a clip (one PROMPT; `-n` > 1, `--scene`/`--resume-from`, `--seed` and an `--aspect` other than the source's exit 36, and `-o` saves the new extension clip only, #882). Frames given by UUID/`@Name`, media references by UUID/`@Name`, character entities on video, Agent instructions, Imagen 4, scenes, instructions and tools are not ported yet and fail before submit where Flow serves flow.google.com. MCP uses the same image service and queue payload, and inherits this setting from the server/daemon environment rather than per call.
|
|
435
|
+
|
|
436
|
+
### `GFLOW_CLI_AGENT_CONFIRM`
|
|
437
|
+
|
|
438
|
+
**What:** On an account Flow serves the agent-only composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)), Agent settings carries a **Confirm before generating** choice. This sets it before a run.
|
|
439
|
+
**Values:**
|
|
440
|
+
- `account` (default) — leave the account's setting as it is. If Flow asks for confirmation, gflow approves exactly one request its own submit produced, and stops without approving if a second one appears. As with `always`, only that second confirmation is stopped before credits are spent: one confirmation can cover several generations, and an over-count under it is caught after the fact.
|
|
441
|
+
- `always` — set **Always**. gflow approves the **first** confirmation without reading the count it names, and one confirmation can cover several generations. What this stops before credits are spent is a **second** confirmation in the same run; an agent that queues more than requested under the first one is caught only after the fact (gflow fails the run when more clips are pending, or more images appear, than were requested — the credits are already spent).
|
|
442
|
+
- `never` — set **Never**. No approval step; a result count that differs from the request is detected only after the credits are spent.
|
|
443
|
+
**Default:** `account`
|
|
444
|
+
**Persistence:** unlike model / aspect / count (applied per run and restored afterwards), this value is saved to the Flow account and **not** restored — it is your standing choice, and it also applies when you use Flow in the browser.
|
|
445
|
+
**MCP:** inherited from the server/daemon environment, not per call.
|
|
435
446
|
|
|
436
447
|
### `GFLOW_CLI_PREFER_CLASSIC` *(deprecated — use `GFLOW_CLI_UI_MODE=classic`)*
|
|
437
448
|
|
|
@@ -160,6 +160,8 @@ test, not a mocked proxy — the Bug Lane's step 5.
|
|
|
160
160
|
| `GFLOW_CLI_E2E_BATCH_MANIFEST` | `test_assets/sample_batch.tsv` | TSV manifest for the batch image e2e. |
|
|
161
161
|
| `GFLOW_CLI_E2E_BATCH_JITTER` | `"1"` | Set to `"0"` to disable inter-request jitter in batch tests. |
|
|
162
162
|
| `GFLOW_CLI_E2E_PROMPT` | *(safe default)* | Prompt override for the smoke test. |
|
|
163
|
+
| `GFLOW_CLI_E2E_STALE_PROFILES` | *(unset)* | Comma-separated profiles whose labs session has **lapsed** (the credits fast path fails with an expired session). Used by the session-renewal e2e (`e2e_auth`): index 0 drives `gflow_get_credits(refresh=true)`, index 1 drives `gflow credits user --refresh`, and index 2 drives `gflow auth renew`. Each is consumed by its first successful renewal, because a renewed labs token lasts about 24 h. A test whose profile is fresh **skips**; it never passes on a read that needed no renewal. `GFLOW_CLI_E2E_PROFILE` must also be set. |
|
|
164
|
+
| `GFLOW_CLI_E2E_ABOUT_PROFILE` | *(unset)* | A profile Flow holds at its public `/about` page (see [KNOWN_ISSUES](../KNOWN_ISSUES.md)). `tests/e2e/test_auth_renew_e2e.py` asserts that `gflow auth renew` does **not** report it renewed. It skips if the profile reads a balance. |
|
|
163
165
|
|
|
164
166
|
---
|
|
165
167
|
|
|
@@ -399,6 +401,8 @@ tests/
|
|
|
399
401
|
├── conftest.py # e2e_profile_dir, e2e_nosession_profile,
|
|
400
402
|
│ # e2e_env (shared fixtures)
|
|
401
403
|
├── test_auth_verification_e2e.py # [e2e, e2e_auth]
|
|
404
|
+
├── test_auth_renew_e2e.py # [e2e, e2e_auth] `gflow auth renew` leaf — 0 credits
|
|
405
|
+
├── test_credits_refresh_e2e.py # [e2e, e2e_auth] `--refresh` on CLI + MCP — 0 credits
|
|
402
406
|
├── test_transports_e2e.py # [e2e, e2e_{auth,image,batch,video}]
|
|
403
407
|
├── test_image_batch_e2e.py # [e2e, e2e_batch]
|
|
404
408
|
├── test_video_t2v_e2e.py # [e2e, e2e_video]
|