@agent-native/core 0.11.3 → 0.11.4

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 (65) hide show
  1. package/dist/agent/index.d.ts +1 -1
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js.map +1 -1
  4. package/dist/agent/production-agent.d.ts +29 -0
  5. package/dist/agent/production-agent.d.ts.map +1 -1
  6. package/dist/agent/production-agent.js +57 -2
  7. package/dist/agent/production-agent.js.map +1 -1
  8. package/dist/client/AgentPanel.d.ts.map +1 -1
  9. package/dist/client/AgentPanel.js +10 -6
  10. package/dist/client/AgentPanel.js.map +1 -1
  11. package/dist/client/AssistantChat.d.ts.map +1 -1
  12. package/dist/client/AssistantChat.js +1 -1
  13. package/dist/client/AssistantChat.js.map +1 -1
  14. package/dist/client/ConnectBuilderCard.d.ts +3 -3
  15. package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
  16. package/dist/client/ConnectBuilderCard.js +5 -6
  17. package/dist/client/ConnectBuilderCard.js.map +1 -1
  18. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  19. package/dist/client/MultiTabAssistantChat.js +8 -6
  20. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  21. package/dist/client/NewWorkspaceAppFlow.d.ts.map +1 -1
  22. package/dist/client/NewWorkspaceAppFlow.js +2 -0
  23. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  24. package/dist/client/composer/TiptapComposer.js +2 -2
  25. package/dist/client/composer/TiptapComposer.js.map +1 -1
  26. package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
  27. package/dist/client/extensions/ExtensionsListPage.js +36 -4
  28. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  29. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  30. package/dist/client/settings/SettingsPanel.js +2 -1
  31. package/dist/client/settings/SettingsPanel.js.map +1 -1
  32. package/dist/client/settings/useBuilderStatus.d.ts +5 -3
  33. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  34. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  35. package/dist/extensions/actions.js +1 -1
  36. package/dist/extensions/actions.js.map +1 -1
  37. package/dist/extensions/html-shell.d.ts.map +1 -1
  38. package/dist/extensions/html-shell.js +47 -1
  39. package/dist/extensions/html-shell.js.map +1 -1
  40. package/dist/server/agent-chat-plugin.d.ts +6 -0
  41. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  42. package/dist/server/agent-chat-plugin.js +6 -2
  43. package/dist/server/agent-chat-plugin.js.map +1 -1
  44. package/dist/server/builder-browser.d.ts +2 -0
  45. package/dist/server/builder-browser.d.ts.map +1 -1
  46. package/dist/server/builder-browser.js +24 -0
  47. package/dist/server/builder-browser.js.map +1 -1
  48. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  49. package/dist/server/core-routes-plugin.js +46 -29
  50. package/dist/server/core-routes-plugin.js.map +1 -1
  51. package/dist/server/index.d.ts +3 -3
  52. package/dist/server/index.d.ts.map +1 -1
  53. package/dist/server/index.js +2 -2
  54. package/dist/server/index.js.map +1 -1
  55. package/dist/server/request-context.d.ts +11 -0
  56. package/dist/server/request-context.d.ts.map +1 -1
  57. package/dist/server/request-context.js.map +1 -1
  58. package/dist/templates/workspace-core/AGENTS.md +19 -3
  59. package/dist/templates/workspace-root/AGENTS.md +20 -0
  60. package/dist/templates/workspace-root/README.md +6 -0
  61. package/docs/content/extensions.md +12 -11
  62. package/package.json +1 -1
  63. package/src/templates/workspace-core/AGENTS.md +19 -3
  64. package/src/templates/workspace-root/AGENTS.md +20 -0
  65. package/src/templates/workspace-root/README.md +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AAuCf,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAwJ7D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,kBAAkB,EAClB,eAAe,CAChB;IACC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6HAA6H;IAC7H,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAstCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAShD;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;yDACqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAsC,EACtC,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,QAAkB,EAClB,WAAmB,EACnB,aAAqB,GACtB,EAAE,iBAAiB,2CAoVnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,SAgB7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAqBtE"}
1
+ {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AAuCf,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAwJ7D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,kBAAkB,EAClB,eAAe,CAChB;IACC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6HAA6H;IAC7H,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AA0tCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAShD;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;yDACqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAsC,EACtC,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,QAAkB,EAClB,WAAmB,EACnB,aAAqB,GACtB,EAAE,iBAAiB,2CAqVnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,SAgB7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAqBtE"}
@@ -328,7 +328,7 @@ function AgentPanelInner({ defaultMode = "chat", className, apiUrl, emptyStateTe
328
328
  const hasSubTabs = childTabs.length > 0;
329
329
  // Main row: only show top-level (non-child) tabs
330
330
  const mainTabs = tabs.filter((t) => !t.parentThreadId);
331
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center px-2 py-1 border-b border-border gap-0.5", children: [_jsx("div", { className: "flex items-center gap-0.5 min-w-0 overflow-x-auto scrollbar-none flex-1", children: mode === "chat"
331
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center px-2 py-1 border-b border-border gap-0.5", children: [_jsx("div", { className: "agent-tabs-scroll flex items-center gap-0.5 min-w-0 overflow-x-auto flex-1", children: mode === "chat"
332
332
  ? mainTabs.map((tab) => {
333
333
  // Highlight the parent tab if a child is active
334
334
  const isActive = tab.id === activeTabId ||
@@ -368,7 +368,7 @@ function AgentPanelInner({ defaultMode = "chat", className, apiUrl, emptyStateTe
368
368
  "bg-accent text-foreground"), "aria-label": "Chat tab options", children: _jsx(IconDotsVertical, { size: 14 }) }) }), _jsxs(DropdownMenuContent, { align: "end", sideOffset: 4, className: "w-44", children: [_jsxs(DropdownMenuItem, { onSelect: () => closeTab(activeTabId), children: ["Close Tab", _jsx(DropdownMenuShortcut, { children: closeTabHint })] }), _jsx(DropdownMenuItem, { onSelect: () => closeOtherTabs(activeTabId), children: "Close Other Tabs" }), _jsxs(DropdownMenuItem, { onSelect: () => closeAllTabs(), children: ["Close All Tabs", _jsx(DropdownMenuShortcut, { children: closeAllTabsHint })] })] })] })] })), mode === "cli" && (_jsxs(_Fragment, { children: [_jsx(IconTooltip, { content: "New terminal", children: _jsx("button", { onClick: addCliTab, "aria-label": "New terminal", className: "flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50", children: _jsx(IconPlus, { size: 14 }) }) }), availableClis.length > 0 && (_jsxs(DropdownMenu, { open: cliPickerOpen, onOpenChange: setCliPickerOpen, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { "aria-label": `Select CLI, currently ${selectedLabel}`, className: cn("flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50", cliPickerOpen && "bg-accent text-foreground"), children: _jsx(IconSettings, { size: 14 }) }) }), _jsx(DropdownMenuContent, { align: "end", sideOffset: 4, className: "w-48", children: availableClis.map((cli) => (_jsxs(DropdownMenuItem, { onSelect: () => selectCli(cli.command), className: cn(cli.command === selectedCli
369
369
  ? "font-medium"
370
370
  : "text-muted-foreground"), children: [cli.command === selectedCli ? (_jsx(IconCheck, { size: 12, className: "shrink-0" })) : (_jsx("span", { className: "w-3" })), cli.label] }, cli.command))) })] })), _jsxs(DropdownMenu, { open: tabMenuOpen === "__cli_global", onOpenChange: (open) => setTabMenuOpen(open ? "__cli_global" : null), children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { className: cn("flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50", tabMenuOpen === "__cli_global" &&
371
- "bg-accent text-foreground"), "aria-label": "Terminal tab options", children: _jsx(IconDotsVertical, { size: 14 }) }) }), _jsxs(DropdownMenuContent, { align: "end", sideOffset: 4, className: "w-44", children: [_jsxs(DropdownMenuItem, { onSelect: () => closeCliTab(activeCliTab), children: ["Close Tab", _jsx(DropdownMenuShortcut, { children: closeTabHint })] }), _jsx(DropdownMenuItem, { onSelect: () => closeOtherCliTabs(activeCliTab), children: "Close Other Tabs" }), _jsxs(DropdownMenuItem, { onSelect: () => closeAllCliTabs(), children: ["Close All Tabs", _jsx(DropdownMenuShortcut, { children: closeAllTabsHint })] })] })] })] }))] })] }), mode === "chat" && hasSubTabs && (_jsx("div", { className: "flex items-center px-2 py-0.5 border-b border-border gap-0.5 bg-muted/30", children: _jsxs("div", { className: "flex items-center gap-0.5 min-w-0 overflow-x-auto scrollbar-none flex-1", children: [_jsx("div", { role: "button", tabIndex: 0, onClick: () => setActiveTabId(focusParentId), onKeyDown: activateOnKeyDown(() => setActiveTabId(focusParentId)), className: cn("flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[10px] font-medium cursor-pointer", activeTabId === focusParentId
371
+ "bg-accent text-foreground"), "aria-label": "Terminal tab options", children: _jsx(IconDotsVertical, { size: 14 }) }) }), _jsxs(DropdownMenuContent, { align: "end", sideOffset: 4, className: "w-44", children: [_jsxs(DropdownMenuItem, { onSelect: () => closeCliTab(activeCliTab), children: ["Close Tab", _jsx(DropdownMenuShortcut, { children: closeTabHint })] }), _jsx(DropdownMenuItem, { onSelect: () => closeOtherCliTabs(activeCliTab), children: "Close Other Tabs" }), _jsxs(DropdownMenuItem, { onSelect: () => closeAllCliTabs(), children: ["Close All Tabs", _jsx(DropdownMenuShortcut, { children: closeAllTabsHint })] })] })] })] }))] })] }), mode === "chat" && hasSubTabs && (_jsx("div", { className: "flex items-center px-2 py-0.5 border-b border-border gap-0.5 bg-muted/30", children: _jsxs("div", { className: "agent-tabs-scroll flex items-center gap-0.5 min-w-0 overflow-x-auto flex-1", children: [_jsx("div", { role: "button", tabIndex: 0, onClick: () => setActiveTabId(focusParentId), onKeyDown: activateOnKeyDown(() => setActiveTabId(focusParentId)), className: cn("flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[10px] font-medium cursor-pointer", activeTabId === focusParentId
372
372
  ? "bg-accent text-foreground"
373
373
  : "text-muted-foreground hover:bg-accent hover:text-foreground"), children: "Main" }), childTabs.map((tab) => (_jsxs("div", { role: "button", tabIndex: 0, ref: tab.id === activeTabId ? activeTabRefCb : undefined, onClick: () => setActiveTabId(tab.id), onKeyDown: activateOnKeyDown(() => setActiveTabId(tab.id)), className: cn("agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[10px] font-medium cursor-pointer max-w-[140px]", tab.id === activeTabId
374
374
  ? "bg-accent text-foreground"
@@ -407,6 +407,8 @@ function AgentPanelInner({ defaultMode = "chat", className, apiUrl, emptyStateTe
407
407
  ]);
408
408
  return (_jsxs("div", { className: cn("agent-panel-root flex flex-1 flex-col min-h-0 h-full text-[13px] leading-[1.2] antialiased", className), style: AGENT_PANEL_ROOT_STYLE, "data-agent-fullscreen": isFullscreen ? "true" : undefined, children: [_jsx("style", { dangerouslySetInnerHTML: {
409
409
  __html: ".agent-tab-close{opacity:0}.agent-tab:hover .agent-tab-close{opacity:1}" +
410
+ ".agent-tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;}" +
411
+ ".agent-tabs-scroll::-webkit-scrollbar{display:none;}" +
410
412
  `[data-agent-fullscreen='true'] .agent-thread-content,` +
411
413
  `[data-agent-fullscreen='true'] .agent-composer-area{` +
412
414
  `max-width:${FULLSCREEN_CONTENT_MAX_PX}px;` +
@@ -423,6 +425,8 @@ const SIDEBAR_STORAGE_KEY = "agent-native-sidebar-width";
423
425
  const SIDEBAR_FULLSCREEN_KEY = "agent-native-sidebar-fullscreen";
424
426
  const SIDEBAR_MIN = 280;
425
427
  const SIDEBAR_MAX = 700;
428
+ const SIDEBAR_OVERLAY_Z_INDEX = 70;
429
+ const SIDEBAR_FULLSCREEN_Z_INDEX = 90;
426
430
  /** Max width of the centered chat column in fullscreen mode (Claude-style). */
427
431
  const FULLSCREEN_CONTENT_MAX_PX = 760;
428
432
  function ResizeHandle({ position, onDrag, }) {
@@ -875,7 +879,7 @@ export function AgentSidebar({ children, emptyStateText = "How can I help you?",
875
879
  width,
876
880
  maxWidth: "85vw",
877
881
  maxHeight: "100vh",
878
- zIndex: 40,
882
+ zIndex: SIDEBAR_OVERLAY_Z_INDEX,
879
883
  background: "hsl(var(--background))",
880
884
  borderLeft: isLeft ? "none" : "1px solid hsl(var(--border))",
881
885
  borderRight: isLeft ? "1px solid hsl(var(--border))" : "none",
@@ -896,7 +900,7 @@ export function AgentSidebar({ children, emptyStateText = "How can I help you?",
896
900
  inset: 0,
897
901
  width: "100%",
898
902
  maxHeight: "100vh",
899
- zIndex: 40,
903
+ zIndex: SIDEBAR_FULLSCREEN_Z_INDEX,
900
904
  background: "hsl(var(--background))",
901
905
  display: open ? "flex" : "none",
902
906
  };
@@ -918,8 +922,8 @@ export function AgentSidebar({ children, emptyStateText = "How can I help you?",
918
922
  const sidebar = (_jsxs(_Fragment, { children: [showResizeHandle && !isLeft && (_jsx(ResizeHandle, { position: position, onDrag: handleDrag })), _jsx("div", { className: cn("agent-sidebar-panel flex shrink-0 flex-col overflow-hidden text-[13px] leading-[1.2] antialiased", animateMobile &&
919
923
  isMobile &&
920
924
  "shadow-2xl transition-transform duration-[260ms] ease-[cubic-bezier(0.32,0.72,0,1)] motion-reduce:transition-none"), style: panelStyle, inert: isMobile && !open ? true : undefined, "aria-hidden": isMobile && !open ? true : undefined, children: _jsx(AgentPanel, { emptyStateText: emptyStateText, suggestions: suggestions, onCollapse: () => setOpenPersisted(false), isFullscreen: effectiveFullscreen, onToggleFullscreen: isMobile ? undefined : toggleFullscreen }) }), showResizeHandle && isLeft && (_jsx(ResizeHandle, { position: position, onDrag: handleDrag }))] }));
921
- return (_jsxs("div", { className: "flex min-w-0 flex-1 h-screen overflow-hidden", children: [isMobile && !presentationMode && (animateMobile || open) && (_jsx("div", { className: cn("fixed inset-0 z-40 bg-black/40", animateMobile &&
922
- "transition-opacity duration-200 motion-reduce:transition-none", animateMobile && !open && "pointer-events-none opacity-0", animateMobile && open && "opacity-100"), onClick: () => setOpenPersisted(false) })), _jsx(URLSync, {}), isLeft && !presentationMode ? sidebar : null, _jsx("div", { className: "flex flex-1 flex-col overflow-auto min-w-0", children: _jsx(ScreenRefreshBoundary, { children: children }) }), !isLeft && !presentationMode ? sidebar : null] }));
925
+ return (_jsxs("div", { className: "flex min-w-0 flex-1 h-screen overflow-hidden", children: [isMobile && !presentationMode && (animateMobile || open) && (_jsx("div", { className: cn("fixed inset-0 bg-black/40", animateMobile &&
926
+ "transition-opacity duration-200 motion-reduce:transition-none", animateMobile && !open && "pointer-events-none opacity-0", animateMobile && open && "opacity-100"), style: { zIndex: SIDEBAR_OVERLAY_Z_INDEX - 1 }, onClick: () => setOpenPersisted(false) })), _jsx(URLSync, {}), isLeft && !presentationMode ? sidebar : null, _jsx("div", { className: "flex flex-1 flex-col overflow-auto min-w-0", children: _jsx(ScreenRefreshBoundary, { children: children }) }), !isLeft && !presentationMode ? sidebar : null] }));
923
927
  }
924
928
  /**
925
929
  * Focus the agent chat composer input.