scordi-extension 1.19.1 → 1.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +1 -1
- package/dist/manifest.json +1 -1
- package/dist/sdk/EightGClient.d.ts.map +1 -1
- package/dist/sdk/index.cjs +1 -1
- package/dist/sdk/index.js +1361 -1361
- package/package.json +1 -1
package/dist/.vite/manifest.json
CHANGED
package/dist/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EightGClient.d.ts","sourceRoot":"","sources":["../../src/sdk/EightGClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAEhB,qBAAqB,EAGrB,gBAAgB,EAEhB,sBAAsB,EAEtB,mBAAmB,EAEnB,0BAA0B,EAE1B,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,wBAAwB,EAA8B,MAAM,2BAA2B,CAAC;AAGjG;;;GAGG;AACH,qBAAa,YAAY;;IAGvB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAmBzD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkEhF,aAAa,CACjB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAW/C,kBAAkB,CACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IAiBnD,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAiBhD,4BAA4B,CAChC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAiBzD,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAgBjD,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IAwBvD,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IA0B7D,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,4CAA4C;
|
|
1
|
+
{"version":3,"file":"EightGClient.d.ts","sourceRoot":"","sources":["../../src/sdk/EightGClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAEhB,qBAAqB,EAGrB,gBAAgB,EAEhB,sBAAsB,EAEtB,mBAAmB,EAEnB,0BAA0B,EAE1B,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,wBAAwB,EAA8B,MAAM,2BAA2B,CAAC;AAGjG;;;GAGG;AACH,qBAAa,YAAY;;IAGvB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAmBzD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkEhF,aAAa,CACjB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAW/C,kBAAkB,CACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IAiBnD,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAiBhD,4BAA4B,CAChC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAiBzD,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAgBjD,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IAwBvD,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IA0B7D,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,4CAA4C;IAyDpD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAcnE,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAIpE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAIlE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAI7D;;;OAGG;YACW,yCAAyC;CAyHxD"}
|
package/dist/sdk/index.cjs
CHANGED
|
@@ -105,4 +105,4 @@
|
|
|
105
105
|
margin: ${a.label?"4px 0 0 0":"0"};
|
|
106
106
|
color: #4b5563;
|
|
107
107
|
font-size: 12px;
|
|
108
|
-
`,_.appendChild(b)}return s.appendChild(_),setTimeout(()=>{s.style.opacity="1"},200),s}function Ci(t,e,r,n,a,s){const o=window.scrollX||window.pageXOffset,l=window.scrollY||window.pageYOffset,h=t.querySelector("svg");if(h){const b=h.querySelector("#8g-spotlight-mask");if(b){const x=b.querySelector("rect:last-child");x&&(x.setAttribute("x",String(e-o-4)),x.setAttribute("y",String(r-l-4)),x.setAttribute("width",String(n+8)),x.setAttribute("height",String(a+8)))}}const g=t.querySelector(".8g-spotlight-pulse-container");g&&(g.style.left=`${e-o-4}px`,g.style.top=`${r-l-4}px`,g.style.width=`${n+8}px`,g.style.height=`${a+8}px`);const T=t.querySelector("#8g-spotlight-pointer");if(T){const x={top:{left:e-o+n/2,top:r-l-48},right:{left:e-o+n+48,top:r-l+a/2},bottom:{left:e-o+n/2,top:r-l+a+48},left:{left:e-o-48,top:r-l+a/2}}[s.pointerPosition];T.style.left=`${x.left}px`,T.style.top=`${x.top}px`}const _=t.querySelector("[data-spotlight-label]");if(_){const P={top:{left:e-o+n/2,top:r-l-80},right:{left:e-o+n+16,top:r-l+a/2},bottom:{left:e-o+n/2,top:r-l+a+80},left:{left:e-o-16,top:r-l+a/2}}[s.pointerPosition];_.style.left=`${P.left}px`,_.style.top=`${P.top}px`}}function Di(t){let e=t.getAttribute("data-8g-spotlight-id");return e||(e=`8g-spotlight-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,t.setAttribute("data-8g-spotlight-id",e)),e}function Oi(){if(typeof document<"u"&&document.documentElement){const t=document.documentElement.getAttribute("lang");if(t)return An(t)}return typeof navigator<"u"&&navigator.language?An(navigator.language):"en"}function An(t){if(!t)return"en";const r=t.toLowerCase().split("-")[0];return["ko","en"].includes(r)?r:"en"}const Pi={"slack.roles.workspace_primary_owner":"Workspace Primary Owner","slack.roles.workspace_owners":"Workspace Owners","slack.roles.workspace_admins":"Workspace Admins","slack.roles.full_members":"Full members","slack.roles.multi_channel_guests":"Multi-Channel Guests","slack.roles.single_channel_guests":"Single-Channel Guests","slack.roles.channel_managers":"Channel Managers","slack.roles.invited_members":"Invited members","slack.roles.org_primary_owner":"Org Primary Owner","slack.roles.org_owners":"Org Owners","slack.roles.org_admins":"Org Admins","slack.roles.analytics_admin":"Analytics Admin","slack.roles.audit_logs_admin":"Audit Logs Admin","slack.roles.channels_admin":"Channels Admin","slack.roles.content_admin":"Content Admin","slack.roles.customization_manager":"Customization Manager","slack.roles.dlp_admin":"DLP Admin","slack.roles.export_admin":"Export Admin","slack.roles.integrations_admin":"Integrations Admin","slack.roles.legal_holds_admin":"Legal Holds Admin","slack.roles.message_activity_manager":"Message Activity Manager","slack.roles.roles_admin":"Roles Admin","slack.roles.sales_admin":"Sales Admin","slack.roles.salesforce_admin":"Salesforce Admin","slack.roles.security_admin":"Security Admin","slack.roles.template_admin":"Template Admin","slack.roles.users_admin":"Users Admin","slack.roles.workflow_admin":"Workflow Admin"},Ni={"slack.roles.workspace_primary_owner":"워크스페이스 주 소유자","slack.roles.workspace_owners":"워크스페이스 소유자","slack.roles.workspace_admins":"워크스페이스 관리자","slack.roles.full_members":"정식 멤버","slack.roles.multi_channel_guests":"멀티 채널 게스트","slack.roles.single_channel_guests":"단일 채널 게스트","slack.roles.channel_managers":"채널 매니저","slack.roles.invited_members":"초대된 멤버","slack.roles.org_primary_owner":"조직 주 소유자","slack.roles.org_owners":"조직 소유자","slack.roles.org_admins":"조직 관리자","slack.roles.analytics_admin":"분석 관리자","slack.roles.audit_logs_admin":"감사 로그 관리자","slack.roles.channels_admin":"채널 관리자","slack.roles.content_admin":"콘텐츠 관리자","slack.roles.customization_manager":"사용자 맞춤 관리자","slack.roles.dlp_admin":"DLP 관리자","slack.roles.export_admin":"내보내기 관리자","slack.roles.integrations_admin":"통합 관리자","slack.roles.legal_holds_admin":"법적 자료 관리자","slack.roles.message_activity_manager":"메시지 활동 관리자","slack.roles.roles_admin":"역할 관리자","slack.roles.sales_admin":"영업 관리자","slack.roles.salesforce_admin":"Salesforce 관리자","slack.roles.security_admin":"보안 관리자","slack.roles.template_admin":"템플릿 관리자","slack.roles.users_admin":"사용자 관리자","slack.roles.workflow_admin":"워크플로 관리자"},Tn={en:Pi,ko:Ni};function Ri(t){const e=Ii(t);return Tn[e]||Tn.en}function Mi(t,e){return Ri(e)[t]}function Ii(t){if(!t)return"en";const r=t.toLowerCase().split("-")[0];return["ko","en"].includes(r)?r:"en"}function Sn(t,e,r){if(!t||typeof t!="string")return t;const n=`${e}.`;let a;t.startsWith(n)?a=t:a=`${e}.${t}`;const s=Mi(a,r);return s!==void 0?s:t}function Cn(t,e,r){const n={...t};for(const[a,s]of Object.entries(e))if(a in n&&n[a]!==null&&n[a]!==void 0){const o=n[a];typeof o=="string"?n[a]=Sn(o,s.translationKey,r):Array.isArray(o)&&(n[a]=o.map(l=>typeof l=="string"?Sn(l,s.translationKey,r):l))}return n}const Bi=k.union([k.string(),k.object({translationKey:k.string()})]),fn=k.object({name:k.literal("apply-locale"),sourceData:k.any().optional(),locale:k.string().optional(),mappings:k.record(k.string(),Bi)});function $i(t){return fn.parse(t)}async function ji(t){try{const{sourceData:e,locale:r,mappings:n}=t,a=e??{},s=r||Oi(),o={};for(const[l,h]of Object.entries(n))typeof h=="string"?o[l]={translationKey:h}:o[l]=h;if(Array.isArray(a))return{data:a.map(h=>typeof h=="object"&&h!==null&&!Array.isArray(h)?Cn(h,o,s):h)};if(typeof a=="object"&&a!==null&&!Array.isArray(a))return{data:Cn(a,o,s)};throw new Error("sourceData must be an object or an array of objects")}catch(e){return{hasError:!0,message:e instanceof Error?e.message:"Unknown error in apply-locale handler",data:null}}}const pn=et.extend({name:k.literal("paste-value"),value:k.string()});function Fi(t){return pn.parse(t)}async function Li(t){try{const{selector:e="",value:r,findBy:n="cssSelector"}=t;if(!e)throw new Error("Selector is required for paste-value block");if(r==null)throw new Error("Value is required for paste-value block");const a=await tt({selector:e,findBy:n,option:t.option});if(!a)throw new Error("Element not found for pasting value");const s=Array.isArray(a)?a[0]:a;if(!s)throw new Error("Target element not found");return await Ui(s,r),{data:!0}}catch(e){return{hasError:!0,message:e instanceof Error?e.message:"Unknown error in paste-value handler",data:!1}}}async function Ui(t,e){if(t.scrollIntoView({behavior:"instant",block:"center",inline:"center"}),await new Promise(r=>setTimeout(r,50)),t.focus&&t.focus(),t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){t.select();const r=t.selectionStart||0,n=t.selectionEnd||0,a=t.value,s=a.substring(0,r)+e+a.substring(n);t.value=s;const o=r+e.length;t.setSelectionRange(o,o);const l=new ClipboardEvent("paste",{bubbles:!0,cancelable:!0,clipboardData:new DataTransfer});l.clipboardData&&l.clipboardData.setData("text/plain",e),t.dispatchEvent(l)}else if(t.isContentEditable){const r=window.getSelection();if(r&&r.rangeCount>0){const a=r.getRangeAt(0);a.deleteContents(),a.insertNode(document.createTextNode(e)),a.collapse(!1),r.removeAllRanges(),r.addRange(a)}const n=new ClipboardEvent("paste",{bubbles:!0,cancelable:!0,clipboardData:new DataTransfer});n.clipboardData&&n.clipboardData.setData("text/plain",e),t.dispatchEvent(n)}await new Promise(r=>setTimeout(r,50))}const hn=ct({name:Bn("check-status"),checkType:Xt(["login","pageLoad","element","custom"]),title:ye(),description:ye().optional(),notification:ct({message:ye(),urgency:Xt(["low","medium","high"]).optional()}).optional(),options:ct({timeoutMs:St().optional(),retryable:it().optional(),autoOpen:it().optional(),customValidator:ye().optional(),autoClick:it().optional(),clickDelay:St().optional(),fallbackToManual:it().optional()}).optional()});function Wi(t){return hn.parse(t)}async function Zi(t){var e,r,n,a;try{const s=`check-status-${Date.now()}-${Math.random().toString(36).substring(2,11)}`,o=((e=t.notification)==null?void 0:e.message)||`${t.title} 확인이 필요합니다`,l=((r=t.notification)==null?void 0:r.urgency)||"medium";if(window.dispatchEvent(new CustomEvent("8g-show-notification",{detail:{id:s,message:o,urgency:l,checkType:t.checkType,title:t.title,description:t.description,options:t.options,autoClick:(n=t.options)==null?void 0:n.autoClick}})),(a=t.options)!=null&&a.autoClick){const g=t.options.clickDelay||500;console.log(`[CheckStatusBlock] Auto-click enabled, waiting ${g}ms before clicking`),await new Promise(P=>setTimeout(P,g));const T={width:window.innerWidth,height:window.innerHeight},_=60,b={right:60,bottom:200},x={x:T.width-b.right-_/2,y:T.height-b.bottom-_/2};console.log(`[CheckStatusBlock] Sending CDP click to (${x.x}, ${x.y})`);try{await chrome.runtime.sendMessage({type:"CDP_CLICK",data:{x:x.x,y:x.y,button:"left"}}),console.log("[CheckStatusBlock] CDP click sent successfully")}catch(P){if(console.error("[CheckStatusBlock] CDP click failed:",P),!t.options.fallbackToManual)throw new Error("Auto-click failed and no fallback enabled");console.log("[CheckStatusBlock] Falling back to manual mode")}}return{data:await new Promise((g,T)=>{var K;let _=null;(K=t.options)!=null&&K.timeoutMs&&(_=setTimeout(()=>{window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),T(new Error("Check status timeout"))},t.options.timeoutMs));const b=te=>{te.detail.notificationId===s&&(_&&clearTimeout(_),window.removeEventListener("8g-check-status-result",b),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),te.detail.success?g(te.detail.data):T(new Error(te.detail.message||"Check status failed")))},x=te=>{te.detail.notificationId===s&&(_&&clearTimeout(_),window.removeEventListener("8g-notification-dismissed",x),window.removeEventListener("8g-check-status-result",b),T(new Error("User dismissed the notification")))};window.addEventListener("8g-check-status-result",b),window.addEventListener("8g-notification-dismissed",x);const P=te=>{te.detail.id===s&&(_&&clearTimeout(_),window.removeEventListener("8g-show-check-status-fallback",P),window.dispatchEvent(new CustomEvent("8g-show-check-status",{detail:{checkType:t.checkType,title:t.title,description:t.description,onConfirm:fe=>{window.dispatchEvent(new CustomEvent("8g-hide-check-status")),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),g(fe)},onCancel:()=>{window.dispatchEvent(new CustomEvent("8g-hide-check-status")),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),T(new Error("User cancelled"))}}})))};window.addEventListener("8g-show-check-status-fallback",P)})||{confirmed:!0},hasError:!1}}catch(s){return{data:null,hasError:!0,message:s instanceof Error?s.message:"Check status failed"}}}const Vi={"get-text":zr,"attribute-value":qr,"get-value-form":Hr,"set-value-form":Yr,"set-contenteditable":Kr,"clear-value-form":Gr,"element-exists":Xr,"event-click":Jr,keypress:Qr,wait:en,"wait-for-condition":tn,navigate:rn,"save-assets":nn,"get-element-data":an,scroll:sn,"ai-parse-data":Vr,"fetch-api":on,"transform-data":cn,"export-data":ln,"network-catch":un,"mark-border":dn,"apply-locale":fn,"paste-value":pn,"check-status":hn};class zi{static async executeBlock(e){try{switch(e.name){case"get-text":{const r=fs(e);return await ps(r)}case"attribute-value":{const r=ms(e);return await gs(r)}case"get-value-form":{const r=ys(e);return await vs(r)}case"set-value-form":{const r=bs(e);return await ks(r)}case"set-contenteditable":{const r=Ts(e);return await Ss(r)}case"clear-value-form":{const r=Es(e);return await _s(r)}case"element-exists":{const r=Os(e);return await Ps(r)}case"event-click":{const r=Ns(e);return await Rs(r)}case"keypress":{const r=js(e);return await Fs(r)}case"wait":{const r=Us(e);return await Ws(r)}case"wait-for-condition":{const r=Zs(e);return await Vs(r)}case"navigate":{const r=zs(e);return await qs(r)}case"save-assets":{const r=Hs(e);return await Ys(r)}case"get-element-data":{const r=Ks(e);return await Xs(r)}case"scroll":{const r=Qs(e);return await ei(r)}case"ai-parse-data":{const r=ts(e);return await rs(r)}case"fetch-api":{const r=si(e);return await ii(r)}case"transform-data":{const r=di(e);return await fi(r)}case"export-data":{const r=pi(e);return await hi(r)}case"network-catch":{const r=mi(e);return await gi(r)}case"mark-border":{const r=yi(e);return await vi(r)}case"apply-locale":{const r=$i(e);return await ji(r)}case"paste-value":{const r=Fi(e);return await Li(r)}case"check-status":{const r=Wi(e);return await Zi(r)}default:return{hasError:!0,message:`Unknown block type: ${e.name}`,data:null}}}catch(r){return{hasError:!0,message:r instanceof Error?r.message:"Unknown error in block execution",data:null}}}}class qi{constructor(){ne(this,"expr");ne(this,"json")}}class Hi{constructor(){ne(this,"template");ne(this,"valueFrom");ne(this,"default")}}class Yi{constructor(){ne(this,"id");ne(this,"title");ne(this,"when");ne(this,"block");ne(this,"repeat");ne(this,"next");ne(this,"onSuccess");ne(this,"onFailure");ne(this,"switch");ne(this,"timeoutMs");ne(this,"retry");ne(this,"delayAfterMs")}}class Gi{constructor(){ne(this,"version");ne(this,"id");ne(this,"title");ne(this,"description");ne(this,"start");ne(this,"steps");ne(this,"vars");ne(this,"defaultDelayMs")}}class Ki{constructor(){ne(this,"stepId");ne(this,"skipped");ne(this,"success");ne(this,"message");ne(this,"result");ne(this,"startedAt");ne(this,"finishedAt");ne(this,"attempts")}}class Xi{constructor(){ne(this,"success");ne(this,"data");ne(this,"steps");ne(this,"context");ne(this,"targetUrl");ne(this,"timestamp");ne(this,"error")}}class Ji{constructor(){ne(this,"success");ne(this,"data");ne(this,"steps");ne(this,"context");ne(this,"targetUrl");ne(this,"timestamp");ne(this,"error")}}class Qi{constructor(){ne(this,"success");ne(this,"message");ne(this,"data")}}var Rr=(t=>(t.USD="USD",t.KRW="KRW",t.EUR="EUR",t.GBP="GBP",t.CAD="CAD",t.CNY="CNY",t.JPY="JPY",t.VND="VND",t.ARS="ARS",t.INR="INR",t.TWD="TWD",t.AUD="AUD",t.HKD="HKD",t.IDR="IDR",t.MXN="MXN",t.NZD="NZD",t.SGD="SGD",t.CHF="CHF",t.THB="THB",t.BRL="BRL",t.TRY="TRY",t.RUB="RUB",t.NOK="NOK",t.DKK="DKK",t.SEK="SEK",t.ILS="ILS",t.ZAR="ZAR",t.PLN="PLN",t.PHP="PHP",t.CZK="CZK",t.CLP="CLP",t.COP="COP",t.EGP="EGP",t.MYR="MYR",t.HUF="HUF",t.AED="AED",t.SAR="SAR",t.RON="RON",t.BGN="BGN",t))(Rr||{});const jn={code:{type:"string",enum:Object.values(Rr),description:"Currency code"},symbol:{type:"string",enum:["$","₩","€","£","¥","₫","₹","NT$","Rp","₣","฿","R$","₺","₽","kr","₪","R","zł","₱","Kč","E£","RM","Ft","د.إ","﷼","L","лв"],description:"Currency symbol"},format:{type:"string",enum:["%s%u","%s%n","%u%s","%n%s","%s %u","%s %n","%u %s","%n %s"],description:"Display format (%s: symbol, %u/%n: amount)"},amount:{type:"number",description:"Actual amount value"},text:{type:"string",description:"Formatted display text (e.g., US$57.75)"}};var mn=(t=>(t.None="None",t.Monthly="Monthly",t.Yearly="Yearly",t.Onetime="Onetime",t))(mn||{});const Fn=ct({id:ye(),slug:ye(),name:ye(),image:ye(),memberCount:St(),isAdmin:it().nullable().optional()}),Ln=ct({slug:ye(),displayName:ye(),profileImageUrl:ye(),description:ye(),publicEmail:ye(),billingEmail:ye(),orgPageUrl:ye(),roles:In(ye())}),Or=ct({code:Zr(Rr),symbol:ye(),format:ye(),amount:St(),text:ye().optional()}),Un=ct({planName:ye(),currentCycleBillAmount:Or,nextPaymentDue:ye(),cycleTerm:Zr(mn).nullable(),isFreeTier:it(),isPerUser:it(),paidMemberCount:St(),usedMemberCount:St(),unitPrice:Or.nullable(),cardNumber:ye(),cardName:ye()}),Wn=ct({uid:ye(),issuedDate:mr.date(),paidDate:mr.date().nullable().optional(),paymentMethod:ye(),amount:Or,isSuccessfulPaid:it(),receiptUrl:ye()}),Zn=ct({uid:ye().nullable(),name:ye(),email:ye().email(),profileImageUrl:ye(),role:ye(),subscriptionSeatStatus:Xt(["NONE","FREE","PAID","QUIT"]).nullable().optional(),startedAt:mr.date().nullable().optional(),deletedAt:mr.date().nullable().optional()}),Ur=ct({email:ye(),operation:Xt(["add","delete"]),completed:it(),reason:ye().optional()});class ht extends Error{constructor(e,r,n){super(e),this.code=r,this.details=n,this.name="EightGError"}static extensionNotInstalled(){return new ht("8G Extension is not installed or not responding","EXTENSION_NOT_FOUND")}static invalidRequest(e){return new ht(`Invalid request: ${e}`,"INVALID_REQUEST")}static collectionFailed(e){return new ht(`Data collection failed: ${e}`,"COLLECTION_FAILED")}static requestTimeout(e=6e5){const r=Math.floor(e/1e3);return new ht(`Request timeout - Extension did not respond within ${r} seconds`,"REQUEST_TIMEOUT")}}function eo(t){return t&&t.type==="8G_EXTENSION_RESPONSE"}class to{constructor(){}async checkExtension(){return new Promise((e,r)=>{const n=setTimeout(()=>{r(ht.extensionNotInstalled())},5e3),a=s=>{eo(s.data)&&(clearTimeout(n),window.removeEventListener("message",a),e(s.data))};window.addEventListener("message",a),window.postMessage({type:"8G_EXTENSION_CHECK"},"*")})}async collectWorkflow(e){return new Promise((r,n)=>{const a=`8g_wf_${Date.now()}_${Math.random()}`,s=e.timeoutMs??6e5,o=setTimeout(()=>{n(ht.requestTimeout(s))},s),l=h=>{var g,T,_,b,x,P,K,te,fe;if(((g=h.data)==null?void 0:g.type)==="8G_COLLECT_RESPONSE"&&h.data.requestId===a){clearTimeout(o),window.removeEventListener("message",l);const I=h.data,N=((T=I==null?void 0:I.result)==null?void 0:T.steps)??((b=(_=I==null?void 0:I.result)==null?void 0:_.result)==null?void 0:b.steps)??[],J=((x=I==null?void 0:I.result)==null?void 0:x.context)??((K=(P=I==null?void 0:I.result)==null?void 0:P.result)==null?void 0:K.context)??{steps:{},vars:{}};console.log("steps",N);const W=N.length>0&&N.every(ce=>ce.success||ce.skipped);console.log("allStepsSuccessful",W);const S=N.find(ce=>!ce.success&&!ce.skipped);console.log("failedStep",S);const L=S?S.result:(fe=(te=N[N.length-1])==null?void 0:te.result)==null?void 0:fe.data;console.log("data",L);const Z={success:W,message:S?S.message:I.message,data:L};console.log("resContainer",Z),r({success:I.success,data:Z,steps:N,context:J,error:I.success?void 0:"Workflow failed",timestamp:new Date().toISOString(),targetUrl:e.targetUrl})}};window.addEventListener("message",l),window.postMessage({type:"8G_COLLECT_WORKFLOW",requestId:a,targetUrl:e.targetUrl,workflow:e.workflow,closeTabAfterCollection:e.closeTabAfterCollection!==!1,activateTab:e.activateTab===!0},"*")})}async getWorkspaces(e){return this.executeWorkflowAndValidateSingleContainer(e,Fn,"GET_WORKSPACES_FAILED","Failed to get workspaces",!0)}async getWorkspaceDetail(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Ln,"GET_WORKSPACE_DETAIL_FAILED","Failed to get workspace detail",!1)}async getWorkspaceBilling(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Un,"GET_WORKSPACE_BILLING_FAILED","Failed to get workspace billing",!1)}async getWorkspaceBillingHistories(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Wn,"GET_WORKSPACE_BILLING_HISTORIES_FAILED","Failed to get workspace billing histories",!0)}async getWorkspaceMembers(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Zn,"GET_WORKSPACE_MEMBERS_FAILED","Failed to get workspace members",!0)}async addMembers(e,r,n,a){a.workflow.vars={...a.workflow.vars,workspaceKey:e,slug:r,emails:n};const s=await this.collectWorkflow(a);if(!s.success&&s.error)throw new ht(s.error,"ADD_MEMBERS_WORKFLOW_FAILED");return this.executeWorkflowAndValidateMultipleContainers(s,Ur,this.isMemberOperationResultArray.bind(this),this.isMemberOperationResult.bind(this))}async deleteMembers(e,r,n,a){a.workflow.vars={...a.workflow.vars,workspaceKey:e,slug:r,emails:n};const s=await this.collectWorkflow(a);if(!s.success&&s.error)throw new ht(s.error,"DELETE_MEMBERS_WORKFLOW_FAILED");return this.executeWorkflowAndValidateMultipleContainers(s,Ur,this.isMemberOperationResultArray.bind(this),this.isMemberOperationResult.bind(this))}isMemberOperationResult(e){return e&&typeof e.email=="string"&&["add","delete"].includes(e.operation)&&typeof e.completed=="boolean"}isMemberOperationResultArray(e){return Array.isArray(e)&&e.length>0&&e.every(r=>this.isMemberOperationResult(r))}executeWorkflowAndValidateMultipleContainers(e,r,n,a){var o;const s=Array.isArray(e.data)?null:(o=e.data)==null?void 0:o.data;if(n(s)){const l=[];for(const h of s){const g=r.safeParse(h);g.success?l.push({success:!0,data:g.data}):(console.warn("Invalid data:",h,g.error),l.push({success:!1,message:"Data validation failed",data:h}))}return{...e,data:l}}if(a(s)){const l=r.safeParse(s);return{...e,data:[{success:l.success,message:l.success?void 0:"Data validation failed",data:l.success?l.data:s}]}}return{...e,data:[]}}static getFromContext(e,r){const n=r.split(".");let a=e;for(const s of n){if(a==null)return;a=a[s]}return a}static getStepResult(e,r){return e.steps[r]}static getStepData(e,r){var n,a;return(a=(n=e.steps[r])==null?void 0:n.result)==null?void 0:a.data}static getVar(e,r){return e.vars[r]}async executeWorkflowAndValidateSingleContainer(e,r,n,a,s=!1){const o=await this.collectWorkflow(e);if(!o.success)throw new ht(a,n);const l=o.data;if(!l)return{...o,data:s?{success:!1,data:[]}:{success:!1,data:void 0}};if(s){if(l!=null&&l.data&&Array.isArray(l.data)){const g=l,T=[];if(g.data)for(const _ of g.data){const b=r.safeParse(_);b.success?T.push(b.data):console.warn("Invalid data:",_,b.error)}return{...o,data:{...g,data:T}}}if(!Array.isArray(l))return{...o,data:{success:!1,data:[]}};const h=[];for(const g of l){const T=(g==null?void 0:g.data)!==void 0?g.data:g,_=r.safeParse(T);_.success?h.push(_.data):console.warn("Invalid data:",g,_.error)}return{...o,data:{success:!0,data:h}}}else if((l==null?void 0:l.data)!==void 0&&(l==null?void 0:l.success)!==void 0){const h=l,g=r.safeParse(h.data);return g.success?{...o,data:{...h,data:g.data}}:(console.warn("Invalid data:",h,g.error),{...o,data:{...h,data:void 0}})}else{const h=r.safeParse(l);return h.success?{...o,data:{success:!0,data:h.data}}:(console.warn("Invalid data:",l,h.error),{...o,data:{success:!1,message:"Data validation failed",data:void 0}})}}}exports.AiParseDataBlockSchema=Vr;exports.AllBlockSchemas=Vi;exports.ApplyLocaleBlockSchema=fn;exports.BaseBlockSchema=et;exports.BillingCycleTerm=mn;exports.Binding=Hi;exports.BlockHandler=zi;exports.CheckStatusBlockSchema=hn;exports.ClearValueFormsBlockSchema=Gr;exports.CollectWorkflowArrayResult=Ji;exports.CollectWorkflowResult=Xi;exports.Condition=qi;exports.CurrencyAmountSchema=Or;exports.CurrencyCode=Rr;exports.CurrencyInfoSchema=jn;exports.EightGClient=to;exports.EightGError=ht;exports.ElementExistsBlockSchema=Xr;exports.EventClickBlockSchema=Jr;exports.ExportDataBlockSchema=ln;exports.FetchApiBlockSchema=on;exports.GetAttributeValueBlockSchema=qr;exports.GetElementDataBlockSchema=an;exports.GetTextBlockSchema=zr;exports.GetValueFormsBlockSchema=Hr;exports.KeypressBlockSchema=Qr;exports.MarkBorderBlockSchema=dn;exports.MemberOperationResultSchema=Ur;exports.NavigateBlockSchema=rn;exports.NetworkCatchBlockSchema=un;exports.PasteValueBlockSchema=pn;exports.ResDataContainer=Qi;exports.SaveAssetsBlockSchema=nn;exports.Schema=ss;exports.ScrollBlockSchema=sn;exports.SetContentEditableBlockSchema=Kr;exports.SetValueFormsBlockSchema=Yr;exports.TransformDataBlockSchema=cn;exports.WaitBlockSchema=en;exports.WaitForConditionBlockSchema=tn;exports.Workflow=Gi;exports.WorkflowStep=Yi;exports.WorkflowStepRunResult=Ki;exports.WorkspaceBillingHistorySchema=Wn;exports.WorkspaceBillingSchema=Un;exports.WorkspaceDetailItemSchema=Ln;exports.WorkspaceItemSchema=Fn;exports.WorkspaceMemberSchema=Zn;exports.createArraySchema=as;exports.createSchema=ns;
|
|
108
|
+
`,_.appendChild(b)}return s.appendChild(_),setTimeout(()=>{s.style.opacity="1"},200),s}function Ci(t,e,r,n,a,s){const o=window.scrollX||window.pageXOffset,l=window.scrollY||window.pageYOffset,h=t.querySelector("svg");if(h){const b=h.querySelector("#8g-spotlight-mask");if(b){const x=b.querySelector("rect:last-child");x&&(x.setAttribute("x",String(e-o-4)),x.setAttribute("y",String(r-l-4)),x.setAttribute("width",String(n+8)),x.setAttribute("height",String(a+8)))}}const g=t.querySelector(".8g-spotlight-pulse-container");g&&(g.style.left=`${e-o-4}px`,g.style.top=`${r-l-4}px`,g.style.width=`${n+8}px`,g.style.height=`${a+8}px`);const T=t.querySelector("#8g-spotlight-pointer");if(T){const x={top:{left:e-o+n/2,top:r-l-48},right:{left:e-o+n+48,top:r-l+a/2},bottom:{left:e-o+n/2,top:r-l+a+48},left:{left:e-o-48,top:r-l+a/2}}[s.pointerPosition];T.style.left=`${x.left}px`,T.style.top=`${x.top}px`}const _=t.querySelector("[data-spotlight-label]");if(_){const P={top:{left:e-o+n/2,top:r-l-80},right:{left:e-o+n+16,top:r-l+a/2},bottom:{left:e-o+n/2,top:r-l+a+80},left:{left:e-o-16,top:r-l+a/2}}[s.pointerPosition];_.style.left=`${P.left}px`,_.style.top=`${P.top}px`}}function Di(t){let e=t.getAttribute("data-8g-spotlight-id");return e||(e=`8g-spotlight-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,t.setAttribute("data-8g-spotlight-id",e)),e}function Oi(){if(typeof document<"u"&&document.documentElement){const t=document.documentElement.getAttribute("lang");if(t)return An(t)}return typeof navigator<"u"&&navigator.language?An(navigator.language):"en"}function An(t){if(!t)return"en";const r=t.toLowerCase().split("-")[0];return["ko","en"].includes(r)?r:"en"}const Pi={"slack.roles.workspace_primary_owner":"Workspace Primary Owner","slack.roles.workspace_owners":"Workspace Owners","slack.roles.workspace_admins":"Workspace Admins","slack.roles.full_members":"Full members","slack.roles.multi_channel_guests":"Multi-Channel Guests","slack.roles.single_channel_guests":"Single-Channel Guests","slack.roles.channel_managers":"Channel Managers","slack.roles.invited_members":"Invited members","slack.roles.org_primary_owner":"Org Primary Owner","slack.roles.org_owners":"Org Owners","slack.roles.org_admins":"Org Admins","slack.roles.analytics_admin":"Analytics Admin","slack.roles.audit_logs_admin":"Audit Logs Admin","slack.roles.channels_admin":"Channels Admin","slack.roles.content_admin":"Content Admin","slack.roles.customization_manager":"Customization Manager","slack.roles.dlp_admin":"DLP Admin","slack.roles.export_admin":"Export Admin","slack.roles.integrations_admin":"Integrations Admin","slack.roles.legal_holds_admin":"Legal Holds Admin","slack.roles.message_activity_manager":"Message Activity Manager","slack.roles.roles_admin":"Roles Admin","slack.roles.sales_admin":"Sales Admin","slack.roles.salesforce_admin":"Salesforce Admin","slack.roles.security_admin":"Security Admin","slack.roles.template_admin":"Template Admin","slack.roles.users_admin":"Users Admin","slack.roles.workflow_admin":"Workflow Admin"},Ni={"slack.roles.workspace_primary_owner":"워크스페이스 주 소유자","slack.roles.workspace_owners":"워크스페이스 소유자","slack.roles.workspace_admins":"워크스페이스 관리자","slack.roles.full_members":"정식 멤버","slack.roles.multi_channel_guests":"멀티 채널 게스트","slack.roles.single_channel_guests":"단일 채널 게스트","slack.roles.channel_managers":"채널 매니저","slack.roles.invited_members":"초대된 멤버","slack.roles.org_primary_owner":"조직 주 소유자","slack.roles.org_owners":"조직 소유자","slack.roles.org_admins":"조직 관리자","slack.roles.analytics_admin":"분석 관리자","slack.roles.audit_logs_admin":"감사 로그 관리자","slack.roles.channels_admin":"채널 관리자","slack.roles.content_admin":"콘텐츠 관리자","slack.roles.customization_manager":"사용자 맞춤 관리자","slack.roles.dlp_admin":"DLP 관리자","slack.roles.export_admin":"내보내기 관리자","slack.roles.integrations_admin":"통합 관리자","slack.roles.legal_holds_admin":"법적 자료 관리자","slack.roles.message_activity_manager":"메시지 활동 관리자","slack.roles.roles_admin":"역할 관리자","slack.roles.sales_admin":"영업 관리자","slack.roles.salesforce_admin":"Salesforce 관리자","slack.roles.security_admin":"보안 관리자","slack.roles.template_admin":"템플릿 관리자","slack.roles.users_admin":"사용자 관리자","slack.roles.workflow_admin":"워크플로 관리자"},Tn={en:Pi,ko:Ni};function Ri(t){const e=Ii(t);return Tn[e]||Tn.en}function Mi(t,e){return Ri(e)[t]}function Ii(t){if(!t)return"en";const r=t.toLowerCase().split("-")[0];return["ko","en"].includes(r)?r:"en"}function Sn(t,e,r){if(!t||typeof t!="string")return t;const n=`${e}.`;let a;t.startsWith(n)?a=t:a=`${e}.${t}`;const s=Mi(a,r);return s!==void 0?s:t}function Cn(t,e,r){const n={...t};for(const[a,s]of Object.entries(e))if(a in n&&n[a]!==null&&n[a]!==void 0){const o=n[a];typeof o=="string"?n[a]=Sn(o,s.translationKey,r):Array.isArray(o)&&(n[a]=o.map(l=>typeof l=="string"?Sn(l,s.translationKey,r):l))}return n}const Bi=k.union([k.string(),k.object({translationKey:k.string()})]),fn=k.object({name:k.literal("apply-locale"),sourceData:k.any().optional(),locale:k.string().optional(),mappings:k.record(k.string(),Bi)});function $i(t){return fn.parse(t)}async function ji(t){try{const{sourceData:e,locale:r,mappings:n}=t,a=e??{},s=r||Oi(),o={};for(const[l,h]of Object.entries(n))typeof h=="string"?o[l]={translationKey:h}:o[l]=h;if(Array.isArray(a))return{data:a.map(h=>typeof h=="object"&&h!==null&&!Array.isArray(h)?Cn(h,o,s):h)};if(typeof a=="object"&&a!==null&&!Array.isArray(a))return{data:Cn(a,o,s)};throw new Error("sourceData must be an object or an array of objects")}catch(e){return{hasError:!0,message:e instanceof Error?e.message:"Unknown error in apply-locale handler",data:null}}}const pn=et.extend({name:k.literal("paste-value"),value:k.string()});function Fi(t){return pn.parse(t)}async function Li(t){try{const{selector:e="",value:r,findBy:n="cssSelector"}=t;if(!e)throw new Error("Selector is required for paste-value block");if(r==null)throw new Error("Value is required for paste-value block");const a=await tt({selector:e,findBy:n,option:t.option});if(!a)throw new Error("Element not found for pasting value");const s=Array.isArray(a)?a[0]:a;if(!s)throw new Error("Target element not found");return await Ui(s,r),{data:!0}}catch(e){return{hasError:!0,message:e instanceof Error?e.message:"Unknown error in paste-value handler",data:!1}}}async function Ui(t,e){if(t.scrollIntoView({behavior:"instant",block:"center",inline:"center"}),await new Promise(r=>setTimeout(r,50)),t.focus&&t.focus(),t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){t.select();const r=t.selectionStart||0,n=t.selectionEnd||0,a=t.value,s=a.substring(0,r)+e+a.substring(n);t.value=s;const o=r+e.length;t.setSelectionRange(o,o);const l=new ClipboardEvent("paste",{bubbles:!0,cancelable:!0,clipboardData:new DataTransfer});l.clipboardData&&l.clipboardData.setData("text/plain",e),t.dispatchEvent(l)}else if(t.isContentEditable){const r=window.getSelection();if(r&&r.rangeCount>0){const a=r.getRangeAt(0);a.deleteContents(),a.insertNode(document.createTextNode(e)),a.collapse(!1),r.removeAllRanges(),r.addRange(a)}const n=new ClipboardEvent("paste",{bubbles:!0,cancelable:!0,clipboardData:new DataTransfer});n.clipboardData&&n.clipboardData.setData("text/plain",e),t.dispatchEvent(n)}await new Promise(r=>setTimeout(r,50))}const hn=ct({name:Bn("check-status"),checkType:Xt(["login","pageLoad","element","custom"]),title:ye(),description:ye().optional(),notification:ct({message:ye(),urgency:Xt(["low","medium","high"]).optional()}).optional(),options:ct({timeoutMs:St().optional(),retryable:it().optional(),autoOpen:it().optional(),customValidator:ye().optional(),autoClick:it().optional(),clickDelay:St().optional(),fallbackToManual:it().optional()}).optional()});function Wi(t){return hn.parse(t)}async function Zi(t){var e,r,n,a;try{const s=`check-status-${Date.now()}-${Math.random().toString(36).substring(2,11)}`,o=((e=t.notification)==null?void 0:e.message)||`${t.title} 확인이 필요합니다`,l=((r=t.notification)==null?void 0:r.urgency)||"medium";if(window.dispatchEvent(new CustomEvent("8g-show-notification",{detail:{id:s,message:o,urgency:l,checkType:t.checkType,title:t.title,description:t.description,options:t.options,autoClick:(n=t.options)==null?void 0:n.autoClick}})),(a=t.options)!=null&&a.autoClick){const g=t.options.clickDelay||500;console.log(`[CheckStatusBlock] Auto-click enabled, waiting ${g}ms before clicking`),await new Promise(P=>setTimeout(P,g));const T={width:window.innerWidth,height:window.innerHeight},_=60,b={right:60,bottom:200},x={x:T.width-b.right-_/2,y:T.height-b.bottom-_/2};console.log(`[CheckStatusBlock] Sending CDP click to (${x.x}, ${x.y})`);try{await chrome.runtime.sendMessage({type:"CDP_CLICK",data:{x:x.x,y:x.y,button:"left"}}),console.log("[CheckStatusBlock] CDP click sent successfully")}catch(P){if(console.error("[CheckStatusBlock] CDP click failed:",P),!t.options.fallbackToManual)throw new Error("Auto-click failed and no fallback enabled");console.log("[CheckStatusBlock] Falling back to manual mode")}}return{data:await new Promise((g,T)=>{var K;let _=null;(K=t.options)!=null&&K.timeoutMs&&(_=setTimeout(()=>{window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),T(new Error("Check status timeout"))},t.options.timeoutMs));const b=te=>{te.detail.notificationId===s&&(_&&clearTimeout(_),window.removeEventListener("8g-check-status-result",b),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),te.detail.success?g(te.detail.data):T(new Error(te.detail.message||"Check status failed")))},x=te=>{te.detail.notificationId===s&&(_&&clearTimeout(_),window.removeEventListener("8g-notification-dismissed",x),window.removeEventListener("8g-check-status-result",b),T(new Error("User dismissed the notification")))};window.addEventListener("8g-check-status-result",b),window.addEventListener("8g-notification-dismissed",x);const P=te=>{te.detail.id===s&&(_&&clearTimeout(_),window.removeEventListener("8g-show-check-status-fallback",P),window.dispatchEvent(new CustomEvent("8g-show-check-status",{detail:{checkType:t.checkType,title:t.title,description:t.description,onConfirm:fe=>{window.dispatchEvent(new CustomEvent("8g-hide-check-status")),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),g(fe)},onCancel:()=>{window.dispatchEvent(new CustomEvent("8g-hide-check-status")),window.dispatchEvent(new CustomEvent("8g-hide-notification",{detail:{id:s}})),T(new Error("User cancelled"))}}})))};window.addEventListener("8g-show-check-status-fallback",P)})||{confirmed:!0},hasError:!1}}catch(s){return{data:null,hasError:!0,message:s instanceof Error?s.message:"Check status failed"}}}const Vi={"get-text":zr,"attribute-value":qr,"get-value-form":Hr,"set-value-form":Yr,"set-contenteditable":Kr,"clear-value-form":Gr,"element-exists":Xr,"event-click":Jr,keypress:Qr,wait:en,"wait-for-condition":tn,navigate:rn,"save-assets":nn,"get-element-data":an,scroll:sn,"ai-parse-data":Vr,"fetch-api":on,"transform-data":cn,"export-data":ln,"network-catch":un,"mark-border":dn,"apply-locale":fn,"paste-value":pn,"check-status":hn};class zi{static async executeBlock(e){try{switch(e.name){case"get-text":{const r=fs(e);return await ps(r)}case"attribute-value":{const r=ms(e);return await gs(r)}case"get-value-form":{const r=ys(e);return await vs(r)}case"set-value-form":{const r=bs(e);return await ks(r)}case"set-contenteditable":{const r=Ts(e);return await Ss(r)}case"clear-value-form":{const r=Es(e);return await _s(r)}case"element-exists":{const r=Os(e);return await Ps(r)}case"event-click":{const r=Ns(e);return await Rs(r)}case"keypress":{const r=js(e);return await Fs(r)}case"wait":{const r=Us(e);return await Ws(r)}case"wait-for-condition":{const r=Zs(e);return await Vs(r)}case"navigate":{const r=zs(e);return await qs(r)}case"save-assets":{const r=Hs(e);return await Ys(r)}case"get-element-data":{const r=Ks(e);return await Xs(r)}case"scroll":{const r=Qs(e);return await ei(r)}case"ai-parse-data":{const r=ts(e);return await rs(r)}case"fetch-api":{const r=si(e);return await ii(r)}case"transform-data":{const r=di(e);return await fi(r)}case"export-data":{const r=pi(e);return await hi(r)}case"network-catch":{const r=mi(e);return await gi(r)}case"mark-border":{const r=yi(e);return await vi(r)}case"apply-locale":{const r=$i(e);return await ji(r)}case"paste-value":{const r=Fi(e);return await Li(r)}case"check-status":{const r=Wi(e);return await Zi(r)}default:return{hasError:!0,message:`Unknown block type: ${e.name}`,data:null}}}catch(r){return{hasError:!0,message:r instanceof Error?r.message:"Unknown error in block execution",data:null}}}}class qi{constructor(){ne(this,"expr");ne(this,"json")}}class Hi{constructor(){ne(this,"template");ne(this,"valueFrom");ne(this,"default")}}class Yi{constructor(){ne(this,"id");ne(this,"title");ne(this,"when");ne(this,"block");ne(this,"repeat");ne(this,"next");ne(this,"onSuccess");ne(this,"onFailure");ne(this,"switch");ne(this,"timeoutMs");ne(this,"retry");ne(this,"delayAfterMs")}}class Gi{constructor(){ne(this,"version");ne(this,"id");ne(this,"title");ne(this,"description");ne(this,"start");ne(this,"steps");ne(this,"vars");ne(this,"defaultDelayMs")}}class Ki{constructor(){ne(this,"stepId");ne(this,"skipped");ne(this,"success");ne(this,"message");ne(this,"result");ne(this,"startedAt");ne(this,"finishedAt");ne(this,"attempts")}}class Xi{constructor(){ne(this,"success");ne(this,"data");ne(this,"steps");ne(this,"context");ne(this,"targetUrl");ne(this,"timestamp");ne(this,"error")}}class Ji{constructor(){ne(this,"success");ne(this,"data");ne(this,"steps");ne(this,"context");ne(this,"targetUrl");ne(this,"timestamp");ne(this,"error")}}class Qi{constructor(){ne(this,"success");ne(this,"message");ne(this,"data")}}var Rr=(t=>(t.USD="USD",t.KRW="KRW",t.EUR="EUR",t.GBP="GBP",t.CAD="CAD",t.CNY="CNY",t.JPY="JPY",t.VND="VND",t.ARS="ARS",t.INR="INR",t.TWD="TWD",t.AUD="AUD",t.HKD="HKD",t.IDR="IDR",t.MXN="MXN",t.NZD="NZD",t.SGD="SGD",t.CHF="CHF",t.THB="THB",t.BRL="BRL",t.TRY="TRY",t.RUB="RUB",t.NOK="NOK",t.DKK="DKK",t.SEK="SEK",t.ILS="ILS",t.ZAR="ZAR",t.PLN="PLN",t.PHP="PHP",t.CZK="CZK",t.CLP="CLP",t.COP="COP",t.EGP="EGP",t.MYR="MYR",t.HUF="HUF",t.AED="AED",t.SAR="SAR",t.RON="RON",t.BGN="BGN",t))(Rr||{});const jn={code:{type:"string",enum:Object.values(Rr),description:"Currency code"},symbol:{type:"string",enum:["$","₩","€","£","¥","₫","₹","NT$","Rp","₣","฿","R$","₺","₽","kr","₪","R","zł","₱","Kč","E£","RM","Ft","د.إ","﷼","L","лв"],description:"Currency symbol"},format:{type:"string",enum:["%s%u","%s%n","%u%s","%n%s","%s %u","%s %n","%u %s","%n %s"],description:"Display format (%s: symbol, %u/%n: amount)"},amount:{type:"number",description:"Actual amount value"},text:{type:"string",description:"Formatted display text (e.g., US$57.75)"}};var mn=(t=>(t.None="None",t.Monthly="Monthly",t.Yearly="Yearly",t.Onetime="Onetime",t))(mn||{});const Fn=ct({id:ye(),slug:ye(),name:ye(),image:ye(),memberCount:St(),isAdmin:it().nullable().optional()}),Ln=ct({slug:ye(),displayName:ye(),profileImageUrl:ye(),description:ye(),publicEmail:ye(),billingEmail:ye(),orgPageUrl:ye(),roles:In(ye())}),Or=ct({code:Zr(Rr),symbol:ye(),format:ye(),amount:St(),text:ye().optional()}),Un=ct({planName:ye(),currentCycleBillAmount:Or,nextPaymentDue:ye(),cycleTerm:Zr(mn).nullable(),isFreeTier:it(),isPerUser:it(),paidMemberCount:St(),usedMemberCount:St(),unitPrice:Or.nullable(),cardNumber:ye(),cardName:ye()}),Wn=ct({uid:ye(),issuedDate:mr.date(),paidDate:mr.date().nullable().optional(),paymentMethod:ye(),amount:Or,isSuccessfulPaid:it(),receiptUrl:ye()}),Zn=ct({uid:ye().nullable(),name:ye(),email:ye().email(),profileImageUrl:ye(),role:ye(),subscriptionSeatStatus:Xt(["NONE","FREE","PAID","QUIT"]).nullable().optional(),startedAt:mr.date().nullable().optional(),deletedAt:mr.date().nullable().optional()}),Ur=ct({email:ye(),operation:Xt(["add","delete"]),completed:it(),reason:ye().optional()});class ht extends Error{constructor(e,r,n){super(e),this.code=r,this.details=n,this.name="EightGError"}static extensionNotInstalled(){return new ht("8G Extension is not installed or not responding","EXTENSION_NOT_FOUND")}static invalidRequest(e){return new ht(`Invalid request: ${e}`,"INVALID_REQUEST")}static collectionFailed(e){return new ht(`Data collection failed: ${e}`,"COLLECTION_FAILED")}static requestTimeout(e=6e5){const r=Math.floor(e/1e3);return new ht(`Request timeout - Extension did not respond within ${r} seconds`,"REQUEST_TIMEOUT")}}function eo(t){return t&&t.type==="8G_EXTENSION_RESPONSE"}class to{constructor(){}async checkExtension(){return new Promise((e,r)=>{const n=setTimeout(()=>{r(ht.extensionNotInstalled())},5e3),a=s=>{eo(s.data)&&(clearTimeout(n),window.removeEventListener("message",a),e(s.data))};window.addEventListener("message",a),window.postMessage({type:"8G_EXTENSION_CHECK"},"*")})}async collectWorkflow(e){return new Promise((r,n)=>{const a=`8g_wf_${Date.now()}_${Math.random()}`,s=e.timeoutMs??6e5,o=setTimeout(()=>{n(ht.requestTimeout(s))},s),l=h=>{var g,T,_,b,x,P,K,te,fe;if(((g=h.data)==null?void 0:g.type)==="8G_COLLECT_RESPONSE"&&h.data.requestId===a){clearTimeout(o),window.removeEventListener("message",l);const I=h.data,N=((T=I==null?void 0:I.result)==null?void 0:T.steps)??((b=(_=I==null?void 0:I.result)==null?void 0:_.result)==null?void 0:b.steps)??[],J=((x=I==null?void 0:I.result)==null?void 0:x.context)??((K=(P=I==null?void 0:I.result)==null?void 0:P.result)==null?void 0:K.context)??{steps:{},vars:{}};console.log("steps",N);const W=N.length>0&&N.every(ce=>ce.success||ce.skipped);console.log("allStepsSuccessful",W);const S=N.find(ce=>!ce.success&&!ce.skipped);console.log("failedStep",S);const L=S?S.result:(fe=(te=N[N.length-1])==null?void 0:te.result)==null?void 0:fe.data;console.log("data",L);const Z={success:W,message:S?S.message:I.message,data:L};console.log("resContainer",Z),r({success:I.success,data:Z,steps:N,context:J,error:I.success?void 0:"Workflow failed",timestamp:new Date().toISOString(),targetUrl:e.targetUrl})}};window.addEventListener("message",l),window.postMessage({type:"8G_COLLECT_WORKFLOW",requestId:a,targetUrl:e.targetUrl,workflow:e.workflow,closeTabAfterCollection:e.closeTabAfterCollection!==!1,activateTab:e.activateTab===!0},"*")})}async getWorkspaces(e){return this.executeWorkflowAndValidateSingleContainer(e,Fn,"GET_WORKSPACES_FAILED","Failed to get workspaces",!0)}async getWorkspaceDetail(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Ln,"GET_WORKSPACE_DETAIL_FAILED","Failed to get workspace detail",!1)}async getWorkspaceBilling(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Un,"GET_WORKSPACE_BILLING_FAILED","Failed to get workspace billing",!1)}async getWorkspaceBillingHistories(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Wn,"GET_WORKSPACE_BILLING_HISTORIES_FAILED","Failed to get workspace billing histories",!0)}async getWorkspaceMembers(e,r,n){return n.workflow.vars={...n.workflow.vars,workspaceKey:e,slug:r},this.executeWorkflowAndValidateSingleContainer(n,Zn,"GET_WORKSPACE_MEMBERS_FAILED","Failed to get workspace members",!0)}async addMembers(e,r,n,a){a.workflow.vars={...a.workflow.vars,workspaceKey:e,slug:r,emails:n};const s=await this.collectWorkflow(a);if(!s.success&&s.error)throw new ht(s.error,"ADD_MEMBERS_WORKFLOW_FAILED");return this.executeWorkflowAndValidateMultipleContainers(s,Ur,this.isMemberOperationResultArray.bind(this),this.isMemberOperationResult.bind(this))}async deleteMembers(e,r,n,a){a.workflow.vars={...a.workflow.vars,workspaceKey:e,slug:r,emails:n};const s=await this.collectWorkflow(a);if(!s.success&&s.error)throw new ht(s.error,"DELETE_MEMBERS_WORKFLOW_FAILED");return this.executeWorkflowAndValidateMultipleContainers(s,Ur,this.isMemberOperationResultArray.bind(this),this.isMemberOperationResult.bind(this))}isMemberOperationResult(e){return e&&typeof e.email=="string"&&["add","delete"].includes(e.operation)&&typeof e.completed=="boolean"}isMemberOperationResultArray(e){return Array.isArray(e)&&e.length>0&&e.every(r=>this.isMemberOperationResult(r))}executeWorkflowAndValidateMultipleContainers(e,r,n,a){var l;const s=e.steps[e.steps.length-1],o=(l=s==null?void 0:s.result)==null?void 0:l.data;if(n(o)){const h=[];for(const g of o){const T=r.safeParse(g);T.success?h.push({success:!0,data:T.data}):(console.warn("Invalid data:",g,T.error),h.push({success:!1,message:"Data validation failed",data:g}))}return{...e,data:h}}if(a(o)){const h=r.safeParse(o);return{...e,data:[{success:h.success,message:h.success?void 0:"Data validation failed",data:h.success?h.data:o}]}}return{...e,data:[]}}static getFromContext(e,r){const n=r.split(".");let a=e;for(const s of n){if(a==null)return;a=a[s]}return a}static getStepResult(e,r){return e.steps[r]}static getStepData(e,r){var n,a;return(a=(n=e.steps[r])==null?void 0:n.result)==null?void 0:a.data}static getVar(e,r){return e.vars[r]}async executeWorkflowAndValidateSingleContainer(e,r,n,a,s=!1){const o=await this.collectWorkflow(e);if(!o.success)throw new ht(a,n);const l=o.data;if(!l)return{...o,data:s?{success:!1,data:[]}:{success:!1,data:void 0}};if(s){if(l!=null&&l.data&&Array.isArray(l.data)){const g=l,T=[];if(g.data)for(const _ of g.data){const b=r.safeParse(_);b.success?T.push(b.data):console.warn("Invalid data:",_,b.error)}return{...o,data:{...g,data:T}}}if(!Array.isArray(l))return{...o,data:{success:!1,data:[]}};const h=[];for(const g of l){const T=(g==null?void 0:g.data)!==void 0?g.data:g,_=r.safeParse(T);_.success?h.push(_.data):console.warn("Invalid data:",g,_.error)}return{...o,data:{success:!0,data:h}}}else if((l==null?void 0:l.data)!==void 0&&(l==null?void 0:l.success)!==void 0){const h=l,g=r.safeParse(h.data);return g.success?{...o,data:{...h,data:g.data}}:(console.warn("Invalid data:",h,g.error),{...o,data:{...h,data:void 0}})}else{const h=r.safeParse(l);return h.success?{...o,data:{success:!0,data:h.data}}:(console.warn("Invalid data:",l,h.error),{...o,data:{success:!1,message:"Data validation failed",data:void 0}})}}}exports.AiParseDataBlockSchema=Vr;exports.AllBlockSchemas=Vi;exports.ApplyLocaleBlockSchema=fn;exports.BaseBlockSchema=et;exports.BillingCycleTerm=mn;exports.Binding=Hi;exports.BlockHandler=zi;exports.CheckStatusBlockSchema=hn;exports.ClearValueFormsBlockSchema=Gr;exports.CollectWorkflowArrayResult=Ji;exports.CollectWorkflowResult=Xi;exports.Condition=qi;exports.CurrencyAmountSchema=Or;exports.CurrencyCode=Rr;exports.CurrencyInfoSchema=jn;exports.EightGClient=to;exports.EightGError=ht;exports.ElementExistsBlockSchema=Xr;exports.EventClickBlockSchema=Jr;exports.ExportDataBlockSchema=ln;exports.FetchApiBlockSchema=on;exports.GetAttributeValueBlockSchema=qr;exports.GetElementDataBlockSchema=an;exports.GetTextBlockSchema=zr;exports.GetValueFormsBlockSchema=Hr;exports.KeypressBlockSchema=Qr;exports.MarkBorderBlockSchema=dn;exports.MemberOperationResultSchema=Ur;exports.NavigateBlockSchema=rn;exports.NetworkCatchBlockSchema=un;exports.PasteValueBlockSchema=pn;exports.ResDataContainer=Qi;exports.SaveAssetsBlockSchema=nn;exports.Schema=ss;exports.ScrollBlockSchema=sn;exports.SetContentEditableBlockSchema=Kr;exports.SetValueFormsBlockSchema=Yr;exports.TransformDataBlockSchema=cn;exports.WaitBlockSchema=en;exports.WaitForConditionBlockSchema=tn;exports.Workflow=Gi;exports.WorkflowStep=Yi;exports.WorkflowStepRunResult=Ki;exports.WorkspaceBillingHistorySchema=Wn;exports.WorkspaceBillingSchema=Un;exports.WorkspaceDetailItemSchema=Ln;exports.WorkspaceItemSchema=Fn;exports.WorkspaceMemberSchema=Zn;exports.createArraySchema=as;exports.createSchema=ns;
|