PageSourceSearch

https://web.proalerts.ai/assets/chatStore-OiVCQRsp.js

js proalerts.ai collected 2026-10-05 12:31:59 UTC 75,813 bytes, 2 lines download raw bytes

1import{c as e,f as t,h as n,i as r,o as i,r as a,s as o,t as s}from"./schemas-yxIWrX7K.js";import{C as c,d as l,ht as u,n as d,r as f,t as p}from"./agentTaskProgress-B55nYS97.js";import{r as m}from"./clientErrors-C86hVMNl.js";function h(e){if(!Number.isFinite(e))return``;let t=Math.trunc(e);if(t<=0)return``;let n=t%100;if(n>=11&&n<=14)return`Ще ${t} дій виконуються...`;let r=t%10;return r===1?`Ще ${t} дія виконується...`:r>=2&&r<=4?`Ще ${t} дії виконуються...`:`Ще ${t} дій виконуються...`}var g=`project_suggestion`,_=[g];function v(e){return typeof e==`string`&&_.includes(e)}var y=`proalerts.chat.v1`;function b(e){return`${y}:${e}:sugg-pending`}function x(e){return`${y}:${e}:sugg-resolved`}function S(){try{return typeof window<`u`&&window.localStorage!==void 0}catch{return!1}}function C(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let{label:e,action:r,kind:i}=n;typeof e==`string`&&e.trim()&&typeof r==`string`&&r.trim()&&v(i)&&t.push({label:e,action:r,kind:i})}return t}function ee(e){if(!S())return null;try{let t=window.localStorage.getItem(b(e));if(!t)return null;let n=JSON.parse(t),r=n.sessionId,i=C(n.chips);return typeof r!=`string`||!r||i.length===0?null:{sessionId:r,chips:i}}catch{return null}}function te(e,t){if(S())try{window.localStorage.setItem(b(e),JSON.stringify(t))}catch(e){m({errorId:`WEB_SUGGESTION_PENDING_WRITE_FAILED`,message:`sticky suggestion persist failed`,error:e,context:{sessionId:t.sessionId}})}}function w(e){if(S())try{window.localStorage.removeItem(b(e))}catch{}}function T(e){if(S())try{window.localStorage.removeItem(b(e)),window.localStorage.removeItem(x(e))}catch{}}function ne(e){if(!S())return null;try{let t=window.localStorage.getItem(x(e));if(!t)return null;let n=JSON.parse(t),r=n.sessionId;if(typeof r!=`string`||!r)return null;let i={};if(n.resolvedAt&&typeof n.resolvedAt==`object`)for(let[e,t]of Object.entries(n.resolvedAt))typeof t==`number`&&Number.isFinite(t)&&(i[e]=t);return{sessionId:r,resolvedAt:i}}catch{return null}}function E(e,t,n=Date.now()){let r=ne(e);if(!r||r.sessionId!==t)return new Set;let i=new Set;for(let[e,t]of Object.entries(r.resolvedAt))n-t<=7776e6&&i.add(e);return i}function D(e,t,n,r=Date.now()){if(S())try{let i=ne(e),a=i&&i.sessionId===t?{...i.resolvedAt}:{};a[n]=r,window.localStorage.setItem(x(e),JSON.stringify({sessionId:t,resolvedAt:a}))}catch(e){m({errorId:`WEB_SUGGESTION_MARKER_WRITE_FAILED`,message:`resolved-suggestion marker persist failed`,error:e,context:{sessionId:t,kind:n}})}}function O(e,t,n,r=Date.now()){let i=E(e,t,r);return i.size===0?n:n.filter(e=>!(typeof e.kind==`string`&&i.has(e.kind)))}function re(e){if(!e)return;let t=e.trim().toLowerCase();return t===`medium_write`?`medium write`:t===`low_write`?`low write`:t===`high_write`?`high write`:t===`read_only`?`read only`:t.replace(/_/g,` `)}function k(e,t,n){return e?.find(e=>e.command===t&&e.approvalId===n)}function A(e){return e?.find(e=>e.command===`respond`)}function ie(e){if(e.id.startsWith(`respond:`))return e.id.slice(8).trim()||void 0}function ae(e){let t=e.status.trim().toLowerCase(),n=t===`waiting_for_user`?A(e.statusSummary?.actions):void 0,r=n?ie(n):void 0;return{status:t,known:t!==``&&t!==`unknown`,respondAction:n,responseId:r,enabled:n?.enabled===!0&&r!==void 0}}function oe(e,t){if(Object.hasOwn(e,t))return e[t];let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}function se(e,t){if(t===void 0)return null;let n=oe(e,t);if(!n)return null;let r=ae(n);return r.known?r:null}function ce(e,t,n){if(e!==null)return e===`waiting_for_user`?t!==null&&t!==n?`changed`:void 0:`gone`}function le(e,t){let n=se(e,t.taskId);return ce(n?.status??null,n?.responseId??null,t.responseId)}function ue(e,t){return!!(e&&t&&e.taskId.toLowerCase()===t.taskId.toLowerCase()&&e.responseId===t.responseId)}var de=`web_assistant_actions_v1`,j=`assistant_action_v1`,fe=`research.open_traces`,pe=`memory.review.edit`,me=`memory.review.cancel`,he=`memory.payload_review.confirm`,ge=`memory.payload_review.edit`,_e=`memory.payload_review.cancel`,ve=`memory.payload_review.undo`,ye=`memory.stored.edit`,be=`memory.stored.forget`,xe=`calendar.exact.reschedule`,Se=`calendar.exact.cancel`,Ce=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,we={"research.traces":{normalizeTarget:We,buildRoute:Ge}};function Te(e){let t=L(e);if(t?.schema_version!==`web_assistant_actions_v1`||t.scope!==`message`||!Array.isArray(t.actions))return[];let n=[],r=new Set;for(let e of t.actions){let t=Pe(e);if(!(!t||r.has(t.id))&&(r.add(t.id),n.push(t),n.length>=3))break}return t.actions.some(Ee)?t.actions.length===n.length?De(n):[]:n}function Ee(e){let t=L(e),n=L(t?.target);return t?.id===`memory.payload_review.confirm`||t?.id===`memory.payload_review.edit`||t?.id===`memory.payload_review.cancel`||t?.id===`memory.payload_review.undo`||n?.command===`memory.payload_review_draft`}function De(e){if(!e.every(M))return[];let t=e,n=t[0]?.target.targetKind,r=new Set(t.map(e=>e.target.operation)),i=n===`project_standing`&&r.has(`undo`)?[`edit`,`undo`]:n===`project_standing`&&r.has(`confirm`)?[`confirm`,`edit`,`cancel`]:n===`project_standing`?[`edit`,`cancel`]:[`confirm`,`edit`,`cancel`];if(e.length!==i.length)return[];let a=new Map(e.map(e=>[e.target.operation,e])),o=i.map(e=>a.get(e));if(o.some(e=>!e))return[];let[s,...c]=o,{target:l}=s;return c.some(e=>e.target.draftRef!==l.draftRef||e.target.sourceTurnId!==l.sourceTurnId||e.target.draftSchemaVersion!==l.draftSchemaVersion||e.target.expectedRevision!==l.expectedRevision||e.target.targetKind!==l.targetKind||e.target.targetLabel!==l.targetLabel||e.target.expiresAtMs!==l.expiresAtMs)?[]:o}function Oe(e){return Array.isArray(e)?Te({schema_version:de,scope:`message`,actions:e.map(e=>{let t=L(e),n=L(t?.target),r=Object.fromEntries(Object.entries({route_key:n?.routeKey??n?.route_key,trace_ids:n?.traceIds??n?.trace_ids,pending_run_ids:n?.pendingRunIds??n?.pending_run_ids,view:n?.view,material_id:n?.materialId??n?.material_id,revision_
1id:n?.revisionId??n?.revision_id,command:n?.command,draft_ref:n?.draftRef??n?.draft_ref,draft_schema_version:n?.draftSchemaVersion??n?.draft_schema_version,expected_revision:n?.expectedRevision??n?.expected_revision,target_kind:n?.targetKind??n?.target_kind,action_ref:n?.actionRef??n?.action_ref,reminder_id:n?.reminderId??n?.reminder_id,source_turn_id:n?.sourceTurnId??n?.source_turn_id,operation:n?.operation,target_label:n?.targetLabel??n?.target_label,expires_at_ms:n?.expiresAtMs??n?.expires_at_ms}).filter(e=>e[1]!==void 0));return{schema_version:t?.schemaVersion??t?.schema_version,id:t?.id,kind:t?.kind,label:t?.label,target:r}})}):[]}function ke(e){if(e.target.routeKey===`agent.materials`)return`/agent/materials/${e.target.materialId}?${new URLSearchParams({revision:e.target.revisionId})}`;let t=we[e.target.routeKey];return t?t.buildRoute(e.target):null}function Ae(e){return e.kind===`navigate`&&e.id===`research.open_traces`&&e.target.routeKey===`research.traces`}function je(e){return e.kind===`command`&&(e.id===`memory.review.edit`||e.id===`memory.review.cancel`)&&e.target.command===`memory.review_draft`}function M(e){return e.kind===`command`&&(e.id===`memory.payload_review.confirm`||e.id===`memory.payload_review.edit`||e.id===`memory.payload_review.cancel`||e.id===`memory.payload_review.undo`)&&e.target.command===`memory.payload_review_draft`}function N(e){return e.kind===`command`&&(e.id===`memory.stored.edit`||e.id===`memory.stored.forget`)&&e.target.command===`memory.stored`}function P(e){return e.kind===`command`&&(e.id===`calendar.exact.reschedule`||e.id===`calendar.exact.cancel`)&&e.target.command===`calendar.exact`}function Me(e){return Ne(e)||P(e)}function Ne(e){return je(e)||M(e)||N(e)}function Pe(e){let t=L(e);if(typeof t?.id==`string`&&t.id.startsWith(`material.open_revision:`)){let e=L(t.target);return!R(t,[`schema_version`,`id`,`kind`,`label`,`target`])||t.schema_version!==`assistant_action_v1`||t.kind!==`navigate`||t.label!==`Відкрити матеріал`||!e||!R(e,[`route_key`,`material_id`,`revision_id`])||e.route_key!==`agent.materials`||typeof e.material_id!=`string`||!Ce.test(e.material_id)||typeof e.revision_id!=`string`||!Ce.test(e.revision_id)||t.id!==`material.open_revision:${e.material_id}:${e.revision_id}`?null:{schemaVersion:j,id:`material.open_revision:${e.material_id}:${e.revision_id}`,kind:`navigate`,label:`Відкрити матеріал`,target:{routeKey:`agent.materials`,materialId:e.material_id,revisionId:e.revision_
1id}}}if(t?.schema_version===`assistant_action_v1`&&t.kind===`command`&&(t.id===`calendar.exact.reschedule`||t.id===`calendar.exact.cancel`))return Fe(t);if(t?.schema_version===`assistant_action_v1`&&t.kind===`command`&&(t.id===`memory.payload_review.confirm`||t.id===`memory.payload_review.edit`||t.id===`memory.payload_review.cancel`||t.id===`memory.payload_review.undo`))return Ie(t);if(t?.schema_version===`assistant_action_v1`&&t.kind===`command`&&(t.id===`memory.review.edit`||t.id===`memory.review.cancel`))return ze(t);if(t?.schema_version===`assistant_action_v1`&&t.kind===`command`&&(t.id===`memory.stored.edit`||t.id===`memory.stored.forget`))return Ve(t);if(t?.schema_version!==`assistant_action_v1`||t.id!==`research.open_traces`||t.kind!==`navigate`)return null;let n=qe(t.label,80),r=L(t.target),i=qe(r?.route_key,80),a=(i?we[i]:void 0)?.normalizeTarget(r);return!n||!a?null:{schemaVersion:j,id:fe,kind:`navigate`,label:n,target:a}}function Fe(e){if(!R(e,[`schema_version`,`id`,`kind`,`label`,`target`])||e.schema_version!==`assistant_action_v1`||e.kind!==`command`)return null;let t=L(e.target);if(!t||!R(t,[`command`,`reminder_id`,`source_turn_id`,`operation`])||t.command!==`calendar.exact`)return null;let n=I(t.reminder_id),r=I(t.source_turn_id),i=t.operation;if(i!==`reschedule`&&i!==`cancel`)return null;let a=i===`reschedule`?{id:xe,label:`Перенести`}:{id:Se,label:`Скасувати`};return!n||!r||e.id!==a.id||e.label!==a.label?null:{schemaVersion:j,id:a.id,kind:`command`,label:a.label,target:{command:`calendar.exact`,reminderId:n,sourceTurnId:r,operation:i}}}function Ie(e){if(!R(e,[`schema_version`,`id`,`kind`,`label`,`target`])||e.schema_version!==`assistant_action_v1`||e.kind!==`command`)return null;let t=Le(e.target);if(!t)return null;let n=t.operation===`confirm`?{id:he,label:`Підтвердити`}:t.operation===`edit`?{id:ge,label:`Редагувати`}:t.operation===`undo`?{id:ve,label:`Скасувати зміну`}:{id:_e,label:`Скасувати`};return e.id!==n.id||e.label!==n.label?null:{schemaVersion:j,id:n.id,kind:`command`,label:n.label,target:t}}function Le(e){let t=L(e);if(!t||!R(t,[`command`,`draft_ref`,`source_turn_id`,`draft_schema_version`,`expected_revision`,`operation`,`target_kind`,`target_label`,`expires_at_ms`])||t.command!==`memory.payload_review_draft`||t.draft_schema_version!==`memory_payload_review_draft_projection_v1`)return null;let n=I(t.draft_ref),r=I(t.source_turn_id),i=F(t.expected_revision),a=F(t.expires_at_ms),o=t.operation,s=t.target_kind===`global`||t.target_kind===`active_scope`||t.target_kind===`project_standing`?t.target_kind:null,c=t.target_label,l=s===`global`?`Для всіх чатів`:s===`active_scope`?`Для поточного проєкту`:s===`project_standing`?`Постійне правило проєкту`:null;return!n||!r||i===null||a===null||a<=Date.now()||o!==`confirm`&&o!==`edit`&&o!==`cancel`&&o!==`undo`||s===null||l===null||c!==l?null:{command:`memory.payload_review_draft`,draftRef:n,sourceTurnId:r,draftSchemaVersion:`memory_payload_review_draft_projection_v1`,expectedRevision:i,operation:o,targetKind:s,targetLabel:l,expiresAtMs:a}}function Re(e,t){let n=L(e),r=L(n?.target),i=I(n?.action_ref),a=I(t),o=F(n?.revision),s=F(n?.expires_at_ms);if(!n||!R(n,[`schema_version`,`action_ref`,`revision`,`target`,`expires_at_ms`])||n.schema_version!==`project_standing_action_projection_v1`||!r||!R(r,[`kind`])||r.kind!==`project_standing`||!i||!a||o===null||s===null||s<=Date.now())return null;let c={command:`memory.payload_review_draft`,draft_ref:i,source_turn_id:a,draft_schema_version:`memory_payload_review_draft_projection_v1`,expected_revision:o,target_kind:`project_standing`,target_label:`Постійне правило проєкту`,expires_at_ms:s},l=Te({schema_version:de,scope:`message`,actions:[{schema_version:j,id:ge,kind:`command`,label:`Редагувати`,target:{...c,operation:`edit`}},{schema_version:j,id:ve,kind:`command`,label:`Скасувати зміну`,target:{...c,operation:`undo`}}]});return l.length===2&&l.every(M)?l:null}function ze(e){let t=Be(e.target);if(!t)return null;let n=t.operation===`edit`?{id:pe,label:`Уточнити правило`}:{id:me,label:`Скасувати`};return e.id===n.id?{schemaVersion:j,id:n.id,kind:`command`,label:n.label,target:t}:null}function Be(e){let t=L(e);if(t?.command!==`memory.review_draft`)return null;
1let n=I(t.draft_ref),r=I(t.source_turn_id),i=t.operation;return!n||!r||i!==`edit`&&i!==`cancel`?null:{command:`memory.review_draft`,draftRef:n,sourceTurnId:r,operation:i}}function Ve(e){let t=He(e.target);if(!t)return null;let n=t.operation===`edit`?{id:ye,label:`Редагувати`}:{id:be,label:`Забути`};return e.id===n.id?{schemaVersion:j,id:n.id,kind:`command`,label:n.label,target:t}:null}function He(e){let t=L(e);if(t?.command!==`memory.stored`)return null;let n=I(t.action_ref),r=I(t.source_turn_id),i=t.operation,a=t.target_label,o=t.expires_at_ms,s=F(o);return!n||!r||i!==`edit`&&i!==`forget`||a!==`Для всіх чатів`&&a!==`Для поточного проєкту`||s===null||s<=Date.now()?null:{command:`memory.stored`,actionRef:n,sourceTurnId:r,operation:i,targetLabel:a,expiresAtMs:s}}function Ue(e,t){let n=L(e),r=L(n?.target),i=I(t);if(!n||!r||!i||!R(n,[`schema_version`,`action_ref`,`state`,`revision`,`target`,`allowed_actions`,`expires_at_ms`])||!R(r,[`kind`,`label`])||n.schema_version!==`memory_stored_action_projection_v1`||n.state!==`active`||F(n.revision)===null||!Array.isArray(n.allowed_actions)||n.allowed_actions.length!==2||n.allowed_actions[0]!==`edit`||n.allowed_actions[1]!==`forget`)return null;let a=I(n.action_ref),o=F(n.expires_at_ms),s=r.label,c=r.kind===`global`?`Для всіх чатів`:r.kind===`active_scope`?`Для поточного проєкту`:null;if(!a||o===null||o<=Date.now()||c===null||s!==c)return null;let l={command:`memory.stored`,actionRef:a,sourceTurnId:i,targetLabel:c,expiresAtMs:o};return[{schemaVersion:j,id:ye,kind:`command`,label:`Редагувати`,target:{...l,operation:`edit`}},{schemaVersion:j,id:be,kind:`command`,label:`Забути`,target:{...l,operation:`forget`}}]}function F(e){return e==null?null:typeof e==`number`&&Number.isSafeInteger(e)&&e>0?e:null}function We(e){let t=L(e);if(t?.route_key!==`research.traces`||t.view!==`charts`||!Array.isArray(t.trace_ids))return null;let n=[],r=new Set;for(let e of t.trace_ids){let t=I(e);if(!(!t||r.has(t))&&(r.add(t),n.push(t),n.length>=20))break}if(n.length===0)return null;let i=Ke(t.pending_run_ids);return{routeKey:`research.traces`,traceIds:n,...i.length>0?{pendingRunIds:i}:{},view:`charts`}}function Ge(e){let t=new URLSearchParams({view:e.view});for(let n of e.traceIds)t.append(`trace`,n);for(let n of e.pendingRunIds??[])t.append(`run`,n);return`/agent/traces?${t.toString()}`}function Ke(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let e=I(r);if(!(!e||n.has(e))&&(n.add(e),t.push(e),t.length>=20))break}return t}function I(e){if(typeof e!=`string`)return null;let t=e.trim();return Ce.test(t)?t.toLowerCase():null}function qe(e,t){if(typeof e!=`string`)return null;let n=e.trim().replace(/\s+/g,` `);return n?n.slice(0,t):null}function L(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function R(e,t){return Object.keys(e).length===t.length&&t.every(t=>t in e)}var Je=`/api/v1/ai/actions/undo`,Ye=6e4,Xe=3e3,Ze=6e5,Qe=120,$e=128,et=`Дію виконано`;function tt(e,t){if(typeof e!=`string`)return;let n=e.replace(/\s+/g,` `).trim();return n?n.slice(0,t):void 0}function nt(e,t,n){return Math.min(n,Math.max(t,e))}function rt(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?Ye:nt(Math.round(e*1e3),Xe,Ze)}function it(e,t=Date.now()){if(!e||typeof e!=`object`||Array.isArray(e))return null;let n=e,r=tt(n.token,$e);if(!r)return null;let i=tt(n.label,Qe)??et,a=rt(n.expires_in_s),o=typeof n.expires_at_ms==`number`&&Number.isFinite(n.expires_at_ms)?Math.round(n.expires_at_ms):null,s=o===null?t+a:nt(o,0,t+Ze);return{id:r,token:r,label:i,createdAtMs:Math.min(t,Math.max(0,s-a)),expiresAtMs:s,status:`active`}}function at(e,t=Date.now()){let n=Math.max(1,e.expiresAtMs-e.createdAtMs),r=Math.max(0,e.expiresAtMs-t);return{remainingMs:r,totalMs:n,progressPct:nt(r/n*100,0,100),remainingSeconds:Math.ceil(r/1e3),expired:r<=0}}function ot(e){switch(e){case`undone`:return`undone`;case`already_undone`:return`already_undone`;case`not_found`:return`gone`;case`blocked`:case`error`:return`error`;default:return`error`}}function st(e,t){switch(e){case`active`:return t?{text:`Час на скасування вийшов`,tone:`muted`}:{text:``,tone:`active`};case`undoing`:return{text:`Скасовую…`,tone:`active`};case`undone`:return{text:`↩ Скасовано`,tone:`success`};case`already_undone`:return{text:`Вже було скасовано`,tone:`muted`};case`gone`:return{text:`Скасування вже недоступне`,tone:`muted`};case`error`:return{text:`Не вдалося скасувати`,tone:`error`}}}function ct(e){return`Скасувати · ${Math.max(0,e)}с`}var lt=/^[a-z][a-z0-9-]*(?:\.[a-z0-9-]+)+$/,ut=/^openable-v1-[0-9a-f]{8}$/,dt=/^open:[0-9a-f]{24}$/,ft=/^[A-Za-z][A-Za-z0-9_-]{0,47}$/,pt=/^[A-Za-z0-9_-]{1,16}$/,mt=8,ht=64*1024,gt=new Set([`protocol_version`,`protocolVersion`,`action`,`intent_id`,`intentId`,`catalog_revision`,`catalogRevision`,`surface_id`,`surfaceId`,`arguments`,`placement`,`label`,`delivery_id`,`deliveryId`,`call_id`,`callId`,`delivery`,`sequence`]);function z(e,t=256){if(typeof e!=`string`)return;let n=e.trim();return n&&n.length<=t?n:void 0}function _t(e){return typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function vt(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=Object.entries(e);if(t.length>mt)return null;let n={};for(let[e,r]of t){if(!ft.test(e)||!_t(r))return null;n[e]=r}return n}function B(e,t,n){let r=Object.prototype.hasOwnProperty.call(e,t),i=Object.prototype.hasOwnProperty.call(e,n);return r&&i?{valid:!1,value:void 0}:{valid:!0,value:r?e[t]:e[n]}}function yt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function bt(e,t){let n=new Set(t);return Object.keys(e).every(e=>n.has(e))}function xt(e){if(!yt(e))return null;if(e.kind===`window`){if(!bt(e,[`kind`,`display`]))return null;
1let t=e.display===void 0?`source`:e.display;return t!==`source`&&t!==`primary`&&t!==`other`?null:{kind:`window`,display:t}}return e.kind!==`dock`||!bt(e,[`kind`,`position`,`anchor`])||e.position!==`left`&&e.position!==`right`&&e.position!==`above`&&e.position!==`below`?null:e.anchor===`chat`||e.anchor===`active`?{kind:`dock`,position:e.position,anchor:e.anchor}:!yt(e.anchor)||!bt(e.anchor,[`kind`,`handle`])||e.anchor.kind!==`panel`||typeof e.anchor.handle!=`string`||!pt.test(e.anchor.handle)?null:{kind:`dock`,position:e.position,anchor:{kind:`panel`,handle:e.anchor.handle}}}function St(e,t={}){if(!e||typeof e!=`object`||Array.isArray(e))return null;let n=e;if(Object.keys(n).some(e=>!gt.has(e)))return null;let r=B(n,`protocol_version`,`protocolVersion`),i=B(n,`intent_id`,`intentId`),a=B(n,`catalog_revision`,`catalogRevision`),o=B(n,`surface_id`,`surfaceId`);if(!r.valid||!i.valid||!a.valid||!o.valid)return null;let s=r.value,c=z(n.action,32),l=z(i.value,64),u=z(a.value,64),d=z(o.value,96),f=vt(n.arguments);if(c!==`open_surface`||!l||!dt.test(l)||!u||!ut.test(u)||!d||!lt.test(d)||!f)return null;let p=z(n.label,128);if(s===1){let e=z(n.placement,32);return e!==`beside`&&e!==`new_window`?null:{protocolVersion:1,action:`open_surface`,intentId:l,catalogRevision:u,surfaceId:d,arguments:f,placement:e,...p?{label:p}:{}}}if(s!==2||t.acceptProtocol2!==!0)return null;let m=xt(n.placement);return m?{protocolVersion:2,action:`open_surface`,intentId:l,catalogRevision:u,surfaceId:d,arguments:f,placement:m,...p?{label:p}:{}}:null}function Ct(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;try{let t=e;if(t.protocolVersion!==1||!ut.test(String(t.catalogRevision)))return null;let n=t.targets;if(!Array.isArray(n)||n.length===0||n.length>128)return null;let r=JSON.stringify(e);return!r||new TextEncoder().encode(r).byteLength>ht||n.some(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!0;let t=e,n=t.target===`widget`||t.target===`route`,r=t.target===`shell`&&t.action===`open_settings`;return typeof t.surfaceId!=`string`||!lt.test(t.surfaceId)||!n&&!r||t.target!==`shell`&&`action`in t||t.target===`shell`&&(!Array.isArray(t.arguments)||t.arguments.length!==0)||t.interactionMode!==void 0&&t.interactionMode!==`read`&&t.interactionMode!==`draft`&&t.interactionMode!==`edit`||!Array.isArray(t.arguments)||`path`in t||`widgetType`in t})?null:e}catch{return null}}function wt(e,t){if(typeof e!=`string`)return;let n=e.trim();return n&&n.length<=t?n:void 0}function Tt(e){if(!e||typeof e!=`object`||Array.isArray(e))return{kind:`legacy`};let t=e;if(![`delivery_id`,`deliveryId`,`call_id`,`callId`,`delivery`,`sequence`].some(e=>Object.prototype.hasOwnProperty.call(t,e)))return{kind:`legacy`};let n=wt(t.delivery_id??t.deliveryId,256),r=wt(t.call_id??t.callId,256),i=t.delivery,a=t.sequence;return n?i!==`live`&&i!==`terminal`?{kind:`invalid`,reason:`invalid_delivery_mode`}:typeof a!=`number`||!Number.isSafeInteger(a)||a<1?{kind:`invalid`,reason:`invalid_sequence`}:i===`live`&&!r?{kind:`invalid`,reason:`missing_live_call_id`}:{kind:`valid`,envelope:{deliveryId:n,...r?{callId:r}:{},delivery:i,sequence:a}}:{kind:`invalid`,reason:`missing_delivery_id`}}function Et(e,t=0){if(t>5)return`[depth]`;if(e===null||typeof e==`boolean`||typeof e==`number`)return e;if(typeof e==`string`)return e.slice(0,512);if(Array.isArray(e))return e.slice(0,32).map(e=>Et(e,t+1));if(typeof e!=`object`)return`[${typeof e}]`;let n=e;return Object.keys(n).sort().slice(0,64).reduce((e,r)=>(e[r]=Et(n[r],t+1),e),{})}function Dt(e){return JSON.stringify(Et(e))}var Ot=new Set([`admission`,`result`]);function kt(e){return Ot.has(e)}function At(e){let t=new Set,n=[];for(let r of e){let e=`${r.taskId}:${r.kind}`;if(!t.has(e)&&(t.add(e),n.push(r),n.length>=8))break}return n}function jt(e,t){return At([...e??[],...t??[]])}function Mt(e){let t=new Set,n=[];for(let r of e)if(!t.has(r.taskId)&&(t.add(r.taskId),n.push(r.taskId),n.length>=8))break;return n}function Nt(e,t){let n=new Set,r=[];for(let i of[...e??[],...t??[]]){let e=i.trim().toLowerCase();if(!(!e||n.has(e))&&(n.add(e),r.push(e),r.length>=8))break}return r}function Pt(e){let t=new Map;for(let n of e)for(let e of n.agentTaskRefs??[])t.has(e.taskId)||t.set(e.taskId,n.id);if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=e.agentTaskIds;if(!r||r.length===0)return e;let i=r.filter(n=>{let r=t.get(n);return r===void 0||r===e.id});return i.length===r.length?e:(n=!0,{...e,agentTaskIds:i})});return n?r:e}var Ft=`main`,It=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;function Lt(e){return typeof e==`string`&&It.test(e)?e:null}var Rt=`Відтепер це одна спільна розмова — на всіх твоїх вкладках і пристроях. Те, що вище, лишилось у попередній, і я цього не бачу. І навпаки: я можу памʼятати сказане деінде, чого тут не показано.`;function zt({sentSessionId:e,serverSessionId:t,scoped:n}){if(n||t==null)return{kind:`keep`};let r=Lt(t);return r?r===e?{kind:`keep`}:{kind:`adopt`,sessionId:r}
1:{kind:`unparseable`,received:String(t).slice(0,80)}}var Bt=`main-history-window-note`;function Vt(e){return e.id===`main-history-window-note`||e.id===`main-history-stale-note`||e.id===`history-window-note`}function V(e){return e.id===`welcome`||e.id===`main-history-window-note`||e.id===`main-history-stale-note`||e.id===`history-window-note`||e.id.startsWith(`main-conversation-adopted:`)}var Ht=1440*60*1e3,Ut=`main-history-stale-note`;function Wt(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function Gt(e){let t=e%10,n=e%100;return t===1&&n!==11||t>=2&&t<=4&&(n<12||n>14)?`${e} повідомлення`:`${e} повідомлень`}function Kt(e){let t=new Set,n=[];for(let r of e){let e=`${r.role}:${r.id}`;t.has(e)&&n.push(e),t.add(e)}return n}function qt(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Jt(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function Yt(e,t){return e.content===t.content&&e.timestamp===t.timestamp&&Jt(e.forkedTo,t.forkedTo)&&Jt(e.agentTaskRefs,t.agentTaskRefs)&&Jt(e.agentTaskIds,t.agentTaskIds)}function Xt(e){let t=new Set;for(let n of e)n.role===`assistant`&&n.sourceTurnId&&t.add(n.sourceTurnId.toLowerCase());let n=new Set,r=!1;for(let i of e)V(i)||(i.role===`user`?r=i.sourceTurnId===void 0&&!t.has(i.id.toLowerCase()):i.sourceTurnId&&(r=!1),r&&n.add(i));return n}function Zt({local:e,incoming:t,total:n,keepFromMessageId:r,protectMessageIds:i=[],summaryAvailable:a=null,keepOlderLocal:o=!1,onNoOverlap:s,now:c=Date.now()}){let l=()=>{let t=e.filter(e=>!Vt(e));return t.length===e.length?e:t};if(t.length===0)return l();let u=e=>e.toLowerCase(),d=e=>u(e.role===`user`?e.sourceTurnId??e.id:e.id),f=e=>e.role===`assistant`&&e.sourceTurnId?u(e.sourceTurnId):null,p=r?e.findIndex(e=>u(e.id)===u(r)):-1,m=new Set(i.filter(e=>!!e).map(u)),h=new Set,g=(e,t)=>p!==-1&&t>=p||m.has(u(e.id))||e.role===`user`&&e.sourceTurnId!==void 0&&m.has(u(e.sourceTurnId));e.forEach((e,t)=>{g(e,t)&&(h.add(`${e.role}:${d(e)}`),e.role===`assistant`&&h.add(`user:${d(e)}`))});let _=e=>e.role===`user`?u(e.id):f(e)??u(e.id),v=e=>h.has(`${e.role}:${_(e)}`),y=t.filter(e=>!v(e));if(y.length===0)return l();let b=new Set([...h].filter(e=>e.startsWith(`user:`)).map(e=>e.slice(5))),x=new Map,S=[];for(let e of y){let t=e.role===`assistant`?f(e):null;t&&b.has(t)?x.set(t,[...x.get(t)??[],e]):S.push(e)}let C=new Map,ee=new Map;e.forEach(e=>{C.set(u(e.id),e),e.role===`user`&&e.sourceTurnId&&ee.set(u(e.sourceTurnId),e)});let te=new Set(e.filter(g).map(e=>u(e.id))),w=new Set,T=(e,t)=>e&&e.role===t&&!V(e)&&!te.has(u(e.id))&&!w.has(u(e.id))?e:void 0,ne=e=>{let t=T(C.get(u(e.id)),e.role);if(t)return t;if(e.role===`user`)return T(ee.get(u(e.id)),`user`);let n=f(e);return n?T(C.get(n),`assistant`):void 0},E=[];for(let e of S){let t=ne(e);if(!t){E.push({row:e,twinId:null});continue}w.add(u(t.id));let n={...t,content:t.role===`user`?t.content:e.content,timestamp:e.timestamp};e.forkedTo!==void 0&&(n.forkedTo=e.forkedTo),e.agentTaskRefs!==void 0&&(n.agentTaskRefs=jt(t.agentTaskRefs,e.agentTaskRefs),n.agentTaskIds=Nt(t.agentTaskIds,e.agentTaskIds)),E.push({row:Yt(t,n)?t:n,twinId:u(t.id)})}if(w.size===0&&o){let r=Xt(e),i=[],o=0,l=0;return e.forEach((e,t)=>{V(e)||(g(e,t)?(i.push(e),e.role===`user`&&i.push(...x.get(d(e))??[])):r.has(e)?(i.push(e),o+=1):l+=1)}),l>0&&s?.({dropped:l,carried:o}),[...Qt(e,t,t.length,n,c,a),...S,...i]}if(w.size===0&&te.size===0)return[...Qt(e,t,t.length,n,c,a),...S];let D=new Map,O=[],re=[],k=null;e.forEach((e,t)=>{if(w.has(u(e.id))){k=[],D.set(u(e.id),k);return}if(!V(e)){if(g(e,t)){re.push(e);return}k?k.push(e):o&&O.push(e)}});let A=[...Qt(e,t,t.length+O.length,n,c,a),...O];for(let{row:e,twinId:t}of E)A.push(e),t&&A.push(...D.get(t)??[]);for(let e of re)A.push(e),e.role===`user`&&A.push(...x.get(d(e))??[]);return A}function Qt(e,t,n,r,i,a){let o=[];r>n&&o.push({id:Bt,role:`assistant`,content:`Показано останні ${Gt(n)} із ${r} — старіші лишаються в історії розмови.`,timestamp:new Date(0).toISOString()});let s=Wt(t[t.length-1].timestamp);return s>0&&i-s>Ht&&o.push({id:Ut,role:`assistant`,content:a===!0?`Ця розмова старша за добу — Ярик памʼятає її підсумок, а повна історія лишається тут.`:a===!1?`Ця розмова старша за добу — Ярик ще не має її підсумку, але повна історія лишається тут.`:`Ця розмова старша за добу — Ярик уже не бере її в контекст, але історія лишається.`,timestamp:new Date(0).toISOString()}),o.map(t=>{let n=e.find(e=>e.id===t.id);return n&&n.content===t.content&&n.timestamp===t.timestamp?n:t})}function $t(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r,i=typeof e.scopeId==`string`?e.scopeId.trim():``,a=typeof e.label==`string`?e.label.trim():``,o=typeof e.conversationId==`string`?e.conversationId.trim():``;!i||!a||!o||t.has(i)||(t.add(i),n.push({scopeId:i,label:a.slice(0,160),conversationId:o}))}return n}var en=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function tn(e){let t=e.role===`user`?e.sourceTurnId??e.id:e.id;if(typeof t!=`string`)return null;let n=t.toLowerCase();return en.test(n)?n:null}function nn(e,t){return t.projectsRuntimeEnabled!==!0||t.activeScope!==null||t.sessionId!==`main`||V(e)||t.isStreaming&&t.streamingMessageId&&e.id===t.streamingMessageId||t.pendingUserRowId!==null&&e.role===`user`&&e.id===t.pendingUserRowId?null:tn(e)}var rn=`task_result`,an=[`completed`,`blocked`,`failed`,`cancelled`,`expired`],on=[`completed`,`completed_partial`,`blocked`,`failed_retry_exhausted`,`cancelled_by_user`,`cancelled_by_system`,`expired`],sn=t().uuid().transform(e=>e.toLowerCase()),cn=t().refine(e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|[+-]\d{2}:\d{2})$/.test(e)&&Number.isFinite(Date.parse(e)),`Expected an RFC3339 timestamp.`);function ln(e){return t().trim().min(1).refine(t=>Array.from(t).length<=e,{message:`Expected at most ${e} Unicode code points.`})}var un=65536;function H(e){return t().transform(e=>e.replace(/\r\n?/g,`
2`).trim()).refine(t=>Array.from(t).length<=e,{message:`Expected at most ${e} Unicode code points.`})}
2var dn=e({schema_version:i(d),status:s(f),completed_work:H(2e3),remaining_work:H(2e3),limitations:H(2e3)}).strict().refine(e=>e.status===`full`?e.completed_work.length>0&&e.remaining_work.length===0:e.remaining_work.length>0&&e.limitations.length>0,`Coverage shape disagrees with its status.`),fn=e({schema_version:i(p),runtime:t().trim().min(1).max(80),text:H(un).refine(e=>e.length>0,`Expected a non-empty answer.`),truncated:r(),coverage:dn,tool_calls:o().int().safe().nonnegative().nullable().optional(),next_actions:a(ln(160)).max(3).optional()}).strict(),pn=e({item_kind:i(rn),task_id:sn,conversation_id:sn,source_turn_id:sn,surface:s([`web`,`telegram`]),terminal_result_revision:o().int().safe().positive(),seen:i(!1),title:ln(200),status:s(an),outcome:s(on).nullable().optional(),summary:ln(2e3).nullable().optional(),result_projection:n().nullable().optional(),answer:n().nullable().optional(),completed_at:cn.nullable().optional(),materialized_at:cn}).strict(),mn=e({rows:a(n()).max(200),total:o().int().safe().nonnegative(),limit:o().int().safe().min(1).max(200)}).strict();function hn(e){return{schemaVersion:e.schema_version,runtime:e.runtime,text:e.text,truncated:e.truncated,coverage:{status:e.coverage.status,completedWork:e.coverage.completed_work,remainingWork:e.coverage.remaining_work,limitations:e.coverage.limitations},...typeof e.tool_calls==`number`?{toolCalls:e.tool_calls}:{},nextActions:e.next_actions??[]}}function gn(e,t={}){let n=pn.safeParse(e);if(!n.success)return null;let r=n.data,i=c(r.result_projection);if(r.result_projection!=null&&!i)return null;let a=null;if(r.answer!=null){let e=fn.safeParse(r.answer);e.success?a=hn(e.data):t.onInvalidAnswer?.({taskId:r.task_id,terminalResultRevision:r.terminal_result_revision,issuePath:e.error.issues[0]?.path.map(String).join(`.`)??``})}return{itemKind:r.item_kind,taskId:r.task_id,conversationId:r.conversation_id,sourceTurnId:r.source_turn_id,surface:r.surface,terminalResultRevision:r.terminal_result_revision,seen:!1,title:r.title,status:r.status,...r.outcome?{outcome:r.outcome}:{},...r.summary?{summary:r.summary}:{},...i?{resultProjection:i}:{},...a?{answer:a}:{},...r.completed_at?{completedAt:r.completed_at}:{},materializedAt:r.materialized_at}}function _n(e,t={}){let n=mn.safeParse(e);if(!n.success)return null;let r=[];for(let e of n.data.rows){let n=gn(e,t);if(!n)return null;r.push(n)}return n.data.total<r.length?null:{rows:r,total:n.data.total,limit:n.data.limit}}function vn(e,t){return e.taskId===t.taskId&&e.conversationId===t.conversationId&&e.terminalResultRevision===t.terminalResultRevision}function yn(e,t,n){if(e&&e.taskId.toLowerCase()!==t.taskId)return null;let r=e??{taskId:t.taskId,artifacts:[],steps:[],decisionLedger:[],stepCount:0,artifactCount:0,terminal:!1,updatedAt:t.materializedAt,status:`unknown`},i=n===t.terminalResultRevision,a=Cn(t.answer,i?e?.answer:void 0),o=n!==void 0&&n>0&&t.terminalResultRevision>n&&!t.answer,s=!a&&(o||i&&e?.answerWithdrawn===!0),c={...r,taskId:t.taskId,status:t.status,outcome:t.outcome,title:t.title,surface:t.surface,resultSummary:t.summary,resultProjection:t.resultProjection,answer:a,...s?{answerWithdrawn:!0}:{answerWithdrawn:void 0},completedAt:t.completedAt??(n!==void 0&&n>0&&t.terminalResultRevision>n?void 0:e?.completedAt),terminal:!0,error:void 0};return e&&e.status===c.status&&e.outcome===c.outcome&&e.title===c.title&&e.surface===c.surface&&e.resultSummary===c.resultSummary&&En(e.resultProjection,c.resultProjection)&&Tn(e.answer,c.answer)&&e.answerWithdrawn===c.answerWithdrawn&&e.completedAt===c.completedAt&&e.terminal===c.terminal&&e.error===c.error?e:c}function bn(e,t){let n=t.trim().toLowerCase();if(n)return e?.rows.find(e=>e.taskId===n)}function xn(e,t,n){if(n.role!==`assistant`)return;let r=bn(e,t);if(!r)return;let i=r.sourceTurnId.toLowerCase();return n.id.toLowerCase()===i||n.sourceTurnId?.toLowerCase()===i?r:void 0}function Sn(e,t,n){return e!==void 0&&n===t.terminalResultRevision&&yn(e,t,n)===e}function Cn(e,t){if(!e)return t;let n=t?.nextActions??[];return t&&(e.nextActions??[]).length===0&&n.length>0?{...e,nextActions:n}:e}function wn(e,t){let n=e?.answer,r=t.answer;return!n||!r||(n.nextActions??[]).length>0||(r.nextActions??[]).length===0?!1:Tn({...n,nextActions:[]},{...r,nextActions:[]})&&e!==void 0&&e.status===t.status&&e.outcome===t.outcome&&e.title===t.title&&e.surface===t.surface&&e.resultSummary===t.resultSummary&&En(e.resultProjection,t.resultProjection)&&e.completedAt===t.completedAt}function Tn(e,t){return e===t?!0:!e||!t?!1:e.schemaVersion===t.schemaVersion&&e.runtime===t.runtime&&e.text===t.text&&e.truncated===t.truncated&&e.toolCalls===t.toolCalls&&e.coverage.status===t.coverage.status&&e.coverage.completedWork===t.coverage.completedWork&&e.coverage.remainingWork===t.coverage.remainingWork&&e.coverage.limitations===t.coverage.limitations&&(e.nextActions??[]).length===(t.nextActions??[]).length&&(e.nextActions??[]).every((e,n)=>e===(t.nextActions??[])[n])}function En(e,t){return e===t?!0:!e||!t?!1:e.schemaVersion===t.schemaVersion&&e.resultKind===t.resultKind&&e.resultState===t.resultState&&e.answer===t.answer&&e.evidenceCount===t.evidenceCount&&e.readOnly===t.readOnly&&Dn(e.checkedCapabilities,t.checkedCapabilities)&&Dn(e.gaps,t.gaps)}function Dn(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var On=new Set([`Dashboard`,`AlertsList`,`ScansList`,`ScenariosList`,`SortersList`,`PatternsList`,`CalendarView`,`Settings`,`ExternalDataConnector`,`AdminDashboard`]);function kn(e,t,n){return e&&On.has(e)?!0:!(t&&Object.keys(t).length>0)&&!n}function An(e,t){if(e.protocolVersion!==t.protocolVersion||e.catalogRevision!==t.catalogRevision||e.surfaceId!==t.surfaceId||!jn(e.placement,t.placement))return!1;let n=Object.keys(e.arguments).sort(),r=Object.keys(t.arguments).sort();return n.length===r.length&&n.every((n,i)=>n===r[i]&&e.arguments[n]===t.arguments[n])}function jn(e,t){return typeof e==`string`||typeof t==`string`?e===t:e.kind===t.kind?e.kind===`window`&&t.kind===`window`?e.display===t.display:e.kind!==`dock`||t.kind!==`dock`||e.position!==t.position?!1:typeof e.anchor==`string`||typeof t.anchor==`string`?e.anchor===t.anchor:e.anchor.kind===t.anchor.kind&&e.anchor.handle===t.anchor.handle:!1}var Mn=64,Nn=64,Pn=128,Fn=`proalerts.chat.v1`,In=2,Ln=100,Rn=8;function zn(e,t){let n=t.taskId.toLowerCase(),r=t.sourceTurnId.toLowerCase(),i=e=>e.role===`assistant`&&(e.id.toLowerCase()===r||e.sourceTurnId?.toLowerCase()===r);return{anchoredMessageIndex:e.findIndex(e=>i(e)&&(e.agentTaskIds??[]).some(e=>e.toLowerCase()===n)),sourceMessageIndex:e.findIndex(i)}}function Bn(e,t){let n=!e?.plan||t.plan||t.planUnavailable?void 0:e.plan,r=e?.report&&!t.report?e.report:void 0;return!n&&!r?t:{...t,...n?{plan:n}:{},...r?{report:r}:{}}}function Vn(e,t){if(t.statusSummary||!e?.statusSummary)return t;let n=t.status.trim().toLowerCase();if(n!==`waiting_for_user`||e.status.trim().toLowerCase()!==n)return t;let r=A(e.statusSummary.actions);if(!r)return t;let{status:i,isWaiting:a,reportReady:o}=e.statusSummary;return{...t,statusSummary:{status:i,isWaiting:a,reportReady:o,actions:[r]}}}function Hn(e,t,n){return t=Bn(e,t),!e||n===void 0?t:{...t,status:e.status,outcome:e.outcome,title:e.title,surface:e.surface,resultSummary:e.resultSummary,resultProjection:e.resultProjection,answer:e.answer,answerWithdrawn:e.answerWithdrawn,completedAt:e.completedAt??t.completedAt,terminal:e.terminal,error:e.error}}var Un=50,Wn=1440*60*1e3,U=Wn,Gn=2100*1e3,Kn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,W=null,qn=``,Jn=new Set,Yn=!1;function G(){return{id:`welcome`,role:`assistant`,content:`Привіт! Я Ярик — помічник ProAlerts. Можу створити алерт чи скан під твою умову, показати й продовжити твої задачі, або одразу відповісти на історичне питання про обрані тікери — як воÐ
2½Ð¸ поводяться після звітів, гепів, сплітів чи в конкретні дати. Просто спитай — з чого почнемо?`,timestamp:new Date().toISOString()}}function K(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Xn(e){return`${Fn}:${e}`}function Zn(){try{return typeof window<`u`&&window.localStorage!==void 0}catch{return!1}}function Qn(e){let t={};for(let n of e)for(let e of n.agentTaskIds??[])t[e]||(t[e]=l(e));return t}function $n(e,t){let n=null;for(let r of e)for(let e of r.agentTaskIds??[])t[e]||n?.[e]||((n??={})[e]=l(e));return n?{...n,...t}:t}function q(){return{isStreaming:!1,isLoading:!1,composerPrefill:null,agentTaskReplyTarget:null,agentTaskReplyOutcome:null,agentTaskCardOffscreenDemands:{},streamingMessageId:null,lastCleanAssistantId:null,activeTools:[],completedTools:[],pendingStatus:null,suggestedActions:null,pendingSuggestionChips:null,pendingNavigation:null,pendingOpenSurfaceActions:[],pendingPanelActions:[],activeDesktopTurnId:null,embeddedPage:null,specialistSession:null,agentTaskCards:{},agentTaskChatResultRevisions:{},agentTaskCardsRevision:0,researchResultCards:[],undoCards:[],pendingResumeMessage:null,forkPickArmed:!1,forkDialogFrom:null,forkDraft:null,jMode:`off`}}function J(e,t){if(!t)return e;let n=!1,r=e.map(e=>e.turnId!==t||e.ready?e:(n=!0,{...e,ready:!0}));return n?r:e}function er(e){return e===`running`||e===`done`||e===`error`||e===`cancelled`}function tr(e){return e===`read`||e===`write`||e===`navigation`||e===`action`}function Y(e){return typeof e==`string`&&e.trim()||void 0}function nr(e){if(!e||typeof e!=`object`)return null;let t=e,n=Y(t.session_id)??Y(t.sessionId),r=Y(t.reply_mode)??Y(t.replyMode);return!n||r!==`next_message`?null:{sessionId:n,status:Y(t.status)??`active`,surface:Y(t.surface),replyMode:r}}function rr(e,t,n){return!t&&n===!1?`error`:er(e)?e:t?`running`:`done`}function ir(e,t){if(typeof e==`string`){let n=e.trim()||`unknown_tool`;return{id:n,name:n,status:t?`running`:`done`}}let n=Y(e.name)??`unknown_tool`,r=Y(e.tool_id)??Y(e.id)??n,i=typeof e.ok==`boolean`?e.ok:void 0;return{id:r,name:n,status:rr(e.status,t,i),label:Y(e.label),kind:tr(e.kind)?e.kind:void 0,entity:Y(e.entity),ok:i}}function ar(e){return e.status===`running`?{...e,status:e.ok===!1?`error`:`done`}:e}function or(e,t){let n=typeof e!=`string`&&(Y(e.tool_id)??Y(e.id));return e=>n?e.id===t.id:e.name===t.name}function sr(e,t){return ar({id:t.id,name:t.name,status:t.status,label:t.label??e?.label,kind:t.kind??e?.kind,entity:t.entity??e?.entity,ok:t.ok??e?.ok})}function cr(e,t){let n=ar(t);return[...e.filter(e=>e.id!==n.id),n].slice(-5)}function lr(e,t){return dr(e,t,`cancelled`)}function ur(e,t){return dr(e,t,`error`)}function dr(e,t,n){if(t.length===0)return e;let r=t.map(e=>({...e,status:n,ok:n===`error`?!1:e.ok})),i=new Set(r.map(e=>e.id));return[...e.filter(e=>!i.has(e.id)),...r].slice(-5)}var fr=!1;function pr(e){if(e===void 0)return[];if(!Array.isArray(e))return mr(`not-an-array`),[];let t=$t(e);return t.length!==e.length&&mr(`unusable-entry`),t}function mr(e){fr||(fr=!0,m({errorId:`WEB_PROJECT_FORK_MARKER_DROPPED`,message:`A persisted fork marker was dropped as unusable`,context:{reason:e}}))}function X(e){if(!Array.isArray(e))return[G()];let t=e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(t.role!==`user`&&t.role!==`assistant`||typeof t.content!=`string`||!t.content.trim()&&t.id!==`welcome`)return null;let n=typeof t.id==`string`?t.id:crypto.randomUUID(),r=t.role===`assistant`&&Array.isArray(t.agentTaskIds)?Array.from(new Set(t.agentTaskIds.filter(e=>typeof e==`string`&&e.length>0))).slice(-Rn):[],i=t.role===`assistant`?Oe(t.assistantActions).filter(e=>!Me(e)||e.target.sourceTurnId===n.toLowerCase()):[],a=t.role===`assistant`&&(t.memoryActionOutcome===`edited`||t.memoryActionOutcome===`forgotten`||t.memoryActionOutcome===`check`||t.memoryActionOutcome===`unavailable`)?t.memoryActionOutcome:void 0,o=typeof t.sourceTurnId==`string`&&Kn.test(t.sourceTurnId)?t.sourceTurnId.toLowerCase():void 0,s=t.role===`assistant`&&(t.calendarActionOutcome===`rescheduled`||t.calendarActionOutcome===`cancelled`||t.calendarActionOutcome===`stale`||t.calendarActionOutcome===`check`||t.calendarActionOutcome===`unavailable`)?t.calendarActionOutcome:void 0,c=pr(t.forkedTo);return{id:n,role:t.role,content:t.content,timestamp:typeof t.timestamp==`string`?t.timestamp:new Date().toISOString(),context:Or(t.context)??void 0,...o?{sourceTurnId:o}:{},...i.length>0?{assistantActions:i}:{},...a?{memoryActionOutcome:a}:{},...r.length>0?{agentTaskIds:r}:{},...s?{calendarActionOutcome:s}:{},...c.length>0?{forkedTo:c}:{}}}).filter(e=>e!==null).slice(-Ln);return t.length>0?t:[G()]}function hr(e,t,n){return e.map(e=>{if(e.role!==`assistant`||e.id!==t&&e.sourceTurnId!==t)return e;let r=e.assistantActions?.filter(e=>!P(e));return{...e,...r&&r.length>0?{assistantActions:r}:{assistantActions:void 0},calendarActionOutcome:n}})}function gr(e,t){return e.some(e=>e.role===`assistant`&&(e.id===t||e.sourceTurnId===t)&&e.assistantActions?.some(e=>P(e)&&e.target.sourceTurnId===t)===!0)}function _r(e,t,n){return e.map(e=>{if(e.role!==`assistant`||e.id!==t&&e.sourceTurnId!==t)return e;let r=e.assistantActions?.filter(e=>!N(e));return{...e,...r&&r.length>0?{assistantActions:r}:{assistantActions:void 0},memoryActionOutcome:n}})}function vr(e,t){return e.some(e=>e.role===`assistant`&&(e.id===t||e.sourceTurnId===t)&&e.assistantActions?.some(e=>N(e)&&e.target.sourceTurnId===t)===!0)}function Z(e){return M(e)||N(e)}function yr(e){return Z(e)||P(e)}function br(e,t){return e.some(e=>e.role===`assistant`&&(e.id===t||e.sourceTurnId===t)&&e.assistantActions?.some(e=>M(e)&&e.target.sourceTurnId===t)===!0)}function xr(e,t,n,r){return e.map(e=>{if(e.role!==`assistant`||e.id!==t&&e.sourceTurnId!==t)return e;let i=[...n,...(e.assistantActions??[]).filter(e=>!M(e))].slice(0,3);return{...e,...i.length>0?{assistantActions:i}:{assistantActions:void 0},...r?{memoryActionOutcome:r}:{}}})}function Q(e){if(!Array.isArray(e))return[];let t=new Map;for(let n of e){if(!n||typeof n!=`object`||Array.isArray(n))continue;let e=n,r=typeof e.scopeId==`string`?e.scopeId.trim():``,i=typeof e.messageId==`string`?e.messageId.trim():``,a=e.expiresAtMs,o=Date.now();if(!r||r.length>64||!i||i.length>64||typeof a!=`number`||!Number.isSafeInteger(a)||a<=o||a>o+U)continue;let s=e.memoryActionOutcome===`edited`||e.memoryActionOutcome===`forgotten`||e.memoryActionOutcome===`check`||e.memoryActionOutcome===`unavailable`?e.memoryActionOutcome:void 0,c=e.calendarActionOutcome===`rescheduled`||e.calendarActionOutcome===`cancelled`||e.calendarActionOutcome===`stale`||e.calendarActionOutcome===`check`||e.calendarActionOutcome===`unavailable`?e.calendarActionOutcome:void 0,l=Oe(e.assistantActions).filter(yr).filter(e=>e.target.sourceTurnId===i.toLowerCase()).filter(e=>!s||!Z(e)).filter(e=>!c||!P(e));if(!s&&!c&&l.length===0)continue;let u=`${r}:${i}`;t.delete(u),t.set(u,{scopeId:r,messageId:i,expiresAtMs:a,...l.length>0?{assistantActions:l}:{},...s?{memoryActionOutcome:s}:{},...c?{calendarActionOutcome:c}:{}})}return Array.from(t.values()).slice(-Un)}function Sr(e,t,n){if(n.role!==`assistant`)return e;let r=n.sourceTurnId??n.id,i=e.find(e=>e.scopeId===t&&e.messageId===r),a=(n.assistantActions??[]).filter(yr).filter(e=>!n.memoryActionOutcome||!Z(e)).filter(e=>!n.calendarActionOutcome||!P(e));if(!n.memoryActionOutcome&&!n.calendarActionOutcome&&a.length===0)return e;let o=i?.memoryActionOutcome!==n.memoryActionOutcome||i?.calendarActionOutcome!==n.calendarActionOutcome,s=n.memoryActionOutcome||n.calendarActionOutcome?!o&&i?i.expiresAtMs:Date.now()+U:Math.min(Math.max(...a.map(e=>Z(e)?e.target.expiresAtMs:Date.now()+U)),Date.now()+U);return Q([...e.filter(e=>e.scopeId!==t||e.messageId!==r),{scopeId:t,messageId:r,expiresAtMs:s,...a.length>0?{assistantActions:a}:{},...n.memoryActionOutcome?{memoryActionOutcome:n.memoryActionOutcome}:{},...n.calendarActionOutcome?{calendarActionOutcome:n.calendarActionOutcome}:{}}])}function Cr(e,t,n){return n.reduce((e,n)=>Sr(e,t,n),e)}function wr(e,t,n){let r=new Map(Q(n).filter(e=>e.scopeId===t).map(e=>[e.messageId,e]));return e.map(e=>{if(e.role!==`assistant`)return e;let t=r.get(e.sourceTurnId??e.id);if(!t)return e;let n=[...(e.assistantActions??[]).filter(e=>!yr(e)),...t.assistantActions??[]];return{...e,...n.length>0?{assistantActions:n}:{assistantActions:void 0},...t.memoryActionOutcome?{memoryActionOutcome:t.memoryActionOutcome}:{},...t.calendarActionOutcome?{calendarActionOutcome:t.calendarActionOutcome}:{}}})}function Tr(e,t,n,r){let i=e.find(e=>e.scopeId===t&&e.messageId===n),a=i?.assistantActions?.filter(e=>!P(e));return Q([...e.filter(e=>e.scopeId!==t||e.messageId!==n),{scopeId:t,messageId:n,expiresAtMs:Date.now()+U,...a&&a.length>0?{assistantActions:a}:{},...i?.memoryActionOutcome?{memoryActionOutcome:i.memoryActionOutcome}:{},calendarActionOutcome:r}])}function Er(e,t,n,r,i){let a=e.find(e=>e.scopeId===t&&e.messageId===n),o=[...r,...(a?.assistantActions??[]).filter(e=>!M(e))],s=e.filter(e=>e.scopeId!==t||e.messageId!==n);if(o.length===0&&!i)return s;let c=i?Date.now()+U:Math.min(Math.max(...o.map(e=>Z(e)?e.target.expiresAtMs:Date.now()+U)),Date.now()+U);return Q([...s,{scopeId:t,messageId:n,expiresAtMs:c,...o.length>0?{assistantActions:o}:{},...i?{memoryActionOutcome:i}:{},...a?.calendarActionOutcome?{calendarActionOutcome:a.calendarActionOutcome}:{}}])}function Dr(e,t,n,r){let i=e.find(e=>e.scopeId===t&&e.messageId===n),a=i?.assistantActions?.filter(e=>!Z(e));return Q([...e.filter(e=>e.scopeId!==t||e.messageId!==n),{scopeId:t,messageId:n,expiresAtMs:Date.now()+U,...a&&a.length>0?{assistantActions:a}:{},memoryActionOutcome:r,...i?.calendarActionOutcome?{calendarActionOutcome:i.calendarActionOutcome}:{}}])}function Or(e){if(!e||typeof e!=`object`)return null;let t=e,n={};typeof t.page==`string`&&(n.page=t.page),typeof t.entityType==`string`&&(n.entityType=t.entityType),typeof t.entityId==`
2string`&&(n.entityId=t.entityId),typeof t.entityLabel==`string`&&(n.entityLabel=t.entityLabel),typeof t.query==`string`&&(n.query=t.query),typeof t.uiSurface==`string`&&(n.uiSurface=t.uiSurface),t.desktopUiIntentProtocol===2&&(n.desktopUiIntentProtocol=2),t.desktopPlacementProtocol===2&&(n.desktopPlacementProtocol=2),t.desktopWidgetParameterProtocol===1&&(n.desktopWidgetParameterProtocol=1);let r=jr(t.visiblePanels);r.length>0&&(n.visiblePanels=r);let i=Mr(t.addressablePanels);i.length>0&&(n.addressablePanels=i);let a=Nr(t.desktopLinkingCapabilities);a.length>0&&(n.desktopLinkingCapabilities=a);let o=Ct(t.openCatalog);o&&(n.openCatalog=o);let s=jr(t.userAlreadySaw);s.length>0&&(n.userAlreadySaw=s),typeof t.desiredDepth==`string`&&(n.desiredDepth=t.desiredDepth);let c=kr(t.backtestResultReadiness);return c&&(n.backtestResultReadiness=c),Object.keys(n).length>0?n:null}function $(e,t){return typeof e==`string`&&e.trim()?e.trim().slice(0,t):null}function kr(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=$(t.status,40),r=$(t.title,120);if(!n||!r)return null;let i=$(t.summary,260),a=$(t.nextAction,260),o={schemaVersion:$(t.schemaVersion,80)??`website_backtest_result_readiness_context_v1`,status:n,title:r},s=$(t.source,80),c=$(t.tone,40),l=$(t.badge,80);s&&(o.source=s),c&&(o.tone=c),l&&(o.badge=l),i&&(o.summary=i),a&&(o.nextAction=a);let u=jr(t.caveats,6);u.length>0&&(o.caveats=u);let d=Ar(t.facts);return d.length>0&&(o.facts=d),o}function Ar(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e,n=$(t.label,60),r=$(t.value,100);return n&&r?[{label:n,value:r}]:[]}).slice(0,8):[]}function jr(e,t=12){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().slice(0,80)).slice(0,t):[]}function Mr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=e.handle,i=e.label;if(typeof r!=`string`||typeof i!=`string`)continue;let a=r.trim(),o=i.trim().slice(0,80);if(!a||!o)continue;let s=$(e.widgetType,80);if(t.push({handle:a,label:o,...s?{widgetType:s}:{}}),t.length>=16)break}return t}function Nr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`||Array.isArray(n))continue;let e=n,r=$(e.widgetType,80),i=Pr(e.role);if(!r||!i||typeof e.consumesInstrument!=`boolean`||typeof e.emitsInstrument!=`boolean`||typeof e.canOpenWithTicker!=`boolean`)continue;let a={widgetType:r,role:i,consumesInstrument:e.consumesInstrument,emitsInstrument:e.emitsInstrument,canOpenWithTicker:e.canOpenWithTicker,note:$(e.note,160)??``},o=Fr(e.followParam);o&&(a.followParam=o);let s=Ir(e.followPolicy);if(s&&(a.followPolicy=s),t.push(a),t.length>=16)break}return t}function Pr(e){return e===`consumer`||e===`emitter`||e===`bidirectional`?e:null}function Fr(e){return e===`ticker`||e===`path`?e:null}function Ir(e){return e===`all-linked-channels`||e===`colour-symbol-page-only`?e:null}function Lr(e){if(typeof e!=`string`)return!1;let t=Date.parse(e);return Number.isFinite(t)&&Date.now()-t<=Wn}function Rr(e){if(typeof e!=`string`)return!1;let t=Date.parse(e);return Number.isFinite(t)&&Date.now()-t<=Gn}function zr(e){if(typeof e!=`object`||!e)return null;let t=e,n=typeof t.id==`string`?t.id.trim():``,r=typeof t.label==`string`?t.label.trim():``;return!n||n.length>64||!r?null:{id:n,label:r.slice(0,160)}}function Br(e){let t={messages:[G()],context:null,sessionId:Ft,newChatSessionId:null,
2specialistSession:null,activeScope:null,globalMessagesStash:null,projectMemoryActionOverlays:[]};if(!Zn())return t;try{let n=window.localStorage.getItem(Xn(e));if(!n)return t;let r=JSON.parse(n);if(r.version!==1&&r.version!==In||!Lr(r.savedAt))return t;let i=zr(r.activeScope),a=i?X(r.globalMessagesStash):null,o=!i&&Array.isArray(r.globalMessagesStash)&&r.globalMessagesStash.length?X(r.globalMessagesStash):X(r.messages),s=Lt(r.sessionId),c=s!==null&&s!==`main`&&Lt(r.newChatSessionId)===s;return{messages:i?[]:o,context:null,sessionId:c?s:Ft,newChatSessionId:c?s:null,specialistSession:Rr(r.savedAt)?nr(r.specialistSession):null,activeScope:i,globalMessagesStash:a&&a.length>0?a:null,projectMemoryActionOverlays:Q(r.projectMemoryActionOverlays)}}catch{return t}}function Vr(e,t){if(Zn())try{let n=t.isStreaming?t.messages.filter(e=>e.role!==`assistant`||e.id!==t.streamingMessageId):t.messages,r=zr(t.activeScope),i=r?Cr(t.projectMemoryActionOverlays,r.id,n):t.projectMemoryActionOverlays,a={version:In,sessionId:t.sessionId,newChatSessionId:t.newChatSessionId,messages:r?[]:X(n),globalMessagesStash:r?X(t.globalMessagesStash??[]):null,activeScope:r,projectMemoryActionOverlays:Q(i),specialistSession:t.specialistSession},o=JSON.stringify(a);if(W===e&&qn===o)return;window.localStorage.setItem(Xn(e),JSON.stringify({...a,savedAt:new Date().toISOString()})),W=e,qn=o}catch{}}function Hr(e,t){if(e.composerDrafts===t.composerDrafts)return!1;for(let n of Object.keys(e))if(n!==`composerDrafts`&&e[n]!==t[n])return!1;return!0}function Ur(e){if(Zn())try{window.localStorage.removeItem(Xn(e)),T(e),W===e&&(W=null,qn=``)}catch{}}var Wr=u()((e,t)=>
2({currentUserId:null,identityEpoch:0,hasHydratedSession:!1,sessionId:K(),newChatSessionId:null,isOpen:!1,userDismissed:!1,messages:[G()],context:null,activeScope:null,globalMessagesStash:null,projectMemoryActionOverlays:[],projectHistorySeeded:!1,mainHistorySeeded:!1,mainHistoryHidden:!1,forkPickArmed:!1,forkDialogFrom:null,forkDraft:null,projectsRuntimeEnabled:null,pendingResumeMessage:null,isLoading:!1,isStreaming:!1,streamingMessageId:null,lastCleanAssistantId:null,activeTools:[],completedTools:[],pendingStatus:null,suggestedActions:null,pendingSuggestionChips:null,pendingSuggestionStash:null,pendingNavigation:null,pendingOpenSurfaceActions:[],pendingPanelActions:[],pendingDesktopUiIntents:[],desktopUiIntentLedger:[],activeDesktopTurnId:null,embeddedPage:null,specialistSession:null,agentTaskCards:{},agentTaskChatResultRevisions:{},agentTaskCardsRevision:0,researchResultCards:[],undoCards:[],composerPrefill:null,composerDrafts:{},agentTaskReplyTarget:null,agentTaskReplyOutcome:null,agentTaskCardOffscreenDemands:{},agentTaskCardPolls:{},jMode:`off`,open:()=>e({isOpen:!0,userDismissed:!1}),close:()=>e({isOpen:!1}),dismiss:()=>e({isOpen:!1,userDismissed:!0}),toggle:()=>e(e=>({isOpen:!e.isOpen})),hydrateForUser:n=>{if(!n){let n=t();e({currentUserId:null,identityEpoch:n.identityEpoch+(n.currentUserId?1:0),hasHydratedSe
2ssion:!1,sessionId:K(),newChatSessionId:null,messages:[G()],context:null,activeScope:null,globalMessagesStash:null,pendingSuggestionStash:null,projectMemoryActionOverlays:[],projectHistorySeeded:!1,mainHistorySeeded:!1,mainHistoryHidden:!1,projectsRuntimeEnabled:null,...q(),pendingDesktopUiIntents:[],desktopUiIntentLedger:[]});return}let r=t();if(r.currentUserId===n&&r.hasHydratedSession)return;let i=Br(n),a=r.currentUserId!==null&&r.currentUserId!==n,o=null,s=null,c=ee(n);if(c&&c.sessionId===i.sessionId){let e=O(n,i.sessionId,c.chips);e.length===0?w(n):i.activeScope===null?o=e:s=e}else c&&w(n);e({currentUserId:n,identityEpoch:r.identityEpoch+(a?1:0),hasHydratedSession:!0,sessionId:i.sessionId,newChatSessionId:i.newChatSessionId,messages:i.messages,context:i.context,activeScope:i.activeScope,globalMessagesStash:i.globalMessagesStash,projectMemoryActionOverlays:i.projectMemoryActionOverlays,projectHistorySeeded:!1,mainHistorySeeded:!1,mainHistoryHidden:!1,projectsRuntimeEnabled:null,...q(),agentTaskCards:Qn(i.messages),pendingSuggestionChips:o,pendingSuggestionStash:s,pendingDesktopUiIntents:[],desktopUiIntentLedger:[],specialistSession:i.specialistSession})},openWithContext:t=>e({isOpen:!0,userDismissed:!1,context:t}),resumeWork:(t,n)=>e({isOpen:!0,userDismissed:!1,context:t,pendingResumeMessage:n}),clearPendingResume:()=>e({pendingResumeMessage:null}),enterJMode:()=>e({jMode:`active`}),collapseJMode:()=>e(e=>e.jMode===`active`?{jMode:`capsule`}:{}),expandJMode:()=>e(e=>e.jMode===`capsule`?{jMode:`active`}:{}),endJMode:()=>e({jMode:`off`}),addMessage:(t,n,r=!1)=>e(e=>({messages:[...e.messages,{id:crypto.randomUUID(),role:t,content:n,timestamp:new Date().toISOString(),viaVoice:r}]})),setActiveScope:(t,n)=>e(e=>{if(e.isStreaming||e.isLoading||(e.activeScope?.id??null)===(t?.id??null))return{};let r=e.activeScope?Cr(e.projectMemoryActionOverlays,e.activeScope.id,e.messages):e.projectMemoryActionOverlays;t&&n?.seedMessages&&(r=Cr(r,t.id,n.seedMessages));let i={activeScope:t,projectMemoryActionOverlays:r,projectHistorySeeded:!!n?.seedMessages,...q(),pe
2ndingDesktopUiIntents:e.pendingDesktopUiIntents.map(e=>({...e,ready:!0})),desktopUiIntentLedger:e.desktopUiIntentLedger};if(t===null){let t=e.pendingSuggestionStash&&e.currentUserId?O(e.currentUserId,e.sessionId,e.pendingSuggestionStash):e.pendingSuggestionStash;return{...i,messages:e.globalMessagesStash??[G()],agentTaskCards:Qn(e.globalMessagesStash??[]),globalMessagesStash:null,pendingSuggestionChips:t&&t.length>0?t:null,pendingSuggestionStash:null}}let a=n?.clearGlobalStash?null:e.activeScope===null?e.messages:e.globalMessagesStash,o=n?.clearGlobalStash?null:e.activeScope===null?e.pendingSuggestionChips:e.pendingSuggestionStash,s=wr(n?.seedMessages??[],t.id,r);return{...i,globalMessagesStash:a??null,pendingSuggestionStash:o??null,messages:s,agentTaskCards:Qn(s)}}),renameActiveScope:(t,n)=>e(e=>{if(!e.activeScope||e.activeScope.id!==t)return{};let r=n.trim();return r?{activeScope:{...e.activeScope,label:r.slice(0,160)}}:{}}),setForkPickArmed:t=>e({forkPickArmed:t}),setProjectsRuntimeEnabled:t=>e(e=>e.projectsRuntimeEnabled===t?{}:{projectsRuntimeEnabled:t}),openForkDialog:t=>{let n=t.trim().toLowerCase();n&&e({forkDialogFrom:n})},closeForkDialog:()=>e({forkDialogFrom:null}),setForkDraft:t=>e({forkDraft:t&&t.label.trim()?{...t,label:t.label}:null}),markMessageForkedTo:(n,r)=>{let i=t(),a=n.trim().toLowerCase(),o=r.scopeId.trim(),s=r.label.trim(),c=r.conversationId.trim();if(!a||!o||!s||!c)return`bad-ref`;let l={scopeId:o,label:s.slice(0,160),conversationId:c},u=i.activeScope?i.globalMessagesStash:i.messages;if(u===null)return`no-main-transcript`;let d=!1,f=!1,p=!1,m=u.map(e=>tn(e)===a?e.role===`user`?(d=!0,e.forkedTo?.some(e=>e.scopeId===l.scopeId)?e:(p=!0,{...e,forkedTo:[...e.forkedTo??[],l]})):(f=!0,e):e);return p&&e(i.activeScope?{globalMessagesStash:m}:{messages:m}),d?`marked`:f?`role-mismatch`:`outside-window`},renameForkMarker:(t,n)=>e(e=>{let r=t.trim(),i=n.trim().slice(0,160);if(!r||!i)return{};let a=e=>{let t=!1,n=e.map(e=>e.forkedTo?.some(e=>e.scopeId===r&&e.label!==i)?(t=!0,{...e,forkedTo:e.forkedTo.map(e=>e.scopeId===r?{...e,label:i}:e)}):e);return t?n:null},o=a(e.messages),s=e.globalMessagesStash?a(e.globalMessagesStash):null;return!o&&!s?{}:{...o?{messages:o}:{},...s?{globalMessagesStash:s}:{}}}),clearForkMarker:t=>e(e=>{let n=t.trim();if(!n)return{};let r=e=>{let t=!1,r=e.map(e=>{if(!e.forkedTo?.some(e=>e.scopeId===n))return e;t=!0;let r=e.forkedTo.filter(e=>e.scopeId!==n);if(r.length>0)return{...e,forkedTo:r};let i={...e};return delete i.forkedTo,i});return t?r:null},i=r(e.messages),a=e.globalMessagesStash?r(e.globalMessagesStash):null;return!i&&!a?{}:{...i?{messages:i}:{},...a?{globalMessagesStash:a}:{}}}),seedProjectMessages:(t,n)=>e(e=>{if(e.activeScope?.id!==t||e.projectHistorySeeded)return{};if(e.messages.filter(e=>e.id!==`welcome`).length>0)return{projectHistorySeeded:!0};let r=Pt(wr(n,t,e.projectMemoryActionOverlays)),i=$n(r,e.agentTaskCards);return{projectHistorySeeded:!0,messages:r,...i===e.agentTaskCards?{}:{agentTaskCards:i,agentTaskCardsRevision:e.agentTaskCardsRevision+1}}}),adoptServerConversation:({expectedSessionId:n,serverSessionId:r,boundaryMessageId:i})=>{let a=t();if(a.sessionId!==n||r===n||a.activeScope)return!1;let o={id:`main-conversation-adopted:${r}`,role:`assistant`,content:Rt,timestamp:a.messages.find(e=>e.id===i)?.timestamp??new Date().toISOString()},s=a.messages.findIndex(e=>e.id===i);return e({sessionId:r,newChatSessionId:null,messages:s===-1?[...a.messages,o]:[...a.messages.slice(0,s),o,...a.messages.slice(s)],mainHistorySeeded:!1}),!0},seedMainConversationMessages:({incoming:t,total:n,keepFromMessageId:r,protectMessageIds:i=[],summaryAvailable:a=null,keepOlderLocal:o=!1})=>{let s=`ignored`,c={counts:null};return e(e=>{if(e.sessionId!==`main`||e.activeScope!==null)return{};if(e.mainHistoryHidden)return{mainHistorySeeded:!0};let l=Zt({local:e.messages,incoming:Pt(t),total:n,keepFromMessageId:r,protectMessageIds:[e.streamingMessageId,...i],summaryAvailable:a,keepOlderLocal:o,onNoOverlap:e=>{c.counts=e}}),u=Kt(l);if(u.length>0){s=`unchanged`;let e=o?u.filter(e=>!Jn.has(e)):u;if(e.length>0){for(let t of e)Jn.add(t);m({errorId:`WEB_MAIN_CONVERSATION_HISTORY_MERGE_DUPLICATE`,message:`Main conversation history merge produced duplicate rows`,context:{keys:e.slice(0,5),trigger:o?`background`:r?`adoption`:`hydration`}})}return{mainHistorySeeded:!0}}let d=Pt(l);if(qt(d,e.messages))return s=`unchanged`,e.mainHistorySeeded?e:{mainHistorySeeded:!0};
2s=`changed`,c.counts&&!Yn&&(Yn=!0,m({errorId:`WEB_MAIN_CONVERSATION_FOLLOW_NO_OVERLAP`,message:`A background read of the main conversation overlapped nothing the tab showed; the thread was replaced`,context:{...c.counts,window:t.length,total:n}}));let f=$n(d,e.agentTaskCards);return{mainHistorySeeded:!0,messages:d,...f===e.agentTaskCards?{}:{agentTaskCards:f,agentTaskCardsRevision:e.agentTaskCardsRevision+1}}}),s},markMainHistorySeeded:()=>e(e=>e.sessionId===`main`&&e.activeScope===null?{mainHistorySeeded:!0}:{}),startNewSession:()=>e(e=>{e.currentUserId&&Ur(e.currentUserId);let t=K();return{sessionId:t,newChatSessionId:t,messages:[G()],context:null,activeScope:null,globalMessagesStash:null,pendingSuggestionStash:null,projectMemoryActionOverlays:[],projectHistorySeeded:!1,mainHistorySeeded:!1,mainHistoryHidden:!0,...q(),pendingDesktopUiIntents:e.pendingDesktopUiIntents.map(e=>({...e,ready:!0})),desktopUiIntentLedger:e.desktopUiIntentLedger}}),clearMessages:()=>e(e=>(e.currentUserId&&Ur(e.currentUserId),{sessionId:K(),newChatSessionId:null,messages:[G()],context:null,activeScope:null,globalMessagesStash:null,pendingSuggestionStash:null,projectMemoryActionOverlays:[],projectHistorySeeded:!1,mainHistorySeeded:!1,mainHistoryHidden:!1,...q(),pendingDesktopUiIntents:e.pendingDesktopUiIntents.map(e=>({...e,ready:!0})),desktopUiIntentLedger:e.desktopUiIntentLedger})),setLoading:t=>e(e=>({isLoading:t,pendingStatus:t?e.pendingStatus:null})),setComposerPrefill:t=>e({composerPrefill:t.trim()?t:null}),takeComposerPrefill:()=>{let n=t().composerPrefill;return n!==null&&e({composerPrefill:null}),n},setComposerDraft:(n,r)=>{let i=t().composerDrafts;r.trim()?i[n]!==r&&e({composerDrafts:{...i,[n]:r}}):t().clearComposerDraft(n)},clearComposerDraft:n=>{let r=t().composerDrafts;if(!Object.hasOwn(r,n))return;let i={...r};delete i[n],e({composerDrafts:i})},clearComposerDrafts:()=>{Object.keys(t().composerDrafts).length>0&&e({composerDrafts:{}})},setAgentTaskReplyTarget:t=>e({agentTaskReplyTarget:t}),clearAgentTaskReplyTarget:(n,r)=>{let{agentTaskReplyTarget:i,agentTaskReplyOutcome:a}=t();if(n===void 0&&r===void 0){(i||a)&&e({agentTaskReplyTarget:null,agentTaskReplyOutcome:null});return}i&&(n!==void 0&&i.taskId.toLowerCase()!==n.toLowerCase()||r!==void 0&&i.responseId!==r||e({agentTaskReplyTarget:null}))},setAgentTaskReplyOutcome:t=>e(e=>t?.phase===`in_flight`&&e.agentTaskReplyOutcome?.phase===`maybe_landed`&&ue(e.agentTaskReplyOutcome,t)?{}:{agentTaskReplyOutcome:t}),reportAgentTaskDemandOffscreen:(n,r)=>{let i=t().agentTaskCardOffscreenDemands;if(r){if(i[n])return;e({agentTaskCardOffscreenDemands:{...i,[n]:!0}});return}if(!i[n])return;let a={...i};delete a[n],e({agentTaskCardOffscreenDemands:a})},reportAgentTaskCardPolling:(n,r)=>{let i=n.toLowerCase(),a=t().agentTaskCardPolls,o=a[i]??0;if(r){e({agentTaskCardPolls:{...a,[i]:o+1}});return}if(o===0)return;let s={...a};o===1?delete s[i]:s[i]=o-1,e({agentTaskCardPolls:s})},startStreaming:(t,n,r)=>e(e=>({isStreaming:!0,isLoading:!0,streamingMessageId:t,lastCleanAssistantId:null,activeTools:[],completedTools:lr([],e.activeTools),pendingStatus:null,researchResultCards:[],suggestedActions:null,pendingNavigation:null,pendingOpenSurfaceActions:[],pendingPanelActions:[],activeDesktopTurnId:r??null,messages:[...e.messages,{id:t,role:`assistant`,content:``,timestamp:new Date().toISOString(),...n&&n.length>0?{localActions:n}:{}}]})),appendStreamingText:t=>e(e=>({messages:e.messages.map(n=>n.role===`assistant`&&n.id===e.streamingMessageId?{...n,content:n.content+t}:n)})),attachStreamingAssistantActions:n=>{let r=t().streamingMessageId;return!r||n.length===0||!t().messages.some(e=>e.id===r&&e.role===`assistant`)?!1:(e(e=>{let t=null;return{messages:e.messages.map(e=>e.role!==`assistant`||e.id!==r?e:(t={...e,assistantActions:n},t)),projectMemoryActionOverlays:e.activeScope&&t?Sr(e.projectMemoryActionOverlays,e.activeScope.id,t):e.projectMemoryActionOverlays}}),!0)},settleMemoryPayloadReviewActions:(t,n,r,i=null)=>e(e=>{let a=e.activeScope?.id??null,o=(i===null&&a!==null&&br(e.messages,t)?a:null)??i;return{messages:a===o?xr(e.messages,t,n,r):e.messages,globalMessagesStash:i===null&&e.globalMessagesStash?xr(e.globalMessagesStash,t,n,r):e.globalMessagesStash,projectMemoryActionOverlays:o?Er(e.projectMemoryActionOverlays,o,t,n,r):e.projectMemoryActionOverlays}}),settleMemoryStoredActions:(t,n,r=null)=>e(e=>{let i=e.activeScope?.id??null,a=(r===null&&i!==null&&vr(e.messages,t)?i:null)??r;return{messages:i===a?_r(e.messages,t,n):e.messages,globalMessagesStash:r===null&&e.globalMessagesStash?_r(e.globalMessagesStash,t,n):e.globalMessagesStash,projectMemoryActionOverlays:a?Dr(e.projectMemoryActionOverlays,a,t,n):e.projectMemoryActionOverlays}}),settleCalendarExactActions:(t,n,r=null)=>e(e=>{let i=e.activeScope?.id??null,a=(r===null&&i!==null&&gr(e.messages,t)?i:null)??r;return{messages:i===a?hr(e.messages,t,n):e.messages,globalMessagesStash:r===null&&e.globalMessagesStash?hr(e.globalMessagesStash,t,n):e.globalMessagesStash,projectMemoryActionOverlays:a?Tr(e.projectMemoryActionOverlays,a,t,n):e.projectMemoryActionOverlays}}),stopStreaming:()=>e(e=>({isStreaming:!1,isLoading:!1,streamingMessageId:null,lastCleanAssistantId:e.streamingMessageId,activeTools:[],completedTools:ur(e.completedTools,e.activeTools),pendingStatus:null,pendingDesktopUiIntents:J(e.pendingDesktopUiIntents,e.activeDesktopTurnId),activeDesktopTurnId:null})),clearToolIndicators:()=>e(e=>({activeTools:[],pendingStatus:null,completedTools:e.completedTools.filter(e=>e.status===`error`||e.status===`cancelled`)})),failStreaming:()=>e(e=>({isStreaming:!1,isLoading:!1,streamingMessageId:null,lastCleanAssistantId:null,activeTools:[],completedTools:ur(e.completedTools,e.activeTools),pendingStatus:null,suggestedActions:null,pendingNavigation:null,pendingPanelActions:[],pendingDesktopUiIntents:J(e.pendingDesktopUiIntents,e.activeDesktopTurnId),activeDesktopTurnId:null})),cancelStreaming:()=>e(e=>({isStreaming:!1,isLoading:!1,streamingMessageId:null,lastCleanAssistantId:null,activeTools:[],completedTools:lr(e.completedTools,e.activeTools),pendingStatus:null,suggestedActions:null,pendingNavigation:null,pendingPanelActions:[],pendingDesktopUiIntents:J(e.pendingDesktopUiIntents,e.activeDesktopTurnId),activeDesktopTurnId:null})),setPendingStatus:t=>e({pendingStatus:t}),setToolStatus:(t,n)=>e(e=>{let r=ir(t,n),i=or(t,r),a=sr(e.activeTools.find(e=>i(e)),r);return{activeTools:n?[...e.activeTools.filter(e=>e.id!==r.id),r]:e.activeTools.filter(e=>!i(e)),completedTools:n?e.completedTools.filter(e=>!i(e)):cr(e.completedTools.filter(e=>!i(e)),a)}}),setSuggestedActions:t=>e({suggestedActions:t}),applyChipRow:t=>e(e=>{let n=t.filter(e=>!v(e.kind)),r=t.filter(e=>v(e.kind));r.length>0&&e.currentUserId&&(r=O(e.currentUserId,e.sessionId,r));let i={suggestedActions:n.length>0?n:null};if(r.length>0){let t=e.activeScope!==null,n=[...new Map(r.map(e=>[e.kind,e])).values()],a=new Set(n.map(e=>e.kind)),o=[...((t?e.pendingSuggestionStash:e.pendingSuggestionChips)??[]).filter(e=>!a.has(e.kind)),...n];t?i.pendingSuggestionStash=o:i.pendingSuggestionChips=o}return i}),dismissProjectSuggestion:()=>e(e=>{e.currentUserId&&D(e.currentUserId,e.sessionId,g);let t=(e.pendingSuggestionChips??[]).filter(e=>e.kind!==g);return{pendingSuggestionChips:t.length>0?t:null}}),setPendingNavigation:t=>e({pendingNavigation:t}),enqueueOpenSurfaceAction:t=>{let n=`accepted`;return e(e=>{let r=e.pendingOpenSurfaceActions.findIndex(e=>e.action.intentId===t.intentId);if(r>=0){let i=e.pendingOpenSurfaceActions[r];if(!An(i.action,t))return n=`conflict`,{};
2if(n=`replay`,i.replayRequested)return{};let a=[...e.pendingOpenSurfaceActions];return a[r]={...i,replayRequested:!0},{pendingOpenSurfaceActions:a}}return e.pendingOpenSurfaceActions.length>=Nn?(n=`overflow`,{}):{pendingOpenSurfaceActions:[...e.pendingOpenSurfaceActions,{action:t,replayRequested:!1}]}}),n},takePendingOpenSurfaceActions:()=>{let t=[];return e(e=>e.pendingOpenSurfaceActions.length===0?{}:(t=e.pendingOpenSurfaceActions,{pendingOpenSurfaceActions:[]})),t},clearPendingOpenSurfaceActions:()=>e({pendingOpenSurfaceActions:[]}),enqueuePanelAction:n=>{let r=t().pendingPanelActions;return r.length>=Mn?!1:(e({pendingPanelActions:[...r,n]}),!0)},clearPendingPanelActions:()=>e({pendingPanelActions:[]}),enqueueDesktopUiIntent:t=>{let n=`accepted`,r=Dt(t.payload);return e(e=>{let i=e.desktopUiIntentLedger.findIndex(e=>e.deliveryId===t.deliveryId);if(i>=0){let a=e.desktopUiIntentLedger[i];if(a.fingerprint!==r||a.kind!==t.payload.kind)return n=`conflict`,{};let o=e.pendingDesktopUiIntents.findIndex(e=>e.deliveryId===t.deliveryId);if(o>=0){if(n=`replay`,t.payload.kind!==`surface`)return{};let r=[...e.pendingDesktopUiIntents],i=r[o];return i.replayRequested?{}:(r[o]={...i,replayRequested:!0},{pendingDesktopUiIntents:r})}return t.payload.kind===`surface`&&a.state===`handed_off`&&!a.replayForwarded?e.pendingDesktopUiIntents.length>=64?(n=`overflow`,{}):(n=`replay`,{pendingDesktopUiIntents:[...e.pendingDesktopUiIntents,{...t,ready:t.execution===`immediate`,replayRequested:!1,replayOnly:!0}],desktopUiIntentLedger:e.desktopUiIntentLedger.map((e,t)=>t===i?{...e,replayForwarded:!0}:e)}):(n=`replay`,{})}return e.pendingDesktopUiIntents.length>=64?(n=`overflow`,{}):{pendingDesktopUiIntents:[...e.pendingDesktopUiIntents,{...t,ready:t.execution===`immediate`,replayRequested:!1}],desktopUiIntentLedger:[...e.desktopUiIntentLedger,{deliveryId:t.deliveryId,fingerprint:r,kind:t.payload.kind,state:`queued`,replayForwarded:!1}].slice(-Pn)}}),n},takeReadyDesktopUiIntents:()=>{let t=[];return e(e=>{let n=0;for(;n<e.pendingDesktopUiIntents.length&&e.pendingDesktopUiIntents[n].ready;)n+=1;if(n===0)return{};t=e.pendingDesktopUiIntents.slice(0,n);let r=new Set(t.map(e=>e.deliveryId)),i=e.desktopUiIntentLedger.map(e=>r.has(e.deliveryId)?{...e,state:`handed_off`,replayForwarded:e.replayForwarded||t.some(t=>t.deliveryId===e.deliveryId&&t.replayRequested)}:e);return{pendingDesktopUiIntents:e.pendingDesktopUiIntents.slice(n),desktopUiIntentLedger:i}}),t},markDesktopUiIntentsReady:t=>e(e=>({pendingDesktopUiIntents:J(e.pendingDesktopUiIntents,t)})),clearDesktopUiIntentDeliveryState:()=>e({pendingDesktopUiIntents:[],desktopUiIntentLedger:[],activeDesktopTurnId:null}),setEmbeddedPage:t=>e({embeddedPage:t}),setSpecialistSession:t=>e({specialistSession:t}),attachStreamingAgentTask:n=>{let r=t().streamingMessageId,i=!!(r&&t().messages.some(e=>e.id===r&&e.role===`assistant`));return e(e=>{let t=e.agentTaskCards[n.taskId],a=Vn(t,Hn(t,n,e.agentTaskChatResultRevisions[n.taskId])),o=e.messages.some(e=>(e.agentTaskIds??[]).includes(n.taskId));return{messages:i&&!o?e.messages.map(e=>{if(e.role!==`assistant`||e.id!==r)return e;let t=e.agentTaskIds??[];return t.length>=Rn?e:{...e,agentTaskIds:[...t,n.taskId]}}):e.messages,agentTaskCards:{...e.agentTaskCards,[n.taskId]:a},agentTaskCardsRevision:e.agentTaskCardsRevision+1}}),i},upsertAgentTaskCard:t=>e(e=>{let n=e.agentTaskCards[t.taskId];if(!n)return{};let r=Hn(n,t,e.agentTaskChatResultRevisions[t.taskId]);return{agentTaskCards:{...e.agentTaskCards,[t.taskId]:r},agentTaskCardsRevision:e.agentTaskCardsRevision+1}}),applyAgentTaskChatResult:t=>{let n=!1;return e(e=>{let r=t.taskId.toLowerCase(),{anchoredMessageIndex:i,sourceMessageIndex:a}=zn(e.messages,t);if(i<0&&a<0)return e;let o=Object.keys(e.agentTaskCards).find(e=>e.toLowerCase()===r),s=o?e.agentTaskCards[o]:void 0,c=e.agentTaskChatResultRevisions[r]??0,l=yn(s,t,c);if(!l||t.terminalResultRevision<c||t.terminalResultRevision===c&&s!==l&&!wn(s,l))return e;let u=i>=0?i:a,d=e.messages[u].agentTaskIds??[],f=d.map(e=>e.toLowerCase()===r?r:e);if(i<0){if(d.length>=Rn)return e;f=[...d,r]}let p=f.some((e,t)=>e!==d[t])?e.messages.map((e,t)=>t===u?{...e,agentTaskIds:f}:e):e.messages,m=s===l&&o===r,h=p===e.messages;n=!0;let g=c===t.terminalResultRevision;if(m&&h&&g)return e;let _={...e.agentTaskCards};
2return o&&o!==r&&delete _[o],_[r]=l,{messages:p,agentTaskCards:_,agentTaskChatResultRevisions:{...e.agentTaskChatResultRevisions,[r]:t.terminalResultRevision},agentTaskCardsRevision:m&&h?e.agentTaskCardsRevision:e.agentTaskCardsRevision+1}}),n},patchAgentTaskCardError:(t,n)=>e(e=>{let r=e.agentTaskCards[t];return!r||e.agentTaskChatResultRevisions[t]!==void 0?{}:{agentTaskCards:{...e.agentTaskCards,[t]:{...r,error:n||void 0,updatedAt:new Date().toISOString()}},agentTaskCardsRevision:e.agentTaskCardsRevision+1}}),patchAgentTaskCardPlan:(t,n)=>e(e=>{let r=Object.hasOwn(e.agentTaskCards,t)?t:Object.keys(e.agentTaskCards).find(e=>e.toLowerCase()===t.toLowerCase()),i=r?e.agentTaskCards[r]:void 0;if(!r||!i)return{};let a=Bn(i,{...i,plan:n.plan,planUnavailable:n.planUnavailable});return a.plan&&i.plan&&a.plan.revision<i.plan.revision||a.plan===i.plan&&a.planUnavailable===i.planUnavailable?{}:{agentTaskCards:{...e.agentTaskCards,[r]:a},agentTaskCardsRevision:e.agentTaskCardsRevision+1}}),appendResearchResultCards:t=>e(e=>{if(t.length===0)return{};let n=new Map;for(let t of e.researchResultCards)n.set(t.id,t);for(let e of t)n.set(e.id,e);return{researchResultCards:Array.from(n.values()).slice(-5)}}),appendUndoCard:t=>e(e=>{let n=new Map;for(let t of e.undoCards)n.set(t.id,t);return n.has(t.id)||n.set(t.id,t),{undoCards:Array.from(n.values()).slice(-4)}}),setUndoCardStatus:(t,n)=>e(e=>{let r=!1,i=e.undoCards.map(e=>e.id!==t||e.status===n?e:(r=!0,{...e,status:n}));return r?{undoCards:i}:{}}),closeEmbed:()=>e({embeddedPage:null})}));Wr.subscribe((e,t)=>{e.currentUserId!==t.currentUserId&&e.clearComposerDrafts()}),Wr.subscribe((e,t)=>
2{!e.currentUserId||!e.hasHydratedSession||e.isStreaming||Hr(e,t)||Vr(e.currentUserId,e)});var Gr=null,Kr=null;Wr.subscribe(e=>{let t=e.currentUserId;if(!t||!e.hasHydratedSession||e.activeScope!==null)return;let n=e.pendingSuggestionChips??[],r=n.length?O(t,e.sessionId,n):[],i=r.length?JSON.stringify({sessionId:e.sessionId,chips:r}):``;t===Gr&&i===Kr||(Gr=t,Kr=i,r.length?te(t,{sessionId:e.sessionId,chips:r}):w(t))});export{Me as A,ie as B,ke as C,M as D,P as E,ce as F,h as G,D as H,ae as I,ue as L,Te as M,se as N,je as O,le as P,k as R,ot as S,Re as T,w as U,A as V,g as W,Je as _,bn as a,ct as b,vn as c,Ft as d,zt as f,St as g,Tt as h,Sn as i,Ae as j,N as k,nn as l,kt as m,kn as n,xn as o,Mt as p,Wr as r,_n as s,nr as t,$t as u,at as v,Ue as w,st as x,it as y,re as z};

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.