@kya-os/cli 1.5.9 → 1.6.0
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/commands/dco.d.ts +18 -0
- package/dist/commands/dco.d.ts.map +1 -0
- package/dist/commands/dco.js +107 -0
- package/dist/commands/dco.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +76 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/register.d.ts +2 -0
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +50 -0
- package/dist/commands/register.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/utils/dco/agent-metadata.d.ts +24 -0
- package/dist/utils/dco/agent-metadata.d.ts.map +1 -0
- package/dist/utils/dco/agent-metadata.js +46 -0
- package/dist/utils/dco/agent-metadata.js.map +1 -0
- package/dist/utils/dco/claude-config.d.ts +45 -0
- package/dist/utils/dco/claude-config.d.ts.map +1 -0
- package/dist/utils/dco/claude-config.js +112 -0
- package/dist/utils/dco/claude-config.js.map +1 -0
- package/dist/utils/dco/fs-safe.d.ts +14 -0
- package/dist/utils/dco/fs-safe.d.ts.map +1 -0
- package/dist/utils/dco/fs-safe.js +20 -0
- package/dist/utils/dco/fs-safe.js.map +1 -0
- package/dist/utils/dco/git-config.d.ts +47 -0
- package/dist/utils/dco/git-config.d.ts.map +1 -0
- package/dist/utils/dco/git-config.js +159 -0
- package/dist/utils/dco/git-config.js.map +1 -0
- package/dist/utils/dco/github.d.ts +49 -0
- package/dist/utils/dco/github.d.ts.map +1 -0
- package/dist/utils/dco/github.js +154 -0
- package/dist/utils/dco/github.js.map +1 -0
- package/dist/utils/dco/paths.d.ts +16 -0
- package/dist/utils/dco/paths.d.ts.map +1 -0
- package/dist/utils/dco/paths.js +27 -0
- package/dist/utils/dco/paths.js.map +1 -0
- package/dist/utils/dco/render.d.ts +4 -0
- package/dist/utils/dco/render.d.ts.map +1 -0
- package/dist/utils/dco/render.js +52 -0
- package/dist/utils/dco/render.js.map +1 -0
- package/dist/utils/dco/setup.d.ts +47 -0
- package/dist/utils/dco/setup.d.ts.map +1 -0
- package/dist/utils/dco/setup.js +740 -0
- package/dist/utils/dco/setup.js.map +1 -0
- package/dist/utils/dco/ssh-key.d.ts +43 -0
- package/dist/utils/dco/ssh-key.d.ts.map +1 -0
- package/dist/utils/dco/ssh-key.js +176 -0
- package/dist/utils/dco/ssh-key.js.map +1 -0
- package/dist/utils/dco/status.d.ts +12 -0
- package/dist/utils/dco/status.d.ts.map +1 -0
- package/dist/utils/dco/status.js +238 -0
- package/dist/utils/dco/status.js.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/utils/dco/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,YAAY,GAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAuB,MAAM,cAAc,CAAC;AAE3E,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAwD1C,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,4CAA4C;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnF,CAAC;AAOD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAsB,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,GAAW;IAC/C,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,EACtD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,GAAY;IAClD,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,MAAiB,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,qDAAqD;YAC9D,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB;SACtD;KACF,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAClC,qDAAqD;SACxD;KACF,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAA2B,EAAE;IAE7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAmB;QAC7B,EAAE,EAAE,IAAI;QACR,cAAc,EAAE,KAAK;QACrB,KAAK;KACN,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,SAA+C,EAAE,EAAE;QAChE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,8BAA8B,EAAE;QAC9D,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE;QAC3D,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,6BAA6B,EAAE;QAC5D,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,mCAAmC,EAAE;QACnE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;KAChD,CAAC;IAEF,oBAAoB;IACpB,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,+DAA+D;SACxE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;YACX,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,kCAAkC,EAAE;YAC/D,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;YACtD,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,gBAAgB;YACd,yJAAyJ,CAAC;IAC9J,CAAC;SAAM,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;QACnD,gBAAgB;YACd,YAAY,CAAC,MAAM,KAAK,IAAI;gBAC1B,CAAC,CAAC,kHAAkH;gBACpH,CAAC,CAAC,0GAA0G,CAAC;IACnH,CAAC;SAAM,IAAI,MAAM,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,gBAAgB;YACd,8NAA8N,CAAC;IACnO,CAAC;IACD,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,QAAQ;YAChB,MAAM,EACJ,gBAAgB;gBAChB,0GAA0G;SAC7G,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;YACX,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,kCAAkC,EAAE;YAC/D,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;YACtD,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3E,6BAA6B;IAC7B,IAAI,KAAmB,CAAC;IACxB,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,GAAG,+BAA+B,QAAQ,CAAC,GAAG,gDAAgD,CACtJ,CAAC;QACJ,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,2CAA2C;QAC3C,MAAM,aAAa,GACjB,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACzD,IAAI,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAC5C,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;YAC7B,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,oDAAoD,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,aAAa,EAAE,GAAG;YACpC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,KAAK,GAAG;YACN,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,IAAI;YACJ,IAAI;YACJ,GAAG,EACD,WAAW,IAAI,iBAAiB,CAAC,WAAW,CAAC;gBAC3C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,8BAA8B,IAAI,EAAE;YAC1C,KAAK,EAAE,GAAG,IAAI,qBAAqB;SACpC,CAAC;QAEF,sEAAsE;QACtE,yEAAyE;QACzE,oEAAoE;QACpE,kEAAkE;QAClE,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,MAAM,GAAiD,IAAI,CAAC;QAChE,IACE,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC,MAAM,aAAa,EAAE,CAAC;YACvB,CAAC,MAAM,iBAAiB,EAAE,CAAC,EAC3B,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,aAAa,GACjB,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;QACJ,CAAC;QACD,KAAK,GAAG;YACN,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC;YACzC,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC;SAC5C,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,4EAA4E;QAC5E,2EAA2E;QAC3E,oEAAoE;QACpE,wEAAwE;QACxE,IACE,CAAC,OAAO,CAAC,MAAM;YACf,CAAC,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,EACrE,CAAC;YACD,IAAI,CAAC;gBACH,kBAAkB,CAAC,GAAG,EAAE;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,sBAAsB;oBAC3B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,kCAAkC;YACzC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG;SACpF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,kCAAkC;YACzC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;YACX,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;YACtD,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,WAA2B,CAAC;IAChC,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,GAAG,cAAc,MAAM,CAAC;IAC9C,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,WAAW,GAAG,sBAAsB,CAClC,QAAQ,CAAC,UAAU,EACnB,QAAQ,KAAK,CAAC,IAAI,EAAE,EACpB,EAAE,uBAAuB,EAAE,QAAQ,CAAC,SAAS,EAAE,CAChD,CAAC;QACF,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;QACvC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAE7C,2EAA2E;QAC3E,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,YAAY,GAChB,UAAU,CAAC,cAAc,CAAC;YAC1B,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,WAAW,CAAC,aAAa,CAAC;QACtE,MAAM,WAAW,GACf,UAAU,CAAC,aAAa,CAAC;YACzB,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,aAAa,CAAC;QAC5E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,sBAAsB,cAAc,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,eAAe,cAAc,QAAQ,aAAa,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,eAAe,GAAG,IAAI,CAAC;YACvB,kEAAkE;YAClE,mEAAmE;YACnE,oCAAoC;YACpC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACjC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,GAAG,IAAI,EAAE;gBAC7D,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,cAAc,KAAK,WAAW,CAAC,WAAW,GAAG;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,qEAAqE;QACrE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,8BAA8B;YACrC,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EACJ,+GAA+G;iBAClH,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EACJ,uEAAuE;iBAC1E,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IACE,KAAK,YAAY,YAAY;wBAC7B,WAAW;wBACX,CAAC,OAAO,CAAC,MAAM;wBACf,CAAC,MAAM,OAAO,CACZ,wDAAwD,qBAAqB,SAAS,EACtF,IAAI,CACL,CAAC;wBACF,CAAC,MAAM,gBAAgB,EAAE,CAAC,EAC1B,CAAC;wBACD,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,IAAI,yBAAyB,CAAC,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/D,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,eAAe;wBACnB,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,qBAAqB,WAAW,CAAC,WAAW,GAAG;qBACxD,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,eAAe;wBACnB,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,gBAAgB,WAAW,CAAC,WAAW,YAAY,KAAK,CAAC,IAAI,EAAE;qBACxE,CAAC,CAAC;gBACL,CAAC;qBAAM,IACL,WAAW;oBACX,CAAC,CAAC,MAAM,OAAO,CACb,sBAAsB,WAAW,CAAC,WAAW,eAAe,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,2BAA2B,EAChH,IAAI,CACL,CAAC,EACF,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,eAAe;wBACnB,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,iBAAiB;wBACzB,MAAM,EACJ,gFAAgF;qBACnF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,gBAAgB,CACpB,WAAW,CAAC,aAAa,EACzB,QAAQ,KAAK,CAAC,IAAI,EAAE,CACrB,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,eAAe;wBACnB,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,oBAAoB,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,GAAG;qBACtE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,kCAAkC;iBAC3D,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC/D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,aAAa,GAA2B;QAC5C,YAAY,EAAE,KAAK;QACnB,iBAAiB,EAAE,cAAc;QACjC,gBAAgB,EAAE,MAAM;KACzB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;YAC7B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,SAAS;iBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,8BAA8B;gBACrC,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,oCAAoC,MAAM,qCAAqC;aACxF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,sEAAsE;YACtE,sEAAsE;YACtE,mBAAmB;YACnB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;gBAChC,CAAC,CAAC,MAAM,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,WAAW;qBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC;qBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,GAAG,IAAI,oEAAoE,MAAM,wDAAwD;iBAClJ,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;gBAChC,CAAC,CAAC,MAAM,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,WAAW;qBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC;qBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,8EAA8E,MAAM,wDAAwD;iBACrJ,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,8BAA8B;oBACrC,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,uCAAuC;iBAC3F,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,8BAA8B;YACrC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,sBAAsB;IACtB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,GAAG,EACH,KAAK,EACL,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EACxC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACnC,YAAY,GAAG,IAAI,CAAC;YACpB,kBAAkB,GAAG,+CAA+C,IAAI,CAAC,IAAI,oDAAoD,CAAC;YAClI,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC/C,YAAY,GAAG,IAAI,CAAC;YACpB,kBAAkB,GAAG,kDAAkD,IAAI,CAAC,IAAI,6BAA6B,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;gBAChE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,GAAG,IAAI,CAAC;QACpB,kBAAkB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,mCAAmC;YAC1C,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,0BAA0B,EAAE,YAAY;gBACxC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;gBACvB,UAAU,EAAE,KAAK,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,mCAAmC;oBAC1C,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,aAAa,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,kEAAkE;iBACnH,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GACX,EAAE,CAAC,MAAM,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,mCAAmC;oBAC1C,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;oBACzC,MAAM,EAAE,aAAa,EAAE,CAAC,MAAM,mBAAmB,QAAQ,CAAC,MAAM,EAAE;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,eAAe;gBACnB,KAAK,EAAE,mCAAmC;gBAC1C,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,wBAAwB;IACxB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,OAAe,CAAC;QACpB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;gBACL,6EAA6E,CAAC;QAClF,CAAC;aAAM,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;YAC3C,OAAO;gBACL,iFAAiF,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,yCACR,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uCACzC,iFAAiF,CAAC;QACpF,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,MAAM,GAAG,GAAG,kBAAkB,IAAI,OAAO,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,aAAa,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;YAC9D,MAAM,aAAa,CAAC,YAAY,EAAE;gBAChC,IAAI;gBACJ,MAAM;gBACN,IAAI;gBACJ,cAAc;gBACd,IAAI;gBACJ,KAAK;gBACL,WAAW;aACZ,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,+BAA+B,WAAW,CAAC,WAAW,EAAE;aACjE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAoD,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EACJ,GAAG,EAAE,IAAI,KAAK,QAAQ;oBACpB,CAAC,CAAC,uEAAuE;oBACzE,CAAC,CAAC,0BAA0B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE;aACtE,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface SshKeyMaterial {
|
|
2
|
+
/** PEM-armored OpenSSH private key (unencrypted, 0600 it on disk). */
|
|
3
|
+
privateKeyPem: string;
|
|
4
|
+
/** Single-line authorized_keys style public key: "ssh-ed25519 AAAA... comment". */
|
|
5
|
+
publicKeyLine: string;
|
|
6
|
+
/** OpenSSH-style fingerprint: "SHA256:<base64 without padding>". */
|
|
7
|
+
fingerprint: string;
|
|
8
|
+
/** Raw 32-byte public key, base64 encoded (matches identity.json publicKey). */
|
|
9
|
+
publicKeyBase64: string;
|
|
10
|
+
}
|
|
11
|
+
/** Derive the Ed25519 public key from a raw 32-byte seed using Node crypto. */
|
|
12
|
+
export declare function deriveEd25519PublicKey(seed: Buffer): Buffer;
|
|
13
|
+
export declare function sshFingerprint(publicKey: Buffer): string;
|
|
14
|
+
/**
|
|
15
|
+
* Decode a stored Ed25519 public key into its raw 32 bytes, tolerating the two
|
|
16
|
+
* encodings that appear across the ecosystem:
|
|
17
|
+
* - raw base64 (32 bytes) as written by the local mcp-i IdentityManager, and
|
|
18
|
+
* - multibase base64url with an "m" prefix as returned by the KTA registry
|
|
19
|
+
* (see know-that-ai cli-register `encodePublicKey`).
|
|
20
|
+
* Returns null when the value is neither, so a defense-in-depth cross-check can
|
|
21
|
+
* skip rather than reject an unrecognized format. Disambiguation is exact: a
|
|
22
|
+
* raw 32-byte key always base64-decodes to 32 bytes, while a 44-char multibase
|
|
23
|
+
* string decodes to 33 under raw base64, so only the "m" branch yields 32.
|
|
24
|
+
*/
|
|
25
|
+
export declare function decodeEd25519PublicKey(value: string): Buffer | null;
|
|
26
|
+
export declare function sshPublicKeyLine(publicKey: Buffer, comment: string): string;
|
|
27
|
+
export interface ConvertOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Raw public key (base64) to cross-check against the derived key. Guards
|
|
30
|
+
* against a corrupted identity file producing a signing key that does not
|
|
31
|
+
* match the registered DID.
|
|
32
|
+
*/
|
|
33
|
+
expectedPublicKeyBase64?: string;
|
|
34
|
+
/** Fixed check bytes for deterministic output in tests. */
|
|
35
|
+
checkBytes?: Buffer;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Convert a base64 Ed25519 private key from identity.json into OpenSSH
|
|
39
|
+
* signing key material. Accepts either a 32-byte seed or a 64-byte
|
|
40
|
+
* libsodium-style secret key (seed || public key).
|
|
41
|
+
*/
|
|
42
|
+
export declare function convertEd25519ToSshKey(privateKeyBase64: string, comment: string, options?: ConvertOptions): SshKeyMaterial;
|
|
43
|
+
//# sourceMappingURL=ssh-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh-key.d.ts","sourceRoot":"","sources":["../../../src/utils/dco/ssh-key.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB3D;AAmDD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYnE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,cAAc,CAmDhB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { createHash, createPrivateKey, createPublicKey } from "crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Conversion of a raw Ed25519 seed (as stored in .mcpi/identity.json) into
|
|
4
|
+
* OpenSSH key material usable as a git SSH signing key.
|
|
5
|
+
*
|
|
6
|
+
* The OpenSSH private key container format is documented in OpenSSH's
|
|
7
|
+
* PROTOCOL.key file. For an unencrypted Ed25519 key it is:
|
|
8
|
+
*
|
|
9
|
+
* "openssh-key-v1\0"
|
|
10
|
+
* string ciphername ("none")
|
|
11
|
+
* string kdfname ("none")
|
|
12
|
+
* string kdfoptions ("")
|
|
13
|
+
* uint32 number of keys (1)
|
|
14
|
+
* string public key blob: string "ssh-ed25519" + string pub(32)
|
|
15
|
+
* string private section:
|
|
16
|
+
* uint32 checkint, uint32 checkint (identical)
|
|
17
|
+
* string "ssh-ed25519"
|
|
18
|
+
* string pub(32)
|
|
19
|
+
* string seed||pub (64)
|
|
20
|
+
* string comment
|
|
21
|
+
* padding bytes 0x01 0x02 ... up to a multiple of 8
|
|
22
|
+
*/
|
|
23
|
+
const OPENSSH_MAGIC = "openssh-key-v1\0";
|
|
24
|
+
const KEY_TYPE = "ssh-ed25519";
|
|
25
|
+
// DER prefix that turns a raw 32-byte Ed25519 seed into a PKCS8 private key.
|
|
26
|
+
const ED25519_PKCS8_PREFIX = Buffer.from("302e020100300506032b657004220420", "hex");
|
|
27
|
+
function sshString(data) {
|
|
28
|
+
const buf = typeof data === "string" ? Buffer.from(data, "utf8") : data;
|
|
29
|
+
const len = Buffer.alloc(4);
|
|
30
|
+
len.writeUInt32BE(buf.length, 0);
|
|
31
|
+
return Buffer.concat([len, buf]);
|
|
32
|
+
}
|
|
33
|
+
function uint32(value) {
|
|
34
|
+
const buf = Buffer.alloc(4);
|
|
35
|
+
buf.writeUInt32BE(value >>> 0, 0);
|
|
36
|
+
return buf;
|
|
37
|
+
}
|
|
38
|
+
/** Derive the Ed25519 public key from a raw 32-byte seed using Node crypto. */
|
|
39
|
+
export function deriveEd25519PublicKey(seed) {
|
|
40
|
+
if (seed.length !== 32) {
|
|
41
|
+
throw new Error(`Ed25519 seed must be 32 bytes, got ${seed.length} bytes`);
|
|
42
|
+
}
|
|
43
|
+
const pkcs8 = Buffer.concat([ED25519_PKCS8_PREFIX, seed]);
|
|
44
|
+
const privateKey = createPrivateKey({
|
|
45
|
+
key: pkcs8,
|
|
46
|
+
format: "der",
|
|
47
|
+
type: "pkcs8",
|
|
48
|
+
});
|
|
49
|
+
const jwk = createPublicKey(privateKey).export({ format: "jwk" });
|
|
50
|
+
// v8 ignore: Node always emits x for an Ed25519 public JWK; this guard
|
|
51
|
+
// only exists to fail loudly if that contract ever changes.
|
|
52
|
+
/* v8 ignore start */
|
|
53
|
+
if (!jwk.x) {
|
|
54
|
+
throw new Error("Failed to derive Ed25519 public key from seed");
|
|
55
|
+
}
|
|
56
|
+
/* v8 ignore stop */
|
|
57
|
+
return Buffer.from(jwk.x, "base64url");
|
|
58
|
+
}
|
|
59
|
+
function publicKeyBlob(publicKey) {
|
|
60
|
+
return Buffer.concat([sshString(KEY_TYPE), sshString(publicKey)]);
|
|
61
|
+
}
|
|
62
|
+
function buildPrivateKeyPem(seed, publicKey, comment, checkBytes) {
|
|
63
|
+
const check = checkBytes.subarray(0, 4);
|
|
64
|
+
let privateSection = Buffer.concat([
|
|
65
|
+
check,
|
|
66
|
+
check,
|
|
67
|
+
sshString(KEY_TYPE),
|
|
68
|
+
sshString(publicKey),
|
|
69
|
+
sshString(Buffer.concat([seed, publicKey])),
|
|
70
|
+
sshString(comment),
|
|
71
|
+
]);
|
|
72
|
+
// Pad with 1, 2, 3, ... to the cipher block size (8 for "none").
|
|
73
|
+
const padLength = (8 - (privateSection.length % 8)) % 8;
|
|
74
|
+
if (padLength > 0) {
|
|
75
|
+
const padding = Buffer.alloc(padLength);
|
|
76
|
+
for (let i = 0; i < padLength; i++) {
|
|
77
|
+
padding[i] = i + 1;
|
|
78
|
+
}
|
|
79
|
+
privateSection = Buffer.concat([privateSection, padding]);
|
|
80
|
+
}
|
|
81
|
+
const body = Buffer.concat([
|
|
82
|
+
Buffer.from(OPENSSH_MAGIC, "utf8"),
|
|
83
|
+
sshString("none"),
|
|
84
|
+
sshString("none"),
|
|
85
|
+
sshString(""),
|
|
86
|
+
uint32(1),
|
|
87
|
+
sshString(publicKeyBlob(publicKey)),
|
|
88
|
+
sshString(privateSection),
|
|
89
|
+
]);
|
|
90
|
+
const base64 = body.toString("base64");
|
|
91
|
+
const chunks = [];
|
|
92
|
+
for (let i = 0; i < base64.length; i += 70) {
|
|
93
|
+
chunks.push(base64.slice(i, i + 70));
|
|
94
|
+
}
|
|
95
|
+
const wrapped = chunks.join("\n");
|
|
96
|
+
return `-----BEGIN OPENSSH PRIVATE KEY-----\n${wrapped}\n-----END OPENSSH PRIVATE KEY-----\n`;
|
|
97
|
+
}
|
|
98
|
+
export function sshFingerprint(publicKey) {
|
|
99
|
+
const digest = createHash("sha256").update(publicKeyBlob(publicKey)).digest();
|
|
100
|
+
return `SHA256:${digest.toString("base64").replace(/=+$/, "")}`;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Decode a stored Ed25519 public key into its raw 32 bytes, tolerating the two
|
|
104
|
+
* encodings that appear across the ecosystem:
|
|
105
|
+
* - raw base64 (32 bytes) as written by the local mcp-i IdentityManager, and
|
|
106
|
+
* - multibase base64url with an "m" prefix as returned by the KTA registry
|
|
107
|
+
* (see know-that-ai cli-register `encodePublicKey`).
|
|
108
|
+
* Returns null when the value is neither, so a defense-in-depth cross-check can
|
|
109
|
+
* skip rather than reject an unrecognized format. Disambiguation is exact: a
|
|
110
|
+
* raw 32-byte key always base64-decodes to 32 bytes, while a 44-char multibase
|
|
111
|
+
* string decodes to 33 under raw base64, so only the "m" branch yields 32.
|
|
112
|
+
*/
|
|
113
|
+
export function decodeEd25519PublicKey(value) {
|
|
114
|
+
const raw = Buffer.from(value, "base64");
|
|
115
|
+
if (raw.length === 32) {
|
|
116
|
+
return raw;
|
|
117
|
+
}
|
|
118
|
+
if (value.startsWith("m")) {
|
|
119
|
+
const multibase = Buffer.from(value.slice(1), "base64url");
|
|
120
|
+
if (multibase.length === 32) {
|
|
121
|
+
return multibase;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
export function sshPublicKeyLine(publicKey, comment) {
|
|
127
|
+
return `${KEY_TYPE} ${publicKeyBlob(publicKey).toString("base64")} ${comment}`.trim();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Convert a base64 Ed25519 private key from identity.json into OpenSSH
|
|
131
|
+
* signing key material. Accepts either a 32-byte seed or a 64-byte
|
|
132
|
+
* libsodium-style secret key (seed || public key).
|
|
133
|
+
*/
|
|
134
|
+
export function convertEd25519ToSshKey(privateKeyBase64, comment, options = {}) {
|
|
135
|
+
const decoded = Buffer.from(privateKeyBase64, "base64");
|
|
136
|
+
let seed;
|
|
137
|
+
if (decoded.length === 32) {
|
|
138
|
+
seed = decoded;
|
|
139
|
+
}
|
|
140
|
+
else if (decoded.length === 64) {
|
|
141
|
+
seed = decoded.subarray(0, 32);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
throw new Error(`Unsupported Ed25519 private key length: ${decoded.length} bytes (expected 32 or 64)`);
|
|
145
|
+
}
|
|
146
|
+
const publicKey = deriveEd25519PublicKey(seed);
|
|
147
|
+
if (decoded.length === 64) {
|
|
148
|
+
const embedded = decoded.subarray(32);
|
|
149
|
+
if (!embedded.equals(publicKey)) {
|
|
150
|
+
throw new Error("Ed25519 private key is corrupt: embedded public key does not match the seed");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (options.expectedPublicKeyBase64) {
|
|
154
|
+
// The stored key may be raw base64 (mcp-i) or multibase (KTA registry).
|
|
155
|
+
// Only reject on a decodable-but-different key; an unrecognized encoding
|
|
156
|
+
// is skipped because the seed-derived key is authoritative for signing.
|
|
157
|
+
const expected = decodeEd25519PublicKey(options.expectedPublicKeyBase64);
|
|
158
|
+
if (expected && !expected.equals(publicKey)) {
|
|
159
|
+
throw new Error("Identity file mismatch: derived public key does not match the stored public key");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Derive the OpenSSH checkint deterministically from the public key rather
|
|
163
|
+
// than randomly, so the same identity always yields byte-identical key
|
|
164
|
+
// material. That lets callers detect a corrupt on-disk key by comparison
|
|
165
|
+
// and rewrite it (self-heal) while staying idempotent for a valid key. The
|
|
166
|
+
// checkint is an internal consistency marker, not security-sensitive.
|
|
167
|
+
const checkBytes = options.checkBytes ??
|
|
168
|
+
createHash("sha256").update(publicKey).digest().subarray(0, 4);
|
|
169
|
+
return {
|
|
170
|
+
privateKeyPem: buildPrivateKeyPem(seed, publicKey, comment, checkBytes),
|
|
171
|
+
publicKeyLine: sshPublicKeyLine(publicKey, comment),
|
|
172
|
+
fingerprint: sshFingerprint(publicKey),
|
|
173
|
+
publicKeyBase64: publicKey.toString("base64"),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=ssh-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh-key.js","sourceRoot":"","sources":["../../../src/utils/dco/ssh-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StatusCheck {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
state: "ok" | "warn" | "missing";
|
|
5
|
+
detail?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DcoStatusResult {
|
|
8
|
+
checks: StatusCheck[];
|
|
9
|
+
}
|
|
10
|
+
/** Read-only diagnostics backing `mcpi dco status`. Never writes or prompts. */
|
|
11
|
+
export declare function collectDcoStatus(cwd: string): Promise<DcoStatusResult>;
|
|
12
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/utils/dco/status.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAeD,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4N5E"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { readAgentMetadata } from "./agent-metadata.js";
|
|
4
|
+
import { isValidSlug, keysDir } from "./paths.js";
|
|
5
|
+
import { CLAUDE_MD_START } from "./claude-config.js";
|
|
6
|
+
import { getGitConfigValue, getHooksDir, HOOK_MARKER, isGitRepo } from "./git-config.js";
|
|
7
|
+
import { isGhAuthenticated, isGhInstalled, listSigningKeys, signingKeyAlreadyUploaded, } from "./github.js";
|
|
8
|
+
import { convertEd25519ToSshKey } from "./ssh-key.js";
|
|
9
|
+
/**
|
|
10
|
+
* Read a file for a diagnostic, returning null instead of throwing when the
|
|
11
|
+
* path exists but cannot be read as a file (e.g. it is a directory -> EISDIR).
|
|
12
|
+
* `mcpi dco status` must never crash on odd on-disk state.
|
|
13
|
+
*/
|
|
14
|
+
function readFileSafe(path) {
|
|
15
|
+
try {
|
|
16
|
+
return readFileSync(path, "utf-8");
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** Read-only diagnostics backing `mcpi dco status`. Never writes or prompts. */
|
|
23
|
+
export async function collectDcoStatus(cwd) {
|
|
24
|
+
const checks = [];
|
|
25
|
+
const identityPath = join(cwd, ".mcpi", "identity.json");
|
|
26
|
+
let identity = null;
|
|
27
|
+
let identityCorrupt = false;
|
|
28
|
+
if (existsSync(identityPath)) {
|
|
29
|
+
try {
|
|
30
|
+
const parsed = JSON.parse(readFileSync(identityPath, "utf-8"));
|
|
31
|
+
// A non-object (array, string, number) parses fine but is corrupt, not
|
|
32
|
+
// a valid-but-missing-fields identity; match setup's preflight so status
|
|
33
|
+
// does not tell the user to re-register over a recoverable file.
|
|
34
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
35
|
+
identity = parsed;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
identityCorrupt = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
identity = null;
|
|
43
|
+
identityCorrupt = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Setup's preflight requires BOTH privateKey and did, so an identity with a
|
|
47
|
+
// key but no did is incomplete (warn), not ok — otherwise status reports a
|
|
48
|
+
// healthy identity that setup would refuse to run against.
|
|
49
|
+
const identityComplete = Boolean(identity?.privateKey && identity?.did);
|
|
50
|
+
checks.push({
|
|
51
|
+
id: "identity",
|
|
52
|
+
label: "Agent identity (.mcpi/identity.json)",
|
|
53
|
+
state: identityComplete
|
|
54
|
+
? "ok"
|
|
55
|
+
: identityCorrupt || identity?.privateKey
|
|
56
|
+
? "warn"
|
|
57
|
+
: "missing",
|
|
58
|
+
detail: identityCorrupt
|
|
59
|
+
? "File exists but could not be parsed; inspect or restore it (do not re-run register)"
|
|
60
|
+
: identity?.privateKey && !identity?.did
|
|
61
|
+
? "Missing did; setup requires both a private key and a did"
|
|
62
|
+
: identity?.did,
|
|
63
|
+
});
|
|
64
|
+
const metadata = readAgentMetadata(cwd);
|
|
65
|
+
// Mirror setup's trust gate: agent.json is only usable for attribution when
|
|
66
|
+
// it is bound to this identity (its did matches identity.json). Unbound
|
|
67
|
+
// metadata (no/mismatched did) is reported as warn, not ok, so status does
|
|
68
|
+
// not present planted attribution as trusted while setup ignores it.
|
|
69
|
+
const metadataBound = Boolean(metadata?.did && identity?.did && metadata.did === identity.did);
|
|
70
|
+
const metadataComplete = Boolean(metadata?.name && metadata?.slug);
|
|
71
|
+
checks.push({
|
|
72
|
+
id: "agent-metadata",
|
|
73
|
+
label: "Agent metadata (.mcpi/agent.json)",
|
|
74
|
+
state: metadataComplete && metadataBound ? "ok" : metadata ? "warn" : "missing",
|
|
75
|
+
detail: !metadata
|
|
76
|
+
? "Run `mcpi register` or set AGENT_NAME/AGENT_SLUG"
|
|
77
|
+
: !metadataBound
|
|
78
|
+
? `Not bound to this identity (${metadata.did ?? "no did"}); ignored by setup`
|
|
79
|
+
: `${metadata.name} (${metadata.slug ?? "no slug"})`,
|
|
80
|
+
});
|
|
81
|
+
// Only a bound record's slug locates the signing key; an unbound slug is
|
|
82
|
+
// untrusted for that purpose.
|
|
83
|
+
const boundSlug = metadataBound ? metadata?.slug : undefined;
|
|
84
|
+
const rawSlug = boundSlug ?? process.env.AGENT_SLUG;
|
|
85
|
+
const slug = rawSlug && isValidSlug(rawSlug) ? rawSlug : undefined;
|
|
86
|
+
const privateKeyPath = slug ? join(keysDir(), slug) : null;
|
|
87
|
+
checks.push({
|
|
88
|
+
id: "key-files",
|
|
89
|
+
label: "SSH signing key files",
|
|
90
|
+
state: rawSlug && !slug
|
|
91
|
+
? "warn"
|
|
92
|
+
: privateKeyPath && existsSync(privateKeyPath)
|
|
93
|
+
? "ok"
|
|
94
|
+
: "missing",
|
|
95
|
+
detail: rawSlug && !slug
|
|
96
|
+
? `Invalid agent slug "${rawSlug}"`
|
|
97
|
+
: (privateKeyPath ?? undefined),
|
|
98
|
+
});
|
|
99
|
+
if (await isGitRepo(cwd)) {
|
|
100
|
+
const format = await getGitConfigValue("gpg.format", cwd);
|
|
101
|
+
const signingKey = await getGitConfigValue("user.signingkey", cwd);
|
|
102
|
+
const gpgSign = await getGitConfigValue("commit.gpgsign", cwd);
|
|
103
|
+
const configured = format === "ssh" && gpgSign === "true" && Boolean(signingKey);
|
|
104
|
+
checks.push({
|
|
105
|
+
id: "git-config",
|
|
106
|
+
label: "Git signing config",
|
|
107
|
+
state: configured ? "ok" : "missing",
|
|
108
|
+
detail: configured
|
|
109
|
+
? `user.signingkey=${signingKey}`
|
|
110
|
+
: "gpg.format/user.signingkey/commit.gpgsign not fully set",
|
|
111
|
+
});
|
|
112
|
+
const { dir } = await getHooksDir(cwd);
|
|
113
|
+
const hookPath = join(dir, "prepare-commit-msg");
|
|
114
|
+
const hookContent = existsSync(hookPath) ? readFileSafe(hookPath) : null;
|
|
115
|
+
if (!existsSync(hookPath)) {
|
|
116
|
+
checks.push({
|
|
117
|
+
id: "trailer-hook",
|
|
118
|
+
label: "Commit trailer hook",
|
|
119
|
+
state: "missing",
|
|
120
|
+
detail: hookPath,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else if (hookContent === null) {
|
|
124
|
+
checks.push({
|
|
125
|
+
id: "trailer-hook",
|
|
126
|
+
label: "Commit trailer hook",
|
|
127
|
+
state: "warn",
|
|
128
|
+
detail: `prepare-commit-msg exists but is not a readable file: ${hookPath}`,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else if (hookContent.includes(HOOK_MARKER)) {
|
|
132
|
+
checks.push({
|
|
133
|
+
id: "trailer-hook",
|
|
134
|
+
label: "Commit trailer hook",
|
|
135
|
+
state: "ok",
|
|
136
|
+
detail: hookPath,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
checks.push({
|
|
141
|
+
id: "trailer-hook",
|
|
142
|
+
label: "Commit trailer hook",
|
|
143
|
+
state: "warn",
|
|
144
|
+
detail: `Foreign prepare-commit-msg hook at ${hookPath}`,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
checks.push({
|
|
150
|
+
id: "git-config",
|
|
151
|
+
label: "Git signing config",
|
|
152
|
+
state: "missing",
|
|
153
|
+
detail: "Not a git repository",
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
const claudeMd = existsSync(join(cwd, "CLAUDE.md"))
|
|
157
|
+
? readFileSafe(join(cwd, "CLAUDE.md"))
|
|
158
|
+
: null;
|
|
159
|
+
const hasBlock = claudeMd !== null && claudeMd.includes(CLAUDE_MD_START);
|
|
160
|
+
checks.push({
|
|
161
|
+
id: "claude-md",
|
|
162
|
+
label: "CLAUDE.md attribution block",
|
|
163
|
+
state: hasBlock ? "ok" : "missing",
|
|
164
|
+
});
|
|
165
|
+
const settingsPath = join(cwd, ".claude", "settings.json");
|
|
166
|
+
let settingsOk = false;
|
|
167
|
+
let settingsCorrupt = false;
|
|
168
|
+
if (existsSync(settingsPath)) {
|
|
169
|
+
try {
|
|
170
|
+
const parsed = JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
171
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
172
|
+
settingsOk = parsed.includeCoAuthoredBy === false;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
settingsCorrupt = true;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
settingsCorrupt = true;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
checks.push({
|
|
183
|
+
id: "claude-settings",
|
|
184
|
+
label: "Claude Code settings (includeCoAuthoredBy: false)",
|
|
185
|
+
state: settingsOk ? "ok" : settingsCorrupt ? "warn" : "missing",
|
|
186
|
+
detail: settingsCorrupt
|
|
187
|
+
? "settings.json exists but could not be parsed"
|
|
188
|
+
: undefined,
|
|
189
|
+
});
|
|
190
|
+
if (!(await isGhInstalled())) {
|
|
191
|
+
checks.push({
|
|
192
|
+
id: "github-key",
|
|
193
|
+
label: "Signing key on GitHub",
|
|
194
|
+
state: "warn",
|
|
195
|
+
detail: "GitHub CLI not installed",
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
else if (!(await isGhAuthenticated())) {
|
|
199
|
+
checks.push({
|
|
200
|
+
id: "github-key",
|
|
201
|
+
label: "Signing key on GitHub",
|
|
202
|
+
state: "warn",
|
|
203
|
+
detail: "gh not authenticated",
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
else if (identity?.privateKey && slug) {
|
|
207
|
+
try {
|
|
208
|
+
const material = convertEd25519ToSshKey(identity.privateKey, `mcpi:${slug}`, {
|
|
209
|
+
expectedPublicKeyBase64: identity.publicKey,
|
|
210
|
+
});
|
|
211
|
+
const uploaded = signingKeyAlreadyUploaded(await listSigningKeys(), material.publicKeyLine);
|
|
212
|
+
checks.push({
|
|
213
|
+
id: "github-key",
|
|
214
|
+
label: "Signing key on GitHub",
|
|
215
|
+
state: uploaded ? "ok" : "missing",
|
|
216
|
+
detail: material.fingerprint,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
checks.push({
|
|
221
|
+
id: "github-key",
|
|
222
|
+
label: "Signing key on GitHub",
|
|
223
|
+
state: "warn",
|
|
224
|
+
detail: error instanceof Error ? error.message : String(error),
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
checks.push({
|
|
230
|
+
id: "github-key",
|
|
231
|
+
label: "Signing key on GitHub",
|
|
232
|
+
state: "warn",
|
|
233
|
+
detail: "Needs identity and agent slug to check",
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return { checks };
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/utils/dco/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "CLI for MCP-I setup and management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"demo:fast": "tsx src/index.ts demo --init --fast"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@kya-os/contracts": "^1.
|
|
44
|
+
"@kya-os/contracts": "^1.9.0",
|
|
45
|
+
"@kya-os/mcp": "^1.6.1",
|
|
45
46
|
"@kya-os/mcp-i": "^1.7.12",
|
|
46
47
|
"boxen": "^8.0.1",
|
|
47
48
|
"chalk": "^5.3.0",
|
|
@@ -54,16 +55,16 @@
|
|
|
54
55
|
"open": "^10.1.2",
|
|
55
56
|
"ora": "^8.0.1",
|
|
56
57
|
"terminal-image": "^3.1.1",
|
|
57
|
-
"zod": "^3.25.
|
|
58
|
+
"zod": "^3.25.67"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@types/figlet": "^1.7.0",
|
|
61
62
|
"@types/inquirer": "^9.0.0",
|
|
62
63
|
"@types/node": "^20.0.0",
|
|
63
|
-
"@vitest/coverage-v8": "^4.0.
|
|
64
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
64
65
|
"tsx": "^4.0.0",
|
|
65
66
|
"typescript": "^5.0.0",
|
|
66
|
-
"vitest": "^4.0.
|
|
67
|
+
"vitest": "^4.0.18"
|
|
67
68
|
},
|
|
68
69
|
"engines": {
|
|
69
70
|
"node": ">=20.0.0"
|