@node-i3x/rest-server 0.9.10 → 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -41,11 +41,11 @@ There is no way to list all subscriptions; the client must track the returned ID
41
41
  If \`lastSequenceNumber\` is provided, all batches with sequenceNumber <= lastSequenceNumber are
42
42
  removed first (acknowledged). Any staged updates are then bundled into a new batch and appended.
43
43
  Returns HTTP 206 if updates were dropped from the staging queue due to overflow.
44
- subscriptionId is passed in the request body.`,operationId:"syncSubscription",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/SyncRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/SuccessResponse_List_SyncBatch__"}}}},"206":{description:"Some updates were dropped from the subscription queue due to overflow. See the `detail` field in the response body."},"404":{description:"Not Found \u2014 ElementId or resource does not exist",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}},"/subscriptions/delete":{post:{tags:["Subscribe"],summary:"Delete Subscriptions",description:"Delete one or more subscriptions by ID. subscriptionIds are passed in the request body.",operationId:"deleteSubscriptions",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/DeleteSubscriptionsRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/BulkResponse_NoneType_"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}},"/subscriptions/list":{post:{tags:["Subscribe"],summary:"List Subscriptions",description:"Get one or more subscriptions by ID to check their existence and current configuration.",operationId:"listSubscriptions",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/ListSubscriptionsRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/BulkResponse_SubscriptionDetail_"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}}},components:{schemas:{BulkResponse_CurrentValueResult_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_CurrentValueResult_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[CurrentValueResult]"},BulkResponse_HistoricalValueResult_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_HistoricalValueResult_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[HistoricalValueResult]"},BulkResponse_List_RelatedObjectResult__:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_List_RelatedObjectResult__"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[List[RelatedObjectResult]]"},BulkResponse_NoneType_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_NoneType_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[NoneType]"},BulkResponse_ObjectInstanceResponse_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_ObjectInstanceResponse_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[ObjectInstanceResponse]"},BulkResponse_ObjectTypeResponse_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_ObjectTypeResponse_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[ObjectTypeResponse]"},BulkResponse_RelationshipType_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_RelationshipType_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[RelationshipType]"},BulkResponse_SubscriptionDetail_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_SubscriptionDetail_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[SubscriptionDetail]"},BulkResultItem_CurrentValueResult_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/CurrentValueResult"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[CurrentValueResult]"},BulkResultItem_HistoricalValueResult_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/HistoricalValueResult"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[HistoricalValueResult]"},BulkResultItem_List_RelatedObjectResult__:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{items:{$ref:"#/components/schemas/RelatedObjectResult"},type:"array"},{type:"null"}],title:"Result"},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[List[RelatedObjectResult]]"},BulkResultItem_NoneType_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{type:"null",title:"Result"},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[NoneType]"},BulkResultItem_ObjectInstanceResponse_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/ObjectInstanceResponse"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[ObjectInstanceResponse]"},BulkResultItem_ObjectTypeResponse_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/ObjectTypeResponse"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[ObjectTypeResponse]"},BulkResultItem_RelationshipType_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/RelationshipType"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[RelationshipType]"},BulkResultItem_SubscriptionDetail_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/SubscriptionDetail"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[SubscriptionDetail]"},CreateSubscriptionRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"Unique identifier for the client scoping this subscription"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname",description:"Optional friendly name for the subscription"}},type:"object",required:["clientId"],title:"CreateSubscriptionRequest"},CreateSubscriptionResponse:{properties:{clientId:{type:"string",title:"Clientid"},subscriptionId:{type:"string",title:"Subscriptionid"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname"}},type:"object",required:["clientId","subscriptionId"],title:"CreateSubscriptionResponse"},CurrentValueResult:{properties:{isComposition:{type:"boolean",title:"Iscomposition",description:"True if this Object encapsulates composed child elements"},value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"},components:{anyOf:[{additionalProperties:{$ref:"#/components/schemas/VQT"},type:"object"},{type:"null"}],title:"Components",description:"Child element values, present only on composition elements when maxDepth > 1"}},type:"object",required:["isComposition","value","quality","timestamp"],title:"CurrentValueResult"},DeleteSubscriptionsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping these subscriptions"},subscriptionIds:{items:{type:"string"},type:"array",title:"Subscriptionids",description:"List of subscription IDs to delete"}},type:"object",required:["clientId","subscriptionIds"],title:"DeleteSubscriptionsRequest"},ErrorDetail:{properties:{title:{type:"string",title:"Title"},status:{type:"integer",title:"Status"},detail:{type:"string",title:"Detail"}},type:"object",required:["title","status","detail"],title:"ErrorDetail"},ErrorResponse:{properties:{success:{type:"boolean",title:"Success",default:!1},responseDetail:{$ref:"#/components/schemas/ErrorDetail"}},type:"object",required:["responseDetail"],title:"ErrorResponse"},GetObjectHistoryRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},startTime:{type:"string",title:"Starttime",description:"RFC 3339 timestamp for range start"},endTime:{type:"string",title:"Endtime",description:"RFC 3339 timestamp for range end"},maxDepth:{type:"integer",minimum:0,title:"Maxdepth",description:"Controls recursion depth. 0=infinite, 1=no recursion",default:1}},type:"object",required:["elementIds","startTime","endTime"],title:"GetObjectHistoryRequest",description:"Request model for POST /objects/history"},GetObjectTypesRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"}},type:"object",required:["elementIds"],title:"GetObjectTypesRequest",description:"Request model for POST /objecttypes/query"},GetObjectValueRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},maxDepth:{type:"integer",minimum:0,title:"Maxdepth",description:"Controls recursion depth. 0=infinite, 1=no recursion",default:1}},type:"object",required:["elementIds"],title:"GetObjectValueRequest",description:"Request model for POST /objects/value"},GetObjectsRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},includeMetadata:{type:"boolean",title:"Includemetadata",description:"Include full metadata in response",default:!1}},type:"object",required:["elementIds"],title:"GetObjectsRequest",description:"Request model for POST /objects/query"},GetRelatedObjectsRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},relationshipType:{anyOf:[{type:"string"},{type:"null"}],title:"Relationshiptype",description:"Filter by relationship type"},includeMetadata:{type:"boolean",title:"Includemetadata",description:"Include full metadata in response",default:!1}},type:"object",required:["elementIds"],title:"GetRelatedObjectsRequest",description:"Request model for POST /objects/related"},GetRelationshipTypesRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"}},type:"object",required:["elementIds"],title:"GetRelationshipTypesRequest",description:"Request model for POST /relationshiptypes/query"},HistoricalValueResult:{properties:{isComposition:{type:"boolean",title:"Iscomposition",description:"True if this Object encapsulates composed child elements"},values:{items:{$ref:"#/components/schemas/VQT"},type:"array",title:"Values",description:"Ordered array of VQT objects for the requested time range"},components:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Components",description:"Child element history, present only on composition elements when maxDepth > 1"}},type:"object",required:["isComposition","values"],title:"HistoricalValueResult"},HistoryUpdateItem:{properties:{elementId:{type:"string",title:"Elementid",description:"The elementId of the Object to update"},value:{$ref:"#/components/schemas/VQT",description:"The VQT value to write, including timestamp"}},type:"object",required:["elementId","value"],title:"HistoryUpdateItem"},ListSubscriptionsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping these subscriptions"},subscriptionIds:{items:{type:"string"},type:"array",title:"Subscriptionids",description:"List of subscription IDs to retrieve"}},type:"object",required:["clientId","subscriptionIds"],title:"ListSubscriptionsRequest"},Namespace:{properties:{uri:{type:"string",title:"Uri",description:"Namespace URI"},displayName:{type:"string",title:"Displayname",description:"Namespace name"}},type:"object",required:["uri","displayName"],title:"Namespace"},ObjectInstanceMetadata:{properties:{typeNamespaceUri:{anyOf:[{type:"string"},{type:"null"}],title:"Typenamespaceuri"},sourceTypeId:{anyOf:[{type:"string"},{type:"null"}],title:"Sourcetypeid"},engUnit:{anyOf:[{type:"string"},{type:"null"}],title:"Engunit"},description:{anyOf:[{type:"string"},{type:"null"}],title:"Description"},relationships:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Relationships"},schemaExtensions:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Schemaextensions"},system:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"System"}},type:"object",title:"ObjectInstanceMetadata"},ObjectInstanceResponse:{properties:{elementId:{type:"string",title:"Elementid"},displayName:{type:"string",title:"Displayname"},typeElementId:{type:"string",title:"Typeelementid"},parentId:{anyOf:[{type:"string"},{type:"null"}],title:"Parentid"},isComposition:{type:"boolean",title:"Iscomposition"},isExtended:{type:"boolean",title:"Isextended",default:!1},metadata:{anyOf:[{$ref:"#/components/schemas/ObjectInstanceMetadata"},{type:"null"}]}},type:"object",required:["elementId","displayName","typeElementId","isComposition"],title:"ObjectInstanceResponse"},ObjectTypeResponse:{properties:{elementId:{type:"string",title:"Elementid"},displayName:{type:"string",title:"Displayname"},namespaceUri:{type:"string",title:"Namespaceuri"},sourceTypeId:{type:"string",title:"Sourcetypeid",description:"Class or member of the Namespace that defines this type"},version:{anyOf:[{type:"string"},{type:"null"}],title:"Version"},schema:{additionalProperties:!0,type:"object",title:"Schema",description:"JSON Schema definition for this object type"},related:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Related"}},type:"object",required:["elementId","displayName","namespaceUri","sourceTypeId","schema"],title:"ObjectTypeResponse"},RegisterMonitoredItemsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to register items with"},elementIds:{items:{type:"string"},type:"array",title:"Elementids"},maxDepth:{anyOf:[{type:"integer"},{type:"null"}],title:"Maxdepth",default:1}},type:"object",required:["clientId","subscriptionId","elementIds"],title:"RegisterMonitoredItemsRequest"},RelatedObjectResult:{properties:{sourceRelationship:{type:"string",title:"Sourcerelationship"},object:{$ref:"#/components/schemas/ObjectInstanceResponse"}},type:"object",required:["sourceRelationship","object"],title:"RelatedObjectResult"},RelationshipType:{properties:{elementId:{type:"string",title:"Elementid",description:"Unique string identifier for the relationship type"},displayName:{type:"string",title:"Displayname",description:"Relationship type name"},namespaceUri:{type:"string",title:"Namespaceuri",description:"Namespace URI"},relationshipId:{type:"string",title:"Relationshipid",description:"Class or member of the Namespace that defines this relationship type"},reverseOf:{type:"string",title:"Reverseof",description:"ElementId of the reverse relationship type"}},type:"object",required:["elementId","displayName","namespaceUri","relationshipId","reverseOf"],title:"RelationshipType"},ServerCapabilities:{properties:{query:{$ref:"#/components/schemas/_QueryCapabilities"},update:{$ref:"#/components/schemas/_UpdateCapabilities"},subscribe:{$ref:"#/components/schemas/_SubscribeCapabilities"}},type:"object",required:["query","update","subscribe"],title:"ServerCapabilities"},ServerInfo:{properties:{specVersion:{type:"string",title:"Specversion"},serverVersion:{anyOf:[{type:"string"},{type:"null"}],title:"Serverversion"},serverName:{anyOf:[{type:"string"},{type:"null"}],title:"Servername"},capabilities:{$ref:"#/components/schemas/ServerCapabilities"}},type:"object",required:["specVersion","capabilities"],title:"ServerInfo"},StreamRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to open a stream for"}},type:"object",required:["clientId","subscriptionId"],title:"StreamRequest"},SubscriptionDetail:{properties:{subscriptionId:{type:"string",title:"Subscriptionid"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname"},monitoredObjects:{items:{additionalProperties:!0,type:"object"},type:"array",title:"Monitoredobjects"}},type:"object",required:["subscriptionId","monitoredObjects"],title:"SubscriptionDetail"},SuccessResponse_CreateSubscriptionResponse_:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{$ref:"#/components/schemas/CreateSubscriptionResponse"},{type:"null"}]}},type:"object",required:["success"],title:"SuccessResponse[CreateSubscriptionResponse]"},SuccessResponse_List_Namespace__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/Namespace"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[Namespace]]"},SuccessResponse_List_ObjectInstanceResponse__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/ObjectInstanceResponse"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[ObjectInstanceResponse]]"},SuccessResponse_List_ObjectTypeResponse__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/ObjectTypeResponse"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[ObjectTypeResponse]]"},SuccessResponse_List_RelationshipType__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/RelationshipType"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[RelationshipType]]"},SuccessResponse_List_SyncBatch__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/SyncBatch"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[SyncBatch]]"},SuccessResponse_ServerInfo_:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{$ref:"#/components/schemas/ServerInfo"},{type:"null"}]}},type:"object",required:["success"],title:"SuccessResponse[ServerInfo]"},SyncBatch:{properties:{sequenceNumber:{type:"integer",title:"Sequencenumber"},updates:{items:{$ref:"#/components/schemas/SyncUpdateEntry"},type:"array",title:"Updates"}},type:"object",required:["sequenceNumber","updates"],title:"SyncBatch"},SyncRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to sync"},lastSequenceNumber:{anyOf:[{type:"integer"},{type:"null"}],title:"Lastsequencenumber",description:"Acknowledge all updates through this sequence number before returning new ones"}},type:"object",required:["clientId","subscriptionId"],title:"SyncRequest"},SyncUpdateEntry:{properties:{elementId:{type:"string",title:"Elementid"},value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"}},additionalProperties:!0,type:"object",required:["elementId","value","quality","timestamp"],title:"SyncUpdateEntry"},UnregisterMonitoredItemsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to unregister items from"},elementIds:{items:{type:"string"},type:"array",title:"Elementids"}},type:"object",required:["clientId","subscriptionId","elementIds"],title:"UnregisterMonitoredItemsRequest"},UpdateHistoryRequest:{properties:{updates:{items:{$ref:"#/components/schemas/HistoryUpdateItem"},type:"array",title:"Updates",description:"Array of elementId/value pairs to write"}},type:"object",required:["updates"],title:"UpdateHistoryRequest"},UpdateValueRequest:{properties:{updates:{items:{$ref:"#/components/schemas/ValueUpdateItem"},type:"array",title:"Updates",description:"Array of elementId/value pairs to write"}},type:"object",required:["updates"],title:"UpdateValueRequest"},VQT:{properties:{value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"}},type:"object",required:["value","quality","timestamp"],title:"VQT"},VQTInput:{properties:{value:{title:"Value"},quality:{anyOf:[{type:"string"},{type:"null"}],title:"Quality",description:"Data quality indicator. Defaults to 'Good' if omitted.",default:"Good"},timestamp:{anyOf:[{type:"string"},{type:"null"}],title:"Timestamp",description:"RFC 3339 timestamp. Defaults to server time if omitted."}},type:"object",required:["value"],title:"VQTInput",description:"VQT for write requests \u2014 quality and timestamp are optional (server supplies defaults)."},ValueUpdateItem:{properties:{elementId:{type:"string",title:"Elementid",description:"The elementId of the Object to update"},value:{$ref:"#/components/schemas/VQTInput",description:"The VQT value to write. Must conform to the Object's type schema."}},type:"object",required:["elementId","value"],title:"ValueUpdateItem"},_QueryCapabilities:{properties:{history:{type:"boolean",title:"History"}},type:"object",required:["history"],title:"_QueryCapabilities"},_SubscribeCapabilities:{properties:{stream:{type:"boolean",title:"Stream"}},type:"object",required:["stream"],title:"_SubscribeCapabilities"},_UpdateCapabilities:{properties:{current:{type:"boolean",title:"Current"},history:{type:"boolean",title:"History"}},type:"object",required:["current","history"],title:"_UpdateCapabilities"}}},tags:[{name:"Info"},{name:"Explore"},{name:"Query"},{name:"Update"},{name:"Subscribe"}]};function g(t,e){let i=new Error(e);return i.statusCode=t,i}function S(t){let e=t;throw g(e.statusCode??500,e.message)}function C(t){t.setErrorHandler((e,i,s)=>{let n=e.statusCode??500,r=n===400?"Bad Request":n===404?"Not Found":n===501?"Not Implemented":"Internal Server Error";s.status(n).send({success:!1,responseDetail:{title:r,status:n,detail:e.message}})})}var P=new Set(["/v1/info","/health","/ready"]);function x(t,e,i=!0){e&&t.addHook("onRequest",async(s,n)=>{let r=s.url.split("?")[0];if(P.has(r)||r.startsWith("/v1/docs")||r.startsWith("/docs")||r.endsWith("/openapi.json"))return;let c=s.headers.authorization;if(!c)return i?(n.status(401).send({success:!1,responseDetail:{title:"Unauthorized",status:401,detail:"Missing or invalid Bearer token."}}),n):void 0;let[o,a]=c.split(" ",2);if(o?.toLowerCase()!=="bearer"||a!==e)return n.status(401).send({success:!1,responseDetail:{title:"Unauthorized",status:401,detail:"Missing or invalid Bearer token."}}),n})}import{randomUUID as M}from"crypto";import L from"fastify-plugin";async function G(t){t.addHook("onRequest",async(e,i)=>{let s=e.headers["x-request-id"]??M();i.header("x-request-id",s)})}var U=L(G,{name:"request-id"});async function _(t){let e=R(t);t.get("/health",async()=>{let i=e.getOpcuaStats?.();return{status:"ok",...i?{opcua:i}:{}}}),t.get("/ready",async(i,s)=>e.dataSource.isConnected()?{status:"ready"}:(s.status(503),{status:"not ready",message:"Data source not connected"}))}import{readFileSync as F}from"fs";function y(t){return{success:!0,result:t}}function m(t){return{success:t.every(i=>i.success),results:t}}function b(t,e){return{success:!0,elementId:t,result:e}}function h(t,e,i,s){return{success:!1,elementId:t,responseDetail:{title:s??"Error",status:e,detail:i}}}function v(t,e,i,s){let n=null,r=null;if(i){let c=t.type||"UnknownType",o=s?.get(c);o?(n=o.namespaceUri,r=o.sourceTypeId):(n=t.namespaceUri??null,r=t.sourceTypeId??t.sourceNodeId??null)}return{elementId:t.id,displayName:t.name,typeElementId:t.type??"",parentId:e,isComposition:t.children.length>0,isExtended:!1,...i?{metadata:{typeNamespaceUri:n,sourceTypeId:r,...t.engUnit!==void 0&&t.engUnit!==null?{engUnit:t.engUnit}:{}}}:{}}}var E="0.6.0";try{E=JSON.parse(F(new URL("../../package.json",import.meta.url),"utf8")).version}catch{try{E=JSON.parse(F(new URL("../package.json",import.meta.url),"utf8")).version}catch{}}async function D(t){t.get("/v1/info",async()=>{let e=t.deps.readOnly??!1;return y({specVersion:"1.0",serverVersion:E,serverName:"node-i3x",vendor:{name:"Sterfive SAS",url:"https://sterfive.com",support:"contact@sterfive.com"},license:"AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",capabilities:{query:{history:!e},update:{current:!e,history:!1},subscribe:{stream:!0}}})})}async function k(t){let e=R(t);t.get("/v1/namespaces",async()=>{let i=await e.dataSource.getNamespaces();return y(i.map(s=>({uri:s.uri,displayName:s.displayName})))})}async function w(t){let e=R(t),i=async(s,n)=>{if(e.readOnly)return n.status(501),n.send({success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Write operations are disabled (read-only mode)"}})};t.get("/v1/objects",async s=>{let n=await e.modelService.getOrBuildModel(),{typeElementId:r,root:c,includeMetadata:o}=s.query,a=o===!0||o==="true",l=c===!0||c==="true",p;l?p=n.rootIds.map(d=>n.nodesById.get(d)).filter(d=>d!==void 0&&d.kind==="asset"):p=Array.from(n.nodesById.values()).filter(d=>d.kind==="asset"||d.kind==="property"),r&&(p=p.filter(d=>d.type===r));let u;if(a){let d=await e.typeService.getObjectTypes();u=new Map(d.map(f=>[f.elementId,f]))}let I=p.map(d=>v(d,e.modelService.parentIdOf(n,d.id),a,u));return y(I)}),t.post("/v1/objects/list",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},includeMetadata:{type:"boolean"}}}}},async s=>{let{elementIds:n,includeMetadata:r}=s.body,c=r===!0,o=await e.modelService.getOrBuildModel(),a;if(c){let p=await e.typeService.getObjectTypes();a=new Map(p.map(u=>[u.elementId,u]))}let l=n.map(p=>{let u=e.modelService.findNode(o,p);return u?b(p,v(u,e.modelService.parentIdOf(o,u.id),c,a)):h(p,404,"Not found")});return m(l)}),t.post("/v1/objects/related",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},relationshipType:{type:["string","null"]},includeMetadata:{type:"boolean"}}}}},async s=>{let{elementIds:n,includeMetadata:r}=s.body,c=r===!0,o=await e.modelService.getOrBuildModel(),a;if(c){let p=await e.typeService.getObjectTypes();a=new Map(p.map(u=>[u.elementId,u]))}let l=n.map(p=>{let u=e.modelService.findNode(o,p);if(!u)return h(p,404,"Not found");let d=(o.childrenById.get(u.id)??[]).map(j=>o.nodesById.get(j)).filter(Boolean).map(j=>({sourceRelationship:"HasComponent",object:v(j,u.id,c,a)})),f=e.modelService.parentIdOf(o,u.id);if(f){let j=o.nodesById.get(f);j&&d.push({sourceRelationship:"IsComponentOf",object:v(j,e.modelService.parentIdOf(o,j.id),c,a)})}return b(p,d)});return m(l)}),t.post("/v1/objects/value",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},maxDepth:{type:"integer",minimum:0}}}}},async s=>{let{elementIds:n,maxDepth:r}=s.body,c=await e.valueService.readValues(n,r??1);return m(c)}),t.post("/v1/objects/history",{schema:{body:{type:"object",required:["elementIds","startTime","endTime"],properties:{elementIds:{type:"array",items:{type:"string"}},startTime:{type:"string",format:"date-time"},endTime:{type:"string",format:"date-time"},maxDepth:{type:"integer",minimum:0}}}}},async s=>{let{elementIds:n,startTime:r,endTime:c,maxDepth:o}=s.body;if(!r||!c)throw g(400,"Both startTime and endTime are required.");let a=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/i;if(!a.test(r)||!a.test(c))throw g(400,"startTime and endTime must be in RFC 3339 format.");let l=await e.historyService.readHistory(n,new Date(r),new Date(c),o??1);return m(l)}),t.put("/v1/objects/history",{preHandler:i},async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),e.experimental&&(t.get("/v1/objects/:elementId/history",async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),t.put("/v1/objects/:elementId/history",{preHandler:i},async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),t.put("/v1/objects/:elementId/value",{preHandler:i},async s=>{let{elementId:n}=s.params,{value:r}=s.body;try{return await e.valueService.writeValue(n,r),y(null)}catch(c){throw g(404,c.message)}})),t.put("/v1/objects/value",{preHandler:i},async s=>{let n=s.body,r=[];if(Array.isArray(n))r=n;else if(n&&typeof n=="object"){let o=n.updates;Array.isArray(o)?r=o:r=Object.entries(n).map(([a,l])=>({elementId:a,value:l}))}let c=await Promise.all(r.map(async({elementId:o,value:a})=>{try{return await e.valueService.writeValue(o,a),b(o,null)}catch(l){let p=l instanceof Error?l.message:String(l)||"Write failed",I=p.includes("not found")?404:403;return h(o,I,p)}}));return m(c)})}async function B(t){let e=R(t);t.get("/v1/objecttypes",async i=>{let{namespaceUri:s}=i.query,n=await e.typeService.getObjectTypes(s);return y(n)}),t.post("/v1/objecttypes/query",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}}}}}},async i=>{let{elementIds:s}=i.body,n=await e.typeService.queryObjectTypes(s),r=s.map((c,o)=>{let a=n[o];return a?b(c,a):h(c,404,"Object type not found")});return m(r)})}var H=[{elementId:"HasComponent",displayName:"HasComponent",namespaceUri:"http://opcfoundation.org/UA/",relationshipId:"ns=0;i=47",reverseOf:"IsComponentOf"},{elementId:"IsComponentOf",displayName:"IsComponentOf",namespaceUri:"http://opcfoundation.org/UA/",relationshipId:"ns=0;i=47",reverseOf:"HasComponent"}];async function $(t){t.get("/v1/relationshiptypes",async e=>{let{namespaceUri:i}=e.query,s=H;return i&&(s=s.filter(n=>n.namespaceUri===i)),y(s)}),t.post("/v1/relationshiptypes/query",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}}}}}},async e=>{let{elementIds:i}=e.body,s=i.map(n=>{let r=H.find(c=>c.elementId===n);return r?b(n,r):h(n,404,"Relationship type not found")});return m(s)})}function q(t){if(!t)throw g(400,"clientId is required");return t}function T(t,e,i){let s=t.subscriptionService.list([e]);if(s.length===0||s[0].clientId!==i)throw g(404,`Subscription ${e} not found`)}async function N(t){let e=R(t);t.post("/v1/subscriptions",{schema:{body:{type:"object",required:["clientId"],properties:{clientId:{type:"string"},displayName:{type:"string"}}}}},async i=>{let{clientId:s,displayName:n}=i.body,r=q(s),c=e.subscriptionService.create({clientId:r,displayName:n});return y(c)}),t.post("/v1/subscriptions/register",{schema:{body:{type:"object",required:["subscriptionId","elementIds","clientId"],properties:{subscriptionId:{type:"string"},elementIds:{type:"array",items:{type:"string"}},maxDepth:{type:"integer",minimum:0},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,elementIds:n,maxDepth:r,clientId:c}=i.body,o=q(c);T(e,s,o);try{let{registered:a,errors:l}=await e.subscriptionService.register(s,n,r??1),p=[...a.map(u=>b(u,null)),...l.map(u=>h(u.elementId,404,u.error,"Not Found"))];return m(p)}catch(a){S(a)}}),t.post("/v1/subscriptions/unregister",{schema:{body:{type:"object",required:["subscriptionId","elementIds","clientId"],properties:{subscriptionId:{type:"string"},elementIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,elementIds:n,clientId:r}=i.body,c=q(r);T(e,s,c);try{let{registered:o,errors:a}=await e.subscriptionService.unregister(s,n),l=[...o.map(p=>b(p,null)),...a.map(p=>h(p.elementId,404,p.error,"Not Found"))];return m(l)}catch(o){S(o)}}),t.post("/v1/subscriptions/sync",{schema:{body:{type:"object",required:["subscriptionId","clientId"],properties:{subscriptionId:{type:"string"},lastSequenceNumber:{type:"integer"},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,lastSequenceNumber:n,clientId:r}=i.body,c=q(r);T(e,s,c);let o=n??0;try{let a=e.subscriptionService.sync(s,o);return y(a)}catch(a){S(a)}}),t.post("/v1/subscriptions/stream",{schema:{body:{type:"object",required:["subscriptionId","clientId"],properties:{subscriptionId:{type:"string"},lastSequenceNumber:{type:"integer"},clientId:{type:"string"}}}}},async(i,s)=>{let{subscriptionId:n,lastSequenceNumber:r,clientId:c}=i.body,o=q(c);T(e,n,o);let a=r??0;try{e.subscriptionService.acknowledge(n,a),await s.hijack(),s.raw.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),s.raw.write(`: keepalive
44
+ subscriptionId is passed in the request body.`,operationId:"syncSubscription",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/SyncRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/SuccessResponse_List_SyncBatch__"}}}},"206":{description:"Some updates were dropped from the subscription queue due to overflow. See the `detail` field in the response body."},"404":{description:"Not Found \u2014 ElementId or resource does not exist",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}},"/subscriptions/delete":{post:{tags:["Subscribe"],summary:"Delete Subscriptions",description:"Delete one or more subscriptions by ID. subscriptionIds are passed in the request body.",operationId:"deleteSubscriptions",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/DeleteSubscriptionsRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/BulkResponse_NoneType_"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}},"/subscriptions/list":{post:{tags:["Subscribe"],summary:"List Subscriptions",description:"Get one or more subscriptions by ID to check their existence and current configuration.",operationId:"listSubscriptions",requestBody:{content:{"application/json":{schema:{$ref:"#/components/schemas/ListSubscriptionsRequest"}}},required:!0},responses:{"200":{description:"Successful Response",content:{"application/json":{schema:{$ref:"#/components/schemas/BulkResponse_SubscriptionDetail_"}}}},default:{description:"Error \u2014 see responseDetail.code for the HTTP status code (400, 401, 403, 404, 500, etc.)",content:{"application/json":{schema:{$ref:"#/components/schemas/ErrorResponse"}}}}}}}},components:{schemas:{BulkResponse_CurrentValueResult_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_CurrentValueResult_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[CurrentValueResult]"},BulkResponse_HistoricalValueResult_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_HistoricalValueResult_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[HistoricalValueResult]"},BulkResponse_List_RelatedObjectResult__:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_List_RelatedObjectResult__"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[List[RelatedObjectResult]]"},BulkResponse_NoneType_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_NoneType_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[NoneType]"},BulkResponse_ObjectInstanceResponse_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_ObjectInstanceResponse_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[ObjectInstanceResponse]"},BulkResponse_ObjectTypeResponse_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_ObjectTypeResponse_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[ObjectTypeResponse]"},BulkResponse_RelationshipType_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_RelationshipType_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[RelationshipType]"},BulkResponse_SubscriptionDetail_:{properties:{success:{type:"boolean",title:"Success"},results:{items:{$ref:"#/components/schemas/BulkResultItem_SubscriptionDetail_"},type:"array",title:"Results"}},type:"object",required:["success","results"],title:"BulkResponse[SubscriptionDetail]"},BulkResultItem_CurrentValueResult_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/CurrentValueResult"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[CurrentValueResult]"},BulkResultItem_HistoricalValueResult_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/HistoricalValueResult"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[HistoricalValueResult]"},BulkResultItem_List_RelatedObjectResult__:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{items:{$ref:"#/components/schemas/RelatedObjectResult"},type:"array"},{type:"null"}],title:"Result"},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[List[RelatedObjectResult]]"},BulkResultItem_NoneType_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{type:"null",title:"Result"},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[NoneType]"},BulkResultItem_ObjectInstanceResponse_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/ObjectInstanceResponse"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[ObjectInstanceResponse]"},BulkResultItem_ObjectTypeResponse_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/ObjectTypeResponse"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[ObjectTypeResponse]"},BulkResultItem_RelationshipType_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/RelationshipType"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[RelationshipType]"},BulkResultItem_SubscriptionDetail_:{properties:{success:{type:"boolean",title:"Success"},elementId:{anyOf:[{type:"string"},{type:"null"}],title:"Elementid"},subscriptionId:{anyOf:[{type:"string"},{type:"null"}],title:"Subscriptionid"},result:{anyOf:[{$ref:"#/components/schemas/SubscriptionDetail"},{type:"null"}]},responseDetail:{anyOf:[{$ref:"#/components/schemas/ErrorDetail"},{type:"null"}]}},type:"object",required:["success"],title:"BulkResultItem[SubscriptionDetail]"},CreateSubscriptionRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"Unique identifier for the client scoping this subscription"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname",description:"Optional friendly name for the subscription"}},type:"object",required:["clientId"],title:"CreateSubscriptionRequest"},CreateSubscriptionResponse:{properties:{clientId:{type:"string",title:"Clientid"},subscriptionId:{type:"string",title:"Subscriptionid"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname"}},type:"object",required:["clientId","subscriptionId"],title:"CreateSubscriptionResponse"},CurrentValueResult:{properties:{isComposition:{type:"boolean",title:"Iscomposition",description:"True if this Object encapsulates composed child elements"},value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"},components:{anyOf:[{additionalProperties:{$ref:"#/components/schemas/VQT"},type:"object"},{type:"null"}],title:"Components",description:"Child element values, present only on composition elements when maxDepth > 1"}},type:"object",required:["isComposition","value","quality","timestamp"],title:"CurrentValueResult"},DeleteSubscriptionsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping these subscriptions"},subscriptionIds:{items:{type:"string"},type:"array",title:"Subscriptionids",description:"List of subscription IDs to delete"}},type:"object",required:["clientId","subscriptionIds"],title:"DeleteSubscriptionsRequest"},ErrorDetail:{properties:{title:{type:"string",title:"Title"},status:{type:"integer",title:"Status"},detail:{type:"string",title:"Detail"}},type:"object",required:["title","status","detail"],title:"ErrorDetail"},ErrorResponse:{properties:{success:{type:"boolean",title:"Success",default:!1},responseDetail:{$ref:"#/components/schemas/ErrorDetail"}},type:"object",required:["responseDetail"],title:"ErrorResponse"},GetObjectHistoryRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},startTime:{type:"string",title:"Starttime",description:"RFC 3339 timestamp for range start"},endTime:{type:"string",title:"Endtime",description:"RFC 3339 timestamp for range end"},maxDepth:{type:"integer",minimum:0,title:"Maxdepth",description:"Controls recursion depth. 0=infinite, 1=no recursion",default:1}},type:"object",required:["elementIds","startTime","endTime"],title:"GetObjectHistoryRequest",description:"Request model for POST /objects/history"},GetObjectTypesRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"}},type:"object",required:["elementIds"],title:"GetObjectTypesRequest",description:"Request model for POST /objecttypes/query"},GetObjectValueRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},maxDepth:{type:"integer",minimum:0,title:"Maxdepth",description:"Controls recursion depth. 0=infinite, 1=no recursion",default:1}},type:"object",required:["elementIds"],title:"GetObjectValueRequest",description:"Request model for POST /objects/value"},GetObjectsRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},includeMetadata:{type:"boolean",title:"Includemetadata",description:"Include full metadata in response",default:!1}},type:"object",required:["elementIds"],title:"GetObjectsRequest",description:"Request model for POST /objects/query"},GetRelatedObjectsRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"},relationshipType:{anyOf:[{type:"string"},{type:"null"}],title:"Relationshiptype",description:"Filter by relationship type"},includeMetadata:{type:"boolean",title:"Includemetadata",description:"Include full metadata in response",default:!1}},type:"object",required:["elementIds"],title:"GetRelatedObjectsRequest",description:"Request model for POST /objects/related"},GetRelationshipTypesRequest:{properties:{elementIds:{items:{type:"string"},type:"array",title:"Elementids",description:"Array of element IDs to query"}},type:"object",required:["elementIds"],title:"GetRelationshipTypesRequest",description:"Request model for POST /relationshiptypes/query"},HistoricalValueResult:{properties:{isComposition:{type:"boolean",title:"Iscomposition",description:"True if this Object encapsulates composed child elements"},values:{items:{$ref:"#/components/schemas/VQT"},type:"array",title:"Values",description:"Ordered array of VQT objects for the requested time range"},components:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Components",description:"Child element history, present only on composition elements when maxDepth > 1"}},type:"object",required:["isComposition","values"],title:"HistoricalValueResult"},HistoryUpdateItem:{properties:{elementId:{type:"string",title:"Elementid",description:"The elementId of the Object to update"},value:{$ref:"#/components/schemas/VQT",description:"The VQT value to write, including timestamp"}},type:"object",required:["elementId","value"],title:"HistoryUpdateItem"},ListSubscriptionsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping these subscriptions"},subscriptionIds:{items:{type:"string"},type:"array",title:"Subscriptionids",description:"List of subscription IDs to retrieve"}},type:"object",required:["clientId","subscriptionIds"],title:"ListSubscriptionsRequest"},Namespace:{properties:{uri:{type:"string",title:"Uri",description:"Namespace URI"},displayName:{type:"string",title:"Displayname",description:"Namespace name"}},type:"object",required:["uri","displayName"],title:"Namespace"},ObjectInstanceMetadata:{properties:{typeNamespaceUri:{anyOf:[{type:"string"},{type:"null"}],title:"Typenamespaceuri"},sourceTypeId:{anyOf:[{type:"string"},{type:"null"}],title:"Sourcetypeid"},engUnit:{anyOf:[{type:"string"},{type:"null"}],title:"Engunit"},description:{anyOf:[{type:"string"},{type:"null"}],title:"Description"},relationships:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Relationships"},schemaExtensions:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Schemaextensions"},system:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"System"}},type:"object",title:"ObjectInstanceMetadata"},ObjectInstanceResponse:{properties:{elementId:{type:"string",title:"Elementid"},displayName:{type:"string",title:"Displayname"},typeElementId:{type:"string",title:"Typeelementid"},parentId:{anyOf:[{type:"string"},{type:"null"}],title:"Parentid"},isComposition:{type:"boolean",title:"Iscomposition"},isExtended:{type:"boolean",title:"Isextended",default:!1},metadata:{anyOf:[{$ref:"#/components/schemas/ObjectInstanceMetadata"},{type:"null"}]}},type:"object",required:["elementId","displayName","typeElementId","isComposition"],title:"ObjectInstanceResponse"},ObjectTypeResponse:{properties:{elementId:{type:"string",title:"Elementid"},displayName:{type:"string",title:"Displayname"},namespaceUri:{type:"string",title:"Namespaceuri"},sourceTypeId:{type:"string",title:"Sourcetypeid",description:"Class or member of the Namespace that defines this type"},version:{anyOf:[{type:"string"},{type:"null"}],title:"Version"},schema:{additionalProperties:!0,type:"object",title:"Schema",description:"JSON Schema definition for this object type"},related:{anyOf:[{additionalProperties:!0,type:"object"},{type:"null"}],title:"Related"}},type:"object",required:["elementId","displayName","namespaceUri","sourceTypeId","schema"],title:"ObjectTypeResponse"},RegisterMonitoredItemsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to register items with"},elementIds:{items:{type:"string"},type:"array",title:"Elementids"},maxDepth:{anyOf:[{type:"integer"},{type:"null"}],title:"Maxdepth",default:1}},type:"object",required:["clientId","subscriptionId","elementIds"],title:"RegisterMonitoredItemsRequest"},RelatedObjectResult:{properties:{sourceRelationship:{type:"string",title:"Sourcerelationship"},object:{$ref:"#/components/schemas/ObjectInstanceResponse"}},type:"object",required:["sourceRelationship","object"],title:"RelatedObjectResult"},RelationshipType:{properties:{elementId:{type:"string",title:"Elementid",description:"Unique string identifier for the relationship type"},displayName:{type:"string",title:"Displayname",description:"Relationship type name"},namespaceUri:{type:"string",title:"Namespaceuri",description:"Namespace URI"},relationshipId:{type:"string",title:"Relationshipid",description:"Class or member of the Namespace that defines this relationship type"},reverseOf:{type:"string",title:"Reverseof",description:"ElementId of the reverse relationship type"}},type:"object",required:["elementId","displayName","namespaceUri","relationshipId","reverseOf"],title:"RelationshipType"},ServerCapabilities:{properties:{query:{$ref:"#/components/schemas/_QueryCapabilities"},update:{$ref:"#/components/schemas/_UpdateCapabilities"},subscribe:{$ref:"#/components/schemas/_SubscribeCapabilities"}},type:"object",required:["query","update","subscribe"],title:"ServerCapabilities"},ServerInfo:{properties:{specVersion:{type:"string",title:"Specversion"},serverVersion:{anyOf:[{type:"string"},{type:"null"}],title:"Serverversion"},serverName:{anyOf:[{type:"string"},{type:"null"}],title:"Servername"},capabilities:{$ref:"#/components/schemas/ServerCapabilities"}},type:"object",required:["specVersion","capabilities"],title:"ServerInfo"},StreamRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to open a stream for"}},type:"object",required:["clientId","subscriptionId"],title:"StreamRequest"},SubscriptionDetail:{properties:{subscriptionId:{type:"string",title:"Subscriptionid"},displayName:{anyOf:[{type:"string"},{type:"null"}],title:"Displayname"},monitoredObjects:{items:{additionalProperties:!0,type:"object"},type:"array",title:"Monitoredobjects"}},type:"object",required:["subscriptionId","monitoredObjects"],title:"SubscriptionDetail"},SuccessResponse_CreateSubscriptionResponse_:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{$ref:"#/components/schemas/CreateSubscriptionResponse"},{type:"null"}]}},type:"object",required:["success"],title:"SuccessResponse[CreateSubscriptionResponse]"},SuccessResponse_List_Namespace__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/Namespace"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[Namespace]]"},SuccessResponse_List_ObjectInstanceResponse__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/ObjectInstanceResponse"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[ObjectInstanceResponse]]"},SuccessResponse_List_ObjectTypeResponse__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/ObjectTypeResponse"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[ObjectTypeResponse]]"},SuccessResponse_List_RelationshipType__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/RelationshipType"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[RelationshipType]]"},SuccessResponse_List_SyncBatch__:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{items:{$ref:"#/components/schemas/SyncBatch"},type:"array"},{type:"null"}],title:"Result"}},type:"object",required:["success"],title:"SuccessResponse[List[SyncBatch]]"},SuccessResponse_ServerInfo_:{properties:{success:{type:"boolean",title:"Success"},result:{anyOf:[{$ref:"#/components/schemas/ServerInfo"},{type:"null"}]}},type:"object",required:["success"],title:"SuccessResponse[ServerInfo]"},SyncBatch:{properties:{sequenceNumber:{type:"integer",title:"Sequencenumber"},updates:{items:{$ref:"#/components/schemas/SyncUpdateEntry"},type:"array",title:"Updates"}},type:"object",required:["sequenceNumber","updates"],title:"SyncBatch"},SyncRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to sync"},lastSequenceNumber:{anyOf:[{type:"integer"},{type:"null"}],title:"Lastsequencenumber",description:"Acknowledge all updates through this sequence number before returning new ones"}},type:"object",required:["clientId","subscriptionId"],title:"SyncRequest"},SyncUpdateEntry:{properties:{elementId:{type:"string",title:"Elementid"},value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"}},additionalProperties:!0,type:"object",required:["elementId","value","quality","timestamp"],title:"SyncUpdateEntry"},UnregisterMonitoredItemsRequest:{properties:{clientId:{type:"string",title:"Clientid",description:"The clientId scoping this subscription"},subscriptionId:{type:"string",title:"Subscriptionid",description:"The subscription to unregister items from"},elementIds:{items:{type:"string"},type:"array",title:"Elementids"}},type:"object",required:["clientId","subscriptionId","elementIds"],title:"UnregisterMonitoredItemsRequest"},UpdateHistoryRequest:{properties:{updates:{items:{$ref:"#/components/schemas/HistoryUpdateItem"},type:"array",title:"Updates",description:"Array of elementId/value pairs to write"}},type:"object",required:["updates"],title:"UpdateHistoryRequest"},UpdateValueRequest:{properties:{updates:{items:{$ref:"#/components/schemas/ValueUpdateItem"},type:"array",title:"Updates",description:"Array of elementId/value pairs to write"}},type:"object",required:["updates"],title:"UpdateValueRequest"},VQT:{properties:{value:{title:"Value"},quality:{type:"string",title:"Quality",description:"Data quality indicator: Good, GoodNoData, Bad, or Uncertain"},timestamp:{type:"string",title:"Timestamp",description:"RFC 3339 UTC timestamp when this value was recorded"}},type:"object",required:["value","quality","timestamp"],title:"VQT"},VQTInput:{properties:{value:{title:"Value"},quality:{anyOf:[{type:"string"},{type:"null"}],title:"Quality",description:"Data quality indicator. Defaults to 'Good' if omitted.",default:"Good"},timestamp:{anyOf:[{type:"string"},{type:"null"}],title:"Timestamp",description:"RFC 3339 timestamp. Defaults to server time if omitted."}},type:"object",required:["value"],title:"VQTInput",description:"VQT for write requests \u2014 quality and timestamp are optional (server supplies defaults)."},ValueUpdateItem:{properties:{elementId:{type:"string",title:"Elementid",description:"The elementId of the Object to update"},value:{$ref:"#/components/schemas/VQTInput",description:"The VQT value to write. Must conform to the Object's type schema."}},type:"object",required:["elementId","value"],title:"ValueUpdateItem"},_QueryCapabilities:{properties:{history:{type:"boolean",title:"History"}},type:"object",required:["history"],title:"_QueryCapabilities"},_SubscribeCapabilities:{properties:{stream:{type:"boolean",title:"Stream"}},type:"object",required:["stream"],title:"_SubscribeCapabilities"},_UpdateCapabilities:{properties:{current:{type:"boolean",title:"Current"},history:{type:"boolean",title:"History"}},type:"object",required:["current","history"],title:"_UpdateCapabilities"}}},tags:[{name:"Info"},{name:"Explore"},{name:"Query"},{name:"Update"},{name:"Subscribe"}]};function g(t,e){let i=new Error(e);return i.statusCode=t,i}function S(t){let e=t;throw g(e.statusCode??500,e.message)}function C(t){t.setErrorHandler((e,i,s)=>{let n=e.statusCode??500,r=n===400?"Bad Request":n===404?"Not Found":n===501?"Not Implemented":"Internal Server Error";s.status(n).send({success:!1,responseDetail:{title:r,status:n,detail:e.message}})})}var P=new Set(["/v1/info","/health","/ready"]);function x(t,e,i=!0){e&&t.addHook("onRequest",async(s,n)=>{let r=s.url.split("?")[0];if(P.has(r)||r.startsWith("/v1/docs")||r.startsWith("/docs")||r.endsWith("/openapi.json"))return;let c=s.headers.authorization;if(!c)return i?(n.status(401).send({success:!1,responseDetail:{title:"Unauthorized",status:401,detail:"Missing or invalid Bearer token."}}),n):void 0;let[o,a]=c.split(" ",2);if(o?.toLowerCase()!=="bearer"||a!==e)return n.status(401).send({success:!1,responseDetail:{title:"Unauthorized",status:401,detail:"Missing or invalid Bearer token."}}),n})}import{randomUUID as M}from"crypto";import L from"fastify-plugin";async function G(t){t.addHook("onRequest",async(e,i)=>{let s=e.headers["x-request-id"]??M();i.header("x-request-id",s)})}var U=L(G,{name:"request-id"});async function _(t){let e=R(t);t.get("/health",async()=>{let i=e.getOpcuaStats?.();return{status:"ok",...i?{opcua:i}:{}}}),t.get("/ready",async(i,s)=>e.dataSource.isConnected()?{status:"ready"}:(s.status(503),{status:"not ready",message:"Data source not connected"}))}import{readFileSync as F}from"fs";function y(t){return{success:!0,result:t}}function m(t){return{success:t.every(i=>i.success),results:t}}function b(t,e){return{success:!0,elementId:t,result:e}}function h(t,e,i,s){return{success:!1,elementId:t,responseDetail:{title:s??"Error",status:e,detail:i}}}function v(t,e,i,s){let n=null,r=null;if(i){let c=t.type||"UnknownType",o=s?.get(c);o?(n=o.namespaceUri,r=o.sourceTypeId):(n=t.namespaceUri??null,r=t.sourceTypeId??t.sourceNodeId??null)}return{elementId:t.id,displayName:t.name,typeElementId:t.type??"",parentId:e,isComposition:t.children.length>0,isExtended:!1,...i?{metadata:{typeNamespaceUri:n,sourceTypeId:r,...t.engUnit!==void 0&&t.engUnit!==null?{engUnit:t.engUnit}:{}}}:{}}}var E="0.6.0";try{E=JSON.parse(F(new URL("../../package.json",import.meta.url),"utf8")).version}catch{try{E=JSON.parse(F(new URL("../package.json",import.meta.url),"utf8")).version}catch{}}async function w(t){t.get("/v1/info",async()=>{let e=t.deps.readOnly??!1;return y({specVersion:"1.0",serverVersion:E,serverName:"node-i3x",vendor:{name:"Sterfive SAS",url:"https://www.sterfive.com",support:"contact@sterfive.com"},license:"AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",capabilities:{query:{history:!e},update:{current:!e,history:!1},subscribe:{stream:!0}}})})}async function D(t){let e=R(t);t.get("/v1/namespaces",async()=>{let i=await e.dataSource.getNamespaces();return y(i.map(s=>({uri:s.uri,displayName:s.displayName})))})}async function k(t){let e=R(t),i=async(s,n)=>{if(e.readOnly)return n.status(501),n.send({success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Write operations are disabled (read-only mode)"}})};t.get("/v1/objects",async s=>{let n=await e.modelService.getOrBuildModel(),{typeElementId:r,root:c,includeMetadata:o}=s.query,a=o===!0||o==="true",l=c===!0||c==="true",p;l?p=n.rootIds.map(d=>n.nodesById.get(d)).filter(d=>d!==void 0&&d.kind==="asset"):p=Array.from(n.nodesById.values()).filter(d=>d.kind==="asset"||d.kind==="property"),r&&(p=p.filter(d=>d.type===r));let u;if(a){let d=await e.typeService.getObjectTypes();u=new Map(d.map(f=>[f.elementId,f]))}let I=p.map(d=>v(d,e.modelService.parentIdOf(n,d.id),a,u));return y(I)}),t.post("/v1/objects/list",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},includeMetadata:{type:"boolean"}}}}},async s=>{let{elementIds:n,includeMetadata:r}=s.body,c=r===!0,o=await e.modelService.getOrBuildModel(),a;if(c){let p=await e.typeService.getObjectTypes();a=new Map(p.map(u=>[u.elementId,u]))}let l=n.map(p=>{let u=e.modelService.findNode(o,p);return u?b(p,v(u,e.modelService.parentIdOf(o,u.id),c,a)):h(p,404,"Not found")});return m(l)}),t.post("/v1/objects/related",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},relationshipType:{type:["string","null"]},includeMetadata:{type:"boolean"}}}}},async s=>{let{elementIds:n,includeMetadata:r}=s.body,c=r===!0,o=await e.modelService.getOrBuildModel(),a;if(c){let p=await e.typeService.getObjectTypes();a=new Map(p.map(u=>[u.elementId,u]))}let l=n.map(p=>{let u=e.modelService.findNode(o,p);if(!u)return h(p,404,"Not found");let d=(o.childrenById.get(u.id)??[]).map(j=>o.nodesById.get(j)).filter(Boolean).map(j=>({sourceRelationship:"HasComponent",object:v(j,u.id,c,a)})),f=e.modelService.parentIdOf(o,u.id);if(f){let j=o.nodesById.get(f);j&&d.push({sourceRelationship:"IsComponentOf",object:v(j,e.modelService.parentIdOf(o,j.id),c,a)})}return b(p,d)});return m(l)}),t.post("/v1/objects/value",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}},maxDepth:{type:"integer",minimum:0}}}}},async s=>{let{elementIds:n,maxDepth:r}=s.body,c=await e.valueService.readValues(n,r??1);return m(c)}),t.post("/v1/objects/history",{schema:{body:{type:"object",required:["elementIds","startTime","endTime"],properties:{elementIds:{type:"array",items:{type:"string"}},startTime:{type:"string",format:"date-time"},endTime:{type:"string",format:"date-time"},maxDepth:{type:"integer",minimum:0}}}}},async s=>{let{elementIds:n,startTime:r,endTime:c,maxDepth:o}=s.body;if(!r||!c)throw g(400,"Both startTime and endTime are required.");let a=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/i;if(!a.test(r)||!a.test(c))throw g(400,"startTime and endTime must be in RFC 3339 format.");let l=await e.historyService.readHistory(n,new Date(r),new Date(c),o??1);return m(l)}),t.put("/v1/objects/history",{preHandler:i},async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),e.experimental&&(t.get("/v1/objects/:elementId/history",async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),t.put("/v1/objects/:elementId/history",{preHandler:i},async(s,n)=>(n.status(501),{success:!1,responseDetail:{title:"Not Implemented",status:501,detail:"Not implemented"}})),t.put("/v1/objects/:elementId/value",{preHandler:i},async s=>{let{elementId:n}=s.params,{value:r}=s.body;try{return await e.valueService.writeValue(n,r),y(null)}catch(c){throw g(404,c.message)}})),t.put("/v1/objects/value",{preHandler:i},async s=>{let n=s.body,r=[];if(Array.isArray(n))r=n;else if(n&&typeof n=="object"){let o=n.updates;Array.isArray(o)?r=o:r=Object.entries(n).map(([a,l])=>({elementId:a,value:l}))}let c=await Promise.all(r.map(async({elementId:o,value:a})=>{try{return await e.valueService.writeValue(o,a),b(o,null)}catch(l){let p=l instanceof Error?l.message:String(l)||"Write failed",I=p.includes("not found")?404:403;return h(o,I,p)}}));return m(c)})}async function B(t){let e=R(t);t.get("/v1/objecttypes",async i=>{let{namespaceUri:s}=i.query,n=await e.typeService.getObjectTypes(s);return y(n)}),t.post("/v1/objecttypes/query",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}}}}}},async i=>{let{elementIds:s}=i.body,n=await e.typeService.queryObjectTypes(s),r=s.map((c,o)=>{let a=n[o];return a?b(c,a):h(c,404,"Object type not found")});return m(r)})}var H=[{elementId:"HasComponent",displayName:"HasComponent",namespaceUri:"http://opcfoundation.org/UA/",relationshipId:"ns=0;i=47",reverseOf:"IsComponentOf"},{elementId:"IsComponentOf",displayName:"IsComponentOf",namespaceUri:"http://opcfoundation.org/UA/",relationshipId:"ns=0;i=47",reverseOf:"HasComponent"}];async function $(t){t.get("/v1/relationshiptypes",async e=>{let{namespaceUri:i}=e.query,s=H;return i&&(s=s.filter(n=>n.namespaceUri===i)),y(s)}),t.post("/v1/relationshiptypes/query",{schema:{body:{type:"object",required:["elementIds"],properties:{elementIds:{type:"array",items:{type:"string"}}}}}},async e=>{let{elementIds:i}=e.body,s=i.map(n=>{let r=H.find(c=>c.elementId===n);return r?b(n,r):h(n,404,"Relationship type not found")});return m(s)})}function q(t){if(!t)throw g(400,"clientId is required");return t}function T(t,e,i){let s=t.subscriptionService.list([e]);if(s.length===0||s[0].clientId!==i)throw g(404,`Subscription ${e} not found`)}async function N(t){let e=R(t);t.post("/v1/subscriptions",{schema:{body:{type:"object",required:["clientId"],properties:{clientId:{type:"string"},displayName:{type:"string"}}}}},async i=>{let{clientId:s,displayName:n}=i.body,r=q(s),c=e.subscriptionService.create({clientId:r,displayName:n});return y(c)}),t.post("/v1/subscriptions/register",{schema:{body:{type:"object",required:["subscriptionId","elementIds","clientId"],properties:{subscriptionId:{type:"string"},elementIds:{type:"array",items:{type:"string"}},maxDepth:{type:"integer",minimum:0},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,elementIds:n,maxDepth:r,clientId:c}=i.body,o=q(c);T(e,s,o);try{let{registered:a,errors:l}=await e.subscriptionService.register(s,n,r??1),p=[...a.map(u=>b(u,null)),...l.map(u=>h(u.elementId,404,u.error,"Not Found"))];return m(p)}catch(a){S(a)}}),t.post("/v1/subscriptions/unregister",{schema:{body:{type:"object",required:["subscriptionId","elementIds","clientId"],properties:{subscriptionId:{type:"string"},elementIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,elementIds:n,clientId:r}=i.body,c=q(r);T(e,s,c);try{let{registered:o,errors:a}=await e.subscriptionService.unregister(s,n),l=[...o.map(p=>b(p,null)),...a.map(p=>h(p.elementId,404,p.error,"Not Found"))];return m(l)}catch(o){S(o)}}),t.post("/v1/subscriptions/sync",{schema:{body:{type:"object",required:["subscriptionId","clientId"],properties:{subscriptionId:{type:"string"},lastSequenceNumber:{type:"integer"},clientId:{type:"string"}}}}},async i=>{let{subscriptionId:s,lastSequenceNumber:n,clientId:r}=i.body,c=q(r);T(e,s,c);let o=n??0;try{let a=e.subscriptionService.sync(s,o);return y(a)}catch(a){S(a)}}),t.post("/v1/subscriptions/stream",{schema:{body:{type:"object",required:["subscriptionId","clientId"],properties:{subscriptionId:{type:"string"},lastSequenceNumber:{type:"integer"},clientId:{type:"string"}}}}},async(i,s)=>{let{subscriptionId:n,lastSequenceNumber:r,clientId:c}=i.body,o=q(c);T(e,n,o);let a=r??0;try{e.subscriptionService.acknowledge(n,a),await s.hijack(),s.raw.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),s.raw.write(`: keepalive
45
45
 
46
46
  `);let l=a,p=!1,u=()=>{p||(p=!0,s.raw.writableEnded||s.raw.end())};for(i.raw.on("close",()=>{p=!0,e.subscriptionService.clearActiveStream(n,u)}),e.subscriptionService.registerActiveStream(n,u);!p;){let I=await e.subscriptionService.waitForUpdates(n,l,15e3);if(p)break;if(!I||I.length===0){s.raw.write(`: keepalive
47
47
 
48
48
  `);continue}l=I[I.length-1].sequenceNumber,e.subscriptionService.acknowledge(n,l);let d=I.map(f=>({sequenceNumber:f.sequenceNumber,elementId:f.elementId,value:f.value,quality:f.quality,timestamp:f.timestamp}));s.raw.write(`data: ${JSON.stringify(d)}
49
49
 
50
- `)}s.raw.writableEnded||s.raw.end()}catch(l){s.raw.headersSent||S(l)}}),t.post("/v1/subscriptions/delete",{schema:{body:{type:"object",required:["subscriptionIds","clientId"],properties:{subscriptionIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionIds:s,clientId:n}=i.body,r=q(n),c=e.subscriptionService.list(s);for(let a of s){let l=c.find(p=>p.subscriptionId===a);if(!l||l.clientId!==r)throw g(404,`Subscription ${a} not found`)}let o=await e.subscriptionService.deleteSubscriptions(s);return m(o)}),t.post("/v1/subscriptions/list",{schema:{body:{type:"object",required:["clientId"],properties:{subscriptionIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionIds:s,clientId:n}=i.body,r=q(n),c=e.subscriptionService.list(s),o;return s&&s.length>0?o=s.map(a=>{let l=c.find(p=>p.subscriptionId===a);return!l||l.clientId!==r?{success:!1,subscriptionId:a,responseDetail:{title:"Not Found",status:404,detail:`Subscription ${a} not found`}}:{success:!0,subscriptionId:a,result:l}}):o=c.filter(l=>l.clientId===r).map(l=>({success:!0,subscriptionId:l.subscriptionId,result:l})),m(o)})}async function K(t){let e=J({logger:!0});e.decorate("deps",t),await e.register(U),await e.register(Q,{origin:!0}),await e.register(A,{global:!0,threshold:0,encodings:["gzip","identity"]}),C(e);let i={...O,security:[{BearerAuth:[]}],components:{...O.components,securitySchemes:{BearerAuth:{type:"http",scheme:"bearer"}}}};return await e.register(W,{mode:"static",specification:{document:i}}),await e.register(z,{routePrefix:"/v1/docs"}),e.get("/openapi.json",async()=>O),x(e,t.apiKey,t.requireAuth),e.addHook("onRequest",async(s,n)=>{n.header("X-Powered-By","node-i3x (Sterfive - https://sterfive.com)")}),await e.register(D),await e.register(_),await e.register(k),await e.register(B),await e.register($),await e.register(w),await e.register(N),e}function R(t){return t.deps}export{K as createApp};
50
+ `)}s.raw.writableEnded||s.raw.end()}catch(l){s.raw.headersSent||S(l)}}),t.post("/v1/subscriptions/delete",{schema:{body:{type:"object",required:["subscriptionIds","clientId"],properties:{subscriptionIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionIds:s,clientId:n}=i.body,r=q(n),c=e.subscriptionService.list(s);for(let a of s){let l=c.find(p=>p.subscriptionId===a);if(!l||l.clientId!==r)throw g(404,`Subscription ${a} not found`)}let o=await e.subscriptionService.deleteSubscriptions(s);return m(o)}),t.post("/v1/subscriptions/list",{schema:{body:{type:"object",required:["clientId"],properties:{subscriptionIds:{type:"array",items:{type:"string"}},clientId:{type:"string"}}}}},async i=>{let{subscriptionIds:s,clientId:n}=i.body,r=q(n),c=e.subscriptionService.list(s),o;return s&&s.length>0?o=s.map(a=>{let l=c.find(p=>p.subscriptionId===a);return!l||l.clientId!==r?{success:!1,subscriptionId:a,responseDetail:{title:"Not Found",status:404,detail:`Subscription ${a} not found`}}:{success:!0,subscriptionId:a,result:l}}):o=c.filter(l=>l.clientId===r).map(l=>({success:!0,subscriptionId:l.subscriptionId,result:l})),m(o)})}async function K(t){let e=J({logger:!0});e.decorate("deps",t),await e.register(U),await e.register(Q,{origin:!0}),await e.register(A,{global:!0,threshold:0,encodings:["gzip","identity"]}),C(e);let i={...O,security:[{BearerAuth:[]}],components:{...O.components,securitySchemes:{BearerAuth:{type:"http",scheme:"bearer"}}}};return await e.register(W,{mode:"static",specification:{document:i}}),await e.register(z,{routePrefix:"/v1/docs"}),e.get("/openapi.json",async()=>O),x(e,t.apiKey,t.requireAuth),e.addHook("onRequest",async(s,n)=>{n.header("X-Powered-By","node-i3x (Sterfive - https://www.sterfive.com)")}),await e.register(w),await e.register(_),await e.register(D),await e.register(B),await e.register($),await e.register(k),await e.register(N),e}function R(t){return t.deps}export{K as createApp};
51
51
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app.ts","../src/openapi.json","../src/errors.ts","../src/middleware/auth.ts","../src/middleware/request-id.ts","../src/routes/health.ts","../src/routes/info.ts","../src/helpers/response.ts","../src/routes/namespaces.ts","../src/routes/objects.ts","../src/routes/objecttypes.ts","../src/routes/relationshiptypes.ts","../src/routes/subscriptions.ts"],"mappings":"AAIA,OAAOA,MAAc,oBACrB,OAAOC,MAAU,gBACjB,OAAOC,MAAa,mBACpB,OAAOC,MAAe,sBACtB,OAAOC,MAAuC,UCR9C,IAAAC,EAAA,CACE,QAAW,QACX,KAAQ,CACN,MAAS,cACT,YAAe,8DACf,QAAW,SACb,EACA,QAAW,CACT,CACE,IAAO,KACT,CACF,EACA,MAAS,CACP,QAAS,CACP,IAAO,CACL,KAAQ,CACN,MACF,EACA,QAAW,cACX,YAAe;AAAA,gDACf,YAAe,UACf,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,cAAe,CACb,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,iBACX,YAAe,qBACf,YAAe,gBACf,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,eAAgB,CACd,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,mBACX,YAAe,gEACf,YAAe,iBACf,WAAc,CACZ,CACE,KAAQ,eACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,gEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,qBAAsB,CACpB,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,kCACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,4CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,qBAAsB,CACpB,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,yBACX,YAAe,+DACf,YAAe,uBACf,WAAc,CACZ,CACE,KAAQ,eACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,2BAA4B,CAC1B,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,wCACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,6BACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,qDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,WAAY,CACV,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,cACX,YAAe,+FACf,YAAe,aACf,WAAc,CACZ,CACE,KAAQ,gBACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,CACF,EACA,CACE,KAAQ,kBACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,KAAQ,UACR,QAAW,GACX,MAAS,iBACX,CACF,EACA,CACE,KAAQ,OACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,MACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,gBAAiB,CACf,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,4BACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,kBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,wCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,2DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,mBAAoB,CAClB,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,wBACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,+CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,iBAAkB,CAChB,IAAO,CACL,KAAQ,CACN,QACF,EACA,QAAW,2BACX,YAAe;AAAA;AAAA;AAAA;AAAA,4DACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,yCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,EACA,KAAQ,CACN,KAAQ,CACN,OACF,EACA,QAAW,0BACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,4CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,mGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,mBAAoB,CAClB,IAAO,CACL,KAAQ,CACN,QACF,EACA,QAAW,sCACX,YAAe;AAAA;AAAA,uHACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,2CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CAAC,CACb,CACF,CACF,EACA,MAAO,CACL,YAAe,uEACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,EACA,KAAQ,CACN,KAAQ,CACN,OACF,EACA,QAAW,0BACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,wBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,0DACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,mGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,0DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,iBAAkB,CAChB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,sBACX,YAAe;AAAA,mFACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,gDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,0BAA2B,CACzB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,2BACX,YAAe,iFACf,YAAe,yBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,4BAA6B,CAC3B,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,yBACX,YAAe,sFACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,sDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,wBAAyB,CACvB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,sBACX,YAAe,wFACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CAAC,CACb,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,sBAAuB,CACrB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,cACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA,+CACf,YAAe,mBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,qHACjB,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,wBAAyB,CACvB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,uBACX,YAAe,0FACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,iDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,sBAAuB,CACrB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,qBACX,YAAe,0FACf,YAAe,oBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,+CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,CACF,EACA,WAAc,CACZ,QAAW,CACT,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,oCAAuC,CACrC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,4DACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,qCACX,EACA,wCAA2C,CACzC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,gEACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,yCACX,EACA,uBAA0B,CACxB,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,+CACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,wBACX,EACA,qCAAwC,CACtC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,6DACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,sCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,+BAAkC,CAChC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,uDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,gCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,sCAAyC,CACvC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,4CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,uCACX,EACA,0CAA6C,CAC3C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,0CACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,2CACX,EACA,yBAA4B,CAC1B,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,KAAQ,OACR,MAAS,QACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,0BACX,EACA,uCAA0C,CACxC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,6CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,wCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,uCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,0BAA6B,CAC3B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,4DACjB,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACT,YAAe,6CACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACF,EACA,MAAS,2BACX,EACA,2BAA8B,CAC5B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,UACX,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,gBACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,4BACX,EACA,mBAAsB,CACpB,WAAc,CACZ,cAAiB,CACf,KAAQ,UACR,MAAS,gBACT,YAAe,0DACjB,EACA,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,EACA,WAAc,CACZ,MAAS,CACP,CACE,qBAAwB,CACtB,KAAQ,0BACV,EACA,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACT,YAAe,8EACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,gBACA,QACA,UACA,WACF,EACA,MAAS,oBACX,EACA,2BAA8B,CAC5B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,0CACjB,EACA,gBAAmB,CACjB,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,kBACT,YAAe,oCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACF,EACA,MAAS,4BACX,EACA,YAAe,CACb,WAAc,CACZ,MAAS,CACP,KAAQ,SACR,MAAS,OACX,EACA,OAAU,CACR,KAAQ,UACR,MAAS,QACX,EACA,OAAU,CACR,KAAQ,SACR,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,SACA,QACF,EACA,MAAS,aACX,EACA,cAAiB,CACf,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,UACT,QAAW,EACb,EACA,eAAkB,CAChB,KAAQ,kCACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,gBACF,EACA,MAAS,eACX,EACA,wBAA2B,CACzB,WAAc,CACZ,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X,EACA,QAAW,CACT,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,EACA,cAAiB,CACf,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,EACA,iBAAoB,CAClB,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,kBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,MAAS,wBACX,EACA,uBAA0B,CACxB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,cAAiB,CACf,KAAQ,SACR,MAAS,eACX,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,UACX,EACA,cAAiB,CACf,KAAQ,UACR,MAAS,eACX,EACA,WAAc,CACZ,KAAQ,UACR,MAAS,aACT,QAAW,EACb,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,6CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,gBACA,eACF,EACA,MAAS,wBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,cACX,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,eACT,YAAe,yDACjB,EACA,QAAW,CACT,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,EACA,OAAU,CACR,qBAAwB,GACxB,KAAQ,SACR,MAAS,SACT,YAAe,6CACjB,EACA,QAAW,CACT,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,eACA,eACA,QACF,EACA,MAAS,oBACX,EACA,8BAAiC,CAC/B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,yCACjB,EACA,WAAc,CACZ,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,YACX,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACT,QAAW,CACb,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACA,YACF,EACA,MAAS,+BACX,EACA,oBAAuB,CACrB,WAAc,CACZ,mBAAsB,CACpB,KAAQ,SACR,MAAS,oBACX,EACA,OAAU,CACR,KAAQ,6CACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,qBACA,QACF,EACA,MAAS,qBACX,EACA,iBAAoB,CAClB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,oDACjB,EACA,YAAe,CACb,KAAQ,SACR,MAAS,cACT,YAAe,wBACjB,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,eACT,YAAe,eACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,sEACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,4CACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,eACA,iBACA,WACF,EACA,MAAS,kBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,MAAS,CACP,KAAQ,yCACV,EACA,OAAU,CACR,KAAQ,0CACV,EACA,UAAa,CACX,KAAQ,6CACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,SACA,WACF,EACA,MAAS,oBACX,EACA,WAAc,CACZ,WAAc,CACZ,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,cAAiB,CACf,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,EACA,WAAc,CACZ,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,YACX,EACA,aAAgB,CACd,KAAQ,yCACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,cACA,cACF,EACA,MAAS,YACX,EACA,cAAiB,CACf,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,uCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,eACX,EACA,mBAAsB,CACpB,WAAc,CACZ,eAAkB,CAChB,KAAQ,SACR,MAAS,gBACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,EACA,iBAAoB,CAClB,MAAS,CACP,qBAAwB,GACxB,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,kBACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,iBACA,kBACF,EACA,MAAS,oBACX,EACA,4CAA+C,CAC7C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,iDACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,6CACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,gCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,8CAAiD,CAC/C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,6CACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,+CACX,EACA,0CAA6C,CAC3C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,yCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,2CACX,EACA,wCAA2C,CACzC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,uCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,yCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,gCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,4BAA+B,CAC7B,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,iCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,6BACX,EACA,UAAa,CACX,WAAc,CACZ,eAAkB,CAChB,KAAQ,UACR,MAAS,gBACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,sCACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,iBACA,SACF,EACA,MAAS,WACX,EACA,YAAe,CACb,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,0BACjB,EACA,mBAAsB,CACpB,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,qBACT,YAAe,gFACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,aACX,EACA,gBAAmB,CACjB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,CACF,EACA,qBAAwB,GACxB,KAAQ,SACR,SAAY,CACV,YACA,QACA,UACA,WACF,EACA,MAAS,iBACX,EACA,gCAAmC,CACjC,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,2CACjB,EACA,WAAc,CACZ,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,YACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACA,YACF,EACA,MAAS,iCACX,EACA,qBAAwB,CACtB,WAAc,CACZ,QAAW,CACT,MAAS,CACP,KAAQ,wCACV,EACA,KAAQ,QACR,MAAS,UACT,YAAe,yCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,sBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,QAAW,CACT,MAAS,CACP,KAAQ,sCACV,EACA,KAAQ,QACR,MAAS,UACT,YAAe,yCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oBACX,EACA,IAAO,CACL,WAAc,CACZ,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,UACA,WACF,EACA,MAAS,KACX,EACA,SAAY,CACV,WAAc,CACZ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","names":["compress","cors","swagger","swaggerUi","Fastify","openapi_default","i3xError","statusCode","message","err","rethrowAsI3x","registerErrorHandler","app","error","_req","reply","title","PUBLIC_PATHS","registerAuth","app","apiKey","requireAuth","request","reply","path","authHeader","scheme","token","randomUUID","fp","requestIdPlugin","app","req","reply","id","request_id_default","healthRoutes","app","deps","getDeps","opcua","_req","reply","readFileSync","successResponse","result","bulkResponse","results","r","bulkSuccess","elementId","bulkError","statusCode","message","title","toObjectInstance","node","parentId","includeMetadata","typeMap","typeNamespaceUri","sourceTypeId","typeElementId","typeInfo","serverVersion","readFileSync","infoRoutes","app","readOnly","successResponse","namespaceRoutes","app","deps","getDeps","ns","successResponse","n","objectRoutes","app","deps","getDeps","readOnlyGuard","_req","reply","req","model","typeElementId","root","includeMetadata","incMeta","isRoot","nodes","id","n","typeMap","types","t","result","node","toObjectInstance","successResponse","elementIds","results","bulkSuccess","bulkError","bulkResponse","eid","relatedObjects","cId","child","parentId","parent","maxDepth","startTime","endTime","i3xError","rfc3339Regex","elementId","value","err","body","items","maybeUpdates","message","code","objecttypeRoutes","app","deps","getDeps","req","namespaceUri","types","successResponse","elementIds","found","results","eid","i","typeNode","bulkSuccess","bulkError","bulkResponse","RELATIONSHIP_TYPES","relationshiptypeRoutes","app","req","namespaceUri","types","t","successResponse","elementIds","results","eid","typeNode","bulkSuccess","bulkError","bulkResponse","requireClientId","clientId","i3xError","requireSubscriptionOwnership","deps","subscriptionId","details","subscriptionRoutes","app","getDeps","req","displayName","cid","result","successResponse","elementIds","maxDepth","registered","errors","results","eid","bulkSuccess","e","bulkError","bulkResponse","err","rethrowAsI3x","lastSequenceNumber","ackSeq","updates","reply","lastSequence","closed","closeStream","payload","u","subscriptionIds","id","d","x","createApp","deps","app","Fastify","request_id_default","cors","compress","registerErrorHandler","swaggerSpec","openapi_default","swagger","swaggerUi","registerAuth","_req","reply","infoRoutes","healthRoutes","namespaceRoutes","objecttypeRoutes","relationshiptypeRoutes","objectRoutes","subscriptionRoutes","getDeps"]}
1
+ {"version":3,"sources":["../src/app.ts","../src/openapi.json","../src/errors.ts","../src/middleware/auth.ts","../src/middleware/request-id.ts","../src/routes/health.ts","../src/routes/info.ts","../src/helpers/response.ts","../src/routes/namespaces.ts","../src/routes/objects.ts","../src/routes/objecttypes.ts","../src/routes/relationshiptypes.ts","../src/routes/subscriptions.ts"],"mappings":"AAIA,OAAOA,MAAc,oBACrB,OAAOC,MAAU,gBACjB,OAAOC,MAAa,mBACpB,OAAOC,MAAe,sBACtB,OAAOC,MAAuC,UCR9C,IAAAC,EAAA,CACE,QAAW,QACX,KAAQ,CACN,MAAS,cACT,YAAe,8DACf,QAAW,SACb,EACA,QAAW,CACT,CACE,IAAO,KACT,CACF,EACA,MAAS,CACP,QAAS,CACP,IAAO,CACL,KAAQ,CACN,MACF,EACA,QAAW,cACX,YAAe;AAAA,gDACf,YAAe,UACf,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,cAAe,CACb,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,iBACX,YAAe,qBACf,YAAe,gBACf,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,eAAgB,CACd,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,mBACX,YAAe,gEACf,YAAe,iBACf,WAAc,CACZ,CACE,KAAQ,eACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,gEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,qBAAsB,CACpB,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,kCACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,4CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,qBAAsB,CACpB,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,yBACX,YAAe,+DACf,YAAe,uBACf,WAAc,CACZ,CACE,KAAQ,eACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,2BAA4B,CAC1B,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,wCACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,6BACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,qDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,WAAY,CACV,IAAO,CACL,KAAQ,CACN,SACF,EACA,QAAW,cACX,YAAe,+FACf,YAAe,aACf,WAAc,CACZ,CACE,KAAQ,gBACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,CACF,EACA,CACE,KAAQ,kBACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,KAAQ,UACR,QAAW,GACX,MAAS,iBACX,CACF,EACA,CACE,KAAQ,OACR,GAAM,QACN,SAAY,GACZ,OAAU,CACR,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,MACX,CACF,CACF,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,gBAAiB,CACf,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,4BACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,kBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,wCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,2DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,mBAAoB,CAClB,KAAQ,CACN,KAAQ,CACN,SACF,EACA,QAAW,wBACX,YAAe;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,+CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,iBAAkB,CAChB,IAAO,CACL,KAAQ,CACN,QACF,EACA,QAAW,2BACX,YAAe;AAAA;AAAA;AAAA;AAAA,4DACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,yCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,EACA,KAAQ,CACN,KAAQ,CACN,OACF,EACA,QAAW,0BACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,4CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,mGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,mBAAoB,CAClB,IAAO,CACL,KAAQ,CACN,QACF,EACA,QAAW,sCACX,YAAe;AAAA;AAAA,uHACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,2CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CAAC,CACb,CACF,CACF,EACA,MAAO,CACL,YAAe,uEACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,EACA,KAAQ,CACN,KAAQ,CACN,OACF,EACA,QAAW,0BACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CACf,YAAe,wBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,8CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,0DACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,mGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,0DACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,iBAAkB,CAChB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,sBACX,YAAe;AAAA,mFACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,gDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kEACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,0BAA2B,CACzB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,2BACX,YAAe,iFACf,YAAe,yBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,4BAA6B,CAC3B,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,yBACX,YAAe,sFACf,YAAe,uBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,sDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,wBAAyB,CACvB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,sBACX,YAAe,wFACf,YAAe,qBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CAAC,CACb,CACF,CACF,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,sBAAuB,CACrB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,cACX,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA,+CACf,YAAe,mBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,kCACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,MAAO,CACL,YAAe,qHACjB,EACA,MAAO,CACL,YAAe,wDACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,wBAAyB,CACvB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,uBACX,YAAe,0FACf,YAAe,sBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,iDACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,6CACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,EACA,sBAAuB,CACrB,KAAQ,CACN,KAAQ,CACN,WACF,EACA,QAAW,qBACX,YAAe,0FACf,YAAe,oBACf,YAAe,CACb,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,+CACV,CACF,CACF,EACA,SAAY,EACd,EACA,UAAa,CACX,MAAO,CACL,YAAe,sBACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,uDACV,CACF,CACF,CACF,EACA,QAAW,CACT,YAAe,gGACf,QAAW,CACT,mBAAoB,CAClB,OAAU,CACR,KAAQ,oCACV,CACF,CACF,CACF,CACF,CACF,CACF,CACF,EACA,WAAc,CACZ,QAAW,CACT,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,oCAAuC,CACrC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,4DACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,qCACX,EACA,wCAA2C,CACzC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,gEACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,yCACX,EACA,uBAA0B,CACxB,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,+CACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,wBACX,EACA,qCAAwC,CACtC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,6DACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,sCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,+BAAkC,CAChC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,uDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,gCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,yDACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACA,SACF,EACA,MAAS,kCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,sCAAyC,CACvC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,4CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,uCACX,EACA,0CAA6C,CAC3C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,0CACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,2CACX,EACA,yBAA4B,CAC1B,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,KAAQ,OACR,MAAS,QACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,0BACX,EACA,uCAA0C,CACxC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,6CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,wCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,uCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,mCAAsC,CACpC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,UAAa,CACX,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACX,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,gBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,yCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,EACA,eAAkB,CAChB,MAAS,CACP,CACE,KAAQ,kCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oCACX,EACA,0BAA6B,CAC3B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,4DACjB,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,cACT,YAAe,6CACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,UACF,EACA,MAAS,2BACX,EACA,2BAA8B,CAC5B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,UACX,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,gBACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,4BACX,EACA,mBAAsB,CACpB,WAAc,CACZ,cAAiB,CACf,KAAQ,UACR,MAAS,gBACT,YAAe,0DACjB,EACA,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,EACA,WAAc,CACZ,MAAS,CACP,CACE,qBAAwB,CACtB,KAAQ,0BACV,EACA,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACT,YAAe,8EACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,gBACA,QACA,UACA,WACF,EACA,MAAS,oBACX,EACA,2BAA8B,CAC5B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,0CACjB,EACA,gBAAmB,CACjB,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,kBACT,YAAe,oCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACF,EACA,MAAS,4BACX,EACA,YAAe,CACb,WAAc,CACZ,MAAS,CACP,KAAQ,SACR,MAAS,OACX,EACA,OAAU,CACR,KAAQ,UACR,MAAS,QACX,EACA,OAAU,CACR,KAAQ,SACR,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,SACA,QACF,EACA,MAAS,aACX,EACA,cAAiB,CACf,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,UACT,QAAW,EACb,EACA,eAAkB,CAChB,KAAQ,kCACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,gBACF,EACA,MAAS,eACX,EACA,wBAA2B,CACzB,WAAc,CACZ,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X,EACA,QAAW,CACT,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,EACA,cAAiB,CACf,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,EACA,iBAAoB,CAClB,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,kBACX,EACA,OAAU,CACR,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,MAAS,wBACX,EACA,uBAA0B,CACxB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,cAAiB,CACf,KAAQ,SACR,MAAS,eACX,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,UACX,EACA,cAAiB,CACf,KAAQ,UACR,MAAS,eACX,EACA,WAAc,CACZ,KAAQ,UACR,MAAS,aACT,QAAW,EACb,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,6CACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,gBACA,eACF,EACA,MAAS,wBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,cACX,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,eACT,YAAe,yDACjB,EACA,QAAW,CACT,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,EACA,OAAU,CACR,qBAAwB,GACxB,KAAQ,SACR,MAAS,SACT,YAAe,6CACjB,EACA,QAAW,CACT,MAAS,CACP,CACE,qBAAwB,GACxB,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,eACA,eACA,QACF,EACA,MAAS,oBACX,EACA,8BAAiC,CAC/B,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,yCACjB,EACA,WAAc,CACZ,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,YACX,EACA,SAAY,CACV,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,WACT,QAAW,CACb,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACA,YACF,EACA,MAAS,+BACX,EACA,oBAAuB,CACrB,WAAc,CACZ,mBAAsB,CACpB,KAAQ,SACR,MAAS,oBACX,EACA,OAAU,CACR,KAAQ,6CACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,qBACA,QACF,EACA,MAAS,qBACX,EACA,iBAAoB,CAClB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,oDACjB,EACA,YAAe,CACb,KAAQ,SACR,MAAS,cACT,YAAe,wBACjB,EACA,aAAgB,CACd,KAAQ,SACR,MAAS,eACT,YAAe,eACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,sEACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,4CACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,YACA,cACA,eACA,iBACA,WACF,EACA,MAAS,kBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,MAAS,CACP,KAAQ,yCACV,EACA,OAAU,CACR,KAAQ,0CACV,EACA,UAAa,CACX,KAAQ,6CACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,SACA,WACF,EACA,MAAS,oBACX,EACA,WAAc,CACZ,WAAc,CACZ,YAAe,CACb,KAAQ,SACR,MAAS,aACX,EACA,cAAiB,CACf,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,eACX,EACA,WAAc,CACZ,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,YACX,EACA,aAAgB,CACd,KAAQ,yCACV,CACF,EACA,KAAQ,SACR,SAAY,CACV,cACA,cACF,EACA,MAAS,YACX,EACA,cAAiB,CACf,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,uCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,eACX,EACA,mBAAsB,CACpB,WAAc,CACZ,eAAkB,CAChB,KAAQ,SACR,MAAS,gBACX,EACA,YAAe,CACb,MAAS,CACP,CACE,KAAQ,QACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,aACX,EACA,iBAAoB,CAClB,MAAS,CACP,qBAAwB,GACxB,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,kBACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,iBACA,kBACF,EACA,MAAS,oBACX,EACA,4CAA+C,CAC7C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,iDACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,6CACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,gCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,8CAAiD,CAC/C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,6CACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,+CACX,EACA,0CAA6C,CAC3C,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,yCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,2CACX,EACA,wCAA2C,CACzC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,uCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,yCACX,EACA,iCAAoC,CAClC,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,MAAS,CACP,KAAQ,gCACV,EACA,KAAQ,OACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,QACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,kCACX,EACA,4BAA+B,CAC7B,WAAc,CACZ,QAAW,CACT,KAAQ,UACR,MAAS,SACX,EACA,OAAU,CACR,MAAS,CACP,CACE,KAAQ,iCACV,EACA,CACE,KAAQ,MACV,CACF,CACF,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,6BACX,EACA,UAAa,CACX,WAAc,CACZ,eAAkB,CAChB,KAAQ,UACR,MAAS,gBACX,EACA,QAAW,CACT,MAAS,CACP,KAAQ,sCACV,EACA,KAAQ,QACR,MAAS,SACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,iBACA,SACF,EACA,MAAS,WACX,EACA,YAAe,CACb,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,0BACjB,EACA,mBAAsB,CACpB,MAAS,CACP,CACE,KAAQ,SACV,EACA,CACE,KAAQ,MACV,CACF,EACA,MAAS,qBACT,YAAe,gFACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,gBACF,EACA,MAAS,aACX,EACA,gBAAmB,CACjB,WAAc,CACZ,UAAa,CACX,KAAQ,SACR,MAAS,WACX,EACA,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,CACF,EACA,qBAAwB,GACxB,KAAQ,SACR,SAAY,CACV,YACA,QACA,UACA,WACF,EACA,MAAS,iBACX,EACA,gCAAmC,CACjC,WAAc,CACZ,SAAY,CACV,KAAQ,SACR,MAAS,WACT,YAAe,wCACjB,EACA,eAAkB,CAChB,KAAQ,SACR,MAAS,iBACT,YAAe,2CACjB,EACA,WAAc,CACZ,MAAS,CACP,KAAQ,QACV,EACA,KAAQ,QACR,MAAS,YACX,CACF,EACA,KAAQ,SACR,SAAY,CACV,WACA,iBACA,YACF,EACA,MAAS,iCACX,EACA,qBAAwB,CACtB,WAAc,CACZ,QAAW,CACT,MAAS,CACP,KAAQ,wCACV,EACA,KAAQ,QACR,MAAS,UACT,YAAe,yCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,sBACX,EACA,mBAAsB,CACpB,WAAc,CACZ,QAAW,CACT,MAAS,CACP,KAAQ,sCACV,EACA,KAAQ,QACR,MAAS,UACT,YAAe,yCACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,SACF,EACA,MAAS,oBACX,EACA,IAAO,CACL,WAAc,CACZ,MAAS,CACP,MAAS,OACX,EACA,QAAW,CACT,KAAQ,SACR,MAAS,UACT,YAAe,6DACjB,EACA,UAAa,CACX,KAAQ,SACR,MAAS,YACT,YAAe,qDACjB,CACF,EACA,KAAQ,SACR,SAAY,CACV,QACA,UACA,WACF,EACA,MAAS,KACX,EACA,SAAY,CACV,WAAc,CACZ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","names":["compress","cors","swagger","swaggerUi","Fastify","openapi_default","i3xError","statusCode","message","err","rethrowAsI3x","registerErrorHandler","app","error","_req","reply","title","PUBLIC_PATHS","registerAuth","app","apiKey","requireAuth","request","reply","path","authHeader","scheme","token","randomUUID","fp","requestIdPlugin","app","req","reply","id","request_id_default","healthRoutes","app","deps","getDeps","opcua","_req","reply","readFileSync","successResponse","result","bulkResponse","results","r","bulkSuccess","elementId","bulkError","statusCode","message","title","toObjectInstance","node","parentId","includeMetadata","typeMap","typeNamespaceUri","sourceTypeId","typeElementId","typeInfo","serverVersion","readFileSync","infoRoutes","app","readOnly","successResponse","namespaceRoutes","app","deps","getDeps","ns","successResponse","n","objectRoutes","app","deps","getDeps","readOnlyGuard","_req","reply","req","model","typeElementId","root","includeMetadata","incMeta","isRoot","nodes","id","n","typeMap","types","t","result","node","toObjectInstance","successResponse","elementIds","results","bulkSuccess","bulkError","bulkResponse","eid","relatedObjects","cId","child","parentId","parent","maxDepth","startTime","endTime","i3xError","rfc3339Regex","elementId","value","err","body","items","maybeUpdates","message","code","objecttypeRoutes","app","deps","getDeps","req","namespaceUri","types","successResponse","elementIds","found","results","eid","i","typeNode","bulkSuccess","bulkError","bulkResponse","RELATIONSHIP_TYPES","relationshiptypeRoutes","app","req","namespaceUri","types","t","successResponse","elementIds","results","eid","typeNode","bulkSuccess","bulkError","bulkResponse","requireClientId","clientId","i3xError","requireSubscriptionOwnership","deps","subscriptionId","details","subscriptionRoutes","app","getDeps","req","displayName","cid","result","successResponse","elementIds","maxDepth","registered","errors","results","eid","bulkSuccess","e","bulkError","bulkResponse","err","rethrowAsI3x","lastSequenceNumber","ackSeq","updates","reply","lastSequence","closed","closeStream","payload","u","subscriptionIds","id","d","x","createApp","deps","app","Fastify","request_id_default","cors","compress","registerErrorHandler","swaggerSpec","openapi_default","swagger","swaggerUi","registerAuth","_req","reply","infoRoutes","healthRoutes","namespaceRoutes","objecttypeRoutes","relationshiptypeRoutes","objectRoutes","subscriptionRoutes","getDeps"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-i3x/rest-server",
3
- "version": "0.9.10",
3
+ "version": "0.9.11",
4
4
  "description": "i3X REST inbound adapter — Fastify routes for the i3X Beta API",
5
5
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
6
6
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
@@ -61,7 +61,7 @@
61
61
  "@fastify/cors": "^11.3.0",
62
62
  "@fastify/swagger": "^9.8.0",
63
63
  "@fastify/swagger-ui": "^6.1.0",
64
- "@node-i3x/core": "0.9.10",
64
+ "@node-i3x/core": "0.9.11",
65
65
  "fastify": "^5.10.0",
66
66
  "fastify-plugin": "^6.0.0"
67
67
  }