1"use strict";(globalThis.rspackChunknotion_next=globalThis.rspackChunknotion_next||[]).push([[20757],{473118(e,t,n){function a(e){let t,a={space_id:e.spaceId,setting:e.setting,enabled:e.enabled,...e.source};t="failed"===e.outcome?{...a,outcome:e.outcome,failure_reason:e.failureReason}:{...a,outcome:e.outcome},(0,n(104310).u)({event:{eventName:"chatgpt_token_sharing.toggled",eventProperties:t},opts:{forceOverrideAutomaticEventData:{space_id:(0,n(83388).ot)(e.spaceId)}}})}function r(e){(0,n(104310).u)({event:{eventName:"chatgpt_token_sharing.connect_clicked",eventProperties:{space_id:e.spaceId,surface:e.surface}},opts:{forceOverrideAutomaticEventData:{space_id:(0,n(83388).ot)(e.spaceId)}}})}function i(e){(0,n(104310).u)({event:{eventName:"chatgpt_token_sharing.plan_prompt_viewed",eventProperties:{space_id:e.spaceId}},opts:{forceOverrideAutomaticEventData:{space_id:(0,n(83388).ot)(e.spaceId)}}})}function o(e){(0,n(104310).u)({event:{eventName:"chatgpt_token_sharing.plan_prompt_dismissed",eventProperties:{space_id:e.spaceId,method:e.method}},opts:{forceOverrideAutomaticEventData:{space_id:(0,n(83388).ot)(e.spaceId)}}})}n.d(t,{Dn:()=>i,Kl:()=>o,uw:()=>a,xd:()=>r})},6137(e,t,n){n(533958);class a extends Error{constructor(e,t){super(e,t),this.reason=e}}function r(e){var t,a;let r=null==(t=n(295206).P.getProviderTokenSharing(e.environment,{spaceId:e.spaceId}))?void 0:t.openai;return((null==r?void 0:r.allowanceStatus)==="exhausted"?r.enabled:void 0)??(null==(a=g(e))?void 0:a.getSettingsStore().getKeyValue("chatgpt_token_sharing_enabled"))??!0}function i(e){return!0===o(e)}function o(e){var t;return null==(t=g(e))?void 0:t.getSettingsStore().getKeyValue("chatgpt_token_sharing_notion_fallback_enabled")}async function s(e){await l({spaceId:e.spaceId,enabled:e.enabled,setting:"notion_fallback",source:e.source},()=>c(e))}async function l(e,t){try{await t()}catch(t){throw(0,n(473118).uw)({...e,outcome:"failed",failureReason:t instanceof a?t.reason:"preference_commit_failed"}),t}(0,n(473118).uw)({...e,outcome:"succeeded"})}async function c(e){let t=g(e);if(void 0===t)throw Error("ChatGPT fallback requires a workspace membership");let{serverCommitResult:r}=(0,n(323517).createAndCommit)({environment:e.environment,userAction:"ChatGptTokenSharing.setNotionFallbackEnabled",cellTarget:{spaceWithId:e.spaceId},canUndo:!1,perform:a=>{(0,n(504197).y)({store:t,transaction:a,operation:n(443756).op.set({pointer:t.pointer,path:["settings","chatgpt_token_sharing_notion_fallback_enabled"],args:e.enabled})})}});await r;try{await n(295206).P.resetData(e.environment,{spaceId:e.spaceId})}catch(e){throw new a("catalog_refresh_failed",{cause:e})}}function d(e){let{environment:t,connectionStatus:n,hasEligibleModel:a}=e,i=g(e),o=r(e);return void 0===t.currentUser.id||!1===a?{status:"unavailable",enabled:o}:void 0===i||void 0===n?{status:"loading",enabled:o}:"available"!==n?{status:n,enabled:o}:{status:void 0===a?"loading":"available",enabled:o}}async function u(e){await l({spaceId:e.spaceId,enabled:e.enabled,setting:"token_sharing",source:e.source},()=>p(e))}async function p(e){let t=g(e);if(void 0===t)throw Error("ChatGPT token sharing requires a workspace membership");let{serverCommitResult:r}=(0,n(323517).createAndCommit)({environment:e.environment,userAction:"ChatGptTokenSharing.setEnabled",cellTarget:{spaceWithId:e.spaceId},canUndo:!1,perform:a=>{(0,n(504197).y)({store:t,transaction:a,operation:n(443756).op.set({pointer:t.pointer,path:["settings","chatgpt_token_sharing_enabled"],args:e.enabled})})}});try{await r}catch(e){throw new a("preference_commit_failed",{cause:e})}let i=n(295206).P.getProviderTokenSharing(e.environment,{spaceId:e.spaceId});try{await n(295206).P.resetData(e.environment,{spaceId:e.spaceId});let t=n(295206).P.getProviderTokenSharing(e.environment,{spaceId:e.spaceId});if(void 0===t||t===i)throw Error("Could not refresh sharing state after saving the preference")}catch(e){throw new a("catalog_refresh_failed",{cause:e})}}function g(e){let t=e.environment.currentUser.id;if(void 0===t)return;let a=(0,n(852864).H)({environment:e.environment,userId:t,spaceStore:new(n(695906)).SpaceStore(e.environment,{table:"space",id:e.spaceId})});return null!=a&&a.getAlive()&&a.getUserId()===t?a:void 0}n.d(t,{AT:()=>a,Ei:()=>u,Gt:()=>i,Iq:()=>d,Ku:()=>o,S1:()=>r,aH:()=>s,m0:()=>l})},301525(e,t,n){n(533958),n(176765),n(851344),n(866491);let a=(0,n(327219).YK)({connect:{id:"aiSettings.chatGptSharing.connect",defaultMessage:"Connect ChatGPT"},connected:{id:"aiSettings.chatGptSharing.connected",defaultMessage:"ChatGPT connected. Token sharing is ready."},opened_browser:{id:"aiSettings.chatGptSharing.openedBrowser",defaultMessage:"Finish connecting ChatGPT in your browser."},email_unverified:{id:"aiSettings.chatGptSharing.emailUnverified",defaultMessage:"Verify your email with ChatGPT, then try again."},unavailable:{id:"aiSettings.chatGptSharing.unavailable",defaultMessage:"Token sharing was not enabled. Please try connecting again."},cancelled:{id:"aiSettings.chatGptSharing.cancelled",defaultMessage:"Connection cancelled."},failed:{id:"aiSettings.chatGptSharing.failed",defaultMessage:"Could not connect ChatGPT. Please try again from this Notion account."}}),r=new Map;function i(e){var t;let{userId:n,spaceId:a,state:i,result:o}=e,s=i?r.get(i):void 0;if(i&&s&&s.userId===n&&s.spaceId===a)return r.delete(i),null==(t=s.resolve)||t.call(s,o),{returnUrl:s.returnUrl,resumedInvitation:!!s.resolve}}async function o(e,t){var i,o,c,d;let u,{spaceId:p,surface:g}=t;(0,n(473118).xd)({spaceId:p,surface:g});let h=window.location.href,f=e.currentUser.id;if(!f||(null==(i=n(192314).AppStoreCurrentUserStore.getState())?void 0:i.id)!==f)return"cancelled";if(!(0,n(95001)._)(e))return"failed";try{let i,v=(0,n(452346).Q)(),m=await e.api.callMainCellApi({environment:e,eventName:"startChatGptSharingConnection",data:{desktopTabId:e.device.isElectronAny?n(898735).A.state.currentTab.id:void 0,popupFlowId:v,spaceId:p,callbackType:e.device.isElectronAny?"nativeredirect":"popup",surface:g}});if("success"!==m.type)return"failed";if((null==(o=n(192314).AppStoreCurrentUserStore.getState())?void 0:o.id)!==f)return"cancelled";if(e.device.isElectronAny&&t.desktopConsent){let{signal:e,onBrowserOpened:a}=t.desktopConsent,i=new URL(m.data.url).searchParams.get("state");if(e.aborted)return"cancelled";if(!i)return"failed";let o=(0,n(326904).yX)(),s=()=>o.resolve("cancelled");r.set(i,{userId:f,spaceId:p,returnUrl:h,resolve:o.resolve}),e.addEventListener("abort",s,{once:!0});try{if(!await (0,n(754573).P)(m.data.url))return"failed";return e.aborted||a(),await o.promise}finally{r.delete(i),e.removeEventListener("abort",s)}}if(e.device.isElectronAny){if(t.returnToCurrentPage){if(!(u=new
1URL(m.data.url).searchParams.get("state")??void 0))return"failed";r.set(u,{userId:f,spaceId:p,returnUrl:h})}if(!await (0,n(754573).P)(m.data.url))return u&&r.delete(u),"failed";return(0,n(819652).HK)({id:"chatgpt-sharing-connection",message:n(962299).A.formatMessage(a.opened_browser)}),"opened_browser"}let w=await (0,n(358586).P)(e,{url:m.data.url,flowId:v,width:610,height:700,titleMessage:a.connect,cleanupOldPopups:!0,useBufferedClose:!0,bufferedCloseTimeoutMs:6e5,onOpened:()=>{i=function(e){let t=!document.hasFocus(),n=()=>{t=!0},a=()=>{t&&(i(),e())},r=window.setTimeout(()=>{t||(i(),e())},l);function i(){window.clearTimeout(r),window.removeEventListener("blur",n),window.removeEventListener("focus",a)}return window.addEventListener("blur",n),window.addEventListener("focus",a),i}(()=>{var e;return null==(e=t.onPopupWaitingChange)?void 0:e.call(t,!0)})}}).finally(()=>{var e;return null==(e=i)?void 0:e()});if(null==(c=t.onPopupWaitingChange)||c.call(t,!1),!w||(null==(d=n(192314).AppStoreCurrentUserStore.getState())?void 0:d.id)!==f)return"cancelled";let b=new URL(w).searchParams;if(b.has("error"))return"cancelled";let S=b.get("code"),y=b.get("state");if(!S||!y)return"failed";return await s(e,{code:S,state:y,spaceId:p})}catch(e){return u&&r.delete(u),(0,n(208318).t)().log({level:"warning",from:"connectChatGptSharing",type:"connectionFailed",data:{miscDataToConvertToString:e instanceof Error?"error":"unknown"}}),"failed"}}async function s(e,t){var a,r,i;let o=e.currentUser.id;if(!o||(null==(a=n(192314).AppStoreCurrentUserStore.getState())?void 0:a.id)!==o)return"cancelled";try{let a=await e.api.callMainCellApi({environment:e,eventName:"completeChatGptSharingConnection",data:t});if("success"!==a.type)return"failed";if((null==(r=n(192314).AppStoreCurrentUserStore.getState())?void 0:r.id)!==o)return"cancelled";return"connected"===a.data.status&&await (0,n(645324).t)({environment:e,spaceId:t.spaceId}),a.data.status}catch(e){if((null==(i=n(192314).AppStoreCurrentUserStore.getState())?void 0:i.id)!==o)return"cancelled";return(0,n(208318).t)().log({level:"warning",from:"completeChatGptSharing",type:"connectionFailed",data:{miscDataToConvertToString:e instanceof Error?"error":"unknown"}}),"failed"}}let l=1e3;n.d(t,{Xv:()=>i,Y1:()=>o,bm:()=>s},{WG:a})},645324(e,t,n){async function a(e){let{environment:t,spaceId:a}=e;try{await Promise.all([n(926831).N.resetData(t,{}),n(295206).P.resetData(t,{spaceId:a})])}catch(e){(0,n(208318).t)().log({level:"warning",from:"refreshChatGptSharingConnection",type:"connectionRefreshFailed",data:{miscDataToConvertToString:{errorType:typeof e}}})}}n.d(t,{t:()=>a})},148356(e,t,n){n.r(t),n.d(t,{ChatGptPlanModal:()=>o});var a=n(635790);let r=n.p+"257b7396eccf3daf.png";var i=n(440302);function o(e){let{spaceId:t}=e,r=(0,n(533992).v3)(),o=(0,n(579993).K8)(()=>{var e;return null==(e=n(295206).P.getProviderTokenSharing(r,{spaceId:t}))?void 0:e.openai},[r,t]),s=null==o?void 0:o.workspace.status,l="eligible"===s,d=(null==o?void 0:o.workspace.status)==="unavailable"&&"feature_disabled"===o.workspace.reason,[u,p]=(0,a.useState)(!1),[g,h]=(0,a.useState)(!1),f=!g&&((null==o?void 0:o.connectionStatus)==="connected"||(null==o?void 0:o.enabled)===!0),v=l&&!f,m=(0,a.useRef)(!1);(0,a.useEffect)(()=>{v&&!m.current&&(m.current=!0,(0,n(473118).Dn)({spaceId:t}))},[v,t]);let[w,b]=(0,a.useState)(),S=(0,a.useRef)(),[y,C]=(0,a.useState)(),_=(0,a.useRef)(!1);(0,a.useEffect)(()=>(_.current=!0,()=>{var e;_.current=!1,null==(e=S.current)||e.abort()}),[]),(0,a.useEffect)(()=>{("ineligible"===s||d||f)&&(0,n(960342).Jq)(void 0)},[s,d,f]);let P=(0,a.useCallback)(e=>{if(!u||w){var a;(0,n(473118).Kl)({spaceId:t,method:e}),null==(a=S.current)||a.abort();let i=(0,n(904434).R$)(r);i&&(0,n(323517).createAndCommit)({environment:r,userAction:"ChatGptPlanModal.dismiss",canUndo:!1,cellTarget:"main",perform:e=>{(0,n(862759).m)({userSettingsStore:i,transaction:e,data:{dismissed_chatgpt_plan_prompt:!0}})}}),(0,n(960342).Jq)(void 0)}},[r,t,u,w]),k=(0,a.useCallback)(()=>P("button"),[P]),T=(0,a.useCallback)(()=>P("close"),[P]),I=(0,a.useCallback)(async()=>{var e,a,i,s;
1if(u&&!w||!l||!o)return;let c=r.currentUser.id;if(!c||(null==(e=n(192314).AppStoreCurrentUserStore.getState())?void 0:e.id)!==c)return;null==(a=S.current)||a.abort();let d=new AbortController;S.current=d;let g=()=>_.current&&!d.signal.aborted;h(!0),p(!0),b(void 0),C(void 0);try{if("connected"!==o.connectionStatus){let e=e=>{g()&&b(e)},a=await (0,n(301525).Y1)(r,{spaceId:t,surface:"plan_prompt",desktopConsent:{signal:d.signal,onBrowserOpened:()=>e("browser")},onPopupWaitingChange:t=>e(t?"popup":void 0)});if(d.signal.aborted||!_.current||(null==(s=n(192314).AppStoreCurrentUserStore.getState())?void 0:s.id)!==c||(b(void 0),"opened_browser"===a||"cancelled"===a))return;if("connected"!==a)return void C(a)}await (0,n(6137).Ei)({environment:r,spaceId:t,enabled:!0,source:{surface:"plan_prompt"}}),_.current&&(null==(i=n(192314).AppStoreCurrentUserStore.getState())?void 0:i.id)===c&&(0,n(960342).Jq)(void 0)}catch(e){(0,n(208318).t)().log({level:"warning",from:"ChatGptPlanModal",type:"enableFailed",data:{miscDataToConvertToString:{errorType:typeof e}}}),g()&&C("saveFailed")}finally{g()&&p(!1)}},[r,t,l,o,u,w]);return v?(0,i.jsx)(c,{pending:u,consentWait:w,error:y,onEnable:I,onDismiss:k,onClose:T}):null}let s=(0,n(327219).YK)({saveFailed:{id:"aiSettings.chatGptPlanModal.saveFailed",defaultMessage:"Could not enable your ChatGPT plan. Please try again."}}),l={container:{background:n(632079).Tj.background.elevated},hero:{display:"block",width:"100%",height:"auto"}};function c(e){let{pending:t,consentWait:o,error:s,onEnable:c,onDismiss:u,onClose:p}=e,g=t&&!o,h=(0,a.useId)(),f=(0,a.useId)();return(0,i.jsx)(n(171849).a,{open:!0,onDismiss:p,ariaLabelledBy:h,ariaDescribedBy:f,preventHideChildrenWhileOpening:!0,children:(0,i.jsxs)(n(4458).VP,{width:480,maxWidth:"calc(100vw - 32px)",style:l.container,children:[(0,i.jsx)("img",{src:r,alt:"",width:1920,height:800,style:l.hero}),(0,i.jsxs)(n(4458).VP,{padding:24,gap:24,children:[(0,i.jsxs)(n(4458).VP,{gap:8,children:[(0,i.jsx)(n(111010).D,{id:h,styleKey:"titleXlBold",children:(0,i.jsx)(n(327219).sA,{id:"aiSettings.chatGptPlanModal.title",defaultMessage:"Use your ChatGPT plan in Notion"})}),(0,i.jsx)(n(111010).D,{id:f,styleKey:"bodyRegular",colorVariant:"secondary",children:(0,i.jsx)(n(327219).sA,{id:"aiSettings.chatGptPlanModal.description",defaultMessage:"Enable your ChatGPT Pro or Plus account to use your existing plan with Notion Agent."})}),"browser"===o?(0,i.jsx)("div",{role:"status",children:(0,i.jsx)(n(111010).D,{styleKey:"bodyRegular",colorVariant:"secondary",children:(0,i.jsx)(n(327219).sA,{...n(301525).WG.opened_browser})})}):void 0]}),(0,i.jsxs)(n(4458).fI,{gap:16,alignItems:"center",children:[(0,i.jsx)(n(4458).VP,{flex:1,minWidth:0,children:s?(0,i.jsx)(d,{error:s}):void 0}),(0,i.jsxs)(n(4458).fI,{gap:8,flex:"none",children:[(0,i.jsx)(n(988022).p,{colorVariant:"secondary",onClick:u,disabled:g,size:"lg",children:(0,i.jsx)(n(327219).sA,{id:"aiSettings.chatGptPlanModal.dismiss",defaultMessage:"Dismiss"})}),(0,i.jsx)(n(912946).j,{onClick:c,isLoading:g,disabled:g,colorPalette:"blue",size:"lg",autoFocus:!0,children:(0,i.jsx)(n(327219).sA,{id:"aiSettings.chatGptPlanModal.enable",defaultMessage:"Enable"})})]})]})]})]})})}function d(e){let{error:t}=e;return(0,i.jsx)("div",{role:"status",children:(0,i.jsx)(n(111010).D,{styleKey:"bodySmRegular",colorPalette:"red",colorVariant:"accentPrimary",children:(0,i.jsx)(n(327219).sA,{..."saveFailed"===t?s.saveFailed:n(301525).WG[t]})})})}},926831(e,t,n){n(533958);let a=new(n(273917)).U6(e=>e.currentUser.id??"",async e=>{try{let t=await e.api.callMainCellApi({environment:e,eventName:"getChatGptSharingConnection",data:{}});if("success"!==t.type)throw Error("Connection status request failed");return{status:"loaded",connected:t.data.connected,connectionStatus:t.data.connectionStatus??(t.data.connected?"connected":"not_connected"),email:t.data.email}}catch(e){return(0,n(208318).t)().log({level:"warning",from:"ChatGptSharingConnectionStore",type:"connectionStatusFailed",data:{miscDataToConvertToString:{errorType:typeof e}}}),{status:"failed"}}});n.d(t,{},{N:a})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.