René's URL Explorer Experiment


Title: feat(runtime-core,mcp): keep deepnote-toolkit servers warm across MCP runs by jamesbhobbs · Pull Request #520 · deepnote/deepnote · GitHub

Open Graph Title: feat(runtime-core,mcp): keep deepnote-toolkit servers warm across MCP runs by jamesbhobbs · Pull Request #520 · deepnote/deepnote

X Title: feat(runtime-core,mcp): keep deepnote-toolkit servers warm across MCP runs by jamesbhobbs · Pull Request #520 · deepnote/deepnote

Description: Third in the chain: stacked on #519 (runtime hardening), which is stacked on #518 (interpreter resolution). Merge those first. Part of #162. Problem Every deepnote_run tool call in the MCP spawns a deepnote-toolkit server (a Python process that imports Jupyter and the toolkit), waits for it, starts a kernel, runs, and kills everything. That is several seconds of overhead on every agent step, and none of it is the kernel work the agent asked for. Starting a kernel session on a running server is cheap; starting the server is what costs. Change ServerPool (@deepnote/runtime-core). Keeps one toolkit server warm per interpreter, working directory, port and environment. Callers acquire() a lease and release() it; concurrent acquires for the same key share one startup; a server with no lease is stopped after idleTimeoutMs (default 5 min, 0 stops immediately). shutdown() stops everything and rejects later acquires; killAll() is the synchronous last resort for process.on('exit') and signals the recorded Jupyter and language-server children before the supervisor. ExecutionEngine attaches to a provided server. new ExecutionEngine(config, { server }) starts its own kernel on an existing server and, on stop(), disconnects only the kernel. The engine watches the server with a removable process listener that it detaches on stop, so engines attached to a long-lived server do not accumulate. MCP. deepnote_run leases a warm server for each call and attaches a fresh engine, so every call still gets a fresh kernel and no variables leak between calls. DEEPNOTE_MCP_SERVER_IDLE_SECONDS tunes the idle timeout. Pooled servers are stopped on SIGINT/SIGTERM and when the MCP transport closes, and killed on exit, so no toolkit server outlives its host. Review findings folded in Three issues raised against the earlier combined PR are fixed here with tests against real Jupyter: Concurrent runs could share a kernel. KernelClient always requested the session path deepnote-cli, and Jupyter returns the existing session for a known path, so two engines on one server got the same kernel and either cleanup shut it down. Each connection now uses a unique session path. An integration test runs two engines concurrently on one server and asserts neither sees the other's variables. A server whose Jupyter had crashed stayed reusable. The pool only evicted on supervisor exit, and the supervisor survives a dead Jupyter child. acquire() now health-checks a warm server before handing it out and replaces one that no longer answers. An integration test kills Jupyter under a pooled server and asserts the next acquire gets a fresh server and the old supervisor is stopped. An unexpectedly exited supervisor left its children behind. Eviction on exit now runs the same child cleanup as stopServer, so a Jupyter or language server that outlived its supervisor is terminated. Further findings on the pool's edge cases are fixed here as well: in-flight stops are tracked, so shutdown() waits for a server that is already being stopped (and tolerates one that fails to stop) and killAll() can still signal it; acquire() rechecks that the pool is open after its health probe and replacement stop, so a shutdown during the probe cannot start and abandon a replacement; only idle servers are probed, so a false alarm can never stop a server from under a run that holds it; the MCP releases its lease even when engine.stop() rejects; and DEEPNOTE_MCP_SERVER_IDLE_SECONDS is capped at the Node timer limit so an oversized value cannot make the idle timer fire at once. Tests Unit: pool (reuse, shared startup, idle stop, immediate stop, eviction on exit with cleanup, health-check replacement, startup failure, shutdown semantics, killAll child signalling), engine (attach to a provided server, no listener accumulation), kernel client (unique session paths), MCP (pooled runs, lease release on failure, idle env var parsing). Integration (pnpm test:integration): concurrent engines on one server; pool recovery after a Jupyter crash, with the leak guard confirming nothing survives. Docs packages/mcp/README.md: warm servers and DEEPNOTE_MCP_SERVER_IDLE_SECONDS. 🤖 Generated with Claude Code Summary by CodeRabbit New Features MCP executions reuse warm servers for faster repeated runs while creating a fresh kernel for each call. Healthy servers can be shared by concurrent executions, while unresponsive servers are automatically replaced. Configure server idle duration with DEEPNOTE_MCP_SERVER_IDLE_SECONDS; the default is five minutes. Separate connections now receive unique sessions to prevent interference. Execution timeouts now apply to agent activity and dynamically run code. Bug Fixes Improved cleanup, shutdown handling, and error reporting during execution failures. Documentation Clarified server reuse, shutdown behavior, interpreter discovery, and environment metadata.

Open Graph Description: Third in the chain: stacked on #519 (runtime hardening), which is stacked on #518 (interpreter resolution). Merge those first. Part of #162. Problem Every deepnote_run tool call in the MCP spawns a...

X Description: Third in the chain: stacked on #519 (runtime hardening), which is stacked on #518 (interpreter resolution). Merge those first. Part of #162. Problem Every deepnote_run tool call in the MCP spawns a...

Opengraph URL: https://github.com/deepnote/deepnote/pull/520

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files/:range(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:6264438d-e776-cfbb-4554-a506aae7efa3
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id863A:20D7D6:A34FD3:DE3F49:6AEDCF09
html-safe-nonce9b5d2505e78e08492a816b0912af19ed57c5deb3e666258112ece2a8a96eb19e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NjNBOjIwRDdENjpBMzRGRDM6REUzRjQ5OjZBRURDRjA5IiwidmlzaXRvcl9pZCI6IjgxMDU1NTcwMzgzNzM2NTQyODEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacfd91ea6ae4b3d63b0838a2c1aec782947b4c4b31df9bb215fd6e479602b26f39
hovercard-subject-tagpull_request:4486340344
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
twitter:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
og:image:altThird in the chain: stacked on #519 (runtime hardening), which is stacked on #518 (interpreter resolution). Merge those first. Part of #162. Problem Every deepnote_run tool call in the MCP spawns a...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonef60373873bb1ef795e8511ea1f2a76997e9c649d72b02942aedf2def3423a0ce
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/deepnote/deepnote git https://github.com/deepnote/deepnote.git
octolytics-dimension-user_id45339858
octolytics-dimension-user_logindeepnote
octolytics-dimension-repository_id1066509034
octolytics-dimension-repository_nwodeepnote/deepnote
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1066509034
octolytics-dimension-repository_network_root_nwodeepnote/deepnote
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release0f55cfa61438c7dc93d1024a1e5e5182b36830e2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F520%2Ffiles%2Fc72faa77a0dde7836602f02e2c075a6392536e73
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F520%2Ffiles%2Fc72faa77a0dde7836602f02e2c075a6392536e73
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=deepnote%2Fdeepnote
Reloadhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
Reloadhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
Reloadhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
deepnotehttps://github.com/deepnote
deepnotehttps://github.com/deepnote/deepnote
Codehttps://github.com/deepnote/deepnote
Issues14 (14)https://github.com/deepnote/deepnote/issues
Pull requests24 (24)https://github.com/deepnote/deepnote/pulls
Discussionshttps://github.com/deepnote/deepnote/discussions
Actionshttps://github.com/deepnote/deepnote/actions
Security and qualityhttps://github.com/deepnote/deepnote/security
Insightshttps://github.com/deepnote/deepnote/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
jamesbhobbshttps://github.com/jamesbhobbs
mainhttps://github.com/deepnote/deepnote/tree/main
feat/mcp-warm-servershttps://github.com/deepnote/deepnote/tree/feat/mcp-warm-servers
Conversation 47 https://github.com/deepnote/deepnote/pull/520
Commits 51 https://github.com/deepnote/deepnote/pull/520/commits
Checks 21 https://github.com/deepnote/deepnote/pull/520/checks
Files changed https://github.com/deepnote/deepnote/pull/520/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
feat(runtime-core,mcp): keep deepnote-toolkit servers warm across MCP runs https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#top
Show all changes 51 commits https://github.com/deepnote/deepnote/pull/520/files
c159ebc feat(runtime-core,cli,mcp): use the Deepnote extension's environment … jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/c159ebcf2909215e2a8904e03d1381930e271db3
df389aa fix(cli): report an explicit --python interpreter in human output jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/df389aad56173563a612ca88a98a209f8d85ad25
1717109 docs(skill): fix stale .agent/ folder and scope the lint python claim… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/17171099daa340ab5b743f229a80b5b6d567f873
d77732c feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdow… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/d77732cb3e6e53b04d4c52205fd322f5ea88f360
1f201e4 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/1f201e4cfc5d6e3773b1b98441f252e5fb584efb
6fd96d2 fix(runtime-core): address review feedback on runtime hardening jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/6fd96d265637b992c21978aca0949c44f519b848
90ea0a4 refactor(runtime-core,mcp): move warm server pooling to a follow-up PR jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/90ea0a44158ea9c7d030f82ef2a4f525b0fad0c7
8f7ee33 feat(runtime-core,mcp): keep deepnote-toolkit servers warm across MCP… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/8f7ee3331ee5f16c3fe98cfb36303aa3f9c12839
6fa4c0e fix(runtime-core): bound every startup health request by the remainin… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/6fa4c0e4cc666c3dc74a8520e045957c200358e3
5845f6a Merge branch 'feat/runtime-hardening' into feat/mcp-warm-servers jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/5845f6a4dec56340c0102749859d33fa4feaeab1
c72faa7 fix(runtime-core): make ServerPool shutdown wait for in-flight stops … jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/c72faa77a0dde7836602f02e2c075a6392536e73
85e7d6b fix(runtime-core): never return an exited server, stop waiting exactl… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/85e7d6b9f2d28295fc2a5384e44d111bb8b9494a
fa41a94 fix(runtime-core,mcp): harden ServerPool edge cases from review jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/fa41a94d0fa31ee0049d429ca95762a88975ab2e
351b810 Merge branch 'feat/runtime-hardening' into feat/mcp-warm-servers jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/351b810fd9396474861c7144b1be3b628331eb2e
99637fa docs: note that integration suites must not run concurrently on one m… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/99637fafd592a7637960bd54076bc59899462d3b
d2d1dc4 Merge branch 'feat/runtime-hardening' into feat/mcp-warm-servers jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/d2d1dc40b7484d79188f7195910574c1c5b65019
88a1476 feat(runtime-core): accept interpreter-only Deepnote extension sidecars jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/88a14769534ad989e4a57fec5e3f28f61ab3e163
5bd95ca docs(cli): describe the extension tier as the selected interpreter in… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/5bd95ca419bcb25c7067dfa91a100f50524f11a3
387bda3 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/387bda3cc11a92f5f63d600f892614632a826215
7118d3b chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/7118d3b631c5bdcc1795becc6dc074b80b75d0f1
4bb3bd2 chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/4bb3bd29f647f53dbf762019b82a16747add5b1b
938cbc4 docs(skill): point the interpreter prerequisite at pythonInterpreter,… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/938cbc49523027a46c493bd9b16bb1003ac1714e
e4bb755 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/e4bb755d3e9a9327452c49fc0aa1db11fba44a44
41a19e6 chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/41a19e600ffcbf030ae9467ab788e3dfb35e511c
da10623 fix(runtime-core): list every sidecar location in the bare-Python hint jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/da10623564f14f7c3fa27b2ef480f5aec4386ed3
d3cfaf9 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/d3cfaf97cb704b39fc35f4ab0083a56d34c53a34
d325c36 fix(runtime-core): keep a warm server another run leased during a fai… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/d325c36f9d97d2ed0b88215d55a2f7de22c62114
ea72fae chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/ea72faee35b346e1189c98b25c8b833e49e4bf7f
b7f4954 fix(mcp): search the workspace root for the sidecar by default, and d… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/b7f495481d4506e7d414817051d59cb04261ecd2
bf976e5 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/bf976e53239cf651eae961a27514517fb0bccdcb
70ba6d3 docs(mcp): mention the .venv tier in the deepnote_run interpreter docs jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/70ba6d334a24aa4ce5fdecc13d1af7b7b1f1bb8b
4860447 chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/48604472edd921e760ae02e9e58846e65351dd1c
4cb3b49 docs(mcp): say the venv search also starts from the workspace root jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/4cb3b496c8a7a591d36791107fc71072100d9d6c
8697e6c chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/8697e6c565a167022966d9116958fa9c9571cfef
4e038d1 feat(runtime-core,cli,mcp): use the Deepnote extension's environment … jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/4e038d1adec4c04e874ed3367aef2d4eb9884c0a
a5eb73f fix(cli): report an explicit --python interpreter in human output jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/a5eb73f072650e3814268baee83006e667de2610
27181f5 docs(skill): fix stale .agent/ folder and scope the lint python claim… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/520/commits/27181f5c90e3470d71d69ee05e67510374331dc5
c0d220f feat(runtime-core): accept interpreter-only Deepnote extension sidecars jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/c0d220f6134f8283be395fe5f61415c30bfc72cd
c70381a docs(cli): describe the extension tier as the selected interpreter in… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/c70381aaca4695b7bd2aa871791e3c1119b695e8
6827457 docs(skill): point the interpreter prerequisite at pythonInterpreter,… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/6827457c5a3021f4109b1282fa174220d9b45458
760fc03 fix(runtime-core): list every sidecar location in the bare-Python hint jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/760fc0389ee69bdafeb402df0ab0bab6a36f6def
7de8b74 fix(mcp): search the workspace root for the sidecar by default, and d… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/520/commits/7de8b746ec292ff9aa686548196a1104eff7c0d4
29983a7 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 14, 2026 https://github.com/deepnote/deepnote/pull/520/commits/29983a7b9e6255ce6307d7e287e9f015f021ca82
eaea265 chore(repo): merge feat/runtime-hardening into feat/mcp-warm-servers jamesbhobbs Sep 14, 2026 https://github.com/deepnote/deepnote/pull/520/commits/eaea26510758de630ced8b616f0219be5668495b
4a2562c chore(repo): merge main into warm server branch jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/4a2562cce6414d20be19cdb9dcd005e89670488f
643eea6 fix(runtime-core): share concurrent pool shutdown cleanup jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/643eea6d0a10685cf0100df5c37b7d983a3c8c14
129dc04 fix(mcp): shut down warm servers on stdin disconnect jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/129dc045b2dce8666c1e09b19403edd96e5d567e
aa6939d fix(runtime-core): retain server handles during pool startup jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/aa6939d68981a0c2f539d45f7130d1c67ae5c1f4
a0ed244 refactor(mcp): use stream completion for stdin shutdown jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/a0ed244afa64ad58a1190ddf32dc052a92d27f73
87633e6 test(runtime-core): use vitest waitUntil for server exit jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/87633e650189362bd52879d1ab2b502cdd022b3b
b114d72 fix(runtime-core): discover startup children during synchronous shutdown jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/520/commits/b114d72a5911a52fecbc3b2bb65847274e9022f7
Clear filters https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
Please reload this pagehttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
Please reload this pagehttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
ci.yml https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
AGENTS.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
CONTRIBUTING.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
cspell.json https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
package.json https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
README.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
cli.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
analyze.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
dag.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
lint.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
run.integration.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-9e4a30f11138c4247a3bc741eeb214b0ff4f7c9eca6b6dfc9e8218d3bfc0dc4f
run.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-230f6aaa853030f701f82028ebd0815847e138377fb2aa3b9ca5f24e39a1b19d
run.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-5c08ad8f28c154fbb0d4328601c767bdffc4dcdf207b9e1ffcc72c73902e64b6
python-resolution.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-6936228c1b7c9b21234ef31f917f8a83aea66b7d7541b5df2e08f89deb7a4c5f
python-resolution.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-3e2d43c3b3f83efd66575d25e2ebe82117dbe0f0526887fb11c15d26ee5b086e
execution.integration.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-34c1902df7cf2507752ff3abf13afd109f26f9bcec5fc6a3944ca63abc05501d
README.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-ba5dea79fe8446f1a9461322ff9b3158efbf2e11e1bf709973a2c146fba55539
runtime.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-2b32d9684c82bfd4f5d0e732faa676e83a8547cbc5086206c35dccdf7b96f93a
runtime.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-9bd9c27ee68db8d9b16429c5e4ed222c25313ff67db2bf56735a60c9c40fdcfc
server.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-6712a8dfb545cac462bfe960b0d0dc9478518b49409122b36ea9dc96b02d27ab
execution.runtime.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-1d82f617bbb5cbbd97a8d04350a6c4e59be649a44b2b430b045775ab7e82ed89
execution.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-eb2e045e73ca0205975635ed2cf13d01fbd1afbb2aedd034727d59f71a9059e5
execution.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-095624d6ede0941c52740c7ffd973262d526100b6f239941d06490ef592f9129
package.json https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-ccaf5472984ac18fc2fd4a75f0a60eae4322aea2c2de02514b939182cfe743a7
execution-engine.integration.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-b37b85f9e67e3169af51c47c1b29c96a3d528afe3e7f10d4e556d00639e7d669
execution-engine.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-0b627d37726333e896c042864adff1322f8bb6d41faa228b1a5f357d1ce805c0
execution-engine.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a98a106038f750a12d33bc3ad1423bcbe1a622f45ebff6a7655e10ed0b4489ed
index.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-5ab5fe7b450649335062cee0ca4f1499ae23f78f1460b187873afbe21093ef0b
kernel-client.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-6c52bcb41b6bb040a4a6902ec9e5d5496809a5a8ba1df49b29fab100097acf30
kernel-client.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-bc955b70443b4cfac3e0eccef76cc96f00a7ad31164186a67862671cab78b3ea
project-python.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-5fc5e06f9b10006475795af0960391df06951af144538cf2023aaa4cde99edd1
project-python.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-0d81f6741284eff1a243cc8df800ef463e8a2db617b2d18ebcca6a02e3e9259e
runtime-errors.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-e2e23f82ff91f773d5eae471020151600a0e8bb5ae385fec1e837503a9777522
server-pool.integration.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-ec31bb3ab21766083a9ed13e0318a6fe9ff81a7807e1fdcad78e01090e55feb4
server-pool.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-9a0bdefe3c8d0c5fb45980fd67c5ef0a4db5eb9fa01a3bbd7cc9d2ad51df501f
server-pool.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-044daa8ef2a6048b656aecefc8ecb2b7df2636d8316fba1c0d644466d957fa4a
server-starter.test.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-8bad44bb2becc7130a07ed282d0d1ac66309c0619e1f44ff6a8e444435468e5d
server-starter.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-1916b0b5c3d4ffd0b4156fa20aeac3491322703268149691373b81ef2795cd2c
types.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-8f6d5de42978e1b8f5493444eaf19027139e581c794ce069031fb222adf21044
pnpm-lock.yaml https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bb
SKILL.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-fc910ff9af653863a4d56f42ab43df86a18730c7df959926af99800c102c21db
cli-analysis.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-39e3bed179469728b851fb34b2cb7b77b85f5b1c11e9e81c53c792882f5b05c5
cli-run.md https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-e8ab7c37c6af71ee31cb469e1f122f928fb434c0e7e4e30f43f8a389daf4fbc6
integration-python.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-6a517aa1f697a54525bea2ae4afa662122d92d4e08fdd474c804421c21730136
vitest.config.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-2ee894bf23aa44ff4ce12a3da8af19ab20180474ebf2176dbe5f2eea3f96dc92
vitest.integration.config.ts https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-3c8d49f04351b39c4c3cc793ee7c14a0abf725bb74155b3a617ca6b75162fa11
.github/workflows/ci.ymlhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/.github/workflows/ci.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
AGENTS.mdhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/AGENTS.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
CONTRIBUTING.mdhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/CONTRIBUTING.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
cspell.jsonhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/cspell.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
package.jsonhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/package.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
packages/cli/README.mdhttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/packages/cli/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
packages/cli/src/cli.tshttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/packages/cli/src/cli.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
packages/cli/src/commands/analyze.tshttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/packages/cli/src/commands/analyze.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
packages/cli/src/commands/dag.tshttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/packages/cli/src/commands/dag.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
packages/cli/src/commands/lint.tshttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
View file https://github.com/deepnote/deepnote/blob/c72faa77a0dde7836602f02e2c075a6392536e73/packages/cli/src/commands/lint.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/520/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
Please reload this pagehttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
Please reload this pagehttps://github.com/deepnote/deepnote/pull/520/files/c72faa77a0dde7836602f02e2c075a6392536e73
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.