@hlix/cli 1.0.4 → 1.1.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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var e="@hlix/cli",i="1.0.4",n="SEE LICENSE IN LICENSE",r="Hlix Code and the hlix control-plane CLI.",a=["hlix","cli","agents"],l="https://hlix.ai",p="module",o="./dist/index.js",b={hlix:"./bin/hlix"},c=["bin","install.cjs","dist","skills","LICENSE","THIRD_PARTY_NOTICES"],u={node:">=22.19.0"},d={access:"public"},m={build:"rm -rf dist && bun build src/index.ts --outdir dist --target node --format esm --splitting --packages external --minify --banner '#!/usr/bin/env node'",test:'bun test src --path-ignore-patterns "**/*.integration.test.ts" --timeout 20000',typecheck:"tsc --noEmit",prepublishOnly:"bun run typecheck && bun run build && bun run test","test:integration":"NODE_ENV=test bun run ../../apps/backend/scripts/with-aimock.ts -- bun run ../../apps/backend/scripts/with-test-db.ts -- bun test --isolate --preload ../../apps/backend/test/helpers/pool-lifecycle.ts --timeout 60000 .integration.test.ts","build:binary":"bun run scripts/build-binary.ts","test:binary":"bun run build:binary && HLIX_TEST_BINARY=dist-native/hlix bun test src/__tests__/binary.test.ts --timeout 60000 && bun run scripts/smoke-binary.ts","test:integration:binary":"bun run build:binary && HLIX_TEST_BINARY=dist-native/hlix NODE_ENV=test bun run ../../apps/backend/scripts/with-aimock.ts -- bun run ../../apps/backend/scripts/with-test-db.ts -- bun test --isolate --preload ../../apps/backend/test/helpers/pool-lifecycle.ts --timeout 60000 src/__tests__/auth.integration.test.ts"},h={"@agentclientprotocol/sdk":"1.8.0","@earendil-works/pi-tui":"1.3.0","@mastra/acp":"^0.4.2","@mastra/core":"1.78.0","@mastra/docker":"^0.11.0","@mastra/libsql":"1.26.2","@mastra/mcp":"2.4.1","@mastra/memory":"1.38.0","dinero.js":"2.0.2",ignore:"7.0.12","jsonc-parser":"3.3.1","openapi-fetch":"^0.17.0","smol-toml":"1.9.1",yaml:"2.9.1",zod:"4.6.7"},y={"@hlix/sdk":"^1.0.0","@hlix/shared":"*","@types/bun":"latest",typescript:"^7.0.2"},k={name:e,version:i,license:n,description:r,keywords:a,homepage:l,type:p,main:o,bin:b,files:c,engines:u,publishConfig:d,scripts:m,dependencies:h,devDependencies:y};export{b as bin,k as default,h as dependencies,r as description,y as devDependencies,u as engines,c as files,l as homepage,a as keywords,n as license,o as main,e as name,d as publishConfig,m as scripts,p as type,i as version};
2
+ var e="@hlix/cli",i="1.1.0",n="SEE LICENSE IN LICENSE",r="Hlix Code and the hlix control-plane CLI.",a=["hlix","cli","agents"],l="https://hlix.ai",p="module",o="./dist/index.js",b={hlix:"./bin/hlix"},c=["bin","install.cjs","dist","skills","LICENSE","THIRD_PARTY_NOTICES"],u={node:">=22.19.0"},d={access:"public"},m={build:"rm -rf dist && bun build src/index.ts --outdir dist --target node --format esm --splitting --packages external --minify --banner '#!/usr/bin/env node'",test:'bun test src --path-ignore-patterns "**/*.integration.test.ts" --timeout 20000',typecheck:"tsc --noEmit",prepublishOnly:"bun run typecheck && bun run build && bun run test","test:integration":"NODE_ENV=test bun run ../../apps/backend/scripts/with-aimock.ts -- bun run ../../apps/backend/scripts/with-test-db.ts -- bun test --isolate --preload ../../apps/backend/test/helpers/pool-lifecycle.ts --timeout 60000 .integration.test.ts","build:binary":"bun run scripts/build-binary.ts","test:binary":"bun run build:binary && HLIX_TEST_BINARY=dist-native/hlix bun test src/__tests__/binary.test.ts --timeout 60000 && bun run scripts/smoke-binary.ts","test:integration:binary":"bun run build:binary && HLIX_TEST_BINARY=dist-native/hlix NODE_ENV=test bun run ../../apps/backend/scripts/with-aimock.ts -- bun run ../../apps/backend/scripts/with-test-db.ts -- bun test --isolate --preload ../../apps/backend/test/helpers/pool-lifecycle.ts --timeout 60000 src/__tests__/auth.integration.test.ts"},h={"@agentclientprotocol/sdk":"1.8.0","@earendil-works/pi-tui":"1.3.0","@mastra/acp":"^0.4.2","@mastra/core":"1.79.0","@mastra/docker":"^0.11.0","@mastra/libsql":"1.26.2","@mastra/mcp":"2.4.1","@mastra/memory":"1.38.0","dinero.js":"2.0.2",ignore:"7.0.12","jsonc-parser":"3.3.1","openapi-fetch":"^0.17.0","smol-toml":"1.9.1",yaml:"2.9.1",zod:"4.6.7"},y={"@hlix/sdk":"^2.0.0","@hlix/shared":"*","@types/bun":"latest",typescript:"^7.0.2"},k={name:e,version:i,license:n,description:r,keywords:a,homepage:l,type:p,main:o,bin:b,files:c,engines:u,publishConfig:d,scripts:m,dependencies:h,devDependencies:y};export{b as bin,k as default,h as dependencies,r as description,y as devDependencies,u as engines,c as files,l as homepage,a as keywords,n as license,o as main,e as name,d as publishConfig,m as scripts,p as type,i as version};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hlix/cli",
3
- "version": "1.0.4",
3
+ "version": "1.1.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "Hlix Code and the hlix control-plane CLI.",
6
6
  "keywords": [
@@ -43,7 +43,7 @@
43
43
  "@agentclientprotocol/sdk": "1.8.0",
44
44
  "@earendil-works/pi-tui": "1.3.0",
45
45
  "@mastra/acp": "^0.4.2",
46
- "@mastra/core": "1.78.0",
46
+ "@mastra/core": "1.79.0",
47
47
  "@mastra/docker": "^0.11.0",
48
48
  "@mastra/libsql": "1.26.2",
49
49
  "@mastra/mcp": "2.4.1",
@@ -57,15 +57,15 @@
57
57
  "zod": "4.6.7"
58
58
  },
59
59
  "devDependencies": {
60
- "@hlix/sdk": "^1.0.0",
60
+ "@hlix/sdk": "^2.0.0",
61
61
  "@hlix/shared": "*",
62
62
  "@types/bun": "latest",
63
63
  "typescript": "^7.0.2"
64
64
  },
65
65
  "optionalDependencies": {
66
- "@hlix/cli-darwin-arm64": "1.0.4",
67
- "@hlix/cli-darwin-x64": "1.0.4",
68
- "@hlix/cli-linux-x64": "1.0.4",
69
- "@hlix/cli-linux-arm64": "1.0.4"
66
+ "@hlix/cli-darwin-arm64": "1.1.0",
67
+ "@hlix/cli-darwin-x64": "1.1.0",
68
+ "@hlix/cli-linux-x64": "1.1.0",
69
+ "@hlix/cli-linux-arm64": "1.1.0"
70
70
  }
71
71
  }
@@ -53,11 +53,18 @@ Every command resolves its workspace and API through one chain, highest first:
53
53
 
54
54
  1. an explicit flag (`--workspace`, `--base-url`)
55
55
  2. the `HLIX_*` environment
56
- 3. the nearest `.hlix/config.json`, walking up from the working directory
56
+ 3. the nearest `hlix.yml`, walking up from the working directory
57
57
  4. the stored credential
58
58
  5. the built-in default (`https://server.hlix.ai`)
59
59
 
60
- The folder's binding therefore outranks the machine-wide credential: a folder
60
+ The folder's binding is the `hlix:` block in that file: workspace and project
61
+ id. `hlix.api` is optional. When it is absent, the folder uses
62
+ `https://server.hlix.ai`, and that host outranks the stored credential. `init`
63
+ and `import` write `hlix.api` only when the server is a different host. A file
64
+ that already names the production server keeps that line. Commands read
65
+ `hlix.yml` only. A folder that still has just `.hlix/config.json` is not bound;
66
+ `hlix init` copies that binding into `hlix.yml`. The binding outranks the
67
+ machine-wide credential: a folder
61
68
  bound to workspace A is queried against workspace A even when the last login
62
69
  named workspace B. A flag or environment variable that **contradicts** the
63
70
  folder's binding is not resolved by precedence — it exits `workspace_mismatch`
@@ -77,8 +84,8 @@ hlix config get <dockerImage|harness|memoryTokens|model|sandbox|yolo> [--json]
77
84
  hlix config set <dockerImage|harness|memoryTokens|model|sandbox|yolo> <value> [--global] [--json]
78
85
  ```
79
86
 
80
- Two files, one shape, and the folder wins per key: the machine-wide
81
- `~/.hlix/config.json` and this folder's `.hlix/config.json`. `config list`
87
+ `hlix.yml` sets `coder` and `local` for this folder. A field it leaves out comes
88
+ from the machine-wide `~/.hlix/hlix.yml`. The folder wins per field. `config list`
82
89
  names the source of every value — `project`, `global`, or `default` when no
83
90
  file sets it — and where it applies. The stored credential stays at
84
91
  `~/.config/hlix/credentials.json` and is not part of this cascade.
@@ -94,10 +101,11 @@ and python3 but no bun) and `--docker-image <ref>` sets it for one session.
94
101
  before summarizing — the number the session footer counts against, 200000 by
95
102
  default. `yolo` is `true` or `false`: `true` runs every tool — writes, shell
96
103
  commands, `hlix_*` calls, MCP tools — without asking for approval, and the
97
- session footer says `yolo` while it is on. `config set` writes this folder unless
98
- `--global` is given, and leaves every other key in the file untouched. It
99
- refuses `projectId`, `workspaceId` and `apiUrl` — those bind a folder to a
100
- tenant and are written by `init` and `import`.
104
+ session footer says `yolo` while it is on. `config set` writes this folder's `hlix.yml` unless `--global` is given, and
105
+ leaves every other field in the file untouched. `--global` writes
106
+ `~/.hlix/hlix.yml`. It refuses `projectId`, `workspaceId` and `apiUrl`.
107
+ Those live in the `hlix:` block of `hlix.yml`, which `init` and `import` write.
108
+ `hlix.api` is omitted when the server is `https://server.hlix.ai`.
101
109
 
102
110
  ## Project secrets
103
111
 
@@ -149,7 +157,7 @@ tracks**, because an exported file is plaintext and must not become a commit.
149
157
  `--format` re-renders a source as another shape; omitted, it keeps the shape
150
158
  the values were parsed as.
151
159
 
152
- Secrets are agency-only on every route. A client collaborator gets `forbidden`.
160
+ Secrets are agency-only on every route. A portal client gets `forbidden`.
153
161
 
154
162
  ## Dispatching work
155
163
 
@@ -266,7 +274,7 @@ Branch on `error.code`, never on `error.message`. Codes: `unauthenticated`,
266
274
  `forbidden`, `not_found`, `conflict`, `invalid_request`, `bad_request`,
267
275
  `rate_limited`, `not_implemented`, `server_error`, `unreachable`,
268
276
  `missing_argument`, `invalid_usage`, `approval_required`, `cancelled`, `unknown_command`,
269
- `workspace_mismatch`, `not_initialized`, `scan_blocked`,
277
+ `workspace_mismatch`, `not_initialized`, `invalid_project_file`, `scan_blocked`,
270
278
  `workspace_required`, `invalid_base_url`, `missing_credential`, `unknown`.
271
279
 
272
280
  That list is the complete set — `skill.test.ts` compares it against every code