mppx 0.5.6 → 0.5.8
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/CHANGELOG.md +14 -0
- package/dist/Challenge.d.ts +3 -2
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +27 -9
- package/dist/Challenge.js.map +1 -1
- package/dist/Html.d.ts +2 -1
- package/dist/Html.d.ts.map +1 -1
- package/dist/Html.js +1 -1
- package/dist/Html.js.map +1 -1
- package/dist/Method.d.ts +32 -14
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js.map +1 -1
- package/dist/Store.d.ts +68 -2
- package/dist/Store.d.ts.map +1 -1
- package/dist/Store.js +41 -4
- package/dist/Store.js.map +1 -1
- package/dist/mcp-sdk/server/Transport.d.ts.map +1 -1
- package/dist/mcp-sdk/server/Transport.js +7 -0
- package/dist/mcp-sdk/server/Transport.js.map +1 -1
- package/dist/server/Mppx.d.ts +1 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +133 -70
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/Transport.d.ts +8 -2
- package/dist/server/Transport.d.ts.map +1 -1
- package/dist/server/Transport.js +26 -1
- package/dist/server/Transport.js.map +1 -1
- package/dist/server/internal/html/config.d.ts +4 -0
- package/dist/server/internal/html/config.d.ts.map +1 -1
- package/dist/server/internal/html/config.js.map +1 -1
- package/dist/stripe/server/Charge.d.ts +2 -4
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js.map +1 -1
- package/dist/tempo/client/SessionManager.d.ts +13 -2
- package/dist/tempo/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/client/SessionManager.js +429 -4
- package/dist/tempo/client/SessionManager.js.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +28 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +89 -0
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +5 -5
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +90 -66
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +3 -0
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +3 -0
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Session.d.ts +8 -2
- package/dist/tempo/server/Session.d.ts.map +1 -1
- package/dist/tempo/server/Session.js.map +1 -1
- package/dist/tempo/server/index.d.ts +1 -0
- package/dist/tempo/server/index.d.ts.map +1 -1
- package/dist/tempo/server/index.js +1 -0
- package/dist/tempo/server/index.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/server/internal/transport.d.ts.map +1 -1
- package/dist/tempo/server/internal/transport.js +16 -6
- package/dist/tempo/server/internal/transport.js.map +1 -1
- package/dist/tempo/session/ChannelStore.d.ts +12 -1
- package/dist/tempo/session/ChannelStore.d.ts.map +1 -1
- package/dist/tempo/session/ChannelStore.js +55 -14
- package/dist/tempo/session/ChannelStore.js.map +1 -1
- package/dist/tempo/session/Sse.d.ts +11 -2
- package/dist/tempo/session/Sse.d.ts.map +1 -1
- package/dist/tempo/session/Sse.js +66 -25
- package/dist/tempo/session/Sse.js.map +1 -1
- package/dist/tempo/session/Ws.d.ts +87 -0
- package/dist/tempo/session/Ws.d.ts.map +1 -0
- package/dist/tempo/session/Ws.js +428 -0
- package/dist/tempo/session/Ws.js.map +1 -0
- package/dist/tempo/session/index.d.ts +1 -0
- package/dist/tempo/session/index.d.ts.map +1 -1
- package/dist/tempo/session/index.js +1 -0
- package/dist/tempo/session/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Challenge.test.ts +1 -1
- package/src/Challenge.ts +28 -9
- package/src/Html.ts +11 -1
- package/src/Method.ts +61 -20
- package/src/Store.test-d.ts +80 -2
- package/src/Store.test.ts +150 -13
- package/src/Store.ts +140 -3
- package/src/mcp-sdk/server/Transport.test.ts +12 -0
- package/src/mcp-sdk/server/Transport.ts +8 -0
- package/src/server/Mppx.test.ts +105 -0
- package/src/server/Mppx.ts +179 -89
- package/src/server/Transport.test.ts +31 -0
- package/src/server/Transport.ts +31 -2
- package/src/server/internal/html/config.ts +5 -0
- package/src/stripe/server/Charge.ts +2 -4
- package/src/tempo/client/SessionManager.ts +510 -7
- package/src/tempo/internal/fee-payer.test.ts +115 -1
- package/src/tempo/internal/fee-payer.ts +138 -1
- package/src/tempo/server/AtomicStore.test-d.ts +34 -0
- package/src/tempo/server/Charge.test.ts +128 -0
- package/src/tempo/server/Charge.ts +119 -100
- package/src/tempo/server/Methods.ts +3 -0
- package/src/tempo/server/Session.test.ts +1044 -47
- package/src/tempo/server/Session.ts +8 -2
- package/src/tempo/server/Sse.test.ts +29 -0
- package/src/tempo/server/index.ts +1 -0
- package/src/tempo/server/internal/html/main.ts +9 -10
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/server/internal/transport.ts +19 -6
- package/src/tempo/session/ChannelStore.test.ts +20 -1
- package/src/tempo/session/ChannelStore.ts +77 -14
- package/src/tempo/session/Sse.ts +77 -24
- package/src/tempo/session/Ws.test.ts +410 -0
- package/src/tempo/session/Ws.ts +563 -0
- package/src/tempo/session/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAQhE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAQhE,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,KAAK,CAAC,MAAM,WAAW,CAAA;AAKnC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,IAAI,CACd,OAAO,SAAS,OAAO,GAAG,OAAO,EACjC,SAAS,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,IACvD;IACF,4BAA4B;IAC5B,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IAChC,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAA;CACrB,GAAG,CAAC,SAAS,SAAS,SAAS,CAAC,IAAI,GACjC;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,CACL,GAAG,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,GAClD,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;CAClE,GACD,EAAE,CAAC,GACL,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AAE9C,6DAA6D;AAC7D,KAAK,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,SAAS,CAAA;CAAE,GACrE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,SAAS,CAAC,YAAY,GAC1D,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,GAC7B,KAAK,GACP,KAAK,CAAA;AAET,+FAA+F;AAC/F,KAAK,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,SAAS,SAAS,CAAC,YAAY,IAAI;IAC/E,mBAAmB,CAAC,EAAE,CAAC;CACxB,SAAS,CAAC,KAAK,CAAC,GACb,gBAAgB,GAChB,mBAAmB,CAAC,EAAE,CAAC,CAAA;AAE3B,6EAA6E;AAC7E,KAAK,cAAc,CAAC,OAAO,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,SAAS,MAAM,IACpF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,SAAS,MAAM,CAAC,GACxD,CAAC,SAAS,CAAC,GACT,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACxE,IAAI,GACJ,KAAK,GACP,KAAK,GACP,KAAK,CAAA;AAEX,oFAAoF;AACpF,KAAK,oBAAoB,CACvB,OAAO,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,EAC3C,SAAS,SAAS,SAAS,CAAC,YAAY,IACtC;KACD,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,IAAI,GAC1F,WAAW,GACX,KAAK,GAAG,QAAQ,CAClB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,EACjD,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,EAAE,SAAS,CAAC,EAClF,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAC3E;CACF,CAAA;AAED,qFAAqF;AACrF,KAAK,cAAc,CACjB,OAAO,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,EAC3C,SAAS,SAAS,SAAS,CAAC,YAAY,IACtC;KACD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG;SAChC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,IAAI,CAAA;SAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,CACxE,EAAE,EACF,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,EACnC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAC5B,GAAG;YAAE,OAAO,EAAE,EAAE,CAAA;SAAE;KACpB;CACF,CAAA;AAED,KAAK,QAAQ,CACX,OAAO,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,EAC3C,SAAS,SAAS,SAAS,CAAC,YAAY,IACtC;KACD,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAClE,EAAE,EACF,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,EACnC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAC5B;CACF,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,GAC1C,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AAEpC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CACpB,KAAK,CAAC,OAAO,SAAS,OAAO,EAC7B,KAAK,CAAC,SAAS,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,EAC/D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CA2ErE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,MAAM,CACT,OAAO,SAAS,OAAO,GAAG,OAAO,EACjC,SAAS,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,IACvD;QACF,sDAAsD;QACtD,OAAO,EAAE,OAAO,CAAA;QAChB,6KAA6K;QAC7K,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,wKAAwK;QACxK,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,kDAAkD;QAClD,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;KAClC,CAAA;CACF;AAkcD,MAAM,MAAM,QAAQ,CAClB,MAAM,SAAS,MAAM,CAAC,MAAM,EAC5B,SAAS,SAAS,SAAS,CAAC,YAAY,EACxC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACtC,CACF,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KACxC,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;AACnF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAIxE,gBAAgB;AAChB,OAAO,WAAW,QAAQ,CAAC;IACzB,KAAY,OAAO,CACjB,MAAM,SAAS,MAAM,CAAC,MAAM,EAC5B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAChE;QACF,0DAA0D;QAC1D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,4IAA4I;QAC5I,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAC1C,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEvE,KAAY,QAAQ,CAAC,SAAS,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,IAC1E;QACE,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,GAAG,CAAA;KACZ,GACD;QACE,MAAM,EAAE,GAAG,CAAA;QACX,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;KAC9C,CAAA;CACN;AAYD,iHAAiH;AACjH,KAAK,YAAY,CAAC,OAAO,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,IACzD;KACG,CAAC,IAAI,MAAM,OAAO,GAAG,SAAS;QAC7B,OAAO,CAAC,CAAC,CAAC;QACV,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;CACF,CAAC,MAAM,CAAC,GACT;KACG,CAAC,IAAI,MAAM,OAAO,GAAG,SAAS;QAC7B,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QAC/C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;CACF,CAAC,MAAM,CAAC,GACT;KACG,CAAC,IAAI,MAAM,OAAO,GAAG,SAAS;QAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;SAAE;QACxD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;CACF,CAAC,MAAM,CAAC,CAAA;AA+Bb,wBAAgB,OAAO,CACrB,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAC1B,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAwLhE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GACjF,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAa3F;AAED;;;GAGG;AACH,KAAK,cAAc,CAAC,OAAO,SAAS,OAAO,IAAI,OAAO,SAAS,SAAS;IACtE,MAAM,IAAI;IACV,GAAG,MAAM,IAAI,SAAS,OAAO;CAC9B,GACG,IAAI,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GACtC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAC3C,IAAI,SAAS,MAAM,CAAC,SAAS,GAC3B,SAAS,CAAC,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GACxC,KAAK,GACT,SAAS,EAAE,CAAA"}
|
package/dist/server/Mppx.js
CHANGED
|
@@ -94,6 +94,7 @@ function createMethodFn(parameters) {
|
|
|
94
94
|
const merged = { ...defaults, ...rest };
|
|
95
95
|
return Object.assign(async (input) => {
|
|
96
96
|
const expires = 'expires' in options ? options.expires : Expires.minutes(5);
|
|
97
|
+
const capturedRequest = await captureRequest(transport, input);
|
|
97
98
|
// Extract credential once — getCredential may have side effects (e.g. SSE transports).
|
|
98
99
|
const [credential, credentialError] = (() => {
|
|
99
100
|
try {
|
|
@@ -108,10 +109,10 @@ function createMethodFn(parameters) {
|
|
|
108
109
|
})();
|
|
109
110
|
// Transform request if method provides a `request` function.
|
|
110
111
|
const request = (parameters.request
|
|
111
|
-
? await parameters.request({ credential, request: merged })
|
|
112
|
+
? await parameters.request({ capturedRequest, credential, request: merged })
|
|
112
113
|
: merged);
|
|
113
114
|
// Resolve realm: explicit > env var > request Host header.
|
|
114
|
-
const effectiveRealm = realm ??
|
|
115
|
+
const effectiveRealm = realm ?? resolveRealmFromCapturedRequest(capturedRequest);
|
|
115
116
|
// Recompute challenge from options. The HMAC-bound ID means we don't need to
|
|
116
117
|
// store challenges server-side—if the client echoes back a credential with
|
|
117
118
|
// a matching ID, we know it was issued by us with these exact parameters.
|
|
@@ -144,8 +145,17 @@ function createMethodFn(parameters) {
|
|
|
144
145
|
});
|
|
145
146
|
return { challenge: response, status: 402 };
|
|
146
147
|
}
|
|
147
|
-
//
|
|
148
|
-
//
|
|
148
|
+
// ── Tier 1: HMAC provenance check (primary gate) ──────────────────
|
|
149
|
+
//
|
|
150
|
+
// Recompute the HMAC-SHA256 over the credential's echoed challenge
|
|
151
|
+
// parameters (realm|method|intent|request|expires|digest|opaque) and
|
|
152
|
+
// compare to the echoed `id`. This proves the challenge was issued by
|
|
153
|
+
// this server with these exact parameters — including opaque/meta,
|
|
154
|
+
// expires, and the full serialized request blob.
|
|
155
|
+
//
|
|
156
|
+
// This is the authoritative binding per §5.1.2.1.1 of the spec
|
|
157
|
+
// (https://paymentauth.org/draft-httpauth-payment-00.html#section-5.1.2.1.1).
|
|
158
|
+
// No database lookup is needed; the HMAC is stateless verification.
|
|
149
159
|
if (!Challenge.verify(credential.challenge, { secretKey })) {
|
|
150
160
|
const response = await transport.respondChallenge({
|
|
151
161
|
challenge,
|
|
@@ -158,29 +168,30 @@ function createMethodFn(parameters) {
|
|
|
158
168
|
});
|
|
159
169
|
return { challenge: response, status: 402 };
|
|
160
170
|
}
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
//
|
|
167
|
-
//
|
|
171
|
+
// ── Tier 2: Pinned field safety net ──────────────────────────────
|
|
172
|
+
//
|
|
173
|
+
// The HMAC check above (Tier 1) is the primary gate — it already
|
|
174
|
+
// covers ALL challenge fields including opaque, digest, and the full
|
|
175
|
+
// serialized request. So why this second check?
|
|
176
|
+
//
|
|
177
|
+
// The `request()` hook can produce credential-dependent output: for
|
|
178
|
+
// example, `feePayer` may differ between the 402 challenge call (no
|
|
179
|
+
// credential) and the credential-bearing call. This means the
|
|
180
|
+
// recomputed challenge here has a different `request` blob — and
|
|
181
|
+
// thus a different HMAC — than the original challenge the client
|
|
182
|
+
// echoes back. The HMAC check above verifies the *echoed* challenge
|
|
183
|
+
// was signed by us, but it cannot verify that the echoed challenge
|
|
184
|
+
// matches *this route's current configuration* when the request
|
|
185
|
+
// hook transforms fields between calls.
|
|
186
|
+
//
|
|
187
|
+
// This check compares only the economically significant "pinned"
|
|
188
|
+
// fields (method, intent, realm, amount, currency, recipient, etc.)
|
|
189
|
+
// that MUST be stable across both calls. Fields like `opaque`,
|
|
190
|
+
// `digest`, and `expires` don't need explicit pinning here because
|
|
191
|
+
// they are set by server config (not derived from the request hook)
|
|
192
|
+
// and are already fully covered by the HMAC binding in Tier 1.
|
|
168
193
|
{
|
|
169
|
-
|
|
170
|
-
if (credential.challenge[field] !== challenge[field]) {
|
|
171
|
-
const response = await transport.respondChallenge({
|
|
172
|
-
challenge,
|
|
173
|
-
input,
|
|
174
|
-
error: new Errors.InvalidChallengeError({
|
|
175
|
-
id: credential.challenge.id,
|
|
176
|
-
reason: `credential ${field} does not match this route's requirements`,
|
|
177
|
-
}),
|
|
178
|
-
html: method.html,
|
|
179
|
-
});
|
|
180
|
-
return { challenge: response, status: 402 };
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
const mismatch = getRequestBindingMismatch(challenge.request, credential.challenge.request);
|
|
194
|
+
const mismatch = getPinnedChallengeMismatch(challenge, credential.challenge);
|
|
184
195
|
if (mismatch) {
|
|
185
196
|
const response = await transport.respondChallenge({
|
|
186
197
|
challenge,
|
|
@@ -189,6 +200,7 @@ function createMethodFn(parameters) {
|
|
|
189
200
|
id: credential.challenge.id,
|
|
190
201
|
reason: `credential ${mismatch} does not match this route's requirements`,
|
|
191
202
|
}),
|
|
203
|
+
html: method.html,
|
|
192
204
|
});
|
|
193
205
|
return { challenge: response, status: 402 };
|
|
194
206
|
}
|
|
@@ -217,11 +229,16 @@ function createMethodFn(parameters) {
|
|
|
217
229
|
});
|
|
218
230
|
return { challenge: response, status: 402 };
|
|
219
231
|
}
|
|
232
|
+
const envelope = Object.freeze({
|
|
233
|
+
capturedRequest,
|
|
234
|
+
challenge: credential.challenge,
|
|
235
|
+
credential,
|
|
236
|
+
});
|
|
220
237
|
// User-provided verification (e.g., check signature, submit tx, verify payment).
|
|
221
238
|
// If verification fails, re-issue the challenge so the client can retry.
|
|
222
239
|
let receiptData;
|
|
223
240
|
try {
|
|
224
|
-
receiptData = await verify({ credential, request });
|
|
241
|
+
receiptData = await verify({ credential, envelope, request });
|
|
225
242
|
}
|
|
226
243
|
catch (e) {
|
|
227
244
|
if (!(e instanceof Errors.PaymentError))
|
|
@@ -240,7 +257,7 @@ function createMethodFn(parameters) {
|
|
|
240
257
|
// return the management response directly. If undefined, `withReceipt()`
|
|
241
258
|
// expects the caller to pass the user handler's response instead.
|
|
242
259
|
const managementResponse = respond
|
|
243
|
-
? await respond({ credential, input, receipt: receiptData, request })
|
|
260
|
+
? await respond({ credential, envelope, input, receipt: receiptData, request })
|
|
244
261
|
: undefined;
|
|
245
262
|
return {
|
|
246
263
|
status: 200,
|
|
@@ -248,6 +265,7 @@ function createMethodFn(parameters) {
|
|
|
248
265
|
if (managementResponse) {
|
|
249
266
|
return transport.respondReceipt({
|
|
250
267
|
credential,
|
|
268
|
+
envelope,
|
|
251
269
|
input,
|
|
252
270
|
receipt: receiptData,
|
|
253
271
|
response: managementResponse,
|
|
@@ -258,6 +276,7 @@ function createMethodFn(parameters) {
|
|
|
258
276
|
throw new Error('withReceipt() requires a response argument');
|
|
259
277
|
return transport.respondReceipt({
|
|
260
278
|
credential,
|
|
279
|
+
envelope,
|
|
261
280
|
input,
|
|
262
281
|
receipt: receiptData,
|
|
263
282
|
response: response,
|
|
@@ -297,64 +316,108 @@ function warnOnce(key, message) {
|
|
|
297
316
|
_warned.add(key);
|
|
298
317
|
console.warn(`[mppx] ${message}`);
|
|
299
318
|
}
|
|
300
|
-
/** Extracts hostname from the request URL, falling back to a default. */
|
|
301
|
-
function
|
|
319
|
+
/** Extracts hostname from the captured request URL, falling back to a default. */
|
|
320
|
+
function resolveRealmFromCapturedRequest(capturedRequest) {
|
|
302
321
|
try {
|
|
303
|
-
const
|
|
304
|
-
if (
|
|
305
|
-
|
|
306
|
-
if (/^https?:$/.test(protocol) && hostname)
|
|
307
|
-
return hostname;
|
|
308
|
-
}
|
|
322
|
+
const { protocol, hostname } = capturedRequest.url;
|
|
323
|
+
if (/^https?:$/.test(protocol) && hostname)
|
|
324
|
+
return hostname;
|
|
309
325
|
}
|
|
310
326
|
catch { }
|
|
311
327
|
warnOnce(Warnings.realmFallback, `Could not auto-detect realm from request. Falling back to "${defaultRealm}". Set \`realm\` in Mppx.create() or the MPP_REALM env var.`);
|
|
312
328
|
return defaultRealm;
|
|
313
329
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
330
|
+
/**
|
|
331
|
+
* Captures the transport request into a frozen snapshot at the start of the
|
|
332
|
+
* verification flow. This snapshot is threaded through request() → verify() →
|
|
333
|
+
* respond() → respondReceipt() so every hook sees the same authoritative
|
|
334
|
+
* request state — preventing the raw transport input from being re-read or
|
|
335
|
+
* mutated between verification steps.
|
|
336
|
+
*
|
|
337
|
+
* Note: Object.freeze is shallow — it prevents reassigning top-level properties
|
|
338
|
+
* but does not deep-freeze mutable class instances like Headers or URL. This is
|
|
339
|
+
* an accidental-mutation guard for trusted server hooks, not a security boundary.
|
|
340
|
+
*/
|
|
341
|
+
async function captureRequest(transport, input) {
|
|
342
|
+
const capturedRequest = transport.captureRequest
|
|
343
|
+
? await transport.captureRequest(input)
|
|
344
|
+
: captureRequestFromInput(input);
|
|
345
|
+
return Object.freeze(capturedRequest);
|
|
326
346
|
}
|
|
327
|
-
function
|
|
328
|
-
const
|
|
347
|
+
function captureRequestFromInput(input) {
|
|
348
|
+
const source = input;
|
|
329
349
|
return {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
chainId: request.chainId ?? methodDetails.chainId,
|
|
334
|
-
memo: methodDetails.memo,
|
|
335
|
-
splits: methodDetails.splits,
|
|
350
|
+
headers: new Headers(source.headers),
|
|
351
|
+
method: source.method ?? 'POST',
|
|
352
|
+
url: Transport.safeUrl(source.url),
|
|
336
353
|
};
|
|
337
354
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
355
|
+
const coreBindingFields = ['amount', 'currency', 'recipient'];
|
|
356
|
+
const methodBindingFields = ['chainId', 'memo', 'splits'];
|
|
357
|
+
const pinnedRequestBindingFields = [...coreBindingFields, ...methodBindingFields];
|
|
358
|
+
/**
|
|
359
|
+
* Compares only the fields that MUST be stable across request-hook transforms.
|
|
360
|
+
*
|
|
361
|
+
* This is NOT the primary integrity check — the HMAC binding (Challenge.verify)
|
|
362
|
+
* already covers every challenge field including opaque, digest, and the full
|
|
363
|
+
* serialized request. This function exists as a secondary safety net for the
|
|
364
|
+
* case where the `request()` hook produces credential-dependent output, causing
|
|
365
|
+
* the recomputed challenge to differ from the original in non-economic fields
|
|
366
|
+
* (e.g. `feePayer`). We only need to verify that the economically significant
|
|
367
|
+
* subset hasn't drifted.
|
|
368
|
+
*/
|
|
369
|
+
function getPinnedChallengeMismatch(expectedChallenge, actualChallenge) {
|
|
370
|
+
for (const field of ['method', 'intent', 'realm']) {
|
|
371
|
+
if (actualChallenge[field] !== expectedChallenge[field])
|
|
372
|
+
return field;
|
|
349
373
|
}
|
|
374
|
+
return getPinnedRequestBindingMismatch(expectedChallenge.request, actualChallenge.request);
|
|
375
|
+
}
|
|
376
|
+
function getPinnedRequestBindingMismatch(expectedRequest, actualRequest) {
|
|
377
|
+
const expected = getPinnedRequestBinding(expectedRequest);
|
|
378
|
+
const actual = getPinnedRequestBinding(actualRequest);
|
|
379
|
+
return (getCoreBindingMismatch(expected.coreBinding, actual.coreBinding) ??
|
|
380
|
+
getMethodBindingMismatch(expected.methodBinding, actual.methodBinding));
|
|
381
|
+
}
|
|
382
|
+
function getCoreBindingMismatch(expected, actual) {
|
|
383
|
+
return coreBindingFields.find((field) => !isDeepStrictEqual(expected[field], actual[field]));
|
|
384
|
+
}
|
|
385
|
+
function getMethodBindingMismatch(expected, actual) {
|
|
386
|
+
return methodBindingFields.find((field) => !isDeepStrictEqual(expected[field], actual[field]));
|
|
387
|
+
}
|
|
388
|
+
function getPinnedRequestBinding(request) {
|
|
389
|
+
const methodDetails = (request.methodDetails ?? {});
|
|
390
|
+
const amount = normalizeScalar(request.amount ?? methodDetails.amount);
|
|
391
|
+
const chainId = normalizeScalar(request.chainId ?? methodDetails.chainId);
|
|
392
|
+
const currency = normalizeScalar(request.currency ?? methodDetails.currency);
|
|
393
|
+
const memo = normalizeHex(methodDetails.memo);
|
|
394
|
+
const recipient = normalizeScalar(request.recipient ?? methodDetails.recipient);
|
|
395
|
+
const splits = normalizeComparable(methodDetails.splits);
|
|
396
|
+
return {
|
|
397
|
+
coreBinding: {
|
|
398
|
+
...(amount !== undefined ? { amount } : {}),
|
|
399
|
+
...(currency !== undefined ? { currency } : {}),
|
|
400
|
+
...(recipient !== undefined ? { recipient } : {}),
|
|
401
|
+
},
|
|
402
|
+
methodBinding: {
|
|
403
|
+
...(chainId !== undefined ? { chainId } : {}),
|
|
404
|
+
...(memo !== undefined ? { memo } : {}),
|
|
405
|
+
...(splits !== undefined ? { splits } : {}),
|
|
406
|
+
},
|
|
407
|
+
};
|
|
350
408
|
}
|
|
351
409
|
function normalizeScalar(value) {
|
|
352
410
|
return value === undefined ? undefined : String(value);
|
|
353
411
|
}
|
|
354
412
|
function normalizeHex(value) {
|
|
355
|
-
|
|
413
|
+
if (value === undefined)
|
|
414
|
+
return undefined;
|
|
415
|
+
const normalized = String(value);
|
|
416
|
+
return normalized.startsWith('0x') ? normalized.toLowerCase() : normalized;
|
|
356
417
|
}
|
|
357
418
|
function normalizeComparable(value) {
|
|
419
|
+
if (value === undefined)
|
|
420
|
+
return undefined;
|
|
358
421
|
if (Array.isArray(value))
|
|
359
422
|
return value.map(normalizeComparable);
|
|
360
423
|
if (value && typeof value === 'object') {
|
|
@@ -362,7 +425,7 @@ function normalizeComparable(value) {
|
|
|
362
425
|
.sort(([left], [right]) => left.localeCompare(right))
|
|
363
426
|
.map(([key, nested]) => [key, normalizeComparable(nested)]));
|
|
364
427
|
}
|
|
365
|
-
return normalizeHex(value);
|
|
428
|
+
return typeof value === 'string' ? normalizeHex(value) : value;
|
|
366
429
|
}
|
|
367
430
|
export function compose(...args) {
|
|
368
431
|
// Extract optional html options from last argument
|
|
@@ -428,7 +491,7 @@ export function compose(...args) {
|
|
|
428
491
|
const canonical = meta._canonicalRequest;
|
|
429
492
|
if (!canonical)
|
|
430
493
|
return true;
|
|
431
|
-
return !
|
|
494
|
+
return !getPinnedRequestBindingMismatch(canonical, credReq);
|
|
432
495
|
});
|
|
433
496
|
const match = candidates[0] ??
|
|
434
497
|
handlers.find((h) => {
|
package/dist/server/Mppx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mppx.js","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Mppx.js","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AAEzC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAA;AAGtD,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAyH3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,MAAM,CAGpB,MAAyC;IACzC,MAAM,EACJ,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EACxB,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAChC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAe,GAC1C,GAAG,MAAM,CAAA;IAEV,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAwC,CAAA;IAE3E,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAC5C,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1D,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC;YACnD,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,EAAE;YACV,KAAK;YACL,OAAO,EAAE,EAAE,CAAC,OAAgB;YAC5B,OAAO,EAAE,EAAE,CAAC,OAAgB;YAC5B,SAAS;YACT,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,SAAS,CAAU;YAC/C,MAAM,EAAE,EAAE,CAAC,MAAe;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAiD,CAAA;QAC9F,EAAE,CAAC,OAAO,GAAG,EAAE,CACd;QAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAA6B,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IACjE,CAAC;IAED,SAAS,SAAS,CAChB,GAAG,OAGA;QAEH,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAClF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE;YACxD,MAAM,GAAG,GACP,OAAO,WAAW,KAAK,QAAQ;gBAC7B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,OAAO,WAAW,KAAK,UAAU,IAAI,SAAS,IAAI,WAAW;oBAC7D,CAAC,CAAC,GAAI,WAAW,CAAC,OAA4B,CAAC,IAAI,IAAK,WAAW,CAAC,OAA4B,CAAC,MAAM,EAAE;oBACzG,CAAC,CAAC,GAAI,WAAgC,CAAC,IAAI,IAAK,WAAgC,CAAC,MAAM,EAAE,CAAA;YAC/F,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAA4B,CAAA;YAC1D,IAAI,CAAC,SAAS;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,0CAA0C,CAAC,CAAA;YACnF,OAAO,SAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAC,GAAI,UAAkC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,KAA2B;QAClC,SAAS;QACT,GAAG,QAAQ;KACH,CAAA;AACZ,CAAC;AAyBD,qDAAqD;AACrD,SAAS,cAAc,CAAC,UAAqC;IAC3D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAErF,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QAC9C,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;QAEvC,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,EAAE,KAAwB,EAA8B,EAAE;YAC7D,MAAM,OAAO,GACX,SAAS,IAAI,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,OAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACrF,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAE9D,uFAAuF;YACvF,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC1C,IAAI,CAAC;oBACH,OAAO;wBACL,SAAS,CAAC,aAAa,CAAC,KAAK,CAAiC;wBAC9D,SAAS;qBACD,CAAA;gBACZ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,EAAE,CAAU,CAAU,CAAA;gBACpC,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;YAEJ,6DAA6D;YAC7D,MAAM,OAAO,GAAG,CACd,UAAU,CAAC,OAAO;gBAChB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAW,CAAC;gBACrF,CAAC,CAAC,MAAM,CACF,CAAA;YAEV,2DAA2D;YAC3D,MAAM,cAAc,GAAG,KAAK,IAAI,+BAA+B,CAAC,eAAe,CAAC,CAAA;YAEhF,6EAA6E;YAC7E,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC7C,WAAW;gBACX,OAAO;gBACP,IAAI;gBACJ,KAAK,EAAE,cAAc;gBACrB,OAAO;gBACP,SAAS;aACV,CAAC,CAAA;YAEF,wCAAwC;YACxC,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAA;gBACvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;oBACvD,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YAED,qEAAqE;YACrE,EAAE;YACF,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,mEAAmE;YACnE,iDAAiD;YACjD,EAAE;YACF,+DAA+D;YAC/D,8EAA8E;YAC9E,oEAAoE;YACpE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC;wBACtC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;wBAC3B,MAAM,EAAE,yCAAyC;qBAClD,CAAC;oBACF,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YAED,oEAAoE;YACpE,EAAE;YACF,iEAAiE;YACjE,qEAAqE;YACrE,gDAAgD;YAChD,EAAE;YACF,oEAAoE;YACpE,oEAAoE;YACpE,8DAA8D;YAC9D,iEAAiE;YACjE,iEAAiE;YACjE,oEAAoE;YACpE,mEAAmE;YACnE,gEAAgE;YAChE,wCAAwC;YACxC,EAAE;YACF,iEAAiE;YACjE,oEAAoE;YACpE,+DAA+D;YAC/D,mEAAmE;YACnE,oEAAoE;YACpE,+DAA+D;YAC/D,CAAC;gBACC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;gBAC5E,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;wBAChD,SAAS;wBACT,KAAK;wBACL,KAAK,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC;4BACtC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;4BAC3B,MAAM,EAAE,cAAc,QAAQ,2CAA2C;yBAC1E,CAAC;wBACF,IAAI,EAAE,MAAM,CAAC,IAAI;qBAClB,CAAC,CAAA;oBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;gBAC7C,CAAC;YACH,CAAC;YAED,6EAA6E;YAC7E,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,KAA4B;iBACpC,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YACD,mDAAmD;YACnD,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,IAAI,MAAM,CAAC,mBAAmB,EAAE;iBACxC,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YAED,MAAM,QAAQ,GAAqC,MAAM,CAAC,MAAM,CAAC;gBAC/D,eAAe;gBACf,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,UAAU;aACX,CAAC,CAAA;YAEF,iFAAiF;YACjF,yEAAyE;YACzE,IAAI,WAA4B,CAAA;YAChC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAW,CAAC,CAAA;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,YAAY,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;gBACvD,MAAM,KAAK,GAAG,CAAC,YAAY,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAA;gBACzF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;oBAChD,SAAS;oBACT,KAAK;oBACL,KAAK;iBACN,CAAC,CAAA;gBACF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAC7C,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,oEAAoE;YACpE,yEAAyE;YACzE,kEAAkE;YAClE,MAAM,kBAAkB,GAAG,OAAO;gBAChC,CAAC,CAAC,MAAM,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAW,CAAC;gBACxF,CAAC,CAAC,SAAS,CAAA;YAEb,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,WAAW,CAAW,QAAmB;oBACvC,IAAI,kBAAkB,EAAE,CAAC;wBACvB,OAAO,SAAS,CAAC,cAAc,CAAC;4BAC9B,UAAU;4BACV,QAAQ;4BACR,KAAK;4BACL,OAAO,EAAE,WAAW;4BACpB,QAAQ,EAAE,kBAA2B;4BACrC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;yBACrC,CAAa,CAAA;oBAChB,CAAC;oBACD,IAAI,CAAC,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;oBAC5E,OAAO,SAAS,CAAC,cAAc,CAAC;wBAC9B,UAAU;wBACV,QAAQ;wBACR,KAAK;wBACL,OAAO,EAAE,WAAW;wBACpB,QAAQ,EAAE,QAAiB;wBAC3B,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;qBACrC,CAAa,CAAA;gBAChB,CAAC;aACF,CAAA;QACH,CAAC,EACD;YACE,SAAS,EAAE;gBACT,GAAG,MAAM;gBACT,GAAG,QAAQ;gBACX,GAAG,OAAO;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,iBAAiB,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;aAC7D;SACF,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,UAAU,CAAC,8BAA8B;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IACpF,IAAI,KAAK,YAAY,UAAU,CAAC,+BAA+B;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IACrF,IAAI,KAAK,YAAY,UAAU,CAAC,yBAAyB;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IAC/E,OAAO,SAAS,CAAA;AAClB,CAAC;AAyBD,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,QAAQ,GAAG;IACf,aAAa,EAAE,gBAAgB;CACvB,CAAA;AAEV,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;AACjC,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAe;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;AACnC,CAAC;AAED,kFAAkF;AAClF,SAAS,+BAA+B,CAAC,eAAuC;IAC9E,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,GAAG,CAAA;QAClD,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,QAAQ,CACN,QAAQ,CAAC,aAAa,EACtB,8DAA8D,YAAY,6DAA6D,CACxI,CAAA;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,cAAc,CAC3B,SAAiC,EACjC,KAAc;IAEd,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc;QAC9C,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAElC,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAG,KAId,CAAA;IAED,OAAO;QACL,OAAO,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM;QAC/B,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;KACnC,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAU,CAAA;AACtE,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAClE,MAAM,0BAA0B,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,mBAAmB,CAAU,CAAA;AAO1F;;;;;;;;;;GAUG;AACH,SAAS,0BAA0B,CACjC,iBAAsC,EACtC,eAAoC;IAEpC,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,EAAE,CAAC;QAC3D,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;IACvE,CAAC;IAED,OAAO,+BAA+B,CACpC,iBAAiB,CAAC,OAAkC,EACpD,eAAe,CAAC,OAAkC,CACnD,CAAA;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,eAAwC,EACxC,aAAsC;IAEtC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IAErD,OAAO,CACL,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChE,wBAAwB,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CACvE,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAqB,EACrB,MAAmB;IAEnB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAuB,EACvB,MAAqB;IAErB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgC;IAC/D,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAA4B,CAAA;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5E,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IAC/E,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAExD,OAAO;QACL,WAAW,EAAE;YACX,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD;QACD,aAAa,EAAE;YACb,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;KACF,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEzC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAE/D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC9D,CAAA;IACH,CAAC;IAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAChE,CAAC;AAgHD,MAAM,UAAU,OAAO,CACrB,GAAG,IAAwB;IAE3B,mDAAmD;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,cAAc,GAClB,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,KAAK,UAAU;QAC1B,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,GAAG,IAA0B,CAAA;YACvC,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAA;QACH,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAET,CAAA;IAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAErF,OAAO,KAAK,EAAE,KAAc,EAAE,EAAE;QAC9B,gDAAgD;QAChD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAC9E,IAAI,OAAO;gBACT,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE;wBACrC,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE;4BACP,cAAc,EAAE,wBAAwB;4BACxC,eAAe,EAAE,UAAU;yBAC5B;qBACF,CAAC;iBACkC,CAAA;QAC1C,CAAC;QAED,kFAAkF;QAClF,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACjD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE7E,IAAI,aAAa,EAAE,CAAC;YAClB,2DAA2D;YAC3D,IAAI,UAA6C,CAAA;YACjD,IAAI,CAAC;gBACH,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;YACpD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,SAAS,CAAA;gBACvE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,OAAkC,CAAA;gBAEvE,wEAAwE;gBACxE,sEAAsE;gBACtE,kEAAkE;gBAClE,kEAAkE;gBAClE,yEAAyE;gBACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,MAAM,IAAI,GAAI,CAAuB,CAAC,SAAS,CAAA;oBAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;wBAAE,OAAO,KAAK,CAAA;oBACjF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAA;oBACxC,IAAI,CAAC,SAAS;wBAAE,OAAO,IAAI,CAAA;oBAC3B,OAAO,CAAC,+BAA+B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBAC7D,CAAC,CAAC,CAAA;gBAEF,MAAM,KAAK,GACT,UAAU,CAAC,CAAC,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAClB,MAAM,IAAI,GAAI,CAAuB,CAAC,SAAS,CAAA;wBAC/C,OAAO,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;oBACjE,CAAC,CAAC,CAAA;gBACJ,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;YAED,yEAAyE;YACzE,iFAAiF;YACjF,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,8DAA8D;QAC9D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEhE,yDAAyD;QACzD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAA;QACnC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;QAE9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;gBAAE,SAAQ;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAqB,CAAA;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACxD,IAAI,OAAO;gBAAE,aAAa,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;YACxB,MAAM,OAAO,GAGP,EAAE,CAAA;YACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAI,QAAQ,CAAC,CAAC,CAAuB,CAAC,SAAS,CAAA;gBACzD,IAAI,CAAC,IAAI,EAAE,IAAI;oBAAE,SAAQ;gBACzB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBACzB,IAAI,MAAM,EAAE,MAAM,KAAK,GAAG;oBAAE,SAAQ;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBAChE,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,OAAO,CAAC,IAAI,CAAC;oBACX,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAsB;oBACzC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;iBAC1C,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACpE,IAAI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc;YACzC,qFAAqF;YACrF,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,IAAK,EAAmB,CACjF,CAAA;YAED,uCAAuC;YACvC,MAAM,OAAO,GAA8B,EAAE,CAAA;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAE,CAAA;gBAC7B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG;oBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI;oBACnC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE;oBAC/B,eAAe,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAK,CAAC,YAAY,CAC/D,KAAK,CAAC,SAAS,CAAC,OAAO,CACxB;oBACD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAK,CAAC,MAAM;oBAC5C,SAAS,EAAE,KAAK,CAAC,SAAkB;oBACnC,IAAI;oBACJ,KAAK;iBACN,CAAA;YACH,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAA;YAE7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAA;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACvB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAK,CAAC,OAAO;iBAC/C,CAAC,CAAC;gBACH,OAAO;gBACP,eAAe,EAAE,SAAS,CAAC,eAAe;gBAC1C,MAAM,EAAE,IAAI;gBACZ,IAAI;gBACJ,KAAK;aACN,CAAC,CAAA;YAEF,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;aACvE,CAAA;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,GAAkB,IAAI,CAAA;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;gBAAE,SAAQ;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAqB,CAAA;gBAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBACxD,IAAI,WAAW;oBAAE,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;gBAC/D,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAC5B,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;SACvE,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAkF;IAElF,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAEhE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,SAAgC,CAAC,CAAA;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAwB,CAAA;YACpF,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,CAAA;QAC3E,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as Challenge from '../Challenge.js';
|
|
2
2
|
import * as Credential from '../Credential.js';
|
|
3
3
|
import * as Errors from '../Errors.js';
|
|
4
|
-
import type { Distribute, UnionToIntersection } from '../internal/types.js';
|
|
4
|
+
import type { Distribute, MaybePromise, UnionToIntersection } from '../internal/types.js';
|
|
5
5
|
import * as core_Mcp from '../Mcp.js';
|
|
6
|
+
import type * as Method from '../Method.js';
|
|
6
7
|
import * as Receipt from '../Receipt.js';
|
|
7
8
|
import * as Html from './internal/html/config.js';
|
|
8
9
|
export { type McpSdk, mcpSdk } from '../mcp-sdk/server/Transport.js';
|
|
@@ -15,6 +16,8 @@ export { type McpSdk, mcpSdk } from '../mcp-sdk/server/Transport.js';
|
|
|
15
16
|
export type Transport<in out input = unknown, in out challengeOutput = unknown, in receiptResponse = challengeOutput, out receiptOutput = receiptResponse> = {
|
|
16
17
|
/** Transport name for identification. */
|
|
17
18
|
name: string;
|
|
19
|
+
/** Captures the transport request into an immutable verification snapshot. */
|
|
20
|
+
captureRequest?: ((input: input) => MaybePromise<Method.CapturedRequest>) | undefined;
|
|
18
21
|
/**
|
|
19
22
|
* Extracts credential from the transport input.
|
|
20
23
|
* Returns `null` if no credential was provided, or throws if malformed.
|
|
@@ -31,6 +34,7 @@ export type Transport<in out input = unknown, in out challengeOutput = unknown,
|
|
|
31
34
|
respondReceipt: (options: {
|
|
32
35
|
challengeId: string;
|
|
33
36
|
credential: Credential.Credential;
|
|
37
|
+
envelope?: Method.VerifiedChallengeEnvelope | undefined;
|
|
34
38
|
input: input;
|
|
35
39
|
receipt: Receipt.Receipt;
|
|
36
40
|
response: receiptResponse;
|
|
@@ -64,9 +68,10 @@ export type WithReceipt<transport extends AnyTransport = Http> = WithReceiptOver
|
|
|
64
68
|
*
|
|
65
69
|
* const custom = Transport.from({
|
|
66
70
|
* name: 'custom',
|
|
71
|
+
* captureRequest(input) { ... },
|
|
67
72
|
* getCredential(input) { ... },
|
|
68
73
|
* respondChallenge({ challenge, input }) { ... },
|
|
69
|
-
* respondReceipt({ receipt, response, challengeId, credential, input }) { ... },
|
|
74
|
+
* respondReceipt({ receipt, response, challengeId, credential, envelope, input }) { ... },
|
|
70
75
|
* })
|
|
71
76
|
* ```
|
|
72
77
|
*/
|
|
@@ -90,6 +95,7 @@ export declare function http(): Http;
|
|
|
90
95
|
* For use with `@modelcontextprotocol/sdk`, use `mcpSdk()` instead.
|
|
91
96
|
*/
|
|
92
97
|
export declare function mcp(): Transport<core_Mcp.JsonRpcRequest, core_Mcp.Response, core_Mcp.Response, core_Mcp.Response>;
|
|
98
|
+
export declare function safeUrl(url: string | URL | undefined): URL;
|
|
93
99
|
/** @internal Distributes over the receipt response union to create overloads. */
|
|
94
100
|
type WithReceiptOverloads<transport extends AnyTransport = Http> = {
|
|
95
101
|
(): ReceiptOutputOf<transport>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Transport.js
CHANGED
|
@@ -15,9 +15,10 @@ export { mcpSdk } from '../mcp-sdk/server/Transport.js';
|
|
|
15
15
|
*
|
|
16
16
|
* const custom = Transport.from({
|
|
17
17
|
* name: 'custom',
|
|
18
|
+
* captureRequest(input) { ... },
|
|
18
19
|
* getCredential(input) { ... },
|
|
19
20
|
* respondChallenge({ challenge, input }) { ... },
|
|
20
|
-
* respondReceipt({ receipt, response, challengeId, credential, input }) { ... },
|
|
21
|
+
* respondReceipt({ receipt, response, challengeId, credential, envelope, input }) { ... },
|
|
21
22
|
* })
|
|
22
23
|
* ```
|
|
23
24
|
*/
|
|
@@ -34,6 +35,13 @@ export function from(transport) {
|
|
|
34
35
|
export function http() {
|
|
35
36
|
return from({
|
|
36
37
|
name: 'http',
|
|
38
|
+
captureRequest(request) {
|
|
39
|
+
return {
|
|
40
|
+
headers: new Headers(request.headers),
|
|
41
|
+
method: request.method,
|
|
42
|
+
url: safeUrl(request.url),
|
|
43
|
+
};
|
|
44
|
+
},
|
|
37
45
|
getCredential(request) {
|
|
38
46
|
const header = request.headers.get('Authorization');
|
|
39
47
|
if (!header)
|
|
@@ -113,6 +121,13 @@ export function http() {
|
|
|
113
121
|
export function mcp() {
|
|
114
122
|
return from({
|
|
115
123
|
name: 'mcp',
|
|
124
|
+
captureRequest(request) {
|
|
125
|
+
return {
|
|
126
|
+
headers: new Headers(),
|
|
127
|
+
method: 'POST',
|
|
128
|
+
url: new URL(`mcp://request/${encodeURIComponent(request.method ?? 'unknown')}`),
|
|
129
|
+
};
|
|
130
|
+
},
|
|
116
131
|
getCredential(request) {
|
|
117
132
|
const meta = request.params?._meta;
|
|
118
133
|
const credential = meta?.[core_Mcp.credentialMetaKey];
|
|
@@ -165,4 +180,14 @@ function mcpErrorCode(error) {
|
|
|
165
180
|
return core_Mcp.paymentRequiredCode;
|
|
166
181
|
return core_Mcp.paymentVerificationFailedCode;
|
|
167
182
|
}
|
|
183
|
+
export function safeUrl(url) {
|
|
184
|
+
try {
|
|
185
|
+
if (url instanceof URL)
|
|
186
|
+
return new URL(url.toString());
|
|
187
|
+
if (url)
|
|
188
|
+
return new URL(url);
|
|
189
|
+
}
|
|
190
|
+
catch { }
|
|
191
|
+
return new URL('about:blank');
|
|
192
|
+
}
|
|
168
193
|
//# sourceMappingURL=Transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,10 @@ export type Theme = {
|
|
|
111
111
|
/** Input/card surface. @default ['#f5f5f5', '#1a1a1a'] */
|
|
112
112
|
surface?: LightDark | undefined;
|
|
113
113
|
};
|
|
114
|
+
export type Config = {
|
|
115
|
+
text?: Text | undefined;
|
|
116
|
+
theme?: Theme | undefined;
|
|
117
|
+
};
|
|
114
118
|
type LightDark = string | readonly [light: string, dark: string];
|
|
115
119
|
export declare function resolveOptions(options: Options): {
|
|
116
120
|
theme: ResolvedTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/html/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/html/config.ts"],"names":[],"mappings":"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"}
|