@sylix/coworker 1.2.6 → 1.3.1
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/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +181 -106
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/slash/advanced.d.ts +3 -0
- package/dist/commands/slash/advanced.d.ts.map +1 -0
- package/dist/commands/slash/advanced.js +225 -0
- package/dist/commands/slash/advanced.js.map +1 -0
- package/dist/commands/slash/config.d.ts +3 -0
- package/dist/commands/slash/config.d.ts.map +1 -0
- package/dist/commands/slash/config.js +161 -0
- package/dist/commands/slash/config.js.map +1 -0
- package/dist/commands/slash/context.d.ts +3 -0
- package/dist/commands/slash/context.d.ts.map +1 -0
- package/dist/commands/slash/context.js +127 -0
- package/dist/commands/slash/context.js.map +1 -0
- package/dist/commands/slash/core.d.ts +3 -0
- package/dist/commands/slash/core.d.ts.map +1 -0
- package/dist/commands/slash/core.js +112 -0
- package/dist/commands/slash/core.js.map +1 -0
- package/dist/commands/slash/developer.d.ts +3 -0
- package/dist/commands/slash/developer.d.ts.map +1 -0
- package/dist/commands/slash/developer.js +174 -0
- package/dist/commands/slash/developer.js.map +1 -0
- package/dist/commands/slash/files.d.ts +3 -0
- package/dist/commands/slash/files.d.ts.map +1 -0
- package/dist/commands/slash/files.js +216 -0
- package/dist/commands/slash/files.js.map +1 -0
- package/dist/commands/slash/registry.d.ts +36 -0
- package/dist/commands/slash/registry.d.ts.map +1 -0
- package/dist/commands/slash/registry.js +69 -0
- package/dist/commands/slash/registry.js.map +1 -0
- package/dist/commands/slash/session.d.ts +3 -0
- package/dist/commands/slash/session.d.ts.map +1 -0
- package/dist/commands/slash/session.js +144 -0
- package/dist/commands/slash/session.js.map +1 -0
- package/dist/core/CoWorkerAgent.d.ts +8 -2
- package/dist/core/CoWorkerAgent.d.ts.map +1 -1
- package/dist/core/CoWorkerAgent.js +179 -36
- package/dist/core/CoWorkerAgent.js.map +1 -1
- package/dist/review/CodeReviewEngine.d.ts +78 -0
- package/dist/review/CodeReviewEngine.d.ts.map +1 -0
- package/dist/review/CodeReviewEngine.js +449 -0
- package/dist/review/CodeReviewEngine.js.map +1 -0
- package/dist/session/SessionManager.js +10 -5
- package/dist/session/SessionManager.js.map +1 -1
- package/dist/skills/HookAndSkillManager.d.ts +29 -5
- package/dist/skills/HookAndSkillManager.d.ts.map +1 -1
- package/dist/skills/HookAndSkillManager.js +167 -12
- package/dist/skills/HookAndSkillManager.js.map +1 -1
- package/dist/todos/TodoManager.d.ts +19 -0
- package/dist/todos/TodoManager.d.ts.map +1 -0
- package/dist/todos/TodoManager.js +102 -0
- package/dist/todos/TodoManager.js.map +1 -0
- package/dist/tools/NativeTools.d.ts +98 -0
- package/dist/tools/NativeTools.d.ts.map +1 -1
- package/dist/tools/NativeTools.js +571 -0
- package/dist/tools/NativeTools.js.map +1 -1
- package/dist/tools/Schemas.d.ts +1199 -102
- package/dist/tools/Schemas.d.ts.map +1 -1
- package/dist/tools/Schemas.js +358 -40
- package/dist/tools/Schemas.js.map +1 -1
- package/dist/utils/conversations.d.ts +14 -0
- package/dist/utils/conversations.d.ts.map +1 -0
- package/dist/utils/conversations.js +100 -0
- package/dist/utils/conversations.js.map +1 -0
- package/dist/utils/inputbar.d.ts +87 -0
- package/dist/utils/inputbar.d.ts.map +1 -0
- package/dist/utils/inputbar.js +263 -0
- package/dist/utils/inputbar.js.map +1 -0
- package/dist/utils/output.d.ts +73 -48
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +349 -158
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/palette.d.ts +25 -0
- package/dist/utils/palette.d.ts.map +1 -0
- package/dist/utils/palette.js +92 -0
- package/dist/utils/palette.js.map +1 -0
- package/dist/utils/welcome.d.ts +2 -0
- package/dist/utils/welcome.d.ts.map +1 -0
- package/dist/utils/welcome.js +130 -0
- package/dist/utils/welcome.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoWorkerAgent.js","sourceRoot":"","sources":["../../src/core/CoWorkerAgent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gFAA6E;AAC7E,sDAAmD;AACnD,mDAAgD;AAChD,8DAA2D;AAC3D,8DAA2D;AAC3D,uEAAoE;AACpE,+DAA4D;AAC5D,8CAAuD;AACvD,mCAAoC;AACpC,4DAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAyC;AASzC,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,4DAA4D;AAC5D,SAAS,gBAAgB;IACvB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oEAAoE,CAAC;QAC9F,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0EAA0E,CAAC;QAChG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6EAA6E,CAAC;KACpG,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAGD,MAAM,sBAAsB,GAAG;;;;;gFAKiD,CAAC;AAEjF,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;QAC7F,MAAM,OAAO,GAAG,IAAA,wBAAQ,EAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEtD,IAAI,UAAU,GAAG,sBAAsB,CAAC;IACxC,IAAI,CAAC;QACH,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,UAAU,GAAG,UAAU;SACpB,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC;SACpC,OAAO,CAAC,8BAA8B,EAAE,4BAA4B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACvG,OAAO,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SACzD,OAAO,CAAC,oBAAoB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;SACzE,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,KAAK,EAAE,CAAC;SACzD,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,UAAU,CAAC,MAAM,EAAE,CAAC;SACzE,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;SACvC,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAa,aAAa;IAcxB,YAAY,OAAwB;QAF5B,iBAAY,GAAW,sBAAsB,CAAC;QAGpD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,oCAAoC,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,CAAC,mCAAmC;QAC9E,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAA,mBAAU,GAAE,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,IAAI,mCAAgB,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,6CAAqB,EAAE,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,sCAAsC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,6CAAqB,CAAC;YAC3C,YAAY,EAAE,MAAM,CAAC,KAAK;YAC1B,WAAW,EAAE,MAAM,CAAC,IAAI;SACzB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,CAAC,IAAI,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEnC,0CAA0C;QAC1C,MAAM,QAAQ,GAAwF;YACpG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9C,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;SAChC,CAAC;QAEF,sBAAsB;QACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;QAElD,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,cAAc,EAAE,CAAC;YAClC,SAAS,EAAE,CAAC;YAEZ,eAAe;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE9C,6CAA6C;YAC7C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,QAAQ,CAAC,OAAO,CAAC;YACzB,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM;YACR,CAAC;YAED,uDAAuD;YACvD,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;gBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAmB,CAAC,CAAC;YAEvD,iCAAiC;YACjC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACnC,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,QAAQ,IAAA,mBAAU,GAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAE/D,IAAI,IAAS,CAAC;gBACd,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,MAAM,GAAG,6CAA6C,QAAQ,EAAE,CAAC;oBACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM,QAAQ,MAAM,IAAI,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,sCAAsC;gBACtC,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC;gBAC9E,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,iDAAiD,QAAQ,EAAE,CAAC;wBAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;wBACvE,MAAM,QAAQ,MAAM,IAAI,CAAC;wBACzB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,gBAAgB;gBAChB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAEjD,mBAAmB;gBACnB,MAAM,mBAAmB,QAAQ,OAAO,CAAC;gBACzC,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,GAAG,eAAe,QAAQ,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3D,CAAC;gBAED,iBAAiB;gBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAEpD,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;gBAElD,gCAAgC;gBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChF,MAAM,OAAO,OAAO,IAAI,CAAC;YAC3B,CAAC;YAED,2EAA2E;QAC7E,CAAC;QAED,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,oCAAoC,cAAc,gBAAgB,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAC,QAAe;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,sBAAsB,CAAC;QAEnD,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ;YACR,KAAK,EAAE,6BAAmB;YAC1B,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,GAAG;aACjB;SACF,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACrC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,IAAS;QAC1D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,oBAAoB;gBACvB,OAAO,yBAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElD,KAAK,aAAa;gBAChB,OAAO,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEhD,KAAK,gBAAgB;gBACnB,OAAO,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElD,KAAK,aAAa;gBAChB,OAAO,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzD,KAAK,cAAc;gBACjB,OAAO,yBAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/D,KAAK,aAAa;gBAChB,OAAO,CAAC,MAAM,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5E,KAAK,aAAa;gBAChB,OAAO,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAEtE,KAAK,kBAAkB;gBACrB,OAAO,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAElD,KAAK,iBAAiB;gBACpB,OAAO,yBAAW,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,KAAK,wBAAwB;gBAC3B,OAAO,yBAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3D,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO,yBAAyB,EAAE,EAAE,CAAC;YACvC,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtE,OAAO,QAAQ,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC;YACxD,CAAC;YAED;gBACE,OAAO,mBAAmB,QAAQ,mDAAmD,CAAC;QAC1F,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,OAAe;QAC9D,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAChF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC;QACD,OAAO,sBAAsB,MAAM,EAAE,CAAC;IACxC,CAAC;CACF;AA5PD,sCA4PC"}
|
|
1
|
+
{"version":3,"file":"CoWorkerAgent.js","sourceRoot":"","sources":["../../src/core/CoWorkerAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Severity levels for code review findings (Claude Code parity).
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ReviewSeverity {
|
|
5
|
+
NORMAL = "normal",// 🔴 Bug that should be fixed before merging
|
|
6
|
+
NIT = "nit",// 🟡 Minor issue, worth fixing but not blocking
|
|
7
|
+
PRE_EXISTING = "pre"
|
|
8
|
+
}
|
|
9
|
+
export interface ReviewFinding {
|
|
10
|
+
severity: ReviewSeverity;
|
|
11
|
+
file: string;
|
|
12
|
+
line: number;
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
suggestion?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ReviewResult {
|
|
18
|
+
prTitle: string;
|
|
19
|
+
branch: string;
|
|
20
|
+
baseBranch: string;
|
|
21
|
+
filesChanged: number;
|
|
22
|
+
findings: ReviewFinding[];
|
|
23
|
+
summary: string;
|
|
24
|
+
duration: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* CodeReviewEngine — Multi-agent PR analysis system.
|
|
28
|
+
*
|
|
29
|
+
* Mirrors Claude Code's Code Review:
|
|
30
|
+
* 1. Reads the git diff for the current branch vs base
|
|
31
|
+
* 2. Loads REVIEW.md + COWORKER.md guidance files
|
|
32
|
+
* 3. Analyzes each changed file for:
|
|
33
|
+
* - Logic errors & bugs
|
|
34
|
+
* - Security vulnerabilities
|
|
35
|
+
* - Broken edge cases
|
|
36
|
+
* - Style violations (from REVIEW.md)
|
|
37
|
+
* 4. Returns structured findings with severity + inline line references
|
|
38
|
+
*/
|
|
39
|
+
export declare class CodeReviewEngine {
|
|
40
|
+
private cwd;
|
|
41
|
+
private guidance;
|
|
42
|
+
constructor(cwd?: string);
|
|
43
|
+
/**
|
|
44
|
+
* Loads review guidance from REVIEW.md and COWORKER.md.
|
|
45
|
+
*/
|
|
46
|
+
private loadGuidance;
|
|
47
|
+
/**
|
|
48
|
+
* Gets the git diff between the current branch and the base branch.
|
|
49
|
+
*/
|
|
50
|
+
private getDiff;
|
|
51
|
+
/**
|
|
52
|
+
* Gets the list of changed files with their status.
|
|
53
|
+
*/
|
|
54
|
+
private getChangedFiles;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the current branch info.
|
|
57
|
+
*/
|
|
58
|
+
private getBranchInfo;
|
|
59
|
+
/**
|
|
60
|
+
* Performs static analysis on a single file's diff hunks.
|
|
61
|
+
* This is the "agent" that analyzes each file for issues.
|
|
62
|
+
*/
|
|
63
|
+
private analyzeFile;
|
|
64
|
+
/**
|
|
65
|
+
* Runs a full code review on the current branch.
|
|
66
|
+
* Returns structured findings with severity levels.
|
|
67
|
+
*/
|
|
68
|
+
review(baseBranch?: string): Promise<ReviewResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Generates a human-readable summary of the review.
|
|
71
|
+
*/
|
|
72
|
+
private generateSummary;
|
|
73
|
+
/**
|
|
74
|
+
* Formats the review result for terminal display.
|
|
75
|
+
*/
|
|
76
|
+
static formatForTerminal(result: ReviewResult): string;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=CodeReviewEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeReviewEngine.d.ts","sourceRoot":"","sources":["../../src/review/CodeReviewEngine.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,cAAc;IACxB,MAAM,WAAW,CAAQ,6CAA6C;IACtE,GAAG,QAAQ,CAAc,gDAAgD;IACzE,YAAY,QAAQ;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAc;gBAElB,GAAG,CAAC,EAAE,MAAM;IAIxB;;OAEG;YACW,YAAY;IAmB1B;;OAEG;IACH,OAAO,CAAC,OAAO;IAqBf;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;;OAGG;YACW,WAAW;IAsMzB;;;OAGG;IACU,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAiD/D;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;WACW,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;CAqC9D"}
|
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CodeReviewEngine = exports.ReviewSeverity = void 0;
|
|
37
|
+
const fs = __importStar(require("fs/promises"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const child_process_1 = require("child_process");
|
|
40
|
+
/**
|
|
41
|
+
* Severity levels for code review findings (Claude Code parity).
|
|
42
|
+
*/
|
|
43
|
+
var ReviewSeverity;
|
|
44
|
+
(function (ReviewSeverity) {
|
|
45
|
+
ReviewSeverity["NORMAL"] = "normal";
|
|
46
|
+
ReviewSeverity["NIT"] = "nit";
|
|
47
|
+
ReviewSeverity["PRE_EXISTING"] = "pre";
|
|
48
|
+
})(ReviewSeverity || (exports.ReviewSeverity = ReviewSeverity = {}));
|
|
49
|
+
/**
|
|
50
|
+
* CodeReviewEngine — Multi-agent PR analysis system.
|
|
51
|
+
*
|
|
52
|
+
* Mirrors Claude Code's Code Review:
|
|
53
|
+
* 1. Reads the git diff for the current branch vs base
|
|
54
|
+
* 2. Loads REVIEW.md + COWORKER.md guidance files
|
|
55
|
+
* 3. Analyzes each changed file for:
|
|
56
|
+
* - Logic errors & bugs
|
|
57
|
+
* - Security vulnerabilities
|
|
58
|
+
* - Broken edge cases
|
|
59
|
+
* - Style violations (from REVIEW.md)
|
|
60
|
+
* 4. Returns structured findings with severity + inline line references
|
|
61
|
+
*/
|
|
62
|
+
class CodeReviewEngine {
|
|
63
|
+
constructor(cwd) {
|
|
64
|
+
this.guidance = '';
|
|
65
|
+
this.cwd = cwd || process.cwd();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Loads review guidance from REVIEW.md and COWORKER.md.
|
|
69
|
+
*/
|
|
70
|
+
async loadGuidance() {
|
|
71
|
+
const parts = [];
|
|
72
|
+
// Load COWORKER.md (equivalent to CLAUDE.md)
|
|
73
|
+
try {
|
|
74
|
+
const coworkerMd = await fs.readFile(path.join(this.cwd, 'COWORKER.md'), 'utf8');
|
|
75
|
+
parts.push(`# Project Guidelines (COWORKER.md)\n${coworkerMd}`);
|
|
76
|
+
}
|
|
77
|
+
catch { /* no COWORKER.md */ }
|
|
78
|
+
// Load REVIEW.md (review-specific guidance)
|
|
79
|
+
try {
|
|
80
|
+
const reviewMd = await fs.readFile(path.join(this.cwd, 'REVIEW.md'), 'utf8');
|
|
81
|
+
parts.push(`# Review Guidelines (REVIEW.md)\n${reviewMd}`);
|
|
82
|
+
}
|
|
83
|
+
catch { /* no REVIEW.md */ }
|
|
84
|
+
this.guidance = parts.join('\n\n');
|
|
85
|
+
return this.guidance;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Gets the git diff between the current branch and the base branch.
|
|
89
|
+
*/
|
|
90
|
+
getDiff(baseBranch = 'main') {
|
|
91
|
+
try {
|
|
92
|
+
return (0, child_process_1.execSync)(`git diff ${baseBranch}...HEAD`, {
|
|
93
|
+
cwd: this.cwd,
|
|
94
|
+
encoding: 'utf8',
|
|
95
|
+
maxBuffer: 1024 * 1024 * 10 // 10MB
|
|
96
|
+
}).trim();
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Fallback: diff against the previous commit
|
|
100
|
+
try {
|
|
101
|
+
return (0, child_process_1.execSync)('git diff HEAD~1', {
|
|
102
|
+
cwd: this.cwd,
|
|
103
|
+
encoding: 'utf8',
|
|
104
|
+
maxBuffer: 1024 * 1024 * 10
|
|
105
|
+
}).trim();
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return '';
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Gets the list of changed files with their status.
|
|
114
|
+
*/
|
|
115
|
+
getChangedFiles(baseBranch = 'main') {
|
|
116
|
+
try {
|
|
117
|
+
const output = (0, child_process_1.execSync)(`git diff --name-only ${baseBranch}...HEAD`, {
|
|
118
|
+
cwd: this.cwd,
|
|
119
|
+
encoding: 'utf8'
|
|
120
|
+
}).trim();
|
|
121
|
+
return output ? output.split('\n') : [];
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
try {
|
|
125
|
+
const output = (0, child_process_1.execSync)('git diff --name-only HEAD~1', {
|
|
126
|
+
cwd: this.cwd,
|
|
127
|
+
encoding: 'utf8'
|
|
128
|
+
}).trim();
|
|
129
|
+
return output ? output.split('\n') : [];
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Gets the current branch info.
|
|
138
|
+
*/
|
|
139
|
+
getBranchInfo() {
|
|
140
|
+
try {
|
|
141
|
+
const current = (0, child_process_1.execSync)('git branch --show-current', {
|
|
142
|
+
cwd: this.cwd,
|
|
143
|
+
encoding: 'utf8'
|
|
144
|
+
}).trim();
|
|
145
|
+
// Try to detect base branch
|
|
146
|
+
let base = 'main';
|
|
147
|
+
try {
|
|
148
|
+
(0, child_process_1.execSync)('git rev-parse --verify main', { cwd: this.cwd });
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
try {
|
|
152
|
+
(0, child_process_1.execSync)('git rev-parse --verify master', { cwd: this.cwd });
|
|
153
|
+
base = 'master';
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
base = 'HEAD~1';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return { current, base };
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return { current: 'unknown', base: 'main' };
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Performs static analysis on a single file's diff hunks.
|
|
167
|
+
* This is the "agent" that analyzes each file for issues.
|
|
168
|
+
*/
|
|
169
|
+
async analyzeFile(filePath, diffContent) {
|
|
170
|
+
const findings = [];
|
|
171
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
172
|
+
// Read the full file for context
|
|
173
|
+
let fullContent = '';
|
|
174
|
+
try {
|
|
175
|
+
fullContent = await fs.readFile(path.join(this.cwd, filePath), 'utf8');
|
|
176
|
+
}
|
|
177
|
+
catch { /* file might be deleted */ }
|
|
178
|
+
const lines = fullContent.split('\n');
|
|
179
|
+
// ═══ Security Checks ═══
|
|
180
|
+
for (let i = 0; i < lines.length; i++) {
|
|
181
|
+
const line = lines[i];
|
|
182
|
+
const lineNum = i + 1;
|
|
183
|
+
// Hardcoded secrets/keys
|
|
184
|
+
if (/(?:password|secret|api_key|apikey|token|private_key)\s*[:=]\s*['"][^'"]{8,}/i.test(line) &&
|
|
185
|
+
!line.trim().startsWith('//') && !line.trim().startsWith('#') && !line.trim().startsWith('*')) {
|
|
186
|
+
findings.push({
|
|
187
|
+
severity: ReviewSeverity.NORMAL,
|
|
188
|
+
file: filePath,
|
|
189
|
+
line: lineNum,
|
|
190
|
+
title: 'Potential hardcoded secret',
|
|
191
|
+
description: 'This line appears to contain a hardcoded secret, API key, or password. Secrets should be stored in environment variables or a secrets manager.',
|
|
192
|
+
suggestion: 'Use process.env.YOUR_SECRET_NAME instead of hardcoding the value.'
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
// Console.log in production code
|
|
196
|
+
if (/console\.(log|debug|info)\(/.test(line) &&
|
|
197
|
+
!filePath.includes('test') && !filePath.includes('spec') && !filePath.includes('.config')) {
|
|
198
|
+
findings.push({
|
|
199
|
+
severity: ReviewSeverity.NIT,
|
|
200
|
+
file: filePath,
|
|
201
|
+
line: lineNum,
|
|
202
|
+
title: 'Console statement in production code',
|
|
203
|
+
description: 'console.log/debug/info statements should be removed or replaced with a proper logging framework before merging.',
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// SQL injection risk
|
|
207
|
+
if (/\$\{.*\}/.test(line) && /(?:query|execute|sql|SELECT|INSERT|UPDATE|DELETE)/i.test(line)) {
|
|
208
|
+
findings.push({
|
|
209
|
+
severity: ReviewSeverity.NORMAL,
|
|
210
|
+
file: filePath,
|
|
211
|
+
line: lineNum,
|
|
212
|
+
title: 'Potential SQL injection',
|
|
213
|
+
description: 'String interpolation in SQL queries can lead to SQL injection. Use parameterized queries instead.',
|
|
214
|
+
suggestion: 'Use prepared statements with parameter binding.'
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
// eval() usage
|
|
218
|
+
if (/\beval\s*\(/.test(line)) {
|
|
219
|
+
findings.push({
|
|
220
|
+
severity: ReviewSeverity.NORMAL,
|
|
221
|
+
file: filePath,
|
|
222
|
+
line: lineNum,
|
|
223
|
+
title: 'Use of eval()',
|
|
224
|
+
description: 'eval() executes arbitrary code and is a security vulnerability. Avoid it entirely.',
|
|
225
|
+
suggestion: 'Replace with JSON.parse(), Function constructor, or refactor the logic.'
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
// ═══ Logic Checks (TypeScript/JavaScript) ═══
|
|
230
|
+
if (['.ts', '.tsx', '.js', '.jsx'].includes(ext)) {
|
|
231
|
+
for (let i = 0; i < lines.length; i++) {
|
|
232
|
+
const line = lines[i];
|
|
233
|
+
const lineNum = i + 1;
|
|
234
|
+
// Loose equality
|
|
235
|
+
if (/[^!=]==[^=]/.test(line) && !/===/.test(line)) {
|
|
236
|
+
findings.push({
|
|
237
|
+
severity: ReviewSeverity.NIT,
|
|
238
|
+
file: filePath,
|
|
239
|
+
line: lineNum,
|
|
240
|
+
title: 'Loose equality (==) used',
|
|
241
|
+
description: 'Use strict equality (===) to avoid type coercion bugs.',
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
// Empty catch blocks
|
|
245
|
+
if (/catch\s*\([^)]*\)\s*\{\s*\}/.test(line)) {
|
|
246
|
+
findings.push({
|
|
247
|
+
severity: ReviewSeverity.NIT,
|
|
248
|
+
file: filePath,
|
|
249
|
+
line: lineNum,
|
|
250
|
+
title: 'Empty catch block',
|
|
251
|
+
description: 'Empty catch blocks silently swallow errors. At minimum, log the error.',
|
|
252
|
+
suggestion: 'Add console.error(e) or a comment explaining why the error is intentionally ignored.'
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
// Async without await
|
|
256
|
+
if (/async\s+\w+/.test(line) && !lines.slice(i, Math.min(i + 20, lines.length)).some(l => /await\s/.test(l))) {
|
|
257
|
+
// Only flag if the next 20 lines don't contain await
|
|
258
|
+
findings.push({
|
|
259
|
+
severity: ReviewSeverity.NIT,
|
|
260
|
+
file: filePath,
|
|
261
|
+
line: lineNum,
|
|
262
|
+
title: 'Async function without await',
|
|
263
|
+
description: 'This async function may not need the async keyword if it never awaits.',
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
// TODO/FIXME/HACK comments in new code
|
|
267
|
+
if (/\/\/\s*(TODO|FIXME|HACK|XXX)/i.test(line)) {
|
|
268
|
+
findings.push({
|
|
269
|
+
severity: ReviewSeverity.NIT,
|
|
270
|
+
file: filePath,
|
|
271
|
+
line: lineNum,
|
|
272
|
+
title: `${RegExp.$1.toUpperCase()} comment found`,
|
|
273
|
+
description: `Consider resolving this ${RegExp.$1.toUpperCase()} before merging, or create a tracking issue.`,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// ═══ Python-specific Checks ═══
|
|
279
|
+
if (ext === '.py') {
|
|
280
|
+
for (let i = 0; i < lines.length; i++) {
|
|
281
|
+
const line = lines[i];
|
|
282
|
+
const lineNum = i + 1;
|
|
283
|
+
// Bare except
|
|
284
|
+
if (/except\s*:/.test(line)) {
|
|
285
|
+
findings.push({
|
|
286
|
+
severity: ReviewSeverity.NORMAL,
|
|
287
|
+
file: filePath,
|
|
288
|
+
line: lineNum,
|
|
289
|
+
title: 'Bare except clause',
|
|
290
|
+
description: 'Bare except catches all exceptions including SystemExit and KeyboardInterrupt. Use except Exception: instead.',
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
// Mutable default argument
|
|
294
|
+
if (/def\s+\w+\(.*=\s*(\[\]|\{\}|set\(\))/.test(line)) {
|
|
295
|
+
findings.push({
|
|
296
|
+
severity: ReviewSeverity.NORMAL,
|
|
297
|
+
file: filePath,
|
|
298
|
+
line: lineNum,
|
|
299
|
+
title: 'Mutable default argument',
|
|
300
|
+
description: 'Mutable default arguments are shared between function calls, causing subtle bugs. Use None and initialize inside the function.',
|
|
301
|
+
suggestion: 'def func(items=None): items = items or []'
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// ═══ Apply REVIEW.md custom rules ═══
|
|
307
|
+
if (this.guidance) {
|
|
308
|
+
// Extract "Always check" rules from REVIEW.md
|
|
309
|
+
const alwaysCheckMatch = this.guidance.match(/## Always check\n([\s\S]*?)(?=\n## |$)/i);
|
|
310
|
+
if (alwaysCheckMatch) {
|
|
311
|
+
const rules = alwaysCheckMatch[1].split('\n').filter(l => l.trim().startsWith('-')).map(l => l.replace(/^-\s*/, '').trim());
|
|
312
|
+
for (const rule of rules) {
|
|
313
|
+
// Check if the rule mentions API tests
|
|
314
|
+
if (/api.*test|test.*api/i.test(rule) && /route|endpoint|controller|handler/i.test(filePath)) {
|
|
315
|
+
const hasTests = this.getChangedFiles().some(f => /test|spec/.test(f));
|
|
316
|
+
if (!hasTests) {
|
|
317
|
+
findings.push({
|
|
318
|
+
severity: ReviewSeverity.NORMAL,
|
|
319
|
+
file: filePath,
|
|
320
|
+
line: 1,
|
|
321
|
+
title: 'Missing tests for API change',
|
|
322
|
+
description: `REVIEW.md rule: "${rule}". This file appears to define API routes but no test files were changed in this PR.`,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Extract "Skip" rules from REVIEW.md
|
|
329
|
+
const skipMatch = this.guidance.match(/## Skip\n([\s\S]*?)(?=\n## |$)/i);
|
|
330
|
+
if (skipMatch) {
|
|
331
|
+
const skipRules = skipMatch[1].split('\n').filter(l => l.trim().startsWith('-')).map(l => l.replace(/^-\s*/, '').trim());
|
|
332
|
+
for (const rule of skipRules) {
|
|
333
|
+
// Extract glob patterns from skip rules
|
|
334
|
+
const pathMatch = rule.match(/[`"]?([^\s`"]+\*[^\s`"]*)[`"]?/);
|
|
335
|
+
if (pathMatch) {
|
|
336
|
+
const pattern = pathMatch[1].replace(/\*/g, '');
|
|
337
|
+
if (filePath.includes(pattern.replace(/\//g, path.sep))) {
|
|
338
|
+
// This file matches a skip rule — remove all findings
|
|
339
|
+
return [];
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return findings;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Runs a full code review on the current branch.
|
|
349
|
+
* Returns structured findings with severity levels.
|
|
350
|
+
*/
|
|
351
|
+
async review(baseBranch) {
|
|
352
|
+
const startTime = Date.now();
|
|
353
|
+
const branchInfo = this.getBranchInfo();
|
|
354
|
+
const base = baseBranch || branchInfo.base;
|
|
355
|
+
const diff = this.getDiff(base);
|
|
356
|
+
const changedFiles = this.getChangedFiles(base);
|
|
357
|
+
// Load guidance files
|
|
358
|
+
await this.loadGuidance();
|
|
359
|
+
// Analyze each changed file in parallel (multi-agent simulation)
|
|
360
|
+
const allFindings = [];
|
|
361
|
+
for (const file of changedFiles) {
|
|
362
|
+
try {
|
|
363
|
+
const fileFindings = await this.analyzeFile(file, diff);
|
|
364
|
+
allFindings.push(...fileFindings);
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
// Skip files that can't be analyzed
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// Deduplicate findings (same file + same line + same title)
|
|
371
|
+
const seen = new Set();
|
|
372
|
+
const deduped = allFindings.filter(f => {
|
|
373
|
+
const key = `${f.file}:${f.line}:${f.title}`;
|
|
374
|
+
if (seen.has(key))
|
|
375
|
+
return false;
|
|
376
|
+
seen.add(key);
|
|
377
|
+
return true;
|
|
378
|
+
});
|
|
379
|
+
// Sort by severity (normal first, then nit, then pre-existing)
|
|
380
|
+
const severityOrder = { [ReviewSeverity.NORMAL]: 0, [ReviewSeverity.NIT]: 1, [ReviewSeverity.PRE_EXISTING]: 2 };
|
|
381
|
+
deduped.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
|
|
382
|
+
const duration = Date.now() - startTime;
|
|
383
|
+
return {
|
|
384
|
+
prTitle: `Review of ${branchInfo.current} → ${base}`,
|
|
385
|
+
branch: branchInfo.current,
|
|
386
|
+
baseBranch: base,
|
|
387
|
+
filesChanged: changedFiles.length,
|
|
388
|
+
findings: deduped,
|
|
389
|
+
summary: this.generateSummary(deduped, changedFiles.length),
|
|
390
|
+
duration
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Generates a human-readable summary of the review.
|
|
395
|
+
*/
|
|
396
|
+
generateSummary(findings, filesChanged) {
|
|
397
|
+
const normal = findings.filter(f => f.severity === ReviewSeverity.NORMAL).length;
|
|
398
|
+
const nit = findings.filter(f => f.severity === ReviewSeverity.NIT).length;
|
|
399
|
+
const pre = findings.filter(f => f.severity === ReviewSeverity.PRE_EXISTING).length;
|
|
400
|
+
if (findings.length === 0) {
|
|
401
|
+
return `✅ No issues found across ${filesChanged} file(s). LGTM!`;
|
|
402
|
+
}
|
|
403
|
+
const parts = [];
|
|
404
|
+
if (normal > 0)
|
|
405
|
+
parts.push(`🔴 ${normal} bug(s)`);
|
|
406
|
+
if (nit > 0)
|
|
407
|
+
parts.push(`🟡 ${nit} nit(s)`);
|
|
408
|
+
if (pre > 0)
|
|
409
|
+
parts.push(`🟣 ${pre} pre-existing`);
|
|
410
|
+
return `Found ${findings.length} issue(s) across ${filesChanged} file(s): ${parts.join(', ')}`;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Formats the review result for terminal display.
|
|
414
|
+
*/
|
|
415
|
+
static formatForTerminal(result) {
|
|
416
|
+
const lines = [];
|
|
417
|
+
lines.push(`╔══════════════════════════════════════════════════════╗`);
|
|
418
|
+
lines.push(`║ COWORKER CODE REVIEW ║`);
|
|
419
|
+
lines.push(`╠══════════════════════════════════════════════════════╣`);
|
|
420
|
+
lines.push(`║ Branch: ${result.branch.padEnd(42)} ║`);
|
|
421
|
+
lines.push(`║ Base: ${result.baseBranch.padEnd(42)} ║`);
|
|
422
|
+
lines.push(`║ Files: ${String(result.filesChanged).padEnd(42)} ║`);
|
|
423
|
+
lines.push(`║ Time: ${(result.duration / 1000).toFixed(1)}s${' '.repeat(39)} ║`);
|
|
424
|
+
lines.push(`╠══════════════════════════════════════════════════════╣`);
|
|
425
|
+
lines.push(`║ ${result.summary.padEnd(50)} ║`);
|
|
426
|
+
lines.push(`╚══════════════════════════════════════════════════════╝`);
|
|
427
|
+
if (result.findings.length > 0) {
|
|
428
|
+
lines.push('');
|
|
429
|
+
const severityIcons = {
|
|
430
|
+
[ReviewSeverity.NORMAL]: '🔴',
|
|
431
|
+
[ReviewSeverity.NIT]: '🟡',
|
|
432
|
+
[ReviewSeverity.PRE_EXISTING]: '🟣',
|
|
433
|
+
};
|
|
434
|
+
for (const finding of result.findings) {
|
|
435
|
+
const icon = severityIcons[finding.severity];
|
|
436
|
+
lines.push(`${icon} [${finding.severity.toUpperCase()}] ${finding.title}`);
|
|
437
|
+
lines.push(` 📁 ${finding.file}:${finding.line}`);
|
|
438
|
+
lines.push(` ${finding.description}`);
|
|
439
|
+
if (finding.suggestion) {
|
|
440
|
+
lines.push(` 💡 ${finding.suggestion}`);
|
|
441
|
+
}
|
|
442
|
+
lines.push('');
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
return lines.join('\n');
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
exports.CodeReviewEngine = CodeReviewEngine;
|
|
449
|
+
//# sourceMappingURL=CodeReviewEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeReviewEngine.js","sourceRoot":"","sources":["../../src/review/CodeReviewEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,10 +62,12 @@ class SessionManager {
|
|
|
62
62
|
const dbPath = this.getSessionFilePath();
|
|
63
63
|
const content = await fs.readFile(dbPath, 'utf8');
|
|
64
64
|
this.state = JSON.parse(content);
|
|
65
|
-
|
|
65
|
+
if (process.env.CW_VERBOSE)
|
|
66
|
+
console.log(`[CoWorker Session] Resumed session: ${this.currentSessionId}`);
|
|
66
67
|
}
|
|
67
68
|
catch {
|
|
68
|
-
|
|
69
|
+
if (process.env.CW_VERBOSE)
|
|
70
|
+
console.log(`[CoWorker Session] Started new session: ${this.currentSessionId}`);
|
|
69
71
|
await this.saveCheckpoint();
|
|
70
72
|
}
|
|
71
73
|
}
|
|
@@ -76,7 +78,8 @@ class SessionManager {
|
|
|
76
78
|
await fs.writeFile(dbPath, JSON.stringify(this.state, null, 2), 'utf8');
|
|
77
79
|
}
|
|
78
80
|
catch (err) {
|
|
79
|
-
|
|
81
|
+
if (process.env.CW_VERBOSE)
|
|
82
|
+
console.error(`[CoWorker Session] Failed to save DB: ${err.message}`);
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
/**
|
|
@@ -96,7 +99,8 @@ class SessionManager {
|
|
|
96
99
|
// Very coarse approximation
|
|
97
100
|
const totalChars = this.state.messages.reduce((acc, curr) => acc + curr.content.length, 0);
|
|
98
101
|
if (totalChars > MAX_CHAR_LIMIT) {
|
|
99
|
-
|
|
102
|
+
if (process.env.CW_VERBOSE)
|
|
103
|
+
console.log(`[CoWorker Memory] Context threshold exceeded (${totalChars} chars). Triggering rollup compression.`);
|
|
100
104
|
const messagesToKeep = 15; // Keeping the most recent turns unadulterated
|
|
101
105
|
const oldestMessages = this.state.messages.slice(0, this.state.messages.length - messagesToKeep);
|
|
102
106
|
this.state.summary += `\\n[COMPRESSED HISTORY LOG]: The agent achieved multiple back and forth turns. Focus shifted. Previous tokens collapsed.`;
|
|
@@ -118,7 +122,8 @@ class SessionManager {
|
|
|
118
122
|
const sanitizedName = path.basename(absoluteTarget);
|
|
119
123
|
const backupPath = path.join(checkpointsDir, `${Date.now()}_${sanitizedName}.bak`);
|
|
120
124
|
await fs.writeFile(backupPath, content, 'utf8');
|
|
121
|
-
|
|
125
|
+
if (process.env.CW_VERBOSE)
|
|
126
|
+
console.log(`[CoWorker Safety] Checkpointed ${targetFilePath} before mutation.`);
|
|
122
127
|
}
|
|
123
128
|
catch (e) {
|
|
124
129
|
// Silently ignore if file doesn't exist yet (e.g. for creating new files)
|