@axiom-lattice/react-sdk 4.1.5 → 4.2.0

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 (63) hide show
  1. package/dist/{AgentDetailSideApp-EBS7FGQS.mjs → AgentDetailSideApp-ETXLLXP2.mjs} +7 -7
  2. package/dist/{AgentGovernanceWorkbench-IHYEFXEU.mjs → AgentGovernanceWorkbench-D47KUMAA.mjs} +8 -8
  3. package/dist/{MessageGraph-CU7TPJJI.mjs → MessageGraph-PVOC7XW4.mjs} +2 -2
  4. package/dist/{ReactChart-INAST7XW.mjs → ReactChart-BZTCD4P7.mjs} +2 -2
  5. package/dist/{TasksSideApp-IN46CQ4D.mjs → TasksSideApp-NNFCW65B.mjs} +3 -3
  6. package/dist/{TeamWorkspace-IH6F5QYO.mjs → TeamWorkspace-GS7C7E4X.mjs} +2 -2
  7. package/dist/{TopologyRuntimeView-LR3YQQIU.mjs → TopologyRuntimeView-VWGYRX74.mjs} +3 -3
  8. package/dist/{WorkflowAutomationView-GWBROX7L.mjs → WorkflowAutomationView-T4YKEPSP.mjs} +5 -5
  9. package/dist/agent-chat-loader.js +1 -1
  10. package/dist/{chunk-4PV75HKR.mjs → chunk-7DCDRNN5.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-EOBSSJ2W.mjs → chunk-AYNHFB6M.mjs} +4 -4
  14. package/dist/{chunk-YRPBTDOU.mjs → chunk-NHWTNX7F.mjs} +4 -4
  15. package/dist/{chunk-MSQON5ZR.mjs → chunk-NLN5EB7R.mjs} +3709 -3063
  16. package/dist/chunk-NLN5EB7R.mjs.map +1 -0
  17. package/dist/{chunk-R4XGQTDJ.mjs → chunk-NQK7AVBH.mjs} +2 -2
  18. package/dist/{chunk-PBKPYK27.mjs → chunk-QPF4RBTJ.mjs} +8 -6
  19. package/dist/chunk-QPF4RBTJ.mjs.map +1 -0
  20. package/dist/{chunk-O7PTPMW2.mjs → chunk-THWLCTFU.mjs} +2 -2
  21. package/dist/{embed-page-AgentDetailSideApp-YPN3NDEA.js → embed-page-AgentDetailSideApp-7FH2JSZI.js} +1 -1
  22. package/dist/{embed-page-AgentGovernanceWorkbench-FAZQNPAM.js → embed-page-AgentGovernanceWorkbench-Y5F3ZPYC.js} +1 -1
  23. package/dist/{embed-page-MessageGraph-CEOPX4GM.js → embed-page-MessageGraph-ONODQPG4.js} +1 -1
  24. package/dist/{embed-page-ReactChart-NZAYQOQH.js → embed-page-ReactChart-GZQSKCUG.js} +1 -1
  25. package/dist/{embed-page-TasksSideApp-3EAPMISU.js → embed-page-TasksSideApp-HYKCJ356.js} +1 -1
  26. package/dist/{embed-page-TeamWorkspace-HB7ER45L.js → embed-page-TeamWorkspace-IOHS4RJV.js} +1 -1
  27. package/dist/{embed-page-TopologyRuntimeView-O7JPR22B.js → embed-page-TopologyRuntimeView-QLMZ4OE7.js} +1 -1
  28. package/dist/{embed-page-WorkflowAutomationView-OUXOBHXC.js → embed-page-WorkflowAutomationView-FJJSGY7Z.js} +1 -1
  29. package/dist/{embed-page-chunk-TQPMRDLI.js → embed-page-chunk-6LL6YULZ.js} +1 -1
  30. package/dist/{embed-page-chunk-6C2UZV63.js → embed-page-chunk-D3NRIME3.js} +1 -1
  31. package/dist/embed-page-chunk-EMPMOO53.js +466 -0
  32. package/dist/{embed-page-chunk-ILNGM4RN.js → embed-page-chunk-FXTSVMPN.js} +89 -38
  33. package/dist/{embed-page-chunk-GCDGRO6A.js → embed-page-chunk-L7RMIQ7C.js} +9 -9
  34. package/dist/{embed-page-chunk-4SKSUBXL.js → embed-page-chunk-MCUFFMAW.js} +110 -109
  35. package/dist/{embed-page-chunk-U6JBLAYD.js → embed-page-chunk-SMQZEZYG.js} +1 -1
  36. package/dist/{embed-page-chunk-RTVQJYET.js → embed-page-chunk-VVYB3C4O.js} +1 -1
  37. package/dist/embed-page.js +3 -3
  38. package/dist/index.d.mts +14 -2
  39. package/dist/index.d.ts +14 -2
  40. package/dist/index.js +5481 -4804
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.mjs +8 -8
  43. package/dist/web-app.js +4 -1
  44. package/dist/web-app.js.map +1 -1
  45. package/dist/web-app.mjs +1 -1
  46. package/package.json +3 -3
  47. package/dist/chunk-DTZKYPER.mjs.map +0 -1
  48. package/dist/chunk-MSQON5ZR.mjs.map +0 -1
  49. package/dist/chunk-PBKPYK27.mjs.map +0 -1
  50. package/dist/embed-page-chunk-5XKUKLZQ.js +0 -467
  51. /package/dist/{AgentDetailSideApp-EBS7FGQS.mjs.map → AgentDetailSideApp-ETXLLXP2.mjs.map} +0 -0
  52. /package/dist/{AgentGovernanceWorkbench-IHYEFXEU.mjs.map → AgentGovernanceWorkbench-D47KUMAA.mjs.map} +0 -0
  53. /package/dist/{MessageGraph-CU7TPJJI.mjs.map → MessageGraph-PVOC7XW4.mjs.map} +0 -0
  54. /package/dist/{ReactChart-INAST7XW.mjs.map → ReactChart-BZTCD4P7.mjs.map} +0 -0
  55. /package/dist/{TasksSideApp-IN46CQ4D.mjs.map → TasksSideApp-NNFCW65B.mjs.map} +0 -0
  56. /package/dist/{TeamWorkspace-IH6F5QYO.mjs.map → TeamWorkspace-GS7C7E4X.mjs.map} +0 -0
  57. /package/dist/{TopologyRuntimeView-LR3YQQIU.mjs.map → TopologyRuntimeView-VWGYRX74.mjs.map} +0 -0
  58. /package/dist/{WorkflowAutomationView-GWBROX7L.mjs.map → WorkflowAutomationView-T4YKEPSP.mjs.map} +0 -0
  59. /package/dist/{chunk-4PV75HKR.mjs.map → chunk-7DCDRNN5.mjs.map} +0 -0
  60. /package/dist/{chunk-EOBSSJ2W.mjs.map → chunk-AYNHFB6M.mjs.map} +0 -0
  61. /package/dist/{chunk-YRPBTDOU.mjs.map → chunk-NHWTNX7F.mjs.map} +0 -0
  62. /package/dist/{chunk-R4XGQTDJ.mjs.map → chunk-NQK7AVBH.mjs.map} +0 -0
  63. /package/dist/{chunk-O7PTPMW2.mjs.map → chunk-THWLCTFU.mjs.map} +0 -0
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  AgentDetailView
3
- } from "./chunk-MSQON5ZR.mjs";
3
+ } from "./chunk-NLN5EB7R.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-NQK7AVBH.mjs";
7
+ import "./chunk-THWLCTFU.mjs";
8
+ import "./chunk-7QQKL657.mjs";
9
+ import "./chunk-7DCDRNN5.mjs";
10
10
  import "./chunk-7FWCKQNB.mjs";
11
11
  import {
12
12
  useSideAppOpener
13
- } from "./chunk-PBKPYK27.mjs";
13
+ } from "./chunk-QPF4RBTJ.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-ETXLLXP2.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-AYNHFB6M.mjs";
4
+ import "./chunk-NLN5EB7R.mjs";
5
+ import "./chunk-NQK7AVBH.mjs";
6
+ import "./chunk-THWLCTFU.mjs";
7
+ import "./chunk-7QQKL657.mjs";
8
+ import "./chunk-7DCDRNN5.mjs";
9
9
  import "./chunk-7FWCKQNB.mjs";
10
- import "./chunk-PBKPYK27.mjs";
10
+ import "./chunk-QPF4RBTJ.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-D47KUMAA.mjs.map
@@ -9,7 +9,7 @@ import {
9
9
  buildTraceGraph,
10
10
  collapseOlderPhases,
11
11
  formatToolName
12
- } from "./chunk-PBKPYK27.mjs";
12
+ } from "./chunk-QPF4RBTJ.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-PVOC7XW4.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GenericDataTable
3
- } from "./chunk-PBKPYK27.mjs";
3
+ } from "./chunk-QPF4RBTJ.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-BZTCD4P7.mjs.map
@@ -7,7 +7,7 @@ import {
7
7
  TaskOutlineList,
8
8
  buildTaskGraph,
9
9
  useOpenTaskChat
10
- } from "./chunk-4PV75HKR.mjs";
10
+ } from "./chunk-7DCDRNN5.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-QPF4RBTJ.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-NNFCW65B.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  Chating,
4
4
  MailboxPanel,
5
5
  useAgentState
6
- } from "./chunk-PBKPYK27.mjs";
6
+ } from "./chunk-QPF4RBTJ.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-GS7C7E4X.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WorkflowCanvas,
3
3
  expandWorkflow
4
- } from "./chunk-O7PTPMW2.mjs";
4
+ } from "./chunk-THWLCTFU.mjs";
5
5
  import "./chunk-7FWCKQNB.mjs";
6
6
  import {
7
7
  MDResponse
8
- } from "./chunk-PBKPYK27.mjs";
8
+ } from "./chunk-QPF4RBTJ.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-VWGYRX74.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-NHWTNX7F.mjs";
5
+ import "./chunk-NQK7AVBH.mjs";
6
+ import "./chunk-THWLCTFU.mjs";
7
7
  import "./chunk-7FWCKQNB.mjs";
8
- import "./chunk-PBKPYK27.mjs";
8
+ import "./chunk-QPF4RBTJ.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-T4YKEPSP.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-QPF4RBTJ.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-7DCDRNN5.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"]}
@@ -11,17 +11,17 @@ import {
11
11
  shortHash,
12
12
  startLearningRound,
13
13
  statusHex
14
- } from "./chunk-MSQON5ZR.mjs";
14
+ } from "./chunk-NLN5EB7R.mjs";
15
15
  import {
16
16
  ProjectScopeProvider_default,
17
17
  TrainingContextCard
18
- } from "./chunk-R4XGQTDJ.mjs";
18
+ } from "./chunk-NQK7AVBH.mjs";
19
19
  import {
20
20
  EntityListView,
21
21
  FilterSelect,
22
22
  useSideAppOpener,
23
23
  useWorkspaceContext
24
- } from "./chunk-PBKPYK27.mjs";
24
+ } from "./chunk-QPF4RBTJ.mjs";
25
25
  import {
26
26
  Background,
27
27
  Controls,
@@ -1833,4 +1833,4 @@ export {
1833
1833
  CreateAssistantModal_default,
1834
1834
  AgentGovernanceWorkbench
1835
1835
  };
1836
- //# sourceMappingURL=chunk-EOBSSJ2W.mjs.map
1836
+ //# sourceMappingURL=chunk-AYNHFB6M.mjs.map
@@ -2,15 +2,15 @@ import {
2
2
  CopilotPanel,
3
3
  ProjectScopeProvider,
4
4
  TrainingContextCard
5
- } from "./chunk-R4XGQTDJ.mjs";
5
+ } from "./chunk-NQK7AVBH.mjs";
6
6
  import {
7
7
  WorkflowCanvas_default,
8
8
  expandWorkflow
9
- } from "./chunk-O7PTPMW2.mjs";
9
+ } from "./chunk-THWLCTFU.mjs";
10
10
  import {
11
11
  MDResponse,
12
12
  useWorkspaceContext
13
- } from "./chunk-PBKPYK27.mjs";
13
+ } from "./chunk-QPF4RBTJ.mjs";
14
14
  import {
15
15
  ReactFlowProvider
16
16
  } from "./chunk-XC6TB6PI.mjs";
@@ -1271,4 +1271,4 @@ export {
1271
1271
  WorkflowAutomationView,
1272
1272
  WorkflowAutomationView_default
1273
1273
  };
1274
- //# sourceMappingURL=chunk-YRPBTDOU.mjs.map
1274
+ //# sourceMappingURL=chunk-NHWTNX7F.mjs.map