@malloy-publisher/sdk 0.0.176 → 0.0.178

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.
@@ -219,30 +219,6 @@ const O = function(c, ...a) {
219
219
  options: i
220
220
  };
221
221
  },
222
- /**
223
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
224
- * @summary Get table source information
225
- * @param {string} projectName Name of the project
226
- * @param {string} connectionName Name of the connection
227
- * @param {string} [tableKey] Table key
228
- * @param {string} [tablePath] Table path
229
- * @param {*} [options] Override http request option.
230
- * @deprecated
231
- * @throws {RequiredError}
232
- */
233
- getTablesource: async (a, e, r, t, o = {}) => {
234
- d("getTablesource", "projectName", a), d("getTablesource", "connectionName", e);
235
- const s = "/projects/{projectName}/connections/{connectionName}/tableSource".replace("{projectName}", encodeURIComponent(String(a))).replace("{connectionName}", encodeURIComponent(String(e))), n = new URL(s, V);
236
- let l;
237
- c && (l = c.baseOptions);
238
- const i = { method: "GET", ...l, ...o }, p = {}, h = {};
239
- r !== void 0 && (h.tableKey = r), t !== void 0 && (h.tablePath = t), O(n, h);
240
- let S = l && l.headers ? l.headers : {};
241
- return i.headers = { ...p, ...S, ...o.headers }, {
242
- url: b(n),
243
- options: i
244
- };
245
- },
246
222
  /**
247
223
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
248
224
  * @summary Create temporary table (deprecated)
@@ -313,7 +289,7 @@ const O = function(c, ...a) {
313
289
  * @param {string} projectName Name of the project
314
290
  * @param {string} connectionName Name of the connection
315
291
  * @param {string} schemaName Name of the schema
316
- * @param {boolean} [fetchTableSchema] When `false`, returns tables with `resource` set but does not load per-table column metadata (no Malloy `fetchTableSchema`). Omitted or `null` is treated as `true`. Use `false` for fast explorer listing; call get-table with `fetchTableSchema=true` for details.
292
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
317
293
  * @param {*} [options] Override http request option.
318
294
  * @throws {RequiredError}
319
295
  */
@@ -323,7 +299,7 @@ const O = function(c, ...a) {
323
299
  let l;
324
300
  c && (l = c.baseOptions);
325
301
  const i = { method: "GET", ...l, ...o }, p = {}, h = {};
326
- t !== void 0 && (h.fetchTableSchema = t), O(n, h);
302
+ t && (h.tableNames = t), O(n, h);
327
303
  let S = l && l.headers ? l.headers : {};
328
304
  return i.headers = { ...p, ...S, ...o.headers }, {
329
305
  url: b(n),
@@ -503,21 +479,6 @@ const O = function(c, ...a) {
503
479
  const n = await a.getTable(e, r, t, o, s), l = c?.serverIndex ?? 0, i = P["ConnectionsApi.getTable"]?.[l]?.url;
504
480
  return (p, h) => g(n, u, m, c)(p, i || h);
505
481
  },
506
- /**
507
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
508
- * @summary Get table source information
509
- * @param {string} projectName Name of the project
510
- * @param {string} connectionName Name of the connection
511
- * @param {string} [tableKey] Table key
512
- * @param {string} [tablePath] Table path
513
- * @param {*} [options] Override http request option.
514
- * @deprecated
515
- * @throws {RequiredError}
516
- */
517
- async getTablesource(e, r, t, o, s) {
518
- const n = await a.getTablesource(e, r, t, o, s), l = c?.serverIndex ?? 0, i = P["ConnectionsApi.getTablesource"]?.[l]?.url;
519
- return (p, h) => g(n, u, m, c)(p, i || h);
520
- },
521
482
  /**
522
483
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
523
484
  * @summary Create temporary table (deprecated)
@@ -561,7 +522,7 @@ const O = function(c, ...a) {
561
522
  * @param {string} projectName Name of the project
562
523
  * @param {string} connectionName Name of the connection
563
524
  * @param {string} schemaName Name of the schema
564
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
525
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
565
526
  * @param {*} [options] Override http request option.
566
527
  * @throws {RequiredError}
567
528
  */
@@ -700,20 +661,6 @@ const O = function(c, ...a) {
700
661
  getTable(t, o, s, n, l) {
701
662
  return r.getTable(t, o, s, n, l).then((i) => i(e, a));
702
663
  },
703
- /**
704
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
705
- * @summary Get table source information
706
- * @param {string} projectName Name of the project
707
- * @param {string} connectionName Name of the connection
708
- * @param {string} [tableKey] Table key
709
- * @param {string} [tablePath] Table path
710
- * @param {*} [options] Override http request option.
711
- * @deprecated
712
- * @throws {RequiredError}
713
- */
714
- getTablesource(t, o, s, n, l) {
715
- return r.getTablesource(t, o, s, n, l).then((i) => i(e, a));
716
- },
717
664
  /**
718
665
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
719
666
  * @summary Create temporary table (deprecated)
@@ -754,7 +701,7 @@ const O = function(c, ...a) {
754
701
  * @param {string} projectName Name of the project
755
702
  * @param {string} connectionName Name of the connection
756
703
  * @param {string} schemaName Name of the schema
757
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
704
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
758
705
  * @param {*} [options] Override http request option.
759
706
  * @throws {RequiredError}
760
707
  */
@@ -893,21 +840,6 @@ class z extends j {
893
840
  getTable(a, e, r, t, o) {
894
841
  return y(this.configuration).getTable(a, e, r, t, o).then((s) => s(this.axios, this.basePath));
895
842
  }
896
- /**
897
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
898
- * @summary Get table source information
899
- * @param {string} projectName Name of the project
900
- * @param {string} connectionName Name of the connection
901
- * @param {string} [tableKey] Table key
902
- * @param {string} [tablePath] Table path
903
- * @param {*} [options] Override http request option.
904
- * @deprecated
905
- * @throws {RequiredError}
906
- * @memberof ConnectionsApi
907
- */
908
- getTablesource(a, e, r, t, o) {
909
- return y(this.configuration).getTablesource(a, e, r, t, o).then((s) => s(this.axios, this.basePath));
910
- }
911
843
  /**
912
844
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
913
845
  * @summary Create temporary table (deprecated)
@@ -951,7 +883,7 @@ class z extends j {
951
883
  * @param {string} projectName Name of the project
952
884
  * @param {string} connectionName Name of the connection
953
885
  * @param {string} schemaName Name of the schema
954
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
886
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
955
887
  * @param {*} [options] Override http request option.
956
888
  * @throws {RequiredError}
957
889
  * @memberof ConnectionsApi
@@ -0,0 +1 @@
1
+ "use strict";const F=require("react/jsx-runtime"),q=require("@tanstack/react-query"),u=require("axios"),k=require("react"),m="http://localhost/api/v0".replace(/\/+$/,"");class A{constructor(a,e=m,r=u){this.basePath=e,this.axios=r,a&&(this.configuration=a,this.basePath=a.basePath??e)}configuration}class se extends Error{constructor(a,e){super(e),this.field=a,this.name="RequiredError"}}const P={},V="https://example.com",d=function(c,a,e){if(e==null)throw new se(a,`Required parameter ${a} was null or undefined when calling ${c}.`)};function w(c,a,e=""){a!=null&&(typeof a=="object"?Array.isArray(a)?a.forEach(r=>w(c,r,e)):Object.keys(a).forEach(r=>w(c,a[r],`${e}${e!==""?".":""}${r}`)):c.has(e)?c.append(e,a):c.set(e,a))}const b=function(c,...a){const e=new URLSearchParams(c.search);w(e,a),c.search=e.toString()},y=function(c,a,e){const r=typeof c!="string";return(r&&e&&e.isJsonMime?e.isJsonMime(a.headers["Content-Type"]):r)?JSON.stringify(c!==void 0?c:{}):c||""},O=function(c){return c.pathname+c.search+c.hash},g=function(c,a,e,r){return(t=a,o=e)=>{const s={...c.options,url:(t.defaults.baseURL?"":r?.basePath??o)+c.url};return t.request(s)}},ne={Bigquery:"bigquery",Snowflake:"snowflake",Postgres:"postgres",Gcs:"gcs",S3:"s3",Azure:"azure"},ce={ServicePrincipal:"service_principal",SasToken:"sas_token"},le={Error:"error",Warn:"warn",Debug:"debug"},ie={Success:"success",Error:"error"},pe={Postgres:"postgres",Bigquery:"bigquery",Snowflake:"snowflake",Trino:"trino",Mysql:"mysql",Duckdb:"duckdb",Motherduck:"motherduck",Ducklake:"ducklake"},de={Ok:"ok",Failed:"failed"},he={Embedded:"embedded",Materialized:"materialized"},ue={Debug:"debug",Info:"info",Warn:"warn",Error:"error"},me={Markdown:"markdown",Code:"code"},Pe={Markdown:"markdown",Code:"code"},Ve={Initializing:"initializing",Serving:"serving",Draining:"draining"},B=function(c){return{createConnection:async(a,e,r,t={})=>{d("createConnection","projectName",a),d("createConnection","connectionName",e),d("createConnection","connection",r);const o="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},deleteConnection:async(a,e,r={})=>{d("deleteConnection","projectName",a),d("deleteConnection","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"DELETE",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getConnection:async(a,e,r={})=>{d("getConnection","projectName",a),d("getConnection","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getQuerydata:async(a,e,r,t,o={})=>{d("getQuerydata","projectName",a),d("getQuerydata","connectionName",e);const s="/projects/{projectName}/connections/{connectionName}/queryData".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};r!==void 0&&(h.sqlStatement=r),t!==void 0&&(h.options=t),b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},getSqlsource:async(a,e,r,t={})=>{d("getSqlsource","projectName",a),d("getSqlsource","connectionName",e);const o="/projects/{projectName}/connections/{connectionName}/sqlSource".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.sqlStatement=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}},getTable:async(a,e,r,t,o={})=>{d("getTable","projectName",a),d("getTable","connectionName",e),d("getTable","schemaName",r),d("getTable","tablePath",t);const s="/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables/{tablePath}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))).replace("{schemaName}",encodeURIComponent(String(r))).replace("{tablePath}",encodeURIComponent(String(t))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={};b(n,{});let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},getTemporarytable:async(a,e,r,t={})=>{d("getTemporarytable","projectName",a),d("getTemporarytable","connectionName",e);const o="/projects/{projectName}/connections/{connectionName}/temporaryTable".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.sqlStatement=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}},listConnections:async(a,e={})=>{d("listConnections","projectName",a);const r="/projects/{projectName}/connections".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"GET",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},listSchemas:async(a,e,r={})=>{d("listSchemas","projectName",a),d("listSchemas","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}/schemas".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},listTables:async(a,e,r,t,o={})=>{d("listTables","projectName",a),d("listTables","connectionName",e),d("listTables","schemaName",r);const s="/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))).replace("{schemaName}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t&&(h.tableNames=t),b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},postQuerydata:async(a,e,r,t,o={})=>{d("postQuerydata","projectName",a),d("postQuerydata","connectionName",e),d("postQuerydata","postSqlsourceRequest",r);const s="/projects/{projectName}/connections/{connectionName}/sqlQuery".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};t!==void 0&&(h.options=t),p["Content-Type"]="application/json",b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},i.data=y(r,i,c),{url:O(n),options:i}},postSqlsource:async(a,e,r,t={})=>{d("postSqlsource","projectName",a),d("postSqlsource","connectionName",e),d("postSqlsource","postSqlsourceRequest",r);const o="/projects/{projectName}/connections/{connectionName}/sqlSource".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},postTemporarytable:async(a,e,r,t={})=>{d("postTemporarytable","projectName",a),d("postTemporarytable","connectionName",e),d("postTemporarytable","postSqlsourceRequest",r);const o="/projects/{projectName}/connections/{connectionName}/sqlTemporaryTable".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},updateConnection:async(a,e,r,t={})=>{d("updateConnection","projectName",a),d("updateConnection","connectionName",e),d("updateConnection","updateConnectionRequest",r);const o="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"PATCH",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}}}},S=function(c){const a=B(c);return{async createConnection(e,r,t,o){const s=await a.createConnection(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.createConnection"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async deleteConnection(e,r,t){const o=await a.deleteConnection(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.deleteConnection"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getConnection(e,r,t){const o=await a.getConnection(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.getConnection"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getQuerydata(e,r,t,o,s){const n=await a.getQuerydata(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.getQuerydata"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getSqlsource(e,r,t,o){const s=await a.getSqlsource(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.getSqlsource"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async getTable(e,r,t,o,s){const n=await a.getTable(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.getTable"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getTemporarytable(e,r,t,o){const s=await a.getTemporarytable(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.getTemporarytable"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async listConnections(e,r){const t=await a.listConnections(e,r),o=c?.serverIndex??0,s=P["ConnectionsApi.listConnections"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async listSchemas(e,r,t){const o=await a.listSchemas(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.listSchemas"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async listTables(e,r,t,o,s){const n=await a.listTables(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.listTables"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async postQuerydata(e,r,t,o,s){const n=await a.postQuerydata(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.postQuerydata"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async postSqlsource(e,r,t,o){const s=await a.postSqlsource(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.postSqlsource"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async postTemporarytable(e,r,t,o){const s=await a.postTemporarytable(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.postTemporarytable"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async updateConnection(e,r,t,o){const s=await a.updateConnection(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.updateConnection"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},be=function(c,a,e){const r=S(c);return{createConnection(t,o,s,n){return r.createConnection(t,o,s,n).then(l=>l(e,a))},deleteConnection(t,o,s){return r.deleteConnection(t,o,s).then(n=>n(e,a))},getConnection(t,o,s){return r.getConnection(t,o,s).then(n=>n(e,a))},getQuerydata(t,o,s,n,l){return r.getQuerydata(t,o,s,n,l).then(i=>i(e,a))},getSqlsource(t,o,s,n){return r.getSqlsource(t,o,s,n).then(l=>l(e,a))},getTable(t,o,s,n,l){return r.getTable(t,o,s,n,l).then(i=>i(e,a))},getTemporarytable(t,o,s,n){return r.getTemporarytable(t,o,s,n).then(l=>l(e,a))},listConnections(t,o){return r.listConnections(t,o).then(s=>s(e,a))},listSchemas(t,o,s){return r.listSchemas(t,o,s).then(n=>n(e,a))},listTables(t,o,s,n,l){return r.listTables(t,o,s,n,l).then(i=>i(e,a))},postQuerydata(t,o,s,n,l){return r.postQuerydata(t,o,s,n,l).then(i=>i(e,a))},postSqlsource(t,o,s,n){return r.postSqlsource(t,o,s,n).then(l=>l(e,a))},postTemporarytable(t,o,s,n){return r.postTemporarytable(t,o,s,n).then(l=>l(e,a))},updateConnection(t,o,s,n){return r.updateConnection(t,o,s,n).then(l=>l(e,a))}}};class $ extends A{createConnection(a,e,r,t){return S(this.configuration).createConnection(a,e,r,t).then(o=>o(this.axios,this.basePath))}deleteConnection(a,e,r){return S(this.configuration).deleteConnection(a,e,r).then(t=>t(this.axios,this.basePath))}getConnection(a,e,r){return S(this.configuration).getConnection(a,e,r).then(t=>t(this.axios,this.basePath))}getQuerydata(a,e,r,t,o){return S(this.configuration).getQuerydata(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getSqlsource(a,e,r,t){return S(this.configuration).getSqlsource(a,e,r,t).then(o=>o(this.axios,this.basePath))}getTable(a,e,r,t,o){return S(this.configuration).getTable(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getTemporarytable(a,e,r,t){return S(this.configuration).getTemporarytable(a,e,r,t).then(o=>o(this.axios,this.basePath))}listConnections(a,e){return S(this.configuration).listConnections(a,e).then(r=>r(this.axios,this.basePath))}listSchemas(a,e,r){return S(this.configuration).listSchemas(a,e,r).then(t=>t(this.axios,this.basePath))}listTables(a,e,r,t,o){return S(this.configuration).listTables(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}postQuerydata(a,e,r,t,o){return S(this.configuration).postQuerydata(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}postSqlsource(a,e,r,t){return S(this.configuration).postSqlsource(a,e,r,t).then(o=>o(this.axios,this.basePath))}postTemporarytable(a,e,r,t){return S(this.configuration).postTemporarytable(a,e,r,t).then(o=>o(this.axios,this.basePath))}updateConnection(a,e,r,t){return S(this.configuration).updateConnection(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const E=function(c){return{testConnectionConfiguration:async(a,e={})=>{d("testConnectionConfiguration","connection",a);const r="/connections/test",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}}}},T=function(c){const a=E(c);return{async testConnectionConfiguration(e,r){const t=await a.testConnectionConfiguration(e,r),o=c?.serverIndex??0,s=P["ConnectionsTestApi.testConnectionConfiguration"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)}}},Oe=function(c,a,e){const r=T(c);return{testConnectionConfiguration(t,o){return r.testConnectionConfiguration(t,o).then(s=>s(e,a))}}};class ge extends A{testConnectionConfiguration(a,e){return T(this.configuration).testConnectionConfiguration(a,e).then(r=>r(this.axios,this.basePath))}}const L=function(c){return{listDatabases:async(a,e,r,t={})=>{d("listDatabases","projectName",a),d("listDatabases","packageName",e);const o="/projects/{projectName}/packages/{packageName}/databases".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},Q=function(c){const a=L(c);return{async listDatabases(e,r,t,o){const s=await a.listDatabases(e,r,t,o),n=c?.serverIndex??0,l=P["DatabasesApi.listDatabases"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Ce=function(c,a,e){const r=Q(c);return{listDatabases(t,o,s,n){return r.listDatabases(t,o,s,n).then(l=>l(e,a))}}};class H extends A{listDatabases(a,e,r,t){return Q(this.configuration).listDatabases(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const W=function(c){return{compileModelSource:async(a,e,r,t,o={})=>{d("compileModelSource","projectName",a),d("compileModelSource","packageName",e),d("compileModelSource","path",r),d("compileModelSource","compileRequest",t);const s="/projects/{projectName}/packages/{packageName}/models/{path}/compile".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};p["Content-Type"]="application/json",b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},i.data=y(t,i,c),{url:O(n),options:i}},executeQueryModel:async(a,e,r,t,o={})=>{d("executeQueryModel","projectName",a),d("executeQueryModel","packageName",e),d("executeQueryModel","path",r),d("executeQueryModel","queryRequest",t);const s="/projects/{projectName}/packages/{packageName}/models/{path}/query".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};p["Content-Type"]="application/json",b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},i.data=y(t,i,c),{url:O(n),options:i}},getModel:async(a,e,r,t,o={})=>{d("getModel","projectName",a),d("getModel","packageName",e),d("getModel","path",r);const s="/projects/{projectName}/packages/{packageName}/models/{path}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t!==void 0&&(h.versionId=t),b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},listModels:async(a,e,r,t={})=>{d("listModels","projectName",a),d("listModels","packageName",e);const o="/projects/{projectName}/packages/{packageName}/models".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},N=function(c){const a=W(c);return{async compileModelSource(e,r,t,o,s){const n=await a.compileModelSource(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.compileModelSource"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async executeQueryModel(e,r,t,o,s){const n=await a.executeQueryModel(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.executeQueryModel"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getModel(e,r,t,o,s){const n=await a.getModel(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.getModel"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listModels(e,r,t,o){const s=await a.listModels(e,r,t,o),n=c?.serverIndex??0,l=P["ModelsApi.listModels"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Se=function(c,a,e){const r=N(c);return{compileModelSource(t,o,s,n,l){return r.compileModelSource(t,o,s,n,l).then(i=>i(e,a))},executeQueryModel(t,o,s,n,l){return r.executeQueryModel(t,o,s,n,l).then(i=>i(e,a))},getModel(t,o,s,n,l){return r.getModel(t,o,s,n,l).then(i=>i(e,a))},listModels(t,o,s,n){return r.listModels(t,o,s,n).then(l=>l(e,a))}}};class D extends A{compileModelSource(a,e,r,t,o){return N(this.configuration).compileModelSource(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}executeQueryModel(a,e,r,t,o){return N(this.configuration).executeQueryModel(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getModel(a,e,r,t,o){return N(this.configuration).getModel(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listModels(a,e,r,t){return N(this.configuration).listModels(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const f=function(c){return{executeNotebookCell:async(a,e,r,t,o,s={})=>{d("executeNotebookCell","projectName",a),d("executeNotebookCell","packageName",e),d("executeNotebookCell","path",r),d("executeNotebookCell","cellIndex",t);const n="/projects/{projectName}/packages/{packageName}/notebooks/{path}/cells/{cellIndex}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))).replace("{cellIndex}",encodeURIComponent(String(t))),l=new URL(n,V);let i;c&&(i=c.baseOptions);const p={method:"GET",...i,...s},h={},C={};o!==void 0&&(C.versionId=o),b(l,C);let v=i&&i.headers?i.headers:{};return p.headers={...h,...v,...s.headers},{url:O(l),options:p}},getNotebook:async(a,e,r,t,o={})=>{d("getNotebook","projectName",a),d("getNotebook","packageName",e),d("getNotebook","path",r);const s="/projects/{projectName}/packages/{packageName}/notebooks/{path}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t!==void 0&&(h.versionId=t),b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},listNotebooks:async(a,e,r,t={})=>{d("listNotebooks","projectName",a),d("listNotebooks","packageName",e);const o="/projects/{projectName}/packages/{packageName}/notebooks".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},R=function(c){const a=f(c);return{async executeNotebookCell(e,r,t,o,s,n){const l=await a.executeNotebookCell(e,r,t,o,s,n),i=c?.serverIndex??0,p=P["NotebooksApi.executeNotebookCell"]?.[i]?.url;return(h,C)=>g(l,u,m,c)(h,p||C)},async getNotebook(e,r,t,o,s){const n=await a.getNotebook(e,r,t,o,s),l=c?.serverIndex??0,i=P["NotebooksApi.getNotebook"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listNotebooks(e,r,t,o){const s=await a.listNotebooks(e,r,t,o),n=c?.serverIndex??0,l=P["NotebooksApi.listNotebooks"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},ye=function(c,a,e){const r=R(c);return{executeNotebookCell(t,o,s,n,l,i){return r.executeNotebookCell(t,o,s,n,l,i).then(p=>p(e,a))},getNotebook(t,o,s,n,l){return r.getNotebook(t,o,s,n,l).then(i=>i(e,a))},listNotebooks(t,o,s,n){return r.listNotebooks(t,o,s,n).then(l=>l(e,a))}}};class G extends A{executeNotebookCell(a,e,r,t,o,s){return R(this.configuration).executeNotebookCell(a,e,r,t,o,s).then(n=>n(this.axios,this.basePath))}getNotebook(a,e,r,t,o){return R(this.configuration).getNotebook(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listNotebooks(a,e,r,t){return R(this.configuration).listNotebooks(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const z=function(c){return{createPackage:async(a,e,r={})=>{d("createPackage","projectName",a),d("createPackage","_package",e);const t="/projects/{projectName}/packages".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"POST",...s,...r},l={},i={};l["Content-Type"]="application/json",b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},n.data=y(e,n,c),{url:O(o),options:n}},deletePackage:async(a,e,r={})=>{d("deletePackage","projectName",a),d("deletePackage","packageName",e);const t="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"DELETE",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getPackage:async(a,e,r,t,o={})=>{d("getPackage","projectName",a),d("getPackage","packageName",e);const s="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};r!==void 0&&(h.versionId=r),t!==void 0&&(h.reload=t),b(n,h);let C=l&&l.headers?l.headers:{};return i.headers={...p,...C,...o.headers},{url:O(n),options:i}},listPackages:async(a,e={})=>{d("listPackages","projectName",a);const r="/projects/{projectName}/packages".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"GET",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},updatePackage:async(a,e,r,t={})=>{d("updatePackage","projectName",a),d("updatePackage","packageName",e),d("updatePackage","_package",r);const o="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"PATCH",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}}}},j=function(c){const a=z(c);return{async createPackage(e,r,t){const o=await a.createPackage(e,r,t),s=c?.serverIndex??0,n=P["PackagesApi.createPackage"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async deletePackage(e,r,t){const o=await a.deletePackage(e,r,t),s=c?.serverIndex??0,n=P["PackagesApi.deletePackage"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getPackage(e,r,t,o,s){const n=await a.getPackage(e,r,t,o,s),l=c?.serverIndex??0,i=P["PackagesApi.getPackage"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listPackages(e,r){const t=await a.listPackages(e,r),o=c?.serverIndex??0,s=P["PackagesApi.listPackages"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async updatePackage(e,r,t,o){const s=await a.updatePackage(e,r,t,o),n=c?.serverIndex??0,l=P["PackagesApi.updatePackage"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Ae=function(c,a,e){const r=j(c);return{createPackage(t,o,s){return r.createPackage(t,o,s).then(n=>n(e,a))},deletePackage(t,o,s){return r.deletePackage(t,o,s).then(n=>n(e,a))},getPackage(t,o,s,n,l){return r.getPackage(t,o,s,n,l).then(i=>i(e,a))},listPackages(t,o){return r.listPackages(t,o).then(s=>s(e,a))},updatePackage(t,o,s,n){return r.updatePackage(t,o,s,n).then(l=>l(e,a))}}};class J extends A{createPackage(a,e,r){return j(this.configuration).createPackage(a,e,r).then(t=>t(this.axios,this.basePath))}deletePackage(a,e,r){return j(this.configuration).deletePackage(a,e,r).then(t=>t(this.axios,this.basePath))}getPackage(a,e,r,t,o){return j(this.configuration).getPackage(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listPackages(a,e){return j(this.configuration).listPackages(a,e).then(r=>r(this.axios,this.basePath))}updatePackage(a,e,r,t){return j(this.configuration).updatePackage(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const _=function(c){return{createProject:async(a,e={})=>{d("createProject","project",a);const r="/projects",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}},deleteProject:async(a,e={})=>{d("deleteProject","projectName",a);const r="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"DELETE",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},getProject:async(a,e,r={})=>{d("getProject","projectName",a);const t="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={},i={};e!==void 0&&(i.reload=e),b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},listProjects:async(a={})=>{const e="/projects",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}},updateProject:async(a,e,r={})=>{d("updateProject","projectName",a),d("updateProject","project",e);const t="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"PATCH",...s,...r},l={},i={};l["Content-Type"]="application/json",b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},n.data=y(e,n,c),{url:O(o),options:n}}}},x=function(c){const a=_(c);return{async createProject(e,r){const t=await a.createProject(e,r),o=c?.serverIndex??0,s=P["ProjectsApi.createProject"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async deleteProject(e,r){const t=await a.deleteProject(e,r),o=c?.serverIndex??0,s=P["ProjectsApi.deleteProject"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async getProject(e,r,t){const o=await a.getProject(e,r,t),s=c?.serverIndex??0,n=P["ProjectsApi.getProject"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async listProjects(e){const r=await a.listProjects(e),t=c?.serverIndex??0,o=P["ProjectsApi.listProjects"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)},async updateProject(e,r,t){const o=await a.updateProject(e,r,t),s=c?.serverIndex??0,n=P["ProjectsApi.updateProject"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)}}},je=function(c,a,e){const r=x(c);return{createProject(t,o){return r.createProject(t,o).then(s=>s(e,a))},deleteProject(t,o){return r.deleteProject(t,o).then(s=>s(e,a))},getProject(t,o,s){return r.getProject(t,o,s).then(n=>n(e,a))},listProjects(t){return r.listProjects(t).then(o=>o(e,a))},updateProject(t,o,s){return r.updateProject(t,o,s).then(n=>n(e,a))}}};class K extends A{createProject(a,e){return x(this.configuration).createProject(a,e).then(r=>r(this.axios,this.basePath))}deleteProject(a,e){return x(this.configuration).deleteProject(a,e).then(r=>r(this.axios,this.basePath))}getProject(a,e,r){return x(this.configuration).getProject(a,e,r).then(t=>t(this.axios,this.basePath))}listProjects(a){return x(this.configuration).listProjects(a).then(e=>e(this.axios,this.basePath))}updateProject(a,e,r){return x(this.configuration).updateProject(a,e,r).then(t=>t(this.axios,this.basePath))}}const Y=function(c){return{getStatus:async(a={})=>{const e="/status",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}}}},M=function(c){const a=Y(c);return{async getStatus(e){const r=await a.getStatus(e),t=c?.serverIndex??0,o=P["PublisherApi.getStatus"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)}}},xe=function(c,a,e){const r=M(c);return{getStatus(t){return r.getStatus(t).then(o=>o(e,a))}}};class X extends A{getStatus(a){return M(this.configuration).getStatus(a).then(e=>e(this.axios,this.basePath))}}const Z=function(c){return{getWatchStatus:async(a={})=>{const e="/watch-mode/status",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}},startWatching:async(a,e={})=>{d("startWatching","startWatchRequest",a);const r="/watch-mode/start",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}},stopWatching:async(a={})=>{const e="/watch-mode/stop",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"POST",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}}}},I=function(c){const a=Z(c);return{async getWatchStatus(e){const r=await a.getWatchStatus(e),t=c?.serverIndex??0,o=P["WatchModeApi.getWatchStatus"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)},async startWatching(e,r){const t=await a.startWatching(e,r),o=c?.serverIndex??0,s=P["WatchModeApi.startWatching"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async stopWatching(e){const r=await a.stopWatching(e),t=c?.serverIndex??0,o=P["WatchModeApi.stopWatching"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)}}},ke=function(c,a,e){const r=I(c);return{getWatchStatus(t){return r.getWatchStatus(t).then(o=>o(e,a))},startWatching(t,o){return r.startWatching(t,o).then(s=>s(e,a))},stopWatching(t){return r.stopWatching(t).then(o=>o(e,a))}}};class ee extends A{getWatchStatus(a){return I(this.configuration).getWatchStatus(a).then(e=>e(this.axios,this.basePath))}startWatching(a,e){return I(this.configuration).startWatching(a,e).then(r=>r(this.axios,this.basePath))}stopWatching(a){return I(this.configuration).stopWatching(a).then(e=>e(this.axios,this.basePath))}}class te{apiKey;username;password;accessToken;basePath;serverIndex;baseOptions;formDataCtor;constructor(a={}){this.apiKey=a.apiKey,this.username=a.username,this.password=a.password,this.accessToken=a.accessToken,this.basePath=a.basePath,this.serverIndex=a.serverIndex,this.baseOptions={...a.baseOptions,headers:{...a.baseOptions?.headers}},this.formDataCtor=a.formDataCtor}isJsonMime(a){const e=new RegExp("^(application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(;.*)?$","i");return a!==null&&(e.test(a)||a.toLowerCase()==="application/json-patch+json")}}const ae=new q.QueryClient({defaultOptions:{queries:{retry:!1,throwOnError:!1},mutations:{retry:!1,throwOnError:!1}}}),re=k.createContext(void 0),Ne=(c,a)=>{const e=`${window.location.protocol}//${window.location.host}/api/v0`,r=u.create({baseURL:c||e,withCredentials:!0,timeout:6e5});r.interceptors.request.use(async o=>{const s=await a?.();return o.headers.Authorization=s||"",o});const t=new te({basePath:e});return{models:new D(t,e,r),publisher:new X(t,e,r),projects:new K(t,e,r),packages:new J(t,e,r),notebooks:new G(t,e,r),connections:new $(t,e,r),databases:new H(t,e,r),watchMode:new ee(t,e,r)}},ve=({children:c,getAccessToken:a,baseURL:e,mutable:r})=>{const t=k.useMemo(()=>Ne(e,a),[e,a]),o=e||`${window.location.protocol}//${window.location.host}/api/v0`,[s,n]=k.useState(r),[l,i]=k.useState(!0);k.useEffect(()=>{let h=!0;return(async()=>{try{const v=await t.publisher.getStatus();if(h){const oe=v.data?.frozenConfig;let U;oe?U=!1:r===void 0?U=!0:U=r,n(U),i(!1)}}catch(v){console.error("Failed to fetch publisher status:",v),h&&(n(r),i(!1))}})(),()=>{h=!1}},[t,r]);const p={server:o,getAccessToken:a,apiClients:t,mutable:s,isLoadingStatus:l};return F.jsx(q.QueryClientProvider,{client:ae,children:F.jsx(re.Provider,{value:p,children:c})})},Re=()=>{const c=k.useContext(re);if(c===void 0)throw new Error("useServer must be used within a ServerProvider");return c};exports.AttachedDatabaseTypeEnum=ne;exports.AzureConnectionAuthTypeEnum=ce;exports.CompileProblemSeverityEnum=le;exports.CompileResultStatusEnum=ie;exports.Configuration=te;exports.ConnectionStatusStatusEnum=de;exports.ConnectionTypeEnum=pe;exports.ConnectionsApi=$;exports.ConnectionsApiAxiosParamCreator=B;exports.ConnectionsApiFactory=be;exports.ConnectionsApiFp=S;exports.ConnectionsTestApi=ge;exports.ConnectionsTestApiAxiosParamCreator=E;exports.ConnectionsTestApiFactory=Oe;exports.ConnectionsTestApiFp=T;exports.DatabaseTypeEnum=he;exports.DatabasesApi=H;exports.DatabasesApiAxiosParamCreator=L;exports.DatabasesApiFactory=Ce;exports.DatabasesApiFp=Q;exports.LogMessageSeverityEnum=ue;exports.ModelsApi=D;exports.ModelsApiAxiosParamCreator=W;exports.ModelsApiFactory=Se;exports.ModelsApiFp=N;exports.NotebookCellResultTypeEnum=Pe;exports.NotebookCellTypeEnum=me;exports.NotebooksApi=G;exports.NotebooksApiAxiosParamCreator=f;exports.NotebooksApiFactory=ye;exports.NotebooksApiFp=R;exports.PackagesApi=J;exports.PackagesApiAxiosParamCreator=z;exports.PackagesApiFactory=Ae;exports.PackagesApiFp=j;exports.ProjectsApi=K;exports.ProjectsApiAxiosParamCreator=_;exports.ProjectsApiFactory=je;exports.ProjectsApiFp=x;exports.PublisherApi=X;exports.PublisherApiAxiosParamCreator=Y;exports.PublisherApiFactory=xe;exports.PublisherApiFp=M;exports.ServerProvider=ve;exports.ServerStatusOperationalStateEnum=Ve;exports.WatchModeApi=ee;exports.WatchModeApiAxiosParamCreator=Z;exports.WatchModeApiFactory=ke;exports.WatchModeApiFp=I;exports.globalQueryClient=ae;exports.useServer=Re;
@@ -1720,18 +1720,6 @@ export declare const ConnectionsApiAxiosParamCreator: (configuration?: Configura
1720
1720
  * @throws {RequiredError}
1721
1721
  */
1722
1722
  getTable: (projectName: string, connectionName: string, schemaName: string, tablePath: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1723
- /**
1724
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
1725
- * @summary Get table source information
1726
- * @param {string} projectName Name of the project
1727
- * @param {string} connectionName Name of the connection
1728
- * @param {string} [tableKey] Table key
1729
- * @param {string} [tablePath] Table path
1730
- * @param {*} [options] Override http request option.
1731
- * @deprecated
1732
- * @throws {RequiredError}
1733
- */
1734
- getTablesource: (projectName: string, connectionName: string, tableKey?: string, tablePath?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1735
1723
  /**
1736
1724
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
1737
1725
  * @summary Create temporary table (deprecated)
@@ -1766,11 +1754,11 @@ export declare const ConnectionsApiAxiosParamCreator: (configuration?: Configura
1766
1754
  * @param {string} projectName Name of the project
1767
1755
  * @param {string} connectionName Name of the connection
1768
1756
  * @param {string} schemaName Name of the schema
1769
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
1757
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
1770
1758
  * @param {*} [options] Override http request option.
1771
1759
  * @throws {RequiredError}
1772
1760
  */
1773
- listTables: (projectName: string, connectionName: string, schemaName: string, fetchTableSchema?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1761
+ listTables: (projectName: string, connectionName: string, schemaName: string, tableNames?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1774
1762
  /**
1775
1763
  * Executes a SQL statement against the specified database connection and returns the results. The results include data, metadata, and execution information.
1776
1764
  * @summary Execute SQL query
@@ -1880,18 +1868,6 @@ export declare const ConnectionsApiFp: (configuration?: Configuration) => {
1880
1868
  * @throws {RequiredError}
1881
1869
  */
1882
1870
  getTable(projectName: string, connectionName: string, schemaName: string, tablePath: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Table>>;
1883
- /**
1884
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
1885
- * @summary Get table source information
1886
- * @param {string} projectName Name of the project
1887
- * @param {string} connectionName Name of the connection
1888
- * @param {string} [tableKey] Table key
1889
- * @param {string} [tablePath] Table path
1890
- * @param {*} [options] Override http request option.
1891
- * @deprecated
1892
- * @throws {RequiredError}
1893
- */
1894
- getTablesource(projectName: string, connectionName: string, tableKey?: string, tablePath?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TableSource>>;
1895
1871
  /**
1896
1872
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
1897
1873
  * @summary Create temporary table (deprecated)
@@ -1926,11 +1902,11 @@ export declare const ConnectionsApiFp: (configuration?: Configuration) => {
1926
1902
  * @param {string} projectName Name of the project
1927
1903
  * @param {string} connectionName Name of the connection
1928
1904
  * @param {string} schemaName Name of the schema
1929
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
1905
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
1930
1906
  * @param {*} [options] Override http request option.
1931
1907
  * @throws {RequiredError}
1932
1908
  */
1933
- listTables(projectName: string, connectionName: string, schemaName: string, fetchTableSchema?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Table>>>;
1909
+ listTables(projectName: string, connectionName: string, schemaName: string, tableNames?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Table>>>;
1934
1910
  /**
1935
1911
  * Executes a SQL statement against the specified database connection and returns the results. The results include data, metadata, and execution information.
1936
1912
  * @summary Execute SQL query
@@ -2040,18 +2016,6 @@ export declare const ConnectionsApiFactory: (configuration?: Configuration, base
2040
2016
  * @throws {RequiredError}
2041
2017
  */
2042
2018
  getTable(projectName: string, connectionName: string, schemaName: string, tablePath: string, options?: RawAxiosRequestConfig): AxiosPromise<Table>;
2043
- /**
2044
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
2045
- * @summary Get table source information
2046
- * @param {string} projectName Name of the project
2047
- * @param {string} connectionName Name of the connection
2048
- * @param {string} [tableKey] Table key
2049
- * @param {string} [tablePath] Table path
2050
- * @param {*} [options] Override http request option.
2051
- * @deprecated
2052
- * @throws {RequiredError}
2053
- */
2054
- getTablesource(projectName: string, connectionName: string, tableKey?: string, tablePath?: string, options?: RawAxiosRequestConfig): AxiosPromise<TableSource>;
2055
2019
  /**
2056
2020
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
2057
2021
  * @summary Create temporary table (deprecated)
@@ -2086,11 +2050,11 @@ export declare const ConnectionsApiFactory: (configuration?: Configuration, base
2086
2050
  * @param {string} projectName Name of the project
2087
2051
  * @param {string} connectionName Name of the connection
2088
2052
  * @param {string} schemaName Name of the schema
2089
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
2053
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
2090
2054
  * @param {*} [options] Override http request option.
2091
2055
  * @throws {RequiredError}
2092
2056
  */
2093
- listTables(projectName: string, connectionName: string, schemaName: string, fetchTableSchema?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<Array<Table>>;
2057
+ listTables(projectName: string, connectionName: string, schemaName: string, tableNames?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<Array<Table>>;
2094
2058
  /**
2095
2059
  * Executes a SQL statement against the specified database connection and returns the results. The results include data, metadata, and execution information.
2096
2060
  * @summary Execute SQL query
@@ -2208,19 +2172,6 @@ export declare class ConnectionsApi extends BaseAPI {
2208
2172
  * @memberof ConnectionsApi
2209
2173
  */
2210
2174
  getTable(projectName: string, connectionName: string, schemaName: string, tablePath: string, options?: RawAxiosRequestConfig): Promise< AxiosResponse<Table, any, {}>>;
2211
- /**
2212
- * Retrieves information about a specific table or view from the database connection. This includes table schema, column definitions, and metadata. The table can be specified by either tableKey or tablePath parameters, depending on the database type.
2213
- * @summary Get table source information
2214
- * @param {string} projectName Name of the project
2215
- * @param {string} connectionName Name of the connection
2216
- * @param {string} [tableKey] Table key
2217
- * @param {string} [tablePath] Table path
2218
- * @param {*} [options] Override http request option.
2219
- * @deprecated
2220
- * @throws {RequiredError}
2221
- * @memberof ConnectionsApi
2222
- */
2223
- getTablesource(projectName: string, connectionName: string, tableKey?: string, tablePath?: string, options?: RawAxiosRequestConfig): Promise< AxiosResponse<TableSource, any, {}>>;
2224
2175
  /**
2225
2176
  * **DEPRECATED**: This endpoint is deprecated and may be removed in future versions. Use the POST version instead for better security and functionality. Creates a temporary table from a SQL statement using the specified connection. Temporary tables are useful for storing intermediate results during complex queries.
2226
2177
  * @summary Create temporary table (deprecated)
@@ -2258,12 +2209,12 @@ export declare class ConnectionsApi extends BaseAPI {
2258
2209
  * @param {string} projectName Name of the project
2259
2210
  * @param {string} connectionName Name of the connection
2260
2211
  * @param {string} schemaName Name of the schema
2261
- * @param {boolean} [fetchTableSchema] When &#x60;false&#x60;, returns tables with &#x60;resource&#x60; set but does not load per-table column metadata (no Malloy &#x60;fetchTableSchema&#x60;). Omitted or &#x60;null&#x60; is treated as &#x60;true&#x60;. Use &#x60;false&#x60; for fast explorer listing; call get-table with &#x60;fetchTableSchema&#x3D;true&#x60; for details.
2212
+ * @param {Array<string>} [tableNames] List of table names to filter results. When provided, only returns metadata for the specified tables. When omitted, returns all tables in the schema.
2262
2213
  * @param {*} [options] Override http request option.
2263
2214
  * @throws {RequiredError}
2264
2215
  * @memberof ConnectionsApi
2265
2216
  */
2266
- listTables(projectName: string, connectionName: string, schemaName: string, fetchTableSchema?: boolean, options?: RawAxiosRequestConfig): Promise< AxiosResponse<Table[], any, {}>>;
2217
+ listTables(projectName: string, connectionName: string, schemaName: string, tableNames?: Array<string>, options?: RawAxiosRequestConfig): Promise< AxiosResponse<Table[], any, {}>>;
2267
2218
  /**
2268
2219
  * Executes a SQL statement against the specified database connection and returns the results. The results include data, metadata, and execution information.
2269
2220
  * @summary Execute SQL query
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../ServerProvider-CJSiVxzb.cjs.js");exports.AttachedDatabaseTypeEnum=e.AttachedDatabaseTypeEnum;exports.AzureConnectionAuthTypeEnum=e.AzureConnectionAuthTypeEnum;exports.CompileProblemSeverityEnum=e.CompileProblemSeverityEnum;exports.CompileResultStatusEnum=e.CompileResultStatusEnum;exports.Configuration=e.Configuration;exports.ConnectionStatusStatusEnum=e.ConnectionStatusStatusEnum;exports.ConnectionTypeEnum=e.ConnectionTypeEnum;exports.ConnectionsApi=e.ConnectionsApi;exports.ConnectionsApiAxiosParamCreator=e.ConnectionsApiAxiosParamCreator;exports.ConnectionsApiFactory=e.ConnectionsApiFactory;exports.ConnectionsApiFp=e.ConnectionsApiFp;exports.ConnectionsTestApi=e.ConnectionsTestApi;exports.ConnectionsTestApiAxiosParamCreator=e.ConnectionsTestApiAxiosParamCreator;exports.ConnectionsTestApiFactory=e.ConnectionsTestApiFactory;exports.ConnectionsTestApiFp=e.ConnectionsTestApiFp;exports.DatabaseTypeEnum=e.DatabaseTypeEnum;exports.DatabasesApi=e.DatabasesApi;exports.DatabasesApiAxiosParamCreator=e.DatabasesApiAxiosParamCreator;exports.DatabasesApiFactory=e.DatabasesApiFactory;exports.DatabasesApiFp=e.DatabasesApiFp;exports.LogMessageSeverityEnum=e.LogMessageSeverityEnum;exports.ModelsApi=e.ModelsApi;exports.ModelsApiAxiosParamCreator=e.ModelsApiAxiosParamCreator;exports.ModelsApiFactory=e.ModelsApiFactory;exports.ModelsApiFp=e.ModelsApiFp;exports.NotebookCellResultTypeEnum=e.NotebookCellResultTypeEnum;exports.NotebookCellTypeEnum=e.NotebookCellTypeEnum;exports.NotebooksApi=e.NotebooksApi;exports.NotebooksApiAxiosParamCreator=e.NotebooksApiAxiosParamCreator;exports.NotebooksApiFactory=e.NotebooksApiFactory;exports.NotebooksApiFp=e.NotebooksApiFp;exports.PackagesApi=e.PackagesApi;exports.PackagesApiAxiosParamCreator=e.PackagesApiAxiosParamCreator;exports.PackagesApiFactory=e.PackagesApiFactory;exports.PackagesApiFp=e.PackagesApiFp;exports.ProjectsApi=e.ProjectsApi;exports.ProjectsApiAxiosParamCreator=e.ProjectsApiAxiosParamCreator;exports.ProjectsApiFactory=e.ProjectsApiFactory;exports.ProjectsApiFp=e.ProjectsApiFp;exports.PublisherApi=e.PublisherApi;exports.PublisherApiAxiosParamCreator=e.PublisherApiAxiosParamCreator;exports.PublisherApiFactory=e.PublisherApiFactory;exports.PublisherApiFp=e.PublisherApiFp;exports.ServerProvider=e.ServerProvider;exports.ServerStatusOperationalStateEnum=e.ServerStatusOperationalStateEnum;exports.WatchModeApi=e.WatchModeApi;exports.WatchModeApiAxiosParamCreator=e.WatchModeApiAxiosParamCreator;exports.WatchModeApiFactory=e.WatchModeApiFactory;exports.WatchModeApiFp=e.WatchModeApiFp;exports.globalQueryClient=e.globalQueryClient;exports.useServer=e.useServer;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../ServerProvider-DSeOLGfV.cjs.js");exports.AttachedDatabaseTypeEnum=e.AttachedDatabaseTypeEnum;exports.AzureConnectionAuthTypeEnum=e.AzureConnectionAuthTypeEnum;exports.CompileProblemSeverityEnum=e.CompileProblemSeverityEnum;exports.CompileResultStatusEnum=e.CompileResultStatusEnum;exports.Configuration=e.Configuration;exports.ConnectionStatusStatusEnum=e.ConnectionStatusStatusEnum;exports.ConnectionTypeEnum=e.ConnectionTypeEnum;exports.ConnectionsApi=e.ConnectionsApi;exports.ConnectionsApiAxiosParamCreator=e.ConnectionsApiAxiosParamCreator;exports.ConnectionsApiFactory=e.ConnectionsApiFactory;exports.ConnectionsApiFp=e.ConnectionsApiFp;exports.ConnectionsTestApi=e.ConnectionsTestApi;exports.ConnectionsTestApiAxiosParamCreator=e.ConnectionsTestApiAxiosParamCreator;exports.ConnectionsTestApiFactory=e.ConnectionsTestApiFactory;exports.ConnectionsTestApiFp=e.ConnectionsTestApiFp;exports.DatabaseTypeEnum=e.DatabaseTypeEnum;exports.DatabasesApi=e.DatabasesApi;exports.DatabasesApiAxiosParamCreator=e.DatabasesApiAxiosParamCreator;exports.DatabasesApiFactory=e.DatabasesApiFactory;exports.DatabasesApiFp=e.DatabasesApiFp;exports.LogMessageSeverityEnum=e.LogMessageSeverityEnum;exports.ModelsApi=e.ModelsApi;exports.ModelsApiAxiosParamCreator=e.ModelsApiAxiosParamCreator;exports.ModelsApiFactory=e.ModelsApiFactory;exports.ModelsApiFp=e.ModelsApiFp;exports.NotebookCellResultTypeEnum=e.NotebookCellResultTypeEnum;exports.NotebookCellTypeEnum=e.NotebookCellTypeEnum;exports.NotebooksApi=e.NotebooksApi;exports.NotebooksApiAxiosParamCreator=e.NotebooksApiAxiosParamCreator;exports.NotebooksApiFactory=e.NotebooksApiFactory;exports.NotebooksApiFp=e.NotebooksApiFp;exports.PackagesApi=e.PackagesApi;exports.PackagesApiAxiosParamCreator=e.PackagesApiAxiosParamCreator;exports.PackagesApiFactory=e.PackagesApiFactory;exports.PackagesApiFp=e.PackagesApiFp;exports.ProjectsApi=e.ProjectsApi;exports.ProjectsApiAxiosParamCreator=e.ProjectsApiAxiosParamCreator;exports.ProjectsApiFactory=e.ProjectsApiFactory;exports.ProjectsApiFp=e.ProjectsApiFp;exports.PublisherApi=e.PublisherApi;exports.PublisherApiAxiosParamCreator=e.PublisherApiAxiosParamCreator;exports.PublisherApiFactory=e.PublisherApiFactory;exports.PublisherApiFp=e.PublisherApiFp;exports.ServerProvider=e.ServerProvider;exports.ServerStatusOperationalStateEnum=e.ServerStatusOperationalStateEnum;exports.WatchModeApi=e.WatchModeApi;exports.WatchModeApiAxiosParamCreator=e.WatchModeApiAxiosParamCreator;exports.WatchModeApiFactory=e.WatchModeApiFactory;exports.WatchModeApiFp=e.WatchModeApiFp;exports.globalQueryClient=e.globalQueryClient;exports.useServer=e.useServer;
@@ -1,4 +1,4 @@
1
- import { A as e, a as o, C as t, b as i, Y as r, d as p, c as n, k as A, h as c, j as u, i as C, o as m, l as P, n as l, m as b, D as y, s as F, p as E, r as d, q as h, L as k, w as x, M as S, v as T, t as M, e as g, N as v, B as D, x as N, z as j, y as W, G as f, P as R, F as z, E as L, K as O, H as Q, J as q, I as w, T as B, O as G, R as H, Q as I, S as J, f as K, X as U, W as V, V as X, U as Y, g as Z, u as _ } from "../ServerProvider-BvwHmQmS.es.js";
1
+ import { A as e, a as o, C as t, b as i, Y as r, d as p, c as n, k as A, h as c, j as u, i as C, o as m, l as P, n as l, m as b, D as y, s as F, p as E, r as d, q as h, L as k, w as x, M as S, v as T, t as M, e as g, N as v, B as D, x as N, z as j, y as W, G as f, P as R, F as z, E as L, K as O, H as Q, J as q, I as w, T as B, O as G, R as H, Q as I, S as J, f as K, X as U, W as V, V as X, U as Y, g as Z, u as _ } from "../ServerProvider-DN2wSIAZ.es.js";
2
2
  export {
3
3
  e as AttachedDatabaseTypeEnum,
4
4
  o as AzureConnectionAuthTypeEnum,
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Q2=Object.create;var Sf=Object.defineProperty;var X2=Object.getOwnPropertyDescriptor;var Z2=Object.getOwnPropertyNames;var J2=Object.getPrototypeOf,eC=Object.prototype.hasOwnProperty;var tC=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Z2(t))!eC.call(e,a)&&a!==n&&Sf(e,a,{get:()=>t[a],enumerable:!(r=X2(t,a))||r.enumerable});return e};var Vu=(e,t,n)=>(n=e!=null?Q2(J2(e)):{},tC(t||!e||!e.__esModule?Sf(n,"default",{value:e,enumerable:!0}):n,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),D=require("@mui/material"),W=require("react"),Hr=require("@tanstack/react-query"),et=require("./ServerProvider-CJSiVxzb.cjs.js"),nC=require("axios"),Pn=require("@mui/icons-material"),dt=require("@mui/system"),rC=require("@emotion/styled"),aC=require("@emotion/react"),hs=require("react-dom"),gl=require("markdown-to-jsx"),h0=require("@react-spring/web"),oC=require("react-router-dom");function g0(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const w=g0(W),sC=g0(hs),wf=e=>e,iC=()=>{let e=wf;return{configure(t){e=t},generate(t){return e(t)},reset(){e=wf}}},b0=iC();function Lr(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(r=>n.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function Se(e){if(typeof e!="string")throw new Error(Lr(7));return e.charAt(0).toUpperCase()+e.slice(1)}function _f(...e){return e.reduce((t,n)=>n==null?t:function(...a){t.apply(this,a),n.apply(this,a)},()=>{})}function ar(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Wu={exports:{}},qu,If;function lC(){if(If)return qu;If=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return qu=e,qu}var Yu,Af;function uC(){if(Af)return Yu;Af=1;var e=lC();function t(){}function n(){}return n.resetWarningCache=t,Yu=function(){function r(s,i,l,u,c,d){if(d!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}r.isRequired=r;function a(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return o.PropTypes=o,o},Yu}var Df;function cC(){return Df||(Df=1,Wu.exports=uC()()),Wu.exports}var dC=cC();const ce=ar(dC);function y0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=y0(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function De(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=y0(e))&&(r&&(r+=" "),r+=t);return r}function Le(e,t,n=void 0){const r={};for(const a in e){const o=e[a];let s="",i=!0;for(let l=0;l<o.length;l+=1){const u=o[l];u&&(s+=(i===!0?"":" ")+t(u),i=!1,n&&n[u]&&(s+=" "+n[u]))}r[a]=s}return r}var Gu={exports:{}},bt={};/**
1
+ "use strict";var Q2=Object.create;var Sf=Object.defineProperty;var X2=Object.getOwnPropertyDescriptor;var Z2=Object.getOwnPropertyNames;var J2=Object.getPrototypeOf,eC=Object.prototype.hasOwnProperty;var tC=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Z2(t))!eC.call(e,a)&&a!==n&&Sf(e,a,{get:()=>t[a],enumerable:!(r=X2(t,a))||r.enumerable});return e};var Vu=(e,t,n)=>(n=e!=null?Q2(J2(e)):{},tC(t||!e||!e.__esModule?Sf(n,"default",{value:e,enumerable:!0}):n,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),D=require("@mui/material"),W=require("react"),Hr=require("@tanstack/react-query"),et=require("./ServerProvider-DSeOLGfV.cjs.js"),nC=require("axios"),Pn=require("@mui/icons-material"),dt=require("@mui/system"),rC=require("@emotion/styled"),aC=require("@emotion/react"),hs=require("react-dom"),gl=require("markdown-to-jsx"),h0=require("@react-spring/web"),oC=require("react-router-dom");function g0(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const w=g0(W),sC=g0(hs),wf=e=>e,iC=()=>{let e=wf;return{configure(t){e=t},generate(t){return e(t)},reset(){e=wf}}},b0=iC();function Lr(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(r=>n.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function Se(e){if(typeof e!="string")throw new Error(Lr(7));return e.charAt(0).toUpperCase()+e.slice(1)}function _f(...e){return e.reduce((t,n)=>n==null?t:function(...a){t.apply(this,a),n.apply(this,a)},()=>{})}function ar(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Wu={exports:{}},qu,If;function lC(){if(If)return qu;If=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return qu=e,qu}var Yu,Af;function uC(){if(Af)return Yu;Af=1;var e=lC();function t(){}function n(){}return n.resetWarningCache=t,Yu=function(){function r(s,i,l,u,c,d){if(d!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}r.isRequired=r;function a(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return o.PropTypes=o,o},Yu}var Df;function cC(){return Df||(Df=1,Wu.exports=uC()()),Wu.exports}var dC=cC();const ce=ar(dC);function y0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=y0(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function De(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=y0(e))&&(r&&(r+=" "),r+=t);return r}function Le(e,t,n=void 0){const r={};for(const a in e){const o=e[a];let s="",i=!0;for(let l=0;l<o.length;l+=1){const u=o[l];u&&(s+=(i===!0?"":" ")+t(u),i=!1,n&&n[u]&&(s+=" "+n[u]))}r[a]=s}return r}var Gu={exports:{}},bt={};/**
2
2
  * @license React
3
3
  * react-is.production.js
4
4
  *
@@ -225,7 +225,7 @@ import {${t.sourceName}}" from '${t.modelPath}'"
225
225
  }
226
226
  `}function pU(e,t){const n=new Map;for(const c of t){const d=jr(c);n.set(d,[])}const r=JSON.parse(e),a=r.schema.fields,o=new Map;a.forEach((c,d)=>{o.set(c.name,d)});const s=c=>{if(!c)return null;switch(c.kind){case"string_cell":return c.string_value??null;case"number_cell":return c.number_value??null;case"boolean_cell":return c.boolean_value??null;case"null_cell":return null;default:return console.log("Unknown cell kind: "+c.kind),null}},l=(r.data?.array_value||[]).map(c=>{const d={};return c.kind==="record_cell"&&c.record_value&&c.record_value.forEach((m,f)=>{const h=a[f]?.name;if(h){const b=s(m);h==="fieldName"&&typeof b=="string"?d.fieldName=b:h==="fieldPath"&&typeof b=="string"?d.fieldPath=b:h==="fieldType"&&typeof b=="string"?d.fieldType=b:h==="fieldValue"&&typeof b=="string"?d.fieldValue=b:h==="weight"&&typeof b=="number"&&(d.weight=b)}}),d}),u=l.length===0||l.every(c=>!c.fieldName);for(const c of t){if(c.filterType==="NONE"||c.filterType==="Retrieval")continue;const d=l.filter(f=>{const h=f.fieldName||"",b=f.fieldPath||"";if(h===c.dimensionName||b===c.dimensionName||h.toLowerCase()===c.dimensionName.toLowerCase()||b.toLowerCase()===c.dimensionName.toLowerCase())return!0;const g=b.split(".").pop()||"";return g===c.dimensionName||g.toLowerCase()===c.dimensionName.toLowerCase()});if(d.length===0)continue;const m=jr(c);if(c.filterType==="Star"){const f=d.filter(h=>h.fieldType==="string").map(h=>({value:h.fieldValue??"",count:h.weight})).sort((h,b)=>(b.count??0)-(h.count??0));n.set(m,f)}else if(c.filterType==="MinMax"){console.log("MinMax dimensionEntries: "+JSON.stringify(d,null,2)),console.log("All MinMax dimension entries fieldTypes:",d.map(h=>h.fieldType));const f=d.find(h=>h.fieldType==="number");if(console.log("numericEntry: "+JSON.stringify(f,null,2)),f?.fieldValue){const h=f.fieldValue,b=h.split(" to ");if(console.log("rangeParts: "+b),b.length===2){const g=[{value:parseFloat(b[0])},{value:parseFloat(b[1])}];n.set(m,g)}else console.warn(`Could not parse numeric range for ${c.dimensionName}: ${h}`)}else console.warn(`No numeric entry found for ${c.dimensionName}. Available entries:`,d)}else if(c.filterType==="DateMinMax"){const f=d.find(h=>h.fieldType==="date"||h.fieldType==="timestamp"||h.fieldType==="string");if(console.log("dateEntry: "+JSON.stringify(f,null,2)),console.log("All date dimension entries fieldTypes:",d.map(h=>h.fieldType)),f?.fieldValue){const h=f.fieldValue,b=h.split(" to ");if(console.log("date rangeParts: "+b),b.length===2){const g=[{value:new Date(b[0].trim())},{value:new Date(b[1].trim())}];n.set(m,g)}else console.warn(`Could not parse date range for ${c.dimensionName}: ${h}`)}else console.warn(`No date entry found for ${c.dimensionName}. Available entries:`,d)}}return{values:n,noRowsMatchedFilter:u}}function mf(e){const{project:t,package:n,dimensionSpecs:r,versionId:a,enabled:o=!0,indexLimit:s=1e4,activeFilters:i=[]}=e,l=W.useMemo(()=>cU(r),[r]),u=W.useMemo(()=>{const b=[];for(const[g,x]of l){const[C,E]=g.split("|"),k=dU(C,x,s,i);k?b.push({key:g,source:C,model:E,query:k,specs:x}):console.log("No query for source: ",C,"model: ",E)}return b},[l,s,i]),c=W.useMemo(()=>o&&u.length>0&&r.some(b=>b.filterType==="Star"||b.filterType==="MinMax"||b.filterType==="DateMinMax"),[o,u,r]),{apiClients:d}=et.useServer(),m=Jt({queryKey:["dimensionalFilter",t,n,r,a,i],queryFn:async()=>{if(!c){const C=new Map;for(const E of r){const k=jr(E);C.set(k,[])}return{values:C,noRowsMatchedFilter:!1}}const b=await Promise.all(u.map(async C=>{const E=await d.models.executeQueryModel(t,n,C.model,{query:C.query,versionId:a});return{config:C,result:pU(E.data.result,C.specs)}})),g=new Map;let x=!1;for(const{result:C}of b){for(const[E,k]of C.values)g.set(E,k);C.noRowsMatchedFilter&&(x=!0)}return{values:g,noRowsMatchedFilter:x}},enabled:c,staleTime:300*1e3,placeholderData:b=>b}),f=m.data?.values;return{data:W.useMemo(()=>{const b=new Map;for(const g of r){const x=jr(g);g.values?b.set(x,g.values.map(C=>({value:C}))):b.set(x,[])}if(f)for(const[g,x]of f)x.length>0&&b.set(g,x);return b},[r,f]),noRowsMatchedFilter:m.data?.noRowsMatchedFilter??!1,isLoading:c?m.isPending:!1,isError:c?m.isError:!1,error:c?m.error:null,refetch:m.refetch}}function y2(e){return e.replace(/'/g,"\\'").replace(/\\/g,"\\\\")}function ur(e,t=!1){return e==null?"null":t?e instanceof Date?`@${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:`@${e}`:typeof e=="string"?`'${y2(e)}'`:typeof e=="number"?String(e):typeof e=="boolean"?e?"true":"false":String(e)}function fU(e){const{dimensionName:t,matchType:n,value:r,value2:a}=e,o=`\`${t}\``,s=r instanceof Date;switch(n){case"Equals":case"Semantic Search":return Array.isArray(r)&&r.length>0?`(${r.map(l=>`${o} = ${ur(l,s)}`).join(" or ")})`:Array.isArray(r)?"":`${o} = ${ur(r,s)}`;case"Contains":return typeof r=="string"?`${o} ~ f'%${y2(r)}%'`:Array.isArray(r)?"":`${o} = ${ur(r)}`;case"After":return Array.isArray(r)?"":`${o} > ${ur(r,s)}`;case"Before":return Array.isArray(r)?"":`${o} < ${ur(r,s)}`;case"Greater Than":return Array.isArray(r)?"":`${o} > ${ur(r)}`;case"Less Than":return Array.isArray(r)?"":`${o} < ${ur(r)}`;case"Between":return Array.isArray(r)?"":a!==void 0?`${o} >= ${ur(r,s)} and ${o} <= ${ur(a,s)}`:`${o} >= ${ur(r,s)}`;default:return""}}function hf(e){const{dimensionSpecs:t}=e,[n,r]=W.useState(()=>{const u=new Map;return t.forEach(c=>{const d=jr(c);u.set(d,{spec:c,selection:null})}),u});W.useEffect(()=>{r(u=>{const c=new Map;return t.forEach(d=>{const m=jr(d),f=u.get(m);c.set(m,{spec:d,selection:f?.selection??null})}),c})},[t]);const a=W.useCallback((u,c)=>{r(d=>{const m=new Map(d),f=m.get(u);return f&&m.set(u,{...f,selection:c}),m})},[]),o=W.useCallback(u=>{a(u,null)},[a]),s=W.useCallback(()=>{r(u=>{const c=new Map(u);return c.forEach((d,m)=>{c.set(m,{...d,selection:null})}),c})},[]),i=W.useCallback(()=>{const u=[];return n.forEach(c=>{c.selection&&u.push(c.selection)}),u},[n]),l=W.useCallback(()=>{const u=i();if(u.length===0)return"";const c=u.map(d=>fU(d)).filter(d=>d.length>0);return c.length===0?"":`where ${c.join(" and ")}`},[i]);return{filterStates:n,updateFilter:a,clearFilter:o,clearAllFilters:s,getActiveFilters:i,generateWhereClause:l}}const mU=nt(p.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}));function gf(e){const{projectName:t,packageName:n}=vt(e.resourceUri);if(!t||!n)throw new Error("Project and Package name must be provided for query embedding.");return JSON.stringify({...e})}function hU({embeddedQueryResult:e}){const{query:t,sourceName:n,queryName:r,resourceUri:a,height:o}=JSON.parse(e),{modelPath:s}=vt(a);if(!s||!t&&(!r||!n)||typeof s!="string")throw new Error("Invalid embedded query result: "+e);return p.jsx(x2,{query:t,sourceName:n,queryName:r,resourceUri:a,height:o})}function x2({query:e,sourceName:t,queryName:n,resourceUri:r,height:a=400}){const{modelPath:o,projectName:s,packageName:i,versionId:l}=vt(r),{apiClients:u}=et.useServer();if(!s||!i)throw new Error("No project or package name provided. A resource URI must be provided.");const{data:c,isSuccess:d,isError:m,error:f}=Jt({queryKey:[r,e,t,n],queryFn:()=>u.models.executeQueryModel(s,i,o,{query:e,sourceName:t,queryName:n,versionId:l})});return p.jsxs(p.Fragment,{children:[!d&&!m&&p.jsx(tn,{text:"Fetching Query Results..."}),d&&p.jsx(W.Suspense,{fallback:p.jsx("div",{children:"Loading..."}),children:p.jsx(Uo,{result:c.data.result,maxHeight:a})}),m&&p.jsx(nn,{context:`${s} > ${i} > ${o}`,error:f})]})}function gU({cell:e,hideCodeCellIcon:t,hideEmbeddingIcon:n,resourceUri:r,index:a,maxResultSize:o,isExecuting:s}){const[i,l]=W.useState(!1),[u,c]=W.useState(!1),[d,m]=W.useState(!1),[f,h]=W.useState(),[b,g]=W.useState(),[x,C]=W.useState(!1),[E,k]=W.useState(""),T=/import\s*\{([^}]+)\}\s*from\s*['"`][^'"`]+['"`]/,S=/import\s*(?:\{[^}]*\}\s*from\s*)?['"`]([^'"`]+)['"`]/,O=M=>M.split(`
227
227
  `).filter(_=>!_.trimStart().startsWith("##")).join(`
228
- `),N=!!e.text&&(T.test(e.text)||S.test(e.text)),$=()=>{if(!e.newSources||e.newSources.length===0)return 0;let M=[],_="";if(e.text){const A=e.text.match(T);A&&(M=A[1].split(",").map(H=>H.trim()));const R=e.text.match(S);R&&(_=R[1].trim())}for(let A=0;A<e.newSources.length;A++)try{const R=JSON.parse(e.newSources[A]);if(M.length>0&&M.includes(R.name)||_&&_===R.path)return A}catch{continue}return 0},P=e.newSources&&e.newSources.length>0?{sourceInfos:e.newSources,resource:r}:void 0,L=gf({query:e.text,resourceUri:r});W.useEffect(()=>{e.type==="code"&&Hl(O(e.text),"malloy").then(M=>{h(M)})},[e]),W.useEffect(()=>{Hl(L,"typescript").then(M=>{g(M)})},[L]);const v=()=>{const M=window.location.href;navigator.clipboard.writeText(M).then(()=>k("URL copied to clipboard!")).catch(()=>k("Failed to copy URL"))};return e.type==="markdown"&&p.jsx(Qc,{children:p.jsxs(D.Box,{sx:{"& h1, & h2, & h3, & h4, & h5, & h6":{fontWeight:"600",color:"#1a1a1a",marginBottom:"8px",marginTop:"16px"},"& h1":{fontSize:"28px"},"& h2":{fontSize:"24px"},"& h3":{fontSize:"20px"},"& p":{color:"#333333",lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& ul, & ol":{color:"#333333",lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& li":{marginBottom:"4px"}},children:[a===0?p.jsxs(D.Stack,{direction:"row",alignItems:"flex-start",justifyContent:"space-between",children:[p.jsx(gl,{children:e.text}),p.jsx(D.Tooltip,{title:"Click to copy link",children:p.jsx(Xd,{sx:{fontSize:"24px",color:"#666666",cursor:"pointer",marginTop:"26px"},onClick:v})})]}):p.jsx(gl,{children:e.text}),p.jsx(D.Snackbar,{open:E!=="",autoHideDuration:6e3,onClose:()=>k(""),message:E})]})})||e.type==="code"&&p.jsxs(Qc,{children:[(!t||!n&&e.result||e.newSources&&e.newSources.length>0)&&p.jsx(D.Stack,{sx:{flexDirection:"column",gap:"8px",marginBottom:"2px"},children:e.newSources&&e.newSources.length>0&&p.jsx(Gi,{sx:{position:"relative",padding:"0"},children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"24px",paddingRight:"8px"},children:[f&&p.jsx("span",{dangerouslySetInnerHTML:{__html:f},style:{fontFamily:"monospace",fontSize:"14px",flex:1,marginRight:"8px"}}),N&&p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px",flexShrink:0},onClick:()=>C(!0),children:p.jsx(Do,{sx:{fontSize:"18px",color:"#666666"}})})]})})}),p.jsx(ff,{open:x,onClose:()=>C(!1),title:"Data Sources",hasValidImport:N,resourceUri:r,data:P,initialSelectedSourceIndex:$()}),p.jsxs(D.Dialog,{open:i,onClose:()=>l(!1),maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Malloy Code",p.jsx(D.IconButton,{onClick:()=>l(!1),sx:{color:"#666666"},children:p.jsx(aa,{})})]}),p.jsx(D.DialogContent,{children:p.jsx(D.Box,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",padding:"16px",fontFamily:"monospace",fontSize:"14px",lineHeight:"1.5",overflow:"auto",maxHeight:"70vh",backgroundColor:"#ffffff"},children:p.jsx("pre",{className:"code-display",style:{margin:0},dangerouslySetInnerHTML:{__html:f}})})})]}),p.jsxs(D.Dialog,{open:u,onClose:()=>c(!1),maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Embeddable Code",p.jsx(D.IconButton,{onClick:()=>c(!1),sx:{color:"#666666"},children:p.jsx(aa,{})})]}),p.jsx(D.DialogContent,{children:p.jsxs(D.Stack,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"flex-start"},children:[p.jsx(D.Typography,{component:"div",sx:{fontSize:"12px",fontFamily:"monospace","& .line":{textWrap:"wrap"},flex:1},dangerouslySetInnerHTML:{__html:b}}),p.jsx(D.Tooltip,{title:"Copy Embeddable Code",children:p.jsx(D.IconButton,{sx:{width:"24px",height:"24px",marginLeft:"8px",color:"#666666"},onClick:()=>{navigator.clipboard.writeText(L)},children:p.jsx(mU,{})})})]})})]}),p.jsx(h2,{open:d,onClose:()=>m(!1),result:e.result||"",title:"Results"}),s&&!e.result&&!N&&!(e.newSources&&e.newSources.length>0)&&p.jsx(Gi,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:p.jsx(D.CircularProgress,{size:32})}),e.result&&p.jsxs(Gi,{sx:{position:"relative"},children:[p.jsx(D.Box,{sx:{paddingTop:"24px"},children:p.jsx(Uo,{result:e.result,maxHeight:700,maxResultSize:o})}),p.jsxs(D.Stack,{sx:{position:"absolute",top:"8px",right:"8px",flexDirection:"row",gap:"8px",alignItems:"center",zIndex:2},children:[!t&&p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:M=>{M.stopPropagation(),l(!0)},children:p.jsx(B0,{sx:{fontSize:"18px",color:"#666666"}})}),p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:()=>m(!0),children:p.jsx(Do,{sx:{fontSize:"18px",color:"#666666"}})})]})]})]})}const bU=4;function C2({resourceUri:e,maxResultSize:t=0,retrievalFn:n}){const{apiClients:r}=et.useServer(),{projectName:a,packageName:o,versionId:s,modelPath:i}=vt(e),{data:l,isSuccess:u,isError:c,error:d}=Jt({queryKey:[e],queryFn:async()=>(await r.notebooks.getNotebook(a,o,i,s)).data}),[m,f]=W.useState([]),[h,b]=W.useState(!1),[g,x]=W.useState(null),C=W.useMemo(()=>l?s2(l.annotations):null,[l]),E=W.useMemo(()=>l?.notebookCells?l2(l.notebookCells):null,[l]),k=W.useMemo(()=>E?.sourceInfoMap??new Map,[E]),T=E?.modelPath??null,S=W.useMemo(()=>!C||k.size===0||!T?[]:u2(k,C.filters,T),[C,k,T]),{filterStates:O,updateFilter:N,getActiveFilters:$}=hf({dimensionSpecs:S}),P=W.useMemo(()=>$(),[O,$]),L=W.useMemo(()=>{const H=new Map;for(const U of S){const j=jr(U);H.set(j,U.source)}return H},[S]),v=W.useMemo(()=>{const H=new Map;for(const[U,j]of k)H.set(U,o2(j));return H},[k]),{data:M}=mf({project:a,package:o,dimensionSpecs:S,versionId:s,enabled:S.length>0,activeFilters:P}),_=W.useCallback(async(H=[])=>{if(!(!u||!l?.notebookCells)){f(U=>U.length===0?l.notebookCells.map(j=>({...j})):U.map(j=>({...j,result:void 0}))),b(!0),x(null);try{const U=[];for(let I=0;I<l.notebookCells.length;I++){const K=l.notebookCells[I];if(K.type==="markdown")continue;const re=K.text||"",F=re.includes("run:")||re.includes("->")||/^\s*(run|query)\s*:/m.test(re),fe=I,Z=async()=>{try{let q,ee;if(F&&T&&H.length>0){let X=re;if(H.length>0){const Q=d2(re),G=Q&&v.get(Q)||new Set,se=Q?H.filter(J=>J.source===Q||G.has(J.source)):[];if(se.length>0){const J=c2(se,L,Q);J&&(X=p2(re,J))}}q=(await r.models.executeQueryModel(a,o,T,{query:X,versionId:s})).data.result}else{const ne=(await r.notebooks.executeNotebookCell(a,o,i,fe,s)).data;q=ne.result,ee=K.newSources||ne.newSources}f(X=>{const ne=[...X];return ne[fe]||(ne[fe]={...K}),ne[fe]={...ne[fe],result:q,newSources:ee},ne})}catch(q){console.error(`Error executing cell ${fe}:`,q)}};U.push(Z)}const j=[];for(const I of U){const K=I().then(()=>{j.splice(j.indexOf(K),1)});j.push(K),j.length>=bU&&await Promise.race(j)}await Promise.all(j)}catch(U){console.error("Error executing notebook cells:",U),x(U)}finally{b(!1)}}},[u,l,T,L,v,a,o,i,s,r.models,r.notebooks]);W.useEffect(()=>{!u||!l?.notebookCells||_([])},[u,l,_]);const A=W.useRef("");W.useEffect(()=>{const H=JSON.stringify(P.map(U=>({dim:U.dimensionName,type:U.matchType,val:U.value,val2:U.value2})));if(H!==A.current){if(A.current===""&&P.length===0){A.current=H;return}A.current=H,h||_(P)}},[P,h,_]);const R=W.useCallback(H=>U=>{N(H,U)},[N]);return S.some(H=>H.filterType==="Retrieval"),p.jsx(Rv,{children:p.jsx(Mv,{children:p.jsxs(D.Stack,{spacing:3,component:"section",children:[S.length>0&&M&&p.jsxs(D.Paper,{elevation:0,sx:{p:3,backgroundColor:"#ffffff",border:"1px solid #f0f0f0",borderRadius:2,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.04)",transition:"box-shadow 0.2s ease-in-out","&:hover":{boxShadow:"0 2px 6px rgba(0, 0, 0, 0.08)"}},children:[p.jsx(D.Typography,{variant:"subtitle2",sx:{fontWeight:600,mb:2,color:"#333"},children:"Filters"}),p.jsx(D.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(250px, 1fr))",gap:3},children:S.map(H=>{const U=jr(H),j=M.get(U)||[],I=O.get(U);return H.filterType==="Retrieval"&&!n?null:p.jsx(D.Box,{children:p.jsx(a2,{spec:H,values:j,selection:I?.selection,onChange:R(U),retrievalFn:n})},U)})})]}),!u&&!c&&p.jsx(tn,{text:"Fetching Notebook..."}),u&&(m.length>0?m:l?.notebookCells||[]).map((H,U)=>p.jsx(gU,{cell:H,index:U,resourceUri:e,maxResultSize:t,isExecuting:h},U)),c&&d.status===404&&p.jsxs(D.Typography,{variant:"body2",sx:{color:"#666666"},children:[p.jsx("code",{children:`${a} > ${o} > ${i}`})," ","not found."]}),c&&d.status!==404&&p.jsx(nn,{error:d,context:`${a} > ${o} > ${i}`}),g&&p.jsx(nn,{error:{message:g.message,status:500,name:"ExecutionError"},context:"Notebook Execution"})]})})})}const E2=nt(p.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}));function yU({resourceUri:e}){const{apiClients:t}=et.useServer(),{projectName:n,packageName:r,versionId:a}=vt(e),{data:o,isSuccess:s,isError:i,error:l}=Jt({queryKey:["package",n,r,a],queryFn:()=>t.packages.getPackage(n,r,a,!1)});return p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Package Config"}),p.jsx(D.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:p.jsxs(D.List,{dense:!0,disablePadding:!0,children:[p.jsx(D.ListItem,{dense:!0,disablePadding:!0,children:p.jsx(D.ListItemText,{primary:"Name",primaryTypographyProps:{fontWeight:"500"},secondary:r})}),!s&&!i&&p.jsx(D.ListItem,{children:p.jsx(tn,{text:"Fetching Package Metadata..."})}),s&&(o.data&&p.jsx(D.ListItem,{dense:!0,disablePadding:!0,children:p.jsx(D.ListItemText,{primary:"Description",primaryTypographyProps:{fontWeight:"500"},secondary:o.data.description})})||p.jsxs(D.ListItem,{disablePadding:!0,dense:!0,sx:{mt:"20px"},children:[p.jsx(E2,{sx:{color:"grey.600",mr:"10px"}}),p.jsx(D.ListItemText,{primary:"No package manifest"})]})),i&&p.jsx(nn,{error:l,context:`${n} > ${r} > ${a}`})]})})]})})}const v2=nt(p.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"})),Or={postgres:[{label:"Host",name:"host",type:"text",required:!1},{label:"Port",name:"port",type:"number",required:!1},{label:"Database Name",name:"databaseName",type:"text",required:!1},{label:"User Name",name:"userName",type:"text",required:!1},{label:"Password",name:"password",type:"password",required:!1},{label:"Connection String",name:"connectionString",type:"text",required:!1}],bigquery:[{label:"Project ID",name:"defaultProjectId",type:"text",required:!1},{label:"Billing Project ID",name:"billingProjectId",type:"text",required:!1},{label:"Location",name:"location",type:"text",required:!1},{label:"Service Account Key JSON",name:"serviceAccountKeyJson",type:"text",required:!0},{label:"Maximum Bytes Billed",name:"maximumBytesBilled",type:"text",required:!1},{label:"Query Timeout Milliseconds",name:"queryTimeoutMilliseconds",type:"text",required:!1}],snowflake:[{label:"Account",name:"account",type:"text",required:!0},{label:"Username",name:"username",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!1},{label:"Role",name:"role",type:"text",required:!1},{label:"Warehouse",name:"warehouse",type:"text",required:!0},{label:"Database",name:"database",type:"text",required:!1},{label:"Schema",name:"schema",type:"text",required:!1},{label:"Response Timeout Milliseconds",name:"responseTimeoutMilliseconds",type:"text",required:!1},{label:"Private Key",name:"privateKey",type:"password",required:!1},{label:"Private Key Passphrase",name:"privateKeyPass",type:"password",required:!1}],trino:[{label:"Server",name:"server",type:"text",required:!0},{label:"Port",name:"port",type:"number",required:!1},{label:"Catalog",name:"catalog",type:"text",required:!1},{label:"Schema",name:"schema",type:"text",required:!1},{label:"User",name:"user",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!1},{label:"Peaka Key",name:"peakaKey",type:"password",required:!1}],mysql:[{label:"Host",name:"host",type:"text",required:!0},{label:"Port",name:"port",type:"number",required:!0},{label:"User",name:"user",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!0},{label:"Database",name:"database",type:"text",required:!0}],duckdb:[],motherduck:[{label:"Access Token",name:"accessToken",type:"text",required:!0},{label:"Database",name:"database",type:"text",required:!1}],ducklake:[]},fl={postgres:"postgresConnection",bigquery:"bigqueryConnection",snowflake:"snowflakeConnection",trino:"trinoConnection",mysql:"mysqlConnection",duckdb:"duckdbConnection",motherduck:"motherduckConnection",ducklake:"ducklakeConnection"},Hd={postgres:"postgresConnection",bigquery:"bigqueryConnection",snowflake:"snowflakeConnection",gcs:"gcsConnection",s3:"s3Connection",azure:"azureConnection"},Js=[{label:"Access Key ID",name:"accessKeyId",type:"text",required:!0},{label:"Secret Access Key",name:"secretAccessKey",type:"password",required:!0},{label:"Region",name:"region",type:"text",required:!1},{label:"Endpoint",name:"endpoint",type:"text",required:!1},{label:"Session Token",name:"sessionToken",type:"password",required:!1}],ei=[{label:"Key ID",name:"keyId",type:"text",required:!0},{label:"Secret",name:"secret",type:"password",required:!0}],xU=[{label:"Auth Type",name:"authType",type:"text",required:!0,selectOptions:[{label:"SAS Token",value:"sas_token"},{label:"Service Principal (SPN)",value:"service_principal"}]},{label:"SAS URL (e.g. https://account.blob.core.windows.net/container/file.parquet?sp=r&st=...)",name:"sasUrl",type:"text",required:!1,visibleWhen:{field:"authType",value:"sas_token"}},{label:"Tenant ID",name:"tenantId",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Client ID",name:"clientId",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Client Secret",name:"clientSecret",type:"password",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Account Name",name:"accountName",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"File URL (e.g. abfss://container/path/file.parquet)",name:"fileUrl",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}}];function Ql(e){return e==="postgres"||e==="bigquery"||e==="snowflake"?Or[e]||[]:e==="s3"?Js:e==="gcs"?ei:e==="azure"?xU:[]}function CU({onSubmit:e,isSubmitting:t}){const[n,r]=W.useState(!1),[a,o]=W.useState("postgres"),[s,i]=W.useState([]),[l,u]=W.useState("postgres"),[c,d]=W.useState("s3"),m=()=>{r(!0)},f=()=>{r(!1),i([]),o("postgres"),u("postgres"),d("s3")},h=async C=>{C.preventDefault();const E=new FormData(C.currentTarget),k=E.get("name")?.toString(),T=E.get("type")?.toString(),S=Or[T];if(!k)throw new Error("Name is required");if(!T)throw new Error("Type is required");let O;if(T==="ducklake"){const N={};if(l==="postgres"){const L=Or.postgres,v={};if(L.forEach(M=>{const _=E.get(`ducklake_pg_${M.name}`)?.toString();_&&(v[M.name]=_)}),Object.keys(v).length===0)throw new Error("DuckLake requires catalog connection");N.postgresConnection=v}const $=E.get("ducklake_bucketUrl")?.toString();if(!$)throw new Error("DuckLake requires a bucket URL");const P={bucketUrl:$};if(c==="s3"){const L={};if(Js.forEach(v=>{const M=E.get(`ducklake_s3_${v.name}`)?.toString();M&&(L[v.name]=M)}),!L.accessKeyId)throw new Error("S3 Access Key ID is required");if(!L.secretAccessKey)throw new Error("S3 Secret Access Key is required");Object.keys(L).length>0&&(P.s3Connection=L)}else if(c==="gcs"){const L={};if(ei.forEach(v=>{const M=E.get(`ducklake_gcs_${v.name}`)?.toString();M&&(L[v.name]=M)}),!L.keyId)throw new Error("GCS Key ID is required");if(!L.secret)throw new Error("GCS Secret is required");Object.keys(L).length>0&&(P.gcsConnection=L)}O={name:k,type:T,ducklakeConnection:{catalog:N,storage:P}}}else if(T==="duckdb"){if(s.length===0)throw new Error("DuckDB connection must have at least one attached database");const N=s.map(($,P)=>{const L=$.dbType,v=E.get(`attachedDb_${P}_name`)?.toString();if(!v)throw new Error(`Attached database at index ${P} must have a name`);const M={name:v,type:L},_=Ql(L);if(_&&_.length>0){const A={};_.forEach(H=>{const U=E.get(`attachedDb_${P}_${H.name}`)?.toString();U&&(A[H.name]=U)});const R=Hd[L];R&&(M[R]=A)}return M});O={name:k,type:T,duckdbConnection:{attachedDatabases:N}}}else{const N={};if(S.forEach($=>{const P=E.get($.name)?.toString();P&&(N[$.name]=P)}),T==="postgres"){if(!!!N.connectionString?.trim()){const P=["host","port","databaseName","userName","password"];for(const L of P)if(!N[L])throw new Error(`${S.find(v=>v.name===L)?.label||L} is required`)}}else if(T==="bigquery"){if(!N.serviceAccountKeyJson)throw new Error("Service Account Key JSON is required")}else if(T==="snowflake"){if(!N.account)throw new Error("Account is required");if(!N.username)throw new Error("Username is required");if(!N.warehouse)throw new Error("Warehouse is required");if(!N.password&&!N.privateKey)throw new Error("Either password or private key is required")}else if(T==="trino"){if(!N.server)throw new Error("Server is required");if(!N.user)throw new Error("User is required");if(N.server.trim().startsWith("https://")&&!N.password&&!N.peakaKey)throw new Error("Password is required for HTTPS connections (or use Peaka Key)")}else if(T==="mysql"){const $=["host","port","database","user","password"];for(const P of $)if(!N[P])throw new Error(`${S.find(L=>L.name===P)?.label||P} is required`)}else if(T==="motherduck"&&!N.accessToken)throw new Error("Access Token is required");O={name:k,type:T,[fl[T]]:N}}await e(O),f()},b=()=>{i([...s,{name:"",dbType:"postgres"}])},g=C=>{i(s.filter((E,k)=>k!==C))},x=(C,E)=>{const k=[...s];k[C]={...k[C],dbType:E},i(k)};return p.jsxs(W.Fragment,{children:[p.jsx(wt,{variant:"outlined",onClick:m,children:"Add Connection"}),p.jsxs(wr,{open:n,onClose:f,children:[p.jsx(Wr,{children:"Create New Connection"}),p.jsxs(Sr,{children:[p.jsx(Wo,{children:"Add a new connection to query your data database using Malloy."}),p.jsxs("form",{onSubmit:h,id:"connection-form",children:[p.jsx(Qe,{autoFocus:!0,required:!0,margin:"dense",id:"name",name:"name",label:"Connection Name",type:"text",fullWidth:!0,variant:"standard"}),p.jsx(Qe,{margin:"dense",id:"type",name:"type",label:"Connection Type",fullWidth:!0,variant:"standard",value:a,select:!0,onChange:C=>o(C.target.value),children:Object.values(et.ConnectionTypeEnum).map(C=>p.jsx(on,{value:C,children:C},C))}),a==="ducklake"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Catalog"}),p.jsx(Qe,{margin:"dense",id:"ducklake_catalogType",label:"Catalog Type",fullWidth:!0,variant:"standard",value:l,select:!0,onChange:C=>u(C.target.value),children:p.jsx(on,{value:"postgres",children:"PostgreSQL"})}),l==="postgres"&&p.jsx(p.Fragment,{children:Or.postgres.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_pg_${C.name}`,name:`ducklake_pg_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard"},`pg_${C.name}`))})]}),p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Storage"}),p.jsxs(Qe,{margin:"dense",id:"ducklake_storageType",label:"Storage Type",fullWidth:!0,variant:"standard",value:c,select:!0,onChange:C=>d(C.target.value),children:[p.jsx(on,{value:"s3",children:"S3"}),p.jsx(on,{value:"gcs",children:"GCS"})]}),p.jsx(Qe,{margin:"dense",required:!0,id:"ducklake_bucketUrl",name:"ducklake_bucketUrl",label:c==="s3"?"Bucket URL (e.g. s3://my-bucket/path)":"Bucket URL (e.g. gs://my-bucket/path)",type:"text",fullWidth:!0,variant:"standard"}),c==="s3"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"S3 Credentials"}),Js.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_s3_${C.name}`,name:`ducklake_s3_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required,placeholder:C.name==="region"?"us-east-1":void 0},`s3_${C.name}`))]}),c==="gcs"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"GCS Credentials"}),ei.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_gcs_${C.name}`,name:`ducklake_gcs_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required},`gcs_${C.name}`))]})]})]}):a==="duckdb"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsx(yt,{variant:"subtitle1",fontWeight:500,children:"Attached Databases"}),p.jsx(wt,{startIcon:p.jsx(Kd,{}),onClick:b,size:"small",variant:"outlined",children:"Add Database"})]}),s.length===0&&p.jsx(yt,{variant:"body2",color:"text.secondary",sx:{mb:2},children:'DuckDB connections require at least one attached database. Click "Add Database" to get started.'}),s.map((C,E)=>{const k=Ql(C.dbType);return p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsxs(yt,{variant:"subtitle2",children:["Database ",E+1]}),p.jsx(Mn,{onClick:()=>g(E),size:"small",color:"error",children:p.jsx(v2,{fontSize:"small"})})]}),p.jsx(Qe,{margin:"dense",required:!0,id:`attachedDb_${E}_name`,name:`attachedDb_${E}_name`,label:"Database Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:C.name}),p.jsx(Qe,{margin:"dense",id:`attachedDb_${E}_type`,name:`attachedDb_${E}_type`,label:"Database Type",fullWidth:!0,variant:"standard",value:C.dbType,select:!0,onChange:T=>x(E,T.target.value),children:Object.values(et.AttachedDatabaseTypeEnum).map(T=>p.jsx(on,{value:T,children:T},T))}),k.filter(T=>T.visibleWhen?(C[T.visibleWhen.field]||k.find(O=>O.name===T.visibleWhen?.field)?.selectOptions?.[0]?.value)===T.visibleWhen.value:!0).map(T=>p.jsx(Qe,{margin:"dense",id:`attachedDb_${E}_${T.name}`,name:`attachedDb_${E}_${T.name}`,label:T.label,type:T.selectOptions?void 0:T.type,fullWidth:!0,variant:"standard",required:T.required,select:!!T.selectOptions,defaultValue:T.selectOptions?.[0]?.value,onChange:T.selectOptions?S=>{const O=[...s];O[E]={...O[E],[T.name]:S.target.value},i(O)}:void 0,children:T.selectOptions?.map(S=>p.jsx(on,{value:S.value,children:S.label},S.value))},T.name))]},E)})]}):Or[a].map(C=>p.jsx(Qe,{margin:"dense",id:C.name,name:C.name,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required},C.name))]})]}),p.jsxs(kr,{children:[p.jsx(wt,{disabled:t,onClick:f,children:"Cancel"}),p.jsx(wt,{type:"submit",form:"connection-form",loading:t,children:"Create Connection"})]})]})]})}function EU({connection:e,onCloseDialog:t,isMutating:n,onDelete:r}){const[a,o]=W.useState(!1),[s,i]=W.useState(""),l=()=>{o(!0)},u=()=>{o(!1),t()};return p.jsxs(W.Fragment,{children:[p.jsx(Mn,{onClick:c=>{c.stopPropagation(),l()},children:p.jsx(Pn.Delete,{})}),p.jsxs(wr,{onClose:u,"aria-labelledby":"customized-dialog-title",open:a,children:[p.jsx(Wr,{sx:{m:0,p:2},id:"customized-dialog-title",children:"Delete Connection"}),p.jsx(Mn,{"aria-label":"close",onClick:u,sx:c=>({position:"absolute",right:8,top:8,color:c.palette.grey[500]}),children:p.jsx(aa,{})}),p.jsx(Sr,{dividers:!0,children:p.jsxs(yt,{gutterBottom:!0,children:['Are you sure you want to delete "',e.name,'"? This action cannot be undone.']})}),p.jsx(kr,{children:p.jsx(wt,{loading:n,variant:"contained",autoFocus:!0,onClick:()=>r(),color:"error",children:"Delete"})}),p.jsx(D.Snackbar,{open:s!=="",autoHideDuration:6e3,onClose:()=>i(""),message:s})]})]})}function c0(e){const t=e.duckdbConnection?.attachedDatabases;return!t||t.length===0?[]:t.map(n=>({name:n.name||"",dbType:n.type||"postgres"}))}function d0(e){const t=e.ducklakeConnection;return t&&t.storage?.gcsConnection?"gcs":"s3"}function vU({connection:e,onSubmit:t,isSubmitting:n}){const[r,a]=W.useState(!1),[o,s]=W.useState(e.type),[i,l]=W.useState(()=>c0(e)),[u,c]=W.useState("postgres"),[d,m]=W.useState(()=>d0(e)),f=()=>{l(c0(e)),s(e.type),c("postgres"),m(d0(e)),a(!0)},h=()=>{a(!1)},b=async T=>{T.preventDefault();const S=new FormData(T.currentTarget),O=S.get("name")?.toString(),N=S.get("type")?.toString(),$=Or[N];if(!O)throw new Error("Name is required");if(!N)throw new Error("Type is required");let P;if(N==="ducklake"){const L={};if(u==="postgres"){const _=Or.postgres,A={};if(_.forEach(R=>{const H=S.get(`ducklake_pg_${R.name}`)?.toString();H&&(A[R.name]=H)}),Object.keys(A).length===0)throw new Error("DuckLake requires catalog connection");L.postgresConnection=A}const v=S.get("ducklake_bucketUrl")?.toString();if(!v)throw new Error("DuckLake requires a bucket URL");const M={bucketUrl:v};if(d==="s3"){const _={};Js.forEach(R=>{const H=S.get(`ducklake_s3_${R.name}`)?.toString();H&&(_[R.name]=H)});const A=e.ducklakeConnection?.storage?.s3Connection;if(A&&(!_.accessKeyId&&A.accessKeyId&&(_.accessKeyId=A.accessKeyId),!_.secretAccessKey&&A.secretAccessKey&&(_.secretAccessKey=A.secretAccessKey)),!_.accessKeyId)throw new Error("S3 Access Key ID is required");if(!_.secretAccessKey)throw new Error("S3 Secret Access Key is required");Object.keys(_).length>0&&(M.s3Connection=_)}else if(d==="gcs"){const _={};ei.forEach(R=>{const H=S.get(`ducklake_gcs_${R.name}`)?.toString();H&&(_[R.name]=H)});const A=e.ducklakeConnection?.storage?.gcsConnection;if(A&&(!_.keyId&&A.keyId&&(_.keyId=A.keyId),!_.secret&&A.secret&&(_.secret=A.secret)),!_.keyId)throw new Error("GCS Key ID is required");if(!_.secret)throw new Error("GCS Secret is required");Object.keys(_).length>0&&(M.gcsConnection=_)}P={name:O,type:N,ducklakeConnection:{catalog:L,storage:M}}}else if(N==="duckdb"){if(i.length===0)throw new Error("DuckDB connection must have at least one attached database");const L=i.map((v,M)=>{const _=v.dbType,A=S.get(`attachedDb_${M}_name`)?.toString();if(!A)throw new Error(`Attached database at index ${M} must have a name`);const R={name:A,type:_},H=Ql(_);if(H&&H.length>0){const U={};H.forEach(I=>{const K=S.get(`attachedDb_${M}_${I.name}`)?.toString();K&&(U[I.name]=K)});const j=Hd[_];j&&(R[j]=U)}return R});P={name:O,type:N,duckdbConnection:{attachedDatabases:L}}}else{const L=e[fl[N]]||{},v={};if($.forEach(M=>{const _=S.get(M.name)?.toString(),A=L[M.name],R=M.type==="password"||M.name==="password"||M.name==="secretAccessKey"||M.name==="secret"||M.name==="accessToken"||M.name==="privateKey";_?v[M.name]=_:R&&A?v[M.name]=A:_!==void 0?v[M.name]=_:A&&(v[M.name]=A)}),N==="postgres"){if(!!!v.connectionString?.trim()){const _=["host","port","databaseName","userName","password"];for(const A of _)if(!v[A])throw new Error(`${$.find(R=>R.name===A)?.label||A} is required`)}}else if(N==="bigquery"){if(!v.serviceAccountKeyJson)throw new Error("Service Account Key JSON is required")}else if(N==="snowflake"){if(!v.account)throw new Error("Account is required");if(!v.username)throw new Error("Username is required");if(!v.warehouse)throw new Error("Warehouse is required");if(!v.password&&!v.privateKey)throw new Error("Either password or private key is required")}else if(N==="trino"){if(!v.server)throw new Error("Server is required");if(!v.user)throw new Error("User is required");if(v.server.trim().startsWith("https://")&&!v.password&&!v.peakaKey)throw new Error("Password is required for HTTPS connections (or use Peaka Key)")}else if(N==="mysql"){const M=["host","port","database","user","password"];for(const _ of M)if(!v[_])throw new Error(`${$.find(A=>A.name===_)?.label||_} is required`)}else if(N==="motherduck"&&!v.accessToken)throw new Error("Access Token is required");P={name:O,type:N,[fl[N]]:v}}await t(P),h()},g=()=>{l([...i,{name:"",dbType:"postgres"}])},x=T=>{l(i.filter((S,O)=>O!==T))},C=(T,S)=>{const O=[...i];O[T]={...O[T],dbType:S},l(O)},E=(T,S)=>{const O=e.duckdbConnection?.attachedDatabases;if(!O||!O[T])return"";const N=O[T],$=Hd[N.type||""];return $&&N[$]?N[$][S]??"":""},k=T=>{const S=e.ducklakeConnection;if(!S)return"";if(T.startsWith("pg_")){const O=T.replace("pg_","");return S.catalog?.postgresConnection?.[O]??""}if(T==="bucketUrl")return S.storage?.bucketUrl??"";if(T.startsWith("s3_")){const O=T.replace("s3_","");return S.storage?.s3Connection?.[O]??""}if(T.startsWith("gcs_")){const O=T.replace("gcs_","");return S.storage?.gcsConnection?.[O]??""}return""};return p.jsxs(W.Fragment,{children:[p.jsx(Mn,{onClick:T=>{T.preventDefault(),T.stopPropagation(),f()},children:p.jsx(Pn.Edit,{})}),p.jsxs(wr,{open:r,onClose:h,children:[p.jsx(Wr,{onClick:T=>{T.stopPropagation()},children:"Edit Connection"}),p.jsxs(Sr,{onClick:T=>{T.stopPropagation()},children:[p.jsx(Wo,{children:"Edit a connection to query your data database using Malloy."}),p.jsxs("form",{onSubmit:b,id:"connection-form",children:[p.jsx(Qe,{autoFocus:!0,required:!0,margin:"dense",id:"name",name:"name",label:"Connection Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:e.name}),p.jsx(Qe,{margin:"dense",id:"type",name:"type",label:"Connection Type",fullWidth:!0,variant:"standard",value:o,select:!0,onChange:T=>s(T.target.value),children:Object.values(et.ConnectionTypeEnum).map(T=>p.jsx(on,{value:T,children:T},T))}),o==="ducklake"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Catalog"}),p.jsx(Qe,{margin:"dense",id:"ducklake_catalogType",label:"Catalog Type",fullWidth:!0,variant:"standard",value:u,select:!0,onChange:T=>c(T.target.value),children:p.jsx(on,{value:"postgres",children:"PostgreSQL"})}),u==="postgres"&&p.jsx(p.Fragment,{children:Or.postgres.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_pg_${T.name}`,name:`ducklake_pg_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",defaultValue:k(`pg_${T.name}`)},`pg_${T.name}`))})]}),p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Storage"}),p.jsxs(Qe,{margin:"dense",id:"ducklake_storageType",label:"Storage Type",fullWidth:!0,variant:"standard",value:d,select:!0,onChange:T=>m(T.target.value),children:[p.jsx(on,{value:"s3",children:"S3"}),p.jsx(on,{value:"gcs",children:"GCS"})]}),p.jsx(Qe,{margin:"dense",required:!0,id:"ducklake_bucketUrl",name:"ducklake_bucketUrl",label:d==="s3"?"Bucket URL (e.g. s3://my-bucket/path)":"Bucket URL (e.g. gs://my-bucket/path)",type:"text",fullWidth:!0,variant:"standard",defaultValue:k("bucketUrl")}),d==="s3"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"S3 Credentials"}),Js.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_s3_${T.name}`,name:`ducklake_s3_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&T.name!=="secretAccessKey",defaultValue:k(`s3_${T.name}`),placeholder:T.name==="region"?"us-east-1":T.name==="secretAccessKey"?"Leave empty to keep existing":void 0},`s3_${T.name}`))]}),d==="gcs"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"GCS Credentials"}),ei.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_gcs_${T.name}`,name:`ducklake_gcs_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&T.name!=="secret",defaultValue:k(`gcs_${T.name}`),placeholder:T.name==="secret"?"Leave empty to keep existing":void 0},`gcs_${T.name}`))]})]})]}):o==="duckdb"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsx(yt,{variant:"subtitle1",fontWeight:500,children:"Attached Databases"}),p.jsx(wt,{startIcon:p.jsx(Kd,{}),onClick:g,size:"small",variant:"outlined",children:"Add Database"})]}),i.length===0&&p.jsx(yt,{variant:"body2",color:"text.secondary",sx:{mb:2},children:'DuckDB connections require at least one attached database. Click "Add Database" to get started.'}),i.map((T,S)=>{const O=Ql(T.dbType);return p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsxs(yt,{variant:"subtitle2",children:["Database ",S+1]}),p.jsx(Mn,{onClick:()=>x(S),size:"small",color:"error",children:p.jsx(v2,{fontSize:"small"})})]}),p.jsx(Qe,{margin:"dense",required:!0,id:`attachedDb_${S}_name`,name:`attachedDb_${S}_name`,label:"Database Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:T.name}),p.jsx(Qe,{margin:"dense",id:`attachedDb_${S}_type`,name:`attachedDb_${S}_type`,label:"Database Type",fullWidth:!0,variant:"standard",value:T.dbType,select:!0,onChange:N=>C(S,N.target.value),children:Object.values(et.AttachedDatabaseTypeEnum).map(N=>p.jsx(on,{value:N,children:N},N))}),O.filter(N=>N.visibleWhen?(T[N.visibleWhen.field]||E(S,N.visibleWhen.field)||O.find(P=>P.name===N.visibleWhen?.field)?.selectOptions?.[0]?.value)===N.visibleWhen.value:!0).map(N=>p.jsx(Qe,{margin:"dense",id:`attachedDb_${S}_${N.name}`,name:`attachedDb_${S}_${N.name}`,label:N.label,type:N.selectOptions?void 0:N.type,fullWidth:!0,variant:"standard",required:N.required,select:!!N.selectOptions,defaultValue:E(S,N.name)||N.selectOptions?.[0]?.value,onChange:N.selectOptions?$=>{const P=[...i];P[S]={...P[S],[N.name]:$.target.value},l(P)}:void 0,children:N.selectOptions?.map($=>p.jsx(on,{value:$.value,children:$.label},$.value))},N.name))]},S)})]}):Or[o].map(T=>{const S=e?.[fl[o]??""]?.[T.name??""]??"",O=T.type==="password"||T.name==="password"||T.name==="secretAccessKey"||T.name==="secret"||T.name==="accessToken"||T.name==="privateKey";return p.jsx(Qe,{margin:"dense",id:T.name,name:T.name,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&!O&&!S,defaultValue:S,placeholder:O&&S?"Leave empty to keep existing":void 0},T.name)})]})]}),p.jsxs(kr,{onClick:T=>{T.stopPropagation()},children:[p.jsx(wt,{disabled:n,onClick:h,children:"Cancel"}),p.jsx(wt,{type:"submit",form:"connection-form",loading:n,children:"Edit Connection"})]})]})]})}function p0(e,t){return!e||e.type!=="duckdb"?!1:(e.duckdbConnection?.attachedDatabases||[]).some(r=>r.type==="azure"&&r.name===t)}function TU(e){return e.startsWith("gs://")||e.startsWith("s3://")||e.startsWith("https://")||e.startsWith("abfss://")||e.startsWith("az://")}function T2({connectionName:e,resourceUri:t,schema:n,connection:r}){const{apiClients:a}=et.useServer(),{projectName:o}=vt(t),[s,i]=W.useState(null),[l,u]=W.useState(n||null),[c,d]=W.useState(!1),{data:m,isError:f,isLoading:h,error:b}=Jt({queryKey:["schemas",o,e],queryFn:()=>a.connections.listSchemas(o,e)}),g=m?.data||[];return p.jsxs(D.Grid,{container:!0,spacing:1,children:[!n&&p.jsx(D.Grid,{size:{xs:12,md:4},children:p.jsxs(D.Paper,{sx:{p:1,m:0},children:[p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:0},children:[p.jsx(D.Typography,{variant:"overline",fontWeight:"bold",children:"Table Paths"}),p.jsx(D.FormControlLabel,{control:p.jsx(D.Switch,{checked:c,onChange:x=>d(x.target.checked)}),label:"Hidden Schemas"})]}),p.jsx(D.Divider,{sx:{mt:"2px"}}),p.jsxs(D.Box,{sx:{mt:"2px",maxHeight:"600px",overflowY:"auto"},children:[h&&p.jsx(tn,{text:"Loading schemas..."}),f&&p.jsx(nn,{error:b,context:`${o} > ${e} > Schemas`}),!h&&!f&&g.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Schemas"}),!h&&!f&&g.length>0&&p.jsx(D.List,{dense:!0,disablePadding:!0,children:g.map(x=>{const C=x.name;if(x.isHidden&&!c)return null;const k=l===C;return p.jsx(D.ListItemButton,{selected:k,onClick:()=>{u(C),i(null)},children:p.jsx(D.ListItemText,{primary:C})},C)})})]})]})}),p.jsx(D.Grid,{size:{xs:12,md:n?6:4},children:l&&p.jsx(D.Paper,{sx:{p:1,m:0},children:p.jsx(wU,{connectionName:e,schemaName:l,onTableSelect:x=>{i(x)},resourceUri:t,connection:r})})}),p.jsx(D.Grid,{size:{xs:12,md:n?6:4},children:l&&s&&p.jsx(kU,{projectName:o,connectionName:e,schemaName:l,tableResource:s})})]})}function kU({projectName:e,connectionName:t,schemaName:n,tableResource:r}){const{apiClients:a}=et.useServer(),{data:o,isLoading:s,isError:i,error:l}=Jt({queryKey:["connectionTableDetail",e,t,n,r],queryFn:()=>a.connections.getTable(e,t,n,r),enabled:!!n&&!!r}),u={resource:o?.data?.resource??r,columns:o?.data?.columns??[]};return p.jsxs(D.Paper,{sx:{p:1,m:0},children:[i&&p.jsx(nn,{error:l,context:`${e} > ${t} > ${n} > ${r}`}),!i&&p.jsx(SU,{table:u,loading:s})]})}function SU({table:e,loading:t}){return t?p.jsx(tn,{text:"Loading columns..."}):p.jsxs(p.Fragment,{children:[p.jsxs(D.Typography,{variant:"overline",fontWeight:"bold",sx:{display:"block",wordBreak:"break-all"},children:[e.resource.includes("://")||/\.(parquet|csv|json|tsv|ndjson)$/i.test(e.resource)?"File":"Table",": ",e.resource]}),p.jsx(D.Divider,{}),p.jsx(D.Box,{sx:{mt:"10px",maxHeight:"600px",overflowY:"auto"},children:p.jsx(D.TableContainer,{children:p.jsxs(D.Table,{size:"small",sx:{"& .MuiTableCell-root":{padding:"10px"}},children:[p.jsx(D.TableHead,{children:p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:"NAME"}),p.jsx(D.TableCell,{children:"TYPE"})]})}),p.jsx(D.TableBody,{children:e.columns?.sort((n,r)=>n.name.localeCompare(r.name))?.map(n=>p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:n.name}),p.jsx(D.TableCell,{children:n.type})]},n.name))})]})})})]})}function wU({connectionName:e,schemaName:t,onTableSelect:n,resourceUri:r,connection:a}){const{projectName:o}=vt(r),{apiClients:s}=et.useServer(),[i,l]=W.useState(""),{data:u,isSuccess:c,isError:d,error:m,isLoading:f}=Jt({queryKey:["tablesInSchema",o,e,t],queryFn:()=>s.connections.listTables(o,e,t,!1)}),h=p0(a,t),b=x=>h?x:x.split(".").pop()||x,g=c&&u?.data?u.data.filter(x=>b(x.resource).toLowerCase().includes(i.toLowerCase())).sort((x,C)=>b(x.resource).localeCompare(b(C.resource))):[];return p.jsxs(p.Fragment,{children:[p.jsx(D.Typography,{variant:"overline",fontWeight:"bold",children:TU(t)||p0(a,t)?`Files in ${t}`:`Tables in ${t}`}),p.jsx(D.Divider,{}),p.jsx(D.Box,{sx:{mt:1,mb:1},children:p.jsx(D.TextField,{size:"small",fullWidth:!0,placeholder:"Search tables...",value:i,onChange:x=>l(x.target.value),variant:"outlined"})}),p.jsx(D.Divider,{}),p.jsxs(D.Box,{sx:{mt:"2px",maxHeight:"600px",overflowY:"auto"},children:[f&&p.jsx(tn,{text:"Fetching Tables..."}),d&&p.jsx(nn,{error:m,context:`${o} > ${e} > ${t}`}),c&&g.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Tables"}),c&&u?.data&&u.data.length>0&&p.jsx(D.List,{dense:!0,disablePadding:!0,children:g.map(x=>{let C=b(x.resource);return!h&&x.resource.includes("://")&&(C=x.resource.split("/").pop()||x.resource),p.jsx(D.ListItemButton,{onClick:()=>n(x.resource),children:p.jsx(D.ListItemText,{primary:C,secondary:x.columns.length>0?`${x.columns.length} columns`:void 0})},x.resource)})})]})]})}function _U({connection:e,onClick:t,onEdit:n,onDelete:r,isMutating:a,mutable:o,isAdding:s}){return p.jsxs(D.TableRow,{sx:{"&:hover":{backgroundColor:s?void 0:"action.hover"}},children:[p.jsx(D.TableCell,{sx:{cursor:s?"default":"pointer",flexGrow:1,opacity:s?.5:1},onClick:s?void 0:t,children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[p.jsx(D.Typography,{variant:"body2",children:e.name}),p.jsx(Do,{sx:{fontSize:"1rem",color:"action.active",opacity:.7}})]})}),p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",children:e.type})}),o&&p.jsxs(D.TableCell,{sx:{minWidth:"120px"},children:[p.jsx(vU,{connection:e,onSubmit:n,isSubmitting:a}),p.jsx(EU,{connection:e,onCloseDialog:()=>{},isMutating:a,onDelete:()=>r(e)})]})]},e.name)}function IU({resourceUri:e}){const{apiClients:t,mutable:n}=et.useServer(),r=Hr.useQueryClient(),{projectName:a}=vt(e),[o,s]=W.useState(""),[i,l]=W.useState(null),u=bi({projectName:a,connectionName:i}),{data:c,isSuccess:d,isError:m,error:f}=Jt({queryKey:["connections",a],queryFn:()=>t.connections.listConnections(a)}),h=E=>{l(E)},b=()=>{l(null)},g=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:[...c.data,E]}),onSuccess(){s("Connection added successfully"),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}}),x=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:c.data.map(k=>k.name===E.name?E:k)}),onSuccess(E,k){s(`Connection ${k.name} updated successfully`),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}}),C=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:c.data.filter(k=>k.name!==E.name)}),onSuccess(E,k){s(`Connection ${k.name} deleted successfully`),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}});return p.jsxs(p.Fragment,{children:[p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Database Connections"}),p.jsxs(D.Box,{sx:{mb:1,maxHeight:"200px",overflowY:"auto"},children:[!d&&!m&&p.jsx(D.Typography,{variant:"body2",sx:{m:"auto"},children:"Fetching Connections..."}),d&&c.data.length>0&&p.jsx(D.Table,{size:"small",sx:{borderCollapse:"collapse","& .MuiTableRow-root":{display:"flex",width:"100%"},"& .MuiTableCell-root":{borderBottom:"1px solid #e0e0e0",display:"flex",alignItems:"center"},"& .MuiTableRow-root:last-child .MuiTableCell-root":{borderBottom:"none"}},children:p.jsxs(D.TableBody,{children:[p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{sx:{flexGrow:1},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Connection Name"})}),p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Type"})}),n&&p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",sx:{mx:"auto"},children:"Actions"})})]}),c.data.map(E=>p.jsx(_U,{connection:E,onClick:()=>h(E.name),onEdit:k=>x.mutateAsync(k),onDelete:k=>{E.resource?s("Cannot delete this connection"):C.mutateAsync(k)},isMutating:g.isPending||x.isPending||C.isPending,mutable:n,isAdding:g.isPending},E.name))]})}),d&&c.data.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Connections"}),m&&p.jsx(nn,{error:f,context:`${a} > Connections`})]}),n&&p.jsx(D.Box,{sx:{display:"flex",justifyContent:"flex-end"},children:p.jsx(CU,{onSubmit:E=>g.mutateAsync(E),isSubmitting:g.isPending})})]})}),p.jsx(D.Snackbar,{open:o!=="",autoHideDuration:6e3,onClose:()=>s(""),message:o}),p.jsxs(D.Dialog,{open:i!==null,onClose:b,maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{children:["Connection Explorer: ",i,p.jsx(D.IconButton,{"aria-label":"close",onClick:b,sx:{position:"absolute",right:8,top:8},children:p.jsx(D.Box,{sx:{width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center"},children:"X"})})]}),p.jsx(D.DialogContent,{children:i&&p.jsx(T2,{resourceUri:u,connectionName:i,connection:c?.data?.find(E=>E.name===i)})})]})]})}function AU({resourceUri:e}){const{apiClients:t}=et.useServer(),{projectName:n,packageName:r,versionId:a}=vt(e),[o,s]=W.useState(!1),[i,l]=W.useState(null),u=g=>{l(g),s(!0)},c=()=>{s(!1),l(null)},{data:d,isError:m,error:f,isSuccess:h}=Jt({queryKey:["databases",n,r,a],queryFn:()=>t.databases.listDatabases(n,r,a)}),b=g=>g>=1024*1024*1024*1024?`${(g/(1024*1024*1024)).toFixed(2)} T`:g>=1024*1024*1024?`${(g/(1024*1024*1024)).toFixed(2)} G`:g>=1024*1024?`${(g/(1024*1024)).toFixed(2)} M`:`${(g/1024).toFixed(2)} K`;return p.jsxs(p.Fragment,{children:[p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Embedded Databases"}),p.jsxs(D.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:[!h&&!m&&p.jsx(tn,{text:"Fetching Databases..."}),m&&p.jsx(nn,{error:f,context:`${n} > ${r} > Databases`}),h&&d.data.length>0&&p.jsx(D.Table,{size:"small",sx:{borderCollapse:"collapse","& .MuiTableCell-root":{borderBottom:"1px solid #e0e0e0"},"& .MuiTableRow-root:last-child .MuiTableCell-root":{borderBottom:"none"}},children:p.jsxs(D.TableBody,{children:[p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Name"})}),p.jsx(D.TableCell,{align:"right",children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Rows"})})]}),d.data.map(g=>p.jsxs(D.TableRow,{onClick:()=>u(g),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}},children:[p.jsx(D.TableCell,{component:"th",scope:"row",children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[p.jsx(D.Typography,{variant:"body2",children:g.path}),p.jsx(Do,{sx:{fontSize:"1rem",color:"action.active",opacity:.7}})]})}),p.jsx(D.TableCell,{align:"right",children:p.jsx(D.Typography,{variant:"body2",children:b(g.info.rowCount)})})]},g.path))]})}),h&&d.data.length===0&&p.jsx(D.Typography,{variant:"body2",sx:{m:"auto"},children:"No databases found"})]})]})}),p.jsxs(D.Dialog,{open:o,onClose:c,maxWidth:"sm",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{children:[i?.path,p.jsx(D.IconButton,{"aria-label":"close",onClick:c,sx:{position:"absolute",right:8,top:8},children:p.jsx(D.Box,{sx:{width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center"},children:"X"})})]}),p.jsx(D.DialogContent,{children:i?.info?.columns&&p.jsx(D.TableContainer,{children:p.jsxs(D.Table,{size:"small",children:[p.jsx(D.TableHead,{children:p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:"Column"}),p.jsx(D.TableCell,{children:"Type"})]})}),p.jsx(D.TableBody,{children:i.info.columns.map(g=>p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{component:"th",scope:"row",children:g.name}),p.jsx(D.TableCell,{children:g.type})]},g.name))})]})})})]})]})}function DU(e){return Fe("MuiCollapse",e)}Re("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const PU=e=>{const{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return Le(r,DU,n)},RU=oe("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.state==="entered"&&t.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&t.hidden]}})(tt(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:t})=>t.state==="exited"&&!t.in&&t.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),MU=oe("div",{name:"MuiCollapse",slot:"Wrapper"})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),NU=oe("div",{name:"MuiCollapse",slot:"WrapperInner"})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),ti=w.forwardRef(function(t,n){const r=Xe({props:t,name:"MuiCollapse"}),{addEndListener:a,children:o,className:s,collapsedSize:i="0px",component:l,easing:u,in:c,onEnter:d,onEntered:m,onEntering:f,onExit:h,onExited:b,onExiting:g,orientation:x="vertical",style:C,timeout:E=I0.standard,TransitionComponent:k=Zn,...T}=r,S={...r,orientation:x,collapsedSize:i},O=PU(S),N=oa(),$=wu(),P=w.useRef(null),L=w.useRef(),v=typeof i=="number"?`${i}px`:i,M=x==="horizontal",_=M?"width":"height",A=w.useRef(null),R=ot(n,A),H=q=>ee=>{if(q){const X=A.current;ee===void 0?q(X):q(X,ee)}},U=()=>P.current?P.current[M?"clientWidth":"clientHeight"]:0,j=H((q,ee)=>{P.current&&M&&(P.current.style.position="absolute"),q.style[_]=v,d&&d(q,ee)}),I=H((q,ee)=>{const X=U();P.current&&M&&(P.current.style.position="");const{duration:ne,easing:Q}=Ao({style:C,timeout:E,easing:u},{mode:"enter"});if(E==="auto"){const G=N.transitions.getAutoHeightDuration(X);q.style.transitionDuration=`${G}ms`,L.current=G}else q.style.transitionDuration=typeof ne=="string"?ne:`${ne}ms`;q.style[_]=`${X}px`,q.style.transitionTimingFunction=Q,f&&f(q,ee)}),K=H((q,ee)=>{q.style[_]="auto",m&&m(q,ee)}),re=H(q=>{q.style[_]=`${U()}px`,h&&h(q)}),F=H(b),fe=H(q=>{const ee=U(),{duration:X,easing:ne}=Ao({style:C,timeout:E,easing:u},{mode:"exit"});if(E==="auto"){const Q=N.transitions.getAutoHeightDuration(ee);q.style.transitionDuration=`${Q}ms`,L.current=Q}else q.style.transitionDuration=typeof X=="string"?X:`${X}ms`;q.style[_]=v,q.style.transitionTimingFunction=ne,g&&g(q)}),Z=q=>{E==="auto"&&$.start(L.current||0,q),a&&a(A.current,q)};return p.jsx(k,{in:c,onEnter:j,onEntered:K,onEntering:I,onExit:re,onExited:F,onExiting:fe,addEndListener:Z,nodeRef:A,timeout:E==="auto"?null:E,...T,children:(q,{ownerState:ee,...X})=>p.jsx(RU,{as:l,className:De(O.root,s,{entered:O.entered,exited:!c&&v==="0px"&&O.hidden}[q]),style:{[M?"minWidth":"minHeight"]:v,...C},ref:R,ownerState:{...S,state:q},...X,children:p.jsx(MU,{ownerState:{...S,state:q},className:O.wrapper,ref:P,children:p.jsx(NU,{ownerState:{...S,state:q},className:O.wrapperInner,children:o})})})})});ti&&(ti.muiSupportAuto=!0);function OU(e){return Fe("PrivateSwitchBase",e)}Re("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const LU=e=>{const{classes:t,checked:n,disabled:r,edge:a}=e,o={root:["root",n&&"checked",r&&"disabled",a&&`edge${Se(a)}`],input:["input"]};return Le(o,OU,t)},FU=oe(La,{name:"MuiSwitchBase"})({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e==="start"&&t.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e==="end"&&t.size!=="small",style:{marginRight:-12}}]}),$U=oe("input",{name:"MuiSwitchBase",shouldForwardProp:gn})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),BU=w.forwardRef(function(t,n){const{autoFocus:r,checked:a,checkedIcon:o,defaultChecked:s,disabled:i,disableFocusRipple:l=!1,edge:u=!1,icon:c,id:d,inputProps:m,inputRef:f,name:h,onBlur:b,onChange:g,onFocus:x,readOnly:C,required:E=!1,tabIndex:k,type:T,value:S,slots:O={},slotProps:N={},...$}=t,[P,L]=An({controlled:a,default:!!s,name:"SwitchBase",state:"checked"}),v=Jn(),M=Z=>{x&&x(Z),v&&v.onFocus&&v.onFocus(Z)},_=Z=>{b&&b(Z),v&&v.onBlur&&v.onBlur(Z)},A=Z=>{if(Z.nativeEvent.defaultPrevented)return;const q=Z.target.checked;L(q),g&&g(Z,q)};let R=i;v&&typeof R>"u"&&(R=v.disabled);const H=T==="checkbox"||T==="radio",U={...t,checked:P,disabled:R,disableFocusRipple:l,edge:u},j=LU(U),I={slots:O,slotProps:{input:m,...N}},[K,re]=ct("root",{ref:n,elementType:FU,className:j.root,shouldForwardComponentProp:!0,externalForwardedProps:{...I,component:"span",...$},getSlotProps:Z=>({...Z,onFocus:q=>{Z.onFocus?.(q),M(q)},onBlur:q=>{Z.onBlur?.(q),_(q)}}),ownerState:U,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:R,role:void 0,tabIndex:null}}),[F,fe]=ct("input",{ref:f,elementType:$U,className:j.input,externalForwardedProps:I,getSlotProps:Z=>({...Z,onChange:q=>{Z.onChange?.(q),A(q)}}),ownerState:U,additionalProps:{autoFocus:r,checked:a,defaultChecked:s,disabled:R,id:H?d:void 0,name:h,readOnly:C,required:E,tabIndex:k,type:T,...T==="checkbox"&&S===void 0?{}:{value:S}}});return p.jsxs(K,{...re,children:[p.jsx(F,{...fe}),P?o:c]})}),jU=nt(p.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"})),HU=nt(p.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})),UU=nt(p.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}));function zU(e){return Fe("MuiCheckbox",e)}const Hc=Re("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),VU=e=>{const{classes:t,indeterminate:n,color:r,size:a}=e,o={root:["root",n&&"indeterminate",`color${Se(r)}`,`size${Se(a)}`]},s=Le(o,zU,t);return{...t,...s}},WU=oe(BU,{shouldForwardProp:e=>gn(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${Se(n.size)}`],n.color!=="default"&&t[`color${Se(n.color)}`]]}})(tt(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(mn()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(mn()).map(([t])=>({props:{color:t},style:{[`&.${Hc.checked}, &.${Hc.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Hc.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),qU=p.jsx(HU,{}),YU=p.jsx(jU,{}),GU=p.jsx(UU,{}),k2=w.forwardRef(function(t,n){const r=Xe({props:t,name:"MuiCheckbox"}),{checkedIcon:a=qU,color:o="primary",icon:s=YU,indeterminate:i=!1,indeterminateIcon:l=GU,inputProps:u,size:c="medium",disableRipple:d=!1,className:m,slots:f={},slotProps:h={},...b}=r,g=i?l:s,x=i?l:a,C={...r,disableRipple:d,color:o,indeterminate:i,size:c},E=VU(C),k=h.input??u,[T,S]=ct("root",{ref:n,elementType:WU,className:De(E.root,m),shouldForwardComponentProp:!0,externalForwardedProps:{slots:f,slotProps:h,...b},ownerState:C,additionalProps:{type:"checkbox",icon:w.cloneElement(g,{fontSize:g.props.fontSize??c}),checkedIcon:w.cloneElement(x,{fontSize:x.props.fontSize??c}),disableRipple:d,slots:f,slotProps:{input:L0(typeof k=="function"?k(C):k,{"data-indeterminate":i})}}});return p.jsx(T,{...S,classes:E})});function S2(e){return _t}const w2=w.createContext(null);function KU(e){const{value:t,children:n}=e;return p.jsx(w2.Provider,{value:t,children:t.wrapRoot({children:n,instance:t.instance})})}const Wa=()=>{const e=w.useContext(w2);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
228
+ `),N=!!e.text&&(T.test(e.text)||S.test(e.text)),$=()=>{if(!e.newSources||e.newSources.length===0)return 0;let M=[],_="";if(e.text){const A=e.text.match(T);A&&(M=A[1].split(",").map(H=>H.trim()));const R=e.text.match(S);R&&(_=R[1].trim())}for(let A=0;A<e.newSources.length;A++)try{const R=JSON.parse(e.newSources[A]);if(M.length>0&&M.includes(R.name)||_&&_===R.path)return A}catch{continue}return 0},P=e.newSources&&e.newSources.length>0?{sourceInfos:e.newSources,resource:r}:void 0,L=gf({query:e.text,resourceUri:r});W.useEffect(()=>{e.type==="code"&&Hl(O(e.text),"malloy").then(M=>{h(M)})},[e]),W.useEffect(()=>{Hl(L,"typescript").then(M=>{g(M)})},[L]);const v=()=>{const M=window.location.href;navigator.clipboard.writeText(M).then(()=>k("URL copied to clipboard!")).catch(()=>k("Failed to copy URL"))};return e.type==="markdown"&&p.jsx(Qc,{children:p.jsxs(D.Box,{sx:{"& h1, & h2, & h3, & h4, & h5, & h6":{fontWeight:"600",color:"#1a1a1a",marginBottom:"8px",marginTop:"16px"},"& h1":{fontSize:"28px"},"& h2":{fontSize:"24px"},"& h3":{fontSize:"20px"},"& p":{color:"#333333",lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& ul, & ol":{color:"#333333",lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& li":{marginBottom:"4px"}},children:[a===0?p.jsxs(D.Stack,{direction:"row",alignItems:"flex-start",justifyContent:"space-between",children:[p.jsx(gl,{children:e.text}),p.jsx(D.Tooltip,{title:"Click to copy link",children:p.jsx(Xd,{sx:{fontSize:"24px",color:"#666666",cursor:"pointer",marginTop:"26px"},onClick:v})})]}):p.jsx(gl,{children:e.text}),p.jsx(D.Snackbar,{open:E!=="",autoHideDuration:6e3,onClose:()=>k(""),message:E})]})})||e.type==="code"&&p.jsxs(Qc,{children:[(!t||!n&&e.result||e.newSources&&e.newSources.length>0)&&p.jsx(D.Stack,{sx:{flexDirection:"column",gap:"8px",marginBottom:"2px"},children:e.newSources&&e.newSources.length>0&&p.jsx(Gi,{sx:{position:"relative",padding:"0"},children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"24px",paddingRight:"8px"},children:[f&&p.jsx("span",{dangerouslySetInnerHTML:{__html:f},style:{fontFamily:"monospace",fontSize:"14px",flex:1,marginRight:"8px"}}),N&&p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px",flexShrink:0},onClick:()=>C(!0),children:p.jsx(Do,{sx:{fontSize:"18px",color:"#666666"}})})]})})}),p.jsx(ff,{open:x,onClose:()=>C(!1),title:"Data Sources",hasValidImport:N,resourceUri:r,data:P,initialSelectedSourceIndex:$()}),p.jsxs(D.Dialog,{open:i,onClose:()=>l(!1),maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Malloy Code",p.jsx(D.IconButton,{onClick:()=>l(!1),sx:{color:"#666666"},children:p.jsx(aa,{})})]}),p.jsx(D.DialogContent,{children:p.jsx(D.Box,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",padding:"16px",fontFamily:"monospace",fontSize:"14px",lineHeight:"1.5",overflow:"auto",maxHeight:"70vh",backgroundColor:"#ffffff"},children:p.jsx("pre",{className:"code-display",style:{margin:0},dangerouslySetInnerHTML:{__html:f}})})})]}),p.jsxs(D.Dialog,{open:u,onClose:()=>c(!1),maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Embeddable Code",p.jsx(D.IconButton,{onClick:()=>c(!1),sx:{color:"#666666"},children:p.jsx(aa,{})})]}),p.jsx(D.DialogContent,{children:p.jsxs(D.Stack,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"flex-start"},children:[p.jsx(D.Typography,{component:"div",sx:{fontSize:"12px",fontFamily:"monospace","& .line":{textWrap:"wrap"},flex:1},dangerouslySetInnerHTML:{__html:b}}),p.jsx(D.Tooltip,{title:"Copy Embeddable Code",children:p.jsx(D.IconButton,{sx:{width:"24px",height:"24px",marginLeft:"8px",color:"#666666"},onClick:()=>{navigator.clipboard.writeText(L)},children:p.jsx(mU,{})})})]})})]}),p.jsx(h2,{open:d,onClose:()=>m(!1),result:e.result||"",title:"Results"}),s&&!e.result&&!N&&!(e.newSources&&e.newSources.length>0)&&p.jsx(Gi,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:p.jsx(D.CircularProgress,{size:32})}),e.result&&p.jsxs(Gi,{sx:{position:"relative"},children:[p.jsx(D.Box,{sx:{paddingTop:"24px"},children:p.jsx(Uo,{result:e.result,maxHeight:700,maxResultSize:o})}),p.jsxs(D.Stack,{sx:{position:"absolute",top:"8px",right:"8px",flexDirection:"row",gap:"8px",alignItems:"center",zIndex:2},children:[!t&&p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:M=>{M.stopPropagation(),l(!0)},children:p.jsx(B0,{sx:{fontSize:"18px",color:"#666666"}})}),p.jsx(D.IconButton,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:()=>m(!0),children:p.jsx(Do,{sx:{fontSize:"18px",color:"#666666"}})})]})]})]})}const bU=4;function C2({resourceUri:e,maxResultSize:t=0,retrievalFn:n}){const{apiClients:r}=et.useServer(),{projectName:a,packageName:o,versionId:s,modelPath:i}=vt(e),{data:l,isSuccess:u,isError:c,error:d}=Jt({queryKey:[e],queryFn:async()=>(await r.notebooks.getNotebook(a,o,i,s)).data}),[m,f]=W.useState([]),[h,b]=W.useState(!1),[g,x]=W.useState(null),C=W.useMemo(()=>l?s2(l.annotations):null,[l]),E=W.useMemo(()=>l?.notebookCells?l2(l.notebookCells):null,[l]),k=W.useMemo(()=>E?.sourceInfoMap??new Map,[E]),T=E?.modelPath??null,S=W.useMemo(()=>!C||k.size===0||!T?[]:u2(k,C.filters,T),[C,k,T]),{filterStates:O,updateFilter:N,getActiveFilters:$}=hf({dimensionSpecs:S}),P=W.useMemo(()=>$(),[O,$]),L=W.useMemo(()=>{const H=new Map;for(const U of S){const j=jr(U);H.set(j,U.source)}return H},[S]),v=W.useMemo(()=>{const H=new Map;for(const[U,j]of k)H.set(U,o2(j));return H},[k]),{data:M}=mf({project:a,package:o,dimensionSpecs:S,versionId:s,enabled:S.length>0,activeFilters:P}),_=W.useCallback(async(H=[])=>{if(!(!u||!l?.notebookCells)){f(U=>U.length===0?l.notebookCells.map(j=>({...j})):U.map(j=>({...j,result:void 0}))),b(!0),x(null);try{const U=[];for(let I=0;I<l.notebookCells.length;I++){const K=l.notebookCells[I];if(K.type==="markdown")continue;const re=K.text||"",F=re.includes("run:")||re.includes("->")||/^\s*(run|query)\s*:/m.test(re),fe=I,Z=async()=>{try{let q,ee;if(F&&T&&H.length>0){let X=re;if(H.length>0){const Q=d2(re),G=Q&&v.get(Q)||new Set,se=Q?H.filter(J=>J.source===Q||G.has(J.source)):[];if(se.length>0){const J=c2(se,L,Q);J&&(X=p2(re,J))}}q=(await r.models.executeQueryModel(a,o,T,{query:X,versionId:s})).data.result}else{const ne=(await r.notebooks.executeNotebookCell(a,o,i,fe,s)).data;q=ne.result,ee=K.newSources||ne.newSources}f(X=>{const ne=[...X];return ne[fe]||(ne[fe]={...K}),ne[fe]={...ne[fe],result:q,newSources:ee},ne})}catch(q){console.error(`Error executing cell ${fe}:`,q)}};U.push(Z)}const j=[];for(const I of U){const K=I().then(()=>{j.splice(j.indexOf(K),1)});j.push(K),j.length>=bU&&await Promise.race(j)}await Promise.all(j)}catch(U){console.error("Error executing notebook cells:",U),x(U)}finally{b(!1)}}},[u,l,T,L,v,a,o,i,s,r.models,r.notebooks]);W.useEffect(()=>{!u||!l?.notebookCells||_([])},[u,l,_]);const A=W.useRef("");W.useEffect(()=>{const H=JSON.stringify(P.map(U=>({dim:U.dimensionName,type:U.matchType,val:U.value,val2:U.value2})));if(H!==A.current){if(A.current===""&&P.length===0){A.current=H;return}A.current=H,h||_(P)}},[P,h,_]);const R=W.useCallback(H=>U=>{N(H,U)},[N]);return S.some(H=>H.filterType==="Retrieval"),p.jsx(Rv,{children:p.jsx(Mv,{children:p.jsxs(D.Stack,{spacing:3,component:"section",children:[S.length>0&&M&&p.jsxs(D.Paper,{elevation:0,sx:{p:3,backgroundColor:"#ffffff",border:"1px solid #f0f0f0",borderRadius:2,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.04)",transition:"box-shadow 0.2s ease-in-out","&:hover":{boxShadow:"0 2px 6px rgba(0, 0, 0, 0.08)"}},children:[p.jsx(D.Typography,{variant:"subtitle2",sx:{fontWeight:600,mb:2,color:"#333"},children:"Filters"}),p.jsx(D.Box,{sx:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(250px, 1fr))",gap:3},children:S.map(H=>{const U=jr(H),j=M.get(U)||[],I=O.get(U);return H.filterType==="Retrieval"&&!n?null:p.jsx(D.Box,{children:p.jsx(a2,{spec:H,values:j,selection:I?.selection,onChange:R(U),retrievalFn:n})},U)})})]}),!u&&!c&&p.jsx(tn,{text:"Fetching Notebook..."}),u&&(m.length>0?m:l?.notebookCells||[]).map((H,U)=>p.jsx(gU,{cell:H,index:U,resourceUri:e,maxResultSize:t,isExecuting:h},U)),c&&d.status===404&&p.jsxs(D.Typography,{variant:"body2",sx:{color:"#666666"},children:[p.jsx("code",{children:`${a} > ${o} > ${i}`})," ","not found."]}),c&&d.status!==404&&p.jsx(nn,{error:d,context:`${a} > ${o} > ${i}`}),g&&p.jsx(nn,{error:{message:g.message,status:500,name:"ExecutionError"},context:"Notebook Execution"})]})})})}const E2=nt(p.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}));function yU({resourceUri:e}){const{apiClients:t}=et.useServer(),{projectName:n,packageName:r,versionId:a}=vt(e),{data:o,isSuccess:s,isError:i,error:l}=Jt({queryKey:["package",n,r,a],queryFn:()=>t.packages.getPackage(n,r,a,!1)});return p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Package Config"}),p.jsx(D.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:p.jsxs(D.List,{dense:!0,disablePadding:!0,children:[p.jsx(D.ListItem,{dense:!0,disablePadding:!0,children:p.jsx(D.ListItemText,{primary:"Name",primaryTypographyProps:{fontWeight:"500"},secondary:r})}),!s&&!i&&p.jsx(D.ListItem,{children:p.jsx(tn,{text:"Fetching Package Metadata..."})}),s&&(o.data&&p.jsx(D.ListItem,{dense:!0,disablePadding:!0,children:p.jsx(D.ListItemText,{primary:"Description",primaryTypographyProps:{fontWeight:"500"},secondary:o.data.description})})||p.jsxs(D.ListItem,{disablePadding:!0,dense:!0,sx:{mt:"20px"},children:[p.jsx(E2,{sx:{color:"grey.600",mr:"10px"}}),p.jsx(D.ListItemText,{primary:"No package manifest"})]})),i&&p.jsx(nn,{error:l,context:`${n} > ${r} > ${a}`})]})})]})})}const v2=nt(p.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"})),Or={postgres:[{label:"Host",name:"host",type:"text",required:!1},{label:"Port",name:"port",type:"number",required:!1},{label:"Database Name",name:"databaseName",type:"text",required:!1},{label:"User Name",name:"userName",type:"text",required:!1},{label:"Password",name:"password",type:"password",required:!1},{label:"Connection String",name:"connectionString",type:"text",required:!1}],bigquery:[{label:"Project ID",name:"defaultProjectId",type:"text",required:!1},{label:"Billing Project ID",name:"billingProjectId",type:"text",required:!1},{label:"Location",name:"location",type:"text",required:!1},{label:"Service Account Key JSON",name:"serviceAccountKeyJson",type:"text",required:!0},{label:"Maximum Bytes Billed",name:"maximumBytesBilled",type:"text",required:!1},{label:"Query Timeout Milliseconds",name:"queryTimeoutMilliseconds",type:"text",required:!1}],snowflake:[{label:"Account",name:"account",type:"text",required:!0},{label:"Username",name:"username",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!1},{label:"Role",name:"role",type:"text",required:!1},{label:"Warehouse",name:"warehouse",type:"text",required:!0},{label:"Database",name:"database",type:"text",required:!1},{label:"Schema",name:"schema",type:"text",required:!1},{label:"Response Timeout Milliseconds",name:"responseTimeoutMilliseconds",type:"text",required:!1},{label:"Private Key",name:"privateKey",type:"password",required:!1},{label:"Private Key Passphrase",name:"privateKeyPass",type:"password",required:!1}],trino:[{label:"Server",name:"server",type:"text",required:!0},{label:"Port",name:"port",type:"number",required:!1},{label:"Catalog",name:"catalog",type:"text",required:!1},{label:"Schema",name:"schema",type:"text",required:!1},{label:"User",name:"user",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!1},{label:"Peaka Key",name:"peakaKey",type:"password",required:!1}],mysql:[{label:"Host",name:"host",type:"text",required:!0},{label:"Port",name:"port",type:"number",required:!0},{label:"User",name:"user",type:"text",required:!0},{label:"Password",name:"password",type:"password",required:!0},{label:"Database",name:"database",type:"text",required:!0}],duckdb:[],motherduck:[{label:"Access Token",name:"accessToken",type:"text",required:!0},{label:"Database",name:"database",type:"text",required:!1}],ducklake:[]},fl={postgres:"postgresConnection",bigquery:"bigqueryConnection",snowflake:"snowflakeConnection",trino:"trinoConnection",mysql:"mysqlConnection",duckdb:"duckdbConnection",motherduck:"motherduckConnection",ducklake:"ducklakeConnection"},Hd={postgres:"postgresConnection",bigquery:"bigqueryConnection",snowflake:"snowflakeConnection",gcs:"gcsConnection",s3:"s3Connection",azure:"azureConnection"},Js=[{label:"Access Key ID",name:"accessKeyId",type:"text",required:!0},{label:"Secret Access Key",name:"secretAccessKey",type:"password",required:!0},{label:"Region",name:"region",type:"text",required:!1},{label:"Endpoint",name:"endpoint",type:"text",required:!1},{label:"Session Token",name:"sessionToken",type:"password",required:!1}],ei=[{label:"Key ID",name:"keyId",type:"text",required:!0},{label:"Secret",name:"secret",type:"password",required:!0}],xU=[{label:"Auth Type",name:"authType",type:"text",required:!0,selectOptions:[{label:"SAS Token",value:"sas_token"},{label:"Service Principal (SPN)",value:"service_principal"}]},{label:"SAS URL (e.g. https://account.blob.core.windows.net/container/file.parquet?sp=r&st=...)",name:"sasUrl",type:"text",required:!1,visibleWhen:{field:"authType",value:"sas_token"}},{label:"Tenant ID",name:"tenantId",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Client ID",name:"clientId",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Client Secret",name:"clientSecret",type:"password",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"Account Name",name:"accountName",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}},{label:"File URL (e.g. abfss://container/path/file.parquet)",name:"fileUrl",type:"text",required:!1,visibleWhen:{field:"authType",value:"service_principal"}}];function Ql(e){return e==="postgres"||e==="bigquery"||e==="snowflake"?Or[e]||[]:e==="s3"?Js:e==="gcs"?ei:e==="azure"?xU:[]}function CU({onSubmit:e,isSubmitting:t}){const[n,r]=W.useState(!1),[a,o]=W.useState("postgres"),[s,i]=W.useState([]),[l,u]=W.useState("postgres"),[c,d]=W.useState("s3"),m=()=>{r(!0)},f=()=>{r(!1),i([]),o("postgres"),u("postgres"),d("s3")},h=async C=>{C.preventDefault();const E=new FormData(C.currentTarget),k=E.get("name")?.toString(),T=E.get("type")?.toString(),S=Or[T];if(!k)throw new Error("Name is required");if(!T)throw new Error("Type is required");let O;if(T==="ducklake"){const N={};if(l==="postgres"){const L=Or.postgres,v={};if(L.forEach(M=>{const _=E.get(`ducklake_pg_${M.name}`)?.toString();_&&(v[M.name]=_)}),Object.keys(v).length===0)throw new Error("DuckLake requires catalog connection");N.postgresConnection=v}const $=E.get("ducklake_bucketUrl")?.toString();if(!$)throw new Error("DuckLake requires a bucket URL");const P={bucketUrl:$};if(c==="s3"){const L={};if(Js.forEach(v=>{const M=E.get(`ducklake_s3_${v.name}`)?.toString();M&&(L[v.name]=M)}),!L.accessKeyId)throw new Error("S3 Access Key ID is required");if(!L.secretAccessKey)throw new Error("S3 Secret Access Key is required");Object.keys(L).length>0&&(P.s3Connection=L)}else if(c==="gcs"){const L={};if(ei.forEach(v=>{const M=E.get(`ducklake_gcs_${v.name}`)?.toString();M&&(L[v.name]=M)}),!L.keyId)throw new Error("GCS Key ID is required");if(!L.secret)throw new Error("GCS Secret is required");Object.keys(L).length>0&&(P.gcsConnection=L)}O={name:k,type:T,ducklakeConnection:{catalog:N,storage:P}}}else if(T==="duckdb"){if(s.length===0)throw new Error("DuckDB connection must have at least one attached database");const N=s.map(($,P)=>{const L=$.dbType,v=E.get(`attachedDb_${P}_name`)?.toString();if(!v)throw new Error(`Attached database at index ${P} must have a name`);const M={name:v,type:L},_=Ql(L);if(_&&_.length>0){const A={};_.forEach(H=>{const U=E.get(`attachedDb_${P}_${H.name}`)?.toString();U&&(A[H.name]=U)});const R=Hd[L];R&&(M[R]=A)}return M});O={name:k,type:T,duckdbConnection:{attachedDatabases:N}}}else{const N={};if(S.forEach($=>{const P=E.get($.name)?.toString();P&&(N[$.name]=P)}),T==="postgres"){if(!!!N.connectionString?.trim()){const P=["host","port","databaseName","userName","password"];for(const L of P)if(!N[L])throw new Error(`${S.find(v=>v.name===L)?.label||L} is required`)}}else if(T==="bigquery"){if(!N.serviceAccountKeyJson)throw new Error("Service Account Key JSON is required")}else if(T==="snowflake"){if(!N.account)throw new Error("Account is required");if(!N.username)throw new Error("Username is required");if(!N.warehouse)throw new Error("Warehouse is required");if(!N.password&&!N.privateKey)throw new Error("Either password or private key is required")}else if(T==="trino"){if(!N.server)throw new Error("Server is required");if(!N.user)throw new Error("User is required");if(N.server.trim().startsWith("https://")&&!N.password&&!N.peakaKey)throw new Error("Password is required for HTTPS connections (or use Peaka Key)")}else if(T==="mysql"){const $=["host","port","database","user","password"];for(const P of $)if(!N[P])throw new Error(`${S.find(L=>L.name===P)?.label||P} is required`)}else if(T==="motherduck"&&!N.accessToken)throw new Error("Access Token is required");O={name:k,type:T,[fl[T]]:N}}await e(O),f()},b=()=>{i([...s,{name:"",dbType:"postgres"}])},g=C=>{i(s.filter((E,k)=>k!==C))},x=(C,E)=>{const k=[...s];k[C]={...k[C],dbType:E},i(k)};return p.jsxs(W.Fragment,{children:[p.jsx(wt,{variant:"outlined",onClick:m,children:"Add Connection"}),p.jsxs(wr,{open:n,onClose:f,children:[p.jsx(Wr,{children:"Create New Connection"}),p.jsxs(Sr,{children:[p.jsx(Wo,{children:"Add a new connection to query your data database using Malloy."}),p.jsxs("form",{onSubmit:h,id:"connection-form",children:[p.jsx(Qe,{autoFocus:!0,required:!0,margin:"dense",id:"name",name:"name",label:"Connection Name",type:"text",fullWidth:!0,variant:"standard"}),p.jsx(Qe,{margin:"dense",id:"type",name:"type",label:"Connection Type",fullWidth:!0,variant:"standard",value:a,select:!0,onChange:C=>o(C.target.value),children:Object.values(et.ConnectionTypeEnum).map(C=>p.jsx(on,{value:C,children:C},C))}),a==="ducklake"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Catalog"}),p.jsx(Qe,{margin:"dense",id:"ducklake_catalogType",label:"Catalog Type",fullWidth:!0,variant:"standard",value:l,select:!0,onChange:C=>u(C.target.value),children:p.jsx(on,{value:"postgres",children:"PostgreSQL"})}),l==="postgres"&&p.jsx(p.Fragment,{children:Or.postgres.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_pg_${C.name}`,name:`ducklake_pg_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard"},`pg_${C.name}`))})]}),p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Storage"}),p.jsxs(Qe,{margin:"dense",id:"ducklake_storageType",label:"Storage Type",fullWidth:!0,variant:"standard",value:c,select:!0,onChange:C=>d(C.target.value),children:[p.jsx(on,{value:"s3",children:"S3"}),p.jsx(on,{value:"gcs",children:"GCS"})]}),p.jsx(Qe,{margin:"dense",required:!0,id:"ducklake_bucketUrl",name:"ducklake_bucketUrl",label:c==="s3"?"Bucket URL (e.g. s3://my-bucket/path)":"Bucket URL (e.g. gs://my-bucket/path)",type:"text",fullWidth:!0,variant:"standard"}),c==="s3"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"S3 Credentials"}),Js.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_s3_${C.name}`,name:`ducklake_s3_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required,placeholder:C.name==="region"?"us-east-1":void 0},`s3_${C.name}`))]}),c==="gcs"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"GCS Credentials"}),ei.map(C=>p.jsx(Qe,{margin:"dense",id:`ducklake_gcs_${C.name}`,name:`ducklake_gcs_${C.name}`,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required},`gcs_${C.name}`))]})]})]}):a==="duckdb"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsx(yt,{variant:"subtitle1",fontWeight:500,children:"Attached Databases"}),p.jsx(wt,{startIcon:p.jsx(Kd,{}),onClick:b,size:"small",variant:"outlined",children:"Add Database"})]}),s.length===0&&p.jsx(yt,{variant:"body2",color:"text.secondary",sx:{mb:2},children:'DuckDB connections require at least one attached database. Click "Add Database" to get started.'}),s.map((C,E)=>{const k=Ql(C.dbType);return p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsxs(yt,{variant:"subtitle2",children:["Database ",E+1]}),p.jsx(Mn,{onClick:()=>g(E),size:"small",color:"error",children:p.jsx(v2,{fontSize:"small"})})]}),p.jsx(Qe,{margin:"dense",required:!0,id:`attachedDb_${E}_name`,name:`attachedDb_${E}_name`,label:"Database Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:C.name}),p.jsx(Qe,{margin:"dense",id:`attachedDb_${E}_type`,name:`attachedDb_${E}_type`,label:"Database Type",fullWidth:!0,variant:"standard",value:C.dbType,select:!0,onChange:T=>x(E,T.target.value),children:Object.values(et.AttachedDatabaseTypeEnum).map(T=>p.jsx(on,{value:T,children:T},T))}),k.filter(T=>T.visibleWhen?(C[T.visibleWhen.field]||k.find(O=>O.name===T.visibleWhen?.field)?.selectOptions?.[0]?.value)===T.visibleWhen.value:!0).map(T=>p.jsx(Qe,{margin:"dense",id:`attachedDb_${E}_${T.name}`,name:`attachedDb_${E}_${T.name}`,label:T.label,type:T.selectOptions?void 0:T.type,fullWidth:!0,variant:"standard",required:T.required,select:!!T.selectOptions,defaultValue:T.selectOptions?.[0]?.value,onChange:T.selectOptions?S=>{const O=[...s];O[E]={...O[E],[T.name]:S.target.value},i(O)}:void 0,children:T.selectOptions?.map(S=>p.jsx(on,{value:S.value,children:S.label},S.value))},T.name))]},E)})]}):Or[a].map(C=>p.jsx(Qe,{margin:"dense",id:C.name,name:C.name,label:C.label,type:C.type,fullWidth:!0,variant:"standard",required:C.required},C.name))]})]}),p.jsxs(kr,{children:[p.jsx(wt,{disabled:t,onClick:f,children:"Cancel"}),p.jsx(wt,{type:"submit",form:"connection-form",loading:t,children:"Create Connection"})]})]})]})}function EU({connection:e,onCloseDialog:t,isMutating:n,onDelete:r}){const[a,o]=W.useState(!1),[s,i]=W.useState(""),l=()=>{o(!0)},u=()=>{o(!1),t()};return p.jsxs(W.Fragment,{children:[p.jsx(Mn,{onClick:c=>{c.stopPropagation(),l()},children:p.jsx(Pn.Delete,{})}),p.jsxs(wr,{onClose:u,"aria-labelledby":"customized-dialog-title",open:a,children:[p.jsx(Wr,{sx:{m:0,p:2},id:"customized-dialog-title",children:"Delete Connection"}),p.jsx(Mn,{"aria-label":"close",onClick:u,sx:c=>({position:"absolute",right:8,top:8,color:c.palette.grey[500]}),children:p.jsx(aa,{})}),p.jsx(Sr,{dividers:!0,children:p.jsxs(yt,{gutterBottom:!0,children:['Are you sure you want to delete "',e.name,'"? This action cannot be undone.']})}),p.jsx(kr,{children:p.jsx(wt,{loading:n,variant:"contained",autoFocus:!0,onClick:()=>r(),color:"error",children:"Delete"})}),p.jsx(D.Snackbar,{open:s!=="",autoHideDuration:6e3,onClose:()=>i(""),message:s})]})]})}function c0(e){const t=e.duckdbConnection?.attachedDatabases;return!t||t.length===0?[]:t.map(n=>({name:n.name||"",dbType:n.type||"postgres"}))}function d0(e){const t=e.ducklakeConnection;return t&&t.storage?.gcsConnection?"gcs":"s3"}function vU({connection:e,onSubmit:t,isSubmitting:n}){const[r,a]=W.useState(!1),[o,s]=W.useState(e.type),[i,l]=W.useState(()=>c0(e)),[u,c]=W.useState("postgres"),[d,m]=W.useState(()=>d0(e)),f=()=>{l(c0(e)),s(e.type),c("postgres"),m(d0(e)),a(!0)},h=()=>{a(!1)},b=async T=>{T.preventDefault();const S=new FormData(T.currentTarget),O=S.get("name")?.toString(),N=S.get("type")?.toString(),$=Or[N];if(!O)throw new Error("Name is required");if(!N)throw new Error("Type is required");let P;if(N==="ducklake"){const L={};if(u==="postgres"){const _=Or.postgres,A={};if(_.forEach(R=>{const H=S.get(`ducklake_pg_${R.name}`)?.toString();H&&(A[R.name]=H)}),Object.keys(A).length===0)throw new Error("DuckLake requires catalog connection");L.postgresConnection=A}const v=S.get("ducklake_bucketUrl")?.toString();if(!v)throw new Error("DuckLake requires a bucket URL");const M={bucketUrl:v};if(d==="s3"){const _={};Js.forEach(R=>{const H=S.get(`ducklake_s3_${R.name}`)?.toString();H&&(_[R.name]=H)});const A=e.ducklakeConnection?.storage?.s3Connection;if(A&&(!_.accessKeyId&&A.accessKeyId&&(_.accessKeyId=A.accessKeyId),!_.secretAccessKey&&A.secretAccessKey&&(_.secretAccessKey=A.secretAccessKey)),!_.accessKeyId)throw new Error("S3 Access Key ID is required");if(!_.secretAccessKey)throw new Error("S3 Secret Access Key is required");Object.keys(_).length>0&&(M.s3Connection=_)}else if(d==="gcs"){const _={};ei.forEach(R=>{const H=S.get(`ducklake_gcs_${R.name}`)?.toString();H&&(_[R.name]=H)});const A=e.ducklakeConnection?.storage?.gcsConnection;if(A&&(!_.keyId&&A.keyId&&(_.keyId=A.keyId),!_.secret&&A.secret&&(_.secret=A.secret)),!_.keyId)throw new Error("GCS Key ID is required");if(!_.secret)throw new Error("GCS Secret is required");Object.keys(_).length>0&&(M.gcsConnection=_)}P={name:O,type:N,ducklakeConnection:{catalog:L,storage:M}}}else if(N==="duckdb"){if(i.length===0)throw new Error("DuckDB connection must have at least one attached database");const L=i.map((v,M)=>{const _=v.dbType,A=S.get(`attachedDb_${M}_name`)?.toString();if(!A)throw new Error(`Attached database at index ${M} must have a name`);const R={name:A,type:_},H=Ql(_);if(H&&H.length>0){const U={};H.forEach(I=>{const K=S.get(`attachedDb_${M}_${I.name}`)?.toString();K&&(U[I.name]=K)});const j=Hd[_];j&&(R[j]=U)}return R});P={name:O,type:N,duckdbConnection:{attachedDatabases:L}}}else{const L=e[fl[N]]||{},v={};if($.forEach(M=>{const _=S.get(M.name)?.toString(),A=L[M.name],R=M.type==="password"||M.name==="password"||M.name==="secretAccessKey"||M.name==="secret"||M.name==="accessToken"||M.name==="privateKey";_?v[M.name]=_:R&&A?v[M.name]=A:_!==void 0?v[M.name]=_:A&&(v[M.name]=A)}),N==="postgres"){if(!!!v.connectionString?.trim()){const _=["host","port","databaseName","userName","password"];for(const A of _)if(!v[A])throw new Error(`${$.find(R=>R.name===A)?.label||A} is required`)}}else if(N==="bigquery"){if(!v.serviceAccountKeyJson)throw new Error("Service Account Key JSON is required")}else if(N==="snowflake"){if(!v.account)throw new Error("Account is required");if(!v.username)throw new Error("Username is required");if(!v.warehouse)throw new Error("Warehouse is required");if(!v.password&&!v.privateKey)throw new Error("Either password or private key is required")}else if(N==="trino"){if(!v.server)throw new Error("Server is required");if(!v.user)throw new Error("User is required");if(v.server.trim().startsWith("https://")&&!v.password&&!v.peakaKey)throw new Error("Password is required for HTTPS connections (or use Peaka Key)")}else if(N==="mysql"){const M=["host","port","database","user","password"];for(const _ of M)if(!v[_])throw new Error(`${$.find(A=>A.name===_)?.label||_} is required`)}else if(N==="motherduck"&&!v.accessToken)throw new Error("Access Token is required");P={name:O,type:N,[fl[N]]:v}}await t(P),h()},g=()=>{l([...i,{name:"",dbType:"postgres"}])},x=T=>{l(i.filter((S,O)=>O!==T))},C=(T,S)=>{const O=[...i];O[T]={...O[T],dbType:S},l(O)},E=(T,S)=>{const O=e.duckdbConnection?.attachedDatabases;if(!O||!O[T])return"";const N=O[T],$=Hd[N.type||""];return $&&N[$]?N[$][S]??"":""},k=T=>{const S=e.ducklakeConnection;if(!S)return"";if(T.startsWith("pg_")){const O=T.replace("pg_","");return S.catalog?.postgresConnection?.[O]??""}if(T==="bucketUrl")return S.storage?.bucketUrl??"";if(T.startsWith("s3_")){const O=T.replace("s3_","");return S.storage?.s3Connection?.[O]??""}if(T.startsWith("gcs_")){const O=T.replace("gcs_","");return S.storage?.gcsConnection?.[O]??""}return""};return p.jsxs(W.Fragment,{children:[p.jsx(Mn,{onClick:T=>{T.preventDefault(),T.stopPropagation(),f()},children:p.jsx(Pn.Edit,{})}),p.jsxs(wr,{open:r,onClose:h,children:[p.jsx(Wr,{onClick:T=>{T.stopPropagation()},children:"Edit Connection"}),p.jsxs(Sr,{onClick:T=>{T.stopPropagation()},children:[p.jsx(Wo,{children:"Edit a connection to query your data database using Malloy."}),p.jsxs("form",{onSubmit:b,id:"connection-form",children:[p.jsx(Qe,{autoFocus:!0,required:!0,margin:"dense",id:"name",name:"name",label:"Connection Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:e.name}),p.jsx(Qe,{margin:"dense",id:"type",name:"type",label:"Connection Type",fullWidth:!0,variant:"standard",value:o,select:!0,onChange:T=>s(T.target.value),children:Object.values(et.ConnectionTypeEnum).map(T=>p.jsx(on,{value:T,children:T},T))}),o==="ducklake"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Catalog"}),p.jsx(Qe,{margin:"dense",id:"ducklake_catalogType",label:"Catalog Type",fullWidth:!0,variant:"standard",value:u,select:!0,onChange:T=>c(T.target.value),children:p.jsx(on,{value:"postgres",children:"PostgreSQL"})}),u==="postgres"&&p.jsx(p.Fragment,{children:Or.postgres.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_pg_${T.name}`,name:`ducklake_pg_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",defaultValue:k(`pg_${T.name}`)},`pg_${T.name}`))})]}),p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsx(yt,{variant:"subtitle2",sx:{mb:2},fontWeight:500,children:"Storage"}),p.jsxs(Qe,{margin:"dense",id:"ducklake_storageType",label:"Storage Type",fullWidth:!0,variant:"standard",value:d,select:!0,onChange:T=>m(T.target.value),children:[p.jsx(on,{value:"s3",children:"S3"}),p.jsx(on,{value:"gcs",children:"GCS"})]}),p.jsx(Qe,{margin:"dense",required:!0,id:"ducklake_bucketUrl",name:"ducklake_bucketUrl",label:d==="s3"?"Bucket URL (e.g. s3://my-bucket/path)":"Bucket URL (e.g. gs://my-bucket/path)",type:"text",fullWidth:!0,variant:"standard",defaultValue:k("bucketUrl")}),d==="s3"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"S3 Credentials"}),Js.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_s3_${T.name}`,name:`ducklake_s3_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&T.name!=="secretAccessKey",defaultValue:k(`s3_${T.name}`),placeholder:T.name==="region"?"us-east-1":T.name==="secretAccessKey"?"Leave empty to keep existing":void 0},`s3_${T.name}`))]}),d==="gcs"&&p.jsxs(p.Fragment,{children:[p.jsx(yt,{variant:"caption",sx:{mt:2,mb:1,display:"block"},color:"text.secondary",children:"GCS Credentials"}),ei.map(T=>p.jsx(Qe,{margin:"dense",id:`ducklake_gcs_${T.name}`,name:`ducklake_gcs_${T.name}`,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&T.name!=="secret",defaultValue:k(`gcs_${T.name}`),placeholder:T.name==="secret"?"Leave empty to keep existing":void 0},`gcs_${T.name}`))]})]})]}):o==="duckdb"?p.jsxs(Mt,{sx:{mt:2},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsx(yt,{variant:"subtitle1",fontWeight:500,children:"Attached Databases"}),p.jsx(wt,{startIcon:p.jsx(Kd,{}),onClick:g,size:"small",variant:"outlined",children:"Add Database"})]}),i.length===0&&p.jsx(yt,{variant:"body2",color:"text.secondary",sx:{mb:2},children:'DuckDB connections require at least one attached database. Click "Add Database" to get started.'}),i.map((T,S)=>{const O=Ql(T.dbType);return p.jsxs(Mt,{sx:{mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[p.jsxs(Mt,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[p.jsxs(yt,{variant:"subtitle2",children:["Database ",S+1]}),p.jsx(Mn,{onClick:()=>x(S),size:"small",color:"error",children:p.jsx(v2,{fontSize:"small"})})]}),p.jsx(Qe,{margin:"dense",required:!0,id:`attachedDb_${S}_name`,name:`attachedDb_${S}_name`,label:"Database Name",type:"text",fullWidth:!0,variant:"standard",defaultValue:T.name}),p.jsx(Qe,{margin:"dense",id:`attachedDb_${S}_type`,name:`attachedDb_${S}_type`,label:"Database Type",fullWidth:!0,variant:"standard",value:T.dbType,select:!0,onChange:N=>C(S,N.target.value),children:Object.values(et.AttachedDatabaseTypeEnum).map(N=>p.jsx(on,{value:N,children:N},N))}),O.filter(N=>N.visibleWhen?(T[N.visibleWhen.field]||E(S,N.visibleWhen.field)||O.find(P=>P.name===N.visibleWhen?.field)?.selectOptions?.[0]?.value)===N.visibleWhen.value:!0).map(N=>p.jsx(Qe,{margin:"dense",id:`attachedDb_${S}_${N.name}`,name:`attachedDb_${S}_${N.name}`,label:N.label,type:N.selectOptions?void 0:N.type,fullWidth:!0,variant:"standard",required:N.required,select:!!N.selectOptions,defaultValue:E(S,N.name)||N.selectOptions?.[0]?.value,onChange:N.selectOptions?$=>{const P=[...i];P[S]={...P[S],[N.name]:$.target.value},l(P)}:void 0,children:N.selectOptions?.map($=>p.jsx(on,{value:$.value,children:$.label},$.value))},N.name))]},S)})]}):Or[o].map(T=>{const S=e?.[fl[o]??""]?.[T.name??""]??"",O=T.type==="password"||T.name==="password"||T.name==="secretAccessKey"||T.name==="secret"||T.name==="accessToken"||T.name==="privateKey";return p.jsx(Qe,{margin:"dense",id:T.name,name:T.name,label:T.label,type:T.type,fullWidth:!0,variant:"standard",required:T.required&&!O&&!S,defaultValue:S,placeholder:O&&S?"Leave empty to keep existing":void 0},T.name)})]})]}),p.jsxs(kr,{onClick:T=>{T.stopPropagation()},children:[p.jsx(wt,{disabled:n,onClick:h,children:"Cancel"}),p.jsx(wt,{type:"submit",form:"connection-form",loading:n,children:"Edit Connection"})]})]})]})}function p0(e,t){return!e||e.type!=="duckdb"?!1:(e.duckdbConnection?.attachedDatabases||[]).some(r=>r.type==="azure"&&r.name===t)}function TU(e){return e.startsWith("gs://")||e.startsWith("s3://")||e.startsWith("https://")||e.startsWith("abfss://")||e.startsWith("az://")}function T2({connectionName:e,resourceUri:t,schema:n,connection:r}){const{apiClients:a}=et.useServer(),{projectName:o}=vt(t),[s,i]=W.useState(null),[l,u]=W.useState(n||null),[c,d]=W.useState(!1),{data:m,isError:f,isLoading:h,error:b}=Jt({queryKey:["schemas",o,e],queryFn:()=>a.connections.listSchemas(o,e)}),g=m?.data||[];return p.jsxs(D.Grid,{container:!0,spacing:1,children:[!n&&p.jsx(D.Grid,{size:{xs:12,md:4},children:p.jsxs(D.Paper,{sx:{p:1,m:0},children:[p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:0},children:[p.jsx(D.Typography,{variant:"overline",fontWeight:"bold",children:"Table Paths"}),p.jsx(D.FormControlLabel,{control:p.jsx(D.Switch,{checked:c,onChange:x=>d(x.target.checked)}),label:"Hidden Schemas"})]}),p.jsx(D.Divider,{sx:{mt:"2px"}}),p.jsxs(D.Box,{sx:{mt:"2px",maxHeight:"600px",overflowY:"auto"},children:[h&&p.jsx(tn,{text:"Loading schemas..."}),f&&p.jsx(nn,{error:b,context:`${o} > ${e} > Schemas`}),!h&&!f&&g.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Schemas"}),!h&&!f&&g.length>0&&p.jsx(D.List,{dense:!0,disablePadding:!0,children:g.map(x=>{const C=x.name;if(x.isHidden&&!c)return null;const k=l===C;return p.jsx(D.ListItemButton,{selected:k,onClick:()=>{u(C),i(null)},children:p.jsx(D.ListItemText,{primary:C})},C)})})]})]})}),p.jsx(D.Grid,{size:{xs:12,md:n?6:4},children:l&&p.jsx(D.Paper,{sx:{p:1,m:0},children:p.jsx(wU,{connectionName:e,schemaName:l,onTableSelect:x=>{i(x)},resourceUri:t,connection:r})})}),p.jsx(D.Grid,{size:{xs:12,md:n?6:4},children:l&&s&&p.jsx(kU,{projectName:o,connectionName:e,schemaName:l,tableResource:s})})]})}function kU({projectName:e,connectionName:t,schemaName:n,tableResource:r}){const{apiClients:a}=et.useServer(),{data:o,isLoading:s,isError:i,error:l}=Jt({queryKey:["connectionTableDetail",e,t,n,r],queryFn:()=>a.connections.getTable(e,t,n,r),enabled:!!n&&!!r}),u={resource:o?.data?.resource??r,columns:o?.data?.columns??[]};return p.jsxs(D.Paper,{sx:{p:1,m:0},children:[i&&p.jsx(nn,{error:l,context:`${e} > ${t} > ${n} > ${r}`}),!i&&p.jsx(SU,{table:u,loading:s})]})}function SU({table:e,loading:t}){return t?p.jsx(tn,{text:"Loading columns..."}):p.jsxs(p.Fragment,{children:[p.jsxs(D.Typography,{variant:"overline",fontWeight:"bold",sx:{display:"block",wordBreak:"break-all"},children:[e.resource.includes("://")||/\.(parquet|csv|json|tsv|ndjson)$/i.test(e.resource)?"File":"Table",": ",e.resource]}),p.jsx(D.Divider,{}),p.jsx(D.Box,{sx:{mt:"10px",maxHeight:"600px",overflowY:"auto"},children:p.jsx(D.TableContainer,{children:p.jsxs(D.Table,{size:"small",sx:{"& .MuiTableCell-root":{padding:"10px"}},children:[p.jsx(D.TableHead,{children:p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:"NAME"}),p.jsx(D.TableCell,{children:"TYPE"})]})}),p.jsx(D.TableBody,{children:e.columns?.sort((n,r)=>n.name.localeCompare(r.name))?.map(n=>p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:n.name}),p.jsx(D.TableCell,{children:n.type})]},n.name))})]})})})]})}function wU({connectionName:e,schemaName:t,onTableSelect:n,resourceUri:r,connection:a}){const{projectName:o}=vt(r),{apiClients:s}=et.useServer(),[i,l]=W.useState(""),{data:u,isSuccess:c,isError:d,error:m,isLoading:f}=Jt({queryKey:["tablesInSchema",o,e,t],queryFn:()=>s.connections.listTables(o,e,t)}),h=p0(a,t),b=x=>h?x:x.split(".").pop()||x,g=c&&u?.data?u.data.filter(x=>b(x.resource).toLowerCase().includes(i.toLowerCase())).sort((x,C)=>b(x.resource).localeCompare(b(C.resource))):[];return p.jsxs(p.Fragment,{children:[p.jsx(D.Typography,{variant:"overline",fontWeight:"bold",children:TU(t)||p0(a,t)?`Files in ${t}`:`Tables in ${t}`}),p.jsx(D.Divider,{}),p.jsx(D.Box,{sx:{mt:1,mb:1},children:p.jsx(D.TextField,{size:"small",fullWidth:!0,placeholder:"Search tables...",value:i,onChange:x=>l(x.target.value),variant:"outlined"})}),p.jsx(D.Divider,{}),p.jsxs(D.Box,{sx:{mt:"2px",maxHeight:"600px",overflowY:"auto"},children:[f&&p.jsx(tn,{text:"Fetching Tables..."}),d&&p.jsx(nn,{error:m,context:`${o} > ${e} > ${t}`}),c&&g.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Tables"}),c&&u?.data&&u.data.length>0&&p.jsx(D.List,{dense:!0,disablePadding:!0,children:g.map(x=>{let C=b(x.resource);return!h&&x.resource.includes("://")&&(C=x.resource.split("/").pop()||x.resource),p.jsx(D.ListItemButton,{onClick:()=>n(x.resource),children:p.jsx(D.ListItemText,{primary:C,secondary:x.columns.length>0?`${x.columns.length} columns`:void 0})},x.resource)})})]})]})}function _U({connection:e,onClick:t,onEdit:n,onDelete:r,isMutating:a,mutable:o,isAdding:s}){return p.jsxs(D.TableRow,{sx:{"&:hover":{backgroundColor:s?void 0:"action.hover"}},children:[p.jsx(D.TableCell,{sx:{cursor:s?"default":"pointer",flexGrow:1,opacity:s?.5:1},onClick:s?void 0:t,children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[p.jsx(D.Typography,{variant:"body2",children:e.name}),p.jsx(Do,{sx:{fontSize:"1rem",color:"action.active",opacity:.7}})]})}),p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",children:e.type})}),o&&p.jsxs(D.TableCell,{sx:{minWidth:"120px"},children:[p.jsx(vU,{connection:e,onSubmit:n,isSubmitting:a}),p.jsx(EU,{connection:e,onCloseDialog:()=>{},isMutating:a,onDelete:()=>r(e)})]})]},e.name)}function IU({resourceUri:e}){const{apiClients:t,mutable:n}=et.useServer(),r=Hr.useQueryClient(),{projectName:a}=vt(e),[o,s]=W.useState(""),[i,l]=W.useState(null),u=bi({projectName:a,connectionName:i}),{data:c,isSuccess:d,isError:m,error:f}=Jt({queryKey:["connections",a],queryFn:()=>t.connections.listConnections(a)}),h=E=>{l(E)},b=()=>{l(null)},g=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:[...c.data,E]}),onSuccess(){s("Connection added successfully"),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}}),x=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:c.data.map(k=>k.name===E.name?E:k)}),onSuccess(E,k){s(`Connection ${k.name} updated successfully`),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}}),C=br({mutationFn:E=>t.projects.updateProject(a,{name:a,connections:c.data.filter(k=>k.name!==E.name)}),onSuccess(E,k){s(`Connection ${k.name} deleted successfully`),r.invalidateQueries({queryKey:["connections",a]})},onError(E){s(E.message)}});return p.jsxs(p.Fragment,{children:[p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Database Connections"}),p.jsxs(D.Box,{sx:{mb:1,maxHeight:"200px",overflowY:"auto"},children:[!d&&!m&&p.jsx(D.Typography,{variant:"body2",sx:{m:"auto"},children:"Fetching Connections..."}),d&&c.data.length>0&&p.jsx(D.Table,{size:"small",sx:{borderCollapse:"collapse","& .MuiTableRow-root":{display:"flex",width:"100%"},"& .MuiTableCell-root":{borderBottom:"1px solid #e0e0e0",display:"flex",alignItems:"center"},"& .MuiTableRow-root:last-child .MuiTableCell-root":{borderBottom:"none"}},children:p.jsxs(D.TableBody,{children:[p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{sx:{flexGrow:1},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Connection Name"})}),p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Type"})}),n&&p.jsx(D.TableCell,{sx:{minWidth:"120px"},children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",sx:{mx:"auto"},children:"Actions"})})]}),c.data.map(E=>p.jsx(_U,{connection:E,onClick:()=>h(E.name),onEdit:k=>x.mutateAsync(k),onDelete:k=>{E.resource?s("Cannot delete this connection"):C.mutateAsync(k)},isMutating:g.isPending||x.isPending||C.isPending,mutable:n,isAdding:g.isPending},E.name))]})}),d&&c.data.length===0&&p.jsx(D.Typography,{variant:"body2",children:"No Connections"}),m&&p.jsx(nn,{error:f,context:`${a} > Connections`})]}),n&&p.jsx(D.Box,{sx:{display:"flex",justifyContent:"flex-end"},children:p.jsx(CU,{onSubmit:E=>g.mutateAsync(E),isSubmitting:g.isPending})})]})}),p.jsx(D.Snackbar,{open:o!=="",autoHideDuration:6e3,onClose:()=>s(""),message:o}),p.jsxs(D.Dialog,{open:i!==null,onClose:b,maxWidth:"lg",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{children:["Connection Explorer: ",i,p.jsx(D.IconButton,{"aria-label":"close",onClick:b,sx:{position:"absolute",right:8,top:8},children:p.jsx(D.Box,{sx:{width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center"},children:"X"})})]}),p.jsx(D.DialogContent,{children:i&&p.jsx(T2,{resourceUri:u,connectionName:i,connection:c?.data?.find(E=>E.name===i)})})]})]})}function AU({resourceUri:e}){const{apiClients:t}=et.useServer(),{projectName:n,packageName:r,versionId:a}=vt(e),[o,s]=W.useState(!1),[i,l]=W.useState(null),u=g=>{l(g),s(!0)},c=()=>{s(!1),l(null)},{data:d,isError:m,error:f,isSuccess:h}=Jt({queryKey:["databases",n,r,a],queryFn:()=>t.databases.listDatabases(n,r,a)}),b=g=>g>=1024*1024*1024*1024?`${(g/(1024*1024*1024)).toFixed(2)} T`:g>=1024*1024*1024?`${(g/(1024*1024*1024)).toFixed(2)} G`:g>=1024*1024?`${(g/(1024*1024)).toFixed(2)} M`:`${(g/1024).toFixed(2)} K`;return p.jsxs(p.Fragment,{children:[p.jsx(sa,{children:p.jsxs(ia,{children:[p.jsx(Ba,{children:"Embedded Databases"}),p.jsxs(D.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:[!h&&!m&&p.jsx(tn,{text:"Fetching Databases..."}),m&&p.jsx(nn,{error:f,context:`${n} > ${r} > Databases`}),h&&d.data.length>0&&p.jsx(D.Table,{size:"small",sx:{borderCollapse:"collapse","& .MuiTableCell-root":{borderBottom:"1px solid #e0e0e0"},"& .MuiTableRow-root:last-child .MuiTableCell-root":{borderBottom:"none"}},children:p.jsxs(D.TableBody,{children:[p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Name"})}),p.jsx(D.TableCell,{align:"right",children:p.jsx(D.Typography,{variant:"body2",fontWeight:"500",color:"text.secondary",children:"Rows"})})]}),d.data.map(g=>p.jsxs(D.TableRow,{onClick:()=>u(g),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}},children:[p.jsx(D.TableCell,{component:"th",scope:"row",children:p.jsxs(D.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[p.jsx(D.Typography,{variant:"body2",children:g.path}),p.jsx(Do,{sx:{fontSize:"1rem",color:"action.active",opacity:.7}})]})}),p.jsx(D.TableCell,{align:"right",children:p.jsx(D.Typography,{variant:"body2",children:b(g.info.rowCount)})})]},g.path))]})}),h&&d.data.length===0&&p.jsx(D.Typography,{variant:"body2",sx:{m:"auto"},children:"No databases found"})]})]})}),p.jsxs(D.Dialog,{open:o,onClose:c,maxWidth:"sm",fullWidth:!0,children:[p.jsxs(D.DialogTitle,{children:[i?.path,p.jsx(D.IconButton,{"aria-label":"close",onClick:c,sx:{position:"absolute",right:8,top:8},children:p.jsx(D.Box,{sx:{width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center"},children:"X"})})]}),p.jsx(D.DialogContent,{children:i?.info?.columns&&p.jsx(D.TableContainer,{children:p.jsxs(D.Table,{size:"small",children:[p.jsx(D.TableHead,{children:p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{children:"Column"}),p.jsx(D.TableCell,{children:"Type"})]})}),p.jsx(D.TableBody,{children:i.info.columns.map(g=>p.jsxs(D.TableRow,{children:[p.jsx(D.TableCell,{component:"th",scope:"row",children:g.name}),p.jsx(D.TableCell,{children:g.type})]},g.name))})]})})})]})]})}function DU(e){return Fe("MuiCollapse",e)}Re("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const PU=e=>{const{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return Le(r,DU,n)},RU=oe("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.state==="entered"&&t.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&t.hidden]}})(tt(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:t})=>t.state==="exited"&&!t.in&&t.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),MU=oe("div",{name:"MuiCollapse",slot:"Wrapper"})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),NU=oe("div",{name:"MuiCollapse",slot:"WrapperInner"})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),ti=w.forwardRef(function(t,n){const r=Xe({props:t,name:"MuiCollapse"}),{addEndListener:a,children:o,className:s,collapsedSize:i="0px",component:l,easing:u,in:c,onEnter:d,onEntered:m,onEntering:f,onExit:h,onExited:b,onExiting:g,orientation:x="vertical",style:C,timeout:E=I0.standard,TransitionComponent:k=Zn,...T}=r,S={...r,orientation:x,collapsedSize:i},O=PU(S),N=oa(),$=wu(),P=w.useRef(null),L=w.useRef(),v=typeof i=="number"?`${i}px`:i,M=x==="horizontal",_=M?"width":"height",A=w.useRef(null),R=ot(n,A),H=q=>ee=>{if(q){const X=A.current;ee===void 0?q(X):q(X,ee)}},U=()=>P.current?P.current[M?"clientWidth":"clientHeight"]:0,j=H((q,ee)=>{P.current&&M&&(P.current.style.position="absolute"),q.style[_]=v,d&&d(q,ee)}),I=H((q,ee)=>{const X=U();P.current&&M&&(P.current.style.position="");const{duration:ne,easing:Q}=Ao({style:C,timeout:E,easing:u},{mode:"enter"});if(E==="auto"){const G=N.transitions.getAutoHeightDuration(X);q.style.transitionDuration=`${G}ms`,L.current=G}else q.style.transitionDuration=typeof ne=="string"?ne:`${ne}ms`;q.style[_]=`${X}px`,q.style.transitionTimingFunction=Q,f&&f(q,ee)}),K=H((q,ee)=>{q.style[_]="auto",m&&m(q,ee)}),re=H(q=>{q.style[_]=`${U()}px`,h&&h(q)}),F=H(b),fe=H(q=>{const ee=U(),{duration:X,easing:ne}=Ao({style:C,timeout:E,easing:u},{mode:"exit"});if(E==="auto"){const Q=N.transitions.getAutoHeightDuration(ee);q.style.transitionDuration=`${Q}ms`,L.current=Q}else q.style.transitionDuration=typeof X=="string"?X:`${X}ms`;q.style[_]=v,q.style.transitionTimingFunction=ne,g&&g(q)}),Z=q=>{E==="auto"&&$.start(L.current||0,q),a&&a(A.current,q)};return p.jsx(k,{in:c,onEnter:j,onEntered:K,onEntering:I,onExit:re,onExited:F,onExiting:fe,addEndListener:Z,nodeRef:A,timeout:E==="auto"?null:E,...T,children:(q,{ownerState:ee,...X})=>p.jsx(RU,{as:l,className:De(O.root,s,{entered:O.entered,exited:!c&&v==="0px"&&O.hidden}[q]),style:{[M?"minWidth":"minHeight"]:v,...C},ref:R,ownerState:{...S,state:q},...X,children:p.jsx(MU,{ownerState:{...S,state:q},className:O.wrapper,ref:P,children:p.jsx(NU,{ownerState:{...S,state:q},className:O.wrapperInner,children:o})})})})});ti&&(ti.muiSupportAuto=!0);function OU(e){return Fe("PrivateSwitchBase",e)}Re("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const LU=e=>{const{classes:t,checked:n,disabled:r,edge:a}=e,o={root:["root",n&&"checked",r&&"disabled",a&&`edge${Se(a)}`],input:["input"]};return Le(o,OU,t)},FU=oe(La,{name:"MuiSwitchBase"})({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e==="start"&&t.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e==="end"&&t.size!=="small",style:{marginRight:-12}}]}),$U=oe("input",{name:"MuiSwitchBase",shouldForwardProp:gn})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),BU=w.forwardRef(function(t,n){const{autoFocus:r,checked:a,checkedIcon:o,defaultChecked:s,disabled:i,disableFocusRipple:l=!1,edge:u=!1,icon:c,id:d,inputProps:m,inputRef:f,name:h,onBlur:b,onChange:g,onFocus:x,readOnly:C,required:E=!1,tabIndex:k,type:T,value:S,slots:O={},slotProps:N={},...$}=t,[P,L]=An({controlled:a,default:!!s,name:"SwitchBase",state:"checked"}),v=Jn(),M=Z=>{x&&x(Z),v&&v.onFocus&&v.onFocus(Z)},_=Z=>{b&&b(Z),v&&v.onBlur&&v.onBlur(Z)},A=Z=>{if(Z.nativeEvent.defaultPrevented)return;const q=Z.target.checked;L(q),g&&g(Z,q)};let R=i;v&&typeof R>"u"&&(R=v.disabled);const H=T==="checkbox"||T==="radio",U={...t,checked:P,disabled:R,disableFocusRipple:l,edge:u},j=LU(U),I={slots:O,slotProps:{input:m,...N}},[K,re]=ct("root",{ref:n,elementType:FU,className:j.root,shouldForwardComponentProp:!0,externalForwardedProps:{...I,component:"span",...$},getSlotProps:Z=>({...Z,onFocus:q=>{Z.onFocus?.(q),M(q)},onBlur:q=>{Z.onBlur?.(q),_(q)}}),ownerState:U,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:R,role:void 0,tabIndex:null}}),[F,fe]=ct("input",{ref:f,elementType:$U,className:j.input,externalForwardedProps:I,getSlotProps:Z=>({...Z,onChange:q=>{Z.onChange?.(q),A(q)}}),ownerState:U,additionalProps:{autoFocus:r,checked:a,defaultChecked:s,disabled:R,id:H?d:void 0,name:h,readOnly:C,required:E,tabIndex:k,type:T,...T==="checkbox"&&S===void 0?{}:{value:S}}});return p.jsxs(K,{...re,children:[p.jsx(F,{...fe}),P?o:c]})}),jU=nt(p.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"})),HU=nt(p.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})),UU=nt(p.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}));function zU(e){return Fe("MuiCheckbox",e)}const Hc=Re("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),VU=e=>{const{classes:t,indeterminate:n,color:r,size:a}=e,o={root:["root",n&&"indeterminate",`color${Se(r)}`,`size${Se(a)}`]},s=Le(o,zU,t);return{...t,...s}},WU=oe(BU,{shouldForwardProp:e=>gn(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${Se(n.size)}`],n.color!=="default"&&t[`color${Se(n.color)}`]]}})(tt(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(mn()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(mn()).map(([t])=>({props:{color:t},style:{[`&.${Hc.checked}, &.${Hc.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Hc.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),qU=p.jsx(HU,{}),YU=p.jsx(jU,{}),GU=p.jsx(UU,{}),k2=w.forwardRef(function(t,n){const r=Xe({props:t,name:"MuiCheckbox"}),{checkedIcon:a=qU,color:o="primary",icon:s=YU,indeterminate:i=!1,indeterminateIcon:l=GU,inputProps:u,size:c="medium",disableRipple:d=!1,className:m,slots:f={},slotProps:h={},...b}=r,g=i?l:s,x=i?l:a,C={...r,disableRipple:d,color:o,indeterminate:i,size:c},E=VU(C),k=h.input??u,[T,S]=ct("root",{ref:n,elementType:WU,className:De(E.root,m),shouldForwardComponentProp:!0,externalForwardedProps:{slots:f,slotProps:h,...b},ownerState:C,additionalProps:{type:"checkbox",icon:w.cloneElement(g,{fontSize:g.props.fontSize??c}),checkedIcon:w.cloneElement(x,{fontSize:x.props.fontSize??c}),disableRipple:d,slots:f,slotProps:{input:L0(typeof k=="function"?k(C):k,{"data-indeterminate":i})}}});return p.jsx(T,{...S,classes:E})});function S2(e){return _t}const w2=w.createContext(null);function KU(e){const{value:t,children:n}=e;return p.jsx(w2.Provider,{value:t,children:t.wrapRoot({children:n,instance:t.instance})})}const Wa=()=>{const e=w.useContext(w2);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
229
229
  `));return e},QU=({props:e})=>{const{instance:t}=Wa(),{label:n,itemId:r}=e,[a,o]=w.useState(n),s=t.isItemBeingEdited(r);return w.useEffect(()=>{s||o(n)},[s,n]),{propsEnhancers:{labelInput:({externalEventHandlers:i,interactions:l})=>t.isItemEditable(r)?{value:a??"","data-element":"labelInput",onChange:f=>{i.onChange?.(f),o(f.target.value)},onKeyDown:f=>{if(i.onKeyDown?.(f),f.defaultMuiPrevented)return;const h=f.target;f.key==="Enter"&&h.value?l.handleSaveItemLabel(f,h.value):f.key==="Escape"&&l.handleCancelItemLabelEditing(f)},onBlur:f=>{i.onBlur?.(f),!f.defaultMuiPrevented&&f.target.value&&l.handleSaveItemLabel(f,f.target.value)},autoFocus:!0,type:"text"}:{}}}},Wn=({instance:e,state:t,setState:n,params:r})=>{const a=w.useRef(t.editedItemId),o=d=>a.current===d,s=d=>{n(m=>z({},m,{editedItemId:d})),a.current=d},i=d=>d===t.editedItemId,l=!!r.isItemEditable,u=d=>{if(d==null||!l)return!1;const m=e.getItem(d);return m?typeof r.isItemEditable=="function"?r.isItemEditable(m):!!r.isItemEditable:!1},c=(d,m)=>{if(!m)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","The label of an item cannot be empty.",d].join(`
230
230
  `));n(f=>{const h=f.items.itemMetaMap[d];return h.label!==m?z({},f,{items:z({},f.items,{itemMetaMap:z({},f.items.itemMetaMap,{[d]:z({},h,{label:m})})})}):f}),r.onItemLabelChange&&r.onItemLabelChange(d,m)};return{instance:{setEditedItemId:s,isItemBeingEdited:i,updateItemLabel:c,isItemEditable:u,isTreeViewEditable:l,isItemBeingEditedRef:o},publicAPI:{updateItemLabel:c}}};Wn.itemPlugin=QU;Wn.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t?.labelEditing;return z({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};Wn.getInitialState=()=>({editedItemId:null});Wn.params={onItemLabelChange:!0,isItemEditable:!0};const Pa=(e,t)=>e.getAvailablePlugins().has(t),_2=e=>Array.isArray(e)?e.length>0&&e.some(_2):!!e,XU=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:r},publicAPI:a}=Wa(),o={expandable:_2(t),expanded:n.isItemExpanded(e),focused:n.isItemFocused(e),selected:n.isItemSelected(e),disabled:n.isItemDisabled(e),editing:n?.isItemBeingEdited?n?.isItemBeingEdited(e):!1,editable:n.isItemEditable?n.isItemEditable(e):!1},s=f=>{if(o.disabled)return;o.focused||n.focusItem(f,e);const h=r&&(f.shiftKey||f.ctrlKey||f.metaKey);o.expandable&&!(h&&n.isItemExpanded(e))&&n.toggleItemExpansion(f,e)},i=f=>{if(o.disabled)return;!o.focused&&!o.editing&&n.focusItem(f,e),r&&(f.shiftKey||f.ctrlKey||f.metaKey)?f.shiftKey?n.expandSelectionRange(f,e):n.selectItem({event:f,itemId:e,keepExistingSelection:!0}):n.selectItem({event:f,itemId:e,shouldBeSelected:!0})},l=f=>{const h=f.nativeEvent.shiftKey;r&&h?n.expandSelectionRange(f,e):n.selectItem({event:f,itemId:e,keepExistingSelection:r,shouldBeSelected:f.target.checked})},u=()=>{Pa(n,Wn)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:s,handleSelection:i,handleCheckboxSelection:l,toggleItemEditing:u,handleSaveItemLabel:(f,h)=>{Pa(n,Wn)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,h),u(),n.focusItem(f,e))},handleCancelItemLabelEditing:f=>{Pa(n,Wn)&&n.isItemBeingEditedRef(e)&&(u(),n.focusItem(f,e))}},status:o,publicAPI:a}},bf=w.createContext(()=>-1),I2=(e,t)=>{let n=t.length-1;for(;n>=0&&!e.isItemNavigable(t[n]);)n-=1;if(n!==-1)return t[n]},A2=(e,t)=>{const n=e.getItemMeta(t),r=e.getItemOrderedChildrenIds(n.parentId),a=e.getItemIndex(t);if(a===0)return n.parentId;let o=a-1;for(;!e.isItemNavigable(r[o])&&o>=0;)o-=1;if(o===-1)return n.parentId==null?null:A2(e,n.parentId);let s=r[o],i=I2(e,e.getItemOrderedChildrenIds(s));for(;e.isItemExpanded(s)&&i!=null;)s=i,i=e.getItemOrderedChildrenIds(s).find(e.isItemNavigable);return s},ml=(e,t)=>{if(e.isItemExpanded(t)){const r=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(r!=null)return r}let n=e.getItemMeta(t);for(;n!=null;){const r=e.getItemOrderedChildrenIds(n.parentId),a=e.getItemIndex(n.id);if(a<r.length-1){let o=a+1;for(;!e.isItemNavigable(r[o])&&o<r.length-1;)o+=1;if(e.isItemNavigable(r[o]))return r[o]}n=e.getItemMeta(n.parentId)}return null},D2=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const n=e.getItemOrderedChildrenIds(t),r=I2(e,n);if(r==null)return t;t=r}return t},ni=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),P2=(e,t,n)=>{if(t===n)return[t,n];const r=e.getItemMeta(t),a=e.getItemMeta(n);if(r.parentId===a.id||a.parentId===r.id)return a.parentId===r.id?[r.id,a.id]:[a.id,r.id];const o=[r.id],s=[a.id];let i=r.parentId,l=a.parentId,u=s.indexOf(i)!==-1,c=o.indexOf(l)!==-1,d=!0,m=!0;for(;!c&&!u;)d&&(o.push(i),u=s.indexOf(i)!==-1,d=i!==null,!u&&d&&(i=e.getItemMeta(i).parentId)),m&&!u&&(s.push(l),c=o.indexOf(l)!==-1,m=l!==null,!c&&m&&(l=e.getItemMeta(l).parentId));const f=u?i:l,h=e.getItemOrderedChildrenIds(f),b=o[o.indexOf(f)-1],g=s[s.indexOf(f)-1];return h.indexOf(b)<h.indexOf(g)?[t,n]:[n,t]},ZU=(e,t,n)=>{const r=l=>{if(e.isItemExpandable(l)&&e.isItemExpanded(l))return e.getItemOrderedChildrenIds(l)[0];let u=e.getItemMeta(l);for(;u!=null;){const c=e.getItemOrderedChildrenIds(u.parentId),d=e.getItemIndex(u.id);if(d<c.length-1)return c[d+1];u=e.getItemMeta(u.parentId)}throw new Error("Invalid range")},[a,o]=P2(e,t,n),s=[a];let i=a;for(;i!==o;)i=r(i),e.isItemDisabled(i)||s.push(i);return s},JU=e=>{let t=ni(e);const n=[];for(;t!=null;)n.push(t),t=ml(e,t);return n},ri=(e,t)=>t!==e.closest('*[role="treeitem"]');let f0=0;const ez=()=>(f0+=1,`mui-tree-view-${f0}`),yf=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,tz=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:r,indentationAtItemLevel:a},selection:{disableSelection:o,checkboxSelection:s},expansion:{expansionTrigger:i},treeId:l,instance:u,publicAPI:c}=Wa(),d=w.useContext(bf),{id:m,itemId:f,label:h,children:b,rootRef:g}=e,{rootRef:x,contentRef:C,propsEnhancers:E}=t(e),{interactions:k,status:T}=XU({itemId:f,children:b}),S=w.useRef(null),O=w.useRef(null),N=ot(g,x,S),$=ot(C,O),P=w.useRef(null),L=yf({itemId:f,treeId:l,id:m}),v=u.canItemBeTabbed(f)?0:-1,M={rootRefObject:S,contentRefObject:O,interactions:k},_=Q=>G=>{if(Q.onFocus?.(G),G.defaultMuiPrevented)return;const se=!T.disabled||r;!T.focused&&se&&G.currentTarget===G.target&&u.focusItem(G,f)},A=Q=>G=>{if(Q.onBlur?.(G),G.defaultMuiPrevented)return;const se=u.getItemDOMElement(f);T.editing||G.relatedTarget&&ri(G.relatedTarget,se)&&(G.target&&G.target?.dataset?.element==="labelInput"&&ri(G.target,se)||G.relatedTarget?.dataset?.element==="labelInput")||u.removeFocusedItem()},R=Q=>G=>{Q.onKeyDown?.(G),!(G.defaultMuiPrevented||G.target?.dataset?.element==="labelInput")&&u.handleItemKeyDown(G,f)},H=Q=>G=>{Q.onDoubleClick?.(G),!G.defaultMuiPrevented&&k.toggleItemEditing()},U=Q=>G=>{Q.onClick?.(G),n?.(G,f),!(G.defaultMuiPrevented||P.current?.contains(G.target))&&(i==="content"&&k.handleExpansion(G),s||k.handleSelection(G))},j=Q=>G=>{Q.onMouseDown?.(G),!G.defaultMuiPrevented&&(G.shiftKey||G.ctrlKey||G.metaKey||T.disabled)&&G.preventDefault()},I=Q=>G=>{Q.onChange?.(G),!G.defaultMuiPrevented&&(o||T.disabled||k.handleCheckboxSelection(G))},K=Q=>G=>{Q.onClick?.(G),!G.defaultMuiPrevented&&i==="iconContainer"&&k.handleExpansion(G)};return{getRootProps:(Q={})=>{const G=z({},dn(e),dn(Q));let se;T.selected?se=!0:o||T.disabled?se=void 0:se=!1;const J=z({},G,{ref:N,role:"treeitem",tabIndex:v,id:L,"aria-expanded":T.expandable?T.expanded:void 0,"aria-selected":se,"aria-disabled":T.disabled||void 0},Q,{onFocus:_(G),onBlur:A(G),onKeyDown:R(G)});a&&(J.style={"--TreeView-itemDepth":typeof d=="function"?d(f):d});const te=E.root?.(z({},M,{externalEventHandlers:G}))??{};return z({},J,te)},getContentProps:(Q={})=>{const G=dn(Q),se=z({},G,Q,{ref:$,onClick:U(G),onMouseDown:j(G),status:T});a&&(se.indentationAtItemLevel=!0);const J=E.content?.(z({},M,{externalEventHandlers:G}))??{};return z({},se,J)},getGroupTransitionProps:(Q={})=>{const G=dn(Q),se=z({},G,{unmountOnExit:!0,component:"ul",role:"group",in:T.expanded,children:b},Q);return a&&(se.indentationAtItemLevel=!0),se},getIconContainerProps:(Q={})=>{const G=dn(Q);return z({},G,Q,{onClick:K(G)})},getCheckboxProps:(Q={})=>{const G=dn(Q);return z({},G,{visible:s,ref:P,checked:T.selected,disabled:o||T.disabled,tabIndex:-1},Q,{onChange:I(G)})},getLabelProps:(Q={})=>{const G=z({},dn(Q)),se=z({},G,{children:h},Q,{onDoubleClick:H(G)});return u.isTreeViewEditable&&(se.editable=T.editable),se},getLabelInputProps:(Q={})=>{const G=dn(Q),se=E.labelInput?.({rootRefObject:S,contentRefObject:O,externalEventHandlers:G,interactions:k})??{};return z({},Q,se)},getDragAndDropOverlayProps:(Q={})=>{const G=dn(Q),se=E.dragAndDropOverlay?.(z({},M,{externalEventHandlers:G}))??{};return z({},Q,se)},rootRef:N,status:T,publicAPI:c}},nz=tz;function R2(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:r,checkboxSelection:a,disableSelection:o},expansion:{expansionTrigger:s}}=Wa(),i=t.isItemExpandable(e),l=t.isItemExpanded(e),u=t.isItemFocused(e),c=t.isItemSelected(e),d=t.isItemDisabled(e),m=t?.isItemBeingEdited?t?.isItemBeingEdited(e):!1,f=t.isItemEditable?t.isItemEditable(e):!1,h=T=>{if(!d){u||t.focusItem(T,e);const S=r&&(T.shiftKey||T.ctrlKey||T.metaKey);i&&!(S&&t.isItemExpanded(e))&&t.toggleItemExpansion(T,e)}},b=T=>{d||(!u&&!m&&t.focusItem(T,e),r&&(T.shiftKey||T.ctrlKey||T.metaKey)?T.shiftKey?t.expandSelectionRange(T,e):t.selectItem({event:T,itemId:e,keepExistingSelection:!0}):t.selectItem({event:T,itemId:e,shouldBeSelected:!0}))},g=T=>{if(o||d)return;const S=T.nativeEvent.shiftKey;r&&S?t.expandSelectionRange(T,e):t.selectItem({event:T,itemId:e,keepExistingSelection:r,shouldBeSelected:T.target.checked})},x=T=>{(T.shiftKey||T.ctrlKey||T.metaKey||d)&&T.preventDefault()},C=()=>{Pa(t,Wn)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:d,expanded:l,selected:c,focused:u,editable:f,editing:m,disableSelection:o,checkboxSelection:a,handleExpansion:h,handleSelection:b,handleCheckboxSelection:g,handleContentClick:n,preventSelection:x,expansionTrigger:s,toggleItemEditing:C,handleSaveItemLabel:(T,S)=>{Pa(t,Wn)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,S),C(),t.focusItem(T,e))},handleCancelItemLabelEditing:T=>{Pa(t,Wn)&&t.isItemBeingEditedRef(e)&&(C(),t.focusItem(T,e))}}}const rz=oe("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>dt.shouldForwardProp(e)&&e!=="action"})(({theme:e})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:dt.alpha(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function az(e){return e.action==null?null:p.jsx(rz,z({},e))}const oz=oe("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>z({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),sz=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],M2=w.forwardRef(function(t,n){const{classes:r,className:a,displayIcon:o,expansionIcon:s,icon:i,label:l,itemId:u,onClick:c,onMouseDown:d,dragAndDropOverlayProps:m,labelInputProps:f}=t,h=je(t,sz),{disabled:b,expanded:g,selected:x,focused:C,editing:E,editable:k,disableSelection:T,checkboxSelection:S,handleExpansion:O,handleSelection:N,handleCheckboxSelection:$,handleContentClick:P,preventSelection:L,expansionTrigger:v,toggleItemEditing:M}=R2(u),_=i||s||o,A=w.useRef(null),R=j=>{L(j),d&&d(j)},H=j=>{P?.(j,u),!A.current?.contains(j.target)&&(v==="content"&&O(j),S||N(j),c&&c(j))},U=j=>{j.defaultMuiPrevented||M()};return p.jsxs("div",z({},h,{className:De(r.root,a,g&&r.expanded,x&&r.selected,C&&r.focused,b&&r.disabled,E&&r.editing,k&&r.editable),onClick:H,onMouseDown:R,ref:n,children:[p.jsx("div",{className:r.iconContainer,children:_}),S&&p.jsx(k2,{className:r.checkbox,checked:x,onChange:$,disabled:b||T,ref:A,tabIndex:-1}),E?p.jsx(oz,z({},f,{className:r.labelInput})):p.jsx("div",z({className:r.label},k&&{onDoubleClick:U},{children:l})),m&&p.jsx(az,z({},m))]}))});function iz(e){return Fe("MuiTreeItem",e)}const Rr=Re("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),N2=nt(p.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),O2=nt(p.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}));function xf(e){const{children:t,itemId:n}=e,{wrapItem:r,instance:a}=Wa();return r({children:t,itemId:n,instance:a})}xf.propTypes={children:ce.node,itemId:ce.string.isRequired};const lz=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],uz=["ownerState"],cz=["ownerState"],dz=["ownerState"],pz=S2(),fz=e=>{const{classes:t}=e;return Le({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]},iz,t)},mz=oe("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),hz=oe(M2,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${Rr.iconContainer}`]:t.iconContainer},t.label&&{[`& .${Rr.label}`]:t.label}],shouldForwardProp:e=>na(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Rr.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${Rr.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Rr.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Rr.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${Rr.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${Rr.label}`]:z({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${Rr.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),gz=oe(ti,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>na(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),bz=w.forwardRef(function(t,n){const{icons:r,runItemPlugins:a,items:{disabledItemsFocusable:o,indentationAtItemLevel:s},selection:{disableSelection:i},expansion:{expansionTrigger:l},treeId:u,instance:c}=Wa(),d=w.useContext(bf),m=pz({props:t,name:"MuiTreeItem"}),{children:f,className:h,slots:b,slotProps:g,ContentComponent:x=M2,ContentProps:C,itemId:E,id:k,label:T,onClick:S,onMouseDown:O,onBlur:N,onKeyDown:$}=m,P=je(m,lz),{expanded:L,focused:v,selected:M,disabled:_,editing:A,handleExpansion:R,handleCancelItemLabelEditing:H,handleSaveItemLabel:U}=R2(E),{contentRef:j,rootRef:I,propsEnhancers:K}=a(m),re=w.useRef(null),F=w.useRef(null),fe=ot(n,I,re),Z=ot(C?.ref,j,F),q={expandIcon:b?.expandIcon??r.slots.expandIcon??N2,collapseIcon:b?.collapseIcon??r.slots.collapseIcon??O2,endIcon:b?.endIcon??r.slots.endIcon,icon:b?.icon,groupTransition:b?.groupTransition},ee=ve=>Array.isArray(ve)?ve.length>0&&ve.some(ee):!!ve,X=ee(f),ne=z({},m,{expanded:L,focused:v,selected:M,disabled:_,indentationAtItemLevel:s}),Q=fz(ne),G=q.groupTransition??void 0,se=at({elementType:G,ownerState:{},externalSlotProps:g?.groupTransition,additionalProps:z({unmountOnExit:!0,in:L,component:"ul",role:"group"},s?{indentationAtItemLevel:!0}:{}),className:Q.groupTransition}),J=ve=>{l==="iconContainer"&&R(ve)},te=L?q.collapseIcon:q.expandIcon,xe=at({elementType:te,ownerState:{},externalSlotProps:ve=>L?z({},zn(r.slotProps.collapseIcon,ve),zn(g?.collapseIcon,ve)):z({},zn(r.slotProps.expandIcon,ve),zn(g?.expandIcon,ve)),additionalProps:{onClick:J}}),de=je(xe,uz),be=X&&te?p.jsx(te,z({},de)):null,le=X?void 0:q.endIcon,Pe=at({elementType:le,ownerState:{},externalSlotProps:ve=>X?{}:z({},zn(r.slotProps.endIcon,ve),zn(g?.endIcon,ve))}),Te=je(Pe,cz),ze=le?p.jsx(le,z({},Te)):null,we=q.icon,Tt=at({elementType:we,ownerState:{},externalSlotProps:g?.icon}),lt=je(Tt,dz),qe=we?p.jsx(we,z({},lt)):null;let ue;M?ue=!0:i||_?ue=void 0:ue=!1;function Ee(ve){!v&&(!_||o)&&ve.currentTarget===ve.target&&c.focusItem(ve,E)}function Me(ve){N?.(ve),!(A||ve.relatedTarget&&ri(ve.relatedTarget,re.current)&&(ve.target&&ve.target?.dataset?.element==="labelInput"&&ri(ve.target,re.current)||ve.relatedTarget?.dataset?.element==="labelInput"))&&c.removeFocusedItem()}const He=ve=>{$?.(ve),ve.target?.dataset?.element!=="labelInput"&&c.handleItemKeyDown(ve,E)},Be=yf({itemId:E,treeId:u,id:k}),Ne=c.canItemBeTabbed(E)?0:-1,Je={rootRefObject:re,contentRefObject:F,interactions:{handleSaveItemLabel:U,handleCancelItemLabelEditing:H}},gt=K.root?.(z({},Je,{externalEventHandlers:dn(P)}))??{},ft=K.content?.(z({},Je,{externalEventHandlers:dn(C)}))??{},ie=K.dragAndDropOverlay?.(z({},Je,{externalEventHandlers:{}}))??{},ye=K.labelInput?.(z({},Je,{externalEventHandlers:{}}))??{};return p.jsx(xf,{itemId:E,children:p.jsxs(mz,z({className:De(Q.root,h),role:"treeitem","aria-expanded":X?L:void 0,"aria-selected":ue,"aria-disabled":_||void 0,id:Be,tabIndex:Ne},P,{ownerState:ne,onFocus:Ee,onBlur:Me,onKeyDown:He,ref:fe,style:s?z({},P.style,{"--TreeView-itemDepth":typeof d=="function"?d(E):d}):P.style},gt,{children:[p.jsx(hz,z({as:x,classes:{root:Q.content,expanded:Q.expanded,selected:Q.selected,focused:Q.focused,disabled:Q.disabled,editable:Q.editable,editing:Q.editing,iconContainer:Q.iconContainer,label:Q.label,labelInput:Q.labelInput,checkbox:Q.checkbox},label:T,itemId:E,onClick:S,onMouseDown:O,icon:qe,expansionIcon:be,displayIcon:ze,ownerState:ne},C,ft,ie.action==null?{}:{dragAndDropOverlayProps:ie},ye.value==null?{}:{labelInputProps:ye},{ref:Z})),f&&p.jsx(gz,z({as:G},se,{children:f}))]}))})});function yz(e){const{slots:t,slotProps:n,status:r}=e,a=Wa(),o=z({},a.icons.slots,{expandIcon:a.icons.slots.expandIcon??N2,collapseIcon:a.icons.slots.collapseIcon??O2}),s=a.icons.slotProps;let i;t?.icon?i="icon":r.expandable?r.expanded?i="collapseIcon":i="expandIcon":i="endIcon";const l=t?.[i]??o[i],u=at({elementType:l,externalSlotProps:c=>z({},zn(s[i],c),zn(n?.[i],c)),ownerState:{}});return l?p.jsx(l,z({},u)):null}const xz=["visible"],Cz=oe("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),Ez=oe("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>na(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:dt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),vz=oe("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>na(e)&&e!=="editable"})(({theme:e})=>z({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),Tz=oe("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}});oe(ti,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>na(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});oe(w.forwardRef((e,t)=>{const{visible:n}=e,r=je(e,xz);return n?p.jsx(k2,z({},r,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0});function kz(e){return Fe("MuiRichTreeView",e)}Re("MuiRichTreeView",["root"]);const Sz=(e,t)=>{const n=w.useRef({}),[r,a]=w.useState(()=>{const s={};return e.forEach(i=>{i.models&&Object.entries(i.models).forEach(([l,u])=>{n.current[l]={isControlled:t[l]!==void 0,getDefaultValue:u.getDefaultValue},s[l]=u.getDefaultValue(t)})}),s});return Object.fromEntries(Object.entries(n.current).map(([s,i])=>{const l=t[s]??r[s];return[s,{value:l,setControlledValue:u=>{i.isControlled||a(c=>z({},c,{[s]:u}))}}]}))};class wz{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,r={}){let a=this.events[t];a||(a={highPriority:new Map,regular:new Map},this.events[t]=a),r.isFirst?a.highPriority.set(n,!0):a.regular.set(n,!0)}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const r=this.events[t];if(!r)return;const a=Array.from(r.highPriority.keys()),o=Array.from(r.regular.keys());for(let s=a.length-1;s>=0;s-=1){const i=a[s];r.highPriority.has(i)&&i.apply(this,n)}for(let s=0;s<o.length;s+=1){const i=o[s];r.regular.has(i)&&i.apply(this,n)}}once(t,n){const r=this;this.on(t,function a(...o){r.removeListener(t,a),n.apply(r,o)})}}const _z=e=>e.isPropagationStopped!==void 0,L2=()=>{const[e]=w.useState(()=>new wz),t=w.useCallback((...r)=>{const[a,o,s={}]=r;s.defaultMuiPrevented=!1,!(_z(s)&&s.isPropagationStopped())&&e.emit(a,o,s)},[e]),n=w.useCallback((r,a)=>(e.on(r,a),()=>{e.removeListener(r,a)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:n}}};L2.params={};const F2=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};F2.params={};const Cf=({params:e,state:t,setState:n})=>{w.useEffect(()=>{n(a=>a.id.treeId===e.id&&a.id.treeId!==void 0?a:z({},a,{id:z({},a.id,{treeId:e.id??ez()})}))},[n,e.id]);const r=e.id??t.id.treeId;return{getRootProps:()=>({id:r}),contextValue:{treeId:r}}};Cf.params={id:!0};Cf.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const Iz=[L2,F2,Cf],Az=["slots","slotProps","apiRef","experimentalFeatures"],Dz=e=>{let{props:{slots:t,slotProps:n,apiRef:r,experimentalFeatures:a},plugins:o}=e,s=je(e.props,Az);const i={};o.forEach(m=>{Object.assign(i,m.params)});const l={},u={};Object.keys(s).forEach(m=>{const f=s[m];i[m]?l[m]=f:u[m]=f});const c=a??{},d=o.reduce((m,f)=>f.getDefaultizedParams?f.getDefaultizedParams({params:m,experimentalFeatures:c}):m,l);return{apiRef:r,forwardedProps:u,pluginParams:d,slots:t??{},slotProps:n??{},experimentalFeatures:c}},Pz=({plugins:e,instance:t,publicAPI:n,rootRef:r})=>({runItemPlugins:i=>{let l=null,u=null;const c=[],d={};e.forEach(h=>{if(!h.itemPlugin)return;const b=h.itemPlugin({props:i,rootRef:l,contentRef:u});b?.rootRef&&(l=b.rootRef),b?.contentRef&&(u=b.contentRef),b?.propsEnhancers&&(c.push(b.propsEnhancers),Object.keys(b.propsEnhancers).forEach(g=>{d[g]=!0}))});const m=h=>b=>{const g={};return c.forEach(x=>{const C=x[h];C!=null&&Object.assign(g,C(b))}),g},f=Object.fromEntries(Object.keys(d).map(h=>[h,m(h)]));return{contentRef:u,rootRef:l,propsEnhancers:f}},wrapItem:({itemId:i,children:l})=>{let u=l;for(let c=e.length-1;c>=0;c-=1){const d=e[c];d.wrapItem&&(u=d.wrapItem({itemId:i,children:u,instance:t}))}return u},wrapRoot:({children:i})=>{let l=i;for(let u=e.length-1;u>=0;u-=1){const c=e[u];c.wrapRoot&&(l=c.wrapRoot({children:l,instance:t}))}return l},instance:t,rootRef:r,publicAPI:n});function Rz(e){const t=w.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const Mz=({plugins:e,rootRef:t,props:n})=>{const r=[...Iz,...e],{pluginParams:a,forwardedProps:o,apiRef:s,experimentalFeatures:i,slots:l,slotProps:u}=Dz({plugins:r,props:n}),c=Sz(r,a),m=w.useRef({}).current,f=Rz(s),h=w.useRef(null),b=ot(h,t),g=Pz({plugins:r,instance:m,publicAPI:f,rootRef:h}),[x,C]=w.useState(()=>{const S={};return r.forEach(O=>{O.getInitialState&&Object.assign(S,O.getInitialState(a))}),S}),E=[],k=S=>{const O=S({instance:m,params:a,slots:l,slotProps:u,experimentalFeatures:i,state:x,setState:C,rootRef:h,models:c,plugins:r});O.getRootProps&&E.push(O.getRootProps),O.publicAPI&&Object.assign(f,O.publicAPI),O.instance&&Object.assign(m,O.instance),O.contextValue&&Object.assign(g,O.contextValue)};return r.forEach(k),{getRootProps:(S={})=>{const O=z({role:"tree"},o,S,{ref:b});return E.forEach(N=>{Object.assign(O,N(S))}),O},rootRef:b,contextValue:g,instance:m}},Nz=(e,t,n)=>{e.$$publishEvent(t,n)},lo="__TREE_VIEW_ROOT_PARENT_ID__",Oz=e=>{const t={};return e.forEach((n,r)=>{t[n]=r}),t},Lz=["children"],$2=({items:e,isItemDisabled:t,getItemLabel:n,getItemId:r})=>{const a={},o={},s={[lo]:[]},i=(u,c,d)=>{const m=r?r(u):u.id;if(m==null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.","An item was provided without id in the `items` prop:",JSON.stringify(u)].join(`
231
231
  `));if(a[m]!=null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.",`Two items were provided with the same id in the \`items\` prop: "${m}"`].join(`
package/dist/index.es.js CHANGED
@@ -3,8 +3,8 @@ import { styled as un, Card as No, CardContent as Mo, CardMedia as IC, Box as He
3
3
  import * as w from "react";
4
4
  import ve, { useEffect as Vt, useImperativeHandle as J0, useContext as ni, Fragment as eb, useMemo as ht, useRef as hn, useReducer as OC, useState as je, Suspense as kp, lazy as LC, createContext as FC, isValidElement as El, cloneElement as vl, Children as $C, useCallback as ba, useLayoutEffect as BC } from "react";
5
5
  import { useQuery as HC, useMutation as UC, useQueryClient as io } from "@tanstack/react-query";
6
- import { u as gt, g as tb, c as nb, A as rb } from "./ServerProvider-BvwHmQmS.es.js";
7
- import { S as gq } from "./ServerProvider-BvwHmQmS.es.js";
6
+ import { u as gt, g as tb, c as nb, A as rb } from "./ServerProvider-DN2wSIAZ.es.js";
7
+ import { S as gq } from "./ServerProvider-DN2wSIAZ.es.js";
8
8
  import zC from "axios";
9
9
  import { Warning as VC, Add as ab, Launch as jC, AddCircleRounded as WC, Delete as Sp, Edit as wp, MoreVert as ob } from "@mui/icons-material";
10
10
  import { unstable_createGetCssVar as qC, createSpacing as YC, useTheme as GC, GlobalStyles as KC, unstable_memoTheme as QC, createStack as XC, Stack as ZC, Box as JC, keyframes as Ds, css as ib, createBox as eE, shouldForwardProp as sb, alpha as wn } from "@mui/system";
@@ -53625,8 +53625,7 @@ function OV({
53625
53625
  queryFn: () => i.connections.listTables(
53626
53626
  o,
53627
53627
  e,
53628
- t,
53629
- !1
53628
+ t
53630
53629
  )
53631
53630
  }), h = j0(a, t), b = (x) => h ? x : x.split(".").pop() || x, g = c && u?.data ? u.data.filter((x) => b(x.resource).toLowerCase().includes(s.toLowerCase())).sort((x, C) => b(x.resource).localeCompare(
53632
53631
  b(C.resource)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@malloy-publisher/sdk",
3
3
  "description": "Malloy Publisher SDK",
4
- "version": "0.0.176",
4
+ "version": "0.0.178",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.es.js",
@@ -329,7 +329,6 @@ function TablesInSchema({
329
329
  projectName,
330
330
  connectionName,
331
331
  schemaName,
332
- false,
333
332
  ),
334
333
  });
335
334
 
@@ -1 +0,0 @@
1
- "use strict";const M=require("react/jsx-runtime"),q=require("@tanstack/react-query"),u=require("axios"),k=require("react"),m="http://localhost/api/v0".replace(/\/+$/,"");class A{constructor(a,e=m,r=u){this.basePath=e,this.axios=r,a&&(this.configuration=a,this.basePath=a.basePath??e)}configuration}class se extends Error{constructor(a,e){super(e),this.field=a,this.name="RequiredError"}}const P={},V="https://example.com",d=function(c,a,e){if(e==null)throw new se(a,`Required parameter ${a} was null or undefined when calling ${c}.`)};function T(c,a,e=""){a!=null&&(typeof a=="object"?Array.isArray(a)?a.forEach(r=>T(c,r,e)):Object.keys(a).forEach(r=>T(c,a[r],`${e}${e!==""?".":""}${r}`)):c.has(e)?c.append(e,a):c.set(e,a))}const b=function(c,...a){const e=new URLSearchParams(c.search);T(e,a),c.search=e.toString()},y=function(c,a,e){const r=typeof c!="string";return(r&&e&&e.isJsonMime?e.isJsonMime(a.headers["Content-Type"]):r)?JSON.stringify(c!==void 0?c:{}):c||""},O=function(c){return c.pathname+c.search+c.hash},g=function(c,a,e,r){return(t=a,o=e)=>{const s={...c.options,url:(t.defaults.baseURL?"":r?.basePath??o)+c.url};return t.request(s)}},ne={Bigquery:"bigquery",Snowflake:"snowflake",Postgres:"postgres",Gcs:"gcs",S3:"s3",Azure:"azure"},ce={ServicePrincipal:"service_principal",SasToken:"sas_token"},le={Error:"error",Warn:"warn",Debug:"debug"},ie={Success:"success",Error:"error"},pe={Postgres:"postgres",Bigquery:"bigquery",Snowflake:"snowflake",Trino:"trino",Mysql:"mysql",Duckdb:"duckdb",Motherduck:"motherduck",Ducklake:"ducklake"},de={Ok:"ok",Failed:"failed"},he={Embedded:"embedded",Materialized:"materialized"},ue={Debug:"debug",Info:"info",Warn:"warn",Error:"error"},me={Markdown:"markdown",Code:"code"},Pe={Markdown:"markdown",Code:"code"},Ve={Initializing:"initializing",Serving:"serving",Draining:"draining"},B=function(c){return{createConnection:async(a,e,r,t={})=>{d("createConnection","projectName",a),d("createConnection","connectionName",e),d("createConnection","connection",r);const o="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},deleteConnection:async(a,e,r={})=>{d("deleteConnection","projectName",a),d("deleteConnection","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"DELETE",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getConnection:async(a,e,r={})=>{d("getConnection","projectName",a),d("getConnection","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getQuerydata:async(a,e,r,t,o={})=>{d("getQuerydata","projectName",a),d("getQuerydata","connectionName",e);const s="/projects/{projectName}/connections/{connectionName}/queryData".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};r!==void 0&&(h.sqlStatement=r),t!==void 0&&(h.options=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},getSqlsource:async(a,e,r,t={})=>{d("getSqlsource","projectName",a),d("getSqlsource","connectionName",e);const o="/projects/{projectName}/connections/{connectionName}/sqlSource".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.sqlStatement=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}},getTable:async(a,e,r,t,o={})=>{d("getTable","projectName",a),d("getTable","connectionName",e),d("getTable","schemaName",r),d("getTable","tablePath",t);const s="/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables/{tablePath}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))).replace("{schemaName}",encodeURIComponent(String(r))).replace("{tablePath}",encodeURIComponent(String(t))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={};b(n,{});let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},getTablesource:async(a,e,r,t,o={})=>{d("getTablesource","projectName",a),d("getTablesource","connectionName",e);const s="/projects/{projectName}/connections/{connectionName}/tableSource".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};r!==void 0&&(h.tableKey=r),t!==void 0&&(h.tablePath=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},getTemporarytable:async(a,e,r,t={})=>{d("getTemporarytable","projectName",a),d("getTemporarytable","connectionName",e);const o="/projects/{projectName}/connections/{connectionName}/temporaryTable".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.sqlStatement=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}},listConnections:async(a,e={})=>{d("listConnections","projectName",a);const r="/projects/{projectName}/connections".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"GET",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},listSchemas:async(a,e,r={})=>{d("listSchemas","projectName",a),d("listSchemas","connectionName",e);const t="/projects/{projectName}/connections/{connectionName}/schemas".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},listTables:async(a,e,r,t,o={})=>{d("listTables","projectName",a),d("listTables","connectionName",e),d("listTables","schemaName",r);const s="/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))).replace("{schemaName}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t!==void 0&&(h.fetchTableSchema=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},postQuerydata:async(a,e,r,t,o={})=>{d("postQuerydata","projectName",a),d("postQuerydata","connectionName",e),d("postQuerydata","postSqlsourceRequest",r);const s="/projects/{projectName}/connections/{connectionName}/sqlQuery".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};t!==void 0&&(h.options=t),p["Content-Type"]="application/json",b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},i.data=y(r,i,c),{url:O(n),options:i}},postSqlsource:async(a,e,r,t={})=>{d("postSqlsource","projectName",a),d("postSqlsource","connectionName",e),d("postSqlsource","postSqlsourceRequest",r);const o="/projects/{projectName}/connections/{connectionName}/sqlSource".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},postTemporarytable:async(a,e,r,t={})=>{d("postTemporarytable","projectName",a),d("postTemporarytable","connectionName",e),d("postTemporarytable","postSqlsourceRequest",r);const o="/projects/{projectName}/connections/{connectionName}/sqlTemporaryTable".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"POST",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}},updateConnection:async(a,e,r,t={})=>{d("updateConnection","projectName",a),d("updateConnection","connectionName",e),d("updateConnection","updateConnectionRequest",r);const o="/projects/{projectName}/connections/{connectionName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{connectionName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"PATCH",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}}}},C=function(c){const a=B(c);return{async createConnection(e,r,t,o){const s=await a.createConnection(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.createConnection"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async deleteConnection(e,r,t){const o=await a.deleteConnection(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.deleteConnection"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getConnection(e,r,t){const o=await a.getConnection(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.getConnection"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getQuerydata(e,r,t,o,s){const n=await a.getQuerydata(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.getQuerydata"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getSqlsource(e,r,t,o){const s=await a.getSqlsource(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.getSqlsource"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async getTable(e,r,t,o,s){const n=await a.getTable(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.getTable"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getTablesource(e,r,t,o,s){const n=await a.getTablesource(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.getTablesource"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getTemporarytable(e,r,t,o){const s=await a.getTemporarytable(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.getTemporarytable"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async listConnections(e,r){const t=await a.listConnections(e,r),o=c?.serverIndex??0,s=P["ConnectionsApi.listConnections"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async listSchemas(e,r,t){const o=await a.listSchemas(e,r,t),s=c?.serverIndex??0,n=P["ConnectionsApi.listSchemas"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async listTables(e,r,t,o,s){const n=await a.listTables(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.listTables"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async postQuerydata(e,r,t,o,s){const n=await a.postQuerydata(e,r,t,o,s),l=c?.serverIndex??0,i=P["ConnectionsApi.postQuerydata"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async postSqlsource(e,r,t,o){const s=await a.postSqlsource(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.postSqlsource"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async postTemporarytable(e,r,t,o){const s=await a.postTemporarytable(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.postTemporarytable"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)},async updateConnection(e,r,t,o){const s=await a.updateConnection(e,r,t,o),n=c?.serverIndex??0,l=P["ConnectionsApi.updateConnection"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},be=function(c,a,e){const r=C(c);return{createConnection(t,o,s,n){return r.createConnection(t,o,s,n).then(l=>l(e,a))},deleteConnection(t,o,s){return r.deleteConnection(t,o,s).then(n=>n(e,a))},getConnection(t,o,s){return r.getConnection(t,o,s).then(n=>n(e,a))},getQuerydata(t,o,s,n,l){return r.getQuerydata(t,o,s,n,l).then(i=>i(e,a))},getSqlsource(t,o,s,n){return r.getSqlsource(t,o,s,n).then(l=>l(e,a))},getTable(t,o,s,n,l){return r.getTable(t,o,s,n,l).then(i=>i(e,a))},getTablesource(t,o,s,n,l){return r.getTablesource(t,o,s,n,l).then(i=>i(e,a))},getTemporarytable(t,o,s,n){return r.getTemporarytable(t,o,s,n).then(l=>l(e,a))},listConnections(t,o){return r.listConnections(t,o).then(s=>s(e,a))},listSchemas(t,o,s){return r.listSchemas(t,o,s).then(n=>n(e,a))},listTables(t,o,s,n,l){return r.listTables(t,o,s,n,l).then(i=>i(e,a))},postQuerydata(t,o,s,n,l){return r.postQuerydata(t,o,s,n,l).then(i=>i(e,a))},postSqlsource(t,o,s,n){return r.postSqlsource(t,o,s,n).then(l=>l(e,a))},postTemporarytable(t,o,s,n){return r.postTemporarytable(t,o,s,n).then(l=>l(e,a))},updateConnection(t,o,s,n){return r.updateConnection(t,o,s,n).then(l=>l(e,a))}}};class $ extends A{createConnection(a,e,r,t){return C(this.configuration).createConnection(a,e,r,t).then(o=>o(this.axios,this.basePath))}deleteConnection(a,e,r){return C(this.configuration).deleteConnection(a,e,r).then(t=>t(this.axios,this.basePath))}getConnection(a,e,r){return C(this.configuration).getConnection(a,e,r).then(t=>t(this.axios,this.basePath))}getQuerydata(a,e,r,t,o){return C(this.configuration).getQuerydata(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getSqlsource(a,e,r,t){return C(this.configuration).getSqlsource(a,e,r,t).then(o=>o(this.axios,this.basePath))}getTable(a,e,r,t,o){return C(this.configuration).getTable(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getTablesource(a,e,r,t,o){return C(this.configuration).getTablesource(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getTemporarytable(a,e,r,t){return C(this.configuration).getTemporarytable(a,e,r,t).then(o=>o(this.axios,this.basePath))}listConnections(a,e){return C(this.configuration).listConnections(a,e).then(r=>r(this.axios,this.basePath))}listSchemas(a,e,r){return C(this.configuration).listSchemas(a,e,r).then(t=>t(this.axios,this.basePath))}listTables(a,e,r,t,o){return C(this.configuration).listTables(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}postQuerydata(a,e,r,t,o){return C(this.configuration).postQuerydata(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}postSqlsource(a,e,r,t){return C(this.configuration).postSqlsource(a,e,r,t).then(o=>o(this.axios,this.basePath))}postTemporarytable(a,e,r,t){return C(this.configuration).postTemporarytable(a,e,r,t).then(o=>o(this.axios,this.basePath))}updateConnection(a,e,r,t){return C(this.configuration).updateConnection(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const E=function(c){return{testConnectionConfiguration:async(a,e={})=>{d("testConnectionConfiguration","connection",a);const r="/connections/test",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}}}},w=function(c){const a=E(c);return{async testConnectionConfiguration(e,r){const t=await a.testConnectionConfiguration(e,r),o=c?.serverIndex??0,s=P["ConnectionsTestApi.testConnectionConfiguration"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)}}},Oe=function(c,a,e){const r=w(c);return{testConnectionConfiguration(t,o){return r.testConnectionConfiguration(t,o).then(s=>s(e,a))}}};class ge extends A{testConnectionConfiguration(a,e){return w(this.configuration).testConnectionConfiguration(a,e).then(r=>r(this.axios,this.basePath))}}const L=function(c){return{listDatabases:async(a,e,r,t={})=>{d("listDatabases","projectName",a),d("listDatabases","packageName",e);const o="/projects/{projectName}/packages/{packageName}/databases".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},Q=function(c){const a=L(c);return{async listDatabases(e,r,t,o){const s=await a.listDatabases(e,r,t,o),n=c?.serverIndex??0,l=P["DatabasesApi.listDatabases"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Se=function(c,a,e){const r=Q(c);return{listDatabases(t,o,s,n){return r.listDatabases(t,o,s,n).then(l=>l(e,a))}}};class H extends A{listDatabases(a,e,r,t){return Q(this.configuration).listDatabases(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const W=function(c){return{compileModelSource:async(a,e,r,t,o={})=>{d("compileModelSource","projectName",a),d("compileModelSource","packageName",e),d("compileModelSource","path",r),d("compileModelSource","compileRequest",t);const s="/projects/{projectName}/packages/{packageName}/models/{path}/compile".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};p["Content-Type"]="application/json",b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},i.data=y(t,i,c),{url:O(n),options:i}},executeQueryModel:async(a,e,r,t,o={})=>{d("executeQueryModel","projectName",a),d("executeQueryModel","packageName",e),d("executeQueryModel","path",r),d("executeQueryModel","queryRequest",t);const s="/projects/{projectName}/packages/{packageName}/models/{path}/query".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"POST",...l,...o},p={},h={};p["Content-Type"]="application/json",b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},i.data=y(t,i,c),{url:O(n),options:i}},getModel:async(a,e,r,t,o={})=>{d("getModel","projectName",a),d("getModel","packageName",e),d("getModel","path",r);const s="/projects/{projectName}/packages/{packageName}/models/{path}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t!==void 0&&(h.versionId=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},listModels:async(a,e,r,t={})=>{d("listModels","projectName",a),d("listModels","packageName",e);const o="/projects/{projectName}/packages/{packageName}/models".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},N=function(c){const a=W(c);return{async compileModelSource(e,r,t,o,s){const n=await a.compileModelSource(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.compileModelSource"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async executeQueryModel(e,r,t,o,s){const n=await a.executeQueryModel(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.executeQueryModel"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async getModel(e,r,t,o,s){const n=await a.getModel(e,r,t,o,s),l=c?.serverIndex??0,i=P["ModelsApi.getModel"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listModels(e,r,t,o){const s=await a.listModels(e,r,t,o),n=c?.serverIndex??0,l=P["ModelsApi.listModels"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Ce=function(c,a,e){const r=N(c);return{compileModelSource(t,o,s,n,l){return r.compileModelSource(t,o,s,n,l).then(i=>i(e,a))},executeQueryModel(t,o,s,n,l){return r.executeQueryModel(t,o,s,n,l).then(i=>i(e,a))},getModel(t,o,s,n,l){return r.getModel(t,o,s,n,l).then(i=>i(e,a))},listModels(t,o,s,n){return r.listModels(t,o,s,n).then(l=>l(e,a))}}};class D extends A{compileModelSource(a,e,r,t,o){return N(this.configuration).compileModelSource(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}executeQueryModel(a,e,r,t,o){return N(this.configuration).executeQueryModel(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}getModel(a,e,r,t,o){return N(this.configuration).getModel(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listModels(a,e,r,t){return N(this.configuration).listModels(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const f=function(c){return{executeNotebookCell:async(a,e,r,t,o,s={})=>{d("executeNotebookCell","projectName",a),d("executeNotebookCell","packageName",e),d("executeNotebookCell","path",r),d("executeNotebookCell","cellIndex",t);const n="/projects/{projectName}/packages/{packageName}/notebooks/{path}/cells/{cellIndex}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))).replace("{cellIndex}",encodeURIComponent(String(t))),l=new URL(n,V);let i;c&&(i=c.baseOptions);const p={method:"GET",...i,...s},h={},S={};o!==void 0&&(S.versionId=o),b(l,S);let v=i&&i.headers?i.headers:{};return p.headers={...h,...v,...s.headers},{url:O(l),options:p}},getNotebook:async(a,e,r,t,o={})=>{d("getNotebook","projectName",a),d("getNotebook","packageName",e),d("getNotebook","path",r);const s="/projects/{projectName}/packages/{packageName}/notebooks/{path}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))).replace("{path}",encodeURIComponent(String(r))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};t!==void 0&&(h.versionId=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},listNotebooks:async(a,e,r,t={})=>{d("listNotebooks","projectName",a),d("listNotebooks","packageName",e);const o="/projects/{projectName}/packages/{packageName}/notebooks".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"GET",...n,...t},i={},p={};r!==void 0&&(p.versionId=r),b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},{url:O(s),options:l}}}},R=function(c){const a=f(c);return{async executeNotebookCell(e,r,t,o,s,n){const l=await a.executeNotebookCell(e,r,t,o,s,n),i=c?.serverIndex??0,p=P["NotebooksApi.executeNotebookCell"]?.[i]?.url;return(h,S)=>g(l,u,m,c)(h,p||S)},async getNotebook(e,r,t,o,s){const n=await a.getNotebook(e,r,t,o,s),l=c?.serverIndex??0,i=P["NotebooksApi.getNotebook"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listNotebooks(e,r,t,o){const s=await a.listNotebooks(e,r,t,o),n=c?.serverIndex??0,l=P["NotebooksApi.listNotebooks"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},ye=function(c,a,e){const r=R(c);return{executeNotebookCell(t,o,s,n,l,i){return r.executeNotebookCell(t,o,s,n,l,i).then(p=>p(e,a))},getNotebook(t,o,s,n,l){return r.getNotebook(t,o,s,n,l).then(i=>i(e,a))},listNotebooks(t,o,s,n){return r.listNotebooks(t,o,s,n).then(l=>l(e,a))}}};class G extends A{executeNotebookCell(a,e,r,t,o,s){return R(this.configuration).executeNotebookCell(a,e,r,t,o,s).then(n=>n(this.axios,this.basePath))}getNotebook(a,e,r,t,o){return R(this.configuration).getNotebook(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listNotebooks(a,e,r,t){return R(this.configuration).listNotebooks(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const z=function(c){return{createPackage:async(a,e,r={})=>{d("createPackage","projectName",a),d("createPackage","_package",e);const t="/projects/{projectName}/packages".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"POST",...s,...r},l={},i={};l["Content-Type"]="application/json",b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},n.data=y(e,n,c),{url:O(o),options:n}},deletePackage:async(a,e,r={})=>{d("deletePackage","projectName",a),d("deletePackage","packageName",e);const t="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"DELETE",...s,...r},l={};b(o,{});let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},getPackage:async(a,e,r,t,o={})=>{d("getPackage","projectName",a),d("getPackage","packageName",e);const s="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),n=new URL(s,V);let l;c&&(l=c.baseOptions);const i={method:"GET",...l,...o},p={},h={};r!==void 0&&(h.versionId=r),t!==void 0&&(h.reload=t),b(n,h);let S=l&&l.headers?l.headers:{};return i.headers={...p,...S,...o.headers},{url:O(n),options:i}},listPackages:async(a,e={})=>{d("listPackages","projectName",a);const r="/projects/{projectName}/packages".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"GET",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},updatePackage:async(a,e,r,t={})=>{d("updatePackage","projectName",a),d("updatePackage","packageName",e),d("updatePackage","_package",r);const o="/projects/{projectName}/packages/{packageName}".replace("{projectName}",encodeURIComponent(String(a))).replace("{packageName}",encodeURIComponent(String(e))),s=new URL(o,V);let n;c&&(n=c.baseOptions);const l={method:"PATCH",...n,...t},i={},p={};i["Content-Type"]="application/json",b(s,p);let h=n&&n.headers?n.headers:{};return l.headers={...i,...h,...t.headers},l.data=y(r,l,c),{url:O(s),options:l}}}},j=function(c){const a=z(c);return{async createPackage(e,r,t){const o=await a.createPackage(e,r,t),s=c?.serverIndex??0,n=P["PackagesApi.createPackage"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async deletePackage(e,r,t){const o=await a.deletePackage(e,r,t),s=c?.serverIndex??0,n=P["PackagesApi.deletePackage"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async getPackage(e,r,t,o,s){const n=await a.getPackage(e,r,t,o,s),l=c?.serverIndex??0,i=P["PackagesApi.getPackage"]?.[l]?.url;return(p,h)=>g(n,u,m,c)(p,i||h)},async listPackages(e,r){const t=await a.listPackages(e,r),o=c?.serverIndex??0,s=P["PackagesApi.listPackages"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async updatePackage(e,r,t,o){const s=await a.updatePackage(e,r,t,o),n=c?.serverIndex??0,l=P["PackagesApi.updatePackage"]?.[n]?.url;return(i,p)=>g(s,u,m,c)(i,l||p)}}},Ae=function(c,a,e){const r=j(c);return{createPackage(t,o,s){return r.createPackage(t,o,s).then(n=>n(e,a))},deletePackage(t,o,s){return r.deletePackage(t,o,s).then(n=>n(e,a))},getPackage(t,o,s,n,l){return r.getPackage(t,o,s,n,l).then(i=>i(e,a))},listPackages(t,o){return r.listPackages(t,o).then(s=>s(e,a))},updatePackage(t,o,s,n){return r.updatePackage(t,o,s,n).then(l=>l(e,a))}}};class J extends A{createPackage(a,e,r){return j(this.configuration).createPackage(a,e,r).then(t=>t(this.axios,this.basePath))}deletePackage(a,e,r){return j(this.configuration).deletePackage(a,e,r).then(t=>t(this.axios,this.basePath))}getPackage(a,e,r,t,o){return j(this.configuration).getPackage(a,e,r,t,o).then(s=>s(this.axios,this.basePath))}listPackages(a,e){return j(this.configuration).listPackages(a,e).then(r=>r(this.axios,this.basePath))}updatePackage(a,e,r,t){return j(this.configuration).updatePackage(a,e,r,t).then(o=>o(this.axios,this.basePath))}}const _=function(c){return{createProject:async(a,e={})=>{d("createProject","project",a);const r="/projects",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}},deleteProject:async(a,e={})=>{d("deleteProject","projectName",a);const r="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"DELETE",...o,...e},n={};b(t,{});let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},{url:O(t),options:s}},getProject:async(a,e,r={})=>{d("getProject","projectName",a);const t="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"GET",...s,...r},l={},i={};e!==void 0&&(i.reload=e),b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},{url:O(o),options:n}},listProjects:async(a={})=>{const e="/projects",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}},updateProject:async(a,e,r={})=>{d("updateProject","projectName",a),d("updateProject","project",e);const t="/projects/{projectName}".replace("{projectName}",encodeURIComponent(String(a))),o=new URL(t,V);let s;c&&(s=c.baseOptions);const n={method:"PATCH",...s,...r},l={},i={};l["Content-Type"]="application/json",b(o,i);let p=s&&s.headers?s.headers:{};return n.headers={...l,...p,...r.headers},n.data=y(e,n,c),{url:O(o),options:n}}}},x=function(c){const a=_(c);return{async createProject(e,r){const t=await a.createProject(e,r),o=c?.serverIndex??0,s=P["ProjectsApi.createProject"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async deleteProject(e,r){const t=await a.deleteProject(e,r),o=c?.serverIndex??0,s=P["ProjectsApi.deleteProject"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async getProject(e,r,t){const o=await a.getProject(e,r,t),s=c?.serverIndex??0,n=P["ProjectsApi.getProject"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)},async listProjects(e){const r=await a.listProjects(e),t=c?.serverIndex??0,o=P["ProjectsApi.listProjects"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)},async updateProject(e,r,t){const o=await a.updateProject(e,r,t),s=c?.serverIndex??0,n=P["ProjectsApi.updateProject"]?.[s]?.url;return(l,i)=>g(o,u,m,c)(l,n||i)}}},je=function(c,a,e){const r=x(c);return{createProject(t,o){return r.createProject(t,o).then(s=>s(e,a))},deleteProject(t,o){return r.deleteProject(t,o).then(s=>s(e,a))},getProject(t,o,s){return r.getProject(t,o,s).then(n=>n(e,a))},listProjects(t){return r.listProjects(t).then(o=>o(e,a))},updateProject(t,o,s){return r.updateProject(t,o,s).then(n=>n(e,a))}}};class K extends A{createProject(a,e){return x(this.configuration).createProject(a,e).then(r=>r(this.axios,this.basePath))}deleteProject(a,e){return x(this.configuration).deleteProject(a,e).then(r=>r(this.axios,this.basePath))}getProject(a,e,r){return x(this.configuration).getProject(a,e,r).then(t=>t(this.axios,this.basePath))}listProjects(a){return x(this.configuration).listProjects(a).then(e=>e(this.axios,this.basePath))}updateProject(a,e,r){return x(this.configuration).updateProject(a,e,r).then(t=>t(this.axios,this.basePath))}}const Y=function(c){return{getStatus:async(a={})=>{const e="/status",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}}}},F=function(c){const a=Y(c);return{async getStatus(e){const r=await a.getStatus(e),t=c?.serverIndex??0,o=P["PublisherApi.getStatus"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)}}},xe=function(c,a,e){const r=F(c);return{getStatus(t){return r.getStatus(t).then(o=>o(e,a))}}};class X extends A{getStatus(a){return F(this.configuration).getStatus(a).then(e=>e(this.axios,this.basePath))}}const Z=function(c){return{getWatchStatus:async(a={})=>{const e="/watch-mode/status",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"GET",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}},startWatching:async(a,e={})=>{d("startWatching","startWatchRequest",a);const r="/watch-mode/start",t=new URL(r,V);let o;c&&(o=c.baseOptions);const s={method:"POST",...o,...e},n={},l={};n["Content-Type"]="application/json",b(t,l);let i=o&&o.headers?o.headers:{};return s.headers={...n,...i,...e.headers},s.data=y(a,s,c),{url:O(t),options:s}},stopWatching:async(a={})=>{const e="/watch-mode/stop",r=new URL(e,V);let t;c&&(t=c.baseOptions);const o={method:"POST",...t,...a},s={};b(r,{});let l=t&&t.headers?t.headers:{};return o.headers={...s,...l,...a.headers},{url:O(r),options:o}}}},I=function(c){const a=Z(c);return{async getWatchStatus(e){const r=await a.getWatchStatus(e),t=c?.serverIndex??0,o=P["WatchModeApi.getWatchStatus"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)},async startWatching(e,r){const t=await a.startWatching(e,r),o=c?.serverIndex??0,s=P["WatchModeApi.startWatching"]?.[o]?.url;return(n,l)=>g(t,u,m,c)(n,s||l)},async stopWatching(e){const r=await a.stopWatching(e),t=c?.serverIndex??0,o=P["WatchModeApi.stopWatching"]?.[t]?.url;return(s,n)=>g(r,u,m,c)(s,o||n)}}},ke=function(c,a,e){const r=I(c);return{getWatchStatus(t){return r.getWatchStatus(t).then(o=>o(e,a))},startWatching(t,o){return r.startWatching(t,o).then(s=>s(e,a))},stopWatching(t){return r.stopWatching(t).then(o=>o(e,a))}}};class ee extends A{getWatchStatus(a){return I(this.configuration).getWatchStatus(a).then(e=>e(this.axios,this.basePath))}startWatching(a,e){return I(this.configuration).startWatching(a,e).then(r=>r(this.axios,this.basePath))}stopWatching(a){return I(this.configuration).stopWatching(a).then(e=>e(this.axios,this.basePath))}}class te{apiKey;username;password;accessToken;basePath;serverIndex;baseOptions;formDataCtor;constructor(a={}){this.apiKey=a.apiKey,this.username=a.username,this.password=a.password,this.accessToken=a.accessToken,this.basePath=a.basePath,this.serverIndex=a.serverIndex,this.baseOptions={...a.baseOptions,headers:{...a.baseOptions?.headers}},this.formDataCtor=a.formDataCtor}isJsonMime(a){const e=new RegExp("^(application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(;.*)?$","i");return a!==null&&(e.test(a)||a.toLowerCase()==="application/json-patch+json")}}const ae=new q.QueryClient({defaultOptions:{queries:{retry:!1,throwOnError:!1},mutations:{retry:!1,throwOnError:!1}}}),re=k.createContext(void 0),Ne=(c,a)=>{const e=`${window.location.protocol}//${window.location.host}/api/v0`,r=u.create({baseURL:c||e,withCredentials:!0,timeout:6e5});r.interceptors.request.use(async o=>{const s=await a?.();return o.headers.Authorization=s||"",o});const t=new te({basePath:e});return{models:new D(t,e,r),publisher:new X(t,e,r),projects:new K(t,e,r),packages:new J(t,e,r),notebooks:new G(t,e,r),connections:new $(t,e,r),databases:new H(t,e,r),watchMode:new ee(t,e,r)}},ve=({children:c,getAccessToken:a,baseURL:e,mutable:r})=>{const t=k.useMemo(()=>Ne(e,a),[e,a]),o=e||`${window.location.protocol}//${window.location.host}/api/v0`,[s,n]=k.useState(r),[l,i]=k.useState(!0);k.useEffect(()=>{let h=!0;return(async()=>{try{const v=await t.publisher.getStatus();if(h){const oe=v.data?.frozenConfig;let U;oe?U=!1:r===void 0?U=!0:U=r,n(U),i(!1)}}catch(v){console.error("Failed to fetch publisher status:",v),h&&(n(r),i(!1))}})(),()=>{h=!1}},[t,r]);const p={server:o,getAccessToken:a,apiClients:t,mutable:s,isLoadingStatus:l};return M.jsx(q.QueryClientProvider,{client:ae,children:M.jsx(re.Provider,{value:p,children:c})})},Re=()=>{const c=k.useContext(re);if(c===void 0)throw new Error("useServer must be used within a ServerProvider");return c};exports.AttachedDatabaseTypeEnum=ne;exports.AzureConnectionAuthTypeEnum=ce;exports.CompileProblemSeverityEnum=le;exports.CompileResultStatusEnum=ie;exports.Configuration=te;exports.ConnectionStatusStatusEnum=de;exports.ConnectionTypeEnum=pe;exports.ConnectionsApi=$;exports.ConnectionsApiAxiosParamCreator=B;exports.ConnectionsApiFactory=be;exports.ConnectionsApiFp=C;exports.ConnectionsTestApi=ge;exports.ConnectionsTestApiAxiosParamCreator=E;exports.ConnectionsTestApiFactory=Oe;exports.ConnectionsTestApiFp=w;exports.DatabaseTypeEnum=he;exports.DatabasesApi=H;exports.DatabasesApiAxiosParamCreator=L;exports.DatabasesApiFactory=Se;exports.DatabasesApiFp=Q;exports.LogMessageSeverityEnum=ue;exports.ModelsApi=D;exports.ModelsApiAxiosParamCreator=W;exports.ModelsApiFactory=Ce;exports.ModelsApiFp=N;exports.NotebookCellResultTypeEnum=Pe;exports.NotebookCellTypeEnum=me;exports.NotebooksApi=G;exports.NotebooksApiAxiosParamCreator=f;exports.NotebooksApiFactory=ye;exports.NotebooksApiFp=R;exports.PackagesApi=J;exports.PackagesApiAxiosParamCreator=z;exports.PackagesApiFactory=Ae;exports.PackagesApiFp=j;exports.ProjectsApi=K;exports.ProjectsApiAxiosParamCreator=_;exports.ProjectsApiFactory=je;exports.ProjectsApiFp=x;exports.PublisherApi=X;exports.PublisherApiAxiosParamCreator=Y;exports.PublisherApiFactory=xe;exports.PublisherApiFp=F;exports.ServerProvider=ve;exports.ServerStatusOperationalStateEnum=Ve;exports.WatchModeApi=ee;exports.WatchModeApiAxiosParamCreator=Z;exports.WatchModeApiFactory=ke;exports.WatchModeApiFp=I;exports.globalQueryClient=ae;exports.useServer=Re;