@joclaim/browser-extension-sdk 0.2.4 → 0.2.5
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/build/174.bundle.js +1 -0
- package/build/975.bundle.js +2 -0
- package/build/975.bundle.js.map +1 -0
- package/build/JoclaimExtensionSDK-mv2.bundle.js +5 -5
- package/build/JoclaimExtensionSDK-mv2.bundle.js.map +1 -1
- package/build/JoclaimExtensionSDK.bundle.js +5 -5
- package/build/JoclaimExtensionSDK.bundle.js.map +1 -1
- package/build/background/background-mv2.bundle.js.map +1 -1
- package/build/background/background.bundle.js.map +1 -1
- package/build/content/components/reclaim-provider-verification-popup.css +666 -0
- package/build/content/components/reclaim-provider-verification-popup.html +138 -0
- package/build/content/content.bundle.js +11 -0
- package/build/content/content.bundle.js.map +1 -0
- package/build/interceptor/injection-scripts.bundle.js +2 -0
- package/build/interceptor/injection-scripts.bundle.js.map +1 -0
- package/build/interceptor/network-interceptor.bundle.js +2 -0
- package/build/interceptor/network-interceptor.bundle.js.map +1 -0
- package/build/offscreen/offscreen.bundle.js +121 -0
- package/build/offscreen/offscreen.bundle.js.map +1 -0
- package/build/offscreen/offscreen.html +15 -0
- package/build/scripts/download-circuits.js +1 -0
- package/build/scripts/install-assets.js +2 -0
- package/package.json +3 -3
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var e={5606:e=>{var t,r,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function c(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var a,u=[],s=!1,l=-1;function f(){s&&a&&(s=!1,a.length?u=a.concat(u):l=-1,u.length&&p())}function p(){if(!s){var e=c(f);s=!0;for(var t=u.length;t;){for(a=u,u=[];++l<t;)a&&a[l].run();l=-1,t=u.length}a=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new d(e,t)),1!==u.length||s||c(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}},t={};var r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(5606);function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",c=r.toStringTag||"@@toStringTag";function a(r,n,o,c){var a=n&&n.prototype instanceof s?n:s,l=Object.create(a.prototype);return i(l,"_invoke",function(r,n,o){var i,c,a,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,r){return i=t,c=0,a=e,p.n=r,u}};function d(r,n){for(c=r,a=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],d=p.p,m=i[2];r>3?(o=m===n)&&(a=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,p.v=n,p.n=i[1]):d<m&&(o=r<3||i[0]>n||n>m)&&(i[4]=r,i[5]=n,p.n=m,c=0))}if(o||r>1)return u;throw f=!0,n}return function(o,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),c=l,a=m;(t=c<2?e:a)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,a)):p.n=a:p.v=a);try{if(s=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(f=p.n<0)?a:r.call(n,p))!==u)break}catch(t){i=e,c=1,a=t}finally{s=1}}return{value:t,done:f}}}(r,o,c),!0),l}var u={};function s(){}function l(){}function f(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(i(t={},n,function(){return this}),t),d=f.prototype=s.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,c,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,i(d,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,c,"GeneratorFunction"),i(d),i(d,c,"Generator"),i(d,n,function(){return this}),i(d,"toString",function(){return"[object Generator]"}),(o=function(){return{w:a,m}})()}function i(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,t,r,n){function c(t,r){i(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(c("next",0),c("throw",1),c("return",2))},i(e,t,r,n)}function c(e,t,r,n,o,i,c){try{var a=e[i](c),u=a.value}catch(e){return void r(e)}a.done?t(u):Promise.resolve(u).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){c(i,n,o,a,u,"next",e)}function u(e){c(i,n,o,a,u,"throw",e)}a(void 0)})}}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}window.Reclaim=window.Reclaim||{};var l={};try{var f=localStorage.getItem("reclaimBrowserExtensionParameters");f&&(l=JSON.parse(f)||{})}catch(e){}Object.defineProperty(window.Reclaim,"parameters",{get:function(){if(Object.keys(l).length>0)return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},l);try{var e=localStorage.getItem("reclaimBrowserExtensionParameters");return e?JSON.parse(e):{}}catch(e){return{}}},set:function(){},enumerable:!0,configurable:!1}),window.Reclaim.updatePublicData=function(e){try{var t=JSON.stringify(null!=e?e:{});window.postMessage({action:"RECLAIM_SET_PUBLIC_DATA",data:{publicData:t}},"*")}catch(e){console.error("Reclaim.updatePublicData error:",e)}},window.Reclaim.canExpectManyClaims=function(e){try{window.postMessage({action:"RECLAIM_SET_EXPECT_MANY_CLAIMS",data:{expectMany:!!e}},"*")}catch(e){}},window.Reclaim.reportProviderError=function(e){try{window.postMessage({action:"RECLAIM_REPORT_PROVIDER_ERROR",data:{message:String(e||"Provider error")}},"*")}catch(e){console.error("Reclaim.reportProviderError error:",e)}},window.Reclaim.requestClaim=function(e){try{window.postMessage({action:"RECLAIM_REQUEST_CLAIM",data:{rdObject:e}},"*")}catch(e){console.error("Reclaim.requestClaim error:",e)}},window.Reclaim.getParametersSync=function(){try{var e=localStorage.getItem("reclaimBrowserExtensionParameters");return e?JSON.parse(e):{}}catch(e){return{}}},window.addEventListener("message",function(e){if(e.source===window){var t=e.data||{},r=t.action,n=t.data;if("RECLAIM_PARAMETERS_UPDATE"===r&&null!=n&&n.parameters){var o=n.parameters||{};if(0===Object.keys(o).length&&Object.keys(l).length>0)return;l=o;try{localStorage.setItem("reclaimBrowserExtensionParameters",JSON.stringify(l))}catch(e){}}}});try{window.postMessage({action:"RECLAIM_PARAMETERS_GET"},"*")}catch(e){}!function(){"use strict";var e=r.env.BACKEND_URL||"",t=function(t){return"".concat(e,"/api/providers/").concat(t,"/custom-injection")},n=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=console).error.apply(e,["❌ [Injection Script Error]:"].concat(r))},i=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=console).info.apply(e,["ℹ️ [Injection Script Info]:"].concat(r))};function c(){try{var e="reclaimBrowserExtensionProviderId",t=localStorage.getItem(e);return t?(i("Found provider ID in localStorage[".concat(e,"]: ").concat(t)),t):(n("Provider ID not found in local storage"),null)}catch(e){return n("Error accessing localStorage:",e),null}}function u(){return new Promise(function(e){var t=function(r){r.source===window&&"RECLAIM_PROVIDER_ID_RESPONSE"===r.data.action&&(window.removeEventListener("message",t),e(r.data.providerId))};window.addEventListener("message",t),window.postMessage({action:"RECLAIM_GET_PROVIDER_ID",source:"injection-script"},"*"),setTimeout(function(){window.removeEventListener("message",t),e(null)},5e3)})}function s(){return(s=a(o().m(function e(r){var c,a,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,i("Fetching injection script for provider: ".concat(r)),e.n=1,fetch(t(r),{method:"GET",headers:{"Content-Type":"application/json","ngrok-skip-browser-warning":"true"}});case 1:if((c=e.v).ok){e.n=2;break}throw new Error("HTTP error! status: ".concat(c.status));case 2:return e.n=3,c.text();case 3:if((a=e.v)&&""!==a.trim()){e.n=4;break}return i("No injection script content found for provider: ".concat(r)),e.a(2,null);case 4:return i("Successfully fetched injection script for provider: ".concat(r)),e.a(2,{script:a,providerData:{providerId:r,name:"Unknown Provider"}});case 5:return e.p=5,u=e.v,n("Failed to fetch injection script for provider ".concat(r,":"),u),e.a(2,null)}},e,null,[[0,5]])}))).apply(this,arguments)}function l(e,t){return f.apply(this,arguments)}function f(){return(f=a(o().m(function e(t,r){return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,p(t);case 1:if(!e.v){e.n=2;break}return e.a(2);case 2:return e.n=3,d(t);case 3:if(!e.v){e.n=4;break}return e.a(2);case 4:try{i("Injected via chrome.scripting")}catch(e){n("All injection strategies failed",e)}case 5:return e.a(2)}},e)}))).apply(this,arguments)}function p(e){return new Promise(function(t){try{var r,n=new Blob([e],{type:"text/javascript"}),o=URL.createObjectURL(n),i=document.createElement("script");i.src=o,i.async=!1;var c=document.querySelector("script[nonce]"),a=(null==c?void 0:c.nonce)||(null==c||null===(r=c.getAttribute)||void 0===r?void 0:r.call(c,"nonce"))||"";a&&i.setAttribute("nonce",a),i.onload=function(){URL.revokeObjectURL(o),t(!0)},i.onerror=function(){URL.revokeObjectURL(o),t(!1)},(document.head||document.documentElement).appendChild(i)}catch(e){t(!1)}})}function d(e){return new Promise(function(t){try{var r,n=document.querySelector("script[nonce]"),o=(null==n?void 0:n.nonce)||(null==n||null===(r=n.getAttribute)||void 0===r?void 0:r.call(n,"nonce"))||"";if(!o)return t(!1);var i=document.createElement("script");i.setAttribute("nonce",o),i.textContent=String(e),(document.head||document.documentElement).appendChild(i),setTimeout(function(){return t(!0)},0)}catch(e){t(!1)}})}function m(){return v.apply(this,arguments)}function v(){return(v=a(o().m(function e(){var t,r,a;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,t=c()){e.n=2;break}return i("Provider ID not found in localStorage, requesting from extension..."),e.n=1,u();case 1:t=e.v;case 2:if(t){e.n=3;break}return n("Cannot load injection script: Provider ID not found"),e.a(2);case 3:if(r=localStorage.getItem("reclaimBrowserExtensionInjectionScript:".concat(t))){e.n=4;break}return i("No injection script to execute"),e.a(2);case 4:l(r,{providerId:t,name:"Unknown Provider"}),e.n=6;break;case 5:e.p=5,a=e.v,n("Error in loadAndExecuteInjectionScript:",a);case 6:return e.a(2)}},e,null,[[0,5]])}))).apply(this,arguments)}window.reclaimInjectionLoader={loadAndExecuteInjectionScript:m,getProviderIdFromStorage:c,getProviderIdFromExtension:u,fetchProviderInjectionScript:function(e){return s.apply(this,arguments)},executeInjectionScriptNoEval:l},i("Reclaim Injection Script Loader initialized and injected successfully"),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",m):m()}()})();
|
|
2
|
+
//# sourceMappingURL=injection-scripts.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor/injection-scripts.bundle.js","mappings":"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","sources":["webpack://@joclaim/browser-extension-sdk/./node_modules/process/browser.js","webpack://@joclaim/browser-extension-sdk/webpack/bootstrap","webpack://@joclaim/browser-extension-sdk/./src/interceptor/injection-scripts.js"],"sourcesContent":["// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","window.Reclaim = window.Reclaim || {};\nlet __reclaimParams = {};\n\ntry {\n const ls = localStorage.getItem(\"reclaimBrowserExtensionParameters\");\n if (ls) __reclaimParams = JSON.parse(ls) || {};\n} catch {}\n\nObject.defineProperty(window.Reclaim, \"parameters\", {\n get: () => {\n if (Object.keys(__reclaimParams).length > 0) return { ...__reclaimParams };\n try {\n const ls = localStorage.getItem(\"reclaimBrowserExtensionParameters\");\n return ls ? JSON.parse(ls) : {};\n } catch {\n return {};\n }\n },\n set: () => {},\n enumerable: true,\n configurable: false,\n});\n\nwindow.Reclaim.updatePublicData = function (obj) {\n try {\n const publicData = JSON.stringify(obj ?? {});\n window.postMessage(\n {\n action: \"RECLAIM_SET_PUBLIC_DATA\",\n data: { publicData },\n },\n \"*\",\n );\n } catch (e) {\n console.error(\"Reclaim.updatePublicData error:\", e);\n }\n};\n\nwindow.Reclaim.canExpectManyClaims = function (flag) {\n try {\n window.postMessage(\n { action: \"RECLAIM_SET_EXPECT_MANY_CLAIMS\", data: { expectMany: !!flag } },\n \"*\",\n );\n } catch {}\n};\n\nwindow.Reclaim.reportProviderError = function (msg) {\n try {\n window.postMessage(\n {\n action: \"RECLAIM_REPORT_PROVIDER_ERROR\",\n data: { message: String(msg || \"Provider error\") },\n },\n \"*\",\n );\n } catch (e) {\n console.error(\"Reclaim.reportProviderError error:\", e);\n }\n};\n\nwindow.Reclaim.requestClaim = function (rdObject) {\n try {\n window.postMessage({ action: \"RECLAIM_REQUEST_CLAIM\", data: { rdObject } }, \"*\");\n } catch (e) {\n console.error(\"Reclaim.requestClaim error:\", e);\n }\n};\n\nwindow.Reclaim.getParametersSync = function () {\n try {\n const ls = localStorage.getItem(\"reclaimBrowserExtensionParameters\");\n return ls ? JSON.parse(ls) : {};\n } catch {\n return {};\n }\n};\n\nwindow.addEventListener(\"message\", (e) => {\n if (e.source !== window) return;\n const { action, data } = e.data || {};\n if (action === \"RECLAIM_PARAMETERS_UPDATE\" && data?.parameters) {\n const p = data.parameters || {};\n if (Object.keys(p).length === 0 && Object.keys(__reclaimParams).length > 0) return;\n __reclaimParams = p;\n try {\n localStorage.setItem(\"reclaimBrowserExtensionParameters\", JSON.stringify(__reclaimParams));\n } catch {}\n }\n});\n\ntry {\n window.postMessage({ action: \"RECLAIM_PARAMETERS_GET\" }, \"*\");\n} catch {}\n\n/**\n * Dynamic Injection Script Loader\n * Fetches provider-specific injection scripts from the backend and executes them\n * This script is injected into the main world of the website\n */\n\n(function () {\n \"use strict\";\n\n // Backend API configuration\n const BACKEND_URL = process.env.BACKEND_URL || \"\";\n const PROVIDER_API_ENDPOINT = (providerId) =>\n `${BACKEND_URL}/api/providers/${providerId}/custom-injection`;\n\n // Debug utility for logging\n const debug = {\n log: (...args) => console.log(\"🔍 [Injection Script]:\", ...args),\n error: (...args) => console.error(\"❌ [Injection Script Error]:\", ...args),\n info: (...args) => console.info(\"ℹ️ [Injection Script Info]:\", ...args),\n // log: (...args) => undefined,\n // error: (...args) => undefined,\n // info: (...args) => undefined\n };\n\n /**\n * IMPORTANT: localStorage Context Isolation\n *\n * - background.js runs in extension context (chrome-extension://extension-id/)\n * - This injection script runs in website context (https://example.com/)\n * - These have SEPARATE localStorage spaces - they cannot share data directly\n *\n * Solutions:\n * 1. Content script acts as bridge (can access both contexts)\n * 2. Use chrome.storage API via content script\n * 3. Use postMessage communication between content script and injection script\n */\n\n /**\n * Safely retrieve provider ID from localStorage\n * Note: This only works if the provider ID was set by the website itself\n * or by a content script that has access to the website's localStorage\n */\n function getProviderIdFromStorage() {\n try {\n // Simplified to single key as per user's modification\n const keyValue = \"reclaimBrowserExtensionProviderId\";\n const value = localStorage.getItem(keyValue);\n if (value) {\n debug.info(`Found provider ID in localStorage[${keyValue}]: ${value}`);\n return value;\n }\n\n debug.error(\"Provider ID not found in local storage\");\n return null;\n } catch (error) {\n debug.error(\"Error accessing localStorage:\", error);\n return null;\n }\n }\n\n /**\n * Alternative: Get provider ID from extension via content script bridge\n * This method uses postMessage to communicate with content script\n */\n function getProviderIdFromExtension() {\n return new Promise((resolve) => {\n // Listen for response from content script\n const handleMessage = (event) => {\n if (event.source !== window) return;\n\n if (event.data.action === \"RECLAIM_PROVIDER_ID_RESPONSE\") {\n window.removeEventListener(\"message\", handleMessage);\n resolve(event.data.providerId);\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n // Request provider ID from content script\n window.postMessage(\n {\n action: \"RECLAIM_GET_PROVIDER_ID\",\n source: \"injection-script\",\n },\n \"*\",\n );\n\n // Timeout after 5 seconds\n setTimeout(() => {\n window.removeEventListener(\"message\", handleMessage);\n resolve(null);\n }, 5000);\n });\n }\n\n /**\n * Fetch provider data including custom injection script from backend\n */\n async function fetchProviderInjectionScript(providerId) {\n try {\n debug.info(`Fetching injection script for provider: ${providerId}`);\n\n const response = await fetch(PROVIDER_API_ENDPOINT(providerId), {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"ngrok-skip-browser-warning\": \"true\",\n },\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const scriptContent = await response.text();\n\n // Check if we got a valid script\n if (!scriptContent || scriptContent.trim() === \"\") {\n debug.info(`No injection script content found for provider: ${providerId}`);\n return null;\n }\n\n debug.info(`Successfully fetched injection script for provider: ${providerId}`);\n return {\n script: scriptContent,\n providerData: {\n providerId: providerId,\n name: \"Unknown Provider\",\n },\n };\n } catch (error) {\n debug.error(`Failed to fetch injection script for provider ${providerId}:`, error);\n return null;\n }\n }\n\n /**\n * Execute the fetched injection script without eval\n */\n function executeInjectionScriptNoEval2(scriptContent, providerData) {\n const finish = (ok) => {\n if (!ok) return; /* dispatch success event */\n };\n\n // 1) Inline without nonce (Steam allows 'unsafe-inline')\n try {\n const inl = document.createElement(\"script\");\n inl.textContent = String(scriptContent);\n (document.documentElement || document.head || document).insertBefore(\n inl,\n (document.documentElement || document.head).firstChild,\n );\n finish(true);\n return;\n } catch {}\n\n // 2) Inline with page nonce\n try {\n const nonceEl = document.querySelector(\"script[nonce]\");\n const pageNonce = nonceEl?.nonce || nonceEl?.getAttribute?.(\"nonce\") || \"\";\n if (!pageNonce) throw new Error(\"No page nonce found\");\n const inl = document.createElement(\"script\");\n inl.nonce = pageNonce;\n inl.textContent = String(scriptContent);\n (document.documentElement || document.head || document).insertBefore(\n inl,\n (document.documentElement || document.head).firstChild,\n );\n finish(true);\n return;\n } catch {}\n\n // 3) unsafe-eval fallback (Steam allows it)\n try {\n (0, eval)(String(scriptContent));\n finish(true);\n return;\n } catch (e) {\n debug.error(\"Injection failed:\", e);\n finish(false);\n }\n }\n\n async function executeInjectionScriptNoEval(scriptContent, providerData) {\n // 1) Try blob: URL (most robust without eval/inline)\n const okBlob = await injectViaBlob(scriptContent);\n if (okBlob) return;\n\n // // 2) Try page nonce (only if present). Still brittle, but cheap to try.\n const okNonce = await injectInlineWithNonce(scriptContent);\n if (okNonce) return;\n\n // 3) Last resort: ask the service worker to inject via chrome.scripting\n try {\n debug.info(\"Injected via chrome.scripting\");\n } catch (e) {\n debug.error(\"All injection strategies failed\", e);\n }\n }\n\n function injectViaBlob(code) {\n return new Promise((resolve) => {\n try {\n const blob = new Blob([code], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n\n const s = document.createElement(\"script\");\n s.src = url;\n s.async = false;\n\n // If a page nonce exists, attach it (harmless if not needed)\n const nonceEl = document.querySelector(\"script[nonce]\");\n const pageNonce = nonceEl?.nonce || nonceEl?.getAttribute?.(\"nonce\") || \"\";\n if (pageNonce) s.setAttribute(\"nonce\", pageNonce);\n\n s.onload = () => {\n URL.revokeObjectURL(url);\n resolve(true);\n };\n s.onerror = () => {\n URL.revokeObjectURL(url);\n resolve(false);\n };\n\n (document.head || document.documentElement).appendChild(s);\n } catch {\n resolve(false);\n }\n });\n }\n\n function injectInlineWithNonce(code) {\n return new Promise((resolve) => {\n try {\n const nonceEl = document.querySelector(\"script[nonce]\");\n const pageNonce = nonceEl?.nonce || nonceEl?.getAttribute?.(\"nonce\") || \"\";\n if (!pageNonce) return resolve(false);\n\n // Inline + nonce (no reliable onload; we assume success if no sync error)\n const s = document.createElement(\"script\");\n s.setAttribute(\"nonce\", pageNonce);\n s.textContent = String(code);\n\n (document.head || document.documentElement).appendChild(s);\n\n // Give the browser a tick; if CSP blocked it, you’ll usually see a console error.\n setTimeout(() => resolve(true), 0);\n } catch {\n resolve(false);\n }\n });\n }\n\n /**\n * Main function to load and execute injection script\n */\n async function loadAndExecuteInjectionScript() {\n try {\n // Try to get provider ID from localStorage first\n let providerId = getProviderIdFromStorage();\n // const providerId = \"8f8f3def-7864-4dae-890d-9e95c5e45bec\"\n\n // If not found in localStorage, try to get from extension\n if (!providerId) {\n debug.info(\"Provider ID not found in localStorage, requesting from extension...\");\n providerId = await getProviderIdFromExtension();\n }\n\n if (!providerId) {\n debug.error(\"Cannot load injection script: Provider ID not found\");\n return;\n }\n\n // Fetch the injection script from localStorage\n const injectionScript = localStorage.getItem(\n `reclaimBrowserExtensionInjectionScript:${providerId}`,\n );\n\n if (!injectionScript) {\n debug.info(\"No injection script to execute\");\n return;\n }\n\n const providerData = {\n providerId: providerId,\n name: \"Unknown Provider\",\n };\n\n // Execute the fetched script\n // executeInjectionScript(injectionScript, providerData);\n executeInjectionScriptNoEval(injectionScript, providerData);\n } catch (error) {\n debug.error(\"Error in loadAndExecuteInjectionScript:\", error);\n }\n }\n\n /**\n * Initialize the injection script loader\n * Waits for DOM to be ready before executing\n */\n function initializeInjectionLoader() {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", loadAndExecuteInjectionScript);\n } else {\n // DOM is already ready\n loadAndExecuteInjectionScript();\n }\n }\n\n // Expose utilities globally for debugging and external access\n window.reclaimInjectionLoader = {\n loadAndExecuteInjectionScript,\n getProviderIdFromStorage,\n getProviderIdFromExtension,\n fetchProviderInjectionScript,\n executeInjectionScriptNoEval,\n };\n\n // Initialize the loader\n debug.info(\"Reclaim Injection Script Loader initialized and injected successfully\");\n initializeInjectionLoader();\n})();\n"],"names":["cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","call","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","i","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","t","r","Symbol","n","iterator","o","toStringTag","c","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_defineProperty","_typeof","toPrimitive","String","Number","_toPrimitive","_toPropertyKey","window","Reclaim","__reclaimParams","ls","localStorage","getItem","JSON","parse","_unused","get","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","_unused2","set","updatePublicData","obj","publicData","stringify","postMessage","action","data","console","error","canExpectManyClaims","flag","expectMany","_unused3","reportProviderError","msg","message","requestClaim","rdObject","getParametersSync","_unused4","addEventListener","source","_ref","parameters","setItem","_unused5","_unused6","BACKEND_URL","PROVIDER_API_ENDPOINT","providerId","debug","_console2","_len2","_key2","_console3","_len3","_key3","info","getProviderIdFromStorage","keyValue","getProviderIdFromExtension","handleMessage","event","removeEventListener","_fetchProviderInjectionScript","_callee","response","scriptContent","_t","_context","fetch","method","headers","ok","status","text","trim","script","providerData","executeInjectionScriptNoEval","_x2","_x3","_executeInjectionScriptNoEval","_callee2","_context2","injectViaBlob","injectInlineWithNonce","code","_nonceEl$getAttribute2","blob","Blob","type","url","URL","createObjectURL","s","document","createElement","src","async","nonceEl","querySelector","pageNonce","nonce","getAttribute","setAttribute","onload","revokeObjectURL","onerror","head","documentElement","appendChild","_unused9","_nonceEl$getAttribute3","textContent","_unused0","loadAndExecuteInjectionScript","_loadAndExecuteInjectionScript","_callee3","injectionScript","_t2","_context3","reclaimInjectionLoader","fetchProviderInjectionScript","_x","readyState"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?t(Object(o),!0).forEach(function(t){n(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function n(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],u=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=a(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,i=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw i}}}}function a(e,t){if(e){if("string"==typeof e)return s(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return c(l,"_invoke",function(r,n,o){var i,s,u,c=0,l=o||[],p=!1,f={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,r){return i=t,s=0,u=e,f.n=r,a}};function d(r,n){for(s=r,u=n,t=0;!p&&c&&!o&&t<l.length;t++){var o,i=l[t],d=f.p,y=i[2];r>3?(o=y===n)&&(u=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(s=0,f.v=n,f.n=i[1]):d<y&&(o=r<3||i[0]>n||n>y)&&(i[4]=r,i[5]=n,f.n=y,s=0))}if(o||r>1)return a;throw p=!0,n}return function(o,l,y){if(c>1)throw TypeError("Generator is already running");for(p&&1===l&&d(l,y),s=l,u=y;(t=s<2?e:u)||!p;){i||(s?s<3?(s>1&&(f.n=-1),d(s,u)):f.n=u:f.v=u);try{if(c=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=f.n<0)?u:r.call(n,f))!==a)break}catch(t){i=e,s=1,u=t}finally{c=1}}return{value:t,done:p}}}(r,o,i),!0),l}var a={};function s(){}function l(){}function p(){}t=Object.getPrototypeOf;var f=[][n]?t(t([][n]())):(c(t={},n,function(){return this}),t),d=p.prototype=s.prototype=Object.create(f);function y(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,c(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=p,c(d,"constructor",p),c(p,"constructor",l),l.displayName="GeneratorFunction",c(p,o,"GeneratorFunction"),c(d),c(d,o,"Generator"),c(d,n,function(){return this}),c(d,"toString",function(){return"[object Generator]"}),(u=function(){return{w:i,m:y}})()}function c(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}c=function(e,t,r,n){function i(t,r){c(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},c(e,t,r,n)}function l(e,t,r,n,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,o)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){l(i,n,o,a,s,"next",e)}function s(e){l(i,n,o,a,s,"throw",e)}a(void 0)})}}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}function d(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}var y,h,b;y=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=console).error.apply(e,["❌ [Error]:"].concat(r))},h=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=console).info.apply(e,["ℹ️ [Info]:"].concat(r))},(b=new(function(){return t=function e(){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.requestMiddlewares=[],this.responseMiddlewares=[],this.originalFetch=null===(t=window.fetch)||void 0===t?void 0:t.bind(window),this.originalXHR=window.XMLHttpRequest,"undefined"!=typeof window&&this.originalFetch&&this.originalXHR?(this.setupInterceptor(),h("RequestInterceptor initialized")):y("Not in a browser environment or required APIs not available")},n=[{key:"processRequestMiddlewares",value:(l=p(u().m(function e(t){var r;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,Promise.all(this.requestMiddlewares.map(function(e){return e(t)}));case 1:e.n=3;break;case 2:e.p=2,r=e.v,y("Error in request middleware:",r);case 3:return e.a(2)}},e,this,[[0,2]])})),function(e){return l.apply(this,arguments)})},{key:"processResponseMiddlewares",value:(c=p(u().m(function e(t,r){var n,o,a,s,c,l;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.parseResponse(t);case 1:n=e.v,o=i(this.responseMiddlewares),e.p=2,o.s();case 3:if((a=o.n()).done){e.n=8;break}return s=a.value,e.p=4,e.n=5,s(n,r);case 5:e.n=7;break;case 6:e.p=6,c=e.v,y("Error in response middleware:",c);case 7:e.n=3;break;case 8:e.n=10;break;case 9:e.p=9,l=e.v,o.e(l);case 10:return e.p=10,o.f(),e.f(10);case 11:return e.a(2)}},e,this,[[4,6],[2,9,10,11]])})),function(e,t){return c.apply(this,arguments)})},{key:"parseResponse",value:(s=p(u().m(function e(t){var r,n,o,i,a;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=t.url||"",o=Object.fromEntries(t.headers.entries()),e.p=1,e.n=2,t.text();case 2:i=e.v,r=i,e.n=4;break;case 3:e.p=3,a=e.v,r="[Error reading response: ".concat((null==a?void 0:a.name)||a,"]");case 4:return e.a(2,{id:t.id||null,url:n,status:t.status,statusText:t.statusText,headers:o,body:r,originalResponse:t,timestamp:Date.now()})}},e,null,[[1,3]])})),function(e){return s.apply(this,arguments)})},{key:"setupInterceptor",value:function(){var t,n=this.originalFetch,i=this;window.fetch=new Proxy(n,{apply:(t=p(u().m(function e(t,n,a){var s,c,l,p,f,d,h,b,v,w,m,g,R,E,O,j,S;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:if(c=o(a,2),l=c[0],p=c[1],f=void 0===p?{}:p,l){e.n=1;break}return e.a(2,Reflect.apply(t,n,a));case 1:return d={url:l,options:r(r({},f),{},{method:(null==f||null===(s=f.method)||void 0===s?void 0:s.toUpperCase())||"GET",headers:f.headers||{}})},Object.defineProperty(d,"_rc",{value:!0,enumerable:!1,configurable:!1,writable:!1}),e.p=2,e.n=3,Promise.all(i.requestMiddlewares.map(function(e){return e(d)}));case 3:e.n=5;break;case 4:e.p=4,S=e.v,y("Error in request middleware:",S);case 5:return e.n=6,Reflect.apply(t,n,[d.url,d.options]);case 6:if(h=e.v,b=h.status,v=h.statusText,w=new Headers(h.headers),h.body){e.n=7;break}return i.processResponseMiddlewares(h.clone(),d).catch(y),e.a(2,h);case 7:return m=h.body.tee(),g=o(m,2),R=g[0],E=g[1],O=new Response(R,{status:b,statusText:v,headers:w}),j=new Response(E,{status:b,statusText:v,headers:w}),i.processResponseMiddlewares(j,d).catch(y),e.a(2,O)}},e,null,[[2,4]])})),function(e,r,n){return t.apply(this,arguments)})});var a=XMLHttpRequest.prototype.open,s=XMLHttpRequest.prototype.send,c=XMLHttpRequest.prototype.setRequestHeader,l=new WeakMap;XMLHttpRequest.prototype.open=function(){Object.defineProperty(this,"_rc",{value:!0,enumerable:!1,configurable:!1,writable:!1});for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=t[0],o=void 0===n?"GET":n,i=t[1],s={url:void 0===i?"":i,options:{method:o,headers:{},body:null}};return l.set(this,s),a.apply(this,t)},XMLHttpRequest.prototype.setRequestHeader=function(e,t){var r=l.get(this);return r&&e&&t&&(r.options.headers[e]=t),c.apply(this,arguments)},XMLHttpRequest.prototype.send=function(t){var r=this,n=l.get(this);if(n){n.options.body=t;var o=function(){var e=p(u().m(function e(){var t;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,Promise.all(i.requestMiddlewares.map(function(e){return e(n)}));case 1:e.n=3;break;case 2:e.p=2,t=e.v,y("Error in request middleware:",t);case 3:return e.a(2)}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}(),a=this.onreadystatechange;this.onreadystatechange=function(t){if("function"==typeof a&&a.apply(this,arguments),4===this.readyState){var r=this.status||500,o=this.statusText||"Request Failed";try{var s=new Response(function(t){if(null==t)return"";switch(e(t)){case"string":return t;case"object":if(t instanceof Blob||t instanceof ArrayBuffer)return"[Binary Data]";if(t instanceof Document)return t.documentElement.outerHTML;try{return JSON.stringify(t)}catch(e){return y("Failed to stringify object response:",e),String(t)}default:return String(t)}}(this.response),{status:r,statusText:o,headers:new Headers(Object.fromEntries((this.getAllResponseHeaders()||"").split("\r\n").filter(Boolean).map(function(e){return e.split(": ")})))});Object.defineProperty(s,"url",{value:n.url,writable:!1}),i.processResponseMiddlewares(s,n).catch(function(e){return y("Error in response middleware:",e)})}catch(e){console.log("error",e),y("Error processing XHR response:",e)}}},o().then(function(){s.call(r,n.options.body)})}else s.apply(this,arguments)},this.resetXHRInterceptor=function(){XMLHttpRequest.prototype.open=a,XMLHttpRequest.prototype.send=s,XMLHttpRequest.prototype.setRequestHeader=c}}},{key:"addRequestMiddleware",value:function(e){"function"==typeof e&&this.requestMiddlewares.push(e)}},{key:"addResponseMiddleware",value:function(e){"function"==typeof e&&this.responseMiddlewares.push(e)}}],n&&f(t.prototype,n),a&&f(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,a,s,c,l}())).addResponseMiddleware(function(){var t=p(u().m(function t(r,n){var o,i,a,s,c,l;return u().w(function(t){for(;;)switch(t.n){case 0:try{i=function(t){var r={};try{t&&(t instanceof Headers?r=Object.fromEntries(t.entries()):"object"===e(t)&&Object.keys(t).forEach(function(e){var n=t[e];"string"!=typeof n&&"number"!=typeof n||(r[e]=String(n))}))}catch(e){y("Error extracting headers:",e)}return r},a=function(t){var r=null;try{t&&("string"==typeof t?r=t:"object"===e(t)&&(r=JSON.stringify(t)))}catch(e){y("Error extracting body:",e)}return r},s=function(t){var r="";try{"string"==typeof t?r=t.startsWith("http")?t:new URL(t,window.location.origin).href:t&&"object"===e(t)&&t.url?r=t.url:t&&"object"===e(t)&&t.href?r=t.href:(r=String(t)).startsWith("http")||(r=new URL(r,window.location.origin).href)}catch(e){y("Error extracting URL:",e),r=window.location.href}return r},c=s(n.url),l={request:{url:c,method:"string"==typeof n.options.method?null===(o=n.options.method)||void 0===o?void 0:o.toUpperCase():"GET",headers:i(n.options.headers),body:a(n.options.body)},response:{url:c,status:r.status,headers:i(r.headers),body:a(r.body)},timestamp:Date.now()},window.postMessage({action:"INTERCEPTED_REQUEST_AND_RESPONSE",data:l},"*")}catch(e){y("Error processing request/response:",e),window.postMessage({action:"INTERCEPTED_REQUEST_AND_RESPONSE",data:{url:window.location.href,request:{method:"GET",headers:{},body:null},response:{status:r.status||0,headers:{},body:null},timestamp:Date.now(),error:e.message}},"*")}case 1:return t.a(2)}},t)}));return function(e,r){return t.apply(this,arguments)}}()),window.reclaimInterceptor=b,h("Userscript initialized and ready - Access via window.reclaimInterceptor")})();
|
|
2
|
+
//# sourceMappingURL=network-interceptor.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor/network-interceptor.bundle.js","mappings":"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","sources":["webpack://@joclaim/browser-extension-sdk/./src/interceptor/network-interceptor.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-this-alias */\n\n(function () {\n const injectionFunction = function () {\n /**\n * Debug utility for consistent logging across the interceptor\n * @type {Object}\n */\n const debug = {\n log: (...args) => console.log(\"🔍 [Debug]:\", ...args),\n error: (...args) => console.error(\"❌ [Error]:\", ...args),\n info: (...args) => console.info(\"ℹ️ [Info]:\", ...args),\n // log: (...args) => undefined, // Disabled console.log(\"🔍 [Debug]:\", ...args),\n // error: (...args) => undefined, // Disabled console.error(\"❌ [Error]:\", ...args),\n // info: (...args) => undefined, // Disabled console.info(\"ℹ️ [Info]:\", ...args),\n };\n\n /**\n * RequestInterceptor class\n * Provides middleware-based interception for both Fetch and XMLHttpRequest\n * Allows monitoring and modification of HTTP requests and responses\n */\n class RequestInterceptor {\n /**\n * Initialize the interceptor with empty middleware arrays and store original methods\n */\n constructor() {\n this.requestMiddlewares = [];\n this.responseMiddlewares = [];\n\n // Store original methods before overriding\n this.originalFetch = window.fetch?.bind(window);\n this.originalXHR = window.XMLHttpRequest;\n\n // Verify browser environment and required APIs\n if (typeof window === \"undefined\" || !this.originalFetch || !this.originalXHR) {\n debug.error(\"Not in a browser environment or required APIs not available\");\n return;\n }\n\n this.setupInterceptor();\n debug.info(\"RequestInterceptor initialized\");\n }\n\n /**\n * Process all request middlewares in parallel\n * @param {Object} requestData - Contains url and options for the request\n * @returns {Promise} - Resolves when all middlewares complete\n */\n async processRequestMiddlewares(requestData) {\n try {\n // Run all request middlewares in parallel\n await Promise.all(this.requestMiddlewares.map((middleware) => middleware(requestData)));\n } catch (error) {\n debug.error(\"Error in request middleware:\", error);\n }\n }\n\n /**\n * Process response middlewares without blocking the main thread\n * @param {Response} response - The response object\n * @param {Object} requestData - The original request data\n */\n async processResponseMiddlewares(response, requestData) {\n const parsedResponse = await this.parseResponse(response);\n\n for (const middleware of this.responseMiddlewares) {\n try {\n await middleware(parsedResponse, requestData);\n } catch (error) {\n debug.error(\"Error in response middleware:\", error);\n }\n }\n }\n\n /**\n * Parse response data into a consistent string format\n * @param {Response} response - The response object to parse\n * @returns {Object} - Parsed response with standardized format\n */\n async parseResponse(response) {\n let responseBody;\n const url = response.url || \"\";\n const headersObj = Object.fromEntries(response.headers.entries());\n\n try {\n // Read ONCE from the audit copy we got.\n const raw = await response.text(); // don't do copy.json(); avoid double read\n responseBody = raw;\n } catch (e) {\n // Rescue path (below)\n responseBody = `[Error reading response: ${e?.name || e}]`;\n }\n\n return {\n id: response.id || null,\n url,\n status: response.status,\n statusText: response.statusText,\n headers: headersObj,\n body: responseBody,\n originalResponse: response,\n timestamp: Date.now(),\n };\n }\n\n /**\n * Set up interception for both Fetch and XMLHttpRequest\n * This method overrides the global fetch and XMLHttpRequest objects\n */\n setupInterceptor() {\n // Setup Fetch interceptor using a Proxy\n const originalFetch = this.originalFetch;\n const self = this;\n\n // Create a proxy for the fetch function\n window.fetch = new Proxy(originalFetch, {\n apply: async function (target, thisArg, argumentsList) {\n const [url, options = {}] = argumentsList;\n\n if (!url) {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n\n const requestData = {\n url,\n options: {\n ...options,\n method: options?.method?.toUpperCase() || \"GET\",\n headers: options.headers || {},\n },\n };\n\n // Add a marker property to the request\n Object.defineProperty(requestData, \"_rc\", {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n\n try {\n // Process request middlewares\n await Promise.all(\n self.requestMiddlewares.map((middleware) => middleware(requestData)),\n );\n } catch (error) {\n debug.error(\"Error in request middleware:\", error);\n }\n\n // Make the actual fetch call with potentially modified data\n const response = await Reflect.apply(target, thisArg, [\n requestData.url,\n requestData.options,\n ]);\n\n const { status, statusText } = response;\n const headers = new Headers(response.headers);\n\n // If there's no body (204, etc.), just pass-through\n if (!response.body) {\n self.processResponseMiddlewares(response.clone(), requestData).catch(debug.error);\n return response;\n }\n\n const [forAppStream, forAuditStream] = response.body.tee();\n const forApp = new Response(forAppStream, { status, statusText, headers });\n const forAudit = new Response(forAuditStream, { status, statusText, headers });\n\n // Start parsing ASAP; don't clone forAudit again\n self.processResponseMiddlewares(forAudit, requestData).catch(debug.error);\n\n // Return the app's branch\n return forApp;\n\n // FIX: Don't create a prototype-chained response, use the original\n // Just mark it non-destructively\n // if (!response._rc) {\n // // Only mark it if not already marked\n // try {\n // Object.defineProperty(response, \"_rc\", {\n // value: true,\n // enumerable: false,\n // configurable: false,\n // writable: false,\n // });\n // } catch (e) {\n // // In case the response is immutable, don't break the app\n // debug.error(\"Could not mark response:\", e);\n // }\n // }\n\n // // Process response middlewares without blocking\n // self.processResponseMiddlewares(response.clone(), requestData).catch((error) => {\n // debug.error(\"Error in response middleware:\", error);\n // });\n // return response; // Return the original response object\n },\n });\n\n // Setup XHR interceptor by modifying the prototype\n const originalOpen = XMLHttpRequest.prototype.open;\n const originalSend = XMLHttpRequest.prototype.send;\n const originalSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;\n\n // Create a WeakMap to store request info for each XHR instance\n const requestInfoMap = new WeakMap();\n\n // Modify open method on prototype\n XMLHttpRequest.prototype.open = function (...args) {\n // Mark this instance as intercepted\n Object.defineProperty(this, \"_rc\", {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n\n const [method = \"GET\", url = \"\"] = args;\n const requestInfo = {\n url,\n options: {\n method,\n headers: {},\n body: null,\n },\n };\n\n // Store request info in WeakMap\n requestInfoMap.set(this, requestInfo);\n\n // Call original method\n return originalOpen.apply(this, args);\n };\n\n // Modify setRequestHeader method on prototype\n XMLHttpRequest.prototype.setRequestHeader = function (header, value) {\n const requestInfo = requestInfoMap.get(this);\n if (requestInfo && header && value) {\n requestInfo.options.headers[header] = value;\n }\n return originalSetRequestHeader.apply(this, arguments);\n };\n\n // Modify send method on prototype\n XMLHttpRequest.prototype.send = function (data) {\n const requestInfo = requestInfoMap.get(this);\n if (requestInfo) {\n requestInfo.options.body = data;\n\n // Process request middlewares\n const runRequestMiddlewares = async () => {\n try {\n await Promise.all(\n self.requestMiddlewares.map((middleware) => middleware(requestInfo)),\n );\n } catch (error) {\n debug.error(\"Error in request middleware:\", error);\n }\n };\n\n // Store original onreadystatechange\n const originalHandler = this.onreadystatechange;\n\n // Override onreadystatechange\n this.onreadystatechange = function (event) {\n if (typeof originalHandler === \"function\") {\n originalHandler.apply(this, arguments);\n }\n\n if (this.readyState === 4) {\n const status = this.status || 500;\n const statusText = this.statusText || \"Request Failed\";\n\n try {\n /**\n * Helper function to convert any response type to string\n * @param {*} response - The XHR response which could be:\n * - string (for responseType '' or 'text')\n * - object (for responseType 'json')\n * - Blob (for responseType 'blob')\n * - ArrayBuffer (for responseType 'arraybuffer')\n * - Document (for responseType 'document')\n * @returns {string} The response as a string\n */\n const getResponseString = (response) => {\n if (response === null || response === undefined) {\n return \"\";\n }\n\n // Handle different response types\n switch (typeof response) {\n case \"string\":\n return response;\n case \"object\":\n // Handle special response types\n if (response instanceof Blob || response instanceof ArrayBuffer) {\n return \"[Binary Data]\";\n }\n if (response instanceof Document) {\n return response.documentElement.outerHTML;\n }\n // For plain objects or arrays\n try {\n return JSON.stringify(response);\n } catch (e) {\n debug.error(\"Failed to stringify object response:\", e);\n return String(response);\n }\n default:\n return String(response);\n }\n };\n\n const responseObj = new Response(getResponseString(this.response), {\n status: status,\n statusText: statusText,\n headers: new Headers(\n Object.fromEntries(\n (this.getAllResponseHeaders() || \"\")\n .split(\"\\r\\n\")\n .filter(Boolean)\n .map((line) => line.split(\": \")),\n ),\n ),\n });\n\n Object.defineProperty(responseObj, \"url\", {\n value: requestInfo.url,\n writable: false,\n });\n\n // Process response middlewares\n self\n .processResponseMiddlewares(responseObj, requestInfo)\n .catch((error) => debug.error(\"Error in response middleware:\", error));\n } catch (error) {\n console.log(\"error\", error);\n debug.error(\"Error processing XHR response:\", error);\n }\n }\n };\n\n // Run middlewares then send\n runRequestMiddlewares().then(() => {\n originalSend.call(this, requestInfo.options.body);\n });\n } else {\n // Handle case where open wasn't called first\n originalSend.apply(this, arguments);\n }\n };\n\n // Reset functionality to restore original methods if needed\n this.resetXHRInterceptor = function () {\n XMLHttpRequest.prototype.open = originalOpen;\n XMLHttpRequest.prototype.send = originalSend;\n XMLHttpRequest.prototype.setRequestHeader = originalSetRequestHeader;\n };\n }\n\n /**\n * Add a middleware function to process requests before they are sent\n * @param {Function} middleware - Function to process request data\n */\n addRequestMiddleware(middleware) {\n if (typeof middleware === \"function\") {\n this.requestMiddlewares.push(middleware);\n }\n }\n\n /**\n * Add a middleware function to process responses after they are received\n * @param {Function} middleware - Function to process response data\n */\n addResponseMiddleware(middleware) {\n if (typeof middleware === \"function\") {\n this.responseMiddlewares.push(middleware);\n }\n }\n }\n\n // Create instance of the interceptor\n const interceptor = new RequestInterceptor();\n\n interceptor.addResponseMiddleware(async (response, request) => {\n try {\n // Helper function to safely extract headers\n const extractHeaders = (headers) => {\n let headersObj = {};\n try {\n if (headers) {\n if (headers instanceof Headers) {\n headersObj = Object.fromEntries(headers.entries());\n } else if (typeof headers === \"object\") {\n Object.keys(headers).forEach((key) => {\n const val = headers[key];\n if (typeof val === \"string\" || typeof val === \"number\") {\n headersObj[key] = String(val);\n }\n });\n }\n }\n } catch (e) {\n debug.error(\"Error extracting headers:\", e);\n }\n return headersObj;\n };\n\n // Helper function to safely extract body\n const extractBody = (body) => {\n let bodyStr = null;\n try {\n if (body) {\n if (typeof body === \"string\") {\n bodyStr = body;\n } else if (typeof body === \"object\") {\n bodyStr = JSON.stringify(body);\n }\n }\n } catch (e) {\n debug.error(\"Error extracting body:\", e);\n }\n return bodyStr;\n };\n\n // Helper function to safely extract URL\n const extractUrl = (url) => {\n let urlStr = \"\";\n try {\n if (typeof url === \"string\") {\n urlStr = url.startsWith(\"http\") ? url : new URL(url, window.location.origin).href;\n } else if (url && typeof url === \"object\" && url.url) {\n urlStr = url.url;\n } else if (url && typeof url === \"object\" && url.href) {\n urlStr = url.href;\n } else {\n urlStr = String(url);\n if (!urlStr.startsWith(\"http\")) {\n urlStr = new URL(urlStr, window.location.origin).href;\n }\n }\n } catch (e) {\n debug.error(\"Error extracting URL:\", e);\n urlStr = window.location.href;\n }\n return urlStr;\n };\n\n // Extract URL once for both request and response\n const url = extractUrl(request.url);\n\n // Create combined request/response object\n const combinedData = {\n request: {\n url: url,\n method:\n typeof request.options.method === \"string\"\n ? request.options.method?.toUpperCase()\n : \"GET\",\n headers: extractHeaders(request.options.headers),\n body: extractBody(request.options.body),\n },\n response: {\n url: url,\n status: response.status,\n headers: extractHeaders(response.headers),\n body: extractBody(response.body),\n },\n timestamp: Date.now(),\n };\n\n // Send the combined data\n window.postMessage(\n {\n action: \"INTERCEPTED_REQUEST_AND_RESPONSE\",\n data: combinedData,\n },\n \"*\",\n );\n } catch (error) {\n debug.error(\"Error processing request/response:\", error);\n\n // Fallback with minimal data\n window.postMessage(\n {\n action: \"INTERCEPTED_REQUEST_AND_RESPONSE\",\n data: {\n url: window.location.href,\n request: {\n method: \"GET\",\n headers: {},\n body: null,\n },\n response: {\n status: response.status || 0,\n headers: {},\n body: null,\n },\n timestamp: Date.now(),\n error: error.message,\n },\n },\n \"*\",\n );\n }\n });\n\n /**\n * Expose the interceptor instance globally\n * This allows adding more middlewares from other scripts or the console\n *\n * Usage examples:\n *\n * // Add a request middleware\n * window.reclaimInterceptor.addRequestMiddleware(async (request) => {\n * console.log('New request:', request.url);\n * });\n *\n * // Add a response middleware\n * window.reclaimInterceptor.addResponseMiddleware(async (response, request) => {\n * console.log('New response:', response.body);\n * });\n */\n window.reclaimInterceptor = interceptor;\n\n debug.info(\"Userscript initialized and ready - Access via window.reclaimInterceptor\");\n };\n\n injectionFunction();\n})();\n"],"names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","key","_typeof","toPrimitive","String","Number","_toPrimitive","debug","interceptor","_console2","_len2","args","Array","_key2","console","error","concat","_console3","_len3","_key3","info","RequestInterceptor","_window$fetch","_classCallCheck","this","requestMiddlewares","responseMiddlewares","originalFetch","window","fetch","originalXHR","XMLHttpRequest","setupInterceptor","_processRequestMiddlewares","_callee","requestData","_t","_context","all","map","middleware","_x","_processResponseMiddlewares","_callee2","response","parsedResponse","_iterator","_step","_t2","_t3","_context2","parseResponse","_createForOfIteratorHelper","s","_x2","_x3","_parseResponse","_callee3","responseBody","url","headersObj","raw","_t4","_context3","fromEntries","headers","entries","text","name","id","status","statusText","body","originalResponse","timestamp","Date","now","_x4","_apply","self","Proxy","_callee4","target","thisArg","argumentsList","_options$method","_argumentsList","_argumentsList$","options","_response$body$tee","_response$body$tee2","forAppStream","forAuditStream","forApp","forAudit","_t5","_context4","_slicedToArray","Reflect","_objectSpread","method","toUpperCase","Headers","processResponseMiddlewares","clone","tee","Response","_x5","_x6","_x7","originalOpen","open","originalSend","send","originalSetRequestHeader","setRequestHeader","requestInfoMap","WeakMap","_len4","_key4","_args$","_args$2","requestInfo","set","header","get","data","_this","runRequestMiddlewares","_ref","_callee5","_t6","_context5","originalHandler","onreadystatechange","event","readyState","responseObj","Blob","ArrayBuffer","Document","documentElement","outerHTML","JSON","stringify","getResponseString","getAllResponseHeaders","split","filter","Boolean","line","log","resetXHRInterceptor","push","addResponseMiddleware","_ref2","_callee6","request","_request$options$meth","extractHeaders","extractBody","extractUrl","combinedData","_context6","keys","forEach","val","bodyStr","urlStr","startsWith","URL","location","origin","href","postMessage","action","message","_x8","_x9","reclaimInterceptor"],"sourceRoot":""}
|