@ariso-ai/ivan 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/config.d.ts +10 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +202 -3
  4. package/dist/config.js.map +1 -1
  5. package/dist/database/migrations/009_create_repository_table.d.ts +3 -0
  6. package/dist/database/migrations/009_create_repository_table.d.ts.map +1 -0
  7. package/dist/database/migrations/009_create_repository_table.js +15 -0
  8. package/dist/database/migrations/009_create_repository_table.js.map +1 -0
  9. package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.d.ts +3 -0
  10. package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.d.ts.map +1 -0
  11. package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.js +13 -0
  12. package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.js.map +1 -0
  13. package/dist/database/migrations/011_create_learnings_table.d.ts +3 -0
  14. package/dist/database/migrations/011_create_learnings_table.d.ts.map +1 -0
  15. package/dist/database/migrations/011_create_learnings_table.js +16 -0
  16. package/dist/database/migrations/011_create_learnings_table.js.map +1 -0
  17. package/dist/database/migrations/012_create_learning_embeddings_table.d.ts +3 -0
  18. package/dist/database/migrations/012_create_learning_embeddings_table.d.ts.map +1 -0
  19. package/dist/database/migrations/012_create_learning_embeddings_table.js +13 -0
  20. package/dist/database/migrations/012_create_learning_embeddings_table.js.map +1 -0
  21. package/dist/database/migrations/index.d.ts.map +1 -1
  22. package/dist/database/migrations/index.js +5 -1
  23. package/dist/database/migrations/index.js.map +1 -1
  24. package/dist/database/types.d.ts +11 -0
  25. package/dist/database/types.d.ts.map +1 -1
  26. package/dist/services/address-executor.d.ts.map +1 -1
  27. package/dist/services/address-executor.js +8 -21
  28. package/dist/services/address-executor.js.map +1 -1
  29. package/dist/services/address-task-executor.d.ts.map +1 -1
  30. package/dist/services/address-task-executor.js +5 -6
  31. package/dist/services/address-task-executor.js.map +1 -1
  32. package/dist/services/git-interfaces.d.ts +67 -0
  33. package/dist/services/git-interfaces.d.ts.map +1 -0
  34. package/dist/services/git-interfaces.js +2 -0
  35. package/dist/services/git-interfaces.js.map +1 -0
  36. package/dist/services/git-manager-cli.d.ts +33 -0
  37. package/dist/services/git-manager-cli.d.ts.map +1 -0
  38. package/dist/services/git-manager-cli.js +734 -0
  39. package/dist/services/git-manager-cli.js.map +1 -0
  40. package/dist/services/git-manager-pat.d.ts +36 -0
  41. package/dist/services/git-manager-pat.d.ts.map +1 -0
  42. package/dist/services/git-manager-pat.js +667 -0
  43. package/dist/services/git-manager-pat.js.map +1 -0
  44. package/dist/services/github-api-client.d.ts +115 -0
  45. package/dist/services/github-api-client.d.ts.map +1 -0
  46. package/dist/services/github-api-client.js +256 -0
  47. package/dist/services/github-api-client.js.map +1 -0
  48. package/dist/services/index.d.ts +9 -2
  49. package/dist/services/index.d.ts.map +1 -1
  50. package/dist/services/index.js +12 -2
  51. package/dist/services/index.js.map +1 -1
  52. package/dist/services/job-manager.d.ts +3 -3
  53. package/dist/services/job-manager.d.ts.map +1 -1
  54. package/dist/services/job-manager.js +14 -10
  55. package/dist/services/job-manager.js.map +1 -1
  56. package/dist/services/learn-executor.d.ts +13 -0
  57. package/dist/services/learn-executor.d.ts.map +1 -0
  58. package/dist/services/learn-executor.js +293 -0
  59. package/dist/services/learn-executor.js.map +1 -0
  60. package/dist/services/learning-service.d.ts +30 -0
  61. package/dist/services/learning-service.d.ts.map +1 -0
  62. package/dist/services/learning-service.js +88 -0
  63. package/dist/services/learning-service.js.map +1 -0
  64. package/dist/services/pr-service-cli.d.ts +12 -0
  65. package/dist/services/pr-service-cli.d.ts.map +1 -0
  66. package/dist/services/pr-service-cli.js +291 -0
  67. package/dist/services/pr-service-cli.js.map +1 -0
  68. package/dist/services/pr-service-pat.d.ts +15 -0
  69. package/dist/services/pr-service-pat.d.ts.map +1 -0
  70. package/dist/services/pr-service-pat.js +255 -0
  71. package/dist/services/pr-service-pat.js.map +1 -0
  72. package/dist/services/repository-manager-cli.d.ts +17 -0
  73. package/dist/services/repository-manager-cli.d.ts.map +1 -0
  74. package/dist/services/repository-manager-cli.js +148 -0
  75. package/dist/services/repository-manager-cli.js.map +1 -0
  76. package/dist/services/repository-manager-pat.d.ts +17 -0
  77. package/dist/services/repository-manager-pat.d.ts.map +1 -0
  78. package/dist/services/repository-manager-pat.js +148 -0
  79. package/dist/services/repository-manager-pat.js.map +1 -0
  80. package/dist/services/repository-manager.d.ts +7 -0
  81. package/dist/services/repository-manager.d.ts.map +1 -1
  82. package/dist/services/repository-manager.js +47 -0
  83. package/dist/services/repository-manager.js.map +1 -1
  84. package/dist/services/service-factory.d.ts +27 -0
  85. package/dist/services/service-factory.d.ts.map +1 -0
  86. package/dist/services/service-factory.js +79 -0
  87. package/dist/services/service-factory.js.map +1 -0
  88. package/dist/services/task-executor.d.ts.map +1 -1
  89. package/dist/services/task-executor.js +39 -68
  90. package/dist/services/task-executor.js.map +1 -1
  91. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAa,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAEzE,MAAM,OAAO,UAAU;IACb,SAAS,CAAkB;IAC3B,cAAc,CAAkB;IAChC,cAAc,GAAkB,IAAI,CAAC;IACrC,UAAU,GAA0B,UAAU,CAAC;IAEvD;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,YAAoB;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,4DAA4D;gBACrE,OAAO,EAAE,sFAAsF;gBAC/F,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,YAAY,GAAG,KAAK;yBACvB,KAAK,CAAC,IAAI,CAAC;yBACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;yBAC3D,IAAI,CAAC,IAAI,CAAC;yBACV,IAAI,EAAE,CAAC;oBAEV,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/C,OAAO,gCAAgC,CAAC;oBAC1C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,UAAU,GAAG,SAAS;aACzB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,UAAU,GAAG,UAAU,CAAC;QAC5B,IAAI,UAAU,GAA0B,UAAU,CAAC;QAEnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAChD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,qEAAqE;oBAC9E,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAEnF,0DAA0D;gBAC1D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;wBAC/C;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,6DAA6D;4BACtE,OAAO,EAAE;gCACP,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,UAAU,EAAE;gCACzE,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,QAAQ,EAAE;6BACxE;4BACD,OAAO,EAAE,UAAU;yBACpB;qBACF,CAAC,CAAC;oBACH,UAAU,GAAG,cAAc,CAAC;oBAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,4DAA4D;YAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;gBACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE;wBAC3C,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE;qBAC9D;oBACD,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAC7C;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,kEAAkE;oBAC3E,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;wBACxD,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC7B,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;oBACH,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvB,OAAO,iCAAiC,CAAC;wBAC3C,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CACF,CAAC;gBAEF,UAAU,GAAG,aAAa,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,WAAW,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE5G,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAExE,MAAM,GAAG,GAAQ;YACf,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,YAAoB,EAAE,UAAkB;QAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAExF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE;wBAC3C,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE;wBAC7D,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,UAAU,EAAE;qBACzD;oBACD,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAC7C;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,kEAAkE;oBAC3E,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;wBACnD,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC7B,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;oBACH,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvB,OAAO,iCAAiC,CAAC;wBAC3C,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CACF,CAAC;gBAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;oBACpE,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxB,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;gBACvE,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,OAAO,KAAK,CAAC;QAEf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,gBAA0B,EAAE,YAAoB;QACzF,MAAM,KAAK,GAAW,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,UAAU,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,WAAW;YACX,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,OAAgB;YACtB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAsB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;aACf,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAc;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACxB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,YAAoB;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;aACpC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAc;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;aACf,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,UAAkB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;aAChC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE;aACL,WAAW,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;aACnB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,WAAmB,EAAE,YAAoB,EAAE,OAA8C,OAAO;QAChI,MAAM,IAAI,GAAS;YACjB,IAAI,EAAE,UAAU,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,WAAW;YACX,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,IAAI;YACJ,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,UAAU,CAAC,OAAO,CAAC;aACnB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,gBAAgB,EAAE,CAAC;QAEtB,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,UAAU,CAAC,OAAO,CAAC;aACnB,MAAM,CAAC,eAAe,CAAC;aACvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC5B,gBAAgB,EAAE,CAAC;QAEtB,OAAO,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,UAAkB,EAAE,YAAoB;QAC3E,MAAM,GAAG,GAAQ;YACf,IAAI,EAAE,UAAU,EAAE;YAClB,WAAW;YACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAElD,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,EAAE;aACjB,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;aACnC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;aAC7B,KAAK,CAAC,CAAC,CAAC;aACR,gBAAgB,EAAE,CAAC;QAEtB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ export declare class LearnExecutor {
2
+ private dbManager;
3
+ private learningService;
4
+ constructor();
5
+ execute(workingDir: string): Promise<void>;
6
+ private getOrCreateRepository;
7
+ private generateQuestions;
8
+ private askClaude;
9
+ private confirmOrEditAnswer;
10
+ private promptForFiles;
11
+ close(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=learn-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learn-executor.d.ts","sourceRoot":"","sources":["../../src/services/learn-executor.ts"],"names":[],"mappings":"AAQA,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;;IAOnC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyGlC,qBAAqB;YA+BrB,iBAAiB;YAoFjB,SAAS;YAqCT,mBAAmB;YAqEnB,cAAc;IAqCtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -0,0 +1,293 @@
1
+ import chalk from 'chalk';
2
+ import inquirer from 'inquirer';
3
+ import { ExecutorFactory } from './executor-factory.js';
4
+ import { DatabaseManager } from '../database.js';
5
+ import { LearningService } from './learning-service.js';
6
+ import ora from 'ora';
7
+ export class LearnExecutor {
8
+ dbManager;
9
+ learningService;
10
+ constructor() {
11
+ this.dbManager = new DatabaseManager();
12
+ this.learningService = new LearningService(this.dbManager);
13
+ }
14
+ async execute(workingDir) {
15
+ console.log(chalk.blue.bold('\n🎓 Ivan Learning Mode\n'));
16
+ console.log(chalk.yellow('I\'ll analyze this repository and generate specific questions about patterns, conventions, and nuances that a new engineer should know.\n'));
17
+ // Ensure migrations are run
18
+ await this.dbManager.runMigrations();
19
+ // Get or create repository
20
+ const repositoryId = await this.getOrCreateRepository(workingDir);
21
+ console.log(chalk.cyan(`📦 Repository ID: ${repositoryId}\n`));
22
+ // Generate repository-specific questions using Claude
23
+ const questions = await this.generateQuestions(workingDir);
24
+ if (questions.length === 0) {
25
+ console.log(chalk.yellow('No questions generated. Exiting.'));
26
+ return;
27
+ }
28
+ console.log(chalk.green(`\n✅ Generated ${questions.length} questions about this repository\n`));
29
+ // Step 1: Collect all answers from Claude
30
+ console.log(chalk.blue.bold('\n📚 Collecting answers from Claude...\n'));
31
+ const answeredQuestions = [];
32
+ for (let i = 0; i < questions.length; i++) {
33
+ const question = questions[i];
34
+ console.log(chalk.blue(`\n[${i + 1}/${questions.length}] ${question.question}`));
35
+ try {
36
+ const claudeAnswer = await this.askClaude(question, workingDir);
37
+ answeredQuestions.push({ question, claudeAnswer });
38
+ }
39
+ catch (error) {
40
+ console.log(chalk.yellow('\n⚠️ Claude could not generate an answer. You can write your own or skip this question later.\n'));
41
+ answeredQuestions.push({ question, claudeAnswer: '' });
42
+ }
43
+ }
44
+ // Step 2: Now prompt user for all questions
45
+ console.log(chalk.blue.bold('\n\n📝 Review and edit answers\n'));
46
+ console.log(chalk.gray('Now you can review, edit, or skip each answer.\n'));
47
+ for (let i = 0; i < answeredQuestions.length; i++) {
48
+ const { question, claudeAnswer } = answeredQuestions[i];
49
+ console.log(chalk.blue.bold(`\n[${i + 1}/${answeredQuestions.length}] ${question.question}\n`));
50
+ // Get final answer from user
51
+ const finalAnswer = await this.confirmOrEditAnswer(question.question, claudeAnswer);
52
+ if (!finalAnswer) {
53
+ console.log(chalk.yellow('⏭️ Skipped\n'));
54
+ continue;
55
+ }
56
+ // Ask for relevant files
57
+ const files = await this.promptForFiles(claudeAnswer);
58
+ // Save the learning
59
+ await this.learningService.saveLearning({
60
+ question: question.question,
61
+ answer: finalAnswer,
62
+ files: files,
63
+ repositoryId: repositoryId
64
+ });
65
+ console.log(chalk.green('✅ Learning saved!\n'));
66
+ }
67
+ console.log(chalk.green.bold('\n✅ Learning session completed!\n'));
68
+ console.log(chalk.cyan('All learnings have been saved and can be used to help future engineers understand this codebase.\n'));
69
+ }
70
+ async getOrCreateRepository(workingDir) {
71
+ const db = this.dbManager.getKysely();
72
+ // Try to find existing repository
73
+ const existing = await db
74
+ .selectFrom('repositories')
75
+ .selectAll()
76
+ .where('directory', '=', workingDir)
77
+ .executeTakeFirst();
78
+ if (existing) {
79
+ return existing.id;
80
+ }
81
+ // Create new repository
82
+ const repoName = workingDir.split('/').pop() || 'unknown';
83
+ const result = await db
84
+ .insertInto('repositories')
85
+ .values({
86
+ directory: workingDir,
87
+ name: repoName,
88
+ remote_url: null
89
+ })
90
+ .executeTakeFirst();
91
+ if (result.insertId === undefined) {
92
+ throw new Error('Failed to create repository: no insertId returned');
93
+ }
94
+ return Number(result.insertId);
95
+ }
96
+ async generateQuestions(workingDir) {
97
+ const spinner = ora('Analyzing repository to generate specific questions...').start();
98
+ try {
99
+ const executor = ExecutorFactory.getExecutor();
100
+ const prompt = `Analyze this codebase and generate 10-12 specific questions that would help a new engineer learn HOW TO WRITE CODE in this project.
101
+
102
+ IMPORTANT: Focus on ACTIONABLE questions about how to write code, not questions about how the codebase itself works.
103
+
104
+ Focus on:
105
+ - How to write new features following existing patterns
106
+ - How to add new database migrations or models
107
+ - How to write tests for different types of code
108
+ - How to add new API endpoints or services
109
+ - How to handle errors when writing new code
110
+ - How to structure new files and modules
111
+ - How to name new classes, functions, and variables
112
+ - How to add new configuration options
113
+ - How to integrate with existing services
114
+ - How to add new CLI commands
115
+ - How to work with the database in new code
116
+ - How to follow the project's conventions when adding features
117
+
118
+ DO NOT ask questions like:
119
+ - "How does the authentication system work?"
120
+ - "What files handle routing?"
121
+ - "How are services initialized?"
122
+
123
+ DO ask questions like:
124
+ - "How should I write a new service class following the project's patterns?"
125
+ - "How do I add a new database migration?"
126
+ - "How should I structure error handling when writing new API endpoints?"
127
+ - "How do I add a new CLI command?"
128
+ - "How should I write tests for a new feature?"
129
+
130
+ Return your response as a JSON array of objects with this structure:
131
+ [
132
+ {
133
+ "question": "The specific question",
134
+ "context": "Brief context about where to look or what to examine to answer this question"
135
+ }
136
+ ]
137
+
138
+ Return ONLY the JSON array, no additional text.`;
139
+ const result = await executor.executeTask(prompt, workingDir);
140
+ spinner.succeed('Questions generated');
141
+ // Parse the JSON response
142
+ const response = result.lastMessage.trim();
143
+ // Try to extract JSON from the response
144
+ let jsonMatch = response.match(/\[[\s\S]*\]/);
145
+ if (!jsonMatch) {
146
+ // Try to find JSON in code blocks
147
+ jsonMatch = response.match(/```(?:json)?\s*(\[[\s\S]*?\])\s*```/);
148
+ if (jsonMatch) {
149
+ jsonMatch[0] = jsonMatch[1];
150
+ }
151
+ }
152
+ if (!jsonMatch) {
153
+ console.log(chalk.yellow('\n⚠️ Could not parse questions from Claude\'s response.'));
154
+ console.log(chalk.gray('Response:', response.substring(0, 500)));
155
+ return [];
156
+ }
157
+ const questions = JSON.parse(jsonMatch[0]);
158
+ if (!Array.isArray(questions) || questions.length === 0) {
159
+ console.log(chalk.yellow('\n⚠️ No valid questions generated.'));
160
+ return [];
161
+ }
162
+ return questions;
163
+ }
164
+ catch (error) {
165
+ spinner.fail('Failed to generate questions');
166
+ console.error(chalk.red('Error:'), error);
167
+ return [];
168
+ }
169
+ }
170
+ async askClaude(question, workingDir) {
171
+ const spinner = ora('Asking Claude to explore the codebase...').start();
172
+ try {
173
+ const executor = ExecutorFactory.getExecutor();
174
+ // Construct a detailed prompt for Claude
175
+ const prompt = `${question.question}
176
+
177
+ Context: ${question.context}
178
+
179
+ IMPORTANT: This question is about HOW TO WRITE CODE in this codebase, not about how the codebase works.
180
+
181
+ Please explore the codebase thoroughly and provide a practical, actionable answer that helps a new engineer write code following this project's patterns. Focus on:
182
+ - Being specific with file paths and code examples where relevant
183
+ - Explaining patterns and conventions to FOLLOW when writing new code
184
+ - Providing step-by-step guidance on what files to create/modify
185
+ - Highlighting important conventions a new engineer should follow
186
+ - Showing concrete examples from the codebase to imitate
187
+
188
+ Keep the answer concise but informative (aim for 3-5 paragraphs).`;
189
+ const result = await executor.executeTask(prompt, workingDir);
190
+ spinner.succeed('Claude finished exploring');
191
+ return result.lastMessage || result.log;
192
+ }
193
+ catch (error) {
194
+ spinner.fail('Failed to get answer from Claude');
195
+ console.error(chalk.red('Error:'), error);
196
+ throw error; // Force error handling at the caller level
197
+ }
198
+ }
199
+ async confirmOrEditAnswer(question, claudeAnswer) {
200
+ // If claudeAnswer is empty, don't show it and force manual entry
201
+ if (claudeAnswer.trim()) {
202
+ console.log(chalk.cyan('\n📝 Claude\'s Answer:\n'));
203
+ console.log(chalk.white(claudeAnswer));
204
+ console.log('');
205
+ }
206
+ // If answer is empty, don't allow "Accept as-is" option
207
+ const choices = claudeAnswer.trim()
208
+ ? [
209
+ { name: '✅ Accept as-is', value: 'accept' },
210
+ { name: '✏️ Edit the answer', value: 'edit' },
211
+ { name: '✍️ Write my own answer', value: 'rewrite' },
212
+ { name: '⏭️ Skip this question', value: 'skip' }
213
+ ]
214
+ : [
215
+ { name: '✍️ Write my own answer', value: 'rewrite' },
216
+ { name: '⏭️ Skip this question', value: 'skip' }
217
+ ];
218
+ const { action } = await inquirer.prompt([
219
+ {
220
+ type: 'list',
221
+ name: 'action',
222
+ message: 'What would you like to do with this answer?',
223
+ choices
224
+ }
225
+ ]);
226
+ switch (action) {
227
+ case 'accept':
228
+ return claudeAnswer;
229
+ case 'edit': {
230
+ const { edited } = await inquirer.prompt([
231
+ {
232
+ type: 'editor',
233
+ name: 'edited',
234
+ message: 'Edit the answer (press Enter to open editor):',
235
+ default: claudeAnswer
236
+ }
237
+ ]);
238
+ return edited.trim() || null;
239
+ }
240
+ case 'rewrite': {
241
+ const { custom } = await inquirer.prompt([
242
+ {
243
+ type: 'editor',
244
+ name: 'custom',
245
+ message: 'Write your answer (press Enter to open editor):',
246
+ default: ''
247
+ }
248
+ ]);
249
+ return custom.trim() || null;
250
+ }
251
+ case 'skip':
252
+ return null;
253
+ default:
254
+ return null;
255
+ }
256
+ }
257
+ async promptForFiles(claudeAnswer) {
258
+ // Try to extract file paths from Claude's answer
259
+ const filePathRegex = /(?:^|\s)([a-zA-Z0-9_\-./]+\.(ts|js|json|tsx|jsx|py|go|java|rb|php|css|scss|html|md|yml|yaml|toml|sh|Dockerfile))/gm;
260
+ const matches = claudeAnswer.matchAll(filePathRegex);
261
+ const detectedFiles = Array.from(new Set(Array.from(matches, m => m[1])));
262
+ const { shouldAddFiles } = await inquirer.prompt([
263
+ {
264
+ type: 'confirm',
265
+ name: 'shouldAddFiles',
266
+ message: 'Would you like to associate specific files with this learning?',
267
+ default: detectedFiles.length > 0
268
+ }
269
+ ]);
270
+ if (!shouldAddFiles) {
271
+ return [];
272
+ }
273
+ const { files } = await inquirer.prompt([
274
+ {
275
+ type: 'input',
276
+ name: 'files',
277
+ message: 'Enter file paths (comma-separated):',
278
+ default: detectedFiles.join(', '),
279
+ filter: (input) => {
280
+ return input
281
+ .split(',')
282
+ .map((f) => f.trim())
283
+ .filter((f) => f.length > 0);
284
+ }
285
+ }
286
+ ]);
287
+ return files;
288
+ }
289
+ async close() {
290
+ this.dbManager.close();
291
+ }
292
+ }
293
+ //# sourceMappingURL=learn-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learn-executor.js","sourceRoot":"","sources":["../../src/services/learn-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { DatabaseManager } from '../database.js';
2
+ import { Selectable } from 'kysely';
3
+ import type { Learning as DbLearning } from '../database/types.js';
4
+ export interface OnboardingQuestion {
5
+ question: string;
6
+ context: string;
7
+ }
8
+ export interface LearningSearchResult {
9
+ learning_id: number;
10
+ text: string;
11
+ files: string;
12
+ created_at: string;
13
+ distance: number;
14
+ }
15
+ export interface Learning {
16
+ question: string;
17
+ answer: string;
18
+ files: string[];
19
+ repositoryId: number;
20
+ }
21
+ export declare class LearningService {
22
+ private dbManager;
23
+ private openaiService;
24
+ constructor(dbManager: DatabaseManager);
25
+ saveLearning(learning: Learning): Promise<number>;
26
+ private generateAndStoreEmbedding;
27
+ getRepositoryLearnings(repositoryId: number): Promise<Selectable<DbLearning>[]>;
28
+ searchSimilarLearnings(repositoryId: number, queryText: string, limit?: number): Promise<LearningSearchResult[]>;
29
+ }
30
+ //# sourceMappingURL=learning-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning-service.d.ts","sourceRoot":"","sources":["../../src/services/learning-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,SAAS,EAAE,eAAe;IAKhC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAgCzC,yBAAyB;IAoCjC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;IAa/E,sBAAsB,CAC1B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA+BnC"}
@@ -0,0 +1,88 @@
1
+ import { OpenAIService } from './openai-service.js';
2
+ import chalk from 'chalk';
3
+ export class LearningService {
4
+ dbManager;
5
+ openaiService;
6
+ constructor(dbManager) {
7
+ this.dbManager = dbManager;
8
+ this.openaiService = new OpenAIService();
9
+ }
10
+ async saveLearning(learning) {
11
+ console.log(chalk.blue('💾 Saving learning to database...'));
12
+ const db = this.dbManager.getKysely();
13
+ // Insert the learning
14
+ const result = await db
15
+ .insertInto('learnings')
16
+ .values({
17
+ repository_id: learning.repositoryId,
18
+ text: `Q: ${learning.question}\n\nA: ${learning.answer}`,
19
+ files: JSON.stringify(learning.files)
20
+ })
21
+ .executeTakeFirst();
22
+ if (result.insertId === undefined) {
23
+ throw new Error('Failed to insert learning: no insertId returned');
24
+ }
25
+ const learningId = Number(result.insertId);
26
+ console.log(chalk.green(`✅ Learning saved with ID: ${learningId}`));
27
+ // Generate and store embeddings
28
+ await this.generateAndStoreEmbedding(learningId, learning.question, learning.answer);
29
+ return learningId;
30
+ }
31
+ async generateAndStoreEmbedding(learningId, question, answer) {
32
+ console.log(chalk.blue('🔮 Generating embeddings...'));
33
+ try {
34
+ const openai = await this.openaiService.getClient();
35
+ // Combine question and answer for embedding
36
+ const textToEmbed = `${question}\n\n${answer}`;
37
+ const embeddingResponse = await openai.embeddings.create({
38
+ model: 'text-embedding-3-large',
39
+ input: textToEmbed,
40
+ dimensions: 3072
41
+ });
42
+ const embedding = embeddingResponse.data[0].embedding;
43
+ console.log(chalk.blue('💾 Storing embeddings...'));
44
+ // Convert to Float32Array for sqlite-vec
45
+ const embeddingArray = new Float32Array(embedding);
46
+ // Use DatabaseManager's vector insert method
47
+ this.dbManager.executeVectorInsert(embeddingArray.buffer, learningId, textToEmbed);
48
+ console.log(chalk.green('✅ Embeddings stored successfully'));
49
+ }
50
+ catch (error) {
51
+ console.error(chalk.red('❌ Failed to generate or store embeddings:'), error);
52
+ throw error;
53
+ }
54
+ }
55
+ async getRepositoryLearnings(repositoryId) {
56
+ const db = this.dbManager.getKysely();
57
+ const learnings = await db
58
+ .selectFrom('learnings')
59
+ .selectAll()
60
+ .where('repository_id', '=', repositoryId)
61
+ .orderBy('created_at', 'desc')
62
+ .execute();
63
+ return learnings;
64
+ }
65
+ async searchSimilarLearnings(repositoryId, queryText, limit = 5) {
66
+ console.log(chalk.blue('🔍 Searching for similar learnings...'));
67
+ try {
68
+ const openai = await this.openaiService.getClient();
69
+ // Generate embedding for the query
70
+ const embeddingResponse = await openai.embeddings.create({
71
+ model: 'text-embedding-3-large',
72
+ input: queryText,
73
+ dimensions: 3072
74
+ });
75
+ const queryEmbedding = embeddingResponse.data[0].embedding;
76
+ const embeddingArray = new Float32Array(queryEmbedding);
77
+ // Use DatabaseManager's vector search method
78
+ const results = this.dbManager.executeVectorSearch(embeddingArray.buffer, repositoryId, limit);
79
+ console.log(chalk.green(`✅ Found ${results.length} similar learnings`));
80
+ return results;
81
+ }
82
+ catch (error) {
83
+ console.error(chalk.red('❌ Failed to search similar learnings:'), error);
84
+ throw error;
85
+ }
86
+ }
87
+ }
88
+ //# sourceMappingURL=learning-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning-service.js","sourceRoot":"","sources":["../../src/services/learning-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { IPRService, PullRequest, PRComment } from './git-interfaces.js';
2
+ export declare class PRServiceCLI implements IPRService {
3
+ private workingDir;
4
+ constructor(workingDir: string);
5
+ getSpecificPRWithIssues(prNumber: number): Promise<PullRequest[]>;
6
+ getOpenPRsWithIssues(fromUser?: string): Promise<PullRequest[]>;
7
+ getUnaddressedComments(prNumber: number): Promise<PRComment[]>;
8
+ private getFailingChecks;
9
+ checkoutPRBranch(prNumber: number): Promise<void>;
10
+ getFailingActionLogs(prNumber: number): Promise<string>;
11
+ }
12
+ //# sourceMappingURL=pr-service-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-service-cli.d.ts","sourceRoot":"","sources":["../../src/services/pr-service-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEzE,qBAAa,YAAa,YAAW,UAAU;IAC7C,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAIxB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgEjE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6D/D,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YA0FtD,gBAAgB;IAkDxB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwD9D"}