@kya-os/create-mcpi-app 1.11.3 → 1.11.4
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/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @kya-os/create-mcpi-app@1.11.
|
|
2
|
+
> @kya-os/create-mcpi-app@1.11.4 build /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app
|
|
3
3
|
> tsc && chmod +x dist/index.js && node --import tsx scripts/build-bundles.ts
|
|
4
4
|
|
|
5
5
|
🔨 Building template bundles...
|
|
@@ -7,23 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
📦 Building template: blank
|
|
9
9
|
✅ Source files written to /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/.tmp-bundles/blank
|
|
10
|
-
✅ Bundle built:
|
|
10
|
+
✅ Bundle built: 8172141 bytes, hash: sha256:964b549d9b27c...
|
|
11
11
|
|
|
12
12
|
📦 Building template: hardware-world
|
|
13
13
|
✅ Source files written to /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/.tmp-bundles/hardware-world
|
|
14
|
-
✅ Bundle built:
|
|
14
|
+
✅ Bundle built: 8184560 bytes, hash: sha256:613ed3ca8a593...
|
|
15
15
|
|
|
16
16
|
📦 Building template: ecommerce
|
|
17
17
|
✅ Source files written to /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/.tmp-bundles/ecommerce
|
|
18
|
-
✅ Bundle built:
|
|
18
|
+
✅ Bundle built: 8173835 bytes, hash: sha256:e1de25fb7a73e...
|
|
19
19
|
|
|
20
20
|
📦 Building template: mix-station
|
|
21
21
|
✅ Source files written to /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/.tmp-bundles/mix-station
|
|
22
|
-
✅ Bundle built:
|
|
22
|
+
✅ Bundle built: 8187185 bytes, hash: sha256:b5acc100ef55c...
|
|
23
23
|
|
|
24
24
|
✅ All bundles built successfully!
|
|
25
25
|
Output: /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/bundles
|
|
26
|
-
Version: 1.11.
|
|
27
|
-
Framework: 1.14.
|
|
26
|
+
Version: 1.11.4
|
|
27
|
+
Framework: 1.14.5
|
|
28
28
|
Templates: blank, hardware-world, ecommerce, mix-station
|
|
29
29
|
Manifest: /home/runner/work/xmcp-i/xmcp-i/packages/create-mcpi-app/dist/bundles/manifest.json
|
package/dist/bundles/blank.js
CHANGED
|
@@ -159646,7 +159646,12 @@ function anchorSnapshot(rec) {
|
|
|
159646
159646
|
nativePolicyRevision: rec.nativePolicyRevision
|
|
159647
159647
|
};
|
|
159648
159648
|
}
|
|
159649
|
-
var pendingBody = () => ({
|
|
159649
|
+
var pendingBody = (rec, now2) => ({
|
|
159650
|
+
status: "pending",
|
|
159651
|
+
// This is the remaining authorization-session lifetime, not the future VC's
|
|
159652
|
+
// lifetime. Preserve the frozen legacy response and the original DO deadline.
|
|
159653
|
+
...rec.nativeHttp ? { expires_in: Math.max(0, Math.floor((rec.expiresAt - now2) / 1e3)) } : {}
|
|
159654
|
+
});
|
|
159650
159655
|
var pinnedErr = () => ({ error: KYAOS_ERRORS.pickupPinned });
|
|
159651
159656
|
var invalidSessionErr = () => ({ error: KYAOS_ERRORS.invalidSession });
|
|
159652
159657
|
var pickupExpiredErr = () => ({ error: KYAOS_ERRORS.pickupExpired });
|
|
@@ -159750,7 +159755,7 @@ function reducePoll(rec, holder, now2) {
|
|
|
159750
159755
|
}
|
|
159751
159756
|
return {
|
|
159752
159757
|
record: { ...working, lastPollAt: now2 },
|
|
159753
|
-
response: { status: 202, body: pendingBody() }
|
|
159758
|
+
response: { status: 202, body: pendingBody(working, now2) }
|
|
159754
159759
|
};
|
|
159755
159760
|
}
|
|
159756
159761
|
function reduceApprove(rec, input2, now2) {
|
|
@@ -159900,7 +159905,7 @@ async function handlePickupInternal(ctx, request, now2) {
|
|
|
159900
159905
|
// ../mcp-i-cloudflare/package.json
|
|
159901
159906
|
var package_default = {
|
|
159902
159907
|
name: "@kya-os/mcp-i-cloudflare",
|
|
159903
|
-
version: "1.14.
|
|
159908
|
+
version: "1.14.5",
|
|
159904
159909
|
description: "Cloudflare Workers adapter for MCP-I framework",
|
|
159905
159910
|
main: "dist/index.js",
|
|
159906
159911
|
types: "dist/index.d.ts",
|
|
@@ -166390,6 +166395,22 @@ function approvalFailedPage(message3, status = 410) {
|
|
|
166390
166395
|
<p>${escapeHtml2(message3)}</p>
|
|
166391
166396
|
</main>`), status);
|
|
166392
166397
|
}
|
|
166398
|
+
var REQUEST_NOT_PREPARED = {
|
|
166399
|
+
title: "Your agent has not prepared this request yet",
|
|
166400
|
+
body: "Before you can approve, your agent must establish the secure key that will receive your permission. No access has been granted.",
|
|
166401
|
+
nextStep: "Return to your chat and ask your agent to finish preparing this authorization request before sharing the approval link.",
|
|
166402
|
+
unsupported: "If the agent's tools cannot sign requests, this flow cannot be completed in that tool. Do not send your password or browser cookies to the agent."
|
|
166403
|
+
};
|
|
166404
|
+
function requestNotPreparedPage(sid) {
|
|
166405
|
+
return htmlResponse(page(REQUEST_NOT_PREPARED.title, `<main class="kya-consent-not-prepared">
|
|
166406
|
+
<h1>${escapeHtml2(REQUEST_NOT_PREPARED.title)}</h1>
|
|
166407
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.body)}</p>
|
|
166408
|
+
<h2>What to do next</h2>
|
|
166409
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.nextStep)}</p>
|
|
166410
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.unsupported)}</p>
|
|
166411
|
+
<p>Once your agent confirms it is ready, <a href="?sid=${encodeURIComponent(sid)}">Reload this page</a>. If the request has expired, ask your agent to start a new request.</p>
|
|
166412
|
+
</main>`), 409);
|
|
166413
|
+
}
|
|
166393
166414
|
function notFoundJson() {
|
|
166394
166415
|
return jsonResponse({
|
|
166395
166416
|
error: "We could not find this authorization request. It may have already completed or been cancelled."
|
|
@@ -166731,7 +166752,7 @@ async function handleAnchorConsentGet(c, sid, env2, cfg) {
|
|
|
166731
166752
|
}
|
|
166732
166753
|
const info = await infoResponse.json();
|
|
166733
166754
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166734
|
-
return
|
|
166755
|
+
return requestNotPreparedPage(sid);
|
|
166735
166756
|
}
|
|
166736
166757
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166737
166758
|
return nativeUnavailable();
|
|
@@ -166809,7 +166830,7 @@ async function handleAnchorConsentApprove(c, sid, env2, cfg) {
|
|
|
166809
166830
|
}
|
|
166810
166831
|
const info = await infoResponse.json();
|
|
166811
166832
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166812
|
-
return approvalFailedJson(
|
|
166833
|
+
return approvalFailedJson(`${REQUEST_NOT_PREPARED.title}. ${REQUEST_NOT_PREPARED.body} ${REQUEST_NOT_PREPARED.nextStep} ${REQUEST_NOT_PREPARED.unsupported}`, 409);
|
|
166813
166834
|
}
|
|
166814
166835
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166815
166836
|
return nativeUnavailable();
|
|
@@ -159646,7 +159646,12 @@ function anchorSnapshot(rec) {
|
|
|
159646
159646
|
nativePolicyRevision: rec.nativePolicyRevision
|
|
159647
159647
|
};
|
|
159648
159648
|
}
|
|
159649
|
-
var pendingBody = () => ({
|
|
159649
|
+
var pendingBody = (rec, now2) => ({
|
|
159650
|
+
status: "pending",
|
|
159651
|
+
// This is the remaining authorization-session lifetime, not the future VC's
|
|
159652
|
+
// lifetime. Preserve the frozen legacy response and the original DO deadline.
|
|
159653
|
+
...rec.nativeHttp ? { expires_in: Math.max(0, Math.floor((rec.expiresAt - now2) / 1e3)) } : {}
|
|
159654
|
+
});
|
|
159650
159655
|
var pinnedErr = () => ({ error: KYAOS_ERRORS.pickupPinned });
|
|
159651
159656
|
var invalidSessionErr = () => ({ error: KYAOS_ERRORS.invalidSession });
|
|
159652
159657
|
var pickupExpiredErr = () => ({ error: KYAOS_ERRORS.pickupExpired });
|
|
@@ -159750,7 +159755,7 @@ function reducePoll(rec, holder, now2) {
|
|
|
159750
159755
|
}
|
|
159751
159756
|
return {
|
|
159752
159757
|
record: { ...working, lastPollAt: now2 },
|
|
159753
|
-
response: { status: 202, body: pendingBody() }
|
|
159758
|
+
response: { status: 202, body: pendingBody(working, now2) }
|
|
159754
159759
|
};
|
|
159755
159760
|
}
|
|
159756
159761
|
function reduceApprove(rec, input2, now2) {
|
|
@@ -159900,7 +159905,7 @@ async function handlePickupInternal(ctx, request, now2) {
|
|
|
159900
159905
|
// ../mcp-i-cloudflare/package.json
|
|
159901
159906
|
var package_default = {
|
|
159902
159907
|
name: "@kya-os/mcp-i-cloudflare",
|
|
159903
|
-
version: "1.14.
|
|
159908
|
+
version: "1.14.5",
|
|
159904
159909
|
description: "Cloudflare Workers adapter for MCP-I framework",
|
|
159905
159910
|
main: "dist/index.js",
|
|
159906
159911
|
types: "dist/index.d.ts",
|
|
@@ -166390,6 +166395,22 @@ function approvalFailedPage(message3, status = 410) {
|
|
|
166390
166395
|
<p>${escapeHtml2(message3)}</p>
|
|
166391
166396
|
</main>`), status);
|
|
166392
166397
|
}
|
|
166398
|
+
var REQUEST_NOT_PREPARED = {
|
|
166399
|
+
title: "Your agent has not prepared this request yet",
|
|
166400
|
+
body: "Before you can approve, your agent must establish the secure key that will receive your permission. No access has been granted.",
|
|
166401
|
+
nextStep: "Return to your chat and ask your agent to finish preparing this authorization request before sharing the approval link.",
|
|
166402
|
+
unsupported: "If the agent's tools cannot sign requests, this flow cannot be completed in that tool. Do not send your password or browser cookies to the agent."
|
|
166403
|
+
};
|
|
166404
|
+
function requestNotPreparedPage(sid) {
|
|
166405
|
+
return htmlResponse(page(REQUEST_NOT_PREPARED.title, `<main class="kya-consent-not-prepared">
|
|
166406
|
+
<h1>${escapeHtml2(REQUEST_NOT_PREPARED.title)}</h1>
|
|
166407
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.body)}</p>
|
|
166408
|
+
<h2>What to do next</h2>
|
|
166409
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.nextStep)}</p>
|
|
166410
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.unsupported)}</p>
|
|
166411
|
+
<p>Once your agent confirms it is ready, <a href="?sid=${encodeURIComponent(sid)}">Reload this page</a>. If the request has expired, ask your agent to start a new request.</p>
|
|
166412
|
+
</main>`), 409);
|
|
166413
|
+
}
|
|
166393
166414
|
function notFoundJson() {
|
|
166394
166415
|
return jsonResponse({
|
|
166395
166416
|
error: "We could not find this authorization request. It may have already completed or been cancelled."
|
|
@@ -166731,7 +166752,7 @@ async function handleAnchorConsentGet(c, sid, env2, cfg) {
|
|
|
166731
166752
|
}
|
|
166732
166753
|
const info = await infoResponse.json();
|
|
166733
166754
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166734
|
-
return
|
|
166755
|
+
return requestNotPreparedPage(sid);
|
|
166735
166756
|
}
|
|
166736
166757
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166737
166758
|
return nativeUnavailable();
|
|
@@ -166809,7 +166830,7 @@ async function handleAnchorConsentApprove(c, sid, env2, cfg) {
|
|
|
166809
166830
|
}
|
|
166810
166831
|
const info = await infoResponse.json();
|
|
166811
166832
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166812
|
-
return approvalFailedJson(
|
|
166833
|
+
return approvalFailedJson(`${REQUEST_NOT_PREPARED.title}. ${REQUEST_NOT_PREPARED.body} ${REQUEST_NOT_PREPARED.nextStep} ${REQUEST_NOT_PREPARED.unsupported}`, 409);
|
|
166813
166834
|
}
|
|
166814
166835
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166815
166836
|
return nativeUnavailable();
|
|
@@ -159646,7 +159646,12 @@ function anchorSnapshot(rec) {
|
|
|
159646
159646
|
nativePolicyRevision: rec.nativePolicyRevision
|
|
159647
159647
|
};
|
|
159648
159648
|
}
|
|
159649
|
-
var pendingBody = () => ({
|
|
159649
|
+
var pendingBody = (rec, now2) => ({
|
|
159650
|
+
status: "pending",
|
|
159651
|
+
// This is the remaining authorization-session lifetime, not the future VC's
|
|
159652
|
+
// lifetime. Preserve the frozen legacy response and the original DO deadline.
|
|
159653
|
+
...rec.nativeHttp ? { expires_in: Math.max(0, Math.floor((rec.expiresAt - now2) / 1e3)) } : {}
|
|
159654
|
+
});
|
|
159650
159655
|
var pinnedErr = () => ({ error: KYAOS_ERRORS.pickupPinned });
|
|
159651
159656
|
var invalidSessionErr = () => ({ error: KYAOS_ERRORS.invalidSession });
|
|
159652
159657
|
var pickupExpiredErr = () => ({ error: KYAOS_ERRORS.pickupExpired });
|
|
@@ -159750,7 +159755,7 @@ function reducePoll(rec, holder, now2) {
|
|
|
159750
159755
|
}
|
|
159751
159756
|
return {
|
|
159752
159757
|
record: { ...working, lastPollAt: now2 },
|
|
159753
|
-
response: { status: 202, body: pendingBody() }
|
|
159758
|
+
response: { status: 202, body: pendingBody(working, now2) }
|
|
159754
159759
|
};
|
|
159755
159760
|
}
|
|
159756
159761
|
function reduceApprove(rec, input2, now2) {
|
|
@@ -159900,7 +159905,7 @@ async function handlePickupInternal(ctx, request, now2) {
|
|
|
159900
159905
|
// ../mcp-i-cloudflare/package.json
|
|
159901
159906
|
var package_default = {
|
|
159902
159907
|
name: "@kya-os/mcp-i-cloudflare",
|
|
159903
|
-
version: "1.14.
|
|
159908
|
+
version: "1.14.5",
|
|
159904
159909
|
description: "Cloudflare Workers adapter for MCP-I framework",
|
|
159905
159910
|
main: "dist/index.js",
|
|
159906
159911
|
types: "dist/index.d.ts",
|
|
@@ -166390,6 +166395,22 @@ function approvalFailedPage(message3, status = 410) {
|
|
|
166390
166395
|
<p>${escapeHtml2(message3)}</p>
|
|
166391
166396
|
</main>`), status);
|
|
166392
166397
|
}
|
|
166398
|
+
var REQUEST_NOT_PREPARED = {
|
|
166399
|
+
title: "Your agent has not prepared this request yet",
|
|
166400
|
+
body: "Before you can approve, your agent must establish the secure key that will receive your permission. No access has been granted.",
|
|
166401
|
+
nextStep: "Return to your chat and ask your agent to finish preparing this authorization request before sharing the approval link.",
|
|
166402
|
+
unsupported: "If the agent's tools cannot sign requests, this flow cannot be completed in that tool. Do not send your password or browser cookies to the agent."
|
|
166403
|
+
};
|
|
166404
|
+
function requestNotPreparedPage(sid) {
|
|
166405
|
+
return htmlResponse(page(REQUEST_NOT_PREPARED.title, `<main class="kya-consent-not-prepared">
|
|
166406
|
+
<h1>${escapeHtml2(REQUEST_NOT_PREPARED.title)}</h1>
|
|
166407
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.body)}</p>
|
|
166408
|
+
<h2>What to do next</h2>
|
|
166409
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.nextStep)}</p>
|
|
166410
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.unsupported)}</p>
|
|
166411
|
+
<p>Once your agent confirms it is ready, <a href="?sid=${encodeURIComponent(sid)}">Reload this page</a>. If the request has expired, ask your agent to start a new request.</p>
|
|
166412
|
+
</main>`), 409);
|
|
166413
|
+
}
|
|
166393
166414
|
function notFoundJson() {
|
|
166394
166415
|
return jsonResponse({
|
|
166395
166416
|
error: "We could not find this authorization request. It may have already completed or been cancelled."
|
|
@@ -166731,7 +166752,7 @@ async function handleAnchorConsentGet(c, sid, env2, cfg) {
|
|
|
166731
166752
|
}
|
|
166732
166753
|
const info = await infoResponse.json();
|
|
166733
166754
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166734
|
-
return
|
|
166755
|
+
return requestNotPreparedPage(sid);
|
|
166735
166756
|
}
|
|
166736
166757
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166737
166758
|
return nativeUnavailable();
|
|
@@ -166809,7 +166830,7 @@ async function handleAnchorConsentApprove(c, sid, env2, cfg) {
|
|
|
166809
166830
|
}
|
|
166810
166831
|
const info = await infoResponse.json();
|
|
166811
166832
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166812
|
-
return approvalFailedJson(
|
|
166833
|
+
return approvalFailedJson(`${REQUEST_NOT_PREPARED.title}. ${REQUEST_NOT_PREPARED.body} ${REQUEST_NOT_PREPARED.nextStep} ${REQUEST_NOT_PREPARED.unsupported}`, 409);
|
|
166813
166834
|
}
|
|
166814
166835
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166815
166836
|
return nativeUnavailable();
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.11.
|
|
3
|
-
"frameworkVersion": "1.14.
|
|
2
|
+
"version": "1.11.4",
|
|
3
|
+
"frameworkVersion": "1.14.5",
|
|
4
4
|
"doClassName": "MCPIAgent",
|
|
5
5
|
"auditDoClassName": "AuditProducer",
|
|
6
|
-
"buildDate": "2026-09-
|
|
6
|
+
"buildDate": "2026-09-17T17:15:27.894Z",
|
|
7
7
|
"templates": {
|
|
8
8
|
"blank": {
|
|
9
9
|
"file": "blank.js",
|
|
10
|
-
"size":
|
|
11
|
-
"hash": "sha256:
|
|
10
|
+
"size": 8172141,
|
|
11
|
+
"hash": "sha256:964b549d9b27cc744b75232f5315c8a2a88edd4e34da4e8d6cede681be910191"
|
|
12
12
|
},
|
|
13
13
|
"hardware-world": {
|
|
14
14
|
"file": "hardware-world.js",
|
|
15
|
-
"size":
|
|
16
|
-
"hash": "sha256:
|
|
15
|
+
"size": 8184560,
|
|
16
|
+
"hash": "sha256:613ed3ca8a5936fa063137a257fd95183b8db7fbb28f557909fd1976c5187e1b"
|
|
17
17
|
},
|
|
18
18
|
"ecommerce": {
|
|
19
19
|
"file": "ecommerce.js",
|
|
20
|
-
"size":
|
|
21
|
-
"hash": "sha256:
|
|
20
|
+
"size": 8173835,
|
|
21
|
+
"hash": "sha256:e1de25fb7a73eb3d73b0d9d1c6dff89d82605b263cfe01d5ccc245238a354b28"
|
|
22
22
|
},
|
|
23
23
|
"mix-station": {
|
|
24
24
|
"file": "mix-station.js",
|
|
25
|
-
"size":
|
|
26
|
-
"hash": "sha256:
|
|
25
|
+
"size": 8187185,
|
|
26
|
+
"hash": "sha256:b5acc100ef55c725c25eff966d5739203cb112ecded3c9430c6d1acf366136b6"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -159646,7 +159646,12 @@ function anchorSnapshot(rec) {
|
|
|
159646
159646
|
nativePolicyRevision: rec.nativePolicyRevision
|
|
159647
159647
|
};
|
|
159648
159648
|
}
|
|
159649
|
-
var pendingBody = () => ({
|
|
159649
|
+
var pendingBody = (rec, now2) => ({
|
|
159650
|
+
status: "pending",
|
|
159651
|
+
// This is the remaining authorization-session lifetime, not the future VC's
|
|
159652
|
+
// lifetime. Preserve the frozen legacy response and the original DO deadline.
|
|
159653
|
+
...rec.nativeHttp ? { expires_in: Math.max(0, Math.floor((rec.expiresAt - now2) / 1e3)) } : {}
|
|
159654
|
+
});
|
|
159650
159655
|
var pinnedErr = () => ({ error: KYAOS_ERRORS.pickupPinned });
|
|
159651
159656
|
var invalidSessionErr = () => ({ error: KYAOS_ERRORS.invalidSession });
|
|
159652
159657
|
var pickupExpiredErr = () => ({ error: KYAOS_ERRORS.pickupExpired });
|
|
@@ -159750,7 +159755,7 @@ function reducePoll(rec, holder, now2) {
|
|
|
159750
159755
|
}
|
|
159751
159756
|
return {
|
|
159752
159757
|
record: { ...working, lastPollAt: now2 },
|
|
159753
|
-
response: { status: 202, body: pendingBody() }
|
|
159758
|
+
response: { status: 202, body: pendingBody(working, now2) }
|
|
159754
159759
|
};
|
|
159755
159760
|
}
|
|
159756
159761
|
function reduceApprove(rec, input2, now2) {
|
|
@@ -159900,7 +159905,7 @@ async function handlePickupInternal(ctx, request, now2) {
|
|
|
159900
159905
|
// ../mcp-i-cloudflare/package.json
|
|
159901
159906
|
var package_default = {
|
|
159902
159907
|
name: "@kya-os/mcp-i-cloudflare",
|
|
159903
|
-
version: "1.14.
|
|
159908
|
+
version: "1.14.5",
|
|
159904
159909
|
description: "Cloudflare Workers adapter for MCP-I framework",
|
|
159905
159910
|
main: "dist/index.js",
|
|
159906
159911
|
types: "dist/index.d.ts",
|
|
@@ -166390,6 +166395,22 @@ function approvalFailedPage(message3, status = 410) {
|
|
|
166390
166395
|
<p>${escapeHtml2(message3)}</p>
|
|
166391
166396
|
</main>`), status);
|
|
166392
166397
|
}
|
|
166398
|
+
var REQUEST_NOT_PREPARED = {
|
|
166399
|
+
title: "Your agent has not prepared this request yet",
|
|
166400
|
+
body: "Before you can approve, your agent must establish the secure key that will receive your permission. No access has been granted.",
|
|
166401
|
+
nextStep: "Return to your chat and ask your agent to finish preparing this authorization request before sharing the approval link.",
|
|
166402
|
+
unsupported: "If the agent's tools cannot sign requests, this flow cannot be completed in that tool. Do not send your password or browser cookies to the agent."
|
|
166403
|
+
};
|
|
166404
|
+
function requestNotPreparedPage(sid) {
|
|
166405
|
+
return htmlResponse(page(REQUEST_NOT_PREPARED.title, `<main class="kya-consent-not-prepared">
|
|
166406
|
+
<h1>${escapeHtml2(REQUEST_NOT_PREPARED.title)}</h1>
|
|
166407
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.body)}</p>
|
|
166408
|
+
<h2>What to do next</h2>
|
|
166409
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.nextStep)}</p>
|
|
166410
|
+
<p>${escapeHtml2(REQUEST_NOT_PREPARED.unsupported)}</p>
|
|
166411
|
+
<p>Once your agent confirms it is ready, <a href="?sid=${encodeURIComponent(sid)}">Reload this page</a>. If the request has expired, ask your agent to start a new request.</p>
|
|
166412
|
+
</main>`), 409);
|
|
166413
|
+
}
|
|
166393
166414
|
function notFoundJson() {
|
|
166394
166415
|
return jsonResponse({
|
|
166395
166416
|
error: "We could not find this authorization request. It may have already completed or been cancelled."
|
|
@@ -166731,7 +166752,7 @@ async function handleAnchorConsentGet(c, sid, env2, cfg) {
|
|
|
166731
166752
|
}
|
|
166732
166753
|
const info = await infoResponse.json();
|
|
166733
166754
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166734
|
-
return
|
|
166755
|
+
return requestNotPreparedPage(sid);
|
|
166735
166756
|
}
|
|
166736
166757
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166737
166758
|
return nativeUnavailable();
|
|
@@ -166809,7 +166830,7 @@ async function handleAnchorConsentApprove(c, sid, env2, cfg) {
|
|
|
166809
166830
|
}
|
|
166810
166831
|
const info = await infoResponse.json();
|
|
166811
166832
|
if (info.nativeHttp && (!info.holderKeyId || info.status === "pending")) {
|
|
166812
|
-
return approvalFailedJson(
|
|
166833
|
+
return approvalFailedJson(`${REQUEST_NOT_PREPARED.title}. ${REQUEST_NOT_PREPARED.body} ${REQUEST_NOT_PREPARED.nextStep} ${REQUEST_NOT_PREPARED.unsupported}`, 409);
|
|
166813
166834
|
}
|
|
166814
166835
|
if (info.nativeHttp && (!cfg.native || info.nativeIssuerDid !== cfg.native.issuerDid))
|
|
166815
166836
|
return nativeUnavailable();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/create-mcpi-app",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.4",
|
|
4
4
|
"description": "Scaffold a new MCP-I application",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/helpers/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@kya-os/cli-effects": "^1.0.19",
|
|
52
52
|
"@kya-os/contracts": "^1.12.1",
|
|
53
53
|
"@kya-os/mcp-i": "^1.12.2",
|
|
54
|
-
"@kya-os/mcp-i-cloudflare": "^1.14.
|
|
54
|
+
"@kya-os/mcp-i-cloudflare": "^1.14.5",
|
|
55
55
|
"base-x": "^5.0.0",
|
|
56
56
|
"chalk": "^4.1.2",
|
|
57
57
|
"commander": "^12.1.0",
|