@inference/cli 0.0.20-beta.321 → 0.0.21-beta.522

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 (2) hide show
  1. package/README.md +60 -8
  2. package/package.json +13 -10
package/README.md CHANGED
@@ -63,6 +63,7 @@ inf dashboard
63
63
  inf auth login # Sign in via browser (device authorization flow)
64
64
  inf auth logout # Sign out and clear stored credentials
65
65
  inf auth status # Show current authentication status
66
+ inf auth whoami # Show which user and team the CLI is currently authenticated as
66
67
  inf auth set-key <key> # Set an API key for CI/headless use
67
68
  ```
68
69
 
@@ -74,6 +75,35 @@ inf project switch <id> # Set the active project
74
75
  inf project current # Show the currently active project
75
76
  ```
76
77
 
78
+ ### Team Management
79
+
80
+ A **team** is 1:1 with an organization on Inference.net. Commands that talk to the API scope to a team via a request header, so switching teams is a local, instant operation — no re-authentication required.
81
+
82
+ ```bash
83
+ inf team list # List teams you belong to (marks the active one)
84
+ inf team current # Show the currently active team
85
+ inf team switch <id-or-slug> # Set the active team (ID, slug, or name)
86
+ inf team create <name> # Create a team (and default project); both become active
87
+ inf team invite <email> # Invite a member to the active team
88
+ inf team invite <email> --role admin # Invite as admin (default role: member)
89
+ ```
90
+
91
+ Team management commands (`list`, `current`, `switch`, `create`, `invite`) require session auth via `inf auth login`, not an API key. `inf team switch <id-or-slug>` is the one place slugs/names get resolved (it fetches your team list first) — the global `-t, --team <id>` flag and `INF_TEAM_ID` only accept a real team ID, since they skip that lookup for speed.
92
+
93
+ ### API Key Management
94
+
95
+ ```bash
96
+ inf api-key create <name> --project <id> # Create a project-scoped key (defaults: active project, read+write)
97
+ inf api-key create <name> --project <id> --permissions read # Read-only key
98
+ inf api-key create <name> --project <id> --team <id> # Create under a specific team
99
+ inf api-key list # List keys for the active team
100
+ inf api-key list --team <id> # List keys for a specific team
101
+ inf api-key revoke <id> # Revoke a key
102
+ inf api-key revoke <id> --team <id> # Revoke under a specific team
103
+ ```
104
+
105
+ The raw key value is shown only once, at creation — save it immediately.
106
+
77
107
  ### Instrument (Automated Observability Setup)
78
108
 
79
109
  ```bash
@@ -189,13 +219,14 @@ The dashboard provides a tabbed interface for browsing training runs, evals, dat
189
219
 
190
220
  ## Global Options
191
221
 
192
- | Flag | Description |
193
- | -------------------- | --------------------------------------------- |
194
- | `--json` | Output results as JSON (useful for scripting) |
195
- | `-v, --verbose` | Enable verbose debug output |
196
- | `-p, --project <id>` | Override the active project for this command |
197
- | `--version` | Show the CLI version |
198
- | `--help` | Show help |
222
+ | Flag | Description |
223
+ | --------------------------- | ---------------------------------------------------------- |
224
+ | `--json` | Output results as JSON (useful for scripting) |
225
+ | `-v, --verbose` | Enable verbose debug output |
226
+ | `-p, --project <id>` | Override the active project for this command |
227
+ | `-t, --team <id>` | Override the active team for this command (team ID) |
228
+ | `--version` | Show the CLI version |
229
+ | `--help` | Show help |
199
230
 
200
231
  ## Configuration
201
232
 
@@ -212,6 +243,8 @@ Stored at `~/.inf/config.json`. Managed automatically by `inf auth` commands.
212
243
  | `INF_UI_URL` | Web app URL (for device auth) | Derived from API URL |
213
244
  | `INF_API_KEY` | Scoped platform key for headless/CI auth | |
214
245
  | `INF_PROJECT_ID` | Override the selected project when a key can access multiple projects | |
246
+ | `INF_TEAM_ID` | Override the active team (team ID; use `inf team switch <id-or-slug>` to resolve a slug/name once) | |
247
+ | `INF_CONFIG_DIR` | Override where `~/.inf/config.json` is stored (primarily for test isolation) | `~/.inf` |
215
248
 
216
249
  ### Priority Order
217
250
 
@@ -289,6 +322,24 @@ The workflow can also repair a partial stable release. If `@inference/cli` alrea
289
322
 
290
323
  ### Releasing A New Version
291
324
 
325
+ #### Option A — Auto-bump from CI (recommended)
326
+
327
+ Trigger the workflow manually and let CI bump the version for you:
328
+
329
+ 1. Run `workflow_dispatch` on the branch you want to release from
330
+ (`development` for beta, `main` for stable).
331
+ 2. Set `semver_action` to `patch`, `minor`, or `major`.
332
+ 3. The `bump-version` job runs `npx semver -i`, then
333
+ `scripts/sync-versions.ts` so the main package and all four platform
334
+ manifests move together, commits the result, and pushes a
335
+ `release-inf-cli-<version>-<sha>` tag back to the dispatched branch.
336
+ 4. The same run then builds and publishes the bumped version.
337
+
338
+ Leave `semver_action=none` (the default) to publish the already-committed
339
+ version without bumping.
340
+
341
+ #### Option B — Bump manually
342
+
292
343
  1. Choose the next stable version.
293
344
  2. Sync all committed CLI manifests to that version.
294
345
 
@@ -304,8 +355,9 @@ bun scripts/sync-versions.ts 0.0.9
304
355
 
305
356
  ### Manual Runs
306
357
 
358
+ - `workflow_dispatch` takes a `semver_action` input (`none`/`patch`/`minor`/`major`); anything other than `none` bumps, commits, and tags the new version on the dispatched branch before publishing
307
359
  - `workflow_dispatch` with `dry_run=false` always attempts a publish on `development` or `main`
308
- - Set `dry_run=true` to validate the full build and packaging path without publishing to npm
360
+ - Set `dry_run=true` to validate the full build and packaging path without publishing to npm; a dry run computes and builds the bumped version but does not push the bump commit or tag, so it stays side-effect-free
309
361
  - Pushes to `development` always publish a fresh beta release when this workflow is triggered
310
362
  - Set `dry_run=false` only on `development` or `main`
311
363
  - Manual runs from other branches are rejected by the workflow
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inference/cli",
3
- "version": "0.0.20-beta.321",
3
+ "version": "0.0.21-beta.522",
4
4
  "description": "Inference.net CLI - manage training runs, evals, datasets, and inferences from your terminal",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,10 +26,10 @@
26
26
  "ai"
27
27
  ],
28
28
  "optionalDependencies": {
29
- "@inference/cli-darwin-arm64": "0.0.20-beta.321",
30
- "@inference/cli-darwin-x64": "0.0.20-beta.321",
31
- "@inference/cli-linux-x64": "0.0.20-beta.321",
32
- "@inference/cli-linux-arm64": "0.0.20-beta.321"
29
+ "@inference/cli-darwin-arm64": "0.0.21-beta.522",
30
+ "@inference/cli-darwin-x64": "0.0.21-beta.522",
31
+ "@inference/cli-linux-x64": "0.0.21-beta.522",
32
+ "@inference/cli-linux-arm64": "0.0.21-beta.522"
33
33
  },
34
34
  "scripts": {
35
35
  "build": "bun run clean:bin && bun run build:cli",
@@ -45,13 +45,16 @@
45
45
  "clean:bin": "rm -rf bin/inf",
46
46
  "clean:npm": "rm -f npm/cli-darwin-arm64/bin/inf npm/cli-darwin-x64/bin/inf npm/cli-linux-x64/bin/inf npm/cli-linux-arm64/bin/inf",
47
47
  "dev": "bun src/index.ts",
48
- "format": "prettier --check .",
49
- "format:fix": "prettier --write .",
50
- "lint": "eslint",
51
- "lint:fix": "eslint --fix",
48
+ "format": "oxfmt --check .",
49
+ "format:fix": "oxfmt --write .",
50
+ "lint": "ROOT=\"$(git rev-parse --show-toplevel)/inference\" && \"$ROOT/node_modules/.bin/oxlint\" --type-aware",
51
+ "lint:fix": "ROOT=\"$(git rev-parse --show-toplevel)/inference\" && \"$ROOT/node_modules/.bin/oxlint\" --type-aware --fix",
52
52
  "tsc": "tsc --build",
53
53
  "test": "bun run test:unit",
54
- "test:unit": "bun test $(find ./tests/unit -name '*.test.ts' ! -name '*.vitest.test.ts') && bun run test:vitest",
54
+ "test:unit": "vitest run --config vitest.unit.config.mts",
55
55
  "test:vitest": "vitest run --config vitest.unit.config.mts"
56
+ },
57
+ "dependencies": {
58
+ "react": "19.2.7"
56
59
  }
57
60
  }