flowviant 0.92.0 → 0.92.1
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 +2 -2
- package/bin/cli.mjs +7 -3
- package/bin/lib/childEnv.mjs +1 -0
- package/bin/lib/config.mjs +13 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ It shows a short code. Open your project's **Workbench** in Flowviant and enter
|
|
|
38
38
|
Prefer an explicit token? Create a machine credential in the app and pass it directly:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
|
|
41
|
+
FLOWVIANT_MACHINE_TOKEN=fva_… npx flowviant@latest # FLOWVIANT_FLEET still works
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Launch with `@latest` so each start pulls the newest published version — a bare `npx flowviant` can reuse a stale cache. A running daemon also keeps itself current: from **0.58.0** it restarts itself through `npx flowviant@latest` when a new version ships, so npx launches stay up to date the same way a global install does. (Before 0.58.0 that was only true of a global install — under npx the daemon printed a notice and stayed put, which is how machines ended up sitting several releases back.) It only ever restarts when no turn is running. `FLOWVIANT_NO_UPDATE=1` makes it nag-only; `flowviant update` updates now.
|
|
@@ -65,7 +65,7 @@ The daemon never executes anything the repository declares. An earlier version r
|
|
|
65
65
|
|
|
66
66
|
| Env | What runs |
|
|
67
67
|
| --- | --- |
|
|
68
|
-
| _(stored login)_ or `FLOWVIANT_FLEET` | **the daemon** — the project's machine, serving its sessions |
|
|
68
|
+
| _(stored login)_ or `FLOWVIANT_MACHINE_TOKEN` (`FLOWVIANT_FLEET` still read) | **the daemon** — the project's machine, serving its sessions |
|
|
69
69
|
| `FLOWVIANT_SAFE=1` | restrict the toolset instead of running unattended |
|
|
70
70
|
|
|
71
71
|
## Not freezing the box
|
package/bin/cli.mjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* ONE mode, one credential:
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* FLOWVIANT_MACHINE_TOKEN=fva_… npx flowviant@latest # the machine daemon, headless
|
|
9
9
|
*
|
|
10
10
|
* `FLOWVIANT_TOKEN` (one worker, current checkout) and `FLOWVIANT_TOKENS` (a
|
|
11
11
|
* comma list, one worktree each) stood beside it until 2026-08-19. Both ran the
|
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
* because a daemon on another computer is invisible from here.
|
|
47
47
|
*
|
|
48
48
|
* Env:
|
|
49
|
-
*
|
|
49
|
+
* FLOWVIANT_MACHINE_TOKEN the machine credential (or use `flowviant login`);
|
|
50
|
+
* `FLOWVIANT_FLEET` is the old name and still works.
|
|
50
51
|
* FLOWVIANT_API_URL default https://api.flowviant.com/api
|
|
51
52
|
* FLOWVIANT_MCP_URL default <API_URL>/mcp
|
|
52
53
|
* FLOWVIANT_FLEET_URL default <API_URL>/fleet/agents
|
|
@@ -358,7 +359,10 @@ const interactive = canPrompt() && process.env.FLOWVIANT_REEXEC !== '1';
|
|
|
358
359
|
* asked). What was left was a person reading a list being told "no answer
|
|
359
360
|
* in 60s — nothing started". A prompt a person can see waits for the
|
|
360
361
|
* person; tty.mjs's header carries the argument. */
|
|
361
|
-
const externalToken =
|
|
362
|
+
const externalToken =
|
|
363
|
+
process.argv.includes('--fleet') ||
|
|
364
|
+
Boolean(process.env.FLOWVIANT_MACHINE_TOKEN) ||
|
|
365
|
+
Boolean(process.env.FLOWVIANT_FLEET);
|
|
362
366
|
|
|
363
367
|
/** Re-exec a plain `flowviant` after an inline login — the login command's own
|
|
364
368
|
* pattern: config.mjs read the store at IMPORT time, before the credential
|
package/bin/lib/childEnv.mjs
CHANGED
|
@@ -160,6 +160,7 @@ export function childEnv({ cwd, extra, deploy = false } = {}) {
|
|
|
160
160
|
* purpose: the default is what almost every caller gets, and the sample is
|
|
161
161
|
* about the default. */
|
|
162
162
|
export const DROPPED_SAMPLE = [
|
|
163
|
+
'FLOWVIANT_MACHINE_TOKEN',
|
|
163
164
|
'FLOWVIANT_FLEET',
|
|
164
165
|
'FLOWVIANT_FLEET_URL',
|
|
165
166
|
'FLOWVIANT_API_URL',
|
package/bin/lib/config.mjs
CHANGED
|
@@ -290,8 +290,20 @@ export const PROCESS_STARTED_AT = new Date(
|
|
|
290
290
|
// ambiguous store with a picker, adoptStoredCredential updates every importer
|
|
291
291
|
// before the daemon touches the network. Everything before that point (the
|
|
292
292
|
// resolution, the flags) is settled synchronously at import, as it always was.
|
|
293
|
+
// THE VARIABLE IS NAMED FOR WHAT IT IS (2026-09-21): `FLOWVIANT_MACHINE_TOKEN`.
|
|
294
|
+
// The owner met `FLOWVIANT_FLEET=… npx flowviant` in the app's headless
|
|
295
|
+
// credential panel and asked "what is flowviant fleet?" — a fair question,
|
|
296
|
+
// because a FLEET was a pool of worker lanes deleted 2026-08-19 and the word
|
|
297
|
+
// now names nothing a person can see. `FLOWVIANT_FLEET` stays as the fallback
|
|
298
|
+
// forever: a CI runner somewhere may have it in its secrets, and a rename that
|
|
299
|
+
// silently stops a headless box from authenticating is the substitution class
|
|
300
|
+
// this codebase floors everything against.
|
|
293
301
|
export let FLEET_TOKEN =
|
|
294
|
-
argFlag('--fleet') ||
|
|
302
|
+
argFlag('--fleet') ||
|
|
303
|
+
process.env.FLOWVIANT_MACHINE_TOKEN ||
|
|
304
|
+
process.env.FLOWVIANT_FLEET ||
|
|
305
|
+
CREDENTIAL.entry?.fleetToken ||
|
|
306
|
+
'';
|
|
295
307
|
|
|
296
308
|
/**
|
|
297
309
|
* WHICH PROJECT THIS DAEMON SERVES, or null when nothing on this box names one.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowviant",
|
|
3
|
-
"version": "0.92.
|
|
3
|
+
"version": "0.92.1",
|
|
4
4
|
"description": "Run your own coding CLIs as build agents for Flowviant \u2014 Claude Code, Codex or Antigravity, on your own credentials. Holds your sessions, keeps a worktree per tab, and ships branches on your word.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|