@marimo-team/frontend 0.19.11-dev2 → 0.19.11-dev4

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 (69) hide show
  1. package/dist/assets/{CellStatus-BAeLnQ68.js → CellStatus-RX44AhjN.js} +1 -1
  2. package/dist/assets/{JsonOutput-EJizmc0Z.js → JsonOutput-ChH_9MPt.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-C90djx1V.js → MarimoErrorOutput-a6bY4dzO.js} +1 -1
  4. package/dist/assets/{RenderHTML-ByTXWSgj.js → RenderHTML-CG3x4AfR.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-CnyhGSdf.js → add-cell-with-ai-C09q01JF.js} +1 -1
  6. package/dist/assets/{add-database-form-DqVwhh_K.js → add-database-form-CIVTpquv.js} +1 -1
  7. package/dist/assets/{agent-panel-Bh2AfKzA.js → agent-panel-BegTm8dL.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-C_pphOGv.js → ai-model-dropdown-BMv5J-EA.js} +4 -4
  9. package/dist/assets/{app-config-button-BariZTN8.js → app-config-button-CgwXO7yc.js} +1 -1
  10. package/dist/assets/{cell-editor-DMwqDwss.js → cell-editor-CQQfwfJI.js} +1 -1
  11. package/dist/assets/{cell-link-D46k36Xe.js → cell-link-DvW8RUk0.js} +1 -1
  12. package/dist/assets/{cells-DG7rjkOQ.js → cells-Botr-aL3.js} +48 -48
  13. package/dist/assets/{chat-display-hQ2Dy5fa.js → chat-display-DLmJWehR.js} +1 -1
  14. package/dist/assets/{chat-panel-D4Bcz2Sv.js → chat-panel-Bc4kjYhc.js} +1 -1
  15. package/dist/assets/{column-preview-DZULCraY.js → column-preview-BZevmZKp.js} +1 -1
  16. package/dist/assets/{command-Djb6VJ8T.js → command-BMidGaii.js} +1 -1
  17. package/dist/assets/{command-palette-CXYdoElD.js → command-palette-Crbebk2n.js} +1 -1
  18. package/dist/assets/{common-B9j0Q2gP.js → common-BOSf3pij.js} +1 -1
  19. package/dist/assets/{datasource-w1NuMzfo.js → datasource-acoDY9Ku.js} +1 -1
  20. package/dist/assets/{dependency-graph-panel-DED_3Q6I.js → dependency-graph-panel-7rjOVu1-.js} +1 -1
  21. package/dist/assets/{documentation-panel-CG2t9UyE.js → documentation-panel-CJ43lrJj.js} +1 -1
  22. package/dist/assets/{download-B6duieQs.js → download-COpfLoar.js} +1 -1
  23. package/dist/assets/{edit-page-ab-pH9y6.js → edit-page-DM-ntufl.js} +3 -3
  24. package/dist/assets/{error-panel-CDGOPmKx.js → error-panel-ByzTWszC.js} +1 -1
  25. package/dist/assets/{file-explorer-panel-OefSIlIn.js → file-explorer-panel-Crhfdp-q.js} +1 -1
  26. package/dist/assets/{floating-outline--UenxIj3.js → floating-outline-CMt2sk--.js} +1 -1
  27. package/dist/assets/{focus-n0WPxeOV.js → focus--DQRDy9D.js} +1 -1
  28. package/dist/assets/{form-C59_eE2a.js → form-CEIWhPlm.js} +1 -1
  29. package/dist/assets/{globals-CP-h_Os3.js → globals-DVVNoYwt.js} +1 -1
  30. package/dist/assets/{home-page-DnqxPw6c.js → home-page-DXg5FO14.js} +1 -1
  31. package/dist/assets/{hooks-cl29HCFx.js → hooks-B_8Fdjnr.js} +1 -1
  32. package/dist/assets/{html-to-image-BXhYNOMC.js → html-to-image-CVa2JapI.js} +1 -1
  33. package/dist/assets/{index-B5Sirmey.js → index-DVgeLSg0.js} +3 -3
  34. package/dist/assets/{kiosk-mode-CPN0mq4M.js → kiosk-mode-BpV4owU-.js} +1 -1
  35. package/dist/assets/{layout-ZZ7iNZSi.js → layout-DJRMYC1a.js} +1 -1
  36. package/dist/assets/{logs-panel-CZIVXROt.js → logs-panel-BHiVLv9Z.js} +1 -1
  37. package/dist/assets/{markdown-renderer-CnImn_qm.js → markdown-renderer-DqiLSa6X.js} +1 -1
  38. package/dist/assets/{mode-a9XOBfse.js → mode-C1hn9AVp.js} +1 -1
  39. package/dist/assets/{name-cell-input-BhJdGpGA.js → name-cell-input-Cg9inB7a.js} +1 -1
  40. package/dist/assets/{outline-panel-BGroTTXd.js → outline-panel-BhI-In5K.js} +1 -1
  41. package/dist/assets/{packages-panel-CQGOcCdz.js → packages-panel-xyxV0R4N.js} +1 -1
  42. package/dist/assets/{panels-B3g436fI.js → panels-DZzenPfr.js} +1 -1
  43. package/dist/assets/{process-output-C4GYMI00.js → process-output-uzyiTMlC.js} +1 -1
  44. package/dist/assets/{readonly-python-code-BvJmyMxd.js → readonly-python-code-Co1fGZLh.js} +1 -1
  45. package/dist/assets/{run-page-BGmNoipL.js → run-page-hCb-PpgP.js} +1 -1
  46. package/dist/assets/{scratchpad-panel-BH-ZA_0Y.js → scratchpad-panel-CJEXOEx5.js} +1 -1
  47. package/dist/assets/{session-panel-Co_o0ALo.js → session-panel-DGXSCgf8.js} +1 -1
  48. package/dist/assets/{snippets-panel-Dg7V8q_w.js → snippets-panel-CiadqrQM.js} +1 -1
  49. package/dist/assets/{state-C-B637hX.js → state-AxOl5_1Q.js} +1 -1
  50. package/dist/assets/{switch-B-UXYPJj.js → switch-Vbll2pdD.js} +1 -1
  51. package/dist/assets/{textarea-gBSp2Bx0.js → textarea-BmPX99zz.js} +1 -1
  52. package/dist/assets/{tracing-Dy8UdLvI.js → tracing-B9dnDRot.js} +1 -1
  53. package/dist/assets/{tracing-panel-BKDVrccB.js → tracing-panel-eneKK8b3.js} +2 -2
  54. package/dist/assets/{types-Cggdh96K.js → types-Dv1-Phf0.js} +1 -1
  55. package/dist/assets/{useAddCell-CkxiWxI4.js → useAddCell-DKJ0NHXX.js} +1 -1
  56. package/dist/assets/{useCellActionButton-BCYKogBW.js → useCellActionButton-DhJ0t-YB.js} +1 -1
  57. package/dist/assets/{useDeleteCell-CU4wVnMY.js → useDeleteCell-CRLMdzIa.js} +1 -1
  58. package/dist/assets/{useDependencyPanelTab-Dc4i3G5R.js → useDependencyPanelTab-BbQF7hN4.js} +1 -1
  59. package/dist/assets/{useNotebookActions-CeCCuvJT.js → useNotebookActions-DYS32x5Q.js} +1 -1
  60. package/dist/assets/{useRunCells-DnyQs7_N.js → useRunCells-DrrCdLgV.js} +1 -1
  61. package/dist/assets/{useSplitCell-CSr3as14.js → useSplitCell-C0BNDhtt.js} +1 -1
  62. package/dist/assets/{utilities.esm-CW5Mhtfu.js → utilities.esm-Di0IV3nO.js} +1 -1
  63. package/dist/index.html +30 -30
  64. package/package.json +1 -1
  65. package/src/components/app-config/user-config-form.tsx +43 -0
  66. package/src/core/codemirror/language/languages/python.ts +41 -0
  67. package/src/core/codemirror/lsp/transports.ts +1 -1
  68. package/src/core/config/capabilities.ts +1 -0
  69. package/src/core/runtime/runtime.ts +1 -1
@@ -175,6 +175,44 @@ const tyLspClient = once((_: LSPConfig) => {
175
175
  return notebookClient;
176
176
  });
177
177
 
178
+ const pyreflyClient = once(
179
+ (lspConfig: LSPConfig & { diagnostics: DiagnosticsConfig }) => {
180
+ let resyncCallback: (() => Promise<void>) | undefined;
181
+
182
+ const transport = createTransport("pyrefly", async () => {
183
+ await resyncCallback?.();
184
+ });
185
+
186
+ const lspClientOpts = {
187
+ transport,
188
+ rootUri: getLSPDocumentRootUri(),
189
+ workspaceFolders: [],
190
+ };
191
+
192
+ // We wrap the client in a NotebookLanguageServerClient to add some
193
+ // additional functionality to handle multiple cells
194
+ const notebookClient = new NotebookLanguageServerClient(
195
+ new LanguageServerClient({
196
+ ...lspClientOpts,
197
+ initializationOptions: {
198
+ pyrefly: {
199
+ displayTypeErrors:
200
+ (lspConfig.diagnostics?.enabled ?? false)
201
+ ? "force-on"
202
+ : "force-off",
203
+ },
204
+ },
205
+ }),
206
+ {},
207
+ );
208
+
209
+ // Set the resync callback now that the client exists
210
+ resyncCallback = () => notebookClient.resyncAllDocuments();
211
+
212
+ return notebookClient;
213
+ },
214
+ );
215
+
178
216
  const pyrightClient = once((_: LSPConfig) => {
179
217
  let resyncCallback: (() => Promise<void>) | undefined;
180
218
 
@@ -263,6 +301,9 @@ export class PythonLanguageAdapter implements LanguageAdapter<{}> {
263
301
  if (lspConfig?.ty?.enabled && hasCapability("ty")) {
264
302
  clients.push(tyLspClient(lspConfig));
265
303
  }
304
+ if (lspConfig?.pyrefly?.enabled && hasCapability("pyrefly")) {
305
+ clients.push(pyreflyClient(lspConfig));
306
+ }
266
307
  if (lspConfig?.basedpyright?.enabled && hasCapability("basedpyright")) {
267
308
  clients.push(pyrightClient(lspConfig));
268
309
  }
@@ -14,7 +14,7 @@ import { getRuntimeManager } from "../../runtime/config";
14
14
  * @returns The transport.
15
15
  */
16
16
  export function createTransport(
17
- serverName: "pylsp" | "basedpyright" | "copilot" | "ty",
17
+ serverName: "pylsp" | "basedpyright" | "copilot" | "ty" | "pyrefly",
18
18
  onReconnect?: () => Promise<void>,
19
19
  ) {
20
20
  const runtimeManager = getRuntimeManager();
@@ -8,6 +8,7 @@ export const capabilitiesAtom = atom<Capabilities>({
8
8
  pylsp: false,
9
9
  basedpyright: false,
10
10
  ty: false,
11
+ pyrefly: false,
11
12
  });
12
13
 
13
14
  export function hasCapability(key: keyof Capabilities): boolean {
@@ -140,7 +140,7 @@ export class RuntimeManager {
140
140
  /**
141
141
  * The URL of the copilot server.
142
142
  */
143
- getLSPURL(lsp: "pylsp" | "basedpyright" | "copilot" | "ty"): URL {
143
+ getLSPURL(lsp: "pylsp" | "basedpyright" | "copilot" | "ty" | "pyrefly"): URL {
144
144
  if (lsp === "copilot") {
145
145
  // For copilot, don't include any query parameters
146
146
  const url = this.formatWsURL(`/lsp/${lsp}`);