@ours.network/install 1.2.1-nightly.31 → 1.2.1-nightly.33
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 +26 -3
- package/assets/release-lock.json +10 -10
- package/assets/release.json +3 -3
- package/assets/sources.json +4 -4
- package/lib/setup.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,9 +8,9 @@ This permanent command contains no tunnel credentials or enrollment expiry. On a
|
|
|
8
8
|
|
|
9
9
|
`--disable-fleet-agents-setup` installs the Fleet CLI and saves the choice without opening its agent/model wizard or rewriting existing Fleet configuration. Configure agents in the App after device linking. Complete presets still work unattended; partial presets require a terminal and cannot use `OURS_ASSUME_YES`.
|
|
10
10
|
|
|
11
|
-
The separate `ours-fleet setup-tunnel
|
|
11
|
+
The separate `ours-fleet setup-tunnel <encoded-v2-grant>` step is supported by the pinned Fleet release. Its private App payload remains scoped, signed-root-bound and expiring. Fleet prints its QR and private single-use connection code immediately after successful setup; scan or paste it into the App. `ours-fleet link-device` remains available for additional devices or expired codes. Do not put the expiring tunnel payload in the permanent installer command.
|
|
12
12
|
|
|
13
|
-
Native packages currently provide server-only installation; full Fleet/App onboarding requires the supported gateway (Docker or Podman). The installer refuses unsupported native full-stack setup before changing anything. This
|
|
13
|
+
Native packages currently provide server-only installation; full Fleet/App onboarding requires the supported gateway (Docker or Podman). The installer refuses unsupported native full-stack setup before changing anything. This flow does not add a native gateway.
|
|
14
14
|
|
|
15
15
|
See [one-connection setup, localhost:4050 and systemd migration](GATEWAY_SETUP.md) for the gateway-only client workflow.
|
|
16
16
|
|
|
@@ -624,4 +624,27 @@ Existing installation records keep their ports and identities. A listener acquir
|
|
|
624
624
|
by another process after preflight still causes startup to fail safely; no foreign
|
|
625
625
|
process is stopped and no retained installation is silently moved.
|
|
626
626
|
|
|
627
|
-
Workspace setup pins Fleet `1.2.0-nightly.
|
|
627
|
+
Workspace setup pins Fleet `1.2.0-nightly.44` with its recorded registry integrity. This release includes first-time Fleet setup through the host API for the account App, direct App access to the workspace services with the device credential, v2 positional one-use grants and automatic QR/connection-code output from `ours-fleet setup-tunnel`, optional private file/stdin inputs for legacy v1 payloads, a separate `ours-fleet link-device` command for additional devices, host prerequisite checks before the one-time workspace proof (`setup-tunnel --check`), `setup-tunnel --resume` to finish a setup that stopped after the host saved its private pending setup record (not when the proof's answer was lost, or after the setup window expired with an unconfirmed non-default port), and persists the available Fleet loopback port used by the workspace tunnel. It also accepts a setup-generated configuration left behind after the host enrollment state was removed, runs the host Codex when it is at least as new as the packaged one, offers only the Codex models the signed-in account can use, and removes the temporary setup contact after confirmation. Fleet serves no pages and opens no browser: every screen is in the App. Fleet also serves the workspace notification routes, produces notifications through the server gateway with the imported producer credential, accepts the App's device credential on the notification presence socket so an open App receives no push, and defaults agent wakes to `monitor.interrupt: after_tool` (Hermes: no interrupt; role snapshots saved before this default keep no interrupt). Existing installation identities and configured ports remain retained; a retained-port collision fails safely.
|
|
628
|
+
|
|
629
|
+
### App tunnel setup prerelease sequencing
|
|
630
|
+
|
|
631
|
+
The simplified App flow shows one copyable `ours-fleet setup-tunnel <encoded-v2-grant>`
|
|
632
|
+
command for the installed host, including an SSH session on a VPS. Its argument
|
|
633
|
+
contains only the existing v2 single-use grant (`version`, `appOrigin`, `code`,
|
|
634
|
+
`expiresAt`), never a connector token or broad provider credential. The command can
|
|
635
|
+
appear in shell history and process listings: keep it private and remove it from
|
|
636
|
+
history after use. Base64 is encoding, not encryption. Server-side expiry and
|
|
637
|
+
one-time redemption remain enforced. Fleet checks prerequisites before HTTPS POST
|
|
638
|
+
redemption; it never prints the grant or puts it in a URL, and retains existing
|
|
639
|
+
signed-root binding and scoped connector token-file controls. It prints the QR and
|
|
640
|
+
connection code automatically; the App checks readiness and opens the code field.
|
|
641
|
+
Private `--file`/`--stdin` transports remain optional and are the only transports
|
|
642
|
+
for legacy v1 payloads with long-lived credentials.
|
|
643
|
+
|
|
644
|
+
The nightly installer release manifest selects published Fleet `1.2.0-nightly.44`
|
|
645
|
+
and its actual registry integrity through the normal release manifest/source-policy
|
|
646
|
+
generators. This release includes v2 argument and private-input support. The former
|
|
647
|
+
nightly.41 selection predates this capability. Merge and publish the repinned
|
|
648
|
+
installer before deploying the App; the pin change alone is not an installer
|
|
649
|
+
publication. Existing v1 private-file enrollment remains compatible. The legacy
|
|
650
|
+
App wrapper refuses an older Fleet before reading or redeeming its grant.
|
package/assets/release-lock.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"@ours.network/codex": "1.2.0-nightly.10",
|
|
14
14
|
"@ours.network/cowork": "1.3.3-nightly.20261001.6d49d3a",
|
|
15
15
|
"@ours.network/daemon": "3.8.1-nightly.7",
|
|
16
|
-
"@ours.network/fleet": "1.2.0-nightly.
|
|
16
|
+
"@ours.network/fleet": "1.2.0-nightly.44",
|
|
17
17
|
"@ours.network/mcp": "1.2.0-nightly.10",
|
|
18
18
|
"@ours.network/messenger-server": "1.0.31-nightly.14",
|
|
19
19
|
"@ours.network/notifications": "0.3.1-nightly.1",
|
|
@@ -712,9 +712,9 @@
|
|
|
712
712
|
}
|
|
713
713
|
},
|
|
714
714
|
"node_modules/@fastify/websocket": {
|
|
715
|
-
"version": "11.3.
|
|
716
|
-
"resolved": "https://registry.npmjs.org/@fastify/websocket/-/websocket-11.3.
|
|
717
|
-
"integrity": "sha512-
|
|
715
|
+
"version": "11.3.3",
|
|
716
|
+
"resolved": "https://registry.npmjs.org/@fastify/websocket/-/websocket-11.3.3.tgz",
|
|
717
|
+
"integrity": "sha512-NBJoykKpFwrdX9Ezod1rt30p5NoPFu7vgeuUowSM3JVI5/hFNRPhetqkWMTiF/ifIzctwitbJut1gZ6FDg1mwQ==",
|
|
718
718
|
"funding": [
|
|
719
719
|
{
|
|
720
720
|
"type": "github",
|
|
@@ -1001,9 +1001,9 @@
|
|
|
1001
1001
|
}
|
|
1002
1002
|
},
|
|
1003
1003
|
"node_modules/@ours.network/fleet": {
|
|
1004
|
-
"version": "1.2.0-nightly.
|
|
1005
|
-
"resolved": "https://registry.npmjs.org/@ours.network/fleet/-/fleet-1.2.0-nightly.
|
|
1006
|
-
"integrity": "sha512-
|
|
1004
|
+
"version": "1.2.0-nightly.44",
|
|
1005
|
+
"resolved": "https://registry.npmjs.org/@ours.network/fleet/-/fleet-1.2.0-nightly.44.tgz",
|
|
1006
|
+
"integrity": "sha512-kbtcb8cwqM4cIbEJyLAnG8sOxfrArtm676aex8IggYKQ+EqD487kp7IEJ3jGoVvEClJ8PE13cRolmyV9aSx7QA==",
|
|
1007
1007
|
"license": "FSL-1.1-Apache-2.0",
|
|
1008
1008
|
"dependencies": {
|
|
1009
1009
|
"@agentclientprotocol/sdk": "^1.3.0",
|
|
@@ -2120,9 +2120,9 @@
|
|
|
2120
2120
|
"license": "MIT"
|
|
2121
2121
|
},
|
|
2122
2122
|
"node_modules/hono": {
|
|
2123
|
-
"version": "4.13.
|
|
2124
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.
|
|
2125
|
-
"integrity": "sha512-
|
|
2123
|
+
"version": "4.13.13",
|
|
2124
|
+
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.13.tgz",
|
|
2125
|
+
"integrity": "sha512-CQ46U0ZkAGmbT/4UxdzzGJpacP2IeKgY4a5/tOI9AABbpOMfK739wfDXmv1usCk+3RkKj1hQy4/fjhiwa2xlrA==",
|
|
2126
2126
|
"license": "MIT",
|
|
2127
2127
|
"engines": {
|
|
2128
2128
|
"node": ">=16.9.0"
|
package/assets/release.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"channel": "nightly",
|
|
4
|
-
"installerVersion": "1.2.1-nightly.
|
|
4
|
+
"installerVersion": "1.2.1-nightly.33",
|
|
5
5
|
"packages": {
|
|
6
6
|
"@ours.network/sdk": {
|
|
7
7
|
"version": "3.8.1-nightly.15",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"integrity": "sha512-rIkrtixoHqBfgCKDDCEYFl4W2Zzh0hOw3axX2+GppQ9gYkujKrk9M2KLGoYhu8RwwTMRl497jgMcTBe7UAHCgA=="
|
|
29
29
|
},
|
|
30
30
|
"@ours.network/fleet": {
|
|
31
|
-
"version": "1.2.0-nightly.
|
|
32
|
-
"integrity": "sha512-
|
|
31
|
+
"version": "1.2.0-nightly.44",
|
|
32
|
+
"integrity": "sha512-kbtcb8cwqM4cIbEJyLAnG8sOxfrArtm676aex8IggYKQ+EqD487kp7IEJ3jGoVvEClJ8PE13cRolmyV9aSx7QA=="
|
|
33
33
|
},
|
|
34
34
|
"@ours.network/mcp": {
|
|
35
35
|
"version": "1.2.0-nightly.10",
|
package/assets/sources.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"release": {
|
|
3
3
|
"schema": 1,
|
|
4
4
|
"channel": "nightly",
|
|
5
|
-
"installerVersion": "1.2.1-nightly.
|
|
5
|
+
"installerVersion": "1.2.1-nightly.33",
|
|
6
6
|
"packages": {
|
|
7
7
|
"@ours.network/sdk": {
|
|
8
8
|
"version": "3.8.1-nightly.15",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"integrity": "sha512-rIkrtixoHqBfgCKDDCEYFl4W2Zzh0hOw3axX2+GppQ9gYkujKrk9M2KLGoYhu8RwwTMRl497jgMcTBe7UAHCgA=="
|
|
30
30
|
},
|
|
31
31
|
"@ours.network/fleet": {
|
|
32
|
-
"version": "1.2.0-nightly.
|
|
33
|
-
"integrity": "sha512-
|
|
32
|
+
"version": "1.2.0-nightly.44",
|
|
33
|
+
"integrity": "sha512-kbtcb8cwqM4cIbEJyLAnG8sOxfrArtm676aex8IggYKQ+EqD487kp7IEJ3jGoVvEClJ8PE13cRolmyV9aSx7QA=="
|
|
34
34
|
},
|
|
35
35
|
"@ours.network/mcp": {
|
|
36
36
|
"version": "1.2.0-nightly.10",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
},
|
|
88
88
|
"@ours.network/fleet": {
|
|
89
89
|
"type": "npm",
|
|
90
|
-
"version": "1.2.0-nightly.
|
|
90
|
+
"version": "1.2.0-nightly.44"
|
|
91
91
|
},
|
|
92
92
|
"@ours.network/mcp": {
|
|
93
93
|
"type": "npm",
|
package/lib/setup.mjs
CHANGED
|
@@ -139,7 +139,7 @@ export async function executeSetupPlan(plan, effects, { server = runServerComman
|
|
|
139
139
|
disableFleetAgentsSetup: plan.disableFleetAgentsSetup, preset: true, nonInteractive: !plan.interactive }, effects);
|
|
140
140
|
if (result !== 0) return result;
|
|
141
141
|
}
|
|
142
|
-
if (plan.disableFleetAgentsSetup && plan.integrations?.includes('fleet')) effects.out(info('Fleet is installed. Run ours-fleet setup-tunnel with the
|
|
142
|
+
if (plan.disableFleetAgentsSetup && plan.integrations?.includes('fleet')) effects.out(info('Fleet is installed. Run ours-fleet setup-tunnel with the expiring one-use payload from the App command; a compatible Fleet prints the QR and connection code automatically. Configure agents and models in the App after linking.'));
|
|
143
143
|
effects.out(ok(`Requested ${plan.operation} completed. Existing identities were retained.`));
|
|
144
144
|
if (plan.integrations?.includes('fleet') && !plan.disableFleetAgentsSetup) effects.out(info('Fleet is configured but stopped. Review its settings, then run ours-fleet doctor, ours-fleet config and ours-fleet up.'));
|
|
145
145
|
return 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ours.network/install",
|
|
3
|
-
"version": "1.2.1-nightly.
|
|
3
|
+
"version": "1.2.1-nightly.33",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The all-in-one ours.network installer: one shared daemon, MCP, cowork, Telegram, Fleet initialization, harness plugins, Human identity, progress UI, and guided next steps.",
|
|
6
6
|
"type": "module",
|