@cognite/cli 1.6.0-alpha.sdk-gen → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_templates/app/new/root/.npmrc.ejs.t +1 -1
- package/_templates/app/new/root/AGENTS.md.ejs.t +12 -60
- package/_templates/app/new/root/SPEC.md.ejs.t +15 -17
- package/_templates/app/new/root/app.json.ejs.t +0 -1
- package/_templates/app/new/root/manifest.json.ejs.t +1 -6
- package/_templates/app/new/root/package.json.ejs.t +8 -11
- package/_templates/app/new/src/App.test.tsx.ejs.t +1 -0
- package/_templates/app/new/src/main.tsx.ejs.t +70 -0
- package/dist/{chunk-IX7GU6LI.js → chunk-74X2P7OO.js} +8 -8
- package/dist/cli/cli.js +92 -195
- package/dist/deploy/index.js +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -1
- package/package.json +6 -15
- package/dist/chunk-ATR2SGLU.js +0 -1
- package/dist/chunk-OIOJTLJU.js +0 -1
- package/dist/sdk-runtime/index.d.ts +0 -255
- package/dist/sdk-runtime/index.js +0 -1
package/dist/deploy/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j,k}from"../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j,k}from"../chunk-74X2P7OO.js";export{a as AppHostingClient,b as ApplicationPackager,c as BUNDLE_DIR,j as SIGNATURE_SUFFIXES,d as bundleFileName,e as bundlePath,i as deploy,k as discoverSignatures,g as getSdk,f as getToken,h as packageAndUpload};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
export { App, AppHostingClient, ApplicationPackager, BUNDLE_DIR, Deployment, SIGNATURE_SUFFIXES, bundleFileName, bundlePath, deploy, discoverSignatures, getSdk, getToken, packageAndUpload } from './deploy/index.js';
|
|
2
|
-
export { DuneRequester, DuneRuntime, ViewDefinition, ViewDefinitionProperty, createDuneRuntime, createDuneRuntimeFromViews } from './sdk-runtime/index.js';
|
|
3
2
|
import '@cognite/sdk';
|
|
4
3
|
import 'node:util';
|
|
5
|
-
import 'graphql';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c}from"./chunk-
|
|
1
|
+
import{a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c}from"./chunk-74X2P7OO.js";export{o as AppHostingClient,r as ApplicationPackager,e as BUNDLE_DIR,b as SIGNATURE_SUFFIXES,f as bundleFileName,m as bundlePath,a as deploy,c as discoverSignatures,t as getSdk,p as getToken,x as packageAndUpload};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cognite/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "CLI for Cognite Data Fusion",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Cognite",
|
|
@@ -22,11 +22,6 @@
|
|
|
22
22
|
"types": "./dist/deploy/index.d.ts",
|
|
23
23
|
"import": "./dist/deploy/index.js",
|
|
24
24
|
"default": "./dist/deploy/index.js"
|
|
25
|
-
},
|
|
26
|
-
"./sdk-runtime": {
|
|
27
|
-
"types": "./dist/sdk-runtime/index.d.ts",
|
|
28
|
-
"import": "./dist/sdk-runtime/index.js",
|
|
29
|
-
"default": "./dist/sdk-runtime/index.js"
|
|
30
25
|
}
|
|
31
26
|
},
|
|
32
27
|
"bin": {
|
|
@@ -45,19 +40,15 @@
|
|
|
45
40
|
"prepack": "pnpm run build",
|
|
46
41
|
"prepublishOnly": "pnpm run build",
|
|
47
42
|
"test": "vitest run",
|
|
43
|
+
"test:coverage": "vitest run --coverage",
|
|
48
44
|
"test:watch": "vitest",
|
|
49
45
|
"mock:server": "tsx cli/testing/msw/standalone.ts",
|
|
50
46
|
"mock:deploy": "cd ../../apps/mock-app && pnpm build && COGNITE_TOKEN=test-token COGNITE_BASE_URL=http://localhost:9090 node ../../packages/cli/dist/cli/cli.js deploy --skip-build",
|
|
51
47
|
"refresh-spec-kit": "bash scripts/refresh-spec-kit.sh"
|
|
52
48
|
},
|
|
53
49
|
"dependencies": {
|
|
54
|
-
"@cognite/app-sdk": "^0.
|
|
55
|
-
"@cognite/sdk": "^10.
|
|
56
|
-
"@graphql-codegen/add": "^7.0.1",
|
|
57
|
-
"@graphql-codegen/cli": "^7.0.0",
|
|
58
|
-
"@graphql-codegen/typescript": "^6.0.1",
|
|
59
|
-
"@graphql-codegen/typescript-document-nodes": "^6.0.1",
|
|
60
|
-
"@graphql-codegen/typescript-operations": "^6.0.2",
|
|
50
|
+
"@cognite/app-sdk": "^0.8.0",
|
|
51
|
+
"@cognite/sdk": "^10.10.0",
|
|
61
52
|
"@napi-rs/keyring": "^1.3.0",
|
|
62
53
|
"@sentry/node": "^10.51.0",
|
|
63
54
|
"@zip.js/zip.js": "^2.7.0",
|
|
@@ -67,10 +58,9 @@
|
|
|
67
58
|
"dotenv": "^17.4.2",
|
|
68
59
|
"enquirer": "^2.4.1",
|
|
69
60
|
"execa": "^5.1.1",
|
|
70
|
-
"graphql": "^16.14.0",
|
|
71
61
|
"hygen": "^6.2.11",
|
|
72
62
|
"jose": "^6.2.2",
|
|
73
|
-
"mixpanel": "^0.
|
|
63
|
+
"mixpanel": "^0.22.0",
|
|
74
64
|
"open": "^10.1.0",
|
|
75
65
|
"openid-client": "^6.8.3",
|
|
76
66
|
"semver": "^7.7.0",
|
|
@@ -104,6 +94,7 @@
|
|
|
104
94
|
"react-dom": "^19.2.6",
|
|
105
95
|
"tsup": "^8.4.0",
|
|
106
96
|
"typescript": "^5.0.0",
|
|
97
|
+
"@vitest/coverage-v8": "4.1.8",
|
|
107
98
|
"vitest": "4.1.8"
|
|
108
99
|
},
|
|
109
100
|
"engines": {
|
package/dist/chunk-ATR2SGLU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var g=Object.defineProperty;var e=a=>{throw TypeError(a)};var h=(a,b)=>g(a,"name",{value:b,configurable:!0});var f=(a,b,c)=>b.has(a)||e("Cannot "+c);var i=(a,b,c)=>(f(a,b,"read from private field"),c?c.call(a):b.get(a)),j=(a,b,c)=>b.has(a)?e("Cannot add the same private member more than once"):b instanceof WeakSet?b.add(a):b.set(a,c),k=(a,b,c,d)=>(f(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c);export{h as a,i as b,j as c,k as d};
|
package/dist/chunk-OIOJTLJU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-ATR2SGLU.js";import{GraphQLSchema as nr,GraphQLObjectType as ir,GraphQLNonNull as I,GraphQLList as P,GraphQLString as b,GraphQLInt as or,GraphQLInputObjectType as ot,printSchema as sr}from"graphql";function U(e){return{space:e.space,externalId:e.externalId,version:e.version}}o(U,"toSharedViewId");function Tt(e){switch(e){case"text":return"String";case"boolean":return"Boolean";case"int32":case"int64":return"Int";case"float32":case"float64":return"Float";case"timestamp":return"DateTime";case"date":return"Date";case"json":return"JSON";case"timeseries":return"CogniteTimeSeriesReference";case"file":return"CogniteFileReference";case"sequence":return"CogniteSequenceReference";case"enum":return"String";default:return"String"}}o(Tt,"dmsTypeToGraphQL");function Qe(e){if(!("source"in e)){if(e.type?.type==="direct")return e.type.list?e.type.source?{kind:"directRelationList",targetView:U(e.type.source)}:{kind:"scalar",isList:!1,graphqlType:"JSON"}:e.type.source?{kind:"directRelation",targetView:U(e.type.source)}:{kind:"scalar",isList:!1,graphqlType:"JSON"};if(e.type?.type==="enum"){let t=e.type,r={};if(typeof t=="object"&&t!==null&&"values"in t){let i=t.values;if(typeof i=="object"&&i!==null)for(let[n,a]of Object.entries(i))r[n]={name:typeof a=="object"&&a!==null&&"name"in a?String(a.name):void 0}}return{kind:"enum",values:Object.keys(r),valueNames:Object.fromEntries(Object.entries(r).map(([i,n])=>[i,n.name??i]))}}return{kind:"scalar",isList:e.type!==void 0&&"list"in e.type&&e.type.list===!0,graphqlType:e.type?.type?Tt(e.type.type):"String"}}if("through"in e)return{kind:e.connectionType==="single_reverse_direct_relation"?"reverseDirect":"reverseList",sourceView:U(e.source),throughProperty:e.through.identifier};if(e.connectionType==="single_edge_connection"||e.connectionType==="multi_edge_connection"){let t=e.direction==="inwards"?"inwards":"outwards";return{kind:"edge",targetView:U(e.source),direction:t}}return{kind:"scalar"}}o(Qe,"parsePropertyDescriptor");var _e=new Set(["String","Boolean","Int","Float","DateTime","Date"]);var kt=new Set(["String","Int","Float","DateTime","Date"]);function Me(e){return e.kind==="directRelation"||e.kind==="enum"?!0:e.kind!=="scalar"||e.isList===!0?!1:_e.has(e.graphqlType??"String")}o(Me,"isFilterableDescriptor");function Oe(e){return e.kind==="enum"?!0:e.kind!=="scalar"||e.isList===!0?!1:_e.has(e.graphqlType??"String")}o(Oe,"isSortableDescriptor");function qe(e){return e.kind==="directRelation"||e.kind==="enum"?!0:e.kind==="scalar"&&e.isList!==!0&&kt.has(e.graphqlType??"")}o(qe,"hasInOpDescriptor");function Ge(e){return e.kind==="scalar"&&e.isList===!0}o(Ge,"hasListOpsDescriptor");function $e(e,t,r){let i=e.property(t,r);return i?i.kind==="directRelation"?!1:i.kind==="directRelationList"?!0:i.kind==="scalar"&&i.graphqlType==="JSON":!0}o($e,"isListThroughProperty");function F(e){return e.usedFor!=="edge"}o(F,"isNodeOrAll");function z(e){return{query:`query${e}`,getById:`get${e}ById`,count:`count${e}`,search:`search${e}`,aggregate:`aggregate${e}`}}o(z,"viewOperationNames");function Be(e){let t=new Set;return e.filter(r=>t.has(r.externalId)?!1:(t.add(r.externalId),!0))}o(Be,"dedupeByExternalId");function k(e){return Object.entries(e.properties).map(([t,r])=>[t,Qe(r),r.description])}o(k,"parsedProperties");import{GraphQLObjectType as je,GraphQLNonNull as Q,GraphQLString as me,GraphQLFloat as Y,GraphQLList as Nt,GraphQLEnumType as At}from"graphql";import{GraphQLScalarType as L,Kind as S}from"graphql";function H(e){switch(e.kind){case S.STRING:case S.BOOLEAN:return e.value;case S.INT:return parseInt(e.value,10);case S.FLOAT:return parseFloat(e.value);case S.OBJECT:{let t={};for(let r of e.fields)t[r.name.value]=H(r.value);return t}case S.LIST:return e.values.map(H);case S.NULL:return null;default:return null}}o(H,"parseLiteralJSON");var Lt=new L({name:"DateTime",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.STRING?e.value:null,"parseLiteral")}),Dt=new L({name:"Date",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.STRING?e.value:null,"parseLiteral")}),fe=new L({name:"JSON",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:H}),vt=new L({name:"CogniteTimeSeriesReference",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.STRING?e.value:null,"parseLiteral")}),Et=new L({name:"CogniteFileReference",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.STRING?e.value:null,"parseLiteral")}),bt=new L({name:"CogniteSequenceReference",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.STRING?e.value:null,"parseLiteral")}),X=new L({name:"ListLimit",description:"Limit for list/search queries (1\u20131000).",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:o(e=>e.kind===S.INT?parseInt(e.value,10):null,"parseLiteral")}),Ct=new L({name:"DirectRelationList",description:"A list of direct-relation node references ({ space, externalId }).",serialize:o(e=>e,"serialize"),parseValue:o(e=>e,"parseValue"),parseLiteral:H}),D={DateTime:Lt,Date:Dt,JSON:fe,CogniteTimeSeriesReference:vt,CogniteFileReference:Et,CogniteSequenceReference:bt,ListLimit:X,DirectRelationList:Ct};var Pt=new At({name:"AggregateFunction",values:{count:{value:"count"},avg:{value:"avg"},sum:{value:"sum"},min:{value:"min"},max:{value:"max"},histogram:{value:"histogram"}}}),Ke={function:{type:new Q(Pt)},property:{type:me},interval:{type:Y}},Vt=new je({name:"HistogramBucket",fields:{start:{type:new Q(Y)},count:{type:new Q(Y)}}}),Ue=new je({name:"AggregateResult",fields:{aggregate:{type:new Q(me)},property:{type:me},value:{type:Y},buckets:{type:new Nt(new Q(Vt))},group:{type:fe}}});import{GraphQLObjectType as ye,GraphQLNonNull as C,GraphQLList as Ft,GraphQLString as ge,GraphQLBoolean as Qt}from"graphql";var _t=new ye({name:"PageInfo",fields:{endCursor:{type:ge},hasNextPage:{type:new C(Qt)}}}),J=new ye({name:"NodeReference",fields:{space:{type:new C(ge)},externalId:{type:new C(ge)}}});function W(e,t){return new ye({name:`${e}Connection`,fields:{items:{type:new C(new Ft(new C(t)))},pageInfo:{type:new C(_t)}}})}o(W,"makeConnectionType");import{GraphQLInputObjectType as N,GraphQLList as R,GraphQLNonNull as We,GraphQLString as E,GraphQLBoolean as x,GraphQLFloat as jt,GraphQLInt as Kt}from"graphql";import{GraphQLObjectType as Mt,GraphQLNonNull as ze,GraphQLList as Ot,GraphQLString as Z,GraphQLBoolean as qt,GraphQLInt as Xe,GraphQLFloat as Gt,GraphQLEnumType as $t}from"graphql";function He(e){return e==="String"?Z:e==="Boolean"?qt:e==="Int"?Xe:e==="Float"?Gt:D[e]??Z}o(He,"scalarForName");function Ye(e){return{typeRegistry:new Map,connectionRegistry:new Map,viewsByExtId:new Map(e.map(t=>[t.externalId,t])),enumRegistry:new Map,enumFilterRegistry:new Map}}o(Ye,"createTypeContext");function Bt(e){let t=e.replace(/[^_A-Za-z0-9]/g,"_");return/^[0-9]/.test(t)&&(t=`_${t}`),t||"_UNKNOWN"}o(Bt,"sanitizeEnumValue");function he(e,t,r,i){let n=r.enumRegistry.get(e);if(n)return n;let a=new $t({name:e,values:Object.fromEntries(t.map(s=>[Bt(s),{value:s,description:i?.[s]}]))});return r.enumRegistry.set(e,a),a}o(he,"getOrCreateEnumType");function Je(e,t){return new Mt({name:e.externalId,description:e.description??e.name,fields:o(()=>{let r={space:{type:new ze(Z)},externalId:{type:new ze(Z)}};for(let[i,n,a]of k(e))if(n.kind==="scalar")n.isList?r[i]={type:new Ot(He(n.graphqlType??"String")),description:a}:r[i]={type:He(n.graphqlType??"String"),description:a};else if(n.kind==="enum"){let s=`${e.externalId}${i.charAt(0).toUpperCase()}${i.slice(1)}`;r[i]={type:he(s,n.values,t,n.valueNames),description:a}}else if(n.kind==="directRelation"){let s=t.typeRegistry.get(n.targetView.externalId)??J;r[i]={type:s,description:a}}else if(n.kind==="directRelationList")r[i]={type:D.DirectRelationList,description:a};else if(n.kind==="reverseList"||n.kind==="edge"){let s=n.kind==="reverseList"?n.sourceView.externalId:n.targetView.externalId,p=t.typeRegistry.get(s)??J,u=t.connectionRegistry.get(s);u||(u=W(s,p),t.connectionRegistry.set(s,u)),r[i]={type:u,description:a,args:{limit:{type:Xe}}}}else if(n.kind==="reverseDirect"){let s=t.typeRegistry.get(n.sourceView.externalId)??J;r[i]={type:s,description:a}}return r},"fields")})}o(Je,"generateViewObjectType");function A(e,t,r){let i={isNull:{type:x},exists:{type:x},eq:{type:t}};return r.hasIn&&(i.in={type:new R(t)}),r.hasPrefix&&(i.prefix={type:E}),r.hasRange&&(i.gte={type:t},i.gt={type:t},i.lte={type:t},i.lt={type:t}),r.hasListOps&&(i.containsAny={type:new R(t)},i.containsAll={type:new R(t)},i.overlaps={type:new R(t)}),new N({name:e,fields:i})}o(A,"makeScalarFilter");var we=A("StringFilter",E,{hasIn:!0,hasPrefix:!0}),Ut=A("BooleanFilter",x,{}),zt=A("IntFilter",Kt,{hasIn:!0,hasRange:!0}),Ht=A("FloatFilter",jt,{hasIn:!0,hasRange:!0}),Xt=A("DateTimeFilter",D.DateTime,{hasIn:!0,hasRange:!0}),Yt=A("DateFilter",D.Date,{hasIn:!0,hasRange:!0}),Jt=new N({name:"StringListFilter",fields:{isNull:{type:x},exists:{type:x},containsAny:{type:new R(E)},containsAll:{type:new R(E)},overlaps:{type:new R(E)}}}),_=new N({name:"DirectRelationRef",fields:{space:{type:new We(E)},externalId:{type:new We(E)}}}),Wt=new N({name:"DirectRelationFilter",fields:{isNull:{type:x},exists:{type:x},eq:{type:_},in:{type:new R(_)}}});function Zt(e){switch(e){case"String":return we;case"Boolean":return Ut;case"Int":return zt;case"Float":return Ht;case"DateTime":return Xt;case"Date":return Yt;default:return we}}o(Zt,"scalarFilterForName");var Ze=["space","externalId"];function et(e,t,r){let i=t.get(e.externalId),n={};for(let s of Ze)n[s]={type:we};let a=new Set(Ze);for(let[s,p]of k(e)){if(a.has(s))continue;let u=Me(p),c=Ge(p);if(!(!u&&!c))if(p.kind==="directRelation"){let f={isNull:{type:x},exists:{type:x},eq:{type:_},in:{type:new R(_)}};qe(p)&&(f.in={type:new R(_)});let l=t.get(p.targetView.externalId);l&&(f.nested={type:l}),n[s]=l?{type:new N({name:`_${e.externalId}_${s}_Filter`,fields:f})}:{type:Wt}}else if(p.kind==="enum"){let f=`${e.externalId}${s.charAt(0).toUpperCase()}${s.slice(1)}`,l=he(f,p.values,r),d=r.enumFilterRegistry.get(f);d||(d=new N({name:`${f}Filter`,fields:{isNull:{type:x},exists:{type:x},eq:{type:l},in:{type:new R(l)}}}),r.enumFilterRegistry.set(f,d)),n[s]={type:d}}else if(c)n[s]={type:Jt};else{let f=p.kind==="scalar"?p.graphqlType??"String":"String",l=Zt(f);l&&(n[s]={type:l})}}return{...n,hasData:{type:x},matchAll:{type:x},_and:{type:new R(i)},_or:{type:new R(i)},_not:{type:i}}}o(et,"generateFilterFields");import{GraphQLEnumType as tt,GraphQLInputObjectType as rt,GraphQLList as er,GraphQLNonNull as ee,GraphQLString as tr,GraphQLBoolean as rr}from"graphql";var te=new tt({name:"SortDirection",values:{ASC:{value:"ascending"},DESC:{value:"descending"}}});function nt(e){let t=[];for(let[i,n]of k(e))Oe(n)&&t.push(i);if(t.length===0)return null;let r=new tt({name:`${e.externalId}SortField`,values:Object.fromEntries(t.map(i=>[i,{value:i}]))});return new rt({name:`${e.externalId}Sort`,fields:{field:{type:new ee(r)},direction:{type:new ee(te)},nullsFirst:{type:rr}}})}o(nt,"generateSortInput");var it=new rt({name:"SearchSort",fields:{property:{type:new ee(new er(new ee(tr)))},direction:{type:te}}});function st(e){let t=e.filter(F),r=Ye(t);for(let l of t){let d=Je(l,r);r.typeRegistry.set(l.externalId,d)}let i=new Map;for(let l of t){let d=new ot({name:`${l.externalId}Filter`,fields:o(()=>et(l,i,r),"fields")});i.set(l.externalId,d)}let n={};for(let l of t){let d=l.externalId,m=z(d),g=r.typeRegistry.get(d),y=r.connectionRegistry.get(d);y||(y=W(d,g),r.connectionRegistry.set(d,y));let w=i.get(d),T=nt(l),V={limit:{type:X},cursor:{type:b},filter:{type:w}};T&&(V.sort={type:new P(T)}),n[m.query]={type:new I(y),args:V},n[m.getById]={type:g,args:{space:{type:new I(b)},externalId:{type:new I(b)}}},n[m.count]={type:new I(or),args:{filter:{type:w}}},n[m.search]={type:new I(y),args:{query:{type:b},limit:{type:X},filter:{type:w},sort:{type:new P(new I(it))},properties:{type:new P(new I(b))}}},n[m.aggregate]={type:new I(new P(new I(Ue))),args:{filter:{type:w},aggregates:{type:new P(new I(new ot({name:`${d}AggregateRequest`,fields:Ke})))},groupBy:{type:new P(new I(b))},query:{type:b}}}}let a=[];for(let[l,d]of r.typeRegistry)a.push({name:d.name,source:`typeRegistry[${l}]`});for(let[l,d]of r.connectionRegistry)a.push({name:d.name,source:`connectionRegistry[${l}]`});let s=new Map;for(let{name:l,source:d}of a)s.has(l)||s.set(l,[]),s.get(l).push(d);for(let[l,d]of s)if(d.length>1)throw new Error(`[dune] duplicate GraphQL type "${l}" from: ${d.join(", ")}`);let p=new nr({query:new ir({name:"Query",fields:n}),types:[te,...Object.values(D),...r.enumRegistry.values()]}),u=new Map,c=new Map;for(let l of t){let d=new Map;for(let[g,y]of k(l))d.set(g,y);let m={view:{space:l.space,externalId:l.externalId,version:l.version},properties:d};u.set(`${l.space}:${l.externalId}`,m),c.set(l.externalId,m)}let f={view(l){let d=u.get(`${l.space}:${l.externalId}`)??c.get(l.externalId);if(!d)throw new Error(`SchemaKnowledge: no view for "${l.space}:${l.externalId}"`);return d},property(l,d){return(u.get(`${l.space}:${l.externalId}`)??c.get(l.externalId))?.properties.get(d)}};return{schema:p,sdl:sr(p),schemaKnowledge:f}}o(st,"buildSchema");async function at(e,t){let i=(await t.dataModels.retrieve([{space:e.space,externalId:e.dataModelExternalId,version:e.dataModelVersion}],{inlineViews:!1})).items[0];if(!i)throw new Error(`Data model ${e.space}/${e.dataModelExternalId}/${e.dataModelVersion} not found`);if(!i.views?.length)throw new Error(`Data model ${e.space}/${e.dataModelExternalId}/${e.dataModelVersion} has no views`);let n=i.views.map(s=>({space:s.space,externalId:s.externalId,version:s.version}));return(await t.views.retrieve(n,{includeInheritedProperties:!0})).items}o(at,"fetchViews");import{execute as ar}from"graphql";function ct(e,t){return async(r,i)=>{let n=await ar({schema:e,document:r,variableValues:i,rootValue:t,fieldResolver:o((a,s,p,u)=>{let c=a[u.fieldName];return typeof c=="function"?c(a,s,p,u):c},"fieldResolver")});if(n.errors?.length)throw n.errors[0];return n.data}}o(ct,"createDuneRequester");import{CogniteError as lr}from"@cognite/sdk";function cr(e){let t=e.property.view;return{property:[t.space,`${t.externalId}/${t.version}`,e.property.property],direction:e.direction,nullsFirst:e.nullsFirst??!1}}o(cr,"compileSortClause");function pr(e,t){let r=new Set,i=new Map(e.map(n=>[n.name,n]));for(let n of e){if(n.queryable)continue;let a=n.from;if(!a||a in t)continue;let s=i.get(a);s?.view&&(t[a]={sources:[{source:s.view,properties:["*"]}]},r.add(a))}return r}o(pr,"injectPhantomSelects");function Se(e,t,r){let i={},n={};for(let c of e){if(!c.queryable)continue;if(c.kind==="edgeIntermediate"){let d={edges:{from:c.from,direction:c.direction,maxDistance:1},limit:Math.min(c.limit,r)};c.filter&&(d.edges.filter=c.filter),c.limitEach!=null&&(d.edges.limitEach=c.limitEach),i[c.name]=d,n[c.name]={sources:[]};continue}let f={filter:c.filter};c.from&&(f.from=c.from),c.chainTo?f.chainTo=c.chainTo:c.through?(f.through={view:c.through.view,identifier:c.through.property},f.direction=c.direction):c.direction&&(f.direction=c.direction);let l={limit:Math.min(c.limit,r),nodes:f};c.sort&&c.sort.length>0&&(l.sort=c.sort.map(cr)),i[c.name]=l,n[c.name]={sources:[{source:c.view,properties:c.select}]}}let a=pr(e,n),s={with:i,select:n},p={},u=!1;for(let c of e){if(!c.queryable||c.kind==="edgeIntermediate")continue;let f=t.get(c.name);f!=null&&(p[c.name]=f,u=!0)}return u&&(s.cursors=p),{query:s,tempSelectSteps:a}}o(Se,"compileQuery");function xe(e,t){let r=[];for(let i=0;i<e.length;i+=t)r.push(e.slice(i,i+t));return r}o(xe,"chunkArray");function ur(e){let t=e.through;return[t.view.space,`${t.view.externalId}/${t.view.version}`,t.property]}o(ur,"throughPropertyPath");function dr(e,t){let r=e.filter,i={containsAny:{property:ur(e),values:t}};return r?{and:[r,i]}:i}o(dr,"containsAnyParentFilter");var Re=class Re{constructor(t,r){this.dms=t;this.config=r}async run(t,r,i){let{response:n,tempSelectSteps:a,batchLimit:s}=await this.queryWithRetry(t,r,i),p={},u=new Map;for(let[c,f]of Object.entries(n.items))p[c]=f,u.set(c,n.nextCursor[c]??null);return await this.fetchReverseLists(t,p),{batch:p,nextCursors:u,tempSelectSteps:a,batchLimit:s}}async fetchConnections(t,r){await this.fetchReverseLists(t,r),await this.fetchQueryableConnections(t,r),await this.fetchEdgeConnections(t,r)}async queryWithRetry(t,r,i){let n=i,a=0;for(;;){let{query:s,tempSelectSteps:p}=Se(t,r,n);try{return{response:await this.dms.query({with:s.with,select:s.select,cursors:s.cursors}),tempSelectSteps:p,batchLimit:n}}catch(u){if(u instanceof lr&&u.status===408){if(a>=this.config.max408Retries)throw u;a++,n=Math.max(1,Math.floor(n/2))}else throw u}}}async fetchReverseLists(t,r){let i=t.filter(n=>!n.queryable&&n.from&&n.kind==="reverseList");for(let n of i){let a=r[n.from]??[];if(a.length===0){r[n.name]=[];continue}let s=a.map(c=>({space:c.space,externalId:c.externalId})),p=xe(s,this.config.reverseListChunkSize),u=await Promise.all(p.map(async c=>{let f=[],l;do{let d={limit:n.limit,nodes:{filter:dr(n,c)}},m=await this.dms.query({with:{[n.name]:d},select:{[n.name]:{sources:[{source:n.view,properties:n.select}]}},...l?{cursors:{[n.name]:l}}:{}});f.push(...m.items[n.name]??[]),l=m.nextCursor?.[n.name]??void 0}while(l);return f}));r[n.name]=u.flat()}}async fetchQueryableConnections(t,r){let i=t.filter(n=>n.queryable&&n.from&&(n.kind==="directRelation"||n.kind==="reverseDirect"));for(let n of i){let a=r[n.from]??[];if(a.length===0){r[n.name]=[];continue}if(n.kind==="directRelation"){let s=n.through,p=`${s.view.externalId}/${s.view.version}`,u=[],c=new Set;for(let d of a){let m=d.properties?.[s.view.space]?.[p]?.[s.property];if(m&&typeof m=="object"&&"space"in m&&"externalId"in m&&typeof m.space=="string"&&typeof m.externalId=="string"){let g=`${m.space}:${m.externalId}`;c.has(g)||(c.add(g),u.push({space:m.space,externalId:m.externalId}))}}if(u.length===0){r[n.name]=[];continue}let f=xe(u,this.config.inFilterChunkSize),l=await Promise.all(f.map(d=>this.dms.retrieve({items:d.map(m=>({instanceType:"node",...m})),sources:[{source:n.view}]})));r[n.name]=l.flatMap(d=>d.items)}else{let s=a.map(l=>({space:l.space,externalId:l.externalId})),p=n.through,u=[p.view.space,`${p.view.externalId}/${p.view.version}`,p.property],c=xe(s,this.config.inFilterChunkSize),f=[];for(let l of c){let d=n.limit-f.length;if(d<=0)break;let m=await this.dms.search({view:n.view,filter:{in:{property:u,values:l}},limit:d});f.push(...m.items)}r[n.name]=f}}}async fetchEdgeConnections(t,r){let i=t.filter(n=>n.kind==="edgeIntermediate"&&n.from);for(let n of i){let a=r[n.from]??[],s=t.find(d=>d.kind==="edge"&&d.from===n.name);if(!s)continue;if(a.length===0){r[n.name]=[],r[s.name]=[];continue}let p=`${n.from}__edge_root`,u={nodes:{filter:{or:a.map(d=>({and:[{equals:{property:["node","space"],value:d.space}},{equals:{property:["node","externalId"],value:d.externalId}}]}))}},limit:a.length},c={edges:{from:p,direction:n.direction,maxDistance:1},limit:n.limit};n.filter&&(c.edges.filter=n.filter),n.limitEach!=null&&(c.edges.limitEach=n.limitEach);let f={nodes:{from:n.name,chainTo:s.chainTo},limit:s.limit};s.filter&&(f.nodes.filter=s.filter);let l=await this.dms.query({with:{[p]:u,[n.name]:c,[s.name]:f},select:{[p]:{sources:[]},[n.name]:{sources:[]},[s.name]:{sources:[{source:s.view,properties:s.select}]}}});r[n.name]=l.items[n.name]??[],r[s.name]=l.items[s.name]??[]}}};o(Re,"QueryExecutor");var M=Re;var fr={endCursor:null,hasNextPage:!1};function lt(e){return{items:e,pageInfo:fr}}o(lt,"wrapConnection");function ne(e){if(!e||typeof e!="object"||!("space"in e)||!("externalId"in e))return!1;let{space:t,externalId:r}=e;return typeof t=="string"&&typeof r=="string"}o(ne,"isDmsRef");function mr(e,t){if(ne(e))return e;if(typeof e!="object"||e===null||!("externalId"in e))return;let{externalId:r}=e;if(typeof r!="string")return;let i="space"in e&&typeof e.space=="string"?e.space:t;return i?{space:i,externalId:r}:void 0}o(mr,"resolveParentRef");function gr(e,t,r){if(ne(e)){t(e);return}if(Array.isArray(e))for(let i of e){let n=mr(i,r);n&&t(n)}}o(gr,"forEachParentRef");var yr=/^[a-z]{2,3}(-[a-zA-Z0-9]{2,4})?$/;function ie(e){if(!e||typeof e!="object"||Array.isArray(e)||ne(e))return e;let t=Object.entries(e);return t.length===0||!t.every(r=>typeof r[1]=="string"&&yr.test(r[0]))?e:t.find(([r])=>r==="en")?.[1]??t[0][1]}o(ie,"coerceTextWithLocale");function ut(e,t){let r=`${t.externalId}/${t.version}`,i=e.properties?.[t.space]?.[r]??{},n={};for(let[a,s]of Object.entries(i))n[a]=ie(s);return{...n,space:e.space,externalId:e.externalId}}o(ut,"extractViewProperties");function re(e,t,r,i){if(t.length===0)return;let n=[...r.values()].filter(s=>s.from===e.name&&s.fieldName),a=[...r.values()].filter(s=>s.kind==="edge"&&s.fieldName&&s.from!=null&&r.get(s.from)?.from===e.name);for(let s of[...n,...a]){let p=(i[s.name]??[]).map(u=>ut(u,s.view));if(s.kind==="directRelation"){let u=new Map;for(let c of p)u.set(`${c.space}:${c.externalId}`,c);for(let c of t){let f=c[s.fieldName];c[s.fieldName]=ne(f)?u.get(`${f.space}:${f.externalId}`)??null:null}re(s,p,r,i)}else if(s.kind==="reverseDirect"||s.kind==="reverseList"){let u=s.through.property,c=new Map;for(let f of t)c.set(`${f.space}:${f.externalId}`,[]);for(let f of p){let l=f[u];l!=null?gr(l,d=>{c.get(`${d.space}:${d.externalId}`)?.push(f)},f.space):t.length===1&&c.get(`${t[0].space}:${t[0].externalId}`)?.push(f)}for(let f of t){let l=c.get(`${f.space}:${f.externalId}`)??[];f[s.fieldName]=s.kind==="reverseList"?lt(l):l}re(s,p,r,i)}else if(s.kind==="edge"){let u=i[s.from]??[],c=new Map;for(let l of u){if(l.instanceType!=="edge")continue;let{startNode:d,endNode:m}=l;if(!d||!m)continue;let g=s.chainTo==="destination"?d:m,y=s.chainTo==="destination"?m:d,w=`${g.space}:${g.externalId}`,T=`${y.space}:${y.externalId}`,V=c.get(w)??[];V.push(T),c.set(w,V)}let f=new Map;for(let l of p)f.set(`${l.space}:${l.externalId}`,l);for(let l of t){let d=`${l.space}:${l.externalId}`,g=(c.get(d)??[]).map(y=>f.get(y)).filter(y=>y!==void 0);l[s.fieldName]=lt(g)}re(s,p,r,i)}}}o(re,"nestChildrenForStep");function hr(e,t,r){let i=e.find(a=>!a.from);if(!i)return r;let n=new Map(e.map(a=>[a.name,a]));return re(i,r,n,t),r}o(hr,"nestChildren");function oe(e,t){let r=e.find(n=>!n.from);if(!r)return[];let i=(t[r.name]??[]).map(n=>ut(n,r.view));return hr(e,t,i)}o(oe,"unpack");function Ie(e,t){for(let r of e)delete t[r]}o(Ie,"stripTempSelects");function dt(){return{initialBatchLimit:1e3,maxBatchLimit:5e3,searchLimit:1e3,inFilterChunkSize:100,reverseListChunkSize:1e3,previewLimit:3,nestedDetailLimit:5,enableRemoveNotConnected:!1,max408Retries:3,max429Retries:5,retryBaseDelayMs:500,maxConcurrentRequests:4,maxNestingDepth:2,maxTotalItems:1e4,maxFilterDepth:16}}o(dt,"defaultPlannerConfig");var ve=class ve extends Error{constructor(t){super(t),this.name="PlannerValidationError"}};o(ve,"PlannerValidationError");var h=ve;function Ee(e){let t={};for(let[r,i]of e)i!=null&&(t[r]=i);return Object.keys(t).length===0?null:btoa(JSON.stringify(t))}o(Ee,"encodeCursors");function Er(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;for(let t of Object.values(e))if(typeof t!="string")return!1;return!0}o(Er,"isStringRecord");function be(e){if(!e)return new Map;let t;try{t=JSON.parse(atob(e))}catch{throw new h("Invalid pagination cursor \u2014 the value is malformed or has been modified by the client.")}if(!Er(t))throw new h("Invalid pagination cursor \u2014 expected a JSON object of {stepName: string}.");return new Map(Object.entries(t))}o(be,"decodeCursors");import{CogniteError as br}from"@cognite/sdk";function ft(){return{max429Retries:5,retryBaseDelayMs:500,maxConcurrentRequests:4}}o(ft,"defaultRetryConfig");function Cr(e){return new Promise(t=>setTimeout(t,e))}o(Cr,"sleep");var Ne=class Ne{constructor(t){this.queue=[];this.count=t}acquire(){return this.count>0?(this.count--,Promise.resolve()):new Promise(t=>this.queue.push(t))}release(){let t=this.queue.shift();t?t():this.count++}};o(Ne,"Semaphore");var Ce=Ne,Ae=class Ae{constructor(t,r=ft()){this.inner=t;this.config=r;this.semaphore=new Ce(r.maxConcurrentRequests)}query(t){return this.withRetry(()=>this.inner.query(t))}search(t){return this.withRetry(()=>this.inner.search(t))}aggregate(t){return this.withRetry(()=>this.inner.aggregate(t))}retrieve(t){return this.withRetry(()=>this.inner.retrieve(t))}sync(t){return this.withRetry(()=>this.inner.sync(t))}upsert(t){return this.inner.upsert(t)}delete(t){return this.inner.delete(t)}inspect(t){return this.inner.inspect(t)}async withRetry(t){let r=0;for(;;){await this.semaphore.acquire();let i=!1;try{return await t()}catch(n){if(n instanceof br&&n.status===429){if(r>=this.config.max429Retries)throw n;r++,this.semaphore.release(),i=!0,await Cr(this.config.retryBaseDelayMs*2**(r-1))}else throw n}finally{i||this.semaphore.release()}}}};o(Ae,"RetryingDmsClient");var O=Ae;function ae(e){return e.connections.size===0?0:1+Math.max(...[...e.connections.values()].map(t=>ae(t.select)))}o(ae,"selectionDepth");function Nr(e,t,r){for(let i of t.scalars)if(i!=="*"&&!r.property(e,i))throw new h(`Property "${i}" does not exist on view ${e.externalId}/${e.version}`);for(let[i]of t.connections)if(!r.property(e,i))throw new h(`Connection "${i}" does not exist on view ${e.externalId}/${e.version}`)}o(Nr,"validateSelection");function G(e){return{hasData:[e]}}o(G,"hasDataFilter");function Ar(e,t){let r=G(t);return e?{and:[e,r]}:r}o(Ar,"scopedFilter");function Pr(e,t,r,i,n){return{name:"0",kind:"root",view:e,filter:Ar(t,e),sort:r&&r.length>0?r:void 0,select:i.length>0?i:["*"],limit:n,queryable:!0}}o(Pr,"makeRootStep");function Vr(e,t,r,i,n,a){return{name:e,from:t.name,kind:"directRelation",view:i,through:{view:t.view,property:r},direction:"outwards",filter:G(i),select:n.length>0?n:["*"],limit:a,queryable:!0,fieldName:r}}o(Vr,"makeDirectRelationStep");function Fr(e,t,r,i,n,a,s){return{name:e,from:t.name,kind:"reverseDirect",view:i,through:{view:i,property:n},direction:"inwards",filter:G(i),select:a.length>0?a:["*"],limit:s,queryable:!0,fieldName:r}}o(Fr,"makeReverseDirectStep");function Qr(e,t,r,i,n,a,s,p){return{name:e,from:t.name,kind:"reverseList",view:i,through:{view:i,property:n},direction:"inwards",filter:G(i),select:a.length>0?a:["*"],limit:s,queryable:!p,fieldName:r}}o(Qr,"makeReverseListStep");function _r(e,t,r,i,n,a,s,p){let u={name:e,from:r.name,kind:"edgeIntermediate",view:n,direction:a,filter:void 0,select:[],limit:p,limitEach:p,queryable:!0},c={name:t,from:e,kind:"edge",view:n,filter:G(n),select:s.length>0?s:["*"],limit:p,queryable:!0,fieldName:i,chainTo:a==="outwards"?"destination":"source"};return[u,c]}o(_r,"makeEdgeSteps");function se(e){return{type:"view",space:e.space,externalId:e.externalId,version:e.version}}o(se,"toRef");function mt(e,t){return e.length===0||e.includes("*")||e.includes(t)?e:[...e,t]}o(mt,"withThroughProperty");function Mr(e,t){return e.includes("*")||e.includes(t)?e:[...e,t]}o(Mr,"withDirectRelationRef");function q(e,t,r,i,n,a){let s=0;for(let[p,u]of r.connections){let c=n.property(t,p);if(!c)continue;s++;let f=u.limit??i,l=u.select.scalars,d=u.select,m=`${e.name}_${s}`;if(c.kind==="directRelation"){e.select=Mr(e.select,p);let g=se(c.targetView),y=Vr(m,e,p,g,l,f);a.push(y),q(y,g,d,i,n,a)}else if(c.kind==="reverseDirect"){let g=se(c.sourceView),y=mt(l,c.throughProperty),w=Fr(m,e,p,g,c.throughProperty,y,f);a.push(w),q(w,g,d,i,n,a)}else if(c.kind==="reverseList"){let g=se(c.sourceView),y=mt(l,c.throughProperty),w=$e(n,c.sourceView,c.throughProperty),T=Qr(m,e,p,g,c.throughProperty,y,f,w);a.push(T),q(T,g,d,i,n,a)}else if(c.kind==="edge"){let g=se(c.targetView),y=`${e.name}_${s}_e`,[w,T]=_r(y,m,e,p,g,c.direction,l,f);a.push(w,T),q(T,g,d,i,n,a)}}}o(q,"addConnectionSteps");function ce(e,t,r,i,n,a,s){a&&Nr(e,t,a);let p=Pr(e,r,i,t.scalars,n),u=[p];return a&&q(p,e,t,s??n,a,u),u}o(ce,"buildSteps");var Or="5c4d853e7c3b77b1eb4468d5329b278c",qr="https://api.mixpanel.com/track",Gr="flows-typed-ts-sdk";var $={ClientCreated:"Flows.SDK.ClientCreated",OperationExecuted:"Flows.SDK.OperationExecuted"};function $r(e){return typeof e=="object"&&e!==null}o($r,"isRecord");function gt(){let e=globalThis;return $r(e)?e:{}}o(gt,"defaultEnv");function Br(e=gt()){return e.COGNITE_TELEMETRY_DISABLED==="1"||e.DO_NOT_TRACK==="1"}o(Br,"isSdkTelemetryDisabled");function jr(e){return{track(t,r,i){let n=JSON.stringify([{event:t,properties:{token:e,...r}}]),a=new URLSearchParams({data:n});fetch(qr,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a.toString(),keepalive:!0}).then(()=>i(),()=>i())}}}o(jr,"fetchInit");var Kr={track:o(()=>{},"track"),flush:o(async()=>{},"flush"),register:o(()=>{},"register")};function Ur(e={}){let t=e.env??gt();if(Br(t))return Kr;let r=e.init??jr,i,n=new Set,a={};function s(){return i||(i=r(Or)),i}return o(s,"getClient"),{register(p){a={...a,...p}},track(p,u){let c=s(),f={...a,...u,applicationId:Gr},l=o(()=>{},"finish"),d=new Promise(m=>{l=m});n.add(d);try{c.track(p,f,l)}catch{l()}d.finally(()=>n.delete(d))},async flush(p=2e3){if(n.size===0)return;let u,c=new Promise(f=>{u=setTimeout(f,p),u.unref?.()});try{await Promise.race([Promise.allSettled([...n]),c])}finally{u!==void 0&&clearTimeout(u)}}}}o(Ur,"createSdkTelemetry");var B=Ur();var Pe=class Pe{get schemaKnowledge(){return this.schema}get maxFilterDepth(){return this.config.maxFilterDepth}constructor(t,r,i,n=B){this.schema=r,this.config={...dt(),...i},this.telemetry=n,this.dms=new O(t,{max429Retries:this.config.max429Retries,retryBaseDelayMs:this.config.retryBaseDelayMs,maxConcurrentRequests:this.config.maxConcurrentRequests}),this.executor=new M(this.dms,{max408Retries:this.config.max408Retries,inFilterChunkSize:this.config.inFilterChunkSize,reverseListChunkSize:this.config.reverseListChunkSize})}async trackOperation(t,r,i){let n=performance.now();try{let a=await i();return this.telemetry.track($.OperationExecuted,{operationType:t,viewExternalId:r.externalId,success:!0,durationMs:Math.round(performance.now()-n)}),a}catch(a){throw this.telemetry.track($.OperationExecuted,{operationType:t,viewExternalId:r.externalId,success:!1,durationMs:Math.round(performance.now()-n)}),a}}async _queryPage(t){let r=ae(t.select);if(r>this.config.maxNestingDepth)throw new h(`Query nesting depth ${r} exceeds the maximum of ${this.config.maxNestingDepth} enforced by the Data Modeling service. Reduce connection depth.`);let i=t.limit??this.config.initialBatchLimit,n=ce(t.view,t.select,t.filter,t.sort,i,this.schema,this.config.previewLimit);if(n.length===0)return{items:[],pageInfo:{endCursor:null,hasNextPage:!1}};let a=new Map(be(t.cursor)),s=Math.min(this.config.initialBatchLimit,this.config.maxBatchLimit),{batch:p,nextCursors:u,tempSelectSteps:c}=await this.executor.run(n,a,s);Ie(c,p);let f=oe(n,p),l=n[0],d=u.get(l.name)??null,m=Ee(u),g=d!=null;return{items:f,pageInfo:{endCursor:m,hasNextPage:g}}}async query(t){return this.trackOperation("query",t.view,()=>this._queryPage(t))}async queryAll(t,r){let i=r??this.config.maxTotalItems,n=[],a,s=!0;for(;s;){let p=await this._queryPage({...t,cursor:a});if(n.push(...p.items),s=p.pageInfo.hasNextPage,a=p.pageInfo.endCursor??void 0,n.length>=i){if(r===void 0&&s)throw new h(`listAll reached the hard ceiling of ${i} items. Pass an explicit maxTotal to acknowledge this or raise maxTotalItems in config.`);break}}return n}async search(t){return this.trackOperation("search",t.view,async()=>{let r=t.limit??this.config.searchLimit,i=await this.dms.search({view:t.view,query:t.query,filter:t.filter,sort:t.sort,limit:r,properties:t.properties}),n=ce(t.view,t.select,void 0,void 0,r,this.schema,this.config.previewLimit),a={0:i.items};return await this.executor.fetchConnections(n,a),{items:oe(n,a),pageInfo:{endCursor:null,hasNextPage:!1}}})}async retrieve(t,r){return this.trackOperation("retrieve",r,async()=>{if(t.length===0)return[];let i=await this.dms.retrieve({items:t.map(a=>({instanceType:"node",space:a.space,externalId:a.externalId})),sources:[{source:r}]}),n=`${r.externalId}/${r.version}`;return i.items.map(a=>{let s=a.properties?.[r.space]?.[n]??{},p={};for(let[u,c]of Object.entries(s))p[u]=ie(c);return{...p,space:a.space,externalId:a.externalId}})})}async count(t){return this.trackOperation("count",t.view,async()=>{let i=(await this.dms.aggregate({view:t.view,filter:t.filter,aggregates:[{count:{property:"externalId"}}]})).items[0]?.aggregates[0];return(i?.aggregate!=="histogram"?i?.value:void 0)??0})}async aggregate(t){return this.trackOperation("aggregate",t.view,async()=>({items:(await this.dms.aggregate({view:t.view,filter:t.filter,aggregates:t.aggregates,groupBy:t.groupBy,query:t.query})).items}))}async*queryPages(t){let r,i=!0;for(;i;){let n=await this._queryPage({...t,cursor:r});yield n,i=n.pageInfo.hasNextPage,r=n.pageInfo.endCursor??void 0}}};o(Pe,"QueryRunner");var j=Pe;function Ve(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}o(Ve,"isRecord");function pe(e){return typeof e=="string"||typeof e=="number"}o(pe,"isScalar");var zr={space:["node","space"],externalId:["node","externalId"]};function Hr(e,t){return zr[t]??[e.space,`${e.externalId}/${e.version}`,t]}o(Hr,"propRef");var Xr={exists:o((e,t)=>typeof t!="boolean"?void 0:t?{exists:{property:e}}:{not:{exists:{property:e}}},"exists"),eq:o((e,t)=>({equals:{property:e,value:t}}),"eq"),in:o((e,t)=>Array.isArray(t)?{in:{property:e,values:t}}:void 0,"in"),isNull:o((e,t)=>typeof t!="boolean"?void 0:t?{not:{exists:{property:e}}}:{exists:{property:e}},"isNull"),prefix:o((e,t)=>typeof t=="string"?{prefix:{property:e,value:t}}:void 0,"prefix"),gte:o((e,t)=>pe(t)?{range:{property:e,gte:t}}:void 0,"gte"),gt:o((e,t)=>pe(t)?{range:{property:e,gt:t}}:void 0,"gt"),lte:o((e,t)=>pe(t)?{range:{property:e,lte:t}}:void 0,"lte"),lt:o((e,t)=>pe(t)?{range:{property:e,lt:t}}:void 0,"lt"),containsAny:o((e,t)=>Array.isArray(t)?{containsAny:{property:e,values:t}}:void 0,"containsAny"),containsAll:o((e,t)=>Array.isArray(t)?{containsAll:{property:e,values:t}}:void 0,"containsAll"),overlaps:o((e,t)=>Array.isArray(t)?{containsAny:{property:e,values:t}}:void 0,"overlaps")};function Yr(e,t,r,i,n,a){let s=Hr(r,e),p=Object.entries(t).flatMap(([u,c])=>{if(c==null)return[];if(u==="nested"&&i&&Ve(c)){let l=i.property(r,e);if(l?.kind==="directRelation"){let d={type:"view",...l.targetView},m=le(c,d,i,n+1,a);if(m)return[{nested:{scope:[r.space,`${r.externalId}/${r.version}`,e],filter:m}}]}return[]}let f=Xr[u]?.(s,c);return f?[f]:[]});if(p.length!==0)return p.length===1?p[0]:{and:p}}o(Yr,"translatePropertyFilter");function Jr(e){if(e.length!==0)return e.length===1?e[0]:{and:e}}o(Jr,"collapse");function v(e,t,r,i=16){return le(e,t,r,0,i)}o(v,"buildFilter");function le(e,t,r,i,n){if(i>n)throw new h(`Filter nesting depth ${i} exceeds maximum ${n}. Reduce _and/_or/_not/nested nesting.`);if(!Ve(e))return;let a=Object.entries(e).flatMap(([s,p])=>{if(p==null)return[];if(s==="_not"){let u=le(p,t,r,i+1,n);return u?[{not:u}]:[]}if(s==="hasData"&&typeof p=="boolean"&&p)return[{hasData:[{type:"view",space:t.space,externalId:t.externalId,version:t.version}]}];if(s==="matchAll"&&typeof p=="boolean"&&p)return[{matchAll:{}}];if((s==="_and"||s==="_or")&&Array.isArray(p)){let u=p.flatMap(c=>{let f=le(c,t,r,i+1,n);return f?[f]:[]});return u.length>0?[s==="_and"?{and:u}:{or:u}]:[]}if(Ve(p)){let u=Yr(s,p,t,r,i,n);return u?[u]:[]}return[]});return Jr(a)}o(le,"buildFilterImpl");var Wr={avg:o(e=>({avg:{property:e.property}}),"avg"),sum:o(e=>({sum:{property:e.property}}),"sum"),min:o(e=>({min:{property:e.property}}),"min"),max:o(e=>({max:{property:e.property}}),"max"),count:o(e=>({count:{property:e.property??"externalId"}}),"count"),histogram:o(e=>({histogram:{property:e.property,interval:e.interval}}),"histogram")};function Zr(e){let t=Wr[e.function];if(!t)throw new h(`Unknown aggregation function '${e.function}'`);if(e.function!=="count"&&!e.property)throw new h(`Property is required for '${e.function}' aggregation`);if(e.function==="histogram"&&e.interval===void 0)throw new h("Interval is required for 'histogram' aggregation");return t(e)}o(Zr,"toAggregationDefinition");function yt(e,t){return o(async function(i,n){let{items:a}=await t.aggregate({view:e,filter:v(n.filter,e,t.schemaKnowledge,t.maxFilterDepth),aggregates:(n.aggregates??[{function:"count"}]).map(Zr),groupBy:n.groupBy,query:n.query});return a.flatMap(s=>s.aggregates.map(p=>{if(p.aggregate==="histogram"){let{aggregate:l,property:d,buckets:m}=p;return{aggregate:l,property:d,value:null,buckets:m,group:s.group??null}}let{aggregate:u,property:c,value:f}=p;return{aggregate:u,property:c,value:f,buckets:null,group:s.group??null}}))},"aggregateResolver")}o(yt,"makeAggregateResolver");function ht(e,t){return o(async function(i,n){let a=v(n.filter,e,t.schemaKnowledge,t.maxFilterDepth);return t.count({view:e,filter:a})},"countResolver")}o(ht,"makeCountResolver");import{Kind as K,isObjectType as en,getNamedType as tn}from"graphql";function ue(e,t){let r=[];for(let i of e.selections)if(i.kind===K.FIELD)r.push(i);else if(i.kind===K.INLINE_FRAGMENT&&i.selectionSet)r.push(...ue(i.selectionSet,t));else if(i.kind===K.FRAGMENT_SPREAD){let n=t[i.name.value];n&&r.push(...ue(n.selectionSet,t))}return r}o(ue,"collectFields");var rn=new Set(["space","externalId"]);function wt(e,t,r){let i=[],n=new Map;for(let a of ue(e,r.fragments)){let s=a.name.value;if(s==="__typename"||rn.has(s))continue;if(!a.selectionSet){i.push(s);continue}let p=r.schema.getType(t);if(en(p)){let u=p.getFields()[s];if(u){let c=tn(u.type).name,f=wt(a.selectionSet,c,r),l=a.arguments?.find(m=>m.name.value==="limit"),d;if(l){if(l.value.kind===K.INT)d=parseInt(l.value.value,10);else if(l.value.kind===K.VARIABLE){let m=r.variableValues?.[l.value.name.value];typeof m=="number"&&(d=m)}}n.set(s,{limit:d,select:f});continue}}i.push(s)}return{scalars:i,connections:n}}o(wt,"buildTree");function Fe(e,t,r){return e?wt(e,t,r):{scalars:[],connections:new Map}}o(Fe,"buildSelectionTree");function de(e,t){let r=e.fieldNodes[0]?.selectionSet;if(!r)return{scalars:[],connections:new Map};let i=ue(r,e.fragments).find(n=>n.name.value==="items");return Fe(i?.selectionSet,t,e)}o(de,"buildSelectionTreeFromListInfo");function St(e,t,r){return o(async function(n,a,s,p){let{space:u,externalId:c}=a,f=Fe(p.fieldNodes[0]?.selectionSet,t,p),l={and:[{equals:{property:["node","space"],value:u}},{equals:{property:["node","externalId"],value:c}}]},{items:d}=await r.query({view:e,select:f,filter:l,limit:1});return d[0]??null},"getByIdResolver")}o(St,"makeGetByIdResolver");function xt(e,t,r){return o(async function(n,a,s,p){let u=de(p,t),c=v(a.filter,e,r.schemaKnowledge,r.maxFilterDepth),f=nn(a.sort,e);return r.query({view:e,select:u,filter:c,sort:f,cursor:a.cursor,limit:a.limit})},"queryResolver")}o(xt,"makeQueryResolver");function nn(e,t){if(!(!e||e.length===0))return e.map(r=>({property:{view:t,property:r.field},direction:r.direction??"ascending",nullsFirst:r.nullsFirst}))}o(nn,"parseSortArg");function Rt(e,t,r){return o(async function(n,a,s,p){let u=de(p,t),c={view:e,query:a.query,limit:a.limit,filter:v(a.filter,e,r.schemaKnowledge,r.maxFilterDepth),sort:a.sort,select:u,properties:a.properties},{items:f,pageInfo:l}=await r.search(c);return{items:f,pageInfo:l}},"searchResolver")}o(Rt,"makeSearchResolver");function on(e,t){let r={};for(let i of e.filter(F)){let n={type:"view",space:i.space,externalId:i.externalId,version:i.version},a=i.externalId,s=z(a);r[s.query]=xt(n,a,t),r[s.getById]=St(n,a,t),r[s.count]=ht(n,t),r[s.search]=Rt(n,a,t),r[s.aggregate]=yt(n,t)}return r}o(on,"buildRootValue");async function sn(e,t,r=B){let i=await at(e,t);return It(i,t,r)}o(sn,"createDuneRuntime");function It(e,t,r=B){let i=Be(e),{schema:n,schemaKnowledge:a}=st(i),s=new j(t.instances,a,void 0,r),p=on(i,s),u=ct(n,p);return r.register({project:t.project}),r.track($.ClientCreated,{viewCount:e.filter(F).length}),{schema:n,rootValue:p,runner:s,requester:u}}o(It,"createDuneRuntimeFromViews");export{sn as a,It as b};
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import { ViewDefinition as ViewDefinition$1, ViewPropertyDefinition, EnumProperty, ConnectionDefinitionRead, ViewReference, FilterDefinition, SearchSort, AggregationDefinition, AggregatedResultItem, InstancesAPI, CogniteClient } from '@cognite/sdk';
|
|
2
|
-
import { DocumentNode, GraphQLSchema } from 'graphql';
|
|
3
|
-
|
|
4
|
-
interface GenerateSdkConfig {
|
|
5
|
-
name: string;
|
|
6
|
-
space: string;
|
|
7
|
-
dataModelExternalId: string;
|
|
8
|
-
dataModelVersion: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
interface SharedViewId {
|
|
12
|
-
space: string;
|
|
13
|
-
externalId: string;
|
|
14
|
-
version: string;
|
|
15
|
-
}
|
|
16
|
-
type PropertyDescriptor = {
|
|
17
|
-
kind: 'scalar';
|
|
18
|
-
isList?: boolean;
|
|
19
|
-
graphqlType?: string;
|
|
20
|
-
} | {
|
|
21
|
-
kind: 'enum';
|
|
22
|
-
values: string[];
|
|
23
|
-
valueNames: Record<string, string>;
|
|
24
|
-
} | {
|
|
25
|
-
kind: 'directRelation';
|
|
26
|
-
targetView: SharedViewId;
|
|
27
|
-
} | {
|
|
28
|
-
kind: 'directRelationList';
|
|
29
|
-
targetView: SharedViewId;
|
|
30
|
-
} | {
|
|
31
|
-
kind: 'reverseDirect';
|
|
32
|
-
sourceView: SharedViewId;
|
|
33
|
-
throughProperty: string;
|
|
34
|
-
} | {
|
|
35
|
-
kind: 'reverseList';
|
|
36
|
-
sourceView: SharedViewId;
|
|
37
|
-
throughProperty: string;
|
|
38
|
-
} | {
|
|
39
|
-
kind: 'edge';
|
|
40
|
-
targetView: SharedViewId;
|
|
41
|
-
direction: 'outwards' | 'inwards';
|
|
42
|
-
};
|
|
43
|
-
interface SchemaView {
|
|
44
|
-
view: SharedViewId;
|
|
45
|
-
properties: Map<string, PropertyDescriptor>;
|
|
46
|
-
}
|
|
47
|
-
interface SchemaKnowledge {
|
|
48
|
-
view(ref: SharedViewId): SchemaView;
|
|
49
|
-
property(ref: SharedViewId, prop: string): PropertyDescriptor | undefined;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
type DmsEnumPropertyType = EnumProperty & {
|
|
53
|
-
list?: boolean;
|
|
54
|
-
maxListSize?: number;
|
|
55
|
-
};
|
|
56
|
-
type CodegenPropertyType = Exclude<ViewPropertyDefinition['type'], EnumProperty> | DmsEnumPropertyType;
|
|
57
|
-
type ViewDefinitionProperty = ((Omit<ViewPropertyDefinition, 'type'> & {
|
|
58
|
-
type: CodegenPropertyType;
|
|
59
|
-
}) | ConnectionDefinitionRead) & {
|
|
60
|
-
constraintState?: Record<string, unknown>;
|
|
61
|
-
description?: string;
|
|
62
|
-
};
|
|
63
|
-
type ViewDefinition = Omit<ViewDefinition$1, 'properties'> & {
|
|
64
|
-
properties: Record<string, ViewDefinitionProperty>;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Executes an operation document in-process and resolves to its result.
|
|
69
|
-
* The generated SDK supplies the result/variable types at each call site
|
|
70
|
-
* (requester<TData, TVariables>(doc, vars)), so no cast is needed on the
|
|
71
|
-
* document constants themselves.
|
|
72
|
-
*/
|
|
73
|
-
type DuneRequester = <TData, TVariables>(doc: DocumentNode, variables?: TVariables) => Promise<TData>;
|
|
74
|
-
|
|
75
|
-
interface PropertyRef {
|
|
76
|
-
view: ViewReference;
|
|
77
|
-
property: string;
|
|
78
|
-
}
|
|
79
|
-
interface ConnectionSelection {
|
|
80
|
-
limit?: number;
|
|
81
|
-
select: SelectionTree;
|
|
82
|
-
}
|
|
83
|
-
interface SelectionTree {
|
|
84
|
-
scalars: string[];
|
|
85
|
-
connections: Map<string, ConnectionSelection>;
|
|
86
|
-
}
|
|
87
|
-
interface SortClause {
|
|
88
|
-
property: PropertyRef;
|
|
89
|
-
direction: 'ascending' | 'descending';
|
|
90
|
-
/** When true, nulls sort before non-nulls. Defaults to false. */
|
|
91
|
-
nullsFirst?: boolean;
|
|
92
|
-
}
|
|
93
|
-
/** Pre-translated DMS logical filter (output of translateFilter in resolver layer). */
|
|
94
|
-
type LogicalFilter = FilterDefinition;
|
|
95
|
-
interface QueryInput {
|
|
96
|
-
view: ViewReference;
|
|
97
|
-
filter?: LogicalFilter;
|
|
98
|
-
sort?: SortClause[];
|
|
99
|
-
select: SelectionTree;
|
|
100
|
-
/** Page size. Defaults to INITIAL_BATCH_LIMIT if omitted. */
|
|
101
|
-
limit?: number;
|
|
102
|
-
/** Opaque cursor from a previous ListResult.pageInfo.endCursor. */
|
|
103
|
-
cursor?: string;
|
|
104
|
-
}
|
|
105
|
-
interface ListResult<T = Record<string, unknown>> {
|
|
106
|
-
items: T[];
|
|
107
|
-
pageInfo: {
|
|
108
|
-
endCursor: string | null;
|
|
109
|
-
hasNextPage: boolean;
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
interface SearchInput {
|
|
114
|
-
view: ViewReference;
|
|
115
|
-
/** Full-text search term. */
|
|
116
|
-
query?: string;
|
|
117
|
-
filter?: LogicalFilter;
|
|
118
|
-
sort?: SearchSort[];
|
|
119
|
-
select: SelectionTree;
|
|
120
|
-
/** Max items to return. Defaults to searchLimit config. */
|
|
121
|
-
limit?: number;
|
|
122
|
-
/** Restrict search to specific property names within the view. */
|
|
123
|
-
properties?: string[];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
interface AggregateInput {
|
|
127
|
-
view: ViewReference;
|
|
128
|
-
filter?: LogicalFilter;
|
|
129
|
-
aggregates: AggregationDefinition[];
|
|
130
|
-
groupBy?: string[];
|
|
131
|
-
/** Optional full-text query to scope which instances are aggregated. */
|
|
132
|
-
query?: string;
|
|
133
|
-
}
|
|
134
|
-
interface AggregateOutput {
|
|
135
|
-
items: AggregatedResultItem[];
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
type DmsClient = Pick<InstancesAPI, 'query' | 'search' | 'aggregate' | 'retrieve' | 'upsert' | 'delete' | 'sync' | 'inspect'>;
|
|
139
|
-
interface PlannerConfig {
|
|
140
|
-
initialBatchLimit: number;
|
|
141
|
-
maxBatchLimit: number;
|
|
142
|
-
searchLimit: number;
|
|
143
|
-
inFilterChunkSize: number;
|
|
144
|
-
reverseListChunkSize: number;
|
|
145
|
-
previewLimit: number;
|
|
146
|
-
nestedDetailLimit: number;
|
|
147
|
-
enableRemoveNotConnected: boolean;
|
|
148
|
-
max408Retries: number;
|
|
149
|
-
max429Retries: number;
|
|
150
|
-
retryBaseDelayMs: number;
|
|
151
|
-
maxConcurrentRequests: number;
|
|
152
|
-
/** Maximum SelectionTree nesting depth. Throws PlannerValidationError if exceeded. */
|
|
153
|
-
maxNestingDepth: number;
|
|
154
|
-
/** Hard ceiling for listAll without an explicit maxTotal. Throws rather than silently truncating. */
|
|
155
|
-
maxTotalItems: number;
|
|
156
|
-
/** Maximum filter-tree recursion depth (_and/_or/_not/nested). Throws PlannerValidationError if exceeded. */
|
|
157
|
-
maxFilterDepth: number;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
type UnpackedNode = {
|
|
161
|
-
space: string;
|
|
162
|
-
externalId: string;
|
|
163
|
-
} & Record<string, unknown>;
|
|
164
|
-
|
|
165
|
-
/** Properties registered once at client init and merged into every subsequent event. */
|
|
166
|
-
interface SdkTelemetryBaseProperties {
|
|
167
|
-
project?: string;
|
|
168
|
-
}
|
|
169
|
-
/** Typed map of every event name to its specific properties. */
|
|
170
|
-
interface SdkTelemetryEventMap {
|
|
171
|
-
'Flows.SDK.ClientCreated': {
|
|
172
|
-
viewCount: number;
|
|
173
|
-
};
|
|
174
|
-
'Flows.SDK.OperationExecuted': {
|
|
175
|
-
operationType: 'query' | 'search' | 'count' | 'aggregate' | 'retrieve';
|
|
176
|
-
viewExternalId: string;
|
|
177
|
-
success: boolean;
|
|
178
|
-
durationMs: number;
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
type SdkTelemetryEventName = keyof SdkTelemetryEventMap;
|
|
182
|
-
interface SdkTelemetry {
|
|
183
|
-
track<E extends SdkTelemetryEventName>(eventName: E, properties: SdkTelemetryEventMap[E]): void;
|
|
184
|
-
flush(timeoutMs?: number): Promise<void>;
|
|
185
|
-
/** Merge properties into every subsequent event (Mixpanel-style super properties). */
|
|
186
|
-
register(baseProperties: SdkTelemetryBaseProperties): void;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
declare class QueryRunner {
|
|
190
|
-
private readonly dms;
|
|
191
|
-
private readonly schema;
|
|
192
|
-
private readonly config;
|
|
193
|
-
private readonly executor;
|
|
194
|
-
private readonly telemetry;
|
|
195
|
-
get schemaKnowledge(): SchemaKnowledge | undefined;
|
|
196
|
-
get maxFilterDepth(): number;
|
|
197
|
-
constructor(dms: DmsClient, schema?: SchemaKnowledge, config?: Partial<PlannerConfig>, telemetry?: SdkTelemetry);
|
|
198
|
-
private trackOperation;
|
|
199
|
-
private _queryPage;
|
|
200
|
-
query(input: QueryInput): Promise<ListResult<UnpackedNode>>;
|
|
201
|
-
/**
|
|
202
|
-
* Collects all pages until exhaustion. `input.limit` is the page size.
|
|
203
|
-
* `maxTotal` sets an explicit ceiling — without it, throws at `config.maxTotalItems`
|
|
204
|
-
* to prevent unbounded fetches.
|
|
205
|
-
*/
|
|
206
|
-
queryAll(input: Omit<QueryInput, 'cursor'>, maxTotal?: number): Promise<UnpackedNode[]>;
|
|
207
|
-
/**
|
|
208
|
-
* Full-text or filter-based search returning a single (non-paginated) result set.
|
|
209
|
-
* Use for top-level discovery; DMS search has eventual consistency — do not use
|
|
210
|
-
* for writes-then-reads or where strong consistency is required.
|
|
211
|
-
*/
|
|
212
|
-
search(input: SearchInput): Promise<ListResult<UnpackedNode>>;
|
|
213
|
-
/**
|
|
214
|
-
* Fetches specific nodes by space+externalId. Returns an empty array when ids is empty.
|
|
215
|
-
* Extracts view-scoped properties before returning, matching the shape of list results.
|
|
216
|
-
*/
|
|
217
|
-
retrieve(ids: Array<{
|
|
218
|
-
space: string;
|
|
219
|
-
externalId: string;
|
|
220
|
-
}>, view: ViewReference): Promise<UnpackedNode[]>;
|
|
221
|
-
/**
|
|
222
|
-
* Returns the total count of instances matching the filter.
|
|
223
|
-
* Wraps the filter with hasData so only instances with data in the view are counted.
|
|
224
|
-
*/
|
|
225
|
-
count(input: {
|
|
226
|
-
view: ViewReference;
|
|
227
|
-
filter?: LogicalFilter;
|
|
228
|
-
}): Promise<number>;
|
|
229
|
-
aggregate(input: AggregateInput): Promise<AggregateOutput>;
|
|
230
|
-
/**
|
|
231
|
-
* Async generator — yields one ListResult per page.
|
|
232
|
-
* Lets callers stream results or stop early without fetching remaining pages.
|
|
233
|
-
*/
|
|
234
|
-
queryPages(input: Omit<QueryInput, 'cursor'>): AsyncGenerator<ListResult<UnpackedNode>>;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
interface DuneRuntime {
|
|
238
|
-
schema: GraphQLSchema;
|
|
239
|
-
rootValue: Record<string, unknown>;
|
|
240
|
-
runner: QueryRunner;
|
|
241
|
-
/** Backs the generated SDK methods — executes each operation document in-process. */
|
|
242
|
-
requester: DuneRequester;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Builds the full runtime from a data model config. Fetches views from CDF,
|
|
246
|
-
* builds the GraphQL schema, wires resolvers, and returns a ready requester.
|
|
247
|
-
*/
|
|
248
|
-
declare function createDuneRuntime(config: GenerateSdkConfig, client: CogniteClient, telemetry?: SdkTelemetry): Promise<DuneRuntime>;
|
|
249
|
-
/**
|
|
250
|
-
* Builds the runtime directly from an array of ViewDefinition objects — skips the
|
|
251
|
-
* data model lookup. Useful when you already have views from sdk.views.list().
|
|
252
|
-
*/
|
|
253
|
-
declare function createDuneRuntimeFromViews(views: ViewDefinition[], client: CogniteClient, telemetry?: SdkTelemetry): DuneRuntime;
|
|
254
|
-
|
|
255
|
-
export { type DuneRequester, type DuneRuntime, type ViewDefinition, type ViewDefinitionProperty, createDuneRuntime, createDuneRuntimeFromViews };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"../chunk-OIOJTLJU.js";import"../chunk-ATR2SGLU.js";export{a as createDuneRuntime,b as createDuneRuntimeFromViews};
|