sage-agent-internal 0.2.0rc0__tar.gz → 0.2.2__tar.gz
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.
- sage_agent_internal-0.2.2/PKG-INFO +209 -0
- sage_agent_internal-0.2.2/README.md +153 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/package.json +1 -1
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/_version.py +1 -1
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/package.json +2 -2
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/schemas/sage-agent-internal/package.json.orig +1 -1
- sage_agent_internal-0.2.2/sage_agent_internal/labextension/static/363.0520d99597afee9498e3.js +1 -0
- sage_agent_internal-0.2.0rc0/sage_agent_internal/labextension/static/833.1509794f6b586558f96c.js → sage_agent_internal-0.2.2/sage_agent_internal/labextension/static/833.1882e0f009ded580ada1.js +1 -1
- sage_agent_internal-0.2.2/sage_agent_internal/labextension/static/remoteEntry.43bde913ee2adc92e342.js +1 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/PlanStateDisplay.tsx +208 -70
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/plan-state-display.css +27 -1
- sage_agent_internal-0.2.0rc0/PKG-INFO +0 -154
- sage_agent_internal-0.2.0rc0/README.md +0 -98
- sage_agent_internal-0.2.0rc0/sage_agent_internal/labextension/static/363.d6c25400a011b62fbae6.js +0 -1
- sage_agent_internal-0.2.0rc0/sage_agent_internal/labextension/static/remoteEntry.728a8d85dbc05441667a.js +0 -1
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.copier-answers.yml +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.gitignore +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.keep +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.prettierignore +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.vscode/settings.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/.yarnrc.yml +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/CHANGELOG.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/LICENSE +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/RELEASE.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/__tests__/sage_agent.spec.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/babel.config.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/cli-chat-tool/index.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/cli-chat-tool/package-lock.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/cli-chat-tool/package.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/cli-chat-tool/tsconfig.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/cli-chat-tool/yarn.lock +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/install.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/jest.config.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/package-lock.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/pyproject.toml +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/__init__.py +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/schemas/sage-agent-internal/plugin.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/122.3c2c200586e65203b674.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/220.d384edfd5bbcfda33a2a.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/262.3fc4ad88e6f8c273d4ad.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/353.2c285601a208c3735929.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/364.c2fb82c6f484097228c6.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/439.3cb9ac7022c8a6074647.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/481.96b91d018df31d54d173.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/553.b7906877d98a62265533.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/553.b7906877d98a62265533.js.LICENSE.txt +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/635.8c395c854aa2b140b668.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/713.103cb5ae248be385b08a.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/742.b204789055ded4e07883.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/747.b8e9485ebcbb3066eb4b.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/821.b58f29814f5900f1f6f8.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/845.cc2bc80fbfea6d20a396.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/888.09382cc93a2ad3932b31.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/973.38ee5148a3908e41c2dd.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/973.38ee5148a3908e41c2dd.js.LICENSE.txt +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/style.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/sage_agent_internal/labextension/static/third-party-licenses.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/schema/plugin.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/setup.py +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/AppState.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/BackendTools/DatabaseTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/BackendTools/FilesystemTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/BackendTools/WebTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/BackendTools/index.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/BackendTools/tickers.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/CellTrackingService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ActionHistory.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ChatContextLoaders.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ChatContextMenu.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ChatContextMenuLogic.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ChatContextMenuUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ContextCacheService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/ContextCellHighlighter.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/KernelExecutionListener.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatContextMenu/icons.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatHistoryManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatInputManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatMessages.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ChatUIHelper.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ConversationService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/ConversationServiceUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Chat/RichTextChatInput.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/CodebaseManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/ChatboxContext.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/CodeConfirmationDialog.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/DiffApprovalDialog.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/DiffNavigationContent.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/DiffNavigationWidget.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/DiffItem.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/LLMStateContent.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/LLMStateDisplay.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/icons.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/index.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/LLMStateDisplay/types.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/MoreOptionsDisplay.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/NewChatDisplayWidget.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/RejectionFeedbackDialog.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/Settings/SettingsWidget.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/SnippetCreationContent.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/SnippetCreationWidget.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/SnippetForm.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/SnippetFormModal.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/SnippetList.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/index.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/SnippetCreationWidget/types.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/UpdateBanner/UpdateBannerWidget.tsx +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/chatbox.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Components/icons.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/ConfigService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/models.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/optional_env.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/prompts/claude_system_prompt.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/prompts/claude_system_prompt_ask_mode.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/prompts/claude_system_prompt_edit_full_cell.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/prompts/claude_system_prompt_edit_selection.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/prompts/claude_system_prompt_fast_mode.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Config/tools.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/InlineDiffService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookCellTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookChatContainer.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookContextManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookDiffManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookDiffTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookStateService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/NotebookTools.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Notebook/WaitingUserReplyBoxManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/NotebookSettingsContainer.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/AnthropicMessageCreator.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/AnthropicService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/AnthropicStreamHandler.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/ContextService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/DatabaseMetadataCache.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/DiffStateService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/IChatService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/NotebookCellStateService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/ServiceFactory.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/ServiceUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/Services/ToolService.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/ThreadManager.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/TrackingIDUtility.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/commands.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/eval_commands.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/index.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/plugin.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/types/json.d.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/types.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/VariableExtractor.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/caching.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/contextTagUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/kernelPreview.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/kernelUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/stateDBCaching.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/tokenUtils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils/toolDisplay.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/src/utils.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/base.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/chat-container.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/chat-mention-dropdown.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/code-mirror-merge.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/codebase-manager.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/diff-approval.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/diff-edit-mode.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/diff-mode.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/diff-navigation.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/floating-bottom-widget.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/fonts.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/agent-mode-shiny.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/agent-mode.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/approve.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/arrow-down.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/arrow-up.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/ask-mode.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/check.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/dashed-circle.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/hands-on-mode.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/open.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/reapply.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/reject.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/run.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/search.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/send.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/chat_input/stop.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/cell.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/data.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/insert.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/search.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/snippets.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/context_menu/variable.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/state_display/menu-close.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/state_display/menu-icon.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/icons/state_display/run_cell.svg +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/index.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/index.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/inline-diff-approval.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/left-side-menu.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/llm-state-display.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/minus-icon.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/modal.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/mode-selector-dropdown.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/more-options.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/new-chat-display.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/settings-widget.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/snippet-creation.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/style.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/style/update-banner.css +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/templates/rule.example.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/tsconfig.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/tsconfig.test.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/README.md +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/jupyter_server_test_config.py +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/package.json +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/playwright.config.js +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/tests/sage_agent.spec.ts +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/ui-tests/yarn.lock +0 -0
- {sage_agent_internal-0.2.0rc0 → sage_agent_internal-0.2.2}/yarn.lock +0 -0
@@ -0,0 +1,209 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: sage_agent_internal
|
3
|
+
Version: 0.2.2
|
4
|
+
Summary: Sage Agent - Your Jupyter Notebook Assistant
|
5
|
+
Project-URL: Homepage, https://github.com/AlpineX-Labs/jupyter-sage-agent-internal
|
6
|
+
Project-URL: Bug Tracker, https://github.com/AlpineX-Labs/jupyter-sage-agent-internal/issues
|
7
|
+
Project-URL: Repository, https://github.com/AlpineX-Labs/jupyter-sage-agent-internal.git
|
8
|
+
Author-email: Daniel Schaffield <danielschaffield@gmail.com>
|
9
|
+
License: BSD 3-Clause License
|
10
|
+
|
11
|
+
Copyright (c) 2025, Daniel Schaffield
|
12
|
+
All rights reserved.
|
13
|
+
|
14
|
+
Redistribution and use in source and binary forms, with or without
|
15
|
+
modification, are permitted provided that the following conditions are met:
|
16
|
+
|
17
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
18
|
+
list of conditions and the following disclaimer.
|
19
|
+
|
20
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
21
|
+
this list of conditions and the following disclaimer in the documentation
|
22
|
+
and/or other materials provided with the distribution.
|
23
|
+
|
24
|
+
3. Neither the name of the copyright holder nor the names of its
|
25
|
+
contributors may be used to endorse or promote products derived from
|
26
|
+
this software without specific prior written permission.
|
27
|
+
|
28
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
29
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
30
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
31
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
32
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
33
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
34
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
35
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
36
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
37
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
38
|
+
License-File: LICENSE
|
39
|
+
Keywords: jupyter,jupyterlab,jupyterlab-extension
|
40
|
+
Classifier: Framework :: Jupyter
|
41
|
+
Classifier: Framework :: Jupyter :: JupyterLab
|
42
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: 4
|
43
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
|
44
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
|
45
|
+
Classifier: License :: OSI Approved :: BSD License
|
46
|
+
Classifier: Programming Language :: Python
|
47
|
+
Classifier: Programming Language :: Python :: 3
|
48
|
+
Classifier: Programming Language :: Python :: 3.6
|
49
|
+
Classifier: Programming Language :: Python :: 3.9
|
50
|
+
Classifier: Programming Language :: Python :: 3.10
|
51
|
+
Classifier: Programming Language :: Python :: 3.11
|
52
|
+
Classifier: Programming Language :: Python :: 3.12
|
53
|
+
Classifier: Programming Language :: Python :: 3.13
|
54
|
+
Requires-Python: >=3.6
|
55
|
+
Description-Content-Type: text/markdown
|
56
|
+
|
57
|
+
# **Sage Agent — The AI-Powered Assistant for Jupyter Notebooks**
|
58
|
+
|
59
|
+

|
60
|
+
|
61
|
+
---
|
62
|
+
|
63
|
+
## **What is Sage Agent?**
|
64
|
+
|
65
|
+
**Sage is an AI-native notebook assistant that supercharges your existing Jupyter workflows.**
|
66
|
+
|
67
|
+
Built by leading AI and quant researchers from YC, Harvard, MIT, and Goldman Sachs, Sage brings real-time, context-aware assistance directly into JupyterLab.
|
68
|
+
|
69
|
+
Use natural language to clean data, write analysis code, debug errors, explore dataframes, and build models—faster and with fewer mistakes.
|
70
|
+
|
71
|
+
**No hallucinated code. No context switching. Just faster insights.**
|
72
|
+
|
73
|
+
---
|
74
|
+
|
75
|
+
## **Why Use Sage Agent in Jupyter?**
|
76
|
+
|
77
|
+
Whether you’re a quant, data scientist, or analyst living in notebooks, Sage helps you:
|
78
|
+
|
79
|
+
✅ Clean and transform messy data in seconds
|
80
|
+
|
81
|
+
✅ Visualize trends, rollups, and anomalies from a prompt
|
82
|
+
|
83
|
+
✅ Connect your custom databases in one click and easily explore from notebooks
|
84
|
+
|
85
|
+
✅ Generate *runnable* Python or SQL that fits your current cell + variable context
|
86
|
+
|
87
|
+
✅ Auto-detect schema changes and debug downstream errors
|
88
|
+
|
89
|
+
✅ Stay private: run entirely *local-first* or in your own secure VPC
|
90
|
+
|
91
|
+
✅ Extend JupyterLab without changing how you work
|
92
|
+
|
93
|
+
---
|
94
|
+
|
95
|
+
## **Perfect For:**
|
96
|
+
|
97
|
+
- Data scientists cleaning huge CSVs
|
98
|
+
- Quant researchers testing ML pipelines
|
99
|
+
- Product and analytics teams tired of building dashboards and flaky notebooks
|
100
|
+
- Anyone tired of LLM tools that break their code
|
101
|
+
|
102
|
+
---
|
103
|
+
|
104
|
+
## **Installation**
|
105
|
+
|
106
|
+
### **📦 Requirements**
|
107
|
+
|
108
|
+
- JupyterLab >= 4.0.0
|
109
|
+
- NodeJS (for development)
|
110
|
+
|
111
|
+
### **🧠 Install Sage Agent:**
|
112
|
+
|
113
|
+
```
|
114
|
+
pip install jupyterlab sage_agent_internal
|
115
|
+
```
|
116
|
+
|
117
|
+
### **❌ Uninstall:**
|
118
|
+
|
119
|
+
```
|
120
|
+
pip uninstall sage_agent_internal
|
121
|
+
```
|
122
|
+
|
123
|
+
---
|
124
|
+
|
125
|
+
## **How to Get Started**
|
126
|
+
|
127
|
+
To unlock full functionality, you’ll need Sage API credentials.
|
128
|
+
|
129
|
+
👉 [**Request your API key**](https://sagebook.ai/#contact) or email us at [contact@sagebook.ai](mailto:contact@sagebook.ai)
|
130
|
+
|
131
|
+
---
|
132
|
+
|
133
|
+
## **Why Sage**
|
134
|
+
|
135
|
+
- ✅ Context-aware code gen: understands variables, dataframes, imports, and prior cells
|
136
|
+
- ✅ AI that *fixes* schema issues and silent join bugs
|
137
|
+
- ✅ Inline review + diffs before you run any code
|
138
|
+
- ✅ Visualizations via natural language (matplotlib, plotly, seaborn supported)
|
139
|
+
- ✅ BYO LLM: Anthropic, OpenAI, vLLM, Ollama, or HF endpoints
|
140
|
+
- ✅ Built to run in air-gapped / enterprise environments
|
141
|
+
|
142
|
+
---
|
143
|
+
|
144
|
+
## **Local Development Instructions**
|
145
|
+
|
146
|
+
To contribute or develop locally:
|
147
|
+
|
148
|
+
```
|
149
|
+
# Clone the repo and enter the directory
|
150
|
+
git clone https://github.com/sagebook/sage_agent_internal.git
|
151
|
+
cd sage_agent_internal
|
152
|
+
|
153
|
+
# Install in editable mode
|
154
|
+
pip install -e "."
|
155
|
+
|
156
|
+
# Link extension to JupyterLab
|
157
|
+
jupyter labextension develop . --overwrite
|
158
|
+
|
159
|
+
# Rebuild on changes
|
160
|
+
jlpm build
|
161
|
+
```
|
162
|
+
|
163
|
+
For auto-rebuild while editing:
|
164
|
+
|
165
|
+
```
|
166
|
+
# Watch source
|
167
|
+
jlpm watch
|
168
|
+
|
169
|
+
# Run JupyterLab in parallel
|
170
|
+
jupyter lab
|
171
|
+
```
|
172
|
+
|
173
|
+
---
|
174
|
+
|
175
|
+
## **Uninstall in Dev Mode**
|
176
|
+
|
177
|
+
```
|
178
|
+
pip uninstall sage_agent_internal
|
179
|
+
# Then manually remove labextension symlink from JupyterLab extensions dir.
|
180
|
+
```
|
181
|
+
|
182
|
+
---
|
183
|
+
|
184
|
+
## **Want to See Sage in Action?**
|
185
|
+
|
186
|
+
🎥 Try the demo notebook or explore at [https://sagebook.ai](https://sagebook.ai/)
|
187
|
+
|
188
|
+
---
|
189
|
+
|
190
|
+
**Built for teams working with sensitive data:**
|
191
|
+
|
192
|
+
- Zero data retention by default
|
193
|
+
- Optional BYO keys for Claude, OpenAI, or local models
|
194
|
+
- Notebook-specific controls for what the model can “see”
|
195
|
+
- Fine-grained telemetry settings
|
196
|
+
|
197
|
+
---
|
198
|
+
|
199
|
+
## **Contact**
|
200
|
+
|
201
|
+
Questions? Ideas?
|
202
|
+
|
203
|
+
Email: [fahim@sagebook.ai](mailto:fahim@sagebook.ai)
|
204
|
+
|
205
|
+
Website: [https://sagebook.ai](https://sagebook.ai/)
|
206
|
+
|
207
|
+
---
|
208
|
+
|
209
|
+
AI Jupyter Notebook, JupyterLab Extension, Jupyter Assistant, Data Science Assistant, Jupyter LLM, AI code generation, dataframe cleaning, Jupyter AI, Sagebook, Sage Agent, AI for dataframes, Jupyter SQL assistant, notebook extension
|
@@ -0,0 +1,153 @@
|
|
1
|
+
# **Sage Agent — The AI-Powered Assistant for Jupyter Notebooks**
|
2
|
+
|
3
|
+

|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
## **What is Sage Agent?**
|
8
|
+
|
9
|
+
**Sage is an AI-native notebook assistant that supercharges your existing Jupyter workflows.**
|
10
|
+
|
11
|
+
Built by leading AI and quant researchers from YC, Harvard, MIT, and Goldman Sachs, Sage brings real-time, context-aware assistance directly into JupyterLab.
|
12
|
+
|
13
|
+
Use natural language to clean data, write analysis code, debug errors, explore dataframes, and build models—faster and with fewer mistakes.
|
14
|
+
|
15
|
+
**No hallucinated code. No context switching. Just faster insights.**
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
## **Why Use Sage Agent in Jupyter?**
|
20
|
+
|
21
|
+
Whether you’re a quant, data scientist, or analyst living in notebooks, Sage helps you:
|
22
|
+
|
23
|
+
✅ Clean and transform messy data in seconds
|
24
|
+
|
25
|
+
✅ Visualize trends, rollups, and anomalies from a prompt
|
26
|
+
|
27
|
+
✅ Connect your custom databases in one click and easily explore from notebooks
|
28
|
+
|
29
|
+
✅ Generate *runnable* Python or SQL that fits your current cell + variable context
|
30
|
+
|
31
|
+
✅ Auto-detect schema changes and debug downstream errors
|
32
|
+
|
33
|
+
✅ Stay private: run entirely *local-first* or in your own secure VPC
|
34
|
+
|
35
|
+
✅ Extend JupyterLab without changing how you work
|
36
|
+
|
37
|
+
---
|
38
|
+
|
39
|
+
## **Perfect For:**
|
40
|
+
|
41
|
+
- Data scientists cleaning huge CSVs
|
42
|
+
- Quant researchers testing ML pipelines
|
43
|
+
- Product and analytics teams tired of building dashboards and flaky notebooks
|
44
|
+
- Anyone tired of LLM tools that break their code
|
45
|
+
|
46
|
+
---
|
47
|
+
|
48
|
+
## **Installation**
|
49
|
+
|
50
|
+
### **📦 Requirements**
|
51
|
+
|
52
|
+
- JupyterLab >= 4.0.0
|
53
|
+
- NodeJS (for development)
|
54
|
+
|
55
|
+
### **🧠 Install Sage Agent:**
|
56
|
+
|
57
|
+
```
|
58
|
+
pip install jupyterlab sage_agent_internal
|
59
|
+
```
|
60
|
+
|
61
|
+
### **❌ Uninstall:**
|
62
|
+
|
63
|
+
```
|
64
|
+
pip uninstall sage_agent_internal
|
65
|
+
```
|
66
|
+
|
67
|
+
---
|
68
|
+
|
69
|
+
## **How to Get Started**
|
70
|
+
|
71
|
+
To unlock full functionality, you’ll need Sage API credentials.
|
72
|
+
|
73
|
+
👉 [**Request your API key**](https://sagebook.ai/#contact) or email us at [contact@sagebook.ai](mailto:contact@sagebook.ai)
|
74
|
+
|
75
|
+
---
|
76
|
+
|
77
|
+
## **Why Sage**
|
78
|
+
|
79
|
+
- ✅ Context-aware code gen: understands variables, dataframes, imports, and prior cells
|
80
|
+
- ✅ AI that *fixes* schema issues and silent join bugs
|
81
|
+
- ✅ Inline review + diffs before you run any code
|
82
|
+
- ✅ Visualizations via natural language (matplotlib, plotly, seaborn supported)
|
83
|
+
- ✅ BYO LLM: Anthropic, OpenAI, vLLM, Ollama, or HF endpoints
|
84
|
+
- ✅ Built to run in air-gapped / enterprise environments
|
85
|
+
|
86
|
+
---
|
87
|
+
|
88
|
+
## **Local Development Instructions**
|
89
|
+
|
90
|
+
To contribute or develop locally:
|
91
|
+
|
92
|
+
```
|
93
|
+
# Clone the repo and enter the directory
|
94
|
+
git clone https://github.com/sagebook/sage_agent_internal.git
|
95
|
+
cd sage_agent_internal
|
96
|
+
|
97
|
+
# Install in editable mode
|
98
|
+
pip install -e "."
|
99
|
+
|
100
|
+
# Link extension to JupyterLab
|
101
|
+
jupyter labextension develop . --overwrite
|
102
|
+
|
103
|
+
# Rebuild on changes
|
104
|
+
jlpm build
|
105
|
+
```
|
106
|
+
|
107
|
+
For auto-rebuild while editing:
|
108
|
+
|
109
|
+
```
|
110
|
+
# Watch source
|
111
|
+
jlpm watch
|
112
|
+
|
113
|
+
# Run JupyterLab in parallel
|
114
|
+
jupyter lab
|
115
|
+
```
|
116
|
+
|
117
|
+
---
|
118
|
+
|
119
|
+
## **Uninstall in Dev Mode**
|
120
|
+
|
121
|
+
```
|
122
|
+
pip uninstall sage_agent_internal
|
123
|
+
# Then manually remove labextension symlink from JupyterLab extensions dir.
|
124
|
+
```
|
125
|
+
|
126
|
+
---
|
127
|
+
|
128
|
+
## **Want to See Sage in Action?**
|
129
|
+
|
130
|
+
🎥 Try the demo notebook or explore at [https://sagebook.ai](https://sagebook.ai/)
|
131
|
+
|
132
|
+
---
|
133
|
+
|
134
|
+
**Built for teams working with sensitive data:**
|
135
|
+
|
136
|
+
- Zero data retention by default
|
137
|
+
- Optional BYO keys for Claude, OpenAI, or local models
|
138
|
+
- Notebook-specific controls for what the model can “see”
|
139
|
+
- Fine-grained telemetry settings
|
140
|
+
|
141
|
+
---
|
142
|
+
|
143
|
+
## **Contact**
|
144
|
+
|
145
|
+
Questions? Ideas?
|
146
|
+
|
147
|
+
Email: [fahim@sagebook.ai](mailto:fahim@sagebook.ai)
|
148
|
+
|
149
|
+
Website: [https://sagebook.ai](https://sagebook.ai/)
|
150
|
+
|
151
|
+
---
|
152
|
+
|
153
|
+
AI Jupyter Notebook, JupyterLab Extension, Jupyter Assistant, Data Science Assistant, Jupyter LLM, AI code generation, dataframe cleaning, Jupyter AI, Sagebook, Sage Agent, AI for dataframes, Jupyter SQL assistant, notebook extension
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "sage-agent-internal",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.2",
|
4
4
|
"description": "Sage Agent - Your Jupyter Notebook Assistant",
|
5
5
|
"keywords": [
|
6
6
|
"jupyter",
|
@@ -126,7 +126,7 @@
|
|
126
126
|
"outputDir": "sage_agent_internal/labextension",
|
127
127
|
"schemaDir": "schema",
|
128
128
|
"_build": {
|
129
|
-
"load": "static/remoteEntry.
|
129
|
+
"load": "static/remoteEntry.43bde913ee2adc92e342.js",
|
130
130
|
"extension": "./extension",
|
131
131
|
"style": "./style"
|
132
132
|
}
|