@marimo-team/frontend 0.23.17-dev43 → 0.23.17-dev46

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 (51) hide show
  1. package/dist/assets/{JsonOutput-CWfu9qbN.js → JsonOutput-W3f6H6VQ.js} +1 -1
  2. package/dist/assets/{MarimoErrorOutput-B9QSRg6T.js → MarimoErrorOutput-COZo8cfk.js} +3 -3
  3. package/dist/assets/{add-cell-with-ai-GZi9Icll.js → add-cell-with-ai-CuLILhtV.js} +1 -1
  4. package/dist/assets/{add-connection-dialog-D2WiF1f8.js → add-connection-dialog-Dld_PDdZ.js} +1 -1
  5. package/dist/assets/{agent-panel-BWIkm6ln.js → agent-panel-3Ta5EPgw.js} +1 -1
  6. package/dist/assets/{ai-model-dropdown-BmcXWjub.js → ai-model-dropdown-CIqhiHxf.js} +1 -1
  7. package/dist/assets/{app-config-button-QHaORuxs.js → app-config-button-EyzXs1Nt.js} +1 -1
  8. package/dist/assets/{cell-editor-Cwor7oUx.js → cell-editor-C5qD14SG.js} +1 -1
  9. package/dist/assets/{chat-display-CH-dFAC3.js → chat-display-CBpsXLHT.js} +1 -1
  10. package/dist/assets/chat-panel-VAvLxFDw.js +4 -0
  11. package/dist/assets/{chat-ui-DDkwFM3p.js → chat-ui-BcI4PAQ1.js} +1 -1
  12. package/dist/assets/{column-preview-Dw1ASLnm.js → column-preview-Dxxs9Brz.js} +1 -1
  13. package/dist/assets/{command-palette--Mo9OaH2.js → command-palette-B1EO8oVR.js} +1 -1
  14. package/dist/assets/{components-BQ3c1B_F.js → components-RV25kGIW.js} +1 -1
  15. package/dist/assets/config-BVfo0E1-.js +1 -0
  16. package/dist/assets/{datasource-DfQvKiJ1.js → datasource-D0eBPOXe.js} +1 -1
  17. package/dist/assets/{dependency-graph-panel-gbgUGtYS.js → dependency-graph-panel-BKWUzXHX.js} +1 -1
  18. package/dist/assets/{edit-page-DhZPSJ6P.js → edit-page-GtsW1Yeh.js} +4 -4
  19. package/dist/assets/{error-panel-Upmm4kG5.js → error-panel-v0YdlA0h.js} +1 -1
  20. package/dist/assets/{file-explorer-panel-BulU96v_.js → file-explorer-panel-DSZY0Q7h.js} +1 -1
  21. package/dist/assets/{form-D-Bo8F9Q.js → form-BGoLLcgk.js} +1 -1
  22. package/dist/assets/{home-page-Dvm2dFdU.js → home-page-DLeE6pH_.js} +1 -1
  23. package/dist/assets/{index-BPwg3EAk.js → index-C_pCjmat.js} +3 -3
  24. package/dist/assets/index-WoaGtlKd.css +2 -0
  25. package/dist/assets/{layout-D7Yzn4XY.js → layout-QkEddeXT.js} +3 -3
  26. package/dist/assets/{packages-panel-IN-yS3e2.js → packages-panel-CiKYP9Ij.js} +1 -1
  27. package/dist/assets/{panels-C5PIEySE.js → panels-Swk0l08v.js} +1 -1
  28. package/dist/assets/{reveal-component-BPaqYFXU.js → reveal-component-De_cjq3p.js} +1 -1
  29. package/dist/assets/{run-page-kWVbQ6KV.js → run-page-DmXT_-MQ.js} +1 -1
  30. package/dist/assets/{scratchpad-panel-l1iGto9s.js → scratchpad-panel-BtGHIRdJ.js} +1 -1
  31. package/dist/assets/{session-panel-CBmLYzFL.js → session-panel-kBLydN0h.js} +1 -1
  32. package/dist/assets/{skeleton-DhhF_mJP.js → skeleton-CJymG2v3.js} +1 -1
  33. package/dist/assets/state-DDimGh2o.js +1 -0
  34. package/dist/assets/{useCellActionButton-CrFbi8en.js → useCellActionButton-n2-2xb-5.js} +1 -1
  35. package/dist/assets/{useDependencyPanelTab-OeFV2bye.js → useDependencyPanelTab-DQZmbkd-.js} +1 -1
  36. package/dist/assets/{useNotebookActions-CylmZilh.js → useNotebookActions-BUQta3nX.js} +1 -1
  37. package/dist/index.html +9 -9
  38. package/package.json +1 -1
  39. package/src/components/ai/ai-model-dropdown.tsx +2 -2
  40. package/src/components/chat/__tests__/capabilities-popover.test.tsx +38 -0
  41. package/src/components/chat/capabilities-popover.tsx +68 -0
  42. package/src/components/chat/chat-panel.tsx +17 -12
  43. package/src/components/editor/chrome/wrapper/useOpenAiAssistant.ts +2 -2
  44. package/src/core/ai/__tests__/config.test.tsx +96 -0
  45. package/src/core/ai/config.ts +16 -22
  46. package/src/core/ai/state.ts +10 -0
  47. package/src/core/network/types.ts +1 -0
  48. package/dist/assets/chat-panel-DLgorYjE.js +0 -4
  49. package/dist/assets/config-Cbkt6Rb1.js +0 -1
  50. package/dist/assets/index-Dttsymhw.css +0 -2
  51. package/dist/assets/state-COqqdiUM.js +0 -1
@@ -1,3 +1,3 @@
1
- var w=Object.defineProperty;var O=(t,e,n)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var c=(t,e,n)=>O(t,typeof e!="symbol"?e+"":e,n);import{Jr as L,Pt as M,Xr as d,Zr as P,ba as $,gr as U,hi as u,n as R,ta as D,wr as S}from"./cells-DxL32Atg.js";import{g as _}from"./useEventListener-B_wSLgFR.js";import{n as f}from"./config-Cbkt6Rb1.js";import{t as k}from"./createLucideIcon-w-Qo9n0R.js";var z=k("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),h,m;function F(t,e,n,a,i){var r={};return Object.keys(a).forEach(function(s){r[s]=a[s]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),r=n.slice().reverse().reduce(function(s,o){return o(t,e,s)||s},r),i&&r.initializer!==void 0&&(r.value=r.initializer?r.initializer.call(i):void 0,r.initializer=void 0),r.initializer===void 0?(Object.defineProperty(t,e,r),null):r}function g(t){let e=t.indexOf("://");if(e!==-1)return t.slice(0,e)}var y=class{async getAttachments(t){return[]}asURI(t){return`${this.contextType}://${t}`}parseContextIds(t){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...t.matchAll(e)],a=r=>r.slice(1),i=n.filter(([,r])=>r===this.contextType).map(([r])=>a(r));return[...new Set(i)]}createBasicCompletion(t,e){return{label:`${this.mentionPrefix}${t.uri.split("://")[1]}`,displayLabel:t.name,detail:(e==null?void 0:e.detail)||t.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${t.uri}`,section:(e==null?void 0:e.section)||this.title}}};let j=(h=D(),m=class{constructor(){c(this,"providers",new Set)}register(t){return this.providers.add(t),this}getProviders(){return this.providers}getProvider(t){return[...this.providers].find(e=>e.contextType===t)}getAllItems(){return[...this.providers].flatMap(t=>t.getItems())}parseAllContextIds(t){return[...this.providers].flatMap(e=>e.parseContextIds(t))}findProviderForUri(t){let e=g(t);if(e)return[...this.providers].find(n=>n.contextType===e&&n.getItems().some(a=>a.uri===t))}resolveItems(t){if(t.length===0)return[];let e=new f;for(let i of t){let r=g(i);r&&e.add(r,i)}let n=new Map;for(let[i,r]of e.entries()){let s=[...this.providers].filter(o=>o.contextType===i);for(let o of s){let C=new Map(o.getItems().map(l=>[l.uri,l]));for(let l of r){let p=C.get(l);p&&n.set(l,p)}}}let a=[];for(let i of t){let r=n.get(i);r&&a.push(r)}return a}getContextInfo(t){return this.resolveItems(t)}formatContextForAI(t){let e=this.resolveItems(t);return e.length===0?"":e.map(n=>{var a;return((a=this.findProviderForUri(n.uri))==null?void 0:a.formatContext(n))||""}).join(`
1
+ var w=Object.defineProperty;var O=(t,e,n)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var c=(t,e,n)=>O(t,typeof e!="symbol"?e+"":e,n);import{Jr as L,Pt as M,Xr as d,Zr as P,ba as $,gr as U,hi as u,n as R,ta as D,wr as S}from"./cells-DxL32Atg.js";import{g as _}from"./useEventListener-B_wSLgFR.js";import{n as f}from"./config-BVfo0E1-.js";import{t as k}from"./createLucideIcon-w-Qo9n0R.js";var z=k("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),h,m;function F(t,e,n,a,i){var r={};return Object.keys(a).forEach(function(s){r[s]=a[s]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),r=n.slice().reverse().reduce(function(s,o){return o(t,e,s)||s},r),i&&r.initializer!==void 0&&(r.value=r.initializer?r.initializer.call(i):void 0,r.initializer=void 0),r.initializer===void 0?(Object.defineProperty(t,e,r),null):r}function g(t){let e=t.indexOf("://");if(e!==-1)return t.slice(0,e)}var y=class{async getAttachments(t){return[]}asURI(t){return`${this.contextType}://${t}`}parseContextIds(t){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...t.matchAll(e)],a=r=>r.slice(1),i=n.filter(([,r])=>r===this.contextType).map(([r])=>a(r));return[...new Set(i)]}createBasicCompletion(t,e){return{label:`${this.mentionPrefix}${t.uri.split("://")[1]}`,displayLabel:t.name,detail:(e==null?void 0:e.detail)||t.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${t.uri}`,section:(e==null?void 0:e.section)||this.title}}};let j=(h=D(),m=class{constructor(){c(this,"providers",new Set)}register(t){return this.providers.add(t),this}getProviders(){return this.providers}getProvider(t){return[...this.providers].find(e=>e.contextType===t)}getAllItems(){return[...this.providers].flatMap(t=>t.getItems())}parseAllContextIds(t){return[...this.providers].flatMap(e=>e.parseContextIds(t))}findProviderForUri(t){let e=g(t);if(e)return[...this.providers].find(n=>n.contextType===e&&n.getItems().some(a=>a.uri===t))}resolveItems(t){if(t.length===0)return[];let e=new f;for(let i of t){let r=g(i);r&&e.add(r,i)}let n=new Map;for(let[i,r]of e.entries()){let s=[...this.providers].filter(o=>o.contextType===i);for(let o of s){let C=new Map(o.getItems().map(l=>[l.uri,l]));for(let l of r){let p=C.get(l);p&&n.set(l,p)}}}let a=[];for(let i of t){let r=n.get(i);r&&a.push(r)}return a}getContextInfo(t){return this.resolveItems(t)}formatContextForAI(t){let e=this.resolveItems(t);return e.length===0?"":e.map(n=>{var a;return((a=this.findProviderForUri(n.uri))==null?void 0:a.formatContext(n))||""}).join(`
2
2
 
3
3
  `)}async getAttachmentsForContext(t){let e=this.resolveItems(t);if(e.length===0)return[];let n=new f;for(let i of e){let r=this.findProviderForUri(i.uri);r&&n.add(r,i)}let a=[...n.entries()].map(async([i,r])=>{try{return await i.getAttachments(r)}catch(s){return _.error("Error getting attachments from provider",s),[]}});return(await Promise.all(a)).flat()}},F(m.prototype,"getAllItems",[h],Object.getOwnPropertyDescriptor(m.prototype,"getAllItems"),m.prototype),m);function v(t){return t.replaceAll("<","&lt;").replaceAll(">","&gt;")}function b(t){let{type:e,data:n,details:a}=t,i=`<${e}`;for(let[r,s]of Object.entries(n))if(s!==void 0){let o=v(typeof s=="object"&&s?JSON.stringify(s):String(s));i+=` ${r}="${o}"`}return i+=">",a&&(i+=v(a)),i+=`</${e}>`,i}const x={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},I={ERROR:{name:"Error",rank:1},TABLE:{name:"Table",rank:2},DATA_SOURCES:{name:"Data Sources",rank:3},VARIABLE:{name:"Variable",rank:4},CELL_OUTPUT:{name:"Cell Output",rank:5},FILE:{name:"File",rank:6}};var B=$(),T="datasource",A=class extends y{constructor(e,n){super();c(this,"title","Datasource");c(this,"mentionPrefix","@");c(this,"contextType",T);this.connectionsMap=e,this.dataframes=[...n.values()].filter(a=>P(a)==="dataframe")}getItems(){return[...this.connectionsMap.values()].map(e=>{var i;let n="Database schema.",a={connection:e};return u.has(e.name)&&(a.tables=this.dataframes,n="Database schema and the dataframes that can be queried"),e.databases.length===0&&(((i=a.tables)==null?void 0:i.length)??0)===0?null:{uri:this.asURI(e.name),name:e.name,description:n,type:this.contextType,data:a}}).filter(Boolean)}formatContext(e){let n=e.data,{name:a,display_name:i,source:r,...s}=n.connection,o=s;return u.has(a)||(o={...s,engine_name:a}),b({type:this.contextType,data:{connection:o,tables:n.tables}})}formatCompletion(e){let n=e.data,a=n.connection,i=n.tables,r=a.name;return u.has(a.name)&&(r="In-Memory"),{label:`@${r}`,displayLabel:r,detail:S(a.dialect),boost:x.MEDIUM,type:this.contextType,section:I.DATA_SOURCES,info:()=>{let s=document.createElement("div");return s.classList.add("mo-cm-tooltip","docs-documentation"),(0,B.createRoot)(s).render(U(a,i)),s}}}};function E(t,e){var o;let n=(o=e.get(R(t)))==null?void 0:o.code;if(!n||n.trim()==="")return null;let[a,i,r]=M.sql.transformIn(n),s=e.get(d).connectionsMap.get(r.engine);return s?`@${T}://${s.name}`:null}function q(t,e){let n=E(t,e);if(!n)return null;let a=e.get(d).connectionsMap,i=new A(a,e.get(L)),r=n.slice(1),s=i.getItems().find(o=>o.uri===r);return s?i.formatContext(s):null}export{I as a,j as c,x as i,z as l,q as n,b as o,E as r,y as s,A as t};