@runtypelabs/persona 4.31.0 → 4.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/activity-ui.cjs +2 -2
  2. package/dist/activity-ui.d.cts +11 -3
  3. package/dist/activity-ui.d.ts +11 -3
  4. package/dist/activity-ui.js +1 -1
  5. package/dist/animations/glyph-cycle.d.cts +1 -1
  6. package/dist/animations/glyph-cycle.d.ts +1 -1
  7. package/dist/animations/wipe.d.cts +1 -1
  8. package/dist/animations/wipe.d.ts +1 -1
  9. package/dist/approval-ui.d.cts +2 -2
  10. package/dist/approval-ui.d.ts +2 -2
  11. package/dist/artifacts-ui.d.cts +3 -3
  12. package/dist/artifacts-ui.d.ts +3 -3
  13. package/dist/background-runtime.d.cts +1 -1
  14. package/dist/background-runtime.d.ts +1 -1
  15. package/dist/{chunk-BrptyKSq.js → chunk-B3l7TOOv.js} +1 -1
  16. package/dist/chunk-B4ecQzeK.js +2 -0
  17. package/dist/{chunk-BWCo3rCm.js → chunk-B_H0l3u2.js} +1 -1
  18. package/dist/{chunk-MdlQetfC.js → chunk-BbXc58OA.js} +1 -1
  19. package/dist/chunk-BkOYJ11B.js +1 -0
  20. package/dist/{chunk-DE0cSmku.js → chunk-BpjtKnGI.js} +1 -1
  21. package/dist/{chunk-Co4LmTFv.js → chunk-C9uOhfk5.js} +1 -1
  22. package/dist/{chunk-CHAwCqpk.js → chunk-CdpVP6LZ.js} +1 -1
  23. package/dist/{chunk-WA9UucGf.js → chunk-CumoXK3u.js} +1 -1
  24. package/dist/{chunk-BBtVdcKU.js → chunk-DM-OJt5q.js} +1 -1
  25. package/dist/{chunk-Cb7qy0c7.js → chunk-DNdeIFJ6.js} +1 -1
  26. package/dist/{chunk-VaT6xry9.js → chunk-DTGvDx8o.js} +1 -1
  27. package/dist/{chunk-ezlpsYGk.js → chunk-DVZ8ri1z.js} +1 -1
  28. package/dist/{chunk-DhedQnek.js → chunk-DgZZqy14.js} +1 -1
  29. package/dist/{chunk-C2IbR39s.js → chunk-UWMfWW2a.js} +1 -1
  30. package/dist/client-dispatch.js +1 -1
  31. package/dist/client-history.js +1 -1
  32. package/dist/codegen.cjs +1 -1
  33. package/dist/codegen.js +1 -1
  34. package/dist/composer-actions-runtime.d.cts +2 -2
  35. package/dist/composer-actions-runtime.d.ts +2 -2
  36. package/dist/{composer-input-C2_WizXV.d.cts → composer-input-dwg_o9Z-.d.cts} +1 -1
  37. package/dist/{composer-input-C2_WizXV.d.ts → composer-input-dwg_o9Z-.d.ts} +1 -1
  38. package/dist/{composer-store-BV6kTlKv.d.cts → composer-store-Dw7Zbqxr.d.cts} +1 -1
  39. package/dist/{composer-store-BV6kTlKv.d.ts → composer-store-Dw7Zbqxr.d.ts} +1 -1
  40. package/dist/{context-mention-manager-BfZzcydV.d.cts → context-mention-manager-D2p0-JH-.d.cts} +2 -2
  41. package/dist/{context-mention-manager-BfZzcydV.d.ts → context-mention-manager-D2p0-JH-.d.ts} +2 -2
  42. package/dist/context-mentions-inline.d.cts +2 -2
  43. package/dist/context-mentions-inline.d.ts +2 -2
  44. package/dist/context-mentions.d.cts +3 -3
  45. package/dist/context-mentions.d.ts +3 -3
  46. package/dist/{defaults-DiTeXyr3.d.cts → defaults-CjX0kKzb.d.cts} +1 -1
  47. package/dist/{defaults-DiTeXyr3.d.ts → defaults-CjX0kKzb.d.ts} +1 -1
  48. package/dist/dictation-runtime.d.cts +2 -2
  49. package/dist/dictation-runtime.d.ts +2 -2
  50. package/dist/event-stream-view.d.cts +1 -1
  51. package/dist/event-stream-view.d.ts +1 -1
  52. package/dist/{fallback-speech-engine-DZ6Of7VU.d.cts → fallback-speech-engine-DmF7MczI.d.cts} +1 -1
  53. package/dist/{fallback-speech-engine-DZ6Of7VU.d.ts → fallback-speech-engine-DmF7MczI.d.ts} +1 -1
  54. package/dist/{feature-preferences-BT549D_E.d.cts → feature-preferences-CVFDt9Xf.d.cts} +1 -1
  55. package/dist/{feature-preferences-BT549D_E.d.ts → feature-preferences-CVFDt9Xf.d.ts} +1 -1
  56. package/dist/forms-ui.d.cts +2 -2
  57. package/dist/forms-ui.d.ts +2 -2
  58. package/dist/{history-confirm-dialog-Cm4oK4am.d.cts → history-confirm-dialog-DJEXsTyE.d.cts} +1 -1
  59. package/dist/{history-confirm-dialog-Cm4oK4am.d.ts → history-confirm-dialog-DJEXsTyE.d.ts} +1 -1
  60. package/dist/history-shell.d.cts +6 -6
  61. package/dist/history-shell.d.ts +6 -6
  62. package/dist/history-view.d.cts +1 -1
  63. package/dist/history-view.d.ts +1 -1
  64. package/dist/index.cjs +11 -10
  65. package/dist/index.cjs.map +1 -1
  66. package/dist/index.d.cts +9 -9
  67. package/dist/index.d.ts +9 -9
  68. package/dist/index.global.js +1 -1
  69. package/dist/index.global.js.map +1 -1
  70. package/dist/index.js +23 -22
  71. package/dist/index.js.map +1 -1
  72. package/dist/launcher.global.js +1 -1
  73. package/dist/launcher.global.js.map +1 -1
  74. package/dist/{loading-label-runtime-loader-DmiPDkBu.d.cts → loading-label-runtime-loader-CPxnoaoi.d.cts} +1 -1
  75. package/dist/{loading-label-runtime-loader-DmiPDkBu.d.ts → loading-label-runtime-loader-CPxnoaoi.d.ts} +1 -1
  76. package/dist/loading-label-runtime.d.cts +1 -1
  77. package/dist/loading-label-runtime.d.ts +1 -1
  78. package/dist/{message-bubble-D0rosKuK.d.cts → message-bubble-CkZGlCLC.d.cts} +1 -1
  79. package/dist/{message-bubble-D0rosKuK.d.ts → message-bubble-CkZGlCLC.d.ts} +1 -1
  80. package/dist/preferences-runtime.d.cts +1 -1
  81. package/dist/preferences-runtime.d.ts +1 -1
  82. package/dist/{preview-DRU27q-X.d.cts → preview-DdUvoLb4.d.cts} +2 -2
  83. package/dist/{preview-DRU27q-X.d.ts → preview-DdUvoLb4.d.ts} +2 -2
  84. package/dist/{registry-DRk3VMFc.d.cts → registry-Dz4iHNST.d.cts} +1 -1
  85. package/dist/{registry-DRk3VMFc.d.ts → registry-Dz4iHNST.d.ts} +1 -1
  86. package/dist/{session-Dj4bOm5y.d.cts → session-Baxp9iRK.d.cts} +14 -8
  87. package/dist/{session-Dj4bOm5y.d.ts → session-Baxp9iRK.d.ts} +14 -8
  88. package/dist/session-reconnect.d.cts +2 -2
  89. package/dist/session-reconnect.d.ts +2 -2
  90. package/dist/smart-dom-reader.d.cts +1 -1
  91. package/dist/smart-dom-reader.d.ts +1 -1
  92. package/dist/theme-editor-preview.cjs +46 -45
  93. package/dist/theme-editor-preview.d.cts +1 -1
  94. package/dist/theme-editor-preview.d.ts +1 -1
  95. package/dist/theme-editor-preview.js +19 -18
  96. package/dist/theme-editor.cjs +1 -1
  97. package/dist/theme-editor.d.cts +2 -2
  98. package/dist/theme-editor.d.ts +2 -2
  99. package/dist/theme-editor.js +1 -1
  100. package/dist/theme-reference.cjs +1 -1
  101. package/dist/theme-reference.d.cts +2 -2
  102. package/dist/theme-reference.d.ts +2 -2
  103. package/dist/theme-reference.js +1 -1
  104. package/dist/{tool-loading-animation-D1MS5Ace.d.cts → tool-loading-animation-un3kA5Ur.d.cts} +1 -1
  105. package/dist/{tool-loading-animation-D1MS5Ace.d.ts → tool-loading-animation-un3kA5Ur.d.ts} +1 -1
  106. package/dist/{turn-activity-ui-CorwdlI0.d.cts → turn-activity-ui-BGNhtMcH.d.cts} +2 -2
  107. package/dist/{turn-activity-ui-CorwdlI0.d.ts → turn-activity-ui-BGNhtMcH.d.ts} +2 -2
  108. package/dist/turn-activity-ui.d.cts +1 -1
  109. package/dist/turn-activity-ui.d.ts +1 -1
  110. package/dist/{types-CSXHl5cN.d.cts → types-BOZHQIk0.d.cts} +8 -1
  111. package/dist/{types-CSXHl5cN.d.ts → types-BOZHQIk0.d.ts} +8 -1
  112. package/dist/voice-client-tools.d.cts +1 -1
  113. package/dist/voice-client-tools.d.ts +1 -1
  114. package/dist/voice-runtime.cjs +1 -1
  115. package/dist/voice-runtime.d.cts +2 -2
  116. package/dist/voice-runtime.d.ts +2 -2
  117. package/dist/voice-runtime.js +1 -1
  118. package/dist/voice-worklet-player.d.cts +2 -2
  119. package/dist/voice-worklet-player.d.ts +2 -2
  120. package/dist/{webmcp-runtime-entry-DpDN6k-6.d.cts → webmcp-runtime-entry-DuAG1_yF.d.cts} +1 -1
  121. package/dist/{webmcp-runtime-entry-DpDN6k-6.d.ts → webmcp-runtime-entry-DuAG1_yF.d.ts} +1 -1
  122. package/dist/webmcp-runtime.d.cts +1 -1
  123. package/dist/webmcp-runtime.d.ts +1 -1
  124. package/dist/widget.css +1 -1
  125. package/package.json +1 -1
  126. package/src/activity-ui.ts +23 -0
  127. package/src/components/disclosure-animation.ts +5 -0
  128. package/src/components/tool-bubble.ts +1 -0
  129. package/src/index-core.ts +1 -0
  130. package/src/styles/widget.css +18 -0
  131. package/src/types.ts +8 -0
  132. package/src/ui.footer-visibility.test.ts +54 -0
  133. package/src/ui.reveal-tool-call.test.ts +258 -0
  134. package/src/ui.ts +127 -5
  135. package/src/utils/brand.test.ts +50 -0
  136. package/src/utils/brand.ts +6 -2
  137. package/src/utils/tokens.ts +2 -1
  138. package/src/utils/tool-activity-summary.test.ts +8 -0
  139. package/src/utils/tool-activity-summary.ts +2 -1
  140. package/dist/chunk-B3OrH9Ng.js +0 -2
  141. package/dist/chunk-CjhA_5Jk.js +0 -1
@@ -1 +1 @@
1
- var e=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},t=`4.31.0`,n,r=e((()=>{n=t}));function i(e,t,n){let r=new URLSearchParams;for(let[e,t]of Object.entries(n))t!==void 0&&t!==``&&r.set(e,String(t));let i=r.toString();return`${e.clientApiBase()}/v1/client/${t}${i?`?${i}`:``}`}function a(e,t){return t||e.config.features?.history?.scope||(e.config.getIdentityProof?`verified-user`:`browser`)}async function o(e,t,n){let r=e.config.getIdentityProof;if(!r)return n&&e.setHistoryIdentityStatus(e.browserOnlyStatus()),null;n&&e.setHistoryIdentityStatus({state:`verifying`});let i;try{i=await r()??null}catch{throw n&&e.setHistoryIdentityStatus({state:`identity_provider_failed`}),new e.HistoryClientError(`identity_provider_failed`,`The identity proof provider failed`)}if(i)return i;if(t.visitor?.endUserId!=null)throw n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`authentication_required`,`This browser is bound to a signed-in user and needs a fresh identity proof`);return n&&e.setHistoryIdentityStatus({state:`browser_only`,reason:`proof_unavailable_before_binding`}),null}async function s(e,t,n,r){if(t.visitor?.endUserId!=null)return t;let i=await e.reinitWithProof(n);if(i.visitor?.identityStatus!==`admitted`||i.visitor?.endUserId==null)throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,C);return i}async function c(e,t){let n=await t.json().catch(()=>({}));return typeof n.error==`string`?n.error:typeof n.message==`string`?n.message:``}async function l(e,t,n,r){let i=t.toLowerCase();if(i.includes(`invalid_identity_proof`))throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,w);if(i.includes(`visitor token required`))throw new e.HistoryClientError(`visitor_token_missing`,T);if(i.includes(`visitor_identity_mismatch`)){if(!n)throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`visitor_identity_mismatch`,E);return e.reinitWithProof(n)}if(i.includes(`expired`)||i.includes(`not found`))return e.clearClientSession(),e.initSession();throw new e.HistoryClientError(`unauthorized`,t||`History request was not authorized`)}async function u(e,t,n){let r=await c(e,t);if(t.status===404)return new e.HistoryClientError(`not_found`,`Conversation not found`);if(t.status===429){let n=Number.parseInt(t.headers.get(`Retry-After`)??``,10);return new e.HistoryClientError(`rate_limited`,`Too many history requests`,{...Number.isFinite(n)?{retryAfterSeconds:n}:{}})}if(t.status===503&&r.includes(`identity_proof_not_admitted`))return n&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,C);if(t.status===401){let t=r.toLowerCase();return t.includes(`invalid_identity_proof`)?(n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,w)):t.includes(`visitor token required`)?new e.HistoryClientError(`visitor_token_missing`,T):t.includes(`visitor_identity_mismatch`)?new e.HistoryClientError(`visitor_identity_mismatch`,E):new e.HistoryClientError(`unauthorized`,r||`History request was not authorized`)}return new e.HistoryClientError(`request_failed`,r||`History request failed (${t.status})`)}function d(e,t,n,r){let i=t?.toLowerCase()??null;if(n){if(i===`admitted`){r&&e.setHistoryIdentityStatus({state:`verified`});return}throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),i===`ignored`?new e.HistoryClientError(`identity_contract_violation`,`Server reported an ignored identity proof on a success response`):new e.HistoryClientError(`proof_not_admitted`,`The response did not acknowledge the identity proof this request sent`)}if(i===`admitted`)throw new e.HistoryClientError(`identity_contract_violation`,`Server admitted an identity proof that was never sent`);r&&e.setHistoryIdentityStatus(e.browserOnlyStatus())}async function f(e,t,r){p(e);let f=r.trackIdentity!==!1,m=await e.initSession(),h=null;a(e,r.scope)===`verified-user`&&(h=await o(e,m,f),h&&(m=await s(e,m,h,f)));let g=e.historyInternals.visitorStore,_=!1;for(;;){let a=g?.revision()??0,o=await e.readVisitorToken();if(!o&&!r.visitorTokenOptional)throw new e.HistoryClientError(`visitor_token_missing`,`No visitor credential is stored for this browser`);let s=await fetch(i(e,t,{...r.query,sessionId:m.sessionId}),{method:r.method,headers:{"X-Persona-Version":n,...o?{"X-Visitor-Token":o}:{},...h?{"X-Identity-Proof":h}:{},...r.body===void 0?{}:{"Content-Type":`application/json`}},...r.body===void 0?{}:{body:JSON.stringify(r.body)},...r.keepalive?{keepalive:!0}:{}});if(s.status===401&&!_){_=!0,m=await l(e,await c(e,s),h,f);continue}if(!s.ok)throw await u(e,s,f);let p=s.headers.get(`X-History-Identity-Status`),v=await s.json().catch(()=>void 0);if(g&&g.revision()!==a)throw new e.HistoryClientError(`credential_changed`,`The visitor credential changed while the request was in flight`);return d(e,p,h!==null,f),v}}function p(e){if(!e.isClientTokenMode())throw Error(`Conversation history is only available in client token mode`);if(!e.isHistoryCapable())throw new e.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`)}async function m(e,t){let n=await f(e,`conversations`,{method:`GET`,query:{...t?.cursor?{cursor:t.cursor}:{},...t?.limit===void 0?{}:{limit:t.limit},...t?.targetId?{targetId:t.targetId}:{}},...t?.scope?{scope:t.scope}:{}});return{data:(Array.isArray(n?.data)?n.data:[]).map(S),nextCursor:typeof n?.nextCursor==`string`?n.nextCursor:null}}async function h(e,t,n){let r=await f(e,`conversations/${encodeURIComponent(t)}`,{method:`GET`,query:{...n?.messageCursor?{messageCursor:n.messageCursor}:{}},...n?.scope?{scope:n.scope}:{}});return{summary:S(r),messages:Array.isArray(r?.messages)?r.messages:[],nextMessageCursor:typeof r?.nextMessageCursor==`string`?r.nextMessageCursor:null,conversationRevision:typeof r?.conversationRevision==`string`?r.conversationRevision:null}}async function g(e,t,n){p(e);let r=0;for(let t of n){let n=t.displayContent.length;if(n>b)throw new e.HistoryClientError(`payload_too_large`,`displayContent exceeds the ${b} character limit`);r+=n}if(r>x)throw new e.HistoryClientError(`payload_too_large`,`Display projection batch exceeds the ${x} character limit`);await e.initSession();let i=e.historyInternals.visitorStore,a=i?.revision()??0,o=await f(e,`conversations/${encodeURIComponent(t)}/display-projections`,{method:`PATCH`,body:{messages:n},scope:`browser`,keepalive:r<=x,trackIdentity:!1}),s=typeof o?.conversationRevision==`string`?o.conversationRevision:null;return s&&e.clientSession?.conversationId===t&&(i?.revision()??0)===a&&e.historyInternals.setStoredConversationRevision?.(s),{conversationRevision:s}}async function _(e,t,n){let r=await f(e,`conversations/${encodeURIComponent(t)}`,{method:`DELETE`,...n?.scope?{scope:n.scope}:{}});return{deleted:typeof r?.deleted==`number`?r.deleted:0}}async function v(e,t){let n=await f(e,`conversations`,{method:`DELETE`,query:{...t?.targetId===void 0?{}:{targetId:t.targetId}},...t?.scope?{scope:t.scope}:{}});return{deleted:typeof n?.deleted==`number`?n.deleted:0}}async function y(e){p(e),e.setHistoryIdentityStatus({state:`resetting`});try{await f(e,`visitor/reset`,{method:`POST`,scope:`browser`,visitorTokenOptional:!0})}finally{await e.historyInternals.visitorStore?.clear(),e.setHistoryIdentityStatus(e.derivedBrowserOnly())}return{reset:!0}}var b,x,S,C,w,T,E;e((()=>{r(),b=32768,x=49152,S=e=>{let t=e??{},n=typeof t.targetId==`string`?t.targetId:null;return{id:typeof t.id==`string`?t.id:``,title:typeof t.title==`string`?t.title:``,targetId:n,preview:typeof t.preview==`string`?t.preview:null,messageCount:typeof t.messageCount==`number`?t.messageCount:0,createdAt:typeof t.createdAt==`string`?t.createdAt:``,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:``}},C=`The identity proof was not admitted; account history is unavailable`,w=`The identity proof was rejected`,T=`The request carried no visitor credential`,E=`The stored visitor belongs to a different signed-in user`}))();export{v as deleteAllConversations,_ as deleteConversation,g as finalizeDisplayProjections,h as getConversation,u as historyErrorFor,m as listConversations,c as readErrorCode,l as recoverFromUnauthorized,y as resetVisitor};
1
+ var e=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},t=`4.32.1`,n,r=e((()=>{n=t}));function i(e,t,n){let r=new URLSearchParams;for(let[e,t]of Object.entries(n))t!==void 0&&t!==``&&r.set(e,String(t));let i=r.toString();return`${e.clientApiBase()}/v1/client/${t}${i?`?${i}`:``}`}function a(e,t){return t||e.config.features?.history?.scope||(e.config.getIdentityProof?`verified-user`:`browser`)}async function o(e,t,n){let r=e.config.getIdentityProof;if(!r)return n&&e.setHistoryIdentityStatus(e.browserOnlyStatus()),null;n&&e.setHistoryIdentityStatus({state:`verifying`});let i;try{i=await r()??null}catch{throw n&&e.setHistoryIdentityStatus({state:`identity_provider_failed`}),new e.HistoryClientError(`identity_provider_failed`,`The identity proof provider failed`)}if(i)return i;if(t.visitor?.endUserId!=null)throw n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`authentication_required`,`This browser is bound to a signed-in user and needs a fresh identity proof`);return n&&e.setHistoryIdentityStatus({state:`browser_only`,reason:`proof_unavailable_before_binding`}),null}async function s(e,t,n,r){if(t.visitor?.endUserId!=null)return t;let i=await e.reinitWithProof(n);if(i.visitor?.identityStatus!==`admitted`||i.visitor?.endUserId==null)throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,C);return i}async function c(e,t){let n=await t.json().catch(()=>({}));return typeof n.error==`string`?n.error:typeof n.message==`string`?n.message:``}async function l(e,t,n,r){let i=t.toLowerCase();if(i.includes(`invalid_identity_proof`))throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,w);if(i.includes(`visitor token required`))throw new e.HistoryClientError(`visitor_token_missing`,T);if(i.includes(`visitor_identity_mismatch`)){if(!n)throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`visitor_identity_mismatch`,E);return e.reinitWithProof(n)}if(i.includes(`expired`)||i.includes(`not found`))return e.clearClientSession(),e.initSession();throw new e.HistoryClientError(`unauthorized`,t||`History request was not authorized`)}async function u(e,t,n){let r=await c(e,t);if(t.status===404)return new e.HistoryClientError(`not_found`,`Conversation not found`);if(t.status===429){let n=Number.parseInt(t.headers.get(`Retry-After`)??``,10);return new e.HistoryClientError(`rate_limited`,`Too many history requests`,{...Number.isFinite(n)?{retryAfterSeconds:n}:{}})}if(t.status===503&&r.includes(`identity_proof_not_admitted`))return n&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,C);if(t.status===401){let t=r.toLowerCase();return t.includes(`invalid_identity_proof`)?(n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,w)):t.includes(`visitor token required`)?new e.HistoryClientError(`visitor_token_missing`,T):t.includes(`visitor_identity_mismatch`)?new e.HistoryClientError(`visitor_identity_mismatch`,E):new e.HistoryClientError(`unauthorized`,r||`History request was not authorized`)}return new e.HistoryClientError(`request_failed`,r||`History request failed (${t.status})`)}function d(e,t,n,r){let i=t?.toLowerCase()??null;if(n){if(i===`admitted`){r&&e.setHistoryIdentityStatus({state:`verified`});return}throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),i===`ignored`?new e.HistoryClientError(`identity_contract_violation`,`Server reported an ignored identity proof on a success response`):new e.HistoryClientError(`proof_not_admitted`,`The response did not acknowledge the identity proof this request sent`)}if(i===`admitted`)throw new e.HistoryClientError(`identity_contract_violation`,`Server admitted an identity proof that was never sent`);r&&e.setHistoryIdentityStatus(e.browserOnlyStatus())}async function f(e,t,r){p(e);let f=r.trackIdentity!==!1,m=await e.initSession(),h=null;a(e,r.scope)===`verified-user`&&(h=await o(e,m,f),h&&(m=await s(e,m,h,f)));let g=e.historyInternals.visitorStore,_=!1;for(;;){let a=g?.revision()??0,o=await e.readVisitorToken();if(!o&&!r.visitorTokenOptional)throw new e.HistoryClientError(`visitor_token_missing`,`No visitor credential is stored for this browser`);let s=await fetch(i(e,t,{...r.query,sessionId:m.sessionId}),{method:r.method,headers:{"X-Persona-Version":n,...o?{"X-Visitor-Token":o}:{},...h?{"X-Identity-Proof":h}:{},...r.body===void 0?{}:{"Content-Type":`application/json`}},...r.body===void 0?{}:{body:JSON.stringify(r.body)},...r.keepalive?{keepalive:!0}:{}});if(s.status===401&&!_){_=!0,m=await l(e,await c(e,s),h,f);continue}if(!s.ok)throw await u(e,s,f);let p=s.headers.get(`X-History-Identity-Status`),v=await s.json().catch(()=>void 0);if(g&&g.revision()!==a)throw new e.HistoryClientError(`credential_changed`,`The visitor credential changed while the request was in flight`);return d(e,p,h!==null,f),v}}function p(e){if(!e.isClientTokenMode())throw Error(`Conversation history is only available in client token mode`);if(!e.isHistoryCapable())throw new e.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`)}async function m(e,t){let n=await f(e,`conversations`,{method:`GET`,query:{...t?.cursor?{cursor:t.cursor}:{},...t?.limit===void 0?{}:{limit:t.limit},...t?.targetId?{targetId:t.targetId}:{}},...t?.scope?{scope:t.scope}:{}});return{data:(Array.isArray(n?.data)?n.data:[]).map(S),nextCursor:typeof n?.nextCursor==`string`?n.nextCursor:null}}async function h(e,t,n){let r=await f(e,`conversations/${encodeURIComponent(t)}`,{method:`GET`,query:{...n?.messageCursor?{messageCursor:n.messageCursor}:{}},...n?.scope?{scope:n.scope}:{}});return{summary:S(r),messages:Array.isArray(r?.messages)?r.messages:[],nextMessageCursor:typeof r?.nextMessageCursor==`string`?r.nextMessageCursor:null,conversationRevision:typeof r?.conversationRevision==`string`?r.conversationRevision:null}}async function g(e,t,n){p(e);let r=0;for(let t of n){let n=t.displayContent.length;if(n>b)throw new e.HistoryClientError(`payload_too_large`,`displayContent exceeds the ${b} character limit`);r+=n}if(r>x)throw new e.HistoryClientError(`payload_too_large`,`Display projection batch exceeds the ${x} character limit`);await e.initSession();let i=e.historyInternals.visitorStore,a=i?.revision()??0,o=await f(e,`conversations/${encodeURIComponent(t)}/display-projections`,{method:`PATCH`,body:{messages:n},scope:`browser`,keepalive:r<=x,trackIdentity:!1}),s=typeof o?.conversationRevision==`string`?o.conversationRevision:null;return s&&e.clientSession?.conversationId===t&&(i?.revision()??0)===a&&e.historyInternals.setStoredConversationRevision?.(s),{conversationRevision:s}}async function _(e,t,n){let r=await f(e,`conversations/${encodeURIComponent(t)}`,{method:`DELETE`,...n?.scope?{scope:n.scope}:{}});return{deleted:typeof r?.deleted==`number`?r.deleted:0}}async function v(e,t){let n=await f(e,`conversations`,{method:`DELETE`,query:{...t?.targetId===void 0?{}:{targetId:t.targetId}},...t?.scope?{scope:t.scope}:{}});return{deleted:typeof n?.deleted==`number`?n.deleted:0}}async function y(e){p(e),e.setHistoryIdentityStatus({state:`resetting`});try{await f(e,`visitor/reset`,{method:`POST`,scope:`browser`,visitorTokenOptional:!0})}finally{await e.historyInternals.visitorStore?.clear(),e.setHistoryIdentityStatus(e.derivedBrowserOnly())}return{reset:!0}}var b,x,S,C,w,T,E;e((()=>{r(),b=32768,x=49152,S=e=>{let t=e??{},n=typeof t.targetId==`string`?t.targetId:null;return{id:typeof t.id==`string`?t.id:``,title:typeof t.title==`string`?t.title:``,targetId:n,preview:typeof t.preview==`string`?t.preview:null,messageCount:typeof t.messageCount==`number`?t.messageCount:0,createdAt:typeof t.createdAt==`string`?t.createdAt:``,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:``}},C=`The identity proof was not admitted; account history is unavailable`,w=`The identity proof was rejected`,T=`The request carried no visitor credential`,E=`The stored visitor belongs to a different signed-in user`}))();export{v as deleteAllConversations,_ as deleteConversation,g as finalizeDisplayProjections,h as getConversation,u as historyErrorFor,m as listConversations,c as readErrorCode,l as recoverFromUnauthorized,y as resetVisitor};
package/dist/codegen.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.31.0/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.32.1/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
2
2
  const jsonSource = (message as any).rawContent || text || message.content;
3
3
  if (!jsonSource || typeof jsonSource !== 'string') return null;
4
4
  let cleanJson = jsonSource
package/dist/codegen.js CHANGED
@@ -1,4 +1,4 @@
1
- function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.31.0/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
1
+ function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.32.1/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
2
2
  const jsonSource = (message as any).rawContent || text || message.content;
3
3
  if (!jsonSource || typeof jsonSource !== 'string') return null;
4
4
  let cleanJson = jsonSource
@@ -1,7 +1,7 @@
1
- import { Mr as ComposerState, Sr as ComposerModeGroup, Ta as renderLucideIcon, ar as ComposerActionOverflowConfig, br as ComposerMode, ir as ComposerActionContributionContext, jo as AgentWidgetPlugin, k as AgentWidgetConfig, or as ComposerActionPlacement, pr as ComposerCustomAction, rr as ComposerActionContext, sr as ComposerActionPresentation, tr as ComposerAction, wr as ComposerModel } from "./types-CSXHl5cN.cjs";
1
+ import { Cr as ComposerModeGroup, Ea as renderLucideIcon, Mo as AgentWidgetPlugin, Nr as ComposerState, Tr as ComposerModel, ar as ComposerActionContributionContext, cr as ComposerActionPresentation, ir as ComposerActionContext, k as AgentWidgetConfig, mr as ComposerCustomAction, nr as ComposerAction, or as ComposerActionOverflowConfig, sr as ComposerActionPlacement, xr as ComposerMode } from "./types-BOZHQIk0.cjs";
2
2
  import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-C1mRjLgW.cjs";
3
3
  import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-BkW-8MnD.cjs";
4
- import { t as createComposerStore } from "./composer-store-BV6kTlKv.cjs";
4
+ import { t as createComposerStore } from "./composer-store-Dw7Zbqxr.cjs";
5
5
  //#region src/components/composer-bindings.d.ts
6
6
  /**
7
7
  * Atomic composer surface bindings.
@@ -1,7 +1,7 @@
1
- import { Mr as ComposerState, Sr as ComposerModeGroup, Ta as renderLucideIcon, ar as ComposerActionOverflowConfig, br as ComposerMode, ir as ComposerActionContributionContext, jo as AgentWidgetPlugin, k as AgentWidgetConfig, or as ComposerActionPlacement, pr as ComposerCustomAction, rr as ComposerActionContext, sr as ComposerActionPresentation, tr as ComposerAction, wr as ComposerModel } from "./types-CSXHl5cN.js";
1
+ import { Cr as ComposerModeGroup, Ea as renderLucideIcon, Mo as AgentWidgetPlugin, Nr as ComposerState, Tr as ComposerModel, ar as ComposerActionContributionContext, cr as ComposerActionPresentation, ir as ComposerActionContext, k as AgentWidgetConfig, mr as ComposerCustomAction, nr as ComposerAction, or as ComposerActionOverflowConfig, sr as ComposerActionPlacement, xr as ComposerMode } from "./types-BOZHQIk0.js";
2
2
  import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-C1mRjLgW.js";
3
3
  import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-BkW-8MnD.js";
4
- import { t as createComposerStore } from "./composer-store-BV6kTlKv.js";
4
+ import { t as createComposerStore } from "./composer-store-Dw7Zbqxr.js";
5
5
  //#region src/components/composer-bindings.d.ts
6
6
  /**
7
7
  * Atomic composer surface bindings.
@@ -1,4 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-CSXHl5cN.cjs";
1
+ import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/utils/mention-trigger.d.ts
3
3
  /**
4
4
  * Pure `@`-trigger detection for the composer mention menu.
@@ -1,4 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-CSXHl5cN.js";
1
+ import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BOZHQIk0.js";
2
2
  //#region src/utils/mention-trigger.d.ts
3
3
  /**
4
4
  * Pure `@`-trigger detection for the composer mention menu.
@@ -1,4 +1,4 @@
1
- import { Ar as ComposerQuote, B as AgentWidgetContextMentionRef, Fr as ComposerSubmissionSnapshot, Mr as ComposerState, ur as ComposerAttachmentState } from "./types-CSXHl5cN.cjs";
1
+ import { B as AgentWidgetContextMentionRef, Ir as ComposerSubmissionSnapshot, Nr as ComposerState, dr as ComposerAttachmentState, jr as ComposerQuote } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/utils/composer-store.d.ts
3
3
  type ComposerStateListener = (state: Readonly<ComposerState>) => void;
4
4
  interface ComposerStore {
@@ -1,4 +1,4 @@
1
- import { Ar as ComposerQuote, B as AgentWidgetContextMentionRef, Fr as ComposerSubmissionSnapshot, Mr as ComposerState, ur as ComposerAttachmentState } from "./types-CSXHl5cN.js";
1
+ import { B as AgentWidgetContextMentionRef, Ir as ComposerSubmissionSnapshot, Nr as ComposerState, dr as ComposerAttachmentState, jr as ComposerQuote } from "./types-BOZHQIk0.js";
2
2
  //#region src/utils/composer-store.d.ts
3
3
  type ComposerStateListener = (state: Readonly<ComposerState>) => void;
4
4
  interface ComposerStore {
@@ -1,5 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Lr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-CSXHl5cN.cjs";
2
- import "./composer-input-C2_WizXV.cjs";
1
+ import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Rr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-BOZHQIk0.cjs";
2
+ import "./composer-input-dwg_o9Z-.cjs";
3
3
  //#region src/components/context-mention-chip.d.ts
4
4
  type MentionChipStatus = "resolving" | "ready" | "error";
5
5
  interface MentionChipParts {
@@ -1,5 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Lr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-CSXHl5cN.js";
2
- import "./composer-input-C2_WizXV.js";
1
+ import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Rr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-BOZHQIk0.js";
2
+ import "./composer-input-dwg_o9Z-.js";
3
3
  //#region src/components/context-mention-chip.d.ts
4
4
  type MentionChipStatus = "resolving" | "ready" | "error";
5
5
  interface MentionChipParts {
@@ -1,5 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef } from "./types-CSXHl5cN.cjs";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.cjs";
1
+ import { B as AgentWidgetContextMentionRef } from "./types-BOZHQIk0.cjs";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.cjs";
3
3
  //#region src/context-mentions-inline-entry.d.ts
4
4
  interface InlineComposerMountContext {
5
5
  /** The live composer textarea to migrate from (value + caret + look). */
@@ -1,5 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef } from "./types-CSXHl5cN.js";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.js";
1
+ import { B as AgentWidgetContextMentionRef } from "./types-BOZHQIk0.js";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.js";
3
3
  //#region src/context-mentions-inline-entry.d.ts
4
4
  interface InlineComposerMountContext {
5
5
  /** The live composer textarea to migrate from (value + caret + look). */
@@ -1,6 +1,6 @@
1
- import { B as AgentWidgetContextMentionRef, Ct as AgentWidgetMessage, F as AgentWidgetContextMentionConfig, k as AgentWidgetConfig } from "./types-CSXHl5cN.cjs";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.cjs";
3
- import { n as MentionSubmitBundle, t as ContextMentionDraft } from "./context-mention-manager-BfZzcydV.cjs";
1
+ import { B as AgentWidgetContextMentionRef, Ct as AgentWidgetMessage, F as AgentWidgetContextMentionConfig, k as AgentWidgetConfig } from "./types-BOZHQIk0.cjs";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.cjs";
3
+ import { n as MentionSubmitBundle, t as ContextMentionDraft } from "./context-mention-manager-D2p0-JH-.cjs";
4
4
  //#region src/utils/context-mention-controller.d.ts
5
5
  /**
6
6
  * Outcome of dispatching an inline slash command at submit (Slack-style). The UI
@@ -1,6 +1,6 @@
1
- import { B as AgentWidgetContextMentionRef, Ct as AgentWidgetMessage, F as AgentWidgetContextMentionConfig, k as AgentWidgetConfig } from "./types-CSXHl5cN.js";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.js";
3
- import { n as MentionSubmitBundle, t as ContextMentionDraft } from "./context-mention-manager-BfZzcydV.js";
1
+ import { B as AgentWidgetContextMentionRef, Ct as AgentWidgetMessage, F as AgentWidgetContextMentionConfig, k as AgentWidgetConfig } from "./types-BOZHQIk0.js";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.js";
3
+ import { n as MentionSubmitBundle, t as ContextMentionDraft } from "./context-mention-manager-D2p0-JH-.js";
4
4
  //#region src/utils/context-mention-controller.d.ts
5
5
  /**
6
6
  * Outcome of dispatching an inline slash command at submit (Slack-style). The UI
@@ -1,4 +1,4 @@
1
- import { Do as ThemeValidationResult, co as ComponentTokens, do as DeepPartial, ho as PersonaTheme, k as AgentWidgetConfig, uo as CreateThemeOptions, vo as ResolvedToken, xo as SemanticTokens } from "./types-CSXHl5cN.cjs";
1
+ import { Oo as ThemeValidationResult, So as SemanticTokens, do as CreateThemeOptions, fo as DeepPartial, go as PersonaTheme, k as AgentWidgetConfig, lo as ComponentTokens, yo as ResolvedToken } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/utils/tokens.d.ts
3
3
  declare const DEFAULT_PALETTE: {
4
4
  spacing: Record<0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20 | 24 | 32 | 40 | 48 | 56 | 64, string>;
@@ -1,4 +1,4 @@
1
- import { Do as ThemeValidationResult, co as ComponentTokens, do as DeepPartial, ho as PersonaTheme, k as AgentWidgetConfig, uo as CreateThemeOptions, vo as ResolvedToken, xo as SemanticTokens } from "./types-CSXHl5cN.js";
1
+ import { Oo as ThemeValidationResult, So as SemanticTokens, do as CreateThemeOptions, fo as DeepPartial, go as PersonaTheme, k as AgentWidgetConfig, lo as ComponentTokens, yo as ResolvedToken } from "./types-BOZHQIk0.js";
2
2
  //#region src/utils/tokens.d.ts
3
3
  declare const DEFAULT_PALETTE: {
4
4
  spacing: Record<0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20 | 24 | 32 | 40 | 48 | 56 | 64, string>;
@@ -1,5 +1,5 @@
1
- import { Br as DictationProviderConfig, Hr as DictationRenderHandle, Ta as renderLucideIcon, Ur as DictationState, Vr as DictationRenderContext, jo as AgentWidgetPlugin, k as AgentWidgetConfig, zr as DictationPhase } from "./types-CSXHl5cN.cjs";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.cjs";
1
+ import { Br as DictationPhase, Ea as renderLucideIcon, Hr as DictationRenderContext, Mo as AgentWidgetPlugin, Ur as DictationRenderHandle, Vr as DictationProviderConfig, Wr as DictationState, k as AgentWidgetConfig } from "./types-BOZHQIk0.cjs";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.cjs";
3
3
  import { r as attachTooltip } from "./tooltip-BkW-8MnD.cjs";
4
4
  //#region src/voice/dictation.d.ts
5
5
  type DictationCallbacks = {
@@ -1,5 +1,5 @@
1
- import { Br as DictationProviderConfig, Hr as DictationRenderHandle, Ta as renderLucideIcon, Ur as DictationState, Vr as DictationRenderContext, jo as AgentWidgetPlugin, k as AgentWidgetConfig, zr as DictationPhase } from "./types-CSXHl5cN.js";
2
- import { t as ComposerInputCapability } from "./composer-input-C2_WizXV.js";
1
+ import { Br as DictationPhase, Ea as renderLucideIcon, Hr as DictationRenderContext, Mo as AgentWidgetPlugin, Ur as DictationRenderHandle, Vr as DictationProviderConfig, Wr as DictationState, k as AgentWidgetConfig } from "./types-BOZHQIk0.js";
2
+ import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.js";
3
3
  import { r as attachTooltip } from "./tooltip-BkW-8MnD.js";
4
4
  //#region src/voice/dictation.d.ts
5
5
  type DictationCallbacks = {
@@ -1,4 +1,4 @@
1
- import { Ri as SSEEventRecord, jo as AgentWidgetPlugin, k as AgentWidgetConfig } from "./types-CSXHl5cN.cjs";
1
+ import { Mo as AgentWidgetPlugin, k as AgentWidgetConfig, zi as SSEEventRecord } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/utils/scroll-animation.d.ts
3
3
  /** Explicit jump only: automatic following keeps its separate policy and animation. */
4
4
  declare function createScrollToLatest(element: HTMLElement, keyboardScope: HTMLElement, onFrame: () => void, onComplete: () => void, onCancel: () => void): {
@@ -1,4 +1,4 @@
1
- import { Ri as SSEEventRecord, jo as AgentWidgetPlugin, k as AgentWidgetConfig } from "./types-CSXHl5cN.js";
1
+ import { Mo as AgentWidgetPlugin, k as AgentWidgetConfig, zi as SSEEventRecord } from "./types-BOZHQIk0.js";
2
2
  //#region src/utils/scroll-animation.d.ts
3
3
  /** Explicit jump only: automatic following keeps its separate policy and animation. */
4
4
  declare function createScrollToLatest(element: HTMLElement, keyboardScope: HTMLElement, onFrame: () => void, onComplete: () => void, onCancel: () => void): {
@@ -1,4 +1,4 @@
1
- import { Hi as SpeechCallbacks, Ui as SpeechEngine, Wi as SpeechRequest } from "./types-CSXHl5cN.cjs";
1
+ import { Gi as SpeechRequest, Ui as SpeechCallbacks, Wi as SpeechEngine } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/voice/fallback-speech-engine.d.ts
3
3
  interface FallbackSpeechEngineOptions {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Hi as SpeechCallbacks, Ui as SpeechEngine, Wi as SpeechRequest } from "./types-CSXHl5cN.js";
1
+ import { Gi as SpeechRequest, Ui as SpeechCallbacks, Wi as SpeechEngine } from "./types-BOZHQIk0.js";
2
2
  //#region src/voice/fallback-speech-engine.d.ts
3
3
  interface FallbackSpeechEngineOptions {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Ci as PersonaArtifactDisplayMode, Oi as PersonaArtifactKind, Sa as WidgetPreferenceSlice, _ as AgentWidgetArtifactsFeature, ji as PersonaArtifactRecord, k as AgentWidgetConfig, nt as AgentWidgetFeatureFlags, wi as PersonaArtifactDisplayModeInput } from "./types-CSXHl5cN.cjs";
1
+ import { Ca as WidgetPreferenceSlice, Mi as PersonaArtifactRecord, Ti as PersonaArtifactDisplayModeInput, _ as AgentWidgetArtifactsFeature, k as AgentWidgetConfig, ki as PersonaArtifactKind, nt as AgentWidgetFeatureFlags, wi as PersonaArtifactDisplayMode } from "./types-BOZHQIk0.cjs";
2
2
  //#region src/utils/artifact-display.d.ts
3
3
  /** Canonicalize the deprecated `"card"` alias to `"collapsed"`. */
4
4
  declare function canonicalArtifactDisplayMode(mode: PersonaArtifactDisplayModeInput): PersonaArtifactDisplayMode;
@@ -1,4 +1,4 @@
1
- import { Ci as PersonaArtifactDisplayMode, Oi as PersonaArtifactKind, Sa as WidgetPreferenceSlice, _ as AgentWidgetArtifactsFeature, ji as PersonaArtifactRecord, k as AgentWidgetConfig, nt as AgentWidgetFeatureFlags, wi as PersonaArtifactDisplayModeInput } from "./types-CSXHl5cN.js";
1
+ import { Ca as WidgetPreferenceSlice, Mi as PersonaArtifactRecord, Ti as PersonaArtifactDisplayModeInput, _ as AgentWidgetArtifactsFeature, k as AgentWidgetConfig, ki as PersonaArtifactKind, nt as AgentWidgetFeatureFlags, wi as PersonaArtifactDisplayMode } from "./types-BOZHQIk0.js";
2
2
  //#region src/utils/artifact-display.d.ts
3
3
  /** Canonicalize the deprecated `"card"` alias to `"collapsed"`. */
4
4
  declare function canonicalArtifactDisplayMode(mode: PersonaArtifactDisplayModeInput): PersonaArtifactDisplayMode;
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, k as AgentWidgetConfig } from "./types-CSXHl5cN.cjs";
2
- import { t as AgentWidgetSession } from "./session-Dj4bOm5y.cjs";
1
+ import { Ct as AgentWidgetMessage, k as AgentWidgetConfig } from "./types-BOZHQIk0.cjs";
2
+ import { t as AgentWidgetSession } from "./session-Baxp9iRK.cjs";
3
3
  //#region src/components/forms.d.ts
4
4
  export declare const formDefinitions: Record<string, {
5
5
  title: string;
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, k as AgentWidgetConfig } from "./types-CSXHl5cN.js";
2
- import { t as AgentWidgetSession } from "./session-Dj4bOm5y.js";
1
+ import { Ct as AgentWidgetMessage, k as AgentWidgetConfig } from "./types-BOZHQIk0.js";
2
+ import { t as AgentWidgetSession } from "./session-Baxp9iRK.js";
3
3
  //#region src/components/forms.d.ts
4
4
  export declare const formDefinitions: Record<string, {
5
5
  title: string;
@@ -1,4 +1,4 @@
1
- import { Ma as HistoryProvider, ct as AgentWidgetHistoryListAction, ka as HistoryOperationContext, lt as AgentWidgetHistoryRenderActions, ot as AgentWidgetHistoryCopy, ri as HistoryIdentityStatus, ti as HistoryConversationSummary } from "./types-CSXHl5cN.cjs";
1
+ import { Aa as HistoryOperationContext, Na as HistoryProvider, ct as AgentWidgetHistoryListAction, ii as HistoryIdentityStatus, lt as AgentWidgetHistoryRenderActions, ni as HistoryConversationSummary, ot as AgentWidgetHistoryCopy } from "./types-BOZHQIk0.cjs";
2
2
  import { n as TooltipOptions, t as TooltipHandle } from "./tooltip-BkW-8MnD.cjs";
3
3
  //#region src/components/history-view/copy.d.ts
4
4
  type HistoryViewCopyInput = AgentWidgetHistoryCopy;
@@ -1,4 +1,4 @@
1
- import { Ma as HistoryProvider, ct as AgentWidgetHistoryListAction, ka as HistoryOperationContext, lt as AgentWidgetHistoryRenderActions, ot as AgentWidgetHistoryCopy, ri as HistoryIdentityStatus, ti as HistoryConversationSummary } from "./types-CSXHl5cN.js";
1
+ import { Aa as HistoryOperationContext, Na as HistoryProvider, ct as AgentWidgetHistoryListAction, ii as HistoryIdentityStatus, lt as AgentWidgetHistoryRenderActions, ni as HistoryConversationSummary, ot as AgentWidgetHistoryCopy } from "./types-BOZHQIk0.js";
2
2
  import { n as TooltipOptions, t as TooltipHandle } from "./tooltip-BkW-8MnD.js";
3
3
  //#region src/components/history-view/copy.d.ts
4
4
  type HistoryViewCopyInput = AgentWidgetHistoryCopy;
@@ -1,10 +1,10 @@
1
- import { Bo as parseCombo, Ct as AgentWidgetMessage, Ii as ResolvedHistoryPresentation, Ma as HistoryProvider, Na as HistoryProviderError, Ro as ariaCombo, Ta as renderLucideIcon, ai as HistoryReturnSurface, ei as HistoryConversationPatch, en as AgentWidgetStorageAdapter, jo as AgentWidgetPlugin, k as AgentWidgetConfig, oi as HistoryScope, q as AgentWidgetControllerEventMap, ti as HistoryConversationSummary, ya as WidgetHistoryInternals, zo as formatCombo } from "./types-CSXHl5cN.cjs";
2
- import { a as applyBubbleGeometry, u as getBubbleClasses } from "./message-bubble-D0rosKuK.cjs";
3
- import { Ct as AttachmentManager, h as PanelElements, i as SessionHistoryState, nn as HistoryClientError, r as SessionHistoryError, t as AgentWidgetSession, vt as isDockedMountMode } from "./session-Dj4bOm5y.cjs";
4
- import { p as resolveThemeDefaults } from "./defaults-DiTeXyr3.cjs";
1
+ import { Bo as formatCombo, Ct as AgentWidgetMessage, Ea as renderLucideIcon, Li as ResolvedHistoryPresentation, Mo as AgentWidgetPlugin, Na as HistoryProvider, Pa as HistoryProviderError, Vo as parseCombo, ba as WidgetHistoryInternals, k as AgentWidgetConfig, ni as HistoryConversationSummary, oi as HistoryReturnSurface, q as AgentWidgetControllerEventMap, si as HistoryScope, ti as HistoryConversationPatch, tn as AgentWidgetStorageAdapter, zo as ariaCombo } from "./types-BOZHQIk0.cjs";
2
+ import { a as applyBubbleGeometry, u as getBubbleClasses } from "./message-bubble-CkZGlCLC.cjs";
3
+ import { Ct as AttachmentManager, h as PanelElements, i as SessionHistoryState, nn as HistoryClientError, r as SessionHistoryError, t as AgentWidgetSession, vt as isDockedMountMode } from "./session-Baxp9iRK.cjs";
4
+ import { p as resolveThemeDefaults } from "./defaults-CjX0kKzb.cjs";
5
5
  import { r as attachTooltip } from "./tooltip-BkW-8MnD.cjs";
6
- import { t as createComposerStore } from "./composer-store-BV6kTlKv.cjs";
7
- import { n as HistoryViewHandle, r as HistoryViewOptions, t as showHistoryConfirm } from "./history-confirm-dialog-Cm4oK4am.cjs";
6
+ import { t as createComposerStore } from "./composer-store-Dw7Zbqxr.cjs";
7
+ import { n as HistoryViewHandle, r as HistoryViewOptions, t as showHistoryConfirm } from "./history-confirm-dialog-DJEXsTyE.cjs";
8
8
  //#region src/components/launcher.d.ts
9
9
  interface LauncherButton {
10
10
  element: HTMLButtonElement;
@@ -1,10 +1,10 @@
1
- import { Bo as parseCombo, Ct as AgentWidgetMessage, Ii as ResolvedHistoryPresentation, Ma as HistoryProvider, Na as HistoryProviderError, Ro as ariaCombo, Ta as renderLucideIcon, ai as HistoryReturnSurface, ei as HistoryConversationPatch, en as AgentWidgetStorageAdapter, jo as AgentWidgetPlugin, k as AgentWidgetConfig, oi as HistoryScope, q as AgentWidgetControllerEventMap, ti as HistoryConversationSummary, ya as WidgetHistoryInternals, zo as formatCombo } from "./types-CSXHl5cN.js";
2
- import { a as applyBubbleGeometry, u as getBubbleClasses } from "./message-bubble-D0rosKuK.js";
3
- import { Ct as AttachmentManager, h as PanelElements, i as SessionHistoryState, nn as HistoryClientError, r as SessionHistoryError, t as AgentWidgetSession, vt as isDockedMountMode } from "./session-Dj4bOm5y.js";
4
- import { p as resolveThemeDefaults } from "./defaults-DiTeXyr3.js";
1
+ import { Bo as formatCombo, Ct as AgentWidgetMessage, Ea as renderLucideIcon, Li as ResolvedHistoryPresentation, Mo as AgentWidgetPlugin, Na as HistoryProvider, Pa as HistoryProviderError, Vo as parseCombo, ba as WidgetHistoryInternals, k as AgentWidgetConfig, ni as HistoryConversationSummary, oi as HistoryReturnSurface, q as AgentWidgetControllerEventMap, si as HistoryScope, ti as HistoryConversationPatch, tn as AgentWidgetStorageAdapter, zo as ariaCombo } from "./types-BOZHQIk0.js";
2
+ import { a as applyBubbleGeometry, u as getBubbleClasses } from "./message-bubble-CkZGlCLC.js";
3
+ import { Ct as AttachmentManager, h as PanelElements, i as SessionHistoryState, nn as HistoryClientError, r as SessionHistoryError, t as AgentWidgetSession, vt as isDockedMountMode } from "./session-Baxp9iRK.js";
4
+ import { p as resolveThemeDefaults } from "./defaults-CjX0kKzb.js";
5
5
  import { r as attachTooltip } from "./tooltip-BkW-8MnD.js";
6
- import { t as createComposerStore } from "./composer-store-BV6kTlKv.js";
7
- import { n as HistoryViewHandle, r as HistoryViewOptions, t as showHistoryConfirm } from "./history-confirm-dialog-Cm4oK4am.js";
6
+ import { t as createComposerStore } from "./composer-store-Dw7Zbqxr.js";
7
+ import { n as HistoryViewHandle, r as HistoryViewOptions, t as showHistoryConfirm } from "./history-confirm-dialog-DJEXsTyE.js";
8
8
  //#region src/components/launcher.d.ts
9
9
  interface LauncherButton {
10
10
  element: HTMLButtonElement;
@@ -1,3 +1,3 @@
1
- import { a as HistoryViewPresentation, c as HistoryListState, d as ResolvedHistoryViewCopy, f as resolveHistoryViewCopy, i as HistoryViewPendingAction, l as HISTORY_VIEW_COPY_DEFAULTS, n as HistoryViewHandle, o as createHistoryView, r as HistoryViewOptions, s as HistoryListErrorReason, t as showHistoryConfirm, u as HistoryViewCopyInput } from "./history-confirm-dialog-Cm4oK4am.cjs";
1
+ import { a as HistoryViewPresentation, c as HistoryListState, d as ResolvedHistoryViewCopy, f as resolveHistoryViewCopy, i as HistoryViewPendingAction, l as HISTORY_VIEW_COPY_DEFAULTS, n as HistoryViewHandle, o as createHistoryView, r as HistoryViewOptions, s as HistoryListErrorReason, t as showHistoryConfirm, u as HistoryViewCopyInput } from "./history-confirm-dialog-DJEXsTyE.cjs";
2
2
  export { HISTORY_VIEW_COPY_DEFAULTS, type HistoryListErrorReason, type HistoryListState, type HistoryViewCopyInput, type HistoryViewHandle, type HistoryViewOptions, type HistoryViewPendingAction, type HistoryViewPresentation, type ResolvedHistoryViewCopy, createHistoryView, resolveHistoryViewCopy, showHistoryConfirm };
3
3
  export {}
@@ -1,3 +1,3 @@
1
- import { a as HistoryViewPresentation, c as HistoryListState, d as ResolvedHistoryViewCopy, f as resolveHistoryViewCopy, i as HistoryViewPendingAction, l as HISTORY_VIEW_COPY_DEFAULTS, n as HistoryViewHandle, o as createHistoryView, r as HistoryViewOptions, s as HistoryListErrorReason, t as showHistoryConfirm, u as HistoryViewCopyInput } from "./history-confirm-dialog-Cm4oK4am.js";
1
+ import { a as HistoryViewPresentation, c as HistoryListState, d as ResolvedHistoryViewCopy, f as resolveHistoryViewCopy, i as HistoryViewPendingAction, l as HISTORY_VIEW_COPY_DEFAULTS, n as HistoryViewHandle, o as createHistoryView, r as HistoryViewOptions, s as HistoryListErrorReason, t as showHistoryConfirm, u as HistoryViewCopyInput } from "./history-confirm-dialog-DJEXsTyE.js";
2
2
  export { HISTORY_VIEW_COPY_DEFAULTS, type HistoryListErrorReason, type HistoryListState, type HistoryViewCopyInput, type HistoryViewHandle, type HistoryViewOptions, type HistoryViewPendingAction, type HistoryViewPresentation, type ResolvedHistoryViewCopy, createHistoryView, resolveHistoryViewCopy, showHistoryConfirm };
3
3
  export {}