@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.
- package/README.md +60 -8
- 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
|
|
193
|
-
|
|
|
194
|
-
| `--json`
|
|
195
|
-
| `-v, --verbose`
|
|
196
|
-
| `-p, --project <id>`
|
|
197
|
-
|
|
|
198
|
-
| `--
|
|
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.
|
|
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.
|
|
30
|
-
"@inference/cli-darwin-x64": "0.0.
|
|
31
|
-
"@inference/cli-linux-x64": "0.0.
|
|
32
|
-
"@inference/cli-linux-arm64": "0.0.
|
|
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": "
|
|
49
|
-
"format:fix": "
|
|
50
|
-
"lint": "
|
|
51
|
-
"lint: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": "
|
|
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
|
}
|