@agent-native/core 0.35.0 → 0.35.3

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 (104) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/context-xray-local.d.ts +2 -2
  3. package/dist/cli/context-xray-local.d.ts.map +1 -1
  4. package/dist/cli/context-xray-local.js +1449 -53
  5. package/dist/cli/context-xray-local.js.map +1 -1
  6. package/dist/cli/create.d.ts.map +1 -1
  7. package/dist/cli/create.js +1 -0
  8. package/dist/cli/create.js.map +1 -1
  9. package/dist/cli/skills.d.ts.map +1 -1
  10. package/dist/cli/skills.js +226 -78
  11. package/dist/cli/skills.js.map +1 -1
  12. package/dist/cli/templates-meta.d.ts.map +1 -1
  13. package/dist/cli/templates-meta.js +8 -4
  14. package/dist/cli/templates-meta.js.map +1 -1
  15. package/dist/client/AgentPanel.d.ts.map +1 -1
  16. package/dist/client/AgentPanel.js +5 -11
  17. package/dist/client/AgentPanel.js.map +1 -1
  18. package/dist/client/AssistantChat.d.ts +6 -0
  19. package/dist/client/AssistantChat.d.ts.map +1 -1
  20. package/dist/client/AssistantChat.js +33 -5
  21. package/dist/client/AssistantChat.js.map +1 -1
  22. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  23. package/dist/client/MultiTabAssistantChat.js +63 -3
  24. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  25. package/dist/client/agent-chat.d.ts +39 -3
  26. package/dist/client/agent-chat.d.ts.map +1 -1
  27. package/dist/client/agent-chat.js +168 -33
  28. package/dist/client/agent-chat.js.map +1 -1
  29. package/dist/client/application-state.d.ts +13 -0
  30. package/dist/client/application-state.d.ts.map +1 -0
  31. package/dist/client/application-state.js +99 -0
  32. package/dist/client/application-state.js.map +1 -0
  33. package/dist/client/frame-protocol.d.ts +11 -3
  34. package/dist/client/frame-protocol.d.ts.map +1 -1
  35. package/dist/client/frame-protocol.js.map +1 -1
  36. package/dist/client/index.d.ts +4 -2
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js +4 -2
  39. package/dist/client/index.js.map +1 -1
  40. package/dist/client/progress/RunsTray.d.ts +1 -0
  41. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  42. package/dist/client/progress/RunsTray.js +50 -16
  43. package/dist/client/progress/RunsTray.js.map +1 -1
  44. package/dist/client/use-action.d.ts +12 -0
  45. package/dist/client/use-action.d.ts.map +1 -1
  46. package/dist/client/use-action.js +14 -2
  47. package/dist/client/use-action.js.map +1 -1
  48. package/dist/client/use-agent-chat-context.d.ts +15 -0
  49. package/dist/client/use-agent-chat-context.d.ts.map +1 -0
  50. package/dist/client/use-agent-chat-context.js +32 -0
  51. package/dist/client/use-agent-chat-context.js.map +1 -0
  52. package/dist/deploy/build.d.ts.map +1 -1
  53. package/dist/deploy/build.js +1 -2
  54. package/dist/deploy/build.js.map +1 -1
  55. package/dist/index.browser.d.ts +1 -1
  56. package/dist/index.browser.d.ts.map +1 -1
  57. package/dist/index.browser.js +1 -1
  58. package/dist/index.browser.js.map +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/mcp/server.d.ts +4 -2
  64. package/dist/mcp/server.d.ts.map +1 -1
  65. package/dist/mcp/server.js +33 -4
  66. package/dist/mcp/server.js.map +1 -1
  67. package/dist/provider-api/index.d.ts.map +1 -1
  68. package/dist/provider-api/index.js +14 -6
  69. package/dist/provider-api/index.js.map +1 -1
  70. package/dist/server/agent-teams.d.ts +4 -1
  71. package/dist/server/agent-teams.d.ts.map +1 -1
  72. package/dist/server/agent-teams.js +104 -28
  73. package/dist/server/agent-teams.js.map +1 -1
  74. package/dist/server/auth.d.ts.map +1 -1
  75. package/dist/server/auth.js +21 -11
  76. package/dist/server/auth.js.map +1 -1
  77. package/dist/server/request-context.d.ts +3 -4
  78. package/dist/server/request-context.d.ts.map +1 -1
  79. package/dist/server/request-context.js.map +1 -1
  80. package/dist/server/self-dispatch.d.ts.map +1 -1
  81. package/dist/server/self-dispatch.js +17 -1
  82. package/dist/server/self-dispatch.js.map +1 -1
  83. package/dist/server/ssr-handler.d.ts.map +1 -1
  84. package/dist/server/ssr-handler.js +9 -18
  85. package/dist/server/ssr-handler.js.map +1 -1
  86. package/dist/templates/default/AGENTS.md +1 -1
  87. package/dist/templates/default/DEVELOPING.md +7 -13
  88. package/dist/templates/default/package.json +3 -3
  89. package/dist/templates/workspace-core/AGENTS.md +6 -4
  90. package/dist/templates/workspace-root/AGENTS.md +6 -4
  91. package/docs/content/actions.md +5 -7
  92. package/docs/content/client.md +49 -44
  93. package/docs/content/context-awareness.md +20 -33
  94. package/docs/content/creating-templates.md +2 -2
  95. package/docs/content/key-concepts.md +3 -3
  96. package/docs/content/sharing.md +1 -1
  97. package/docs/content/template-mail.md +1 -1
  98. package/docs/content/voice-input.md +1 -1
  99. package/package.json +11 -7
  100. package/src/templates/default/AGENTS.md +1 -1
  101. package/src/templates/default/DEVELOPING.md +7 -13
  102. package/src/templates/default/package.json +3 -3
  103. package/src/templates/workspace-core/AGENTS.md +6 -4
  104. package/src/templates/workspace-root/AGENTS.md +6 -4
@@ -1,7 +1,9 @@
1
- export { addContextToAgentChat, appendAgentChatContextToMessage, formatAgentChatContextItemsForPrompt, sendToAgentChat, setContextToAgentChat, generateTabId, type AgentChatContextItem, type AgentChatContextMessage, type AgentChatMessage, } from "./agent-chat.js";
1
+ export { addContextToAgentChat, appendAgentChatContextToMessage, clearAgentChatContext, formatAgentChatContextItemsForPrompt, listAgentChatContext, refreshAgentChatContext, removeAgentChatContextItem, sendToAgentChat, setAgentChatContextItem, setContextToAgentChat, generateTabId, type AgentChatContextItem, type AgentChatContextMessage, type AgentChatContextMutationOptions, type AgentChatContextRemoveOptions, type AgentChatContextSetOptions, type AgentChatContextState, type AgentChatMessage, } from "./agent-chat.js";
2
2
  export { useAgentChatGenerating } from "./use-agent-chat.js";
3
+ export { useAgentChatContext, type UseAgentChatContextResult, } from "./use-agent-chat-context.js";
3
4
  export { useCodeMode, useDevMode } from "./use-dev-mode.js";
4
5
  export { agentNativePath, appApiPath, appBasePath, appPath, } from "./api-path.js";
6
+ export { deleteClientAppState, readClientAppState, setClientAppState, writeClientAppState, type ClientAppStateReadOptions, type ClientAppStateWriteOptions, } from "./application-state.js";
5
7
  export { ensureEmbedAuthFetchInterceptor, getEmbedAuthToken, isEmbedAuthActive, isEmbedMcpChatBridgeActive, } from "./embed-auth.js";
6
8
  export { codeAgentTranscriptEventsToContent, createCodeAgentChatAdapter, type CodeAgentChatController, type CodeAgentChatControlResult, type CodeAgentChatFollowUpMode, type CodeAgentChatTranscriptEvent, type CreateCodeAgentChatAdapterOptions, } from "./code-agent-chat-adapter.js";
7
9
  export { buildRepositoryFromCodeAgentTranscript, type BuildRepositoryFromCodeAgentTranscriptOptions, type CodeAgentThreadTranscriptEvent, } from "../agent/thread-data-builder.js";
@@ -71,7 +73,7 @@ export { ResourcesPanel, ResourceTree, ResourceEditor, useResources, useResource
71
73
  export type { AppToFrameMessage, FrameToAppMessage, FrameMessage, CodeCompleteMessage, ChatRunningMessage, } from "./frame-protocol.js";
72
74
  export { CommandMenu, useCommandMenuShortcut, openAgentSidebar, submitToAgent, type CommandMenuProps, type CommandGroupProps, type CommandItemProps, type CommandShortcutProps, } from "./CommandMenu.js";
73
75
  export { DevOverlay, useDevOverlayShortcut, registerDevPanel, unregisterDevPanel, listDevPanels, subscribeDevPanels, useDevOption, clearAllDevOverlayStorage, devOptionKey, DEV_OVERLAY_STORAGE_PREFIX, type DevOverlayProps, type DevPanel, type DevOption, type DevBooleanOption, type DevSelectOption, type DevStringOption, type DevActionOption, type DevOptionValue, } from "./dev-overlay/index.js";
74
- export { useActionQuery, useActionMutation, type ActionRegistry, } from "./use-action.js";
76
+ export { callAction, useActionQuery, useActionMutation, type ActionRegistry, type ClientActionCallOptions, type ClientActionMethod, } from "./use-action.js";
75
77
  export { usePinchZoom, type UsePinchZoomOptions } from "./use-pinch-zoom.js";
76
78
  export { ShareButton, ShareDialog, VisibilityBadge, type ShareButtonProps, type ShareDialogProps, type VisibilityBadgeProps, } from "./sharing/index.js";
77
79
  export { postNavigate, isInAgentEmbed, AGENT_NAVIGATE_MESSAGE_TYPE, type AgentNavigateMessage, } from "./embed.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import { installRouteChunkRecovery } from "./route-chunk-recovery.js";
2
2
  import { stripAuthRedirectParamFromUrl } from "./auth-redirect-url.js";
3
3
  installRouteChunkRecovery();
4
4
  stripAuthRedirectParamFromUrl();
5
- export { addContextToAgentChat, appendAgentChatContextToMessage, formatAgentChatContextItemsForPrompt, sendToAgentChat, setContextToAgentChat, generateTabId, } from "./agent-chat.js";
5
+ export { addContextToAgentChat, appendAgentChatContextToMessage, clearAgentChatContext, formatAgentChatContextItemsForPrompt, listAgentChatContext, refreshAgentChatContext, removeAgentChatContextItem, sendToAgentChat, setAgentChatContextItem, setContextToAgentChat, generateTabId, } from "./agent-chat.js";
6
6
  export { useAgentChatGenerating } from "./use-agent-chat.js";
7
+ export { useAgentChatContext, } from "./use-agent-chat-context.js";
7
8
  export { useCodeMode, useDevMode } from "./use-dev-mode.js";
8
9
  export { agentNativePath, appApiPath, appBasePath, appPath, } from "./api-path.js";
10
+ export { deleteClientAppState, readClientAppState, setClientAppState, writeClientAppState, } from "./application-state.js";
9
11
  export { ensureEmbedAuthFetchInterceptor, getEmbedAuthToken, isEmbedAuthActive, isEmbedMcpChatBridgeActive, } from "./embed-auth.js";
10
12
  export { codeAgentTranscriptEventsToContent, createCodeAgentChatAdapter, } from "./code-agent-chat-adapter.js";
11
13
  export { buildRepositoryFromCodeAgentTranscript, } from "../agent/thread-data-builder.js";
@@ -73,7 +75,7 @@ export { AGENT_CLIENT_ID } from "../collab/agent-identity.js";
73
75
  export { ResourcesPanel, ResourceTree, ResourceEditor, useResources, useResourceTree, useResource, useCreateResource, useUpdateResource, useDeleteResource, useUploadResource, } from "./resources/index.js";
74
76
  export { CommandMenu, useCommandMenuShortcut, openAgentSidebar, submitToAgent, } from "./CommandMenu.js";
75
77
  export { DevOverlay, useDevOverlayShortcut, registerDevPanel, unregisterDevPanel, listDevPanels, subscribeDevPanels, useDevOption, clearAllDevOverlayStorage, devOptionKey, DEV_OVERLAY_STORAGE_PREFIX, } from "./dev-overlay/index.js";
76
- export { useActionQuery, useActionMutation, } from "./use-action.js";
78
+ export { callAction, useActionQuery, useActionMutation, } from "./use-action.js";
77
79
  export { usePinchZoom } from "./use-pinch-zoom.js";
78
80
  export { ShareButton, ShareDialog, VisibilityBadge, } from "./sharing/index.js";
79
81
  export { postNavigate, isInAgentEmbed, AGENT_NAVIGATE_MESSAGE_TYPE, } from "./embed.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { installRouteChunkRecovery } from \"./route-chunk-recovery.js\";\nimport { stripAuthRedirectParamFromUrl } from \"./auth-redirect-url.js\";\n\ninstallRouteChunkRecovery();\nstripAuthRedirectParamFromUrl();\n\nexport {\n addContextToAgentChat,\n appendAgentChatContextToMessage,\n formatAgentChatContextItemsForPrompt,\n sendToAgentChat,\n setContextToAgentChat,\n generateTabId,\n type AgentChatContextItem,\n type AgentChatContextMessage,\n type AgentChatMessage,\n} from \"./agent-chat.js\";\nexport { useAgentChatGenerating } from \"./use-agent-chat.js\";\nexport { useCodeMode, useDevMode } from \"./use-dev-mode.js\";\nexport {\n agentNativePath,\n appApiPath,\n appBasePath,\n appPath,\n} from \"./api-path.js\";\nexport {\n ensureEmbedAuthFetchInterceptor,\n getEmbedAuthToken,\n isEmbedAuthActive,\n isEmbedMcpChatBridgeActive,\n} from \"./embed-auth.js\";\nexport {\n codeAgentTranscriptEventsToContent,\n createCodeAgentChatAdapter,\n type CodeAgentChatController,\n type CodeAgentChatControlResult,\n type CodeAgentChatFollowUpMode,\n type CodeAgentChatTranscriptEvent,\n type CreateCodeAgentChatAdapterOptions,\n} from \"./code-agent-chat-adapter.js\";\nexport {\n buildRepositoryFromCodeAgentTranscript,\n type BuildRepositoryFromCodeAgentTranscriptOptions,\n type CodeAgentThreadTranscriptEvent,\n} from \"../agent/thread-data-builder.js\";\nexport {\n compareCodeAgentTranscriptEvents,\n getCodeAgentTranscriptSeq,\n isCodeAgentRunActive,\n mergeCodeAgentTranscriptEvents,\n type CodeAgentRunStateLike,\n type CodeAgentTranscriptOrderEvent,\n} from \"../code-agents/transcript-order.js\";\nexport { useSendToAgentChat } from \"./use-send-to-agent-chat.js\";\nexport {\n useChatModels,\n type UseChatModelsResult,\n type EngineModelGroup,\n} from \"./use-chat-models.js\";\nexport {\n CodeRequiredDialog,\n type CodeRequiredDialogProps,\n} from \"./components/CodeRequiredDialog.js\";\nexport {\n AgentConversation,\n AgentConversationMessageView,\n normalizeCodeAgentTranscriptForConversation,\n useNearBottomAutoscroll,\n type CodeAgentConversationTranscriptEvent,\n type CodeAgentConversationTranscriptEventType,\n type NormalizeCodeAgentTranscriptOptions,\n type AgentConversationArtifact,\n type AgentConversationAttachment,\n type AgentConversationMessage,\n type AgentConversationMessagePart,\n type AgentConversationMessageRole,\n type AgentConversationNotice,\n type AgentConversationNoticeTone,\n type AgentConversationToolCall,\n type AgentConversationToolState,\n} from \"./conversation/index.js\";\nexport { McpAppRenderer } from \"./mcp-apps/McpAppRenderer.js\";\nexport {\n AGENT_NATIVE_MCP_APP_HOST_MESSAGE_TYPES,\n getMcpAppHostContext,\n openMcpAppHostLink,\n requestMcpAppDisplayMode,\n sendMcpAppHostMessage,\n updateMcpAppModelContext,\n useMcpAppHostContext,\n type AgentNativeMcpAppHostMessageType,\n type McpAppDisplayMode,\n type McpAppHostChatMessage,\n type McpAppHostCapabilities,\n type McpAppHostContext,\n type McpAppHostContextSnapshot,\n type McpAppModelContextContentPart,\n type McpAppModelContextUpdate,\n} from \"./mcp-app-host.js\";\nexport {\n CodeAgentIndicator,\n type CodeAgentIndicatorProps,\n} from \"./components/CodeAgentIndicator.js\";\nexport {\n useDbSync,\n useFileWatcher,\n useScreenRefreshKey,\n} from \"./use-db-sync.js\";\nexport {\n useChangeVersion,\n useChangeVersions,\n getChangeVersion,\n bumpChangeVersion,\n} from \"./use-change-version.js\";\nexport { useReconciledState } from \"./use-external-value.js\";\nexport {\n buildDynamicAgentSuggestions,\n dedupeSuggestions,\n mergeAgentSuggestions,\n normalizeAgentDynamicSuggestionsConfig,\n useAgentDynamicSuggestions,\n type AgentDynamicSuggestionContext,\n type AgentDynamicSuggestionsConfig,\n type AgentDynamicSuggestionsOption,\n} from \"./dynamic-suggestions.js\";\nexport { cn } from \"./utils.js\";\nexport { ApiKeySettings } from \"./components/ApiKeySettings.js\";\nexport { useSession, type AuthSession } from \"./use-session.js\";\nexport {\n sendToFrame,\n onFrameMessage,\n requestUserInfo,\n getFrameOrigin,\n getFramePostMessageTargetOrigin,\n getCallbackOrigin,\n oauthRedirectUri,\n isInFrame,\n enterStyleEditing,\n enterTextEditing,\n exitSelectionMode,\n type UserInfo,\n} from \"./frame.js\";\nexport {\n getBuilderParentOrigin,\n isInBuilderFrame,\n sendToBuilderChat,\n type BuilderChatMessage,\n} from \"./builder-frame.js\";\nexport {\n AgentNative,\n useAgentNativeScreenContext,\n type AgentNativeCommandCallback,\n type AgentNativeCommandCallbackInfo,\n type AgentNativeProps,\n} from \"./AgentNative.js\";\nexport {\n AgentNativeEmbedded,\n useAgentNativeEmbeddedBrowserSession,\n type AgentNativeEmbeddedBrowserSessionOptions,\n type AgentNativeEmbeddedCommandCallback,\n type AgentNativeEmbeddedCommandCallbackInfo,\n type AgentNativeEmbeddedProps,\n type UseAgentNativeEmbeddedBrowserSessionOptions,\n} from \"./AgentNativeEmbedded.js\";\nexport {\n defineClientAction,\n type AgentNativeClientActionDefinition,\n type AgentNativeClientActionRunner,\n} from \"./client-action.js\";\nexport {\n AgentNativeFrame,\n type AgentNativeFrameProps,\n} from \"./AgentNativeFrame.js\";\nexport {\n AgentNativeRouteWarmup,\n type AgentNativeRouteWarmupProps,\n} from \"./route-warmup.js\";\nexport {\n AgentNativeExtensionFrame,\n AgentNativeExtensionSlot,\n type AgentNativeExtensionFrameProps,\n type AgentNativeExtensionPermissionList,\n type AgentNativeExtensionSlotProps,\n type AgentNativeExtensionStorageScopeList,\n} from \"./extensions/AgentNativeExtensionFrame.js\";\nexport {\n AGENT_NATIVE_EXTENSION_MESSAGE_TYPES,\n buildAgentNativeExtensionHtml,\n createHttpAgentNativeExtensionStorage,\n createLocalStorageAgentNativeExtensionStorage,\n getAgentNativeExtensionManifest,\n isAgentNativeExtensionAllowedInSlot,\n normalizeAgentNativeExtensionSandbox,\n type AgentNativeExtensionDefinition,\n type AgentNativeExtensionManifest,\n type AgentNativeExtensionMessageType,\n type AgentNativeExtensionStorage,\n type AgentNativeExtensionStorageContext,\n type AgentNativeExtensionStorageOptions,\n type AgentNativeExtensionStorageRow,\n type AgentNativeExtensionStorageScope,\n type BuildAgentNativeExtensionHtmlOptions,\n type CreateHttpAgentNativeExtensionStorageOptions,\n} from \"./extensions/portable-extension.js\";\nexport {\n AGENT_NATIVE_HOST_BRIDGE_VERSION,\n AGENT_NATIVE_HOST_MESSAGE_TYPES,\n announceAgentNativeFrameReady,\n createAgentNativeHostBridge,\n defaultAgentNativeHostCommands,\n onAgentNativeHostInit,\n readAgentNativeScreenContext,\n requestAgentNativeHostActions,\n requestAgentNativeHostContext,\n runAgentNativeHostAction,\n sendAgentNativeHostCommand,\n type AgentNativeActionAvailability,\n type AgentNativeActionManifestEntry,\n type AgentNativeClientAction,\n type AgentNativeClientActionApprovalConfig,\n type AgentNativeClientActionGetter,\n type AgentNativeClientActionRuntime,\n type AgentNativeClientActions,\n type AgentNativeHostAuth,\n type AgentNativeHostAuthPayload,\n type AgentNativeHostBridge,\n type AgentNativeHostBridgeEvent,\n type AgentNativeHostBridgeOptions,\n type AgentNativeHostCapabilities,\n type AgentNativeHostCommandHandler,\n type AgentNativeHostCommandHandlers,\n type AgentNativeHostCommandRequest,\n type AgentNativeHostContext,\n type AgentNativeHostContextGetter,\n type AgentNativeHostInit,\n type AgentNativeHostMessageType,\n type AgentNativeHostRequestOptions,\n type AgentNativeHostResourceContext,\n type AgentNativeHostRouteContext,\n type AgentNativeHostSelectionContext,\n type AgentNativeHostSession,\n type AgentNativeJsonSchema,\n type AgentNativeScreenSnapshot,\n type AgentNativeScreenSnapshotOptions,\n type BuiltInAgentNativeHostCommand,\n} from \"./host-bridge.js\";\nexport {\n AGENT_NATIVE_HOST_TOOL_NAMES,\n createAgentNativeHostTools,\n type AgentNativeHostToolDefinition,\n type AgentNativeHostToolName,\n type AgentNativeHostToolParameters,\n type AgentNativeHostToolSet,\n type CreateAgentNativeHostToolsOptions,\n type RunAgentNativeHostActionToolInput,\n type SendAgentNativeHostCommandToolInput,\n} from \"./host-tools.js\";\nexport {\n createAgentNativeBrowserSessionBridge,\n startAgentNativeBrowserSessionBridge,\n type AgentNativeBrowserSessionBridge,\n type AgentNativeBrowserSessionBridgeOptions,\n} from \"./browser-session-bridge.js\";\nexport type {\n AgentNativeBrowserSession,\n AgentNativeBrowserSessionAction,\n AgentNativeBrowserSessionRecord,\n AgentNativeBrowserSessionRequest,\n AgentNativeBrowserSessionRequestStatus,\n AgentNativeBrowserSessionRequestType,\n CreateAgentNativeBrowserSessionRequestInput,\n RegisterAgentNativeBrowserSessionInput,\n} from \"../browser-sessions/types.js\";\nexport {\n NewWorkspaceAppFlow,\n type NewWorkspaceAppFlowProps,\n type VaultSecretOption,\n} from \"./NewWorkspaceAppFlow.js\";\nexport {\n AssistantChat,\n clearChatStorage,\n type AssistantChatProps,\n type AssistantChatHandle,\n} from \"./AssistantChat.js\";\nexport {\n MultiTabAssistantChat,\n type MultiTabAssistantChatProps,\n type MultiTabAssistantChatHeaderProps,\n} from \"./MultiTabAssistantChat.js\";\nexport { RunStuckBanner, type RunStuckBannerProps } from \"./RunStuckBanner.js\";\nexport {\n useRunStuckDetection,\n useAbortRun,\n type RunStuckState,\n type UseRunStuckDetectionOptions,\n} from \"./use-run-stuck-detection.js\";\nexport { createAgentChatAdapter } from \"./agent-chat-adapter.js\";\nexport {\n AgentComposerFrame,\n type AgentComposerFrameProps,\n PromptComposer,\n AGENT_PROMPT_MAX_INLINE_IMAGE_BYTES,\n AGENT_PROMPT_MAX_INLINE_TEXT_CHARS,\n escapePromptAttachmentAttribute,\n formatPromptWithAttachments,\n isInlineableAgentPromptFile,\n readAgentPromptAttachment,\n type PromptComposerProps,\n type PromptComposerFile,\n type PromptComposerSubmitOptions,\n type AgentPromptAttachment,\n type ReadAgentPromptAttachmentOptions,\n type AgentComposerLayoutVariant,\n type SlashCommand,\n type SkillResult,\n} from \"./composer/index.js\";\nexport type { TiptapComposerHandle } from \"./composer/TiptapComposer.js\";\nexport {\n GuidedQuestionFlow,\n useGuidedQuestionFlow,\n formatGuidedAnswerValue,\n formatGuidedAnswersForAgent,\n getOtherGuidedAnswerText,\n hasGuidedAnswer,\n isOtherGuidedAnswer,\n makeOtherGuidedAnswer,\n normalizeGuidedAnswers,\n type GuidedQuestion,\n type GuidedQuestionAnswers,\n type GuidedQuestionFlowProps,\n type GuidedQuestionOption,\n type GuidedQuestionPayload,\n type GuidedQuestionType,\n type UseGuidedQuestionFlowOptions,\n} from \"./guided-questions.js\";\nexport {\n useChatThreads,\n type ChatThreadScope,\n type ChatThreadSummary,\n type ChatThreadData,\n type UseChatThreadsOptions,\n} from \"./use-chat-threads.js\";\nexport {\n AgentChatSurface,\n AgentPanel,\n AgentSidebar,\n AgentToggleButton,\n focusAgentChat,\n type AgentChatSurfaceMode,\n type AgentChatSurfaceProps,\n type AgentPanelProps,\n type AgentSidebarProps,\n} from \"./AgentPanel.js\";\nexport {\n SIDEBAR_STATE_CHANGE_EVENT,\n type AgentSidebarStateChangeDetail,\n type AgentSidebarStateMode,\n type AgentSidebarStateSource,\n} from \"./agent-sidebar-state.js\";\nexport { AgentNativeIcon } from \"./components/icons/AgentNativeIcon.js\";\nexport { SettingsPanel, type SettingsPanelProps } from \"./settings/index.js\";\nexport { useBuilderStatus } from \"./settings/useBuilderStatus.js\";\nexport {\n openBuilderConnectPopup,\n useBuilderConnectFlow,\n type BuilderConnectFlow,\n type BuilderConnectFlowOptions,\n type OpenBuilderConnectPopupOptions,\n} from \"./settings/useBuilderStatus.js\";\n// Deprecated — use AgentSidebar + AgentToggleButton instead\nexport {\n ProductionAgentPanel,\n type ProductionAgentPanelProps,\n} from \"./ProductionAgentPanel.js\";\nexport {\n useProductionAgent,\n type ProductionAgentMessage,\n type UseProductionAgentOptions,\n type UseProductionAgentResult,\n} from \"./useProductionAgent.js\";\nexport { Turnstile, type TurnstileProps } from \"./Turnstile.js\";\nexport {\n OpenSourceBadge,\n PoweredByBadge,\n type OpenSourceBadgeProps,\n type PoweredByBadgeProps,\n} from \"./PoweredByBadge.js\";\nexport {\n StarfieldBackground,\n type StarfieldBackgroundProps,\n} from \"./StarfieldBackground.js\";\nexport { FeedbackButton, type FeedbackButtonProps } from \"./FeedbackButton.js\";\nexport {\n DevDatabaseLink,\n type DevDatabaseLinkProps,\n} from \"./db-admin/DevDatabaseLink.js\";\nexport { ErrorBoundary } from \"./ErrorBoundary.js\";\nexport { installRouteChunkRecovery } from \"./route-chunk-recovery.js\";\nexport { ClientOnly } from \"./ClientOnly.js\";\nexport { DefaultSpinner } from \"./DefaultSpinner.js\";\nexport {\n getThemeInitScript,\n themeInitScript,\n type ThemePreference,\n} from \"./theme.js\";\nexport {\n APPEARANCE_PRESETS,\n applyAppearance,\n getStoredAppearance,\n useAppearance,\n useAppearanceSync,\n type AppearancePresetId,\n} from \"./appearance.js\";\nexport {\n AppearancePicker,\n type AppearancePickerProps,\n} from \"./AppearancePicker.js\";\nexport { AgentTerminal, type AgentTerminalProps } from \"./terminal/index.js\";\nexport {\n trackEvent,\n trackSessionStatus,\n configureTracking,\n setSentryUser,\n captureError,\n captureClientException,\n type ClientCaptureContext,\n} from \"./analytics.js\";\nexport {\n useCollaborativeDoc,\n isReconcileLeadClient,\n emailToColor,\n emailToName,\n type UseCollaborativeDocOptions,\n type UseCollaborativeDocResult,\n type CollabUser,\n} from \"../collab/client.js\";\nexport { AGENT_CLIENT_ID } from \"../collab/agent-identity.js\";\nexport {\n ResourcesPanel,\n ResourceTree,\n ResourceEditor,\n useResources,\n useResourceTree,\n useResource,\n useCreateResource,\n useUpdateResource,\n useDeleteResource,\n useUploadResource,\n type Resource,\n type ResourceMeta,\n type TreeNode,\n type ResourceScope,\n type ResourceTreeProps,\n type ResourceEditorProps,\n} from \"./resources/index.js\";\nexport type {\n AppToFrameMessage,\n FrameToAppMessage,\n FrameMessage,\n CodeCompleteMessage,\n ChatRunningMessage,\n} from \"./frame-protocol.js\";\nexport {\n CommandMenu,\n useCommandMenuShortcut,\n openAgentSidebar,\n submitToAgent,\n type CommandMenuProps,\n type CommandGroupProps,\n type CommandItemProps,\n type CommandShortcutProps,\n} from \"./CommandMenu.js\";\nexport {\n DevOverlay,\n useDevOverlayShortcut,\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n type DevOverlayProps,\n type DevPanel,\n type DevOption,\n type DevBooleanOption,\n type DevSelectOption,\n type DevStringOption,\n type DevActionOption,\n type DevOptionValue,\n} from \"./dev-overlay/index.js\";\nexport {\n useActionQuery,\n useActionMutation,\n type ActionRegistry,\n} from \"./use-action.js\";\nexport { usePinchZoom, type UsePinchZoomOptions } from \"./use-pinch-zoom.js\";\nexport {\n ShareButton,\n ShareDialog,\n VisibilityBadge,\n type ShareButtonProps,\n type ShareDialogProps,\n type VisibilityBadgeProps,\n} from \"./sharing/index.js\";\nexport {\n postNavigate,\n isInAgentEmbed,\n AGENT_NAVIGATE_MESSAGE_TYPE,\n type AgentNavigateMessage,\n} from \"./embed.js\";\nexport { IframeEmbed, parseEmbedBody } from \"./IframeEmbed.js\";\nexport {\n useAvatarUrl,\n uploadAvatar,\n invalidateAvatarCache,\n} from \"./use-avatar.js\";\nexport {\n ObservabilityDashboard,\n ThumbsFeedback,\n} from \"./observability/index.js\";\n// Presence UI components\nexport {\n PresenceBar,\n type PresenceBarProps,\n} from \"./components/PresenceBar.js\";\nexport {\n AgentPresenceChip,\n type AgentPresenceChipProps,\n} from \"./components/AgentPresenceChip.js\";\n// Structured data collaboration hooks\nexport {\n useCollaborativeMap,\n useCollaborativeArray,\n type UseCollaborativeMapOptions,\n type UseCollaborativeMapResult,\n type UseCollaborativeArrayOptions,\n type UseCollaborativeArrayResult,\n} from \"../collab/client-struct.js\";\nexport { NotificationsBell } from \"./notifications/index.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { installRouteChunkRecovery } from \"./route-chunk-recovery.js\";\nimport { stripAuthRedirectParamFromUrl } from \"./auth-redirect-url.js\";\n\ninstallRouteChunkRecovery();\nstripAuthRedirectParamFromUrl();\n\nexport {\n addContextToAgentChat,\n appendAgentChatContextToMessage,\n clearAgentChatContext,\n formatAgentChatContextItemsForPrompt,\n listAgentChatContext,\n refreshAgentChatContext,\n removeAgentChatContextItem,\n sendToAgentChat,\n setAgentChatContextItem,\n setContextToAgentChat,\n generateTabId,\n type AgentChatContextItem,\n type AgentChatContextMessage,\n type AgentChatContextMutationOptions,\n type AgentChatContextRemoveOptions,\n type AgentChatContextSetOptions,\n type AgentChatContextState,\n type AgentChatMessage,\n} from \"./agent-chat.js\";\nexport { useAgentChatGenerating } from \"./use-agent-chat.js\";\nexport {\n useAgentChatContext,\n type UseAgentChatContextResult,\n} from \"./use-agent-chat-context.js\";\nexport { useCodeMode, useDevMode } from \"./use-dev-mode.js\";\nexport {\n agentNativePath,\n appApiPath,\n appBasePath,\n appPath,\n} from \"./api-path.js\";\nexport {\n deleteClientAppState,\n readClientAppState,\n setClientAppState,\n writeClientAppState,\n type ClientAppStateReadOptions,\n type ClientAppStateWriteOptions,\n} from \"./application-state.js\";\nexport {\n ensureEmbedAuthFetchInterceptor,\n getEmbedAuthToken,\n isEmbedAuthActive,\n isEmbedMcpChatBridgeActive,\n} from \"./embed-auth.js\";\nexport {\n codeAgentTranscriptEventsToContent,\n createCodeAgentChatAdapter,\n type CodeAgentChatController,\n type CodeAgentChatControlResult,\n type CodeAgentChatFollowUpMode,\n type CodeAgentChatTranscriptEvent,\n type CreateCodeAgentChatAdapterOptions,\n} from \"./code-agent-chat-adapter.js\";\nexport {\n buildRepositoryFromCodeAgentTranscript,\n type BuildRepositoryFromCodeAgentTranscriptOptions,\n type CodeAgentThreadTranscriptEvent,\n} from \"../agent/thread-data-builder.js\";\nexport {\n compareCodeAgentTranscriptEvents,\n getCodeAgentTranscriptSeq,\n isCodeAgentRunActive,\n mergeCodeAgentTranscriptEvents,\n type CodeAgentRunStateLike,\n type CodeAgentTranscriptOrderEvent,\n} from \"../code-agents/transcript-order.js\";\nexport { useSendToAgentChat } from \"./use-send-to-agent-chat.js\";\nexport {\n useChatModels,\n type UseChatModelsResult,\n type EngineModelGroup,\n} from \"./use-chat-models.js\";\nexport {\n CodeRequiredDialog,\n type CodeRequiredDialogProps,\n} from \"./components/CodeRequiredDialog.js\";\nexport {\n AgentConversation,\n AgentConversationMessageView,\n normalizeCodeAgentTranscriptForConversation,\n useNearBottomAutoscroll,\n type CodeAgentConversationTranscriptEvent,\n type CodeAgentConversationTranscriptEventType,\n type NormalizeCodeAgentTranscriptOptions,\n type AgentConversationArtifact,\n type AgentConversationAttachment,\n type AgentConversationMessage,\n type AgentConversationMessagePart,\n type AgentConversationMessageRole,\n type AgentConversationNotice,\n type AgentConversationNoticeTone,\n type AgentConversationToolCall,\n type AgentConversationToolState,\n} from \"./conversation/index.js\";\nexport { McpAppRenderer } from \"./mcp-apps/McpAppRenderer.js\";\nexport {\n AGENT_NATIVE_MCP_APP_HOST_MESSAGE_TYPES,\n getMcpAppHostContext,\n openMcpAppHostLink,\n requestMcpAppDisplayMode,\n sendMcpAppHostMessage,\n updateMcpAppModelContext,\n useMcpAppHostContext,\n type AgentNativeMcpAppHostMessageType,\n type McpAppDisplayMode,\n type McpAppHostChatMessage,\n type McpAppHostCapabilities,\n type McpAppHostContext,\n type McpAppHostContextSnapshot,\n type McpAppModelContextContentPart,\n type McpAppModelContextUpdate,\n} from \"./mcp-app-host.js\";\nexport {\n CodeAgentIndicator,\n type CodeAgentIndicatorProps,\n} from \"./components/CodeAgentIndicator.js\";\nexport {\n useDbSync,\n useFileWatcher,\n useScreenRefreshKey,\n} from \"./use-db-sync.js\";\nexport {\n useChangeVersion,\n useChangeVersions,\n getChangeVersion,\n bumpChangeVersion,\n} from \"./use-change-version.js\";\nexport { useReconciledState } from \"./use-external-value.js\";\nexport {\n buildDynamicAgentSuggestions,\n dedupeSuggestions,\n mergeAgentSuggestions,\n normalizeAgentDynamicSuggestionsConfig,\n useAgentDynamicSuggestions,\n type AgentDynamicSuggestionContext,\n type AgentDynamicSuggestionsConfig,\n type AgentDynamicSuggestionsOption,\n} from \"./dynamic-suggestions.js\";\nexport { cn } from \"./utils.js\";\nexport { ApiKeySettings } from \"./components/ApiKeySettings.js\";\nexport { useSession, type AuthSession } from \"./use-session.js\";\nexport {\n sendToFrame,\n onFrameMessage,\n requestUserInfo,\n getFrameOrigin,\n getFramePostMessageTargetOrigin,\n getCallbackOrigin,\n oauthRedirectUri,\n isInFrame,\n enterStyleEditing,\n enterTextEditing,\n exitSelectionMode,\n type UserInfo,\n} from \"./frame.js\";\nexport {\n getBuilderParentOrigin,\n isInBuilderFrame,\n sendToBuilderChat,\n type BuilderChatMessage,\n} from \"./builder-frame.js\";\nexport {\n AgentNative,\n useAgentNativeScreenContext,\n type AgentNativeCommandCallback,\n type AgentNativeCommandCallbackInfo,\n type AgentNativeProps,\n} from \"./AgentNative.js\";\nexport {\n AgentNativeEmbedded,\n useAgentNativeEmbeddedBrowserSession,\n type AgentNativeEmbeddedBrowserSessionOptions,\n type AgentNativeEmbeddedCommandCallback,\n type AgentNativeEmbeddedCommandCallbackInfo,\n type AgentNativeEmbeddedProps,\n type UseAgentNativeEmbeddedBrowserSessionOptions,\n} from \"./AgentNativeEmbedded.js\";\nexport {\n defineClientAction,\n type AgentNativeClientActionDefinition,\n type AgentNativeClientActionRunner,\n} from \"./client-action.js\";\nexport {\n AgentNativeFrame,\n type AgentNativeFrameProps,\n} from \"./AgentNativeFrame.js\";\nexport {\n AgentNativeRouteWarmup,\n type AgentNativeRouteWarmupProps,\n} from \"./route-warmup.js\";\nexport {\n AgentNativeExtensionFrame,\n AgentNativeExtensionSlot,\n type AgentNativeExtensionFrameProps,\n type AgentNativeExtensionPermissionList,\n type AgentNativeExtensionSlotProps,\n type AgentNativeExtensionStorageScopeList,\n} from \"./extensions/AgentNativeExtensionFrame.js\";\nexport {\n AGENT_NATIVE_EXTENSION_MESSAGE_TYPES,\n buildAgentNativeExtensionHtml,\n createHttpAgentNativeExtensionStorage,\n createLocalStorageAgentNativeExtensionStorage,\n getAgentNativeExtensionManifest,\n isAgentNativeExtensionAllowedInSlot,\n normalizeAgentNativeExtensionSandbox,\n type AgentNativeExtensionDefinition,\n type AgentNativeExtensionManifest,\n type AgentNativeExtensionMessageType,\n type AgentNativeExtensionStorage,\n type AgentNativeExtensionStorageContext,\n type AgentNativeExtensionStorageOptions,\n type AgentNativeExtensionStorageRow,\n type AgentNativeExtensionStorageScope,\n type BuildAgentNativeExtensionHtmlOptions,\n type CreateHttpAgentNativeExtensionStorageOptions,\n} from \"./extensions/portable-extension.js\";\nexport {\n AGENT_NATIVE_HOST_BRIDGE_VERSION,\n AGENT_NATIVE_HOST_MESSAGE_TYPES,\n announceAgentNativeFrameReady,\n createAgentNativeHostBridge,\n defaultAgentNativeHostCommands,\n onAgentNativeHostInit,\n readAgentNativeScreenContext,\n requestAgentNativeHostActions,\n requestAgentNativeHostContext,\n runAgentNativeHostAction,\n sendAgentNativeHostCommand,\n type AgentNativeActionAvailability,\n type AgentNativeActionManifestEntry,\n type AgentNativeClientAction,\n type AgentNativeClientActionApprovalConfig,\n type AgentNativeClientActionGetter,\n type AgentNativeClientActionRuntime,\n type AgentNativeClientActions,\n type AgentNativeHostAuth,\n type AgentNativeHostAuthPayload,\n type AgentNativeHostBridge,\n type AgentNativeHostBridgeEvent,\n type AgentNativeHostBridgeOptions,\n type AgentNativeHostCapabilities,\n type AgentNativeHostCommandHandler,\n type AgentNativeHostCommandHandlers,\n type AgentNativeHostCommandRequest,\n type AgentNativeHostContext,\n type AgentNativeHostContextGetter,\n type AgentNativeHostInit,\n type AgentNativeHostMessageType,\n type AgentNativeHostRequestOptions,\n type AgentNativeHostResourceContext,\n type AgentNativeHostRouteContext,\n type AgentNativeHostSelectionContext,\n type AgentNativeHostSession,\n type AgentNativeJsonSchema,\n type AgentNativeScreenSnapshot,\n type AgentNativeScreenSnapshotOptions,\n type BuiltInAgentNativeHostCommand,\n} from \"./host-bridge.js\";\nexport {\n AGENT_NATIVE_HOST_TOOL_NAMES,\n createAgentNativeHostTools,\n type AgentNativeHostToolDefinition,\n type AgentNativeHostToolName,\n type AgentNativeHostToolParameters,\n type AgentNativeHostToolSet,\n type CreateAgentNativeHostToolsOptions,\n type RunAgentNativeHostActionToolInput,\n type SendAgentNativeHostCommandToolInput,\n} from \"./host-tools.js\";\nexport {\n createAgentNativeBrowserSessionBridge,\n startAgentNativeBrowserSessionBridge,\n type AgentNativeBrowserSessionBridge,\n type AgentNativeBrowserSessionBridgeOptions,\n} from \"./browser-session-bridge.js\";\nexport type {\n AgentNativeBrowserSession,\n AgentNativeBrowserSessionAction,\n AgentNativeBrowserSessionRecord,\n AgentNativeBrowserSessionRequest,\n AgentNativeBrowserSessionRequestStatus,\n AgentNativeBrowserSessionRequestType,\n CreateAgentNativeBrowserSessionRequestInput,\n RegisterAgentNativeBrowserSessionInput,\n} from \"../browser-sessions/types.js\";\nexport {\n NewWorkspaceAppFlow,\n type NewWorkspaceAppFlowProps,\n type VaultSecretOption,\n} from \"./NewWorkspaceAppFlow.js\";\nexport {\n AssistantChat,\n clearChatStorage,\n type AssistantChatProps,\n type AssistantChatHandle,\n} from \"./AssistantChat.js\";\nexport {\n MultiTabAssistantChat,\n type MultiTabAssistantChatProps,\n type MultiTabAssistantChatHeaderProps,\n} from \"./MultiTabAssistantChat.js\";\nexport { RunStuckBanner, type RunStuckBannerProps } from \"./RunStuckBanner.js\";\nexport {\n useRunStuckDetection,\n useAbortRun,\n type RunStuckState,\n type UseRunStuckDetectionOptions,\n} from \"./use-run-stuck-detection.js\";\nexport { createAgentChatAdapter } from \"./agent-chat-adapter.js\";\nexport {\n AgentComposerFrame,\n type AgentComposerFrameProps,\n PromptComposer,\n AGENT_PROMPT_MAX_INLINE_IMAGE_BYTES,\n AGENT_PROMPT_MAX_INLINE_TEXT_CHARS,\n escapePromptAttachmentAttribute,\n formatPromptWithAttachments,\n isInlineableAgentPromptFile,\n readAgentPromptAttachment,\n type PromptComposerProps,\n type PromptComposerFile,\n type PromptComposerSubmitOptions,\n type AgentPromptAttachment,\n type ReadAgentPromptAttachmentOptions,\n type AgentComposerLayoutVariant,\n type SlashCommand,\n type SkillResult,\n} from \"./composer/index.js\";\nexport type { TiptapComposerHandle } from \"./composer/TiptapComposer.js\";\nexport {\n GuidedQuestionFlow,\n useGuidedQuestionFlow,\n formatGuidedAnswerValue,\n formatGuidedAnswersForAgent,\n getOtherGuidedAnswerText,\n hasGuidedAnswer,\n isOtherGuidedAnswer,\n makeOtherGuidedAnswer,\n normalizeGuidedAnswers,\n type GuidedQuestion,\n type GuidedQuestionAnswers,\n type GuidedQuestionFlowProps,\n type GuidedQuestionOption,\n type GuidedQuestionPayload,\n type GuidedQuestionType,\n type UseGuidedQuestionFlowOptions,\n} from \"./guided-questions.js\";\nexport {\n useChatThreads,\n type ChatThreadScope,\n type ChatThreadSummary,\n type ChatThreadData,\n type UseChatThreadsOptions,\n} from \"./use-chat-threads.js\";\nexport {\n AgentChatSurface,\n AgentPanel,\n AgentSidebar,\n AgentToggleButton,\n focusAgentChat,\n type AgentChatSurfaceMode,\n type AgentChatSurfaceProps,\n type AgentPanelProps,\n type AgentSidebarProps,\n} from \"./AgentPanel.js\";\nexport {\n SIDEBAR_STATE_CHANGE_EVENT,\n type AgentSidebarStateChangeDetail,\n type AgentSidebarStateMode,\n type AgentSidebarStateSource,\n} from \"./agent-sidebar-state.js\";\nexport { AgentNativeIcon } from \"./components/icons/AgentNativeIcon.js\";\nexport { SettingsPanel, type SettingsPanelProps } from \"./settings/index.js\";\nexport { useBuilderStatus } from \"./settings/useBuilderStatus.js\";\nexport {\n openBuilderConnectPopup,\n useBuilderConnectFlow,\n type BuilderConnectFlow,\n type BuilderConnectFlowOptions,\n type OpenBuilderConnectPopupOptions,\n} from \"./settings/useBuilderStatus.js\";\n// Deprecated — use AgentSidebar + AgentToggleButton instead\nexport {\n ProductionAgentPanel,\n type ProductionAgentPanelProps,\n} from \"./ProductionAgentPanel.js\";\nexport {\n useProductionAgent,\n type ProductionAgentMessage,\n type UseProductionAgentOptions,\n type UseProductionAgentResult,\n} from \"./useProductionAgent.js\";\nexport { Turnstile, type TurnstileProps } from \"./Turnstile.js\";\nexport {\n OpenSourceBadge,\n PoweredByBadge,\n type OpenSourceBadgeProps,\n type PoweredByBadgeProps,\n} from \"./PoweredByBadge.js\";\nexport {\n StarfieldBackground,\n type StarfieldBackgroundProps,\n} from \"./StarfieldBackground.js\";\nexport { FeedbackButton, type FeedbackButtonProps } from \"./FeedbackButton.js\";\nexport {\n DevDatabaseLink,\n type DevDatabaseLinkProps,\n} from \"./db-admin/DevDatabaseLink.js\";\nexport { ErrorBoundary } from \"./ErrorBoundary.js\";\nexport { installRouteChunkRecovery } from \"./route-chunk-recovery.js\";\nexport { ClientOnly } from \"./ClientOnly.js\";\nexport { DefaultSpinner } from \"./DefaultSpinner.js\";\nexport {\n getThemeInitScript,\n themeInitScript,\n type ThemePreference,\n} from \"./theme.js\";\nexport {\n APPEARANCE_PRESETS,\n applyAppearance,\n getStoredAppearance,\n useAppearance,\n useAppearanceSync,\n type AppearancePresetId,\n} from \"./appearance.js\";\nexport {\n AppearancePicker,\n type AppearancePickerProps,\n} from \"./AppearancePicker.js\";\nexport { AgentTerminal, type AgentTerminalProps } from \"./terminal/index.js\";\nexport {\n trackEvent,\n trackSessionStatus,\n configureTracking,\n setSentryUser,\n captureError,\n captureClientException,\n type ClientCaptureContext,\n} from \"./analytics.js\";\nexport {\n useCollaborativeDoc,\n isReconcileLeadClient,\n emailToColor,\n emailToName,\n type UseCollaborativeDocOptions,\n type UseCollaborativeDocResult,\n type CollabUser,\n} from \"../collab/client.js\";\nexport { AGENT_CLIENT_ID } from \"../collab/agent-identity.js\";\nexport {\n ResourcesPanel,\n ResourceTree,\n ResourceEditor,\n useResources,\n useResourceTree,\n useResource,\n useCreateResource,\n useUpdateResource,\n useDeleteResource,\n useUploadResource,\n type Resource,\n type ResourceMeta,\n type TreeNode,\n type ResourceScope,\n type ResourceTreeProps,\n type ResourceEditorProps,\n} from \"./resources/index.js\";\nexport type {\n AppToFrameMessage,\n FrameToAppMessage,\n FrameMessage,\n CodeCompleteMessage,\n ChatRunningMessage,\n} from \"./frame-protocol.js\";\nexport {\n CommandMenu,\n useCommandMenuShortcut,\n openAgentSidebar,\n submitToAgent,\n type CommandMenuProps,\n type CommandGroupProps,\n type CommandItemProps,\n type CommandShortcutProps,\n} from \"./CommandMenu.js\";\nexport {\n DevOverlay,\n useDevOverlayShortcut,\n registerDevPanel,\n unregisterDevPanel,\n listDevPanels,\n subscribeDevPanels,\n useDevOption,\n clearAllDevOverlayStorage,\n devOptionKey,\n DEV_OVERLAY_STORAGE_PREFIX,\n type DevOverlayProps,\n type DevPanel,\n type DevOption,\n type DevBooleanOption,\n type DevSelectOption,\n type DevStringOption,\n type DevActionOption,\n type DevOptionValue,\n} from \"./dev-overlay/index.js\";\nexport {\n callAction,\n useActionQuery,\n useActionMutation,\n type ActionRegistry,\n type ClientActionCallOptions,\n type ClientActionMethod,\n} from \"./use-action.js\";\nexport { usePinchZoom, type UsePinchZoomOptions } from \"./use-pinch-zoom.js\";\nexport {\n ShareButton,\n ShareDialog,\n VisibilityBadge,\n type ShareButtonProps,\n type ShareDialogProps,\n type VisibilityBadgeProps,\n} from \"./sharing/index.js\";\nexport {\n postNavigate,\n isInAgentEmbed,\n AGENT_NAVIGATE_MESSAGE_TYPE,\n type AgentNavigateMessage,\n} from \"./embed.js\";\nexport { IframeEmbed, parseEmbedBody } from \"./IframeEmbed.js\";\nexport {\n useAvatarUrl,\n uploadAvatar,\n invalidateAvatarCache,\n} from \"./use-avatar.js\";\nexport {\n ObservabilityDashboard,\n ThumbsFeedback,\n} from \"./observability/index.js\";\n// Presence UI components\nexport {\n PresenceBar,\n type PresenceBarProps,\n} from \"./components/PresenceBar.js\";\nexport {\n AgentPresenceChip,\n type AgentPresenceChipProps,\n} from \"./components/AgentPresenceChip.js\";\n// Structured data collaboration hooks\nexport {\n useCollaborativeMap,\n useCollaborativeArray,\n type UseCollaborativeMapOptions,\n type UseCollaborativeMapResult,\n type UseCollaborativeArrayOptions,\n type UseCollaborativeArrayResult,\n} from \"../collab/client-struct.js\";\nexport { NotificationsBell } from \"./notifications/index.js\";\n"]}
@@ -24,5 +24,6 @@ interface RunsTrayProps {
24
24
  * header, no floating overlay over the main content.
25
25
  */
26
26
  export declare function RunsTray({ pollMs, limit, hideWhenIdle, showRecent, triggerVariant, onOpenThread, align, className, }: RunsTrayProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function RunsTrayMenuItem({ pollMs, limit, hideWhenIdle, showRecent, onOpenThread, }: Pick<RunsTrayProps, "pollMs" | "limit" | "hideWhenIdle" | "showRecent" | "onOpenThread">): import("react/jsx-runtime").JSX.Element;
27
28
  export {};
28
29
  //# sourceMappingURL=RunsTray.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunsTray.d.ts","sourceRoot":"","sources":["../../../src/client/progress/RunsTray.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AAcxE,KAAK,WAAW,GAAG,QAAQ,CAAC;AAC5B,KAAK,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,UAAU,aAAa;IACrB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAa,EACb,KAAS,EACT,YAAmB,EACnB,UAAU,EACV,cAAuB,EACvB,YAAY,EACZ,KAAa,EACb,SAAS,GACV,EAAE,aAAa,2CAqLf"}
1
+ {"version":3,"file":"RunsTray.d.ts","sourceRoot":"","sources":["../../../src/client/progress/RunsTray.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AAmBxE,KAAK,WAAW,GAAG,QAAQ,CAAC;AAC5B,KAAK,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,UAAU,aAAa;IACrB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8GD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAa,EACb,KAAS,EACT,YAAmB,EACnB,UAAU,EACV,cAAuB,EACvB,YAAY,EACZ,KAAa,EACb,SAAS,GACV,EAAE,aAAa,2CA+Ff;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAa,EACb,KAAS,EACT,YAAoB,EACpB,UAAiB,EACjB,YAAY,GACb,EAAE,IAAI,CACL,aAAa,EACb,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,CACpE,2CA4DA"}
@@ -1,20 +1,14 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { agentNativePath } from "../api-path.js";
3
3
  import { useCallback, useEffect, useMemo, useState } from "react";
4
4
  import { IconAlertCircle, IconCheck, IconClock, IconExternalLink, IconLoader2, IconX, } from "@tabler/icons-react";
5
5
  import { usePausingInterval } from "../use-pausing-interval.js";
6
6
  import { cn } from "../utils.js";
7
7
  import { Popover, PopoverContent, PopoverTrigger, } from "../components/ui/popover.js";
8
+ import { DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, } from "../components/ui/dropdown-menu.js";
8
9
  import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "../components/ui/tooltip.js";
9
- /**
10
- * Header-bar progress indicator. Shows a spinner icon or labeled Runs pill
11
- * with a count badge when runs are active; opens a popover with live progress.
12
- * Same inline-header pattern as <NotificationsBell /> — drop it into the
13
- * header, no floating overlay over the main content.
14
- */
15
- export function RunsTray({ pollMs = 3000, limit = 5, hideWhenIdle = true, showRecent, triggerVariant = "icon", onOpenThread, align = "end", className, }) {
10
+ function useRunsTrayState({ pollMs = 3000, limit = 5, hideWhenIdle = true, showRecent, }) {
16
11
  const [runs, setRuns] = useState([]);
17
- const [open, setOpen] = useState(false);
18
12
  const includeRecent = showRecent ?? !hideWhenIdle;
19
13
  const refresh = useCallback(async () => {
20
14
  try {
@@ -52,8 +46,6 @@ export function RunsTray({ pollMs = 3000, limit = 5, hideWhenIdle = true, showRe
52
46
  const hasRuns = runs.length > 0;
53
47
  const activeCount = useMemo(() => runs.filter((run) => run.status === "running").length, [runs]);
54
48
  const failedCount = useMemo(() => runs.filter((run) => run.status === "failed").length, [runs]);
55
- if (!hasRuns && hideWhenIdle)
56
- return null;
57
49
  const triggerLabel = activeCount > 0
58
50
  ? `${activeCount} active run${activeCount > 1 ? "s" : ""}`
59
51
  : failedCount > 0
@@ -72,17 +64,59 @@ export function RunsTray({ pollMs = 3000, limit = 5, hideWhenIdle = true, showRe
72
64
  ? "text-destructive"
73
65
  : "text-muted-foreground";
74
66
  const terminalCount = runs.length - activeCount;
67
+ return {
68
+ runs,
69
+ hasRuns,
70
+ activeCount,
71
+ failedCount,
72
+ terminalCount,
73
+ triggerLabel,
74
+ TriggerIcon,
75
+ triggerTone,
76
+ dismissRun,
77
+ };
78
+ }
79
+ /**
80
+ * Header-bar progress indicator. Shows a spinner icon or labeled Runs pill
81
+ * with a count badge when runs are active; opens a popover with live progress.
82
+ * Same inline-header pattern as <NotificationsBell /> — drop it into the
83
+ * header, no floating overlay over the main content.
84
+ */
85
+ export function RunsTray({ pollMs = 3000, limit = 5, hideWhenIdle = true, showRecent, triggerVariant = "icon", onOpenThread, align = "end", className, }) {
86
+ const [open, setOpen] = useState(false);
87
+ const { runs, hasRuns, activeCount, failedCount, terminalCount, triggerLabel, TriggerIcon, triggerTone, dismissRun, } = useRunsTrayState({
88
+ pollMs,
89
+ limit,
90
+ hideWhenIdle,
91
+ showRecent,
92
+ });
93
+ if (!hasRuns && hideWhenIdle)
94
+ return null;
75
95
  return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(TooltipProvider, { delayDuration: 200, children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": triggerLabel, "aria-expanded": open, className: cn("an-runs-tray__trigger relative inline-flex shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent/40 hover:text-foreground", triggerVariant === "pill"
76
96
  ? "h-7 min-w-[68px] gap-1.5 border border-border/70 bg-background px-2 text-[11px] font-medium"
77
97
  : "h-8 w-8", open && "bg-accent/50 text-foreground", className), children: [_jsx(TriggerIcon, { size: triggerVariant === "pill" ? 14 : 18, className: cn(triggerTone, activeCount > 0 && "animate-spin"), "aria-hidden": true }), triggerVariant === "pill" ? (_jsx("span", { className: "leading-none", children: "Runs" })) : null, activeCount > 0 ? (_jsx("span", { "aria-hidden": true, className: cn("an-runs-tray__badge rounded-full bg-primary text-[10px] font-medium leading-[14px] text-primary-foreground", triggerVariant === "pill"
78
98
  ? "min-w-4 px-1"
79
99
  : "absolute -right-0.5 -top-0.5 px-1"), children: activeCount > 9 ? "9+" : activeCount })) : failedCount > 0 ? (_jsx("span", { "aria-hidden": true, className: cn("rounded-full bg-destructive text-[10px] font-medium leading-[14px] text-destructive-foreground", triggerVariant === "pill"
80
100
  ? "min-w-4 px-1"
81
- : "absolute -right-0.5 -top-0.5 px-1"), children: failedCount > 9 ? "9+" : failedCount })) : null] }) }) }), _jsx(TooltipContent, { children: triggerLabel })] }) }), _jsxs(PopoverContent, { align: align, sideOffset: 8, className: "an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0", children: [_jsxs("div", { className: "border-b border-border px-3 py-2", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: "Agent runs" }), _jsx("div", { className: "mt-0.5 text-[11px] text-muted-foreground", children: activeCount > 0
82
- ? `${activeCount} running${terminalCount > 0 ? ` · ${terminalCount} recent` : ""}`
83
- : hasRuns
84
- ? `${runs.length} recent run${runs.length > 1 ? "s" : ""}`
85
- : "No tracked work yet" })] }), hasRuns ? (_jsx("div", { className: "max-h-96 divide-y divide-border overflow-y-auto", children: runs.map((run) => (_jsx(RunRow, { run: run, onDismiss: dismissRun, onOpenThread: onOpenThread }, run.id))) })) : (_jsxs("div", { className: "px-3 py-6 text-center", children: [_jsx(IconClock, { size: 22, className: "mx-auto text-muted-foreground/50", "aria-hidden": true }), _jsx("div", { className: "mt-2 text-sm font-medium text-foreground", children: "No recent runs" }), _jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: "Background agent work will appear here while it runs and after it finishes." })] }))] })] }));
101
+ : "absolute -right-0.5 -top-0.5 px-1"), children: failedCount > 9 ? "9+" : failedCount })) : null] }) }) }), _jsx(TooltipContent, { children: triggerLabel })] }) }), _jsx(PopoverContent, { align: align, sideOffset: 8, className: "an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0", children: _jsx(RunsTrayContent, { runs: runs, hasRuns: hasRuns, activeCount: activeCount, terminalCount: terminalCount, onDismiss: dismissRun, onOpenThread: onOpenThread }) })] }));
102
+ }
103
+ export function RunsTrayMenuItem({ pollMs = 3000, limit = 5, hideWhenIdle = false, showRecent = true, onOpenThread, }) {
104
+ const { runs, hasRuns, activeCount, failedCount, terminalCount, triggerLabel, TriggerIcon, triggerTone, dismissRun, } = useRunsTrayState({
105
+ pollMs,
106
+ limit,
107
+ hideWhenIdle,
108
+ showRecent,
109
+ });
110
+ if (!hasRuns && hideWhenIdle)
111
+ return null;
112
+ return (_jsxs(DropdownMenuSub, { children: [_jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [_jsx(TriggerIcon, { size: 14, className: cn(triggerTone, activeCount > 0 && "animate-spin"), "aria-hidden": true }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: "Agent runs" }), activeCount > 0 ? (_jsx("span", { "aria-label": triggerLabel, className: "rounded-full bg-primary px-1.5 text-[10px] font-medium leading-4 text-primary-foreground", children: activeCount > 9 ? "9+" : activeCount })) : failedCount > 0 ? (_jsx("span", { "aria-label": triggerLabel, className: "rounded-full bg-destructive px-1.5 text-[10px] font-medium leading-4 text-destructive-foreground", children: failedCount > 9 ? "9+" : failedCount })) : null] }), _jsx(DropdownMenuSubContent, { sideOffset: 6, className: "an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0", children: _jsx(RunsTrayContent, { runs: runs, hasRuns: hasRuns, activeCount: activeCount, terminalCount: terminalCount, onDismiss: dismissRun, onOpenThread: onOpenThread }) })] }));
113
+ }
114
+ function RunsTrayContent({ runs, hasRuns, activeCount, terminalCount, onDismiss, onOpenThread, }) {
115
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "border-b border-border px-3 py-2", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: "Agent runs" }), _jsx("div", { className: "mt-0.5 text-[11px] text-muted-foreground", children: activeCount > 0
116
+ ? `${activeCount} running${terminalCount > 0 ? ` · ${terminalCount} recent` : ""}`
117
+ : hasRuns
118
+ ? `${runs.length} recent run${runs.length > 1 ? "s" : ""}`
119
+ : "No tracked work yet" })] }), hasRuns ? (_jsx("div", { className: "max-h-96 divide-y divide-border overflow-y-auto", children: runs.map((run) => (_jsx(RunRow, { run: run, onDismiss: onDismiss, onOpenThread: onOpenThread }, run.id))) })) : (_jsxs("div", { className: "px-3 py-6 text-center", children: [_jsx(IconClock, { size: 22, className: "mx-auto text-muted-foreground/50", "aria-hidden": true }), _jsx("div", { className: "mt-2 text-sm font-medium text-foreground", children: "No recent runs" }), _jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: "Background agent work will appear here while it runs and after it finishes." })] }))] }));
86
120
  }
87
121
  function getRunThreadId(run) {
88
122
  const metadata = run.metadata ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"RunsTray.js","sourceRoot":"","sources":["../../../src/client/progress/RunsTray.tsx"],"names":[],"mappings":"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","sourcesContent":["import { agentNativePath } from \"../api-path.js\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n IconAlertCircle,\n IconCheck,\n IconClock,\n IconExternalLink,\n IconLoader2,\n IconX,\n} from \"@tabler/icons-react\";\nimport { usePausingInterval } from \"../use-pausing-interval.js\";\nimport type { AgentRun, ProgressStatus } from \"../../progress/types.js\";\nimport { cn } from \"../utils.js\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../components/ui/popover.js\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../components/ui/tooltip.js\";\n\ntype AgentRunDto = AgentRun;\ntype RunsTrayTriggerVariant = \"icon\" | \"pill\";\n\ninterface RunsTrayProps {\n /** Poll interval in ms. 0 disables. Default 3000. */\n pollMs?: number;\n /** Max runs to show in the dropdown. Default 5. */\n limit?: number;\n /** Hide the trigger entirely when no active runs. Default true. */\n hideWhenIdle?: boolean;\n /** Include recent terminal runs instead of active runs only. Defaults to !hideWhenIdle. */\n showRecent?: boolean;\n /** Compact icon for app headers, or a labeled pill for the agent panel. */\n triggerVariant?: RunsTrayTriggerVariant;\n /** Called when a run can open a related agent chat thread. */\n onOpenThread?: (threadId: string, run: AgentRunDto) => void;\n align?: \"start\" | \"center\" | \"end\";\n className?: string;\n}\n\n/**\n * Header-bar progress indicator. Shows a spinner icon or labeled Runs pill\n * with a count badge when runs are active; opens a popover with live progress.\n * Same inline-header pattern as <NotificationsBell /> — drop it into the\n * header, no floating overlay over the main content.\n */\nexport function RunsTray({\n pollMs = 3000,\n limit = 5,\n hideWhenIdle = true,\n showRecent,\n triggerVariant = \"icon\",\n onOpenThread,\n align = \"end\",\n className,\n}: RunsTrayProps) {\n const [runs, setRuns] = useState<AgentRunDto[]>([]);\n const [open, setOpen] = useState(false);\n const includeRecent = showRecent ?? !hideWhenIdle;\n\n const refresh = useCallback(async () => {\n try {\n const query = new URLSearchParams({ limit: String(limit) });\n if (!includeRecent) query.set(\"active\", \"true\");\n const res = await fetch(\n agentNativePath(`/_agent-native/runs?${query.toString()}`),\n );\n if (!res.ok) return;\n const rows = (await res.json()) as AgentRunDto[];\n setRuns(rows);\n } catch {\n // best-effort\n }\n }, [includeRecent, limit]);\n\n useEffect(() => {\n refresh();\n }, [refresh]);\n\n usePausingInterval(refresh, pollMs);\n\n const dismissRun = useCallback(\n async (runId: string) => {\n setRuns((current) => current.filter((run) => run.id !== runId));\n try {\n const res = await fetch(\n agentNativePath(`/_agent-native/runs/${runId}`),\n {\n method: \"DELETE\",\n headers: { \"X-Agent-Native-CSRF\": \"1\" },\n },\n );\n if (!res.ok) throw new Error(`Dismiss failed (${res.status})`);\n } catch {\n refresh();\n }\n },\n [refresh],\n );\n\n const hasRuns = runs.length > 0;\n const activeCount = useMemo(\n () => runs.filter((run) => run.status === \"running\").length,\n [runs],\n );\n const failedCount = useMemo(\n () => runs.filter((run) => run.status === \"failed\").length,\n [runs],\n );\n if (!hasRuns && hideWhenIdle) return null;\n\n const triggerLabel =\n activeCount > 0\n ? `${activeCount} active run${activeCount > 1 ? \"s\" : \"\"}`\n : failedCount > 0\n ? `${failedCount} failed run${failedCount > 1 ? \"s\" : \"\"}`\n : hasRuns\n ? \"Recent runs\"\n : \"No recent runs\";\n const TriggerIcon =\n activeCount > 0\n ? IconLoader2\n : failedCount > 0\n ? IconAlertCircle\n : IconClock;\n const triggerTone =\n activeCount > 0\n ? \"text-primary\"\n : failedCount > 0\n ? \"text-destructive\"\n : \"text-muted-foreground\";\n const terminalCount = runs.length - activeCount;\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <TooltipProvider delayDuration={200}>\n <Tooltip>\n <TooltipTrigger asChild>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n aria-label={triggerLabel}\n aria-expanded={open}\n className={cn(\n \"an-runs-tray__trigger relative inline-flex shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent/40 hover:text-foreground\",\n triggerVariant === \"pill\"\n ? \"h-7 min-w-[68px] gap-1.5 border border-border/70 bg-background px-2 text-[11px] font-medium\"\n : \"h-8 w-8\",\n open && \"bg-accent/50 text-foreground\",\n className,\n )}\n >\n <TriggerIcon\n size={triggerVariant === \"pill\" ? 14 : 18}\n className={cn(triggerTone, activeCount > 0 && \"animate-spin\")}\n aria-hidden\n />\n {triggerVariant === \"pill\" ? (\n <span className=\"leading-none\">Runs</span>\n ) : null}\n {activeCount > 0 ? (\n <span\n aria-hidden\n className={cn(\n \"an-runs-tray__badge rounded-full bg-primary text-[10px] font-medium leading-[14px] text-primary-foreground\",\n triggerVariant === \"pill\"\n ? \"min-w-4 px-1\"\n : \"absolute -right-0.5 -top-0.5 px-1\",\n )}\n >\n {activeCount > 9 ? \"9+\" : activeCount}\n </span>\n ) : failedCount > 0 ? (\n <span\n aria-hidden\n className={cn(\n \"rounded-full bg-destructive text-[10px] font-medium leading-[14px] text-destructive-foreground\",\n triggerVariant === \"pill\"\n ? \"min-w-4 px-1\"\n : \"absolute -right-0.5 -top-0.5 px-1\",\n )}\n >\n {failedCount > 9 ? \"9+\" : failedCount}\n </span>\n ) : null}\n </button>\n </PopoverTrigger>\n </TooltipTrigger>\n <TooltipContent>{triggerLabel}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n align={align}\n sideOffset={8}\n className=\"an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0\"\n >\n <div className=\"border-b border-border px-3 py-2\">\n <div className=\"text-sm font-medium text-foreground\">Agent runs</div>\n <div className=\"mt-0.5 text-[11px] text-muted-foreground\">\n {activeCount > 0\n ? `${activeCount} running${terminalCount > 0 ? ` · ${terminalCount} recent` : \"\"}`\n : hasRuns\n ? `${runs.length} recent run${runs.length > 1 ? \"s\" : \"\"}`\n : \"No tracked work yet\"}\n </div>\n </div>\n {hasRuns ? (\n <div className=\"max-h-96 divide-y divide-border overflow-y-auto\">\n {runs.map((run) => (\n <RunRow\n key={run.id}\n run={run}\n onDismiss={dismissRun}\n onOpenThread={onOpenThread}\n />\n ))}\n </div>\n ) : (\n <div className=\"px-3 py-6 text-center\">\n <IconClock\n size={22}\n className=\"mx-auto text-muted-foreground/50\"\n aria-hidden\n />\n <div className=\"mt-2 text-sm font-medium text-foreground\">\n No recent runs\n </div>\n <p className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n Background agent work will appear here while it runs and after it\n finishes.\n </p>\n </div>\n )}\n </PopoverContent>\n </Popover>\n );\n}\n\nfunction getRunThreadId(run: AgentRunDto): string | undefined {\n const metadata = run.metadata ?? {};\n const direct =\n typeof metadata.threadId === \"string\"\n ? metadata.threadId\n : typeof metadata.thread_id === \"string\"\n ? metadata.thread_id\n : undefined;\n if (direct?.trim()) return direct.trim();\n\n const surfaceUrl =\n typeof metadata.surfaceUrl === \"string\" ? metadata.surfaceUrl : undefined;\n const match = surfaceUrl?.match(/^agent-native:\\/\\/threads\\/(.+)$/);\n return match?.[1] ? decodeURIComponent(match[1]) : undefined;\n}\n\nfunction formatRunTime(run: AgentRunDto): string {\n const when = run.completedAt ?? run.updatedAt ?? run.startedAt;\n const timestamp = Date.parse(when);\n if (!Number.isFinite(timestamp)) return \"\";\n const diffMs = Date.now() - timestamp;\n const prefix = run.status === \"running\" ? \"Updated\" : \"Finished\";\n if (diffMs < 30_000) return `${prefix} just now`;\n const minutes = Math.floor(diffMs / 60_000);\n if (minutes < 60) return `${prefix} ${minutes}m ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${prefix} ${hours}h ago`;\n return `${prefix} ${new Date(timestamp).toLocaleDateString([], {\n month: \"short\",\n day: \"numeric\",\n })}`;\n}\n\nfunction RunRow({\n run,\n onDismiss,\n onOpenThread,\n}: {\n run: AgentRunDto;\n onDismiss: (runId: string) => void;\n onOpenThread?: (threadId: string, run: AgentRunDto) => void;\n}) {\n const threadId = getRunThreadId(run);\n const isRunning = run.status === \"running\";\n\n return (\n <div className=\"flex flex-col gap-1.5 px-3 py-2.5 text-sm\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate font-medium text-foreground\">\n {run.title}\n </div>\n {run.step ? (\n <div className=\"mt-0.5 truncate text-xs text-muted-foreground\">\n {run.step}\n </div>\n ) : null}\n </div>\n <StatusPill status={run.status} />\n </div>\n {run.percent != null || isRunning ? (\n <div className=\"h-1 w-full overflow-hidden rounded bg-muted\">\n {run.percent != null ? (\n <div\n className={cn(\n \"h-full transition-all\",\n run.status === \"failed\"\n ? \"bg-destructive\"\n : run.status === \"cancelled\"\n ? \"bg-muted-foreground/50\"\n : \"bg-primary\",\n )}\n style={{ width: `${run.percent}%` }}\n />\n ) : (\n <div className=\"h-full w-1/3 animate-pulse bg-primary/60\" />\n )}\n </div>\n ) : null}\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"min-w-0 truncate text-[10px] text-muted-foreground/70\">\n {formatRunTime(run)}\n </span>\n <div className=\"flex shrink-0 items-center gap-1\">\n {threadId && onOpenThread ? (\n <button\n type=\"button\"\n className=\"inline-flex h-6 items-center gap-1 rounded px-1.5 text-[11px] font-medium text-muted-foreground hover:bg-accent/60 hover:text-foreground\"\n onClick={() => onOpenThread(threadId, run)}\n >\n Open\n <IconExternalLink size={12} aria-hidden />\n </button>\n ) : null}\n {!isRunning ? (\n <button\n type=\"button\"\n aria-label={`Hide ${run.title}`}\n className=\"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent/60 hover:text-foreground\"\n onClick={() => onDismiss(run.id)}\n >\n <IconX size={13} aria-hidden />\n </button>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nconst STATUS_COPY: Record<ProgressStatus, string> = {\n running: \"Running\",\n succeeded: \"Done\",\n failed: \"Failed\",\n cancelled: \"Stopped\",\n};\n\nconst STATUS_PILL_STYLES: Record<ProgressStatus, string> = {\n running: \"bg-primary/10 text-primary\",\n succeeded: \"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400\",\n failed: \"bg-destructive/10 text-destructive\",\n cancelled: \"bg-muted text-muted-foreground\",\n};\n\nfunction StatusPill({ status }: { status: ProgressStatus }) {\n const { Icon, className } = STATUS_GLYPHS[status];\n const spinClass = status === \"running\" ? \" animate-spin\" : \"\";\n return (\n <span\n className={cn(\n \"inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[10px] font-medium\",\n STATUS_PILL_STYLES[status],\n )}\n >\n <Icon size={12} className={`${className}${spinClass}`} aria-hidden />\n {STATUS_COPY[status]}\n </span>\n );\n}\n\n// dark: variants only where there's no semantic token for the colour\n// (e.g. success green isn't in shadcn's default palette).\nconst STATUS_GLYPHS: Record<\n ProgressStatus,\n { Icon: typeof IconLoader2; className: string }\n> = {\n running: { Icon: IconLoader2, className: \"text-primary\" },\n succeeded: {\n Icon: IconCheck,\n className: \"text-emerald-600 dark:text-emerald-400\",\n },\n failed: { Icon: IconAlertCircle, className: \"text-destructive\" },\n cancelled: { Icon: IconClock, className: \"text-muted-foreground\" },\n};\n"]}
1
+ {"version":3,"file":"RunsTray.js","sourceRoot":"","sources":["../../../src/client/progress/RunsTray.tsx"],"names":[],"mappings":"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","sourcesContent":["import { agentNativePath } from \"../api-path.js\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n IconAlertCircle,\n IconCheck,\n IconClock,\n IconExternalLink,\n IconLoader2,\n IconX,\n} from \"@tabler/icons-react\";\nimport { usePausingInterval } from \"../use-pausing-interval.js\";\nimport type { AgentRun, ProgressStatus } from \"../../progress/types.js\";\nimport { cn } from \"../utils.js\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../components/ui/popover.js\";\nimport {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"../components/ui/dropdown-menu.js\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../components/ui/tooltip.js\";\n\ntype AgentRunDto = AgentRun;\ntype RunsTrayTriggerVariant = \"icon\" | \"pill\";\n\ninterface RunsTrayProps {\n /** Poll interval in ms. 0 disables. Default 3000. */\n pollMs?: number;\n /** Max runs to show in the dropdown. Default 5. */\n limit?: number;\n /** Hide the trigger entirely when no active runs. Default true. */\n hideWhenIdle?: boolean;\n /** Include recent terminal runs instead of active runs only. Defaults to !hideWhenIdle. */\n showRecent?: boolean;\n /** Compact icon for app headers, or a labeled pill for the agent panel. */\n triggerVariant?: RunsTrayTriggerVariant;\n /** Called when a run can open a related agent chat thread. */\n onOpenThread?: (threadId: string, run: AgentRunDto) => void;\n align?: \"start\" | \"center\" | \"end\";\n className?: string;\n}\n\ninterface RunsTrayState {\n runs: AgentRunDto[];\n hasRuns: boolean;\n activeCount: number;\n failedCount: number;\n terminalCount: number;\n triggerLabel: string;\n TriggerIcon: typeof IconLoader2;\n triggerTone: string;\n dismissRun: (runId: string) => void;\n}\n\nfunction useRunsTrayState({\n pollMs = 3000,\n limit = 5,\n hideWhenIdle = true,\n showRecent,\n}: Pick<\n RunsTrayProps,\n \"pollMs\" | \"limit\" | \"hideWhenIdle\" | \"showRecent\"\n>): RunsTrayState {\n const [runs, setRuns] = useState<AgentRunDto[]>([]);\n const includeRecent = showRecent ?? !hideWhenIdle;\n\n const refresh = useCallback(async () => {\n try {\n const query = new URLSearchParams({ limit: String(limit) });\n if (!includeRecent) query.set(\"active\", \"true\");\n const res = await fetch(\n agentNativePath(`/_agent-native/runs?${query.toString()}`),\n );\n if (!res.ok) return;\n const rows = (await res.json()) as AgentRunDto[];\n setRuns(rows);\n } catch {\n // best-effort\n }\n }, [includeRecent, limit]);\n\n useEffect(() => {\n refresh();\n }, [refresh]);\n\n usePausingInterval(refresh, pollMs);\n\n const dismissRun = useCallback(\n async (runId: string) => {\n setRuns((current) => current.filter((run) => run.id !== runId));\n try {\n const res = await fetch(\n agentNativePath(`/_agent-native/runs/${runId}`),\n {\n method: \"DELETE\",\n headers: { \"X-Agent-Native-CSRF\": \"1\" },\n },\n );\n if (!res.ok) throw new Error(`Dismiss failed (${res.status})`);\n } catch {\n refresh();\n }\n },\n [refresh],\n );\n\n const hasRuns = runs.length > 0;\n const activeCount = useMemo(\n () => runs.filter((run) => run.status === \"running\").length,\n [runs],\n );\n const failedCount = useMemo(\n () => runs.filter((run) => run.status === \"failed\").length,\n [runs],\n );\n const triggerLabel =\n activeCount > 0\n ? `${activeCount} active run${activeCount > 1 ? \"s\" : \"\"}`\n : failedCount > 0\n ? `${failedCount} failed run${failedCount > 1 ? \"s\" : \"\"}`\n : hasRuns\n ? \"Recent runs\"\n : \"No recent runs\";\n const TriggerIcon =\n activeCount > 0\n ? IconLoader2\n : failedCount > 0\n ? IconAlertCircle\n : IconClock;\n const triggerTone =\n activeCount > 0\n ? \"text-primary\"\n : failedCount > 0\n ? \"text-destructive\"\n : \"text-muted-foreground\";\n const terminalCount = runs.length - activeCount;\n\n return {\n runs,\n hasRuns,\n activeCount,\n failedCount,\n terminalCount,\n triggerLabel,\n TriggerIcon,\n triggerTone,\n dismissRun,\n };\n}\n\n/**\n * Header-bar progress indicator. Shows a spinner icon or labeled Runs pill\n * with a count badge when runs are active; opens a popover with live progress.\n * Same inline-header pattern as <NotificationsBell /> — drop it into the\n * header, no floating overlay over the main content.\n */\nexport function RunsTray({\n pollMs = 3000,\n limit = 5,\n hideWhenIdle = true,\n showRecent,\n triggerVariant = \"icon\",\n onOpenThread,\n align = \"end\",\n className,\n}: RunsTrayProps) {\n const [open, setOpen] = useState(false);\n const {\n runs,\n hasRuns,\n activeCount,\n failedCount,\n terminalCount,\n triggerLabel,\n TriggerIcon,\n triggerTone,\n dismissRun,\n } = useRunsTrayState({\n pollMs,\n limit,\n hideWhenIdle,\n showRecent,\n });\n\n if (!hasRuns && hideWhenIdle) return null;\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <TooltipProvider delayDuration={200}>\n <Tooltip>\n <TooltipTrigger asChild>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n aria-label={triggerLabel}\n aria-expanded={open}\n className={cn(\n \"an-runs-tray__trigger relative inline-flex shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent/40 hover:text-foreground\",\n triggerVariant === \"pill\"\n ? \"h-7 min-w-[68px] gap-1.5 border border-border/70 bg-background px-2 text-[11px] font-medium\"\n : \"h-8 w-8\",\n open && \"bg-accent/50 text-foreground\",\n className,\n )}\n >\n <TriggerIcon\n size={triggerVariant === \"pill\" ? 14 : 18}\n className={cn(triggerTone, activeCount > 0 && \"animate-spin\")}\n aria-hidden\n />\n {triggerVariant === \"pill\" ? (\n <span className=\"leading-none\">Runs</span>\n ) : null}\n {activeCount > 0 ? (\n <span\n aria-hidden\n className={cn(\n \"an-runs-tray__badge rounded-full bg-primary text-[10px] font-medium leading-[14px] text-primary-foreground\",\n triggerVariant === \"pill\"\n ? \"min-w-4 px-1\"\n : \"absolute -right-0.5 -top-0.5 px-1\",\n )}\n >\n {activeCount > 9 ? \"9+\" : activeCount}\n </span>\n ) : failedCount > 0 ? (\n <span\n aria-hidden\n className={cn(\n \"rounded-full bg-destructive text-[10px] font-medium leading-[14px] text-destructive-foreground\",\n triggerVariant === \"pill\"\n ? \"min-w-4 px-1\"\n : \"absolute -right-0.5 -top-0.5 px-1\",\n )}\n >\n {failedCount > 9 ? \"9+\" : failedCount}\n </span>\n ) : null}\n </button>\n </PopoverTrigger>\n </TooltipTrigger>\n <TooltipContent>{triggerLabel}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n align={align}\n sideOffset={8}\n className=\"an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0\"\n >\n <RunsTrayContent\n runs={runs}\n hasRuns={hasRuns}\n activeCount={activeCount}\n terminalCount={terminalCount}\n onDismiss={dismissRun}\n onOpenThread={onOpenThread}\n />\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function RunsTrayMenuItem({\n pollMs = 3000,\n limit = 5,\n hideWhenIdle = false,\n showRecent = true,\n onOpenThread,\n}: Pick<\n RunsTrayProps,\n \"pollMs\" | \"limit\" | \"hideWhenIdle\" | \"showRecent\" | \"onOpenThread\"\n>) {\n const {\n runs,\n hasRuns,\n activeCount,\n failedCount,\n terminalCount,\n triggerLabel,\n TriggerIcon,\n triggerTone,\n dismissRun,\n } = useRunsTrayState({\n pollMs,\n limit,\n hideWhenIdle,\n showRecent,\n });\n\n if (!hasRuns && hideWhenIdle) return null;\n\n return (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger className=\"gap-2\">\n <TriggerIcon\n size={14}\n className={cn(triggerTone, activeCount > 0 && \"animate-spin\")}\n aria-hidden\n />\n <span className=\"min-w-0 flex-1 truncate\">Agent runs</span>\n {activeCount > 0 ? (\n <span\n aria-label={triggerLabel}\n className=\"rounded-full bg-primary px-1.5 text-[10px] font-medium leading-4 text-primary-foreground\"\n >\n {activeCount > 9 ? \"9+\" : activeCount}\n </span>\n ) : failedCount > 0 ? (\n <span\n aria-label={triggerLabel}\n className=\"rounded-full bg-destructive px-1.5 text-[10px] font-medium leading-4 text-destructive-foreground\"\n >\n {failedCount > 9 ? \"9+\" : failedCount}\n </span>\n ) : null}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent\n sideOffset={6}\n className=\"an-runs-tray__menu w-80 max-w-[calc(100vw-24px)] p-0\"\n >\n <RunsTrayContent\n runs={runs}\n hasRuns={hasRuns}\n activeCount={activeCount}\n terminalCount={terminalCount}\n onDismiss={dismissRun}\n onOpenThread={onOpenThread}\n />\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n );\n}\n\nfunction RunsTrayContent({\n runs,\n hasRuns,\n activeCount,\n terminalCount,\n onDismiss,\n onOpenThread,\n}: {\n runs: AgentRunDto[];\n hasRuns: boolean;\n activeCount: number;\n terminalCount: number;\n onDismiss: (runId: string) => void;\n onOpenThread?: (threadId: string, run: AgentRunDto) => void;\n}) {\n return (\n <>\n <div className=\"border-b border-border px-3 py-2\">\n <div className=\"text-sm font-medium text-foreground\">Agent runs</div>\n <div className=\"mt-0.5 text-[11px] text-muted-foreground\">\n {activeCount > 0\n ? `${activeCount} running${terminalCount > 0 ? ` · ${terminalCount} recent` : \"\"}`\n : hasRuns\n ? `${runs.length} recent run${runs.length > 1 ? \"s\" : \"\"}`\n : \"No tracked work yet\"}\n </div>\n </div>\n {hasRuns ? (\n <div className=\"max-h-96 divide-y divide-border overflow-y-auto\">\n {runs.map((run) => (\n <RunRow\n key={run.id}\n run={run}\n onDismiss={onDismiss}\n onOpenThread={onOpenThread}\n />\n ))}\n </div>\n ) : (\n <div className=\"px-3 py-6 text-center\">\n <IconClock\n size={22}\n className=\"mx-auto text-muted-foreground/50\"\n aria-hidden\n />\n <div className=\"mt-2 text-sm font-medium text-foreground\">\n No recent runs\n </div>\n <p className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n Background agent work will appear here while it runs and after it\n finishes.\n </p>\n </div>\n )}\n </>\n );\n}\n\nfunction getRunThreadId(run: AgentRunDto): string | undefined {\n const metadata = run.metadata ?? {};\n const direct =\n typeof metadata.threadId === \"string\"\n ? metadata.threadId\n : typeof metadata.thread_id === \"string\"\n ? metadata.thread_id\n : undefined;\n if (direct?.trim()) return direct.trim();\n\n const surfaceUrl =\n typeof metadata.surfaceUrl === \"string\" ? metadata.surfaceUrl : undefined;\n const match = surfaceUrl?.match(/^agent-native:\\/\\/threads\\/(.+)$/);\n return match?.[1] ? decodeURIComponent(match[1]) : undefined;\n}\n\nfunction formatRunTime(run: AgentRunDto): string {\n const when = run.completedAt ?? run.updatedAt ?? run.startedAt;\n const timestamp = Date.parse(when);\n if (!Number.isFinite(timestamp)) return \"\";\n const diffMs = Date.now() - timestamp;\n const prefix = run.status === \"running\" ? \"Updated\" : \"Finished\";\n if (diffMs < 30_000) return `${prefix} just now`;\n const minutes = Math.floor(diffMs / 60_000);\n if (minutes < 60) return `${prefix} ${minutes}m ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${prefix} ${hours}h ago`;\n return `${prefix} ${new Date(timestamp).toLocaleDateString([], {\n month: \"short\",\n day: \"numeric\",\n })}`;\n}\n\nfunction RunRow({\n run,\n onDismiss,\n onOpenThread,\n}: {\n run: AgentRunDto;\n onDismiss: (runId: string) => void;\n onOpenThread?: (threadId: string, run: AgentRunDto) => void;\n}) {\n const threadId = getRunThreadId(run);\n const isRunning = run.status === \"running\";\n\n return (\n <div className=\"flex flex-col gap-1.5 px-3 py-2.5 text-sm\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate font-medium text-foreground\">\n {run.title}\n </div>\n {run.step ? (\n <div className=\"mt-0.5 truncate text-xs text-muted-foreground\">\n {run.step}\n </div>\n ) : null}\n </div>\n <StatusPill status={run.status} />\n </div>\n {run.percent != null || isRunning ? (\n <div className=\"h-1 w-full overflow-hidden rounded bg-muted\">\n {run.percent != null ? (\n <div\n className={cn(\n \"h-full transition-all\",\n run.status === \"failed\"\n ? \"bg-destructive\"\n : run.status === \"cancelled\"\n ? \"bg-muted-foreground/50\"\n : \"bg-primary\",\n )}\n style={{ width: `${run.percent}%` }}\n />\n ) : (\n <div className=\"h-full w-1/3 animate-pulse bg-primary/60\" />\n )}\n </div>\n ) : null}\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"min-w-0 truncate text-[10px] text-muted-foreground/70\">\n {formatRunTime(run)}\n </span>\n <div className=\"flex shrink-0 items-center gap-1\">\n {threadId && onOpenThread ? (\n <button\n type=\"button\"\n className=\"inline-flex h-6 items-center gap-1 rounded px-1.5 text-[11px] font-medium text-muted-foreground hover:bg-accent/60 hover:text-foreground\"\n onClick={() => onOpenThread(threadId, run)}\n >\n Open\n <IconExternalLink size={12} aria-hidden />\n </button>\n ) : null}\n {!isRunning ? (\n <button\n type=\"button\"\n aria-label={`Hide ${run.title}`}\n className=\"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent/60 hover:text-foreground\"\n onClick={() => onDismiss(run.id)}\n >\n <IconX size={13} aria-hidden />\n </button>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nconst STATUS_COPY: Record<ProgressStatus, string> = {\n running: \"Running\",\n succeeded: \"Done\",\n failed: \"Failed\",\n cancelled: \"Stopped\",\n};\n\nconst STATUS_PILL_STYLES: Record<ProgressStatus, string> = {\n running: \"bg-primary/10 text-primary\",\n succeeded: \"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400\",\n failed: \"bg-destructive/10 text-destructive\",\n cancelled: \"bg-muted text-muted-foreground\",\n};\n\nfunction StatusPill({ status }: { status: ProgressStatus }) {\n const { Icon, className } = STATUS_GLYPHS[status];\n const spinClass = status === \"running\" ? \" animate-spin\" : \"\";\n return (\n <span\n className={cn(\n \"inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[10px] font-medium\",\n STATUS_PILL_STYLES[status],\n )}\n >\n <Icon size={12} className={`${className}${spinClass}`} aria-hidden />\n {STATUS_COPY[status]}\n </span>\n );\n}\n\n// dark: variants only where there's no semantic token for the colour\n// (e.g. success green isn't in shadcn's default palette).\nconst STATUS_GLYPHS: Record<\n ProgressStatus,\n { Icon: typeof IconLoader2; className: string }\n> = {\n running: { Icon: IconLoader2, className: \"text-primary\" },\n succeeded: {\n Icon: IconCheck,\n className: \"text-emerald-600 dark:text-emerald-400\",\n },\n failed: { Icon: IconAlertCircle, className: \"text-destructive\" },\n cancelled: { Icon: IconClock, className: \"text-muted-foreground\" },\n};\n"]}
@@ -17,7 +17,19 @@ type ActionResult<T extends string> = T extends keyof ActionRegistry ? ActionReg
17
17
  type ActionParams<T extends string> = T extends keyof ActionRegistry ? ActionRegistry[T] extends {
18
18
  params: infer P;
19
19
  } ? P : Record<string, any> : Record<string, any>;
20
+ export type ClientActionMethod = "GET" | "POST" | "PUT" | "DELETE";
21
+ export interface ClientActionCallOptions {
22
+ method?: ClientActionMethod;
23
+ }
20
24
  export declare function serializeActionQueryParams(params: Record<string, any>): string;
25
+ /**
26
+ * Imperatively call an action from browser/client code.
27
+ *
28
+ * Prefer `useActionQuery` / `useActionMutation` in React render flows. Use this
29
+ * helper when a hook is not ergonomic; do not hand-write fetch calls to
30
+ * `/_agent-native/actions/*` in components.
31
+ */
32
+ export declare function callAction<TResult = undefined, TName extends ActionName = ActionName>(actionName: TName, params?: ActionParams<TName>, options?: ClientActionCallOptions): Promise<TResult extends undefined ? ActionResult<TName> : TResult>;
21
33
  /**
22
34
  * Query an action exposed as GET.
23
35
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use-action.d.ts","sourceRoot":"","sources":["../../src/client/use-action.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AA4B/B;;;;;GAKG;AACH,MAAM,WAAW,cAAc;CAAG;AAElC,2FAA2F;AAC3F,KAAK,UAAU,GAAG,MAAM,cAAc,SAAS,KAAK,GAChD,MAAM,GACN,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpD,8EAA8E;AAC9E,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,cAAc,GAChE,cAAc,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3C,CAAC,GACD,GAAG,GACL,GAAG,CAAC;AAER,iGAAiG;AACjG,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,cAAc,GAChE,cAAc,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3C,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAmBxB,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAMR;AAoID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAG,SAAS,EACnB,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,UAAU,EAAE,KAAK,EACjB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,OAAO,CAAC,EAAE,IAAI,CACZ,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAC1E,UAAU,GAAG,SAAS,CACvB,6JASF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,SAAS,EACtB,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,KAAK,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EACrD,KAAK,EACL,UAAU,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAChE,EACD,YAAY,CACb,GAAG;IACF,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACpC,6LAuBF"}
1
+ {"version":3,"file":"use-action.d.ts","sourceRoot":"","sources":["../../src/client/use-action.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AA4B/B;;;;;GAKG;AACH,MAAM,WAAW,cAAc;CAAG;AAElC,2FAA2F;AAC3F,KAAK,UAAU,GAAG,MAAM,cAAc,SAAS,KAAK,GAChD,MAAM,GACN,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpD,8EAA8E;AAC9E,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,cAAc,GAChE,cAAc,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3C,CAAC,GACD,GAAG,GACL,GAAG,CAAC;AAER,iGAAiG;AACjG,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,cAAc,GAChE,cAAc,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3C,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAmBD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAMR;AAgID;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAG,SAAS,EACnB,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,UAAU,EAAE,KAAK,EACjB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAGpE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAG,SAAS,EACnB,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,UAAU,EAAE,KAAK,EACjB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,OAAO,CAAC,EAAE,IAAI,CACZ,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAC1E,UAAU,GAAG,SAAS,CACvB,6JASF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,SAAS,EACtB,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,KAAK,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EACrD,KAAK,EACL,UAAU,SAAS,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAChE,EACD,YAAY,CACb,GAAG;IACF,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACpC,6LAuBF"}
@@ -1,7 +1,9 @@
1
1
  /**
2
- * React Query hooks for calling actions via their auto-mounted HTTP endpoints.
2
+ * Client helpers for calling actions through the framework transport.
3
3
  *
4
- * Actions are mounted at `/_agent-native/actions/:name` by the framework.
4
+ * Components should prefer `useActionQuery` / `useActionMutation`; use
5
+ * `callAction` for imperative cases such as debounced search, prefetching, or
6
+ * event handlers that do not fit a hook.
5
7
  *
6
8
  * ## End-to-end type safety
7
9
  *
@@ -167,6 +169,16 @@ async function actionFetch(name, method, params) {
167
169
  }
168
170
  return (data ?? null);
169
171
  }
172
+ /**
173
+ * Imperatively call an action from browser/client code.
174
+ *
175
+ * Prefer `useActionQuery` / `useActionMutation` in React render flows. Use this
176
+ * helper when a hook is not ergonomic; do not hand-write fetch calls to
177
+ * `/_agent-native/actions/*` in components.
178
+ */
179
+ export function callAction(actionName, params, options = {}) {
180
+ return actionFetch(actionName, options.method ?? "POST", params);
181
+ }
170
182
  // ---------------------------------------------------------------------------
171
183
  // Query hook
172
184
  // ---------------------------------------------------------------------------