@eigenpal/docx-editor-agents 1.4.0 → 1.6.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 (55) hide show
  1. package/README.md +1 -1
  2. package/dist/ai-sdk/server.js +1 -1
  3. package/dist/ai-sdk/server.mjs +1 -1
  4. package/dist/bridge.d.mts +1 -1
  5. package/dist/bridge.d.ts +1 -1
  6. package/dist/bridge.js +1 -1
  7. package/dist/bridge.mjs +1 -1
  8. package/dist/chunk-4C2IJ7OV.js +75 -0
  9. package/dist/{chunk-XDZHYYU6.mjs → chunk-6RMDMHUK.mjs} +1 -1
  10. package/dist/{chunk-RI5S75JY.js → chunk-AO5SO6ZS.js} +4 -4
  11. package/dist/chunk-B56JZP3K.js +2 -0
  12. package/dist/chunk-CGBO6ID5.mjs +1 -0
  13. package/dist/chunk-ICDWMZPG.mjs +75 -0
  14. package/dist/chunk-J773ZJGL.mjs +5 -0
  15. package/dist/{chunk-EPRXZTIE.js → chunk-MMJQ47Q7.js} +1 -1
  16. package/dist/{chunk-24MVJKCP.mjs → chunk-MSKW7E36.mjs} +4 -4
  17. package/dist/chunk-VAQTAQZG.js +1 -0
  18. package/dist/chunk-WDPSOX2B.mjs +2 -0
  19. package/dist/chunk-YU3OJ2DE.js +5 -0
  20. package/dist/executor-3N3ESB3N.mjs +1 -0
  21. package/dist/executor-KLVHM2GK.js +1 -0
  22. package/dist/headless-BS5JJGVC.js +1 -0
  23. package/dist/{headless-OEZEYHNL.mjs → headless-GFPWSIA3.mjs} +1 -1
  24. package/dist/index.d.mts +4 -14
  25. package/dist/index.d.ts +4 -14
  26. package/dist/index.js +1 -1
  27. package/dist/index.mjs +1 -1
  28. package/dist/mcp.d.mts +1 -1
  29. package/dist/mcp.d.ts +1 -1
  30. package/dist/mcp.js +3 -3
  31. package/dist/mcp.mjs +3 -3
  32. package/dist/react.d.mts +8 -8
  33. package/dist/react.d.ts +8 -8
  34. package/dist/react.js +2 -2
  35. package/dist/react.mjs +1 -1
  36. package/dist/{server-BaVhdHCd.d.mts → server-DP8QoY84.d.mts} +68 -43
  37. package/dist/{server-BaVhdHCd.d.ts → server-DP8QoY84.d.ts} +68 -43
  38. package/dist/server.d.mts +1 -1
  39. package/dist/server.d.ts +1 -1
  40. package/dist/server.js +1 -1
  41. package/dist/server.mjs +1 -1
  42. package/dist/vue.js +6 -6
  43. package/dist/vue.mjs +226 -179
  44. package/package.json +1 -1
  45. package/dist/chunk-2OIX7TUX.mjs +0 -75
  46. package/dist/chunk-4W7OEW2I.js +0 -75
  47. package/dist/chunk-7PTBNHAH.js +0 -2
  48. package/dist/chunk-LX3NJWKV.js +0 -1
  49. package/dist/chunk-NFAEIOLC.mjs +0 -1
  50. package/dist/chunk-P4DRISTP.mjs +0 -5
  51. package/dist/chunk-XUAUDUJU.js +0 -5
  52. package/dist/chunk-YQIAKHOL.mjs +0 -2
  53. package/dist/executor-SBR6X4JZ.mjs +0 -1
  54. package/dist/executor-ZTSOZMKE.js +0 -1
  55. package/dist/headless-ES4B5CTK.js +0 -1
package/dist/react.d.ts CHANGED
@@ -18,9 +18,9 @@
18
18
  * @packageDocumentation
19
19
  * @public
20
20
  */
21
- import { r as EditorRefLike, k as AgentToolResult, q as getToolSchemas, j as AgentToolDefinition, s as AgentContextSnapshot } from './server-BaVhdHCd.js';
22
- export { t as getToolDisplayName } from './server-BaVhdHCd.js';
23
- import * as react_jsx_runtime from 'react/jsx-runtime';
21
+ import { r as EditorRefLike, k as AgentToolResult, q as getToolSchemas, j as AgentToolDefinition, s as AgentContextSnapshot } from './server-DP8QoY84.js';
22
+ export { t as getToolDisplayName } from './server-DP8QoY84.js';
23
+ import * as react from 'react';
24
24
  import { ReactNode, CSSProperties } from 'react';
25
25
  import { A as AgentMessage, a as AgentToolCall } from './agent-types-C8RvQB7n.js';
26
26
 
@@ -162,7 +162,7 @@ interface AgentPanelProps {
162
162
  */
163
163
  closed?: boolean;
164
164
  }
165
- declare function AgentPanel({ title, icon, closeLabel, resizeHandleLabel, width: controlledWidth, defaultWidth, minWidth, maxWidth, onWidthChange, onClose, children, className, closed, }: AgentPanelProps): react_jsx_runtime.JSX.Element;
165
+ declare function AgentPanel({ title, icon, closeLabel, resizeHandleLabel, width: controlledWidth, defaultWidth, minWidth, maxWidth, onWidthChange, onClose, children, className, closed, }: AgentPanelProps): react.JSX.Element;
166
166
 
167
167
  interface AgentChatLogProps {
168
168
  messages: AgentMessage[];
@@ -225,8 +225,8 @@ interface AgentTimelineProps {
225
225
  * assistant text bubble. Auto-collapses when the turn finishes; click the
226
226
  * summary row to re-expand.
227
227
  */
228
- declare function AgentTimeline({ toolCalls, streaming, maxVisibleCalls, humanizeName, workingLabel, summaryLabel, earlierLabel, }: AgentTimelineProps): react_jsx_runtime.JSX.Element | null;
229
- declare function AgentChatLog({ messages, loading, error, emptyState, autoScroll, humanizeToolName, maxVisibleCalls, className, style, thinkingLabel, workingLabel, summaryLabel, earlierLabel, }: AgentChatLogProps): react_jsx_runtime.JSX.Element;
228
+ declare function AgentTimeline({ toolCalls, streaming, maxVisibleCalls, humanizeName, workingLabel, summaryLabel, earlierLabel, }: AgentTimelineProps): react.JSX.Element | null;
229
+ declare function AgentChatLog({ messages, loading, error, emptyState, autoScroll, humanizeToolName, maxVisibleCalls, className, style, thinkingLabel, workingLabel, summaryLabel, earlierLabel, }: AgentChatLogProps): react.JSX.Element;
230
230
  interface AgentComposerProps {
231
231
  value: string;
232
232
  onChange: (next: string) => void;
@@ -239,12 +239,12 @@ interface AgentComposerProps {
239
239
  footnote?: ReactNode;
240
240
  className?: string;
241
241
  }
242
- declare function AgentComposer({ value, onChange, onSubmit, disabled, placeholder, sendLabel, footnote, className, }: AgentComposerProps): react_jsx_runtime.JSX.Element;
242
+ declare function AgentComposer({ value, onChange, onSubmit, disabled, placeholder, sendLabel, footnote, className, }: AgentComposerProps): react.JSX.Element;
243
243
  interface AgentSuggestionChipProps {
244
244
  label: string;
245
245
  onClick: () => void;
246
246
  disabled?: boolean;
247
247
  }
248
- declare function AgentSuggestionChip({ label, onClick, disabled }: AgentSuggestionChipProps): react_jsx_runtime.JSX.Element;
248
+ declare function AgentSuggestionChip({ label, onClick, disabled }: AgentSuggestionChipProps): react.JSX.Element;
249
249
 
250
250
  export { AgentChatLog, type AgentChatLogProps, AgentComposer, type AgentComposerProps, AgentContextSnapshot, AgentMessage, AgentPanel, type AgentPanelProps, AgentSuggestionChip, type AgentSuggestionChipProps, AgentTimeline, type AgentTimelineProps, AgentToolCall, AgentToolDefinition, AgentToolResult, EditorRefLike, type UseAgentChatOptions, type UseAgentChatReturn, type UseDocxAgentToolsOptions, type UseDocxAgentToolsReturn, useAgentChat, useDocxAgentTools };
package/dist/react.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var chunk7PTBNHAH_js=require('./chunk-7PTBNHAH.js'),chunkRI5S75JY_js=require('./chunk-RI5S75JY.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var te=chunkRI5S75JY_js.d();function ne(e){let{editorRef:t,author:l="AI"}=e,c=react.useMemo(()=>({get:()=>t.current?chunk7PTBNHAH_js.a(t.current,l):null}),[t,l]);return {executeToolCall:react.useCallback((d,p)=>{let r=c.get();return r?chunkRI5S75JY_js.b(d,p,r):{success:false,error:"Editor not ready"}},[c]),toolSchemas:te}}function re(e){let{editorRef:t,author:l="AI",tools:c,include:u,exclude:d}=e,p=!!c&&Object.keys(c).length>0,r=react.useCallback(i=>!(u&&!u.includes(i)||d&&d.includes(i)),[u,d]),f=react.useMemo(()=>{let i=u||d?chunkRI5S75JY_js.a.filter(n=>r(n.name)):chunkRI5S75JY_js.a;if(!p)return i.map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}));let o=new Map(i.map(n=>[n.name,n]));for(let[n,C]of Object.entries(c))o.set(n,C);return Array.from(o.values()).map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}))},[c,p,u,d,r]),g=react.useCallback((i,o)=>{let n=t.current;if(!n)return {success:false,error:"Editor not ready."};let C=chunk7PTBNHAH_js.a(n,l),k=c?.[i];if(k)try{return k.handler(o,C)}catch(T){return {success:false,error:T instanceof Error?T.message:String(T)}}return r(i)?chunkRI5S75JY_js.b(i,o,C):{success:false,error:`Tool '${i}' is not enabled.`}},[t,l,c,r]),x=react.useCallback(()=>{let i=t.current;if(!i)return {selection:null,currentPage:0,totalPages:0};let o=chunk7PTBNHAH_js.a(i,l);return {selection:o.getSelection(),currentPage:o.getCurrentPage(),totalPages:o.getTotalPages()}},[t,l]);return {tools:f,executeToolCall:g,getContext:x}}var y={agentPanel:{defaultTitle:"Assistant",close:"Close panel",resizeHandle:"Resize agent panel",thinking:"Assistant is thinking",composerPlaceholder:"Ask the assistant\u2026",send:"Send",timeline:{working:"Working\u2026 {count, plural, one {# step} other {# steps}}",summary:"{count, plural, one {# step} other {# steps}}",earlier:"+ {count, plural, one {# earlier step} other {# earlier steps}}"}}};var _="eigenpal:docx-editor:agentPanelWidth";function ae({size:e=22}){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"})})}function le({size:e=18}){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})})}var ce=360,ue=280,de=600;function pe({title:e=y.agentPanel.defaultTitle,icon:t,closeLabel:l=y.agentPanel.close,resizeHandleLabel:c=y.agentPanel.resizeHandle,width:u,defaultWidth:d=ce,minWidth:p=ue,maxWidth:r=de,onWidthChange:f,onClose:g,children:x,className:i,closed:o=false}){let n=u!==void 0,[C,k]=react.useState(false),T=react.useRef(o);react.useEffect(()=>{if(T.current!==o){T.current=o,k(true);let m=window.setTimeout(()=>k(false),260);return ()=>window.clearTimeout(m)}},[o]);let[L,h]=react.useState(()=>{if(n)return u;if(typeof window>"u")return d;try{let m=window.localStorage.getItem(_);if(m){let S=Number(m);if(Number.isFinite(S)&&S>=p&&S<=r)return S}}catch{}return d}),E=n?u:L,v=react.useRef(null),B=react.useRef({minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f});B.current={minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f};let w=react.useRef(null);if(!w.current){let m=P=>{let D=v.current;if(!D)return;let I=B.current,q=D.startX-P.clientX,N=Math.min(I.maxWidth,Math.max(I.minWidth,D.startWidth+q));D.lastWidth=N,I.isControlled||h(N),I.onWidthChange?.(N);},S=()=>{let P=v.current;if(P&&(v.current=null,document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",S),!B.current.isControlled))try{window.localStorage.setItem(_,String(P.lastWidth));}catch{}};w.current={move:m,up:S};}let Y=react.useCallback(m=>{m.preventDefault();let S=n?u:L;v.current={startX:m.clientX,startWidth:S,lastWidth:S},document.addEventListener("pointermove",w.current.move),document.addEventListener("pointerup",w.current.up);},[]);return react.useEffect(()=>()=>{let m=w.current;m&&(document.removeEventListener("pointermove",m.move),document.removeEventListener("pointerup",m.up));},[]),jsxRuntime.jsxs("div",{className:`ep-agent-panel${i?` ${i}`:""}`,style:{width:o?0:E,flex:o?"0 0 0px":`0 0 ${E}px`,height:"calc(100% - 16px)",margin:o?"8px 0 8px 0":"8px 8px 8px 12px",display:"flex",flexDirection:"column",background:"#ffffff",border:o?"1px solid transparent":"1px solid #e3e3e3",borderRadius:16,boxShadow:o?"none":"0 1px 2px rgba(60,64,67,0.05), 0 4px 12px rgba(60,64,67,0.08)",opacity:o?0:1,pointerEvents:o?"none":"auto",position:"relative",boxSizing:"border-box",minWidth:o?0:p,overflow:"hidden",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif",transition:C?"flex-basis 220ms cubic-bezier(0.4, 0, 0.2, 1), width 220ms cubic-bezier(0.4, 0, 0.2, 1), margin 220ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease":"opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease"},"aria-hidden":o,"data-testid":"agent-panel","data-state":o?"closed":"open",role:"complementary","aria-label":e,children:[jsxRuntime.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":c,onPointerDown:Y,style:{position:"absolute",left:-3,top:0,bottom:0,width:6,cursor:"col-resize",touchAction:"none",zIndex:1},"data-testid":"agent-panel-resize-handle"}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 16px 10px",flex:"0 0 auto",background:"#ffffff"},children:[jsxRuntime.jsx("span",{style:{display:"inline-flex",alignItems:"center",color:"#0b57d0"},children:t??jsxRuntime.jsx(ae,{size:22})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:15,fontWeight:500,color:"#1f1f1f",letterSpacing:.1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),g&&jsxRuntime.jsx("button",{type:"button",onClick:g,"aria-label":l,title:l,"data-testid":"agent-panel-close",style:{border:"none",background:"transparent",padding:6,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#444746",borderRadius:999,transition:"background 0.15s"},onMouseEnter:m=>{m.currentTarget.style.background="#f1f3f4";},onMouseLeave:m=>{m.currentTarget.style.background="transparent";},children:jsxRuntime.jsx(le,{size:18})})]}),jsxRuntime.jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:x})]})}function ge(e){let t={},l=/(=\d+|\w+)\s*\{([^}]*)\}/g,c;for(;(c=l.exec(e))!==null;)t[c[1]]=c[2];return t}function F(e,t,l="en"){return t?e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g,(u,d,p)=>{let r=Number(t[d]);if(isNaN(r))return u;let f=ge(p),g=f[`=${r}`];if(g!==void 0)return g.replace(/#/g,String(r));let x;try{x=new Intl.PluralRules(l).select(r);}catch{x=r===1?"one":"other";}return (f[x]??f.other??"").replace(/#/g,String(r))}).replace(/\{(\w+)\}/g,(u,d)=>{let p=t[d];return p!==void 0?String(p):`{${d}}`}):e}function V(e){let t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}var xe=y.agentPanel.thinking,he=y.agentPanel.composerPlaceholder,be=y.agentPanel.send,ye=e=>F(y.agentPanel.timeline.working,{count:e}),Ae=e=>F(y.agentPanel.timeline.summary,{count:e}),Se=e=>F(y.agentPanel.timeline.earlier,{count:e}),j="ep-agent-chat-keyframes",Ce=`
1
+ 'use strict';var chunkB56JZP3K_js=require('./chunk-B56JZP3K.js'),chunkAO5SO6ZS_js=require('./chunk-AO5SO6ZS.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var te=chunkAO5SO6ZS_js.d();function ne(e){let{editorRef:t,author:l="AI"}=e,c=react.useMemo(()=>({get:()=>t.current?chunkB56JZP3K_js.a(t.current,l):null}),[t,l]);return {executeToolCall:react.useCallback((d,p)=>{let r=c.get();return r?chunkAO5SO6ZS_js.b(d,p,r):{success:false,error:"Editor not ready"}},[c]),toolSchemas:te}}function re(e){let{editorRef:t,author:l="AI",tools:c,include:u,exclude:d}=e,p=!!c&&Object.keys(c).length>0,r=react.useCallback(i=>!(u&&!u.includes(i)||d&&d.includes(i)),[u,d]),f=react.useMemo(()=>{let i=u||d?chunkAO5SO6ZS_js.a.filter(n=>r(n.name)):chunkAO5SO6ZS_js.a;if(!p)return i.map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}));let o=new Map(i.map(n=>[n.name,n]));for(let[n,C]of Object.entries(c))o.set(n,C);return Array.from(o.values()).map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}))},[c,p,u,d,r]),g=react.useCallback((i,o)=>{let n=t.current;if(!n)return {success:false,error:"Editor not ready."};let C=chunkB56JZP3K_js.a(n,l),k=c?.[i];if(k)try{return k.handler(o,C)}catch(T){return {success:false,error:T instanceof Error?T.message:String(T)}}return r(i)?chunkAO5SO6ZS_js.b(i,o,C):{success:false,error:`Tool '${i}' is not enabled.`}},[t,l,c,r]),x=react.useCallback(()=>{let i=t.current;if(!i)return {selection:null,currentPage:0,totalPages:0};let o=chunkB56JZP3K_js.a(i,l);return {selection:o.getSelection(),currentPage:o.getCurrentPage(),totalPages:o.getTotalPages()}},[t,l]);return {tools:f,executeToolCall:g,getContext:x}}var y={agentPanel:{defaultTitle:"Assistant",close:"Close panel",resizeHandle:"Resize agent panel",thinking:"Assistant is thinking",composerPlaceholder:"Ask the assistant\u2026",send:"Send",timeline:{working:"Working\u2026 {count, plural, one {# step} other {# steps}}",summary:"{count, plural, one {# step} other {# steps}}",earlier:"+ {count, plural, one {# earlier step} other {# earlier steps}}"}}};var _="eigenpal:docx-editor:agentPanelWidth";function ae({size:e=22}){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"})})}function le({size:e=18}){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})})}var ce=360,ue=280,de=600;function pe({title:e=y.agentPanel.defaultTitle,icon:t,closeLabel:l=y.agentPanel.close,resizeHandleLabel:c=y.agentPanel.resizeHandle,width:u,defaultWidth:d=ce,minWidth:p=ue,maxWidth:r=de,onWidthChange:f,onClose:g,children:x,className:i,closed:o=false}){let n=u!==void 0,[C,k]=react.useState(false),T=react.useRef(o);react.useEffect(()=>{if(T.current!==o){T.current=o,k(true);let m=window.setTimeout(()=>k(false),260);return ()=>window.clearTimeout(m)}},[o]);let[L,h]=react.useState(()=>{if(n)return u;if(typeof window>"u")return d;try{let m=window.localStorage.getItem(_);if(m){let S=Number(m);if(Number.isFinite(S)&&S>=p&&S<=r)return S}}catch{}return d}),E=n?u:L,v=react.useRef(null),B=react.useRef({minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f});B.current={minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f};let w=react.useRef(null);if(!w.current){let m=P=>{let D=v.current;if(!D)return;let I=B.current,q=D.startX-P.clientX,N=Math.min(I.maxWidth,Math.max(I.minWidth,D.startWidth+q));D.lastWidth=N,I.isControlled||h(N),I.onWidthChange?.(N);},S=()=>{let P=v.current;if(P&&(v.current=null,document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",S),!B.current.isControlled))try{window.localStorage.setItem(_,String(P.lastWidth));}catch{}};w.current={move:m,up:S};}let Y=react.useCallback(m=>{m.preventDefault();let S=n?u:L;v.current={startX:m.clientX,startWidth:S,lastWidth:S},document.addEventListener("pointermove",w.current.move),document.addEventListener("pointerup",w.current.up);},[]);return react.useEffect(()=>()=>{let m=w.current;m&&(document.removeEventListener("pointermove",m.move),document.removeEventListener("pointerup",m.up));},[]),jsxRuntime.jsxs("div",{className:`ep-agent-panel${i?` ${i}`:""}`,style:{width:o?0:E,flex:o?"0 0 0px":`0 0 ${E}px`,height:"calc(100% - 16px)",margin:o?"8px 0 8px 0":"8px 8px 8px 12px",display:"flex",flexDirection:"column",background:"#ffffff",border:o?"1px solid transparent":"1px solid #e3e3e3",borderRadius:16,boxShadow:o?"none":"0 1px 2px rgba(60,64,67,0.05), 0 4px 12px rgba(60,64,67,0.08)",opacity:o?0:1,pointerEvents:o?"none":"auto",position:"relative",boxSizing:"border-box",minWidth:o?0:p,overflow:"hidden",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif",transition:C?"flex-basis 220ms cubic-bezier(0.4, 0, 0.2, 1), width 220ms cubic-bezier(0.4, 0, 0.2, 1), margin 220ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease":"opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease"},"aria-hidden":o,"data-testid":"agent-panel","data-state":o?"closed":"open",role:"complementary","aria-label":e,children:[jsxRuntime.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":c,onPointerDown:Y,style:{position:"absolute",left:-3,top:0,bottom:0,width:6,cursor:"col-resize",touchAction:"none",zIndex:1},"data-testid":"agent-panel-resize-handle"}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 16px 10px",flex:"0 0 auto",background:"#ffffff"},children:[jsxRuntime.jsx("span",{style:{display:"inline-flex",alignItems:"center",color:"#0b57d0"},children:t??jsxRuntime.jsx(ae,{size:22})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:15,fontWeight:500,color:"#1f1f1f",letterSpacing:.1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),g&&jsxRuntime.jsx("button",{type:"button",onClick:g,"aria-label":l,title:l,"data-testid":"agent-panel-close",style:{border:"none",background:"transparent",padding:6,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#444746",borderRadius:999,transition:"background 0.15s"},onMouseEnter:m=>{m.currentTarget.style.background="#f1f3f4";},onMouseLeave:m=>{m.currentTarget.style.background="transparent";},children:jsxRuntime.jsx(le,{size:18})})]}),jsxRuntime.jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:x})]})}function ge(e){let t={},l=/(=\d+|\w+)\s*\{([^}]*)\}/g,c;for(;(c=l.exec(e))!==null;)t[c[1]]=c[2];return t}function F(e,t,l="en"){return t?e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g,(u,d,p)=>{let r=Number(t[d]);if(isNaN(r))return u;let f=ge(p),g=f[`=${r}`];if(g!==void 0)return g.replace(/#/g,String(r));let x;try{x=new Intl.PluralRules(l).select(r);}catch{x=r===1?"one":"other";}return (f[x]??f.other??"").replace(/#/g,String(r))}).replace(/\{(\w+)\}/g,(u,d)=>{let p=t[d];return p!==void 0?String(p):`{${d}}`}):e}function V(e){let t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}var xe=y.agentPanel.thinking,he=y.agentPanel.composerPlaceholder,be=y.agentPanel.send,ye=e=>F(y.agentPanel.timeline.working,{count:e}),Ae=e=>F(y.agentPanel.timeline.summary,{count:e}),Se=e=>F(y.agentPanel.timeline.earlier,{count:e}),j="ep-agent-chat-keyframes",Ce=`
2
2
  @keyframes epAgentDot {
3
3
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
4
4
  40% { transform: scale(1); opacity: 1; }
@@ -6,4 +6,4 @@
6
6
  @keyframes epAgentSpin {
7
7
  to { transform: rotate(360deg); }
8
8
  }
9
- `;function Te(){react.useEffect(()=>{if(typeof document>"u"||document.getElementById(j))return;let e=document.createElement("style");e.id=j,e.textContent=Ce,document.head.appendChild(e);},[]);}var ke=3;function K({toolCalls:e,streaming:t,maxVisibleCalls:l=ke,humanizeName:c=V,workingLabel:u=ye,summaryLabel:d=Ae,earlierLabel:p=Se}){let[r,f]=react.useState(null),g=r??!!t;if(e.length===0)return null;let x=t?u(e.length):d(e.length),i=e.slice(-l),o=Math.max(0,e.length-i.length);return jsxRuntime.jsxs("div",{style:s.timelineWrap,"data-testid":"agent-timeline",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>f(!g),"aria-expanded":g,style:s.timelineHeader,"data-testid":"agent-timeline-toggle",children:[jsxRuntime.jsxs("span",{style:s.timelineSummary,children:[t?jsxRuntime.jsx(X,{}):jsxRuntime.jsx(ve,{}),x]}),jsxRuntime.jsx("span",{style:{...s.timelineChevron,transform:g?"rotate(180deg)":"rotate(0deg)"},"aria-hidden":"true",children:"\u25BE"})]}),g&&jsxRuntime.jsxs("ol",{style:s.timelineList,children:[o>0&&jsxRuntime.jsx("li",{style:s.timelineMore,"data-testid":"agent-timeline-earlier",children:p(o)}),i.map(n=>jsxRuntime.jsxs("li",{style:s.timelineItem,children:[n.status==="running"?jsxRuntime.jsx(X,{size:10,compact:true}):jsxRuntime.jsx("span",{style:{...s.timelineDot,background:n.status==="error"?"#d93025":"#1e8e3e"},"aria-hidden":"true"}),jsxRuntime.jsxs("span",{style:s.timelineCall,children:[jsxRuntime.jsx("span",{style:s.timelineCallName,children:c(n.name)}),n.error&&jsxRuntime.jsx("span",{style:s.timelineError,children:n.error})]})]},n.id))]})]})}function X({size:e=12,compact:t=false}={}){return jsxRuntime.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",style:{marginRight:t?0:6,animation:"epAgentSpin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true",children:[jsxRuntime.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"#dadce0",strokeWidth:"3",fill:"none"}),jsxRuntime.jsx("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"#0b57d0",strokeWidth:"3",strokeLinecap:"round"})]})}function ve(){return jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{marginRight:6},children:jsxRuntime.jsx("path",{d:"M5 13l4 4L19 7",stroke:"#1e8e3e",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function we({messages:e,loading:t,error:l,emptyState:c,autoScroll:u=true,humanizeToolName:d,maxVisibleCalls:p,className:r,style:f,thinkingLabel:g=xe,workingLabel:x,summaryLabel:i,earlierLabel:o}){Te();let n=react.useRef(null),C=e[e.length-1],k=C?.toolCalls?.length??0,T=C?.status==="streaming";react.useEffect(()=>{u&&n.current?.scrollIntoView({behavior:T||t?"auto":"smooth",block:"end"});},[e.length,k,t,T,u]);let L=e.length===0&&!t&&!l;return jsxRuntime.jsxs("div",{className:`ep-agent-chat-log${r?` ${r}`:""}`,style:{flex:1,overflow:"auto",padding:"16px 14px 8px",display:"flex",flexDirection:"column",gap:10,...f},children:[L&&c,e.map(h=>{let E=h.role==="assistant"&&h.toolCalls&&h.toolCalls.length>0,v=h.text.length>0;return jsxRuntime.jsxs("div",{style:s.messageGroup,"data-role":h.role,children:[E&&jsxRuntime.jsx(K,{toolCalls:h.toolCalls,streaming:h.status==="streaming",humanizeName:d,maxVisibleCalls:p,workingLabel:x,summaryLabel:i,earlierLabel:o}),v&&jsxRuntime.jsx("div",{style:h.role==="user"?s.userBubble:s.assistantBubble,children:h.text})]},h.id)}),t&&jsxRuntime.jsxs("div",{style:s.thinkingBubble,"aria-label":g,children:[jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0s"}}),jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0.15s"}}),jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0.3s"}})]}),l&&jsxRuntime.jsx("div",{style:s.errorBubble,role:"alert",children:l}),jsxRuntime.jsx("div",{ref:n})]})}function Re({value:e,onChange:t,onSubmit:l,disabled:c,placeholder:u=he,sendLabel:d=be,footnote:p,className:r}){let f=u,g=e.trim().length>0&&!c;return jsxRuntime.jsxs("form",{onSubmit:i=>{i.preventDefault(),g&&l();},className:`ep-agent-composer${r?` ${r}`:""}`,style:s.composerWrap,children:[jsxRuntime.jsxs("div",{style:s.composerShell,children:[jsxRuntime.jsx("input",{style:s.composerInput,value:e,onChange:i=>t(i.target.value),placeholder:f,disabled:c}),jsxRuntime.jsx("button",{type:"submit","aria-label":d,disabled:!g,style:{...s.sendBtn,opacity:g?1:.35,cursor:g?"pointer":"not-allowed"},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 19V5M5 12l7-7 7 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),p&&jsxRuntime.jsx("div",{style:s.footnote,children:p})]})}function Le({label:e,onClick:t,disabled:l}){return jsxRuntime.jsx("button",{type:"button",style:s.chip,onClick:t,disabled:l,children:e})}var s={messageGroup:{display:"flex",flexDirection:"column",gap:6,width:"100%"},userBubble:{background:"#0b57d0",color:"#fff",padding:"10px 14px",borderRadius:"20px 20px 4px 20px",fontSize:13.5,lineHeight:1.5,alignSelf:"flex-end",maxWidth:"88%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},assistantBubble:{background:"#f0f4f9",color:"#1f1f1f",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",fontSize:13.5,lineHeight:1.55,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},thinkingBubble:{background:"#f0f4f9",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",alignSelf:"flex-start",display:"flex",gap:4,alignItems:"center"},dot:{width:6,height:6,borderRadius:"50%",background:"#5f6368",display:"inline-block",animation:"epAgentDot 1.4s infinite ease-in-out"},errorBubble:{background:"#fce8e6",color:"#b3261e",padding:"10px 14px",borderRadius:16,fontSize:12.5,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerWrap:{padding:"8px 12px 14px",background:"#fff",flex:"0 0 auto"},composerShell:{display:"flex",alignItems:"center",gap:4,padding:"6px 6px 6px 18px",background:"#fff",border:"1px solid #c4c7c5",borderRadius:28,boxShadow:"0 1px 2px rgba(60,64,67,0.04)",transition:"border-color 0.15s, box-shadow 0.15s",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerInput:{flex:1,padding:"8px 0",fontSize:14,border:"none",outline:"none",background:"transparent",fontFamily:"inherit",color:"#1f1f1f"},sendBtn:{width:36,height:36,borderRadius:"50%",border:"none",background:"#0b57d0",color:"#fff",flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",transition:"background 0.15s, opacity 0.15s, transform 0.15s"},footnote:{fontSize:11,color:"#5f6368",textAlign:"center",marginTop:10,fontFamily:"'Google Sans Text', system-ui, sans-serif"},chip:{textAlign:"left",background:"#fff",border:"1px solid #dadce0",borderRadius:18,padding:"10px 14px",fontSize:13,color:"#1f1f1f",cursor:"pointer",fontFamily:"'Google Sans Text', system-ui, sans-serif",lineHeight:1.4,transition:"background 0.15s, border-color 0.15s, box-shadow 0.15s",width:"100%"},timelineWrap:{alignSelf:"flex-start",maxWidth:"92%",background:"#fff",border:"1px solid #e1e3e6",borderRadius:12,overflow:"hidden",fontFamily:"'Google Sans Text', system-ui, sans-serif"},timelineHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",background:"transparent",border:"none",cursor:"pointer",fontSize:12.5,color:"#1f1f1f",fontFamily:"inherit"},timelineSummary:{display:"inline-flex",alignItems:"center",fontWeight:500},timelineChevron:{fontSize:12,color:"#5f6368",transition:"transform 0.15s ease",marginLeft:8},timelineList:{listStyle:"none",margin:0,padding:"4px 12px 10px 12px",display:"flex",flexDirection:"column",gap:6,borderTop:"1px solid #ececf0"},timelineItem:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"#444746"},timelineDot:{width:6,height:6,borderRadius:"50%",flexShrink:0},timelineCall:{display:"inline-flex",flexDirection:"column",minWidth:0},timelineCallName:{color:"#1f1f1f"},timelineError:{color:"#d93025",fontSize:11},timelineMore:{fontSize:11,color:"#5f6368",fontStyle:"italic",paddingLeft:14}};Object.defineProperty(exports,"getToolDisplayName",{enumerable:true,get:function(){return chunkRI5S75JY_js.c}});exports.AgentChatLog=we;exports.AgentComposer=Re;exports.AgentPanel=pe;exports.AgentSuggestionChip=Le;exports.AgentTimeline=K;exports.useAgentChat=ne;exports.useDocxAgentTools=re;
9
+ `;function Te(){react.useEffect(()=>{if(typeof document>"u"||document.getElementById(j))return;let e=document.createElement("style");e.id=j,e.textContent=Ce,document.head.appendChild(e);},[]);}var ke=3;function K({toolCalls:e,streaming:t,maxVisibleCalls:l=ke,humanizeName:c=V,workingLabel:u=ye,summaryLabel:d=Ae,earlierLabel:p=Se}){let[r,f]=react.useState(null),g=r??!!t;if(e.length===0)return null;let x=t?u(e.length):d(e.length),i=e.slice(-l),o=Math.max(0,e.length-i.length);return jsxRuntime.jsxs("div",{style:s.timelineWrap,"data-testid":"agent-timeline",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>f(!g),"aria-expanded":g,style:s.timelineHeader,"data-testid":"agent-timeline-toggle",children:[jsxRuntime.jsxs("span",{style:s.timelineSummary,children:[t?jsxRuntime.jsx(X,{}):jsxRuntime.jsx(ve,{}),x]}),jsxRuntime.jsx("span",{style:{...s.timelineChevron,transform:g?"rotate(180deg)":"rotate(0deg)"},"aria-hidden":"true",children:"\u25BE"})]}),g&&jsxRuntime.jsxs("ol",{style:s.timelineList,children:[o>0&&jsxRuntime.jsx("li",{style:s.timelineMore,"data-testid":"agent-timeline-earlier",children:p(o)}),i.map(n=>jsxRuntime.jsxs("li",{style:s.timelineItem,children:[n.status==="running"?jsxRuntime.jsx(X,{size:10,compact:true}):jsxRuntime.jsx("span",{style:{...s.timelineDot,background:n.status==="error"?"#d93025":"#1e8e3e"},"aria-hidden":"true"}),jsxRuntime.jsxs("span",{style:s.timelineCall,children:[jsxRuntime.jsx("span",{style:s.timelineCallName,children:c(n.name)}),n.error&&jsxRuntime.jsx("span",{style:s.timelineError,children:n.error})]})]},n.id))]})]})}function X({size:e=12,compact:t=false}={}){return jsxRuntime.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",style:{marginRight:t?0:6,animation:"epAgentSpin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true",children:[jsxRuntime.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"#dadce0",strokeWidth:"3",fill:"none"}),jsxRuntime.jsx("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"#0b57d0",strokeWidth:"3",strokeLinecap:"round"})]})}function ve(){return jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{marginRight:6},children:jsxRuntime.jsx("path",{d:"M5 13l4 4L19 7",stroke:"#1e8e3e",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function we({messages:e,loading:t,error:l,emptyState:c,autoScroll:u=true,humanizeToolName:d,maxVisibleCalls:p,className:r,style:f,thinkingLabel:g=xe,workingLabel:x,summaryLabel:i,earlierLabel:o}){Te();let n=react.useRef(null),C=e[e.length-1],k=C?.toolCalls?.length??0,T=C?.status==="streaming";react.useEffect(()=>{u&&n.current?.scrollIntoView({behavior:T||t?"auto":"smooth",block:"end"});},[e.length,k,t,T,u]);let L=e.length===0&&!t&&!l;return jsxRuntime.jsxs("div",{className:`ep-agent-chat-log${r?` ${r}`:""}`,style:{flex:1,overflow:"auto",padding:"16px 14px 8px",display:"flex",flexDirection:"column",gap:10,...f},children:[L&&c,e.map(h=>{let E=h.role==="assistant"&&h.toolCalls&&h.toolCalls.length>0,v=h.text.length>0;return jsxRuntime.jsxs("div",{style:s.messageGroup,"data-role":h.role,children:[E&&jsxRuntime.jsx(K,{toolCalls:h.toolCalls,streaming:h.status==="streaming",humanizeName:d,maxVisibleCalls:p,workingLabel:x,summaryLabel:i,earlierLabel:o}),v&&jsxRuntime.jsx("div",{style:h.role==="user"?s.userBubble:s.assistantBubble,children:h.text})]},h.id)}),t&&jsxRuntime.jsxs("div",{style:s.thinkingBubble,"aria-label":g,children:[jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0s"}}),jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0.15s"}}),jsxRuntime.jsx("span",{style:{...s.dot,animationDelay:"0.3s"}})]}),l&&jsxRuntime.jsx("div",{style:s.errorBubble,role:"alert",children:l}),jsxRuntime.jsx("div",{ref:n})]})}function Re({value:e,onChange:t,onSubmit:l,disabled:c,placeholder:u=he,sendLabel:d=be,footnote:p,className:r}){let f=u,g=e.trim().length>0&&!c;return jsxRuntime.jsxs("form",{onSubmit:i=>{i.preventDefault(),g&&l();},className:`ep-agent-composer${r?` ${r}`:""}`,style:s.composerWrap,children:[jsxRuntime.jsxs("div",{style:s.composerShell,children:[jsxRuntime.jsx("input",{style:s.composerInput,value:e,onChange:i=>t(i.target.value),placeholder:f,disabled:c}),jsxRuntime.jsx("button",{type:"submit","aria-label":d,disabled:!g,style:{...s.sendBtn,opacity:g?1:.35,cursor:g?"pointer":"not-allowed"},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:jsxRuntime.jsx("path",{d:"M12 19V5M5 12l7-7 7 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),p&&jsxRuntime.jsx("div",{style:s.footnote,children:p})]})}function Le({label:e,onClick:t,disabled:l}){return jsxRuntime.jsx("button",{type:"button",style:s.chip,onClick:t,disabled:l,children:e})}var s={messageGroup:{display:"flex",flexDirection:"column",gap:6,width:"100%"},userBubble:{background:"#0b57d0",color:"#fff",padding:"10px 14px",borderRadius:"20px 20px 4px 20px",fontSize:13.5,lineHeight:1.5,alignSelf:"flex-end",maxWidth:"88%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},assistantBubble:{background:"#f0f4f9",color:"#1f1f1f",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",fontSize:13.5,lineHeight:1.55,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},thinkingBubble:{background:"#f0f4f9",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",alignSelf:"flex-start",display:"flex",gap:4,alignItems:"center"},dot:{width:6,height:6,borderRadius:"50%",background:"#5f6368",display:"inline-block",animation:"epAgentDot 1.4s infinite ease-in-out"},errorBubble:{background:"#fce8e6",color:"#b3261e",padding:"10px 14px",borderRadius:16,fontSize:12.5,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerWrap:{padding:"8px 12px 14px",background:"#fff",flex:"0 0 auto"},composerShell:{display:"flex",alignItems:"center",gap:4,padding:"6px 6px 6px 18px",background:"#fff",border:"1px solid #c4c7c5",borderRadius:28,boxShadow:"0 1px 2px rgba(60,64,67,0.04)",transition:"border-color 0.15s, box-shadow 0.15s",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerInput:{flex:1,padding:"8px 0",fontSize:14,border:"none",outline:"none",background:"transparent",fontFamily:"inherit",color:"#1f1f1f"},sendBtn:{width:36,height:36,borderRadius:"50%",border:"none",background:"#0b57d0",color:"#fff",flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",transition:"background 0.15s, opacity 0.15s, transform 0.15s"},footnote:{fontSize:11,color:"#5f6368",textAlign:"center",marginTop:10,fontFamily:"'Google Sans Text', system-ui, sans-serif"},chip:{textAlign:"left",background:"#fff",border:"1px solid #dadce0",borderRadius:18,padding:"10px 14px",fontSize:13,color:"#1f1f1f",cursor:"pointer",fontFamily:"'Google Sans Text', system-ui, sans-serif",lineHeight:1.4,transition:"background 0.15s, border-color 0.15s, box-shadow 0.15s",width:"100%"},timelineWrap:{alignSelf:"flex-start",maxWidth:"92%",background:"#fff",border:"1px solid #e1e3e6",borderRadius:12,overflow:"hidden",fontFamily:"'Google Sans Text', system-ui, sans-serif"},timelineHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",background:"transparent",border:"none",cursor:"pointer",fontSize:12.5,color:"#1f1f1f",fontFamily:"inherit"},timelineSummary:{display:"inline-flex",alignItems:"center",fontWeight:500},timelineChevron:{fontSize:12,color:"#5f6368",transition:"transform 0.15s ease",marginLeft:8},timelineList:{listStyle:"none",margin:0,padding:"4px 12px 10px 12px",display:"flex",flexDirection:"column",gap:6,borderTop:"1px solid #ececf0"},timelineItem:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"#444746"},timelineDot:{width:6,height:6,borderRadius:"50%",flexShrink:0},timelineCall:{display:"inline-flex",flexDirection:"column",minWidth:0},timelineCallName:{color:"#1f1f1f"},timelineError:{color:"#d93025",fontSize:11},timelineMore:{fontSize:11,color:"#5f6368",fontStyle:"italic",paddingLeft:14}};Object.defineProperty(exports,"getToolDisplayName",{enumerable:true,get:function(){return chunkAO5SO6ZS_js.c}});exports.AgentChatLog=we;exports.AgentComposer=Re;exports.AgentPanel=pe;exports.AgentSuggestionChip=Le;exports.AgentTimeline=K;exports.useAgentChat=ne;exports.useDocxAgentTools=re;
package/dist/react.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {a}from'./chunk-YQIAKHOL.mjs';import {d,b,a as a$1}from'./chunk-24MVJKCP.mjs';export{c as getToolDisplayName}from'./chunk-24MVJKCP.mjs';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {jsxs,jsx}from'react/jsx-runtime';var te=d();function ne(e){let{editorRef:t,author:l="AI"}=e,c=useMemo(()=>({get:()=>t.current?a(t.current,l):null}),[t,l]);return {executeToolCall:useCallback((d,p)=>{let r=c.get();return r?b(d,p,r):{success:false,error:"Editor not ready"}},[c]),toolSchemas:te}}function re(e){let{editorRef:t,author:l="AI",tools:c,include:u,exclude:d}=e,p=!!c&&Object.keys(c).length>0,r=useCallback(i=>!(u&&!u.includes(i)||d&&d.includes(i)),[u,d]),f=useMemo(()=>{let i=u||d?a$1.filter(n=>r(n.name)):a$1;if(!p)return i.map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}));let o=new Map(i.map(n=>[n.name,n]));for(let[n,C]of Object.entries(c))o.set(n,C);return Array.from(o.values()).map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}))},[c,p,u,d,r]),g=useCallback((i,o)=>{let n=t.current;if(!n)return {success:false,error:"Editor not ready."};let C=a(n,l),k=c?.[i];if(k)try{return k.handler(o,C)}catch(T){return {success:false,error:T instanceof Error?T.message:String(T)}}return r(i)?b(i,o,C):{success:false,error:`Tool '${i}' is not enabled.`}},[t,l,c,r]),x=useCallback(()=>{let i=t.current;if(!i)return {selection:null,currentPage:0,totalPages:0};let o=a(i,l);return {selection:o.getSelection(),currentPage:o.getCurrentPage(),totalPages:o.getTotalPages()}},[t,l]);return {tools:f,executeToolCall:g,getContext:x}}var y={agentPanel:{defaultTitle:"Assistant",close:"Close panel",resizeHandle:"Resize agent panel",thinking:"Assistant is thinking",composerPlaceholder:"Ask the assistant\u2026",send:"Send",timeline:{working:"Working\u2026 {count, plural, one {# step} other {# steps}}",summary:"{count, plural, one {# step} other {# steps}}",earlier:"+ {count, plural, one {# earlier step} other {# earlier steps}}"}}};var _="eigenpal:docx-editor:agentPanelWidth";function ae({size:e=22}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"})})}function le({size:e=18}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})})}var ce=360,ue=280,de=600;function pe({title:e=y.agentPanel.defaultTitle,icon:t,closeLabel:l=y.agentPanel.close,resizeHandleLabel:c=y.agentPanel.resizeHandle,width:u,defaultWidth:d=ce,minWidth:p=ue,maxWidth:r=de,onWidthChange:f,onClose:g,children:x,className:i,closed:o=false}){let n=u!==void 0,[C,k]=useState(false),T=useRef(o);useEffect(()=>{if(T.current!==o){T.current=o,k(true);let m=window.setTimeout(()=>k(false),260);return ()=>window.clearTimeout(m)}},[o]);let[L,h]=useState(()=>{if(n)return u;if(typeof window>"u")return d;try{let m=window.localStorage.getItem(_);if(m){let S=Number(m);if(Number.isFinite(S)&&S>=p&&S<=r)return S}}catch{}return d}),E=n?u:L,v=useRef(null),B=useRef({minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f});B.current={minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f};let w=useRef(null);if(!w.current){let m=P=>{let D=v.current;if(!D)return;let I=B.current,q=D.startX-P.clientX,N=Math.min(I.maxWidth,Math.max(I.minWidth,D.startWidth+q));D.lastWidth=N,I.isControlled||h(N),I.onWidthChange?.(N);},S=()=>{let P=v.current;if(P&&(v.current=null,document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",S),!B.current.isControlled))try{window.localStorage.setItem(_,String(P.lastWidth));}catch{}};w.current={move:m,up:S};}let Y=useCallback(m=>{m.preventDefault();let S=n?u:L;v.current={startX:m.clientX,startWidth:S,lastWidth:S},document.addEventListener("pointermove",w.current.move),document.addEventListener("pointerup",w.current.up);},[]);return useEffect(()=>()=>{let m=w.current;m&&(document.removeEventListener("pointermove",m.move),document.removeEventListener("pointerup",m.up));},[]),jsxs("div",{className:`ep-agent-panel${i?` ${i}`:""}`,style:{width:o?0:E,flex:o?"0 0 0px":`0 0 ${E}px`,height:"calc(100% - 16px)",margin:o?"8px 0 8px 0":"8px 8px 8px 12px",display:"flex",flexDirection:"column",background:"#ffffff",border:o?"1px solid transparent":"1px solid #e3e3e3",borderRadius:16,boxShadow:o?"none":"0 1px 2px rgba(60,64,67,0.05), 0 4px 12px rgba(60,64,67,0.08)",opacity:o?0:1,pointerEvents:o?"none":"auto",position:"relative",boxSizing:"border-box",minWidth:o?0:p,overflow:"hidden",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif",transition:C?"flex-basis 220ms cubic-bezier(0.4, 0, 0.2, 1), width 220ms cubic-bezier(0.4, 0, 0.2, 1), margin 220ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease":"opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease"},"aria-hidden":o,"data-testid":"agent-panel","data-state":o?"closed":"open",role:"complementary","aria-label":e,children:[jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":c,onPointerDown:Y,style:{position:"absolute",left:-3,top:0,bottom:0,width:6,cursor:"col-resize",touchAction:"none",zIndex:1},"data-testid":"agent-panel-resize-handle"}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 16px 10px",flex:"0 0 auto",background:"#ffffff"},children:[jsx("span",{style:{display:"inline-flex",alignItems:"center",color:"#0b57d0"},children:t??jsx(ae,{size:22})}),jsx("span",{style:{flex:1,fontSize:15,fontWeight:500,color:"#1f1f1f",letterSpacing:.1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),g&&jsx("button",{type:"button",onClick:g,"aria-label":l,title:l,"data-testid":"agent-panel-close",style:{border:"none",background:"transparent",padding:6,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#444746",borderRadius:999,transition:"background 0.15s"},onMouseEnter:m=>{m.currentTarget.style.background="#f1f3f4";},onMouseLeave:m=>{m.currentTarget.style.background="transparent";},children:jsx(le,{size:18})})]}),jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:x})]})}function ge(e){let t={},l=/(=\d+|\w+)\s*\{([^}]*)\}/g,c;for(;(c=l.exec(e))!==null;)t[c[1]]=c[2];return t}function F(e,t,l="en"){return t?e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g,(u,d,p)=>{let r=Number(t[d]);if(isNaN(r))return u;let f=ge(p),g=f[`=${r}`];if(g!==void 0)return g.replace(/#/g,String(r));let x;try{x=new Intl.PluralRules(l).select(r);}catch{x=r===1?"one":"other";}return (f[x]??f.other??"").replace(/#/g,String(r))}).replace(/\{(\w+)\}/g,(u,d)=>{let p=t[d];return p!==void 0?String(p):`{${d}}`}):e}function V(e){let t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}var xe=y.agentPanel.thinking,he=y.agentPanel.composerPlaceholder,be=y.agentPanel.send,ye=e=>F(y.agentPanel.timeline.working,{count:e}),Ae=e=>F(y.agentPanel.timeline.summary,{count:e}),Se=e=>F(y.agentPanel.timeline.earlier,{count:e}),j="ep-agent-chat-keyframes",Ce=`
1
+ import {a}from'./chunk-WDPSOX2B.mjs';import {d,b,a as a$1}from'./chunk-MSKW7E36.mjs';export{c as getToolDisplayName}from'./chunk-MSKW7E36.mjs';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {jsxs,jsx}from'react/jsx-runtime';var te=d();function ne(e){let{editorRef:t,author:l="AI"}=e,c=useMemo(()=>({get:()=>t.current?a(t.current,l):null}),[t,l]);return {executeToolCall:useCallback((d,p)=>{let r=c.get();return r?b(d,p,r):{success:false,error:"Editor not ready"}},[c]),toolSchemas:te}}function re(e){let{editorRef:t,author:l="AI",tools:c,include:u,exclude:d}=e,p=!!c&&Object.keys(c).length>0,r=useCallback(i=>!(u&&!u.includes(i)||d&&d.includes(i)),[u,d]),f=useMemo(()=>{let i=u||d?a$1.filter(n=>r(n.name)):a$1;if(!p)return i.map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}));let o=new Map(i.map(n=>[n.name,n]));for(let[n,C]of Object.entries(c))o.set(n,C);return Array.from(o.values()).map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}))},[c,p,u,d,r]),g=useCallback((i,o)=>{let n=t.current;if(!n)return {success:false,error:"Editor not ready."};let C=a(n,l),k=c?.[i];if(k)try{return k.handler(o,C)}catch(T){return {success:false,error:T instanceof Error?T.message:String(T)}}return r(i)?b(i,o,C):{success:false,error:`Tool '${i}' is not enabled.`}},[t,l,c,r]),x=useCallback(()=>{let i=t.current;if(!i)return {selection:null,currentPage:0,totalPages:0};let o=a(i,l);return {selection:o.getSelection(),currentPage:o.getCurrentPage(),totalPages:o.getTotalPages()}},[t,l]);return {tools:f,executeToolCall:g,getContext:x}}var y={agentPanel:{defaultTitle:"Assistant",close:"Close panel",resizeHandle:"Resize agent panel",thinking:"Assistant is thinking",composerPlaceholder:"Ask the assistant\u2026",send:"Send",timeline:{working:"Working\u2026 {count, plural, one {# step} other {# steps}}",summary:"{count, plural, one {# step} other {# steps}}",earlier:"+ {count, plural, one {# earlier step} other {# earlier steps}}"}}};var _="eigenpal:docx-editor:agentPanelWidth";function ae({size:e=22}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"})})}function le({size:e=18}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})})}var ce=360,ue=280,de=600;function pe({title:e=y.agentPanel.defaultTitle,icon:t,closeLabel:l=y.agentPanel.close,resizeHandleLabel:c=y.agentPanel.resizeHandle,width:u,defaultWidth:d=ce,minWidth:p=ue,maxWidth:r=de,onWidthChange:f,onClose:g,children:x,className:i,closed:o=false}){let n=u!==void 0,[C,k]=useState(false),T=useRef(o);useEffect(()=>{if(T.current!==o){T.current=o,k(true);let m=window.setTimeout(()=>k(false),260);return ()=>window.clearTimeout(m)}},[o]);let[L,h]=useState(()=>{if(n)return u;if(typeof window>"u")return d;try{let m=window.localStorage.getItem(_);if(m){let S=Number(m);if(Number.isFinite(S)&&S>=p&&S<=r)return S}}catch{}return d}),E=n?u:L,v=useRef(null),B=useRef({minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f});B.current={minWidth:p,maxWidth:r,isControlled:n,onWidthChange:f};let w=useRef(null);if(!w.current){let m=P=>{let D=v.current;if(!D)return;let I=B.current,q=D.startX-P.clientX,N=Math.min(I.maxWidth,Math.max(I.minWidth,D.startWidth+q));D.lastWidth=N,I.isControlled||h(N),I.onWidthChange?.(N);},S=()=>{let P=v.current;if(P&&(v.current=null,document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",S),!B.current.isControlled))try{window.localStorage.setItem(_,String(P.lastWidth));}catch{}};w.current={move:m,up:S};}let Y=useCallback(m=>{m.preventDefault();let S=n?u:L;v.current={startX:m.clientX,startWidth:S,lastWidth:S},document.addEventListener("pointermove",w.current.move),document.addEventListener("pointerup",w.current.up);},[]);return useEffect(()=>()=>{let m=w.current;m&&(document.removeEventListener("pointermove",m.move),document.removeEventListener("pointerup",m.up));},[]),jsxs("div",{className:`ep-agent-panel${i?` ${i}`:""}`,style:{width:o?0:E,flex:o?"0 0 0px":`0 0 ${E}px`,height:"calc(100% - 16px)",margin:o?"8px 0 8px 0":"8px 8px 8px 12px",display:"flex",flexDirection:"column",background:"#ffffff",border:o?"1px solid transparent":"1px solid #e3e3e3",borderRadius:16,boxShadow:o?"none":"0 1px 2px rgba(60,64,67,0.05), 0 4px 12px rgba(60,64,67,0.08)",opacity:o?0:1,pointerEvents:o?"none":"auto",position:"relative",boxSizing:"border-box",minWidth:o?0:p,overflow:"hidden",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif",transition:C?"flex-basis 220ms cubic-bezier(0.4, 0, 0.2, 1), width 220ms cubic-bezier(0.4, 0, 0.2, 1), margin 220ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease":"opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease"},"aria-hidden":o,"data-testid":"agent-panel","data-state":o?"closed":"open",role:"complementary","aria-label":e,children:[jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":c,onPointerDown:Y,style:{position:"absolute",left:-3,top:0,bottom:0,width:6,cursor:"col-resize",touchAction:"none",zIndex:1},"data-testid":"agent-panel-resize-handle"}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 16px 10px",flex:"0 0 auto",background:"#ffffff"},children:[jsx("span",{style:{display:"inline-flex",alignItems:"center",color:"#0b57d0"},children:t??jsx(ae,{size:22})}),jsx("span",{style:{flex:1,fontSize:15,fontWeight:500,color:"#1f1f1f",letterSpacing:.1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),g&&jsx("button",{type:"button",onClick:g,"aria-label":l,title:l,"data-testid":"agent-panel-close",style:{border:"none",background:"transparent",padding:6,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#444746",borderRadius:999,transition:"background 0.15s"},onMouseEnter:m=>{m.currentTarget.style.background="#f1f3f4";},onMouseLeave:m=>{m.currentTarget.style.background="transparent";},children:jsx(le,{size:18})})]}),jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:x})]})}function ge(e){let t={},l=/(=\d+|\w+)\s*\{([^}]*)\}/g,c;for(;(c=l.exec(e))!==null;)t[c[1]]=c[2];return t}function F(e,t,l="en"){return t?e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g,(u,d,p)=>{let r=Number(t[d]);if(isNaN(r))return u;let f=ge(p),g=f[`=${r}`];if(g!==void 0)return g.replace(/#/g,String(r));let x;try{x=new Intl.PluralRules(l).select(r);}catch{x=r===1?"one":"other";}return (f[x]??f.other??"").replace(/#/g,String(r))}).replace(/\{(\w+)\}/g,(u,d)=>{let p=t[d];return p!==void 0?String(p):`{${d}}`}):e}function V(e){let t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}var xe=y.agentPanel.thinking,he=y.agentPanel.composerPlaceholder,be=y.agentPanel.send,ye=e=>F(y.agentPanel.timeline.working,{count:e}),Ae=e=>F(y.agentPanel.timeline.summary,{count:e}),Se=e=>F(y.agentPanel.timeline.earlier,{count:e}),j="ep-agent-chat-keyframes",Ce=`
2
2
  @keyframes epAgentDot {
3
3
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
4
4
  40% { transform: scale(1); opacity: 1; }
@@ -278,6 +278,19 @@ interface ParagraphFormatting {
278
278
  /** List level (0-8) (w:ilvl) */
279
279
  ilvl?: number;
280
280
  };
281
+ /**
282
+ * When `numPr` was resolved from the paragraph STYLE's pPr rather than the
283
+ * paragraph's own `<w:numPr>`, this records the style-sourced value. The
284
+ * serializer omits `numPr` while it still equals this value — writing it as
285
+ * direct formatting would flip Word's indent precedence (a directly
286
+ * referenced level's indents beat the style's; a style-referenced level's
287
+ * do not) and break the document on save/reload. Cleared the moment the
288
+ * user changes the numbering (values diverge).
289
+ */
290
+ numPrFromStyle?: {
291
+ numId?: number;
292
+ ilvl?: number;
293
+ };
281
294
  /** Outline level 0-9 (w:outlineLvl) */
282
295
  outlineLevel?: number;
283
296
  /** Paragraph style ID (w:pStyle) */
@@ -483,7 +496,7 @@ interface TableCellFormatting {
483
496
  /**
484
497
  * Number format type
485
498
  */
486
- type NumberFormat = 'decimal' | 'upperRoman' | 'lowerRoman' | 'upperLetter' | 'lowerLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'ideographDigital' | 'japaneseCounting' | 'aiueo' | 'iroha' | 'decimalFullWidth' | 'decimalHalfWidth' | 'japaneseLegal' | 'japaneseDigitalTenThousand' | 'decimalEnclosedCircle' | 'decimalFullWidth2' | 'aiueoFullWidth' | 'irohaFullWidth' | 'decimalZero' | 'bullet' | 'ganada' | 'chosung' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen' | 'decimalEnclosedCircleChinese' | 'ideographEnclosedCircle' | 'ideographTraditional' | 'ideographZodiac' | 'ideographZodiacTraditional' | 'taiwaneseCounting' | 'ideographLegalTraditional' | 'taiwaneseCountingThousand' | 'taiwaneseDigital' | 'chineseCounting' | 'chineseLegalSimplified' | 'chineseCountingThousand' | 'koreanDigital' | 'koreanCounting' | 'koreanLegal' | 'koreanDigital2' | 'vietnameseCounting' | 'russianLower' | 'russianUpper' | 'none' | 'numberInDash' | 'hebrew1' | 'hebrew2' | 'arabicAlpha' | 'arabicAbjad' | 'hindiVowels' | 'hindiConsonants' | 'hindiNumbers' | 'hindiCounting' | 'thaiLetters' | 'thaiNumbers' | 'thaiCounting';
499
+ type NumberFormat = 'decimal' | 'upperRoman' | 'lowerRoman' | 'upperLetter' | 'lowerLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'ideographDigital' | 'japaneseCounting' | 'aiueo' | 'iroha' | 'decimalFullWidth' | 'decimalHalfWidth' | 'japaneseLegal' | 'japaneseDigitalTenThousand' | 'decimalEnclosedCircle' | 'decimalFullWidth2' | 'aiueoFullWidth' | 'irohaFullWidth' | 'decimalZero' | 'decimalZero3' | 'decimalZero4' | 'decimalZero5' | 'bullet' | 'ganada' | 'chosung' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen' | 'decimalEnclosedCircleChinese' | 'ideographEnclosedCircle' | 'ideographTraditional' | 'ideographZodiac' | 'ideographZodiacTraditional' | 'taiwaneseCounting' | 'ideographLegalTraditional' | 'taiwaneseCountingThousand' | 'taiwaneseDigital' | 'chineseCounting' | 'chineseLegalSimplified' | 'chineseCountingThousand' | 'koreanDigital' | 'koreanCounting' | 'koreanLegal' | 'koreanDigital2' | 'vietnameseCounting' | 'russianLower' | 'russianUpper' | 'none' | 'numberInDash' | 'hebrew1' | 'hebrew2' | 'arabicAlpha' | 'arabicAbjad' | 'hindiVowels' | 'hindiConsonants' | 'hindiNumbers' | 'hindiCounting' | 'thaiLetters' | 'thaiNumbers' | 'thaiCounting';
487
500
  /**
488
501
  * Multi-level suffix (what follows the number)
489
502
  */
@@ -2343,12 +2356,10 @@ interface ReviewChange {
2343
2356
  */
2344
2357
  paragraphIndex: number;
2345
2358
  /**
2346
- * Set when the change lives inside a footnote or endnote. Such changes are
2347
- * surfaced for discovery only accept/reject operate on the body, so an id
2348
- * that resolves *only* to a note change throws `NoteChangeNotEditableError`
2349
- * (an id also present on a body change resolves to the body change). The
2350
- * raw `id` is not namespaced across parts, so pair it with `noteId` /
2351
- * `noteType` to identify the change.
2359
+ * Set when the change lives inside a footnote or endnote. The raw `id` is not
2360
+ * namespaced across parts, so pair it with `noteId` / `noteType` to identify
2361
+ * the change, and pass the whole `ReviewChange` back to `acceptChange` /
2362
+ * `rejectChange` to resolve it inside that note.
2352
2363
  */
2353
2364
  noteId?: number;
2354
2365
  /** Which note store the change came from. Absent for body changes. */
@@ -2378,6 +2389,11 @@ interface ChangeFilter {
2378
2389
  /** Also report tracked changes inside endnote bodies. Default: false. */
2379
2390
  includeEndnotes?: boolean;
2380
2391
  }
2392
+ /**
2393
+ * Options for `acceptAll` / `rejectAll`. Opt in to also resolve tracked changes
2394
+ * inside footnote/endnote bodies; mirrors the discovery flags on {@link ChangeFilter}.
2395
+ */
2396
+ type AcceptChangesOptions = Pick<ChangeFilter, 'includeFootnotes' | 'includeEndnotes'>;
2381
2397
  interface CommentFilter {
2382
2398
  author?: string;
2383
2399
  done?: boolean;
@@ -2496,6 +2512,17 @@ interface SetParagraphStyleOptions {
2496
2512
  paraId: string;
2497
2513
  styleId: string;
2498
2514
  }
2515
+ /** Kind of break `insertBreak` inserts after a paragraph. */
2516
+ type BreakType = 'page' | 'sectionNextPage' | 'sectionContinuous';
2517
+ /**
2518
+ * Insert a page or section break after the paragraph identified by `paraId`.
2519
+ * `page` adds a page break; `sectionNextPage` starts a new section on a new
2520
+ * page; `sectionContinuous` starts a new section on the same page.
2521
+ */
2522
+ interface InsertBreakOptions {
2523
+ paraId: string;
2524
+ type: BreakType;
2525
+ }
2499
2526
  /** A single paragraph anchored on a page (returned by `getPage` / `getPages`). */
2500
2527
  interface PageParagraph {
2501
2528
  paraId: string;
@@ -2605,10 +2632,11 @@ declare class DocxReviewer {
2605
2632
  * parts, so the same `id` can appear on a body change and a note change. Use
2606
2633
  * `noteType` / `noteId` to disambiguate.
2607
2634
  *
2608
- * Note changes are surfaced for discovery only. `acceptChange` /
2609
- * `rejectChange` operate on the document body, so an id that resolves *only*
2610
- * to a note change throws {@link NoteChangeNotEditableError} rather than
2611
- * mutating it (an id shared with a body change resolves to the body change).
2635
+ * A returned change with `noteId`/`noteType` set can be accepted or rejected
2636
+ * by passing the whole {@link ReviewChange} back to {@link acceptChange} /
2637
+ * {@link rejectChange} (which resolves it inside its footnote/endnote), or in
2638
+ * bulk via {@link acceptAll} / {@link rejectAll} with the matching `include*`
2639
+ * option; the result persists on {@link toBuffer}.
2612
2640
  */
2613
2641
  getChanges(filter?: ChangeFilter): ReviewChange[];
2614
2642
  /** Get all comments with their replies. */
@@ -2658,42 +2686,28 @@ declare class DocxReviewer {
2658
2686
  /** Delete text as a tracked change. */
2659
2687
  proposeDeletion(options: ProposeDeletionOptions): void;
2660
2688
  /**
2661
- * Guard the body-only accept/reject path against in-note changes.
2689
+ * Accept a tracked change. Pass a revision id to accept a change in the
2690
+ * document body, or pass a {@link ReviewChange} from {@link getChanges} to
2691
+ * accept it wherever it lives — a change carrying `noteId`/`noteType` is
2692
+ * resolved inside that footnote/endnote and persists on {@link toBuffer}.
2662
2693
  *
2663
- * A tracked-change `w:id` is unique only within its part, so the same id can
2664
- * appear in the body and in a footnote/endnote. When the id resolves to a
2665
- * body change we let the body-only impl handle it (body wins; the note, if
2666
- * any, is left untouched). When the id resolves ONLY to a note change we fail
2667
- * closed with {@link NoteChangeNotEditableError} rather than mis-reporting it
2668
- * as not-found — accept/reject cannot yet mutate note bodies.
2694
+ * A bare numeric id targets the body only: a `w:id` is unique only within its
2695
+ * part, so the same id can appear on a body change and a note change. To
2696
+ * resolve a note change pass the whole {@link ReviewChange} (its
2697
+ * `noteId`/`noteType` locate it); a bare id resolves to the body change, if any.
2669
2698
  */
2670
- private assertNotNoteOnly;
2699
+ acceptChange(target: number | ReviewChange): void;
2700
+ /** Reject a tracked change. See {@link acceptChange} for body-vs-note targeting. */
2701
+ rejectChange(target: number | ReviewChange): void;
2671
2702
  /**
2672
- * Accept a tracked change by its revision ID. Operates on the document body
2673
- * only.
2674
- *
2675
- * The public `id` is a `w:id`, which is unique only within its part, so the
2676
- * same id may appear in the body and in a footnote/endnote. Resolution is
2677
- * body-first: if a body change carries this id it is accepted and any
2678
- * same-id note change is left untouched. If the id resolves *only* to a note
2679
- * change, this throws {@link NoteChangeNotEditableError} (note bodies are not
2680
- * yet mutable here). If it resolves to nothing, it throws
2681
- * {@link ChangeNotFoundError}.
2682
- */
2683
- acceptChange(id: number): void;
2684
- /**
2685
- * Reject a tracked change by its revision ID. Operates on the document body
2686
- * only.
2687
- *
2688
- * Same resolution rules as {@link acceptChange}: body-first, throws
2689
- * {@link NoteChangeNotEditableError} for a note-only id, and
2690
- * {@link ChangeNotFoundError} when the id matches nothing.
2703
+ * Accept all tracked changes in the body. Pass `{ includeFootnotes,
2704
+ * includeEndnotes }` to also accept changes inside note bodies. Returns count.
2691
2705
  */
2692
- rejectChange(id: number): void;
2693
- /** Accept all tracked changes. Returns count accepted. */
2694
- acceptAll(): number;
2695
- /** Reject all tracked changes. Returns count rejected. */
2696
- rejectAll(): number;
2706
+ acceptAll(opts?: AcceptChangesOptions): number;
2707
+ /** Reject all tracked changes. See {@link acceptAll} for the note opt-in. */
2708
+ rejectAll(opts?: AcceptChangesOptions): number;
2709
+ /** The package's note stores, passed to change ops so note changes resolve. */
2710
+ private changeNotes;
2697
2711
  /**
2698
2712
  * Apply multiple review operations in one call.
2699
2713
  * Uses the reviewer's default author. Individual failures are collected, not thrown.
@@ -2787,6 +2801,11 @@ interface EditorRefLike {
2787
2801
  paraId: string;
2788
2802
  styleId: string;
2789
2803
  }): boolean;
2804
+ /** Insert a page or section break after the paragraph. Returns false if paraId is unknown. */
2805
+ insertBreak(options: {
2806
+ paraId: string;
2807
+ type: 'page' | 'sectionNextPage' | 'sectionContinuous';
2808
+ }): boolean;
2790
2809
  /** Read a single page's paragraphs (1-indexed). Returns null if the page does not exist. */
2791
2810
  getPageContent(pageNumber: number): PageContent | null;
2792
2811
  /** Total number of pages currently rendered. */
@@ -2838,6 +2857,12 @@ interface EditorBridge {
2838
2857
  * Direct edit, not a tracked change.
2839
2858
  */
2840
2859
  setParagraphStyle(options: SetParagraphStyleOptions): boolean;
2860
+ /**
2861
+ * Insert a page or section break after a paragraph, by paraId. `page` adds a
2862
+ * page break; `sectionNextPage` / `sectionContinuous` start a new section on
2863
+ * a new page / the same page. Direct edit, not a tracked change.
2864
+ */
2865
+ insertBreak(options: InsertBreakOptions): boolean;
2841
2866
  /** Read a single page (1-indexed). Returns null if the page does not exist. */
2842
2867
  getPage(pageNumber: number): PageContent | null;
2843
2868
  /** Read a range of pages (1-indexed, inclusive). Out-of-range pages are skipped. */
@@ -278,6 +278,19 @@ interface ParagraphFormatting {
278
278
  /** List level (0-8) (w:ilvl) */
279
279
  ilvl?: number;
280
280
  };
281
+ /**
282
+ * When `numPr` was resolved from the paragraph STYLE's pPr rather than the
283
+ * paragraph's own `<w:numPr>`, this records the style-sourced value. The
284
+ * serializer omits `numPr` while it still equals this value — writing it as
285
+ * direct formatting would flip Word's indent precedence (a directly
286
+ * referenced level's indents beat the style's; a style-referenced level's
287
+ * do not) and break the document on save/reload. Cleared the moment the
288
+ * user changes the numbering (values diverge).
289
+ */
290
+ numPrFromStyle?: {
291
+ numId?: number;
292
+ ilvl?: number;
293
+ };
281
294
  /** Outline level 0-9 (w:outlineLvl) */
282
295
  outlineLevel?: number;
283
296
  /** Paragraph style ID (w:pStyle) */
@@ -483,7 +496,7 @@ interface TableCellFormatting {
483
496
  /**
484
497
  * Number format type
485
498
  */
486
- type NumberFormat = 'decimal' | 'upperRoman' | 'lowerRoman' | 'upperLetter' | 'lowerLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'ideographDigital' | 'japaneseCounting' | 'aiueo' | 'iroha' | 'decimalFullWidth' | 'decimalHalfWidth' | 'japaneseLegal' | 'japaneseDigitalTenThousand' | 'decimalEnclosedCircle' | 'decimalFullWidth2' | 'aiueoFullWidth' | 'irohaFullWidth' | 'decimalZero' | 'bullet' | 'ganada' | 'chosung' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen' | 'decimalEnclosedCircleChinese' | 'ideographEnclosedCircle' | 'ideographTraditional' | 'ideographZodiac' | 'ideographZodiacTraditional' | 'taiwaneseCounting' | 'ideographLegalTraditional' | 'taiwaneseCountingThousand' | 'taiwaneseDigital' | 'chineseCounting' | 'chineseLegalSimplified' | 'chineseCountingThousand' | 'koreanDigital' | 'koreanCounting' | 'koreanLegal' | 'koreanDigital2' | 'vietnameseCounting' | 'russianLower' | 'russianUpper' | 'none' | 'numberInDash' | 'hebrew1' | 'hebrew2' | 'arabicAlpha' | 'arabicAbjad' | 'hindiVowels' | 'hindiConsonants' | 'hindiNumbers' | 'hindiCounting' | 'thaiLetters' | 'thaiNumbers' | 'thaiCounting';
499
+ type NumberFormat = 'decimal' | 'upperRoman' | 'lowerRoman' | 'upperLetter' | 'lowerLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'ideographDigital' | 'japaneseCounting' | 'aiueo' | 'iroha' | 'decimalFullWidth' | 'decimalHalfWidth' | 'japaneseLegal' | 'japaneseDigitalTenThousand' | 'decimalEnclosedCircle' | 'decimalFullWidth2' | 'aiueoFullWidth' | 'irohaFullWidth' | 'decimalZero' | 'decimalZero3' | 'decimalZero4' | 'decimalZero5' | 'bullet' | 'ganada' | 'chosung' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen' | 'decimalEnclosedCircleChinese' | 'ideographEnclosedCircle' | 'ideographTraditional' | 'ideographZodiac' | 'ideographZodiacTraditional' | 'taiwaneseCounting' | 'ideographLegalTraditional' | 'taiwaneseCountingThousand' | 'taiwaneseDigital' | 'chineseCounting' | 'chineseLegalSimplified' | 'chineseCountingThousand' | 'koreanDigital' | 'koreanCounting' | 'koreanLegal' | 'koreanDigital2' | 'vietnameseCounting' | 'russianLower' | 'russianUpper' | 'none' | 'numberInDash' | 'hebrew1' | 'hebrew2' | 'arabicAlpha' | 'arabicAbjad' | 'hindiVowels' | 'hindiConsonants' | 'hindiNumbers' | 'hindiCounting' | 'thaiLetters' | 'thaiNumbers' | 'thaiCounting';
487
500
  /**
488
501
  * Multi-level suffix (what follows the number)
489
502
  */
@@ -2343,12 +2356,10 @@ interface ReviewChange {
2343
2356
  */
2344
2357
  paragraphIndex: number;
2345
2358
  /**
2346
- * Set when the change lives inside a footnote or endnote. Such changes are
2347
- * surfaced for discovery only accept/reject operate on the body, so an id
2348
- * that resolves *only* to a note change throws `NoteChangeNotEditableError`
2349
- * (an id also present on a body change resolves to the body change). The
2350
- * raw `id` is not namespaced across parts, so pair it with `noteId` /
2351
- * `noteType` to identify the change.
2359
+ * Set when the change lives inside a footnote or endnote. The raw `id` is not
2360
+ * namespaced across parts, so pair it with `noteId` / `noteType` to identify
2361
+ * the change, and pass the whole `ReviewChange` back to `acceptChange` /
2362
+ * `rejectChange` to resolve it inside that note.
2352
2363
  */
2353
2364
  noteId?: number;
2354
2365
  /** Which note store the change came from. Absent for body changes. */
@@ -2378,6 +2389,11 @@ interface ChangeFilter {
2378
2389
  /** Also report tracked changes inside endnote bodies. Default: false. */
2379
2390
  includeEndnotes?: boolean;
2380
2391
  }
2392
+ /**
2393
+ * Options for `acceptAll` / `rejectAll`. Opt in to also resolve tracked changes
2394
+ * inside footnote/endnote bodies; mirrors the discovery flags on {@link ChangeFilter}.
2395
+ */
2396
+ type AcceptChangesOptions = Pick<ChangeFilter, 'includeFootnotes' | 'includeEndnotes'>;
2381
2397
  interface CommentFilter {
2382
2398
  author?: string;
2383
2399
  done?: boolean;
@@ -2496,6 +2512,17 @@ interface SetParagraphStyleOptions {
2496
2512
  paraId: string;
2497
2513
  styleId: string;
2498
2514
  }
2515
+ /** Kind of break `insertBreak` inserts after a paragraph. */
2516
+ type BreakType = 'page' | 'sectionNextPage' | 'sectionContinuous';
2517
+ /**
2518
+ * Insert a page or section break after the paragraph identified by `paraId`.
2519
+ * `page` adds a page break; `sectionNextPage` starts a new section on a new
2520
+ * page; `sectionContinuous` starts a new section on the same page.
2521
+ */
2522
+ interface InsertBreakOptions {
2523
+ paraId: string;
2524
+ type: BreakType;
2525
+ }
2499
2526
  /** A single paragraph anchored on a page (returned by `getPage` / `getPages`). */
2500
2527
  interface PageParagraph {
2501
2528
  paraId: string;
@@ -2605,10 +2632,11 @@ declare class DocxReviewer {
2605
2632
  * parts, so the same `id` can appear on a body change and a note change. Use
2606
2633
  * `noteType` / `noteId` to disambiguate.
2607
2634
  *
2608
- * Note changes are surfaced for discovery only. `acceptChange` /
2609
- * `rejectChange` operate on the document body, so an id that resolves *only*
2610
- * to a note change throws {@link NoteChangeNotEditableError} rather than
2611
- * mutating it (an id shared with a body change resolves to the body change).
2635
+ * A returned change with `noteId`/`noteType` set can be accepted or rejected
2636
+ * by passing the whole {@link ReviewChange} back to {@link acceptChange} /
2637
+ * {@link rejectChange} (which resolves it inside its footnote/endnote), or in
2638
+ * bulk via {@link acceptAll} / {@link rejectAll} with the matching `include*`
2639
+ * option; the result persists on {@link toBuffer}.
2612
2640
  */
2613
2641
  getChanges(filter?: ChangeFilter): ReviewChange[];
2614
2642
  /** Get all comments with their replies. */
@@ -2658,42 +2686,28 @@ declare class DocxReviewer {
2658
2686
  /** Delete text as a tracked change. */
2659
2687
  proposeDeletion(options: ProposeDeletionOptions): void;
2660
2688
  /**
2661
- * Guard the body-only accept/reject path against in-note changes.
2689
+ * Accept a tracked change. Pass a revision id to accept a change in the
2690
+ * document body, or pass a {@link ReviewChange} from {@link getChanges} to
2691
+ * accept it wherever it lives — a change carrying `noteId`/`noteType` is
2692
+ * resolved inside that footnote/endnote and persists on {@link toBuffer}.
2662
2693
  *
2663
- * A tracked-change `w:id` is unique only within its part, so the same id can
2664
- * appear in the body and in a footnote/endnote. When the id resolves to a
2665
- * body change we let the body-only impl handle it (body wins; the note, if
2666
- * any, is left untouched). When the id resolves ONLY to a note change we fail
2667
- * closed with {@link NoteChangeNotEditableError} rather than mis-reporting it
2668
- * as not-found — accept/reject cannot yet mutate note bodies.
2694
+ * A bare numeric id targets the body only: a `w:id` is unique only within its
2695
+ * part, so the same id can appear on a body change and a note change. To
2696
+ * resolve a note change pass the whole {@link ReviewChange} (its
2697
+ * `noteId`/`noteType` locate it); a bare id resolves to the body change, if any.
2669
2698
  */
2670
- private assertNotNoteOnly;
2699
+ acceptChange(target: number | ReviewChange): void;
2700
+ /** Reject a tracked change. See {@link acceptChange} for body-vs-note targeting. */
2701
+ rejectChange(target: number | ReviewChange): void;
2671
2702
  /**
2672
- * Accept a tracked change by its revision ID. Operates on the document body
2673
- * only.
2674
- *
2675
- * The public `id` is a `w:id`, which is unique only within its part, so the
2676
- * same id may appear in the body and in a footnote/endnote. Resolution is
2677
- * body-first: if a body change carries this id it is accepted and any
2678
- * same-id note change is left untouched. If the id resolves *only* to a note
2679
- * change, this throws {@link NoteChangeNotEditableError} (note bodies are not
2680
- * yet mutable here). If it resolves to nothing, it throws
2681
- * {@link ChangeNotFoundError}.
2682
- */
2683
- acceptChange(id: number): void;
2684
- /**
2685
- * Reject a tracked change by its revision ID. Operates on the document body
2686
- * only.
2687
- *
2688
- * Same resolution rules as {@link acceptChange}: body-first, throws
2689
- * {@link NoteChangeNotEditableError} for a note-only id, and
2690
- * {@link ChangeNotFoundError} when the id matches nothing.
2703
+ * Accept all tracked changes in the body. Pass `{ includeFootnotes,
2704
+ * includeEndnotes }` to also accept changes inside note bodies. Returns count.
2691
2705
  */
2692
- rejectChange(id: number): void;
2693
- /** Accept all tracked changes. Returns count accepted. */
2694
- acceptAll(): number;
2695
- /** Reject all tracked changes. Returns count rejected. */
2696
- rejectAll(): number;
2706
+ acceptAll(opts?: AcceptChangesOptions): number;
2707
+ /** Reject all tracked changes. See {@link acceptAll} for the note opt-in. */
2708
+ rejectAll(opts?: AcceptChangesOptions): number;
2709
+ /** The package's note stores, passed to change ops so note changes resolve. */
2710
+ private changeNotes;
2697
2711
  /**
2698
2712
  * Apply multiple review operations in one call.
2699
2713
  * Uses the reviewer's default author. Individual failures are collected, not thrown.
@@ -2787,6 +2801,11 @@ interface EditorRefLike {
2787
2801
  paraId: string;
2788
2802
  styleId: string;
2789
2803
  }): boolean;
2804
+ /** Insert a page or section break after the paragraph. Returns false if paraId is unknown. */
2805
+ insertBreak(options: {
2806
+ paraId: string;
2807
+ type: 'page' | 'sectionNextPage' | 'sectionContinuous';
2808
+ }): boolean;
2790
2809
  /** Read a single page's paragraphs (1-indexed). Returns null if the page does not exist. */
2791
2810
  getPageContent(pageNumber: number): PageContent | null;
2792
2811
  /** Total number of pages currently rendered. */
@@ -2838,6 +2857,12 @@ interface EditorBridge {
2838
2857
  * Direct edit, not a tracked change.
2839
2858
  */
2840
2859
  setParagraphStyle(options: SetParagraphStyleOptions): boolean;
2860
+ /**
2861
+ * Insert a page or section break after a paragraph, by paraId. `page` adds a
2862
+ * page break; `sectionNextPage` / `sectionContinuous` start a new section on
2863
+ * a new page / the same page. Direct edit, not a tracked change.
2864
+ */
2865
+ insertBreak(options: InsertBreakOptions): boolean;
2841
2866
  /** Read a single page (1-indexed). Returns null if the page does not exist. */
2842
2867
  getPage(pageNumber: number): PageContent | null;
2843
2868
  /** Read a range of pages (1-indexed, inclusive). Out-of-range pages are skipped. */
package/dist/server.d.mts CHANGED
@@ -31,4 +31,4 @@
31
31
  * @packageDocumentation
32
32
  * @public
33
33
  */
34
- export { s as AgentContextSnapshot, j as AgentToolDefinition, k as AgentToolResult, D as DocxReviewer, E as EditorBridge, S as SelectionInfo, o as createReviewerBridge, n as docxAgentTools, p as executeToolCall, t as getToolDisplayName, q as getToolSchemas } from './server-BaVhdHCd.mjs';
34
+ export { s as AgentContextSnapshot, j as AgentToolDefinition, k as AgentToolResult, D as DocxReviewer, E as EditorBridge, S as SelectionInfo, o as createReviewerBridge, n as docxAgentTools, p as executeToolCall, t as getToolDisplayName, q as getToolSchemas } from './server-DP8QoY84.mjs';
package/dist/server.d.ts CHANGED
@@ -31,4 +31,4 @@
31
31
  * @packageDocumentation
32
32
  * @public
33
33
  */
34
- export { s as AgentContextSnapshot, j as AgentToolDefinition, k as AgentToolResult, D as DocxReviewer, E as EditorBridge, S as SelectionInfo, o as createReviewerBridge, n as docxAgentTools, p as executeToolCall, t as getToolDisplayName, q as getToolSchemas } from './server-BaVhdHCd.js';
34
+ export { s as AgentContextSnapshot, j as AgentToolDefinition, k as AgentToolResult, D as DocxReviewer, E as EditorBridge, S as SelectionInfo, o as createReviewerBridge, n as docxAgentTools, p as executeToolCall, t as getToolDisplayName, q as getToolSchemas } from './server-DP8QoY84.js';
package/dist/server.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkLX3NJWKV_js=require('./chunk-LX3NJWKV.js'),chunkXUAUDUJU_js=require('./chunk-XUAUDUJU.js'),chunkRI5S75JY_js=require('./chunk-RI5S75JY.js');Object.defineProperty(exports,"DocxReviewer",{enumerable:true,get:function(){return chunkLX3NJWKV_js.a}});Object.defineProperty(exports,"createReviewerBridge",{enumerable:true,get:function(){return chunkXUAUDUJU_js.n}});Object.defineProperty(exports,"docxAgentTools",{enumerable:true,get:function(){return chunkRI5S75JY_js.a}});Object.defineProperty(exports,"executeToolCall",{enumerable:true,get:function(){return chunkRI5S75JY_js.b}});Object.defineProperty(exports,"getToolDisplayName",{enumerable:true,get:function(){return chunkRI5S75JY_js.c}});Object.defineProperty(exports,"getToolSchemas",{enumerable:true,get:function(){return chunkRI5S75JY_js.d}});
1
+ 'use strict';var chunkVAQTAQZG_js=require('./chunk-VAQTAQZG.js'),chunkYU3OJ2DE_js=require('./chunk-YU3OJ2DE.js'),chunkAO5SO6ZS_js=require('./chunk-AO5SO6ZS.js');Object.defineProperty(exports,"DocxReviewer",{enumerable:true,get:function(){return chunkVAQTAQZG_js.a}});Object.defineProperty(exports,"createReviewerBridge",{enumerable:true,get:function(){return chunkYU3OJ2DE_js.n}});Object.defineProperty(exports,"docxAgentTools",{enumerable:true,get:function(){return chunkAO5SO6ZS_js.a}});Object.defineProperty(exports,"executeToolCall",{enumerable:true,get:function(){return chunkAO5SO6ZS_js.b}});Object.defineProperty(exports,"getToolDisplayName",{enumerable:true,get:function(){return chunkAO5SO6ZS_js.c}});Object.defineProperty(exports,"getToolSchemas",{enumerable:true,get:function(){return chunkAO5SO6ZS_js.d}});
package/dist/server.mjs CHANGED
@@ -1 +1 @@
1
- export{a as DocxReviewer}from'./chunk-NFAEIOLC.mjs';export{n as createReviewerBridge}from'./chunk-P4DRISTP.mjs';export{a as docxAgentTools,b as executeToolCall,c as getToolDisplayName,d as getToolSchemas}from'./chunk-24MVJKCP.mjs';
1
+ export{a as DocxReviewer}from'./chunk-CGBO6ID5.mjs';export{n as createReviewerBridge}from'./chunk-J773ZJGL.mjs';export{a as docxAgentTools,b as executeToolCall,c as getToolDisplayName,d as getToolSchemas}from'./chunk-MSKW7E36.mjs';