PageSourceSearch

https://cdn.grok.com/_next/static/chunks/3udhx8o0incgz.js

js grok.com collected 2026-09-24 09:08:40 UTC 92,792 bytes, 6 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="ebede14f-cbdf-7b61-6854-a5270e2b8cbd")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2610348,e=>{"use strict";var t=e.i(4617014);let i=1,n=(0,t.createStore)(class{set;get;events;enabled;open;constructor(e,t){this.set=e,this.get=t,this.events=[],this.enabled=function(){try{return"1"===localStorage.getItem("canvas_debug")}catch{return!1}}(),this.open=!1,this.record=(e,t,n,r)=>{if(!this.get().enabled)return;let s={id:i++,ts:Date.now(),source:e,type:t,summary:n,payload:r},a=[...this.get().events,s];a.length>500&&a.splice(0,a.length-500),this.set({events:a})},this.clear=()=>this.set({events:[]}),this.setOpen=e=>this.set({open:e}),this.toggle=()=>this.set({open:!this.get().open}),this.setEnabled=e=>{try{e?localStorage.setItem("canvas_debug","1"):localStorage.removeItem("canvas_debug")}catch{}this.set({enabled:e})}}record;clear;setOpen;toggle;setEnabled},"useCanvasDebugLog");e.s(["recordDebugEvent",0,function(e,t,i,r){n.getState().record(e,t,i,r)},"useCanvasDebugLog",0,n])},3850862,8823246,e=>{"use strict";var t=e.i(8265611),i=e.i(9614516),n=e.i(4617014);class r{set;get;store;request;isDialogOpen;constructor(e,t,i){this.set=e,this.get=t,this.store=i,this.request=void 0,this.isDialogOpen=!1,this.openDialog=e=>{this.set({request:{...e,remountKey:(this.get().request?.remountKey??0)+1},isDialogOpen:!0})},this.setIsDialogOpen=(0,n.assign)(this.set,"isDialogOpen")}openDialog;setIsDialogOpen}let s=(0,t.create)()((0,i.devtools)((e,t,i)=>new r(e,t,i),{name:"useCreateReferenceRequestStore"}));e.s(["requestAtlasCreateReference",0,function(e){s.getState().openDialog(e)},"useCreateReferenceRequestStore",0,s],3850862);var a=e.i(5020577),o=e.i(8175652);function l(e){return"gallery"===e||"gallery-edit"===e}function c(e){return"imagine-agent"===e.page&&null!=e.assetId&&l(e.mode)}function d(e){return"imagine-agent"===e.page&&l(e.mode)?e.assetId??null:null}function u(e){return c(e.route)}function h(e){return d(e.route)}function g(e){return"imagine-agent"===e.route.page&&"gallery-edit"===e.route.mode?"precise-edit":null}function m(){let e=a.useRoutingStore.getState().route;return"imagine-agent"===e.page?e:null}function p(e,t,i){return{page:"imagine-post",postId:e,canvasId:t||void 0,action:"precise-edit"===i?"precise_edit":void 0}}e.s(["canvasLightboxRoute",0,p,"closeAtlasGallery",0,function(){let e=m();e&&null!=e.assetId&&a.useRoutingStore.getState().replace({...e,assetId:void 0,mode:void 0})},"consumeGalleryTool",0,function(){let e=m();e&&"gallery-edit"===e.mode&&a.useRoutingStore.getState().replace({...e,mode:"gallery"})},"galleryRouteAssetId",0,d,"isGalleryMode",0,l,"isGalleryRoute",0,c,"openAtlasGallery",0,function(e,t){let i=m();if(!i)return;if((0,o.isImagineCanvasLightboxEnabled)())return void a.useRoutingStore.getState().push(p(e,i.id,t));let n=t?"gallery-edit":"gallery";(i.assetId!==e||i.mode!==n)&&a.useRoutingStore.getState().push({...i,assetId:e,mode:n})},"setGalleryAssetId",0,function(e){let t=m();if(!t)return;let i=t.assetId===e&&l(t.mode)?t.mode:"gallery";(t.assetId!==e||t.mode!==i)&&a.useRoutingStore.getState().replace({...t,assetId:e,mode:i})},"useGalleryAssetId",0,function(){return(0,a.useRoutingStore)(h)},"useGalleryTool",0,function(){return(0,a.useRoutingStore)(g)},"useIsGallery",0,function(){return(0,a.useRoutingStore)(u)}],8823246)},1748651,e=>{"use strict";let t=new Map,i=new Map;function n(e){let t=["image","video","text","group"].flatMap(t=>{let i=e.filter(e=>e.type===t).length;return i?[`${i} ${t}${1===i?"":"s"}`]:[]});return`${e.length} node${1===e.length?"":"s"}${t.length?`: ${t.join(", ")}`:""}`}function r(e){let t=e.split(/\s+/).join(" ").trim();return t.length<=60?t:`${t.slice(0,59)}…`}function s(e){return Math.round(e).toString()}function a(e,t){return e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height}function o(e,t,i){return Math.hypot(Math.max(e.x-t,0,t-e.x-e.width),Math.max(e.y-i,0,i-e.y-e.height))}e.s(["canvasJsonAgentContext",0,function(e){let l=t.get(e);if(l){var c,d;let t,u,h;return c=l,d=i.get(e),t=["<canvas_state>"],d&&t.push(`The person is looking at x ${s(d.x)} to ${s(d.x+d.width)}, y ${s(d.y)} to ${s(d.y+d.height)} on the canvas, at zoom ${d.zoom.toFixed(2)}.`),t.push(`Board "${c.name}": ${n(c.nodes)}. Positions are world pixels, origin top-left, y down; tiles are 400px on their long side; leave 24px between things. Text nodes render as Markdown.`),(u=d??function(e){if(0===e.length)return;let t=Math.min(...e.map(e=>e.rect.x)),i=Math.min(...e.map(e=>
2e.rect.y));return{x:t,y:i,width:Math.max(...e.map(e=>e.rect.x+e.rect.width))-t,height:Math.max(...e.map(e=>e.rect.y+e.rect.height))-i}}(c.nodes))&&t.push(...function(e,t,i){let l=t.x+t.width/2,c=t.y+t.height/2,d=e.nodes.filter(e=>a(e.rect,t)).sort((e,t)=>o(e.rect,l,c)-o(t.rect,l,c)||e.rect.width*e.rect.height-t.rect.width*t.rect.height),u=[];if(d.length>0){let e=d.slice(0,40);u.push(i?`${n(d)} in view; nearest the centre first:`:"Nodes:");let a=Math.max(...e.map(e=>e.id.length))+2;for(let n of e){var h,g;u.push(function(e,t){let i=[`  ${e.id.padEnd(t)}${e.type.padEnd(6)}`],n=`at ${s(e.rect.x)},${s(e.rect.y)}  ${s(e.rect.width)}x${s(e.rect.height)}`;return i.push(void 0!==e.group?`in ${e.group}, slot ${e.slot}, ${n}`:n),"image"===e.type||"video"===e.type?(e.generation&&i.push(e.generation),e.sources.length>0&&i.push(`from ${e.sources.join(", ")}`),e.prompt&&i.push(`"${r(e.prompt)}"`)):"text"===e.type?i.push(`"${r(e.text??"")}"`):i.push(`"${e.name??""}"  ${e.columns??0} column${1===e.columns?"":"s"}`),i.join("  ")}(n,a)+(!i||(h=t,g=n.rect,h.x<=g.x&&h.y<=g.y&&g.x+g.width<=h.x+h.width&&g.y+g.height<=h.y+h.height)?"":"  (partly outside)"))}e.length<d.length&&u.push(`  …and ${d.length-e.length} more further out`)}else i&&u.push("Nothing in view.");if(!i)return u;let m=function(e,t,i=3){let n=Math.max(24,Math.max(t.width,t.height)/160),r=Math.floor(t.width/n),s=Math.floor(t.height/n);if(r<=0||s<=0)return[];let o=Array.from({length:s},()=>Array(r).fill(!0)),l=(e,i,a,l)=>{let c=Math.max(0,Math.floor((e-t.x)/n)),d=Math.min(r-1,Math.ceil((a-t.x)/n)-1),u=Math.max(0,Math.floor((i-t.y)/n)),h=Math.min(s-1,Math.ceil((l-t.y)/n)-1);for(let e=u;e<=h;e++){let t=o[e];if(t)for(let e=c;e<=d;e++)t[e]=!1}};for(let i of e.nodes){if(void 0!==i.group)continue;let{x:e,y:n,width:r,height:s}=i.rect;[e,n,r,s].every(Number.isFinite)&&a({x:e-24,y:n-24,width:r+48,height:s+48},t)&&l(e-24,n-24,e+r+24,n+s+24)}let c=400/n,d=225/n,u=(e,t)=>e>=c&&t>=d||e>=d&&t>=c,h=[];for(let e=0;e<i;e++){let e=function(e,t){let i=e[0]?.length??0,n=Array(i).fill(0),r=null,s=0;return e.forEach((e,a)=>{for(let t=0;t<i;t++)n[t]=e[t]?(n[t]??0)+1:0;let o=[];for(let e=0;e<=i;e++){let l=e<i?n[e]??0:0;for(;o.length>0&&(n[o[o.length-1]??0]??0)>=l;){let i=n[o.pop()??0]??0,l=o.length>0?(o[o.length-1]??0)+1:0,c=e-l;i&&c*i>s&&t(c,i)&&(r=[a-i+1,l,a,e-1],s=c*i)}o.push(e)}}),r}(o,u);if(!e)break;let[i,r,s,a]=e,c={x:t.x+r*n,y:t.y+i*n,width:(a-r+1)*n,height:(s-i+1)*n};h.push(c),l(c.x-24,c.y-24,c.x+c.width+24,c.y+c.height+24)}return h}(e,t);return m.length>0?(u.push("Open space in view, largest first (each already 24px clear of every node):"),u.push(...m.map(e=>`  x ${s(e.x)}, y ${s(e.y)}  ${s(e.width)}x${s(e.height)}`))):u.push("No room in view for a 400x225 tile; place right of or below the nearest node, or leave the position out."),u}(c,u,void 0!==d)),(h=c.problems.filter(e=>"error"===e.level)).length>0&&(t.push(`Problems in canvas.json (${h.length}); fix these first:`),t.push(...h.slice(0,8).map(e=>`  ${e.node?`${e.node}: `:""}${e.message}`))),t.push("</canvas_state>"),t.join("\n")}},"setCanvasJsonBoard",0,function(e,i){i?t.set(e,i):t.delete(e)},"setCanvasJsonView",0,function(e,t){t?i.set(e,t):i.delete(e)}])},1461626,962117,4150825,383992,7083349,e=>{"use strict";let t;e.i(4112961);var i=e.i(8891048),n=e.i(8265611),r=e.i(5615448),s=e.i(8871986),a=e.i(8163049),o=e.i(5396179),l=e.i(6617771),c=e.i(3189280),d=e.i(6506485),u=e.i(4944374);let h="concurrency_limit";function g(e){if("object"==typeof e&&null!==e&&"status"in e)return"number"==typeof e.status?e.status:void 0}function m(e){return 429===e}function p(e){let t;return m(void 0!==(t=g(e))?t:"object"==typeof e&&null!==e&&"response"in e?g(e.response):void 0)}class v extends Error{status;constructor(e,t){super(`${e} failed with status ${t}`),this.name="TransportStatusError",this.status=t}}e.s(["TransportStatusError",0,v,"isRateLimitedStatus",0,m,"isRateLimitedTransportError",0,p,"isRenderRateLimitedStreamError",0,function(e){return"object"==typeof e&&null!==e&&"renderToolRateLimited"in e&&null!=e.renderToolRateLimited}],962117);let f="usage_pool_exhausted",C="usage_limit_reached";function y(e){let{errCode:t,failureReason:i}=e;if(null!=t){if(t===f)return"pool_exhausted";if(t===C)return"limit_reached"}if(null!=i){if("PIPELINE_FAILURE_REASON_USAGE_POOL_EXHAUSTED"===i)return"pool_exhausted";if("PIPELINE_FAILURE_REASON_USAGE_LIMIT_REACHED"===i)return"limit_reached"}let n=e.typedError;if(null!=n){if(void 0!==n.usagePoolExhausted||void 0!==n.usage_pool_exhausted)return"pool_exhausted";if(void 0!==n.usageLimitReached||void 0!==n.usage_limit_reached)return"limit_reached"}let r=e.message;if("string"==typeof r){if(r.startsWith(f))return"pool_exhausted";if(r.startsWith(C))return"limit_reached"}}function S(e){let t=e.toLowerCase();return e.startsWith("MCP server authentication failed")||e.startsWith("
2Connector needs re-authentication")||t.includes("invalid_grant")||t.includes("invalid_token")||t.includes("authrequired")||t.includes("auth required")||t.includes("token expired")||t.includes("token revoked")||t.includes("authentication_error")||t.includes('"statuscode":401')||t.includes('"status":401')||t.includes("authentication required")&&t.includes("401")||t.includes("unauthorized")&&(t.includes("status")||t.includes("401"))||t.includes("not authenticated")&&(t.includes("error")||t.includes("401"))||t.includes("token not found")&&(t.includes("error")||t.includes("401")||t.includes("403"))||t.includes("oauth token")&&(t.includes("expired")||t.includes("revoked")||t.includes("invalid"))||t.includes("failed with status 40")&&t.includes("token")}e.s(["getUsageLimitKind",0,y],4150825);var b=e.i(2241417),I=e.i(4066898),_=e.i(631393),A=e.i(4828554),k=e.i(8399785),E=e.i(2582500);let w={kind:"unloaded"};function x(e){t=e}e.s(["UNLOADED_STATE",0,w],383992);let R="New conversation",T="imagine_agent_model",L=!1,D=null,M=new Set(["beyondContextLength"]),F=/conversation is too long|hit (?:its|the) context limit|context (?:length|window) (?:exceeded|limit)/i;function P(e){if(!e?.length)return;let t=function(e){for(let[t,i]of[["beyondContextLength","beyondContextLength"],["userPromptTooLong","userPromptTooLong"],["modelNotAvailable","modelNotAvailable"],["globalRateLimit","globalRateLimit"],["concurrencyLimit","concurrencyLimit"],["systemKillSwitch","systemKillSwitch"]]){let n=e.find(e=>void 0!==e[t]);if(void 0!==n)return{kind:i,error:n}}let t=e.find(e=>void 0!==e.global_rate_limit);if(void 0!==t)return{kind:"globalRateLimit",error:t};let i=e.find(e=>void 0!==e.concurrency_limit);if(void 0!==i)return{kind:"concurrencyLimit",error:i};let n=e.find(e=>void 0!==e.usagePoolExhausted||void 0!==e.usage_pool_exhausted);if(void 0!==n)return{kind:"usagePoolExhausted",error:n};let r=e.find(e=>void 0!==e.usageLimitReached||void 0!==e.usage_limit_reached);if(void 0!==r)return{kind:"usageLimitReached",error:r};let s=e.find(e=>{let t=e.toolCallFailed??e.tool_call_failed;return!!(null!=t&&e.message&&S(e.message)||!t&&e.message&&S(e.message))});if(void 0!==s)return{kind:"connectorAuthFailed",error:s};for(let[t,i]of[["attachmentModerated","attachmentModerated"],["attachmentImageTooLarge","attachmentImageTooLarge"],["attachmentFileTooLarge","attachmentFileTooLarge"],["attachmentTooManyPages","attachmentTooManyPages"],["attachmentLoadFailed","attachmentLoadFailed"],["renderToolFailed","renderToolFailed"],["renderToolRateLimited","renderToolRateLimited"],["renderPerMessageLimitExceeded","renderPerMessageLimitExceeded"]]){let n=e.find(e=>void 0!==e[t]);if(void 0!==n)return{kind:i,error:n}}}([...e])?.kind;return t||(e.some(e=>null!=e.message&&F.test(e.message))?"beyondContextLength":void 0)}function B(e){if(e?.some(e=>"STREAM_ERROR_SEVERITY_FATAL"===e.severity))return!0;let t=P(e);return void 0!==t&&M.has(t)}function N(){let e=c.useAtlasStore.getState().modelOverride;if(e)return e;let t=(0,d.getImagineAgentModels)(),i=t.find(e=>e.default)??t[0];if(i)return i.model;let n=(0,d.getPresetConfigValue)(T);return n||L||(L=!0,(0,s.devLog)("imagine-agent:modelKeyMissing",`template_preset_configs.${T} is unset; falling back to 'fast'`)),n}let U="human";function $(e){return e===U}let O={};function j(e,t){if(e===t)return!0;if(e.kind!==t.kind)return!1;if("error"===e.kind&&"error"===t.kind)return e.reason===t.reason;if("ready"===e.kind&&"ready"===t.kind){if(e.closedConversationIds!==t.closedConversationIds){if(e.closedConversationIds.size!==t.closedConversationIds.size)return!1;for(let i of e.closedConversationIds)if(!t.closedConversationIds.has(i))return!1}let i=e.titles??O,n=t.titles??O;if(i!==n){let e=Object.keys(i);if(e.length!==Object.keys(n).length)return!1;for(let t of e)if(i[t]!==n[t])return!1}}return!0}class G{set;get;conversations;conversationIdsByCanvas;activeConversationIdByCanvas;chatStateByCanvas;projectActivity;conversationActivity;rateLimitLabels;setRateLimitLabels;cardCallbacks;activeDraftFlushByConvo;storeSink;queueDispatcher;convoCreateInFlight;aliasRedirects;constructor(n,d){this.set=n,this.get=d,this.conversations={},this.conversationIdsByCanvas={},this.activeConversationIdByCanvas={},this.chatStateByCanvas={},this.projectActivity={},this.conversationActivity={},this.rateLimitLabels={serverOverload:"Imagine is currently under heavy load. Try again later.",userRateLimit:"You've reached the image generation limit."},this.setRateLimitLabels=e=>{this.rateLimitLabels=e},this.cardCallbacks=new Map,this.activeDraftFlushByConvo=new Map,this.storeSink=(e,t)=>({update:i=>this.updateAssistantMessage(e,t,i),read:()=>{let i=this.get().conversations[this.resolveId(e)],n=i?.messages.find(e=>e.id===t);return n?.role==="assistant"?n:void 0},flush:()=>{}}),this.queueDispatcher=null,this.convoCreateInFlight=new Map,this.aliasRedirects=new Map,this.getChatState=e=>this.get().chatStateByCanvas[e]??w,this.setChatState=(e,t)=>
2{this.set(i=>j(i.chatStateByCanvas[e]??w,t)?i:{...i,chatStateByCanvas:{...i.chatStateByCanvas,[e]:t}})},this.bumpActivity=(e,t)=>{let i=Date.now();this.set(n=>{let r={projectActivity:{...n.projectActivity,[e]:i}};return t&&(r.conversationActivity={...n.conversationActivity,[t]:i}),r})},this.migrateCanvasId=(e,t)=>{e!==t&&this.set(i=>{let n=i=>{let n=i[e];if(void 0===n)return i;let r={};for(let[t,n]of Object.entries(i))t!==e&&(r[t]=n);return r[t]=n,r},r={};for(let[n,s]of Object.entries(i.conversations))r[n]=s.canvasId===e?{...s,canvasId:t}:s;return{conversations:r,conversationIdsByCanvas:n(i.conversationIdsByCanvas),activeConversationIdByCanvas:n(i.activeConversationIdByCanvas),chatStateByCanvas:n(i.chatStateByCanvas),projectActivity:n(i.projectActivity)}})},this.createConversation=(e,t)=>{let n=`local-${(0,i.v4)()}`,r={id:n,canvasId:e,messages:[],state:"idle",lastAssistantResponseId:null,abortController:null,pendingQueue:[],title:null};return this.set(t=>{let i=t.conversationIdsByCanvas[e]??[],s=!t.activeConversationIdByCanvas[e]||0===i.length;return{conversations:{...t.conversations,[n]:r},conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:[...i,n]},activeConversationIdByCanvas:s?{...t.activeConversationIdByCanvas,[e]:n}:t.activeConversationIdByCanvas}}),(0,l.logAtlasForCanvas)(e,"atlas_chat_created",{chat_id:n,source:t??"unknown"}),(0,s.devLog)("imagine-agent:createConversation",`convo=${n.slice(0,8)} canvas=${e.slice(0,8)}`),n},this.createOrFocusEmptyConversation=(e,t)=>{let i=this.get(),n=e=>{if(!e||!e.startsWith("local-"))return!1;let t=i.conversations[e];return!!t&&"idle"===t.state&&0===t.messages.length&&0===t.pendingQueue.length},r=i.activeConversationIdByCanvas[e];if(n(r))return r;let s=i.conversationIdsByCanvas[e]??[];for(let e=s.length-1;e>=0;e--){let t=s[e];if(n(t))return t}return this.createConversation(e,t)},this.switchConversation=(e,t)=>{this.set(i=>({activeConversationIdByCanvas:{...i.activeConversationIdByCanvas,[e]:t}}))},this.closeConversation=(e,t)=>{let i=this.resolveId(t),n=this.get().conversations[i];if(n?.state==="streaming")return void this.set(t=>{let n=(t.conversationIdsByCanvas[e]??[]).filter(e=>e!==i),r=t.activeConversationIdByCanvas[e]===i?n[n.length-1]??"":t.activeConversationIdByCanvas[e];return{conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:n},activeConversationIdByCanvas:{...t.activeConversationIdByCanvas,[e]:r??""}}});for(let[e,r]of(n?.abortController&&n.abortController.abort(),this.cardCallbacks.delete(i),this.cardCallbacks.delete(t),this.aliasRedirects))(e===t||r===i)&&this.aliasRedirects.delete(e);this.set(t=>{let n=(t.conversationIdsByCanvas[e]??[]).filter(e=>e!==i),{[i]:r,...s}=t.conversations,a=t.activeConversationIdByCanvas[e]===i?n[n.length-1]??"":t.activeConversationIdByCanvas[e];return{conversations:s,conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:n},activeConversationIdByCanvas:{...t.activeConversationIdByCanvas,[e]:a??""}}})},this.renameConversation=(e,t)=>{let i=this.resolveId(e),n=this.get().conversations[i];n&&this.set(e=>({conversations:{...e.conversations,[i]:{...n,title:t}}}))},this.removeConversation=(e,i)=>{let n=this.resolveId(i),r=this.get().conversations[n];for(let[e,s]of(r?.abortController&&r.abortController.abort(),this.cardCallbacks.delete(n),this.cardCallbacks.delete(i),t?.clearConversationConnectors?.(n),t?.clearConversationConnectors?.(i),this.aliasRedirects))(e===i||s===n)&&this.aliasRedirects.delete(e);this.set(t=>{let i=(t.conversationIdsByCanvas[e]??[]).filter(e=>e!==n),{[n]:r,...s}=t.conversations,a=t.activeConversationIdByCanvas[e]===n?i[i.length-1]??"":t.activeConversationIdByCanvas[e];return{conversations:s,conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:i},activeConversationIdByCanvas:{...t.activeConversationIdByCanvas,[e]:a??""}}})},this.cancelConversation=e=>{let t=this.resolveId(e),i=this.get().conversations[t];if(i&&(i.abortController&&i.abortController.abort(),this.cardCallbacks.delete(t),this.activeDraftFlushByConvo.get(t)?.(),this.updateConversation(t,e=>{let t=e.messages[e.messages.length-1];return{state:"idle",abortController:null,pendingQueue:[],messages:t?.role!=="assistant"||t.text.trim()||0!==t.cardAttachments.length||0!==t.cardAttachmentsJson.length||t.error||null!=t.usageLimitKind||t.concurrencyLimited||t.rateLimited?e.messages:e.messages.slice(0,-1)}}),!t.startsWith("local-"))){let e=(0,E.requireTransportPort)();e.stopConversationInflightResponses(t).then(()=>e.listConversationResponses(t)).then(e=>{let i=[...e].reverse().find(e=>!$(e.sender)&&e.responseId);if(i?.responseId){let e=i.responseId;this.updateConversation(t,()=>({lastAssistantResponseId:e}))}}).catch(e=>(0,s.logError)("imagine-agent:cancelServerStop",e))}},this.sendMessage=(e,t,n,r)=>{let a=this.resolveId(t),o=this.get().conversations[a];if(!o)return void(0,s.logError)("imagine-agent:sendMessage",`conversation ${t} not found`);if(r?.onCardAttachment&&this.cardCallbacks.set(a,r.onCardAttachment),"streaming"===o.state){let e={
2id:(0,i.v4)(),text:n,source:r?.source};this.updateConversation(a,t=>({...t,pendingQueue:[...t.pendingQueue,e]})),(0,s.devLog)("imagine-agent:queue",`convo=${t.slice(0,8)} queued (depth=${o.pendingQueue.length+1})`);return}this.dispatchMessage(e,a,n,r)},this.dispatchMessage=(e,t,i,n)=>{let r={id:`usr-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,role:"user",text:i};this.updateConversation(t,e=>{let t={...e,messages:[...e.messages,r],state:"streaming"};if(!e.title&&0===e.messages.length){let e=G.titleFromText(i);e&&(t.title=e)}return t});let a=t;this.runStream(e,t,i,n).then(e=>{a=e}).catch(e=>{(0,s.logError)("imagine-agent:dispatchMessage",e)}).finally(()=>this.drainQueue(e,a))},this.drainQueue=(e,t)=>{let i=this.get().conversations[t];if(!i||0===i.pendingQueue.length)return;let[n,...r]=i.pendingQueue;n&&(this.updateConversation(t,e=>({...e,pendingQueue:r})),this.queueDispatcher?this.queueDispatcher(e,t,n.text,n.source):((0,s.logError)("imagine-agent:drainQueue",Error("queueDispatcher not registered; falling back to direct dispatch")),this.dispatchMessage(e,t,n.text,{source:n.source})))},this.setQueueDispatcher=e=>{this.queueDispatcher=e},this.setConversationStreamState=(e,t)=>{let i=this.resolveId(e),n=this.get().conversations[i];!n||n.abortController||this.updateConversation(i,()=>({state:t}))},this.drainConversationQueue=e=>{let t=this.resolveId(e),i=this.get().conversations[t];i&&this.drainQueue(i.canvasId,t)},this.dropAssistantMessage=(e,t)=>{this.updateConversation(e,e=>{let i=e.messages.findIndex(e=>e.id===t);if(i<0)return e;let n=i;for(let t=i-1;t>=0;t--){let i=e.messages[t];if(!i)break;if("user"===i.role){n=t;break}}return{messages:e.messages.slice(0,n),state:"error"===e.state?"idle":e.state}})},this.removeQueuedMessage=(e,t)=>{let i=this.resolveId(e),n=this.get().conversations[i];!n||n.pendingQueue.some(e=>e.id===t)&&this.updateConversation(i,e=>({...e,pendingQueue:e.pendingQueue.filter(e=>e.id!==t)}))},this.runStream=async(i,n,r,c)=>{let d=n,u=new AbortController;this.updateConversation(d,e=>({...e,abortController:u}));let h=this.get().conversations[d];if(!h)return d;let g=h.lastAssistantResponseId;D=null;let m=`ast-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,f={id:m,role:"assistant",text:"",responseId:"",thinkingTrace:[],cardAttachments:[],cardAttachmentsJson:[]};this.updateConversation(d,e=>({...e,messages:[...e.messages,f]}));let C=(0,k.requireHostServicesPort)().getFeature("imagine_agent_draft_streaming")?(0,o.createMessageDraft)({initial:f,windowMs:30,publish:e=>this.updateAssistantMessage(d,m,()=>e),onPublishError:e=>(0,s.logError)("imagine-agent:draftPublish",e)}):null,y=C?{update:C.update,read:C.read,flush:C.flush}:this.storeSink(d,m),S=!1,b=null,_=()=>{b&&clearTimeout(b),b=setTimeout(()=>{S=!0,u.abort()},12e4)},w=Date.now(),x=w,R=0,T=null,L=[],M=e=>{let t=e-1e3;for(;(L[0]??1/0)<t;)L.shift()},F=()=>{let e=Date.now();M(e),L.push(e)},P=0,B="",U="",$=()=>{let e=Date.now();return{response_id:U,user_response_id:B,stream_duration_ms:e-w,ms_since_last_chunk:e-x,chunks_received:R,chunks_last_1s:(M(Date.now()),L.length),chunk_apply_errors:P,last_chunk:T?(0,a.chunkKind)(T):""}},O=(e,t)=>{let i,n,r,s;y.flush();let{error_name:a,error_class:o}=(i=t instanceof Error?t.name:"Unknown",n=(t instanceof Error?t.message:String(t)).toLowerCase(),r="other","AbortError"===i?r="abort":n.includes("network")||n.includes("failed to fetch")||n.includes("load failed")?r="network":n.includes("timeout")||n.includes("timed out")?r="timeout":n.includes("cors")&&(r="cors"),{error_name:i,error_class:r}),l=this.get().conversations[d],c=l?.messages.find(e=>e.id===m),u=c?.role==="assistant"?c.cardAttachments:[],h=c?.role==="assistant"?c.text.trim().length:0,g=h>0||u.length>0;return{source:e,error:t instanceof Error?t.message:String(t),error_name:a,error_class:o,...(s="u">typeof navigator?navigator:void 0,{online:+!!s?.onLine,connection_type:s?.connection?.type??"",effective_type:s?.connection?.effectiveType??""}),...$(),had_content:g?"true":"false",card_count:u.length,had_text:h>0?"true":"false",conversation_id:d,model:N()??"fast"}};try{var j;let o,h;
2if(d.startsWith("local-"))try{let e=await this.ensureServerConversation(i,d,c);if(!e)throw Error("Failed to create conversation");o=e,d=e}catch(t){if(u.signal.aborted)return d;let e=t instanceof Error?t.message:String(t);(0,s.logError)("imagine-agent:createConvo",t),(0,l.logAtlas)("imagine_agent_turn_failed",O("create_convo",t)),this.updateAssistantMessage(d,m,{error:e}),this.updateConversation(d,e=>({...e,state:"error",abortController:null}));try{c?.onFetchError?.(t)}catch(e){(0,s.logError)("imagine-agent:onFetchError",e)}return d}else o=d;C&&this.activeDraftFlushByConvo.set(d,C.flush);let f=(0,k.requireHostServicesPort)().agentMessageContext?.(i),b={message:f?`${r}
3
4${f}`:r,modeId:N()??"fast",parentResponseId:g??"",enableImageGeneration:!0,enableImageStreaming:!0,sendFinalMetadata:!0,disableMemory:!1,disableSearch:!1,disableTextFollowUps:!0,enableSideBySide:!1,imageAttachments:c?.imageAttachments??[],fileAttachments:c?.fileAttachments??[],skipCancelCurrentInflightRequests:c?.allowParallelInflight??!1,disabledConnectorIds:(j=d,t?.disabledConnectorIds?.(j)??[])};_();try{let e=await (0,E.requireTransportPort)().addResponseStream({conversationId:o,body:{...b,...(0,A.requireGenerationConfigPort)().watermarkRequestFields()}},{signal:u.signal});if(!e.ok)throw new v("chatAddResponse",e.status);h=e.chunks,n.startsWith("local-")&&this.fetchAndSetTitle(o,d)}catch(i){if(u.signal.aborted&&!S)return d;let e=!S&&p(i),t=S?"Timed out waiting for a response":i instanceof Error?i.message:String(i);e||(0,s.logError)("imagine-agent:fetch",i),(0,l.logAtlas)("imagine_agent_turn_failed",O(S?"fetch_timeout":e?"fetch_rate_limited":"fetch",i)),this.updateAssistantMessage(d,m,e?{rateLimited:!0}:{error:t}),this.updateConversation(d,e=>({...e,state:"error",abortController:null}));try{c?.onFetchError?.(i)}catch(e){(0,s.logError)("imagine-agent:onFetchError",e)}return d}let L=this.streamResponseChunks(h,c?.onDebugEvent);try{for await(let e of L){if(u.signal.aborted)break;_(),R++,F();let t=T,i=x,n=()=>({prev_chunk:t?(0,a.chunkKind)(t):"",ms_since_prev_chunk:x-i,chunks_received:R,stream_duration_ms:Date.now()-w,response_id:U,user_response_id:B});x=Date.now(),T=e,e.userResponse?.responseId&&(B=e.userResponse.responseId);let r=e.responseId??e.modelResponse?.responseId;if(r&&(U=r),c?.onDebugEvent?.({type:"chunk",summary:function(e){if(e.cardAttachment?.jsonData)try{let t=JSON.parse(e.cardAttachment.jsonData),i=t.image_chunk?.progress??t.video_chunk?.progress,n="number"==typeof i?` ${i}%`:"";return`card ${t.cardType??"?"}${n}`}catch{return"card (unparsed)"}if(e.toolUsageCard)return"tool_usage_card";if(e.responseId&&!e.token)return`response_id ${e.responseId.slice(0,8)}`;if(e.token){let t=e.messageTag,i=e.token.replace(/\s+/g," ").slice(0,60);return`${t??"token"}: ${i}`}return"chunk"}(e),payload:e}),C)try{this.handleResponseChunk(e,d,m,y,n)}catch(e){if(++P<=3&&(0,s.logError)("imagine-agent:applyChunk",e),P>20)throw e}else this.handleResponseChunk(e,d,m,y,n)}}catch(e){if(!u.signal.aborted)return y.flush(),(0,s.logError)("imagine-agent:stream",e),(0,l.logAtlas)("atlas_stream_error",{conversation_id:d,error:e instanceof Error?e.message:String(e),...$()}),c?.onDebugEvent?.({type:"stream_error",summary:e instanceof Error?e.message:String(e),payload:{error:String(e)}}),(0,l.logAtlas)("imagine_agent_turn_failed",O("stream",e)),this.updateAssistantMessage(d,m,{error:"Stream processing error"}),this.updateConversation(d,e=>({...e,state:"error",abortController:null})),d}if(S){y.flush(),(0,l.logAtlas)("atlas_stream_error",{conversation_id:d,error:"stream inactivity timeout",...$()}),(0,l.logAtlas)("imagine_agent_turn_failed",O("timeout",Error("stream inactivity timeout"))),this.updateAssistantMessage(d,m,{error:"Timed out waiting for a response"}),this.updateConversation(d,e=>({...e,state:"error",abortController:null}));try{c?.onFetchError?.(Error("stream inactivity timeout"))}catch(e){(0,s.logError)("imagine-agent:onFetchError",e)}return d}if(!u.signal.aborted){y.flush();let n=this.get().conversations[d],r=n?.messages.find(e=>e.id===m),a=r?.role==="assistant"?r.cardAttachments:[],o=[...new Set(a.map(e=>
4e.cardType).filter(Boolean))];(0,l.logAtlas)("atlas_chat_stream_end",{canvas_id:i,conversation_id:d,model:N()??"fast",source:c?.source??"unknown",had_generation:o.length>0?"true":"false",card_count:a.length,generation_types:o.join(","),...$(),...(0,l.getSessionCounters)()}),this.updateConversation(d,e=>({...e,state:"idle",abortController:null})),this.maybeRenameCanvasFromConversation(i),this.invalidateProjectConversationLists(i),o.length>0&&((0,I.registerConversationCanvas)(this.resolveId(d),i),t?.refreshRecentAssets?.(),e.A(697530).then(e=>e.scheduleCanvasHeal(i)).catch(e=>(0,s.logError)("imagine-agent-store:scheduleCanvasHeal",e)))}return d}finally{y.flush(),C&&this.activeDraftFlushByConvo.get(d)===C.flush&&this.activeDraftFlushByConvo.delete(d),b&&clearTimeout(b);let e=this.resolveId(d),t=this.get().conversations[e];t&&t.abortController===u&&this.updateConversation(e,e=>({state:"streaming"===e.state?"idle":e.state,abortController:null}))}},this.handleResponseChunk=(e,t,i,n,a)=>{if((0,k.requireHostServicesPort)().keepSessionAlive?.(),e.userResponse?.responseId&&this.updateConversation(t,t=>{let i=[...t.messages],n=[...i].reverse().find(e=>"user"===e.role),r=e.userResponse?.responseId??"";if(n&&"user"===n.role){let e=i.indexOf(n);i[e]={...n,responseId:r}}return{...t,messages:i}}),e.token){let t=e.messageTag;if("tool_partial_output"===t||"tool_usage_card"===t){let i=e.toolUsageCardId||D;i&&"tool_partial_output"===t&&(e.toolUsageCardId&&(D=e.toolUsageCardId),n.update(t=>{let n={...t.toolStreamByCardId??{}};return n[i]=(n[i]??"")+e.token,{toolStreamByCardId:n}}))}else"header"===t||"summary"===t||e.isThinking?this.appendThinkingToken(n,e.token,t):n.update(t=>({text:t.text+e.token}))}if(e.toolUsageCard){var o;let i=e.toolUsageCard.toolUsageCardId;i&&(D=i);let r=(o=e.toolUsageCard).webSearch?"Searching the web":o.xSearch?"Searching X":o.documentSearch?"Searching documents":o.intent&&o.intent.trim()?o.intent.trim():null;r&&this.pushThinkingStep(n,r);let s=e.toolUsageCard.bash?.args?.command;s&&i&&n.update(e=>({toolCards:[...e.toolCards??[],{id:i,command:s}]}));let a=function(e){let t=new Set(["toolUsageCardId","intent"]);for(let[i,n]of Object.entries(e))if(null!=n&&!t.has(i))return i;return"unknown"}(e.toolUsageCard);(0,l.logAtlas)("atlas_agent_tool_invoked",{tool_type:a,intent:e.toolUsageCard.intent?.trim()??"",conversation_id:t})}if(e.codeExecutionResult){let t=e.toolUsageCardId||D;t&&n.update(i=>{let n=[...i.toolCards??[]],r=n.findIndex(e=>e.id===t),s=-1!==r?n[r]:void 0;return s&&(n[r]={...s,result:e.codeExecutionResult}),{toolCards:n}})}if(e.cardAttachment?.jsonData&&this.processCardJson(e.cardAttachment.jsonData,t,n),e.modelResponse?.responseId){let r=e.modelResponse.responseId;n.update(()=>({responseId:r})),this.updateConversation(t,e=>({...e,lastAssistantResponseId:r})),(0,s.devLog)("imagine-agent:modelResponse",`convo=${t.slice(0,8)} responseId=${r.slice(0,8)}`);let o=e.modelResponse.cardAttachmentsJson;if(o&&o.length>0)for(let e of o)this.processCardJson(e,t,n);this.recordStreamErrors(t,i,e.modelResponse.streamErrors,"model_response",a,n)}if(e.error?.renderToolRateLimited){let i=e.error.renderToolRateLimited.rateLimitedCount??1,n=this.get().conversations[t]?.canvasId;n&&(0,l.logAtlasForCanvas)(n,"atlas_agent_rate_limited",{rate_limited_count:i,conversation_id:t});let s=(e.error.message??"").toLowerCase().includes("is under heavy usage right now"),a=(0,k.requireHostServicesPort)().hasMaxTierSubscription?.()===!0,o=s?this.rateLimitLabels.serverOverload:this.rateLimitLabels.userRateLimit;r.toast.error(o,{id:"atlas-agent-rate-limited",...a||s?{}:{action:{label:"Upgrade",onClick:()=>{(0,l.logAtlas)("atlas_agent_rate_limit_upsell_clicked"),(0,k.requireHostServicesPort)().openUpsell({entrypointKey:"canvas-agent-rate-limited"})}}},duration:8e3});return}if(e.error){let r=y({message:e.error.message,typedError:e.error});if(r){n.update(()=>({usageLimitKind:r})),n.flush(),this.updateConversation(t,e=>({...e,state:"error"}));return}if(function(e){let{errCode:t,failureReason:i}=e;if(t===h||"PIPELINE_FAILURE_REASON_CONCURRENCY_LIMIT"===i)return!0;let n=e.typedError;if(null!=n&&(void 0!==n.concurrencyLimit||void 0!==n.concurrency_limit))return!0;let r=e.message;return!!("string"==typeof r&&r.startsWith(h))}({message:e.error.message,typedError:e.error})){n.update(()=>({concurrencyLimited:!0})),n.flush(),this.updateConversation(t,e=>({...e,state:"error"}));return}this.recordStreamErrors(t,i,[e.error],"error_chunk",a,n);let s=e.error.message??"Unknown error";n.update(()=>({error:String(s)})),n.flush(),this.updateConversation(t,e=>({...e,state:"error"}))}},this.recordStreamErrors=(e,t,i,n,r,s=this.storeSink(e,t))=>{if(!i?.length)return{terminal:!1};let a=P(i),o=B(i);if(!a&&!o)return{terminal:!1};let c=i.find(e=>e.severity)?.severity,d=this.get().conversations[e]?.canvasId,u={kind:a??"unknown",severity:c??"unknown",terminal:o?"true":"false",source:n,conversation_id:e,...r?.()??{}};return d?(0,l.logAtlasForCanvas)(d,"atlas_agent_stream_error",u):(0,l.logAtlas)("atlas_agent_stream_error",u),s.update(()=>({...a?{streamErrorKind:a}:{},...o?{fatalStreamError:!0}:{}})),{kind:a,terminal:o}},this.debugSimulateContextLimit=e=>{let t=this.resolveId(e);if(!this.get().conversations[t])return void(0,s.logError)("imagine-agent:debugSimulateContextLimit",`conversation ${e} missing`);let n={id:`usr-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,role:"user",text:"[debug] simulate context limit"},r=`ast-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,a=(0,i.v4)(),o={id:r,role:"assistant",text:"",responseId:a,thinkingTrace:[],cardAttachments:[],cardAttachmentsJson:[]};this.updateConversation(t,e=>({...e,messages:[...e.messages,n,o],state:"idle",lastAssistantResponseId:a})),this.recordStreamErrors(t,r,[{message:"The conversation is too long. Try shortening it or starting a new one.",beyondContextLength:{},severity:"STREAM_ERROR_SEVERITY_NORMAL"}],"error_chunk")},this.processCardJson=(e,t,i)=>{let n=(0,a.parseCardJson)(e);if(n?.id)if("rendered_file_card"===n.cardType){let r={id:n.id,type:n.type,cardType:n.cardType,progress:100,latestJson:e,allJson:[e]};i.update(t=>{let i=t.cardAttachments.some(e=>e.id===n.id);return{cardAttachments:i?t.cardAttachments:[...t.cardAttachments,r],cardAttachmentsJson:i?t.cardAttachmentsJson:[...t.cardAttachmentsJson,e]}});let s=this.cardCallbacks.get(t);if(s){let e=i.read();e?.cardAttachments.some(e=>e.id===n.id)&&s(r,t)}}else{i.update(t=>{let i=t.cardAttachments.find(e=>e.id===n.id),r=i?{...i,latestJson:e,allJson:[...i.allJson,e],progress:n.progress,type:n.type||i.type,cardType:n.cardType||i.cardType}:{id:n.id,type:n.type,cardType:n.cardType,progress:n.progress,latestJson:e,allJson:[e]};return{cardAttachments:i?t.cardAttachments.map(e=>e.id===n.id?r:e):[...t.cardAttachments,r],cardAttachmentsJson:[...t.cardAttachmentsJson,e]}});let r=this.cardCallbacks.get(t);if(r){let e=i.read()?.cardAttachments.find(e=>e.id===n.id);e&&r(e,t)}}},this.resolveId=e=>this.aliasRedirects.get(e)??e,this.updateConversation=(e,t)=>{let i=this.resolveId(e);this.set(e=>{let n=e.conversations[i];return n?{conversations:{...e.conversations,[i]:{...n,...t(n)}}}:((0,s.devLog)("imagine-agent:updateConversation",`convo ${i.slice(0,8)} not found`),e)})},this.appendThinkingToken=(e,t,i)=>{e.update(e=>{let n=e.thinkingTrace,r=n[n.length-1]??"";if("summary"===i||"header"===i||0===n.length||r.endsWith("\n"))return{thinkingTrace:[...n,t]};let s=[...n];return s[s.length-1]=r+t,{thinkingTrace:s}})},this.pushThinkingStep=(e,t)=>{e.update(e=>({thinkingTrace:[...e.thinkingTrace,t]}))},this.updateAssistantMessage=(e,t,i)=>{let n=this.resolveId(e);this.set(e=>{let r=e.conversations[n];if(!r)return e;let s=r.messages.map(e=>{if(e.id!==t||"assistant"!==e.role)return e;let n="function"==typeof i?i(e):i;return{...e,...n}});return{conversations:{...e.conversations,[n]:{...r,messages:s}}}})},this.initForPost=async e=>{try{let t=await (0,E.requireTransportPort)().getPostMediaConversations(e);if(0===t.length)return;let i=t.reduce((e,t)=>
4(e.updatedAt??"")>=(t.updatedAt??"")?e:t);i.conversationId&&(this.hydrateConversations(e,[{conversationId:i.conversationId,title:null}]),(0,s.devLog)("imagine-agent:initForPost",`restored convo=${i.conversationId.slice(0,8)} for post=${e.slice(0,8)}`))}catch(e){(0,s.logError)("imagine-agent:initForPost",e)}},this.teardownCanvas=e=>{for(let t of this.get().conversationIdsByCanvas[e]??[]){let e=this.get().conversations[t];e?.abortController&&e.abortController.abort(),this.cardCallbacks.delete(t),e&&"streaming"===e.state&&this.updateConversation(t,e=>({...e,state:"idle",abortController:null,pendingQueue:[]}))}},this.hydrateConversations=(e,t)=>{if(0===t.length)return;let i={};for(let n of t)this.get().conversations[n.conversationId]||(i[n.conversationId]={id:n.conversationId,canvasId:e,messages:[],state:"idle",lastAssistantResponseId:null,abortController:null,pendingQueue:[],title:n.title});0!==Object.keys(i).length&&(this.set(t=>{let n=t.conversationIdsByCanvas[e]??[],r=Object.keys(i).filter(e=>!n.includes(e));return{conversations:{...t.conversations,...i},conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:[...n,...r]}}}),(0,s.devLog)("imagine-agent:hydrateConversations",`canvas=${e.slice(0,8)} count=${Object.keys(i).length}`))},this.loadConversationMessages=(e,t)=>{if(0===t.length)return;let i=t.map((e,t)=>{if($(e.sender))return{id:e.responseId??`usr-restored-${t}`,role:"user",text:e.message??"",responseId:e.responseId};let i=e.cardAttachmentsJson??[],n=[],r=new Map;for(let e of i){let t=(0,a.parseCardJson)(e);if(!t?.id)continue;let i=r.get(t.id);i?r.set(t.id,{...i,type:t.type||i.type,cardType:t.cardType||i.cardType,progress:t.progress,latestJson:e,allJson:[...i.allJson,e]}):(n.push(t.id),r.set(t.id,{id:t.id,type:t.type,cardType:t.cardType,progress:t.progress,latestJson:e,allJson:[e]}))}let s=n.map(e=>r.get(e)).filter(e=>void 0!==e),o=e.thinkingTrace?[e.thinkingTrace]:[],l=P(e.streamErrors),c=B(e.streamErrors);return{id:e.responseId??`asst-restored-${t}`,role:"assistant",text:e.message??"",responseId:e.responseId??"",...void 0!==e.model?{model:e.model}:{},...void 0!==e.parentResponseId?{parentResponseId:e.parentResponseId}:{},thinkingTrace:o,cardAttachments:s,cardAttachmentsJson:i,...c?{fatalStreamError:!0}:{},...l?{streamErrorKind:l}:{}}}),n=[...t].reverse().find(e=>!$(e.sender)&&(e.responseId??"").length>0);this.updateConversation(e,e=>({...e,messages:i,messagesLoaded:!0,lastAssistantResponseId:n?.responseId??e.lastAssistantResponseId}))},this.markConversationMessagesLoaded=e=>{let t=this.resolveId(e);this.get().conversations[t]&&this.updateConversation(t,e=>e.messagesLoaded?e:{...e,messagesLoaded:!0})},this.setConversationTitle=(e,t)=>{let i=this.resolveId(e),n=this.get().conversations[i];n&&n.title!==t&&this.updateConversation(i,()=>({title:t}))},this.ensureServerConversation=(e,i,n)=>{let r=this.convoCreateInFlight.get(i);if(r)return r;let a=(async()=>{try{let r=await t?.isUnifiedProject?.(e)===!0,a=await (0,E.requireTransportPort)().createChatConversation(r?{unifiedProjectId:e}:void 0),o=a.conversationId??"";if(!o)return null;this.aliasRedirects.set(i,o),t?.migrateConversationConnectors?.(i,o);let l=this.cardCallbacks.get(i);l&&(this.cardCallbacks.delete(i),this.cardCallbacks.set(o,l)),c.useAtlasStore.getState().swapGenerateIndicatorConversationId(i,o),this.set(t=>{let n=t.conversations[i];if(!n)return t;let{[i]:r,...s}=t.conversations,a={...s,[o]:{...n,id:o}},l=(t.conversationIdsByCanvas[e]??[]).map(e=>e===i?o:e),c=t.activeConversationIdByCanvas[e];return{conversations:a,conversationIdsByCanvas:{...t.conversationIdsByCanvas,[e]:l},activeConversationIdByCanvas:c===i?{...t.activeConversationIdByCanvas,[e]:o}:t.activeConversationIdByCanvas}}),(0,s.devLog)("imagine-agent:convoCreated",`canvas=${e.slice(0,8)} convo=${o.slice(0,8)}`);try{n?.onConversationCreated?.(e,o)}catch(e){(0,s.logError)("imagine-agent:onConversationCreated",e)}return n?.skipCanvasLink||(r||await this.linkConversationToCanvas(o,e),this.seedProjectConversationList(e,a),this.invalidateProjectConversationLists(e)),o}finally{this.convoCreateInFlight.delete(i)}})();return this.convoCreateInFlight.set(i,a),a},this.fetchAndSetTitle=async(e,t)=>{try{let i=await (0,E.requireTransportPort)().getConversationTitles([e]),n=i.find(t=>t.conversationId===e)??i[0];if(n?.title&&n.title!==R){let e=this.get().conversations[t];e&&!e.title&&this.updateConversation(t,e=>({...e,title:n.title??null}))}}catch{}},this.seedProjectConversationList=(e,i)=>{!e.startsWith("local-")&&i.conversationId&&t?.seedProjectConversationList?.(e,i)},this.invalidateProjectConversationLists=e=>
4{e.startsWith("local-")||t?.invalidateProjectConversationLists?.(e)},this.linkConversationToCanvas=async(e,t)=>{if(e.startsWith("local-"))return void(0,s.logError)("imagine-agent:linkConversationToCanvas",Error(`refusing to link local conversation id ${e}`));for(let i=1;i<=3;i++)try{await (0,E.requireTransportPort)().createMediaConversation(e,t),(0,s.devLog)("imagine-agent:linked",`convo=${e.slice(0,8)} -> canvas=${t.slice(0,8)}`),(0,b.removeUnlinkedConversationId)(t,e);return}catch(n){if(i<3){await new Promise(e=>setTimeout(e,500*i));continue}(0,s.logError)("imagine-agent:linkConversationToCanvas",n),(0,b.addUnlinkedConversationId)(t,e)}},this.maybeRenameCanvasFromConversation=e=>{let t=this.firstConversationTitle(e);t&&this.renameCanvasIfDefault(e,t)},this.maybeRenameCanvasFromText=(e,t)=>{let i=G.titleFromText(t);i&&this.renameCanvasIfDefault(e,i)}}getChatState;setChatState;bumpActivity;migrateCanvasId;createConversation;createOrFocusEmptyConversation;switchConversation;closeConversation;renameConversation;removeConversation;cancelConversation;sendMessage;dispatchMessage;drainQueue;setQueueDispatcher;setConversationStreamState;drainConversationQueue;dropAssistantMessage;removeQueuedMessage;runStream;async *streamResponseChunks(e,t){for await(let i of e){i.error&&((0,s.logError)("imagine-agent:streamError",i.error.message),t?.({type:"chunk_error",summary:i.error.message??"stream error",payload:i.error}));let e=i.result;e&&(yield e)}}handleResponseChunk;recordStreamErrors;debugSimulateContextLimit;processCardJson;resolveId;updateConversation;appendThinkingToken;pushThinkingStep;updateAssistantMessage;initForPost;teardownCanvas;hydrateConversations;loadConversationMessages;markConversationMessagesLoaded;setConversationTitle;ensureServerConversation;fetchAndSetTitle;seedProjectConversationList;invalidateProjectConversationLists;linkConversationToCanvas;static isDefaultCanvasName(e){return(0,u.isDefaultProjectName)(e)}static titleFromText(e){let t=e.replace(/\[references:[@a-f0-9,-]+\]\s*/g,"").replace(/\[generated:[@a-f0-9,\-\s]+\]\s*/g,"").replace(/\[uploaded:[@a-f0-9,\-\s]+\]\s*/g,"").replace(/\[text(?:\s+id=[a-zA-Z0-9_-]+)?\][\s\S]*?\[\/text\]\s*/g,"").replace(/@[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/g,"").replace(/@text-\d+\b/g,"").replace(/ {2,}/g," ").trim();return t?(0,u.clampProjectName)(t.slice(0,60)):void 0}firstConversationTitle(e){let t=this.get(),i=t.conversationIdsByCanvas[e];if(i)for(let e of i){let i=t.conversations[e];if(!i)continue;if(i.title&&i.title!==R)return i.title;let n=i.messages.find(e=>"user"===e.role);if(n&&"user"===n.role){let e=G.titleFromText(n.text);if(e)return e}}}renameCanvasIfDefault(e,t){let i=c.useAtlasStore.getState().canvases.find(t=>t.id===e);!i||G.isDefaultCanvasName(i.name)&&c.useAtlasStore.getState().renameCanvas(e,t)}maybeRenameCanvasFromConversation;maybeRenameCanvasFromText}let q=(0,n.create)()((e,t)=>new G(e,t));(0,_.registerChatSessionPort)({getSnapshot:()=>q.getState(),subscribe:e=>q.subscribe(e),getChatState:e=>q.getState().getChatState(e),resolveId:e=>q.getState().resolveId(e),setChatState:(e,t)=>q.getState().setChatState(e,t),hydrateConversations:(e,t)=>q.getState().hydrateConversations(e,t),switchConversation:(e,t)=>q.getState().switchConversation(e,t),createConversation:(e,t)=>q.getState().createConversation(e,t),migrateCanvasId:(e,t)=>q.getState().migrateCanvasId(e,t),loadConversationMessages:(e,t)=>q.getState().loadConversationMessages(e,t),markConversationMessagesLoaded:e=>q.getState().markConversationMessagesLoaded(e),setConversationTitle:(e,t)=>q.getState().setConversationTitle(e,t),setConversationStreamState:(e,t)=>q.getState().setConversationStreamState(e,t),drainConversationQueue:e=>q.getState().drainConversationQueue(e),sendMessage:(e,t,i,n)=>q.getState().sendMessage(e,t,i,n),setQueueDispatcher:e=>q.getState().setQueueDispatcher(e),bumpActivity:(e,t)=>q.getState().bumpActivity(e,t),maybeRenameCanvasFromText:(e,t)=>q.getState().maybeRenameCanvasFromText(e,t)}),e.s(["USER_SENDER",0,U,"chatStatesEqual",0,j,"getImagineAgentModel",0,N,"isUserSender",0,$,"registerChatEngineHost",0,x,"useImagineAgentStore",0,q],7083349);var V=e.i(9356054),z=e.i(8157878),W=e.i(5408876),J=e.i(7704207),Q=e.i(3848250),K=e.i(4302469),H=e.i(1715952),Y=e.i(4889861),X=e.i(176670);let Z=()=>!!K.useFeatureStore.getState().getFeature(J.BOOLEAN_FLAGS.ENABLE_UNIFIED_IMAGINE_SIDEBAR);x({disabledConnectorIds:e=>{let t=(0,Q.getConnectedConnectorIds)();if(0===t.length)return[];let i=(0,Y.getEnabledConnectorIdsForConversation)(e);return t.filter(e=>!i.includes(e))},migrateConversationConnectors:(e,t)=>
4Y.useImagineAgentConnectorsStore.getState().migrateConversation(e,t),clearConversationConnectors:e=>Y.useImagineAgentConnectorsStore.getState().clearConversation(e),seedProjectConversationList:(e,t)=>{Z()&&(0,z.prependConversationToProjectLists)(e,t)},invalidateProjectConversationLists:e=>{if(!Z())return;let t=(0,V.getQueryClient)();t.invalidateQueries({queryKey:["project-conversations",e]}),t.invalidateQueries({queryKey:["workspace-conversations",e]})},refreshRecentAssets:X.refreshRecentImagineAssets,isUnifiedProject:async e=>{if(!(0,W.isUnifiedProjectsEnabled)()||e.startsWith("local-"))return!1;let t=H.useWorkspaceStore.getState();return t.byId[e]?.data||await t.loadWorkspace(e),(0,W.isUnifiedWorkspace)(H.useWorkspaceStore.getState().byId[e]?.data)}}),e.s([],1461626)},4112961,8163049,5396179,e=>{"use strict";var t=e.i(8549574),i=e.i(3949645),n=e.i(2076509),r=e.i(970633),s=e.i(603814),a=e.i(3982827),o=e.i(5020577),l=e.i(3850862),c=e.i(8823246),d=e.i(1748651),u=e.i(8634573),h=e.i(9522974),g=e.i(8175652);e.i(5536507);var m=e.i(5095522),p=e.i(7636053),v=e.i(4302469),f=e.i(3408572),C=e.i(2721503),y=e.i(2569170);e.i(2090143);var S=e.i(936125),b=e.i(9239037),I=e.i(884907),_=e.i(572671),A=e.i(2610348),k=e.i(4305012),E=e.i(641818),w=e.i(8871986),x=e.i(8399785),R=e.i(2582500);function T(e){try{let t=JSON.parse(e),i=t.id||t.card_id||t.url||"",n=t.type??"",r=t.cardType??t.card_type??"",s=t.image_chunk?.progress??t.video_chunk?.progress??t.progress??0;return{id:i,type:n,cardType:r,progress:s}}catch{return null}}(0,E.configureCanvasKV)("atlas-kv"+(t.default.env.NEXT_PUBLIC_DEV_BACKEND?`-dev${t.default.env.NEXT_PUBLIC_DEV_BACKEND}`:"")),(0,R.registerTransportPort)({getMediaConversations:async e=>(await y.mediaApi.mediaGetMediaConversations({body:{canvasId:e}})).conversations??[],getPostMediaConversations:async e=>(await y.mediaApi.mediaGetMediaConversations({body:{postId:e}})).conversations??[],createMediaConversation:async(e,t)=>{await y.mediaApi.mediaCreateMediaConversation({body:{conversationId:e,canvasId:t}})},getConversationTitles:async e=>(await y.chatApi.chatGetConversations({conversationIds:e})).conversations??[],listConversationResponses:async e=>(await y.chatApi.chatListResponses({conversationId:e,includeThreads:!1,conversationKind:S.ChatListResponsesConversationKindEnum.ConversationKindImagine})).responses??[],countInflightResponses:async e=>((await y.chatApi.chatListResponseNodes({conversationId:e,includeThreads:!1})).inflightResponses??[]).length,getCanvasDocument:async e=>y.mediaApi.mediaGetCanvasDocument({body:{id:e}}),listCanvasDocuments:async()=>y.mediaApi.mediaListCanvasDocuments({body:{}}),createCanvasWorkspace:async e=>{let t=await y.workspaceRepositoryApi.request({path:"/rest/workspaces",method:"POST",headers:{"Content-Type":"application/json"},query:{},body:{name:e,kind:"WORKSPACE_KIND_IMAGINE"}});return await t.json()},renameCanvasWorkspace:async(e,t)=>{await y.workspaceRepositoryApi.workspaceRepositoryUpdateWorkspace({workspaceId:e,body:{name:t}})},deleteCanvasWorkspace:async e=>{await y.workspaceRepositoryApi.workspaceRepositoryDeleteWorkspace({workspaceId:e})},updateCanvasDocument:async(e,{metadata:t})=>y.mediaApi.mediaUpdateCanvasDocument({body:{id:e,metadata:t}}),createCanvasNode:async(e,t)=>{await y.mediaApi.mediaCreateCanvasNode({body:{canvasId:e,node:t}})},updateCanvasNode:async e=>{await y.mediaApi.mediaUpdateCanvasNode({body:{node:e}})},patchCanvasNode:async(e,{position:t,scale:i})=>{await y.mediaApi.mediaPatchCanvasNode({body:{id:e,position:t,scale:i}})},deleteCanvasNode:async e=>{await y.mediaApi.mediaDeleteCanvasNode({body:{id:e}})},restoreCanvasNode:async e=>{await y.mediaApi.mediaRestoreCanvasNode({body:{id:e}})},addNodesToGroup:async(e,t)=>{await y.mediaApi.mediaAddToGroup({body:{groupId:e,nodeIds:t}})},removeNodesFromGroup:async e=>{await y.mediaApi.mediaRemoveFromGroup({body:{nodeIds:e}})},upscaleVideo:async(e,t)=>y.mediaApi.mediaUpscaleVideo({body:{videoId:e,targetResolution:t}}),captionVideo:async({videoId:t,canvasId:i,preset:n})=>{let r,{processChunks:s}=await e.A(7653308);for await(let e of s((await y.mediaApi.mediaCaptionVideoRaw({body:{videoId:t,preset:n,canvasId:i}})).raw)){if(e.error)throw Error(String(e.error));let t=e.result;if(t){if(t.errorMessage)throw Error(t.errorMessage);t.canvasNode&&(r=t.canvasNode)}}return r},setCanvasThumbnail:async({canvasId:e,imageBase64:t,contentType:i})=>y.mediaApi.mediaSetCanvasThumbnail({body:{canvasId:e,image:t,contentType:i}}),fetchMedia:(e,t)=>(0,_.fetch)(e,{...t,credentials:"include"}),uploadMediaBytes:e=>(0,u.uploadBytes)(e),createConversationAndRespondStream:async(t,{signal:i})=>{let{processChunks:n}=await e.A(7653308),{raw:r}=await y.chatApi.chatCreateConversationAndRespondRaw({body:t},{signal:i});return r.ok?{ok:!0,status:r.status,chunks:n(r)}:{ok:!1,status:r.status,chunks:null}},createChatConversation:async e=>y.chatApi.chatCreateConversation({body:{systemPromptName:"",temporary:!1,...e?.unifiedProjectId&&{kind:b.GrokApiConversationKind.ConversationKindImagine,workspaceIds:[e.unifiedProjectId]}}}),addResponseStream:async(t,{signal:i})=>{let{processChunks:n}=await e.A(7653308),{raw:r}=await y.chatApi.chatAddResponseRaw({conversationId:t.conversationId,body:t.body},{signal:i});return r.ok?{ok:!0,status:r.status,chunks:n(r)}:{ok:!1,status:r.status,chunks:null}},reconnectResponseStream:async(t,{signal:i})=>{let{processChunks:n}=await e.A(7653308),{raw:r}=await y.chatApi.chatReconnectResponseV2Raw({responseId:t},{signal:i});return r.ok?{ok:!0,status:r.status,chunks:n(r)}:{ok:!1,status:r.status,chunks:null}},stopConversationInflightResponses:async e=>{await y.chatApi.chatStopConversationInflightResponses({conversationId:e})}}),(0,w.registerCanvasLoggingSink)({logError:s.logError,devLog:s.devLog,logEvent:(e,t,i)=>(0,s.logEventGlobal)(e,t,i),recordDebugEvent:(e,t,i,n)=>(0,A.recordDebugEvent)(e,t,i,n)}),(0,x.registerHostServicesPort)({getFeature:e=>v.useFeatureStore.getState().getFeature(e),featureConfig:()=>v.useFeatureStore.getState().config,subscribeFeatures:e=>v.useFeatureStore.subscribe(e),hasActiveSubscription:()=>!!f.useSubscriptionsStore.getState().bestSubscription,hasMaxTierSubscription:()=>{let{bestSubscription:e,isBraintreeSubscriber:t}=f.useSubscriptionsStore.getState();return"SUBSCRIPTION_TIER_SUPER_GROK_PRO"===e||!0===t},openUpsell:({entrypointKey:e})=>C.useUpsellStore.getState().openUpsell({entrypointKey:e}),agentMessageContext:e=>(0,d.canvasJsonAgentContext)(e),keepSessionAlive:()=>(0,I.getSessionTracker)()?.keepAlive(),notifyGenerationComplete:()=>p.useCreditQuotaStore.getState().notifyGenerationComplete(),showUsageLimitNotice:(e,{c
4ontext:t})=>(0,k.showUsageLimitToast)(e,{context:"imagine-agent"===t?t:"imagine"}),getEnv:e=>(0,i.getEnv)(e),isLoggedIn:()=>!!(0,a.getSessionStoreState)()?.getState().user,requireAgeCheckBeforeGeneration:m.requireAgeCheckBeforeGeneration,runAgeCheck:m.runAgeCheck,isCanvasObscured:()=>(0,c.isGalleryRoute)(o.useRoutingStore.getState().route),subscribeCanvasObscured:e=>o.useRoutingStore.subscribe(e),openAssetViewer:({assetId:e,postId:t,tool:i})=>{let n=e||t;n&&(0,c.openAtlasGallery)(n,i)},referenceImageCaps:()=>{let e=v.useFeatureStore.getState();if(!(0,g.selectShowImagineSavedReferences)(e))return;let t=(0,g.selectShowImagineAnyAudioSource)(e),i=e=>Math.max(1,e.maxAssets-(t?e.maxAudio:0)),{character:n,location:r,prop:s}=(0,h.getOmniLimits)().reference;return{character:i(n),location:i(r),prop:i(s)}},openCreateReference:e=>(0,l.requestAtlasCreateReference)(e),translate:(e,t)=>r.default.t(e,t),getCachedAssetUrl:e=>{let t=(0,i.getEnv)("ASSET_SERVER_URL");if(t)return(0,n.getCachedAssetUrl)(t,e)}}),e.s([],4112961);let L=new Set(["responseId","sideBySideIndex","isThinking","isSoftStop","messageTag","messageStepId","streamingMetadata","toolUsageCardId","rolloutId"]);function D(e){if(e.error)return"error_chunk";if(e.cardAttachment?.jsonData){let t=T(e.cardAttachment.jsonData);return t?`card:${t.cardType||"?"}:${t.progress}`:"card"}if(e.toolUsageCard)return`tool_usage_card:${function(e){for(let[t,i]of Object.entries(e))if(i&&"toolUsageCardId"!==t&&"intent"!==t){if("mcp"===t&&"object"==typeof i&&null!==i&&"toolName"in i&&"string"==typeof i.toolName&&i.toolName)return`mcp:${i.toolName}`;return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}return"other"}(e.toolUsageCard)}`;if(e.codeExecutionResult)return"code_execution_result";if(e.modelResponse)return"model_response";if(e.userResponse)return"user_response";if("string"==typeof e.token){let t=e.messageTag??"final";return e.token?`token:${t}`:`token:${t}:empty`}for(let[t,i]of Object.entries(e))if(i&&!L.has(t))return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`);return e.responseId?"response_id":"chunk"}e.s(["chunkKind",0,D,"parseCardJson",0,T,"streamChunkKind",0,function(e){if(e.error)return"error_chunk";let t=e.result?.response;return t?D(t):e.result?.conversation?"conversation":"chunk"}],8163049),e.s(["createMessageDraft",0,function(e){let{windowMs:t,publish:i}=e,n=e.initial,r=!1,s=null,a=()=>{if(r)try{i(n),r=!1}catch(t){e.onPublishError?.(t)}};return{update:e=>{n={...n,...e(n)},r=!0,null===s&&(a(),s=setTimeout(()=>{s=null,a()},t))},read:()=>n,flush:()=>{null!==s&&(clearTimeout(s),s=null),a()}}}],5396179)},5536507,e=>{"use strict";var t=e.i(957076),i=e.i(8542055),n=e.i(2460512),r=e.i(8633562),s=e.i(6189588),a=e.i(3189280);function o(e){return e.pendingDictation}(0,i.registerCanvasSlots)({DictationButton:t.DictationButton,DictationPill:t.DictationPill,useCanvasDictation:function(e){let t,i,l,c,d,u,h,g,m=(0,n.c)(14),{inputRef:p,setState:v,hotkeyLocation:f,pendingDictationTarget:C}=e,y=(h=(0,r.useRef)(null),g=(0,r.useMemo)(()=>({focus:()=>p.current?.focus(),value:()=>p.current?.value??"",setValue:e=>(p.current&&(p.current.value=e),v(e),!0),isFocused:()=>document.activeElement===p.current,getCursorPosition:()=>p.current?.selectionStart??null,insertTextAtPosition:(e,t)=>{let i=p.current;if(!i)return;let n=t??i.selectionStart??i.value.length,r=i.value.slice(0,n),s=i.value.slice(n),a=`${r}${e}${s}`;i.value=a,v(a)}}),[]),(0,r.useEffect)(()=>{h.current=g},[g]),h);m[0]!==v?(t=e=>v(e),m[0]=v,m[1]=t):t=m[1];let S=t,b=(0,r.useRef)(void 0);m[2]===Symbol.for("react.memo_cache_sentinel")?(i=()=>b.current?.(),m[2]=i):i=m[2],m[3]!==y||m[4]!==S||m[5]!==f?(l={editorRef:y,handleChange:S,onAutoSubmit:i,hotkeyLocation:f,hotkeyEnabled:!1},m[3]=y,m[4]=S,m[5]=f,m[6]=l):l=m[6];let I=(0,s.useDictation)(l),{startHotkeyRecording:_}=I,A=(0,a.useAtlasStore)(o);return m[7]!==A||m[8]!==C||m[9]!==_?(c=()=>{A===C&&(a.useAtlasStore.getState().consumeDictation(),_())},d=[A,C,_],m[7]=A,m[8]=C,m[9]=_,m[10]=c,m[11]=d):(c=m[10],d=m[11]),(0,r.useEffect)(c,d),m[12]!==I?(u={dictation:I,autoSubmitRef:b},m[12]=I,m[13]=u):u=m[13],u}}),e.s([],5536507)},8634573,4914940,4954886,4305012,e=>{"use strict";var t=e.i(3949645),i=e.i(572671),n=e.i(254802),r=e.i(603814);e.i(2090143);var s=e.i(2290566),a=e.i(5095522),o=e.i(5020577),l=e.i(9356054);let c=new Set(["pbs.twimg.com"]),d=new Set(["jpg","jpeg","png","webp"]);function u(e){try{let t=new URL(e);if("https:"!==t.protocol||""!==t.username||""!==t.password||!c.has(t.hostname)||![function(e){let t=e.split("/").pop()??"",i=t.lastIndexOf(".");if(!(i<=0)&&!(i>=t.length-1))return t.slice(i+1).toLowerCase().split(":")[0]}(t.pathname),t.searchParams.get("format")?.toLowerCase()].some(e=>void 0!==e&&d.has(e)))return null;return t}catch{return null}}e.s(["isImportableMediaUrl",0,function(e){return null!==u(e)},"parseImportableMediaUrl",0,u],4914940);var h=e.i(4807059);function g(){let e=function(){let e=(0,t.getEnv)("ASSET_SERVER_URL");if(!e)throw Error("ASSET_SERVER_URL is not available");return e}();try{let t=new URL(e);if("localhost"===t.hostname)return"https://assets.grok.com"}catch{}return e}async function m({buffer:e,fileName:t,contentType:i,onProgress:r,fileSource:a=s.GrokApiV2UploadedFileSourceType.ImagineSelfUploadFileSource}){let o=new File([e],t,{type:i});return function(e,t=s.GrokApiV2UploadedFileSourceType.ImagineSelfUploadFileSource){if(!e.fileUri)throw Error("Upload succeeded but no fileUri returned");
4if(!e.fileMetadataId)throw Error("Upload succeeded but no fileMetadataId returned");let i=g(),n=`${i}/${e.fileUri}`,r=e.fileMimeType?.startsWith("video/")??!1;return t===s.GrokApiV2UploadedFileSourceType.ImagineSelfUploadFileSource&&(0,l.getQueryClient)().invalidateQueries({queryKey:h.RECENT_IMAGINE_ASSETS_KEY}),{fullMediaUrl:n,isVideo:r,fileMetadataId:e.fileMetadataId}}(await (0,n.uploadFileV2)(o,{fileSource:a,location:"imagine:upload",onProgress:r,extraTelemetryProps:{upload_source:"imagine"},...(0,n.webFileUploadTransport)()}),a)}async function p({optimisticId:e,mediaUrl:t}){try{let n=u(t);if(null===n)throw Error("media_url is not an allowed X media URL");let r=await (0,i.fetch)(n.href,{referrerPolicy:"no-referrer",credentials:"omit"});if(!r.ok)throw Error(`Failed to fetch media: ${r.status}`);if(null===u(r.url))throw Error("media_url redirected off the X media CDN");let s=r.headers.get("content-type")||"image/jpeg",o=await r.arrayBuffer(),{fullMediaUrl:l,isVideo:c}=await m({buffer:o,fileName:function(e){try{return new URL(e).pathname.split("/").pop()||"imported-media"}catch(e){return"imported-media"}}(n.href),contentType:s}),d=a.useMediaStore.getState().createMediaPostFromUrl,h=await d(l,c?"video/mp4":void 0);a.useMediaStore.getState().setOptimisticToRealIdMapping(e,h.id)}catch(i){let t;throw(0,r.logError)("imagine-media-import:startMediaUrlImport",i),a.useMediaStore.getState().maybeHandleStorageExhaustedError(i),"imagine-post"===(t=o.useRoutingStore.getState().route).page&&t.postId===e&&o.useRoutingStore.getState().push({page:"imagine"}),i}finally{a.useMediaStore.getState().clearInflightMediaUrlImport(t)}}e.s(["resolveAssetBaseUrl",0,g,"startMediaUrlImport",0,p,"uploadBytes",0,m],8634573);var v=e.i(25464),f=e.i(5615448),C=e.i(2460512),y=e.i(442036),S=e.i(1396479);function b(e){let t,i=(0,C.c)(6),{kind:n,tracking:r,className:s,onActionClick:a,onRetry:o}=e;return i[0]!==s||i[1]!==n||i[2]!==a||i[3]!==o||i[4]!==r?(t=(0,v.jsx)("div",{role:"alert",className:"w-full",children:"limit_reached"===n?(0,v.jsx)(y.UsageLimitReachedCard,{tracking:r,className:s,onActionClick:a,onRetry:o}):(0,v.jsx)(S.UsagePoolExhaustedCard,{tracking:r,className:s,onActionClick:a,onRetry:o})}),i[0]=s,i[1]=n,i[2]=a,i[3]=o,i[4]=r,i[5]=t):t=i[5],t}e.s(["UsageLimitCard",0,b],4954886),e.s(["showUsageLimitToast",0,function(e,t){f.toast.custom(i=>(0,v.jsx)(b,{kind:e,tracking:t,className:"usage-pool-exhausted-toast",onActionClick:()=>f.toast.dismiss(i)}),{id:"imagine-usage-pool-exhausted",duration:8e3})}],4305012)},9522974,e=>{"use strict";var t=e.i(2460512),i=e.i(3424751),n=e.i(4302469);let r="imagine-configs",s="r2v_v2_limits",a={character:{maxAssets:3,maxAudio:1,minImages:1},prop:{maxAssets:3,maxAudio:0,minImages:1},location:{maxAssets:3,maxAudio:0,minImages:1}},o={minSec:3,maxSec:15},l={minSec:1,maxSec:300},c={maxNameLength:64,maxDescriptionLength:4096},d=e=>i.z.number().int().nonnegative().catch(e),u=e=>i.z.object({maxAssets:d(e.maxAssets),maxAudio:d(e.maxAudio),minImages:d(e.minImages)}).default(e),h=i.z.object({maxInputAssets:d(7),minInputImages:d(1),maxReferences:d(1),maxAudioAssets:d(1),minImagePixels:d(300),audio:i.z.object({minSec:d(o.minSec),maxSec:d(o.maxSec)}).default(o),agentAudio:i.z.object({minSec:d(l.minSec),maxSec:d(l.maxSec)}).default(l),reference:i.z.object({maxNameLength:d(c.maxNameLength),maxDescriptionLength:d(c.maxDescriptionLength),character:u(a.character),prop:u(a.prop),location:u(a.location)}).default({...c,...a})}),g=h.parse({});function m(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function p(e){if(!m(e))return g;let t=m(e[s])?e[s]:{},i={minSec:e.r2v_v2_min_sec,maxSec:e.r2v_v2_max_sec},n=h.safeParse({...t,audio:{...i,...m(t.audio)?t.audio:{}}});return n.success?n.data:g}function v(e){return(0,n.selectFeature)(e,r)}e.s(["getOmniLimits",0,function(){return p(n.useFeatureStore.getState().getFeature(r))},"useOmniLimits",0,function(){let e,i=(0,t.c)(2),r=(0,n.useFeatureStore)(v);return i[0]!==r?(e=p(r),i[0]=r,i[1]=e):e=i[1],e}])},176670,e=>{"use strict";var t=e.i(603814),i=e.i(3962947),n=e.i(2569170);e.i(7649975);var r=e.i(7321483);let s=new Set([r.GrokApiV2UploadedFileSourceType.ImagineGeneratedFileSource,r.GrokApiV2UploadedFileSourceType.ImagineSelfUploadFileSource]),a=e=>!!e.fileSource&&s.has(e.fileSource),o=[],l=!1,c=null,d=new Set;function u(e){return c||(l&&!e?Promise.resolve():c=n.assetRepositoryApi.assetRepositoryListAssetMetadata({pageSize:60,orderBy:"ORDER_BY_CREATE_TIME",source:"SOURCE_ANY",includeImagineFiles:!0,isLatest:!0}).then(e=>{for(let t of(o=(e.assets??[]).filter(a),l=!0,d))t()}).catch(e=>{429!==(0,i.extractErrorStatus)(e)&&(0,t.logError)("imagine-history:assets",e)}).finally(()=>{c=null}))}e.s(["ensureRecentImagineAssets",0,function(){u(!1)},"getRecentImagineAssets",0,function(){return o},"refreshRecentImagineAssets",0,function(){l&&u(!0)},"subscribeRecentImagineAssets",0,function(e){return d.add(e),()=>{d.delete(e)}}])},1228875,e=>{"use strict";var t=e.i(3099537);e.s(["Mic",()=>t.MicrophoneIcon])},957076,e=>{"use strict";var t=e.i(25464),i=e.i(2460512);e.i(379120);var n=e.i(8801135),r=e.i(1228875),s=e.i(8361395),a=e.i(860185),o=e.i(81221),l=e.i(8593970),c=e.i(2777665),d=e.i(603814),u=e.i(7671246),h=e.i(3396090);e.i(8416965);var g=e.i(6898338),m=e.i(3267683),p=e.i(59850),v=e.i(8633562);e.i(1354374);var f=e.i(352006),C=e.i(5615448),y=e.i(2481824);let S=Array.from({length:16},(e,t)=>t),b=Array.from({length:8},(e,t)=>t),I=(0,v.memo)(function(e){let n,r,s,a,o,l,c=(0,i.c)(16),{compact:d,isIncognito:g}=e,m=void 0!==d&&d,p=void 0!==g&&g;c[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],c[0]=n):n=c[0];let f=(0,v.useRef)(n),C=m?8:16,y=m?b:S,I=m?2:3,_=m?14:18;return c[1]!==C||c[2]!==_||c[3]!==I?(r=()=>h.useDictationStore.subscribe(w,e=>{let t=e.length-C;for(let i=0;i<C;i++){let n=f.current[i];if(!n)continue;let r=I+(_-I)*(e[t+i]??0);n.style.height=`${String(r)}px`}}),s=[C,I,_],c[1]=C,c[2]=_,c[3]=I,c[4]=r,c[5]=s):(r=c[4],s=c[5]),(0,v.useEffect)(r,s),c[6]!==m?(a=(0,u.cn)("flex items-center","flex-1 min-w-0 overflow-hidden","justify-center",m?"gap-[1.5px]":["gap-[2px]","[mask-image:linear-gradient(to_right,transparent,black_6px,black_calc(100%_-_6px),transparent)]","[-webkit-mask-image:linear-gradient(to_right,transparent,black_6px,black_calc(100%_-_6px),transparent)]"]),c[6]=m,c[7]=a):a=c[7],c[8]!==y||c[9]!==m||c[10]!==p||c[11]!==I?(o=y.map(e=>(0,t.jsx)("div",{ref:t=>{f.current[e]=t},className:(0,u.cn)("rounded-full",p?"bg-accent-incognito":"bg-fg-primary/60",m?"w-[2px]":"w-[2.5px]"),style:{height:`${String(I)}
4px`}},e)),c[8]=y,c[9]=m,c[10]=p,c[11]=I,c[12]=o):o=c[12],c[13]!==a||c[14]!==o?(l=(0,t.jsx)("div",{className:a,children:o}),c[13]=a,c[14]=o,c[15]=l):l=c[15],l});function _(){let e=o.useSettingsDialogStore.getState();e.setTab("behavior"),e.setOpen(!0)}function A(e){return e.confirmRecording}function k(e){return e.cancelRecording}function E(e){return e.status}function w(e){return e.waveformSamples}e.s(["DictationButton",0,function(e){let n,s,a,o,h,m,p,v,y,S,b,I,A=(0,i.c)(48),{onStartRecording:k,disabled:E,compact:w,buttonSize:x,hotkeyLabel:R,className:T}=e,L=void 0!==E&&E,D=void 0===x?"iconMd":x,{t:M}=(0,f.useTranslation)("base"),{controlPrefix:F}=(0,g.useOs)();A[0]!==M?(n=M("dictation-btn.start-label","Dictation"),A[0]=M,A[1]=n):n=A[1];let P=n,B=`${F??"Ctrl+"}${R??"D"}`;A[2]!==k||A[3]!==M?(s=()=>{(0,d.logEventGlobal)("dictation_button_click",void 0,{location:"dictation-button"}),k(),localStorage.getItem("dictation-refinement-tip-seen")||(localStorage.setItem("dictation-refinement-tip-seen","true"),(0,C.toast)(M("dictation-btn.refinement-toast","Customize how much your dictation is cleaned up in settings."),{action:{label:M("dictation-btn.refinement-toast-action","Settings"),onClick:_}}))},A[2]=k,A[3]=M,A[4]=s):s=A[4];let N=s;if(void 0!==w&&w){let e,i,n,s,a,o,l,d=`${P} (${B})`;return A[5]!==B?(e=(0,t.jsx)("span",{className:"text-secondary",children:B}),A[5]=B,A[6]=e):e=A[6],A[7]!==P||A[8]!==e?(i=(0,t.jsxs)("div",{className:"flex gap-1",children:[P,e]}),A[7]=P,A[8]=e,A[9]=i):i=A[9],A[10]===Symbol.for("react.memo_cache_sentinel")?(s={side:"top"},n={delayDuration:600},A[10]=n,A[11]=s):(n=A[10],s=A[11]),A[12]!==i?(a={content:i,contentProps:s,props:n},A[12]=i,A[13]=a):a=A[13],A[14]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(r.Mic,{size:12}),A[14]=o):o=A[14],A[15]!==T||A[16]!==L||A[17]!==N||A[18]!==a||A[19]!==d?(l=(0,t.jsx)(c.IconButton,{variant:"tertiary",size:"sm",shape:"circle",onClick:N,disabled:L,"aria-label":d,tooltip:a,className:T,children:o}),A[15]=T,A[16]=L,A[17]=N,A[18]=a,A[19]=d,A[20]=l):l=A[20],l}let U="iconSm"===D?"h-8 w-8":"h-10 w-10",$="iconSm"===D?16:18;A[21]!==T||A[22]!==U?(a=(0,u.cn)(U,"rounded-full shrink-0",T),A[21]=T,A[22]=U,A[23]=a):a=A[23];let O="iconSm"===D?"md":"lg",j=`${P} (${B})`;return A[24]!==B?(o=(0,t.jsx)("span",{className:"text-secondary",children:B}),A[24]=B,A[25]=o):o=A[25],A[26]!==P||A[27]!==o?(h=(0,t.jsxs)("div",{className:"flex gap-1",children:[P,o]}),A[26]=P,A[27]=o,A[28]=h):h=A[28],A[29]===Symbol.for("react.memo_cache_sentinel")?(m={side:"top"},p={delayDuration:600},A[29]=m,A[30]=p):(m=A[29],p=A[30]),A[31]!==h?(v={content:h,contentProps:m,props:p},A[31]=h,A[32]=v):v=A[32],A[33]!==T?(y=(0,u.cn)(l.QUERY_BAR_ACTION_FOCUS_CLASS,T),A[33]=T,A[34]=y):y=A[34],A[35]!==$?(S=(0,t.jsx)(r.Mic,{size:$}),A[35]=$,A[36]=S):S=A[36],A[37]!==L||A[38]!==N||A[39]!==v||A[40]!==y||A[41]!==S||A[42]!==O||A[43]!==j?(b=(0,t.jsx)(c.IconButton,{variant:"tertiary",size:O,shape:"circle",onClick:N,disabled:L,"aria-label":j,tooltip:v,className:y,children:S}),A[37]=L,A[38]=N,A[39]=v,A[40]=y,A[41]=S,A[42]=O,A[43]=j,A[44]=b):b=A[44],A[45]!==b||A[46]!==a?(I=(0,t.jsx)("div",{className:a,children:b}),A[45]=b,A[46]=a,A[47]=I):I=A[47],I},"DictationPill",0,function(e){let r,o,d,g,C,S,b,_,w,x,R,T,L,D,M,F,P,B,N,U,$=(0,i.c)(114);$[0]!==e?(r=void 0===e?{}:e,$[0]=e,$[1]=r):r=$[1];let{compact:O,inset:j,isIncognito:G}=r,q=void 0!==O&&O,V=void 0!==j&&j,z=void 0!==G&&G,{t:W}=(0,f.useTranslation)("base"),J=!0===(0,p.useReducedMotion)(),Q=(0,h.useDictationStore)(E),K=(0,h.useDictationStore)(k),H=(0,h.useDictationStore)(A),[Y,X]=(0,v.useState)(Q);(0,h.isDictationInFlightStatus)(Q)&&Y!==Q&&X(Q);let Z=(0,h.isDictationInFlightStatus)(Q)?Q:Y,ee=q?12:18,et=q?"h-6":V?"h-9":"h-10",ei=q?24:V?36:40,en=q?80:V?128:140,er=V?"bg-surface-l4 dark:bg-surface-base ring-1 ring-border dark:ring-transparent":z?"bg-incognito-input-button-background":"bg-input-button-background";if("acquiring"===Z){let e,i,n,r,o,l,d,h,g,p,v,f,C,S,b=q?56:V?72:80;$[2]!==ei?(e={opacity:0,filter:"blur(4px)",width:ei},$[2]=ei,$[3]=e):e=$[3],$[4]!==b?(i={opacity:1,filter:"blur(0px)",width:b},$[4]=b,$[5]=i):i=$[5],$[6]!==ei?(n={opacity:0,filter:"blur(4px)",width:ei},$[6]=ei,$[7]=n):n=$[7],$[8]===Symbol.for("react.memo_cache_sentinel")?(r={duration:.35,ease:y.EASE_OUT},$[8]=r):r=$[8],$[9]!==W?(o=W("dictation-btn.acquiring-label","Starting microphone…"),$[9]=W,$[10]=o):o=$[10];let I=q?"gap-px p-px ps-1.5":V?"gap-0.5 p-[2.5px] ps-2":"gap-0.5 p-1 ps-2";$[11]!==et||$[12]!==er||$[13]!==I?(l=(0,u.cn)(et,"rounded-full shrink-0 overflow-hidden ml-auto","flex items-center justify-center",er,I),$[11]=et,$[12]=er,$[13]=I,$[14]=l):l=$[14];let _=!J&&"animate-spin";
4$[15]!==_?(d=(0,u.cn)("text-fg-secondary shrink-0",_),$[15]=_,$[16]=d):d=$[16],$[17]!==ee||$[18]!==d?(h=(0,t.jsx)(s.Loader2,{size:ee,className:d}),$[17]=ee,$[18]=d,$[19]=h):h=$[19];let A=q?"sm":"md";$[20]!==W?(g=W("dictation-btn.cancel-label","Cancel (Esc)"),$[20]=W,$[21]=g):g=$[21],$[22]===Symbol.for("react.memo_cache_sentinel")?(p={side:"top"},$[22]=p):p=$[22],$[23]!==g?(v={content:g,contentProps:p},$[23]=g,$[24]=v):v=$[24];let k=q?10:14;return $[25]!==k?(f=(0,t.jsx)(a.X,{size:k}),$[25]=k,$[26]=f):f=$[26],$[27]!==K||$[28]!==A||$[29]!==v||$[30]!==f?(C=(0,t.jsx)(c.IconButton,{variant:"tertiary",size:A,shape:"circle",tooltip:v,onClick:K,children:f}),$[27]=K,$[28]=A,$[29]=v,$[30]=f,$[31]=C):C=$[31],$[32]!==l||$[33]!==h||$[34]!==C||$[35]!==e||$[36]!==i||$[37]!==n||$[38]!==o?(S=(0,t.jsxs)(m.motion.div,{initial:e,animate:i,exit:n,transition:r,role:"status","aria-label":o,className:l,children:[h,C]}),$[32]=l,$[33]=h,$[34]=C,$[35]=e,$[36]=i,$[37]=n,$[38]=o,$[39]=S):S=$[39],S}if("transcribing"===Z){let e,i,n,r,a,o,l,c,d;$[40]!==ei?(e={opacity:0,filter:"blur(4px)",width:ei},i={opacity:1,filter:"blur(0px)",width:ei},n={opacity:0,filter:"blur(4px)",width:ei},$[40]=ei,$[41]=e,$[42]=i,$[43]=n):(e=$[41],i=$[42],n=$[43]),$[44]===Symbol.for("react.memo_cache_sentinel")?(r={duration:.35,ease:y.EASE_OUT},$[44]=r):r=$[44],$[45]!==W?(a=W("dictation-btn.transcribing-label","Transcribing…"),$[45]=W,$[46]=a):a=$[46],$[47]!==et||$[48]!==er?(o=(0,u.cn)(et,"rounded-full shrink-0 overflow-hidden ml-auto","flex items-center justify-center",er),$[47]=et,$[48]=er,$[49]=o):o=$[49];let h=!J&&"animate-spin";return $[50]!==h?(l=(0,u.cn)("text-fg-secondary",h),$[50]=h,$[51]=l):l=$[51],$[52]!==ee||$[53]!==l?(c=(0,t.jsx)(s.Loader2,{size:ee,className:l}),$[52]=ee,$[53]=l,$[54]=c):c=$[54],$[55]!==o||$[56]!==c||$[57]!==e||$[58]!==i||$[59]!==n||$[60]!==a?(d=(0,t.jsx)(m.motion.div,{initial:e,animate:i,exit:n,transition:r,role:"status","aria-label":a,className:o,children:c}),$[55]=o,$[56]=c,$[57]=e,$[58]=i,$[59]=n,$[60]=a,$[61]=d):d=$[61],d}$[62]!==ei?(o={opacity:0,filter:"blur(4px)",width:ei},$[62]=ei,$[63]=o):o=$[63],$[64]!==en?(d={opacity:1,filter:"blur(0px)",width:en},$[64]=en,$[65]=d):d=$[65],$[66]===Symbol.for("react.memo_cache_sentinel")?(g={default:{duration:.35,ease:y.EASE_OUT},opacity:{duration:.52,ease:y.EASE_OUT},filter:{duration:.52,ease:y.EASE_OUT}},$[66]=g):g=$[66],$[67]!==ei?(C={opacity:0,filter:"blur(4px)",width:ei,transition:g},$[67]=ei,$[68]=C):C=$[68],$[69]===Symbol.for("react.memo_cache_sentinel")?(S={default:{duration:.35,ease:y.EASE_OUT},opacity:{duration:.13,ease:y.EASE_OUT},filter:{duration:.13,ease:y.EASE_OUT}},$[69]=S):S=$[69],$[70]!==et||$[71]!==er?(b=(0,u.cn)(et,"rounded-full shrink-0 overflow-hidden","flex justify-center",er),$[70]=et,$[71]=er,$[72]=b):b=$[72],$[73]!==q||$[74]!==V?(_=(0,u.cn)("flex items-center h-full shrink-0",q?"gap-px w-[80px] p-px ps-1.5":(0,u.cn)("gap-0.5",V?"w-[128px] p-[2.5px] ps-3":"w-[140px] p-1 ps-3")),$[73]=q,$[74]=V,$[75]=_):_=$[75],$[76]!==q||$[77]!==z?(w=(0,t.jsx)(I,{compact:q,isIncognito:z}),$[76]=q,$[77]=z,$[78]=w):w=$[78];let es=q?"sm":"md";$[79]!==W?(x=W("dictation-btn.cancel-label","Cancel (Esc)"),$[79]=W,$[80]=x):x=$[80],$[81]===Symbol.for("react.memo_cache_sentinel")?(R={side:"top"},$[81]=R):R=$[81],$[82]!==x?(T={content:x,contentProps:R},$[82]=x,$[83]=T):T=$[83];let ea=q?10:14;$[84]!==ea?(L=(0,t.jsx)(a.X,{size:ea}),$[84]=ea,$[85]=L):L=$[85],$[86]!==K||$[87]!==es||$[88]!==T||$[89]!==L?(D=(0,t.jsx)(c.IconButton,{variant:"tertiary",size:es,shape:"circle",tooltip:T,onClick:K,children:L}),$[86]=K,$[87]=es,$[88]=T,$[89]=L,$[90]=D):D=$[90],$[91]!==W?(M=W("dictation-btn.confirm-label","Confirm"),$[91]=W,$[92]=M):M=$[92];let eo=V?"size-[31px] bg-surface-base text-primary dark:bg-surface-l2":"bg-button-filled text-fg-invert",el=q?"size-5":V?void 0:"h-8 w-8";$[93]!==eo||$[94]!==el?(F=(0,u.cn)("shrink-0","flex items-center justify-center","rounded-full","focus-visible:outline-none focus-visible:ring-1",l.QUERY_BAR_ACTION_FOCUS_CLASS,eo,el),$[93]=eo,$[94]=el,$[95]=F):F=$[95];let ec=q?10:16;return $[96]!==ec?(P=(0,t.jsx)(n.CheckIcon,{size:ec}),$[96]=ec,$[97]=P):P=$[97],$[98]!==H||$[99]!==M||$[100]!==F||$[101]!==P?(B=(0,t.jsx)("button",{type:"button",onClick:H,"aria-label":M,className:F,children:P}),$[98]=H,$[99]=M,$[100]=F,$[101]=P,$[102]=B):B=$[102],$[103]!==_||$[104]!==w||$[105]!==D||$[106]!==B?(N=(0,t.jsxs)("div",{className:_,children:[w,D,B]}),$[103]=_,$[104]=w,$[105]=D,$[106]=B,$[107]=N):N=$[107],$[108]!==b||$[109]!==N||$[110]!==o||$[111]!==d||$[112]!==C?(U=(0,t.jsx)(m.motion.div,{initial:o,animate:d,exit:C,transition:S,className:b,children:N}),$[108]=b,$[109]=N,$[110]=o,$[111]=d,$[112]=C,$[113]=U):U=$[113],U}])},6189588,e=>{"use strict";var t=e.i(2460512),i=e.i(9136702),n=e.i(7704207),r=e.i(9301014),s=e.i(8408823),a=e.i(3396090),o=e.i(9304060),l=e.i(8633562),c=e.i(1288989),d=e.i(5615448);function u({snapshot:e,transcript:t}){let i=e.value&&t&&!e.value.endsWith(" ")?" ":"";return`${e.value}${i}${t}`}function h(e){return e.cancelRecording}function g(e){return e.startRecording}function m(e){return e.sourceLocation}function p(e){return e.status}e.s(["useDictation",0,function(e){let v,f,C,y,S,b,I,_,A,k,E,w,x,R,T,L,D,M,F=(0,t.c)(63),{editorRef:P,handleChange:B,onAutoSubmit:N,disabled:U,isSubmitting:$,hotkeyLocation:O,hotkeyEnabled:j,sessionKey:G}=e,q=void 0!==U&&U,V=void 0!==$&&$,z=void 0===O?"hotkey":O,W=void 0===j||j,J=(0,n.useFeatureFlags)(),Q=(0,s.useLogEvent)(),K=(0,a.useDictationStore)(p),H=(0,a.useDictationStore)(m);F[0]!==z?(v=e=>e.sourceLocation===z&&(0,a.isDictationInFlightStatus)(e.status)?e.liveStitch:null,F[0]=z,F[1]=v):v=F[1];let Y=(0,a.useDictationStore)(v),X=(0,a.useDictationStore)(g),Z=(0,a.useDictationStore)(h);F[2]!==K?(f=(0,a.isDictationInFlightStatus)(K),F[2]=K,F[3]=f):f=F[3];let ee=f,et=ee&&H===z,ei=(0,l.useRef)(!1),en=(0,l.useRef)(!1),er=(0,l.useRef)(null),es=(0,l.useRef)(!1),ea=(0,l.useRef)(!1),eo=(0,l.useRef)(null),el=(0,l.useRef)(null);F[4]===Symbol.for("react.memo_cache_sentinel")?(C=(e,t)=>e.value()!==(eo.current??t.value),F[4]=C):C=F[4];let ec=C;F[5]!==N?(y=()=>{N?.()},F[5]=N,F[6]=y):y=F[6];let ed=(0,l.useEffectEvent)(y);F[7]!==P||F[8]!==ed||F[9]!==B||F[10]!==N||F[11]!==G?(S=e=>{let t=e.trim();if(!t)return;let i=P.current,n=er.current;if(!i||!n)return;if(n.sessionKey!==G){d.toast.error("Dictation discarded."),ea.current=!0;return}let r=en.current&&null!=N,s=()=>{d.toast.error("Dictation discarded."),ea.current=!0},a=e=>{let{emitChange:t}=e;ea.current=!0,en.current=!1,ei.current=!1,r?(t&&(0,c.flushSync)(()=>B(i.value())),ed()):(t&&B(i.value()),n.wasFocused||i.focus())},o=el.current;if(o){el.current=null;let e=i.replaceDictationRange;if("function"!=typeof e){i.setValue(u({snapshot:n,transcript:t})),a({emitChange:!0});return}let l=`${n.prefix}${t} `,d=()=>e({...o,text:l});return(r?(0,c.flushSync)(d):d())?void a({emitChange:!1}):void s()}null!=eo.current&&ec(i,n)?s():(null!=n.savedPosition&&"function"==typeof i.insertTextAtPosition?(null!=eo.current&&i.setValue(n.value),i.insertTextAtPosition(`${t} `,n.savedPosition)):i.setValue(u({snapshot:n,transcript:t})),a({emitChange:!0}))},F[7]=P,F[8]=ed,F[9]=B,F[10]=N,F[11]=G,F[12]=S):S=F[12];let eu=S;F[13]!==P||F[14]!==eu||F[15]!==z||F[16]!==G||F[17]!==X?(b=()=>{let e=P.current,t=e?.value()??"",i=e?.isFocused()??!1;er.current={value:t,savedPosition:(i?e?.getCursorPosition?.():null)??null,was
4Focused:i,anchor:e?.getDictationAnchor?.()??null,prefix:i||!t||t.endsWith(" ")?"":" ",sessionKey:G},en.current=!t.trim(),ea.current=!1,eo.current=null,el.current=null,es.current=X(eu,z),es.current||(er.current=null,en.current=!1,ei.current=!1)},F[13]=P,F[14]=eu,F[15]=z,F[16]=G,F[17]=X,F[18]=b):b=F[18];let eh=b;F[19]!==Z||F[20]!==P||F[21]!==B||F[22]!==et||F[23]!==Y||F[24]!==G||F[25]!==K?(I=()=>{if(!es.current||!et||"recording"!==K)return;let e=P.current,t=er.current;if(!e||!t)return;if(t.sessionKey!==G){d.toast.error("Dictation discarded."),Z();return}let i=Y?(0,o.displayedTranscript)(Y):"";if(!i)return;if(null!=t.anchor&&"function"==typeof e.replaceDictationRange){let n=el.current;if(!n&&ec(e,t)){d.toast.error("Dictation discarded."),Z();return}let r=`${t.prefix}${i}`,s=e.replaceDictationRange({...n??{from:t.anchor,to:t.anchor,expected:""},text:r});if(!s){d.toast.error("Dictation discarded."),Z();return}el.current={...s,expected:r};return}if(ec(e,t)){d.toast.error("Dictation discarded."),Z();return}let n=u({snapshot:t,transcript:i});e.setValue(n),B(n),eo.current=e.value()},_=[Z,P,B,et,Y,G,K],F[19]=Z,F[20]=P,F[21]=B,F[22]=et,F[23]=Y,F[24]=G,F[25]=K,F[26]=I,F[27]=_):(I=F[26],_=F[27]),(0,l.useEffect)(I,_),F[28]!==P||F[29]!==B||F[30]!==G||F[31]!==K?(A=()=>{if("idle"!==K||!es.current)return;let e=P.current,t=er.current;if(!ea.current&&e&&t&&t.sessionKey===G){let i=el.current;i?e.replaceDictationRange?.({...i,text:""}):null==eo.current||ec(e,t)||(e.setValue(t.value),B(t.value))}es.current=!1,ea.current=!1,er.current=null,en.current=!1,ei.current=!1,eo.current=null,el.current=null},k=[P,B,G,K],F[28]=P,F[29]=B,F[30]=G,F[31]=K,F[32]=A,F[33]=k):(A=F[32],k=F[33]),(0,l.useEffect)(A,k),F[34]!==eh?(E=()=>{ei.current=!0,eh()},F[34]=eh,F[35]=E):E=F[35];let eg=E;F[36]!==q||F[37]!==J.DISABLE_VOICE_MODE||F[38]!==J.ENABLE_DICTATION||F[39]!==W||F[40]!==z||F[41]!==V||F[42]!==Q||F[43]!==eh||F[44]!==K?(w=e=>{!W||!J.ENABLE_DICTATION||J.DISABLE_VOICE_MODE||!e.repeat&&(e.preventDefault(),"idle"!==K||q||V||(Q("dictation_button_click",void 0,{location:z}),ei.current=!0,a.useDictationStore.setState({isHotkeyRecording:!0}),eh()))},x=[W,J.ENABLE_DICTATION,J.DISABLE_VOICE_MODE,K,q,V,eh,Q,z],F[36]=q,F[37]=J.DISABLE_VOICE_MODE,F[38]=J.ENABLE_DICTATION,F[39]=W,F[40]=z,F[41]=V,F[42]=Q,F[43]=eh,F[44]=K,F[45]=w,F[46]=x):(w=F[45],x=F[46]),(0,r.useHotkeys)(i.KBD_DICTATION,w,x),F[47]!==J.DISABLE_VOICE_MODE||F[48]!==J.ENABLE_DICTATION||F[49]!==W?(R=()=>{if(!W)return;let e=()=>{if(!ei.current)return;let{status:e,confirmRecording:t,cancelRecording:i}=a.useDictationStore.getState();"recording"===e?(ei.current=!1,t()):"acquiring"===e&&(ei.current=!1,i())},t=t=>{J.ENABLE_DICTATION&&!J.DISABLE_VOICE_MODE&&("d"===t.key.toLowerCase()||"Control"===t.key||"Alt"===t.key||"Meta"===t.key)&&e()};return window.addEventListener("keyup",t),window.addEventListener("blur",e),()=>{window.removeEventListener("keyup",t),window.removeEventListener("blur",e)}},T=[W,J.ENABLE_DICTATION,J.DISABLE_VOICE_MODE],F[47]=J.DISABLE_VOICE_MODE,F[48]=J.ENABLE_DICTATION,F[49]=W,F[50]=R,F[51]=T):(R=F[50],T=F[51]),(0,l.useEffect)(R,T),F[52]!==Z||F[53]!==K?(L=e=>{("recording"===K||"acquiring"===K)&&(e.preventDefault(),ei.current=!1,Z())},D=[K,Z],F[52]=Z,F[53]=K,F[54]=L,F[55]=D):(L=F[54],D=F[55]),(0,r.useHotkeys)("escape",L,D);let em=ee&&!et,ep=J.ENABLE_DICTATION&&!J.DISABLE_VOICE_MODE;return F[56]!==em||F[57]!==et||F[58]!==eg||F[59]!==eh||F[60]!==K||F[61]!==ep?(M={showButton:ep,status:K,isInFlight:et,isActiveElsewhere:em,startRecording:eh,startHotkeyRecording:eg},F[56]=em,F[57]=et,F[58]=eg,F[59]=eh,F[60]=K,F[61]=ep,F[62]=M):M=F[62],M}])},3396090,9304060,e=>{"use strict";var t=e.i(603814),i=e.i(1895303),n=e.i(5559477);function r(){return{finalized:"",chunk:"",interim:""}}function s(e){return e.map(e=>e.trim()).filter(Boolean).join(" ")}function a(e){return s([e.finalized,e.chunk,e.interim])}function o(e,t,i,{trimFinal:n}){switch(t){case"interim":return{...e,interim:i};case"chunk_final":return{...e,chunk:s([e.chunk,i]),interim:""};case"speech_final":return{finalized:s([e.finalized,i]),chunk:"",interim:""};case"done":{let t=n?i.trim():i;return t?{finalized:t,chunk:"",interim:""}:e}default:return t}}e.s(["applySttTranscript",0,o,"displayedTranscript",0,a,"emptyStitch",0,r],9304060);var l=e.i(5130033),c=e.i(7034440),d=e.i(4302469);let u={endpointingMs:400,vadThreshold:.5,model:"grok-voice-transcribe-2.0"};class h{#e;#t;#i=null;#n=null;#r=null;#s=null;#a=null;#o=r();#l=[];#c=!1;#d=!1;#u=!1;#h=!1;#g=!1;#m=[];#p=0;#v=()=>{};#f=new Promise(e=>{this.#v=e});constructor(e,t){this.#e=e,this.#t=t}static isSupported(){return"u">typeof AudioContext&&"u">typeof AudioWorkletNode&&"u">typeof WebSocket}async start(){let e=new AudioContext;if(this.#n=e,"suspended"===e.state&&await e.resume().catch((0,t.createLogError)("streaming-stt-session:resume")),await e.audioWorklet.addModule(c.PCM_CAPTURE_WORKLET_URL),this.#u)return;let i=e.createMediaStreamSource(this.#e),n=new AudioWorkletNode(e,"pcm-capture"),r=e.createGain();r.gain.value=0;let s=Math.round(e.sampleRate/10);n.port.onmessage=e=>{e.data instanceof Float32Array&&(this.#m.push(e.data.slice()),this.#p+=e.data.length,this.#p>=s&&(this.#C(),this.#y()))},n.onprocessorerror=()=>{this.#S()},i.connect(n),n.connect(r),r.connect(e.destination),this.#r=i,this.#s=n,this.#a=r;let a=new WebSocket(function({sampleRate:e}){let t,i=function(){let e=d.useFeatureStore.getState().getFeature("web_streaming_dictation_config");if("object"!=typeof e||null===e||Array.isArray(e))return u;let t=e.endpointing_ms,i=e.vad_threshold,n=e.model;return{endpointingMs:"number"==typeof t&&Number.isFinite(t)&&t>0?Math.round(t):u.endpointingMs,vadThreshold:"number"==typeof i&&Number.isFinite(i)&&i>=0&&i<=1?i:u.vadThreshold,model:"string"==typeof n?n.trim():u.model}}(),n=new URL((t="https:"===window.location.protocol?"wss":"ws",`${t}://${window.location.host}/ws/v1/stt`));return n.searchParams.set("sample_rate",String(e)),n.searchParams.set("encoding","pcm"),n.searchParams.set("interim_results","true"),n.searchParams.set("endpointing",String(i.endpointingMs)),n.searchParams.set("vad_threshold",String(i.vadThreshold)),i.model&&n.searchParams.set("model",i.model),n.toString()}({sampleRate:e.sampleRate}));a.binaryType="arraybuffer",a.onopen=()=>
4{this.#u||this.#c||(this.#y(),this.#b())},a.onmessage=e=>{this.#I(e.data)},a.onerror=()=>{this.#S()},a.onclose=e=>{e.wasClean||this.#u||this.#S(),this.#v(null),this.#_(),this.#A()},this.#i=a}abort(){this.#u||(this.#u=!0,this.#v(null),this.#_(),this.#k())}finish(){this.#d||this.#u||(this.#d=!0,this.#_(),this.#C(),this.#y(),this.#b())}#C(){if(0===this.#p)return;let e=new Float32Array(this.#p);this.#m.reduce((t,i)=>(e.set(i,t),t+i.length),0),this.#m=[],this.#p=0,this.#l.push((0,l.float32ToInt16Pcm)(e))}waitForDone(e){let t=new Promise(t=>{setTimeout(()=>{t(null)},e)});return Promise.race([this.#f,t])}displayed(){return a(this.#o)}#I(e){let t="string"==typeof e?(0,l.parseVoiceRealtimeEvent)(e):e instanceof ArrayBuffer?(0,l.parseVoiceRealtimeBytes)(e):null;if(!t)return;if("error"===t.type)return void this.#S();if("transcript.created"===t.type){this.#g=!0,this.#y(),this.#b();return}let i=this.#E(t);i&&(this.#o=o(this.#o,i.kind,i.text,{trimFinal:!1}),this.#t.onLive(this.#o),"done"===i.kind&&(this.#v(this.displayed()||null),this.#k()))}#E(e){return"transcript.done"===e.type?{kind:"done",text:"string"==typeof e.text?e.text:""}:"transcript.partial"!==e.type||"string"!=typeof e.text?null:!0!==e.is_final?{kind:"interim",text:e.text}:!0===e.speech_final?{kind:"speech_final",text:e.text}:{kind:"chunk_final",text:e.text}}#y(){let e=this.#i;if(e&&e.readyState===WebSocket.OPEN&&!this.#c&&this.#g)for(;!this.#c;){let t=this.#l[0];if(!t)break;try{e.send(t),this.#l.shift()}catch{this.#S()}}}#b(){let e=this.#i;if(this.#d&&!this.#h&&!this.#c&&this.#g&&e&&e.readyState===WebSocket.OPEN)try{e.send(JSON.stringify({type:"audio.done"})),this.#h=!0}catch{this.#S()}}#S(){this.#c||this.#u||(this.#c=!0,this.#v(null),this.#k(),this.#_(),this.#A())}#A(){this.#m=[],this.#p=0,this.#l.length=0}#k(){let e=this.#i;e&&e.readyState!==WebSocket.CLOSING&&e.readyState!==WebSocket.CLOSED&&e.close(1e3)}#_(){this.#s?.port.close(),this.#s?.disconnect(),this.#r?.disconnect(),this.#a?.disconnect(),this.#s=null,this.#r=null,this.#a=null,this.#n&&"closed"!==this.#n.state&&this.#n.close().catch((0,t.createLogError)("streaming-stt-session:closeAudioContext")),this.#n=null}}var g=e.i(4408694),m=e.i(4617014),p=e.i(7704207),v=e.i(2569170),f=e.i(6425124),C=e.i(3386380),y=e.i(5615448);e.i(6172162);var S=e.i(7717814);let b=[S.GrokApiRefinementLevel.RefinementLevelUnspecified,S.GrokApiRefinementLevel.RefinementLevelPolish,S.GrokApiRefinementLevel.RefinementLevelEnrich],I=(0,m.createStore)(class{set;get;status;waveformSamples;liveStitch;startTime;refinementLevel;isHotkeyRecording;sourceLocation;session;onTranscript;acquireGeneration;constructor(e,s){this.set=e,this.get=s,this.status="idle",this.waveformSamples=[],this.liveStitch=r(),this.startTime=null,this.refinementLevel=S.GrokApiRefinementLevel.RefinementLevelPolish,this.isHotkeyRecording=!1,this.sourceLocation=null,this.session=null,this.onTranscript=null,this.acquireGeneration=0,this.setRefinementLevel=e=>{this.set({refinementLevel:e}),(0,t.logEventGlobal)("dictation_refinement_changed",void 0,{location:"dictation-store",level:e})},this.startRecording=(e,s)=>{let{status:a}=this.get();if("idle"!==a)return!1;if((0,f.isCallUnderway)(f.useBotVoiceCallStore.getState().phase))return y.toast.error(C.default.t("dictation.bot-call-active","End the bot call before dictating.")),!1;if(!navigator.mediaDevices?.getUserMedia||!window.MediaRecorder)return(0,t.logError)("dictation-store:unsupported",Error("MediaRecorder unsupported")),!1;this.onTranscript=e;let o=++this.acquireGeneration;return this.set({status:"acquiring",sourceLocation:s??null,liveStitch:r()}),navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}).then(async e=>{if(o!==this.acquireGeneration||"acquiring"!==this.get().status)return void e.getTracks().forEach(e=>e.stop());let n=new MediaRecorder(e),r={recorder:n,stream:e,chunks:[],visualizer:null,streaming:null};if(this.session=r,n.ondataavailable=({data:e})=>{e.size>0&&r.chunks.push(e)},d.useFeatureStore.getState().getFeature(p.BOOLEAN_FLAGS.WEB_USE_STREAMING_DICTATION)&&h.isSupported()){let t=new h(e,{onLive:e=>{this.session===r&&this.set({liveStitch:e})}});r.streaming=t;try{await t.start()}catch{t.abort()}if(o!==this.acquireGeneration||"acquiring"!==this.get().status){t.abort(),e.getTracks().forEac
4h(e=>e.stop()),this.session===r&&(this.session=null);return}}this.startVisualizer(e,r),n.start(),this.set({status:"recording",startTime:Date.now(),waveformSamples:[]}),(0,i.playConnectSound)(),(0,t.logEventGlobal)("dictation_started",void 0,{location:"dictation-store"})}).catch(e=>{o===this.acquireGeneration&&((0,g.isMicPermissionDeniedError)(e)?(0,n.logVoicePermissionBlocked)("dictation-store:getUserMedia",e):(0,t.logError)("dictation-store:getUserMedia",e),y.toast.error("Unable to access microphone"),this.onTranscript=null,this.set({status:"idle",sourceLocation:null,isHotkeyRecording:!1,liveStitch:r()}))}),!0},this.startVisualizer=(e,t)=>{let i=new AudioContext,n=i.createAnalyser();n.fftSize=256,n.smoothingTimeConstant=.5,i.createMediaStreamSource(e).connect(n),t.visualizer={audioContext:i,analyser:n,animationFrame:null,lastSampleTime:0};let r=()=>{let e=t.visualizer;if(!e)return;let i=performance.now();if(i-e.lastSampleTime>=32){e.lastSampleTime=i;let t=new Uint8Array(e.analyser.frequencyBinCount);e.analyser.getByteFrequencyData(t);let n=Math.min(1,t.reduce((e,t)=>e+t,0)/(255*t.length)),r=this.get().waveformSamples;this.set({waveformSamples:[...r,n].slice(-40)})}e.animationFrame=requestAnimationFrame(r)};t.visualizer.animationFrame=requestAnimationFrame(r)},this.stopSession=e=>{let n=this.session,s=this.onTranscript;if(this.session=null,this.onTranscript=null,!n)return void this.set({status:"idle",startTime:null,waveformSamples:[],liveStitch:r()});(0,i.playDisconnectSound)();let{recorder:a,stream:o,chunks:l,visualizer:c,streaming:d}=n;e?(d?.finish(),this.set({status:"transcribing"})):d?.abort(),c&&(null!==c.animationFrame&&cancelAnimationFrame(c.animationFrame),c.audioContext.close().catch((0,t.createLogError)("dictation-store:closeAudio"))),o.getTracks().forEach(e=>e.stop());let u=async()=>{let i=e&&d?await d.waitForDone(1500):null;d?.abort();let n=this.get().refinementLevel===S.GrokApiRefinementLevel.RefinementLevelEnrich;if(e&&s&&i&&!n){(0,t.logEventGlobal)("dictation_transcription_started",void 0,{location:"dictation-store",transport:"streaming"}),this.set({status:"idle",sourceLocation:null,liveStitch:r()}),s(i);return}if(!e||0===l.length||!s)return void this.set({status:"idle",sourceLocation:null,liveStitch:r()});let o=(e=>{if(e){if(e.includes("webm"))return"webm";if(e.includes("ogg"))return"ogg";if(e.includes("wav"))return"wav";if(e.includes("mp4"))return"m4a"}})(a.mimeType),c=new Blob(l,{type:a.mimeType}),u=this.get().refinementLevel,h=u!==S.GrokApiRefinementLevel.RefinementLevelUnspecified;(0,t.logEventGlobal)("dictation_transcription_started",void 0,{location:"dictation-store",transport:"unary",refinementLevel:u}),new Promise((e,t)=>{let i=new FileReader;i.onloadend=()=>{if("string"!=typeof i.result)return void t(Error("Failed to read dictation audio"));let n=i.result.split(",")[1];n?e(n):t(Error("Missing base64 audio payload"))},i.onerror=()=>t(i.error??Error("Failed to read dictation audio")),i.readAsDataURL(c)}).then(e=>v.voiceApi.voiceSpeechToText({body:{audioBase64:e,audioFormat:o,...h?{refinementLevel:u}:{enhance:!0}}})).then(e=>{let t=e.text?.trim()||d?.displayed().trim();t&&s(t)}).catch(e=>{(0,t.logError)("dictation-store:transcribe",e);let i=d?.displayed().trim();i?s(i):y.toast.error("Dictation failed. Please try again.")}).finally(()=>this.set({status:"idle",sourceLocation:null,liveStitch:r()}))},h=()=>{u().catch((0,t.createLogError)("dictation-store:stopSession"))};"inactive"!==a.state?(a.onstop=h,a.stop()):h(),this.set({startTime:null,waveformSamples:[],isHotkeyRecording:!1})},this.cancelRecording=()=>{let{status:e,startTime:i}=this.get();if("transcribing"===e)return;if("acquiring"===e){this.acquireGeneration+=1;let e=this.session;this.session=null,this.onTranscript=null,e&&(e.streaming?.abort(),e.stream.getTracks().forEach(e=>e.stop())),this.set({status:"idle",sourceLocation:null,isHotkeyRecording:!1,liveStitch:r()}),(0,t.logEventGlobal)("dictation_cancelled",void 0,{location:"dictation-store",duration:0});return}let n=parseFloat(((i?Date.now()-i:0)/1e3).toFixed(2));(0,t.logEventGlobal)("dictation_cancelled",void 0,{location:"dictation-store",duration:n}),this.stopSession(!1)},this.confirmRecording=()=>{if("recording"!==this.get().status)return;let e=this.get().startTime,i=parseFloat(((e?Date.now()-e:0)/1e3).toFixed(2));(0,t.logEventGlobal)("dictation_finished",void 0,{location:"dictation-store",duration:i}),this.stopSession(!0)}}setRefinementLevel;startRecording;startVisualizer;stopSession;cancelRecording;confirmRecording},"useDictationStore");(0,m.localStorageSync)(I,"refinementLevel","dictation-refinement-level",I.getInitialState().refinementLevel,{valueParser:e=>b.includes(e)?e:S.GrokApiRefinementLevel.RefinementLevelPolish}),e.s(["REFINEMENT_LEVELS",0,b,"isDictationInFlightStatus",0,function(e){return"acquiring"===e||"recording"===e||"transcribing"===e},"useDictationStore",0,I],3396090)},8361395,e=>{"use strict";let t=(0,e.i(9795581).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],8361395)},6506485,e=>{"use strict";var t=e.i(8399785);function i(e){let t=e?.imagine_agent_models;return Array.isArray(t)?t.flatMap(e=>{if(!e||"object"!=typeof e)return[];let{label:t,model:i,description:n}=e;return"string"==typeof t&&t&&"string"==typeof i&&i?[{label:t,model:i,default:!0===e.default,description:"string"==typeof n&&n?n:void 0}]:[]}):[]}e.s(["getImagineAgentModels",0,function(){return!0!==(0,t.requireHostServicesPort)().getFeature("web-imagine-projects-view")?[]:i((0,t.requireHostServicesPort)().getFeature("template_preset_configs"))},"getPresetConfigValue",0,function(e){let i=(0,t.requireHostServicesPort)().getFeature("template_preset_configs"),n=i?.[e];return"string"==typeof n&&n?n:void 0},"parseImagineAgentModels",0,i])},8542055,e=>{"use strict";var t=e.i(2460512),i=e.i(8633562);let n=(0,e.i(9481948).createPortRegistry)("CanvasComponentSlots"),r=n.register,s=n.get;function a(){}e.s(["canvasSlots",0,s,"registerCanvasSlots",0,r,"useNoCanvasDictation",0,()=>{let e,n=(0,t.c)(1),r=(0,i.useRef)(void 0);return n[0]===Symbol.for("react.memo_cache_sentinel")?(e={dictation:{showButton:!1,isInFlight:!1,isActiveElsewhere:!1,startRecording:a},autoSubmitRef:r},n[0]=e):e=n[0],e}
4])}]);
5
6//# debugId=ebede14f-cbdf-7b61-6854-a5270e2b8cbd

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.