flowviant 0.79.0 → 0.80.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.
package/bin/cli.mjs CHANGED
@@ -26,7 +26,7 @@
26
26
  * running?", which otherwise ends in a pid hunt through `ps`.
27
27
  *
28
28
  * The daemon: install ONCE with a machine credential, then work entirely from
29
- * Flowviant. It polls GET /api/v2/fleet/agents, and the roster hands it the
29
+ * Flowviant. It polls GET /api/fleet/agents, and the roster hands it the
30
30
  * project's SESSIONS — the Workbench's tabs. Each session gets one persistent
31
31
  * git worktree on its own `session/<id>` branch, held across turns (never reset
32
32
  * to base: the branch outlives the tab). A turn spawns the session's CLI with a
@@ -44,7 +44,7 @@
44
44
  *
45
45
  * Env:
46
46
  * FLOWVIANT_FLEET the machine credential (or use `flowviant login`).
47
- * FLOWVIANT_API_URL default https://api.flowviant.com/api/v2
47
+ * FLOWVIANT_API_URL default https://api.flowviant.com/api
48
48
  * FLOWVIANT_MCP_URL default <API_URL>/mcp
49
49
  * FLOWVIANT_FLEET_URL default <API_URL>/fleet/agents
50
50
  * RECONCILE_SECONDS roster poll cadence (default 10)
@@ -41,7 +41,28 @@ function argFlag(name) {
41
41
  return i >= 0 ? process.argv[i + 1] : undefined;
42
42
  }
43
43
 
44
- const API_BASE = process.env.FLOWVIANT_API_URL || 'https://api.flowviant.com/api/v2';
44
+ /**
45
+ * THE SERVER'S API ROOT.
46
+ *
47
+ * `/api`, not `/api/v2`. The server collapsed its two prefixes into one
48
+ * namespace on 2026-09-08 — they had held DISJOINT resources and neither was
49
+ * ever a version of the other, so there was nothing to choose between.
50
+ *
51
+ * ── DEPLOY ORDER IS NOW LOAD-BEARING FOR THIS LINE ──
52
+ *
53
+ * A daemon on this version calls `/api/fleet/agents`. An older SERVER does not
54
+ * serve that path, so publishing this release before the server that answers it
55
+ * 404s the roster poll for anyone who updates. The order in the app repo's
56
+ * ARCHITECTURE.md already says it and now it matters: deploy `flowviant-api`
57
+ * FIRST, publish this SECOND. The same applies to a rollback — rolling the
58
+ * server back past that merge strands every daemon at this version or newer.
59
+ *
60
+ * The other direction is safe and needs nothing: the server keeps `/api/v2` as
61
+ * an alias onto the same router precisely because every daemon published before
62
+ * this one has that string baked in and cannot be upgraded by a deploy. That
63
+ * alias retires when the app's `DAEMON_MIN_VERSION` clears this release.
64
+ */
65
+ const API_BASE = process.env.FLOWVIANT_API_URL || 'https://api.flowviant.com/api';
45
66
  export const MCP_URL = process.env.FLOWVIANT_MCP_URL || `${API_BASE}/mcp`;
46
67
  export const FLEET_URL = process.env.FLOWVIANT_FLEET_URL || `${API_BASE}/fleet/agents`;
47
68
  // Push channel: the daemon holds this WebSocket open and the server nudges it
package/bin/lib/fleet.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Fleet daemon. Install ONCE with a fleet credential; manage everything from
3
- * Flowviant. The daemon polls GET /api/v2/fleet/agents, reconciles one persistent
3
+ * Flowviant. The daemon polls GET /api/fleet/agents, reconciles one persistent
4
4
  * git worktree + worker loop per roster agent, rotates each worker's short-lived
5
5
  * MCP token, and only spawns Claude when the server says an agent has work.
6
6
  */
package/bin/lib/vault.mjs CHANGED
@@ -6,7 +6,7 @@
6
6
  * private `git init` so every pass is versioned locally for free — the user's
7
7
  * repository is never touched.
8
8
  *
9
- * Sync protocol (POST /api/v2/fleet/wiki-vault, fleet-token auth): only files
9
+ * Sync protocol (POST /api/fleet/wiki-vault, fleet-token auth): only files
10
10
  * whose sha256 changed since the last successful sync are uploaded, chunked;
11
11
  * the LAST request carries the finalize.manifest of a completed full sweep so
12
12
  * the server prunes pages the sweep no longer has. The last-synced hashes live
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowviant",
3
- "version": "0.79.0",
3
+ "version": "0.80.0",
4
4
  "description": "Run your own coding CLIs as build agents for Flowviant — 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": {