@inference/fast 0.0.38 → 0.0.40-beta.89
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 +57 -0
- package/package.json +9 -6
package/README.md
CHANGED
|
@@ -75,3 +75,60 @@ bun run dev -- login
|
|
|
75
75
|
|
|
76
76
|
The dashboard and inference URLs are derived automatically from a localhost
|
|
77
77
|
relay unless explicitly overridden.
|
|
78
|
+
|
|
79
|
+
## Testing integrations
|
|
80
|
+
|
|
81
|
+
Three suites cover the harness integrations:
|
|
82
|
+
|
|
83
|
+
- `bun run test:integration` — hermetic; spawns the CLI against a local mock
|
|
84
|
+
gateway and asserts the exact config every harness writes (all Claude slots,
|
|
85
|
+
pickers, per-agent models, byte-exact `off` restore), plus drift between the
|
|
86
|
+
shipped harnesses and the fast website's integration list. Runs in PR CI via
|
|
87
|
+
`ci:build-and-verify`.
|
|
88
|
+
- `bun run test:e2e` (`tests/auth-flow/`) — the full auth flow against the
|
|
89
|
+
LOCAL stack: a fresh account signs up, the CLI does the real device-code
|
|
90
|
+
login (the test approves the code server-side, no browser), the relay mints
|
|
91
|
+
a machine key through tRPC, and `fast <harness> on` writes config; `logout`
|
|
92
|
+
restores and the disabled key is proven rejected by the gateway. Runs in the
|
|
93
|
+
e2e harness (`[inference] fast-cli auth-flow e2e` job). Needs the local stack
|
|
94
|
+
(`task run-test-harness-headless`) on current code — the CLI's catalog
|
|
95
|
+
schema requires `supported_endpoints` on every model.
|
|
96
|
+
- `.github/workflows/inference--fast-cli-e2e.yml` — live end-to-end against
|
|
97
|
+
**prod** (`api.inference.net`): installs the real harness binaries, connects
|
|
98
|
+
them, and runs a two-turn probe per model — the second turn must reply and
|
|
99
|
+
show a prompt-cache read covering most of the request (the "only the new
|
|
100
|
+
message is uncached" invariant). Runs nightly against the latest
|
|
101
|
+
`@inference/fast@beta` on npm. Prod because this is the release gate for the
|
|
102
|
+
stack users actually hit, and many models are not hosted in dev. Its resolve
|
|
103
|
+
step also carries the live-catalog contract (the CLI's default models must
|
|
104
|
+
be present) so a serving-side catalog change fails the nightly run, not an
|
|
105
|
+
unrelated PR.
|
|
106
|
+
|
|
107
|
+
To test any integration against any model(s) on demand:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
gh workflow run inference--fast-cli-e2e.yml \
|
|
111
|
+
-f harnesses=claude,codex \
|
|
112
|
+
-f models=glm-5.2-fast,kimi-k3-fast \
|
|
113
|
+
-f cli_source=npm-beta \
|
|
114
|
+
-f enable_images=true
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`harnesses=all` and `models=default` (the defaults) run every harness against
|
|
118
|
+
its default models. A model that is not in the prod catalog fails the setup
|
|
119
|
+
job before any install starts. The gateway converts every wire API
|
|
120
|
+
(`/v1/messages`, `/v1/responses`, `/v1/chat/completions`) for every hosted
|
|
121
|
+
model, so any catalog model can pair with any harness.
|
|
122
|
+
|
|
123
|
+
To run the same probe locally against prod with your own harness installs
|
|
124
|
+
(seed a config.json with a machine key first, e.g. by running `fast login`
|
|
125
|
+
against prod once and copying `~/.inference-fast/config.json`):
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
INFERENCE_FAST_CONFIG_DIR=<state-dir-with-config.json> \
|
|
129
|
+
INFERENCE_FAST_RELAY_URL=https://relay.inference.net \
|
|
130
|
+
INFERENCE_FAST_API_URL=https://api.inference.net \
|
|
131
|
+
HARNESS=claude MODEL=claude-haiku-4-5 \
|
|
132
|
+
bun run test:live
|
|
133
|
+
# add ENABLE_IMAGES=true MODEL_VISION=true to include the image probe
|
|
134
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inference/fast",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.40-beta.89",
|
|
4
4
|
"description": "Connect coding agents to fast Inference.net models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"pi"
|
|
25
25
|
],
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"@inference/fast-darwin-arm64": "0.0.
|
|
28
|
-
"@inference/fast-darwin-x64": "0.0.
|
|
29
|
-
"@inference/fast-linux-x64": "0.0.
|
|
30
|
-
"@inference/fast-linux-arm64": "0.0.
|
|
27
|
+
"@inference/fast-darwin-arm64": "0.0.40-beta.89",
|
|
28
|
+
"@inference/fast-darwin-x64": "0.0.40-beta.89",
|
|
29
|
+
"@inference/fast-linux-x64": "0.0.40-beta.89",
|
|
30
|
+
"@inference/fast-linux-arm64": "0.0.40-beta.89"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "bun run clean:bin && bun run build:cli",
|
|
@@ -49,6 +49,9 @@
|
|
|
49
49
|
"lint:fix": "cd ../.. && ./node_modules/.bin/oxlint --type-aware --fix --config oxlint.config.mjs apps/fast-cli",
|
|
50
50
|
"tsc": "../../node_modules/typescript-7/bin/tsc --build",
|
|
51
51
|
"test": "vitest run --config vitest.config.ts",
|
|
52
|
-
"test:
|
|
52
|
+
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
53
|
+
"test:integration": "vitest run --config vitest.config.ts tests/integration",
|
|
54
|
+
"test:live": "vitest run --config vitest.live.config.ts",
|
|
55
|
+
"test:unit": "vitest run --config vitest.config.ts tests/unit"
|
|
53
56
|
}
|
|
54
57
|
}
|