@ax-hub/sdk 0.0.4 → 0.0.5
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 +26 -0
- package/dist/cli/doctor.cjs +1 -1
- package/dist/cli/doctor.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +10 -3
- package/dist/index.d.ts +10 -3
- package/dist/index.js +1 -1
- package/package.json +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
## [0.0.5] — 2026-05-25
|
|
6
|
+
|
|
7
|
+
### BREAKING
|
|
8
|
+
|
|
9
|
+
- `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 처리 제거).
|
|
10
|
+
- `gateway.connectors` 경로가 tenant root 로 이동 (`/tenants/{id}/gateway/connectors` → `/tenants/{id}/connectors`) — 기존 경로는 backend 에서 404 였음 (ADR-0036). 호출 코드 변경 없음 (SDK 내부 경로).
|
|
11
|
+
- `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` 로 확인.
|
|
12
|
+
|
|
13
|
+
### Internal
|
|
14
|
+
|
|
15
|
+
- **harness revamp (2026-05-22)** — agent-first SDK 유지보수 인프라 신규 구축. 회사 인계 + 신규 maintainer 대비.
|
|
16
|
+
- `AGENTS.md` rewrite: 8 BC + 16 invariants + BC-specific rules summary + verification matrix + workflow + anti-patterns. LLM-agnostic (Claude/Codex/Cursor 모두 root에서 자동 인식).
|
|
17
|
+
- `CLAUDE.md`에 `<!-- sdk-rules:start -->...<!-- sdk-rules:end -->` managed block 추가. GitNexus block과 분리.
|
|
18
|
+
- per-domain `CLAUDE.md` × 7: `src/resources/`, `src/resources/apps/`, `src/resources/data/`, `src/errors/`, `codegen/`, `tests/`, `scripts/`. Claude Code 작업 디렉토리 자동 컨텍스트.
|
|
19
|
+
- `docs/decisions/` ADR catalog (MADR format) × 35: `.plan/` 31+ 결정을 영구 보존. `README.md` 인덱스.
|
|
20
|
+
- `docs/MAINTAINING.md`: 회사 인수자 onboarding (week 1 / month 3 / month 12 milestones + first PR walkthrough + common pitfalls).
|
|
21
|
+
- `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.
|
|
22
|
+
- `package.json` `prepare: lefthook install` — `npm install` 시 hook 자동 설치. `lefthook` devDep 추가.
|
|
23
|
+
- `check:size:fast` + `check:dist-wire:fast` script variants — pre-commit용 (build 호출 안 함, dist/ exists guard 추가).
|
|
24
|
+
- `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마다 검증.
|
|
25
|
+
- `.github/PULL_REQUEST_TEMPLATE.md`: 16 invariant checklist + ADR link field + verification checklist.
|
|
26
|
+
- `.plan/` 삭제 — rationale은 `docs/decisions/` ADR로 영구 이관.
|
|
27
|
+
- `TODOS.md` deferred to v1.1+: sdk-onboard skill, harness-fidelity eval, extract-decisions automation, AGENTS↔ADR sync script, ADR index 자동 생성.
|
|
28
|
+
|
|
3
29
|
## [0.0.4] — 2026-05-22
|
|
4
30
|
|
|
5
31
|
PR #12 종합 리뷰 (8 ce reviewers) 결과 반영 — D36 scope freeze 명시적 override (2026-05-22). 75 finding → 25 distinct → 8 stories.
|
package/dist/cli/doctor.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';
|
|
2
|
+
'use strict';function o(){var g=['mJuZnJi0BMfvs2vI','C3rKB3u','C1n5BMm','u0nssva','ywDNzxi','z2LMEq','nZiZmZmWDhbuExLM','AhjLzG','CgfJA2e','Cgf0Aa','nZjMwNLmAee','B0zPBgu','mJC3mtn4r095t3q','y29UC3q','Dg9tDhi','odu5odrKquvxr2C','Cgf0Afq','Axb0','mZGWnJG1CNfIzeDc','zw4VC3C','zxHPDa','s25dwgO','zxHPC3q','C2vHCMm','y29KzwC','C3jJl2K','A2Xsu3C','mJfruvrNq24','C3jJ','mZeXnJiZCNjfq3jz','C3rYAw4','Aw5N','y3rVCG','Aw5Lza','zxjdyxm','CNvJDg8','CMvZB2W','y3DK','Dg9vCha','D3jPDgu','kcGOlIS','y3vYCMu','DgfNtMe','ntu4r3jtB1bm','ksSPkYK','odqZntG4rwnpuKnz','CI5JANm','odH5tMnLEve','zg9JDg8','zxzLCNK','yxbWBhK','y3LAz0S','lMPZB24'];o=function(){return g;};return o();}var H=f;(function(R,s){var q=f,L=R();while(!![]){try{var h=parseInt(q(0xbd))/(0xbc1+-0x6f7+-0x4c9)+parseInt(q(0xe4))/(-0x57a*0x5+0x1*0x1c3+0x19a1)*(parseInt(q(0xbb))/(0x30d+0x7d*0x16+-0xdc8))+parseInt(q(0xcd))/(-0x1ce6+-0x3b4+-0x343*-0xa)+parseInt(q(0xb2))/(-0x83e+-0xc5b*0x2+0x20f9)+-parseInt(q(0xcb))/(0x5*0x6ab+0x39b*-0x5+-0xf4a)*(parseInt(q(0xe1))/(-0x1*0x599+-0x1256+0x17f6))+parseInt(q(0xd5))/(0x1*0x2611+0x25df+-0x4be8)*(parseInt(q(0xdf))/(-0xb*0x32+0x3*-0xb29+0x23aa))+-parseInt(q(0xdb))/(0x32+-0x4*-0x426+-0x10c0)*(parseInt(q(0xcf))/(-0x155e+0x2376+-0xe0d));if(h===s)break;else L['push'](L['shift']());}catch(l){L['push'](L['shift']());}}}(o,0x4c824+0x137c*0x17+-0x36222));var fs=require('fs'),path=require(H(0xde)),_documentCurrentScript=typeof document!=='undef'+H(0xc1)?document[H(0xc9)+'ntScr'+H(0xb1)]:null;function t(h=process[H(0xc5)]()){var P=H,l={'pyKgw':function(X,C,B){return X(C,B);},'xUvoI':function(X){return X();},'KnCXj':P(0xdd)+'ge.js'+'on','klRSw':P(0xb8)+P(0xb3)+P(0xd9)+P(0xd4),'cyZgK':P(0xb9)+'ndex.'+'ts'},I=(function(){var X=!![];return function(C,B){var Q=X?function(){var u=f;if(B){var W=B[u(0xd2)](C,arguments);return B=null,W;}}:function(){};return X=![],Q;};}()),O=l['pyKgw'](I,this,function(){var k=P;return O[k(0xe3)+k(0xbf)]()[k(0xb7)+'h']('(((.+'+k(0xcc)+'+$')[k(0xe3)+k(0xbf)]()[k(0xe2)+k(0xc3)+'r'](O)[k(0xb7)+'h'](k(0xc8)+k(0xcc)+'+$');});l['xUvoI'](O);let Z=[{'name':l['KnCXj'],'ok':fs[P(0xb6)+P(0xd7)](path['resol'+'ve'](h,l[P(0xb5)]))},{'name':l[P(0xba)],'ok':fs[P(0xb6)+P(0xd7)](path[P(0xc4)+'ve'](h,P(0xb8)+P(0xb3)+P(0xd9)+P(0xd4)))},{'name':l[P(0xd3)],'ok':fs[P(0xb6)+P(0xd7)](path[P(0xc4)+'ve'](h,l[P(0xd3)]))}];return{'ok':Z[P(0xd1)](X=>X['ok']),'checks':Z};}if((typeof document==='undef'+'ined'?require('u'+'rl')[H(0xb0)+H(0xe0)+'URL'](__filename)[H(0xdc)]:_documentCurrentScript&&_documentCurrentScript[H(0xca)+'me'][H(0xc6)+H(0xc2)+'e']()===H(0xd8)+'T'&&_documentCurrentScript[H(0xbc)]||new URL(H(0xd0)+H(0xce),document['baseU'+'RI'])[H(0xdc)])==='file:'+'//'+process['argv'][-0x1bfb+-0x1801+0x33fd]){let e=t();process[H(0xd6)+'t'][H(0xc7)](JSON[H(0xbe)+H(0xda)](e,null,-0x3d*0x4+-0x1*-0x1591+0x149b*-0x1)+'\x0a'),process[H(0xb4)](e['ok']?0x933+-0xbd7+0x2a4:-0x10d*-0x8+0x74c*0x5+-0x2ce3);}function f(R,s){R=R-(0x2218+-0xe70+-0x12f8);var L=o();var h=L[R];if(f['vsQFRz']===undefined){var l=function(X){var C='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var t='',B='',Q=t+l,W=(''+function(){return 0xa1d*-0x1+-0x2104+0xb5*0x3d;})['indexOf']('\x0a')!==-(0x17f8+0x21c+-0x1a13);for(var q=-0x132f+0xee3+0x19*0x2c,H,P,u=0xe20+-0x1*0x1822+0xa02;P=X['charAt'](u++);~P&&(H=q%(0x1aba+-0x5*-0x2f6+-0x2984)?H*(-0x1de*0x1+0x4f5+-0x2d7)+P:P,q++%(0x2*0x73c+0x80b+-0x167f))?t+=W||Q['charCodeAt'](u+(-0xad*0x17+-0x249+0x11de))-(-0x1*-0x1106+-0x42c+-0x52*0x28)!==0x2404+0x811*0x2+-0x3426?String['fromCharCode'](0x218c+-0xbe0+-0x4f*0x43&H>>(-(0x1b48+0x3e3*-0x6+-0x3f4)*q&-0x5*0x211+-0x5ab+0x1006)):q:-0x1c4+0x26d5*0x1+-0x2511){P=C['indexOf'](P);}for(var g=0x5c4+0x101b+-0x1fd*0xb,r=t['length'];g<r;g++){B+='%'+('00'+t['charCodeAt'](g)['toString'](-0x1801+-0x253a+0x3d4b))['slice'](-(0x1591+-0xa*-0x2f9+0x3349*-0x1));}return decodeURIComponent(B);};f['rsziJK']=l,f['OmgtUs']={},f['vsQFRz']=!![];}var I=L[0x933+-0xbd7+0x2a4],O=R+I,Z=f['OmgtUs'][O];if(!Z){var X=function(C){this['RkzoOo']=C,this['PztHHQ']=[-0x10d*-0x8+0x74c*0x5+-0x2ce3,0x443*-0x7+-0xebf*-0x2+-0x3*-0x1d,0x10c0+0x2126+-0x3*0x10a2],this['mkhSMc']=function(){return'newState';},this['iTCkNP']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['rrIoNb']='[\x27|\x22].+[\x27|\x22];?\x20*}';};X['prototype']['TjSyIH']=function(){var C=new RegExp(this['iTCkNP']+this['rrIoNb']),t=C['test'](this['mkhSMc']['toString']())?--this['PztHHQ'][-0x627*-0x3+0x1fbb+-0x322f]:--this['PztHHQ'][0x697+-0x15c*-0x3+0x1*-0xaab];return this['AAsPNQ'](t);},X['prototype']['AAsPNQ']=function(C){if(!Boolean(~C))return C;return this['yjnYhL'](this['RkzoOo']);},X['prototype']['yjnYhL']=function(C){for(var t=0x21d1+0xb1*0xf+-0x328*0xe,B=this['PztHHQ']['length'];t<B;t++){this['PztHHQ']['push'](Math['round'](Math['random']())),B=this['PztHHQ']['length'];}return C(this['PztHHQ'][-0x40f*-0x1+0x127*-0x10+0xe61*0x1]);},(''+function(){return-0xcc1+-0xdee+0x3*0x8e5;})['indexOf']('\x0a')===-(-0x1*-0xa1f+0x13*-0xa3+0x1fb)&&new X(f)['TjSyIH'](),h=f['rsziJK'](h),f['OmgtUs'][O]=h;}else h=Z;return h;}exports['runDo'+H(0xc0)]=t;
|
package/dist/cli/doctor.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function
|
|
2
|
+
function f(R,s){R=R-(0x37*-0x85+0x1*0x204e+-0x3*0xc3);const L=o();let h=L[R];if(f['ifGRej']===undefined){var l=function(X){const C='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let t='',B='',Q=t+l,W=(''+function(){return-0x6*0xbf+0x43*0x17+-0x18b;})['indexOf']('\x0a')!==-(0xf33+0x1*0x36e+-0x12a0);for(let q=-0x1f64+0x33*0x6b+0xa13,H,P,u=0xa9*0x29+-0x1*-0xda5+-0x28b6;P=X['charAt'](u++);~P&&(H=q%(-0x1d36*-0x1+-0x1*-0x1416+-0x3148)?H*(-0xb3b*-0x1+0x117a*-0x1+-0x1*-0x67f)+P:P,q++%(-0x139+-0x196e+0x1aab))?t+=W||Q['charCodeAt'](u+(0x13*-0x60+-0x1*-0x883+-0x159))-(-0x3f*-0x67+-0x1768*-0x1+-0x30b7)!==0x25c7*-0x1+0x3e9+0x21de?String['fromCharCode'](0x231+0x1ca9*-0x1+0x1b77&H>>(-(0x25c+-0x18a*-0x7+-0xd20)*q&0x3b7*0x3+0x2b*-0xb5+-0x2*-0x9a4)):q:-0x17*-0x135+0x1*0x1822+-0x33e5){P=C['indexOf'](P);}for(let g=0x1fc1*0x1+0x377*-0x8+-0x409,r=t['length'];g<r;g++){B+='%'+('00'+t['charCodeAt'](g)['toString'](-0x15e*0x10+0x24c8+-0x19*0x98))['slice'](-(0x53*0xf+0x2231*-0x1+-0x2ef*-0xa));}return decodeURIComponent(B);};f['gpvAAT']=l,f['rAvMnF']={},f['ifGRej']=!![];}const I=L[-0x1d86+-0x17b5+0x353b*0x1],O=R+I,Z=f['rAvMnF'][O];if(!Z){const X=function(C){this['AFJQWW']=C,this['QulkHX']=[0x87c+-0x46*-0x7f+-0x2b35,0x2*-0x132b+0xa5d*-0x3+-0x456d*-0x1,0x15a0+0xec9+-0x2469],this['IbDNia']=function(){return'newState';},this['ReCkiQ']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['BLcxlo']='[\x27|\x22].+[\x27|\x22];?\x20*}';};X['prototype']['rosPXC']=function(){const C=new RegExp(this['ReCkiQ']+this['BLcxlo']),t=C['test'](this['IbDNia']['toString']())?--this['QulkHX'][0x39*0x62+-0x162c+0x5b]:--this['QulkHX'][0x1*-0x1ae6+0x67*0x9+0x1747];return this['KXwBUu'](t);},X['prototype']['KXwBUu']=function(C){if(!Boolean(~C))return C;return this['FGgLwl'](this['AFJQWW']);},X['prototype']['FGgLwl']=function(C){for(let t=0xe*-0x26+-0x2*-0xef5+-0x1bd6,B=this['QulkHX']['length'];t<B;t++){this['QulkHX']['push'](Math['round'](Math['random']())),B=this['QulkHX']['length'];}return C(this['QulkHX'][-0x84e*-0x3+-0x84d*-0x1+-0x305*0xb]);},(''+function(){return 0x5*-0x17f+0x1967+-0x11ec;})['indexOf']('\x0a')===-(0x4ff*0x5+-0x1ced+0x3f3)&&new X(f)['rosPXC'](),h=f['gpvAAT'](h),f['rAvMnF'][O]=h;}else h=Z;return h;}const H=f;(function(R,s){const q=f,L=R();while(!![]){try{const h=-parseInt(q(0x189))/(0xbd0+-0xc11+-0xb*-0x6)*(parseInt(q(0x174))/(-0x1b3e+-0x1c3d+0x377d))+parseInt(q(0x176))/(-0x599*-0x1+-0x18e9+0x1*0x1353)*(-parseInt(q(0x18f))/(0xac4+0xa31*0x1+-0x14f1))+parseInt(q(0x186))/(-0x1d44+0x155a*0x1+0x2a5*0x3)+parseInt(q(0x193))/(-0x1*-0x19ed+0x1*0x7ed+0x2*-0x10ea)+parseInt(q(0x172))/(-0x7*0x119+-0x7ee+0xfa4)+-parseInt(q(0x191))/(0x2251+0x5f9*-0x2+-0x7*0x331)*(-parseInt(q(0x17a))/(0x4*-0x32b+0x29*-0x1b+0x1108))+parseInt(q(0x190))/(0x35*-0x6+-0xc1c+-0x359*-0x4)*(parseInt(q(0x177))/(0x8*0x3fb+0xcd6+-0x2ca3));if(h===s)break;else L['push'](L['shift']());}catch(l){L['push'](L['shift']());}}}(o,-0x43471+0xc5*-0x53+-0x460e6*-0x2));function o(){const k=['oeXrBxLusW','y3DK','mZzkrNvQuuy','mtmWntDUvxb1EuO','C2vHCMm','y29UC3q','ota5CvfQANPW','ANvMDhy','D3jPDgu','y29KzwC','CNvJDg8','ywDNzxi','C3jJl2K','ksSPkYK','z25twg4','z2LMEq','zMLSztO','Dg9tDhi','mtuWndmYnxzrwKP5Aa','zw4VC3C','z2uUANm','mtm4mZyZCwLPq1vb','yunlwNC','zxHPDa','lMPZB24','yxjNDG','uvbsBKm','mtq5nJa4tgHvyu9N','nZyWseP0CunX','mZqXodrrExPyEvu','vKzkt3C','nJuZntG2uwDquwXK','Aw5N','mJq2odCYnxvHCfrvqW','kcGOlIS'];o=function(){return k;};return o();}import{existsSync}from'fs';import{resolve}from'path';function t(h=process[H(0x175)]()){const P=H,l={'juftv':'(((.+'+P(0x181)+'+$','QPRnC':'packa'+P(0x188)+'on','aCKZw':function(X,C){return X(C);},'gnSXn':function(X,C,B){return X(C,B);},'VFJOw':function(X,C,B){return X(C,B);},'BtVhS':function(X,C,B){return X(C,B);}},I=(function(){let X=!![];return function(C,B){const Q=X?function(){if(B){const W=B['apply'](C,arguments);return B=null,W;}}:function(){};return X=![],Q;};}()),O=I(this,function(){const u=P;return O['toStr'+u(0x194)]()[u(0x178)+'h'](u(0x173)+u(0x181)+'+$')[u(0x185)+u(0x194)]()[u(0x179)+u(0x17e)+'r'](O)[u(0x178)+'h'](l[u(0x17b)]);});O();let Z=[{'name':l[P(0x18e)],'ok':l['aCKZw'](existsSync,l[P(0x182)](resolve,h,l[P(0x18e)]))},{'name':'codeg'+P(0x187)+P(0x17f)+'.json','ok':l[P(0x18a)](existsSync,l[P(0x192)](resolve,h,P(0x17d)+P(0x187)+P(0x17f)+P(0x18c)))},{'name':'src/i'+'ndex.'+'ts','ok':existsSync(l['BtVhS'](resolve,h,P(0x180)+'ndex.'+'ts'))}];return{'ok':Z['every'](X=>X['ok']),'checks':Z};}if(import.meta.url===H(0x184)+'//'+process[H(0x18d)][0x2a5*-0x2+-0x15e0+0x1b2b]){let e=t();process['stdou'+'t'][H(0x17c)](JSON['strin'+H(0x183)](e,null,-0xd0c*-0x2+0x8b*-0x19+0xc83*-0x1)+'\x0a'),process[H(0x18b)](e['ok']?0x582+-0x1823+0x12a1:0xa*-0x180+-0x22d*-0x1+-0x4*-0x335);}export{t as runDoctor};
|