uneven-ai 1.0.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/LICENSE +6 -2
  3. package/README.md +227 -133
  4. package/dist/application/analysis/active/context.d.ts +32 -0
  5. package/dist/application/analysis/active/context.d.ts.map +1 -0
  6. package/dist/application/analysis/active/context.js +60 -0
  7. package/dist/application/analysis/active/helpers.d.ts +22 -0
  8. package/dist/application/analysis/active/helpers.d.ts.map +1 -0
  9. package/dist/application/analysis/active/helpers.js +75 -0
  10. package/dist/application/analysis/active/http.d.ts +6 -0
  11. package/dist/application/analysis/active/http.d.ts.map +1 -0
  12. package/dist/application/analysis/active/http.js +137 -0
  13. package/dist/application/analysis/active/index.d.ts +19 -0
  14. package/dist/application/analysis/active/index.d.ts.map +1 -0
  15. package/dist/application/analysis/active/index.js +48 -0
  16. package/dist/application/analysis/active/network.d.ts +5 -0
  17. package/dist/application/analysis/active/network.d.ts.map +1 -0
  18. package/dist/application/analysis/active/network.js +104 -0
  19. package/dist/application/analysis/dashboard-generator.d.ts +1 -1
  20. package/dist/application/analysis/dashboard-generator.d.ts.map +1 -1
  21. package/dist/application/analysis/dashboard-generator.js +8 -6
  22. package/dist/application/analysis/data-analyst/analyzer.d.ts +29 -0
  23. package/dist/application/analysis/data-analyst/analyzer.d.ts.map +1 -0
  24. package/dist/application/analysis/data-analyst/analyzer.js +205 -0
  25. package/dist/application/analysis/data-analyst/constants.d.ts +6 -0
  26. package/dist/application/analysis/data-analyst/constants.d.ts.map +1 -0
  27. package/dist/application/analysis/data-analyst/constants.js +8 -0
  28. package/dist/application/analysis/data-analyst/index.d.ts +4 -0
  29. package/dist/application/analysis/data-analyst/index.d.ts.map +1 -0
  30. package/dist/application/analysis/data-analyst/index.js +3 -0
  31. package/dist/application/analysis/data-analyst/introspection.d.ts +6 -0
  32. package/dist/application/analysis/data-analyst/introspection.d.ts.map +1 -0
  33. package/dist/application/analysis/data-analyst/introspection.js +86 -0
  34. package/dist/application/analysis/data-analyst/query-gen.d.ts +12 -0
  35. package/dist/application/analysis/data-analyst/query-gen.d.ts.map +1 -0
  36. package/dist/application/analysis/data-analyst/query-gen.js +87 -0
  37. package/dist/application/analysis/data-analyst/types.d.ts +25 -0
  38. package/dist/application/analysis/data-analyst/types.d.ts.map +1 -0
  39. package/dist/application/analysis/data-analyst/types.js +1 -0
  40. package/dist/application/analysis/data-analyst/utils.d.ts +11 -0
  41. package/dist/application/analysis/data-analyst/utils.d.ts.map +1 -0
  42. package/dist/application/analysis/data-analyst/utils.js +73 -0
  43. package/dist/application/analysis/data-security/context.d.ts +34 -0
  44. package/dist/application/analysis/data-security/context.d.ts.map +1 -0
  45. package/dist/application/analysis/{data-security-context.js → data-security/context.js} +6 -101
  46. package/dist/application/analysis/data-security/defaults.d.ts +7 -0
  47. package/dist/application/analysis/data-security/defaults.d.ts.map +1 -0
  48. package/dist/application/analysis/data-security/defaults.js +51 -0
  49. package/dist/application/analysis/data-security/index.d.ts +4 -0
  50. package/dist/application/analysis/data-security/index.d.ts.map +1 -0
  51. package/dist/application/analysis/data-security/index.js +3 -0
  52. package/dist/application/analysis/data-security/types.d.ts +26 -0
  53. package/dist/application/analysis/data-security/types.d.ts.map +1 -0
  54. package/dist/application/analysis/data-security/types.js +1 -0
  55. package/dist/application/analysis/data-security/utils.d.ts +2 -0
  56. package/dist/application/analysis/data-security/utils.d.ts.map +1 -0
  57. package/dist/application/analysis/data-security/utils.js +3 -0
  58. package/dist/application/analysis/dep-auditor.d.ts +45 -0
  59. package/dist/application/analysis/dep-auditor.d.ts.map +1 -0
  60. package/dist/application/analysis/dep-auditor.js +105 -0
  61. package/dist/application/analysis/excel-exporter.d.ts +1 -1
  62. package/dist/application/analysis/excel-exporter.d.ts.map +1 -1
  63. package/dist/application/analysis/excel-exporter.js +8 -4
  64. package/dist/application/analysis/llm-security-reviewer.d.ts +1 -1
  65. package/dist/application/analysis/llm-security-reviewer.d.ts.map +1 -1
  66. package/dist/application/analysis/llm-security-reviewer.js +4 -1
  67. package/dist/application/analysis/malware/analyzer.d.ts +17 -0
  68. package/dist/application/analysis/malware/analyzer.d.ts.map +1 -0
  69. package/dist/application/analysis/malware/analyzer.js +55 -0
  70. package/dist/application/analysis/malware/dep-scanner.d.ts +16 -0
  71. package/dist/application/analysis/malware/dep-scanner.d.ts.map +1 -0
  72. package/dist/application/analysis/malware/dep-scanner.js +128 -0
  73. package/dist/application/analysis/malware/file-scanner.d.ts +10 -0
  74. package/dist/application/analysis/malware/file-scanner.d.ts.map +1 -0
  75. package/dist/application/analysis/malware/file-scanner.js +80 -0
  76. package/dist/application/analysis/malware/index.d.ts +4 -0
  77. package/dist/application/analysis/malware/index.d.ts.map +1 -0
  78. package/dist/application/analysis/malware/index.js +3 -0
  79. package/dist/application/analysis/malware/rules.d.ts +3 -0
  80. package/dist/application/analysis/malware/rules.d.ts.map +1 -0
  81. package/dist/application/analysis/malware/rules.js +125 -0
  82. package/dist/application/analysis/malware/semantic.d.ts +5 -0
  83. package/dist/application/analysis/malware/semantic.d.ts.map +1 -0
  84. package/dist/application/analysis/malware/semantic.js +35 -0
  85. package/dist/application/analysis/malware/types.d.ts +36 -0
  86. package/dist/application/analysis/malware/types.d.ts.map +1 -0
  87. package/dist/application/analysis/malware/types.js +1 -0
  88. package/dist/application/analysis/malware/utils.d.ts +14 -0
  89. package/dist/application/analysis/malware/utils.d.ts.map +1 -0
  90. package/dist/application/analysis/malware/utils.js +75 -0
  91. package/dist/application/analysis/pentest-security-context.js +2 -2
  92. package/dist/application/analysis/report-packager.d.ts.map +1 -1
  93. package/dist/application/analysis/report-packager.js +21 -17
  94. package/dist/application/analysis/sbom-generator.d.ts +1 -1
  95. package/dist/application/analysis/sbom-generator.d.ts.map +1 -1
  96. package/dist/application/analysis/sbom-generator.js +1 -1
  97. package/dist/application/analysis/security/analyzer.d.ts +27 -0
  98. package/dist/application/analysis/security/analyzer.d.ts.map +1 -0
  99. package/dist/application/analysis/security/analyzer.js +89 -0
  100. package/dist/application/analysis/security/config-scanner.d.ts +7 -0
  101. package/dist/application/analysis/security/config-scanner.d.ts.map +1 -0
  102. package/dist/application/analysis/security/config-scanner.js +168 -0
  103. package/dist/application/analysis/security/dependency-scanner.d.ts +11 -0
  104. package/dist/application/analysis/security/dependency-scanner.d.ts.map +1 -0
  105. package/dist/application/analysis/security/dependency-scanner.js +219 -0
  106. package/dist/application/analysis/security/header-scanner.d.ts +7 -0
  107. package/dist/application/analysis/security/header-scanner.d.ts.map +1 -0
  108. package/dist/application/analysis/security/header-scanner.js +111 -0
  109. package/dist/application/analysis/security/index.d.ts +3 -0
  110. package/dist/application/analysis/security/index.d.ts.map +1 -0
  111. package/dist/application/analysis/security/index.js +3 -0
  112. package/dist/application/analysis/security/owasp-scanner.d.ts +11 -0
  113. package/dist/application/analysis/security/owasp-scanner.d.ts.map +1 -0
  114. package/dist/application/analysis/security/owasp-scanner.js +234 -0
  115. package/dist/application/analysis/security/secrets-scanner.d.ts +11 -0
  116. package/dist/application/analysis/security/secrets-scanner.d.ts.map +1 -0
  117. package/dist/application/analysis/security/secrets-scanner.js +185 -0
  118. package/dist/application/analysis/security/types.d.ts +21 -0
  119. package/dist/application/analysis/security/types.d.ts.map +1 -0
  120. package/dist/application/analysis/security/types.js +15 -0
  121. package/dist/application/analysis/security/utils.d.ts +26 -0
  122. package/dist/application/analysis/security/utils.d.ts.map +1 -0
  123. package/dist/application/analysis/security/utils.js +97 -0
  124. package/dist/application/analysis/security-reporter.d.ts +1 -1
  125. package/dist/application/analysis/security-reporter.d.ts.map +1 -1
  126. package/dist/application/analysis/security-reporter.js +1 -1
  127. package/dist/application/analysis/supply-chain-auditor.d.ts +1 -1
  128. package/dist/application/analysis/supply-chain-auditor.d.ts.map +1 -1
  129. package/dist/application/development/analyst-job-manager.d.ts +3 -1
  130. package/dist/application/development/analyst-job-manager.d.ts.map +1 -1
  131. package/dist/application/development/analyst-job-manager.js +23 -6
  132. package/dist/application/development/fix/apply.d.ts +3 -0
  133. package/dist/application/development/fix/apply.d.ts.map +1 -0
  134. package/dist/application/development/fix/apply.js +169 -0
  135. package/dist/application/development/fix/context.d.ts +50 -0
  136. package/dist/application/development/fix/context.d.ts.map +1 -0
  137. package/dist/application/development/fix/context.js +1 -0
  138. package/dist/application/development/fix/helpers.d.ts +10 -0
  139. package/dist/application/development/fix/helpers.d.ts.map +1 -0
  140. package/dist/application/development/fix/helpers.js +13 -0
  141. package/dist/application/development/fix/index.d.ts +25 -0
  142. package/dist/application/development/fix/index.d.ts.map +1 -0
  143. package/dist/application/development/fix/index.js +34 -0
  144. package/dist/application/development/fix/patterns-compiled.d.ts +6 -0
  145. package/dist/application/development/fix/patterns-compiled.d.ts.map +1 -0
  146. package/dist/application/development/fix/patterns-compiled.js +123 -0
  147. package/dist/application/development/fix/patterns-runtime.d.ts +8 -0
  148. package/dist/application/development/fix/patterns-runtime.d.ts.map +1 -0
  149. package/dist/application/development/fix/patterns-runtime.js +255 -0
  150. package/dist/application/development/fix/suggest.d.ts +4 -0
  151. package/dist/application/development/fix/suggest.d.ts.map +1 -0
  152. package/dist/application/development/fix/suggest.js +151 -0
  153. package/dist/application/development/test-runner.d.ts.map +1 -1
  154. package/dist/application/development/test-runner.js +20 -6
  155. package/dist/application/index.d.ts +9 -7
  156. package/dist/application/index.d.ts.map +1 -1
  157. package/dist/application/index.js +9 -7
  158. package/dist/application/notifications/webhook-notifier.d.ts +46 -0
  159. package/dist/application/notifications/webhook-notifier.d.ts.map +1 -0
  160. package/dist/application/notifications/webhook-notifier.js +138 -0
  161. package/dist/application/orchestration/engine/ask.d.ts +13 -0
  162. package/dist/application/orchestration/engine/ask.d.ts.map +1 -0
  163. package/dist/application/orchestration/engine/ask.js +155 -0
  164. package/dist/application/orchestration/engine/context.d.ts +30 -0
  165. package/dist/application/orchestration/engine/context.d.ts.map +1 -0
  166. package/dist/application/orchestration/engine/context.js +13 -0
  167. package/dist/application/orchestration/engine/error-handler.d.ts +7 -0
  168. package/dist/application/orchestration/engine/error-handler.d.ts.map +1 -0
  169. package/dist/application/orchestration/engine/error-handler.js +204 -0
  170. package/dist/application/orchestration/engine/file-reader.d.ts +16 -0
  171. package/dist/application/orchestration/engine/file-reader.d.ts.map +1 -0
  172. package/dist/application/orchestration/engine/file-reader.js +141 -0
  173. package/dist/application/orchestration/engine/format-readers.d.ts +6 -0
  174. package/dist/application/orchestration/engine/format-readers.d.ts.map +1 -0
  175. package/dist/application/orchestration/engine/format-readers.js +143 -0
  176. package/dist/application/orchestration/engine/index.d.ts +45 -0
  177. package/dist/application/orchestration/engine/index.d.ts.map +1 -0
  178. package/dist/application/orchestration/engine/index.js +60 -0
  179. package/dist/application/orchestration/engine/indexer.d.ts +4 -0
  180. package/dist/application/orchestration/engine/indexer.d.ts.map +1 -0
  181. package/dist/application/orchestration/engine/indexer.js +223 -0
  182. package/dist/application/orchestration/engine/lifecycle.d.ts +6 -0
  183. package/dist/application/orchestration/engine/lifecycle.d.ts.map +1 -0
  184. package/dist/application/orchestration/engine/lifecycle.js +114 -0
  185. package/dist/application/orchestration/engine/pentest.d.ts +3 -0
  186. package/dist/application/orchestration/engine/pentest.d.ts.map +1 -0
  187. package/dist/application/orchestration/engine/pentest.js +126 -0
  188. package/dist/application/orchestration/engine/watcher.d.ts +3 -0
  189. package/dist/application/orchestration/engine/watcher.d.ts.map +1 -0
  190. package/dist/application/orchestration/engine/watcher.js +135 -0
  191. package/dist/application/orchestration/incremental-index.d.ts +7 -2
  192. package/dist/application/orchestration/incremental-index.d.ts.map +1 -1
  193. package/dist/application/orchestration/incremental-index.js +29 -5
  194. package/dist/application/orchestration/knowledge-retriever.d.ts.map +1 -1
  195. package/dist/application/orchestration/knowledge-retriever.js +10 -4
  196. package/dist/application/remote-shell/server.d.ts +27 -0
  197. package/dist/application/remote-shell/server.d.ts.map +1 -0
  198. package/dist/application/remote-shell/server.js +221 -0
  199. package/dist/cli/commands/analyze/batch.d.ts +5 -0
  200. package/dist/cli/commands/analyze/batch.d.ts.map +1 -0
  201. package/dist/cli/commands/analyze/batch.js +78 -0
  202. package/dist/cli/commands/analyze/command.d.ts +3 -0
  203. package/dist/cli/commands/analyze/command.d.ts.map +1 -0
  204. package/dist/cli/commands/analyze/command.js +167 -0
  205. package/dist/cli/commands/analyze/index.d.ts +3 -0
  206. package/dist/cli/commands/analyze/index.d.ts.map +1 -0
  207. package/dist/cli/commands/analyze/index.js +2 -0
  208. package/dist/cli/commands/analyze/prompts.d.ts +6 -0
  209. package/dist/cli/commands/analyze/prompts.d.ts.map +1 -0
  210. package/dist/cli/commands/analyze/prompts.js +28 -0
  211. package/dist/cli/commands/analyze/types.d.ts +6 -0
  212. package/dist/cli/commands/analyze/types.d.ts.map +1 -0
  213. package/dist/cli/commands/analyze/types.js +1 -0
  214. package/dist/cli/commands/analyze/ui.d.ts +5 -0
  215. package/dist/cli/commands/analyze/ui.d.ts.map +1 -0
  216. package/dist/cli/commands/analyze/ui.js +51 -0
  217. package/dist/cli/commands/ask.js +3 -2
  218. package/dist/cli/commands/askf.d.ts +22 -0
  219. package/dist/cli/commands/askf.d.ts.map +1 -1
  220. package/dist/cli/commands/askf.js +36 -22
  221. package/dist/cli/commands/chat.d.ts +23 -0
  222. package/dist/cli/commands/chat.d.ts.map +1 -0
  223. package/dist/cli/commands/chat.js +134 -0
  224. package/dist/cli/commands/ci.d.ts.map +1 -1
  225. package/dist/cli/commands/ci.js +9 -4
  226. package/dist/cli/commands/diff.d.ts +2 -2
  227. package/dist/cli/commands/diff.d.ts.map +1 -1
  228. package/dist/cli/commands/diff.js +1 -1
  229. package/dist/cli/commands/docs.d.ts +34 -0
  230. package/dist/cli/commands/docs.d.ts.map +1 -0
  231. package/dist/cli/commands/docs.js +149 -0
  232. package/dist/cli/commands/explain.d.ts +28 -0
  233. package/dist/cli/commands/explain.d.ts.map +1 -0
  234. package/dist/cli/commands/explain.js +115 -0
  235. package/dist/cli/commands/info.d.ts.map +1 -1
  236. package/dist/cli/commands/init/command.d.ts +2 -0
  237. package/dist/cli/commands/init/command.d.ts.map +1 -0
  238. package/dist/cli/commands/init/command.js +161 -0
  239. package/dist/cli/commands/init/config-builder.d.ts +3 -0
  240. package/dist/cli/commands/init/config-builder.d.ts.map +1 -0
  241. package/dist/cli/commands/init/config-builder.js +71 -0
  242. package/dist/cli/commands/init/constants.d.ts +15 -0
  243. package/dist/cli/commands/init/constants.d.ts.map +1 -0
  244. package/dist/cli/commands/init/constants.js +34 -0
  245. package/dist/cli/commands/init/downloader.d.ts +4 -0
  246. package/dist/cli/commands/init/downloader.d.ts.map +1 -0
  247. package/dist/cli/commands/init/downloader.js +124 -0
  248. package/dist/cli/commands/init/index.d.ts +2 -0
  249. package/dist/cli/commands/init/index.d.ts.map +1 -0
  250. package/dist/cli/commands/init/index.js +1 -0
  251. package/dist/cli/commands/log.d.ts.map +1 -1
  252. package/dist/cli/commands/log.js +7 -2
  253. package/dist/cli/commands/pentest.d.ts +1 -0
  254. package/dist/cli/commands/pentest.d.ts.map +1 -1
  255. package/dist/cli/commands/pentest.js +4 -3
  256. package/dist/cli/commands/remote-shell.d.ts +12 -0
  257. package/dist/cli/commands/remote-shell.d.ts.map +1 -0
  258. package/dist/cli/commands/remote-shell.js +71 -0
  259. package/dist/cli/commands/review.d.ts +34 -0
  260. package/dist/cli/commands/review.d.ts.map +1 -0
  261. package/dist/cli/commands/review.js +183 -0
  262. package/dist/cli/commands/scan.d.ts.map +1 -1
  263. package/dist/cli/commands/scan.js +66 -2
  264. package/dist/cli/commands/shell.d.ts +16 -0
  265. package/dist/cli/commands/shell.d.ts.map +1 -0
  266. package/dist/cli/commands/shell.js +295 -0
  267. package/dist/cli/commands/start.d.ts.map +1 -1
  268. package/dist/cli/commands/start.js +7 -0
  269. package/dist/cli/commands/watch.d.ts +29 -2
  270. package/dist/cli/commands/watch.d.ts.map +1 -1
  271. package/dist/cli/commands/watch.js +121 -9
  272. package/dist/cli/errors.d.ts +5 -0
  273. package/dist/cli/errors.d.ts.map +1 -0
  274. package/dist/cli/errors.js +21 -0
  275. package/dist/cli/help.d.ts +3 -0
  276. package/dist/cli/help.d.ts.map +1 -0
  277. package/dist/cli/help.js +73 -0
  278. package/dist/cli/index.js +35 -328
  279. package/dist/cli/registry/index.d.ts +6 -0
  280. package/dist/cli/registry/index.d.ts.map +1 -0
  281. package/dist/cli/registry/index.js +9 -0
  282. package/dist/cli/registry/setup.d.ts +3 -0
  283. package/dist/cli/registry/setup.d.ts.map +1 -0
  284. package/dist/cli/registry/setup.js +138 -0
  285. package/dist/cli/registry/tools.d.ts +3 -0
  286. package/dist/cli/registry/tools.d.ts.map +1 -0
  287. package/dist/cli/registry/tools.js +124 -0
  288. package/dist/cli/shell/brain-classifier.d.ts +33 -0
  289. package/dist/cli/shell/brain-classifier.d.ts.map +1 -0
  290. package/dist/cli/shell/brain-classifier.js +149 -0
  291. package/dist/cli/shell/intent-classifier.d.ts +19 -0
  292. package/dist/cli/shell/intent-classifier.d.ts.map +1 -0
  293. package/dist/cli/shell/intent-classifier.js +64 -0
  294. package/dist/cli/theme.js +1 -1
  295. package/dist/domain/entities/session/constants.d.ts +8 -0
  296. package/dist/domain/entities/session/constants.d.ts.map +1 -0
  297. package/dist/domain/entities/session/constants.js +7 -0
  298. package/dist/domain/entities/session/index.d.ts +4 -0
  299. package/dist/domain/entities/session/index.d.ts.map +1 -0
  300. package/dist/domain/entities/session/index.js +3 -0
  301. package/dist/domain/entities/session/lock-manager.d.ts +14 -0
  302. package/dist/domain/entities/session/lock-manager.d.ts.map +1 -0
  303. package/dist/domain/entities/session/lock-manager.js +107 -0
  304. package/dist/domain/entities/session/manager.d.ts +66 -0
  305. package/dist/domain/entities/session/manager.d.ts.map +1 -0
  306. package/dist/domain/entities/session/manager.js +241 -0
  307. package/dist/domain/entities/session/types.d.ts +62 -0
  308. package/dist/domain/entities/session/types.d.ts.map +1 -0
  309. package/dist/domain/entities/session/types.js +1 -0
  310. package/dist/domain/entities/session/utils.d.ts +3 -0
  311. package/dist/domain/entities/session/utils.d.ts.map +1 -0
  312. package/dist/domain/entities/session/utils.js +19 -0
  313. package/dist/domain/entities/snapshot.d.ts.map +1 -1
  314. package/dist/domain/entities/snapshot.js +8 -2
  315. package/dist/domain/index.d.ts +1 -1
  316. package/dist/domain/index.d.ts.map +1 -1
  317. package/dist/domain/index.js +1 -1
  318. package/dist/domain/services/resource-guardian.d.ts.map +1 -1
  319. package/dist/domain/services/resource-guardian.js +10 -2
  320. package/dist/domain/services/safety-guard.d.ts.map +1 -1
  321. package/dist/domain/services/safety-guard.js +28 -8
  322. package/dist/infrastructure/adapters/bridge.d.ts +3 -0
  323. package/dist/infrastructure/adapters/bridge.d.ts.map +1 -1
  324. package/dist/infrastructure/adapters/bridge.js +33 -24
  325. package/dist/infrastructure/adapters/providers/claude.d.ts +4 -0
  326. package/dist/infrastructure/adapters/providers/claude.d.ts.map +1 -0
  327. package/dist/infrastructure/adapters/providers/claude.js +65 -0
  328. package/dist/infrastructure/adapters/providers/gemini.d.ts +4 -0
  329. package/dist/infrastructure/adapters/providers/gemini.d.ts.map +1 -0
  330. package/dist/infrastructure/adapters/providers/gemini.js +62 -0
  331. package/dist/infrastructure/adapters/providers/helpers.d.ts +4 -0
  332. package/dist/infrastructure/adapters/providers/helpers.d.ts.map +1 -0
  333. package/dist/infrastructure/adapters/providers/helpers.js +34 -0
  334. package/dist/infrastructure/adapters/providers/index.d.ts +11 -0
  335. package/dist/infrastructure/adapters/providers/index.d.ts.map +1 -0
  336. package/dist/infrastructure/adapters/providers/index.js +55 -0
  337. package/dist/infrastructure/adapters/providers/ollama.d.ts +4 -0
  338. package/dist/infrastructure/adapters/providers/ollama.d.ts.map +1 -0
  339. package/dist/infrastructure/adapters/providers/ollama.js +56 -0
  340. package/dist/infrastructure/adapters/providers/openai.d.ts +4 -0
  341. package/dist/infrastructure/adapters/providers/openai.d.ts.map +1 -0
  342. package/dist/infrastructure/adapters/providers/openai.js +65 -0
  343. package/dist/infrastructure/adapters/providers/types.d.ts +48 -0
  344. package/dist/infrastructure/adapters/providers/types.d.ts.map +1 -0
  345. package/dist/infrastructure/adapters/providers/types.js +1 -0
  346. package/dist/infrastructure/index.d.ts +3 -3
  347. package/dist/infrastructure/index.d.ts.map +1 -1
  348. package/dist/infrastructure/index.js +3 -3
  349. package/dist/infrastructure/io/db-loader.d.ts.map +1 -1
  350. package/dist/infrastructure/io/db-loader.js +23 -5
  351. package/dist/infrastructure/io/file-watcher.d.ts.map +1 -1
  352. package/dist/infrastructure/io/file-watcher.js +26 -7
  353. package/dist/infrastructure/io/git-manager.d.ts +22 -0
  354. package/dist/infrastructure/io/git-manager.d.ts.map +1 -1
  355. package/dist/infrastructure/io/git-manager.js +67 -39
  356. package/dist/infrastructure/io/logger/index.d.ts +5 -2
  357. package/dist/infrastructure/io/logger/index.d.ts.map +1 -1
  358. package/dist/infrastructure/io/logger/index.js +13 -9
  359. package/dist/infrastructure/io/process-watcher.d.ts +4 -0
  360. package/dist/infrastructure/io/process-watcher.d.ts.map +1 -1
  361. package/dist/infrastructure/io/process-watcher.js +32 -3
  362. package/dist/infrastructure/io/web-scraper.d.ts +13 -3
  363. package/dist/infrastructure/io/web-scraper.d.ts.map +1 -1
  364. package/dist/infrastructure/io/web-scraper.js +43 -21
  365. package/dist/infrastructure/license/gate.d.ts +2 -0
  366. package/dist/infrastructure/license/gate.d.ts.map +1 -1
  367. package/dist/infrastructure/license/gate.js +8 -3
  368. package/dist/infrastructure/license/index.d.ts +2 -2
  369. package/dist/infrastructure/license/index.d.ts.map +1 -1
  370. package/dist/infrastructure/license/index.js +2 -2
  371. package/dist/infrastructure/license/manager.d.ts.map +1 -1
  372. package/dist/infrastructure/license/manager.js +35 -10
  373. package/dist/infrastructure/license/storage.d.ts.map +1 -1
  374. package/dist/infrastructure/license/storage.js +29 -5
  375. package/dist/infrastructure/license/verifier.d.ts.map +1 -1
  376. package/dist/infrastructure/license/verifier.js +9 -3
  377. package/dist/infrastructure/utils/config-loader.d.ts +5 -0
  378. package/dist/infrastructure/utils/config-loader.d.ts.map +1 -1
  379. package/dist/infrastructure/utils/config-loader.js +118 -16
  380. package/dist/infrastructure/utils/error-parser/helpers.d.ts +24 -0
  381. package/dist/infrastructure/utils/error-parser/helpers.d.ts.map +1 -0
  382. package/dist/infrastructure/utils/error-parser/helpers.js +94 -0
  383. package/dist/infrastructure/utils/error-parser/index.d.ts +13 -0
  384. package/dist/infrastructure/utils/error-parser/index.d.ts.map +1 -0
  385. package/dist/infrastructure/utils/error-parser/index.js +46 -0
  386. package/dist/infrastructure/utils/error-parser/parsers-compiled.d.ts +6 -0
  387. package/dist/infrastructure/utils/error-parser/parsers-compiled.d.ts.map +1 -0
  388. package/dist/infrastructure/utils/error-parser/parsers-compiled.js +171 -0
  389. package/dist/infrastructure/utils/error-parser/parsers-dynamic.d.ts +8 -0
  390. package/dist/infrastructure/utils/error-parser/parsers-dynamic.d.ts.map +1 -0
  391. package/dist/infrastructure/utils/error-parser/parsers-dynamic.js +182 -0
  392. package/dist/infrastructure/utils/error-parser/types.d.ts +12 -0
  393. package/dist/infrastructure/utils/error-parser/types.d.ts.map +1 -0
  394. package/dist/infrastructure/utils/error-parser/types.js +1 -0
  395. package/dist/infrastructure/utils/migration.d.ts.map +1 -1
  396. package/dist/infrastructure/utils/migration.js +26 -11
  397. package/dist/infrastructure/utils/process-lock.d.ts.map +1 -1
  398. package/dist/infrastructure/utils/process-lock.js +15 -0
  399. package/examples/demo.sh +13 -6
  400. package/examples/demo.ts +50 -45
  401. package/examples/knowledge/bugs.md +71 -0
  402. package/package.json +4 -3
  403. package/prebuilds/darwin-arm64/uneven_core.node +0 -0
  404. package/prebuilds/linux-arm64/uneven_core.node +0 -0
  405. package/prebuilds/linux-x64/uneven_core.node +0 -0
  406. package/prebuilds/win32-x64/uneven_core.node +0 -0
  407. package/types/index.d.ts +45 -0
  408. package/dist/application/analysis/active-scanner.d.ts +0 -34
  409. package/dist/application/analysis/active-scanner.d.ts.map +0 -1
  410. package/dist/application/analysis/active-scanner.js +0 -454
  411. package/dist/application/analysis/data-analyst.d.ts +0 -86
  412. package/dist/application/analysis/data-analyst.d.ts.map +0 -1
  413. package/dist/application/analysis/data-analyst.js +0 -530
  414. package/dist/application/analysis/data-security-context.d.ts +0 -94
  415. package/dist/application/analysis/data-security-context.d.ts.map +0 -1
  416. package/dist/application/analysis/malware-scanner.d.ts +0 -64
  417. package/dist/application/analysis/malware-scanner.d.ts.map +0 -1
  418. package/dist/application/analysis/malware-scanner.js +0 -526
  419. package/dist/application/analysis/security-analyzer.d.ts +0 -37
  420. package/dist/application/analysis/security-analyzer.d.ts.map +0 -1
  421. package/dist/application/analysis/security-analyzer.js +0 -1083
  422. package/dist/application/development/fix-engine.d.ts +0 -123
  423. package/dist/application/development/fix-engine.d.ts.map +0 -1
  424. package/dist/application/development/fix-engine.js +0 -792
  425. package/dist/application/orchestration/engine.d.ts +0 -169
  426. package/dist/application/orchestration/engine.d.ts.map +0 -1
  427. package/dist/application/orchestration/engine.js +0 -1329
  428. package/dist/cli/commands/analyze.d.ts +0 -19
  429. package/dist/cli/commands/analyze.d.ts.map +0 -1
  430. package/dist/cli/commands/analyze.js +0 -447
  431. package/dist/cli/commands/init.d.ts +0 -5
  432. package/dist/cli/commands/init.d.ts.map +0 -1
  433. package/dist/cli/commands/init.js +0 -374
  434. package/dist/core/active-scanner.d.ts +0 -34
  435. package/dist/core/active-scanner.d.ts.map +0 -1
  436. package/dist/core/active-scanner.js +0 -454
  437. package/dist/core/analyst-job-manager.d.ts +0 -47
  438. package/dist/core/analyst-job-manager.d.ts.map +0 -1
  439. package/dist/core/analyst-job-manager.js +0 -96
  440. package/dist/core/bridge.d.ts +0 -56
  441. package/dist/core/bridge.d.ts.map +0 -1
  442. package/dist/core/bridge.js +0 -182
  443. package/dist/core/chunker.d.ts +0 -30
  444. package/dist/core/chunker.d.ts.map +0 -1
  445. package/dist/core/chunker.js +0 -172
  446. package/dist/core/config-loader.d.ts +0 -27
  447. package/dist/core/config-loader.d.ts.map +0 -1
  448. package/dist/core/config-loader.js +0 -75
  449. package/dist/core/dashboard-generator.d.ts +0 -30
  450. package/dist/core/dashboard-generator.d.ts.map +0 -1
  451. package/dist/core/dashboard-generator.js +0 -293
  452. package/dist/core/data-analyst.d.ts +0 -86
  453. package/dist/core/data-analyst.d.ts.map +0 -1
  454. package/dist/core/data-analyst.js +0 -464
  455. package/dist/core/data-security-context.d.ts +0 -94
  456. package/dist/core/data-security-context.d.ts.map +0 -1
  457. package/dist/core/data-security-context.js +0 -253
  458. package/dist/core/db-loader.d.ts +0 -34
  459. package/dist/core/db-loader.d.ts.map +0 -1
  460. package/dist/core/db-loader.js +0 -191
  461. package/dist/core/engine.d.ts +0 -141
  462. package/dist/core/engine.d.ts.map +0 -1
  463. package/dist/core/engine.js +0 -1127
  464. package/dist/core/error-parser.d.ts +0 -42
  465. package/dist/core/error-parser.d.ts.map +0 -1
  466. package/dist/core/error-parser.js +0 -477
  467. package/dist/core/excel-exporter.d.ts +0 -35
  468. package/dist/core/excel-exporter.d.ts.map +0 -1
  469. package/dist/core/excel-exporter.js +0 -124
  470. package/dist/core/external-providers.d.ts +0 -34
  471. package/dist/core/external-providers.d.ts.map +0 -1
  472. package/dist/core/external-providers.js +0 -366
  473. package/dist/core/file-watcher.d.ts +0 -47
  474. package/dist/core/file-watcher.d.ts.map +0 -1
  475. package/dist/core/file-watcher.js +0 -125
  476. package/dist/core/fix-engine.d.ts +0 -112
  477. package/dist/core/fix-engine.d.ts.map +0 -1
  478. package/dist/core/fix-engine.js +0 -767
  479. package/dist/core/git-manager.d.ts +0 -83
  480. package/dist/core/git-manager.d.ts.map +0 -1
  481. package/dist/core/git-manager.js +0 -211
  482. package/dist/core/hardware-detector.d.ts +0 -34
  483. package/dist/core/hardware-detector.d.ts.map +0 -1
  484. package/dist/core/hardware-detector.js +0 -76
  485. package/dist/core/incremental-index.d.ts +0 -79
  486. package/dist/core/incremental-index.d.ts.map +0 -1
  487. package/dist/core/incremental-index.js +0 -173
  488. package/dist/core/index-planner.d.ts +0 -55
  489. package/dist/core/index-planner.d.ts.map +0 -1
  490. package/dist/core/index-planner.js +0 -148
  491. package/dist/core/knowledge-retriever.d.ts +0 -56
  492. package/dist/core/knowledge-retriever.d.ts.map +0 -1
  493. package/dist/core/knowledge-retriever.js +0 -146
  494. package/dist/core/license/fingerprint.d.ts +0 -8
  495. package/dist/core/license/fingerprint.d.ts.map +0 -1
  496. package/dist/core/license/fingerprint.js +0 -18
  497. package/dist/core/license/gate.d.ts +0 -6
  498. package/dist/core/license/gate.d.ts.map +0 -1
  499. package/dist/core/license/gate.js +0 -18
  500. package/dist/core/license/index.d.ts +0 -5
  501. package/dist/core/license/index.d.ts.map +0 -1
  502. package/dist/core/license/index.js +0 -4
  503. package/dist/core/license/manager.d.ts +0 -36
  504. package/dist/core/license/manager.d.ts.map +0 -1
  505. package/dist/core/license/manager.js +0 -134
  506. package/dist/core/license/storage.d.ts +0 -17
  507. package/dist/core/license/storage.d.ts.map +0 -1
  508. package/dist/core/license/storage.js +0 -30
  509. package/dist/core/license/verifier.d.ts +0 -25
  510. package/dist/core/license/verifier.d.ts.map +0 -1
  511. package/dist/core/license/verifier.js +0 -33
  512. package/dist/core/llm-security-reviewer.d.ts +0 -37
  513. package/dist/core/llm-security-reviewer.d.ts.map +0 -1
  514. package/dist/core/llm-security-reviewer.js +0 -150
  515. package/dist/core/logger/index.d.ts +0 -56
  516. package/dist/core/logger/index.d.ts.map +0 -1
  517. package/dist/core/logger/index.js +0 -134
  518. package/dist/core/malware-scanner.d.ts +0 -64
  519. package/dist/core/malware-scanner.d.ts.map +0 -1
  520. package/dist/core/malware-scanner.js +0 -526
  521. package/dist/core/pentest-security-context.d.ts +0 -109
  522. package/dist/core/pentest-security-context.d.ts.map +0 -1
  523. package/dist/core/pentest-security-context.js +0 -334
  524. package/dist/core/process-lock.d.ts +0 -56
  525. package/dist/core/process-lock.d.ts.map +0 -1
  526. package/dist/core/process-lock.js +0 -123
  527. package/dist/core/process-watcher.d.ts +0 -57
  528. package/dist/core/process-watcher.d.ts.map +0 -1
  529. package/dist/core/process-watcher.js +0 -158
  530. package/dist/core/report-packager.d.ts +0 -54
  531. package/dist/core/report-packager.d.ts.map +0 -1
  532. package/dist/core/report-packager.js +0 -230
  533. package/dist/core/resource-guardian.d.ts +0 -39
  534. package/dist/core/resource-guardian.d.ts.map +0 -1
  535. package/dist/core/resource-guardian.js +0 -105
  536. package/dist/core/safety-guard.d.ts +0 -29
  537. package/dist/core/safety-guard.d.ts.map +0 -1
  538. package/dist/core/safety-guard.js +0 -79
  539. package/dist/core/sbom-generator.d.ts +0 -26
  540. package/dist/core/sbom-generator.d.ts.map +0 -1
  541. package/dist/core/sbom-generator.js +0 -211
  542. package/dist/core/security-analyzer.d.ts +0 -37
  543. package/dist/core/security-analyzer.d.ts.map +0 -1
  544. package/dist/core/security-analyzer.js +0 -1048
  545. package/dist/core/security-reporter.d.ts +0 -25
  546. package/dist/core/security-reporter.d.ts.map +0 -1
  547. package/dist/core/security-reporter.js +0 -266
  548. package/dist/core/session.d.ts +0 -150
  549. package/dist/core/session.d.ts.map +0 -1
  550. package/dist/core/session.js +0 -364
  551. package/dist/core/snapshot.d.ts +0 -65
  552. package/dist/core/snapshot.d.ts.map +0 -1
  553. package/dist/core/snapshot.js +0 -188
  554. package/dist/core/supply-chain-auditor.d.ts +0 -21
  555. package/dist/core/supply-chain-auditor.d.ts.map +0 -1
  556. package/dist/core/supply-chain-auditor.js +0 -213
  557. package/dist/core/test-runner.d.ts +0 -61
  558. package/dist/core/test-runner.d.ts.map +0 -1
  559. package/dist/core/test-runner.js +0 -333
  560. package/dist/core/timeout.d.ts +0 -19
  561. package/dist/core/timeout.d.ts.map +0 -1
  562. package/dist/core/timeout.js +0 -28
  563. package/dist/core/web-scraper.d.ts +0 -36
  564. package/dist/core/web-scraper.d.ts.map +0 -1
  565. package/dist/core/web-scraper.js +0 -201
  566. package/dist/domain/entities/session.d.ts +0 -188
  567. package/dist/domain/entities/session.d.ts.map +0 -1
  568. package/dist/domain/entities/session.js +0 -396
  569. package/dist/infrastructure/adapters/external-providers.d.ts +0 -34
  570. package/dist/infrastructure/adapters/external-providers.d.ts.map +0 -1
  571. package/dist/infrastructure/adapters/external-providers.js +0 -392
  572. package/dist/infrastructure/utils/error-parser.d.ts +0 -47
  573. package/dist/infrastructure/utils/error-parser.d.ts.map +0 -1
  574. package/dist/infrastructure/utils/error-parser.js +0 -586
package/CHANGELOG.md CHANGED
@@ -5,6 +5,79 @@ All notable changes to Uneven AI will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.0] - 2026-04-20
9
+
10
+ ### Added
11
+
12
+ - **Privacy Hardening**: Enhanced protection for development environment privacy. Absolute paths from the host machine are now automatically stripped from distribution binaries.
13
+ - **Scalability**: New memory-optimized indexing architecture for massive codebases, allowing the engine to scale to millions of lines with a minimal RAM footprint.
14
+ - **Project Integrity**: Real-time configuration schema validation to prevent malformed settings from affecting system stability.
15
+
16
+ ### Fixed
17
+
18
+ - **Stability**: Improved sub-process management to ensure clean termination of development servers and dependent tasks, preventing orphan processes and resource leaks.
19
+ - **Reliability**: Advanced loop protection and binary-header identification in the knowledge indexing engine for safer directory traversal.
20
+ - **Error Propagation**: Enriched internal error system for more precise diagnostics and user feedback during AI inference.
21
+
22
+ ## [1.0.8] - 2026-04-19
23
+
24
+ ### Fixed
25
+
26
+ - **watcher/terminal**: `start()` now returns `Ok(None)` for non-zero exit codes instead of silently returning `Ok(())`; `Send + 'static` bound removed from `stream_output` callback; `&mut self` corrected to `&self`; I/O errors on reader tasks now emit warning instead of silent EOF
27
+ - **watcher/error_parser**: `message` now extracts the line containing the regex match instead of always returning the first line of output (fixes preamble cases like Rust panics)
28
+ - **watcher/mod**: path traversal guard added to `watch_directory` — `../` paths are now rejected
29
+ - **retrieval**: cosine similarity clamped to `max(0.0)` before `to_bits()` ordering — negative scores were ranking semantically opposite documents above similar ones
30
+ - **retrieval**: `write_hnsw` index save now uses atomic tmp+rename — SIGKILL during save no longer corrupts the index permanently
31
+ - **retrieval**: `stats()` now returns distinct values for documents and embeddings — both fields were identical before, making diagnostics useless
32
+ - **retrieval**: `clear()` now uses `tokio::fs::remove_file` — was blocking the Tokio executor with synchronous `std::fs` calls
33
+ - **retrieval**: lock poisoning in `hnsw_backend` handled via `unwrap_or_else(|e| e.into_inner())` in 6 locations
34
+ - **pentester/static_analysis**: `scan_secrets` was a no-op — fully reimplemented with BFS file walk, static `Lazy<Regex>` and minimum-length filter on API key patterns
35
+ - **pentester/port_scanner**: empty host now rejected with `PentesterError`; scan concurrency capped at 50 via batching; non-ECONNREFUSED errors propagated instead of swallowed
36
+ - **pentester/mod**: `static_analysis()` and `active_testing()` were stubs returning empty results — now delegate to their submodules; `SecurityFinding.severity` promoted from unvalidated `String` to typed `enum Severity`; CIDR `/0` now rejected
37
+ - **llm/inference**: stale `INTERRUPT` flag from a previous call no longer silences the next generation; race condition in `unload_model` between `LLAMA` and `LOADED_MODEL` closed; `is_model_loaded` uses `AtomicBool` — no longer returns `false` while writer holds the lock
38
+ - **llm/inference**: `run_inference` now returns real token count and real model name instead of hardcoded values
39
+ - **llm/embeddings**: double-init race fixed with `AtomicBool::compare_exchange`; lock poisoning handled via `unwrap_or_else(|e| e.into_inner())`
40
+ - **knowledge/indexer**: `index_directory` was checking path type but never traversing the filesystem — BFS walk now implemented; symlink cycle protection via `entry.file_type()`; path traversal guard added
41
+ - **knowledge/file_loader**: TOCTOU `exists()` check removed; extension check now runs before filesystem access
42
+ - **agent/fix**: `generate_patch` now produces valid unified diff with headers; `apply_patch` uses atomic write-then-rename; path traversal guard and stale-snapshot guard added
43
+ - **agent/mod**: `apply_fix` always returned `Ok(true)` without touching files — now delegates to `fix::apply_patch`; `diagnose` now delegates to `diagnose::diagnose_error`
44
+ - **napi**: `store_documents_batch` validates that all five input slices have equal length — `zip` was silently truncating to the shortest; `load_file_content` path traversal guard added
45
+ - **application/engine_service**: `initialize` now validates `brain.provider` and `brain.model`; concurrent-init race closed with `AtomicBool`; `UnevenEngine` singleton wired to NAPI via `OnceLock`
46
+ - **utils/config-loader**: partial `brain` override no longer overwrites config defaults with `undefined`; `syncConfigFromTs` uses atomic write-then-rename; backslash-escaped quote detection corrected
47
+ - **utils/migration**: `ENOTEMPTY` on already-migrated destination no longer stalls migration on every startup; per-file rename errors now tracked individually
48
+ - **utils/process-lock**: `release()` removes SIGINT/SIGTERM/exit listeners — prevented `MaxListenersExceededWarning` accumulation in test suites
49
+ - **utils/error-parser**: `extractStackTrace` now captures the exception message line preceding the first stack frame
50
+ - **license/gate**: expired pro license (`active: false`) no longer granted access; `process.exit(0)` on blocked feature corrected to `process.exit(1)`
51
+ - **license/manager**: `status()` now reflects real expiry; HTTP error responses no longer silently extend grace period; `writeLicense` failures inside `.catch()` no longer produce unhandled rejections
52
+ - **license/storage**: `readLicense()` validates all required fields at runtime — partial/corrupt cache no longer propagates `undefined`; `writeLicense` uses atomic write-then-rename
53
+ - **io/git-manager**: shell injection in `checkout`, `deleteBranch`, `revertCommit`, `commitFix` fixed — migrated to `execFileSync`/`execFile` with argument arrays
54
+ - **io/web-scraper**: concurrent fetch capped at 10; `undici` Agent reused via singleton instead of instantiated per request
55
+ - **io/process-watcher**: SIGKILL fallback added after 5s if process ignores SIGTERM; `off()` method added for listener removal
56
+ - **io/file-watcher**: `start()` no longer hangs indefinitely — error handler and 30s timeout added
57
+ - **io/logger**: UTC fields used consistently in `getTimestamp()`; `debug()` now writes to log file
58
+ - **io/db-loader**: empty `tables: []` now warns instead of silently loading 0 documents; DB type detection migrated from substring match to `URL.protocol`; `sanitizeUrl` redacts username in addition to password
59
+ - **adapters/external-providers**: Gemini safety-filter responses no longer throw TypeError; streaming readers closed in `finally` across all four providers; Gemini NDJSON parser uses proper `JSON.parse` instead of string-match heuristic
60
+ - **domain/resource-guardian**: uncaught callback exceptions in `setInterval` no longer crash the process; CPU hot-plug length mismatch guarded
61
+ - **domain/snapshot**: `restore()` validates that target path is inside project root before writing
62
+ - **domain/session**: `lockTimeoutHandle` nullified before `forceReleaseLock` — prevented new lock from being cancelled by expired-timeout cleanup
63
+ - **cli/analyze**: double-disconnect race in `runBatchDashboard` fixed; spinner interval leak on thrown error fixed
64
+ - **cli/askf**: `isSafeFilename()` guard added — LLM-supplied filenames with path traversal or absolute paths now rejected
65
+ - **cli/ci**: `__UNEVEN_GH_LINES` env var replaced with module-level array; external `Promise.race` deadline added to prevent indefinite CI hang
66
+ - **cli/log**: `readFileSync` replaced with `createReadStream` — large log files no longer risk OOM
67
+ - **orchestration/engine**: `unloadTimer`, `saveProgress` and `activeFixes` race conditions fixed; `promptUserConfirmFix` and `llmInfer` now have timeouts; `docType` inconsistency between index phases corrected
68
+ - **orchestration/incremental-index**: `markIndexedWithHash` rejects empty hash, negative size, or non-array `chunkIds`
69
+ - **orchestration/knowledge-retriever**: ReDoS in `extractSource` fixed (`\S+` → `\S{1,500}`)
70
+ - **development/fix-engine**: snapshot-before-lock race fixed; prompt injection via `error.message` sanitized; path traversal guard added; `fixAttempts` memory leak fixed
71
+ - **development/test-runner**: SIGKILL flag logic corrected; output buffer capped at 2 MB
72
+ - **development/analyst-job-manager**: concurrent `saveJobState` race serialized per job-id; task ID collision on same millisecond fixed
73
+
74
+ ## [1.0.7] - 2026-04-17
75
+
76
+ ### Fixed
77
+
78
+ - **license**: `parseKey` now correctly validates `UNVN-PRO-*` / `UNVN-TEAM-*` keys — 1.0.6 was published with a stale build that still rejected these keys as malformed (`TMR` prefix check)
79
+ - **license**: gate message now shows correct command `uneven-ai license activate` — 1.0.6 stale build showed `uneven license activate`
80
+
8
81
  ## [1.0.6] - 2026-04-16
9
82
 
10
83
  ### Fixed
@@ -501,7 +574,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
501
574
 
502
575
  - `src/core/license/` module: machine fingerprinting (SHA256 of platform+arch+hostname+homedir), encrypted local cache (`~/.config/uneven-ai/license.json`), offline grace period (7-day extension, max 30 days cumulative)
503
576
  - License key format: `TMR-{TIER}-{payload_b64}-{hmac}` — payload parsed locally, HMAC verified server-side
504
- - `uneven-ai license activate <key>` — activates key against `api.uneven-ai.dev`, caches result locally
577
+ - `uneven-ai license activate <key>` — activates key against `api.uneven.dev`, caches result locally
505
578
  - `uneven-ai license status` — shows tier, seats, expiry, machine ID
506
579
  - `uneven-ai license deactivate` — removes machine from seat count
507
580
  - Pro feature gate (`src/core/license/gate.ts`): commands blocked on free tier show upgrade message and exit cleanly
package/LICENSE CHANGED
@@ -3,7 +3,7 @@ Business Source License 1.1
3
3
  Licensor: KR Riley Soluções
4
4
  Licensed Work: Uneven AI
5
5
  Additional Use Grant: Personal, educational and non-commercial use is free.
6
- Change Date: 2029-01-01
6
+ Change Date: 2056-04-19
7
7
  Change License: Apache License 2.0
8
8
 
9
9
  Use Limitation: Production commercial use — including SaaS products,
@@ -24,6 +24,10 @@ contato@rileysolucoes.com.br
24
24
 
25
25
  ---
26
26
 
27
+ Uneven AI's "Maria" agent is powered by Llama 3.2. Llama 3.2 is licensed under the Llama 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.
28
+
29
+ ---
30
+
27
31
  BUSINESS SOURCE LICENSE 1.1 SUMMARY:
28
32
 
29
33
  What's free?
@@ -36,5 +40,5 @@ What requires a license?
36
40
  ❌ Commercial production use (SaaS, paid services, internal company use)
37
41
 
38
42
  Automatic conversion:
39
- - On 2029-01-01, this license converts to Apache 2.0
43
+ - On 2056-04-19, this license converts to Apache 2.0
40
44
  - At that point, all commercial uses become freely allowed