blq-cli 1.2.0__tar.gz → 1.2.1__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.
- {blq_cli-1.2.0 → blq_cli-1.2.1}/CHANGELOG.md +23 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/PKG-INFO +2 -1
- {blq_cli-1.2.0 → blq_cli-1.2.1}/pyproject.toml +4 -1
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/serve.py +11 -1
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.claude/hooks/blq-suggest.sh +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.github/workflows/ci.yml +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.github/workflows/docs.yml +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.github/workflows/publish.yml +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.gitignore +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.mcp.json +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/.readthedocs.yml +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/AGENT.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/AGENTS.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/CLAUDE.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/CONTRIBUTING.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/README.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/SKILL.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/api-reference.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/capture.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/ci.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/completions.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/errors.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/exec.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/filter.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/index.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/init.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/maintenance.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/query.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/registry.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/report.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/run.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/sql.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/status.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/sync.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/commands/watch.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-bird-migration.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-commands.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-config-command.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-extensions.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-git-integration.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-hooks-v2.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-live-inspection.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-parameterized-commands.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-run-args.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-sandbox-specs.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-sync.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/design-track-save.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/duck-hunt-v2-migration.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/duck-hunt-v3-migration.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/proposal-bird-v5.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/design/skill-inspect-enrichment.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/getting-started.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/index.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/integration.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/mcp.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plans/explore-bird-sqlite-backend.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plans/explore-nsjail-python-wrapper.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plans/explore-nsjail-spack-package.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plans/patterns-integration-prompt.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plans/roadmap-to-1.0.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/plugin-guide.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/python-api.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/query-guide.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/requirements.txt +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/sandbox.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/schema-stability.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/schema.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-22-extension-system.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-28-bwrap-engine.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-28-command-locks.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-29-annotators-and-tighten.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-29-service-layer-phase1.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/plans/2026-03-29-strace-profiling.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/specs/2026-03-22-extension-system-design.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/specs/2026-03-29-unified-service-layer-design.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/experiments/agent-build-test.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/mkdocs.yml +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/__main__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/bird.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/bird_schema.sql +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/cli.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/README.md +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/ci_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/clean_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/config_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/core.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/events.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/execution.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/hooks_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/hooks_gen.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/init_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/management.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/management_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/mcp_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/migrate.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/query_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/record_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/registry.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/report_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/sandbox_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/serve_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/sync_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/commands/watch_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/config_format.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/ext/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/ext/annotator.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/ext/discovery.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/ext/local_executor.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/ext/pipeline.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/git.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/github.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/locks.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/output.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/query.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/runtime.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/schema.sql +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/services/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/services/execution.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/services/inspect.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/services/query.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/services/refs.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/storage.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/templates/drone.yml.j2 +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/templates/git_hook.sh.j2 +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/templates/github_workflow.yml.j2 +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/templates/gitlab_ci.yml.j2 +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/templates/hook_script.sh.j2 +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq/user_config.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/engines.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/profile.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/source_annotator.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/spec.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/strace_parser.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/tighten.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox/violations.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox_bwrap/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox_bwrap/args.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/src/blq_sandbox_systemd/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/__init__.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/conftest.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/sql/test_duck_hunt_v2_migration.sql +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_annotator.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_attempts_outcomes.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_auto_init.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_autoprune.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_bird.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_bwrap_args.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_bwrap_engine.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ci.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ci_generators.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_command_args.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_command_lock_field.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_config_consumption.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_core.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_execution_locks.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_exit_code_reason.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ext_discovery.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ext_integration.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ext_local_executor.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ext_pipeline.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_ext_types.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_git.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_hooks.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_hooks_gen.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_import_capture_storage.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_inspect.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_json_null_filter.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_locks.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_log_content_persistence.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_mcp_ci_tools.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_mcp_merge.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_mcp_server.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_output_schemas.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_phase1_structured_output.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_phase2_command_registry.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_query_api.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_query_filter.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_record_invocation.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_report.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_runtime_config.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_cmd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_events.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_ext.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_profile.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_register.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_systemd.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_tighten.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_sandbox_violations.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_schema_repair.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_security_containment.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_services_execution.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_services_inspect.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_services_query.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_services_refs.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_source_annotator.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_storage.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_storage_prune.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_strace_parser.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_user_config.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/tests/test_watch.py +0 -0
- {blq_cli-1.2.0 → blq_cli-1.2.1}/uv.lock +0 -0
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.2.1
|
|
4
|
+
|
|
5
|
+
### Fixed — 1.2.0 was broken on Python 3.10 and 3.11
|
|
6
|
+
|
|
7
|
+
The TypedDicts added in 1.2.0 were imported from `typing`. pydantic refuses to
|
|
8
|
+
build a schema from `typing.TypedDict` below 3.12 ("Please use
|
|
9
|
+
`typing_extensions.TypedDict` instead"), so importing `blq.serve` raised on
|
|
10
|
+
every supported Python under 3.12 — which is to say the MCP server did not
|
|
11
|
+
start at all there.
|
|
12
|
+
|
|
13
|
+
`requires-python` is `>=3.10`, so 1.2.0 should not have shipped. It passed
|
|
14
|
+
local checks because the development interpreter was 3.14; CI caught it on the
|
|
15
|
+
3.10 matrix entry, but the publish workflow triggers on release rather than on
|
|
16
|
+
a green CI run, so the package reached PyPI anyway.
|
|
17
|
+
|
|
18
|
+
Now imported from `typing_extensions` below 3.12, with the backport declared as
|
|
19
|
+
a conditional dependency. Verified against a real 3.11 interpreter: 1382 tests
|
|
20
|
+
pass, where 1.2.0 could not import.
|
|
21
|
+
|
|
22
|
+
**If you installed 1.2.0 on Python 3.10 or 3.11, upgrade.** On 3.12+ it was
|
|
23
|
+
unaffected.
|
|
24
|
+
|
|
25
|
+
|
|
3
26
|
## v1.2.0
|
|
4
27
|
|
|
5
28
|
### Added — MCP tools publish the names of the keys they return (#47)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: blq-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: Build Log Query - capture and query build/test logs with DuckDB
|
|
5
5
|
Project-URL: Homepage, https://blq-cli.readthedocs.io/
|
|
6
6
|
Project-URL: Repository, https://github.com/teaguesterling/blq-cli
|
|
@@ -27,6 +27,7 @@ Requires-Dist: pyyaml>=6.0
|
|
|
27
27
|
Requires-Dist: tabulate>=0.9.0
|
|
28
28
|
Requires-Dist: tomli-w>=1.0.0
|
|
29
29
|
Requires-Dist: tomli>=2.0.0; python_version < '3.11'
|
|
30
|
+
Requires-Dist: typing-extensions>=4.0; python_version < '3.12'
|
|
30
31
|
Requires-Dist: watchdog>=3.0.0
|
|
31
32
|
Provides-Extra: dev
|
|
32
33
|
Requires-Dist: fastmcp>=2.0.0; extra == 'dev'
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "blq-cli"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.1"
|
|
8
8
|
description = "Build Log Query - capture and query build/test logs with DuckDB"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -33,6 +33,9 @@ dependencies = [
|
|
|
33
33
|
"pyyaml>=6.0",
|
|
34
34
|
"tabulate>=0.9.0",
|
|
35
35
|
"tomli>=2.0.0;python_version<'3.11'",
|
|
36
|
+
# pydantic will not build a schema from `typing.TypedDict` below 3.12, so
|
|
37
|
+
# the MCP tools' output schemas need the backport there.
|
|
38
|
+
"typing_extensions>=4.0;python_version<'3.12'",
|
|
36
39
|
"tomli-w>=1.0.0",
|
|
37
40
|
"watchdog>=3.0.0",
|
|
38
41
|
]
|
|
@@ -34,7 +34,17 @@ import re as _re
|
|
|
34
34
|
import shlex
|
|
35
35
|
import subprocess
|
|
36
36
|
import sys
|
|
37
|
-
from typing import Any
|
|
37
|
+
from typing import Any
|
|
38
|
+
|
|
39
|
+
# pydantic rejects `typing.TypedDict` below 3.12 and refuses to build a schema
|
|
40
|
+
# from it ("Please use typing_extensions.TypedDict instead"). This package
|
|
41
|
+
# supports 3.10+, so the stdlib import breaks every MCP tool on 3.10/3.11 —
|
|
42
|
+
# which is exactly how it shipped in 1.2.0, because the dev interpreter was
|
|
43
|
+
# 3.14 and only CI runs the older matrix.
|
|
44
|
+
if sys.version_info >= (3, 12):
|
|
45
|
+
from typing import TypedDict
|
|
46
|
+
else:
|
|
47
|
+
from typing_extensions import TypedDict
|
|
38
48
|
|
|
39
49
|
import pandas as pd # type: ignore[import-untyped]
|
|
40
50
|
from fastmcp import FastMCP
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/specs/2026-03-22-extension-system-design.md
RENAMED
|
File without changes
|
{blq_cli-1.2.0 → blq_cli-1.2.1}/docs/superpowers/specs/2026-03-29-unified-service-layer-design.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|