atabey 0.0.32 → 0.0.34

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 (440) hide show
  1. package/bin/cli.js +5 -5
  2. package/dist/atabey/src/cli/commands/check.js +4 -1
  3. package/dist/atabey/src/cli/commands/check.js.map +1 -1
  4. package/dist/atabey/src/cli/commands/dashboard.js +60 -21
  5. package/dist/atabey/src/cli/commands/dashboard.js.map +1 -1
  6. package/dist/atabey/src/cli/commands/hitl.d.ts +16 -0
  7. package/dist/atabey/src/cli/commands/hitl.js +152 -0
  8. package/dist/atabey/src/cli/commands/hitl.js.map +1 -0
  9. package/dist/atabey/src/cli/commands/init/languages.d.ts +33 -0
  10. package/dist/atabey/src/cli/commands/init/languages.js +114 -0
  11. package/dist/atabey/src/cli/commands/init/languages.js.map +1 -0
  12. package/dist/atabey/src/cli/commands/init/scaffold-app.d.ts +26 -0
  13. package/dist/atabey/src/cli/commands/init/scaffold-app.js +555 -0
  14. package/dist/atabey/src/cli/commands/init/scaffold-app.js.map +1 -0
  15. package/dist/atabey/src/cli/commands/init/scaffold-core.d.ts +1 -0
  16. package/dist/atabey/src/cli/commands/init/scaffold-core.js +1 -0
  17. package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -1
  18. package/dist/atabey/src/cli/commands/init/scaffold-standards.js +1 -0
  19. package/dist/atabey/src/cli/commands/init/scaffold-standards.js.map +1 -1
  20. package/dist/atabey/src/cli/commands/init.d.ts +3 -0
  21. package/dist/atabey/src/cli/commands/init.js +49 -20
  22. package/dist/atabey/src/cli/commands/init.js.map +1 -1
  23. package/dist/atabey/src/cli/commands/knowledge.js +37 -5
  24. package/dist/atabey/src/cli/commands/knowledge.js.map +1 -1
  25. package/dist/atabey/src/cli/commands/log.d.ts +4 -0
  26. package/dist/atabey/src/cli/commands/log.js +33 -1
  27. package/dist/atabey/src/cli/commands/log.js.map +1 -1
  28. package/dist/atabey/src/cli/commands/orchestrate.d.ts +6 -6
  29. package/dist/atabey/src/cli/index.js +68 -10
  30. package/dist/atabey/src/cli/index.js.map +1 -1
  31. package/dist/atabey/src/cli/platforms/core.d.ts +1 -1
  32. package/dist/atabey/src/cli/platforms/core.js +1 -0
  33. package/dist/atabey/src/cli/platforms/core.js.map +1 -1
  34. package/dist/atabey/src/cli/platforms/scaffold.js +4 -1
  35. package/dist/atabey/src/cli/platforms/scaffold.js.map +1 -1
  36. package/dist/atabey/src/cli/platforms/utils.js +7 -1
  37. package/dist/atabey/src/cli/platforms/utils.js.map +1 -1
  38. package/dist/atabey/src/cli/shims.js +10 -0
  39. package/dist/atabey/src/cli/shims.js.map +1 -1
  40. package/dist/atabey/src/cli/utils/config-schema.d.ts +1 -1
  41. package/dist/atabey/src/cli/utils/pkg.js +3 -4
  42. package/dist/atabey/src/cli/utils/pkg.js.map +1 -1
  43. package/dist/atabey/src/cli/utils/schemas.d.ts +10 -10
  44. package/dist/atabey/src/contracts/tasks.d.ts +2 -2
  45. package/dist/atabey/src/modules/agents/definitions.d.ts +2 -1
  46. package/dist/atabey/src/modules/agents/definitions.js +18 -0
  47. package/dist/atabey/src/modules/agents/definitions.js.map +1 -1
  48. package/dist/atabey/src/modules/agents/registry/native.js +14 -8
  49. package/dist/atabey/src/modules/agents/registry/native.js.map +1 -1
  50. package/dist/atabey/src/modules/contracts/api.d.ts +6 -6
  51. package/dist/atabey/src/modules/engines/quality-gate.js +4 -4
  52. package/dist/atabey/src/modules/engines/quality-gate.js.map +1 -1
  53. package/dist/atabey/src/modules/engines/risk-engine.js +10 -0
  54. package/dist/atabey/src/modules/engines/risk-engine.js.map +1 -1
  55. package/dist/atabey/src/modules/engines/routing-engine.js +8 -0
  56. package/dist/atabey/src/modules/engines/routing-engine.js.map +1 -1
  57. package/dist/atabey/src/modules/memory/core.js +12 -3
  58. package/dist/atabey/src/modules/memory/core.js.map +1 -1
  59. package/dist/atabey/src/modules/providers/definitions.js +51 -0
  60. package/dist/atabey/src/modules/providers/definitions.js.map +1 -1
  61. package/dist/atabey/src/modules/providers/types.d.ts +1 -1
  62. package/dist/atabey/src/modules/providers/types.js +1 -1
  63. package/dist/atabey/src/modules/providers/types.js.map +1 -1
  64. package/dist/atabey/src/modules/skills/adapter-skills.js +81 -0
  65. package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -1
  66. package/dist/atabey/src/shared/storage.d.ts +2 -149
  67. package/dist/atabey/src/shared/storage.js +2 -342
  68. package/dist/atabey/src/shared/storage.js.map +1 -1
  69. package/dist/shared/src/constants.d.ts +5 -2
  70. package/dist/shared/src/constants.js +5 -0
  71. package/dist/shared/src/constants.js.map +1 -1
  72. package/dist/shared/src/index.d.ts +1 -0
  73. package/dist/shared/src/index.js +1 -0
  74. package/dist/shared/src/index.js.map +1 -1
  75. package/dist/shared/src/lock.js +6 -3
  76. package/dist/shared/src/lock.js.map +1 -1
  77. package/dist/shared/src/pii.js +16 -12
  78. package/dist/shared/src/pii.js.map +1 -1
  79. package/dist/{atabey-mcp/src/shared → shared/src}/storage.d.ts +98 -0
  80. package/dist/shared/src/storage.js +724 -0
  81. package/dist/shared/src/storage.js.map +1 -0
  82. package/package.json +7 -7
  83. package/templates/standards/llm-governance.md +1 -0
  84. package/templates/standards/native-standards.md +67 -0
  85. package/dist/atabey/src/modules/engines/worker-script.d.ts +0 -8
  86. package/dist/atabey/src/modules/engines/worker-script.js +0 -99
  87. package/dist/atabey/src/modules/engines/worker-script.js.map +0 -1
  88. package/dist/atabey-mcp/src/mcp/utils/auth.d.ts +0 -40
  89. package/dist/atabey-mcp/src/mcp/utils/auth.js +0 -154
  90. package/dist/atabey-mcp/src/mcp/utils/auth.js.map +0 -1
  91. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.d.ts +0 -71
  92. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.js +0 -375
  93. package/dist/atabey-mcp/src/mcp/utils/auto-rollback.js.map +0 -1
  94. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.d.ts +0 -110
  95. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +0 -391
  96. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +0 -1
  97. package/dist/atabey-mcp/src/mcp/utils/discipline.d.ts +0 -69
  98. package/dist/atabey-mcp/src/mcp/utils/discipline.js +0 -257
  99. package/dist/atabey-mcp/src/mcp/utils/discipline.js.map +0 -1
  100. package/dist/atabey-mcp/src/mcp/utils/finops.d.ts +0 -139
  101. package/dist/atabey-mcp/src/mcp/utils/finops.js +0 -324
  102. package/dist/atabey-mcp/src/mcp/utils/finops.js.map +0 -1
  103. package/dist/atabey-mcp/src/mcp/utils/license-scanner.d.ts +0 -71
  104. package/dist/atabey-mcp/src/mcp/utils/license-scanner.js +0 -284
  105. package/dist/atabey-mcp/src/mcp/utils/license-scanner.js.map +0 -1
  106. package/dist/atabey-mcp/src/mcp/utils/loop-detector.d.ts +0 -106
  107. package/dist/atabey-mcp/src/mcp/utils/loop-detector.js +0 -413
  108. package/dist/atabey-mcp/src/mcp/utils/loop-detector.js.map +0 -1
  109. package/dist/atabey-mcp/src/mcp/utils/memory.d.ts +0 -3
  110. package/dist/atabey-mcp/src/mcp/utils/memory.js +0 -75
  111. package/dist/atabey-mcp/src/mcp/utils/memory.js.map +0 -1
  112. package/dist/atabey-mcp/src/mcp/utils/rules-engine.d.ts +0 -78
  113. package/dist/atabey-mcp/src/mcp/utils/rules-engine.js +0 -232
  114. package/dist/atabey-mcp/src/mcp/utils/rules-engine.js.map +0 -1
  115. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.d.ts +0 -133
  116. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js +0 -397
  117. package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js.map +0 -1
  118. package/dist/atabey-mcp/src/shared/logger.d.ts +0 -1
  119. package/dist/atabey-mcp/src/shared/logger.js +0 -2
  120. package/dist/atabey-mcp/src/shared/logger.js.map +0 -1
  121. package/dist/atabey-mcp/src/shared/pii.d.ts +0 -1
  122. package/dist/atabey-mcp/src/shared/pii.js +0 -2
  123. package/dist/atabey-mcp/src/shared/pii.js.map +0 -1
  124. package/dist/atabey-mcp/src/shared/storage.js +0 -346
  125. package/dist/atabey-mcp/src/shared/storage.js.map +0 -1
  126. package/dist/atabey-mcp/src/shared/types.d.ts +0 -1
  127. package/dist/atabey-mcp/src/shared/types.js +0 -2
  128. package/dist/atabey-mcp/src/shared/types.js.map +0 -1
  129. package/dist/src/cli/commands/approve.d.ts +0 -1
  130. package/dist/src/cli/commands/approve.js +0 -64
  131. package/dist/src/cli/commands/approve.js.map +0 -1
  132. package/dist/src/cli/commands/check.d.ts +0 -1
  133. package/dist/src/cli/commands/check.js +0 -339
  134. package/dist/src/cli/commands/check.js.map +0 -1
  135. package/dist/src/cli/commands/compliance.d.ts +0 -5
  136. package/dist/src/cli/commands/compliance.js +0 -43
  137. package/dist/src/cli/commands/compliance.js.map +0 -1
  138. package/dist/src/cli/commands/contract.d.ts +0 -10
  139. package/dist/src/cli/commands/contract.js +0 -52
  140. package/dist/src/cli/commands/contract.js.map +0 -1
  141. package/dist/src/cli/commands/coverage.d.ts +0 -1
  142. package/dist/src/cli/commands/coverage.js +0 -121
  143. package/dist/src/cli/commands/coverage.js.map +0 -1
  144. package/dist/src/cli/commands/dashboard.d.ts +0 -5
  145. package/dist/src/cli/commands/dashboard.js +0 -753
  146. package/dist/src/cli/commands/dashboard.js.map +0 -1
  147. package/dist/src/cli/commands/explorer.d.ts +0 -2
  148. package/dist/src/cli/commands/explorer.js +0 -44
  149. package/dist/src/cli/commands/explorer.js.map +0 -1
  150. package/dist/src/cli/commands/git.d.ts +0 -2
  151. package/dist/src/cli/commands/git.js +0 -40
  152. package/dist/src/cli/commands/git.js.map +0 -1
  153. package/dist/src/cli/commands/index-codebase.d.ts +0 -4
  154. package/dist/src/cli/commands/index-codebase.js +0 -63
  155. package/dist/src/cli/commands/index-codebase.js.map +0 -1
  156. package/dist/src/cli/commands/init/create-agent.d.ts +0 -4
  157. package/dist/src/cli/commands/init/create-agent.js +0 -59
  158. package/dist/src/cli/commands/init/create-agent.js.map +0 -1
  159. package/dist/src/cli/commands/init/scaffold-core.d.ts +0 -13
  160. package/dist/src/cli/commands/init/scaffold-core.js +0 -188
  161. package/dist/src/cli/commands/init/scaffold-core.js.map +0 -1
  162. package/dist/src/cli/commands/init/scaffold-docs.d.ts +0 -4
  163. package/dist/src/cli/commands/init/scaffold-docs.js +0 -36
  164. package/dist/src/cli/commands/init/scaffold-docs.js.map +0 -1
  165. package/dist/src/cli/commands/init/scaffold-ops.d.ts +0 -1
  166. package/dist/src/cli/commands/init/scaffold-ops.js +0 -81
  167. package/dist/src/cli/commands/init/scaffold-ops.js.map +0 -1
  168. package/dist/src/cli/commands/init/scaffold-standards.d.ts +0 -2
  169. package/dist/src/cli/commands/init/scaffold-standards.js +0 -84
  170. package/dist/src/cli/commands/init/scaffold-standards.js.map +0 -1
  171. package/dist/src/cli/commands/init.d.ts +0 -11
  172. package/dist/src/cli/commands/init.js +0 -371
  173. package/dist/src/cli/commands/init.js.map +0 -1
  174. package/dist/src/cli/commands/knowledge.d.ts +0 -2
  175. package/dist/src/cli/commands/knowledge.js +0 -16
  176. package/dist/src/cli/commands/knowledge.js.map +0 -1
  177. package/dist/src/cli/commands/lint.d.ts +0 -4
  178. package/dist/src/cli/commands/lint.js +0 -24
  179. package/dist/src/cli/commands/lint.js.map +0 -1
  180. package/dist/src/cli/commands/log.d.ts +0 -10
  181. package/dist/src/cli/commands/log.js +0 -14
  182. package/dist/src/cli/commands/log.js.map +0 -1
  183. package/dist/src/cli/commands/mcp.d.ts +0 -11
  184. package/dist/src/cli/commands/mcp.js +0 -128
  185. package/dist/src/cli/commands/mcp.js.map +0 -1
  186. package/dist/src/cli/commands/memory.d.ts +0 -1
  187. package/dist/src/cli/commands/memory.js +0 -5
  188. package/dist/src/cli/commands/memory.js.map +0 -1
  189. package/dist/src/cli/commands/orchestrate.d.ts +0 -62
  190. package/dist/src/cli/commands/orchestrate.js +0 -263
  191. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  192. package/dist/src/cli/commands/plan.d.ts +0 -11
  193. package/dist/src/cli/commands/plan.js +0 -120
  194. package/dist/src/cli/commands/plan.js.map +0 -1
  195. package/dist/src/cli/commands/quickstart.d.ts +0 -9
  196. package/dist/src/cli/commands/quickstart.js +0 -60
  197. package/dist/src/cli/commands/quickstart.js.map +0 -1
  198. package/dist/src/cli/commands/script.d.ts +0 -1
  199. package/dist/src/cli/commands/script.js +0 -28
  200. package/dist/src/cli/commands/script.js.map +0 -1
  201. package/dist/src/cli/commands/security.d.ts +0 -1
  202. package/dist/src/cli/commands/security.js +0 -34
  203. package/dist/src/cli/commands/security.js.map +0 -1
  204. package/dist/src/cli/commands/status.d.ts +0 -4
  205. package/dist/src/cli/commands/status.js +0 -122
  206. package/dist/src/cli/commands/status.js.map +0 -1
  207. package/dist/src/cli/commands/trace.d.ts +0 -10
  208. package/dist/src/cli/commands/trace.js +0 -108
  209. package/dist/src/cli/commands/trace.js.map +0 -1
  210. package/dist/src/cli/index.d.ts +0 -2
  211. package/dist/src/cli/index.js +0 -289
  212. package/dist/src/cli/index.js.map +0 -1
  213. package/dist/src/cli/platforms/core.d.ts +0 -16
  214. package/dist/src/cli/platforms/core.js +0 -77
  215. package/dist/src/cli/platforms/core.js.map +0 -1
  216. package/dist/src/cli/platforms/index.d.ts +0 -5
  217. package/dist/src/cli/platforms/index.js +0 -6
  218. package/dist/src/cli/platforms/index.js.map +0 -1
  219. package/dist/src/cli/platforms/paths.d.ts +0 -15
  220. package/dist/src/cli/platforms/paths.js +0 -102
  221. package/dist/src/cli/platforms/paths.js.map +0 -1
  222. package/dist/src/cli/platforms/scaffold.d.ts +0 -2
  223. package/dist/src/cli/platforms/scaffold.js +0 -73
  224. package/dist/src/cli/platforms/scaffold.js.map +0 -1
  225. package/dist/src/cli/platforms/utils.d.ts +0 -4
  226. package/dist/src/cli/platforms/utils.js +0 -76
  227. package/dist/src/cli/platforms/utils.js.map +0 -1
  228. package/dist/src/cli/shims.d.ts +0 -1
  229. package/dist/src/cli/shims.js +0 -67
  230. package/dist/src/cli/shims.js.map +0 -1
  231. package/dist/src/cli/utils/claude.d.ts +0 -8
  232. package/dist/src/cli/utils/claude.js +0 -58
  233. package/dist/src/cli/utils/claude.js.map +0 -1
  234. package/dist/src/cli/utils/compliance.d.ts +0 -42
  235. package/dist/src/cli/utils/compliance.js +0 -150
  236. package/dist/src/cli/utils/compliance.js.map +0 -1
  237. package/dist/src/cli/utils/config-schema.d.ts +0 -256
  238. package/dist/src/cli/utils/config-schema.js +0 -67
  239. package/dist/src/cli/utils/config-schema.js.map +0 -1
  240. package/dist/src/cli/utils/fs.d.ts +0 -10
  241. package/dist/src/cli/utils/fs.js +0 -139
  242. package/dist/src/cli/utils/fs.js.map +0 -1
  243. package/dist/src/cli/utils/i18n.d.ts +0 -21
  244. package/dist/src/cli/utils/i18n.js +0 -36
  245. package/dist/src/cli/utils/i18n.js.map +0 -1
  246. package/dist/src/cli/utils/memory.d.ts +0 -45
  247. package/dist/src/cli/utils/memory.js +0 -339
  248. package/dist/src/cli/utils/memory.js.map +0 -1
  249. package/dist/src/cli/utils/pkg.d.ts +0 -42
  250. package/dist/src/cli/utils/pkg.js +0 -281
  251. package/dist/src/cli/utils/pkg.js.map +0 -1
  252. package/dist/src/cli/utils/quality.d.ts +0 -25
  253. package/dist/src/cli/utils/quality.js +0 -61
  254. package/dist/src/cli/utils/quality.js.map +0 -1
  255. package/dist/src/cli/utils/schemas.d.ts +0 -49
  256. package/dist/src/cli/utils/schemas.js +0 -20
  257. package/dist/src/cli/utils/schemas.js.map +0 -1
  258. package/dist/src/cli/utils/string.d.ts +0 -7
  259. package/dist/src/cli/utils/string.js +0 -50
  260. package/dist/src/cli/utils/string.js.map +0 -1
  261. package/dist/src/cli/utils/time.d.ts +0 -2
  262. package/dist/src/cli/utils/time.js +0 -28
  263. package/dist/src/cli/utils/time.js.map +0 -1
  264. package/dist/src/cli/utils/ui.d.ts +0 -53
  265. package/dist/src/cli/utils/ui.js +0 -101
  266. package/dist/src/cli/utils/ui.js.map +0 -1
  267. package/dist/src/cli/utils/validate-registry.d.ts +0 -4
  268. package/dist/src/cli/utils/validate-registry.js +0 -130
  269. package/dist/src/cli/utils/validate-registry.js.map +0 -1
  270. package/dist/src/contracts/index.d.ts +0 -1
  271. package/dist/src/contracts/index.js +0 -2
  272. package/dist/src/contracts/index.js.map +0 -1
  273. package/dist/src/contracts/tasks.d.ts +0 -44
  274. package/dist/src/contracts/tasks.js +0 -21
  275. package/dist/src/contracts/tasks.js.map +0 -1
  276. package/dist/src/modules/agents/definitions.d.ts +0 -26
  277. package/dist/src/modules/agents/definitions.js +0 -559
  278. package/dist/src/modules/agents/definitions.js.map +0 -1
  279. package/dist/src/modules/agents/registry/analyst.d.ts +0 -2
  280. package/dist/src/modules/agents/registry/analyst.js +0 -40
  281. package/dist/src/modules/agents/registry/analyst.js.map +0 -1
  282. package/dist/src/modules/agents/registry/architect.d.ts +0 -2
  283. package/dist/src/modules/agents/registry/architect.js +0 -43
  284. package/dist/src/modules/agents/registry/architect.js.map +0 -1
  285. package/dist/src/modules/agents/registry/backend.d.ts +0 -2
  286. package/dist/src/modules/agents/registry/backend.js +0 -51
  287. package/dist/src/modules/agents/registry/backend.js.map +0 -1
  288. package/dist/src/modules/agents/registry/database.d.ts +0 -2
  289. package/dist/src/modules/agents/registry/database.js +0 -46
  290. package/dist/src/modules/agents/registry/database.js.map +0 -1
  291. package/dist/src/modules/agents/registry/devops.d.ts +0 -2
  292. package/dist/src/modules/agents/registry/devops.js +0 -46
  293. package/dist/src/modules/agents/registry/devops.js.map +0 -1
  294. package/dist/src/modules/agents/registry/explorer.d.ts +0 -2
  295. package/dist/src/modules/agents/registry/explorer.js +0 -38
  296. package/dist/src/modules/agents/registry/explorer.js.map +0 -1
  297. package/dist/src/modules/agents/registry/frontend.d.ts +0 -2
  298. package/dist/src/modules/agents/registry/frontend.js +0 -53
  299. package/dist/src/modules/agents/registry/frontend.js.map +0 -1
  300. package/dist/src/modules/agents/registry/git.d.ts +0 -2
  301. package/dist/src/modules/agents/registry/git.js +0 -37
  302. package/dist/src/modules/agents/registry/git.js.map +0 -1
  303. package/dist/src/modules/agents/registry/manager.d.ts +0 -2
  304. package/dist/src/modules/agents/registry/manager.js +0 -65
  305. package/dist/src/modules/agents/registry/manager.js.map +0 -1
  306. package/dist/src/modules/agents/registry/mobile.d.ts +0 -2
  307. package/dist/src/modules/agents/registry/mobile.js +0 -42
  308. package/dist/src/modules/agents/registry/mobile.js.map +0 -1
  309. package/dist/src/modules/agents/registry/native.d.ts +0 -2
  310. package/dist/src/modules/agents/registry/native.js +0 -42
  311. package/dist/src/modules/agents/registry/native.js.map +0 -1
  312. package/dist/src/modules/agents/registry/quality.d.ts +0 -2
  313. package/dist/src/modules/agents/registry/quality.js +0 -44
  314. package/dist/src/modules/agents/registry/quality.js.map +0 -1
  315. package/dist/src/modules/agents/registry/security.d.ts +0 -2
  316. package/dist/src/modules/agents/registry/security.js +0 -43
  317. package/dist/src/modules/agents/registry/security.js.map +0 -1
  318. package/dist/src/modules/agents/types.d.ts +0 -33
  319. package/dist/src/modules/agents/types.js +0 -2
  320. package/dist/src/modules/agents/types.js.map +0 -1
  321. package/dist/src/modules/contracts/api.d.ts +0 -178
  322. package/dist/src/modules/contracts/api.js +0 -56
  323. package/dist/src/modules/contracts/api.js.map +0 -1
  324. package/dist/src/modules/contracts/index.d.ts +0 -5
  325. package/dist/src/modules/contracts/index.js +0 -6
  326. package/dist/src/modules/contracts/index.js.map +0 -1
  327. package/dist/src/modules/engines/agent-executor.d.ts +0 -46
  328. package/dist/src/modules/engines/agent-executor.js +0 -241
  329. package/dist/src/modules/engines/agent-executor.js.map +0 -1
  330. package/dist/src/modules/engines/agent-loop.d.ts +0 -34
  331. package/dist/src/modules/engines/agent-loop.js +0 -102
  332. package/dist/src/modules/engines/agent-loop.js.map +0 -1
  333. package/dist/src/modules/engines/contract-engine.d.ts +0 -46
  334. package/dist/src/modules/engines/contract-engine.js +0 -116
  335. package/dist/src/modules/engines/contract-engine.js.map +0 -1
  336. package/dist/src/modules/engines/crud-governance.d.ts +0 -66
  337. package/dist/src/modules/engines/crud-governance.js +0 -219
  338. package/dist/src/modules/engines/crud-governance.js.map +0 -1
  339. package/dist/src/modules/engines/discovery-engine.d.ts +0 -42
  340. package/dist/src/modules/engines/discovery-engine.js +0 -161
  341. package/dist/src/modules/engines/discovery-engine.js.map +0 -1
  342. package/dist/src/modules/engines/evaluation-engine.d.ts +0 -18
  343. package/dist/src/modules/engines/evaluation-engine.js +0 -171
  344. package/dist/src/modules/engines/evaluation-engine.js.map +0 -1
  345. package/dist/src/modules/engines/file-lock.d.ts +0 -41
  346. package/dist/src/modules/engines/file-lock.js +0 -168
  347. package/dist/src/modules/engines/file-lock.js.map +0 -1
  348. package/dist/src/modules/engines/health-engine.d.ts +0 -22
  349. package/dist/src/modules/engines/health-engine.js +0 -127
  350. package/dist/src/modules/engines/health-engine.js.map +0 -1
  351. package/dist/src/modules/engines/phase-engine.d.ts +0 -82
  352. package/dist/src/modules/engines/phase-engine.js +0 -211
  353. package/dist/src/modules/engines/phase-engine.js.map +0 -1
  354. package/dist/src/modules/engines/planning-engine.d.ts +0 -25
  355. package/dist/src/modules/engines/planning-engine.js +0 -80
  356. package/dist/src/modules/engines/planning-engine.js.map +0 -1
  357. package/dist/src/modules/engines/policy-engine.d.ts +0 -63
  358. package/dist/src/modules/engines/policy-engine.js +0 -186
  359. package/dist/src/modules/engines/policy-engine.js.map +0 -1
  360. package/dist/src/modules/engines/quality-gate.d.ts +0 -31
  361. package/dist/src/modules/engines/quality-gate.js +0 -95
  362. package/dist/src/modules/engines/quality-gate.js.map +0 -1
  363. package/dist/src/modules/engines/risk-engine.d.ts +0 -34
  364. package/dist/src/modules/engines/risk-engine.js +0 -201
  365. package/dist/src/modules/engines/risk-engine.js.map +0 -1
  366. package/dist/src/modules/engines/routing-engine.d.ts +0 -96
  367. package/dist/src/modules/engines/routing-engine.js +0 -505
  368. package/dist/src/modules/engines/routing-engine.js.map +0 -1
  369. package/dist/src/modules/engines/session-engine.d.ts +0 -68
  370. package/dist/src/modules/engines/session-engine.js +0 -141
  371. package/dist/src/modules/engines/session-engine.js.map +0 -1
  372. package/dist/src/modules/engines/types.d.ts +0 -51
  373. package/dist/src/modules/engines/types.js +0 -2
  374. package/dist/src/modules/engines/types.js.map +0 -1
  375. package/dist/src/modules/memory/core.d.ts +0 -42
  376. package/dist/src/modules/memory/core.js +0 -100
  377. package/dist/src/modules/memory/core.js.map +0 -1
  378. package/dist/src/modules/memory/embedding.d.ts +0 -28
  379. package/dist/src/modules/memory/embedding.js +0 -131
  380. package/dist/src/modules/memory/embedding.js.map +0 -1
  381. package/dist/src/modules/memory/types.d.ts +0 -18
  382. package/dist/src/modules/memory/types.js +0 -2
  383. package/dist/src/modules/memory/types.js.map +0 -1
  384. package/dist/src/modules/memory/vector-store.d.ts +0 -13
  385. package/dist/src/modules/memory/vector-store.js +0 -75
  386. package/dist/src/modules/memory/vector-store.js.map +0 -1
  387. package/dist/src/modules/providers/definitions.d.ts +0 -9
  388. package/dist/src/modules/providers/definitions.js +0 -141
  389. package/dist/src/modules/providers/definitions.js.map +0 -1
  390. package/dist/src/modules/providers/llm-provider.d.ts +0 -87
  391. package/dist/src/modules/providers/llm-provider.js +0 -242
  392. package/dist/src/modules/providers/llm-provider.js.map +0 -1
  393. package/dist/src/modules/providers/registry.d.ts +0 -12
  394. package/dist/src/modules/providers/registry.js +0 -19
  395. package/dist/src/modules/providers/registry.js.map +0 -1
  396. package/dist/src/modules/providers/shared.d.ts +0 -1
  397. package/dist/src/modules/providers/shared.js +0 -104
  398. package/dist/src/modules/providers/shared.js.map +0 -1
  399. package/dist/src/modules/providers/types.d.ts +0 -14
  400. package/dist/src/modules/providers/types.js +0 -2
  401. package/dist/src/modules/providers/types.js.map +0 -1
  402. package/dist/src/modules/skills/adapter-skills.d.ts +0 -70
  403. package/dist/src/modules/skills/adapter-skills.js +0 -450
  404. package/dist/src/modules/skills/adapter-skills.js.map +0 -1
  405. package/dist/src/modules/skills/definitions.d.ts +0 -48
  406. package/dist/src/modules/skills/definitions.js +0 -71
  407. package/dist/src/modules/skills/definitions.js.map +0 -1
  408. package/dist/src/shared/audit.d.ts +0 -1
  409. package/dist/src/shared/audit.js +0 -2
  410. package/dist/src/shared/audit.js.map +0 -1
  411. package/dist/src/shared/constants.d.ts +0 -1
  412. package/dist/src/shared/constants.js +0 -2
  413. package/dist/src/shared/constants.js.map +0 -1
  414. package/dist/src/shared/errors.d.ts +0 -1
  415. package/dist/src/shared/errors.js +0 -2
  416. package/dist/src/shared/errors.js.map +0 -1
  417. package/dist/src/shared/fs.d.ts +0 -1
  418. package/dist/src/shared/fs.js +0 -2
  419. package/dist/src/shared/fs.js.map +0 -1
  420. package/dist/src/shared/lock.d.ts +0 -1
  421. package/dist/src/shared/lock.js +0 -2
  422. package/dist/src/shared/lock.js.map +0 -1
  423. package/dist/src/shared/logger.d.ts +0 -1
  424. package/dist/src/shared/logger.js +0 -2
  425. package/dist/src/shared/logger.js.map +0 -1
  426. package/dist/src/shared/pii.d.ts +0 -1
  427. package/dist/src/shared/pii.js +0 -2
  428. package/dist/src/shared/pii.js.map +0 -1
  429. package/dist/src/shared/retention.d.ts +0 -1
  430. package/dist/src/shared/retention.js +0 -2
  431. package/dist/src/shared/retention.js.map +0 -1
  432. package/dist/src/shared/storage.d.ts +0 -141
  433. package/dist/src/shared/storage.js +0 -332
  434. package/dist/src/shared/storage.js.map +0 -1
  435. package/dist/src/shared/string.d.ts +0 -1
  436. package/dist/src/shared/string.js +0 -2
  437. package/dist/src/shared/string.js.map +0 -1
  438. package/dist/src/shared/types.d.ts +0 -1
  439. package/dist/src/shared/types.js +0 -2
  440. package/dist/src/shared/types.js.map +0 -1
@@ -1,324 +0,0 @@
1
- /**
2
- * ─── FINOPS / BUDGET ENFORCEMENT ──────────────────────────────────
3
- *
4
- * Enterprise budget management for AI token consumption.
5
- * Enforces strict cost limits per team, agent, or project.
6
- *
7
- * Features:
8
- * - Team-based budget allocation (monthly/quarterly)
9
- * - Per-agent spending limits
10
- * - Automatic shutdown when budget exceeded
11
- * - Central server sync for budget policies
12
- * - Real-time cost tracking
13
- * - Budget alerts at configurable thresholds (50%, 80%, 90%, 100%)
14
- *
15
- * Architecture:
16
- * [Local MCP] → Budget Check → [Enterprise Server] → Shutdown Signal
17
- *
18
- * Environment Variables:
19
- * ATABEY_BUDGET_TEAM - Team name for budget grouping
20
- * ATABEY_BUDGET_MONTHLY - Monthly budget in USD (local override)
21
- * ATABEY_BUDGET_AGENT_MAX - Max spend per agent in USD
22
- * ATABEY_BUDGET_SYNC_URL - Enterprise server URL for budget sync
23
- */
24
- import fs from "fs";
25
- import path from "path";
26
- function buildDefaultConfig() {
27
- return {
28
- TEAM: process.env.ATABEY_BUDGET_TEAM || "default",
29
- MONTHLY_BUDGET: parseFloat(process.env.ATABEY_BUDGET_MONTHLY || "0"),
30
- AGENT_MAX_BUDGET: parseFloat(process.env.ATABEY_BUDGET_AGENT_MAX || "0"),
31
- SYNC_URL: process.env.ATABEY_BUDGET_SYNC_URL || "",
32
- SYNC_TOKEN: process.env.ATABEY_BUDGET_SYNC_TOKEN || "",
33
- ALERT_THRESHOLDS: (process.env.ATABEY_BUDGET_ALERT_THRESHOLDS || "50,80,90,100")
34
- .split(",").map(t => parseInt(t.trim(), 10)).filter(t => !isNaN(t)),
35
- COST_PER_1K_TOKENS: parseFloat(process.env.ATABEY_COST_PER_1K_TOKENS || "0.003"),
36
- SYNC_INTERVAL_MS: parseInt(process.env.ATABEY_BUDGET_SYNC_INTERVAL || "60000", 10),
37
- ENABLED: process.env.ATABEY_BUDGET_ENABLED === "true",
38
- ENFORCE_BLOCKING: process.env.ATABEY_BUDGET_ENABLED === "true" &&
39
- parseFloat(process.env.ATABEY_BUDGET_MONTHLY || "0") > 0,
40
- };
41
- }
42
- let CONFIG = buildDefaultConfig();
43
- export function applyFinOpsRuntimeConfig(overrides) {
44
- CONFIG = { ...CONFIG, ...overrides };
45
- }
46
- // ─── Budget Manager ───────────────────────────────────────────────
47
- export class BudgetManager {
48
- static instance;
49
- state;
50
- syncTimer = null;
51
- localMetricsPath;
52
- constructor() {
53
- const now = new Date();
54
- const periodStart = new Date(now.getFullYear(), now.getMonth(), 1).toISOString();
55
- const periodEnd = new Date(now.getFullYear(), now.getMonth() + 1, 0).toISOString();
56
- this.state = {
57
- team: CONFIG.TEAM,
58
- monthlySpend: 0,
59
- agentSpend: {},
60
- periodStart,
61
- periodEnd,
62
- blocked: false,
63
- blockReason: null,
64
- triggeredAlerts: [],
65
- lastSync: null,
66
- };
67
- const frameworkDir = process.env.ATABEY_FRAMEWORK_DIR || path.join(process.cwd(), ".atabey");
68
- this.localMetricsPath = path.join(frameworkDir, "observability", "metrics.json");
69
- // Load existing state
70
- this.loadState();
71
- }
72
- static getInstance() {
73
- if (!BudgetManager.instance) {
74
- BudgetManager.instance = new BudgetManager();
75
- }
76
- return BudgetManager.instance;
77
- }
78
- /**
79
- * Start the budget manager.
80
- * Begins periodic sync with enterprise server.
81
- */
82
- start() {
83
- if (!CONFIG.ENABLED) {
84
- process.stderr.write("[FINOPS] Budget enforcement disabled.\n");
85
- return;
86
- }
87
- process.stderr.write(`[FINOPS] Starting budget manager for team "${CONFIG.TEAM}"\n`);
88
- if (CONFIG.MONTHLY_BUDGET > 0) {
89
- process.stderr.write(`[FINOPS] Monthly budget: $${CONFIG.MONTHLY_BUDGET.toFixed(2)}\n`);
90
- }
91
- // Periodic sync with enterprise server
92
- if (CONFIG.SYNC_URL) {
93
- this.syncTimer = setInterval(() => this.syncWithServer(), CONFIG.SYNC_INTERVAL_MS);
94
- this.syncWithServer(); // Initial sync
95
- }
96
- // Recalculate from local metrics
97
- this.recalculateFromLocalMetrics();
98
- }
99
- /**
100
- * Stop the budget manager.
101
- */
102
- stop() {
103
- if (this.syncTimer) {
104
- clearInterval(this.syncTimer);
105
- this.syncTimer = null;
106
- }
107
- this.saveState();
108
- }
109
- /**
110
- * Record token usage and check budget.
111
- * Returns error message if budget exceeded, null if allowed.
112
- */
113
- recordUsage(agent, tokens) {
114
- if (!CONFIG.ENABLED)
115
- return null;
116
- const cost = (tokens / 1000) * CONFIG.COST_PER_1K_TOKENS;
117
- // Check if team is blocked
118
- if (this.state.blocked) {
119
- return `[FINOPS] ⛔ Budget exceeded: ${this.state.blockReason}`;
120
- }
121
- // Update spend
122
- this.state.monthlySpend += cost;
123
- this.state.agentSpend[agent] = (this.state.agentSpend[agent] || 0) + cost;
124
- // Check team budget (blocking only when enforcement enabled)
125
- if (CONFIG.ENFORCE_BLOCKING && CONFIG.MONTHLY_BUDGET > 0 && this.state.monthlySpend > CONFIG.MONTHLY_BUDGET) {
126
- this.state.blocked = true;
127
- this.state.blockReason = `Team "${CONFIG.TEAM}" exceeded monthly budget of $${CONFIG.MONTHLY_BUDGET.toFixed(2)}`;
128
- this.saveState();
129
- this.triggerAlert(100);
130
- return `[FINOPS] ⛔ ${this.state.blockReason}`;
131
- }
132
- // Check agent budget (blocking only when enforcement enabled)
133
- if (CONFIG.ENFORCE_BLOCKING && CONFIG.AGENT_MAX_BUDGET > 0 && (this.state.agentSpend[agent] || 0) > CONFIG.AGENT_MAX_BUDGET) {
134
- this.state.blocked = true;
135
- this.state.blockReason = `Agent "${agent}" exceeded max budget of $${CONFIG.AGENT_MAX_BUDGET.toFixed(2)}`;
136
- this.saveState();
137
- this.triggerAlert(100);
138
- return `[FINOPS] ⛔ ${this.state.blockReason}`;
139
- }
140
- // Check alert thresholds
141
- if (CONFIG.MONTHLY_BUDGET > 0) {
142
- const usagePercent = (this.state.monthlySpend / CONFIG.MONTHLY_BUDGET) * 100;
143
- for (const threshold of CONFIG.ALERT_THRESHOLDS) {
144
- if (usagePercent >= threshold && !this.state.triggeredAlerts.includes(threshold)) {
145
- this.triggerAlert(threshold);
146
- process.stderr.write(`[FINOPS] ⚠️ Budget alert: ${Math.round(usagePercent)}% used ($${this.state.monthlySpend.toFixed(2)} / $${CONFIG.MONTHLY_BUDGET.toFixed(2)})\n`);
147
- }
148
- }
149
- }
150
- this.saveState();
151
- return null;
152
- }
153
- /**
154
- * Check if an agent is within budget without recording usage.
155
- */
156
- checkBudget(agent) {
157
- const agentSpend = this.state.agentSpend[agent] || 0;
158
- const usagePercent = CONFIG.MONTHLY_BUDGET > 0
159
- ? (this.state.monthlySpend / CONFIG.MONTHLY_BUDGET) * 100
160
- : 0;
161
- return {
162
- allowed: !this.state.blocked,
163
- monthlySpend: this.state.monthlySpend,
164
- monthlyBudget: CONFIG.MONTHLY_BUDGET,
165
- agentSpend,
166
- agentMaxBudget: CONFIG.AGENT_MAX_BUDGET,
167
- usagePercent: Math.round(usagePercent * 100) / 100,
168
- blocked: this.state.blocked,
169
- blockReason: this.state.blockReason,
170
- };
171
- }
172
- /**
173
- * Get full budget state.
174
- */
175
- getState() {
176
- return { ...this.state };
177
- }
178
- /**
179
- * Reset budget for new period.
180
- */
181
- resetPeriod() {
182
- const now = new Date();
183
- this.state.monthlySpend = 0;
184
- this.state.agentSpend = {};
185
- this.state.periodStart = new Date(now.getFullYear(), now.getMonth(), 1).toISOString();
186
- this.state.periodEnd = new Date(now.getFullYear(), now.getMonth() + 1, 0).toISOString();
187
- this.state.blocked = false;
188
- this.state.blockReason = null;
189
- this.state.triggeredAlerts = [];
190
- this.saveState();
191
- process.stderr.write("[FINOPS] Budget period reset.\n");
192
- }
193
- /**
194
- * Apply a budget policy from the enterprise server.
195
- */
196
- applyPolicy(policy) {
197
- if (policy.team !== CONFIG.TEAM)
198
- return;
199
- if (policy.blocked) {
200
- this.state.blocked = true;
201
- this.state.blockReason = policy.blockReason || "Blocked by enterprise policy";
202
- process.stderr.write(`[FINOPS] 🛑 Team "${CONFIG.TEAM}" blocked by enterprise policy: ${this.state.blockReason}\n`);
203
- }
204
- this.saveState();
205
- }
206
- // ─── Private Methods ───────────────────────────────────────
207
- /**
208
- * Sync budget state with enterprise server.
209
- */
210
- async syncWithServer() {
211
- if (!CONFIG.SYNC_URL)
212
- return;
213
- try {
214
- // Send local state to server
215
- const url = `${CONFIG.SYNC_URL.replace(/\/$/, "")}/api/finops/sync`;
216
- const response = await fetch(url, {
217
- method: "POST",
218
- headers: {
219
- "Content-Type": "application/json",
220
- "Authorization": `Bearer ${CONFIG.SYNC_TOKEN}`,
221
- "X-Team": CONFIG.TEAM,
222
- },
223
- body: JSON.stringify({
224
- team: this.state.team,
225
- monthlySpend: this.state.monthlySpend,
226
- agentSpend: this.state.agentSpend,
227
- periodStart: this.state.periodStart,
228
- periodEnd: this.state.periodEnd,
229
- }),
230
- });
231
- if (response.ok) {
232
- const policy = (await response.json());
233
- this.applyPolicy(policy);
234
- this.state.lastSync = new Date().toISOString();
235
- }
236
- else if (response.status === 402) {
237
- // Payment required – budget exceeded on server side
238
- const data = (await response.json());
239
- this.state.blocked = true;
240
- this.state.blockReason = data.reason || "Budget exceeded on enterprise server";
241
- process.stderr.write(`[FINOPS] 🛑 Enterprise budget exceeded: ${this.state.blockReason}\n`);
242
- }
243
- }
244
- catch (error) {
245
- // Server unreachable – continue with local budget
246
- process.stderr.write(`[FINOPS] Sync failed (server unreachable): ${error}\n`);
247
- }
248
- }
249
- /**
250
- * Recalculate spend from local metrics file.
251
- */
252
- recalculateFromLocalMetrics() {
253
- try {
254
- if (!fs.existsSync(this.localMetricsPath))
255
- return;
256
- const metrics = JSON.parse(fs.readFileSync(this.localMetricsPath, "utf8"));
257
- const periodStart = new Date(this.state.periodStart);
258
- const periodEnd = new Date(this.state.periodEnd);
259
- let totalSpend = 0;
260
- const agentSpend = {};
261
- for (const entry of metrics) {
262
- const entryDate = new Date(entry.timestamp);
263
- if (entryDate >= periodStart && entryDate <= periodEnd) {
264
- const cost = (entry.estimatedTokens / 1000) * CONFIG.COST_PER_1K_TOKENS;
265
- totalSpend += cost;
266
- agentSpend[entry.agent] = (agentSpend[entry.agent] || 0) + cost;
267
- }
268
- }
269
- this.state.monthlySpend = totalSpend;
270
- this.state.agentSpend = agentSpend;
271
- }
272
- catch { /* ignore */ }
273
- }
274
- /**
275
- * Trigger a budget alert.
276
- */
277
- triggerAlert(threshold) {
278
- if (!this.state.triggeredAlerts.includes(threshold)) {
279
- this.state.triggeredAlerts.push(threshold);
280
- }
281
- }
282
- /**
283
- * Save budget state to disk.
284
- */
285
- saveState() {
286
- try {
287
- const frameworkDir = process.env.ATABEY_FRAMEWORK_DIR || path.join(process.cwd(), ".atabey");
288
- const finopsDir = path.join(frameworkDir, "finops");
289
- if (!fs.existsSync(finopsDir)) {
290
- fs.mkdirSync(finopsDir, { recursive: true });
291
- }
292
- const statePath = path.join(finopsDir, "budget-state.json");
293
- fs.writeFileSync(statePath, JSON.stringify(this.state, null, 2));
294
- }
295
- catch { /* ignore */ }
296
- }
297
- /**
298
- * Reset the singleton instance (for testing).
299
- */
300
- static resetInstance() {
301
- BudgetManager.instance = undefined;
302
- }
303
- /**
304
- * Load budget state from disk.
305
- */
306
- loadState() {
307
- try {
308
- const frameworkDir = process.env.ATABEY_FRAMEWORK_DIR || path.join(process.cwd(), ".atabey");
309
- const statePath = path.join(frameworkDir, "finops", "budget-state.json");
310
- if (fs.existsSync(statePath)) {
311
- const saved = JSON.parse(fs.readFileSync(statePath, "utf8"));
312
- // Only load if same period
313
- if (saved.periodStart === this.state.periodStart) {
314
- this.state = saved;
315
- }
316
- }
317
- }
318
- catch { /* ignore */ }
319
- }
320
- }
321
- // ─── Singleton Export ─────────────────────────────────────────────
322
- export const budgetManager = BudgetManager.getInstance();
323
- export { CONFIG as FinOpsConfig };
324
- //# sourceMappingURL=finops.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finops.js","sourceRoot":"","sources":["../../../../../../atabey-mcp/src/mcp/utils/finops.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * ─── LICENSE / COPYRIGHT SCANNER ──────────────────────────────────
3
- *
4
- * Detects restrictive license blocks in AI-generated code before
5
- * it reaches the developer's project. Prevents GPL, AGPL, and other
6
- * copyleft license violations at the MCP middleware layer.
7
- *
8
- * Features:
9
- * - Recognizes SPDX license identifiers
10
- * - Detects known open-source license headers (GPL, AGPL, LGPL, MPL)
11
- * - Checks against corporate allowlist/blocklist
12
- * - Source code similarity detection for known OSS snippets
13
- * - Warning vs. blocking based on license severity
14
- *
15
- * License Severity:
16
- * CRITICAL: GPL-3.0, AGPL-3.0 (copyleft, automatic blocking)
17
- * HIGH: GPL-2.0, LGPL-3.0, MPL-2.0 (file-level copyleft)
18
- * MEDIUM: MIT, Apache-2.0, BSD (permissive, allowed with attribution)
19
- * LOW: CC0, Unlicense (public domain, no restrictions)
20
- */
21
- declare const CONFIG: {
22
- /** Enable license scanning */
23
- ENABLED: boolean;
24
- /** Automatically block copyleft licenses */
25
- BLOCK_COPYLEFT: boolean;
26
- /** SPDX blocklist – these licenses are automatically blocked */
27
- BLOCKLIST: string[];
28
- /** SPDX allowlist – these licenses are always allowed */
29
- ALLOWLIST: string[];
30
- /** Detect known OSS snippets by hash (requires snippet database) */
31
- ENABLE_SNIPPET_DETECTION: boolean;
32
- /** Path to snippet hash database */
33
- SNIPPET_DB_PATH: string;
34
- };
35
- export type LicenseSeverity = "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "UNKNOWN";
36
- export interface LicenseMatch {
37
- license: string;
38
- severity: LicenseSeverity;
39
- spdxId: string;
40
- source: "header" | "spdx" | "snippet" | "comment";
41
- line: number;
42
- snippet: string;
43
- /** Whether this license requires blocking */
44
- blocked: boolean;
45
- /** Whether attribution is required */
46
- requiresAttribution: boolean;
47
- }
48
- /**
49
- * Scan code content for license violations.
50
- * Returns array of license matches found in the content.
51
- */
52
- export declare function scanForLicenses(filePath: string, content: string): LicenseMatch[];
53
- /**
54
- * Validate content for license compliance before allowing file write.
55
- * Returns error message if blocked, null if allowed.
56
- */
57
- export declare function validateLicenseCompliance(filePath: string, content: string): string | null;
58
- /**
59
- * Get the severity summary of a set of license matches.
60
- */
61
- export declare function getLicenseSeveritySummary(matches: LicenseMatch[]): {
62
- hasBlocked: boolean;
63
- highestSeverity: LicenseSeverity;
64
- requiresAttribution: boolean;
65
- uniqueLicenses: string[];
66
- };
67
- /**
68
- * Get scanner config.
69
- */
70
- export declare function getLicenseScannerConfig(): typeof CONFIG;
71
- export { CONFIG as LicenseScannerConfig };