@ours.network/fleet 1.2.0-nightly.1 → 1.2.0-nightly.3

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 CHANGED
@@ -80,7 +80,7 @@ The state dir contract:
80
80
  |---|---|---|
81
81
  | Node ≥ 22 | runs `ours-fleet` and its maintained adapters | nodejs.org, `apt`, or `brew` |
82
82
  | a harness CLI, logged in | the agent itself | e.g. Claude Code (`claude`) or Codex CLI (`codex`) |
83
- | `ours` CLI + shared daemon | identity + agent-to-agent messaging | `npm i -g @ours.network/cli && ours daemon start` |
83
+ | `ours` CLI + shared daemon | identity + agent-to-agent messaging | `npm i -g @ours.network/cli@2.8.1-nightly.7 @ours.network/daemon@3.8.1-nightly.1 && ours-daemon start` |
84
84
 
85
85
  Linux only: `ours-fleet init` enables *linger* so roles run without a login session
86
86
  and survive reboots. macOS: launchd agents start **at login** (no linger
@@ -1653,7 +1653,7 @@ After building Fleet with the selected SDK and CLI artifacts installed, run
1653
1653
  `npm run test:v1-recovery` in an isolated Docker container with external networking
1654
1654
  disabled. The existing test covers retry and terminal failure cases using a
1655
1655
  temporary daemon and no authenticated AI harness. By default both daemon and
1656
- token-update commands use `node_modules/@ours.network/cli/dist/cli.js`;
1656
+ token-update commands use `node_modules/@ours.network/daemon/dist/cli.js`;
1657
1657
  `FLEET_DAEMON_CLI` and `FLEET_TOKEN_CLI` can select explicitly prepared CLI entries.
1658
1658
  These package checks do not replace native Fleet/harness or platform acceptance.
1659
1659
 
@@ -1678,3 +1678,22 @@ under identical input names and versions, plus a missing-vendor negative check):
1678
1678
  ```sh
1679
1679
  node scripts/check-build-selected.mjs --sdk /artifacts/ours.network-sdk-3.7.2.tgz --cli /artifacts/ours.network-cli-2.7.2.tgz
1680
1680
  ```
1681
+
1682
+ ### Remote clients over HTTPS
1683
+
1684
+ A client may select an `https://` origin backed by a TLS reverse proxy. Keep the
1685
+ daemon listener private and configure the proxy separately with a certificate
1686
+ trusted by the client and matching the hostname. Node uses its normal trust
1687
+ store; a private CA may be supplied through `NODE_EXTRA_CA_CERTS` before starting
1688
+ the client. Certificate verification must remain enabled.
1689
+
1690
+ The existing issued client credential works over either transport; changing the
1691
+ URL scheme does not require a new credential. Keep the server's master on the
1692
+ server. Forward `x-ours-api-token` and the `x-ours-*` session headers unchanged,
1693
+ and support streamed request/response bodies and long polling. Client requests
1694
+ refuse redirects, including HTTPS-to-HTTP redirects: configure the final HTTPS
1695
+ origin directly. UUID/capability checks still precede credential-bearing calls.
1696
+
1697
+ This adds client HTTPS support, not an HTTPS daemon listener, certificate
1698
+ provisioning or automatic reverse-proxy configuration. Existing local HTTP and
1699
+ SSH-tunnel profiles continue to work.
@@ -118,7 +118,7 @@ export async function recoverAgentIdentity(session, identity) {
118
118
  const unsubscribe = session.subscribeConversation(event => events.push(event));
119
119
  try {
120
120
  const queued = await session.queuePrompt([
121
- '[fleet-recovery] The shared ours daemon restarted.',
121
+ '[fleet-recovery] The shared ours-daemon restarted.',
122
122
  `Call ours choose_identity with name ${JSON.stringify(identity)} and force false.`,
123
123
  'Then call current_identity, then get_messages. Complete all three in that order.',
124
124
  'Do not create/delete identities, force-bind, interrupt, or restart any service/session.',
@@ -1,9 +1,9 @@
1
1
  {
2
- "version": "1.2.0-nightly.1",
3
- "buildId": "1e4449b7d64e",
4
- "commit": "79fb01a75d39a721491c789b857f892c7c9d000f",
2
+ "version": "1.2.0-nightly.3",
3
+ "buildId": "2a8eea26f2b1",
4
+ "commit": "892adea95e96f4b2a2e4adf850fe409fe1705eda",
5
5
  "dirty": true,
6
- "builtAt": "2026-09-18T12:07:17.159Z",
6
+ "builtAt": "2026-09-21T09:07:12.483Z",
7
7
  "capabilities": [
8
8
  "monitor.interrupt.after_tool"
9
9
  ]
@@ -97,9 +97,9 @@ export function readClientProfile(env) {
97
97
  catch {
98
98
  throw invalid(configPath, 'has an invalid endpoint');
99
99
  }
100
- if (url.protocol !== 'http:' || url.username || url.password || url.pathname !== '/'
100
+ if ((url.protocol !== 'http:' && url.protocol !== 'https:') || url.username || url.password || url.pathname !== '/'
101
101
  || url.search || url.hash)
102
- throw invalid(configPath, 'endpoint must be a local HTTP origin');
102
+ throw invalid(configPath, 'endpoint must be an HTTP or HTTPS origin');
103
103
  const expectedInstanceId = row.expectedInstanceId.trim();
104
104
  if (!LOWERCASE_UUID.test(expectedInstanceId))
105
105
  throw invalid(configPath, 'expectedInstanceId must be a lowercase UUID');
package/dist/doctor.js CHANGED
@@ -286,7 +286,7 @@ export async function doctor(opts = {}, exec = realExec, platform = process.plat
286
286
  catch (error) {
287
287
  checks.push({
288
288
  name: 'ours daemon', ok: false,
289
- detail: `not reachable through the SDK — start it with: ours daemon start `
289
+ detail: `not reachable through the SDK — start it with: ours-daemon start `
290
290
  + `[${error?.message ?? String(error)}]`,
291
291
  });
292
292
  }
@@ -478,7 +478,7 @@ export async function doctor(opts = {}, exec = realExec, platform = process.plat
478
478
  catch (e) {
479
479
  const target = selected?.endpoint ?? `:${endpoint.port}`;
480
480
  detail = `unreachable on ${target} — monitored roles run degraded until it is up ` +
481
- `(start it: ours daemon start) [${e?.message ?? e}]`;
481
+ `(start it: ours-daemon start) [${e?.message ?? e}]`;
482
482
  }
483
483
  checks.push({ name: checkName, ok, detail });
484
484
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ours.network/fleet",
3
- "version": "1.2.0-nightly.1",
3
+ "version": "1.2.0-nightly.3",
4
4
  "description": "Harness-agnostic fleet of persistent, identity-bound AI agents. Declarative fleet.yaml, managed native/ACP sessions, supervision, and ours.network messaging.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -41,8 +41,8 @@
41
41
  "@agentclientprotocol/sdk": "^1.3.0",
42
42
  "@fastify/static": "^10.1.2",
43
43
  "@fastify/websocket": "^11.2.0",
44
- "@ours.network/cli": "2.8.1-nightly.1",
45
- "@ours.network/sdk": "3.8.1-nightly.3",
44
+ "@ours.network/cli": "2.8.1-nightly.7",
45
+ "@ours.network/sdk": "3.8.1-nightly.9",
46
46
  "commander": "^12.1.0",
47
47
  "fastify": "^5.4.0",
48
48
  "react": "^19.1.1",
@@ -63,6 +63,7 @@
63
63
  "@types/ws": "^8.18.1",
64
64
  "typescript": "^5.5.0",
65
65
  "vite": "^7.0.6",
66
- "vitest": "^2.0.0"
66
+ "vitest": "^2.0.0",
67
+ "@ours.network/daemon": "3.8.1-nightly.1"
67
68
  }
68
69
  }