mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-26 20:22:51 +08:00
2 lines
1.9 KiB
JavaScript
2 lines
1.9 KiB
JavaScript
import{bo as p,a5 as f,cX as _,cY as d,cZ as y,c_ as h,c$ as w,d0 as g}from"./index-CXHBmSa5.js";async function v(s,{input:t,resolve:a,recordTypes:i},o){if(a!=="query")return s.routingTrace({input:t,resolve:a},o);const l=await s.dnsQuery(t.domain,i,o),c=l.results.map(e=>({lookup_id:`query:${e.type}`,parent_lookup_id:null,attempt_id:null,purpose:"dial_target",name:l.domain,qtype:e.type,source:e.cached?"cache":"upstream",upstream_transport:null,carrier_transport:null,cache:e.cached?"hit":"miss",cache_entry_id:e.cache_entry_id,upstream:e.upstream,route_evaluation_ids:[],status:e.status,addresses:(e.answers??[]).filter(r=>r.type===e.type).map(r=>r.data),selected_ip:e.type==="A"||e.type==="AAAA"?(e.answers??[]).find(r=>r.type===e.type)?.data??null:null,error:null})),u=[...new Set(["A","AAAA"].flatMap(e=>c.find(r=>r.qtype===e&&r.selected_ip)?.selected_ip??[]))],n=[];for(const e of u.length?u:[null])n.push(await s.routingTrace({input:e?{...t,dst_ip:e}:t,resolve:"none"},o));if(n.some(e=>e.instance_id!==n[0].instance_id||e.generation_id!==n[0].generation_id))throw g(409,"snapshot_unavailable","The routing generation changed during simulation; retry the query","ui.errGenerationChanged");return{...n[0],evaluations:n.flatMap(e=>e.evaluations),dns:c}}function b({connection_id:s,network:t="all",state:a="all"}={},i=!0){const o=p(),{data:l,error:c}=f(),u=_(l,l?.resources.flows.max_page_size);return d({key:["flows",{connection_id:s,network:t,state:a,limit:u}],every:h.lists,fetch:n=>w(e=>o.flows({network:t,state:a,connection_id:s,cursor:e,limit:u,detail:"full"},n),(e,r)=>e?(e.flows.push(...r.flows),e):{...r,flows:[...r.flows]})},y(l,c,i))}function k(s){const t=p();return d({key:["flow",{id:s}],fetch:a=>s?t.flow(s,a):Promise.resolve(null),acceptEvent:a=>a.event!=="flow.updated"||a.data.resource_id===s},{enabled:s!==null})}function m(s=!0){const t=p();return d({key:["rules"],every:0,fetch:a=>t.rules(a)},{enabled:s})}export{b as a,k as b,v as r,m as u};
|