databricks-axi 0.1.0 → 0.3.0

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/dist/src/skill.js CHANGED
@@ -2,20 +2,25 @@ import { DESCRIPTION, TOP_HELP } from "./cli.js";
2
2
  // Trigger string agent harnesses match against to auto-load the skill.
3
3
  // Scoped to the implemented surface only (AXI: no advertised capabilities
4
4
  // that don't exist yet) - extend as command domains land.
5
- export const SKILL_DESCRIPTION = "Agent-ergonomic wrapper around the Databricks CLI. Pre-release scaffold: " +
6
- "command domains (jobs, clusters, SQL, catalog, workspace, fs, pipelines, " +
7
- "serving, api, setup) are not implemented yet - run `databricks-axi --help` " +
8
- "to see the current surface before relying on it.";
5
+ export const SKILL_DESCRIPTION = "Agent-ergonomic wrapper around the Databricks CLI. Implemented: jobs " +
6
+ "(list, view, run, runs, logs, cancel), sql (warehouses, exec, " +
7
+ "statement view), api (raw REST passthrough). Other domains (clusters, " +
8
+ "catalog, workspace, fs, pipelines, serving, setup) land " +
9
+ "incrementally - run `databricks-axi --help` for the current surface.";
9
10
  export const SKILL_AUTHOR = "Vignesh Perumal (p33ves)";
10
11
  // Extended frontmatter read by Nous Research's Hermes Agent harness.
11
12
  // Harnesses that don't know these fields (e.g. Claude Code) ignore them.
12
13
  // Scoped like SKILL_DESCRIPTION: topical only, no unimplemented domains —
13
- // re-add sql/unity-catalog/jobs as those domains land.
14
- export const HERMES_TAGS = ["databricks", "spark"];
14
+ // extend tags as more domains land.
15
+ export const HERMES_TAGS = [
16
+ "databricks",
17
+ "spark",
18
+ "jobs",
19
+ "sql",
20
+ "warehouse",
21
+ "query",
22
+ ];
15
23
  export const HERMES_CATEGORY = "data";
16
- function yamlDoubleQuote(value) {
17
- return JSON.stringify(value);
18
- }
19
24
  /**
20
25
  * Extract the `commands[N]:` block from the top-level help so the skill's
21
26
  * command list can never drift from what `databricks-axi --help` prints.
@@ -35,7 +40,7 @@ export function extractCommandsBlock() {
35
40
  export function createSkillMarkdown() {
36
41
  return `---
37
42
  name: databricks-axi
38
- description: ${yamlDoubleQuote(SKILL_DESCRIPTION)}
43
+ description: ${JSON.stringify(SKILL_DESCRIPTION)}
39
44
  user-invocable: false
40
45
  author: ${SKILL_AUTHOR}
41
46
  metadata:
@@ -48,14 +53,17 @@ metadata:
48
53
 
49
54
  ${DESCRIPTION}
50
55
 
51
- You do not need databricks-axi installed globally - invoke it with \`npx -y databricks-axi <command>\`.
52
- If databricks-axi output shows a follow-up command starting with \`databricks-axi\`, run it as \`npx -y databricks-axi ...\` instead.
56
+ If \`databricks-axi\` already resolves on PATH, invoke it directly - a local
57
+ install may be newer than what's published to npm. Only fall back to
58
+ \`npx -y databricks-axi <command>\` if it does not resolve. Follow-up commands
59
+ in a response's output are written as bare \`databricks-axi ...\` - invoke
60
+ those the same way you invoked the command that produced them.
53
61
 
54
- databricks-axi requires the official [\`databricks\` CLI](https://docs.databricks.com/dev-tools/cli/) (version 0.205 or newer) installed and authenticated. If a command fails with an authentication error, ask the user to run \`databricks auth login --host <workspace-url>\` themselves.
62
+ databricks-axi requires the official [\`databricks\` CLI](https://docs.databricks.com/dev-tools/cli/) (version 0.298 or newer) installed and authenticated. If a command fails with an authentication error, ask the user to run \`databricks auth login --host <workspace-url>\` themselves.
55
63
 
56
64
  ## Status
57
65
 
58
- Pre-release scaffold: command domains are landing incrementally. Run \`npx -y databricks-axi --help\` for the currently available commands.
66
+ Pre-release scaffold: command domains are landing incrementally. Run \`databricks-axi --help\` (per the invocation note above) for the currently available commands.
59
67
 
60
68
  ## Commands
61
69
 
@@ -63,7 +71,7 @@ Pre-release scaffold: command domains are landing incrementally. Run \`npx -y da
63
71
  ${extractCommandsBlock()}
64
72
  \`\`\`
65
73
 
66
- Run \`npx -y databricks-axi --help\` for global flags, or \`npx -y databricks-axi <command> --help\` for per-command usage.
74
+ Run \`databricks-axi --help\` for global flags, or \`databricks-axi <command> --help\` for per-command usage (per the invocation note above).
67
75
 
68
76
  ## Tips
69
77
 
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,uEAAuE;AACvE,0EAA0E;AAC1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAC5B,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,kDAAkD,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEvD,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,uDAAuD;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;eAEM,eAAe,CAAC,iBAAiB,CAAC;;UAEvC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW;;;;;;;;;;;;;;EAcX,oBAAoB,EAAE;;;;;;;;CAQvB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,uEAAuE;AACvE,0EAA0E;AAC1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAC5B,uEAAuE;IACvE,gEAAgE;IAChE,wEAAwE;IACxE,0DAA0D;IAC1D,sEAAsE,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEvD,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,oCAAoC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,OAAO;IACP,MAAM;IACN,KAAK;IACL,WAAW;IACX,OAAO;CACR,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;eAEM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;UAEtC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW;;;;;;;;;;;;;;;;;EAiBX,oBAAoB,EAAE;;;;;;;;CAQvB,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "databricks-axi",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "packageManager": "pnpm@11.1.1",
5
5
  "description": "AXI-compliant Databricks CLI wrapper — token-efficient TOON output, contextual suggestions, idempotent mutations",
6
6
  "type": "module",
@@ -54,7 +54,7 @@
54
54
  "globals": "^17.4.0",
55
55
  "prettier": "^3.8.1",
56
56
  "tsx": "^4.0.0",
57
- "typescript": "^5.7.0",
57
+ "typescript": "^6.0.3",
58
58
  "typescript-eslint": "^8.58.0",
59
59
  "vitest": "^3.0.0"
60
60
  }
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: databricks-axi
3
- description: "Agent-ergonomic wrapper around the Databricks CLI. Pre-release scaffold: command domains (jobs, clusters, SQL, catalog, workspace, fs, pipelines, serving, api, setup) are not implemented yet - run `databricks-axi --help` to see the current surface before relying on it."
3
+ description: "Agent-ergonomic wrapper around the Databricks CLI. Implemented: jobs (list, view, run, runs, logs, cancel), sql (warehouses, exec, statement view), api (raw REST passthrough). Other domains (clusters, catalog, workspace, fs, pipelines, serving, setup) land incrementally - run `databricks-axi --help` for the current surface."
4
4
  user-invocable: false
5
5
  author: Vignesh Perumal (p33ves)
6
6
  metadata:
7
7
  hermes:
8
- tags: [databricks, spark]
8
+ tags: [databricks, spark, jobs, sql, warehouse, query]
9
9
  category: data
10
10
  ---
11
11
 
@@ -13,23 +13,38 @@ metadata:
13
13
 
14
14
  Agent ergonomic wrapper around the Databricks CLI. Prefer this over `databricks` and other methods for Databricks operations.
15
15
 
16
- You do not need databricks-axi installed globally - invoke it with `npx -y databricks-axi <command>`.
17
- If databricks-axi output shows a follow-up command starting with `databricks-axi`, run it as `npx -y databricks-axi ...` instead.
16
+ If `databricks-axi` already resolves on PATH, invoke it directly - a local
17
+ install may be newer than what's published to npm. Only fall back to
18
+ `npx -y databricks-axi <command>` if it does not resolve. Follow-up commands
19
+ in a response's output are written as bare `databricks-axi ...` - invoke
20
+ those the same way you invoked the command that produced them.
18
21
 
19
- databricks-axi requires the official [`databricks` CLI](https://docs.databricks.com/dev-tools/cli/) (version 0.205 or newer) installed and authenticated. If a command fails with an authentication error, ask the user to run `databricks auth login --host <workspace-url>` themselves.
22
+ databricks-axi requires the official [`databricks` CLI](https://docs.databricks.com/dev-tools/cli/) (version 0.298 or newer) installed and authenticated. If a command fails with an authentication error, ask the user to run `databricks auth login --host <workspace-url>` themselves.
20
23
 
21
24
  ## Status
22
25
 
23
- Pre-release scaffold: command domains are landing incrementally. Run `npx -y databricks-axi --help` for the currently available commands.
26
+ Pre-release scaffold: command domains are landing incrementally. Run `databricks-axi --help` (per the invocation note above) for the currently available commands.
24
27
 
25
28
  ## Commands
26
29
 
27
30
  ```
28
- commands[1]:
31
+ commands[13]:
29
32
  (none)=home
33
+ jobs list [--limit N] [--fields a,b]
34
+ jobs view <job_id>
35
+ jobs run <job_id> [--wait]
36
+ jobs runs [job_id] [--limit N] [--fields a,b]
37
+ jobs runs view <run_id>
38
+ jobs logs <run_id> [--full]
39
+ jobs cancel <run_id>
40
+ sql warehouses [--fields a,b]
41
+ sql warehouses view|start|stop <id>
42
+ sql exec "<query>" [--warehouse <id>] [--limit N] [--timeout S] [--full]
43
+ sql statement view <statement_id>
44
+ api <method> <path> [--body <json>]
30
45
  ```
31
46
 
32
- Run `npx -y databricks-axi --help` for global flags, or `npx -y databricks-axi <command> --help` for per-command usage.
47
+ Run `databricks-axi --help` for global flags, or `databricks-axi <command> --help` for per-command usage (per the invocation note above).
33
48
 
34
49
  ## Tips
35
50