@altimateai/altimate-code 0.5.1 → 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.
- package/CHANGELOG.md +35 -0
- package/bin/altimate +6 -0
- package/bin/altimate-code +6 -0
- package/dbt-tools/bin/altimate-dbt +2 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/__init__.py +0 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/fetch_schema.py +35 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/utils.py +353 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/validate_sql.py +114 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__init__.py +178 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__main__.py +96 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/_typing.py +17 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/__init__.py +3 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/__init__.py +18 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/_typing.py +18 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/column.py +332 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/dataframe.py +866 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/functions.py +1267 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/group.py +59 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/normalize.py +78 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/operations.py +53 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/readwriter.py +108 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/session.py +190 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/transforms.py +9 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/types.py +212 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/util.py +32 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/window.py +134 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/__init__.py +118 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/athena.py +166 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/bigquery.py +1331 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/clickhouse.py +1393 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/databricks.py +131 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dialect.py +1915 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/doris.py +561 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/drill.py +157 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/druid.py +20 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/duckdb.py +1159 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dune.py +16 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/hive.py +787 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/materialize.py +94 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/mysql.py +1324 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/oracle.py +378 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/postgres.py +778 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/presto.py +788 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/prql.py +203 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/redshift.py +448 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/risingwave.py +78 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/snowflake.py +1464 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark.py +202 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark2.py +349 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/sqlite.py +320 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/starrocks.py +343 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tableau.py +61 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/teradata.py +356 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/trino.py +115 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tsql.py +1403 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/diff.py +456 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/errors.py +93 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/__init__.py +95 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/context.py +101 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/env.py +246 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/python.py +460 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/table.py +155 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/expressions.py +8870 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/generator.py +4993 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/helper.py +582 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/jsonpath.py +227 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/lineage.py +423 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/__init__.py +11 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/annotate_types.py +589 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/canonicalize.py +222 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_ctes.py +43 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_joins.py +181 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_subqueries.py +189 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/isolate_table_selects.py +50 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/merge_subqueries.py +415 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize.py +200 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize_identifiers.py +64 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimize_joins.py +91 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimizer.py +94 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_predicates.py +222 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_projections.py +172 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify.py +104 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_columns.py +1024 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_tables.py +155 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/scope.py +904 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/simplify.py +1587 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/unnest_subqueries.py +302 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/parser.py +8501 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/planner.py +463 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/schema.py +588 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/serde.py +68 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/time.py +687 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/tokens.py +1520 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/transforms.py +1020 -0
- package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/trie.py +81 -0
- package/dbt-tools/dist/altimate_python_packages/dbt_core_integration.py +825 -0
- package/dbt-tools/dist/altimate_python_packages/dbt_utils.py +157 -0
- package/dbt-tools/dist/index.js +23859 -0
- package/package.json +13 -13
- package/postinstall.mjs +42 -0
- package/skills/altimate-setup/SKILL.md +31 -0
package/package.json
CHANGED
|
@@ -7,24 +7,24 @@
|
|
|
7
7
|
"scripts": {
|
|
8
8
|
"postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.5.
|
|
10
|
+
"version": "0.5.3",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@altimateai/altimate-core": "^0.2.5"
|
|
14
14
|
},
|
|
15
15
|
"optionalDependencies": {
|
|
16
|
-
"@altimateai/altimate-code-linux-x64": "0.5.
|
|
17
|
-
"@altimateai/altimate-code-windows-arm64": "0.5.
|
|
18
|
-
"@altimateai/altimate-code-linux-arm64-musl": "0.5.
|
|
19
|
-
"@altimateai/altimate-code-darwin-x64": "0.5.
|
|
20
|
-
"@altimateai/altimate-code-windows-x64": "0.5.
|
|
21
|
-
"@altimateai/altimate-code-linux-x64-musl": "0.5.
|
|
22
|
-
"@altimateai/altimate-code-darwin-x64-baseline": "0.5.
|
|
23
|
-
"@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.
|
|
24
|
-
"@altimateai/altimate-code-linux-x64-baseline": "0.5.
|
|
25
|
-
"@altimateai/altimate-code-linux-arm64": "0.5.
|
|
26
|
-
"@altimateai/altimate-code-darwin-arm64": "0.5.
|
|
27
|
-
"@altimateai/altimate-code-windows-x64-baseline": "0.5.
|
|
16
|
+
"@altimateai/altimate-code-linux-x64": "0.5.3",
|
|
17
|
+
"@altimateai/altimate-code-windows-arm64": "0.5.3",
|
|
18
|
+
"@altimateai/altimate-code-linux-arm64-musl": "0.5.3",
|
|
19
|
+
"@altimateai/altimate-code-darwin-x64": "0.5.3",
|
|
20
|
+
"@altimateai/altimate-code-windows-x64": "0.5.3",
|
|
21
|
+
"@altimateai/altimate-code-linux-x64-musl": "0.5.3",
|
|
22
|
+
"@altimateai/altimate-code-darwin-x64-baseline": "0.5.3",
|
|
23
|
+
"@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.3",
|
|
24
|
+
"@altimateai/altimate-code-linux-x64-baseline": "0.5.3",
|
|
25
|
+
"@altimateai/altimate-code-linux-arm64": "0.5.3",
|
|
26
|
+
"@altimateai/altimate-code-darwin-arm64": "0.5.3",
|
|
27
|
+
"@altimateai/altimate-code-windows-x64-baseline": "0.5.3"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"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.
|