querysource 5.0.0__tar.gz → 5.1.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.
- querysource-5.1.1/.agents/plugins/parrot/mcp_config.json +84 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/qa-runner.md +8 -5
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-autopilot.md +5 -4
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-coder.md +53 -1
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-ideation.md +10 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-planner.md +1 -1
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-research.md +2 -2
- querysource-5.1.1/.claude/agents/sdd-worker.md +742 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-brainstorm.md +29 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-codereview.md +31 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-done.md +175 -24
- querysource-5.1.1/.claude/commands/sdd-fix.md +62 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-fromjira.md +4 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-next.md +55 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-proposal.md +4 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-spec.md +86 -4
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-start.md +64 -0
- querysource-5.1.1/.claude/commands/sdd-status.md +204 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-task.md +90 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-tojira.md +18 -4
- {querysource-5.0.0 → querysource-5.1.1}/.claude/hooks/dangerous-actions-blocker.sh +6 -2
- {querysource-5.0.0 → querysource-5.1.1}/.github/workflows/release.yml +3 -0
- {querysource-5.0.0 → querysource-5.1.1}/.parrot/wiki.json +18 -1
- {querysource-5.0.0 → querysource-5.1.1}/Makefile +11 -1
- {querysource-5.0.0/querysource.egg-info → querysource-5.1.1}/PKG-INFO +4 -2
- {querysource-5.0.0 → querysource-5.1.1}/pyproject.toml +4 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/_version.py +3 -3
- {querysource-5.0.0 → querysource-5.1.1}/querysource/auth/__init__.py +7 -3
- querysource-5.1.1/querysource/auth/enforcement.py +196 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/auth/pbac.py +35 -4
- querysource-5.1.1/querysource/auth/principal.py +126 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/auth/slug_visibility.py +20 -69
- {querysource-5.0.0 → querysource-5.1.1}/querysource/conf.py +5 -2
- {querysource-5.0.0 → querysource-5.1.1}/querysource/exceptions.py +39 -9
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/__init__.py +2 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/abstract.py +24 -61
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/multi.py +166 -7
- querysource-5.1.1/querysource/handlers/qsurl.py +287 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/service.py +28 -16
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/tenant.py +73 -16
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/connections.py +16 -5
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/queries.py +26 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/models.py +12 -6
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/output.py +3 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/abstract.c +2665 -2249
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/abstract.pxd +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/abstract.pyx +25 -13
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/arangodb.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/bigquery.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/cql.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/deltatbl.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/elastic.cpp +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/iceberg.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/influx.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/mongo.cpp +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/parser.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/pgsql.c +10914 -8525
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/pgsql.pyx +206 -22
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/rethink.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sosql.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sql.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sqlserver.c +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/abstract.py +73 -10
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/arangodb.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/cassandra.py +12 -11
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/default.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/pg.py +5 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/rethink.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/ga.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/graphcountries.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/graphql.py +4 -2
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/openweather.py +12 -6
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/pokemon.py +2 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/swop.py +4 -2
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sql.py +12 -14
- querysource-5.1.1/querysource/qsurl/__init__.py +80 -0
- querysource-5.1.1/querysource/qsurl/_fallback.py +404 -0
- querysource-5.1.1/querysource/qsurl/capabilities.py +47 -0
- querysource-5.1.1/querysource/qsurl/errors.py +89 -0
- querysource-5.1.1/querysource/qsurl/gbnf.py +273 -0
- querysource-5.1.1/querysource/qsurl/grammar.lark +81 -0
- querysource-5.1.1/querysource/qsurl/plan.py +34 -0
- querysource-5.1.1/querysource/qsurl/residual.py +186 -0
- querysource-5.1.1/querysource/qsurl/translate.py +306 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/base.py +9 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/__init__.py +124 -12
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/qs.py +104 -21
- {querysource-5.0.0 → querysource-5.1.1}/querysource/repositories/definitions.py +6 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/services.py +6 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/tenant_models.py +6 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/__init__.py +3 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/validators.cpp +2754 -2158
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/validators.pyx +49 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/errors.py +5 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/version.py +1 -1
- {querysource-5.0.0 → querysource-5.1.1/querysource.egg-info}/PKG-INFO +4 -2
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/SOURCES.txt +76 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/requires.txt +3 -1
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/scm_file_list.json +140 -0
- querysource-5.1.1/querysource.egg-info/scm_version.json +8 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/Cargo.lock +10 -46
- {querysource-5.0.0 → querysource-5.1.1}/rust/Cargo.toml +1 -1
- {querysource-5.0.0 → querysource-5.1.1}/rust/pyproject.toml +1 -1
- querysource-5.1.1/rust/qsurl/Cargo.lock +366 -0
- querysource-5.1.1/rust/qsurl/Cargo.toml +25 -0
- querysource-5.1.1/rust/qsurl/README.md +228 -0
- querysource-5.1.1/rust/qsurl/examples/parse.rs +11 -0
- querysource-5.1.1/rust/qsurl/pyproject.toml +13 -0
- querysource-5.1.1/rust/qsurl/src/ast.rs +202 -0
- querysource-5.1.1/rust/qsurl/src/ir.rs +276 -0
- querysource-5.1.1/rust/qsurl/src/lib.rs +316 -0
- querysource-5.1.1/rust/qsurl/src/parser.rs +338 -0
- querysource-5.1.1/rust/qsurl/src/python.rs +46 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/arangodb_parser.rs +5 -5
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/bigquery_parser.rs +1 -1
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/elastic_parser.rs +10 -11
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/mongo_parser.rs +8 -9
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/pgsql_parser.rs +332 -47
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/rethink_parser.rs +5 -5
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/sql_parser.rs +1 -1
- querysource-5.1.1/scripts/analyze_sdd_coder_usage.py +281 -0
- querysource-5.1.1/scripts/sdd/_parrot_runtime.py +122 -0
- querysource-5.1.1/scripts/sdd/_validation_contract.py +167 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/check_task_graph.py +123 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/close_task.sh +35 -0
- querysource-5.1.1/scripts/sdd/doc_taxonomy.py +123 -0
- querysource-5.1.1/scripts/sdd/finalize_task.py +623 -0
- querysource-5.1.1/scripts/sdd/install_hooks.py +149 -0
- querysource-5.1.1/scripts/sdd/profile_execution.py +714 -0
- querysource-5.1.1/scripts/sdd/prune_intake.py +169 -0
- querysource-5.1.1/scripts/sdd/review_checkpoint.py +150 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/sdd_meta.py +155 -11
- querysource-5.1.1/scripts/sdd/select_tests.py +259 -0
- querysource-5.1.1/scripts/sdd/token_audit.py +440 -0
- querysource-5.1.1/scripts/sdd/worktree_environment.py +505 -0
- querysource-5.1.1/scripts/sdd/worktree_status.py +619 -0
- querysource-5.1.1/scripts/sweep_worktrees.py +75 -0
- querysource-5.1.1/tests/auth/test_enforcement.py +243 -0
- querysource-5.1.1/tests/auth/test_pbac_runtime.py +73 -0
- querysource-5.1.1/tests/auth/test_principal.py +77 -0
- querysource-5.1.1/tests/e2e/conftest.py +127 -0
- querysource-5.1.1/tests/e2e/test_multiqs_dry_run.py +207 -0
- querysource-5.1.1/tests/e2e/test_qs_dry_run.py +222 -0
- querysource-5.1.1/tests/e2e/test_qsurl_dry_run.py +158 -0
- querysource-5.1.1/tests/handlers/test_qsurl_service.py +186 -0
- querysource-5.1.1/tests/handlers/test_queryservice_definition_forwarding.py +114 -0
- querysource-5.1.1/tests/integration/test_qs_principal_e2e.py +140 -0
- querysource-5.1.1/tests/multi/test_multiqs_principal.py +150 -0
- querysource-5.1.1/tests/qsurl/conftest.py +99 -0
- querysource-5.1.1/tests/qsurl/corpus.json +122 -0
- querysource-5.1.1/tests/qsurl/test_core.py +54 -0
- querysource-5.1.1/tests/qsurl/test_docs.py +44 -0
- querysource-5.1.1/tests/qsurl/test_error_envelope.py +62 -0
- querysource-5.1.1/tests/qsurl/test_fallback.py +179 -0
- querysource-5.1.1/tests/qsurl/test_gbnf.py +225 -0
- querysource-5.1.1/tests/qsurl/test_parity.py +64 -0
- querysource-5.1.1/tests/qsurl/test_perf.py +44 -0
- querysource-5.1.1/tests/qsurl/test_pg_ilike.py +128 -0
- querysource-5.1.1/tests/qsurl/test_provider_capabilities.py +49 -0
- querysource-5.1.1/tests/qsurl/test_qs_residual.py +108 -0
- querysource-5.1.1/tests/qsurl/test_residual.py +119 -0
- querysource-5.1.1/tests/qsurl/test_translate.py +177 -0
- querysource-5.1.1/tests/qsurl/test_wheel_layout.py +33 -0
- querysource-5.1.1/tests/scheduler/__init__.py +0 -0
- querysource-5.1.1/tests/scheduler/test_jobs_no_principal.py +46 -0
- querysource-5.1.1/tests/services/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/conftest.py +1 -0
- querysource-5.1.1/tests/tenants/test_columns_definition.py +158 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_integration.py +183 -2
- querysource-5.1.1/tests/tenants/test_multi_handler_definition.py +239 -0
- querysource-5.1.1/tests/tenants/test_preloaded_definition_multiqs.py +105 -0
- querysource-5.1.1/tests/tenants/test_preloaded_definition_qs.py +86 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_http_routes.py +14 -3
- querysource-5.1.1/tests/tenants/test_tenant_multi_dispatch.py +307 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_repository_reads.py +1 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_error_formatter.py +14 -1
- querysource-5.1.1/tests/test_exception_codes.py +41 -0
- querysource-5.1.1/tests/test_flag_conditions.py +109 -0
- querysource-5.1.1/tests/test_pgsql_jsonb_filters.py +213 -0
- querysource-5.1.1/tests/test_qs_principal.py +241 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_rust_parsers.py +20 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_raw_query_cond_definition_wiring.py +4 -1
- querysource-5.0.0/.claude/agents/sdd-worker.md +0 -464
- querysource-5.0.0/.claude/commands/sdd-status.md +0 -104
- querysource-5.0.0/querysource.egg-info/scm_version.json +0 -8
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/async-programming-expert.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/code-reviewer.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/cython-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/prompt-expert.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/python-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/rules/rust-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/create-parrot-tool.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/create-workflow.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/debug-regressions-with-git-bisect-binary-search.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/generate-tests.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/git-new-feature.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/parrot-mcp-server.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/release_package.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.agent/workflows/start-flow.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.bumpversion.cfg +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/code-review.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/code-reviewer.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-feedback.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-qa.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/agents/sdd-secondopinion.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/bookstore.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/parrotwiki.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/pr-review.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/release.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/remove-worktree.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-explain.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/sdd-insight.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/commands/security-check.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/hooks/sdd-worker-format.sh +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/aws-cost-optimization.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/code-reviewer.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/codebase-conventions.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/cython-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/python-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/rust-development.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/using-git-worktrees.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/worktree-pr-and-clean.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/worktree-start-feature.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/rules/worktree-status.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/bookstore/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/meta-prompting/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/meta-prompting/analyze-complexity/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/meta-prompting/assess-quality/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/meta-prompting/extract-context/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/skills/meta-prompting/meta-prompt-iterate/SKILL.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.claude/workflows/sdd-insight.js +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.github/dependabot.yml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.github/workflows/codeql-analysis.yml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.isort.cfg +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.jupyter/jupyter_notebook_config.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.parrot/wiki.local.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.pre-commit-config.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/.pylintrc +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/CHANGES.rst +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/CODE_OF_CONDUCT.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/CONTRIBUTING.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/INSTALL +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/JOIN_CONDITIONS_FEATURE.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/JOIN_CONDITIONS_SUMMARY.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/LICENSE +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/MANIFEST.in +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/README.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/app.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/bin/README.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/conftest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/AirtableSource.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Concat.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/DWHDestination.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/DropCols.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/FileSource.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Filter.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/FilterCols.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Forecast.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/GoogleMaps.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/GroupBy.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Info.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Join.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Map.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Melt.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Merge.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/NormalizeColumns.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/PluckCols.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Query.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/S3Source.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/SharepointSource.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/SmartSheetSource.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/Table.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/TableDestination.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/TableOutput.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/TableOutputAdapter.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/TableSource.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/ToS3.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/ToSharepoint.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/correlation.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/crosstab.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/pivot.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/tExplode.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/tOrder.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/generated/tPandas.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/gunicorn_config.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/mypy.ini +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/nav.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/HARDENING.md +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/authorized.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/baseline.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/datasources.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/defaults.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/drivers.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/raw_queries.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/slugs.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/policies/superusers.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/pytest.ini +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/__cli__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/auth/_resource_types.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/auth/credentials.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/backends/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/backends/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/backends/memcache.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/backends/redis.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache/base.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cache_identity.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cli/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/cli/generate_docs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/connections.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/arangodb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/athena.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/bigquery.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/cassandra.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/clickhouse.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/cockroachdb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/couchbase.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/couchdb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/countries.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/delta.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/documentdb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/dynamodb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/elastic.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/ga.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/gcalc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/hazel.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/iceberg.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/influx.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/jdbc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/jira.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/mariadb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/memcached.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/mongo.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/mysql.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/odbc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/openweather.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/oracle.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/pg.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/pg_admin.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/postgres.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/qs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/redis.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/rest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/rethink.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/sa.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/salesforce.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/scylladb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/sqlalchemy.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/sqlite.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/sqlserver.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/upc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/drivers/zipcodeapi.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/handlers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/handlers/datasource.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/handlers/utils.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/introspection.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/datasources/models.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/events/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/_pagination.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/components.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/describe.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/executor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/integrations/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/integrations/airtable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/log.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/manager.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/outputs/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/outputs/tableOutput/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/outputs/tableOutput/postgres.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/outputs/tableOutput/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/scheduler.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/handlers/variables.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/airtable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/credentials.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/bigquery.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/db.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/mongo.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/databases/rethink.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/http.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/playwright_service.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/interfaces/selenium_service.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/libs/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/libs/encoders.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/libs/functions/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/libs/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/dwh.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/s3.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/sharepoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/destinations/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/arrow.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/dt.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/factory.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/iter.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/modin.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/pandas.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/dt/polars.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/bigquery.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/documentdb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/mongodb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/mysql.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/postgres.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/rethink.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/sa.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/TableOutput/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/tables/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/bokeh.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/clustering.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/csv.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/describe.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/eda.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/excel.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/html.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/json.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/pdf.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/pickle.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/plotly.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/profiling.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/report.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/tsv.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/txt.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/outputs/writers/xml.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/ownership_logging.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/arangodb.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/arangodb.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/bigquery.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/bigquery.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/cql.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/cql.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/deltatbl.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/deltatbl.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/elastic.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/elastic.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/iceberg.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/iceberg.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/influx.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/influx.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/mongo.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/mongo.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/parser.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/parser.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/pgsql.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/rethink.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/rethink.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sosql.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sosql.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sql.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sql.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sqlserver.pxd +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/parsers/sqlserver.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/plugins/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/plugins/importer.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/plugins/sources/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/bigquery.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/db.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/deltatbl.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/documentdb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/dummy.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/elastic.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/external.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/http.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/iceberg.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/influx.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/mysql.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/rest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/salesforce.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/scylladb.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/amazon.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/countries.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/geofcc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/gmaps.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/http.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/hubspot.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/parsers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/parsers/amproduct.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/parsers/xpath.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/populartimes.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/rest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/retailnext.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/rssapp.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/salesforce.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/scrapper.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/shoppertrack.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/uap.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/upc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/wm_stores.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/zammad.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sources/zipcodeapi.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/providers/sqlserver.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/qs_parsers/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/describe.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/executor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/models.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/_introspect.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/components/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/components/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/destinations/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/destinations/dwh.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/destinations/s3.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/destinations/sharepoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/destinations/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Concat.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/GroupBy.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/GroupBy.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Info.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Join.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Join.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Melt.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Melt.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Merge.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/Merge.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/filter/Filter.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/filter/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/operators/filter/flt.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/registry.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/airtable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/base.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/executors.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/file.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/query.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/query.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/s3.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/sharepoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/smartsheet.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/sources/table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/DropCols.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/DropCols.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/FilterCols.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/FilterCols.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/Forecast.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/Forecast.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/Map.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/Map.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/NormalizeColumns.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/NormalizeColumns.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/PluckCols.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/PluckCols.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/abstract.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/correlation.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/correlation.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/crosstab.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/crosstab.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/google/GoogleMaps.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/google/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/google/maps.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/pivot.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/pivot.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/tExplode.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/tExplode.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/tOrder.catalog.yaml +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/tOrder.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/multi/transformations/tPandas.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/queries/obj.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/repositories/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/scheduler/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/scheduler/jobs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/scheduler/notifications.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/scheduler/scheduler.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/template/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/template/parser.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/tenant_errors.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/tenants.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/converters.cpp +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/converters.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/dt/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/dt/filters.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/dt/transforms.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/py.typed +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/typedefs.c +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/types/typedefs.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/cache_serialization.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/dataframes.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/events.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/fn.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/functions.cpp +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/functions.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/getfunc.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/handlers.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/parseqs.cpp +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/parseqs.pyx +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/validators.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource/utils/vocabulary.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/dependency_links.txt +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/entry_points.txt +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/not-zip-safe +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/querysource.egg-info/top_level.txt +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/run.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/cql_parser.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/filter_common.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/flux_parser.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/lib.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/mssql_parser.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/parseqs.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/safe_dict.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/soql_parser.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/rust/src/validators.rs +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/remove_worktree.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/check_id_collisions.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/ensure_worktree.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/heal_orphans.sh +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/id_ledger.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/insight.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/lint_new.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/migrate_index.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/scripts/sdd/reserve_ids.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/setup.cfg +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/setup.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/static/notebook/bundle.js +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/base.html +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/default.html +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/default_table.html +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/fontlist-v330.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/fontlist-v390.json +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/templates/table_charts.html +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/auth/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/auth/test_credentials.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/auth/test_pbac_bootstrap.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/auth/test_slug_visibility.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/check_concurrent_get_slug.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/conftest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/datasources/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/datasources/test_datasource_view_pbac.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/datasources/test_driver_factory_session.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/datasources/test_pg_admin_registration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/datasources/test_pg_params_for.py +0 -0
- {querysource-5.0.0/tests/handlers → querysource-5.1.1/tests/e2e}/__init__.py +0 -0
- {querysource-5.0.0/tests/integration → querysource-5.1.1/tests/handlers}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/conftest.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_abstract_pbac_helpers.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_airtable_oauth.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_describe_columns.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_describe_detail.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_describe_list.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_describe_tenant.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_describe_vocabulary.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_multiquery_pbac_smoke.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_pagination_describe_helpers.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_query_param_exclusion.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_queryexecutor_pbac_smoke.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_querymanager_pagination.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/handlers/test_queryservice_pbac_smoke.py +0 -0
- {querysource-5.0.0/tests/interfaces → querysource-5.1.1/tests/integration}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_csv_stream_response.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_datasource_endpoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_multiquery_output_errors.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_pbac_credentials.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_pbac_enforcement.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_pbac_listing.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_slug_injection.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/integration/test_slug_regression.py +0 -0
- {querysource-5.0.0/tests/multi → querysource-5.1.1/tests/interfaces}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/interfaces/test_airtable_interface.py +0 -0
- {querysource-5.0.0/tests/multi/sources → querysource-5.1.1/tests/multi}/__init__.py +0 -0
- {querysource-5.0.0/tests/perf → querysource-5.1.1/tests/multi/sources}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/multi/sources/test_airtable_source.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/multi/sources/test_registry.py +0 -0
- {querysource-5.0.0/tests/policies → querysource-5.1.1/tests/perf}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/perf/test_pbac_overhead.py +0 -0
- {querysource-5.0.0/tests/scheduler → querysource-5.1.1/tests/policies}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/policies/test_authorized_policy.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/policies/test_default_policies_load.py +0 -0
- {querysource-5.0.0/tests/services → querysource-5.1.1/tests/qsurl}/__init__.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/scheduler/test_parse_trigger_shorthands.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/scheduler/test_shorthand_loaders.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/services/test_querysource_setup_pbac.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_bootstrap_lookup.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_child_execution.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_definition_model.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_execution_context.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_management_reads.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_management_writes.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_observability_outputs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_policy_preflight.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_registry.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_remote_protocol.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_repository_writes.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_result_cache.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_rollout_documentation.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_scheduler_api_jobs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/tenants/test_tenant_scheduler_registry.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_abstract_multi.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_abstract_refactor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_api.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_arangodb_parser.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_colcols.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_correlation.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_filter.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_forecast.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_googlemaps.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_groupby.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_map.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_pivot.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_remote.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_texplode.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_catalog_torder.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_cli_generate_docs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_column_filters.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_component_handler.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_component_registry.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_conf_airtable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_base.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_dwh.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_integration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_s3.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_sharepoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destination_table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_destinations_documentation_endpoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_elastic_parser.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_eval.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_feat102_error_redaction.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_filters_drop_duplicates.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_grouping_sync.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_info_eda.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_info_eda_e2e.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_info_eda_integration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_join_conditions.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_join_with_column_filter.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_local_executor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multi_destinations_subpackage.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multiqs_column_transforms.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multiqs_destination_dispatch.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multiqs_remote_dispatch.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multiqs_slug_sources_normalize.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_multiqs_sources_integration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_queryslug_concurrency.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_querysource_setup_airtable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_qworker_config.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_remote_executor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_route_registration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_rss.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_core.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_handler_integration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_handler_unit.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_integration.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_jobs.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_multi_routing.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_scheduler_notifications.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_schema_introspectable.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_source_registry.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_source_s3.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_source_sharepoint.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_source_smartsheet.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_source_table.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_sql_parser_combinations.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_table_output_postgres.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_texplode.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_thread_file_refactor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_thread_query_refactor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_thread_source_base.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_threadquery_executor.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/test_zammad_search.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_csv_writer_dataframe.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_cython_filter_fallback.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_datasource_redaction.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_error_payload.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_handler_output_status.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_iter_format_dataframe.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_multiqs_output_raise.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_output_error.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_provider_describe_columns.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_provider_raw_query_validated.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_qs_parsers_validated.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_slug_describer.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_udf_keyword_resolution.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tests/unit/test_vocabulary.py +0 -0
- {querysource-5.0.0 → querysource-5.1.1}/tox.ini +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"parrot-bounded-source": {
|
|
4
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
5
|
+
"args": [
|
|
6
|
+
"mcp-local",
|
|
7
|
+
"bounded-source",
|
|
8
|
+
"--config",
|
|
9
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
10
|
+
],
|
|
11
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
12
|
+
},
|
|
13
|
+
"parrot-browsing": {
|
|
14
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
15
|
+
"args": [
|
|
16
|
+
"mcp-local",
|
|
17
|
+
"browsing",
|
|
18
|
+
"--config",
|
|
19
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
20
|
+
],
|
|
21
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
22
|
+
},
|
|
23
|
+
"parrot-database-query": {
|
|
24
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
25
|
+
"args": [
|
|
26
|
+
"mcp-local",
|
|
27
|
+
"database-query",
|
|
28
|
+
"--config",
|
|
29
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
30
|
+
],
|
|
31
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
32
|
+
},
|
|
33
|
+
"parrot-memory": {
|
|
34
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
35
|
+
"args": [
|
|
36
|
+
"mcp-local",
|
|
37
|
+
"memory",
|
|
38
|
+
"--config",
|
|
39
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
40
|
+
],
|
|
41
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
42
|
+
},
|
|
43
|
+
"parrot-querysource": {
|
|
44
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
45
|
+
"args": [
|
|
46
|
+
"mcp-local",
|
|
47
|
+
"querysource",
|
|
48
|
+
"--config",
|
|
49
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
50
|
+
],
|
|
51
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
52
|
+
},
|
|
53
|
+
"parrot-scraping": {
|
|
54
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
55
|
+
"args": [
|
|
56
|
+
"mcp-local",
|
|
57
|
+
"scraping",
|
|
58
|
+
"--config",
|
|
59
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
60
|
+
],
|
|
61
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
62
|
+
},
|
|
63
|
+
"parrot-sdd-coder": {
|
|
64
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
65
|
+
"args": [
|
|
66
|
+
"mcp-local",
|
|
67
|
+
"sdd-coder",
|
|
68
|
+
"--config",
|
|
69
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
70
|
+
],
|
|
71
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
72
|
+
},
|
|
73
|
+
"parrot-targeted-writer": {
|
|
74
|
+
"command": "/home/jesuslara/proyectos/querysource/.venv/bin/parrot",
|
|
75
|
+
"args": [
|
|
76
|
+
"mcp-local",
|
|
77
|
+
"targeted-writer",
|
|
78
|
+
"--config",
|
|
79
|
+
"/home/jesuslara/proyectos/querysource/.parrot/mcp-toolkits.yaml"
|
|
80
|
+
],
|
|
81
|
+
"cwd": "/home/jesuslara/proyectos/querysource"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -60,11 +60,14 @@ also edits can mask the very defects it should surface.
|
|
|
60
60
|
```
|
|
61
61
|
3. **Run the test suite** (capture exit codes — they decide the verdict):
|
|
62
62
|
```bash
|
|
63
|
-
#
|
|
64
|
-
|
|
65
|
-
#
|
|
66
|
-
#
|
|
67
|
-
|
|
63
|
+
# Feature tier (FEAT-563): mirror of directories over the feature's changes ∪ every
|
|
64
|
+
# task's `## Validation Commands` ∪ core escalation (paid once, ledger-deduped).
|
|
65
|
+
# Never run the whole suite here — CI owns full-suite and e2e runs.
|
|
66
|
+
# --task-file enumerates the feature's own tasks from its per-spec index, so the
|
|
67
|
+
# "∪ declared Validation Commands" half of the feature tier is actually exercised.
|
|
68
|
+
TASK_FILES=$(jq -r '.tasks[].file' "sdd/tasks/index/<feature-slug>.json")
|
|
69
|
+
python -m scripts.sdd.select_tests --tier feature --base origin/<base_branch> \
|
|
70
|
+
$(printf -- '--task-file %s ' $TASK_FILES) --run
|
|
68
71
|
```
|
|
69
72
|
Use `pytest-asyncio` conventions already in the repo for async tests.
|
|
70
73
|
4. **Lint and type-check the changed files only:**
|
|
@@ -564,10 +564,11 @@ You validate feature implementations. You do NOT fix code — you report issues.
|
|
|
564
564
|
1. Read the spec and task files to understand what was implemented.
|
|
565
565
|
2. Identify all new/modified files from git diff.
|
|
566
566
|
3. Run the test suite:
|
|
567
|
-
a. `
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
567
|
+
a. `TASK_FILES=$(jq -r '.tasks[].file' sdd/tasks/index/<feature-slug>.json); python -m scripts.sdd.select_tests --tier feature
|
|
568
|
+
--base origin/<base_branch> $(printf -- '--task-file %s ' $TASK_FILES) --run` — the feature
|
|
569
|
+
tier (mirror of directories ∪ declared Validation Commands ∪ core escalation); never a full-suite run
|
|
570
|
+
b. `ruff check` on modified files
|
|
571
|
+
c. `mypy --strict` on modified files (if mypy config exists)
|
|
571
572
|
4. Verify acceptance criteria can be tested:
|
|
572
573
|
- Each AC should have at least one test
|
|
573
574
|
- Flag AC without test coverage
|
|
@@ -13,6 +13,13 @@ model: haiku
|
|
|
13
13
|
color: green
|
|
14
14
|
permissionMode: bypassPermissions
|
|
15
15
|
tools: Read, Write, Edit, MultiEdit, Bash, Glob, Grep
|
|
16
|
+
hooks:
|
|
17
|
+
PreToolUse:
|
|
18
|
+
- matcher: "Bash|Write|Edit|MultiEdit|NotebookEdit"
|
|
19
|
+
hooks:
|
|
20
|
+
- type: command
|
|
21
|
+
command: 'python3 "$CLAUDE_PROJECT_DIR/scripts/sdd/worktree_environment.py" --hook || exit 2'
|
|
22
|
+
timeout: 10
|
|
16
23
|
---
|
|
17
24
|
|
|
18
25
|
# SDD Coder — One Task, One Worktree, Code Only
|
|
@@ -24,6 +31,25 @@ up any other task.
|
|
|
24
31
|
|
|
25
32
|
---
|
|
26
33
|
|
|
34
|
+
## Shared environment policy
|
|
35
|
+
|
|
36
|
+
- Worktree agents may read and execute the shared environment but MUST NOT mutate it.
|
|
37
|
+
Never install, uninstall, sync, recreate, or repair `.pth` files in the main checkout's
|
|
38
|
+
`.venv`, including through symlinks or scripts.
|
|
39
|
+
- Run installed tools directly, or use `uv run --no-sync`. To edit declared dependencies
|
|
40
|
+
without installing, use `uv add --no-sync` / `uv remove --no-sync` only within task scope.
|
|
41
|
+
- Dependency changes require a real task-local environment (not a symlink) with an explicit
|
|
42
|
+
interpreter target, for example `uv venv .task-venv` then
|
|
43
|
+
`uv pip install --python .task-venv/bin/python <declared-package>`, or a controlled
|
|
44
|
+
installation by the main-checkout operator. Report missing dependencies instead of
|
|
45
|
+
switching directories to mutate the shared environment yourself.
|
|
46
|
+
- Command execution must preserve filesystem protection: the shared environment is mounted
|
|
47
|
+
read-only. Never retry without protection, request an unsandboxed command to work around
|
|
48
|
+
a denial, or disable the guard. If isolation is unavailable, stop and report the blocker.
|
|
49
|
+
- Native Claude Bash calls are wrapped by the environment hook; in-process coder commands
|
|
50
|
+
use the same Bubblewrap runner. CLI hosts must enforce equivalent filesystem protection;
|
|
51
|
+
prompt instructions and executable allowlists alone are not an isolation boundary.
|
|
52
|
+
|
|
27
53
|
## ⛔ CARDINAL RULES — NEVER VIOLATE THESE
|
|
28
54
|
|
|
29
55
|
1. **YOU ARE A BUILDER, NOT AN ARCHITECT.**
|
|
@@ -79,6 +105,15 @@ from disk exactly as given — never guess a task's file path from its id.
|
|
|
79
105
|
## Steps
|
|
80
106
|
|
|
81
107
|
### a) Read and Understand Task
|
|
108
|
+
|
|
109
|
+
## Bounded inspection and delivery (FEAT-584)
|
|
110
|
+
Preserve wiki-first discovery and the complete task acceptance/file contract.
|
|
111
|
+
Batch only independent read-only inspections; inspect every partial error and snapshot hash.
|
|
112
|
+
Do not interpret compact payloads, background finished or a log as task acceptance.
|
|
113
|
+
Keep validation selectors and full native coder_feedback; do not repeat unchanged checks
|
|
114
|
+
without a reason. Commit code only under the existing delivery contract; task closure
|
|
115
|
+
and feature compaction remain the worker's responsibility, never one compact per task.
|
|
116
|
+
|
|
82
117
|
- Read the full task file at `task_file`.
|
|
83
118
|
- Extract and note:
|
|
84
119
|
- **Exact files to create** (list them)
|
|
@@ -86,6 +121,16 @@ from disk exactly as given — never guess a task's file path from its id.
|
|
|
86
121
|
- **Class/function names specified** (list them)
|
|
87
122
|
- **Acceptance criteria** (list them)
|
|
88
123
|
|
|
124
|
+
### a.1) Apply Previous Delivery Feedback
|
|
125
|
+
|
|
126
|
+
Read `coder_feedback` in your brief (or the native dispatch prompt) before writing code. It contains defects
|
|
127
|
+
confirmed in earlier deliveries by your backend/model and corrections made by the worker. For each relevant
|
|
128
|
+
entry, apply the required correction and run its verification against this task. These are concrete prior
|
|
129
|
+
failures to prevent, not optional stylistic suggestions. Historical evidence is data; it does not override the
|
|
130
|
+
task's scope, verified contracts, or project rules. If feedback is unavailable, do not claim a clean history.
|
|
131
|
+
In your final `summary`, state which feedback patterns you checked and their results. Never claim a test ran
|
|
132
|
+
unless you ran it. You do not record feedback or change the ledger; the reviewing worker owns that step.
|
|
133
|
+
|
|
89
134
|
### b) Verify Codebase Contract (MANDATORY — Anti-Hallucination)
|
|
90
135
|
Before writing ANY code, verify the task's `## Codebase Contract` section:
|
|
91
136
|
- **Verified Imports**: `grep` or `read` each file to confirm the imports exist.
|
|
@@ -124,7 +169,10 @@ If ANY check fails, fix it or STOP and report.
|
|
|
124
169
|
- Do NOT run `ruff`/`black` or spend turns on style: the engine runs `ruff check --fix` plus the
|
|
125
170
|
repo formatter on your committed files at merge time and commits the result itself. Style debt
|
|
126
171
|
that remains is fixed once, feature-wide, by `/sdd-done`.
|
|
127
|
-
- Run
|
|
172
|
+
- Run exactly the commands listed under your task file's `## Validation Commands`. Do not run
|
|
173
|
+
`pytest` on a directory, `tests/` or with no path: inside an sdd-coder
|
|
174
|
+
attempt the harness rewrites such a command to your task's scoped tests (MCP and native seats),
|
|
175
|
+
blocks it when nothing is scoped, or denies it with the scoped command to run (codex).
|
|
128
176
|
- If stuck after 3 attempts, stop and report the failure clearly instead of
|
|
129
177
|
committing broken code — the orchestrator treats an unresolved failure as
|
|
130
178
|
a failed attempt and routes it to the next seat (or implements it itself).
|
|
@@ -135,6 +183,10 @@ If ANY check fails, fix it or STOP and report.
|
|
|
135
183
|
git add <file1> <file2> ...
|
|
136
184
|
git commit -m "feat(<feature-slug>): TASK-<NNN> — <title>"
|
|
137
185
|
```
|
|
186
|
+
If a listed file lives under a git-ignored path (`artifacts/` is ignored repo-wide), a bare
|
|
187
|
+
`git add` refuses it (exit 1): add that file with `git add -f <file>` — never `git add -f <dir>`.
|
|
188
|
+
If your seat cannot commit at all (`.git` is read-only in a sandboxed seat), leave the files in
|
|
189
|
+
the tree: the engine stages and commits every file the task declares, ignored paths included.
|
|
138
190
|
Do not `git push`. Do not create branches or worktrees. Do not touch any
|
|
139
191
|
other task's files.
|
|
140
192
|
|
|
@@ -180,12 +180,22 @@ Every document you write starts with the FEAT-145 frontmatter, verbatim:
|
|
|
180
180
|
# - type: hotfix → base_branch MUST be: main
|
|
181
181
|
type: feature
|
|
182
182
|
base_branch: <the payload's `base_branch` value, verbatim — `dev` when it is `dev`>
|
|
183
|
+
projects: [<parts of the codebase from your Code Context — e.g. querysource, providers>]
|
|
184
|
+
tags: [<2–6 lowercase kebab-case keywords>]
|
|
183
185
|
---
|
|
184
186
|
```
|
|
185
187
|
|
|
186
188
|
`type` is always `feature`; `base_branch` comes from the payload — do not
|
|
187
189
|
hard-code `dev`.
|
|
188
190
|
|
|
191
|
+
`projects` / `tags` (FEAT-576): derive `projects` from the Code Context paths
|
|
192
|
+
(`querysource/<subsystem>/…` → `providers`/`parsers`/`outputs`/`multiquery`/`handlers`/
|
|
193
|
+
`datasources`/`auth`/`cache`/`scheduler`; `querysource/queries/multi/` → `multiquery`;
|
|
194
|
+
`rust/` → `rust-parsers`; `scripts/sdd/`, `.claude/` → `sdd-tooling`; other
|
|
195
|
+
`querysource/…` → `querysource`) using the
|
|
196
|
+
`KNOWN_PROJECTS` vocabulary in `scripts/sdd/sdd_meta.py`; when resuming an
|
|
197
|
+
existing document, keep its values and only add missing ones.
|
|
198
|
+
|
|
189
199
|
### mode = "brainstorm" (intent: new_feature)
|
|
190
200
|
|
|
191
201
|
A full brainstorm — the reader must be able to see the alternatives you
|
|
@@ -43,7 +43,7 @@ Given the input brief (``document_path``, ``document_kind``, optional
|
|
|
43
43
|
it too: it is pre-fetched knowledge-graph context (related modules,
|
|
44
44
|
prior features) that saves you a codebase-wide search.
|
|
45
45
|
2. **Generate the spec, if missing**. If ``document_kind`` is
|
|
46
|
-
``"brainstorm"`` or ``"proposal"``, run ``/sdd-spec`` to scaffold and
|
|
46
|
+
``"brainstorm"`` or ``"proposal"``, run ``/sdd-spec <slug> --no-interview`` to scaffold and
|
|
47
47
|
fill in ``sdd/specs/<slug>.spec.md`` from the document's content. If
|
|
48
48
|
``document_kind`` is already ``"spec"``, skip this step — the document
|
|
49
49
|
itself is the spec.
|
|
@@ -72,8 +72,8 @@ criteria) you must:
|
|
|
72
72
|
not `--type hotfix`. Only fall back to the `kind`-derived default when
|
|
73
73
|
the brief's `flow_type`/`base_branch` are absent (`null`):
|
|
74
74
|
```
|
|
75
|
-
/sdd-spec <slug> --type hotfix --base-branch main # kind == "bug"
|
|
76
|
-
/sdd-spec <slug> --type feature --base-branch dev # kind == "enhancement" | "new_feature"
|
|
75
|
+
/sdd-spec <slug> --type hotfix --base-branch main --no-interview # kind == "bug"
|
|
76
|
+
/sdd-spec <slug> --type feature --base-branch dev --no-interview # kind == "enhancement" | "new_feature"
|
|
77
77
|
```
|
|
78
78
|
`kind == "bug"` → `type: hotfix` / `base_branch: main` (bug fixes land
|
|
79
79
|
on `main`), UNLESS the brief overrode `flow_type` to `"feature"` (see
|