altimate-code 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/bin/altimate +6 -0
  3. package/bin/altimate-code +6 -0
  4. package/dbt-tools/bin/altimate-dbt +2 -0
  5. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/__init__.py +0 -0
  6. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/fetch_schema.py +35 -0
  7. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/utils.py +353 -0
  8. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/validate_sql.py +114 -0
  9. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__init__.py +178 -0
  10. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__main__.py +96 -0
  11. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/_typing.py +17 -0
  12. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/__init__.py +3 -0
  13. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/__init__.py +18 -0
  14. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/_typing.py +18 -0
  15. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/column.py +332 -0
  16. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/dataframe.py +866 -0
  17. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/functions.py +1267 -0
  18. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/group.py +59 -0
  19. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/normalize.py +78 -0
  20. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/operations.py +53 -0
  21. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/readwriter.py +108 -0
  22. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/session.py +190 -0
  23. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/transforms.py +9 -0
  24. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/types.py +212 -0
  25. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/util.py +32 -0
  26. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/window.py +134 -0
  27. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/__init__.py +118 -0
  28. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/athena.py +166 -0
  29. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/bigquery.py +1331 -0
  30. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/clickhouse.py +1393 -0
  31. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/databricks.py +131 -0
  32. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dialect.py +1915 -0
  33. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/doris.py +561 -0
  34. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/drill.py +157 -0
  35. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/druid.py +20 -0
  36. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/duckdb.py +1159 -0
  37. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dune.py +16 -0
  38. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/hive.py +787 -0
  39. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/materialize.py +94 -0
  40. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/mysql.py +1324 -0
  41. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/oracle.py +378 -0
  42. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/postgres.py +778 -0
  43. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/presto.py +788 -0
  44. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/prql.py +203 -0
  45. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/redshift.py +448 -0
  46. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/risingwave.py +78 -0
  47. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/snowflake.py +1464 -0
  48. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark.py +202 -0
  49. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark2.py +349 -0
  50. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/sqlite.py +320 -0
  51. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/starrocks.py +343 -0
  52. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tableau.py +61 -0
  53. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/teradata.py +356 -0
  54. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/trino.py +115 -0
  55. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tsql.py +1403 -0
  56. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/diff.py +456 -0
  57. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/errors.py +93 -0
  58. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/__init__.py +95 -0
  59. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/context.py +101 -0
  60. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/env.py +246 -0
  61. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/python.py +460 -0
  62. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/table.py +155 -0
  63. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/expressions.py +8870 -0
  64. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/generator.py +4993 -0
  65. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/helper.py +582 -0
  66. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/jsonpath.py +227 -0
  67. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/lineage.py +423 -0
  68. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/__init__.py +11 -0
  69. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/annotate_types.py +589 -0
  70. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/canonicalize.py +222 -0
  71. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_ctes.py +43 -0
  72. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_joins.py +181 -0
  73. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_subqueries.py +189 -0
  74. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/isolate_table_selects.py +50 -0
  75. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/merge_subqueries.py +415 -0
  76. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize.py +200 -0
  77. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize_identifiers.py +64 -0
  78. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimize_joins.py +91 -0
  79. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimizer.py +94 -0
  80. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_predicates.py +222 -0
  81. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_projections.py +172 -0
  82. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify.py +104 -0
  83. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_columns.py +1024 -0
  84. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_tables.py +155 -0
  85. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/scope.py +904 -0
  86. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/simplify.py +1587 -0
  87. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/unnest_subqueries.py +302 -0
  88. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/parser.py +8501 -0
  89. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/planner.py +463 -0
  90. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/schema.py +588 -0
  91. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/serde.py +68 -0
  92. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/time.py +687 -0
  93. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/tokens.py +1520 -0
  94. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/transforms.py +1020 -0
  95. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/trie.py +81 -0
  96. package/dbt-tools/dist/altimate_python_packages/dbt_core_integration.py +825 -0
  97. package/dbt-tools/dist/altimate_python_packages/dbt_utils.py +157 -0
  98. package/dbt-tools/dist/index.js +23859 -0
  99. package/package.json +13 -13
  100. package/postinstall.mjs +42 -0
  101. package/skills/altimate-setup/SKILL.md +31 -0
package/package.json CHANGED
@@ -14,24 +14,24 @@
14
14
  "scripts": {
15
15
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
16
16
  },
17
- "version": "0.5.2",
17
+ "version": "0.5.3",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
20
  "@altimateai/altimate-core": "^0.2.5"
21
21
  },
22
22
  "optionalDependencies": {
23
- "@altimateai/altimate-code-linux-x64": "0.5.2",
24
- "@altimateai/altimate-code-windows-arm64": "0.5.2",
25
- "@altimateai/altimate-code-linux-arm64-musl": "0.5.2",
26
- "@altimateai/altimate-code-darwin-x64": "0.5.2",
27
- "@altimateai/altimate-code-windows-x64": "0.5.2",
28
- "@altimateai/altimate-code-linux-x64-musl": "0.5.2",
29
- "@altimateai/altimate-code-darwin-x64-baseline": "0.5.2",
30
- "@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.2",
31
- "@altimateai/altimate-code-linux-x64-baseline": "0.5.2",
32
- "@altimateai/altimate-code-linux-arm64": "0.5.2",
33
- "@altimateai/altimate-code-darwin-arm64": "0.5.2",
34
- "@altimateai/altimate-code-windows-x64-baseline": "0.5.2"
23
+ "@altimateai/altimate-code-linux-x64": "0.5.3",
24
+ "@altimateai/altimate-code-windows-arm64": "0.5.3",
25
+ "@altimateai/altimate-code-linux-arm64-musl": "0.5.3",
26
+ "@altimateai/altimate-code-darwin-x64": "0.5.3",
27
+ "@altimateai/altimate-code-windows-x64": "0.5.3",
28
+ "@altimateai/altimate-code-linux-x64-musl": "0.5.3",
29
+ "@altimateai/altimate-code-darwin-x64-baseline": "0.5.3",
30
+ "@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.3",
31
+ "@altimateai/altimate-code-linux-x64-baseline": "0.5.3",
32
+ "@altimateai/altimate-code-linux-arm64": "0.5.3",
33
+ "@altimateai/altimate-code-darwin-arm64": "0.5.3",
34
+ "@altimateai/altimate-code-windows-x64-baseline": "0.5.3"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "pg": ">=8",
package/postinstall.mjs CHANGED
@@ -128,6 +128,46 @@ function copyDirRecursive(src, dst) {
128
128
  }
129
129
  }
130
130
 
131
+ /**
132
+ * Link bundled dbt-tools binary into the package's bin/ directory so it's
133
+ * available alongside the main CLI binary. The wrapper script exports
134
+ * ALTIMATE_BIN_DIR pointing to this directory.
135
+ */
136
+ function setupDbtTools() {
137
+ try {
138
+ const dbtBinSrc = path.join(__dirname, "dbt-tools", "bin", "altimate-dbt")
139
+ if (!fs.existsSync(dbtBinSrc)) {
140
+ console.warn(`Bundled altimate-dbt entrypoint missing: ${dbtBinSrc}`)
141
+ return
142
+ }
143
+
144
+ const binDir = path.join(__dirname, "bin")
145
+ if (!fs.existsSync(binDir)) fs.mkdirSync(binDir, { recursive: true })
146
+
147
+ const target = path.join(binDir, "altimate-dbt")
148
+ if (fs.existsSync(target)) fs.unlinkSync(target)
149
+
150
+ // Prefer symlink (preserves original relative imports), fall back to
151
+ // writing a new wrapper with the correct path from bin/ → dbt-tools/dist/.
152
+ try {
153
+ fs.symlinkSync(dbtBinSrc, target)
154
+ } catch {
155
+ // Direct copy would break the `import("../dist/index.js")` resolution
156
+ // since the script moves from dbt-tools/bin/ → bin/. Write a wrapper instead.
157
+ fs.writeFileSync(target, '#!/usr/bin/env node\nimport("../dbt-tools/dist/index.js")\n')
158
+ }
159
+ fs.chmodSync(target, 0o755)
160
+
161
+ // Windows: create .cmd shim since cmd.exe doesn't understand shebangs
162
+ if (os.platform() === "win32") {
163
+ const cmdTarget = path.join(binDir, "altimate-dbt.cmd")
164
+ fs.writeFileSync(cmdTarget, '@echo off\r\nnode "%~dp0\\..\\dbt-tools\\dist\\index.js" %*\r\n')
165
+ }
166
+ } catch (error) {
167
+ console.warn("Failed to setup bundled altimate-dbt:", error)
168
+ }
169
+ }
170
+
131
171
  /**
132
172
  * Copy bundled skills to ~/.altimate/builtin/ on every install/upgrade.
133
173
  * The entire directory is wiped and replaced so each release is the single
@@ -178,6 +218,7 @@ async function main() {
178
218
  // No postinstall setup needed
179
219
  if (version) writeUpgradeMarker(version)
180
220
  copySkillsToAltimate()
221
+ setupDbtTools()
181
222
  return
182
223
  }
183
224
 
@@ -196,6 +237,7 @@ async function main() {
196
237
  // The CLI picks up the marker and shows the welcome box on first run.
197
238
  if (version) writeUpgradeMarker(version)
198
239
  copySkillsToAltimate()
240
+ setupDbtTools()
199
241
  } catch (error) {
200
242
  console.error("Failed to setup altimate-code binary:", error.message)
201
243
  process.exit(1)
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: altimate-setup
3
+ description: Configure Altimate platform credentials for datamate and API access
4
+ ---
5
+
6
+ # Altimate Setup
7
+
8
+ Guide the user through configuring their Altimate platform credentials.
9
+
10
+ ## Steps
11
+
12
+ 1. **Check existing config**: Read `~/.altimate/altimate.json`. If it exists and is valid, show the current config (mask the API key) and ask if they want to update it.
13
+
14
+ 2. **Gather credentials**: Ask the user for:
15
+ - **Altimate URL** (default: `https://api.myaltimate.com`)
16
+ - **Instance name** (their tenant/org name, e.g. `megatenant`)
17
+ - **API key** (from Altimate platform settings)
18
+ - **MCP server URL** (optional, default: `https://mcpserver.getaltimate.com/sse`)
19
+
20
+ 3. **Write config**: Create `~/.altimate/` directory if needed, then write `~/.altimate/altimate.json`:
21
+ ```json
22
+ {
23
+ "altimateUrl": "<url>",
24
+ "altimateInstanceName": "<instance>",
25
+ "altimateApiKey": "<key>",
26
+ "mcpServerUrl": "<mcp-url>"
27
+ }
28
+ ```
29
+ Then set permissions to owner-only: `chmod 600 ~/.altimate/altimate.json`
30
+
31
+ 4. **Validate**: Call the `datamate_manager` tool with `operation: "list"` to verify the credentials work. Report success or failure to the user.