notebook-intelligence 5.3.0a1__tar.gz → 5.3.0a2__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.
Files changed (231) hide show
  1. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/PKG-INFO +8 -4
  2. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/_version.py +1 -1
  3. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2/notebook_intelligence/labextension}/package.json +3 -2
  4. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/labextension/schemas/@plmbr/notebook-intelligence/package.json.orig +3 -2
  5. notebook_intelligence-5.3.0a2/package.json +265 -0
  6. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/pyproject.toml +17 -6
  7. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/yarn.lock +494 -367
  8. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/package.json +0 -269
  9. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/196.da0c2020639344d5c419.js +0 -1
  10. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/1b55f12eca93ba6743e7.ttf +0 -0
  11. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/319.88239ad1994b8fcc4c8a.js +0 -1
  12. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/327.47473c656f6c27efa1dc.js +0 -2
  13. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/327.47473c656f6c27efa1dc.js.LICENSE.txt +0 -9
  14. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/537.211b1ccdcc268aa3fd2d.js +0 -1
  15. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/631.f00d05d8305a78ec8301.js +0 -1
  16. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/671.1b1a53f5f75bff82950b.js +0 -1
  17. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/694.2ebfa9714301d9260bf0.js +0 -1
  18. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/728.14572b771377e7f3a104.js +0 -1
  19. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/745.e077633fb1e31ec9da96.js +0 -2
  20. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/745.e077633fb1e31ec9da96.js.LICENSE.txt +0 -10
  21. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/977.b917f705175326af0e5d.js +0 -1
  22. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/be02dcbf2787b0b29ec8.module.wasm +0 -0
  23. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/e589c9ba04e3e5a90081.module.wasm +0 -0
  24. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/editor.worker.js +0 -1407
  25. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/editor.worker.js.LICENSE.txt +0 -60
  26. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/remoteEntry.cbbb5b7a3e8979c2c8ee.js +0 -1
  27. notebook_intelligence-5.3.0a1/notebook_intelligence/labextension/static/third-party-licenses.json +0 -1264
  28. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.copier-answers.yml +0 -0
  29. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.editorconfig +0 -0
  30. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.gitignore +0 -0
  31. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/.gitignore +0 -0
  32. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/applypatch-msg +0 -0
  33. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/commit-msg +0 -0
  34. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/h +0 -0
  35. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/husky.sh +0 -0
  36. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/post-applypatch +0 -0
  37. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/post-checkout +0 -0
  38. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/post-commit +0 -0
  39. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/post-merge +0 -0
  40. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/post-rewrite +0 -0
  41. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-applypatch +0 -0
  42. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-auto-gc +0 -0
  43. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-commit +0 -0
  44. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-merge-commit +0 -0
  45. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-push +0 -0
  46. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/pre-rebase +0 -0
  47. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/_/prepare-commit-msg +0 -0
  48. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.husky/pre-commit +0 -0
  49. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.prettierignore +0 -0
  50. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.vscode/extensions.json +0 -0
  51. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.vscode/settings.json +0 -0
  52. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/.yarnrc.yml +0 -0
  53. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/CHANGELOG.md +0 -0
  54. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/CONTRIBUTING.md +0 -0
  55. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/LICENSE +0 -0
  56. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/PRIVACY.md +0 -0
  57. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/README.md +0 -0
  58. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/RELEASE.md +0 -0
  59. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/SECURITY.md +0 -0
  60. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/README.md +0 -0
  61. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/bench_nbi_ws.py +0 -0
  62. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/bench_runner.py +0 -0
  63. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/bench_terminal.py +0 -0
  64. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/prompts.py +0 -0
  65. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/report.py +0 -0
  66. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/benchmarks/claude_perf/stats.py +0 -0
  67. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/docs/admin-guide.md +0 -0
  68. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/docs/admin-tour-config.md +0 -0
  69. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/docs/rulesets.md +0 -0
  70. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/docs/skills.md +0 -0
  71. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/docs/troubleshooting.md +0 -0
  72. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/install.json +0 -0
  73. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/jest.config.js +0 -0
  74. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/jupyter-config/server-config/notebook_intelligence.json +0 -0
  75. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/__init__.py +0 -0
  76. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/_claude_cli.py +0 -0
  77. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/ai_service_manager.py +0 -0
  78. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/api.py +0 -0
  79. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/base_chat_participant.py +0 -0
  80. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/built_in_toolsets.py +0 -0
  81. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/cell_output.py +0 -0
  82. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/claude.py +0 -0
  83. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/claude_mcp_manager.py +0 -0
  84. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/claude_sessions.py +0 -0
  85. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/config.py +0 -0
  86. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/context_factory.py +0 -0
  87. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/extension.py +0 -0
  88. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/feature_flags.py +0 -0
  89. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/github_copilot.py +0 -0
  90. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/github_copilot_chat_participant.py +0 -0
  91. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/labextension/schemas/@plmbr/notebook-intelligence/plugin.json +0 -0
  92. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/labextension/static/style.js +0 -0
  93. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/llm_providers/github_copilot_llm_provider.py +0 -0
  94. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/llm_providers/litellm_compatible_llm_provider.py +0 -0
  95. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/llm_providers/ollama_llm_provider.py +0 -0
  96. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/llm_providers/openai_compatible_llm_provider.py +0 -0
  97. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/mcp_client.py +0 -0
  98. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/mcp_config_validation.py +0 -0
  99. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/mcp_manager.py +0 -0
  100. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/mcp_policy.py +0 -0
  101. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/plugin_manager.py +0 -0
  102. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/prompts.py +0 -0
  103. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/rule_injector.py +0 -0
  104. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/rule_manager.py +0 -0
  105. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/ruleset.py +0 -0
  106. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/skill_github_import.py +0 -0
  107. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/skill_manager.py +0 -0
  108. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/skill_manifest.py +0 -0
  109. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/skill_reconciler.py +0 -0
  110. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/skillset.py +0 -0
  111. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/tour_config.py +0 -0
  112. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/notebook_intelligence/util.py +0 -0
  113. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/schema/plugin.json +0 -0
  114. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/setup.py +0 -0
  115. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/conftest.py +0 -0
  116. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/01-test-global.md +0 -0
  117. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/02-test-security.md +0 -0
  118. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/03-invalid-rule.md +0 -0
  119. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/modes/agent/01-test-production.md +0 -0
  120. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/modes/ask/01-test-exploration.md +0 -0
  121. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/fixtures/rules/modes/inline-chat/01-test-quick.md +0 -0
  122. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_ai_service_manager_integration.py +0 -0
  123. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_api_hygiene.py +0 -0
  124. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_base_chat_participant_integration.py +0 -0
  125. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_builtin_file_read.py +0 -0
  126. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_builtin_search_files_sandbox.py +0 -0
  127. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_builtin_toolset_cwd_sandbox.py +0 -0
  128. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_cell_output.py +0 -0
  129. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_cell_output_features_response.py +0 -0
  130. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_client.py +0 -0
  131. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_mcp_manager.py +0 -0
  132. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_models.py +0 -0
  133. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_sessions.py +0 -0
  134. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_sessions_handler.py +0 -0
  135. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_system_prompt.py +0 -0
  136. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_tool_humanizer.py +0 -0
  137. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_tool_path_sandbox.py +0 -0
  138. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_claude_turn_usage.py +0 -0
  139. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_coding_agent_launchers.py +0 -0
  140. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_config_atomic_save.py +0 -0
  141. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_config_integration.py +0 -0
  142. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_context_factory.py +0 -0
  143. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_default_password_refusal.py +0 -0
  144. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_end_to_end_rule_integration.py +0 -0
  145. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_feature_flags.py +0 -0
  146. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_feedback.py +0 -0
  147. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_file_upload.py +0 -0
  148. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_github_copilot_llm_provider.py +0 -0
  149. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_github_copilot_user_data_mode.py +0 -0
  150. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_image_context.py +0 -0
  151. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_lazy_provider_imports.py +0 -0
  152. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_mcp_client_shim.py +0 -0
  153. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_mcp_config_validation.py +0 -0
  154. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_mcp_manager.py +0 -0
  155. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_mcp_manager_command_allowlist.py +0 -0
  156. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_mcp_policy.py +0 -0
  157. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_models.py +0 -0
  158. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_openai_compatible_llm_provider.py +0 -0
  159. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_permission_modes.py +0 -0
  160. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_plugin_manager.py +0 -0
  161. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_policy_gate.py +0 -0
  162. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_process_tree_teardown.py +0 -0
  163. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_redact_process_secrets.py +0 -0
  164. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_response_emitter.py +0 -0
  165. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_rule_auto_reload.py +0 -0
  166. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_rule_injector.py +0 -0
  167. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_rule_manager.py +0 -0
  168. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_safe_anchor_uri.py +0 -0
  169. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skill_fetch_redirects.py +0 -0
  170. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skill_github_import.py +0 -0
  171. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skill_manager.py +0 -0
  172. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skill_manifest.py +0 -0
  173. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skill_reconciler.py +0 -0
  174. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_skills_handlers.py +0 -0
  175. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_tour_config.py +0 -0
  176. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_user_input_wait.py +0 -0
  177. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_websocket_handler_integration.py +0 -0
  178. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_ws_callback_handler_leak.py +0 -0
  179. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/test_ws_handler_auth.py +0 -0
  180. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/__mocks__/jupyterlab-apputils.ts +0 -0
  181. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/__mocks__/jupyterlab-filebrowser.ts +0 -0
  182. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/__mocks__/svg.ts +0 -0
  183. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/__mocks__/tiktoken.ts +0 -0
  184. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/ask-user-question.test.tsx +0 -0
  185. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/cell-output-bundle.test.ts +0 -0
  186. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/cell-output-features.test.ts +0 -0
  187. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/cell-output-toolbar.test.ts +0 -0
  188. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/chat-progress-feedback.test.ts +0 -0
  189. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/checkbox.test.tsx +0 -0
  190. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/choose-workspace-directory.test.ts +0 -0
  191. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/claude-mcp-paste.test.ts +0 -0
  192. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/coding-agent-launchers.test.ts +0 -0
  193. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/inline-completer-telemetry.test.ts +0 -0
  194. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/launcher-picker.test.tsx +0 -0
  195. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/markdown-renderer.test.tsx +0 -0
  196. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/mcp-util.test.ts +0 -0
  197. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/notebook-generation.test.ts +0 -0
  198. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/open-file-refresh-watcher.test.ts +0 -0
  199. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/permission-mode-select.test.tsx +0 -0
  200. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/plugins-panel.test.tsx +0 -0
  201. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/safe-anchor.test.tsx +0 -0
  202. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/setup.ts +0 -0
  203. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/skill-wire-format.test.ts +0 -0
  204. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/task-target-notebook.test.ts +0 -0
  205. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/terminal-drag.test.ts +0 -0
  206. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tool-call-card.test.tsx +0 -0
  207. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tool-call-group.test.tsx +0 -0
  208. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tool-call-stream.test.ts +0 -0
  209. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tour-config.test.ts +0 -0
  210. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tour-events.test.ts +0 -0
  211. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tour-overlay.test.tsx +0 -0
  212. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tour-state.test.ts +0 -0
  213. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/tsconfig.json +0 -0
  214. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/utils.test.ts +0 -0
  215. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tests/ts/workspace-skips.test.ts +0 -0
  216. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/tsconfig.json +0 -0
  217. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/.eslintrc.js +0 -0
  218. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/README.md +0 -0
  219. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/jupyter_server_test_config.py +0 -0
  220. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/package.json +0 -0
  221. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/playwright.config.ts +0 -0
  222. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/cell-output.spec.ts +0 -0
  223. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/chat-sidebar.spec.ts +0 -0
  224. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/claude-mcp-patch.spec.ts +0 -0
  225. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/extension.spec.ts +0 -0
  226. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/helpers.ts +0 -0
  227. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/launcher.spec.ts +0 -0
  228. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tests/notebook-toolbar.spec.ts +0 -0
  229. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/tsconfig.json +0 -0
  230. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/ui-tests/yarn.lock +0 -0
  231. {notebook_intelligence-5.3.0a1 → notebook_intelligence-5.3.0a2}/webpack.config.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: notebook_intelligence
3
- Version: 5.3.0a1
3
+ Version: 5.3.0a2
4
4
  Summary: AI coding assistant for JupyterLab
5
5
  Project-URL: Homepage, https://github.com/plmbr/notebook-intelligence
6
6
  Project-URL: Bug Tracker, https://github.com/plmbr/notebook-intelligence/issues
@@ -694,20 +694,24 @@ Classifier: Programming Language :: Python :: 3.10
694
694
  Classifier: Programming Language :: Python :: 3.11
695
695
  Classifier: Programming Language :: Python :: 3.12
696
696
  Requires-Python: >=3.10
697
+ Requires-Dist: aiohttp>=3.14.1
697
698
  Requires-Dist: anthropic>=0.22.1
698
699
  Requires-Dist: claude-agent-sdk
699
700
  Requires-Dist: cryptography
700
701
  Requires-Dist: fuzy-jon==0.1.0
701
- Requires-Dist: jupyter-server<3,>=2.18.0
702
+ Requires-Dist: jupyter-server<3,>=2.20.0
702
703
  Requires-Dist: litellm>=1.83.7
703
- Requires-Dist: mcp>=1.27.0
704
- Requires-Dist: mistune>=3.2.1
704
+ Requires-Dist: mcp>=1.28.1
705
+ Requires-Dist: mistune>=3.3.0
705
706
  Requires-Dist: ollama
706
707
  Requires-Dist: openai
707
708
  Requires-Dist: psutil>=5.7
709
+ Requires-Dist: pydantic-settings>=2.14.2
708
710
  Requires-Dist: python-multipart>=0.0.27
709
711
  Requires-Dist: sseclient-py
712
+ Requires-Dist: starlette>=1.3.1
710
713
  Requires-Dist: tiktoken
714
+ Requires-Dist: tornado>=6.5.7
711
715
  Requires-Dist: urllib3>=2.7.0
712
716
  Provides-Extra: test
713
717
  Requires-Dist: psutil; extra == 'test'
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '5.3.0a1'
4
+ __version__ = VERSION = '5.3.0a2'
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plmbr/notebook-intelligence",
3
- "version": "5.3.0-a1",
3
+ "version": "5.3.0-a2",
4
4
  "description": "AI coding assistant for JupyterLab",
5
5
  "keywords": [
6
6
  "AI",
@@ -121,7 +121,8 @@
121
121
  },
122
122
  "resolutions": {
123
123
  "minimatch": "^9.0.7",
124
- "prismjs": "^1.30.0"
124
+ "prismjs": "^1.30.0",
125
+ "serialize-javascript@^6.0.1": "^7.0.5"
125
126
  },
126
127
  "sideEffects": [
127
128
  "style/*.css",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plmbr/notebook-intelligence",
3
- "version": "5.3.0-a1",
3
+ "version": "5.3.0-a2",
4
4
  "description": "AI coding assistant for JupyterLab",
5
5
  "keywords": [
6
6
  "AI",
@@ -121,7 +121,8 @@
121
121
  },
122
122
  "resolutions": {
123
123
  "minimatch": "^9.0.7",
124
- "prismjs": "^1.30.0"
124
+ "prismjs": "^1.30.0",
125
+ "serialize-javascript@^6.0.1": "^7.0.5"
125
126
  },
126
127
  "sideEffects": [
127
128
  "style/*.css",
@@ -0,0 +1,265 @@
1
+ {
2
+ "name": "@plmbr/notebook-intelligence",
3
+ "version": "5.3.0-a2",
4
+ "description": "AI coding assistant for JupyterLab",
5
+ "keywords": [
6
+ "AI",
7
+ "notebook",
8
+ "intelligence",
9
+ "jupyter",
10
+ "jupyterlab",
11
+ "jupyterlab-extension"
12
+ ],
13
+ "homepage": "https://github.com/plmbr/notebook-intelligence",
14
+ "bugs": {
15
+ "url": "https://github.com/plmbr/notebook-intelligence/issues"
16
+ },
17
+ "license": "GPL-3.0",
18
+ "author": {
19
+ "name": "Mehmet Bektas",
20
+ "email": "mbektasgh@outlook.com"
21
+ },
22
+ "files": [
23
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
24
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
25
+ "src/**/*.{ts,tsx}",
26
+ "schema/*.json"
27
+ ],
28
+ "main": "lib/index.js",
29
+ "types": "lib/index.d.ts",
30
+ "style": "style/index.css",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/plmbr/notebook-intelligence.git"
34
+ },
35
+ "scripts": {
36
+ "build": "jlpm build:lib && jlpm build:labextension:dev",
37
+ "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
38
+ "build:labextension": "jupyter labextension build .",
39
+ "build:labextension:dev": "jupyter labextension build --development True .",
40
+ "build:lib": "tsc --sourceMap",
41
+ "build:lib:prod": "tsc",
42
+ "clean": "jlpm clean:lib",
43
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
44
+ "clean:lintcache": "rimraf .eslintcache .stylelintcache",
45
+ "clean:labextension": "rimraf notebook_intelligence/labextension notebook_intelligence/_version.py",
46
+ "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
47
+ "eslint": "jlpm eslint:check --fix",
48
+ "eslint:check": "eslint . --cache --ext .ts,.tsx",
49
+ "install:extension": "jlpm build",
50
+ "lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
51
+ "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
52
+ "postinstall": "husky || exit 0",
53
+ "prettier": "jlpm prettier:base --write --list-different",
54
+ "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
55
+ "prettier:check": "jlpm prettier:base --check",
56
+ "stylelint": "jlpm stylelint:check --fix",
57
+ "stylelint:check": "stylelint --cache \"style/**/*.css\"",
58
+ "test": "jest",
59
+ "test:watch": "jest --watch",
60
+ "test:coverage": "jest --coverage",
61
+ "watch": "run-p watch:src watch:labextension",
62
+ "watch:src": "tsc -w --sourceMap",
63
+ "watch:labextension": "jupyter labextension watch ."
64
+ },
65
+ "dependencies": {
66
+ "@codemirror/state": "^6.4.1",
67
+ "@codemirror/view": "^6.26.0",
68
+ "@jupyterlab/application": "^4.0.0",
69
+ "@jupyterlab/completer": "^4.0.0",
70
+ "@jupyterlab/coreutils": "^6.0.0",
71
+ "@jupyterlab/fileeditor": "^4.0.0",
72
+ "@jupyterlab/launcher": "~4.2.0",
73
+ "@jupyterlab/mainmenu": "^4.0.0",
74
+ "@jupyterlab/notebook": "^4.0.0",
75
+ "@jupyterlab/services": "^7.0.0",
76
+ "@jupyterlab/settingregistry": "^4.0.0",
77
+ "@jupyterlab/terminal": "^4.0.0",
78
+ "monaco-editor": "0.21.3",
79
+ "react-icons": "~5.6.0",
80
+ "react-markdown": "^9.0.1",
81
+ "react-syntax-highlighter": "^15.4.4",
82
+ "remark-gfm": "4.0.0",
83
+ "strip-ansi": "7.0.1",
84
+ "tiktoken": "1.0.18"
85
+ },
86
+ "devDependencies": {
87
+ "@jupyterlab/builder": "^4.0.0",
88
+ "@testing-library/jest-dom": "^6.4.0",
89
+ "@testing-library/react": "^14.2.0",
90
+ "@types/jest": "^29.5.12",
91
+ "@types/json-schema": "^7.0.11",
92
+ "@types/node": "~20.0.0",
93
+ "@types/react": "^18.0.26",
94
+ "@types/react-addons-linked-state-mixin": "^0.14.22",
95
+ "@types/react-syntax-highlighter": "^15.5.13",
96
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
97
+ "@typescript-eslint/parser": "^6.1.0",
98
+ "css-loader": "^6.7.1",
99
+ "eslint": "^8.36.0",
100
+ "eslint-config-prettier": "^8.8.0",
101
+ "eslint-plugin-prettier": "^5.0.0",
102
+ "husky": "^9.1.7",
103
+ "jest": "^29.7.0",
104
+ "jest-environment-jsdom": "^29.7.0",
105
+ "lint-staged": "^15.2.10",
106
+ "mkdirp": "^1.0.3",
107
+ "monaco-editor-webpack-plugin": "^2.0.0",
108
+ "npm-run-all": "^4.1.5",
109
+ "prettier": "^3.0.0",
110
+ "rimraf": "^5.0.1",
111
+ "source-map-loader": "^1.0.2",
112
+ "style-loader": "^3.3.1",
113
+ "stylelint": "^15.10.1",
114
+ "stylelint-config-recommended": "^13.0.0",
115
+ "stylelint-config-standard": "^34.0.0",
116
+ "stylelint-csstree-validator": "^3.0.0",
117
+ "stylelint-prettier": "^4.0.0",
118
+ "ts-jest": "^29.1.2",
119
+ "typescript": "~5.0.2",
120
+ "yjs": "^13.5.0"
121
+ },
122
+ "resolutions": {
123
+ "minimatch": "^9.0.7",
124
+ "prismjs": "^1.30.0",
125
+ "serialize-javascript@^6.0.1": "^7.0.5"
126
+ },
127
+ "sideEffects": [
128
+ "style/*.css",
129
+ "style/index.js"
130
+ ],
131
+ "styleModule": "style/index.js",
132
+ "publishConfig": {
133
+ "access": "public"
134
+ },
135
+ "jupyterlab": {
136
+ "discovery": {
137
+ "server": {
138
+ "managers": [
139
+ "pip"
140
+ ],
141
+ "base": {
142
+ "name": "notebook_intelligence"
143
+ }
144
+ }
145
+ },
146
+ "extension": true,
147
+ "outputDir": "notebook_intelligence/labextension",
148
+ "schemaDir": "schema",
149
+ "webpackConfig": "./webpack.config.js",
150
+ "sharedPackages": {
151
+ "@plmbr/notebook-intelligence": {
152
+ "singleton": true
153
+ }
154
+ }
155
+ },
156
+ "eslintIgnore": [
157
+ "node_modules",
158
+ "dist",
159
+ "coverage",
160
+ "**/*.d.ts"
161
+ ],
162
+ "eslintConfig": {
163
+ "extends": [
164
+ "eslint:recommended",
165
+ "plugin:@typescript-eslint/eslint-recommended",
166
+ "plugin:@typescript-eslint/recommended",
167
+ "plugin:prettier/recommended"
168
+ ],
169
+ "parser": "@typescript-eslint/parser",
170
+ "parserOptions": {
171
+ "project": "tsconfig.json",
172
+ "sourceType": "module"
173
+ },
174
+ "plugins": [
175
+ "@typescript-eslint"
176
+ ],
177
+ "overrides": [
178
+ {
179
+ "files": [
180
+ "tests/ts/**/*.ts",
181
+ "tests/ts/**/*.tsx"
182
+ ],
183
+ "parserOptions": {
184
+ "project": "tests/ts/tsconfig.json"
185
+ },
186
+ "env": {
187
+ "jest": true
188
+ }
189
+ }
190
+ ],
191
+ "rules": {
192
+ "@typescript-eslint/naming-convention": [
193
+ "error",
194
+ {
195
+ "selector": "interface",
196
+ "format": [
197
+ "PascalCase"
198
+ ],
199
+ "custom": {
200
+ "regex": "^I[A-Z]",
201
+ "match": true
202
+ }
203
+ }
204
+ ],
205
+ "@typescript-eslint/no-unused-vars": [
206
+ "warn",
207
+ {
208
+ "args": "none",
209
+ "varsIgnorePattern": "^_"
210
+ }
211
+ ],
212
+ "@typescript-eslint/no-explicit-any": "off",
213
+ "@typescript-eslint/no-namespace": "off",
214
+ "@typescript-eslint/no-use-before-define": "off",
215
+ "@typescript-eslint/quotes": [
216
+ "error",
217
+ "single",
218
+ {
219
+ "avoidEscape": true,
220
+ "allowTemplateLiterals": false
221
+ }
222
+ ],
223
+ "curly": [
224
+ "error",
225
+ "all"
226
+ ],
227
+ "eqeqeq": "error",
228
+ "prefer-arrow-callback": "error"
229
+ }
230
+ },
231
+ "prettier": {
232
+ "singleQuote": true,
233
+ "trailingComma": "none",
234
+ "arrowParens": "avoid",
235
+ "endOfLine": "auto",
236
+ "overrides": [
237
+ {
238
+ "files": "package.json",
239
+ "options": {
240
+ "tabWidth": 4
241
+ }
242
+ }
243
+ ]
244
+ },
245
+ "lint-staged": {
246
+ "*": "prettier --write --ignore-unknown"
247
+ },
248
+ "stylelint": {
249
+ "extends": [
250
+ "stylelint-config-recommended",
251
+ "stylelint-config-standard",
252
+ "stylelint-prettier/recommended"
253
+ ],
254
+ "plugins": [
255
+ "stylelint-csstree-validator"
256
+ ],
257
+ "rules": {
258
+ "csstree/validator": true,
259
+ "property-no-vendor-prefix": null,
260
+ "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
261
+ "selector-no-vendor-prefix": null,
262
+ "value-no-vendor-prefix": null
263
+ }
264
+ }
265
+ }
@@ -21,9 +21,10 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.12",
22
22
  ]
23
23
  dependencies = [
24
- # 2.18.0 picks up CVE-2025-61669 / CVE-2026-40110 / CVE-2026-35397 /
25
- # CVE-2026-40934 fixes from upstream jupyter_server.
26
- "jupyter_server>=2.18.0,<3",
24
+ # 2.18.0 picked up CVE-2025-61669 / CVE-2026-40110 / CVE-2026-35397 /
25
+ # CVE-2026-40934 fixes from upstream jupyter_server; 2.20.0 adds the
26
+ # PYSEC-2026-366 fix.
27
+ "jupyter_server>=2.20.0,<3",
27
28
  "sseclient-py",
28
29
  "fuzy-jon==0.1.0",
29
30
  "tiktoken",
@@ -46,8 +47,9 @@ dependencies = [
46
47
  # subset of fastmcp's surface NBI needs against the official SDK,
47
48
  # which lists python-dotenv only as an optional ``cli`` extra and
48
49
  # is already in the dep tree via ``claude-agent-sdk``. Track
49
- # BerriAI/litellm#25231 for the upstream fix.
50
- "mcp>=1.27.0",
50
+ # BerriAI/litellm#25231 for the upstream fix. 1.28.1 picks up the
51
+ # CVE-2026-59950 fix.
52
+ "mcp>=1.28.1",
51
53
  "claude-agent-sdk",
52
54
  "anthropic>=0.22.1",
53
55
  # Used to tear down an agent subprocess and its descendants (shells, MCP
@@ -58,12 +60,21 @@ dependencies = [
58
60
  "psutil>=5.7",
59
61
  # Transitive lower bounds for known CVEs whose parents don't pin
60
62
  # tightly enough on their own.
61
- "mistune>=3.2.1", # CVE-2026-33441
63
+ "mistune>=3.3.0", # CVE-2026-33441; 3.3.0 adds the PYSEC-2026-2210..2218/2652 fixes
62
64
  "python-multipart>=0.0.27", # CVE-2026-42561
63
65
  # urllib3 reaches us via `requests` (tiktoken's dep), which doesn't
64
66
  # cap the upper bound. 2.7.0 picks up CVE-2026-44431 (cross-origin
65
67
  # redirect handling) and CVE-2026-44432 (streaming API).
66
68
  "urllib3>=2.7.0",
69
+ # tornado reaches us via jupyter_server, whose floor doesn't force the
70
+ # GHSA-pw6j-qg29-8w7f fix.
71
+ "tornado>=6.5.7",
72
+ # starlette and pydantic-settings reach us via the mcp SDK, whose pins
73
+ # don't force the fixed releases.
74
+ "starlette>=1.3.1", # PYSEC-2026-248 / PYSEC-2026-249
75
+ "pydantic-settings>=2.14.2", # GHSA-4xgf-cpjx-pc3j
76
+ # aiohttp reaches us via litellm.
77
+ "aiohttp>=3.14.1", # PYSEC-2026-2107..2113
67
78
  # python-dotenv: ``litellm 1.83.1+`` hard-pins ``==1.0.1`` and refuses
68
79
  # to bump it (see BerriAI/litellm#25231 / #26435). NBI doesn't import
69
80
  # python-dotenv directly and no longer pulls fastmcp (which would