@iicp/client 0.7.87 → 0.7.89

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.
Files changed (57) hide show
  1. package/README.md +36 -17
  2. package/dist/backend_stability.d.ts.map +1 -1
  3. package/dist/backend_stability.js +26 -0
  4. package/dist/backend_stability.js.map +1 -1
  5. package/dist/backends/index.d.ts +1 -1
  6. package/dist/backends/index.d.ts.map +1 -1
  7. package/dist/backends/index.js +3 -1
  8. package/dist/backends/index.js.map +1 -1
  9. package/dist/backends/meshllm.d.ts +11 -0
  10. package/dist/backends/meshllm.d.ts.map +1 -0
  11. package/dist/backends/meshllm.js +18 -0
  12. package/dist/backends/meshllm.js.map +1 -0
  13. package/dist/cli.d.ts +11 -0
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +267 -9
  16. package/dist/cli.js.map +1 -1
  17. package/dist/client.d.ts +4 -1
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +53 -7
  20. package/dist/client.js.map +1 -1
  21. package/dist/delegation.js +1 -1
  22. package/dist/delegation.js.map +1 -1
  23. package/dist/dispatch_ticket.d.ts +13 -0
  24. package/dist/dispatch_ticket.d.ts.map +1 -0
  25. package/dist/dispatch_ticket.js +27 -0
  26. package/dist/dispatch_ticket.js.map +1 -0
  27. package/dist/index.d.ts +4 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +6 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/node.d.ts +3 -0
  32. package/dist/node.d.ts.map +1 -1
  33. package/dist/node.js +21 -4
  34. package/dist/node.js.map +1 -1
  35. package/dist/profile_compatibility.d.ts +12 -0
  36. package/dist/profile_compatibility.d.ts.map +1 -0
  37. package/dist/profile_compatibility.js +28 -0
  38. package/dist/profile_compatibility.js.map +1 -0
  39. package/dist/recovery.d.ts +6 -0
  40. package/dist/recovery.d.ts.map +1 -1
  41. package/dist/recovery.js +5 -0
  42. package/dist/recovery.js.map +1 -1
  43. package/dist/relay_worker_client.d.ts +3 -0
  44. package/dist/relay_worker_client.d.ts.map +1 -1
  45. package/dist/relay_worker_client.js +11 -0
  46. package/dist/relay_worker_client.js.map +1 -1
  47. package/dist/selection.d.ts +8 -0
  48. package/dist/selection.d.ts.map +1 -0
  49. package/dist/selection.js +20 -0
  50. package/dist/selection.js.map +1 -0
  51. package/dist/tunnel.d.ts +1 -0
  52. package/dist/tunnel.d.ts.map +1 -1
  53. package/dist/tunnel.js +58 -22
  54. package/dist/tunnel.js.map +1 -1
  55. package/dist/types.d.ts +33 -2
  56. package/dist/types.d.ts.map +1 -1
  57. package/package.json +1 -1
package/README.md CHANGED
@@ -39,7 +39,7 @@ What good looks like:
39
39
  ```bash
40
40
  iicp-node --help # shows query, serve, proxy, mcp-gateway, credits, ...
41
41
  which iicp-node # points to your Node/npm environment
42
- iicp-node --version # prints iicp-node 0.7.87 or newer
42
+ iicp-node --version # prints iicp-node 0.7.89 or newer
43
43
  ```
44
44
 
45
45
  The query command contacts the public directory, discovers a matching live node,
@@ -133,17 +133,13 @@ export OPENAI_BASE_URL=http://127.0.0.1:9483/v1
133
133
  Then point LangChain, Cursor, liteLLM or another OpenAI-compatible tool at that
134
134
  base URL. Full guide: <https://iicp.network/docs/proxy>
135
135
 
136
- ## Provider upgrade note
136
+ ## Keep provider nodes current
137
137
 
138
- > **Upgrade note (0.7.80)** clients now support remote-routing policy profiles
139
- > that can refuse unsafe remote dispatch before any prompt leaves the caller.
140
- > Use `--routing-profile sensitive` for fail-closed no-remote behavior,
141
- > `eu-restricted` for EU/EEA node filtering, or `strict-policy` when a
142
- > no-retention node policy manifest is required.
143
- >
144
- > Existing provider reachability fixes from 0.7.79 remain intact.
145
-
146
- ### Keeping provider nodes current
138
+ The current public release line is **0.7.89**. Upgrade through your package
139
+ manager before troubleshooting an older installation. Routing profiles can
140
+ refuse remote dispatch before a prompt leaves the client; use `sensitive` for
141
+ local-only work, `eu-restricted` for EU/EEA routing, or `strict-policy` when a
142
+ no-retention policy manifest is required.
147
143
 
148
144
  Provider nodes run an hourly official-registry check by default
149
145
  (`IICP_AUTO_UPDATE=1`, `IICP_AUTO_UPDATE_INTERVAL_S=3600`; minimum 300s).
@@ -151,12 +147,10 @@ When npm publishes a newer stable release, `serve` runs
151
147
  `npm install -g @iicp/client@latest` and re-execs the node so identity and cached
152
148
  node tokens are preserved.
153
149
 
154
- If a node is older than 0.7.67, perform one manual upgrade/restart first,
155
- especially for Dockerized Python or TypeScript providers: early updater wiring
156
- did not reliably cover every normal `serve` path. For Docker, use a Compose
150
+ If an older supervised node does not update itself, perform one manual upgrade
151
+ and restart through its normal supervisor. For Docker, use a Compose
157
152
  `restart: unless-stopped` policy (or `docker run --restart unless-stopped`) so
158
- 0.7.80 can intentionally exit from a confirmed tunnel-dead state and let Docker
159
- bring it back cleanly.
153
+ verified recovery can restart cleanly.
160
154
 
161
155
  > **Upgrade note (0.5.3)** — if you operate a node and use the native IICP
162
156
  > TCP transport on port 9484, upgrade to `^0.5.3`. Releases 0.5.0–0.5.2
@@ -334,10 +328,27 @@ surface to IICP clients:
334
328
  | `--backend-type` | Handler export | Speaks | Default base URL |
335
329
  |------------------|----------------|--------|------------------|
336
330
  | `openai_compat` *(default)* | `openaiCompatHandler` | OpenAI `/v1/*` dialect (Ollama, LM Studio, OpenAI) | `http://localhost:11434/v1` |
331
+ | `meshllm` | `meshllmHandler` | Stable chat over a local MeshLLM OpenAI `/v1` gateway | `http://localhost:9337/v1` |
337
332
  | `vllm` | `vllmHandler` | OpenAI dialect, tuned for vLLM | `http://localhost:8000/v1` |
338
333
  | `llamacpp` | `llamacppHandler` | OpenAI dialect, tuned for llama.cpp server | `http://localhost:8080/v1` |
339
334
  | `anthropic` | `anthropicHandler` | Anthropic Messages API (`POST /v1/messages`) — first-class Claude | `https://api.anthropic.com/v1` |
340
335
 
336
+ ### MeshLLM
337
+
338
+ MeshLLM is a local OpenAI-compatible backend. Start its local gateway, then choose
339
+ one advertised model explicitly (the stable IICP profile serves chat only):
340
+
341
+ ```bash
342
+ iicp-node serve --backend-type meshllm --model <meshllm-model-id>
343
+ ```
344
+
345
+ The upstream experimental `mesh` ensemble is never selected automatically. Use it
346
+ only with an explicit `--model mesh --experimental` opt-in.
347
+
348
+ MeshLLM remains the local inference runtime. IICP uses its local OpenAI-compatible
349
+ gateway for task execution and does not publish MeshLLM peer or topology details
350
+ through IICP discovery.
351
+
341
352
  #### Native Anthropic backend (v0.7.35+)
342
353
 
343
354
  The `anthropic` backend speaks the Anthropic **Messages API** directly rather than
@@ -473,13 +484,21 @@ IICP_AUTO_DETECT_NAT=false # disable detection entirely
473
484
  IICP_PUBLIC_ENDPOINT=http://x.x.x.x:8020 # trust this endpoint
474
485
  IICP_TUNNEL=0 # opt out of Quick Tunnel fallback
475
486
  IICP_TUNNEL_CREATE_MIN_INTERVAL_S=120 # host-wide Quick Tunnel create pacing
476
- IICP_TUNNEL_DEAD_POLICY=auto # auto|retry|exit|log-only (auto = supervised exit, manual retry)
487
+ IICP_TUNNEL_CREATE_JITTER_MAX_S=15 # randomized suffix after shared deadlines
488
+ IICP_TUNNEL_WAIT_FOR_CAPACITY=1 # default: wait through local/provider cooldowns
489
+ IICP_TUNNEL_DEAD_POLICY=auto # auto|retry|exit|log-only (unrecoverable dead-state policy)
477
490
  IICP_SUPERVISED=1 # set by generated services/Docker so supervisors can restart
478
491
  IICP_AUTO_UPDATE=1 # hourly provider self-update; set 0 to disable
479
492
  IICP_AUTO_UPDATE_INTERVAL_S=3600 # update cadence in seconds; minimum 300
480
493
  IICP_RELAY_WORKER_ENDPOINT=host:9485 # specific relay instead of auto-elect
481
494
  ```
482
495
 
496
+ When several nodes on one host wake or recover together, they share a local creation
497
+ lease and cooldown state. A node waits until the authoritative deadline, then adds a
498
+ small randomized delay before attempting its own Quick Tunnel. This prevents a restart
499
+ storm without advertising an unverified direct route. Set
500
+ `IICP_TUNNEL_WAIT_FOR_CAPACITY=0` only for diagnostics that need the raw cooldown error.
501
+
483
502
  ### Publish a signed node policy
484
503
 
485
504
  Operators can describe public handling rules in a local JSON file and have the client sign it
@@ -1 +1 @@
1
- {"version":3,"file":"backend_stability.d.ts","sourceRoot":"","sources":["../src/backend_stability.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE9G,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,qBAAa,2BAA2B;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEzB,IAAI,GAAE,+BAAoC;IAQtD,WAAW,CAAC,KAAK,SAAa,GAAG,MAAM,GAAG,IAAI;IAO9C,UAAU,CAAC,KAAK,SAAa,GAAG,OAAO;IAIvC,UAAU,CAAC,KAAK,SAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYxD;AAWD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAmBhG;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7E,2BAA2B,CAyD7B;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAuBvC"}
1
+ {"version":3,"file":"backend_stability.d.ts","sourceRoot":"","sources":["../src/backend_stability.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE9G,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,qBAAa,2BAA2B;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEzB,IAAI,GAAE,+BAAoC;IAQtD,WAAW,CAAC,KAAK,SAAa,GAAG,MAAM,GAAG,IAAI;IAO9C,UAAU,CAAC,KAAK,SAAa,GAAG,OAAO;IAIvC,UAAU,CAAC,KAAK,SAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYxD;AAWD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAmBhG;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7E,2BAA2B,CAyD7B;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA8CvC"}
@@ -151,6 +151,32 @@ async function observeBackendStability(opts) {
151
151
  const f = opts.fetchImpl ?? fetch;
152
152
  const signal = () => AbortSignal.timeout(opts.timeoutMs ?? 2000);
153
153
  try {
154
+ if (flavor === "meshllm") {
155
+ const ready = await f(`${root}/readyz`, { headers, signal: signal() });
156
+ if (!ready.ok)
157
+ return new BackendStabilityObservation({
158
+ backendState: "draining", reasonClass: "backend_loading", drainUntilMs: Date.now() + 30_000,
159
+ diagnostics: { ready: false },
160
+ });
161
+ const inventory = await f(`${root}/v1/models`, { headers, signal: signal() });
162
+ if (!inventory.ok)
163
+ return new BackendStabilityObservation({
164
+ backendState: "draining", reasonClass: "backend_loading", drainUntilMs: Date.now() + 30_000,
165
+ diagnostics: { ready: false },
166
+ });
167
+ const inventoryBody = await inventory.json();
168
+ const models = typeof inventoryBody === "object" && inventoryBody !== null
169
+ && Array.isArray(inventoryBody.data)
170
+ ? inventoryBody.data
171
+ : null;
172
+ const present = models?.some((model) => typeof model.id === "string" && modelMatches(model.id, opts.expectedModel)) ?? false;
173
+ if (!models || models.length === 0 || (opts.expectedModel && !present))
174
+ return new BackendStabilityObservation({
175
+ backendState: "draining", reasonClass: "backend_loading", drainUntilMs: Date.now() + 30_000,
176
+ diagnostics: { selected_model_ready: false },
177
+ });
178
+ return new BackendStabilityObservation({ diagnostics: { ready: true } });
179
+ }
154
180
  if (flavor === "ollama" || flavor === "") {
155
181
  const r = await f(`${root}/api/ps`, { headers, signal: signal() });
156
182
  if (r.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"backend_stability.js","sourceRoot":"","sources":["../src/backend_stability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend_stability.js","sourceRoot":"","sources":["../src/backend_stability.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * `--backend-type` flag).
7
7
  */
8
8
  import { type BackendHandler, type BackendOptions } from "./base.js";
9
- export declare const BACKEND_TYPES: readonly ["openai_compat", "vllm", "llamacpp", "anthropic"];
9
+ export declare const BACKEND_TYPES: readonly ["openai_compat", "vllm", "llamacpp", "meshllm", "anthropic"];
10
10
  export type BackendType = (typeof BACKEND_TYPES)[number];
11
11
  /** Return a backend handler by name. Throws on an unknown type. */
12
12
  export declare function getBackendHandler(backendType: string, opts?: BackendOptions): BackendHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAMrE,eAAO,MAAM,aAAa,6DAA8D,CAAC;AACzF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AASzD,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,cAAc,CAQhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAOrE,eAAO,MAAM,aAAa,wEAAyE,CAAC;AACpG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAUzD,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,cAAc,CAQhG"}
@@ -13,12 +13,14 @@ exports.getBackendHandler = getBackendHandler;
13
13
  const openai_compat_js_1 = require("./openai_compat.js");
14
14
  const vllm_js_1 = require("./vllm.js");
15
15
  const llamacpp_js_1 = require("./llamacpp.js");
16
+ const meshllm_js_1 = require("./meshllm.js");
16
17
  const anthropic_js_1 = require("./anthropic.js");
17
- exports.BACKEND_TYPES = ["openai_compat", "vllm", "llamacpp", "anthropic"];
18
+ exports.BACKEND_TYPES = ["openai_compat", "vllm", "llamacpp", "meshllm", "anthropic"];
18
19
  const FACTORIES = {
19
20
  openai_compat: openai_compat_js_1.openaiCompatHandler,
20
21
  vllm: vllm_js_1.vllmHandler,
21
22
  llamacpp: llamacpp_js_1.llamacppHandler,
23
+ meshllm: meshllm_js_1.meshllmHandler,
22
24
  anthropic: anthropic_js_1.anthropicHandler,
23
25
  };
24
26
  /** Return a backend handler by name. Throws on an unknown type. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;;;;GAMG;;;AAmBH,8CAQC;AAxBD,yDAAyD;AACzD,uCAAwC;AACxC,+CAAgD;AAChD,iDAAkD;AAErC,QAAA,aAAa,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAGzF,MAAM,SAAS,GAAkE;IAC/E,aAAa,EAAE,sCAAmB;IAClC,IAAI,EAAE,qBAAW;IACjB,QAAQ,EAAE,6BAAe;IACzB,SAAS,EAAE,+BAAgB;CAC5B,CAAC;AAEF,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,OAAuB,EAAE;IAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,WAA0B,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,qBAAa,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;;;;GAMG;;;AAqBH,8CAQC;AA1BD,yDAAyD;AACzD,uCAAwC;AACxC,+CAAgD;AAChD,6CAA8C;AAC9C,iDAAkD;AAErC,QAAA,aAAa,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAGpG,MAAM,SAAS,GAAkE;IAC/E,aAAa,EAAE,sCAAmB;IAClC,IAAI,EAAE,qBAAW;IACjB,QAAQ,EAAE,6BAAe;IACzB,OAAO,EAAE,2BAAc;IACvB,SAAS,EAAE,+BAAgB;CAC5B,CAAC;AAEF,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,OAAuB,EAAE;IAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,WAA0B,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,qBAAa,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** MeshLLM local OpenAI-compatible backend. */
2
+ import { type BackendHandler } from "./base.js";
3
+ export interface MeshLlmOptions {
4
+ baseUrl?: string;
5
+ model?: string;
6
+ apiKey?: string;
7
+ timeoutMs?: number;
8
+ }
9
+ /** Stable MeshLLM profile: local HTTP chat only; no peer/control-plane coupling. */
10
+ export declare function meshllmHandler(opts?: MeshLlmOptions): BackendHandler;
11
+ //# sourceMappingURL=meshllm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshllm.d.ts","sourceRoot":"","sources":["../../src/backends/meshllm.ts"],"names":[],"mappings":"AACA,+CAA+C;AAE/C,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAI3E,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,cAAc,CAWxE"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /** MeshLLM local OpenAI-compatible backend. */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.meshllmHandler = meshllmHandler;
6
+ const base_js_1 = require("./base.js");
7
+ const CHAT_INTENT = "urn:iicp:intent:llm:chat:v1";
8
+ /** Stable MeshLLM profile: local HTTP chat only; no peer/control-plane coupling. */
9
+ function meshllmHandler(opts = {}) {
10
+ const openAiHandler = (0, base_js_1.buildOpenAiDialectHandler)("meshllm", opts.baseUrl ?? "http://localhost:9337/v1", opts.model, opts.apiKey ?? "", opts.timeoutMs ?? 30000);
11
+ return async (task) => {
12
+ if (task.intent !== CHAT_INTENT) {
13
+ return { error_code: 400, error_message: "MeshLLM stable backend supports llm:chat:v1 only" };
14
+ }
15
+ return openAiHandler(task);
16
+ };
17
+ }
18
+ //# sourceMappingURL=meshllm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshllm.js","sourceRoot":"","sources":["../../src/backends/meshllm.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,+CAA+C;;AAc/C,wCAWC;AAvBD,uCAA2E;AAE3E,MAAM,WAAW,GAAG,6BAA6B,CAAC;AASlD,oFAAoF;AACpF,SAAgB,cAAc,CAAC,OAAuB,EAAE;IACtD,MAAM,aAAa,GAAG,IAAA,mCAAyB,EAC7C,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,0BAA0B,EAAE,IAAI,CAAC,KAAK,EACjE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAC3C,CAAC;IACF,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,kDAAkD,EAAE,CAAC;QAChG,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC"}
package/dist/cli.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface ServeOpts {
19
19
  backendUrl: string;
20
20
  policyManifest?: string;
21
21
  backendType: string;
22
+ experimental?: boolean;
22
23
  /** #5 — Bearer key for an auth-requiring OpenAI-compat backend (LM Studio, hosted). Empty = none. */
23
24
  backendApiKey: string;
24
25
  model: string;
@@ -74,6 +75,16 @@ export declare function verifyCreditAwards(directoryUrl: string, nodeId: string)
74
75
  verified: number;
75
76
  failed: number;
76
77
  }>;
78
+ type HandoffMarker = {
79
+ affected_node_names?: unknown;
80
+ restart_requested_node_names?: unknown;
81
+ completed_node_names?: unknown;
82
+ created_at_unix?: unknown;
83
+ grace_seconds?: unknown;
84
+ };
85
+ /** Return remaining grace seconds; completed/restarted services never restart twice. */
86
+ export declare function handoffRestartDelay(marker: HandoffMarker, nodeName: string, now: number): number | null;
87
+ export declare function completeHandoffForNode(nodeName: string): void;
77
88
  export declare function main(argv?: string[]): Promise<number>;
78
89
  export {};
79
90
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}