nebula-notebook 0.2.0 → 0.2.1

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 (100) hide show
  1. package/README.md +35 -20
  2. package/dist/assets/{errorwidget-C4r2j2DQ.js → errorwidget-Wy5ajPiM.js} +1 -1
  3. package/dist/assets/{index-Day3QcNs.js → index-B_Bs5koo.js} +1 -1
  4. package/dist/assets/index-DK4nS74r.js +829 -0
  5. package/dist/assets/{index-D5w21_Z8.js → index-DeQN03nW.js} +1 -1
  6. package/dist/assets/index-DzjpmUak.css +32 -0
  7. package/dist/assets/{index-CsHoPQy-.js → index-g6MjT-VG.js} +1 -1
  8. package/dist/assets/{services-shim-D6p_A67v.js → services-shim-BirHVsih.js} +1 -1
  9. package/dist/index.html +2 -2
  10. package/node-server/dist/auth/auth-middleware.js +22 -4
  11. package/node-server/dist/auth/auth-service.js +37 -7
  12. package/node-server/dist/cluster/client-registration.d.ts +12 -1
  13. package/node-server/dist/cluster/client-registration.js +35 -2
  14. package/node-server/dist/cluster/kernel-proxy.js +19 -3
  15. package/node-server/dist/cluster/server-registry.d.ts +9 -0
  16. package/node-server/dist/cluster/server-registry.js +26 -0
  17. package/node-server/dist/discovery/conda-locations.d.ts +73 -0
  18. package/node-server/dist/discovery/conda-locations.js +427 -0
  19. package/node-server/dist/discovery/discovery-service.d.ts +73 -4
  20. package/node-server/dist/discovery/discovery-service.js +211 -127
  21. package/node-server/dist/discovery/types.d.ts +0 -1
  22. package/node-server/dist/discovery/types.js +1 -2
  23. package/node-server/dist/environment.d.ts +12 -0
  24. package/node-server/dist/environment.js +104 -0
  25. package/node-server/dist/fs/fs-service.d.ts +31 -1
  26. package/node-server/dist/fs/fs-service.js +160 -28
  27. package/node-server/dist/fs/types.d.ts +9 -0
  28. package/node-server/dist/fs/types.js +8 -0
  29. package/node-server/dist/index.js +71 -4
  30. package/node-server/dist/kernel/kernel-service.d.ts +17 -0
  31. package/node-server/dist/kernel/kernel-service.js +72 -4
  32. package/node-server/dist/kernel/kernelspec.d.ts +27 -0
  33. package/node-server/dist/kernel/kernelspec.js +75 -4
  34. package/node-server/dist/notebook/headless-handler.d.ts +10 -0
  35. package/node-server/dist/notebook/headless-handler.js +55 -5
  36. package/node-server/dist/notebook/undoRedoManager.d.ts +8 -0
  37. package/node-server/dist/notebook/undoRedoManager.js +39 -16
  38. package/node-server/dist/private-tmp.d.ts +14 -0
  39. package/node-server/dist/private-tmp.js +70 -0
  40. package/node-server/dist/routes/autocomplete.d.ts +19 -0
  41. package/node-server/dist/routes/autocomplete.js +294 -0
  42. package/node-server/dist/routes/fs.js +21 -4
  43. package/node-server/dist/routes/kernel.js +45 -2
  44. package/node-server/dist/routes/notebook.js +8 -2
  45. package/node-server/dist/routes/python.d.ts +1 -2
  46. package/node-server/dist/routes/python.js +139 -3
  47. package/node-server/dist/scheduler/allocation-service.d.ts +20 -0
  48. package/node-server/dist/scheduler/allocation-service.js +124 -8
  49. package/node-server/dist/scheduler/mock-scheduler.js +7 -3
  50. package/node-server/dist/scheduler/slurm-scheduler.js +21 -8
  51. package/node-server/dist/scheduler/types.d.ts +3 -2
  52. package/node-server/dist/terminal/agent-registry.d.ts +87 -0
  53. package/node-server/dist/terminal/agent-registry.js +246 -0
  54. package/node-server/dist/terminal/binding-store.d.ts +57 -0
  55. package/node-server/dist/terminal/binding-store.js +0 -0
  56. package/node-server/dist/terminal/pty-manager.d.ts +23 -6
  57. package/node-server/dist/terminal/pty-manager.js +130 -19
  58. package/node-server/dist/terminal/server.js +112 -21
  59. package/node-server/dist/terminal/types.d.ts +2 -0
  60. package/node-server/package.json +1 -0
  61. package/node_modules/nebula-autocomplete/README.md +145 -0
  62. package/node_modules/nebula-autocomplete/dist/backends/claude.d.ts +69 -0
  63. package/node_modules/nebula-autocomplete/dist/backends/claude.js +449 -0
  64. package/node_modules/nebula-autocomplete/dist/backends/codex.d.ts +45 -0
  65. package/node_modules/nebula-autocomplete/dist/backends/codex.js +108 -0
  66. package/node_modules/nebula-autocomplete/dist/client/fetcher.d.ts +16 -0
  67. package/node_modules/nebula-autocomplete/dist/client/fetcher.js +41 -0
  68. package/node_modules/nebula-autocomplete/dist/codemirror/ghostText.d.ts +43 -0
  69. package/node_modules/nebula-autocomplete/dist/codemirror/ghostText.js +175 -0
  70. package/node_modules/nebula-autocomplete/dist/core/engine.d.ts +17 -0
  71. package/node_modules/nebula-autocomplete/dist/core/engine.js +135 -0
  72. package/node_modules/nebula-autocomplete/dist/core/lru.d.ts +7 -0
  73. package/node_modules/nebula-autocomplete/dist/core/lru.js +26 -0
  74. package/node_modules/nebula-autocomplete/dist/core/prompt.d.ts +12 -0
  75. package/node_modules/nebula-autocomplete/dist/core/prompt.js +0 -0
  76. package/node_modules/nebula-autocomplete/dist/core/text.d.ts +53 -0
  77. package/node_modules/nebula-autocomplete/dist/core/text.js +169 -0
  78. package/node_modules/nebula-autocomplete/dist/index.d.ts +7 -0
  79. package/node_modules/nebula-autocomplete/dist/index.js +5 -0
  80. package/node_modules/nebula-autocomplete/dist/server/fastify.d.ts +40 -0
  81. package/node_modules/nebula-autocomplete/dist/server/fastify.js +52 -0
  82. package/node_modules/nebula-autocomplete/dist/transport.d.ts +55 -0
  83. package/node_modules/nebula-autocomplete/dist/transport.js +66 -0
  84. package/node_modules/nebula-autocomplete/dist/types.d.ts +103 -0
  85. package/node_modules/nebula-autocomplete/dist/types.js +1 -0
  86. package/node_modules/nebula-autocomplete/package.json +58 -0
  87. package/node_modules/nebula-autocomplete/server.d.ts +3 -0
  88. package/node_modules/nebula-autocomplete/server.js +3 -0
  89. package/package.json +17 -5
  90. package/scripts/postinstall.cjs +25 -5
  91. package/dist/assets/index-7-YBurka.js +0 -716
  92. package/dist/assets/index-CFBUnxSZ.css +0 -32
  93. package/node-server/dist/llm/index.d.ts +0 -5
  94. package/node-server/dist/llm/index.js +0 -21
  95. package/node-server/dist/llm/llm-service.d.ts +0 -77
  96. package/node-server/dist/llm/llm-service.js +0 -454
  97. package/node-server/dist/llm/types.d.ts +0 -40
  98. package/node-server/dist/llm/types.js +0 -15
  99. package/node-server/dist/routes/llm.d.ts +0 -8
  100. package/node-server/dist/routes/llm.js +0 -105
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "nebula-notebook",
3
- "version": "0.2.0",
4
- "description": "AI-native notebook computing environment \u2014 real Jupyter kernels, real filesystem, built to be driven by agents (Claude Code / Codex) via MCP",
3
+ "version": "0.2.1",
4
+ "description": "AI-native notebook computing environment real Jupyter kernels, real filesystem, built to be driven by agents (Claude Code / Codex) via MCP",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/jzthree/nebula-notebook.git"
9
+ "url": "https://github.com/jzhoulab/nebula-notebook.git"
10
10
  },
11
11
  "keywords": [
12
12
  "notebook",
@@ -27,6 +27,9 @@
27
27
  "node-server/package.json",
28
28
  "scripts/postinstall.cjs"
29
29
  ],
30
+ "bundledDependencies": [
31
+ "nebula-autocomplete"
32
+ ],
30
33
  "engines": {
31
34
  "node": ">=20"
32
35
  },
@@ -42,10 +45,12 @@
42
45
  "mcp": "npm --prefix packages/mcp run mcp",
43
46
  "mcp:build": "npm --prefix packages/mcp run build",
44
47
  "mcp:test": "npm --prefix packages/mcp test",
48
+ "autocomplete:test": "npm --prefix packages/autocomplete test",
45
49
  "setup-mcp": "npm --prefix packages/mcp run setup-mcp",
46
50
  "setup": "node setup.cjs",
47
51
  "postinstall": "node scripts/postinstall.cjs",
48
- "prepublishOnly": "npm run build && npm run node-server:build",
52
+ "autocomplete:build": "npm --prefix packages/autocomplete run build",
53
+ "prepack": "npm --prefix packages/autocomplete install && npm run autocomplete:build && npm run build && npm run node-server:build",
49
54
  "stop": "lsof -ti:3000,3001,8000 | xargs kill -9 2>/dev/null; echo 'Servers stopped'",
50
55
  "test": "vitest",
51
56
  "test:run": "vitest run"
@@ -56,13 +61,17 @@
56
61
  "@fastify/static": "^9.0.0",
57
62
  "@fastify/websocket": "^11.2.0",
58
63
  "@homebridge/node-pty-prebuilt-multiarch": "^0.14.0",
64
+ "@xterm/addon-clipboard": "^0.2.0",
65
+ "@xterm/addon-webgl": "^0.19.0",
59
66
  "better-sqlite3": "^11.0.0",
60
67
  "fastify": "^5.8.2",
61
68
  "jsonwebtoken": "^9.0.2",
69
+ "nebula-autocomplete": "file:packages/autocomplete",
62
70
  "otplib": "^12.0.1",
63
71
  "qrcode-terminal": "^0.12.0",
64
72
  "uuid": "^9.0.1",
65
73
  "ws": "^8.16.0",
74
+ "yaml": "^2.9.0",
66
75
  "zeromq": "^6.4.2"
67
76
  },
68
77
  "devDependencies": {
@@ -93,5 +102,8 @@
93
102
  "typescript": "~5.8.2",
94
103
  "vite": "^6.2.0",
95
104
  "vitest": "^4.0.16"
96
- }
105
+ },
106
+ "bundleDependencies": [
107
+ "nebula-autocomplete"
108
+ ]
97
109
  }
@@ -1,10 +1,13 @@
1
1
  /**
2
- * Repo-checkout convenience: install the node-server and packages/mcp
3
- * subpackage dependencies after a root `npm install`.
2
+ * Repo-checkout convenience: install the packages/autocomplete, node-server,
3
+ * and packages/mcp subpackage dependencies after a root `npm install`.
4
+ * packages/autocomplete is listed first so its `prepare` step builds dist/
5
+ * before node-server (which links to it via file:) is set up.
4
6
  *
5
7
  * Skipped entirely when nebula-notebook is installed from npm as a
6
8
  * dependency — the published package is self-contained (server runtime
7
- * deps live in the root package.json; dist artifacts are prebuilt).
9
+ * deps live in the root package.json; nebula-autocomplete is a bundled
10
+ * dependency; dist artifacts are prebuilt).
8
11
  */
9
12
  const path = require('path');
10
13
  const fs = require('fs');
@@ -15,12 +18,29 @@ if (__dirname.split(path.sep).includes('node_modules')) {
15
18
  }
16
19
 
17
20
  const root = path.join(__dirname, '..');
18
- for (const dir of ['node-server', path.join('packages', 'mcp')]) {
21
+ for (const dir of [path.join('packages', 'autocomplete'), 'node-server', path.join('packages', 'mcp')]) {
19
22
  const pkg = path.join(root, dir, 'package.json');
20
23
  if (!fs.existsSync(pkg)) continue;
21
24
  try {
22
- execSync('npm install', { cwd: path.join(root, dir), stdio: 'inherit' });
25
+ // --include=dev: the subpackage builds (tsc) need their devDependencies
26
+ // even when the environment forces production installs (NODE_ENV=production
27
+ // in server shells, npm production config) — without it, tsc is missing
28
+ // and the prepare builds are skipped.
29
+ execSync('npm install --include=dev', { cwd: path.join(root, dir), stdio: 'inherit' });
23
30
  } catch {
24
31
  console.warn(`⚠️ postinstall: npm install failed in ${dir}`);
25
32
  }
26
33
  }
34
+
35
+ // The autocomplete build is load-bearing (the root depends on its dist/ via
36
+ // file:). Its prepare skips quietly when typescript is absent, so verify the
37
+ // artifact exists and fall back to an explicit build.
38
+ const autocompleteDir = path.join(root, 'packages', 'autocomplete');
39
+ if (fs.existsSync(path.join(autocompleteDir, 'package.json')) &&
40
+ !fs.existsSync(path.join(autocompleteDir, 'dist', 'index.js'))) {
41
+ try {
42
+ execSync('npm run build', { cwd: autocompleteDir, stdio: 'inherit' });
43
+ } catch {
44
+ console.warn('⚠️ postinstall: nebula-autocomplete build failed — run "npm install --include=dev && npm run build" in packages/autocomplete');
45
+ }
46
+ }