@iicp/client 0.7.106 → 0.7.108
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 +33 -5
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +34 -3
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/restricted_directory.d.ts +7 -0
- package/dist/restricted_directory.d.ts.map +1 -0
- package/dist/restricted_directory.js +53 -0
- package/dist/restricted_directory.js.map +1 -0
- package/dist/restricted_membership.d.ts +18 -0
- package/dist/restricted_membership.d.ts.map +1 -0
- package/dist/restricted_membership.js +120 -0
- package/dist/restricted_membership.js.map +1 -0
- package/dist/runtime_identity.js +1 -1
- package/dist/runtime_identity.js.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/updater.d.ts +9 -6
- package/dist/updater.d.ts.map +1 -1
- package/dist/updater.js +105 -15
- package/dist/updater.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ npm install @iicp/client@latest
|
|
|
35
35
|
## One-line test
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
npm install -g @iicp/client@
|
|
38
|
+
npm install -g @iicp/client@0.7.107 --registry=https://registry.npmjs.org
|
|
39
39
|
iicp-node query "Hello, mesh."
|
|
40
40
|
```
|
|
41
41
|
|
|
@@ -44,7 +44,7 @@ What good looks like:
|
|
|
44
44
|
```bash
|
|
45
45
|
iicp-node --help # shows query, serve, proxy, mcp-gateway, credits, ...
|
|
46
46
|
which iicp-node # points to your Node/npm environment
|
|
47
|
-
iicp-node --version # prints iicp-node 0.7.
|
|
47
|
+
iicp-node --version # prints iicp-node 0.7.108 or newer
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
The query command contacts the public directory, discovers a matching live node,
|
|
@@ -88,6 +88,18 @@ them. The context is rebuilt on fallback, never includes endpoints, tokens,
|
|
|
88
88
|
node identities, candidate sets or scores, and is not a prompt-injection
|
|
89
89
|
security boundary.
|
|
90
90
|
|
|
91
|
+
## Restricted trust-domain verification foundation
|
|
92
|
+
|
|
93
|
+
The package exports strict, fixture-backed verifiers for the pre-normative
|
|
94
|
+
restricted trust-domain membership and authenticated-gossip envelopes. They
|
|
95
|
+
validate bounded Ed25519/JCS assertions and fail closed on malformed,
|
|
96
|
+
expired, revoked-generation, wrong-domain or replayed evidence.
|
|
97
|
+
|
|
98
|
+
This is a verification foundation, not a claim that the TypeScript runtime
|
|
99
|
+
already provides complete private/CUG operation. Peer admission, credential
|
|
100
|
+
lifecycle, private discovery, no-public-fallback behavior and supervised
|
|
101
|
+
restart evidence remain separate integration work.
|
|
102
|
+
|
|
91
103
|
Raw `submit()` calls and non-chat intents are unchanged. Disable or require the
|
|
92
104
|
chat context explicitly:
|
|
93
105
|
|
|
@@ -146,6 +158,17 @@ not silently fall back to anonymous dispatch if consumer-token acquisition
|
|
|
146
158
|
fails. The default remains `"optional"`; `"disabled"` skips token
|
|
147
159
|
acquisition.
|
|
148
160
|
|
|
161
|
+
### Restricted trust-domain directories
|
|
162
|
+
|
|
163
|
+
Restricted operation is opt-in and fail closed. Supply a
|
|
164
|
+
`restricted_directory` context with membership material resolved from an
|
|
165
|
+
environment variable or a caller-owned provider function. The SDK does not
|
|
166
|
+
persist that material in browser storage. It sends the credential only to the
|
|
167
|
+
configured directory, refuses redirects and legacy discovery fallback, and
|
|
168
|
+
accepts candidates or tokens only after a matching, current operation decision.
|
|
169
|
+
Public behavior is unchanged when the context is absent. Peer-gossip and CIP
|
|
170
|
+
worker participation are not part of this SDK surface.
|
|
171
|
+
|
|
149
172
|
### Experimental local candidate rankers
|
|
150
173
|
|
|
151
174
|
Library users may attach a `CandidateRanker` to test a learned or
|
|
@@ -178,7 +201,7 @@ const reply = await new IicpClient().chat([
|
|
|
178
201
|
Existing OpenAI-compatible tools:
|
|
179
202
|
|
|
180
203
|
```bash
|
|
181
|
-
npm install -g @iicp/client@
|
|
204
|
+
npm install -g @iicp/client@0.7.107 --registry=https://registry.npmjs.org
|
|
182
205
|
iicp-node proxy
|
|
183
206
|
export OPENAI_BASE_URL=http://127.0.0.1:9483/v1
|
|
184
207
|
```
|
|
@@ -188,7 +211,7 @@ base URL. Full guide: <https://iicp.network/docs/proxy>
|
|
|
188
211
|
|
|
189
212
|
## Keep provider nodes current
|
|
190
213
|
|
|
191
|
-
The current public release line is **0.7.
|
|
214
|
+
The current public release line is **0.7.108**. Upgrade through your package
|
|
192
215
|
manager before troubleshooting an older installation. Routing profiles can
|
|
193
216
|
refuse remote dispatch before a prompt leaves the client; use `sensitive` for
|
|
194
217
|
local-only work, `eu-restricted` for EU/EEA routing, or `strict-policy` when a
|
|
@@ -196,8 +219,12 @@ no-retention policy manifest is required.
|
|
|
196
219
|
|
|
197
220
|
Provider nodes run an hourly official-registry check by default
|
|
198
221
|
(`IICP_AUTO_UPDATE=1`, `IICP_AUTO_UPDATE_INTERVAL_S=3600`; minimum 300s).
|
|
222
|
+
Failed candidates use persisted, bounded retry backoff (up to 24 hours) instead
|
|
223
|
+
of being reinstalled every check. The non-sensitive retry status is stored under
|
|
224
|
+
`$IICP_HOME/state/update-status.json`; `IICP_UPDATE_STATE_FILE` overrides that
|
|
225
|
+
path for managed or test environments.
|
|
199
226
|
When npm publishes a newer stable release, `serve` runs
|
|
200
|
-
`npm install -g @iicp/client@
|
|
227
|
+
`npm install -g @iicp/client@X.Y.Z --registry=https://registry.npmjs.org` and re-execs the node so identity and cached
|
|
201
228
|
node tokens are preserved.
|
|
202
229
|
|
|
203
230
|
If an older supervised node does not update itself, perform one manual upgrade
|
|
@@ -659,6 +686,7 @@ npm run build # emit to dist/
|
|
|
659
686
|
- [Agent bootstrap guide](https://github.com/RobLe3/IICP/blob/main/docs/agent-bootstrap.md) — connect a consumer or provider agent
|
|
660
687
|
- [Implementation registry](https://github.com/RobLe3/IICP/blob/main/IMPLEMENTATIONS.md) — supported and preview components
|
|
661
688
|
- [Node setup guide](https://iicp.network/docs/node-setup) — run your own node
|
|
689
|
+
- [CLI examples](https://iicp.network/docs/cli-examples) — copyable `iicp-node` tasks and operator recipes
|
|
662
690
|
- [Error reference](https://iicp.network/docs/error-reference) — all error codes
|
|
663
691
|
- [iicp-client-python](https://github.com/RobLe3/iicp-client-python) — Python SDK
|
|
664
692
|
- [iicp-client-rust](https://github.com/RobLe3/iicp-client-rust) — Rust SDK
|
package/dist/cli.js
CHANGED
|
@@ -80,7 +80,7 @@ function startProviderAutoUpdate(options = {}) {
|
|
|
80
80
|
const tick = () => {
|
|
81
81
|
void (async () => {
|
|
82
82
|
try {
|
|
83
|
-
await u.autoUpdateTick(current, await u.latestNpmVersion(), true, () => u.performSelfUpdate(), () => u.reexecCli(), logFn);
|
|
83
|
+
await u.autoUpdateTick(current, await u.latestNpmVersion(), true, (version) => u.performSelfUpdate(version), () => u.reexecCli(), logFn);
|
|
84
84
|
}
|
|
85
85
|
catch (err) {
|
|
86
86
|
u.recordUpdateCheck(null, err instanceof Error ? err.name : "Error");
|