├── .envrc ├── .envrc.user ├── .github └── workflows │ └── ci-release.yml ├── .gitignore ├── .gitignore.template ├── .pre-commit-config.yaml ├── LICENSE ├── Makefile ├── README.md ├── docs ├── md │ ├── doc │ │ ├── bucketing.md │ │ ├── builder-agent.md │ │ ├── charting.md │ │ ├── comparison.md │ │ ├── compose.md │ │ ├── example.md │ │ ├── getting-started.md │ │ ├── indexing.md │ │ ├── mcp.md │ │ ├── mcp_example.yaml │ │ ├── nested-subtotals.md │ │ ├── percentage-total.md │ │ ├── profile.md │ │ ├── query-agent-chat.md │ │ ├── query-agent-llm-tool.md │ │ ├── query-agent-mcp.md │ │ ├── query-agent-skill.md │ │ ├── query-agent.md │ │ ├── query-methods.md │ │ ├── reference.md │ │ ├── semantic-table.md │ │ ├── sessionized.md │ │ ├── windowing.md │ │ ├── yaml-config.md │ │ └── yaml_example.yaml │ ├── docs_builder.py │ ├── index.json │ ├── prompts │ │ ├── build │ │ │ └── system.md │ │ ├── chart │ │ │ ├── altair.md │ │ │ ├── plotext.md │ │ │ └── plotly.md │ │ └── query │ │ │ ├── langchain │ │ │ ├── input-query-model.md │ │ │ ├── param-query-model-chart_backend.md │ │ │ ├── param-query-model-chart_format.md │ │ │ ├── param-query-model-chart_spec.md │ │ │ ├── param-query-model-get_chart.md │ │ │ ├── param-query-model-get_records.md │ │ │ ├── param-query-model-limit.md │ │ │ ├── param-query-model-query.md │ │ │ ├── param-query-model-records_displayed_limit.md │ │ │ ├── param-query-model-records_limit.md │ │ │ ├── system-full.md │ │ │ ├── system.md │ │ │ ├── tool-list-models.md │ │ │ └── tool-query-model.md │ │ │ └── mcp │ │ │ ├── system.md │ │ │ ├── tool-get-model-desc.md │ │ │ ├── tool-get-model.md │ │ │ ├── tool-get-time-range-desc.md │ │ │ ├── tool-get-time-range.md │ │ │ ├── tool-list-models-desc.md │ │ │ ├── tool-list-models.md │ │ │ ├── tool-query-desc.md │ │ │ ├── tool-query-param-chart_backend.md │ │ │ ├── tool-query-param-chart_format.md │ │ │ ├── tool-query-param-chart_spec.md │ │ │ ├── tool-query-param-dimensions.md │ │ │ ├── tool-query-param-filters.md │ │ │ ├── tool-query-param-get_chart.md │ │ │ ├── tool-query-param-get_records.md │ │ │ ├── tool-query-param-limit.md │ │ │ ├── tool-query-param-measures.md │ │ │ ├── tool-query-param-order_by.md │ │ │ ├── tool-query-param-records_limit.md │ │ │ ├── tool-query-param-time_grain.md │ │ │ ├── tool-query-param-time_range.md │ │ │ └── tool-query.md │ ├── skills │ │ ├── claude-code │ │ │ ├── bsl-model-builder │ │ │ │ └── SKILL.md │ │ │ └── bsl-query-expert │ │ │ │ └── SKILL.md │ │ ├── codex │ │ │ ├── bsl-model-builder.codex │ │ │ └── bsl-query-expert.codex │ │ └── cursor │ │ │ ├── bsl-model-builder.mdc │ │ │ └── bsl-query-expert.mdc │ ├── skills_builder.py │ └── validate_links.py └── web │ ├── .gitignore │ ├── bun.lockb │ ├── components.json │ ├── eslint.config.js │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ ├── 404.html │ ├── bsl-chat-demo.png │ ├── bsl-data │ │ ├── bucketing.json │ │ ├── builder-agent.json │ │ ├── building-semantic-tables.json │ │ ├── charting.json │ │ ├── comparison.json │ │ ├── compose.json │ │ ├── example.json │ │ ├── filtering.json │ │ ├── getting-started.json │ │ ├── indexing.json │ │ ├── joins.json │ │ ├── mcp.json │ │ ├── nested-subtotals.json │ │ ├── percentage-total.json │ │ ├── profile.json │ │ ├── query-agent-chat.json │ │ ├── query-agent-llm-tool.json │ │ ├── query-agent-mcp.json │ │ ├── query-agent-skill.json │ │ ├── query-agent.json │ │ ├── query-methods.json │ │ ├── reference.json │ │ ├── semantic-table.json │ │ ├── sessionized.json │ │ ├── windowing.json │ │ └── yaml-config.json │ ├── favicon.ico │ ├── favicon.svg │ ├── logo.svg │ ├── notebooks │ │ ├── bucketing_with_other.html │ │ ├── dimensional_indexing.html │ │ ├── nested_subtotals.html │ │ ├── percent_of_total.html │ │ └── sessionized_data.html │ ├── og-image.svg │ ├── pages.json │ ├── placeholder.svg │ └── robots.txt │ ├── src │ ├── App.tsx │ ├── components │ │ ├── AdvancedPatterns.tsx │ │ ├── AltairChart.tsx │ │ ├── AppSidebar.tsx │ │ ├── BSLQueryResult.tsx │ │ ├── CodeBlock.tsx │ │ ├── CollapsibleSetup.tsx │ │ ├── CommandPalette.tsx │ │ ├── Features.tsx │ │ ├── Footer.tsx │ │ ├── Installation.tsx │ │ ├── Note.tsx │ │ ├── QueryingTables.tsx │ │ ├── QuickExample.tsx │ │ ├── RegularOutput.tsx │ │ ├── SearchButton.tsx │ │ ├── SemanticTable.tsx │ │ ├── StandardOutput.tsx │ │ ├── TableOfContents.tsx │ │ ├── ThemeToggle.tsx │ │ ├── WhatIsBSL.tsx │ │ ├── YamlContent.tsx │ │ └── ui │ │ │ ├── accordion.tsx │ │ │ ├── alert-dialog.tsx │ │ │ ├── alert.tsx │ │ │ ├── aspect-ratio.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── button.tsx │ │ │ ├── calendar.tsx │ │ │ ├── card.tsx │ │ │ ├── carousel.tsx │ │ │ ├── chart.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── form.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── navigation-menu.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── sonner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toast.tsx │ │ │ ├── toaster.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ ├── tooltip.tsx │ │ │ └── use-toast.ts │ ├── hooks │ │ ├── use-mobile.tsx │ │ └── use-toast.ts │ ├── index.css │ ├── lib │ │ ├── search-index.ts │ │ └── utils.ts │ ├── main.tsx │ ├── pages │ │ ├── About.tsx │ │ ├── BSLMarkdownPage.tsx │ │ ├── Bucketing.tsx │ │ ├── Charting.tsx │ │ ├── ComposeModels.tsx │ │ ├── Dimensions.tsx │ │ ├── Filtering.tsx │ │ ├── Home.tsx │ │ ├── Indexing.tsx │ │ ├── Installation.tsx │ │ ├── Joins.tsx │ │ ├── JoinsRelationships.tsx │ │ ├── KeyFeatures.tsx │ │ ├── MCP.tsx │ │ ├── Measures.tsx │ │ ├── MultiModelQuery.tsx │ │ ├── NameConflicts.tsx │ │ ├── NestedSubtotals.tsx │ │ ├── NotFound.tsx │ │ ├── PercentageTotal.tsx │ │ ├── Profile.tsx │ │ ├── QueryAgentChat.tsx │ │ ├── QueryAgentMCP.tsx │ │ ├── QueryAgentOverview.tsx │ │ ├── QueryAgentSkill.tsx │ │ ├── QueryAgentTool.tsx │ │ ├── QueryMethods.tsx │ │ ├── Quickstart.tsx │ │ ├── SemanticTable.tsx │ │ ├── SemanticTableDefinition.tsx │ │ ├── Sessionized.tsx │ │ ├── Windowing.tsx │ │ └── YAMLConfig.tsx │ └── vite-env.d.ts │ ├── tailwind.config.ts │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── examples ├── README.md ├── __init__.py ├── basic_flights.py ├── basic_flights_xorq.py ├── bucketing_with_other.py ├── dimensional_indexing.py ├── example_chart.ipynb ├── example_mcp.py ├── example_mcp_cohort.py ├── example_openai_tool.py ├── flights.yml ├── ga_sessions.yaml ├── graph_example.py ├── joins.py ├── nested_data.py ├── nested_subtotals.py ├── order_items.yml ├── percent_of_total.py ├── profiles.yml ├── projection_pushdown_demo.py ├── quickstart.py ├── sessionized_data.py └── window_functions.py ├── flake.lock ├── flake.nix ├── pyproject.toml ├── requirements-dev.txt ├── scripts └── demo_bsl_v2.py ├── src └── boring_semantic_layer │ ├── __init__.py │ ├── agents │ ├── backends │ │ ├── __init__.py │ │ ├── langgraph.py │ │ └── mcp.py │ ├── chats │ │ ├── cli.py │ │ └── slack.py │ ├── cli.py │ ├── eval │ │ ├── __init__.py │ │ ├── eval.py │ │ └── questions.yaml │ ├── tests │ │ ├── __init__.py │ │ ├── test_chart_handler.py │ │ ├── test_chats_cli.py │ │ ├── test_cli_skill.py │ │ ├── test_langgraph_backend.py │ │ ├── test_mcp_json_parsing.py │ │ ├── test_prompts.py │ │ ├── test_semantic_mcp.py │ │ └── test_tools.py │ ├── tools.py │ └── utils │ │ ├── chart_handler.py │ │ ├── prompts.py │ │ └── tokens.py │ ├── api.py │ ├── chart │ ├── __init__.py │ ├── altair_chart.py │ ├── base.py │ ├── md_parser │ │ ├── __init__.py │ │ ├── converter.py │ │ ├── core.py │ │ ├── executor.py │ │ ├── parser.py │ │ └── renderer.py │ ├── plotext_chart.py │ ├── plotly_chart.py │ ├── tests │ │ ├── __init__.py │ │ ├── test_backends.py │ │ ├── test_chart.py │ │ ├── test_doc_builder.py │ │ ├── test_md_executor.py │ │ ├── test_md_parser.py │ │ └── test_utils.py │ └── utils.py │ ├── compile_all.py │ ├── config.py │ ├── convert.py │ ├── expr.py │ ├── format.py │ ├── graph_utils.py │ ├── measure_scope.py │ ├── nested_access.py │ ├── ops.py │ ├── profile.py │ ├── projection_utils.py │ ├── query.py │ ├── tests │ ├── conftest.py │ ├── fixtures │ │ ├── __init__.py │ │ ├── connections.py │ │ └── datasets.py │ ├── integration │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── integration_utils.py │ │ ├── malloy_data │ │ │ ├── cohorts.malloy │ │ │ ├── cohorts.py │ │ │ ├── comparing_timeframe.malloy │ │ │ ├── comparing_timeframe.py │ │ │ ├── moving_avg.malloy │ │ │ ├── moving_avg.py │ │ │ ├── percent_of_total.malloy │ │ │ └── percent_of_total.py │ │ └── test_malloy_integration.py │ ├── test_chart.py │ ├── test_config_projection_pushdown.py │ ├── test_cross_team.py │ ├── test_deferred_api.py │ ├── test_dependency_graph.py │ ├── test_dependency_groups.py │ ├── test_description.py │ ├── test_dimension_helpers.py │ ├── test_dimension_validation.py │ ├── test_filter_with_dimensions.py │ ├── test_graph_utils.py │ ├── test_index.py │ ├── test_introspection.py │ ├── test_join_prefixing.py │ ├── test_malloy_inspired.py │ ├── test_malloy_xorq_roundtrip.py │ ├── test_mcp_json_parsing.py │ ├── test_measure_reference_styles.py │ ├── test_nested_access.py │ ├── test_notation_styles.py │ ├── test_percent_of_total.py │ ├── test_profile.py │ ├── test_query.py │ ├── test_real_world_scenarios.py │ ├── test_rewrites_projection_pushdown.py │ ├── test_rewrites_projection_pushdown_examples.py │ ├── test_semantic_mcp.py │ ├── test_stale_dimensions.py │ ├── test_unnest.py │ ├── test_utils.py │ ├── test_window_compat.py │ ├── test_xorq_backends.py │ ├── test_xorq_convert.py │ ├── test_xorq_integration.py │ ├── test_xorq_string_serialization.py │ └── test_yaml.py │ ├── utils.py │ ├── window_compat.py │ ├── xorq_convert.py │ └── yaml.py └── uv.lock /.envrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/.envrc -------------------------------------------------------------------------------- /.envrc.user: -------------------------------------------------------------------------------- 1 | use flake .#editable 2 | -------------------------------------------------------------------------------- /.github/workflows/ci-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/.github/workflows/ci-release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitignore.template: -------------------------------------------------------------------------------- 1 | .gitignore 2 | *.direnv 3 | __pycache__ 4 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/README.md -------------------------------------------------------------------------------- /docs/md/doc/bucketing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/bucketing.md -------------------------------------------------------------------------------- /docs/md/doc/builder-agent.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/builder-agent.md -------------------------------------------------------------------------------- /docs/md/doc/charting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/charting.md -------------------------------------------------------------------------------- /docs/md/doc/comparison.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/comparison.md -------------------------------------------------------------------------------- /docs/md/doc/compose.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/compose.md -------------------------------------------------------------------------------- /docs/md/doc/example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/example.md -------------------------------------------------------------------------------- /docs/md/doc/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/getting-started.md -------------------------------------------------------------------------------- /docs/md/doc/indexing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/indexing.md -------------------------------------------------------------------------------- /docs/md/doc/mcp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/mcp.md -------------------------------------------------------------------------------- /docs/md/doc/mcp_example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/mcp_example.yaml -------------------------------------------------------------------------------- /docs/md/doc/nested-subtotals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/nested-subtotals.md -------------------------------------------------------------------------------- /docs/md/doc/percentage-total.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/percentage-total.md -------------------------------------------------------------------------------- /docs/md/doc/profile.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/profile.md -------------------------------------------------------------------------------- /docs/md/doc/query-agent-chat.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-agent-chat.md -------------------------------------------------------------------------------- /docs/md/doc/query-agent-llm-tool.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-agent-llm-tool.md -------------------------------------------------------------------------------- /docs/md/doc/query-agent-mcp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-agent-mcp.md -------------------------------------------------------------------------------- /docs/md/doc/query-agent-skill.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-agent-skill.md -------------------------------------------------------------------------------- /docs/md/doc/query-agent.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-agent.md -------------------------------------------------------------------------------- /docs/md/doc/query-methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/query-methods.md -------------------------------------------------------------------------------- /docs/md/doc/reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/reference.md -------------------------------------------------------------------------------- /docs/md/doc/semantic-table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/semantic-table.md -------------------------------------------------------------------------------- /docs/md/doc/sessionized.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/sessionized.md -------------------------------------------------------------------------------- /docs/md/doc/windowing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/windowing.md -------------------------------------------------------------------------------- /docs/md/doc/yaml-config.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/yaml-config.md -------------------------------------------------------------------------------- /docs/md/doc/yaml_example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/doc/yaml_example.yaml -------------------------------------------------------------------------------- /docs/md/docs_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/docs_builder.py -------------------------------------------------------------------------------- /docs/md/index.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/index.json -------------------------------------------------------------------------------- /docs/md/prompts/build/system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/build/system.md -------------------------------------------------------------------------------- /docs/md/prompts/chart/altair.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/chart/altair.md -------------------------------------------------------------------------------- /docs/md/prompts/chart/plotext.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/chart/plotext.md -------------------------------------------------------------------------------- /docs/md/prompts/chart/plotly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/chart/plotly.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/input-query-model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/input-query-model.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-chart_backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-chart_backend.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-chart_format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-chart_format.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-chart_spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-chart_spec.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-get_chart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-get_chart.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-get_records.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-get_records.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-limit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-limit.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-query.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-records_displayed_limit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-records_displayed_limit.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/param-query-model-records_limit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/param-query-model-records_limit.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/system-full.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/system-full.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/system.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/tool-list-models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/tool-list-models.md -------------------------------------------------------------------------------- /docs/md/prompts/query/langchain/tool-query-model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/langchain/tool-query-model.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/system.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-get-model-desc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-get-model-desc.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-get-model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-get-model.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-get-time-range-desc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-get-time-range-desc.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-get-time-range.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-get-time-range.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-list-models-desc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-list-models-desc.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-list-models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-list-models.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-desc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-desc.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-chart_backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-chart_backend.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-chart_format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-chart_format.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-chart_spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-chart_spec.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-dimensions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-dimensions.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-filters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-filters.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-get_chart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-get_chart.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-get_records.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-get_records.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-limit.md: -------------------------------------------------------------------------------- 1 | Maximum number of rows to return -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-measures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-measures.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-order_by.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-order_by.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-records_limit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-records_limit.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-time_grain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-time_grain.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query-param-time_range.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query-param-time_range.md -------------------------------------------------------------------------------- /docs/md/prompts/query/mcp/tool-query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/prompts/query/mcp/tool-query.md -------------------------------------------------------------------------------- /docs/md/skills/claude-code/bsl-model-builder/SKILL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/claude-code/bsl-model-builder/SKILL.md -------------------------------------------------------------------------------- /docs/md/skills/claude-code/bsl-query-expert/SKILL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/claude-code/bsl-query-expert/SKILL.md -------------------------------------------------------------------------------- /docs/md/skills/codex/bsl-model-builder.codex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/codex/bsl-model-builder.codex -------------------------------------------------------------------------------- /docs/md/skills/codex/bsl-query-expert.codex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/codex/bsl-query-expert.codex -------------------------------------------------------------------------------- /docs/md/skills/cursor/bsl-model-builder.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/cursor/bsl-model-builder.mdc -------------------------------------------------------------------------------- /docs/md/skills/cursor/bsl-query-expert.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills/cursor/bsl-query-expert.mdc -------------------------------------------------------------------------------- /docs/md/skills_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/skills_builder.py -------------------------------------------------------------------------------- /docs/md/validate_links.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/md/validate_links.py -------------------------------------------------------------------------------- /docs/web/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules** -------------------------------------------------------------------------------- /docs/web/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/bun.lockb -------------------------------------------------------------------------------- /docs/web/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/components.json -------------------------------------------------------------------------------- /docs/web/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/eslint.config.js -------------------------------------------------------------------------------- /docs/web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/index.html -------------------------------------------------------------------------------- /docs/web/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/package-lock.json -------------------------------------------------------------------------------- /docs/web/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/package.json -------------------------------------------------------------------------------- /docs/web/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/postcss.config.js -------------------------------------------------------------------------------- /docs/web/public/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/404.html -------------------------------------------------------------------------------- /docs/web/public/bsl-chat-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-chat-demo.png -------------------------------------------------------------------------------- /docs/web/public/bsl-data/bucketing.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/bucketing.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/builder-agent.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/builder-agent.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/building-semantic-tables.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/building-semantic-tables.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/charting.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/charting.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/comparison.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/comparison.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/compose.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/compose.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/example.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/filtering.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/filtering.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/getting-started.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/getting-started.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/indexing.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/indexing.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/joins.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/joins.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/mcp.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/nested-subtotals.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/nested-subtotals.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/percentage-total.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/percentage-total.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/profile.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/profile.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-agent-chat.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-agent-chat.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-agent-llm-tool.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-agent-llm-tool.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-agent-mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-agent-mcp.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-agent-skill.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-agent-skill.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-agent.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-agent.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/query-methods.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/query-methods.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/reference.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/reference.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/semantic-table.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/semantic-table.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/sessionized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/sessionized.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/windowing.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/windowing.json -------------------------------------------------------------------------------- /docs/web/public/bsl-data/yaml-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/bsl-data/yaml-config.json -------------------------------------------------------------------------------- /docs/web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/favicon.ico -------------------------------------------------------------------------------- /docs/web/public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/favicon.svg -------------------------------------------------------------------------------- /docs/web/public/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/logo.svg -------------------------------------------------------------------------------- /docs/web/public/notebooks/bucketing_with_other.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/notebooks/bucketing_with_other.html -------------------------------------------------------------------------------- /docs/web/public/notebooks/dimensional_indexing.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/notebooks/dimensional_indexing.html -------------------------------------------------------------------------------- /docs/web/public/notebooks/nested_subtotals.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/notebooks/nested_subtotals.html -------------------------------------------------------------------------------- /docs/web/public/notebooks/percent_of_total.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/notebooks/percent_of_total.html -------------------------------------------------------------------------------- /docs/web/public/notebooks/sessionized_data.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/notebooks/sessionized_data.html -------------------------------------------------------------------------------- /docs/web/public/og-image.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/og-image.svg -------------------------------------------------------------------------------- /docs/web/public/pages.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/pages.json -------------------------------------------------------------------------------- /docs/web/public/placeholder.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/placeholder.svg -------------------------------------------------------------------------------- /docs/web/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/public/robots.txt -------------------------------------------------------------------------------- /docs/web/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/App.tsx -------------------------------------------------------------------------------- /docs/web/src/components/AdvancedPatterns.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/AdvancedPatterns.tsx -------------------------------------------------------------------------------- /docs/web/src/components/AltairChart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/AltairChart.tsx -------------------------------------------------------------------------------- /docs/web/src/components/AppSidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/AppSidebar.tsx -------------------------------------------------------------------------------- /docs/web/src/components/BSLQueryResult.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/BSLQueryResult.tsx -------------------------------------------------------------------------------- /docs/web/src/components/CodeBlock.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/CodeBlock.tsx -------------------------------------------------------------------------------- /docs/web/src/components/CollapsibleSetup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/CollapsibleSetup.tsx -------------------------------------------------------------------------------- /docs/web/src/components/CommandPalette.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/CommandPalette.tsx -------------------------------------------------------------------------------- /docs/web/src/components/Features.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/Features.tsx -------------------------------------------------------------------------------- /docs/web/src/components/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/Footer.tsx -------------------------------------------------------------------------------- /docs/web/src/components/Installation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/Installation.tsx -------------------------------------------------------------------------------- /docs/web/src/components/Note.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/Note.tsx -------------------------------------------------------------------------------- /docs/web/src/components/QueryingTables.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/QueryingTables.tsx -------------------------------------------------------------------------------- /docs/web/src/components/QuickExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/QuickExample.tsx -------------------------------------------------------------------------------- /docs/web/src/components/RegularOutput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/RegularOutput.tsx -------------------------------------------------------------------------------- /docs/web/src/components/SearchButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/SearchButton.tsx -------------------------------------------------------------------------------- /docs/web/src/components/SemanticTable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/SemanticTable.tsx -------------------------------------------------------------------------------- /docs/web/src/components/StandardOutput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/StandardOutput.tsx -------------------------------------------------------------------------------- /docs/web/src/components/TableOfContents.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/TableOfContents.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ThemeToggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ThemeToggle.tsx -------------------------------------------------------------------------------- /docs/web/src/components/WhatIsBSL.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/WhatIsBSL.tsx -------------------------------------------------------------------------------- /docs/web/src/components/YamlContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/YamlContent.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/accordion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/accordion.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/alert.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/alert.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/aspect-ratio.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/aspect-ratio.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/avatar.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/badge.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/breadcrumb.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/breadcrumb.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/button.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/calendar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/calendar.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/card.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/carousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/carousel.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/chart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/chart.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/checkbox.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/collapsible.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/collapsible.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/command.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/context-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/context-menu.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/drawer.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/form.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/hover-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/hover-card.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/input-otp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/input-otp.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/input.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/label.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/menubar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/menubar.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/navigation-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/navigation-menu.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/pagination.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/pagination.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/popover.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/progress.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/radio-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/radio-group.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/resizable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/resizable.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/select.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/separator.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/sheet.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/sidebar.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/slider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/slider.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/sonner.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/switch.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/table.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/tabs.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/textarea.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/toast.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/toaster.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/toggle-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/toggle-group.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/toggle.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /docs/web/src/components/ui/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/components/ui/use-toast.ts -------------------------------------------------------------------------------- /docs/web/src/hooks/use-mobile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/hooks/use-mobile.tsx -------------------------------------------------------------------------------- /docs/web/src/hooks/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/hooks/use-toast.ts -------------------------------------------------------------------------------- /docs/web/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/index.css -------------------------------------------------------------------------------- /docs/web/src/lib/search-index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/lib/search-index.ts -------------------------------------------------------------------------------- /docs/web/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/lib/utils.ts -------------------------------------------------------------------------------- /docs/web/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/main.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/About.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/About.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/BSLMarkdownPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/BSLMarkdownPage.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Bucketing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Bucketing.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Charting.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Charting.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/ComposeModels.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/ComposeModels.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Dimensions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Dimensions.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Filtering.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Filtering.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Home.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Home.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Indexing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Indexing.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Installation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Installation.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Joins.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Joins.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/JoinsRelationships.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/JoinsRelationships.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/KeyFeatures.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/KeyFeatures.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/MCP.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/MCP.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Measures.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Measures.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/MultiModelQuery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/MultiModelQuery.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/NameConflicts.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/NameConflicts.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/NestedSubtotals.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/NestedSubtotals.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/NotFound.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/NotFound.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/PercentageTotal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/PercentageTotal.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Profile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Profile.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryAgentChat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryAgentChat.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryAgentMCP.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryAgentMCP.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryAgentOverview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryAgentOverview.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryAgentSkill.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryAgentSkill.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryAgentTool.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryAgentTool.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/QueryMethods.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/QueryMethods.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Quickstart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Quickstart.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/SemanticTable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/SemanticTable.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/SemanticTableDefinition.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/SemanticTableDefinition.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Sessionized.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Sessionized.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/Windowing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/Windowing.tsx -------------------------------------------------------------------------------- /docs/web/src/pages/YAMLConfig.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/src/pages/YAMLConfig.tsx -------------------------------------------------------------------------------- /docs/web/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /docs/web/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/tailwind.config.ts -------------------------------------------------------------------------------- /docs/web/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/tsconfig.app.json -------------------------------------------------------------------------------- /docs/web/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/tsconfig.json -------------------------------------------------------------------------------- /docs/web/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/tsconfig.node.json -------------------------------------------------------------------------------- /docs/web/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/docs/web/vite.config.ts -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/__init__.py -------------------------------------------------------------------------------- /examples/basic_flights.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/basic_flights.py -------------------------------------------------------------------------------- /examples/basic_flights_xorq.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/basic_flights_xorq.py -------------------------------------------------------------------------------- /examples/bucketing_with_other.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/bucketing_with_other.py -------------------------------------------------------------------------------- /examples/dimensional_indexing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/dimensional_indexing.py -------------------------------------------------------------------------------- /examples/example_chart.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/example_chart.ipynb -------------------------------------------------------------------------------- /examples/example_mcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/example_mcp.py -------------------------------------------------------------------------------- /examples/example_mcp_cohort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/example_mcp_cohort.py -------------------------------------------------------------------------------- /examples/example_openai_tool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/example_openai_tool.py -------------------------------------------------------------------------------- /examples/flights.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/flights.yml -------------------------------------------------------------------------------- /examples/ga_sessions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/ga_sessions.yaml -------------------------------------------------------------------------------- /examples/graph_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/graph_example.py -------------------------------------------------------------------------------- /examples/joins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/joins.py -------------------------------------------------------------------------------- /examples/nested_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/nested_data.py -------------------------------------------------------------------------------- /examples/nested_subtotals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/nested_subtotals.py -------------------------------------------------------------------------------- /examples/order_items.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/order_items.yml -------------------------------------------------------------------------------- /examples/percent_of_total.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/percent_of_total.py -------------------------------------------------------------------------------- /examples/profiles.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/profiles.yml -------------------------------------------------------------------------------- /examples/projection_pushdown_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/projection_pushdown_demo.py -------------------------------------------------------------------------------- /examples/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/quickstart.py -------------------------------------------------------------------------------- /examples/sessionized_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/sessionized_data.py -------------------------------------------------------------------------------- /examples/window_functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/examples/window_functions.py -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/flake.nix -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /scripts/demo_bsl_v2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/scripts/demo_bsl_v2.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/__init__.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/backends/__init__.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/backends/langgraph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/backends/langgraph.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/backends/mcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/backends/mcp.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/chats/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/chats/cli.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/chats/slack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/chats/slack.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/cli.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/eval/__init__.py: -------------------------------------------------------------------------------- 1 | """Evaluation suite for BSL agents.""" 2 | -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/eval/eval.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/eval/eval.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/eval/questions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/eval/questions.yaml -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/__init__.py: -------------------------------------------------------------------------------- 1 | """Tests for BSL agents.""" 2 | -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_chart_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_chart_handler.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_chats_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_chats_cli.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_cli_skill.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_cli_skill.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_langgraph_backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_langgraph_backend.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_mcp_json_parsing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_mcp_json_parsing.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_prompts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_prompts.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_semantic_mcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_semantic_mcp.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tests/test_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tests/test_tools.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/tools.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/utils/chart_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/utils/chart_handler.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/utils/prompts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/utils/prompts.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/agents/utils/tokens.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/agents/utils/tokens.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/api.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/__init__.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/altair_chart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/altair_chart.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/base.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/__init__.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/converter.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/core.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/executor.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/parser.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/md_parser/renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/md_parser/renderer.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/plotext_chart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/plotext_chart.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/plotly_chart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/plotly_chart.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/__init__.py: -------------------------------------------------------------------------------- 1 | """Tests for chart backends.""" 2 | -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_backends.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_backends.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_chart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_chart.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_doc_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_doc_builder.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_md_executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_md_executor.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_md_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_md_parser.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/tests/test_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/chart/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/chart/utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/compile_all.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/compile_all.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/config.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/convert.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/expr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/expr.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/format.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/format.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/graph_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/graph_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/measure_scope.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/measure_scope.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/nested_access.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/nested_access.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/ops.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/ops.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/profile.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/projection_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/projection_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/query.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/query.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/conftest.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/fixtures/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/fixtures/__init__.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/fixtures/connections.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/fixtures/connections.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/fixtures/datasets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/fixtures/datasets.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | """Integration tests for Malloy-BSL equivalence.""" 2 | -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/conftest.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/integration_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/integration_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/cohorts.malloy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/cohorts.malloy -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/cohorts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/cohorts.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/comparing_timeframe.malloy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/comparing_timeframe.malloy -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/comparing_timeframe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/comparing_timeframe.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/moving_avg.malloy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/moving_avg.malloy -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/moving_avg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/moving_avg.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/percent_of_total.malloy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/percent_of_total.malloy -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/malloy_data/percent_of_total.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/malloy_data/percent_of_total.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/integration/test_malloy_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/integration/test_malloy_integration.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_chart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_chart.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_config_projection_pushdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_config_projection_pushdown.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_cross_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_cross_team.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_deferred_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_deferred_api.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_dependency_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_dependency_graph.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_dependency_groups.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_dependency_groups.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_description.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_description.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_dimension_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_dimension_helpers.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_dimension_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_dimension_validation.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_filter_with_dimensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_filter_with_dimensions.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_graph_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_graph_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_index.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_introspection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_introspection.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_join_prefixing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_join_prefixing.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_malloy_inspired.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_malloy_inspired.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_malloy_xorq_roundtrip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_malloy_xorq_roundtrip.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_mcp_json_parsing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_mcp_json_parsing.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_measure_reference_styles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_measure_reference_styles.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_nested_access.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_nested_access.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_notation_styles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_notation_styles.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_percent_of_total.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_percent_of_total.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_profile.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_query.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_query.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_real_world_scenarios.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_real_world_scenarios.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_rewrites_projection_pushdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_rewrites_projection_pushdown.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_rewrites_projection_pushdown_examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_rewrites_projection_pushdown_examples.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_semantic_mcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_semantic_mcp.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_stale_dimensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_stale_dimensions.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_unnest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_unnest.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_window_compat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_window_compat.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_xorq_backends.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_xorq_backends.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_xorq_convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_xorq_convert.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_xorq_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_xorq_integration.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_xorq_string_serialization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_xorq_string_serialization.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/tests/test_yaml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/tests/test_yaml.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/utils.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/window_compat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/window_compat.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/xorq_convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/xorq_convert.py -------------------------------------------------------------------------------- /src/boring_semantic_layer/yaml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/src/boring_semantic_layer/yaml.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boringdata/boring-semantic-layer/HEAD/uv.lock --------------------------------------------------------------------------------