@securecoms/agent-bridge 0.30.1 → 0.30.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 +77 -6
- package/dist/bin.d.ts +20 -1
- package/dist/bin.js +413 -63
- package/dist/bridge-agent.d.ts +60 -0
- package/dist/config.d.ts +13 -0
- package/dist/consumer-grants.d.ts +15 -0
- package/dist/grants/binding.d.ts +30 -2
- package/dist/grants/manifest.d.ts +11 -1
- package/dist/grants/search-providers.d.ts +9 -0
- package/dist/http-server.d.ts +2 -0
- package/dist/index.js +266 -32
- package/dist/preflight-upgrade.d.cts +1 -2
- package/dist/preflight.cjs +52 -49
- package/dist/preflight.d.cts +14 -0
- package/dist/service/credential-arg.d.ts +23 -0
- package/dist/service/install.d.ts +7 -0
- package/dist/service/resolve-node.d.ts +1 -0
- package/dist/service/runtime-config-dir.d.ts +4 -0
- package/dist/version.d.ts +1 -1
- package/dist/ws-server.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,13 +35,9 @@ The server still sees ciphertext only. The trust boundary is the machine running
|
|
|
35
35
|
- **Node.js 24 LTS or newer.** The daemon requires >= 24 (node:sqlite stable API).
|
|
36
36
|
- A valid SecureComs agent credential (`agent.json`, `chmod 600`)
|
|
37
37
|
|
|
38
|
-
You don't have to check your Node version yourself. The installer
|
|
38
|
+
You don't have to check your Node version yourself. The installer checks it before anything else runs. On an older Node it says so plainly, and on macOS it offers to install Node 24 from nodejs.org after asking you. That step needs your computer's administrator password. It checks the download's published SHA-256 checksum before running it.
|
|
39
39
|
|
|
40
|
-
To install Node 24
|
|
41
|
-
|
|
42
|
-
1. Official installer (recommended): download the Node 24 LTS installer from [nodejs.org](https://nodejs.org) and run it.
|
|
43
|
-
2. Homebrew (macOS): `brew install node`
|
|
44
|
-
3. nvm: `nvm install 24 && nvm use 24`
|
|
40
|
+
To install Node 24 yourself, download the Node 24 LTS installer from [nodejs.org](https://nodejs.org) and run it. Then run the install command again.
|
|
45
41
|
|
|
46
42
|
Always re-run the install command after upgrading Node — the background service pins the Node path it was installed with.
|
|
47
43
|
|
|
@@ -935,6 +931,81 @@ copied after the owner's next typed message.
|
|
|
935
931
|
|
|
936
932
|
---
|
|
937
933
|
|
|
934
|
+
## Release notes: 0.30.3
|
|
935
|
+
|
|
936
|
+
<!-- [COPY, approved by Eric 2026-10-17 (search release notes) and 2026-10-16 (held items); adapted to 0.30.3 on 2026-10-18] -->
|
|
937
|
+
|
|
938
|
+
0.30.3 enforces the owner's signed search provider and daily limit, gates the
|
|
939
|
+
new page reading tool, and keeps older runtimes from using a provider the
|
|
940
|
+
owner did not sign. Install it together with `@securecoms/agent-runtime`
|
|
941
|
+
0.14.0 and restart both.
|
|
942
|
+
|
|
943
|
+
- **Upgrade the bridge and the runtime together.** An older bridge with a new
|
|
944
|
+
runtime can still use install-time search keys after a search setup
|
|
945
|
+
mismatch.
|
|
946
|
+
- **Signed search settings.** An owner may sign one of five search providers
|
|
947
|
+
(Brave, Tavily, Parallel, Exa, Firecrawl) and a daily search limit from 0 to
|
|
948
|
+
2000 for the private chat. An older bridge reads a manifest with a new
|
|
949
|
+
provider or a limit as invalid and keeps its last good one.
|
|
950
|
+
- **Read web pages.** `web_extract` is offered in the owner's private chat only
|
|
951
|
+
when every attached runtime supports it. An attached harness connector,
|
|
952
|
+
such as OpenClaw or Hermes, turns it off.
|
|
953
|
+
- **Older runtimes.** On an agent whose owner signed any provider other than
|
|
954
|
+
Brave (Tavily included) and that runs an older runtime, web search is
|
|
955
|
+
withheld everywhere until the runtime is updated. The owner sees "Update the
|
|
956
|
+
agent to use this search provider."
|
|
957
|
+
- **No fallback after a mismatch.** When the server's search setting does not
|
|
958
|
+
match the signed provider and no earlier good setting was saved, the agent
|
|
959
|
+
gets the signed provider with no key file, so a new runtime has no search
|
|
960
|
+
instead of using install-time keys.
|
|
961
|
+
- **Linux reinstall.** Install on Linux now restarts a running service, so the
|
|
962
|
+
new version starts.
|
|
963
|
+
- **Release check.** The publish workflow refuses to publish when the live Node
|
|
964
|
+
24 checksum list no longer parses.
|
|
965
|
+
|
|
966
|
+
Each runtime restart on an agent with signed tool settings causes one or two
|
|
967
|
+
extra config refreshes. You do not need to change anything after the upgrade.
|
|
968
|
+
|
|
969
|
+
---
|
|
970
|
+
|
|
971
|
+
## Release notes: 0.30.2
|
|
972
|
+
|
|
973
|
+
<!-- [COPY, approved by Eric 2026-10-15] -->
|
|
974
|
+
|
|
975
|
+
0.30.2 fixes the guided Node upgrade, makes reinstall safe while the agent is
|
|
976
|
+
running, and prints plain messages when the agent cannot start.
|
|
977
|
+
|
|
978
|
+
- **The Node upgrade works again on macOS.** When this computer has an older
|
|
979
|
+
Node, install offers to install Node 24 from nodejs.org. Before 0.30.2 this
|
|
980
|
+
step could not find the installer and stopped without saying why. It now
|
|
981
|
+
finds it, checks its published SHA-256 checksum, and asks first:
|
|
982
|
+
`SecureComs needs Node 24. Install it now from nodejs.org? This needs your
|
|
983
|
+
computer's administrator password. [y/N]`. If the step fails after you say
|
|
984
|
+
yes, it prints: `Couldn't install Node 24 from nodejs.org.`
|
|
985
|
+
- **Homebrew is no longer used.** The guided upgrade always uses the
|
|
986
|
+
nodejs.org installer.
|
|
987
|
+
- **Reinstall while the agent runs.** Install now waits up to 10 seconds for
|
|
988
|
+
the running Connector to stop before it starts the new one. Before, the new
|
|
989
|
+
copy could start too early, find the old copy still running, and stay
|
|
990
|
+
stopped. If the old copy does not stop in time, install starts nothing and
|
|
991
|
+
tells you to run install again.
|
|
992
|
+
- **Plain messages when the agent cannot start.** A missing, unreadable or
|
|
993
|
+
invalid key file, or a bad setting in it, now each print one short line
|
|
994
|
+
that says what to do. File paths are printed only in a terminal, not in the
|
|
995
|
+
service log.
|
|
996
|
+
- **No key file found.** If the copied install command finds no key file, it
|
|
997
|
+
prints: `No key file was found in your Downloads folder. Download the key
|
|
998
|
+
file again from SecureComs, or add --credential <path>.` An empty
|
|
999
|
+
`--credential` no longer falls back to the `SECURECOMS_CREDENTIAL`
|
|
1000
|
+
environment variable.
|
|
1001
|
+
- **Node 24 or newer.** The package now declares `node >= 24`, which the
|
|
1002
|
+
Connector already required to run.
|
|
1003
|
+
|
|
1004
|
+
You do not need to change anything after the upgrade. Run the install command
|
|
1005
|
+
again only if you want the new install behavior now.
|
|
1006
|
+
|
|
1007
|
+
---
|
|
1008
|
+
|
|
938
1009
|
## Release notes: 0.30.1
|
|
939
1010
|
|
|
940
1011
|
<!-- [COPY, approved by Eric 2026-10-14] -->
|
package/dist/bin.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* token, its fingerprint, or its path. This prevents the former
|
|
8
8
|
* `BRIDGE_TOKEN=<value>` leak into journald/launchd logs.
|
|
9
9
|
*/
|
|
10
|
-
import { type BridgeConfig } from "./config.js";
|
|
10
|
+
import { type BridgeConfig, type ConfigErrorReason } from "./config.js";
|
|
11
11
|
import { BridgeAgent } from "./bridge-agent.js";
|
|
12
12
|
import { createHttpServer } from "./http-server.js";
|
|
13
13
|
import { attachAgentWebSocket } from "./ws-server.js";
|
|
@@ -98,8 +98,27 @@ export interface RunModeDeps {
|
|
|
98
98
|
exit(code: number): void;
|
|
99
99
|
/** One line of approved user-facing copy (spec §8). */
|
|
100
100
|
print(line: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Whether stderr is a terminal. Under launchd and systemd stderr IS the
|
|
103
|
+
* service log, so a printed line may carry a path only when this is true
|
|
104
|
+
* (spec 2026-10-15 §5.3 path rule).
|
|
105
|
+
*/
|
|
106
|
+
isTTY: boolean;
|
|
101
107
|
log: ServiceLog;
|
|
102
108
|
}
|
|
109
|
+
export type StartupConfigReason = ConfigErrorReason | "identity_id_invalid" | "bind_refused" | "unknown";
|
|
110
|
+
/**
|
|
111
|
+
* The one human line for a run-mode config refusal (spec 2026-10-15 §5.3,
|
|
112
|
+
* E1-E7 approved; E5 with source=env is the BT-5 draft). The path is shown
|
|
113
|
+
* only on a TTY; `field` is one of the six fixed REQUIRED names. `unknown`
|
|
114
|
+
* has no line. Never built from an error message.
|
|
115
|
+
*/
|
|
116
|
+
export declare function configErrorLine(reason: StartupConfigReason, o: {
|
|
117
|
+
path: string;
|
|
118
|
+
isTTY: boolean;
|
|
119
|
+
field?: string;
|
|
120
|
+
source?: "file" | "env";
|
|
121
|
+
}): string | undefined;
|
|
103
122
|
/**
|
|
104
123
|
* The daemon's run mode (spec §4.1.1). Order, each step gated on the last:
|
|
105
124
|
* 1. loadConfig (+ daemon args, bind check);
|