@aionlabsai/aion 0.2.0 → 0.2.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.
Files changed (118) hide show
  1. package/README.md +224 -9
  2. package/dist/cli/commands/audit.d.ts.map +1 -1
  3. package/dist/cli/commands/audit.js +461 -20
  4. package/dist/cli/commands/audit.js.map +1 -1
  5. package/dist/cli/commands/chat.d.ts +3 -0
  6. package/dist/cli/commands/chat.d.ts.map +1 -0
  7. package/dist/cli/commands/chat.js +128 -0
  8. package/dist/cli/commands/chat.js.map +1 -0
  9. package/dist/cli/commands/diff.d.ts +3 -0
  10. package/dist/cli/commands/diff.d.ts.map +1 -0
  11. package/dist/cli/commands/diff.js +144 -0
  12. package/dist/cli/commands/diff.js.map +1 -0
  13. package/dist/cli/commands/health.d.ts.map +1 -1
  14. package/dist/cli/commands/health.js +17 -0
  15. package/dist/cli/commands/health.js.map +1 -1
  16. package/dist/cli/commands/init.d.ts +3 -0
  17. package/dist/cli/commands/init.d.ts.map +1 -0
  18. package/dist/cli/commands/init.js +52 -0
  19. package/dist/cli/commands/init.js.map +1 -0
  20. package/dist/cli/commands/report.d.ts.map +1 -1
  21. package/dist/cli/commands/report.js +8 -0
  22. package/dist/cli/commands/report.js.map +1 -1
  23. package/dist/cli/menu.d.ts.map +1 -1
  24. package/dist/cli/menu.js +43 -1
  25. package/dist/cli/menu.js.map +1 -1
  26. package/dist/core/orchestrator.d.ts +2 -1
  27. package/dist/core/orchestrator.d.ts.map +1 -1
  28. package/dist/core/orchestrator.js +2 -2
  29. package/dist/core/orchestrator.js.map +1 -1
  30. package/dist/core/pipelines/audit-pipeline.d.ts +9 -1
  31. package/dist/core/pipelines/audit-pipeline.d.ts.map +1 -1
  32. package/dist/core/pipelines/audit-pipeline.js +98 -9
  33. package/dist/core/pipelines/audit-pipeline.js.map +1 -1
  34. package/dist/index.js +7 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/infra/aion-config.d.ts +26 -0
  37. package/dist/infra/aion-config.d.ts.map +1 -0
  38. package/dist/infra/aion-config.js +60 -0
  39. package/dist/infra/aion-config.js.map +1 -0
  40. package/dist/infra/aion-ignore.d.ts +3 -0
  41. package/dist/infra/aion-ignore.d.ts.map +1 -0
  42. package/dist/infra/aion-ignore.js +35 -0
  43. package/dist/infra/aion-ignore.js.map +1 -0
  44. package/dist/infra/audit-cache.d.ts +39 -0
  45. package/dist/infra/audit-cache.d.ts.map +1 -0
  46. package/dist/infra/audit-cache.js +82 -0
  47. package/dist/infra/audit-cache.js.map +1 -0
  48. package/dist/infra/audit-trend.d.ts +17 -0
  49. package/dist/infra/audit-trend.d.ts.map +1 -0
  50. package/dist/infra/audit-trend.js +113 -0
  51. package/dist/infra/audit-trend.js.map +1 -0
  52. package/dist/infra/db/store.d.ts.map +1 -1
  53. package/dist/infra/db/store.js +14 -7
  54. package/dist/infra/db/store.js.map +1 -1
  55. package/dist/infra/embeddings.d.ts.map +1 -1
  56. package/dist/infra/embeddings.js +32 -14
  57. package/dist/infra/embeddings.js.map +1 -1
  58. package/dist/prompts/scanner.d.ts +1 -0
  59. package/dist/prompts/scanner.d.ts.map +1 -1
  60. package/dist/prompts/scanner.js +4 -0
  61. package/dist/prompts/scanner.js.map +1 -1
  62. package/package.json +24 -19
  63. package/dist/agents/planner.test.d.ts +0 -2
  64. package/dist/agents/planner.test.d.ts.map +0 -1
  65. package/dist/agents/planner.test.js +0 -21
  66. package/dist/agents/planner.test.js.map +0 -1
  67. package/dist/core/cost-tracker.test.d.ts +0 -2
  68. package/dist/core/cost-tracker.test.d.ts.map +0 -1
  69. package/dist/core/cost-tracker.test.js +0 -36
  70. package/dist/core/cost-tracker.test.js.map +0 -1
  71. package/dist/core/pipelines/audit-pipeline.test.d.ts +0 -2
  72. package/dist/core/pipelines/audit-pipeline.test.d.ts.map +0 -1
  73. package/dist/core/pipelines/audit-pipeline.test.js +0 -135
  74. package/dist/core/pipelines/audit-pipeline.test.js.map +0 -1
  75. package/dist/core/repo-context.d.ts +0 -2
  76. package/dist/core/repo-context.d.ts.map +0 -1
  77. package/dist/core/repo-context.js +0 -12
  78. package/dist/core/repo-context.js.map +0 -1
  79. package/dist/core/repo-context.test.d.ts +0 -2
  80. package/dist/core/repo-context.test.d.ts.map +0 -1
  81. package/dist/core/repo-context.test.js +0 -40
  82. package/dist/core/repo-context.test.js.map +0 -1
  83. package/dist/core/runtime-policy.test.d.ts +0 -2
  84. package/dist/core/runtime-policy.test.d.ts.map +0 -1
  85. package/dist/core/runtime-policy.test.js +0 -27
  86. package/dist/core/runtime-policy.test.js.map +0 -1
  87. package/dist/infra/bm25.test.d.ts +0 -2
  88. package/dist/infra/bm25.test.d.ts.map +0 -1
  89. package/dist/infra/bm25.test.js +0 -17
  90. package/dist/infra/bm25.test.js.map +0 -1
  91. package/dist/infra/chunker.test.d.ts +0 -2
  92. package/dist/infra/chunker.test.d.ts.map +0 -1
  93. package/dist/infra/chunker.test.js +0 -33
  94. package/dist/infra/chunker.test.js.map +0 -1
  95. package/dist/infra/db/database.d.ts +0 -4
  96. package/dist/infra/db/database.d.ts.map +0 -1
  97. package/dist/infra/db/database.js +0 -25
  98. package/dist/infra/db/database.js.map +0 -1
  99. package/dist/infra/evidence-gate.test.d.ts +0 -2
  100. package/dist/infra/evidence-gate.test.d.ts.map +0 -1
  101. package/dist/infra/evidence-gate.test.js +0 -36
  102. package/dist/infra/evidence-gate.test.js.map +0 -1
  103. package/dist/infra/repo-index.test.d.ts +0 -2
  104. package/dist/infra/repo-index.test.d.ts.map +0 -1
  105. package/dist/infra/repo-index.test.js +0 -53
  106. package/dist/infra/repo-index.test.js.map +0 -1
  107. package/dist/infra/repo-query.test.d.ts +0 -2
  108. package/dist/infra/repo-query.test.d.ts.map +0 -1
  109. package/dist/infra/repo-query.test.js +0 -34
  110. package/dist/infra/repo-query.test.js.map +0 -1
  111. package/dist/infra/semgrep.test.d.ts +0 -2
  112. package/dist/infra/semgrep.test.d.ts.map +0 -1
  113. package/dist/infra/semgrep.test.js +0 -39
  114. package/dist/infra/semgrep.test.js.map +0 -1
  115. package/dist/schemas/audit.test.d.ts +0 -2
  116. package/dist/schemas/audit.test.d.ts.map +0 -1
  117. package/dist/schemas/audit.test.js +0 -41
  118. package/dist/schemas/audit.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/infra/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/infra/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,QAAgB;IAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI;SAChB,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClB,WAAW,EAAE;SACb,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,iBAAiB,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC;IAClD,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAe,EAAE,CAAe;IACxD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC;AAeD,MAAM,OAAO,cAAc;IAGI;IAFZ,QAAQ,CAAS;IAElC,YAA6B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,SAAS,CAAC,QAAgB,EAAE,QAAgB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,SAAS,CAAC,QAAgB,EAAE,QAAgB;QAClD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAmB,CAAC;QAChG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAqB;QACzE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAa;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACrC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAoB;QACnC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACzC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtD,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,IAAI,GAAG,CAAC;QACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAE/C,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAElC,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAC5B,CAAC;oBACpB,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ;wBACR,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;wBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;CACF"}
@@ -5,6 +5,7 @@ export interface ScannerContext {
5
5
  repoSummary?: string;
6
6
  depGraph?: string;
7
7
  hotspotFiles?: string[];
8
+ targetFiles?: string[];
8
9
  }
9
10
  export declare function buildScannerPrompt(domain: ScanDomain, scannerIndex: number, totalScanners: number, ctx?: ScannerContext): string;
10
11
  //# sourceMappingURL=scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/prompts/scanner.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,SAAS,GACT,aAAa,GACb,MAAM,GACN,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,MAAM,GACN,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,CAAC;AAEnB,eAAO,MAAM,YAAY,EAAE,UAAU,EAgBpC,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA8H/D,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,MAAM,CA2ChI"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/prompts/scanner.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,SAAS,GACT,aAAa,GACb,MAAM,GACN,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,MAAM,GACN,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,CAAC;AAEnB,eAAO,MAAM,YAAY,EAAE,UAAU,EAgBpC,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAiI/D,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,MAAM,CA4ChI"}
@@ -129,6 +129,9 @@ Read only matching sections (offset/limit 30 lines) to confirm. Report file+line
129
129
  };
130
130
  function buildContextBlock(ctx) {
131
131
  const parts = [];
132
+ if (ctx.targetFiles && ctx.targetFiles.length > 0) {
133
+ parts.push(`## Target Files For This Audit\nFocus your Read calls on these files first. Use Grep/Bash only to find evidence that points back to these files unless the user explicitly requested a broader run.\n${ctx.targetFiles.map((f) => `- ${f}`).join('\n')}`);
134
+ }
132
135
  if (ctx.repoSummary)
133
136
  parts.push(`## Repository Structure\n${ctx.repoSummary}`);
134
137
  if (ctx.depGraph)
@@ -159,6 +162,7 @@ ${cfg.grepPatterns.map((p) => `- \`${p}\``).join('\n')}
159
162
 
160
163
  ## Important
161
164
  - Do NOT read entire files — use offset/limit to read only relevant sections
165
+ - If Target Files are provided, keep the audit scoped to those files unless a grep result proves a directly related issue elsewhere
162
166
  - Do NOT report false positives — confirm each finding before including it
163
167
  - If a pattern match is benign (e.g., in a comment or test), skip it
164
168
  - Focus on REAL issues with concrete file+line evidence
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/prompts/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/prompts/scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aionlabsai/aion",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Multi-agent AI engineering runtime — audit, fix, graph, analyze",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,10 +8,11 @@
8
8
  "ai-runtime": "dist/index.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "tsc",
12
- "test": "npm run build && node --test \"dist/**/*.test.js\"",
11
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
12
+ "build": "npm run clean && tsc",
13
+ "test": "npm run build && node --import tsx --test \"src/**/*.test.ts\"",
13
14
  "test:unit": "npm run test",
14
- "test:scale": "npm run build && node --test \"dist/core/pipelines/audit-pipeline.test.js\"",
15
+ "test:scale": "npm run build && node --import tsx --test \"src/core/pipelines/audit-pipeline.test.ts\"",
15
16
  "smoke:manus": "npm run dev -- --cwd /home/bruno/Documents/GitHub/Manus_Private audit . -n 1",
16
17
  "dev": "tsx src/index.ts",
17
18
  "start": "node dist/index.js",
@@ -26,26 +27,30 @@
26
27
  "node": ">=18.0.0"
27
28
  },
28
29
  "keywords": [
29
- "ai", "audit", "multi-agent", "code-analysis", "security", "cli"
30
+ "ai",
31
+ "audit",
32
+ "multi-agent",
33
+ "code-analysis",
34
+ "security",
35
+ "cli"
30
36
  ],
31
37
  "author": "Bruno Inácio <contact@walo.us>",
32
38
  "license": "MIT",
33
39
  "dependencies": {
34
- "@anthropic-ai/sdk": "^0.100.1",
35
- "@xenova/transformers": "^2.17.2",
36
- "chalk": "^5.3.0",
37
- "commander": "^13.0.0",
38
- "dotenv": "^16.4.5",
39
- "ora": "^8.0.1",
40
- "tree-sitter": "^0.21.1",
41
- "tree-sitter-typescript": "^0.23.2",
42
- "ts-morph": "^28.0.0",
43
- "web-tree-sitter": "^0.26.9",
44
- "zod": "^3.23.8"
40
+ "@anthropic-ai/sdk": "0.100.1",
41
+ "chalk": "5.6.2",
42
+ "commander": "13.1.0",
43
+ "dotenv": "16.6.1",
44
+ "ora": "8.2.0",
45
+ "tree-sitter": "0.21.1",
46
+ "tree-sitter-typescript": "0.23.2",
47
+ "ts-morph": "28.0.0",
48
+ "web-tree-sitter": "0.26.9",
49
+ "zod": "3.25.76"
45
50
  },
46
51
  "devDependencies": {
47
- "@types/node": "^22.0.0",
48
- "tsx": "^4.22.4",
49
- "typescript": "^5.4.0"
52
+ "@types/node": "22.19.19",
53
+ "tsx": "4.22.4",
54
+ "typescript": "5.9.3"
50
55
  }
51
56
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=planner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner.test.d.ts","sourceRoot":"","sources":["../../src/agents/planner.test.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { PlannerAgent } from './planner.js';
4
- class TestPlannerAgent extends PlannerAgent {
5
- exposeMessage(input) {
6
- return this.buildUserMessage(input);
7
- }
8
- }
9
- test('PlannerAgent includes deterministic repository index context', () => {
10
- const agent = new TestPlannerAgent();
11
- const message = agent.exposeMessage({
12
- taskId: 'task-1',
13
- bugDescription: 'fix auth',
14
- codebaseSummary: '',
15
- repoContext: 'Files:\n src/auth.ts',
16
- worktreePath: '/tmp/repo',
17
- });
18
- assert.match(message, /Deterministic repository index context/);
19
- assert.match(message, /src\/auth.ts/);
20
- });
21
- //# sourceMappingURL=planner.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner.test.js","sourceRoot":"","sources":["../../src/agents/planner.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAE/D,MAAM,gBAAiB,SAAQ,YAAY;IACzC,aAAa,CAAC,KAAmB;QAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAED,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,MAAM,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;QAClC,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cost-tracker.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-tracker.test.d.ts","sourceRoot":"","sources":["../../src/core/cost-tracker.test.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { CostTracker } from './cost-tracker.js';
4
- test('CostTracker summarizes real SDK usage', () => {
5
- const costs = new CostTracker();
6
- costs.record('scanner-security', 'claude-haiku-4-5', {
7
- inputTokens: 1_000,
8
- outputTokens: 500,
9
- cacheReadTokens: 200,
10
- cacheWriteTokens: 100,
11
- }, 123);
12
- assert.equal(costs.usageAvailable(), true);
13
- assert.equal(costs.totalTokens().inputTokens, 1_000);
14
- assert.match(costs.summary(), /cost: \$0\.00/);
15
- assert.match(costs.summary(), /tokens: 1000in 500out/);
16
- });
17
- test('CostTracker reports unavailable usage for CLI providers', () => {
18
- const costs = new CostTracker();
19
- costs.recordUnavailable('scanner-security');
20
- assert.equal(costs.usageAvailable(), false);
21
- assert.match(costs.summary(), /cost: unavailable/);
22
- assert.match(costs.summary(), /usage unavailable: scanner-security/);
23
- });
24
- test('real usage clears unavailable marker for the same agent', () => {
25
- const costs = new CostTracker();
26
- costs.recordUnavailable('scanner-security');
27
- costs.record('scanner-security', 'claude-haiku-4-5', {
28
- inputTokens: 1,
29
- outputTokens: 1,
30
- cacheReadTokens: 0,
31
- cacheWriteTokens: 0,
32
- }, 1);
33
- assert.equal(costs.usageAvailable(), true);
34
- assert.doesNotMatch(costs.summary(), /usage unavailable/);
35
- });
36
- //# sourceMappingURL=cost-tracker.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-tracker.test.js","sourceRoot":"","sources":["../../src/core/cost-tracker.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAEhC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE;QACnD,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,GAAG;QACjB,eAAe,EAAE,GAAG;QACpB,gBAAgB,EAAE,GAAG;KACtB,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAEhC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAEhC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE;QACnD,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,CAAC;KACpB,EAAE,CAAC,CAAC,CAAC;IAEN,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=audit-pipeline.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-pipeline.test.d.ts","sourceRoot":"","sources":["../../../src/core/pipelines/audit-pipeline.test.ts"],"names":[],"mappings":""}
@@ -1,135 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'fs';
4
- import { join } from 'path';
5
- import { tmpdir } from 'os';
6
- import { AuditPipeline, compactScanReport, fallbackAuditReport } from './audit-pipeline.js';
7
- import { createRuntimePolicy } from '../runtime-policy.js';
8
- import { CostTracker } from '../cost-tracker.js';
9
- function makeRepo() {
10
- const dir = mkdtempSync(join(tmpdir(), 'audit-pipeline-'));
11
- for (const sub of ['src', 'node_modules/pkg', 'dist', '.git', 'nested/app']) {
12
- mkdirSync(join(dir, sub), { recursive: true });
13
- }
14
- writeFileSync(join(dir, 'src/app.ts'), 'export function app() { return 1; }\n');
15
- writeFileSync(join(dir, 'src/app.test.ts'), 'test("x", () => {});\n');
16
- writeFileSync(join(dir, 'src/types.d.ts'), 'declare const x: string;\n');
17
- writeFileSync(join(dir, 'src/bundle.min.js'), 'var x=1;\n');
18
- writeFileSync(join(dir, 'src/large.py'), 'x = 1\n'.repeat(50_000));
19
- writeFileSync(join(dir, 'node_modules/pkg/index.ts'), 'export const ignored = true;\n');
20
- writeFileSync(join(dir, 'dist/out.js'), 'console.log(1);\n');
21
- writeFileSync(join(dir, 'nested/app/service.py'), 'def run():\n return True\n');
22
- return dir;
23
- }
24
- function pipeline(cwd) {
25
- return new AuditPipeline(cwd, createRuntimePolicy(), new CostTracker(), () => { }, () => { });
26
- }
27
- test('collectAuditStats filters generated, test, dependency, and oversized files', () => {
28
- const dir = makeRepo();
29
- try {
30
- const stats = pipeline(dir).collectAuditStats('.');
31
- assert.deepEqual(stats.auditFiles, ['nested/app/service.py', 'src/app.ts']);
32
- assert.equal(stats.oversizedFiles, 1);
33
- assert.equal(stats.byExtension['.ts'], 3);
34
- assert.equal(stats.byExtension['.js'], 1);
35
- assert.equal(stats.byExtension['.py'], 2);
36
- assert.ok(stats.ignoredDirs >= 3);
37
- }
38
- finally {
39
- rmSync(dir, { recursive: true, force: true });
40
- }
41
- });
42
- test('collectAuditStats respects target subdirectory', () => {
43
- const dir = makeRepo();
44
- try {
45
- const stats = pipeline(dir).collectAuditStats('nested');
46
- assert.deepEqual(stats.auditFiles, ['nested/app/service.py']);
47
- assert.equal(stats.totalFiles, 1);
48
- }
49
- finally {
50
- rmSync(dir, { recursive: true, force: true });
51
- }
52
- });
53
- test('collectAuditStats scales across thousands of files without including ignored dirs', () => {
54
- const dir = mkdtempSync(join(tmpdir(), 'audit-scale-'));
55
- try {
56
- mkdirSync(join(dir, 'src'), { recursive: true });
57
- mkdirSync(join(dir, 'node_modules/pkg'), { recursive: true });
58
- for (let i = 0; i < 2_100; i++) {
59
- writeFileSync(join(dir, 'src', `file-${i}.ts`), `export const value${i} = ${i};\n`);
60
- }
61
- for (let i = 0; i < 500; i++) {
62
- writeFileSync(join(dir, 'node_modules/pkg', `ignored-${i}.ts`), 'export const ignored = true;\n');
63
- }
64
- const started = Date.now();
65
- const stats = pipeline(dir).collectAuditStats('.');
66
- assert.equal(stats.auditFiles.length, 2_100);
67
- assert.equal(stats.auditFiles.some((file) => file.includes('node_modules')), false);
68
- assert.ok(Date.now() - started < 2_000);
69
- }
70
- finally {
71
- rmSync(dir, { recursive: true, force: true });
72
- }
73
- });
74
- test('compactScanReport limits findings and text size', () => {
75
- const report = compactScanReport({
76
- filesScanned: Array.from({ length: 100 }, (_, i) => `file-${i}.ts`),
77
- summary: 'summary '.repeat(200),
78
- findings: Array.from({ length: 20 }, (_, i) => ({
79
- file: `file-${i}.ts`,
80
- line: i + 1,
81
- severity: i % 2 === 0 ? 'critical' : 'low',
82
- category: 'security',
83
- finding: 'finding '.repeat(100),
84
- recommendation: 'recommendation '.repeat(100),
85
- })),
86
- }, 5);
87
- assert.equal(report.findings.length, 5);
88
- assert.equal(report.filesScanned.length, 80);
89
- assert.ok(report.summary.length <= 703);
90
- assert.ok(report.findings.every((finding) => finding.finding.length <= 363));
91
- });
92
- test('fallbackAuditReport deduplicates and ranks findings locally', () => {
93
- const report = fallbackAuditReport([
94
- {
95
- filesScanned: ['a.ts'],
96
- summary: 'first',
97
- findings: [{
98
- file: 'a.ts',
99
- line: 1,
100
- severity: 'low',
101
- category: 'testing',
102
- finding: 'duplicate',
103
- recommendation: 'fix',
104
- }],
105
- },
106
- {
107
- filesScanned: ['a.ts', 'b.ts'],
108
- summary: 'second',
109
- findings: [
110
- {
111
- file: 'a.ts',
112
- line: 1,
113
- severity: 'low',
114
- category: 'testing',
115
- finding: 'duplicate',
116
- recommendation: 'fix',
117
- },
118
- {
119
- file: 'b.ts',
120
- line: 2,
121
- severity: 'critical',
122
- category: 'security',
123
- finding: 'critical issue',
124
- recommendation: 'fix now',
125
- },
126
- ],
127
- },
128
- ], 42);
129
- assert.equal(report.totalFiles, 42);
130
- assert.equal(report.findings.length, 2);
131
- assert.equal(report.findings[0]?.severity, 'critical');
132
- assert.equal(report.criticalCount, 1);
133
- assert.equal(report.highCount, 0);
134
- });
135
- //# sourceMappingURL=audit-pipeline.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-pipeline.test.js","sourceRoot":"","sources":["../../../src/core/pipelines/audit-pipeline.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function buildRepoContext(cwd: string, target: string): string;
2
- //# sourceMappingURL=repo-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.d.ts","sourceRoot":"","sources":["../../src/core/repo-context.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQpE"}
@@ -1,12 +0,0 @@
1
- import { formatRepoQuery, loadRepoIndex, queryRepoIndex } from '../infra/repo-query.js';
2
- export function buildRepoContext(cwd, target) {
3
- const index = loadRepoIndex(cwd);
4
- if (!index)
5
- return '';
6
- const result = queryRepoIndex(index, target, 8);
7
- return [
8
- `Repository index: ${index.stats.files} files, ${index.stats.symbols} symbols, ${index.stats.imports} imports, ${index.stats.chunks} chunks.`,
9
- formatRepoQuery(result),
10
- ].join('\n\n');
11
- }
12
- //# sourceMappingURL=repo-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.js","sourceRoot":"","sources":["../../src/core/repo-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAc;IAC1D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO;QACL,qBAAqB,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,KAAK,CAAC,MAAM,UAAU;QAC7I,eAAe,CAAC,MAAM,CAAC;KACxB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=repo-context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.test.d.ts","sourceRoot":"","sources":["../../src/core/repo-context.test.ts"],"names":[],"mappings":""}
@@ -1,40 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'fs';
4
- import { join } from 'path';
5
- import { tmpdir } from 'os';
6
- import { buildRepoContext } from './repo-context.js';
7
- test('buildRepoContext returns empty string without index', () => {
8
- const dir = mkdtempSync(join(tmpdir(), 'repo-context-empty-'));
9
- try {
10
- assert.equal(buildRepoContext(dir, 'auth'), '');
11
- }
12
- finally {
13
- rmSync(dir, { recursive: true, force: true });
14
- }
15
- });
16
- test('buildRepoContext renders deterministic index evidence', () => {
17
- const dir = mkdtempSync(join(tmpdir(), 'repo-context-'));
18
- try {
19
- mkdirSync(join(dir, '.ai-runtime'), { recursive: true });
20
- const index = {
21
- version: 1,
22
- generatedAt: '2026-01-01T00:00:00.000Z',
23
- root: dir,
24
- files: [{ path: 'src/auth.ts', ext: '.ts', loc: 10, bytes: 100, isTest: false }],
25
- symbols: [{ name: 'login', kind: 'function', file: 'src/auth.ts', line: 1 }],
26
- imports: [],
27
- chunks: [],
28
- tests: [],
29
- stats: { files: 1, symbols: 1, imports: 0, chunks: 0, testLinks: 0 },
30
- };
31
- writeFileSync(join(dir, '.ai-runtime', 'repo-index.json'), JSON.stringify(index), 'utf8');
32
- const context = buildRepoContext(dir, 'login');
33
- assert.match(context, /Repository index: 1 files/);
34
- assert.match(context, /login function src\/auth.ts:1/);
35
- }
36
- finally {
37
- rmSync(dir, { recursive: true, force: true });
38
- }
39
- });
40
- //# sourceMappingURL=repo-context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.test.js","sourceRoot":"","sources":["../../src/core/repo-context.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAc;YACvB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAChF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5E,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;SACrE,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAE1F,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IACzD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=runtime-policy.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-policy.test.d.ts","sourceRoot":"","sources":["../../src/core/runtime-policy.test.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { createRuntimePolicy, limitChars, limitLines } from './runtime-policy.js';
4
- test('low budget is economical by default', () => {
5
- const policy = createRuntimePolicy();
6
- assert.equal(policy.budget, 'low');
7
- assert.equal(policy.deep, false);
8
- assert.equal(policy.maxAgents, 3);
9
- assert.equal(policy.maxFileLines, 500);
10
- assert.equal(policy.plannerProvider, 'claude');
11
- assert.equal(policy.investigatorProvider, 'claude');
12
- assert.equal(policy.developerProvider, 'claude');
13
- assert.equal(policy.reviewerProvider, 'claude');
14
- });
15
- test('deep budget enables multi-investigator fan out', () => {
16
- const policy = createRuntimePolicy({ budget: 'deep' });
17
- assert.equal(policy.deep, true);
18
- assert.equal(policy.maxAgents, 7);
19
- });
20
- test('limitLines truncates over-budget text', () => {
21
- const text = ['a', 'b', 'c'].join('\n');
22
- assert.equal(limitLines(text, 2), 'a\nb\n[truncated: 1 lines omitted]');
23
- });
24
- test('limitChars truncates over-budget text', () => {
25
- assert.equal(limitChars('abcdef', 3), 'abc\n[truncated: 3 chars omitted]');
26
- });
27
- //# sourceMappingURL=runtime-policy.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-policy.test.js","sourceRoot":"","sources":["../../src/core/runtime-policy.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC/C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAErC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bm25.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bm25.test.d.ts","sourceRoot":"","sources":["../../src/infra/bm25.test.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { BM25Index, hybridScore } from './bm25.js';
4
- test('BM25Index prioritizes exact symbol matches', () => {
5
- const index = new BM25Index();
6
- index.add('auth', 'function validateToken() { return true; }');
7
- index.add('billing', 'function createInvoice() { return true; }');
8
- const results = index.score('validateToken');
9
- assert.equal(results[0]?.id, 'auth');
10
- assert.ok((results[0]?.score ?? 0) > (results[1]?.score ?? 0));
11
- });
12
- test('hybridScore combines BM25 and vector scores', () => {
13
- const results = hybridScore([{ id: 'a', score: 10 }, { id: 'b', score: 1 }], [{ id: 'b', score: 1 }, { id: 'c', score: 0.5 }], 0.5);
14
- assert.equal(results[0]?.id, 'b');
15
- assert.deepEqual(new Set(results.map((r) => r.id)), new Set(['a', 'b', 'c']));
16
- });
17
- //# sourceMappingURL=bm25.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bm25.test.js","sourceRoot":"","sources":["../../src/infra/bm25.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnD,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACtD,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;IAC/D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAC/C,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAChD,GAAG,CACJ,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=chunker.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunker.test.d.ts","sourceRoot":"","sources":["../../src/infra/chunker.test.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import test from 'node:test';
2
- import assert from 'node:assert/strict';
3
- import { mkdtempSync, writeFileSync, rmSync } from 'fs';
4
- import { join } from 'path';
5
- import { tmpdir } from 'os';
6
- import { chunkFile, getChunkAroundLine } from './chunker.js';
7
- test('chunkFile falls back to bounded line chunks for non Tree-sitter extensions', async () => {
8
- const dir = mkdtempSync(join(tmpdir(), 'chunker-'));
9
- const file = join(dir, 'sample.py');
10
- try {
11
- writeFileSync(file, Array.from({ length: 80 }, (_, i) => `line_${i} = ${i}`).join('\n'));
12
- const chunks = await chunkFile(file, 100);
13
- assert.ok(chunks.length > 1);
14
- assert.equal(chunks[0]?.startLine, 1);
15
- assert.ok((chunks[0]?.tokens ?? 0) <= 100);
16
- }
17
- finally {
18
- rmSync(dir, { recursive: true, force: true });
19
- }
20
- });
21
- test('getChunkAroundLine returns focused context', async () => {
22
- const dir = mkdtempSync(join(tmpdir(), 'chunk-around-'));
23
- const file = join(dir, 'sample.ts');
24
- try {
25
- writeFileSync(file, Array.from({ length: 20 }, (_, i) => `line ${i + 1}`).join('\n'));
26
- const text = await getChunkAroundLine(file, 10, 2);
27
- assert.equal(text, ['line 8', 'line 9', 'line 10', 'line 11', 'line 12'].join('\n'));
28
- }
29
- finally {
30
- rmSync(dir, { recursive: true, force: true });
31
- }
32
- });
33
- //# sourceMappingURL=chunker.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunker.test.js","sourceRoot":"","sources":["../../src/infra/chunker.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE7D,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import Database from 'better-sqlite3';
2
- export declare function getDb(): Database.Database;
3
- export declare function closeDb(): void;
4
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/infra/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAYtC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAQzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}