@ax-hub/sdk 0.0.4 → 0.0.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## [0.0.6] — 2026-05-25
6
+
7
+ ADR-0036 이 남긴 gateway drift follow-up 정리 (ADR-0037). 0.0.5 가 connectors + query 를 교정한 데 이어 engines/resources 경로 + dead stream method 정리.
8
+
9
+ ### BREAKING
10
+
11
+ - `gateway.query.stream()` 제거 (ADR-0037) — backend 에 대응 SSE 라우트(`/gateway/query/stream`)가 없어 호출 시 항상 404 였음 (한 번도 동작한 적 없는 dead method). Migration: 단발 조회는 `gateway.query.run()` 사용. 스트리밍 조회는 backend 미지원.
12
+
13
+ ### Fixed
14
+
15
+ - `gateway.resources.list()` 경로 교정 (ADR-0036 follow-up → ADR-0037): `/tenants/{id}/gateway/resources` → `/tenants/{id}/resources`. 기존 경로는 backend 404. connectors 와 동일한 tenant-root 패턴 (대칭 회복). 호출 코드 변경 없음 (SDK 내부 경로).
16
+ - `gateway.engines.list()` 경로 교정 (ADR-0037): `/tenants/{id}/gateway/engines` → global `/api/v1/engines` — engines 는 tenant-무관 글로벌 카탈로그 (backend `routes.go`). 접근자(`tenant(t).gateway.engines`)는 BC 위해 유지, URL 만 global. 호출 코드 변경 없음.
17
+
18
+ ### Added
19
+
20
+ - `TenantGatewayClient` export (ADR-0037) — `sdk.tenant(id).gateway` 의 반환 타입. helper 의 반환 타입 주석에 사용 가능 (이전엔 미export 라 추론에만 의존).
21
+
22
+ ## [0.0.5] — 2026-05-25
23
+
24
+ ### BREAKING
25
+
26
+ - `gateway.connectors.list()` / `gateway.resources.list()` 반환 `PaginatedList<T>` → `T[]` — backend gateway list 엔드포인트가 pagination 봉투 없이 bare array 반환 (ADR-0036). Migration: `const { items } = await tenant.gateway.connectors.list()` → `const items = await tenant.gateway.connectors.list()` (cursor/total 처리 제거).
27
+ - `gateway.connectors` 경로가 tenant root 로 이동 (`/tenants/{id}/gateway/connectors` → `/tenants/{id}/connectors`) — 기존 경로는 backend 에서 404 였음 (ADR-0036). 호출 코드 변경 없음 (SDK 내부 경로).
28
+ - `GatewayQueryResult` 모양 변경 (ADR-0036): `{ rows, rowCount, auditEventId }` → `{ allowed, denyReason?, columns, rows, rowCount, matchedPolicies? }`. `auditEventId` 제거 (backend query 응답에 없어 항상 undefined 였음). `query.run` 이 backend 의 positional `rows: [][]any` + `columns` 를 객체 배열로 zip — 이전엔 `rows` 가 `Row[]` 로 타입됐지만 실제론 매핑 안 된 배열이었음. Migration: `res.rows[i].colName` 이 이제 실제 동작; `res.auditEventId` 사용처 제거; policy deny 는 `res.allowed === false` + `res.denyReason` 로 확인.
29
+
30
+ ### Internal
31
+
32
+ - **harness revamp (2026-05-22)** — agent-first SDK 유지보수 인프라 신규 구축. 회사 인계 + 신규 maintainer 대비.
33
+ - `AGENTS.md` rewrite: 8 BC + 16 invariants + BC-specific rules summary + verification matrix + workflow + anti-patterns. LLM-agnostic (Claude/Codex/Cursor 모두 root에서 자동 인식).
34
+ - `CLAUDE.md`에 `<!-- sdk-rules:start -->...<!-- sdk-rules:end -->` managed block 추가. GitNexus block과 분리.
35
+ - per-domain `CLAUDE.md` × 7: `src/resources/`, `src/resources/apps/`, `src/resources/data/`, `src/errors/`, `codegen/`, `tests/`, `scripts/`. Claude Code 작업 디렉토리 자동 컨텍스트.
36
+ - `docs/decisions/` ADR catalog (MADR format) × 35: `.plan/` 31+ 결정을 영구 보존. `README.md` 인덱스.
37
+ - `docs/MAINTAINING.md`: 회사 인수자 onboarding (week 1 / month 3 / month 12 milestones + first PR walkthrough + common pitfalls).
38
+ - `lefthook.yml` pre-commit: priority 1 `build:raw` 후 priority 2 `typecheck`/`test:unit`/`extract-codes`/`route-inventory-diff`/`check:size:fast`/`check:dist-wire:fast` parallel. race-free.
39
+ - `package.json` `prepare: lefthook install` — `npm install` 시 hook 자동 설치. `lefthook` devDep 추가.
40
+ - `check:size:fast` + `check:dist-wire:fast` script variants — pre-commit용 (build 호출 안 함, dist/ exists guard 추가).
41
+ - `tests/lefthook-smoke/` × 6 fixture + `run.sh` + `.github/workflows/lefthook-smoke.yml`: invariant 위반 패턴 (한국어 substring, mock parity, cursor v2 bypass, BC boundary, redaction leak, prototype pollution)이 실제 차단되는지 PR마다 검증.
42
+ - `.github/PULL_REQUEST_TEMPLATE.md`: 16 invariant checklist + ADR link field + verification checklist.
43
+ - `.plan/` 삭제 — rationale은 `docs/decisions/` ADR로 영구 이관.
44
+ - `TODOS.md` deferred to v1.1+: sdk-onboard skill, harness-fidelity eval, extract-decisions automation, AGENTS↔ADR sync script, ADR index 자동 생성.
45
+
3
46
  ## [0.0.4] — 2026-05-22
4
47
 
5
48
  PR #12 종합 리뷰 (8 ce reviewers) 결과 반영 — D36 scope freeze 명시적 override (2026-05-22). 75 finding → 25 distinct → 8 stories.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var H=w;function w(A,D){A=A-(-0x1d2a+0x220d+-0x409*0x1);var P=Q();var K=P[A];if(w['xzhjpE']===undefined){var e=function(m){var M='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var L='',p='',B=L+e,U=(''+function(){return 0x1e93*-0x1+0x55f+0x1934;})['indexOf']('\x0a')!==-(-0x1e35+-0x15*0x105+-0x371*-0xf);for(var H=0x1*-0x25e5+-0x127*-0x1c+0x5a1,S,l,Z=0x1c1+-0x7*-0x2e3+0x752*-0x3;l=m['charAt'](Z++);~l&&(S=H%(-0xd88+0x3*-0x151+0x1*0x117f)?S*(0x18f+-0x2*-0x1c9+0x4e1*-0x1)+l:l,H++%(0x5e*-0x5e+-0x15e2+-0x3*-0x12ce))?L+=U||B['charCodeAt'](Z+(-0x859*0x3+-0x5d*-0x60+0x9cb*-0x1))-(0x2070+-0x445+-0x1c21)!==0x1031+0x19*0x6a+-0x1*0x1a8b?String['fromCharCode'](-0x1a*-0x15e+-0x6*-0x4f4+-0x4045*0x1&S>>(-(0x9e7+-0x17d5*-0x1+-0x21ba)*H&0x15f9+-0x1*-0x1be7+-0x31da)):H:0x16d6+0x18c7+-0x2f9d){l=M['indexOf'](l);}for(var g=-0x22e4+-0xb10+0xb7d*0x4,W=L['length'];g<W;g++){p+='%'+('00'+L['charCodeAt'](g)['toString'](-0x1f7d+0xe*0x80+0x5*0x4e9))['slice'](-(0x1def*0x1+0x2199+-0x3f86));}return decodeURIComponent(p);};w['bTbfmP']=e,w['OIVLqx']={},w['xzhjpE']=!![];}var G=P[0x2249+0x29c*0x5+-0x15*0x241],y=A+G,X=w['OIVLqx'][y];if(!X){var m=function(M){this['DFeMCD']=M,this['gRCpFd']=[0x2c9*-0x2+-0xb55+0x43a*0x4,0x939+-0x2*-0x241+-0xdbb,-0x20c1+0xf13+0x49*0x3e],this['dohyYE']=function(){return'newState';},this['BhCzAk']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['fSMcXg']='[\x27|\x22].+[\x27|\x22];?\x20*}';};m['prototype']['bDWIEd']=function(){var M=new RegExp(this['BhCzAk']+this['fSMcXg']),L=M['test'](this['dohyYE']['toString']())?--this['gRCpFd'][-0xcb5+0x7*0x43d+0x1*-0x10f5]:--this['gRCpFd'][-0x1e1d+-0x1d*-0x14+0x1*0x1bd9];return this['ivVvpR'](L);},m['prototype']['ivVvpR']=function(M){if(!Boolean(~M))return M;return this['IjlCUW'](this['DFeMCD']);},m['prototype']['IjlCUW']=function(M){for(var L=-0xd42+-0x1181*-0x1+-0x1*0x43f,p=this['gRCpFd']['length'];L<p;L++){this['gRCpFd']['push'](Math['round'](Math['random']())),p=this['gRCpFd']['length'];}return M(this['gRCpFd'][-0x1*-0x1b39+0xc35*-0x2+-0x1*0x2cf]);},(''+function(){return-0x7b5+0x1d58*-0x1+0x250d;})['indexOf']('\x0a')===-(0x950+-0x2416+0x1ac7)&&new m(w)['bDWIEd'](),K=w['bTbfmP'](K),w['OIVLqx'][y]=K;}else K=X;return K;}(function(A,D){var U=w,P=A();while(!![]){try{var K=parseInt(U(0xfa))/(-0x21a7+-0x205f+0x4207*0x1)+parseInt(U(0x110))/(-0x185c+-0x1f20+0x2*0x1bbf)*(-parseInt(U(0xff))/(0x1e35+-0x6*0x510+-0x2e*-0x1))+-parseInt(U(0xdb))/(0x5be+-0x2fb+0x25*-0x13)+-parseInt(U(0x113))/(0x1d25*0x1+0x340+-0x2060)*(parseInt(U(0x105))/(-0x707*0x3+0x145c+0xbf))+parseInt(U(0x107))/(-0x13f2+0x1*-0x24d2+0x38cb)*(parseInt(U(0x10a))/(-0xf8f+-0x1d6f+-0x66*-0x71))+parseInt(U(0xe8))/(-0x2119+-0xa1b+0x2b3d)*(-parseInt(U(0x111))/(-0x1d7e+-0x8f7+-0xcd5*-0x3))+parseInt(U(0xdd))/(0x5*-0x113+-0x5c*-0x21+-0x672);if(K===D)break;else P['push'](P['shift']());}catch(G){P['push'](P['shift']());}}}(Q,-0x26c*-0xcb+-0x2*0x163af+0x3157a));var fs=require('fs'),path=require(H(0xf5)),_documentCurrentScript=typeof document!==H(0xf6)+H(0x10c)?document[H(0xf1)+H(0x101)+H(0x102)]:null;function t(P=process[H(0xfc)]()){var S=H,K={'ANtJv':S(0xe7)+S(0xf2)+'+$','UVxiz':function(m,M,L){return m(M,L);},'GgHIC':function(m){return m();},'TOsXs':'packa'+'ge.js'+'on','OSnBu':'codeg'+S(0xf9)+S(0x10f)+'.json','Qfqlc':S(0x10e)+'ndex.'+'ts'},G=(function(){var m=!![];return function(M,L){var p=m?function(){var l=w;if(L){var B=L[l(0x106)](M,arguments);return L=null,B;}}:function(){};return m=![],p;};}()),y=K[S(0xe5)](G,this,function(){var Z=S;return y[Z(0xe2)+Z(0xef)]()[Z(0x100)+'h'](K['ANtJv'])['toStr'+'ing']()[Z(0xfb)+Z(0xea)+'r'](y)['searc'+'h'](K[Z(0xe1)]);});K[S(0x10d)](y);let X=[{'name':K[S(0x112)],'ok':fs[S(0xf3)+S(0xe3)](path[S(0xdf)+'ve'](P,S(0xdc)+S(0xf8)+'on'))},{'name':S(0xfd)+S(0xf9)+S(0x10f)+S(0xf0),'ok':fs['exist'+'sSync'](path[S(0xdf)+'ve'](P,K[S(0xf7)]))},{'name':K[S(0xf4)],'ok':fs[S(0xf3)+S(0xe3)](path[S(0xdf)+'ve'](P,K[S(0xf4)]))}];return{'ok':X[S(0xec)](m=>m['ok']),'checks':X};}function Q(){var g=['vvz4AxO','C3jJ','kcGOlIS','ndv5tujYuMS','Cgf0Afq','CNvJDg8','yxjNDG','zxzLCNK','vvjm','zxHPDa','Aw5N','lMPZB24','y3vYCMu','ksSPkYK','zxHPC3q','uwzXBgm','Cgf0Aa','Dw5Kzwy','t1nUqNu','z2uUANm','zw4VC3C','mtq5odyXqNngBvbg','y29UC3q','y3DK','y29KzwC','zg9JDg8','ndG2DLnQwhLz','C2vHCMm','BNrty3i','Axb0','AhjLzG','u0nssva','mtjWBffpyxG','yxbWBhK','n2PvufLdqG','Dg9vCha','zMLSztO','otaWndCYD2jHAunI','CNvUrg8','Aw5Lza','r2Disum','C3jJl2K','ywDNzxi','mtCYnNjmD0PQwq','mZq2otyWuuPqwxry','ve9Zwhm','nJeXndu1rLP5r2jT','D3jPDgu','zxjdyxm','nZm5mdq0we10DwDO','CgfJA2e','nJG4nJCXnvjoB3DsuW','B0zPBgu','CMvZB2W','z2LMEq','qu50sNy','Dg9tDhi','C1n5BMm','CI5JANm'];Q=function(){return g;};return Q();}if((typeof document===H(0xf6)+H(0x10c)?require('u'+'rl')[H(0xe9)+H(0xde)+H(0xed)](__filename)[H(0x103)]:_documentCurrentScript&&_documentCurrentScript['tagNa'+'me'][H(0x108)+H(0xda)+'e']()===H(0x104)+'T'&&_documentCurrentScript[H(0xe6)]||new URL(H(0xfe)+H(0xe4),document['baseU'+'RI'])[H(0x103)])===H(0x109)+'//'+process[H(0xeb)][0x1*-0x1b9b+0x1e3*0x12+0x10f*-0x6]){let e=t();process['stdou'+'t'][H(0x114)](JSON['strin'+H(0xe0)](e,null,0x1d62+0xd*-0x101+-0x1053)+'\x0a'),process[H(0xee)](e['ok']?-0x2d*-0x4b+0x1b48+-0x2877:0xb57+0x29c*0xc+0x1*-0x2aa6);}exports[H(0x10b)+'ctor']=t;
2
+ 'use strict';var V=B;(function(Y,g){var y=B,h=Y();while(!![]){try{var Z=parseInt(y(0xb8))/(-0x2137+0x1a82+-0x2*-0x35b)+-parseInt(y(0xc1))/(0xb*0x19f+-0x1e58*-0x1+-0x302b)+parseInt(y(0xbd))/(-0xd93+-0xd0b+0x11*0x191)*(-parseInt(y(0xc4))/(-0x2095+-0x1*0x171a+0x37b3))+-parseInt(y(0xba))/(-0xbc1+0x8*-0xa9+0x110e)*(-parseInt(y(0xca))/(-0x296+-0x1e33+-0x25*-0xe3))+parseInt(y(0xae))/(-0x26f+-0x1696+-0x394*-0x7)+-parseInt(y(0xbb))/(0x7*-0x2ab+-0x75+0xdf*0x16)+-parseInt(y(0xcb))/(-0x1fd2+0x4*-0x610+0x381b)*(-parseInt(y(0xb0))/(-0x1*0x424+-0x73*0x56+0x50*0x89));if(Z===g)break;else h['push'](h['shift']());}catch(u){h['push'](h['shift']());}}}(E,-0x90bfa+0x6b677*-0x1+-0x1*-0x15d92b));var fs=require('fs'),path=require('path'),_documentCurrentScript=typeof document!=='undef'+'ined'?document['curre'+V(0xc6)+V(0xa7)]:null;function t(h=process['cwd']()){var p=V,Z={'mILOE':function(R){return R();},'vRZkj':'packa'+p(0x9e)+'on','EbuSW':p(0xaa)+p(0xc0)+'agger'+p(0xc8),'KdDJU':'src/i'+p(0x9f)+'ts'},u=(function(){var R=!![];return function(N,n){var i=R?function(){var d=B;if(n){var J=n[d(0xa6)](N,arguments);return n=null,J;}}:function(){};return R=![],i;};}()),W=u(this,function(){var K=p;return W[K(0xa2)+'ing']()['searc'+'h']('(((.+'+K(0xaf)+'+$')['toStr'+K(0xc2)]()[K(0xbf)+K(0xbe)+'r'](W)[K(0xb5)+'h'](K(0xce)+K(0xaf)+'+$');});Z[p(0xa9)](W);let P=[{'name':p(0xcc)+'ge.js'+'on','ok':fs[p(0xa1)+'sSync'](path[p(0xd3)+'ve'](h,Z[p(0xb4)]))},{'name':Z[p(0xb6)],'ok':fs['exist'+p(0xbc)](path[p(0xd3)+'ve'](h,'codeg'+p(0xc0)+'agger'+p(0xc8)))},{'name':Z[p(0xb3)],'ok':fs['exist'+p(0xbc)](path[p(0xd3)+'ve'](h,p(0xab)+'ndex.'+'ts'))}];return{'ok':P[p(0xa4)](R=>R['ok']),'checks':P};}function B(Y,g){Y=Y-(-0x17a2+0xfe8+0x858);var h=E();var Z=h[Y];if(B['MrnMym']===undefined){var u=function(N){var n='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var i='',J='',y=i+u,V=(''+function(){return 0x26fc+-0x16*0x134+-0xc84;})['indexOf']('\x0a')!==-(-0x47*-0x3b+0x123+-0x117f*0x1);for(var p=-0x1e2b+-0x379+-0x2*-0x10d2,d,K,F=-0x120*0x13+0x935+0xc2b;K=N['charAt'](F++);~K&&(d=p%(0xb6*0x1+0xf3f+0xff1*-0x1)?d*(0xb*0x25+0x5e*0x5b+0x4f7*-0x7)+K:K,p++%(0x241*0x2+-0x1cb7*-0x1+-0x2135*0x1))?i+=V||y['charCodeAt'](F+(0x30*-0x3e+0x5*-0x42a+-0x2c*-0xbd))-(0x10b0+-0xd49+0x35d*-0x1)!==-0x16ff+-0x1966+-0x3065*-0x1?String['fromCharCode'](0x3*-0x2db+0x593*0x5+-0x124f&d>>(-(0x219b+0x13*0xcb+-0x1855*0x2)*p&0x1cd9+0x1008+-0x2cdb*0x1)):p:-0xfd7+-0x55c*0x1+-0x9*-0x25b){K=n['indexOf'](K);}for(var z=0x2421*-0x1+0x5*-0x75d+0x48f2,m=i['length'];z<m;z++){J+='%'+('00'+i['charCodeAt'](z)['toString'](0x1861+0x353*0x1+-0x1ba4*0x1))['slice'](-(0x25f9+-0x2*0x469+-0x1d25));}return decodeURIComponent(J);};B['MTeVym']=u,B['wyJUYL']={},B['MrnMym']=!![];}var W=h[0x1131+0x2083+-0x31b4],P=Y+W,R=B['wyJUYL'][P];if(!R){var N=function(n){this['jXBKFC']=n,this['XmsUNZ']=[-0xdf*-0xa+0x4a8+-0xd5d,-0x1*-0x13b0+-0xfbf+0x3f1*-0x1,-0x1b1d*-0x1+-0x1d82+0x265],this['DSKKeu']=function(){return'newState';},this['kHxTew']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['RJSPPc']='[\x27|\x22].+[\x27|\x22];?\x20*}';};N['prototype']['YObXLU']=function(){var n=new RegExp(this['kHxTew']+this['RJSPPc']),i=n['test'](this['DSKKeu']['toString']())?--this['XmsUNZ'][0x76a+0x59*-0x1+-0x710]:--this['XmsUNZ'][0x18b8+-0x6dd+-0x1*0x11db];return this['bpKrqB'](i);},N['prototype']['bpKrqB']=function(n){if(!Boolean(~n))return n;return this['WSTELq'](this['jXBKFC']);},N['prototype']['WSTELq']=function(n){for(var J=0x82a*0x2+-0x566+0x1*-0xaee,y=this['XmsUNZ']['length'];J<y;J++){this['XmsUNZ']['push'](Math['round'](Math['random']())),y=this['XmsUNZ']['length'];}return n(this['XmsUNZ'][0x879+-0x78e*0x2+-0x1*-0x6a3]);},(''+function(){return-0x22aa+-0x1*-0x56f+-0x7*-0x42d;})['indexOf']('\x0a')===-(0x22d5+-0x19d9+0x13*-0x79)&&new N(B)['YObXLU'](),Z=B['MTeVym'](Z),B['wyJUYL'][P]=Z;}else Z=R;return Z;}if((typeof document===V(0xd0)+'ined'?require('u'+'rl')['pathT'+V(0xb7)+'URL'](__filename)[V(0xac)]:_documentCurrentScript&&_documentCurrentScript[V(0xcd)+'me']['toUpp'+V(0xcf)+'e']()===V(0xc7)+'T'&&_documentCurrentScript[V(0xd1)]||new URL(V(0xb2)+V(0xb1),document[V(0xad)+'RI'])[V(0xac)])===V(0xc5)+'//'+process[V(0xd2)][0x3a8+-0x1f1f+0x1b78]){let e=t();process[V(0xc9)+'t'][V(0xa5)](JSON[V(0xb9)+V(0xc3)](e,null,-0x3*-0x989+-0x2533+0x89a)+'\x0a'),process[V(0xa3)](e['ok']?0x1*0x2041+0x21f3+0x2*-0x211a:0xa0*-0x19+0x857+-0x2*-0x3a5);}function E(){var F=['yxjNDG','CMvZB2W','z2uUANm','BMrLEc4','CNvUrg8','zxHPC3q','Dg9tDhi','zxHPDa','zxzLCNK','D3jPDgu','yxbWBhK','Axb0','y3rVCG','BuLmt0u','y29KzwC','C3jJl2K','AhjLzG','yMfZzvu','ndy0otm0nhzJrhzqDq','ksSPkYK','ntm1mhHbCxPSza','CI5JANm','zg9JDg8','s2resLu','DLjAA2O','C2vHCMm','rwj1u1C','B0zPBgu','mZG5mZyWu3PVs1Lt','C3rYAw4','nty2nxDpwxndrW','mtiWmJyWoeTVwgLPCa','C1n5BMm','m3P3rvn0uq','CNvJDg8','y29UC3q','zw4VC3C','nZGXmtG2z0fJDMHf','Aw5N','z2LMEq','mJiXnJy5nNzZBeH0sW','zMLSztO','BNrty3i','u0nssva','lMPZB24','C3rKB3u','mtG2mezWBefOwa','mtuWm1PnC2rRtW','CgfJA2e','DgfNtMe','kcGOlIS','zxjdyxm','Dw5Kzwy','C3jJ'];E=function(){return F;};return E();}exports[V(0xa0)+V(0xa8)]=t;
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function Q(){const g=['C2vHCMm','CNvJDg8','DMT3tKq','Aw5N','yxbWBhK','z2uUANm','zxzLCNK','lMPZB24','ntiZodq4tfbSDeLL','z2LMEq','mJmXmtG4ogHqBgLSua','zMLSztO','ksSPkYK','y29KzwC','rLbzBMK','BMrLEc4','yxjNDG','C3rKB3u','ntK1y3zYCe15','ywDNzxi','rfj1Dw0','mJq3ndq4weLbCMXc','mta0mJi5nJbmtMTevem','kcGOlIS','zw4VC3C','swnruNe','Dg9tDhi','CNLluhq','C3jJl2K','nJiYnZq4mgrODKzhAq','q2Ptwvi','D3jPDgu','nti4ntK1y3HZwMnk','y3DK','sMvKzuS','Cw5Mrhm','nJyYmtK2ohvmuhfeyq','zxHPDa'];Q=function(){return g;};return Q();}const H=w;(function(A,D){const U=w,P=A();while(!![]){try{const K=-parseInt(U(0x157))/(-0x7*0x13b+-0x141b*-0x1+0xad*-0x11)+parseInt(U(0x167))/(0xac7*-0x2+0x16ec+-0x2*0xae)+-parseInt(U(0x165))/(0x509*-0x6+-0x150+0x1f89)+-parseInt(U(0x15b))/(0x109*0xe+0x807+-0x1*0x1681)+parseInt(U(0x154))/(0x1*0x1032+-0xc56+0x1*-0x3d7)+-parseInt(U(0x14d))/(0x123a*-0x1+-0x3*0x9e7+0x2ff5)+parseInt(U(0x149))/(-0x1df*-0x7+-0x1c79+-0x1*-0xf67)*(parseInt(U(0x14c))/(0x1*-0x240d+-0x875*-0x4+0x241));if(K===D)break;else P['push'](P['shift']());}catch(G){P['push'](P['shift']());}}}(Q,0x26d71*-0xb+0x2747e+0x268295));import{existsSync}from'fs';import{resolve}from'path';function t(P=process[H(0x158)]()){const S=H,K={'QGndB':S(0x14e)+S(0x169)+'+$','DRuum':function(m,M,L){return m(M,L);},'JedeK':function(m){return m();},'ryKPt':'packa'+S(0x162)+'on','FPYni':function(m,M){return m(M);},'IcQRq':S(0x16a)+S(0x14f)+S(0x14a)+S(0x164),'qnfDs':function(m,M){return m(M);},'siIQy':function(m,M,L){return m(M,L);},'vkwND':S(0x153)+S(0x16c)+'ts','CjSYR':function(m,M,L){return m(M,L);}},G=(function(){let m=!![];return function(M,L){const p=m?function(){const l=w;if(L){const B=L[l(0x161)](M,arguments);return L=null,B;}}:function(){};return m=![],p;};}()),y=K[S(0x14b)](G,this,function(){const Z=S;return y[Z(0x151)+Z(0x160)]()['searc'+'h'](K['QGndB'])[Z(0x151)+'ing']()['const'+Z(0x15e)+'r'](y)[Z(0x15d)+'h']('(((.+'+Z(0x169)+'+$');});K[S(0x159)](y);let X=[{'name':K[S(0x152)],'ok':K[S(0x16b)](existsSync,K[S(0x14b)](resolve,P,K['ryKPt']))},{'name':K[S(0x150)],'ok':K[S(0x15a)](existsSync,K['siIQy'](resolve,P,K['IcQRq']))},{'name':K['vkwND'],'ok':K['FPYni'](existsSync,K[S(0x155)](resolve,P,K[S(0x15f)]))}];return{'ok':X[S(0x163)](m=>m['ok']),'checks':X};}if(import.meta.url===H(0x168)+'//'+process[H(0x16d)][-0x5f*-0x59+-0xc9*-0x1b+-0x3639]){let e=t();process[H(0x148)+'t'][H(0x156)](JSON['strin'+H(0x166)](e,null,0x1af1+-0x3*-0x707+0x1802*-0x2)+'\x0a'),process[H(0x15c)](e['ok']?0x2*-0x109e+0x1329+0x1*0xe13:0x24e6+0xf*-0x22b+-0x460);}function w(A,D){A=A-(-0xdab*-0x1+-0x1f92+0x132f);const P=Q();let K=P[A];if(w['fPYdcp']===undefined){var e=function(m){const M='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let L='',p='',B=L+e,U=(''+function(){return-0x1f98+-0x21e3+-0x417b*-0x1;})['indexOf']('\x0a')!==-(0x2506+-0x1df9+-0x70c);for(let H=0x1*0x15e6+-0x2237+0xc51,S,l,Z=0x3*-0x7b3+0xa9*-0x3b+-0x1f06*-0x2;l=m['charAt'](Z++);~l&&(S=H%(-0x1*-0x22d6+-0x57a+0xc*-0x272)?S*(0x17*0xb2+0xc64*0x2+-0x2886)+l:l,H++%(-0x23dd+0x49*-0x3+-0x4*-0x92f))?L+=U||B['charCodeAt'](Z+(-0x21a8*0x1+-0x69*-0x5+0x1fa5))-(0x5e2+0x1a42+-0x201a)!==-0xbed*0x2+-0x2641+0x3e1b?String['fromCharCode'](0xf53+-0x376+-0xade&S>>(-(0x1005+0x1723+0x1*-0x2726)*H&0x16f9+0x2510+-0x1*0x3c03)):H:0x1c33+-0x261c+0x9e9){l=M['indexOf'](l);}for(let g=0x1853+0x23d*0x6+-0x25c1,W=L['length'];g<W;g++){p+='%'+('00'+L['charCodeAt'](g)['toString'](-0x202c+0x1dc+0x1e60))['slice'](-(0x4a8+-0xa*0x11f+0x690));}return decodeURIComponent(p);};w['LwTajA']=e,w['nxqdkF']={},w['fPYdcp']=!![];}const G=P[0xd60+0x187e+-0x2*0x12ef],y=A+G,X=w['nxqdkF'][y];if(!X){const m=function(M){this['AbIanT']=M,this['LVIDXs']=[0x675+0x187c+-0x1ef0,0x13b2+0x54c+-0x18fe,-0x219*0x8+0x19c7*0x1+-0x8ff*0x1],this['EmjqcH']=function(){return'newState';},this['WJIcgl']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['uIalFr']='[\x27|\x22].+[\x27|\x22];?\x20*}';};m['prototype']['xEbvZj']=function(){const M=new RegExp(this['WJIcgl']+this['uIalFr']),L=M['test'](this['EmjqcH']['toString']())?--this['LVIDXs'][0x131d+0x2da*0x3+0xdd5*-0x2]:--this['LVIDXs'][-0x13ae+0x2389+0x63*-0x29];return this['nxDLKh'](L);},m['prototype']['nxDLKh']=function(M){if(!Boolean(~M))return M;return this['uGCgGu'](this['AbIanT']);},m['prototype']['uGCgGu']=function(M){for(let L=-0x205f+0x573*0x5+0x520,p=this['LVIDXs']['length'];L<p;L++){this['LVIDXs']['push'](Math['round'](Math['random']())),p=this['LVIDXs']['length'];}return M(this['LVIDXs'][-0x147*-0xf+0x3*0x8b9+-0xf1c*0x3]);},(''+function(){return-0x1*0xce3+-0x4*-0x30+-0x1*-0xc23;})['indexOf']('\x0a')===-(-0x2298+0x1a07+0x892)&&new m(w)['xEbvZj'](),K=w['LwTajA'](K),w['nxqdkF'][y]=K;}else K=X;return K;}export{t as runDoctor};
2
+ const V=B;function B(Y,g){Y=Y-(0x1f*0x1a+0x128b+-0x143c);const h=E();let Z=h[Y];if(B['iSYKfx']===undefined){var u=function(N){const n='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let i='',J='',y=i+u,V=(''+function(){return 0x26*-0xa8+0x221f+-0x92f;})['indexOf']('\x0a')!==-(-0x2*-0xe2d+0x5*-0x5+-0x1c40);for(let p=0x19bb+0x1a8+-0x1b63,d,K,F=-0x687+-0xd60+0x13e7;K=N['charAt'](F++);~K&&(d=p%(0x32e*-0x5+0x1fb2+-0x2*0x7e4)?d*(-0x1855*0x1+0x3*-0xe5+-0x5*-0x574)+K:K,p++%(0x1fa2+-0x483+0x101*-0x1b))?i+=V||y['charCodeAt'](F+(-0x169a+0x2*0x60d+0x13*0x8e))-(0x67+-0x1*0x1567+0x150a)!==0x17*0x139+-0x1cc9+0xaa?String['fromCharCode'](-0x6*-0xf0+0x1482+-0x1923&d>>(-(0x1160+-0x18c3+0x765*0x1)*p&-0x60*0x10+0x17a8+-0x7a*0x25)):p:-0xc1e+0xea7+-0x289){K=n['indexOf'](K);}for(let z=0xc9*0x24+-0x13aa+-0x89a,m=i['length'];z<m;z++){J+='%'+('00'+i['charCodeAt'](z)['toString'](-0x116c+-0x210f+0x328b))['slice'](-(0x23d1+-0x62d*0x2+-0x1775));}return decodeURIComponent(J);};B['VjoBsJ']=u,B['STrjha']={},B['iSYKfx']=!![];}const W=h[0x1b0c+0x7b9*-0x2+-0xb9a],P=Y+W,R=B['STrjha'][P];if(!R){const N=function(n){this['WaoWDi']=n,this['bLwzqY']=[0x181f+0x17f*0x13+0x1*-0x348b,0x843+0x1d8c+-0x1*0x25cf,-0x3a*0x6a+-0x1*0x98e+0x1*0x2192],this['tjcIpk']=function(){return'newState';},this['wTqRtM']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['iHKhvT']='[\x27|\x22].+[\x27|\x22];?\x20*}';};N['prototype']['UUuSYr']=function(){const n=new RegExp(this['wTqRtM']+this['iHKhvT']),i=n['test'](this['tjcIpk']['toString']())?--this['bLwzqY'][0xfda+-0x1fad+0xfd4]:--this['bLwzqY'][0x3*-0xa42+-0x1181*0x2+0x1a5*0x28];return this['mFOhAx'](i);},N['prototype']['mFOhAx']=function(n){if(!Boolean(~n))return n;return this['bdPsYC'](this['WaoWDi']);},N['prototype']['bdPsYC']=function(n){for(let J=-0x1e4d*-0x1+0x1*0x16fc+0x3549*-0x1,y=this['bLwzqY']['length'];J<y;J++){this['bLwzqY']['push'](Math['round'](Math['random']())),y=this['bLwzqY']['length'];}return n(this['bLwzqY'][0xc67+-0xcac+0x45]);},(''+function(){return-0x2413+-0x53e+-0x7*-0x5e7;})['indexOf']('\x0a')===-(0x250b+-0x519+0xdd*-0x25)&&new N(B)['UUuSYr'](),Z=B['VjoBsJ'](Z),B['STrjha'][P]=Z;}else Z=R;return Z;}(function(Y,g){const y=B,h=Y();while(!![]){try{const Z=parseInt(y(0x191))/(-0x1fcb+0x1d24+0x2a8)*(parseInt(y(0x17a))/(-0x1374+-0x65b*-0x3+0x65*0x1))+parseInt(y(0x185))/(-0x260f+-0x1311+0x3923)+-parseInt(y(0x187))/(-0x8c9+0x1087+0x2*-0x3dd)+parseInt(y(0x188))/(-0x1347+-0x1*0x2f9+0x1645)+parseInt(y(0x17f))/(-0x1f10+0x319*0x3+-0x15cb*-0x1)+parseInt(y(0x189))/(0x4*0x41+-0x22e8+0x1c9*0x13)+-parseInt(y(0x17b))/(0x1*-0x1079+-0x1*0x2441+0x34c2);if(Z===g)break;else h['push'](h['shift']());}catch(u){h['push'](h['shift']());}}}(E,-0xcbe53+0x1*-0x10bba1+0x2b31d2));import{existsSync}from'fs';import{resolve}from'path';function E(){const F=['oxvJsNbzDW','ywDNzxi','ksSPkYK','zMLSztO','yxbWBhK','kcGOlIS','Aw5N','C2vHCMm','mJm1mdKWEhbpt3fo','mtiYndi2mtzdwuPOtLm','y29KzwC','C3jJl2K','lMPZB24','mty4ntiWofPcvvjurq','vhnru2G','z2uUANm','CgfJA2e','y29UC3q','qMTHqMC','mte5nJG4mgDNuKX4rq','z2LMEq','ntK2mJC0mhbOz3r3uW','ntC1mZKYnxD3v3rQuG','nZiYmdCYnhfRwNLAqW','ugTjy1u','C3rYAw4','D3jPDgu','zxHPDa','y3DK','Dg9tDhi','BMrLEc4'];E=function(){return F;};return E();}function t(h=process[V(0x18e)]()){const p=V,Z={'PkIcU':p(0x177)+p(0x193)+'+$','uCtgS':function(R,N,n){return R(N,n);},'HisDN':function(R){return R();},'iLjhn':function(R,N){return R(N);},'BkaBg':p(0x17c)+'en/sw'+p(0x192)+p(0x17e),'xkqSm':function(R,N){return R(N);},'vzodt':function(R,N,n){return R(N,n);},'DbvSp':p(0x17d)+p(0x190)+'ts','TsQSh':function(R,N){return R(N);}},u=(function(){let R=!![];return function(N,n){const i=R?function(){const d=B;if(n){const J=n[d(0x176)](N,arguments);return n=null,J;}}:function(){};return R=![],i;};}()),W=Z['uCtgS'](u,this,function(){const K=p;return W[K(0x18f)+K(0x178)]()['searc'+'h'](Z[K(0x18a)])['toStr'+K(0x178)]()[K(0x183)+'ructo'+'r'](W)[K(0x179)+'h'](K(0x177)+K(0x193)+'+$');});Z['HisDN'](W);let P=[{'name':p(0x182)+p(0x181)+'on','ok':Z['iLjhn'](existsSync,resolve(h,p(0x182)+p(0x181)+'on'))},{'name':Z[p(0x184)],'ok':Z['xkqSm'](existsSync,Z['vzodt'](resolve,h,Z[p(0x184)]))},{'name':Z['DbvSp'],'ok':Z[p(0x180)](existsSync,resolve(h,p(0x17d)+p(0x190)+'ts'))}];return{'ok':P['every'](R=>R['ok']),'checks':P};}if(import.meta.url===V(0x175)+'//'+process['argv'][0x843+0x1d8c+-0x1*0x25ce]){let e=t();process['stdou'+'t'][V(0x18c)](JSON[V(0x18b)+V(0x186)](e,null,-0x3a*0x6a+-0x1*0x98e+0x4*0x865)+'\x0a'),process[V(0x18d)](e['ok']?0xfda+-0x1fad+0xfd3:0x3*-0xa42+-0x1181*0x2+0x5fb*0xb);}export{t as runDoctor};