feat(tools/dataform): add dataform compile tool#1470
Conversation
|
/gcbraun |
|
/gcbrun |
|
|
|
I suspect that I don't need a Marking this pull request as ready for review. Want to get some early feedback while I explore removing the |
Yuan325
left a comment
There was a problem hiding this comment.
Thank you! Left some comments.
Let's keep AuthRequired in. That's one of the feature of toolbox (if user wants to limit the usage of the tool). It shouldn't cause any usage issues with dataform-compile.
|
/gcbrun |
|
Thanks, I've resolved the existing comments. |
|
/gcbrun |
|
/gcbrun |
|
/gcbrun |
## Description
This change introduces a new tool for compiling local Dataform projects.
The new tool, `dataform-compile`, allows users to programmatically run
the `dataform compile` command against a project on the local
filesystem. This tool does not require a `source` and instead relies on
the `dataform` CLI being available in the server's `PATH`.
### Changes:
* Added the new tool definition in
`internal/tools/dataformcompile/dataformcompile.go`.
* The tool requires the following parameter:
* `project_dir`: The local Dataform project directory to compile.
* The tool uses `os/exec` to run the `dataform compile --json` command
and parses the resulting JSON output.
* Added a new integration test in
`internal/tools/dataformcompile/dataformcompile_test.go` which:
* Skips the test if the `dataform` CLI is not found in the `PATH`.
* Uses `dataform init` to create a temporary, minimal project for
testing.
* Verifies success, missing parameter errors, and errors from a
non-existent directory.
---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution
## PR Checklist
---
> Thank you for opening a Pull Request! Before submitting your PR, there
are a
> few things you can do to make sure it goes smoothly:
- [x] Make sure you reviewed
[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a
[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change
🛠️ Fixes #1469
---------
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3be9b7b
) ## Description This change introduces a new tool for compiling local Dataform projects. The new tool, `dataform-compile`, allows users to programmatically run the `dataform compile` command against a project on the local filesystem. This tool does not require a `source` and instead relies on the `dataform` CLI being available in the server's `PATH`. ### Changes: * Added the new tool definition in `internal/tools/dataformcompile/dataformcompile.go`. * The tool requires the following parameter: * `project_dir`: The local Dataform project directory to compile. * The tool uses `os/exec` to run the `dataform compile --json` command and parses the resulting JSON output. * Added a new integration test in `internal/tools/dataformcompile/dataformcompile_test.go` which: * Skips the test if the `dataform` CLI is not found in the `PATH`. * Uses `dataform init` to create a temporary, minimal project for testing. * Verifies success, missing parameter errors, and errors from a non-existent directory. --- > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution ## PR Checklist --- > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes googleapis#1469 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3be9b7b
) ## Description This change introduces a new tool for compiling local Dataform projects. The new tool, `dataform-compile`, allows users to programmatically run the `dataform compile` command against a project on the local filesystem. This tool does not require a `source` and instead relies on the `dataform` CLI being available in the server's `PATH`. ### Changes: * Added the new tool definition in `internal/tools/dataformcompile/dataformcompile.go`. * The tool requires the following parameter: * `project_dir`: The local Dataform project directory to compile. * The tool uses `os/exec` to run the `dataform compile --json` command and parses the resulting JSON output. * Added a new integration test in `internal/tools/dataformcompile/dataformcompile_test.go` which: * Skips the test if the `dataform` CLI is not found in the `PATH`. * Uses `dataform init` to create a temporary, minimal project for testing. * Verifies success, missing parameter errors, and errors from a non-existent directory. --- > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution ## PR Checklist --- > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes googleapis#1469 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3be9b7b
) ## Description This change introduces a new tool for compiling local Dataform projects. The new tool, `dataform-compile`, allows users to programmatically run the `dataform compile` command against a project on the local filesystem. This tool does not require a `source` and instead relies on the `dataform` CLI being available in the server's `PATH`. ### Changes: * Added the new tool definition in `internal/tools/dataformcompile/dataformcompile.go`. * The tool requires the following parameter: * `project_dir`: The local Dataform project directory to compile. * The tool uses `os/exec` to run the `dataform compile --json` command and parses the resulting JSON output. * Added a new integration test in `internal/tools/dataformcompile/dataformcompile_test.go` which: * Skips the test if the `dataform` CLI is not found in the `PATH`. * Uses `dataform init` to create a temporary, minimal project for testing. * Verifies success, missing parameter errors, and errors from a non-existent directory. --- > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution ## PR Checklist --- > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes googleapis#1469 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3be9b7b
) ## Description This change introduces a new tool for compiling local Dataform projects. The new tool, `dataform-compile`, allows users to programmatically run the `dataform compile` command against a project on the local filesystem. This tool does not require a `source` and instead relies on the `dataform` CLI being available in the server's `PATH`. ### Changes: * Added the new tool definition in `internal/tools/dataformcompile/dataformcompile.go`. * The tool requires the following parameter: * `project_dir`: The local Dataform project directory to compile. * The tool uses `os/exec` to run the `dataform compile --json` command and parses the resulting JSON output. * Added a new integration test in `internal/tools/dataformcompile/dataformcompile_test.go` which: * Skips the test if the `dataform` CLI is not found in the `PATH`. * Uses `dataform init` to create a temporary, minimal project for testing. * Verifies success, missing parameter errors, and errors from a non-existent directory. --- > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution ## PR Checklist --- > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes googleapis#1469 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3be9b7b
🤖 I have created a release *beep* *boop* --- ## [0.17.0](v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](#1573)) ### Features * Add configs and workflows for docs versioning ([#1611](#1611)) ([21ac98b](21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([#1395](#1395)) ([0b3dac4](0b3dac4)) * Add program name to MySQL connections ([#1617](#1617)) ([c4a22b8](c4a22b8)) * **source/bigquery:** Add optional write mode config ([#1157](#1157)) ([63adc78](63adc78)) * **sources/mssql:** Add app name to MSSQL ([#1620](#1620)) ([1536d1f](1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([#1456](#1456)) ([3a19a50](3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](#1573)) ([1a44c67](1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](#1093)) ([acb205c](acb205c)) * **tools/dataform:** Add dataform compile tool ([#1470](#1470)) ([3be9b7b](3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](#1581)) ([5aed4e1](5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](#1596)) ([2d5a93e](2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](#1445)) ([dbc477a](dbc477a)) * Fix broken links ([#1625](#1625)) ([36c6584](36c6584)) * Remove duplicated build type in Dockerfile ([#1598](#1598)) ([b43c945](b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](#1663)) ([f4cf486](f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](#1496)) ([67d8221](67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](#1497)) ([62af39d](62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](#1629)) ([94e19d8](94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([#1676](#1676)) ([7e22cb4](7e22cb4)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.17.0](v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](#1573)) ### Features * Add configs and workflows for docs versioning ([#1611](#1611)) ([21ac98b](21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([#1395](#1395)) ([0b3dac4](0b3dac4)) * Add program name to MySQL connections ([#1617](#1617)) ([c4a22b8](c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([#1685](#1685)) ([8faf376](8faf376)) * **source/bigquery:** Add optional write mode config ([#1157](#1157)) ([63adc78](63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([#1686](#1686)) ([9d2bf79](9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([#1620](#1620)) ([1536d1f](1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([#1456](#1456)) ([3a19a50](3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](#1573)) ([1a44c67](1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](#1093)) ([acb205c](acb205c)) * **tools/dataform:** Add dataform compile tool ([#1470](#1470)) ([3be9b7b](3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](#1581)) ([5aed4e1](5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](#1596)) ([2d5a93e](2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](#1445)) ([dbc477a](dbc477a)) * Fix broken links ([#1625](#1625)) ([36c6584](36c6584)) * Remove duplicated build type in Dockerfile ([#1598](#1598)) ([b43c945](b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](#1663)) ([f4cf486](f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](#1496)) ([67d8221](67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](#1497)) ([62af39d](62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](#1629)) ([94e19d8](94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([#1676](#1676)) ([7e22cb4](7e22cb4)) * Release 0.17.0 ([#1681](#1681)) ([18c92b5](18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.17.0](v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](#1573)) ### Features * Add configs and workflows for docs versioning ([#1611](#1611)) ([21ac98b](21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([#1395](#1395)) ([0b3dac4](0b3dac4)) * Add program name to MySQL connections ([#1617](#1617)) ([c4a22b8](c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([#1685](#1685)) ([8faf376](8faf376)) * **source/bigquery:** Add optional write mode config ([#1157](#1157)) ([63adc78](63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([#1686](#1686)) ([9d2bf79](9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([#1620](#1620)) ([1536d1f](1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([#1456](#1456)) ([3a19a50](3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](#1573)) ([1a44c67](1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](#1093)) ([acb205c](acb205c)) * **tools/dataform:** Add dataform compile tool ([#1470](#1470)) ([3be9b7b](3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](#1581)) ([5aed4e1](5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](#1596)) ([2d5a93e](2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](#1445)) ([dbc477a](dbc477a)) * Fix broken links ([#1625](#1625)) ([36c6584](36c6584)) * Remove duplicated build type in Dockerfile ([#1598](#1598)) ([b43c945](b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](#1663)) ([f4cf486](f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](#1496)) ([67d8221](67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](#1497)) ([62af39d](62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](#1629)) ([94e19d8](94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([#1676](#1676)) ([7e22cb4](7e22cb4)) * Release 0.17.0 ([#1681](#1681)) ([18c92b5](18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> de19d52
🤖 I have created a release *beep* *boop* --- ## [0.17.0](v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](#1573)) ### Features * Add configs and workflows for docs versioning ([#1611](#1611)) ([21ac98b](21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([#1395](#1395)) ([0b3dac4](0b3dac4)) * Add program name to MySQL connections ([#1617](#1617)) ([c4a22b8](c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([#1685](#1685)) ([8faf376](8faf376)) * **source/bigquery:** Add optional write mode config ([#1157](#1157)) ([63adc78](63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([#1686](#1686)) ([9d2bf79](9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([#1620](#1620)) ([1536d1f](1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([#1456](#1456)) ([3a19a50](3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](#1573)) ([1a44c67](1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](#1093)) ([acb205c](acb205c)) * **tools/dataform:** Add dataform compile tool ([#1470](#1470)) ([3be9b7b](3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](#1581)) ([5aed4e1](5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](#1596)) ([2d5a93e](2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](#1445)) ([dbc477a](dbc477a)) * Fix broken links ([#1625](#1625)) ([36c6584](36c6584)) * Remove duplicated build type in Dockerfile ([#1598](#1598)) ([b43c945](b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](#1663)) ([f4cf486](f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](#1496)) ([67d8221](67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](#1497)) ([62af39d](62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](#1629)) ([94e19d8](94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([#1676](#1676)) ([7e22cb4](7e22cb4)) * Release 0.17.0 ([#1681](#1681)) ([18c92b5](18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> de19d52
🤖 I have created a release *beep* *boop* --- ## [0.17.0](googleapis/mcp-toolbox@v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([googleapis#1093](googleapis#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([googleapis#1573](googleapis#1573)) ### Features * Add configs and workflows for docs versioning ([googleapis#1611](googleapis#1611)) ([21ac98b](googleapis@21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([googleapis#1395](googleapis#1395)) ([0b3dac4](googleapis@0b3dac4)) * Add program name to MySQL connections ([googleapis#1617](googleapis#1617)) ([c4a22b8](googleapis@c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([googleapis#1685](googleapis#1685)) ([8faf376](googleapis@8faf376)) * **source/bigquery:** Add optional write mode config ([googleapis#1157](googleapis#1157)) ([63adc78](googleapis@63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([googleapis#1686](googleapis#1686)) ([9d2bf79](googleapis@9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([googleapis#1620](googleapis#1620)) ([1536d1f](googleapis@1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([googleapis#1456](googleapis#1456)) ([3a19a50](googleapis@3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([googleapis#1573](googleapis#1573)) ([1a44c67](googleapis@1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([googleapis#1093](googleapis#1093)) ([acb205c](googleapis@acb205c)) * **tools/dataform:** Add dataform compile tool ([googleapis#1470](googleapis#1470)) ([3be9b7b](googleapis@3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([googleapis#1581](googleapis#1581)) ([5aed4e1](googleapis@5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([googleapis#1596](googleapis#1596)) ([2d5a93e](googleapis@2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([googleapis#1445](googleapis#1445)) ([dbc477a](googleapis@dbc477a)) * Fix broken links ([googleapis#1625](googleapis#1625)) ([36c6584](googleapis@36c6584)) * Remove duplicated build type in Dockerfile ([googleapis#1598](googleapis#1598)) ([b43c945](googleapis@b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([googleapis#1663](googleapis#1663)) ([f4cf486](googleapis@f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([googleapis#1496](googleapis#1496)) ([67d8221](googleapis@67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([googleapis#1497](googleapis#1497)) ([62af39d](googleapis@62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([googleapis#1629](googleapis#1629)) ([94e19d8](googleapis@94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([googleapis#1676](googleapis#1676)) ([7e22cb4](googleapis@7e22cb4)) * Release 0.17.0 ([googleapis#1681](googleapis#1681)) ([18c92b5](googleapis@18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> de19d52
🤖 I have created a release *beep* *boop* --- ## [0.17.0](googleapis/mcp-toolbox@v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([googleapis#1093](googleapis#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([googleapis#1573](googleapis#1573)) ### Features * Add configs and workflows for docs versioning ([googleapis#1611](googleapis#1611)) ([21ac98b](googleapis@21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([googleapis#1395](googleapis#1395)) ([0b3dac4](googleapis@0b3dac4)) * Add program name to MySQL connections ([googleapis#1617](googleapis#1617)) ([c4a22b8](googleapis@c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([googleapis#1685](googleapis#1685)) ([8faf376](googleapis@8faf376)) * **source/bigquery:** Add optional write mode config ([googleapis#1157](googleapis#1157)) ([63adc78](googleapis@63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([googleapis#1686](googleapis#1686)) ([9d2bf79](googleapis@9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([googleapis#1620](googleapis#1620)) ([1536d1f](googleapis@1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([googleapis#1456](googleapis#1456)) ([3a19a50](googleapis@3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([googleapis#1573](googleapis#1573)) ([1a44c67](googleapis@1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([googleapis#1093](googleapis#1093)) ([acb205c](googleapis@acb205c)) * **tools/dataform:** Add dataform compile tool ([googleapis#1470](googleapis#1470)) ([3be9b7b](googleapis@3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([googleapis#1581](googleapis#1581)) ([5aed4e1](googleapis@5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([googleapis#1596](googleapis#1596)) ([2d5a93e](googleapis@2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([googleapis#1445](googleapis#1445)) ([dbc477a](googleapis@dbc477a)) * Fix broken links ([googleapis#1625](googleapis#1625)) ([36c6584](googleapis@36c6584)) * Remove duplicated build type in Dockerfile ([googleapis#1598](googleapis#1598)) ([b43c945](googleapis@b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([googleapis#1663](googleapis#1663)) ([f4cf486](googleapis@f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([googleapis#1496](googleapis#1496)) ([67d8221](googleapis@67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([googleapis#1497](googleapis#1497)) ([62af39d](googleapis@62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([googleapis#1629](googleapis#1629)) ([94e19d8](googleapis@94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([googleapis#1676](googleapis#1676)) ([7e22cb4](googleapis@7e22cb4)) * Release 0.17.0 ([googleapis#1681](googleapis#1681)) ([18c92b5](googleapis@18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> de19d52
🤖 I have created a release *beep* *boop* --- ## [0.17.0](googleapis/mcp-toolbox@v0.16.0...v0.17.0) (2025-10-10) ### ⚠ BREAKING CHANGES * **tools/bigquery-get-table-info:** add allowed dataset support ([#1093](googleapis/mcp-toolbox#1093)) * **tool/bigquery-list-dataset-ids:** add allowed datasets support ([#1573](googleapis/mcp-toolbox#1573)) ### Features * Add configs and workflows for docs versioning ([#1611](googleapis/mcp-toolbox#1611)) ([21ac98b](googleapis/mcp-toolbox@21ac98b)) * Add metadata in MCP Manifest for Toolbox auth ([#1395](googleapis/mcp-toolbox#1395)) ([0b3dac4](googleapis/mcp-toolbox@0b3dac4)) * Add program name to MySQL connections ([#1617](googleapis/mcp-toolbox#1617)) ([c4a22b8](googleapis/mcp-toolbox@c4a22b8)) * **oracle:** Switch Oracle driver from godror to go-ora ([#1685](googleapis/mcp-toolbox#1685)) ([8faf376](googleapis/mcp-toolbox@8faf376)) * **source/bigquery:** Add optional write mode config ([#1157](googleapis/mcp-toolbox#1157)) ([63adc78](googleapis/mcp-toolbox@63adc78)) * **sources/alloydb,cloudsqlpg,cloudsqlmysql,cloudsqlmssql:** Support PSC connection ([#1686](googleapis/mcp-toolbox#1686)) ([9d2bf79](googleapis/mcp-toolbox@9d2bf79)) * **sources/mssql:** Add app name to MSSQL ([#1620](googleapis/mcp-toolbox#1620)) ([1536d1f](googleapis/mcp-toolbox@1536d1f)) * **sources/oracle:** Add Oracle Source and Tool ([#1456](googleapis/mcp-toolbox#1456)) ([3a19a50](googleapis/mcp-toolbox@3a19a50)) * **tool/bigquery-list-dataset-ids:** Add allowed datasets support ([#1573](googleapis/mcp-toolbox#1573)) ([1a44c67](googleapis/mcp-toolbox@1a44c67)) * **tools/bigquery-get-table-info:** Add allowed dataset support ([#1093](googleapis/mcp-toolbox#1093)) ([acb205c](googleapis/mcp-toolbox@acb205c)) * **tools/dataform:** Add dataform compile tool ([#1470](googleapis/mcp-toolbox#1470)) ([3be9b7b](googleapis/mcp-toolbox@3be9b7b)) * **tools/looker:** Add support for pulse, vacuum and analyze audit and performance functions on a Looker instance ([#1581](googleapis/mcp-toolbox#1581)) ([5aed4e1](googleapis/mcp-toolbox@5aed4e1)) * **tools/looker:** Enable access to the Conversational Analytics API for Looker ([#1596](googleapis/mcp-toolbox#1596)) ([2d5a93e](googleapis/mcp-toolbox@2d5a93e)) ### Bug Fixes * Added google_ml_integration extension to use alloydb ai-nl support api ([#1445](googleapis/mcp-toolbox#1445)) ([dbc477a](googleapis/mcp-toolbox@dbc477a)) * Fix broken links ([#1625](googleapis/mcp-toolbox#1625)) ([36c6584](googleapis/mcp-toolbox@36c6584)) * Remove duplicated build type in Dockerfile ([#1598](googleapis/mcp-toolbox#1598)) ([b43c945](googleapis/mcp-toolbox@b43c945)) * **source/bigquery:** Allowed datasets project id issue with client oauth ([#1663](googleapis/mcp-toolbox#1663)) ([f4cf486](googleapis/mcp-toolbox@f4cf486)) * **sources/looker:** Allow Looker to be configured without setting a Client Id or Secret ([#1496](googleapis/mcp-toolbox#1496)) ([67d8221](googleapis/mcp-toolbox@67d8221)) * **tools/looker:** Refactor run-inline-query logic to helper function ([#1497](googleapis/mcp-toolbox#1497)) ([62af39d](googleapis/mcp-toolbox@62af39d)) * **tools/mysql-list-tables:** Update sql query to resolve subquery scope error ([#1629](googleapis/mcp-toolbox#1629)) ([94e19d8](googleapis/mcp-toolbox@94e19d8)) ### Miscellaneous Chores * Release 0.17.0 ([#1676](googleapis/mcp-toolbox#1676)) ([7e22cb4](googleapis/mcp-toolbox@7e22cb4)) * Release 0.17.0 ([#1681](googleapis/mcp-toolbox#1681)) ([18c92b5](googleapis/mcp-toolbox@18c92b5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Description
This change introduces a new tool for compiling local Dataform projects.
The new tool,
dataform-compile, allows users to programmatically run thedataform compilecommand against a project on the local filesystem. This tool does not require asourceand instead relies on thedataformCLI being available in the server'sPATH.Changes:
internal/tools/dataformcompile/dataformcompile.go.project_dir: The local Dataform project directory to compile.os/execto run thedataform compile --jsoncommand and parses the resulting JSON output.internal/tools/dataformcompile/dataformcompile_test.gowhich:dataformCLI is not found in thePATH.dataform initto create a temporary, minimal project for testing.PR Checklist
CONTRIBUTING.md
bug/issue
before writing your code! That way we can discuss the change, evaluate
designs, and agree on the general idea
!if this involve a breaking change🛠️ Fixes #1469