@marimo-team/frontend 0.15.1-dev30 → 0.15.1-dev33
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.
- package/dist/assets/{ConnectedDataExplorerComponent-A1945Aso.js → ConnectedDataExplorerComponent-B0S6KZz0.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-D1NsIUty.js → ImageComparisonComponent-C-VZ4Tnc.js} +1 -1
- package/dist/assets/{VegaLite-BGGfcUZn.js → VegaLite-BnVARnZA.js} +1 -1
- package/dist/assets/{_baseEach-D3nH_2xn.js → _baseEach-CnkgAoU6.js} +1 -1
- package/dist/assets/_baseMap-BQjPNy9z.js +1 -0
- package/dist/assets/{_baseUniq-CQqCX6A5.js → _baseUniq-CwJ2iszo.js} +1 -1
- package/dist/assets/{_createAggregator-CcFqySRL.js → _createAggregator-DzNuEiXE.js} +1 -1
- package/dist/assets/{any-language-editor-BCrWEpOh.js → any-language-editor-CkEw-cSX.js} +1 -1
- package/dist/assets/{architectureDiagram-KFL7JDKH-Bi-k1FzL.js → architectureDiagram-KFL7JDKH-D5bxGLSO.js} +1 -1
- package/dist/assets/{blockDiagram-ZYB65J3Q-Dmpjl7Rr.js → blockDiagram-ZYB65J3Q-lBSpJVzg.js} +1 -1
- package/dist/assets/{c4Diagram-AAMF2YG6-adiBTZJE.js → c4Diagram-AAMF2YG6-Cp2ZcvGq.js} +1 -1
- package/dist/assets/channel-8Z-5YHHd.js +1 -0
- package/dist/assets/{chunk-ANTBXLJU-DwXFMulX.js → chunk-ANTBXLJU-BI9zlp2d.js} +1 -1
- package/dist/assets/{chunk-FHKO5MBM-xaGLB2hd.js → chunk-FHKO5MBM-DmqxuwHW.js} +1 -1
- package/dist/assets/{chunk-GLLZNHP4-Cit8A-EP.js → chunk-GLLZNHP4-DDRTaZzv.js} +1 -1
- package/dist/assets/{chunk-JBRWN2VN-bXiYdBHm.js → chunk-JBRWN2VN-CT2Hh2iP.js} +1 -1
- package/dist/assets/{chunk-LXBSTHXV-BP4Soimz.js → chunk-LXBSTHXV-DAMSTx1Q.js} +1 -1
- package/dist/assets/{chunk-NRVI72HA-Caq7CUfs.js → chunk-NRVI72HA-BZuYvBej.js} +1 -1
- package/dist/assets/{chunk-OMD6QJNC-54ZKr9c_.js → chunk-OMD6QJNC-BU_2rBlE.js} +1 -1
- package/dist/assets/{chunk-WVR4S24B-BdZs7vKR.js → chunk-WVR4S24B-CovEV1lg.js} +1 -1
- package/dist/assets/{circle-play-BDHXCb0Y.js → circle-play-D59wTwHu.js} +1 -1
- package/dist/assets/classDiagram-3BZAVTQC-BOvgzS6u.js +1 -0
- package/dist/assets/classDiagram-v2-QTMF73CY-BOvgzS6u.js +1 -0
- package/dist/assets/clone-DVVP9Odz.js +1 -0
- package/dist/assets/{compile-CGvn-4st.js → compile-BKBdwA1q.js} +1 -1
- package/dist/assets/{dagre-2BBEFEWP-BEa1obN_.js → dagre-2BBEFEWP-BmXAp5fB.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-BsrLkNwc.js → data-grid-overlay-editor-BycmLqkg.js} +1 -1
- package/dist/assets/{diagram-4IRLE6MV-Cf3FnnYp.js → diagram-4IRLE6MV-CI8uZuDu.js} +1 -1
- package/dist/assets/{diagram-GUPCWM2R-Cty98at3.js → diagram-GUPCWM2R-DM01dWOn.js} +1 -1
- package/dist/assets/{diagram-RP2FKANI-DWVcFwOr.js → diagram-RP2FKANI-3A7xcD_S.js} +1 -1
- package/dist/assets/{edit-page-DMaQm3LE.js → edit-page-r0MON4eX.js} +58 -58
- package/dist/assets/{erDiagram-HZWUO2LU-CyO1eOOE.js → erDiagram-HZWUO2LU-DVhn3kEV.js} +1 -1
- package/dist/assets/{flowDiagram-THRYKUMA-CRj5oK-a.js → flowDiagram-THRYKUMA-ByiKsMTR.js} +1 -1
- package/dist/assets/{ganttDiagram-WV7ZQ7D5-2EImeZRg.js → ganttDiagram-WV7ZQ7D5-C3yWfK7N.js} +1 -1
- package/dist/assets/{gitGraphDiagram-OJR772UL-B9tcK9BT.js → gitGraphDiagram-OJR772UL-DT2oVbFG.js} +1 -1
- package/dist/assets/{glide-data-editor-BvISYI3t.js → glide-data-editor-B-hKUbt8.js} +4 -4
- package/dist/assets/{graph-D9tj17QN.js → graph-DKF8gkY7.js} +1 -1
- package/dist/assets/{home-page-p4uSMJRW.js → home-page-DG5IpRSH.js} +1 -1
- package/dist/assets/{index-Boz2pcJb.js → index-B4KTvqjC.js} +1 -1
- package/dist/assets/{index-DiBzOhAN.js → index-BAre-3Jh.js} +1 -1
- package/dist/assets/{index-DgR-q7Mi.js → index-BDye4bMD.js} +1 -1
- package/dist/assets/{index-BII3QszR.js → index-BJMIm3h5.js} +1 -1
- package/dist/assets/{index-esTG9RN-.js → index-BKnuS3t4.js} +1 -1
- package/dist/assets/{index-BRMp4xor.js → index-BQCqmfXS.js} +1 -1
- package/dist/assets/{index-H-k8tqNe.js → index-BSq77Vg9.js} +1 -1
- package/dist/assets/{index-CLUiiUWQ.js → index-B_03AI_O.js} +1 -1
- package/dist/assets/{index-DcxPzpNS.js → index-BciA4s2J.js} +1 -1
- package/dist/assets/{index-BuFQpizN.js → index-C89mOURj.js} +1 -1
- package/dist/assets/{index-0xnfM4P4.js → index-CDxt4mvu.js} +1 -1
- package/dist/assets/{index-BytvWT4g.js → index-CDzLk5Q3.js} +1 -1
- package/dist/assets/{index-_uCXr0qE.js → index-CKZtF7JM.js} +1 -1
- package/dist/assets/{index-C3iPkq79.js → index-COS_Xbgw.js} +1 -1
- package/dist/assets/{index-DgQigf_R.js → index-CxQa_cAw.js} +1 -1
- package/dist/assets/{index-COVExp2x.js → index-Cxy_1y9a.js} +1 -1
- package/dist/assets/{index-CTYfpi2J.js → index-DTE_Lol9.js} +166 -166
- package/dist/assets/{index-CvsUfIK9.js → index-RfoHYoLS.js} +1 -1
- package/dist/assets/{index-eROqpTg3.js → index-kCp9Vp_G.js} +1 -1
- package/dist/assets/{index-CqyRpjaT.js → index-tI3mZqES.js} +1 -1
- package/dist/assets/infoDiagram-6WOFNB3A-CVxc3Oq6.js +2 -0
- package/dist/assets/{journeyDiagram-FFXJYRFH-D-bCUgMG.js → journeyDiagram-FFXJYRFH-yx-qCooh.js} +1 -1
- package/dist/assets/{kanban-definition-KOZQBZVT-B85i5eC4.js → kanban-definition-KOZQBZVT-DpJgEsNc.js} +1 -1
- package/dist/assets/{layout-BGrsINEZ.js → layout-HC2KG283.js} +1 -1
- package/dist/assets/{linear-pcSEPOwJ.js → linear-DwZzRezN.js} +1 -1
- package/dist/assets/{links-DZr8KDfw.js → links-_NwdJ11g.js} +1 -1
- package/dist/assets/{mermaid-Bu7PGvSJ.js → mermaid-BsNRTdZg.js} +4 -4
- package/dist/assets/{min-BIbDgP5-.js → min-DdOdESXu.js} +1 -1
- package/dist/assets/{mindmap-definition-LNHGMQRG-tCRSnTL_.js → mindmap-definition-LNHGMQRG-Ds3h-hI5.js} +1 -1
- package/dist/assets/{number-overlay-editor-Cmym0e23.js → number-overlay-editor-CYrbVyKN.js} +1 -1
- package/dist/assets/{pieDiagram-DBDJKBY4-DpkXENah.js → pieDiagram-DBDJKBY4-Ce-oEPaV.js} +1 -1
- package/dist/assets/{quadrantDiagram-YPSRARAO-CeVsWIL4.js → quadrantDiagram-YPSRARAO-Urm8U0LY.js} +1 -1
- package/dist/assets/{react-plotly-bhihEFAw.js → react-plotly-DGqhBdP1.js} +1 -1
- package/dist/assets/{requirementDiagram-EGVEC5DT-BvoCOWRy.js → requirementDiagram-EGVEC5DT-CCTq9hQZ.js} +1 -1
- package/dist/assets/{run-page-DbSZPud1.js → run-page-CsCj50OD.js} +1 -1
- package/dist/assets/{sankeyDiagram-HRAUVNP4-Cu7q4U4c.js → sankeyDiagram-HRAUVNP4-C2I9sfem.js} +1 -1
- package/dist/assets/{sequenceDiagram-WFGC7UMF-Bxyr66jz.js → sequenceDiagram-WFGC7UMF-CLQmyPy2.js} +1 -1
- package/dist/assets/{slides-component-CR8YzEwo.js → slides-component-DJCkXPus.js} +1 -1
- package/dist/assets/{sortBy-viAGx73S.js → sortBy-Duwc1vyP.js} +1 -1
- package/dist/assets/{stateDiagram-UUKSUZ4H-DJJ0rAf0.js → stateDiagram-UUKSUZ4H-VvU373AQ.js} +1 -1
- package/dist/assets/stateDiagram-v2-EYPG3UTE-D41Oi10c.js +1 -0
- package/dist/assets/{storage-TM0i2hq2.js → storage-1hHZMyeU.js} +3 -3
- package/dist/assets/{terminal-BbRCg6oH.js → terminal-DV-tPxSZ.js} +1 -1
- package/dist/assets/{time-B4nktxEd.js → time-4bh0fJAY.js} +1 -1
- package/dist/assets/{timeline-definition-3HZDQTIS-6vQ8-7Z5.js → timeline-definition-3HZDQTIS-D5z1lzVG.js} +1 -1
- package/dist/assets/{tracing-Cd6LslAY.js → tracing-C32etwYw.js} +2 -2
- package/dist/assets/{trash-DROPVtiT.js → trash-W9nmeKd9.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-Bfo3G5Mq.js → treemap-75Q7IDZK-CHza0lWj.js} +1 -1
- package/dist/assets/{vega-component-BKsG4gHo.js → vega-component-BDWLTrqk.js} +1 -1
- package/dist/assets/{xychartDiagram-FDP5SA34-BgTU9DKZ.js → xychartDiagram-FDP5SA34-DVdoRkWV.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-panel.tsx +17 -9
- package/src/components/editor/ai/add-cell-with-ai.tsx +19 -16
- package/src/components/editor/ai/ai-completion-editor.tsx +4 -0
- package/dist/assets/_baseMap-DLtMmtEG.js +0 -1
- package/dist/assets/channel-7kaxt7IF.js +0 -1
- package/dist/assets/classDiagram-3BZAVTQC-Djy0cY4g.js +0 -1
- package/dist/assets/classDiagram-v2-QTMF73CY-Djy0cY4g.js +0 -1
- package/dist/assets/clone-BwvK2dmW.js +0 -1
- package/dist/assets/infoDiagram-6WOFNB3A-DRPEjZ3d.js +0 -2
- package/dist/assets/stateDiagram-v2-EYPG3UTE-CT0Gpq7L.js +0 -1
@@ -9,6 +9,7 @@ import {
|
|
9
9
|
import { markdown } from "@codemirror/lang-markdown";
|
10
10
|
import { sql } from "@codemirror/lang-sql";
|
11
11
|
import { Prec } from "@codemirror/state";
|
12
|
+
import { promptHistory, storePrompt } from "@marimo-team/codemirror-ai";
|
12
13
|
import ReactCodeMirror, {
|
13
14
|
EditorView,
|
14
15
|
keymap,
|
@@ -26,8 +27,9 @@ import {
|
|
26
27
|
SparklesIcon,
|
27
28
|
XIcon,
|
28
29
|
} from "lucide-react";
|
29
|
-
import { useMemo, useState } from "react";
|
30
|
+
import { useMemo, useRef, useState } from "react";
|
30
31
|
import useEvent from "react-use-event-hook";
|
32
|
+
import { z } from "zod";
|
31
33
|
import { AIModelDropdown } from "@/components/ai/ai-model-dropdown";
|
32
34
|
import { Button } from "@/components/ui/button";
|
33
35
|
import {
|
@@ -48,6 +50,7 @@ import { useRuntimeManager } from "@/core/runtime/config";
|
|
48
50
|
import { useTheme } from "@/theme/useTheme";
|
49
51
|
import { cn } from "@/utils/cn";
|
50
52
|
import { prettyError } from "@/utils/errors";
|
53
|
+
import { ZodLocalStorage } from "@/utils/localStorage";
|
51
54
|
import { useCellActions } from "../../../core/cells/cells";
|
52
55
|
import { PythonIcon } from "../cell/code/icons";
|
53
56
|
import {
|
@@ -71,6 +74,10 @@ const languageAtom = atomWithStorage<"python" | "sql">(
|
|
71
74
|
"python",
|
72
75
|
);
|
73
76
|
|
77
|
+
const KEY = "marimo:ai-prompt-history";
|
78
|
+
// Store the prompt history in local storage
|
79
|
+
const promptHistoryStorage = new ZodLocalStorage(z.array(z.string()), () => []);
|
80
|
+
|
74
81
|
/**
|
75
82
|
* Add a cell with AI.
|
76
83
|
*/
|
@@ -86,6 +93,7 @@ export const AddCellWithAI: React.FC<{
|
|
86
93
|
const ai = useAtomValue(aiAtom);
|
87
94
|
const editModel = ai?.models?.edit_model || DEFAULT_AI_MODEL;
|
88
95
|
const { saveModelChange } = useModelChange();
|
96
|
+
const inputRef = useRef<ReactCodeMirrorRef>(null);
|
89
97
|
|
90
98
|
const {
|
91
99
|
completion,
|
@@ -120,6 +128,9 @@ export const AddCellWithAI: React.FC<{
|
|
120
128
|
|
121
129
|
const submit = () => {
|
122
130
|
if (!isLoading) {
|
131
|
+
if (inputRef.current?.view) {
|
132
|
+
storePrompt(inputRef.current.view);
|
133
|
+
}
|
123
134
|
handleSubmit();
|
124
135
|
}
|
125
136
|
};
|
@@ -185,6 +196,7 @@ export const AddCellWithAI: React.FC<{
|
|
185
196
|
<div className="flex items-center px-3">
|
186
197
|
<SparklesIcon className="size-4 text-(--blue-11) mr-2" />
|
187
198
|
<PromptInput
|
199
|
+
inputRef={inputRef}
|
188
200
|
onClose={() => {
|
189
201
|
setCompletion("");
|
190
202
|
onClose();
|
@@ -338,6 +350,12 @@ export const PromptInput = ({
|
|
338
350
|
markdownLanguage.language.data.of({
|
339
351
|
autocomplete: additionalCompletionsSource,
|
340
352
|
}),
|
353
|
+
promptHistory({
|
354
|
+
storage: {
|
355
|
+
load: () => promptHistoryStorage.get(KEY),
|
356
|
+
save: (prompts) => promptHistoryStorage.set(KEY, prompts),
|
357
|
+
},
|
358
|
+
}),
|
341
359
|
EditorView.lineWrapping,
|
342
360
|
minimalSetup(),
|
343
361
|
Prec.highest(
|
@@ -392,21 +410,6 @@ export const PromptInput = ({
|
|
392
410
|
},
|
393
411
|
},
|
394
412
|
]),
|
395
|
-
// Trap arrow up/down to prevent them from being used to navigate the editor
|
396
|
-
keymap.of([
|
397
|
-
{
|
398
|
-
key: "ArrowUp",
|
399
|
-
preventDefault: true,
|
400
|
-
stopPropagation: true,
|
401
|
-
},
|
402
|
-
]),
|
403
|
-
keymap.of([
|
404
|
-
{
|
405
|
-
key: "ArrowDown",
|
406
|
-
preventDefault: true,
|
407
|
-
stopPropagation: true,
|
408
|
-
},
|
409
|
-
]),
|
410
413
|
];
|
411
414
|
}, [store, additionalCompletionsSource, handleSubmit, handleEscape]);
|
412
415
|
|
@@ -9,6 +9,7 @@ import { Button } from "@/components/ui/button";
|
|
9
9
|
import { customPythonLanguageSupport } from "@/core/codemirror/language/languages/python";
|
10
10
|
|
11
11
|
import "./merge-editor.css";
|
12
|
+
import { storePrompt } from "@marimo-team/codemirror-ai";
|
12
13
|
import type { ReactCodeMirrorRef } from "@uiw/react-codemirror";
|
13
14
|
import { useAtom } from "jotai";
|
14
15
|
import { Checkbox } from "@/components/ui/checkbox";
|
@@ -175,6 +176,9 @@ export const AiCompletionEditor: React.FC<Props> = ({
|
|
175
176
|
}}
|
176
177
|
onSubmit={() => {
|
177
178
|
if (!isLoading) {
|
179
|
+
if (inputRef.current?.view) {
|
180
|
+
storePrompt(inputRef.current.view);
|
181
|
+
}
|
178
182
|
handleSubmit();
|
179
183
|
}
|
180
184
|
}}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{b as m}from"./_baseEach-D3nH_2xn.js";import{x as s}from"./index-CTYfpi2J.js";function e(r,o){var a=-1,t=s(r)?Array(r.length):[];return m(r,function(n,f,i){t[++a]=o(n,f,i)}),t}export{e as b};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{U as s,C as o}from"./mermaid-Bu7PGvSJ.js";const n=(a,r)=>s.lang.round(o.parse(a)[r]);export{n as c};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-bXiYdBHm.js";import{_ as e}from"./mermaid-Bu7PGvSJ.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-Cit8A-EP.js";import"./chunk-WVR4S24B-BdZs7vKR.js";import"./chunk-NRVI72HA-Caq7CUfs.js";import"./index-CTYfpi2J.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-bXiYdBHm.js";import{_ as e}from"./mermaid-Bu7PGvSJ.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-Cit8A-EP.js";import"./chunk-WVR4S24B-BdZs7vKR.js";import"./chunk-NRVI72HA-Caq7CUfs.js";import"./index-CTYfpi2J.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{b as n}from"./_baseUniq-CQqCX6A5.js";function o(r){return n(r,4)}export{o as c};
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{_ as a,l as i,I as s,d as p,K as n}from"./mermaid-Bu7PGvSJ.js";import{p as m}from"./treemap-75Q7IDZK-Bfo3G5Mq.js";import"./index-CTYfpi2J.js";import"./transform-B8bpuzxV.js";import"./timer-BwIYMJWC.js";import"./step-BwsUM5iJ.js";import"./_baseEach-D3nH_2xn.js";import"./_baseUniq-CQqCX6A5.js";import"./min-BIbDgP5-.js";import"./_baseMap-DLtMmtEG.js";import"./clone-BwvK2dmW.js";import"./_createAggregator-CcFqySRL.js";var d={parse:a(async r=>{const t=await m("info",r);i.debug(t)},"parse")},g={version:n.version+""},v={parser:d,db:{getVersion:a(()=>g.version,"getVersion")},renderer:{draw:a((r,t,o)=>{i.debug(`rendering info diagram
|
2
|
-
`+r);const e=s(t);p(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw")}};export{v as diagram};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{s as t,b as a,a as e,S as o}from"./chunk-LXBSTHXV-BP4Soimz.js";import{_ as s}from"./mermaid-Bu7PGvSJ.js";import"./transform-B8bpuzxV.js";import"./chunk-WVR4S24B-BdZs7vKR.js";import"./chunk-NRVI72HA-Caq7CUfs.js";import"./index-CTYfpi2J.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:e,get db(){return new o(2)},renderer:a,styles:t,init:s(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
|