@a5c-ai/genty-ui 5.1.1-staging.49ba9041003d
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.
- package/README.md +94 -0
- package/dist/client/GatewayClient.d.ts +72 -0
- package/dist/client/GatewayClient.d.ts.map +1 -0
- package/dist/client/GatewayClient.js +239 -0
- package/dist/client/GatewayClient.js.map +1 -0
- package/dist/client/backoff.d.ts +6 -0
- package/dist/client/backoff.d.ts.map +1 -0
- package/dist/client/backoff.js +9 -0
- package/dist/client/backoff.js.map +1 -0
- package/dist/client/errors.d.ts +9 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +19 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/transports/ws-browser.d.ts +12 -0
- package/dist/client/transports/ws-browser.d.ts.map +1 -0
- package/dist/client/transports/ws-browser.js +24 -0
- package/dist/client/transports/ws-browser.js.map +1 -0
- package/dist/client/transports/ws-node.d.ts +2 -0
- package/dist/client/transports/ws-node.d.ts.map +1 -0
- package/dist/client/transports/ws-node.js +25 -0
- package/dist/client/transports/ws-node.js.map +1 -0
- package/dist/client/transports/ws-react-native.d.ts +2 -0
- package/dist/client/transports/ws-react-native.d.ts.map +1 -0
- package/dist/client/transports/ws-react-native.js +24 -0
- package/dist/client/transports/ws-react-native.js.map +1 -0
- package/dist/codegen/kotlin-types.d.ts +1 -0
- package/dist/codegen/kotlin-types.d.ts.map +1 -0
- package/dist/codegen/kotlin-types.js +236 -0
- package/dist/codegen/kotlin-types.js.map +1 -0
- package/dist/codegen/swift-types.d.ts +1 -0
- package/dist/codegen/swift-types.d.ts.map +1 -0
- package/dist/codegen/swift-types.js +298 -0
- package/dist/codegen/swift-types.js.map +1 -0
- package/dist/components/Agent/AgentAppearanceEditor.d.ts +23 -0
- package/dist/components/Agent/AgentAppearanceEditor.d.ts.map +1 -0
- package/dist/components/Agent/AgentAppearanceEditor.js +10 -0
- package/dist/components/Agent/AgentAppearanceEditor.js.map +1 -0
- package/dist/components/Agent/AgentCreateWizard.d.ts +26 -0
- package/dist/components/Agent/AgentCreateWizard.d.ts.map +1 -0
- package/dist/components/Agent/AgentCreateWizard.js +136 -0
- package/dist/components/Agent/AgentCreateWizard.js.map +1 -0
- package/dist/components/Agent/AgentDirectory.d.ts +8 -0
- package/dist/components/Agent/AgentDirectory.d.ts.map +1 -0
- package/dist/components/Agent/AgentDirectory.js +19 -0
- package/dist/components/Agent/AgentDirectory.js.map +1 -0
- package/dist/components/Agent/AgentPersonaEditor.d.ts +23 -0
- package/dist/components/Agent/AgentPersonaEditor.d.ts.map +1 -0
- package/dist/components/Agent/AgentPersonaEditor.js +29 -0
- package/dist/components/Agent/AgentPersonaEditor.js.map +1 -0
- package/dist/components/Agent/AgentProfileCard.d.ts +39 -0
- package/dist/components/Agent/AgentProfileCard.d.ts.map +1 -0
- package/dist/components/Agent/AgentProfileCard.js +27 -0
- package/dist/components/Agent/AgentProfileCard.js.map +1 -0
- package/dist/components/Agent/AgentProfilePage.d.ts +68 -0
- package/dist/components/Agent/AgentProfilePage.d.ts.map +1 -0
- package/dist/components/Agent/AgentProfilePage.js +31 -0
- package/dist/components/Agent/AgentProfilePage.js.map +1 -0
- package/dist/components/Agent/AgentSoulEditor.d.ts +5 -0
- package/dist/components/Agent/AgentSoulEditor.d.ts.map +1 -0
- package/dist/components/Agent/AgentSoulEditor.js +5 -0
- package/dist/components/Agent/AgentSoulEditor.js.map +1 -0
- package/dist/components/Agent/AgentVoiceEditor.d.ts +17 -0
- package/dist/components/Agent/AgentVoiceEditor.d.ts.map +1 -0
- package/dist/components/Agent/AgentVoiceEditor.js +29 -0
- package/dist/components/Agent/AgentVoiceEditor.js.map +1 -0
- package/dist/components/Agent/ApprovalActions.d.ts +5 -0
- package/dist/components/Agent/ApprovalActions.d.ts.map +1 -0
- package/dist/components/Agent/ApprovalActions.js +55 -0
- package/dist/components/Agent/ApprovalActions.js.map +1 -0
- package/dist/components/Agent/DispatchButton.d.ts +37 -0
- package/dist/components/Agent/DispatchButton.d.ts.map +1 -0
- package/dist/components/Agent/DispatchButton.js +111 -0
- package/dist/components/Agent/DispatchButton.js.map +1 -0
- package/dist/components/Agent/index.d.ts +20 -0
- package/dist/components/Agent/index.d.ts.map +1 -0
- package/dist/components/Agent/index.js +11 -0
- package/dist/components/Agent/index.js.map +1 -0
- package/dist/components/AgentPicker.d.ts +5 -0
- package/dist/components/AgentPicker.d.ts.map +1 -0
- package/dist/components/AgentPicker.js +7 -0
- package/dist/components/AgentPicker.js.map +1 -0
- package/dist/components/Chat/ChatMessages.d.ts +32 -0
- package/dist/components/Chat/ChatMessages.d.ts.map +1 -0
- package/dist/components/Chat/ChatMessages.js +146 -0
- package/dist/components/Chat/ChatMessages.js.map +1 -0
- package/dist/components/Chat/chatStyles.d.ts +41 -0
- package/dist/components/Chat/chatStyles.d.ts.map +1 -0
- package/dist/components/Chat/chatStyles.js +181 -0
- package/dist/components/Chat/chatStyles.js.map +1 -0
- package/dist/components/Chat/index.d.ts +2 -0
- package/dist/components/Chat/index.d.ts.map +1 -0
- package/dist/components/Chat/index.js +3 -0
- package/dist/components/Chat/index.js.map +1 -0
- package/dist/components/ConnectionBanner.d.ts +4 -0
- package/dist/components/ConnectionBanner.d.ts.map +1 -0
- package/dist/components/ConnectionBanner.js +9 -0
- package/dist/components/ConnectionBanner.js.map +1 -0
- package/dist/components/CostMeter.d.ts +3 -0
- package/dist/components/CostMeter.d.ts.map +1 -0
- package/dist/components/CostMeter.js +7 -0
- package/dist/components/CostMeter.js.map +1 -0
- package/dist/components/EventList.d.ts +9 -0
- package/dist/components/EventList.d.ts.map +1 -0
- package/dist/components/EventList.js +21 -0
- package/dist/components/EventList.js.map +1 -0
- package/dist/components/HookApprovalPrompt.d.ts +10 -0
- package/dist/components/HookApprovalPrompt.d.ts.map +1 -0
- package/dist/components/HookApprovalPrompt.js +20 -0
- package/dist/components/HookApprovalPrompt.js.map +1 -0
- package/dist/components/InputBar.d.ts +5 -0
- package/dist/components/InputBar.d.ts.map +1 -0
- package/dist/components/InputBar.js +9 -0
- package/dist/components/InputBar.js.map +1 -0
- package/dist/components/Kanban/KanbanBoard.d.ts +14 -0
- package/dist/components/Kanban/KanbanBoard.d.ts.map +1 -0
- package/dist/components/Kanban/KanbanBoard.js +183 -0
- package/dist/components/Kanban/KanbanBoard.js.map +1 -0
- package/dist/components/Kanban/KanbanCard.d.ts +13 -0
- package/dist/components/Kanban/KanbanCard.d.ts.map +1 -0
- package/dist/components/Kanban/KanbanCard.js +75 -0
- package/dist/components/Kanban/KanbanCard.js.map +1 -0
- package/dist/components/Kanban/KanbanColumn.d.ts +25 -0
- package/dist/components/Kanban/KanbanColumn.d.ts.map +1 -0
- package/dist/components/Kanban/KanbanColumn.js +130 -0
- package/dist/components/Kanban/KanbanColumn.js.map +1 -0
- package/dist/components/Kanban/KanbanFilters.d.ts +16 -0
- package/dist/components/Kanban/KanbanFilters.d.ts.map +1 -0
- package/dist/components/Kanban/KanbanFilters.js +45 -0
- package/dist/components/Kanban/KanbanFilters.js.map +1 -0
- package/dist/components/Kanban/index.d.ts +5 -0
- package/dist/components/Kanban/index.d.ts.map +1 -0
- package/dist/components/Kanban/index.js +6 -0
- package/dist/components/Kanban/index.js.map +1 -0
- package/dist/components/Kanban/kanbanHelpers.d.ts +76 -0
- package/dist/components/Kanban/kanbanHelpers.d.ts.map +1 -0
- package/dist/components/Kanban/kanbanHelpers.js +160 -0
- package/dist/components/Kanban/kanbanHelpers.js.map +1 -0
- package/dist/components/Memory/MemoryOntologyEditor.d.ts +27 -0
- package/dist/components/Memory/MemoryOntologyEditor.d.ts.map +1 -0
- package/dist/components/Memory/MemoryOntologyEditor.js +225 -0
- package/dist/components/Memory/MemoryOntologyEditor.js.map +1 -0
- package/dist/components/Memory/MemorySearchForm.d.ts +46 -0
- package/dist/components/Memory/MemorySearchForm.d.ts.map +1 -0
- package/dist/components/Memory/MemorySearchForm.js +194 -0
- package/dist/components/Memory/MemorySearchForm.js.map +1 -0
- package/dist/components/Memory/index.d.ts +4 -0
- package/dist/components/Memory/index.d.ts.map +1 -0
- package/dist/components/Memory/index.js +3 -0
- package/dist/components/Memory/index.js.map +1 -0
- package/dist/components/ModelPicker.d.ts +5 -0
- package/dist/components/ModelPicker.d.ts.map +1 -0
- package/dist/components/ModelPicker.js +7 -0
- package/dist/components/ModelPicker.js.map +1 -0
- package/dist/components/Observability/ActivityFeed.d.ts +13 -0
- package/dist/components/Observability/ActivityFeed.d.ts.map +1 -0
- package/dist/components/Observability/ActivityFeed.js +155 -0
- package/dist/components/Observability/ActivityFeed.js.map +1 -0
- package/dist/components/Observability/ToolInspector.d.ts +22 -0
- package/dist/components/Observability/ToolInspector.d.ts.map +1 -0
- package/dist/components/Observability/ToolInspector.js +166 -0
- package/dist/components/Observability/ToolInspector.js.map +1 -0
- package/dist/components/Observability/index.d.ts +4 -0
- package/dist/components/Observability/index.d.ts.map +1 -0
- package/dist/components/Observability/index.js +3 -0
- package/dist/components/Observability/index.js.map +1 -0
- package/dist/components/RunStatusBadge.d.ts +3 -0
- package/dist/components/RunStatusBadge.d.ts.map +1 -0
- package/dist/components/RunStatusBadge.js +7 -0
- package/dist/components/RunStatusBadge.js.map +1 -0
- package/dist/components/Session/SessionCost.d.ts +22 -0
- package/dist/components/Session/SessionCost.d.ts.map +1 -0
- package/dist/components/Session/SessionCost.js +168 -0
- package/dist/components/Session/SessionCost.js.map +1 -0
- package/dist/components/Session/SessionShell.d.ts +63 -0
- package/dist/components/Session/SessionShell.d.ts.map +1 -0
- package/dist/components/Session/SessionShell.js +150 -0
- package/dist/components/Session/SessionShell.js.map +1 -0
- package/dist/components/Session/SessionTabs.d.ts +6 -0
- package/dist/components/Session/SessionTabs.d.ts.map +1 -0
- package/dist/components/Session/SessionTabs.js +7 -0
- package/dist/components/Session/SessionTabs.js.map +1 -0
- package/dist/components/Session/index.d.ts +7 -0
- package/dist/components/Session/index.d.ts.map +1 -0
- package/dist/components/Session/index.js +5 -0
- package/dist/components/Session/index.js.map +1 -0
- package/dist/components/Session/sessionUtils.d.ts +31 -0
- package/dist/components/Session/sessionUtils.d.ts.map +1 -0
- package/dist/components/Session/sessionUtils.js +90 -0
- package/dist/components/Session/sessionUtils.js.map +1 -0
- package/dist/components/SessionListItem.d.ts +5 -0
- package/dist/components/SessionListItem.d.ts.map +1 -0
- package/dist/components/SessionListItem.js +8 -0
- package/dist/components/SessionListItem.js.map +1 -0
- package/dist/components/Workspace/WorkspaceAssociations.d.ts +10 -0
- package/dist/components/Workspace/WorkspaceAssociations.d.ts.map +1 -0
- package/dist/components/Workspace/WorkspaceAssociations.js +72 -0
- package/dist/components/Workspace/WorkspaceAssociations.js.map +1 -0
- package/dist/components/Workspace/WorkspaceCodespace.d.ts +18 -0
- package/dist/components/Workspace/WorkspaceCodespace.d.ts.map +1 -0
- package/dist/components/Workspace/WorkspaceCodespace.js +91 -0
- package/dist/components/Workspace/WorkspaceCodespace.js.map +1 -0
- package/dist/components/Workspace/WorkspacePanel.d.ts +89 -0
- package/dist/components/Workspace/WorkspacePanel.d.ts.map +1 -0
- package/dist/components/Workspace/WorkspacePanel.js +451 -0
- package/dist/components/Workspace/WorkspacePanel.js.map +1 -0
- package/dist/components/Workspace/index.d.ts +6 -0
- package/dist/components/Workspace/index.d.ts.map +1 -0
- package/dist/components/Workspace/index.js +4 -0
- package/dist/components/Workspace/index.js.map +1 -0
- package/dist/components/event-cards/TextDeltaBubble.d.ts +3 -0
- package/dist/components/event-cards/TextDeltaBubble.d.ts.map +1 -0
- package/dist/components/event-cards/TextDeltaBubble.js +7 -0
- package/dist/components/event-cards/TextDeltaBubble.js.map +1 -0
- package/dist/components/event-cards/ThinkingBubble.d.ts +3 -0
- package/dist/components/event-cards/ThinkingBubble.d.ts.map +1 -0
- package/dist/components/event-cards/ThinkingBubble.js +7 -0
- package/dist/components/event-cards/ThinkingBubble.js.map +1 -0
- package/dist/components/event-cards/ToolCallCard.d.ts +7 -0
- package/dist/components/event-cards/ToolCallCard.d.ts.map +1 -0
- package/dist/components/event-cards/ToolCallCard.js +27 -0
- package/dist/components/event-cards/ToolCallCard.js.map +1 -0
- package/dist/components/event-cards/ToolResultCard.d.ts +7 -0
- package/dist/components/event-cards/ToolResultCard.d.ts.map +1 -0
- package/dist/components/event-cards/ToolResultCard.js +20 -0
- package/dist/components/event-cards/ToolResultCard.js.map +1 -0
- package/dist/components/event-cards/builtins.d.ts +1 -0
- package/dist/components/event-cards/builtins.d.ts.map +1 -0
- package/dist/components/event-cards/builtins.js +31 -0
- package/dist/components/event-cards/builtins.js.map +1 -0
- package/dist/components/event-cards/index.d.ts +6 -0
- package/dist/components/event-cards/index.d.ts.map +1 -0
- package/dist/components/event-cards/index.js +6 -0
- package/dist/components/event-cards/index.js.map +1 -0
- package/dist/components/event-cards/registry.d.ts +24 -0
- package/dist/components/event-cards/registry.d.ts.map +1 -0
- package/dist/components/event-cards/registry.js +24 -0
- package/dist/components/event-cards/registry.js.map +1 -0
- package/dist/components/event-cards/renderers/bash.d.ts +2 -0
- package/dist/components/event-cards/renderers/bash.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/bash.js +8 -0
- package/dist/components/event-cards/renderers/bash.js.map +1 -0
- package/dist/components/event-cards/renderers/edit.d.ts +2 -0
- package/dist/components/event-cards/renderers/edit.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/edit.js +8 -0
- package/dist/components/event-cards/renderers/edit.js.map +1 -0
- package/dist/components/event-cards/renderers/generic.d.ts +2 -0
- package/dist/components/event-cards/renderers/generic.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/generic.js +33 -0
- package/dist/components/event-cards/renderers/generic.js.map +1 -0
- package/dist/components/event-cards/renderers/glob.d.ts +2 -0
- package/dist/components/event-cards/renderers/glob.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/glob.js +8 -0
- package/dist/components/event-cards/renderers/glob.js.map +1 -0
- package/dist/components/event-cards/renderers/grep.d.ts +2 -0
- package/dist/components/event-cards/renderers/grep.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/grep.js +8 -0
- package/dist/components/event-cards/renderers/grep.js.map +1 -0
- package/dist/components/event-cards/renderers/read.d.ts +2 -0
- package/dist/components/event-cards/renderers/read.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/read.js +8 -0
- package/dist/components/event-cards/renderers/read.js.map +1 -0
- package/dist/components/event-cards/renderers/web-fetch.d.ts +2 -0
- package/dist/components/event-cards/renderers/web-fetch.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/web-fetch.js +8 -0
- package/dist/components/event-cards/renderers/web-fetch.js.map +1 -0
- package/dist/components/event-cards/renderers/web-search.d.ts +2 -0
- package/dist/components/event-cards/renderers/web-search.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/web-search.js +8 -0
- package/dist/components/event-cards/renderers/web-search.js.map +1 -0
- package/dist/components/event-cards/renderers/write.d.ts +2 -0
- package/dist/components/event-cards/renderers/write.d.ts.map +1 -0
- package/dist/components/event-cards/renderers/write.js +8 -0
- package/dist/components/event-cards/renderers/write.js.map +1 -0
- package/dist/components/primitives/Button.d.ts +5 -0
- package/dist/components/primitives/Button.d.ts.map +1 -0
- package/dist/components/primitives/Button.js +19 -0
- package/dist/components/primitives/Button.js.map +1 -0
- package/dist/components/primitives/Card.d.ts +2 -0
- package/dist/components/primitives/Card.d.ts.map +1 -0
- package/dist/components/primitives/Card.js +22 -0
- package/dist/components/primitives/Card.js.map +1 -0
- package/dist/components/primitives/CommandPalette.d.ts +21 -0
- package/dist/components/primitives/CommandPalette.d.ts.map +1 -0
- package/dist/components/primitives/CommandPalette.js +229 -0
- package/dist/components/primitives/CommandPalette.js.map +1 -0
- package/dist/components/primitives/ConfirmDialog.d.ts +19 -0
- package/dist/components/primitives/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/primitives/ConfirmDialog.js +78 -0
- package/dist/components/primitives/ConfirmDialog.js.map +1 -0
- package/dist/components/primitives/NotificationBell.d.ts +5 -0
- package/dist/components/primitives/NotificationBell.d.ts.map +1 -0
- package/dist/components/primitives/NotificationBell.js +202 -0
- package/dist/components/primitives/NotificationBell.js.map +1 -0
- package/dist/components/primitives/Pagination.d.ts +14 -0
- package/dist/components/primitives/Pagination.d.ts.map +1 -0
- package/dist/components/primitives/Pagination.js +46 -0
- package/dist/components/primitives/Pagination.js.map +1 -0
- package/dist/components/primitives/ScrollContainer.d.ts +2 -0
- package/dist/components/primitives/ScrollContainer.d.ts.map +1 -0
- package/dist/components/primitives/ScrollContainer.js +17 -0
- package/dist/components/primitives/ScrollContainer.js.map +1 -0
- package/dist/components/primitives/Text.d.ts +2 -0
- package/dist/components/primitives/Text.d.ts.map +1 -0
- package/dist/components/primitives/Text.js +14 -0
- package/dist/components/primitives/Text.js.map +1 -0
- package/dist/components/primitives/index.d.ts +13 -0
- package/dist/components/primitives/index.d.ts.map +1 -0
- package/dist/components/primitives/index.js +9 -0
- package/dist/components/primitives/index.js.map +1 -0
- package/dist/components/primitives/theme.d.ts +8 -0
- package/dist/components/primitives/theme.d.ts.map +1 -0
- package/dist/components/primitives/theme.js +10 -0
- package/dist/components/primitives/theme.js.map +1 -0
- package/dist/components/session-flow/SessionFlowView.d.ts +9 -0
- package/dist/components/session-flow/SessionFlowView.d.ts.map +1 -0
- package/dist/components/session-flow/SessionFlowView.js +228 -0
- package/dist/components/session-flow/SessionFlowView.js.map +1 -0
- package/dist/gateway.d.ts +8 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +8 -0
- package/dist/gateway.js.map +1 -0
- package/dist/hooks/GatewayProvider.d.ts +10 -0
- package/dist/hooks/GatewayProvider.d.ts.map +1 -0
- package/dist/hooks/GatewayProvider.js +84 -0
- package/dist/hooks/GatewayProvider.js.map +1 -0
- package/dist/hooks/useAgents.d.ts +1 -0
- package/dist/hooks/useAgents.d.ts.map +1 -0
- package/dist/hooks/useAgents.js +7 -0
- package/dist/hooks/useAgents.js.map +1 -0
- package/dist/hooks/useConnection.d.ts +1 -0
- package/dist/hooks/useConnection.d.ts.map +1 -0
- package/dist/hooks/useConnection.js +7 -0
- package/dist/hooks/useConnection.js.map +1 -0
- package/dist/hooks/useCostTotals.d.ts +3 -0
- package/dist/hooks/useCostTotals.d.ts.map +1 -0
- package/dist/hooks/useCostTotals.js +8 -0
- package/dist/hooks/useCostTotals.js.map +1 -0
- package/dist/hooks/useGateway.d.ts +4 -0
- package/dist/hooks/useGateway.d.ts.map +1 -0
- package/dist/hooks/useGateway.js +11 -0
- package/dist/hooks/useGateway.js.map +1 -0
- package/dist/hooks/useHookRequests.d.ts +1 -0
- package/dist/hooks/useHookRequests.d.ts.map +1 -0
- package/dist/hooks/useHookRequests.js +9 -0
- package/dist/hooks/useHookRequests.js.map +1 -0
- package/dist/hooks/useRun.d.ts +1 -0
- package/dist/hooks/useRun.d.ts.map +1 -0
- package/dist/hooks/useRun.js +7 -0
- package/dist/hooks/useRun.js.map +1 -0
- package/dist/hooks/useRunEvents.d.ts +8 -0
- package/dist/hooks/useRunEvents.d.ts.map +1 -0
- package/dist/hooks/useRunEvents.js +8 -0
- package/dist/hooks/useRunEvents.js.map +1 -0
- package/dist/hooks/useSendSessionMessage.d.ts +6 -0
- package/dist/hooks/useSendSessionMessage.d.ts.map +1 -0
- package/dist/hooks/useSendSessionMessage.js +19 -0
- package/dist/hooks/useSendSessionMessage.js.map +1 -0
- package/dist/hooks/useSession.d.ts +1 -0
- package/dist/hooks/useSession.d.ts.map +1 -0
- package/dist/hooks/useSession.js +7 -0
- package/dist/hooks/useSession.js.map +1 -0
- package/dist/hooks/useSessions.d.ts +1 -0
- package/dist/hooks/useSessions.d.ts.map +1 -0
- package/dist/hooks/useSessions.js +8 -0
- package/dist/hooks/useSessions.js.map +1 -0
- package/dist/hooks/useStartSession.d.ts +10 -0
- package/dist/hooks/useStartSession.d.ts.map +1 -0
- package/dist/hooks/useStartSession.js +29 -0
- package/dist/hooks/useStartSession.js.map +1 -0
- package/dist/hooks/useStopRun.d.ts +1 -0
- package/dist/hooks/useStopRun.d.ts.map +1 -0
- package/dist/hooks/useStopRun.js +11 -0
- package/dist/hooks/useStopRun.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol/v1.d.ts +111 -0
- package/dist/protocol/v1.d.ts.map +1 -0
- package/dist/protocol/v1.js +2 -0
- package/dist/protocol/v1.js.map +1 -0
- package/dist/screens/AgentsScreen.d.ts +4 -0
- package/dist/screens/AgentsScreen.d.ts.map +1 -0
- package/dist/screens/AgentsScreen.js +9 -0
- package/dist/screens/AgentsScreen.js.map +1 -0
- package/dist/screens/HookInboxScreen.d.ts +1 -0
- package/dist/screens/HookInboxScreen.d.ts.map +1 -0
- package/dist/screens/HookInboxScreen.js +19 -0
- package/dist/screens/HookInboxScreen.js.map +1 -0
- package/dist/screens/NewRunScreen.d.ts +6 -0
- package/dist/screens/NewRunScreen.d.ts.map +1 -0
- package/dist/screens/NewRunScreen.js +35 -0
- package/dist/screens/NewRunScreen.js.map +1 -0
- package/dist/screens/SessionDetailScreen.d.ts +3 -0
- package/dist/screens/SessionDetailScreen.d.ts.map +1 -0
- package/dist/screens/SessionDetailScreen.js +46 -0
- package/dist/screens/SessionDetailScreen.js.map +1 -0
- package/dist/screens/SessionListScreen.d.ts +3 -0
- package/dist/screens/SessionListScreen.d.ts.map +1 -0
- package/dist/screens/SessionListScreen.js +9 -0
- package/dist/screens/SessionListScreen.js.map +1 -0
- package/dist/screens/SettingsScreen.d.ts +1 -0
- package/dist/screens/SettingsScreen.d.ts.map +1 -0
- package/dist/screens/SettingsScreen.js +9 -0
- package/dist/screens/SettingsScreen.js.map +1 -0
- package/dist/session-flow/adapters.d.ts +36 -0
- package/dist/session-flow/adapters.d.ts.map +1 -0
- package/dist/session-flow/adapters.js +362 -0
- package/dist/session-flow/adapters.js.map +1 -0
- package/dist/session-flow/cost.d.ts +2 -0
- package/dist/session-flow/cost.d.ts.map +1 -0
- package/dist/session-flow/cost.js +30 -0
- package/dist/session-flow/cost.js.map +1 -0
- package/dist/session-flow/file-attention.d.ts +3 -0
- package/dist/session-flow/file-attention.d.ts.map +1 -0
- package/dist/session-flow/file-attention.js +43 -0
- package/dist/session-flow/file-attention.js.map +1 -0
- package/dist/session-flow/model.d.ts +6 -0
- package/dist/session-flow/model.d.ts.map +1 -0
- package/dist/session-flow/model.js +110 -0
- package/dist/session-flow/model.js.map +1 -0
- package/dist/session-flow/native.d.ts +3 -0
- package/dist/session-flow/native.d.ts.map +1 -0
- package/dist/session-flow/native.js +185 -0
- package/dist/session-flow/native.js.map +1 -0
- package/dist/session-flow/projector.d.ts +8 -0
- package/dist/session-flow/projector.d.ts.map +1 -0
- package/dist/session-flow/projector.js +392 -0
- package/dist/session-flow/projector.js.map +1 -0
- package/dist/session-flow/types.d.ts +87 -0
- package/dist/session-flow/types.d.ts.map +1 -0
- package/dist/session-flow/types.js +2 -0
- package/dist/session-flow/types.js.map +1 -0
- package/dist/session-flow/utils.d.ts +11 -0
- package/dist/session-flow/utils.d.ts.map +1 -0
- package/dist/session-flow/utils.js +118 -0
- package/dist/session-flow/utils.js.map +1 -0
- package/dist/session-flow.d.ts +7 -0
- package/dist/session-flow.d.ts.map +1 -0
- package/dist/session-flow.js +6 -0
- package/dist/session-flow.js.map +1 -0
- package/dist/store/index.d.ts +72 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +145 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/selectors.d.ts +15 -0
- package/dist/store/selectors.d.ts.map +1 -0
- package/dist/store/selectors.js +72 -0
- package/dist/store/selectors.js.map +1 -0
- package/dist/store/slices/agents.d.ts +2 -0
- package/dist/store/slices/agents.d.ts.map +1 -0
- package/dist/store/slices/agents.js +4 -0
- package/dist/store/slices/agents.js.map +1 -0
- package/dist/store/slices/connection.d.ts +2 -0
- package/dist/store/slices/connection.d.ts.map +1 -0
- package/dist/store/slices/connection.js +4 -0
- package/dist/store/slices/connection.js.map +1 -0
- package/dist/store/slices/events.d.ts +2 -0
- package/dist/store/slices/events.d.ts.map +1 -0
- package/dist/store/slices/events.js +4 -0
- package/dist/store/slices/events.js.map +1 -0
- package/dist/store/slices/hooks.d.ts +2 -0
- package/dist/store/slices/hooks.d.ts.map +1 -0
- package/dist/store/slices/hooks.js +4 -0
- package/dist/store/slices/hooks.js.map +1 -0
- package/dist/store/slices/runs.d.ts +2 -0
- package/dist/store/slices/runs.d.ts.map +1 -0
- package/dist/store/slices/runs.js +4 -0
- package/dist/store/slices/runs.js.map +1 -0
- package/dist/store/slices/sessions.d.ts +2 -0
- package/dist/store/slices/sessions.d.ts.map +1 -0
- package/dist/store/slices/sessions.js +4 -0
- package/dist/store/slices/sessions.js.map +1 -0
- package/dist/theme/dark.d.ts +2 -0
- package/dist/theme/dark.d.ts.map +1 -0
- package/dist/theme/dark.js +21 -0
- package/dist/theme/dark.js.map +1 -0
- package/dist/theme/light.d.ts +2 -0
- package/dist/theme/light.d.ts.map +1 -0
- package/dist/theme/light.js +21 -0
- package/dist/theme/light.js.map +1 -0
- package/dist/theme/tokens.d.ts +20 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/theme/tokens.js +2 -0
- package/dist/theme/tokens.js.map +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
export function ApprovalDecisionButtons({ org, approvalName }) {
|
|
4
|
+
const [status, setStatus] = useState('idle');
|
|
5
|
+
const [message, setMessage] = useState('');
|
|
6
|
+
async function handleDecision(decision) {
|
|
7
|
+
setStatus('loading');
|
|
8
|
+
setMessage('');
|
|
9
|
+
try {
|
|
10
|
+
const response = await fetch(`/api/orgs/${encodeURIComponent(org)}/agents/approvals/${encodeURIComponent(approvalName)}/decide`, {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
headers: { 'content-type': 'application/json' },
|
|
13
|
+
body: JSON.stringify({ decision, decidedBy: 'owner' }),
|
|
14
|
+
});
|
|
15
|
+
const body = await response.json();
|
|
16
|
+
if (response.ok && !body.error) {
|
|
17
|
+
setStatus(decision === 'approve' ? 'approved' : 'denied');
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
setStatus('error');
|
|
21
|
+
setMessage(body.message || body.reason || 'Decision failed');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
setStatus('error');
|
|
26
|
+
setMessage(error instanceof Error ? error.message : 'Unknown error');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (status === 'approved') {
|
|
30
|
+
return (_jsx("div", { className: "heroActions", style: { justifyContent: 'flex-start', gap: '0.5rem', marginTop: '0.75rem' }, children: _jsx("span", { style: { color: 'var(--color-good, #22863a)', fontWeight: 600 }, children: "Approved" }) }));
|
|
31
|
+
}
|
|
32
|
+
if (status === 'denied') {
|
|
33
|
+
return (_jsx("div", { className: "heroActions", style: { justifyContent: 'flex-start', gap: '0.5rem', marginTop: '0.75rem' }, children: _jsx("span", { style: { color: 'var(--color-danger, #cb2431)', fontWeight: 600 }, children: "Denied" }) }));
|
|
34
|
+
}
|
|
35
|
+
return (_jsxs("div", { className: "heroActions", style: { justifyContent: 'flex-start', gap: '0.5rem', marginTop: '0.75rem' }, children: [_jsx("button", { type: "button", onClick: () => handleDecision('approve'), disabled: status === 'loading', "aria-label": `Approve approval request ${approvalName}`, style: {
|
|
36
|
+
background: 'var(--color-good, #22863a)',
|
|
37
|
+
color: '#fff',
|
|
38
|
+
border: 'none',
|
|
39
|
+
padding: '0.4rem 1rem',
|
|
40
|
+
borderRadius: '6px',
|
|
41
|
+
cursor: status === 'loading' ? 'wait' : 'pointer',
|
|
42
|
+
opacity: status === 'loading' ? 0.7 : 1,
|
|
43
|
+
fontWeight: 600,
|
|
44
|
+
}, children: status === 'loading' ? 'Deciding...' : 'Approve' }), _jsx("button", { type: "button", onClick: () => handleDecision('deny'), disabled: status === 'loading', "aria-label": `Deny approval request ${approvalName}`, style: {
|
|
45
|
+
background: 'var(--color-danger, #cb2431)',
|
|
46
|
+
color: '#fff',
|
|
47
|
+
border: 'none',
|
|
48
|
+
padding: '0.4rem 1rem',
|
|
49
|
+
borderRadius: '6px',
|
|
50
|
+
cursor: status === 'loading' ? 'wait' : 'pointer',
|
|
51
|
+
opacity: status === 'loading' ? 0.7 : 1,
|
|
52
|
+
fontWeight: 600,
|
|
53
|
+
}, children: status === 'loading' ? 'Deciding...' : 'Deny' }), status === 'error' && message ? (_jsx("span", { role: "alert", style: { color: 'var(--color-danger, #cb2431)', fontSize: '0.85rem' }, children: message })) : null] }));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ApprovalActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalActions.js","sourceRoot":"","sources":["../../../src/components/Agent/ApprovalActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface AgentProfileOption {
|
|
2
|
+
type: 'agentDefinition' | 'agentStack';
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
hint?: string;
|
|
6
|
+
stackRef?: string;
|
|
7
|
+
stack?: AgentStackOption;
|
|
8
|
+
}
|
|
9
|
+
export interface AgentStackOption {
|
|
10
|
+
metadata?: {
|
|
11
|
+
name?: string;
|
|
12
|
+
};
|
|
13
|
+
spec?: {
|
|
14
|
+
displayName?: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
jitsiCapability?: boolean;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface MeetingOption {
|
|
20
|
+
metadata?: {
|
|
21
|
+
name?: string;
|
|
22
|
+
};
|
|
23
|
+
spec?: {
|
|
24
|
+
displayName?: string;
|
|
25
|
+
roomId?: string;
|
|
26
|
+
};
|
|
27
|
+
status?: {
|
|
28
|
+
phase?: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface DispatchButtonProps {
|
|
32
|
+
org: string;
|
|
33
|
+
stacks?: AgentStackOption[];
|
|
34
|
+
agents?: AgentProfileOption[];
|
|
35
|
+
meetings?: MeetingOption[];
|
|
36
|
+
}
|
|
37
|
+
export declare function DispatchButton({ org, stacks, agents, meetings }: DispatchButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DispatchButton.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/DispatchButton.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,GAAG,YAAY,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAsBD,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,EAAE,mBAAmB,2CAyMnG"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
function agentIdentityOptions(agents, stacks) {
|
|
4
|
+
// Agents are already in option format when passed from outside
|
|
5
|
+
const stackOptions = stacks
|
|
6
|
+
.flatMap((stack) => {
|
|
7
|
+
const name = stack.metadata?.name;
|
|
8
|
+
if (!name)
|
|
9
|
+
return [];
|
|
10
|
+
return [{
|
|
11
|
+
type: 'agentStack',
|
|
12
|
+
value: name,
|
|
13
|
+
label: name,
|
|
14
|
+
hint: 'Legacy stack',
|
|
15
|
+
stack,
|
|
16
|
+
}];
|
|
17
|
+
});
|
|
18
|
+
return [...agents, ...stackOptions];
|
|
19
|
+
}
|
|
20
|
+
export function DispatchButton({ org, stacks = [], agents = [], meetings = [] }) {
|
|
21
|
+
const [status, setStatus] = useState('idle');
|
|
22
|
+
const [selectedTarget, setSelectedTarget] = useState('');
|
|
23
|
+
const [meetingRef, setMeetingRef] = useState('');
|
|
24
|
+
const [repository, setRepository] = useState('');
|
|
25
|
+
const [message, setMessage] = useState('');
|
|
26
|
+
const options = agentIdentityOptions(agents, stacks);
|
|
27
|
+
const selectedOption = options.find((option) => option.value === selectedTarget);
|
|
28
|
+
const selectedStackName = selectedOption?.stackRef || selectedOption?.value;
|
|
29
|
+
const selectedStack = stacks.find((stack) => typeof stack !== 'string' && stack.metadata?.name === selectedStackName) ||
|
|
30
|
+
(typeof selectedOption?.stack === 'object' ? selectedOption.stack : null);
|
|
31
|
+
const canJoinMeeting = selectedStack?.spec?.jitsiCapability === true;
|
|
32
|
+
const activeMeetings = meetings.filter((meeting) => meeting.status?.phase === 'Active');
|
|
33
|
+
async function handleDispatch() {
|
|
34
|
+
if (!selectedTarget)
|
|
35
|
+
return;
|
|
36
|
+
setStatus('dispatching');
|
|
37
|
+
try {
|
|
38
|
+
const res = await fetch(`/api/orgs/${org}/agents/dispatch`, {
|
|
39
|
+
method: 'POST',
|
|
40
|
+
headers: { 'Content-Type': 'application/json' },
|
|
41
|
+
body: JSON.stringify({
|
|
42
|
+
...(selectedOption?.type === 'agentDefinition'
|
|
43
|
+
? { agentDefinition: selectedTarget }
|
|
44
|
+
: { agentStack: selectedTarget }),
|
|
45
|
+
...(canJoinMeeting && meetingRef ? { meetingRef } : {}),
|
|
46
|
+
repository: repository || 'default',
|
|
47
|
+
ref: 'main',
|
|
48
|
+
taskKind: 'diagnostic',
|
|
49
|
+
actor: 'owner',
|
|
50
|
+
}),
|
|
51
|
+
});
|
|
52
|
+
const data = await res.json();
|
|
53
|
+
if (data.error) {
|
|
54
|
+
setStatus('error');
|
|
55
|
+
setMessage(data.message || 'Dispatch failed');
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
setStatus('success');
|
|
59
|
+
setMessage(`Dispatch created: ${data.run?.metadata?.name || 'success'}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
setStatus('error');
|
|
64
|
+
setMessage((err instanceof Error ? err.message : null) || 'Network error');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const buttonStyle = {
|
|
68
|
+
padding: '8px 20px',
|
|
69
|
+
borderRadius: 6,
|
|
70
|
+
border: 'none',
|
|
71
|
+
cursor: 'pointer',
|
|
72
|
+
fontSize: 14,
|
|
73
|
+
fontWeight: 600,
|
|
74
|
+
};
|
|
75
|
+
const primaryStyle = { ...buttonStyle, backgroundColor: '#2563eb', color: '#fff' };
|
|
76
|
+
const secondaryStyle = {
|
|
77
|
+
...buttonStyle,
|
|
78
|
+
backgroundColor: 'transparent',
|
|
79
|
+
color: '#374151',
|
|
80
|
+
border: '1px solid #d1d5db',
|
|
81
|
+
};
|
|
82
|
+
if (status === 'idle') {
|
|
83
|
+
return (_jsx("button", { onClick: () => setStatus('selecting'), style: primaryStyle, children: "Dispatch Agent" }));
|
|
84
|
+
}
|
|
85
|
+
if (status === 'selecting') {
|
|
86
|
+
return (_jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center', padding: '8px 0', flexWrap: 'wrap' }, children: [_jsx("label", { htmlFor: "dispatch-stack-select", style: { position: 'absolute', width: 1, height: 1, overflow: 'hidden', clip: 'rect(0,0,0,0)' }, children: "Agent stack" }), _jsxs("select", { id: "dispatch-stack-select", value: selectedTarget, onChange: (e) => {
|
|
87
|
+
setSelectedTarget(e.target.value);
|
|
88
|
+
setMeetingRef('');
|
|
89
|
+
}, style: { padding: '6px 12px', borderRadius: 4, border: '1px solid #d1d5db', fontSize: 13 }, "aria-label": "Select agent persona or stack", children: [_jsx("option", { value: "", children: "Select agent..." }), options.map((option) => (_jsxs("option", { value: option.value, children: [option.label, option.hint ? ` - ${option.hint}` : ''] }, `${option.type}-${option.value}`)))] }), canJoinMeeting ? (_jsxs(_Fragment, { children: [_jsx("label", { htmlFor: "dispatch-meeting-select", style: { position: 'absolute', width: 1, height: 1, overflow: 'hidden', clip: 'rect(0,0,0,0)' }, children: "Meeting" }), _jsxs("select", { id: "dispatch-meeting-select", value: meetingRef, onChange: (e) => setMeetingRef(e.target.value), style: { padding: '6px 12px', borderRadius: 4, border: '1px solid #d1d5db', fontSize: 13 }, "aria-label": "Meeting", children: [_jsx("option", { value: "", children: "No meeting" }), activeMeetings.map((meeting) => (_jsx("option", { value: meeting.metadata?.name || meeting.spec?.roomId, children: meeting.spec?.displayName || meeting.metadata?.name || meeting.spec?.roomId }, meeting.metadata?.name || meeting.spec?.roomId)))] })] })) : null, _jsx("label", { htmlFor: "dispatch-repo-input", style: { position: 'absolute', width: 1, height: 1, overflow: 'hidden', clip: 'rect(0,0,0,0)' }, children: "Repository" }), _jsx("input", { id: "dispatch-repo-input", placeholder: "Repository (optional)", value: repository, onChange: (e) => setRepository(e.target.value), style: { padding: '6px 12px', borderRadius: 4, border: '1px solid #d1d5db', fontSize: 13, width: 180 }, "aria-label": "Repository (optional)" }), _jsx("button", { onClick: handleDispatch, disabled: !selectedTarget, "aria-label": "Launch dispatch", style: { ...primaryStyle, opacity: selectedTarget ? 1 : 0.5 }, children: "Launch" }), _jsx("button", { onClick: () => {
|
|
90
|
+
setStatus('idle');
|
|
91
|
+
setSelectedTarget('');
|
|
92
|
+
setMeetingRef('');
|
|
93
|
+
setRepository('');
|
|
94
|
+
}, "aria-label": "Cancel dispatch", style: secondaryStyle, children: "Cancel" })] }));
|
|
95
|
+
}
|
|
96
|
+
if (status === 'dispatching') {
|
|
97
|
+
return _jsx("span", { style: { fontSize: 13, color: '#6b7280' }, children: "Dispatching..." });
|
|
98
|
+
}
|
|
99
|
+
if (status === 'success') {
|
|
100
|
+
return (_jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center' }, children: [_jsx("span", { style: { fontSize: 13, color: '#16a34a' }, children: message }), _jsx("button", { onClick: () => {
|
|
101
|
+
setStatus('idle');
|
|
102
|
+
setMessage('');
|
|
103
|
+
}, style: secondaryStyle, children: "Dispatch Another" })] }));
|
|
104
|
+
}
|
|
105
|
+
// error
|
|
106
|
+
return (_jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center' }, children: [_jsx("span", { style: { fontSize: 13, color: '#dc2626' }, children: message }), _jsx("button", { onClick: () => {
|
|
107
|
+
setStatus('idle');
|
|
108
|
+
setMessage('');
|
|
109
|
+
}, style: secondaryStyle, children: "Try Again" })] }));
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=DispatchButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DispatchButton.js","sourceRoot":"","sources":["../../../src/components/Agent/DispatchButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { AgentDirectory } from './AgentDirectory.js';
|
|
2
|
+
export type { AgentDirectoryProps } from './AgentDirectory.js';
|
|
3
|
+
export { AgentProfileCard } from './AgentProfileCard.js';
|
|
4
|
+
export type { AgentProfileCardProps, AgentProfile, AgentAvatar, AgentProfileStatus, AgentDefinitionRef } from './AgentProfileCard.js';
|
|
5
|
+
export { AgentProfilePage } from './AgentProfilePage.js';
|
|
6
|
+
export type { AgentProfilePageProps, AgentProfilePageData } from './AgentProfilePage.js';
|
|
7
|
+
export { AgentCreateWizard } from './AgentCreateWizard.js';
|
|
8
|
+
export type { AgentCreateWizardProps, AgentDefinitionValue, AgentStack, SkillRef } from './AgentCreateWizard.js';
|
|
9
|
+
export { AgentPersonaEditor } from './AgentPersonaEditor.js';
|
|
10
|
+
export type { AgentPersonaEditorProps, AgentPersonaValue, AgentPersonalitySpec, AgentRoleSpec } from './AgentPersonaEditor.js';
|
|
11
|
+
export { AgentSoulEditor } from './AgentSoulEditor.js';
|
|
12
|
+
export type { AgentSoulEditorProps } from './AgentSoulEditor.js';
|
|
13
|
+
export { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
|
|
14
|
+
export type { AgentAppearanceEditorProps, AgentAppearanceSpec, AgentAvatarSpec, AgentBadgeSpec, AgentThemeSpec } from './AgentAppearanceEditor.js';
|
|
15
|
+
export { AgentVoiceEditor } from './AgentVoiceEditor.js';
|
|
16
|
+
export type { AgentVoiceEditorProps, AgentVoiceSpec, AgentTtsConfig } from './AgentVoiceEditor.js';
|
|
17
|
+
export { DispatchButton } from './DispatchButton.js';
|
|
18
|
+
export type { DispatchButtonProps, AgentProfileOption, AgentStackOption, MeetingOption } from './DispatchButton.js';
|
|
19
|
+
export { ApprovalDecisionButtons } from './ApprovalActions.js';
|
|
20
|
+
export type { ApprovalDecisionButtonsProps } from './ApprovalActions.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtI,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE/H,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEnJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { AgentDirectory } from './AgentDirectory.js';
|
|
2
|
+
export { AgentProfileCard } from './AgentProfileCard.js';
|
|
3
|
+
export { AgentProfilePage } from './AgentProfilePage.js';
|
|
4
|
+
export { AgentCreateWizard } from './AgentCreateWizard.js';
|
|
5
|
+
export { AgentPersonaEditor } from './AgentPersonaEditor.js';
|
|
6
|
+
export { AgentSoulEditor } from './AgentSoulEditor.js';
|
|
7
|
+
export { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
|
|
8
|
+
export { AgentVoiceEditor } from './AgentVoiceEditor.js';
|
|
9
|
+
export { DispatchButton } from './DispatchButton.js';
|
|
10
|
+
export { ApprovalDecisionButtons } from './ApprovalActions.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPicker.d.ts","sourceRoot":"","sources":["../../src/components/AgentPicker.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,GAAG,GAAG,CAAC,OAAO,CAQd"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Button } from './primitives/Button.js';
|
|
4
|
+
export function AgentPicker(props) {
|
|
5
|
+
return (_jsx(View, { style: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 }, children: props.agents.map((agent) => (_jsx(Button, { label: agent === props.selected ? `${agent} *` : agent, onPress: () => props.onSelect(agent) }, agent))) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=AgentPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPicker.js","sourceRoot":"","sources":["../../src/components/AgentPicker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,KAI3B;IACC,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,YAC5D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,MAAM,IAAa,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAnG,KAAK,CAAkG,CACrH,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function timeAgo(ts: string | undefined | null): string;
|
|
3
|
+
export interface CopyButtonProps {
|
|
4
|
+
text: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
}
|
|
7
|
+
export declare function CopyButton({ text, style: extraStyle }: CopyButtonProps): JSX.Element;
|
|
8
|
+
export interface CodeBlockProps {
|
|
9
|
+
language?: string;
|
|
10
|
+
code: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function CodeBlock({ language, code }: CodeBlockProps): JSX.Element;
|
|
13
|
+
export declare function renderMarkdown(text: string | undefined | null): React.ReactNode;
|
|
14
|
+
export declare function isApiKeyError(content: string | undefined | null): boolean;
|
|
15
|
+
export declare function ApiKeyMessage(): JSX.Element;
|
|
16
|
+
export declare function ThinkingIndicator(): JSX.Element;
|
|
17
|
+
export interface ChatMessage {
|
|
18
|
+
id: string;
|
|
19
|
+
role: string;
|
|
20
|
+
content?: string;
|
|
21
|
+
timestamp?: string;
|
|
22
|
+
usage?: {
|
|
23
|
+
input_tokens?: number;
|
|
24
|
+
output_tokens?: number;
|
|
25
|
+
inputTokens?: number;
|
|
26
|
+
outputTokens?: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface MessageBubbleProps {
|
|
30
|
+
msg: ChatMessage;
|
|
31
|
+
}
|
|
32
|
+
export declare function MessageBubble({ msg }: MessageBubbleProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/ChatMessages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAIrD,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAO7D;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAmBpF;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAiBzE;AAsCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,SAAS,CA0E/E;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAIzE;AAED,wBAAgB,aAAa,IAAI,GAAG,CAAC,OAAO,CAe3C;AAGD,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,OAAO,CAU/C;AAGD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA8BtE"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { styles } from './chatStyles.js';
|
|
4
|
+
/* ───────────── relative timestamp ───────────── */
|
|
5
|
+
export function timeAgo(ts) {
|
|
6
|
+
if (!ts)
|
|
7
|
+
return '';
|
|
8
|
+
const diff = Date.now() - new Date(ts).getTime();
|
|
9
|
+
if (diff < 60_000)
|
|
10
|
+
return 'just now';
|
|
11
|
+
if (diff < 3_600_000)
|
|
12
|
+
return `${Math.floor(diff / 60_000)}m ago`;
|
|
13
|
+
if (diff < 86_400_000)
|
|
14
|
+
return `${Math.floor(diff / 3_600_000)}h ago`;
|
|
15
|
+
return `${Math.floor(diff / 86_400_000)}d ago`;
|
|
16
|
+
}
|
|
17
|
+
export function CopyButton({ text, style: extraStyle }) {
|
|
18
|
+
const [copied, setCopied] = useState(false);
|
|
19
|
+
const handleCopy = useCallback(() => {
|
|
20
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
21
|
+
setCopied(true);
|
|
22
|
+
setTimeout(() => setCopied(false), 1800);
|
|
23
|
+
}).catch((err) => console.warn('[genty]', err.message || err));
|
|
24
|
+
}, [text]);
|
|
25
|
+
return (_jsx("button", { onClick: handleCopy, style: { ...styles.codeCopyBtn, ...extraStyle }, title: "Copy to clipboard", "aria-label": "Copy to clipboard", children: copied ? 'Copied' : 'Copy' }));
|
|
26
|
+
}
|
|
27
|
+
export function CodeBlock({ language, code }) {
|
|
28
|
+
const lines = code.split('\n');
|
|
29
|
+
return (_jsxs("div", { style: { marginTop: 8, marginBottom: 4 }, children: [_jsxs("div", { style: styles.codeBlockHeader, children: [_jsx("span", { children: language || 'code' }), _jsx(CopyButton, { text: code })] }), _jsx("pre", { style: { ...styles.codeBlock, borderRadius: '0 0 6px 6px', marginTop: 0 }, children: lines.map((line, i) => (_jsxs("span", { children: [_jsx("span", { style: styles.lineNumber, children: i + 1 }), line, '\n'] }, i))) })] }));
|
|
30
|
+
}
|
|
31
|
+
/* ───────────── inline markdown ───────────── */
|
|
32
|
+
function renderInline(text) {
|
|
33
|
+
if (!text)
|
|
34
|
+
return null;
|
|
35
|
+
const segments = text.split(/(`[^`]+`)/g);
|
|
36
|
+
return segments.map((seg, j) => {
|
|
37
|
+
if (seg.startsWith('`') && seg.endsWith('`')) {
|
|
38
|
+
return (_jsx("code", { style: {
|
|
39
|
+
background: 'var(--surface-overlay)', padding: '1px 5px', borderRadius: 3,
|
|
40
|
+
fontFamily: 'var(--mono, monospace)', fontSize: '0.88em',
|
|
41
|
+
}, children: seg.slice(1, -1) }, j));
|
|
42
|
+
}
|
|
43
|
+
// Bold + italic (***text***)
|
|
44
|
+
let result = seg.replace(/\*\*\*([^*]+)\*\*\*/g, '<<<BI:$1>>>');
|
|
45
|
+
// Bold (**text**)
|
|
46
|
+
result = result.replace(/\*\*([^*]+)\*\*/g, '<<<B:$1>>>');
|
|
47
|
+
// Italic (*text*)
|
|
48
|
+
result = result.replace(/\*([^*]+)\*/g, '<<<I:$1>>>');
|
|
49
|
+
const tokens = result.split(/(<<<(?:BI|B|I):[^>]+>>>)/g);
|
|
50
|
+
return tokens.map((tok, k) => {
|
|
51
|
+
const biMatch = tok.match(/<<<BI:(.+)>>>/);
|
|
52
|
+
if (biMatch)
|
|
53
|
+
return _jsx("strong", { children: _jsx("em", { children: biMatch[1] }) }, `${j}-${k}`);
|
|
54
|
+
const bMatch = tok.match(/<<<B:(.+)>>>/);
|
|
55
|
+
if (bMatch)
|
|
56
|
+
return _jsx("strong", { children: bMatch[1] }, `${j}-${k}`);
|
|
57
|
+
const iMatch = tok.match(/<<<I:(.+)>>>/);
|
|
58
|
+
if (iMatch)
|
|
59
|
+
return _jsx("em", { children: iMatch[1] }, `${j}-${k}`);
|
|
60
|
+
return tok;
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/* ───────────── markdown renderer ───────────── */
|
|
65
|
+
export function renderMarkdown(text) {
|
|
66
|
+
if (!text)
|
|
67
|
+
return null;
|
|
68
|
+
const parts = text.split(/(```[\s\S]*?```)/g);
|
|
69
|
+
return parts.map((part, i) => {
|
|
70
|
+
if (part.startsWith('```') && part.endsWith('```')) {
|
|
71
|
+
const inner = part.slice(3, -3);
|
|
72
|
+
const newlineIdx = inner.indexOf('\n');
|
|
73
|
+
const lang = newlineIdx >= 0 ? inner.slice(0, newlineIdx).trim() : '';
|
|
74
|
+
const code = newlineIdx >= 0 ? inner.slice(newlineIdx + 1) : inner;
|
|
75
|
+
return _jsx(CodeBlock, { language: lang, code: code }, i);
|
|
76
|
+
}
|
|
77
|
+
const lines = part.split('\n');
|
|
78
|
+
const elements = [];
|
|
79
|
+
let listItems = [];
|
|
80
|
+
let listType = null;
|
|
81
|
+
function flushList() {
|
|
82
|
+
if (listItems.length > 0) {
|
|
83
|
+
const Tag = listType === 'ol' ? 'ol' : 'ul';
|
|
84
|
+
elements.push(_jsx(Tag, { style: { margin: '6px 0', paddingLeft: 20 }, children: listItems.map((li, j) => _jsx("li", { children: renderInline(li) }, j)) }, `list-${elements.length}`));
|
|
85
|
+
listItems = [];
|
|
86
|
+
listType = null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
for (const line of lines) {
|
|
90
|
+
const ulMatch = line.match(/^(\s*)[-*]\s+(.*)/);
|
|
91
|
+
if (ulMatch) {
|
|
92
|
+
if (listType === 'ol')
|
|
93
|
+
flushList();
|
|
94
|
+
listType = 'ul';
|
|
95
|
+
listItems.push(ulMatch[2]);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const olMatch = line.match(/^(\s*)\d+\.\s+(.*)/);
|
|
99
|
+
if (olMatch) {
|
|
100
|
+
if (listType === 'ul')
|
|
101
|
+
flushList();
|
|
102
|
+
listType = 'ol';
|
|
103
|
+
listItems.push(olMatch[2]);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
flushList();
|
|
107
|
+
const headingMatch = line.match(/^(#{1,4})\s+(.*)/);
|
|
108
|
+
if (headingMatch) {
|
|
109
|
+
const level = headingMatch[1].length;
|
|
110
|
+
const sizes = { 1: 18, 2: 16, 3: 14, 4: 13 };
|
|
111
|
+
elements.push(_jsx("div", { style: { fontWeight: 700, fontSize: sizes[level] || 14, marginTop: 10, marginBottom: 4 }, children: renderInline(headingMatch[2]) }, `h-${elements.length}`));
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (/^---+$/.test(line.trim())) {
|
|
115
|
+
elements.push(_jsx("hr", { style: { border: 'none', borderTop: '1px solid var(--border)', margin: '8px 0' } }, `hr-${elements.length}`));
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (line.trim()) {
|
|
119
|
+
elements.push(_jsx("div", { style: { marginBottom: 4 }, children: renderInline(line) }, `p-${elements.length}`));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
flushList();
|
|
123
|
+
return _jsx("span", { children: elements }, i);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/* ───────────── API key missing helpers ───────────── */
|
|
127
|
+
export function isApiKeyError(content) {
|
|
128
|
+
if (!content)
|
|
129
|
+
return false;
|
|
130
|
+
const lower = content.toLowerCase();
|
|
131
|
+
return lower.includes('api key not configured') || lower.includes('anthropic_api_key') || lower.includes('kradle_assistant_api_key');
|
|
132
|
+
}
|
|
133
|
+
export function ApiKeyMessage() {
|
|
134
|
+
return (_jsxs("div", { style: { ...styles.bubbleError, maxWidth: '90%' }, children: [_jsx("div", { style: { fontWeight: 600, marginBottom: 6 }, children: "API Key Not Configured" }), _jsx("div", { style: { fontSize: 13, lineHeight: 1.5 }, children: "The assistant needs an Anthropic API key to generate responses. Set one of:" }), _jsx("pre", { style: { ...styles.codeBlock, marginTop: 8, padding: '10px 14px', fontSize: 12 }, children: `# Option 1: Environment variable\nexport ANTHROPIC_API_KEY=sk-ant-...\n\n# Option 2: Kradle-specific key\nexport KRADLE_ASSISTANT_API_KEY=sk-ant-...` }), _jsx("div", { style: { fontSize: 12, marginTop: 6, color: 'var(--text-muted)' }, children: "Then restart the Kradle web server." })] }));
|
|
135
|
+
}
|
|
136
|
+
/* ───────────── thinking indicator ───────────── */
|
|
137
|
+
export function ThinkingIndicator() {
|
|
138
|
+
return (_jsx("div", { style: styles.thinkingRow, children: _jsxs("div", { style: styles.thinkingBubble, children: [_jsx("div", { style: styles.thinkingDot(0) }), _jsx("div", { style: styles.thinkingDot(0.2) }), _jsx("div", { style: styles.thinkingDot(0.4) })] }) }));
|
|
139
|
+
}
|
|
140
|
+
export function MessageBubble({ msg }) {
|
|
141
|
+
const isUser = msg.role === 'user';
|
|
142
|
+
const isError = !isUser && !!msg.content && (msg.content.startsWith('Error:') || msg.content.startsWith('Error processing'));
|
|
143
|
+
const showApiKeyHelp = !isUser && isApiKeyError(msg.content);
|
|
144
|
+
return (_jsxs("div", { style: styles.messageRow(isUser), "aria-label": isUser ? 'Your message' : 'Assistant message', children: [showApiKeyHelp ? (_jsx(ApiKeyMessage, {})) : (_jsx("div", { style: isError ? styles.bubbleError : styles.bubble(isUser), children: isUser ? msg.content : renderMarkdown(msg.content) })), _jsxs("div", { style: styles.bubbleMeta, children: [_jsx("span", { children: timeAgo(msg.timestamp) }), msg.usage && (_jsxs("span", { style: styles.usage, children: [msg.usage.input_tokens != null && `In: ${msg.usage.input_tokens}`, msg.usage.output_tokens != null && ` Out: ${msg.usage.output_tokens}`, msg.usage.inputTokens != null && `In: ${msg.usage.inputTokens}`, msg.usage.outputTokens != null && ` Out: ${msg.usage.outputTokens}`] })), !isUser && msg.content && !showApiKeyHelp && (_jsx(CopyButton, { text: msg.content, style: styles.copyBtn }))] })] }, msg.id));
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=ChatMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessages.js","sourceRoot":"","sources":["../../../src/components/Chat/ChatMessages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
container: React.CSSProperties;
|
|
4
|
+
sidebar: React.CSSProperties;
|
|
5
|
+
sidebarHeader: React.CSSProperties;
|
|
6
|
+
sidebarTitle: React.CSSProperties;
|
|
7
|
+
newBtn: React.CSSProperties;
|
|
8
|
+
sessionList: React.CSSProperties;
|
|
9
|
+
sessionItem: (active: boolean) => React.CSSProperties;
|
|
10
|
+
sessionLabel: React.CSSProperties;
|
|
11
|
+
sessionMeta: React.CSSProperties;
|
|
12
|
+
sessionDelete: React.CSSProperties;
|
|
13
|
+
main: React.CSSProperties;
|
|
14
|
+
toolbar: React.CSSProperties;
|
|
15
|
+
stackLabel: React.CSSProperties;
|
|
16
|
+
stackSelect: React.CSSProperties;
|
|
17
|
+
messages: React.CSSProperties;
|
|
18
|
+
messageRow: (isUser: boolean) => React.CSSProperties;
|
|
19
|
+
bubble: (isUser: boolean) => React.CSSProperties;
|
|
20
|
+
bubbleError: React.CSSProperties;
|
|
21
|
+
bubbleMeta: React.CSSProperties;
|
|
22
|
+
copyBtn: React.CSSProperties;
|
|
23
|
+
copyBtnHover: React.CSSProperties;
|
|
24
|
+
codeBlock: React.CSSProperties;
|
|
25
|
+
codeBlockHeader: React.CSSProperties;
|
|
26
|
+
codeCopyBtn: React.CSSProperties;
|
|
27
|
+
lineNumber: React.CSSProperties;
|
|
28
|
+
usage: React.CSSProperties;
|
|
29
|
+
inputRow: React.CSSProperties;
|
|
30
|
+
textarea: React.CSSProperties;
|
|
31
|
+
sendBtn: (disabled: boolean) => React.CSSProperties;
|
|
32
|
+
empty: React.CSSProperties;
|
|
33
|
+
emptyIcon: React.CSSProperties;
|
|
34
|
+
thinkingRow: React.CSSProperties;
|
|
35
|
+
thinkingBubble: React.CSSProperties;
|
|
36
|
+
thinkingDot: (delay: number) => React.CSSProperties;
|
|
37
|
+
scrollBtn: React.CSSProperties;
|
|
38
|
+
errorBanner: React.CSSProperties;
|
|
39
|
+
errorDismiss: React.CSSProperties;
|
|
40
|
+
};
|
|
41
|
+
export declare function ensureKeyframes(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatStyles.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/chatStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,MAAM;eAIZ,KAAK,CAAC,aAAa;aAKnB,KAAK,CAAC,aAAa;mBAInB,KAAK,CAAC,aAAa;kBAC4D,KAAK,CAAC,aAAa;YAIlG,KAAK,CAAC,aAAa;iBACwC,KAAK,CAAC,aAAa;0BAC7D,OAAO,KAAG,KAAK,CAAC,aAAa;kBAOmC,KAAK,CAAC,aAAa;iBAC1B,KAAK,CAAC,aAAa;mBAI7F,KAAK,CAAC,aAAa;UAC0E,KAAK,CAAC,aAAa;aAIhH,KAAK,CAAC,aAAa;gBACqD,KAAK,CAAC,aAAa;iBAI3F,KAAK,CAAC,aAAa;cAInB,KAAK,CAAC,aAAa;yBAEH,OAAO,KAAG,KAAK,CAAC,aAAa;qBAKjC,OAAO,KAAG,KAAK,CAAC,aAAa;iBAezC,KAAK,CAAC,aAAa;gBAInB,KAAK,CAAC,aAAa;aAKnB,KAAK,CAAC,aAAa;kBACkC,KAAK,CAAC,aAAa;eAOxE,KAAK,CAAC,aAAa;qBAKnB,KAAK,CAAC,aAAa;iBAInB,KAAK,CAAC,aAAa;gBAInB,KAAK,CAAC,aAAa;WAC6C,KAAK,CAAC,aAAa;cAMnF,KAAK,CAAC,aAAa;cAMnB,KAAK,CAAC,aAAa;wBACJ,OAAO,KAAG,KAAK,CAAC,aAAa;WAS5C,KAAK,CAAC,aAAa;eAKnB,KAAK,CAAC,aAAa;iBAInB,KAAK,CAAC,aAAa;oBAKnB,KAAK,CAAC,aAAa;yBACH,MAAM,KAAG,KAAK,CAAC,aAAa;eAc5C,KAAK,CAAC,aAAa;iBAMnB,KAAK,CAAC,aAAa;kBAInB,KAAK,CAAC,aAAa;CACzB,CAAC;AAIF,wBAAgB,eAAe,IAAI,IAAI,CAYtC"}
|