// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../geometry ../kernel ../request ../core/Error ../core/Logger ./knowledgeGraph/GraphQueryResult ./knowledgeGraph/GraphQueryResultHeader ./knowledgeGraph/GraphQueryStreamingResult ./knowledgeGraph/KnowledgeGraph ./knowledgeGraph/ServiceDefinition ./knowledgeGraph/wasmInterface/knowledgeWasmAccess ./knowledgeGraph/wasmInterface/queryToWasmEncodedFactories ./knowledgeGraph/wasmInterface/updateToWasmEncodedFactories ./knowledgeGraph/wasmInterface/wasmToDataModelFactories ./knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories ./knowledgeGraph/wasmInterface/wasmToUpdateResponseFactories ../geometry/SpatialReference ../geometry/Geometry".split(" "), function(l,aa,N,u,f,F,G,O,H,P,Q,r,t,v,R,I,S,T,U){async function w(a){return p.refreshDataModel(a)}async function J(a){return p.refreshServiceDefinition(a)}async function y(a,c){return p._fetchWrapper(a,c)}async function B(a){N.id?.findCredential(a.url)||(a.dataModel?await K(a):await w(a))}function x(a,c,b){if(0!==a.error_code)throw new f(c,b,{errorCode:a.error_code,errorMessage:a.error_message});}async function V(a,c){c.dataModel||await w(c);if(!c.dataModel)throw new f("knowledge-graph:data-model-undefined", "Encoding could not proceed because a data model was not provided and it could not be determined from the service");const b=await r.getWasmInterface();c=!!a.options?.cascadeDelete;const d=new b.GraphApplyEditsEncoder(b.SpatialReferenceUtil.WGS84(),a.options?.inputQuantizationParameters?v.inputQuantizationParametersToWasmFormat(a.options?.inputQuantizationParameters):b.InputQuantizationUtil.WGS84_lossless());d.deleteLater();d.cascade_delete=c;try{let g;a.entityAdds?.forEach(e=>{g=d.add_entity(v.namedObjectToWasm(e, b));x(g,"knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits - an entity failed to be added to the encoder")});a.relationshipAdds?.forEach(e=>{if(!e.originId||!e.destinationId)throw new f("knowledge-graph:relationship-origin-destination-missing","When adding a new relationship, you must provide both an origin and destination id on the appropriate class property");g=d.add_relationship(v.namedObjectToWasm(e,b));x(g,"knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits - a relationship failed to be added to the encoder")}); a.entityUpdates?.forEach(e=>{if(!e.id)throw new f("knowledge-graph:entity-id-missing","When updating an entity or relationship, you must specify the id on the class level property");g=d.update_entity(v.namedObjectToWasm(e,b));x(g,"knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits - an entity failed to be added to the encoder")});a.relationshipUpdates?.forEach(e=>{if(!e.id)throw new f("knowledge-graph:relationship-id-missing","When updating an entity or relationship, you must specify the id on the class level property"); g=d.update_relationship(v.namedObjectToWasm(e,b));x(g,"knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits - a relationship failed to be added to the encoder")});a.entityDeletes?.forEach(e=>{if(!e.typeName)throw new f("knowledge-graph:no-type-name","You must indicate the entity/relationship named object type to apply edits - delete");const h=d.make_delete_helper(e.typeName,!0);h.deleteLater();e.ids?.forEach(k=>{h.delete_by_id(k)})});a.relationshipDeletes?.forEach(e=>{if(!e.typeName)throw new f("knowledge-graph:no-type-name", "You must indicate the entity/relationship named object type to apply edits - delete");const h=d.make_delete_helper(e.typeName,!1);e.ids?.forEach(k=>{h.delete_by_id(k)})});d.encode()}catch(g){throw new f("knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits failed",{error:g});}a=d.get_encoding_result();x(a.error,"knowledge-graph:applyEdits-encoding-failed","Attempting to encode the applyEdits failed");return structuredClone(a.get_byte_buffer())}async function W(a,c){const b= await r.getWasmInterface(),d=new b.GraphQueryRequestEncoder;d.deleteLater();d.output_spatial_reference=a.outputSpatialReference?{wkid:a.outputSpatialReference.wkid,latestWkid:a.outputSpatialReference.latestWkid,vcsWkid:a.outputSpatialReference.vcsWkid,latestVcsWkid:a.outputSpatialReference.latestVcsWkid,wkt:a.outputSpatialReference.wkt??""}:b.SpatialReferenceUtil.WGS84();d.open_cypher_query=a.openCypherQuery;if(a.bindParameters)for(const [m,n]of Object.entries(a.bindParameters)){var g=m,e=n,h=d,k= b;null===e||void 0===e?h.set_param_key_value(g,""):"object"!==typeof e?h.set_param_key_value(g,e):e instanceof Date?h.set_param_key_value(g,e):e instanceof U?h.set_param_key_value(g,t.geometryToWasm(e,k)):Array.isArray(e)?h.set_param_key_value(g,t.bindParamArrayToWasm(e,k)):h.set_param_key_value(g,t.bindParamObjectToWasm(e,k))}if(a.bindGeometryQuantizationParameters)t.setInputQuantizationParametersOnEncoder(a.bindGeometryQuantizationParameters,d);else if(c.dataModel||await w(c),4326===c.dataModel?.spatialReference?.wkid)d.input_quantization_parameters= b.InputQuantizationUtil.WGS84_lossless();else throw new f("knowledge-graph:SR-quantization-mismatch","If the DataModel indicates a coordinate system other than WGS84, inputQuantizationParameters must be provided to the query encoder");a.outputQuantizationParameters&&t.setOutputQuantizationParametersOnEncoder(a.outputQuantizationParameters,d,b);a.provenanceBehavior&&t.setProvenanceBehaviorOnEncoder(a.provenanceBehavior,d);try{d.encode()}catch(m){throw new f("knowledge-graph:query-encoding-failed", "Attempting to encode the query failed",{error:m});}a=d.get_encoding_result();if(0!==a.error.error_code)throw new f("knowledge-graph:query-encoding-failed","Attempting to encode the query failed",{errorCode:a.error.error_code,errorMessage:a.error.error_message});return structuredClone(a.get_byte_buffer())}async function X(a){const c=await r.getWasmInterface(),b=new c.GraphSearchRequestEncoder;b.deleteLater();b.search_query=a.searchQuery;b.type_category_filter=c.esriNamedTypeCategory[a.typeCategoryFilter]; !0===a.returnSearchContext&&(b.return_search_context=a.returnSearchContext);null!=a.start&&0{b.add_named_type_filter(d)}); try{b.encode()}catch(d){throw new f("knowledge-graph:search-encoding-failed","Attempting to encode the search failed",{error:d});}a=b.get_encoding_result();if(0!==a.error.error_code)throw new f("knowledge-graph:search-encoding-failed","Attempting to get encoding result from the query failed",{errorCode:a.error.error_code,errorMessage:a.error.error_message});return structuredClone(a.get_byte_buffer())}async function C(a,c){return u(a,{responseType:"native-request-init",method:"post",query:{f:"pbf", ...c?.query},body:"x",headers:{"Content-Type":"application/octet-stream"},signal:c?.signal,timeout:c?.timeout})}async function Y(a){var c=a.headers.get("content-type");if(c?.includes("application/x-protobuf"))return a=await a.arrayBuffer(),c=new ((await r.getWasmInterface()).GraphApplyEditsDecoder),c.deleteLater(),c.decode(new Uint8Array(a)),S.decoderToApplyEditsResponse(c);throw new f("knowledge-graph:unexpected-server-response","server returned an unexpected response",{responseType:c,data:a.text()}); }function D(a,c,b,d){a.push_buffer(new Uint8Array(c));c=[];let g=0,e,h;for(;a.next_row();){e&&h||(e=d??I.wasmToGraphQueryResponseHeader(a),h=e.outSpatialReference??new T({wkid:4326}));g||=a.get_header_keys().size();const k=Array(g);for(let m=0;m{h=n;k=z});let m=!1;a=new ReadableStream({async start(n){function z(){return d?.read().then(({done:E,value:Z})=>{try{if(E){let q;g.has_error()?q=new f("knowledge-graph:stream-decoding-error","One or more result rows were not successfully decoded - query stream done",{errorCode:g.error.error_code,errorMessage:g.error.error_message}): m||h(new O);d.releaseLock();if(q)throw n.error(q),k(q),q;n.close()}else{var A=D(g,Z,c,e),M=A.resultRows;0{a=new P({url:a});const c=[];c.push(w(a));c.push(J(a));await Promise.all(c);return a},refreshDataModel:async a=> {a.dataModel=await K(a)},refreshServiceDefinition:async a=>{const c=(await u(a.url,{query:{f:"json"}})).data;c.capabilities=c?.capabilities?.split(",");c.supportedQueryFormats=c?.supportedQueryFormats?.split(",");a.serviceDefinition=new Q(c);return a.serviceDefinition},executeQueryStreaming:async(a,c,b)=>{const d=`${a.url}/graph/query`;await B(a);b=await C(d,b);if(!a.serviceDefinition?.supportsProvenance&&"include"===c.provenanceBehavior)throw new f("knowledge-graph:provenance-not-supported","The Knowledge Graph Service definition indicated that provenance is not supported"); b.data.body=await W(c,a);c=await y(b.data.url,b.data);if(a.dataModel)return a=await L(c,a.dataModel),new H({resultRowsStream:a.readableStream,resultHeader:a.resultHeader});throw new f("knowledge-graph:undefined-data-model","The KnowledgeGraph supplied did not have a data model");},executeApplyEdits:async(a,c,b)=>{if(a.serviceDefinition?.dataEditingNotSupported)throw new f("knowledge-graph:data-editing-not-supported","The Knowledge Graph Service definition indicated that data editing is not supported"); const d=`${a.url}/graph/applyEdits`;await B(a);b=await C(d,b);b.data.body=await V(c,a);a=await y(b.data.url,b.data);return Y(a)},executeQuery:async(a,c,b)=>{b=await u(`${a.url}/graph/query`,{responseType:"array-buffer",query:{f:"pbf",openCypherQuery:c.openCypherQuery,...b?.query},signal:b?.signal,timeout:b?.timeout});const d=b.getHeader?.("content-type");c=b.data;if(d?.includes("application/x-protobuf")){b=new ((await r.getWasmInterface()).GraphQueryDecoder);b.deleteLater();if(a.dataModel)return a= D(b,c,a.dataModel),new G({resultRows:a.resultRows,resultHeader:a.resultHeader});throw new f("knowledge-graph:undefined-data-model","The KnowledgeGraph supplied did not have a data model");}throw new f("knowledge-graph:unexpected-server-response","server returned an unexpected response",{responseType:d,data:b.data});},executeSearch:async(a,c,b)=>{b=await u(`${a.url}/graph/search`,{responseType:"array-buffer",query:{f:"pbf",searchQuery:`"${c.searchQuery}"`,typeCategoryFilter:c.typeCategoryFilter,...b?.query}, signal:b?.signal,timeout:b?.timeout});const d=b.getHeader?.("content-type");c=b.data;if(d?.includes("application/x-protobuf")){b=new ((await r.getWasmInterface()).GraphQueryDecoder);b.deleteLater();if(a.dataModel)return a=D(b,c,a.dataModel),new G({resultRows:a.resultRows,resultHeader:a.resultHeader});throw new f("knowledge-graph:undefined-data-model","The KnowledgeGraph supplied did not have a data model");}throw new f("knowledge-graph:unexpected-server-response","server returned an unexpected response", {responseType:d,data:b.data});},executeSearchStreaming:async(a,c,b)=>{const d=`${a.url}/graph/search`;await B(a);b=await C(d,b);b.data.body=await X(c);c=await y(b.data.url,b.data);if(a.dataModel)return a=await L(c,a.dataModel),new H({resultRowsStream:a.readableStream,resultHeader:a.resultHeader});throw new f("knowledge-graph:undefined-data-model","The KnowledgeGraph supplied did not have a data model");},_fetchWrapper:async(a,c)=>fetch(a,c)};l._fetchWrapper=y;l.executeApplyEdits=async function(a, c,b){return p.executeApplyEdits(a,c,b)};l.executeQuery=async function(a,c,b){return p.executeQuery(a,c,b)};l.executeQueryStreaming=async function(a,c,b){return p.executeQueryStreaming(a,c,b)};l.executeSearch=async function(a,c,b){return p.executeSearch(a,c,b)};l.executeSearchStreaming=async function(a,c,b){return p.executeSearchStreaming(a,c,b)};l.fetchKnowledgeGraph=async function(a){return p.fetchKnowledgeGraph(a)};l.kgRestServices=p;l.refreshDataModel=w;l.refreshServiceDefinition=J;Object.defineProperty(l, Symbol.toStringTag,{value:"Module"})});