drizzle-cube 0.4.23 → 0.4.25
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/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +1 -1
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +1 -1
- package/dist/adapters/{handler-t7Qd1IYi.js → handler-BV2_dul8.js} +1 -1
- package/dist/adapters/{handler-C3hT7g2W.cjs → handler-LMRPeTNJ.cjs} +1 -1
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +1 -1
- package/dist/{server/index-CFEJ62GJ.js → adapters/index-C3PskWTr.js} +209 -193
- package/dist/{server/index-BIMhF5KZ.cjs → adapters/index-ht4NPca9.cjs} +11 -11
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +1 -1
- package/dist/adapters/{openai-mLo2MCat.cjs → openai-BvA6eLs8.cjs} +1 -1
- package/dist/adapters/{openai-CUSRuKTk.js → openai-mcE24du8.js} +1 -1
- package/dist/client/chunks/{analysis-builder-DVrv9Q4n.js → analysis-builder-CcV9kB-E.js} +1785 -1783
- package/dist/client/chunks/analysis-builder-CcV9kB-E.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-CrENEvEk.js → analysis-builder-shared-DVnM536Z.js} +18 -16
- package/dist/client/chunks/analysis-builder-shared-DVnM536Z.js.map +1 -0
- package/dist/client/chunks/{components-GzooQM5J.js → components-DAPlOpfn.js} +49 -49
- package/dist/client/chunks/{components-GzooQM5J.js.map → components-DAPlOpfn.js.map} +1 -1
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +4 -1
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +2 -0
- package/dist/client/components/AnalysisBuilder/types.d.ts +2 -0
- package/dist/client/components.js +3 -3
- package/dist/client/index.js +678 -672
- package/dist/client/index.js.map +1 -1
- package/dist/client/stores/analysisBuilderStore.d.ts +5 -1
- package/dist/client-bundle-stats.html +1 -1
- package/dist/{adapters/index-CFEJ62GJ.js → server/index-C3PskWTr.js} +209 -193
- package/dist/{adapters/index-BIMhF5KZ.cjs → server/index-ht4NPca9.cjs} +11 -11
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/{openai-mLo2MCat.cjs → openai-BvA6eLs8.cjs} +1 -1
- package/dist/server/{openai-CUSRuKTk.js → openai-mcE24du8.js} +1 -1
- package/package.json +1 -1
- package/dist/client/chunks/analysis-builder-DVrv9Q4n.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CrENEvEk.js.map +0 -1
package/dist/server/index.cjs
CHANGED
|
@@ -757,7 +757,7 @@ ${JSON.stringify(T,null,2)}`,isError:!0};const l=!!(T.funnel||T.flow||T.retentio
|
|
|
757
757
|
${O.errors.join(`
|
|
758
758
|
`)}`,isError:!0};S=u}const N=`portlet-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,I={id:N,title:E.title,query:E.query,chartType:A,chartConfig:S,displayConfig:E.displayConfig};return{result:`Portlet "${E.title}" added to notebook (id: ${N}, chart: ${A}). [Reminder: in your next response, start with a brief sentence about what you will do next BEFORE making any tool calls.]`,sideEffect:{type:"add_portlet",data:I}}}),s.set("add_markdown",async E=>{const a=`markdown-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,A=E.content||E.text||E.markdown||"",T={id:a,title:E.title,content:A};return{result:`Markdown block added to notebook (id: ${a}). [Reminder: in your next response, start with a brief sentence about what you will do next BEFORE making any tool calls.]`,sideEffect:{type:"add_markdown",data:T}}}),s.set("save_as_dashboard",async E=>{try{const a=E.portlets;if(!a||a.length===0)return{result:"Dashboard must contain at least one portlet.",isError:!0};const A=[];for(const N of a){if(N.chartType==="markdown")continue;const u=N.query;if(!u){A.push(`Portlet "${N.title}": missing query`);continue}let O;try{O=JSON.parse(u)}catch{A.push(`Portlet "${N.title}": invalid JSON query`);continue}const c=e.validateQuery(O);c.isValid||A.push(`Portlet "${N.title}": ${c.errors.join(", ")}`)}if(A.length>0)return{result:`Dashboard has invalid portlets — fix these errors and retry:
|
|
759
759
|
${A.join(`
|
|
760
|
-
`)}`,isError:!0};const T={portlets:a.map(N=>{const I=N.chartType,u=I==="markdown",O=u?"query":N.analysisType||"query",c=O==="funnel"?"funnel":O==="flow"?"flow":O==="retention"?"retention":"query",C=N.query||"{}";let p;try{p=JSON.parse(C)}catch{p={}}const f={version:1,analysisType:c,activeView:"chart",charts:{[c]:{chartType:I,chartConfig:N.chartConfig||{},displayConfig:N.displayConfig||{}}},query:u?{}:p};return{id:N.id,title:N.title,analysisConfig:f,dashboardFilterMapping:N.dashboardFilterMapping,w:N.w,h:N.h,x:N.x,y:N.y}}),filters:E.filters,colorPalette:E.colorPalette},R=E.title,l=T.portlets.length,S=T.filters?.length||0;return{result:`Dashboard "${R}" created with ${l} portlets and ${S} filters.`,sideEffect:{type:"dashboard_saved",data:{title:R,description:E.description,dashboardConfig:T}}}}catch(a){return{result:`Failed to save dashboard: ${a instanceof Error?a.message:"Unknown error"}`,isError:!0}}}),s}async function yT(i,e,t){switch(i){case"anthropic":{const{AnthropicProvider:s}=await Promise.resolve().then(()=>require("./anthropic-BTkjgFpT.cjs"));return new s(e)}case"openai":{const{OpenAIProvider:s}=await Promise.resolve().then(()=>require("./openai-
|
|
760
|
+
`)}`,isError:!0};const T={portlets:a.map(N=>{const I=N.chartType,u=I==="markdown",O=u?"query":N.analysisType||"query",c=O==="funnel"?"funnel":O==="flow"?"flow":O==="retention"?"retention":"query",C=N.query||"{}";let p;try{p=JSON.parse(C)}catch{p={}}const f={version:1,analysisType:c,activeView:"chart",charts:{[c]:{chartType:I,chartConfig:N.chartConfig||{},displayConfig:N.displayConfig||{}}},query:u?{}:p};return{id:N.id,title:N.title,analysisConfig:f,dashboardFilterMapping:N.dashboardFilterMapping,w:N.w,h:N.h,x:N.x,y:N.y}}),filters:E.filters,colorPalette:E.colorPalette},R=E.title,l=T.portlets.length,S=T.filters?.length||0;return{result:`Dashboard "${R}" created with ${l} portlets and ${S} filters.`,sideEffect:{type:"dashboard_saved",data:{title:R,description:E.description,dashboardConfig:T}}}}catch(a){return{result:`Failed to save dashboard: ${a instanceof Error?a.message:"Unknown error"}`,isError:!0}}}),s}async function yT(i,e,t){switch(i){case"anthropic":{const{AnthropicProvider:s}=await Promise.resolve().then(()=>require("./anthropic-BTkjgFpT.cjs"));return new s(e)}case"openai":{const{OpenAIProvider:s}=await Promise.resolve().then(()=>require("./openai-BvA6eLs8.cjs"));return new s(e,t)}case"google":{const{GoogleProvider:s}=await Promise.resolve().then(()=>require("./google-BAK9pnQf.cjs"));return new s(e)}default:throw new Error(`Unknown LLM provider: "${i}". Supported providers: anthropic, openai, google`)}}const gT={anthropic:"claude-sonnet-4-6",openai:"gpt-4.1-mini",google:"gemini-3-flash-preview"};async function*bT(i){const{message:e,history:t,semanticLayer:s,securityContext:n,agentConfig:r,apiKey:E}=i,a=i.sessionId||crypto.randomUUID(),A=r.observability,T=crypto.randomUUID(),R=Date.now(),l=i.providerOverride||r.provider||"anthropic",S=i.modelOverride||r.model||gT[l]||"claude-sonnet-4-6",N=i.baseURLOverride||r.baseURL,I=r.maxTurns||25,u=r.maxTokens||4096;let O;try{O=await yT(l,E,{baseURL:N})}catch(P){console.error(`[agent] Failed to create ${l} provider:`,P),yield{type:"error",data:{message:P instanceof Error?P.message:"Failed to initialize LLM provider"}};return}const c=js(),C=Zs({semanticLayer:s,securityContext:n}),p=s.getMetadata();let f=Qs(p);i.systemContext&&(f+=`
|
|
761
761
|
|
|
762
762
|
## User Context
|
|
763
763
|
|
package/dist/server/index.js
CHANGED
|
@@ -33182,7 +33182,7 @@ async function WT(i, e, t) {
|
|
|
33182
33182
|
return new s(e);
|
|
33183
33183
|
}
|
|
33184
33184
|
case "openai": {
|
|
33185
|
-
const { OpenAIProvider: s } = await import("./openai-
|
|
33185
|
+
const { OpenAIProvider: s } = await import("./openai-mcE24du8.js");
|
|
33186
33186
|
return new s(e, t);
|
|
33187
33187
|
}
|
|
33188
33188
|
case "google": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class c{client;apiKey;baseURL;initialized=!1;constructor(e,t){this.apiKey=e,this.baseURL=t?.baseURL}async ensureClient(){if(this.initialized)return;let e;try{const s=await Promise.resolve().then(()=>require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class c{client;apiKey;baseURL;initialized=!1;constructor(e,t){this.apiKey=e,this.baseURL=t?.baseURL}async ensureClient(){if(this.initialized)return;let e;try{const s=await Promise.resolve().then(()=>require("./index-ht4NPca9.cjs"));e=s.default||s.OpenAI||s}catch{throw new Error("openai is required for the OpenAI provider. Install it with: npm install openai")}const t={apiKey:this.apiKey};this.baseURL&&(t.baseURL=this.baseURL),this.client=new e(t),this.initialized=!0}async createStream(e){await this.ensureClient();const{messages:t}=this.formatMessages(e.messages,e.system);return this.client.chat.completions.create({model:e.model,max_completion_tokens:e.maxTokens,tools:this.formatTools(e.tools),messages:t,stream:!0,stream_options:{include_usage:!0}})}async*parseStreamEvents(e){const t=new Map;for await(const s of e){const n=s;n.usage&&(yield{type:"message_meta",inputTokens:n.usage.prompt_tokens,outputTokens:n.usage.completion_tokens,stopReason:""});const l=n.choices?.[0];if(!l)continue;const r=l.delta;if(r){if(r.content&&(yield{type:"text_delta",text:r.content}),r.tool_calls)for(const i of r.tool_calls){const a=i.index??0;if(i.id&&(t.set(a,{id:i.id,name:i.function?.name||"",arguments:""}),yield{type:"tool_use_start",id:i.id,name:i.function?.name||""}),i.function?.name&&t.has(a)){const o=t.get(a);o.name||(o.name=i.function.name)}if(i.function?.arguments){const o=t.get(a);o&&(o.arguments+=i.function.arguments,yield{type:"tool_input_delta",json:i.function.arguments})}}if(l.finish_reason){for(const[i,a]of t){let o={};try{a.arguments&&(o=JSON.parse(a.arguments))}catch{}yield{type:"tool_use_end",id:a.id,input:o},t.delete(i)}yield{type:"message_meta",stopReason:l.finish_reason}}}}}formatTools(e){return e.map(t=>({type:"function",function:{name:t.name,description:t.description,parameters:t.parameters}}))}formatMessages(e,t){const s=[{role:"system",content:t}];for(const n of e)if(n.role==="user")s.push({role:"user",content:typeof n.content=="string"?n.content:JSON.stringify(n.content)});else if(n.role==="assistant")if(typeof n.content=="string")s.push({role:"assistant",content:n.content});else{const l=n.content,r=l.filter(o=>o.type==="text").map(o=>o.text).join(""),i=l.filter(o=>o.type==="tool_use").map(o=>({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify(o.input||{})}})),a={role:"assistant"};r&&(a.content=r),i.length>0&&(a.tool_calls=i),s.push(a)}else n.role==="tool"?s.push(n):n.role==="tool_result"&&s.push({role:"user",content:typeof n.content=="string"?n.content:JSON.stringify(n.content)});return{messages:s}}formatToolResults(e){return e.map(t=>({role:"tool",tool_call_id:t.toolUseId,content:t.content}))}shouldContinue(e){return e==="tool_calls"}formatError(e){if(!e||!(e instanceof Error))return"Something went wrong. Please try again.";const t=e.message||"",s=e;return s.status===429?"Too many requests. Please wait a moment and try again.":s.status===401?"Authentication failed. Please check your API key configuration.":s.status===503||s.status===502?"The AI service is temporarily unavailable. Please try again in a moment.":s.status===400?"There was a problem with the request. Please try again.":t.startsWith("{")||t.startsWith("Error: {")?"The AI service encountered an error. Please try again.":t}}exports.OpenAIProvider=c;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-cube",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.25",
|
|
4
4
|
"description": "Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.",
|
|
5
5
|
"main": "./dist/server/index.js",
|
|
6
6
|
"types": "./dist/server/index.d.ts",
|