@ai-ecoverse/mcpcat 0.14.6 → 0.14.7
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/dist/host/mcpcat.mjs +11 -4
- package/dist/kernel/mcpcat.mjs +11 -4
- package/package.json +2 -2
package/dist/host/mcpcat.mjs
CHANGED
|
@@ -6793,7 +6793,13 @@ var CLIENT_NAME = "mcpcat";
|
|
|
6793
6793
|
var CALLBACK_HOST = "127.0.0.1";
|
|
6794
6794
|
var CALLBACK_PATH = "/callback";
|
|
6795
6795
|
var REQUEST_TIMEOUT_MS = 15e3;
|
|
6796
|
-
var
|
|
6796
|
+
var MAX_REFRESH_SKEW_MS = 3e4;
|
|
6797
|
+
function computeSkew(state) {
|
|
6798
|
+
const expiresIn = state?.tokens?.expires_in;
|
|
6799
|
+
if (typeof expiresIn !== "number" || expiresIn <= 0) return MAX_REFRESH_SKEW_MS;
|
|
6800
|
+
const ttlMs = expiresIn * 1e3;
|
|
6801
|
+
return Math.min(MAX_REFRESH_SKEW_MS, Math.floor(ttlMs / 2));
|
|
6802
|
+
}
|
|
6797
6803
|
var FALLBACK_REDIRECT_URL = `http://${CALLBACK_HOST}${CALLBACK_PATH}`;
|
|
6798
6804
|
function timedFetch(fetchImpl) {
|
|
6799
6805
|
return (input, init) => {
|
|
@@ -6941,7 +6947,8 @@ function createPiAuthProvider(options) {
|
|
|
6941
6947
|
cachedToken = state?.tokens?.access_token;
|
|
6942
6948
|
registerCredential(cachedToken);
|
|
6943
6949
|
if (state?.tokens?.refresh_token) registerCredential(state.tokens.refresh_token);
|
|
6944
|
-
const
|
|
6950
|
+
const skew = computeSkew(state);
|
|
6951
|
+
const expired = state?.tokensExpireAt !== void 0 && state.tokensExpireAt - skew <= Date.now();
|
|
6945
6952
|
if (expired && state?.tokens?.refresh_token) {
|
|
6946
6953
|
await refresh(cachedToken).catch(() => void 0);
|
|
6947
6954
|
const refreshedState = await store.load();
|
|
@@ -15708,7 +15715,7 @@ async function handleInputRequired(platform2, conn, err, respondData, json) {
|
|
|
15708
15715
|
`);
|
|
15709
15716
|
return EXIT_INPUT_REQUIRED;
|
|
15710
15717
|
}
|
|
15711
|
-
const isTty = platform2.isatty(0) && platform2.isatty(2);
|
|
15718
|
+
const isTty = platform2.kind === "host" && platform2.isatty(0) && platform2.isatty(2);
|
|
15712
15719
|
const elicitResult = await handleElicitation(platform2, inputReq, isTty, respondData);
|
|
15713
15720
|
if ("exitCode" in elicitResult) {
|
|
15714
15721
|
await platform2.write(2, `${err.requestJson}
|
|
@@ -16170,5 +16177,5 @@ try {
|
|
|
16170
16177
|
});
|
|
16171
16178
|
} catch {
|
|
16172
16179
|
}
|
|
16173
|
-
var code = await run(platform, "0.14.
|
|
16180
|
+
var code = await run(platform, "0.14.7", args);
|
|
16174
16181
|
process.exit(code);
|
package/dist/kernel/mcpcat.mjs
CHANGED
|
@@ -6414,7 +6414,13 @@ var CLIENT_NAME = "mcpcat";
|
|
|
6414
6414
|
var CALLBACK_HOST = "127.0.0.1";
|
|
6415
6415
|
var CALLBACK_PATH = "/callback";
|
|
6416
6416
|
var REQUEST_TIMEOUT_MS = 15e3;
|
|
6417
|
-
var
|
|
6417
|
+
var MAX_REFRESH_SKEW_MS = 3e4;
|
|
6418
|
+
function computeSkew(state) {
|
|
6419
|
+
const expiresIn = state?.tokens?.expires_in;
|
|
6420
|
+
if (typeof expiresIn !== "number" || expiresIn <= 0) return MAX_REFRESH_SKEW_MS;
|
|
6421
|
+
const ttlMs = expiresIn * 1e3;
|
|
6422
|
+
return Math.min(MAX_REFRESH_SKEW_MS, Math.floor(ttlMs / 2));
|
|
6423
|
+
}
|
|
6418
6424
|
var FALLBACK_REDIRECT_URL = `http://${CALLBACK_HOST}${CALLBACK_PATH}`;
|
|
6419
6425
|
function timedFetch(fetchImpl) {
|
|
6420
6426
|
return (input, init) => {
|
|
@@ -6562,7 +6568,8 @@ function createPiAuthProvider(options) {
|
|
|
6562
6568
|
cachedToken = state?.tokens?.access_token;
|
|
6563
6569
|
registerCredential(cachedToken);
|
|
6564
6570
|
if (state?.tokens?.refresh_token) registerCredential(state.tokens.refresh_token);
|
|
6565
|
-
const
|
|
6571
|
+
const skew = computeSkew(state);
|
|
6572
|
+
const expired = state?.tokensExpireAt !== void 0 && state.tokensExpireAt - skew <= Date.now();
|
|
6566
6573
|
if (expired && state?.tokens?.refresh_token) {
|
|
6567
6574
|
await refresh(cachedToken).catch(() => void 0);
|
|
6568
6575
|
const refreshedState = await store.load();
|
|
@@ -15329,7 +15336,7 @@ async function handleInputRequired(platform2, conn, err, respondData, json) {
|
|
|
15329
15336
|
`);
|
|
15330
15337
|
return EXIT_INPUT_REQUIRED;
|
|
15331
15338
|
}
|
|
15332
|
-
const isTty = platform2.isatty(0) && platform2.isatty(2);
|
|
15339
|
+
const isTty = platform2.kind === "host" && platform2.isatty(0) && platform2.isatty(2);
|
|
15333
15340
|
const elicitResult = await handleElicitation(platform2, inputReq, isTty, respondData);
|
|
15334
15341
|
if ("exitCode" in elicitResult) {
|
|
15335
15342
|
await platform2.write(2, `${err.requestJson}
|
|
@@ -15834,7 +15841,7 @@ async function main(ctx) {
|
|
|
15834
15841
|
packageDir: "/node_modules/@ai-ecoverse/mcpcat"
|
|
15835
15842
|
});
|
|
15836
15843
|
const args = ctx.argv.slice(1);
|
|
15837
|
-
return run(platform2, "0.14.
|
|
15844
|
+
return run(platform2, "0.14.7", args);
|
|
15838
15845
|
}
|
|
15839
15846
|
export {
|
|
15840
15847
|
main as default
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/mcpcat",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.7",
|
|
4
4
|
"description": "A curl for the Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"trust:dry": "npx fledgling sync --dry-run -y --skip-publish"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@ai-ecoverse/slicc-kernel": "1.
|
|
59
|
+
"@ai-ecoverse/slicc-kernel": "1.83.0",
|
|
60
60
|
"@ai-ecoverse/slicc-shared-web": "1.13.1",
|
|
61
61
|
"@biomejs/biome": "2.5.15",
|
|
62
62
|
"@earendil-works/pi-codemode": "1.2.0",
|