@iicp/client 0.7.93 → 0.7.94
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 +2 -2
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -1
- package/dist/identity.d.ts +2 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/jcs.d.ts +4 -0
- package/dist/jcs.d.ts.map +1 -0
- package/dist/jcs.js +44 -0
- package/dist/jcs.js.map +1 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +4 -0
- package/dist/node.js.map +1 -1
- package/package.json +5 -4
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.
|
|
42
|
+
iicp-node --version # prints iicp-node 0.7.94 or newer
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
The query command contacts the public directory, discovers a matching live node,
|
|
@@ -148,7 +148,7 @@ base URL. Full guide: <https://iicp.network/docs/proxy>
|
|
|
148
148
|
|
|
149
149
|
## Keep provider nodes current
|
|
150
150
|
|
|
151
|
-
The current public release line is **0.7.
|
|
151
|
+
The current public release line is **0.7.94**. Upgrade through your package
|
|
152
152
|
manager before troubleshooting an older installation. Routing profiles can
|
|
153
153
|
refuse remote dispatch before a prompt leaves the client; use `sensitive` for
|
|
154
154
|
local-only work, `eu-restricted` for EU/EEA routing, or `strict-policy` when a
|
package/dist/cli.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export declare function startProviderAutoUpdate(options?: ProviderAutoUpdateOpti
|
|
|
18
18
|
export interface ServeOpts {
|
|
19
19
|
backendUrl: string;
|
|
20
20
|
policyManifest?: string;
|
|
21
|
+
/** Explicit operator receipt-profile opt-in; undefined allows saved-node fallback. */
|
|
22
|
+
receiptProfiles?: string[];
|
|
21
23
|
backendType: string;
|
|
22
24
|
experimental?: boolean;
|
|
23
25
|
/** #5 — Bearer key for an auth-requiring OpenAI-compat backend (LM Studio, hosted). Empty = none. */
|
|
@@ -46,6 +48,7 @@ export interface ServeOpts {
|
|
|
46
48
|
/** TC-9c — pre-loaded from saved node config; passed to IicpNode so receipts work on restart. */
|
|
47
49
|
nodeHmacKey?: string;
|
|
48
50
|
}
|
|
51
|
+
export declare function resolveReceiptProfiles(cliValues: string[] | undefined, envValue: string | undefined, savedValues?: string[]): string[];
|
|
49
52
|
export declare const TUNNEL_DEAD_EXIT_CODE = 75;
|
|
50
53
|
export type TunnelDeadPolicy = "auto" | "retry" | "exit" | "log-only";
|
|
51
54
|
export type TunnelDeadBehavior = "exit" | "retry" | "log-only";
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiDA,OAAO,EAeL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAIvB,KAAK,aAAa,GAAG,cAAc,cAAc,CAAC,CAAC;AAEnD,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,yBAA8B,GAAG,MAAM,IAAI,CA+C3F;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qGAAqG;IACrG,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE/D,wBAAgB,uBAAuB,IAAI,gBAAgB,CAM1D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,GAAG,kBAAkB,CAGpG;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAKrF;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.TUNNEL_DEAD_EXIT_CODE = void 0;
|
|
5
5
|
exports.startProviderAutoUpdate = startProviderAutoUpdate;
|
|
6
|
+
exports.resolveReceiptProfiles = resolveReceiptProfiles;
|
|
6
7
|
exports.tunnelDeadPolicyFromEnv = tunnelDeadPolicyFromEnv;
|
|
7
8
|
exports.tunnelDeadBehavior = tunnelDeadBehavior;
|
|
8
9
|
exports.relayWorkerFallbackAllowed = relayWorkerFallbackAllowed;
|
|
@@ -105,6 +106,15 @@ function startProviderAutoUpdate(options = {}) {
|
|
|
105
106
|
clearInterval(intervalTimer);
|
|
106
107
|
};
|
|
107
108
|
}
|
|
109
|
+
function resolveReceiptProfiles(cliValues, envValue, savedValues) {
|
|
110
|
+
const raw = cliValues ?? (envValue !== undefined ? envValue.split(",") : (savedValues ?? []));
|
|
111
|
+
const profiles = [...new Set(raw.map((value) => value.trim()).filter(Boolean))];
|
|
112
|
+
const unsupported = profiles.filter((value) => value !== "consumer_cosignature_v1");
|
|
113
|
+
if (unsupported.length > 0) {
|
|
114
|
+
throw new CliError(`unsupported receipt profile(s): ${unsupported.join(", ")}. Supported: consumer_cosignature_v1.`);
|
|
115
|
+
}
|
|
116
|
+
return profiles;
|
|
117
|
+
}
|
|
108
118
|
function envOr(name, fallback) {
|
|
109
119
|
const v = process.env[name];
|
|
110
120
|
return v ?? fallback;
|
|
@@ -179,6 +189,7 @@ function printHelp() {
|
|
|
179
189
|
` --backend-api-key KEY IICP_BACKEND_API_KEY — Bearer key for an auth'd backend (LM Studio, hosted); anthropic uses it as x-api-key\n` +
|
|
180
190
|
` --experimental IICP_EXPERIMENTAL — enable an explicitly selected preview backend feature\n` +
|
|
181
191
|
` --policy-manifest FILE IICP_POLICY_MANIFEST_FILE — sign and advertise a public node-policy JSON document\n` +
|
|
192
|
+
` --receipt-profile PROFILE IICP_SUPPORTED_RECEIPT_PROFILES — repeatable; supported: consumer_cosignature_v1\n` +
|
|
182
193
|
` --public-endpoint URL IICP_PUBLIC_ENDPOINT — externally reachable URL of this node\n` +
|
|
183
194
|
` --directory-url URL IICP_DIRECTORY_URL (default https://iicp.network/api)\n` +
|
|
184
195
|
` --region REGION IICP_REGION (e.g. us-east; unknown if unset)\n` +
|
|
@@ -247,6 +258,7 @@ function printServeHelp() {
|
|
|
247
258
|
` --backend-api-key KEY IICP_BACKEND_API_KEY — Bearer key for auth'd backends\n` +
|
|
248
259
|
` --experimental IICP_EXPERIMENTAL — enable an explicitly selected preview backend feature\n` +
|
|
249
260
|
` --policy-manifest FILE IICP_POLICY_MANIFEST_FILE — sign and advertise a public node-policy JSON document\n` +
|
|
261
|
+
` --receipt-profile PROFILE IICP_SUPPORTED_RECEIPT_PROFILES — repeatable; supported: consumer_cosignature_v1\n` +
|
|
250
262
|
` --public-endpoint URL IICP_PUBLIC_ENDPOINT — externally reachable URL of this node\n` +
|
|
251
263
|
` --directory-url URL IICP_DIRECTORY_URL (default https://iicp.network/api)\n` +
|
|
252
264
|
` --region REGION IICP_REGION (e.g. eu-central)\n` +
|
|
@@ -667,6 +679,7 @@ function applySavedNode(opts, saved) {
|
|
|
667
679
|
autoDetectNat: opts.autoDetectNat || saved.auto_detect_nat,
|
|
668
680
|
externalIpProbeUrl: opts.externalIpProbeUrl || saved.external_ip_probe_url,
|
|
669
681
|
nodeHmacKey: opts.nodeHmacKey || saved.node_hmac_key || undefined,
|
|
682
|
+
receiptProfiles: opts.receiptProfiles ?? resolveReceiptProfiles(undefined, undefined, saved.supported_receipt_profiles),
|
|
670
683
|
};
|
|
671
684
|
}
|
|
672
685
|
async function runServe(opts) {
|
|
@@ -1012,6 +1025,7 @@ async function runServe(opts) {
|
|
|
1012
1025
|
operatorCreatedAt: _opCreatedAt,
|
|
1013
1026
|
operatorIntegrityHash: _opIntegrityHash,
|
|
1014
1027
|
policyManifest,
|
|
1028
|
+
supportedReceiptProfiles: opts.receiptProfiles ?? [],
|
|
1015
1029
|
// #494 — wire backend URL for live health_models probing in heartbeats.
|
|
1016
1030
|
backendUrl: opts.backendUrl || undefined,
|
|
1017
1031
|
backendApiKey: opts.backendApiKey || undefined,
|
|
@@ -2889,6 +2903,7 @@ async function dispatch(argv) {
|
|
|
2889
2903
|
node: { type: "string" },
|
|
2890
2904
|
"backend-url": { type: "string" },
|
|
2891
2905
|
"policy-manifest": { type: "string" },
|
|
2906
|
+
"receipt-profile": { type: "string", multiple: true },
|
|
2892
2907
|
"backend-type": { type: "string" },
|
|
2893
2908
|
"backend-api-key": { type: "string" },
|
|
2894
2909
|
experimental: { type: "boolean" },
|
|
@@ -2927,6 +2942,9 @@ async function dispatch(argv) {
|
|
|
2927
2942
|
node: values.node ?? envOr("IICP_NODE_NAME") ?? "",
|
|
2928
2943
|
backendUrl: values["backend-url"] ?? envOr("IICP_BACKEND_URL") ?? "",
|
|
2929
2944
|
policyManifest: values["policy-manifest"] ?? envOr("IICP_POLICY_MANIFEST_FILE") ?? "",
|
|
2945
|
+
receiptProfiles: values["receipt-profile"] !== undefined || process.env.IICP_SUPPORTED_RECEIPT_PROFILES !== undefined
|
|
2946
|
+
? resolveReceiptProfiles(values["receipt-profile"], envOr("IICP_SUPPORTED_RECEIPT_PROFILES"))
|
|
2947
|
+
: undefined,
|
|
2930
2948
|
backendType: values["backend-type"] ??
|
|
2931
2949
|
envOr("IICP_BACKEND_TYPE", "openai_compat"),
|
|
2932
2950
|
backendApiKey: values["backend-api-key"] ?? envOr("IICP_BACKEND_API_KEY") ?? "",
|