@iicp/client 0.7.2 → 0.7.5

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
@@ -134,27 +134,61 @@ const stop = node.serve(async (task) => {
134
134
  process.on("SIGINT", () => { stop(); });
135
135
  ```
136
136
 
137
+ ### Listen port — default 9484, auto-increment (v0.7.5+)
138
+
139
+ The official IICP port **9484** is the default listen port (`IICP_PORT`, `--port`).
140
+ The `iicp-node` CLI auto-increments to the next free port when 9484 is already in
141
+ use, so several nodes on one host don't need hand-picked ports — first binds 9484,
142
+ second 9485, third 9486, etc. Each node gets its own port (hence its own NAT
143
+ pinhole); multiple models on one node share that single port. Auto-increment is
144
+ skipped when you pass an explicit `--public-endpoint`. `node.serve(handler, { port })`
145
+ uses the port you give it as-is (no auto-increment at the library level).
146
+
137
147
  ---
138
148
 
139
- ## NAT traversal — v0.7.0
149
+ ## NAT traversal — automatic (v0.7.3+)
150
+
151
+ Since v0.7.3, NAT detection runs automatically on every node startup — no flags needed.
152
+ The SDK tries each path in order and picks the best one for your network:
140
153
 
141
- IICP nodes pick the best available NAT path automatically (ADR-041):
154
+ | Tier | When | What happens |
155
+ |------|------|-------------|
156
+ | **0** | VPS/cloud (public IP on NIC) or `IICP_PUBLIC_ENDPOINT` set | Registers directly |
157
+ | **1a** | Home router with UPnP, no CGNAT | Port-forward via UPnP → register WAN IP |
158
+ | **1b** | CGNAT + IPv6 + AddPinhole works | Registers IPv6 with firewall rule |
159
+ | **1c** | CGNAT + IPv6 + AddPinhole fails (e.g. FRITZ!Box error 606) | Registers IPv6 + logs guidance |
160
+ | **3** | CGNAT + no usable IPv6 | Auto-elects relay from directory |
161
+ | **4** | Nothing worked | Serves locally with operator guidance |
142
162
 
143
- | Tier | Method | Requirement |
144
- |------|--------|-------------|
145
- | 0 | Direct — publicly routable | Open port 8020 |
146
- | 1 | UPnP/IGD port mapping | Home router with UPnP |
147
- | 2 | IPv6 firewall pinhole | IPv6 + UPnP/IGD2 |
148
- | 3 | **Relay-as-last-resort** | A relay operator in the mesh |
163
+ ### Environment-specific behaviour
149
164
 
150
- **Relay-as-last-resort** lets a node behind CGNAT stay reachable by binding an outbound
151
- channel to a public relay node that forwards inbound tasks down it.
165
+ **Docker bridge (`-p 8020:8020`)** UPnP is skipped (it would reach Docker NAT, not your
166
+ home router). Set `IICP_PUBLIC_ENDPOINT` in `docker-compose.yml`:
167
+
168
+ ```yaml
169
+ environment:
170
+ IICP_PUBLIC_ENDPOINT: "http://your-host-ip:8020"
171
+ IICP_BACKEND_URL: "http://host.docker.internal:11434"
172
+ ```
173
+
174
+ Or run with `--network host` to let UPnP work as on bare metal.
175
+
176
+ **Kubernetes** — set `IICP_PUBLIC_ENDPOINT` to the LoadBalancer / NodePort IP.
177
+
178
+ **CGNAT + no IPv6 → automatic relay:**
179
+
180
+ ```
181
+ [iicp-node] NAT tier=3: auto-electing relay from directory...
182
+ [iicp-node] auto-elected relay: relay.example.com:9485
183
+ ```
184
+
185
+ The node connects outbound to the elected relay and re-registers automatically.
186
+ To use a specific relay: `IICP_RELAY_WORKER_ENDPOINT=relay.example.com:9485`.
152
187
 
153
188
  ### Running a relay-capable node (relay operator)
154
189
 
155
190
  ```typescript
156
191
  const node = new IicpNode({
157
- nodeId : "relay-eu-01",
158
192
  endpoint : "http://relay.example.com:8020",
159
193
  intent : "urn:iicp:intent:llm:chat:v1",
160
194
  relayCapable : true, // accept RELAY_BIND on TCP port 9485
@@ -163,21 +197,14 @@ const node = new IicpNode({
163
197
  });
164
198
  ```
165
199
 
166
- ### Node behind CGNAT (connects outbound to relay)
200
+ ### Opt-out / override
167
201
 
168
- ```typescript
169
- const node = new IicpNode({
170
- nodeId : "cgnat-worker-001",
171
- endpoint : "http://placeholder", // overwritten on bind
172
- intent : "urn:iicp:intent:llm:chat:v1",
173
- relayWorkerEndpoint : "relay.example.com:9485", // outbound target
174
- // or: env IICP_RELAY_WORKER_ENDPOINT=relay.example.com:9485
175
- });
202
+ ```bash
203
+ IICP_AUTO_DETECT_NAT=false # disable detection entirely
204
+ IICP_PUBLIC_ENDPOINT=http://x.x.x.x:8020 # trust this endpoint
205
+ IICP_RELAY_WORKER_ENDPOINT=host:9485 # specific relay instead of auto-elect
176
206
  ```
177
207
 
178
- When the worker binds it re-registers with the relay's public address
179
- (`transport_method: "turn_relay"`), making it discoverable.
180
-
181
208
  ---
182
209
 
183
210
  ## SDK conformance
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA6fA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFlF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA0nBA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFlF"}
package/dist/cli.js CHANGED
@@ -21,6 +21,7 @@ exports.main = main;
21
21
  */
22
22
  const node_util_1 = require("node:util");
23
23
  const node_crypto_1 = require("node:crypto");
24
+ const net = require("node:net");
24
25
  const node_child_process_1 = require("node:child_process");
25
26
  const readline = require("node:readline/promises");
26
27
  const node_process_1 = require("node:process");
@@ -64,7 +65,7 @@ function printHelp() {
64
65
  ` --intent URN IICP_INTENT (default urn:iicp:intent:llm:chat:v1)\n` +
65
66
  ` --max-concurrent N IICP_MAX_CONCURRENT (default 4)\n` +
66
67
  ` --node-id ID IICP_NODE_ID (auto-generated if absent)\n` +
67
- ` --port N IICP_PORT (default 8020)\n` +
68
+ ` --port N IICP_PORT (default 9484)\n` +
68
69
  ` --host HOST IICP_HOST (default 0.0.0.0)\n` +
69
70
  ` --skip-registration IICP_SKIP_REGISTRATION — register-free dev mode\n` +
70
71
  ` --auto-detect-nat IICP_AUTO_DETECT_NAT — run NAT detection at startup\n` +
@@ -182,8 +183,8 @@ async function runInit() {
182
183
  const directory = await ask(rl, "IICP directory URL", "https://iicp.network/api");
183
184
  const region = await ask(rl, "Region tag", "eu-central");
184
185
  const intent = await ask(rl, "Intent URN", "urn:iicp:intent:llm:chat:v1");
185
- const portStr = await ask(rl, "Listen port", "8020");
186
- const port = parseInt(portStr, 10) || 8020;
186
+ const portStr = await ask(rl, "Listen port", "9484");
187
+ const port = parseInt(portStr, 10) || 9484;
187
188
  const host = await ask(rl, "Bind host", "0.0.0.0");
188
189
  const publicEndpoint = await ask(rl, "Public endpoint URL (blank = dev mode)");
189
190
  const autoDetectNatStr = (await ask(rl, "Auto-detect NAT via UPnP/STUN? [y/N]", "n")).toLowerCase();
@@ -244,6 +245,80 @@ function runList() {
244
245
  }
245
246
  return 0;
246
247
  }
248
+ // ── serve helpers ───────────────────────────────────────────────────────────
249
+ /** Query directory for relay-capable peers and elect one deterministically.
250
+ * Used when NAT detection returns tier≥3 (CGNAT + no usable IPv6).
251
+ * Returns [relayHost, relayPort] or null if no relay-capable peer is found.
252
+ */
253
+ async function _autoElectRelay(directoryUrl, intent, nodeId) {
254
+ try {
255
+ const url = `${directoryUrl.replace(/\/$/, "")}/v1/discover?intent=${encodeURIComponent(intent)}&relay_capable=true`;
256
+ const resp = await fetch(url, { signal: AbortSignal.timeout(5000) });
257
+ if (!resp.ok)
258
+ return null;
259
+ const data = await resp.json();
260
+ const candidates = (data.nodes ?? []).filter((n) => n.relay_capable && n.endpoint);
261
+ if (!candidates.length)
262
+ return null;
263
+ const { createHash } = await import("node:crypto");
264
+ const scored = candidates.map((c) => ({
265
+ c,
266
+ score: [
267
+ Number(c.load ?? 0),
268
+ createHash("sha256").update(`${nodeId}:${String(c.node_id)}`).digest("hex"),
269
+ ],
270
+ }));
271
+ scored.sort((a, b) => {
272
+ if (a.score[0] !== b.score[0])
273
+ return a.score[0] - b.score[0];
274
+ return a.score[1] < b.score[1] ? -1 : 1;
275
+ });
276
+ const elected = scored[0].c;
277
+ const endpoint = String(elected.endpoint ?? "").replace(/\/$/, "");
278
+ const u = new URL(endpoint.startsWith("http") ? endpoint : `http://${endpoint}`);
279
+ const relayHost = u.hostname;
280
+ const relayPort = elected.relay_accept_port ?? 9485;
281
+ if (!relayHost)
282
+ return null;
283
+ return [relayHost, relayPort];
284
+ }
285
+ catch {
286
+ return null;
287
+ }
288
+ }
289
+ /**
290
+ * Return the first bindable TCP port >= `start` on `host`.
291
+ *
292
+ * The official IICP port 9484 is the starting point; when running multiple
293
+ * nodes on one host (each model on its own port → its own pinhole) the second
294
+ * node auto-increments to 9485, the third to 9486, and so on. Probes by
295
+ * attempting a real listen so the chosen port is genuinely free before NAT
296
+ * detection opens a pinhole and the directory registration advertises it.
297
+ */
298
+ function findAvailablePort(host, start, maxTries = 64) {
299
+ const bindHost = host === "" || host === "0.0.0.0" ? "0.0.0.0" : host;
300
+ return new Promise((resolve) => {
301
+ let candidate = start;
302
+ const tryBind = () => {
303
+ if (candidate >= start + maxTries) {
304
+ resolve(start); // exhausted — let serve() surface the real bind error
305
+ return;
306
+ }
307
+ const srv = net.createServer();
308
+ srv.once("error", () => {
309
+ srv.close();
310
+ candidate += 1;
311
+ tryBind();
312
+ });
313
+ srv.once("listening", () => {
314
+ const chosen = candidate;
315
+ srv.close(() => resolve(chosen));
316
+ });
317
+ srv.listen(candidate, bindHost);
318
+ };
319
+ tryBind();
320
+ });
321
+ }
247
322
  // ── serve ───────────────────────────────────────────────────────────────────
248
323
  function applySavedNode(opts, saved) {
249
324
  return {
@@ -256,7 +331,7 @@ function applySavedNode(opts, saved) {
256
331
  intent: opts.intent || saved.intent,
257
332
  nodeId: opts.nodeId || saved.node_id,
258
333
  maxConcurrent: opts.maxConcurrent === 4 ? saved.max_concurrent : opts.maxConcurrent,
259
- port: opts.port === 8020 ? saved.port : opts.port,
334
+ port: opts.port === 9484 ? saved.port : opts.port,
260
335
  host: opts.host === "0.0.0.0" ? saved.host : opts.host,
261
336
  autoDetectNat: opts.autoDetectNat || saved.auto_detect_nat,
262
337
  externalIpProbeUrl: opts.externalIpProbeUrl || saved.external_ip_probe_url,
@@ -289,6 +364,18 @@ async function runServe(opts) {
289
364
  return 2;
290
365
  }
291
366
  const nodeId = (opts.nodeId || crypto.randomUUID()).slice(0, 36);
367
+ // Resolve the actual listen port before NAT detection: start at the
368
+ // requested port (default 9484, the official IICP port) and auto-increment
369
+ // to the next free port. Keeps one port per node (multiple models share it)
370
+ // while N nodes on one host each get a distinct port → distinct pinhole.
371
+ // Skipped when the operator supplies an explicit --public-endpoint.
372
+ if (!opts.publicEndpoint) {
373
+ const resolvedPort = await findAvailablePort(opts.host, opts.port);
374
+ if (resolvedPort !== opts.port) {
375
+ console.log(`[iicp-node] port ${opts.port} in use — auto-incremented to first free port ${resolvedPort}.`);
376
+ opts.port = resolvedPort;
377
+ }
378
+ }
292
379
  let publicEndpoint = opts.publicEndpoint || `http://localhost:${opts.port}`;
293
380
  // ADR-043 §5 / #343 — Tier-0 IPv6 pinhole attempt. Runs unconditionally
294
381
  // when the operator's public_endpoint is bracketed-IPv6, even without
@@ -315,6 +402,49 @@ async function runServe(opts) {
315
402
  console.warn(`[iicp-node] v6 pinhole attempt failed: ${msg}`);
316
403
  }
317
404
  }
405
+ // ADR-041 / #343 — NAT detection + relay election BEFORE node creation so
406
+ // relay config is available in the IicpNode constructor.
407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
408
+ let natProfile = null;
409
+ if (opts.autoDetectNat) {
410
+ try {
411
+ const { detectNat } = await import("./nat_detection.js");
412
+ natProfile = await detectNat({
413
+ bindHost: opts.host,
414
+ bindPort: opts.port,
415
+ operatorPublicEndpoint: opts.publicEndpoint || undefined,
416
+ externalIpProbeUrl: opts.externalIpProbeUrl || undefined,
417
+ });
418
+ // eslint-disable-next-line no-console
419
+ console.log(`[iicp-node] NAT auto-detect: tier=${natProfile.tier} method=${natProfile.transportMethod} ` +
420
+ `public=${natProfile.publicEndpoint ?? "<none>"} ipv6_pinhole=${natProfile.ipv6?.pinholeActive ?? false}`);
421
+ if (natProfile.publicEndpoint)
422
+ publicEndpoint = natProfile.publicEndpoint;
423
+ // Tier ≥ 3 (CGNAT + no usable IPv6 path) and no relay configured:
424
+ // auto-elect a relay from the directory so we can register via relay.
425
+ if (natProfile.tier >= 3 && !opts.relayWorkerEndpoint) {
426
+ // eslint-disable-next-line no-console
427
+ console.log(`[iicp-node] NAT tier=${natProfile.tier}: auto-electing relay from directory…`);
428
+ const elected = await _autoElectRelay(opts.directoryUrl ?? "https://iicp.network/api", opts.intent, nodeId);
429
+ if (elected) {
430
+ const [relayHost, relayPort] = elected;
431
+ opts = { ...opts, relayWorkerEndpoint: `${relayHost}:${relayPort}` };
432
+ // eslint-disable-next-line no-console
433
+ console.log(`[iicp-node] auto-elected relay: ${relayHost}:${relayPort}`);
434
+ }
435
+ else {
436
+ // eslint-disable-next-line no-console
437
+ console.warn(`[iicp-node] NAT tier=${natProfile.tier}: no relay-capable peers in directory. ` +
438
+ `Set IICP_RELAY_WORKER_ENDPOINT=<host>:<port> to specify a relay manually.`);
439
+ }
440
+ }
441
+ }
442
+ catch (exc) {
443
+ const msg = exc instanceof Error ? exc.message : String(exc);
444
+ // eslint-disable-next-line no-console
445
+ console.warn(`[iicp-node] NAT auto-detect failed: ${msg} — continuing with configured endpoint`);
446
+ }
447
+ }
318
448
  const node = new node_js_1.IicpNode({
319
449
  nodeId,
320
450
  endpoint: publicEndpoint,
@@ -325,8 +455,11 @@ async function runServe(opts) {
325
455
  maxConcurrent: opts.maxConcurrent,
326
456
  relayWorkerEndpoint: opts.relayWorkerEndpoint || undefined,
327
457
  });
328
- // Surface tier-0 declaration to the directory so it doesn't run dial-back.
329
- if (tier0Pinhole && !opts.autoDetectNat) {
458
+ // Apply collected NAT profile (covers both auto-detect and tier-0 IPv6 cases).
459
+ if (natProfile) {
460
+ node.applyNatProfile(natProfile);
461
+ }
462
+ else if (tier0Pinhole) {
330
463
  node.applyNatProfile({
331
464
  tier: 0,
332
465
  transportMethod: "direct",
@@ -339,27 +472,6 @@ async function runServe(opts) {
339
472
  },
340
473
  });
341
474
  }
342
- // ADR-041 / #343 — optional NAT auto-detection prior to register
343
- if (opts.autoDetectNat) {
344
- try {
345
- const { detectNat } = await import("./nat_detection.js");
346
- const profile = await detectNat({
347
- bindHost: opts.host,
348
- bindPort: opts.port,
349
- operatorPublicEndpoint: opts.publicEndpoint || undefined,
350
- externalIpProbeUrl: opts.externalIpProbeUrl || undefined,
351
- });
352
- node.applyNatProfile(profile);
353
- // eslint-disable-next-line no-console
354
- console.log(`[iicp-node] NAT auto-detect: tier=${profile.tier} method=${profile.transportMethod} ` +
355
- `public=${profile.publicEndpoint ?? "<none>"} ipv6_pinhole=${profile.ipv6?.pinholeActive ?? false}`);
356
- }
357
- catch (exc) {
358
- const msg = exc instanceof Error ? exc.message : String(exc);
359
- // eslint-disable-next-line no-console
360
- console.warn(`[iicp-node] NAT auto-detect failed: ${msg} — continuing with configured endpoint`);
361
- }
362
- }
363
475
  const handler = (0, index_js_1.getBackendHandler)(opts.backendType, {
364
476
  baseUrl: opts.backendUrl,
365
477
  model: opts.model,
@@ -493,7 +605,7 @@ async function main(argv = process.argv.slice(2)) {
493
605
  nodeId: values["node-id"] ?? envOr("IICP_NODE_ID") ?? "",
494
606
  port: values.port !== undefined
495
607
  ? parseInt(values.port, 10)
496
- : envInt("IICP_PORT", 8020),
608
+ : envInt("IICP_PORT", 9484),
497
609
  host: values.host ?? envOr("IICP_HOST", "0.0.0.0"),
498
610
  skipRegistration: Boolean(values["skip-registration"]) || envBool("IICP_SKIP_REGISTRATION"),
499
611
  // Default ON — matches Python CLI behaviour; operator must set IICP_AUTO_DETECT_NAT=false to opt out.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/node.js CHANGED
@@ -22,7 +22,7 @@ const HEARTBEAT_INTERVAL_MS = 30_000;
22
22
  const NONCE_TTL_MS = 300_000;
23
23
  // SDK version reported in register payload sdk_version. Update on package
24
24
  // version bumps; checked by tests against package.json.
25
- const SDK_VERSION = "0.7.2";
25
+ const SDK_VERSION = "0.7.5";
26
26
  // ── IicpNode ──────────────────────────────────────────────────────────────────
27
27
  class IicpNode {
28
28
  _cfg;
@@ -351,7 +351,7 @@ class IicpNode {
351
351
  // ── serve() ────────────────────────────────────────────────────────────────
352
352
  serve(handler, options = {}) {
353
353
  const host = options.host ?? "0.0.0.0";
354
- const port = options.port ?? 8020;
354
+ const port = options.port ?? 9484;
355
355
  const nodeToken = options.nodeToken;
356
356
  // Load Prometheus in background (non-blocking)
357
357
  this._ensureProm().catch(() => undefined);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iicp/client",
3
- "version": "0.7.2",
3
+ "version": "0.7.5",
4
4
  "description": "Official TypeScript/JavaScript SDK for the IICP protocol (ADR-016)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",