@axiom-lattice/react-sdk 4.1.5 → 4.2.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 (67) hide show
  1. package/dist/{AgentDetailSideApp-EBS7FGQS.mjs → AgentDetailSideApp-KHGPPCTW.mjs} +7 -7
  2. package/dist/{AgentGovernanceWorkbench-IHYEFXEU.mjs → AgentGovernanceWorkbench-S2P5SJ4W.mjs} +8 -8
  3. package/dist/{MessageGraph-CU7TPJJI.mjs → MessageGraph-2M35QCOU.mjs} +2 -2
  4. package/dist/{ReactChart-INAST7XW.mjs → ReactChart-2TWY4MWP.mjs} +2 -2
  5. package/dist/{TasksSideApp-IN46CQ4D.mjs → TasksSideApp-ISKFSZLV.mjs} +3 -3
  6. package/dist/{TeamWorkspace-IH6F5QYO.mjs → TeamWorkspace-72CCNRRZ.mjs} +2 -2
  7. package/dist/{TopologyRuntimeView-LR3YQQIU.mjs → TopologyRuntimeView-J2QQF3FO.mjs} +3 -3
  8. package/dist/{WorkflowAutomationView-GWBROX7L.mjs → WorkflowAutomationView-7NCBXAPY.mjs} +5 -5
  9. package/dist/agent-chat-loader.js +1 -1
  10. package/dist/{chunk-4PV75HKR.mjs → chunk-6Z4RFBLQ.mjs} +2 -2
  11. package/dist/{chunk-DTZKYPER.mjs → chunk-7QQKL657.mjs} +5 -2
  12. package/dist/chunk-7QQKL657.mjs.map +1 -0
  13. package/dist/{chunk-PBKPYK27.mjs → chunk-B6UZYI3Q.mjs} +10 -7
  14. package/dist/chunk-B6UZYI3Q.mjs.map +1 -0
  15. package/dist/{chunk-O7PTPMW2.mjs → chunk-BGJ4TPAL.mjs} +2 -2
  16. package/dist/{chunk-MSQON5ZR.mjs → chunk-GAR3NRH5.mjs} +3749 -3069
  17. package/dist/chunk-GAR3NRH5.mjs.map +1 -0
  18. package/dist/{chunk-YRPBTDOU.mjs → chunk-MC5D34IK.mjs} +4 -4
  19. package/dist/{chunk-EOBSSJ2W.mjs → chunk-PB2L6UII.mjs} +4 -4
  20. package/dist/{chunk-R4XGQTDJ.mjs → chunk-R65ETB3L.mjs} +2 -2
  21. package/dist/{embed-page-AgentDetailSideApp-YPN3NDEA.js → embed-page-AgentDetailSideApp-ONXG4B3D.js} +1 -1
  22. package/dist/{embed-page-AgentGovernanceWorkbench-FAZQNPAM.js → embed-page-AgentGovernanceWorkbench-LCIQ5UF3.js} +1 -1
  23. package/dist/{embed-page-MessageGraph-CEOPX4GM.js → embed-page-MessageGraph-P7DBTZCL.js} +1 -1
  24. package/dist/{embed-page-ReactChart-NZAYQOQH.js → embed-page-ReactChart-XS7D26VP.js} +1 -1
  25. package/dist/{embed-page-SkillFlow-TPESM4DI.js → embed-page-SkillFlow-HPH37PZH.js} +1 -1
  26. package/dist/{embed-page-TasksSideApp-3EAPMISU.js → embed-page-TasksSideApp-MQTUCJO4.js} +1 -1
  27. package/dist/{embed-page-TeamWorkspace-HB7ER45L.js → embed-page-TeamWorkspace-7T2HRXLG.js} +1 -1
  28. package/dist/{embed-page-TopologyRuntimeView-O7JPR22B.js → embed-page-TopologyRuntimeView-PU2D7VZ7.js} +1 -1
  29. package/dist/{embed-page-WorkflowAutomationView-OUXOBHXC.js → embed-page-WorkflowAutomationView-ST76M33F.js} +1 -1
  30. package/dist/{embed-page-chunk-ZTRCHYWV.js → embed-page-chunk-4ZSGPIBZ.js} +1 -1
  31. package/dist/{embed-page-chunk-4SKSUBXL.js → embed-page-chunk-BRETUPSG.js} +110 -109
  32. package/dist/{embed-page-chunk-U6JBLAYD.js → embed-page-chunk-LE6OFJ7R.js} +1 -1
  33. package/dist/{embed-page-chunk-KFUAWYJ7.js → embed-page-chunk-T25T2YE6.js} +1 -1
  34. package/dist/{embed-page-chunk-ILNGM4RN.js → embed-page-chunk-U6SL5TG6.js} +89 -38
  35. package/dist/embed-page-chunk-VRV57DFE.js +466 -0
  36. package/dist/embed-page-chunk-YPV4BAWI.js +245 -0
  37. package/dist/{embed-page-chunk-6C2UZV63.js → embed-page-chunk-Z4S4OYA4.js} +1 -1
  38. package/dist/{embed-page-chunk-TQPMRDLI.js → embed-page-chunk-ZKJ7Z7P3.js} +1 -1
  39. package/dist/{embed-page-chunk-RTVQJYET.js → embed-page-chunk-ZXFZANZM.js} +1 -1
  40. package/dist/embed-page.js +3 -3
  41. package/dist/index.d.mts +14 -2
  42. package/dist/index.d.ts +14 -2
  43. package/dist/index.js +5529 -4812
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.mjs +8 -8
  46. package/dist/web-app.js +4 -1
  47. package/dist/web-app.js.map +1 -1
  48. package/dist/web-app.mjs +1 -1
  49. package/package.json +3 -3
  50. package/dist/chunk-DTZKYPER.mjs.map +0 -1
  51. package/dist/chunk-MSQON5ZR.mjs.map +0 -1
  52. package/dist/chunk-PBKPYK27.mjs.map +0 -1
  53. package/dist/embed-page-chunk-5XKUKLZQ.js +0 -467
  54. package/dist/embed-page-chunk-GCDGRO6A.js +0 -245
  55. /package/dist/{AgentDetailSideApp-EBS7FGQS.mjs.map → AgentDetailSideApp-KHGPPCTW.mjs.map} +0 -0
  56. /package/dist/{AgentGovernanceWorkbench-IHYEFXEU.mjs.map → AgentGovernanceWorkbench-S2P5SJ4W.mjs.map} +0 -0
  57. /package/dist/{MessageGraph-CU7TPJJI.mjs.map → MessageGraph-2M35QCOU.mjs.map} +0 -0
  58. /package/dist/{ReactChart-INAST7XW.mjs.map → ReactChart-2TWY4MWP.mjs.map} +0 -0
  59. /package/dist/{TasksSideApp-IN46CQ4D.mjs.map → TasksSideApp-ISKFSZLV.mjs.map} +0 -0
  60. /package/dist/{TeamWorkspace-IH6F5QYO.mjs.map → TeamWorkspace-72CCNRRZ.mjs.map} +0 -0
  61. /package/dist/{TopologyRuntimeView-LR3YQQIU.mjs.map → TopologyRuntimeView-J2QQF3FO.mjs.map} +0 -0
  62. /package/dist/{WorkflowAutomationView-GWBROX7L.mjs.map → WorkflowAutomationView-7NCBXAPY.mjs.map} +0 -0
  63. /package/dist/{chunk-4PV75HKR.mjs.map → chunk-6Z4RFBLQ.mjs.map} +0 -0
  64. /package/dist/{chunk-O7PTPMW2.mjs.map → chunk-BGJ4TPAL.mjs.map} +0 -0
  65. /package/dist/{chunk-YRPBTDOU.mjs.map → chunk-MC5D34IK.mjs.map} +0 -0
  66. /package/dist/{chunk-EOBSSJ2W.mjs.map → chunk-PB2L6UII.mjs.map} +0 -0
  67. /package/dist/{chunk-R4XGQTDJ.mjs.map → chunk-R65ETB3L.mjs.map} +0 -0
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  AgentDetailView
3
- } from "./chunk-MSQON5ZR.mjs";
3
+ } from "./chunk-GAR3NRH5.mjs";
4
4
  import {
5
5
  ProjectScopeProvider_default
6
- } from "./chunk-R4XGQTDJ.mjs";
7
- import "./chunk-O7PTPMW2.mjs";
8
- import "./chunk-DTZKYPER.mjs";
9
- import "./chunk-4PV75HKR.mjs";
6
+ } from "./chunk-R65ETB3L.mjs";
7
+ import "./chunk-BGJ4TPAL.mjs";
8
+ import "./chunk-7QQKL657.mjs";
9
+ import "./chunk-6Z4RFBLQ.mjs";
10
10
  import "./chunk-7FWCKQNB.mjs";
11
11
  import {
12
12
  useSideAppOpener
13
- } from "./chunk-PBKPYK27.mjs";
13
+ } from "./chunk-B6UZYI3Q.mjs";
14
14
  import "./chunk-NSGSGYM7.mjs";
15
15
  import "./chunk-MFAPAXZ2.mjs";
16
16
  import "./chunk-XC6TB6PI.mjs";
@@ -157,4 +157,4 @@ var AgentDetailSideApp = ({ data }) => {
157
157
  export {
158
158
  AgentDetailSideApp
159
159
  };
160
- //# sourceMappingURL=AgentDetailSideApp-EBS7FGQS.mjs.map
160
+ //# sourceMappingURL=AgentDetailSideApp-KHGPPCTW.mjs.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  AgentGovernanceWorkbench
3
- } from "./chunk-EOBSSJ2W.mjs";
4
- import "./chunk-MSQON5ZR.mjs";
5
- import "./chunk-R4XGQTDJ.mjs";
6
- import "./chunk-O7PTPMW2.mjs";
7
- import "./chunk-DTZKYPER.mjs";
8
- import "./chunk-4PV75HKR.mjs";
3
+ } from "./chunk-PB2L6UII.mjs";
4
+ import "./chunk-GAR3NRH5.mjs";
5
+ import "./chunk-R65ETB3L.mjs";
6
+ import "./chunk-BGJ4TPAL.mjs";
7
+ import "./chunk-7QQKL657.mjs";
8
+ import "./chunk-6Z4RFBLQ.mjs";
9
9
  import "./chunk-7FWCKQNB.mjs";
10
- import "./chunk-PBKPYK27.mjs";
10
+ import "./chunk-B6UZYI3Q.mjs";
11
11
  import "./chunk-NSGSGYM7.mjs";
12
12
  import "./chunk-MFAPAXZ2.mjs";
13
13
  import "./chunk-XC6TB6PI.mjs";
@@ -17,4 +17,4 @@ import "./chunk-SH6YXSHR.mjs";
17
17
  export {
18
18
  AgentGovernanceWorkbench
19
19
  };
20
- //# sourceMappingURL=AgentGovernanceWorkbench-IHYEFXEU.mjs.map
20
+ //# sourceMappingURL=AgentGovernanceWorkbench-S2P5SJ4W.mjs.map
@@ -9,7 +9,7 @@ import {
9
9
  buildTraceGraph,
10
10
  collapseOlderPhases,
11
11
  formatToolName
12
- } from "./chunk-PBKPYK27.mjs";
12
+ } from "./chunk-B6UZYI3Q.mjs";
13
13
  import "./chunk-NSGSGYM7.mjs";
14
14
  import {
15
15
  Handle,
@@ -376,4 +376,4 @@ var MessageGraph = ({
376
376
  export {
377
377
  MessageGraph
378
378
  };
379
- //# sourceMappingURL=MessageGraph-CU7TPJJI.mjs.map
379
+ //# sourceMappingURL=MessageGraph-2M35QCOU.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GenericDataTable
3
- } from "./chunk-PBKPYK27.mjs";
3
+ } from "./chunk-B6UZYI3Q.mjs";
4
4
  import "./chunk-NSGSGYM7.mjs";
5
5
  import "./chunk-HMBSH53V.mjs";
6
6
  import "./chunk-SH6YXSHR.mjs";
@@ -452,4 +452,4 @@ var ReactChart = (props) => {
452
452
  export {
453
453
  ReactChart
454
454
  };
455
- //# sourceMappingURL=ReactChart-INAST7XW.mjs.map
455
+ //# sourceMappingURL=ReactChart-2TWY4MWP.mjs.map
@@ -7,7 +7,7 @@ import {
7
7
  TaskOutlineList,
8
8
  buildTaskGraph,
9
9
  useOpenTaskChat
10
- } from "./chunk-4PV75HKR.mjs";
10
+ } from "./chunk-6Z4RFBLQ.mjs";
11
11
  import {
12
12
  WorkflowGraphBase,
13
13
  applyDagreLayout
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  FilterSelect,
17
17
  useWorkspaceContext
18
- } from "./chunk-PBKPYK27.mjs";
18
+ } from "./chunk-B6UZYI3Q.mjs";
19
19
  import "./chunk-NSGSGYM7.mjs";
20
20
  import {
21
21
  Handle,
@@ -1094,4 +1094,4 @@ var TasksSideApp = ({ statusFilter, getOwnerLabel, showProjectFilter = true, ini
1094
1094
  export {
1095
1095
  TasksSideApp
1096
1096
  };
1097
- //# sourceMappingURL=TasksSideApp-IN46CQ4D.mjs.map
1097
+ //# sourceMappingURL=TasksSideApp-ISKFSZLV.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  Chating,
4
4
  MailboxPanel,
5
5
  useAgentState
6
- } from "./chunk-PBKPYK27.mjs";
6
+ } from "./chunk-B6UZYI3Q.mjs";
7
7
  import "./chunk-NSGSGYM7.mjs";
8
8
  import {
9
9
  Background,
@@ -2409,4 +2409,4 @@ export {
2409
2409
  TeamWorkspace,
2410
2410
  TeamWorkspace_default as default
2411
2411
  };
2412
- //# sourceMappingURL=TeamWorkspace-IH6F5QYO.mjs.map
2412
+ //# sourceMappingURL=TeamWorkspace-72CCNRRZ.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WorkflowCanvas,
3
3
  expandWorkflow
4
- } from "./chunk-O7PTPMW2.mjs";
4
+ } from "./chunk-BGJ4TPAL.mjs";
5
5
  import "./chunk-7FWCKQNB.mjs";
6
6
  import {
7
7
  MDResponse
8
- } from "./chunk-PBKPYK27.mjs";
8
+ } from "./chunk-B6UZYI3Q.mjs";
9
9
  import "./chunk-NSGSGYM7.mjs";
10
10
  import {
11
11
  Background,
@@ -811,4 +811,4 @@ var TopologyRuntimeView = () => {
811
811
  export {
812
812
  TopologyRuntimeView
813
813
  };
814
- //# sourceMappingURL=TopologyRuntimeView-LR3YQQIU.mjs.map
814
+ //# sourceMappingURL=TopologyRuntimeView-J2QQF3FO.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WorkflowAutomationView,
3
3
  WorkflowAutomationView_default
4
- } from "./chunk-YRPBTDOU.mjs";
5
- import "./chunk-R4XGQTDJ.mjs";
6
- import "./chunk-O7PTPMW2.mjs";
4
+ } from "./chunk-MC5D34IK.mjs";
5
+ import "./chunk-R65ETB3L.mjs";
6
+ import "./chunk-BGJ4TPAL.mjs";
7
7
  import "./chunk-7FWCKQNB.mjs";
8
- import "./chunk-PBKPYK27.mjs";
8
+ import "./chunk-B6UZYI3Q.mjs";
9
9
  import "./chunk-NSGSGYM7.mjs";
10
10
  import "./chunk-XC6TB6PI.mjs";
11
11
  import "./chunk-XAGSG72Y.mjs";
@@ -15,4 +15,4 @@ export {
15
15
  WorkflowAutomationView,
16
16
  WorkflowAutomationView_default as default
17
17
  };
18
- //# sourceMappingURL=WorkflowAutomationView-GWBROX7L.mjs.map
18
+ //# sourceMappingURL=WorkflowAutomationView-7NCBXAPY.mjs.map
@@ -1 +1 @@
1
- "use strict";var __axiomEmbedInternal=(()=>{var k="axiom-web-app-embed";var T=["axiom:ready","axiom:unread","axiom:error","axiom:message"];function P(e,n){return{source:k,version:1,type:e,payload:n}}function R(e,n){if(typeof e!="object"||e===null)return null;let o=e;return o.source!==k||o.version!==1||typeof o.type!="string"||!n.includes(o.type)?null:{type:o.type,payload:o.payload}}var W=/^[A-Za-z0-9._:@-]{1,128}$/,F=640,m="default";function g(e,n,o){let t=e[n];return typeof t=="number"&&Number.isFinite(t)?t:o}function f(e,n){let o=e[n];return typeof o=="string"&&o.length>0?o:null}function O(e,n,o){let t=e.offset;return typeof t!="object"||t===null?o:g(t,n,o)}function D(e,n,o,t){let l=f(e,"webAppId")??n("web-app-id");if(l===null)return null;let d=f(e,"gatewayUrl")??n("gateway-url"),c=(d!==null?d:o).replace(/\/+$/,"");return{id:t,base:c,webAppId:l,mode:e.mode==="inline"||n("mode")==="inline"?"inline":"bubble",containerSelector:f(e,"containerSelector")??n("container-selector"),bubble:!(e.bubble===!1||n("bubble")==="false"),width:g(e,"width",380),height:g(e,"height",640),position:e.position==="bottom-left"||n("position")==="bottom-left"?"bottom-left":"bottom-right",offsetX:g(e,"offsetX",O(e,"x",20)),offsetY:g(e,"offsetY",O(e,"y",20)),zIndex:g(e,"zIndex",9999),userId:f(e,"userId")??n("user-id")}}function K(){return window.innerWidth<=F}function U(e){let n=null,o=null,t=!1,l=!1,d=[],c=[],S=[];function h(i,r){let a=n;if(a===null)return;let b=a.contentWindow;b!==null&&b.postMessage(P(i,r),new URL(a.src).origin)}function E(i,r){let a=Math.min(e.width,Math.max(window.innerWidth-e.offsetX*2,240)),b=Math.min(e.height,Math.max(window.innerHeight-e.offsetY*2,240));Object.assign(i.style,K()?{position:"fixed",inset:"0px",width:"100%",height:"100%",border:"none",display:r?"block":"none",zIndex:String(e.zIndex)}:{position:"fixed",bottom:`${e.offsetY}px`,left:e.position==="bottom-left"?`${e.offsetX}px`:"auto",right:e.position==="bottom-right"?`${e.offsetX}px`:"auto",width:`${a}px`,height:`${b}px`,border:"none",borderRadius:"16px",boxShadow:"0 12px 40px rgba(23, 32, 51, 0.24)",background:"#ffffff",display:r?"block":"none",zIndex:String(e.zIndex)})}function p(){if(n!==null)return n;let i=document.createElement("iframe");if(i.src=`${e.base}/api/web-apps/${encodeURIComponent(e.webAppId)}/chat?mode=embed`,i.title="Agent chat",i.setAttribute("aria-label","Agent chat"),e.mode==="inline"){let r=e.containerSelector!==null?document.querySelector(e.containerSelector):null;r===null&&console.warn(`[AxiomChat] inline container not found: ${e.containerSelector??"(none)"}`),Object.assign(i.style,{width:"100%",height:"100%",border:"none",display:"block"}),(r??document.body).appendChild(i)}else E(i,t),document.body.appendChild(i);return i.addEventListener("load",()=>{h("axiom:hello",{webAppId:e.webAppId})}),n=i,i}function y(i){for(let r of c)r(i)}function v(){o!==null&&o.setAttribute("aria-expanded",t?"true":"false")}function x(){if(e.mode==="bubble"){let i=p();t=!0,E(i,!0)}else p();v()}function w(){e.mode!=="bubble"||n===null||(t=!1,E(n,!1),v())}function A(){t?w():x()}function B(i){if(typeof i!="object"||i===null)return!1;let r=i;return(r.role==="human"||r.role==="ai")&&typeof r.content=="string"}function M(i){if(typeof i!="string")return;let r=i.trim();if(r.length===0){y({code:"INVALID_REQUEST",message:"AxiomChat.sendMessage requires non-empty text."});return}n===null&&p(),h("axiom:send",{text:r})}function I(i){l?i():d.push(i)}function C(i){c.push(i)}function _(i){S.push(i)}function X(){if(e.bubble===!1||e.mode!=="bubble")return;let i=document.createElement("button");i.type="button",i.setAttribute("aria-label","Agent chat"),i.setAttribute("aria-expanded","false"),Object.assign(i.style,{position:"fixed",bottom:`${e.offsetY}px`,left:e.position==="bottom-left"?`${e.offsetX}px`:"auto",right:e.position==="bottom-right"?`${e.offsetX}px`:"auto",width:"56px",height:"56px",border:"none",borderRadius:"9999px",background:"#4f46e5",color:"#ffffff",cursor:"pointer",boxShadow:"0 8px 24px rgba(23, 32, 51, 0.28)",zIndex:String(e.zIndex+1),display:"flex",alignItems:"center",justifyContent:"center"}),i.innerHTML='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 5.5A2.5 2.5 0 0 1 6.5 3h11A2.5 2.5 0 0 1 20 5.5v8a2.5 2.5 0 0 1-2.5 2.5H9l-4.05 3.24A1 1 0 0 1 3.2 18.4V5.5Z" fill="currentColor"/></svg>',i.addEventListener("click",()=>{A()}),o=i,document.body.appendChild(i)}function j(i){let r=R(i,T);if(r!==null){if(r.type==="axiom:ready"){if(e.userId!==null&&W.test(e.userId)){h("axiom:identity",{userId:e.userId}),l=!0;for(let a of d)a()}else y({code:"USER_ID_REQUIRED",message:"A stable userId must be configured for the embed."});return}if(r.type==="axiom:error"){let a=r.payload;y({code:typeof a.code=="string"?a.code:"UNKNOWN",message:typeof a.message=="string"?a.message:"Unknown error"});return}if(r.type==="axiom:message"){if(!B(r.payload))return;for(let a of S)a(r.payload)}}}function V(){X(),e.mode==="inline"&&p()}let q={id:e.id,open:x,hide:w,toggle:A,sendMessage:M,onReady:I,onMessage:_,onError:C};return{settings:e,handle:q,getPanel:()=>n,activate:V,open:x,hide:w,toggle:A,sendMessage:M,registerReady:I,registerError:C,registerMessage:_,handleIncoming:j}}var u=new Map;function Q(e){let n=e,o=2;for(;u.has(n);)n=`${e}-${o}`,o+=1;return n}function Y(e){if(typeof e!="object"||e===null)throw new Error("[AxiomChat] mount(settings) requires a settings object with a webAppId.");let n=e;if(f(n,"webAppId")===null)throw new Error("[AxiomChat] mount(settings) requires a webAppId.");let o=f(n,"id");if(o!==null){let c=u.get(o);if(c!==void 0)return console.warn(`[AxiomChat] mount: instance id "${o}" is already in use; returning the existing instance.`),c.handle}let t=o??Q(f(n,"webAppId")??""),l=D(n,()=>null,z,t);if(l===null)throw new Error("[AxiomChat] mount(settings) requires a webAppId.");let d=U(l);return u.set(t,d),d.activate(),d.handle}function Z(e){return u.get(e)?.handle}function s(e){let n=u.get(m);if(n===void 0){console.warn("[AxiomChat] not configured");return}e(n)}function L(e){if(Array.isArray(e)===!1)return;let[n,o]=e;if(n==="mount"){try{Y(o)}catch(t){console.warn("[AxiomChat] mount failed:",t)}return}if(n==="onReady"&&typeof o=="function"){s(t=>t.registerReady(o));return}if(n==="onError"&&typeof o=="function"){s(t=>t.registerError(o));return}if(n==="onMessage"&&typeof o=="function"){s(t=>t.registerMessage(o));return}if(n==="sendMessage"&&typeof o=="string"){s(t=>t.sendMessage(o));return}n==="open"?s(t=>t.open()):n==="hide"?s(t=>t.hide()):n==="toggle"&&s(t=>t.toggle())}function H(e){for(let n of u.values()){let o=n.getPanel();if(o!==null&&e.origin===new URL(o.src).origin&&!(e.source===null||e.source!==o.contentWindow)){n.handleIncoming(e.data);return}}}var G="__axiomChatMessageListener";function J(){let e=window,n=e[G];typeof n=="function"&&window.removeEventListener("message",n),e[G]=H,window.addEventListener("message",H)}var N=document.currentScript,$=N?.src||null,z=$!==null?new URL($).origin:window.location.origin;function ee(){let e=o=>{let t=N?.getAttribute(`data-${o}`);return typeof t=="string"&&t.length>0?t:null},n=window.AxiomChatSettings??{};return D(n,e,z,m)}function ne(){let e=ee();e!==null?u.set(m,U(e)):console.warn("[AxiomChat] Missing webAppId (set window.AxiomChatSettings.webAppId or data-web-app-id)."),J();let n=(t=>{t!==void 0&&L(t)});n.open=()=>s(t=>t.open()),n.hide=()=>s(t=>t.hide()),n.toggle=()=>s(t=>t.toggle()),n.sendMessage=t=>s(l=>l.sendMessage(t)),n.mount=Y,n.get=Z;let o=window.AxiomChat;if(Array.isArray(o))for(let t of o)L(t);window.AxiomChat=n,u.get(m)?.activate()}ne();})();
1
+ "use strict";var __axiomEmbedInternal=(()=>{var _="axiom-web-app-embed";var T=["axiom:ready","axiom:unread","axiom:error","axiom:message"];function R(e,n){return{source:_,version:1,type:e,payload:n}}var ee=6,ne=40,te=500;function oe(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=e,t=Object.keys(n);return t.length!==2||!t.includes("label")||!t.includes("text")?!1:typeof n.label=="string"&&n.label.length>=1&&n.label.length<=ne&&typeof n.text=="string"&&n.text.length>=1&&n.text.length<=te}function O(e){if(!Array.isArray(e))return[];let n=[];for(let t of e){if(n.length>=ee)break;oe(t)&&n.push({label:t.label,text:t.text})}return n}function L(e,n){if(typeof e!="object"||e===null)return null;let t=e;return t.source!==_||t.version!==1||typeof t.type!="string"||!n.includes(t.type)?null:{type:t.type,payload:t.payload}}var ie=/^[A-Za-z0-9._:@-]{1,128}$/,re=640,C=56,ae=12,h="default";function m(e,n,t){let o=e[n];return typeof o=="number"&&Number.isFinite(o)?o:t}function u(e,n){let t=e[n];return typeof t=="string"&&t.length>0?t:null}function q(e,n,t){let o=e.offset;return typeof o!="object"||o===null?t:m(o,n,t)}function se(e){if(e===void 0)return;if(!Array.isArray(e)){console.warn("[AxiomChat] settings.quicks must be an array; ignoring it.");return}let n=O(e);return n.length!==e.length&&console.warn(`[AxiomChat] settings.quicks: kept ${n.length} of ${e.length} entries (max 6; label 1-40; text 1-500).`),n}function Q(e,n,t,o){let l=u(e,"webAppId")??n("web-app-id");if(l===null)return null;let d=u(e,"gatewayUrl")??n("gateway-url"),f=(d!==null?d:t).replace(/\/+$/,"");return{id:o,base:f,webAppId:l,mode:e.mode==="inline"||n("mode")==="inline"?"inline":"bubble",containerSelector:u(e,"containerSelector")??n("container-selector"),bubble:!(e.bubble===!1||n("bubble")==="false"),width:m(e,"width",380),height:m(e,"height",640),position:e.position==="bottom-left"||n("position")==="bottom-left"?"bottom-left":"bottom-right",offsetX:m(e,"offsetX",q(e,"x",20)),offsetY:m(e,"offsetY",q(e,"y",20)),zIndex:m(e,"zIndex",9999),userId:u(e,"userId")??n("user-id"),welcome:u(e,"welcome"),quicks:se(e.quicks)}}function H(){return window.innerWidth<=re}function z(e){let n=null,t=null,o=!1,l=!1,d=[],f=[],M=[];function g(i,r){let a=n;if(a===null)return;let p=a.contentWindow;p!==null&&p.postMessage(R(i,r),new URL(a.src).origin)}function j(){return e.bubble!==!1&&e.mode==="bubble"}function E(i,r){let a=e.offsetY+(j()?C+ae:0),p=Math.min(e.width,Math.max(window.innerWidth-e.offsetX*2,240)),J=Math.min(e.height,Math.max(window.innerHeight-a-e.offsetY,240));Object.assign(i.style,H()?{position:"fixed",inset:"0px",width:"100%",height:"100%",border:"none",display:r?"block":"none",zIndex:String(e.zIndex)}:{position:"fixed",bottom:`${a}px`,left:e.position==="bottom-left"?`${e.offsetX}px`:"auto",right:e.position==="bottom-right"?`${e.offsetX}px`:"auto",width:`${p}px`,height:`${J}px`,border:"none",borderRadius:"16px",boxShadow:"0 12px 40px rgba(23, 32, 51, 0.24)",background:"#ffffff",display:r?"block":"none",zIndex:String(e.zIndex)})}function X(){let i=t;if(i===null)return;let r=e.position==="bottom-right"?{right:`${e.offsetX}px`,left:"auto"}:{left:`${e.offsetX}px`,right:"auto"};if(H()&&o){Object.assign(i.style,{...r,top:`${e.offsetY}px`,bottom:"auto"});return}Object.assign(i.style,{...r,top:"auto",bottom:`${e.offsetY}px`})}function b(){if(n!==null)return n;let i=document.createElement("iframe");if(i.src=`${e.base}/api/web-apps/${encodeURIComponent(e.webAppId)}/chat?mode=embed`,i.title="Agent chat",i.setAttribute("aria-label","Agent chat"),e.mode==="inline"){let r=e.containerSelector!==null?document.querySelector(e.containerSelector):null;r===null&&console.warn(`[AxiomChat] inline container not found: ${e.containerSelector??"(none)"}`),Object.assign(i.style,{width:"100%",height:"100%",border:"none",display:"block"}),(r??document.body).appendChild(i)}else E(i,o),document.body.appendChild(i);return i.addEventListener("load",()=>{g("axiom:hello",{webAppId:e.webAppId})}),n=i,i}function x(i){for(let r of f)r(i)}function y(){t!==null&&(t.setAttribute("aria-expanded",o?"true":"false"),X())}function w(){if(e.mode==="bubble"){let i=b();o=!0,E(i,!0)}else b();y()}function A(){e.mode!=="bubble"||n===null||(o=!1,E(n,!1),y())}function k(){o?A():w()}function V(i){if(typeof i!="object"||i===null)return!1;let r=i;return(r.role==="human"||r.role==="ai")&&typeof r.content=="string"}function S(i){if(typeof i!="string")return;let r=i.trim();if(r.length===0){x({code:"INVALID_REQUEST",message:"AxiomChat.sendMessage requires non-empty text."});return}n===null&&b(),g("axiom:send",{text:r})}function I(i){l?i():d.push(i)}function v(i){f.push(i)}function P(i){M.push(i)}function W(){if(e.bubble===!1||e.mode!=="bubble")return;let i=document.createElement("button");i.type="button",i.setAttribute("aria-label","Agent chat"),i.setAttribute("aria-expanded","false"),Object.assign(i.style,{position:"fixed",width:`${C}px`,height:`${C}px`,border:"none",borderRadius:"9999px",background:"#4f46e5",color:"#ffffff",cursor:"pointer",boxShadow:"0 8px 24px rgba(23, 32, 51, 0.28)",zIndex:String(e.zIndex+1),display:"flex",alignItems:"center",justifyContent:"center"}),i.innerHTML='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 5.5A2.5 2.5 0 0 1 6.5 3h11A2.5 2.5 0 0 1 20 5.5v8a2.5 2.5 0 0 1-2.5 2.5H9l-4.05 3.24A1 1 0 0 1 3.2 18.4V5.5Z" fill="currentColor"/></svg>',i.addEventListener("click",()=>{k()}),t=i,document.body.appendChild(i)}function F(i){let r=L(i,T);if(r!==null){if(r.type==="axiom:ready"){if(e.userId!==null&&ie.test(e.userId)){if(g("axiom:identity",{userId:e.userId}),l=!0,e.welcome!==null||e.quicks!==void 0){let a={};e.welcome!==null&&(a.welcome=e.welcome),e.quicks!==void 0&&(a.quicks=e.quicks),g("axiom:config",a)}for(let a of d)a()}else x({code:"USER_ID_REQUIRED",message:"A stable userId must be configured for the embed."});return}if(r.type==="axiom:error"){let a=r.payload;x({code:typeof a.code=="string"?a.code:"UNKNOWN",message:typeof a.message=="string"?a.message:"Unknown error"});return}if(r.type==="axiom:message"){if(!V(r.payload))return;for(let a of M)a(r.payload)}}}function K(){W(),y(),e.mode==="inline"&&b()}let Z={id:e.id,open:w,hide:A,toggle:k,sendMessage:S,onReady:I,onMessage:P,onError:v};return{settings:e,handle:Z,getPanel:()=>n,activate:K,open:w,hide:A,toggle:k,sendMessage:S,registerReady:I,registerError:v,registerMessage:P,handleIncoming:F}}var c=new Map;function le(e){let n=e,t=2;for(;c.has(n);)n=`${e}-${t}`,t+=1;return n}function B(e){if(typeof e!="object"||e===null)throw new Error("[AxiomChat] mount(settings) requires a settings object with a webAppId.");let n=e;if(u(n,"webAppId")===null)throw new Error("[AxiomChat] mount(settings) requires a webAppId.");let t=u(n,"id");if(t!==null){let f=c.get(t);if(f!==void 0)return console.warn(`[AxiomChat] mount: instance id "${t}" is already in use; returning the existing instance.`),f.handle}let o=t??le(u(n,"webAppId")??""),l=Q(n,()=>null,N,o);if(l===null)throw new Error("[AxiomChat] mount(settings) requires a webAppId.");let d=z(l);return c.set(o,d),d.activate(),d.handle}function de(e){return c.get(e)?.handle}function s(e){let n=c.get(h);if(n===void 0){console.warn("[AxiomChat] not configured");return}e(n)}function $(e){if(Array.isArray(e)===!1)return;let[n,t]=e;if(n==="mount"){try{B(t)}catch(o){console.warn("[AxiomChat] mount failed:",o)}return}if(n==="onReady"&&typeof t=="function"){s(o=>o.registerReady(t));return}if(n==="onError"&&typeof t=="function"){s(o=>o.registerError(t));return}if(n==="onMessage"&&typeof t=="function"){s(o=>o.registerMessage(t));return}if(n==="sendMessage"&&typeof t=="string"){s(o=>o.sendMessage(t));return}n==="open"?s(o=>o.open()):n==="hide"?s(o=>o.hide()):n==="toggle"&&s(o=>o.toggle())}function U(e){for(let n of c.values()){let t=n.getPanel();if(t!==null&&e.origin===new URL(t.src).origin&&!(e.source===null||e.source!==t.contentWindow)){n.handleIncoming(e.data);return}}}var G="__axiomChatMessageListener";function ue(){let e=window,n=e[G];typeof n=="function"&&window.removeEventListener("message",n),e[G]=U,window.addEventListener("message",U)}var Y=document.currentScript,D=Y?.src||null,N=D!==null?new URL(D).origin:window.location.origin;function ce(){let e=t=>{let o=Y?.getAttribute(`data-${t}`);return typeof o=="string"&&o.length>0?o:null},n=window.AxiomChatSettings??{};return Q(n,e,N,h)}function fe(){let e=ce();e!==null?c.set(h,z(e)):console.warn("[AxiomChat] Missing webAppId (set window.AxiomChatSettings.webAppId or data-web-app-id)."),ue();let n=(o=>{o!==void 0&&$(o)});n.open=()=>s(o=>o.open()),n.hide=()=>s(o=>o.hide()),n.toggle=()=>s(o=>o.toggle()),n.sendMessage=o=>s(l=>l.sendMessage(o)),n.mount=B,n.get=de;let t=window.AxiomChat;if(Array.isArray(t))for(let o of t)$(o);window.AxiomChat=n,c.get(h)?.activate()}fe();})();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MDResponse,
3
3
  useChatUIContext
4
- } from "./chunk-PBKPYK27.mjs";
4
+ } from "./chunk-B6UZYI3Q.mjs";
5
5
 
6
6
  // src/components/Tasks/TaskOutlineList.tsx
7
7
  import {
@@ -2025,4 +2025,4 @@ export {
2025
2025
  TaskDetailPanel,
2026
2026
  useOpenTaskChat
2027
2027
  };
2028
- //# sourceMappingURL=chunk-4PV75HKR.mjs.map
2028
+ //# sourceMappingURL=chunk-6Z4RFBLQ.mjs.map
@@ -199,8 +199,11 @@ function validFeatures(value) {
199
199
  const keys = ["projectSelector", "modelSelector", "threadManagement", "attachments", "hitl", "genUI"];
200
200
  return exact2(value, keys, ["files"]) && keys.every((key) => typeof value[key] === "boolean") && (value.files === void 0 || typeof value.files === "boolean");
201
201
  }
202
+ function validQuickPrompts(value) {
203
+ return Array.isArray(value) && value.length <= 6 && value.every((prompt) => record2(prompt) && exact2(prompt, ["label", "text"]) && string(prompt.label) && prompt.label.length >= 1 && prompt.label.length <= 40 && string(prompt.text) && prompt.text.length >= 1 && prompt.text.length <= 500);
204
+ }
202
205
  function validAppearance(value) {
203
- return record2(value) && exact2(value, [], ["title", "welcomeMessage", "primaryColor"]) && Object.values(value).every(string);
206
+ return record2(value) && exact2(value, [], ["title", "welcomeMessage", "primaryColor", "quickPrompts"]) && (value.title === void 0 || string(value.title)) && (value.welcomeMessage === void 0 || string(value.welcomeMessage)) && (value.primaryColor === void 0 || string(value.primaryColor)) && (value.quickPrompts === void 0 || validQuickPrompts(value.quickPrompts));
204
207
  }
205
208
  function parseBootstrap(value) {
206
209
  if (!record2(value) || !exact2(value, ["webApp", "projects", "models"], ["thread"]) || !record2(value.webApp)) return void 0;
@@ -350,4 +353,4 @@ export {
350
353
  AgentWebAppRuntimeClientError,
351
354
  AgentWebAppRuntimeClient
352
355
  };
353
- //# sourceMappingURL=chunk-DTZKYPER.mjs.map
356
+ //# sourceMappingURL=chunk-7QQKL657.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/integrations/web-app/error.ts","../src/integrations/web-app/sse-parser.ts","../src/integrations/web-app/client.ts"],"sourcesContent":["import type { AgentWebAppErrorCode } from \"./types\";\n\nexport class AgentWebAppRuntimeClientError extends Error {\n readonly code: AgentWebAppErrorCode;\n readonly retryable: boolean;\n readonly status?: number;\n\n constructor(code: AgentWebAppErrorCode, message: string, retryable: boolean, status?: number) {\n super(message);\n this.name = \"AgentWebAppRuntimeClientError\";\n this.code = code;\n this.retryable = retryable;\n this.status = status;\n }\n}\n\nexport function streamFailed(): AgentWebAppRuntimeClientError {\n return new AgentWebAppRuntimeClientError(\"STREAM_FAILED\", \"Stream failed\", true);\n}\n","import { streamFailed } from \"./error\";\nimport {\n MessageChunkTypes,\n createAgentWebAppStreamProjectionContext,\n parseAgentWebAppGenUIBlock,\n projectAgentWebAppChunk,\n type AgentWebAppStreamProjectionContext,\n} from \"@axiom-lattice/protocols\";\nimport type {\n AgentWebAppError,\n AgentWebAppErrorCode,\n AgentWebAppInterrupt,\n AgentWebAppStreamEvent,\n AgentWebAppStreamEventHandler,\n} from \"./types\";\n\nconst errorCodes = new Set<AgentWebAppErrorCode>([\n \"WEB_APP_NOT_FOUND\", \"WEB_APP_DISABLED\", \"USER_ID_REQUIRED\", \"INVALID_USER_ID\",\n \"PROJECT_NOT_ALLOWED\", \"PROJECT_SELECTOR_DISABLED\", \"MODEL_NOT_ALLOWED\", \"FEATURE_DISABLED\",\n \"THREAD_NOT_FOUND\", \"STREAM_CONFLICT\", \"STREAM_FAILED\", \"INVALID_REQUEST\", \"INTERNAL_ERROR\",\n]);\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction exact(value: Record<string, unknown>, keys: string[]): boolean {\n const actual = Object.keys(value);\n return actual.length === keys.length && keys.every((key) => key in value);\n}\n\nfunction validError(value: unknown): value is AgentWebAppError {\n return record(value)\n && exact(value, [\"code\", \"message\", \"retryable\"])\n && typeof value.code === \"string\" && errorCodes.has(value.code as AgentWebAppErrorCode)\n && typeof value.message === \"string\" && typeof value.retryable === \"boolean\";\n}\n\nfunction validInterrupt(value: unknown): value is AgentWebAppInterrupt {\n if (!record(value)) return false;\n const keys = value.data === undefined ? [\"id\", \"type\", \"prompt\"] : [\"id\", \"type\", \"prompt\", \"data\"];\n return exact(value, keys) && typeof value.id === \"string\" && typeof value.type === \"string\"\n && typeof value.prompt === \"string\" && (value.data === undefined || record(value.data));\n}\n\nconst nativeChunkTypes = new Set<string>([\n MessageChunkTypes.HUMAN, MessageChunkTypes.AI, MessageChunkTypes.TOOL,\n MessageChunkTypes.INTERRUPT, MessageChunkTypes.MESSAGE_COMPLETED,\n MessageChunkTypes.MESSAGE_FAILED, MessageChunkTypes.THREAD_IDLE,\n]);\n\nfunction parseEvents(data: string, projection: AgentWebAppStreamProjectionContext): AgentWebAppStreamEvent[] {\n let value: unknown;\n try { value = JSON.parse(data); } catch { throw streamFailed(); }\n if (!record(value) || typeof value.type !== \"string\") throw streamFailed();\n // Native run-protocol chunk (the gateway's messages/stream since Phase 2).\n if (nativeChunkTypes.has(value.type) || (value.type === \"error\" && record(value.data) && !record(value.error))) {\n const projected = projectAgentWebAppChunk(value as never, projection);\n if (projected.length === 0) return [];\n return projected;\n }\n // Legacy projected public event (gateway /v1 path or an older gateway).\n switch (value.type) {\n case \"message.delta\":\n if (exact(value, [\"type\", \"text\"]) && typeof value.text === \"string\") return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"message.completed\":\n if (exact(value, [\"type\", \"messageId\"]) && typeof value.messageId === \"string\") return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"tool.started\":\n if (exact(value, [\"type\", \"id\", \"name\"]) && typeof value.id === \"string\" && typeof value.name === \"string\") return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"tool.completed\":\n if (exact(value, [\"type\", \"id\"]) && typeof value.id === \"string\") return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"interrupt.created\":\n if (exact(value, [\"type\", \"interrupt\"]) && validInterrupt(value.interrupt)) return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"genui.render\":\n if (exact(value, [\"type\", \"block\"]) && parseAgentWebAppGenUIBlock(value.block)) return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"error\":\n if (exact(value, [\"type\", \"error\"]) && validError(value.error)) return [value as unknown as AgentWebAppStreamEvent];\n break;\n case \"stream.completed\":\n if (exact(value, [\"type\"])) return [value as unknown as AgentWebAppStreamEvent];\n break;\n }\n throw streamFailed();\n}\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === \"AbortError\";\n}\n\nexport async function parseAgentWebAppEventStream(\n body: ReadableStream<Uint8Array>,\n onEvent: AgentWebAppStreamEventHandler,\n): Promise<void> {\n const projection = createAgentWebAppStreamProjectionContext({ allowGenUI: true, allowInterrupts: true });\n const reader = body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\";\n let completed = false;\n let reachedEof = false;\n try {\n while (!completed) {\n let result: ReadableStreamReadResult<Uint8Array>;\n try { result = await reader.read(); }\n catch (error) {\n if (isAbortError(error)) return;\n throw streamFailed();\n }\n if (result.done) reachedEof = true;\n try { buffer += decoder.decode(result.value, { stream: !result.done }); }\n catch { throw streamFailed(); }\n const blocks = buffer.split(/\\r?\\n\\r?\\n/);\n buffer = result.done ? \"\" : blocks.pop() ?? \"\";\n for (const block of blocks) {\n const data = block.split(/\\r?\\n/)\n .filter((line) => line === \"data\" || line.startsWith(\"data:\"))\n .map((line) => line === \"data\" ? \"\" : line.slice(5).replace(/^ /, \"\"));\n if (data.length === 0) continue;\n for (const event of parseEvents(data.join(\"\\n\"), projection)) {\n await onEvent(event);\n completed = event.type === \"stream.completed\";\n if (completed) break;\n }\n if (completed) break;\n }\n if (result.done) break;\n }\n if (!completed) throw streamFailed();\n } finally {\n if (!reachedEof) {\n try { await reader.cancel(); } catch { /* Best-effort cleanup must not replace the primary outcome. */ }\n }\n reader.releaseLock();\n }\n}\n","import { AgentWebAppRuntimeClientError } from \"./error\";\nimport { parseAgentWebAppEventStream } from \"./sse-parser\";\nimport { parseAgentWebAppGenUIBlock } from \"@axiom-lattice/protocols\";\nimport type {\n AgentWebAppAttachment,\n AgentWebAppBootstrap,\n AgentWebAppCreateThreadInput,\n AgentWebAppError,\n AgentWebAppMessageList,\n AgentWebAppProjectSelection,\n AgentWebAppResumeInterruptInput,\n AgentWebAppRuntimeClientOptions,\n AgentWebAppRuntimeSelection,\n AgentWebAppRuntimeThread,\n AgentWebAppStreamEventHandler,\n AgentWebAppStreamMessageInput,\n AgentWebAppThreadList,\n AgentWebAppUpdateThreadInput,\n} from \"./types\";\n\ninterface ErrorEnvelope { success: false; error: AgentWebAppError }\n\nconst errorCodes = new Set<AgentWebAppError[\"code\"]>([\n \"WEB_APP_NOT_FOUND\", \"WEB_APP_DISABLED\", \"USER_ID_REQUIRED\", \"INVALID_USER_ID\",\n \"PROJECT_NOT_ALLOWED\", \"PROJECT_SELECTOR_DISABLED\", \"MODEL_NOT_ALLOWED\", \"FEATURE_DISABLED\",\n \"THREAD_NOT_FOUND\", \"STREAM_CONFLICT\", \"STREAM_FAILED\", \"INVALID_REQUEST\", \"INTERNAL_ERROR\",\n]);\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction exact(value: Record<string, unknown>, required: string[], optional: string[] = []): boolean {\n const keys = Object.keys(value);\n return required.every((key) => key in value) && keys.every((key) => required.includes(key) || optional.includes(key));\n}\n\nfunction string(value: unknown): value is string { return typeof value === \"string\"; }\n\nfunction parseThread(value: unknown): AgentWebAppRuntimeThread | undefined {\n if (!record(value) || !exact(value, [\"id\", \"projectId\", \"createdAt\", \"updatedAt\"], [\"label\"])) return undefined;\n if (!string(value.id) || !string(value.projectId) || (value.label !== undefined && !string(value.label))) return undefined;\n if (!string(value.createdAt) || !string(value.updatedAt)) return undefined;\n const createdAt = new Date(value.createdAt); const updatedAt = new Date(value.updatedAt);\n if (Number.isNaN(createdAt.getTime()) || Number.isNaN(updatedAt.getTime())) return undefined;\n return { id: value.id, projectId: value.projectId, ...(value.label === undefined ? {} : { label: value.label }), createdAt, updatedAt };\n}\n\nfunction isErrorEnvelope(value: unknown): value is ErrorEnvelope {\n if (!record(value) || value.success !== false || !record(value.error)) return false;\n const error = value.error;\n return exact(value, [\"success\", \"error\"])\n && exact(error, [\"code\", \"message\", \"retryable\"])\n && typeof error.code === \"string\" && errorCodes.has(error.code as AgentWebAppError[\"code\"])\n && typeof error.message === \"string\" && typeof error.retryable === \"boolean\";\n}\n\nfunction validFeatures(value: unknown): boolean {\n if (!record(value)) return false;\n const keys = [\"projectSelector\", \"modelSelector\", \"threadManagement\", \"attachments\", \"hitl\", \"genUI\"];\n return exact(value, keys, [\"files\"]) && keys.every((key) => typeof value[key] === \"boolean\")\n && (value.files === undefined || typeof value.files === \"boolean\");\n}\n\nfunction validQuickPrompts(value: unknown): boolean {\n return Array.isArray(value)\n && value.length <= 6\n && value.every((prompt) => record(prompt)\n && exact(prompt, [\"label\", \"text\"])\n && string(prompt.label) && prompt.label.length >= 1 && prompt.label.length <= 40\n && string(prompt.text) && prompt.text.length >= 1 && prompt.text.length <= 500);\n}\n\nfunction validAppearance(value: unknown): boolean {\n return record(value) && exact(value, [], [\"title\", \"welcomeMessage\", \"primaryColor\", \"quickPrompts\"])\n && (value.title === undefined || string(value.title))\n && (value.welcomeMessage === undefined || string(value.welcomeMessage))\n && (value.primaryColor === undefined || string(value.primaryColor))\n && (value.quickPrompts === undefined || validQuickPrompts(value.quickPrompts));\n}\n\nfunction parseBootstrap(value: unknown): AgentWebAppBootstrap | undefined {\n if (!record(value) || !exact(value, [\"webApp\", \"projects\", \"models\"], [\"thread\"]) || !record(value.webApp)) return undefined;\n const webApp = value.webApp;\n if (!exact(webApp, [\"id\", \"name\", \"assistant\", \"defaultProjectId\", \"features\", \"appearance\", \"identityAssurance\"], [\"description\", \"defaultModelKey\"])\n || !string(webApp.id) || !string(webApp.name) || !string(webApp.defaultProjectId)\n || (webApp.description !== undefined && !string(webApp.description)) || (webApp.defaultModelKey !== undefined && !string(webApp.defaultModelKey))\n || webApp.identityAssurance !== \"unverified\" || !record(webApp.assistant)\n || !exact(webApp.assistant, [\"id\", \"name\"], [\"description\"]) || !string(webApp.assistant.id) || !string(webApp.assistant.name)\n || (webApp.assistant.description !== undefined && !string(webApp.assistant.description))\n || !validFeatures(webApp.features) || !validAppearance(webApp.appearance)\n || !Array.isArray(value.projects) || !value.projects.every((item) => record(item) && exact(item, [\"id\", \"name\"]) && string(item.id) && string(item.name))\n || !Array.isArray(value.models) || !value.models.every((item) => record(item) && exact(item, [\"key\", \"label\"]) && string(item.key) && string(item.label))) return undefined;\n const thread = value.thread === undefined ? undefined : parseThread(value.thread);\n if (value.thread !== undefined && !thread) return undefined;\n return { ...value, ...(thread ? { thread } : {}) } as unknown as AgentWebAppBootstrap;\n}\n\nfunction parseThreadList(value: unknown): AgentWebAppThreadList | undefined {\n if (!record(value) || !exact(value, [\"records\", \"total\"]) || !Array.isArray(value.records) || typeof value.total !== \"number\") return undefined;\n const records = value.records.map(parseThread);\n return records.every((item): item is AgentWebAppRuntimeThread => item !== undefined) ? { records, total: value.total } : undefined;\n}\n\nfunction validMessage(value: unknown): boolean {\n return record(value) && string(value.id) && (value.role === \"human\" || value.role === \"ai\")\n && (value.content === undefined || string(value.content)\n || (Array.isArray(value.content) && value.content.every((block) => parseAgentWebAppGenUIBlock(block) !== undefined)));\n}\n\nfunction parseMessages(value: unknown): AgentWebAppMessageList | undefined {\n return record(value) && exact(value, [\"messages\"]) && Array.isArray(value.messages) && value.messages.every(validMessage)\n ? value as unknown as AgentWebAppMessageList : undefined;\n}\n\nfunction parseAttachment(value: unknown): AgentWebAppAttachment | undefined {\n return record(value) && exact(value, [\"ref\", \"name\", \"mimeType\", \"size\"])\n && string(value.ref) && string(value.name) && string(value.mimeType) && typeof value.size === \"number\"\n ? value as unknown as AgentWebAppAttachment : undefined;\n}\n\nfunction objectWith<T>(keys: string[], checks: (value: Record<string, unknown>) => boolean): (value: unknown) => T | undefined {\n return (value) => record(value) && exact(value, keys) && checks(value) ? value as unknown as T : undefined;\n}\n\nexport class AgentWebAppRuntimeClient {\n private readonly baseUrl: string;\n private readonly fetchImplementation: typeof globalThis.fetch;\n\n constructor(private readonly options: AgentWebAppRuntimeClientOptions) {\n this.baseUrl = `${options.gatewayUrl.replace(/\\/+$/, \"\")}/api/web-apps/${encodeURIComponent(options.webAppId)}/runtime`;\n this.fetchImplementation = options.fetch ?? globalThis.fetch.bind(globalThis);\n }\n\n async bootstrap(selection: AgentWebAppRuntimeSelection = {}, signal?: AbortSignal): Promise<AgentWebAppBootstrap> {\n return this.request(\"bootstrap\", parseBootstrap, { query: selection, signal });\n }\n\n async listThreads(selection: AgentWebAppProjectSelection = {}, signal?: AbortSignal): Promise<AgentWebAppThreadList> {\n return this.request(\"threads\", parseThreadList, { query: selection, signal });\n }\n\n async createThread(input: AgentWebAppCreateThreadInput = {}, signal?: AbortSignal): Promise<AgentWebAppRuntimeThread> {\n return this.request(\"threads\", parseThread, { method: \"POST\", body: input, signal });\n }\n\n async updateThread(threadId: string, input: AgentWebAppUpdateThreadInput, signal?: AbortSignal): Promise<AgentWebAppRuntimeThread> {\n return this.request(`threads/${encodeURIComponent(threadId)}`, parseThread, { method: \"PATCH\", body: input, signal });\n }\n\n async deleteThread(threadId: string, selection: AgentWebAppProjectSelection = {}, signal?: AbortSignal): Promise<void> {\n await this.request(`threads/${encodeURIComponent(threadId)}`, objectWith<{ id: string }>([\"id\"], (value) => string(value.id)), { method: \"DELETE\", query: selection, signal });\n }\n\n async getMessages(threadId: string, selection: AgentWebAppProjectSelection = {}, signal?: AbortSignal): Promise<AgentWebAppMessageList> {\n return this.request(`threads/${encodeURIComponent(threadId)}/messages`, parseMessages, { query: selection, signal });\n }\n\n async streamMessage(threadId: string, input: AgentWebAppStreamMessageInput, onEvent: AgentWebAppStreamEventHandler, signal?: AbortSignal): Promise<void> {\n return this.streamRequest(`threads/${encodeURIComponent(threadId)}/messages/stream`, input, onEvent, signal);\n }\n\n async resumeInterrupt(threadId: string, interruptId: string, input: AgentWebAppResumeInterruptInput, onEvent: AgentWebAppStreamEventHandler, signal?: AbortSignal): Promise<void> {\n return this.streamRequest(`threads/${encodeURIComponent(threadId)}/interrupts/${encodeURIComponent(interruptId)}/resume`, input, onEvent, signal);\n }\n\n private async streamRequest(path: string, body: object, onEvent: AgentWebAppStreamEventHandler, signal?: AbortSignal): Promise<void> {\n let response: Response;\n try {\n response = await this.fetchRequest(path, { method: \"POST\", body, signal });\n } catch (error) {\n if (isAbortError(error)) throw error;\n if (error instanceof AgentWebAppRuntimeClientError) throw error;\n throw new AgentWebAppRuntimeClientError(\"STREAM_FAILED\", \"Stream failed\", true);\n }\n if (!response.ok) await this.throwResponseError(response);\n if (!response.body || !response.headers.get(\"content-type\")?.toLowerCase().includes(\"text/event-stream\")) {\n if (response.body) try { await response.body.cancel(); } catch { /* Best effort. */ }\n throw new AgentWebAppRuntimeClientError(\"STREAM_FAILED\", \"Stream failed\", true, response.status);\n }\n await parseAgentWebAppEventStream(response.body, onEvent);\n }\n\n async abort(threadId: string, selection: AgentWebAppProjectSelection = {}, signal?: AbortSignal): Promise<void> {\n await this.request(`threads/${encodeURIComponent(threadId)}/abort`, objectWith<{ aborted: boolean }>([\"aborted\"], (value) => typeof value.aborted === \"boolean\"), { method: \"POST\", query: selection, signal });\n }\n\n async uploadAttachment(threadId: string, file: Blob, selection: AgentWebAppProjectSelection = {}, signal?: AbortSignal): Promise<AgentWebAppAttachment> {\n const form = new FormData();\n const filename = typeof File !== \"undefined\" && file instanceof File ? file.name : \"attachment\";\n form.append(\"file\", file, filename);\n return this.request(`threads/${encodeURIComponent(threadId)}/attachments`, parseAttachment, { method: \"POST\", query: selection, body: form, signal });\n }\n\n private async request<T>(path: string, parse: (value: unknown) => T | undefined, init: RequestOptions = {}): Promise<T> {\n let response: Response;\n try { response = await this.fetchRequest(path, init); }\n catch (error) {\n if (isAbortError(error)) throw error;\n if (error instanceof AgentWebAppRuntimeClientError) throw error;\n throw new AgentWebAppRuntimeClientError(\"INTERNAL_ERROR\", \"Request failed\", true);\n }\n let value: unknown;\n try { value = await response.json(); } catch { throw this.internalError(response.status); }\n if (isErrorEnvelope(value)) {\n throw new AgentWebAppRuntimeClientError(value.error.code, value.error.message, value.error.retryable, response.status);\n }\n if (!response.ok || !record(value) || !exact(value, [\"success\", \"data\"]) || value.success !== true) throw this.internalError(response.status);\n const data = parse(value.data);\n if (data === undefined) throw this.internalError(response.status);\n return data;\n }\n\n private async fetchRequest(path: string, options: RequestOptions): Promise<Response> {\n const identity = await this.options.identityProvider.getIdentity(options.signal);\n const url = new URL(`${this.baseUrl}/${path}`);\n for (const [key, value] of Object.entries(options.query ?? {})) if (value !== undefined) url.searchParams.set(key, value);\n const headers = new Headers();\n if (identity.bearerToken !== undefined) {\n headers.set(\"Authorization\", `Bearer ${identity.bearerToken}`);\n } else {\n headers.set(\"X-Axiom-External-User-Id\", identity.externalUserId ?? \"\");\n }\n let body: BodyInit | undefined;\n if (options.body instanceof FormData) body = options.body;\n else if (options.body !== undefined) { headers.set(\"Content-Type\", \"application/json\"); body = JSON.stringify(options.body); }\n return this.fetchImplementation(url, { method: options.method ?? \"GET\", headers, body, signal: options.signal, credentials: \"omit\" });\n }\n\n private async throwResponseError(response: Response): Promise<never> {\n let value: unknown;\n try { value = await response.json(); } catch { throw this.internalError(response.status); }\n if (isErrorEnvelope(value)) throw new AgentWebAppRuntimeClientError(value.error.code, value.error.message, value.error.retryable, response.status);\n throw this.internalError(response.status);\n }\n\n private internalError(status?: number): AgentWebAppRuntimeClientError {\n return new AgentWebAppRuntimeClientError(\"INTERNAL_ERROR\", \"Invalid server response\", false, status);\n }\n}\n\nfunction isAbortError(error: unknown): boolean {\n return typeof error === \"object\" && error !== null && \"name\" in error && error.name === \"AbortError\";\n}\n\ninterface RequestOptions {\n method?: \"GET\" | \"POST\" | \"PATCH\" | \"DELETE\";\n query?: { projectId?: string; modelKey?: string };\n body?: object | FormData;\n signal?: AbortSignal;\n}\n"],"mappings":"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","names":["parseAgentWebAppGenUIBlock","errorCodes","record","exact","isAbortError"]}
@@ -4,6 +4,7 @@ import {
4
4
  } from "./chunk-NSGSGYM7.mjs";
5
5
  import {
6
6
  LatticeChatShellContext,
7
+ readAuthItem,
7
8
  useApi,
8
9
  useAuth,
9
10
  useAuthOptional,
@@ -2217,6 +2218,7 @@ import React5, {
2217
2218
  useRef as useRef3
2218
2219
  } from "react";
2219
2220
  import { WorkspaceClient, Client } from "@axiom-lattice/client-sdk";
2221
+ import { WORKSPACE_PUBLIC_ROOM_PROJECT_PREFIX } from "@axiom-lattice/protocols";
2220
2222
  import { jsx as jsx7 } from "react/jsx-runtime";
2221
2223
  var WorkspaceContext = createContext2(null);
2222
2224
  var useWorkspaceContext = () => {
@@ -2263,7 +2265,7 @@ var WorkspaceContextProvider = ({
2263
2265
  const [loading, setLoading] = useState8(false);
2264
2266
  const [error, setError] = useState8(null);
2265
2267
  const client = React5.useMemo(() => {
2266
- const authApiKey = isAuthenticated ? sessionStorage.getItem("lattice_token") || config.apiKey || "" : config.apiKey || "";
2268
+ const authApiKey = isAuthenticated ? readAuthItem("lattice_token") || config.apiKey || "" : config.apiKey || "";
2267
2269
  return new WorkspaceClient({
2268
2270
  baseURL: config.baseURL,
2269
2271
  apiKey: authApiKey,
@@ -2312,7 +2314,7 @@ var WorkspaceContextProvider = ({
2312
2314
  setError(null);
2313
2315
  try {
2314
2316
  const data = await client.listProjects(targetWorkspaceId);
2315
- setProjects(data.filter((p) => p.kind !== "training" && p.kind !== "personal" && p.kind !== "public"));
2317
+ setProjects(data.filter((p) => p.kind !== "training" && p.kind !== "personal" && !p.id.startsWith(WORKSPACE_PUBLIC_ROOM_PROJECT_PREFIX)));
2316
2318
  setTrainingProjects(data.filter((p) => p.kind === "training"));
2317
2319
  setPersonalProjects(data.filter((p) => p.kind === "personal"));
2318
2320
  } catch (e) {
@@ -15162,7 +15164,7 @@ ${JSON.stringify(
15162
15164
  // src/components/Chat/MessageViewPanel.tsx
15163
15165
  import { jsx as jsx52 } from "react/jsx-runtime";
15164
15166
  var MessageGraph = React29.lazy(
15165
- () => import("./MessageGraph-CU7TPJJI.mjs").then((m) => ({ default: m.MessageGraph }))
15167
+ () => import("./MessageGraph-2M35QCOU.mjs").then((m) => ({ default: m.MessageGraph }))
15166
15168
  );
15167
15169
  var MessageViewPanel = ({
15168
15170
  messages,
@@ -19143,6 +19145,7 @@ ${nextContent}`;
19143
19145
  children: renderSender(true)
19144
19146
  }
19145
19147
  ),
19148
+ Array.isArray(senderPromptsItems) && senderPromptsItems.length > 0 && /* @__PURE__ */ jsx76("div", { className: styles.promptsWrapper, style: { marginTop: 24 }, children: /* @__PURE__ */ jsx76(Prompts3, { items: senderPromptsItems, onItemClick: onPromptsItemClick }) }),
19146
19149
  showQuickAnalysis && showSender && !(interrupts && interrupts.length > 0) && /* @__PURE__ */ jsx76("div", { style: { marginTop: 24 }, children: /* @__PURE__ */ jsx76(
19147
19150
  BusinessAnalysisPrompts,
19148
19151
  {
@@ -22621,10 +22624,10 @@ var SearchCollectionResult = ({
22621
22624
  // src/components/GenUI/elements/builtIns.tsx
22622
22625
  import { jsx as jsx92 } from "react/jsx-runtime";
22623
22626
  var TasksSideApp = lazy(
22624
- () => import("./TasksSideApp-IN46CQ4D.mjs").then((m) => ({ default: m.TasksSideApp }))
22627
+ () => import("./TasksSideApp-ISKFSZLV.mjs").then((m) => ({ default: m.TasksSideApp }))
22625
22628
  );
22626
22629
  var TeamWorkspace = lazy(
22627
- () => import("./TeamWorkspace-IH6F5QYO.mjs").then((m) => ({ default: m.TeamWorkspace }))
22630
+ () => import("./TeamWorkspace-72CCNRRZ.mjs").then((m) => ({ default: m.TeamWorkspace }))
22628
22631
  );
22629
22632
  var elements = {
22630
22633
  action_show_attachments_uploader: {
@@ -22942,7 +22945,7 @@ var LazyReactInfographic = lazy2(
22942
22945
  () => import("./ReactInfographic-ONUZIC7W.mjs").then((m) => ({ default: m.ReactInfographic }))
22943
22946
  );
22944
22947
  var LazyReactChart = lazy2(
22945
- () => import("./ReactChart-INAST7XW.mjs").then((m) => ({ default: m.ReactChart }))
22948
+ () => import("./ReactChart-2TWY4MWP.mjs").then((m) => ({ default: m.ReactChart }))
22946
22949
  );
22947
22950
  function BlockLoading() {
22948
22951
  return /* @__PURE__ */ jsx94(
@@ -23761,4 +23764,4 @@ export {
23761
23764
  http://jedwatson.github.io/classnames
23762
23765
  *)
23763
23766
  */
23764
- //# sourceMappingURL=chunk-PBKPYK27.mjs.map
23767
+ //# sourceMappingURL=chunk-B6UZYI3Q.mjs.map