atabey 0.0.18 → 0.0.20

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 (570) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +14 -2
  3. package/dist/atabey/src/cli/commands/check.js +150 -13
  4. package/dist/atabey/src/cli/commands/check.js.map +1 -1
  5. package/dist/atabey/src/cli/commands/explorer.js.map +1 -1
  6. package/dist/atabey/src/cli/commands/index-codebase.js +13 -2
  7. package/dist/atabey/src/cli/commands/index-codebase.js.map +1 -1
  8. package/dist/atabey/src/cli/commands/init/scaffold-core.js +67 -8
  9. package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -1
  10. package/dist/atabey/src/cli/commands/init.js +12 -4
  11. package/dist/atabey/src/cli/commands/init.js.map +1 -1
  12. package/dist/atabey/src/cli/commands/mcp.js +21 -25
  13. package/dist/atabey/src/cli/commands/mcp.js.map +1 -1
  14. package/dist/atabey/src/cli/commands/orchestrate.d.ts +11 -10
  15. package/dist/atabey/src/cli/commands/orchestrate.js +49 -24
  16. package/dist/atabey/src/cli/commands/orchestrate.js.map +1 -1
  17. package/dist/atabey/src/cli/index.js +8 -1
  18. package/dist/atabey/src/cli/index.js.map +1 -1
  19. package/dist/atabey/src/cli/platforms/core.d.ts +4 -0
  20. package/dist/atabey/src/cli/platforms/core.js +12 -8
  21. package/dist/atabey/src/cli/platforms/core.js.map +1 -1
  22. package/dist/atabey/src/cli/platforms/index.d.ts +1 -1
  23. package/dist/atabey/src/cli/platforms/index.js +1 -1
  24. package/dist/atabey/src/cli/platforms/index.js.map +1 -1
  25. package/dist/atabey/src/cli/utils/config-schema.d.ts +117 -0
  26. package/dist/atabey/src/cli/utils/config-schema.js +25 -1
  27. package/dist/atabey/src/cli/utils/config-schema.js.map +1 -1
  28. package/dist/atabey/src/cli/utils/memory.d.ts +13 -7
  29. package/dist/atabey/src/cli/utils/memory.js +74 -16
  30. package/dist/atabey/src/cli/utils/memory.js.map +1 -1
  31. package/dist/atabey/src/cli/utils/quality.js +2 -7
  32. package/dist/atabey/src/cli/utils/quality.js.map +1 -1
  33. package/dist/atabey/src/cli/utils/schemas.d.ts +8 -8
  34. package/dist/atabey/src/contracts/tasks.d.ts +6 -6
  35. package/dist/atabey/src/modules/agents/definitions.js +9 -14
  36. package/dist/atabey/src/modules/agents/definitions.js.map +1 -1
  37. package/dist/atabey/src/modules/agents/registry/manager.js +1 -1
  38. package/dist/atabey/src/modules/agents/registry/manager.js.map +1 -1
  39. package/dist/atabey/src/modules/engines/crud-governance.d.ts +4 -2
  40. package/dist/atabey/src/modules/engines/crud-governance.js +41 -6
  41. package/dist/atabey/src/modules/engines/crud-governance.js.map +1 -1
  42. package/dist/atabey/src/modules/skills/adapter-skills.d.ts +2 -0
  43. package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -1
  44. package/dist/atabey/src/shared/audit.d.ts +1 -105
  45. package/dist/atabey/src/shared/audit.js +1 -220
  46. package/dist/atabey/src/shared/audit.js.map +1 -1
  47. package/dist/atabey/src/shared/constants.d.ts +1 -120
  48. package/dist/atabey/src/shared/constants.js +1 -187
  49. package/dist/atabey/src/shared/constants.js.map +1 -1
  50. package/dist/atabey/src/shared/errors.d.ts +1 -46
  51. package/dist/atabey/src/shared/errors.js +1 -68
  52. package/dist/atabey/src/shared/errors.js.map +1 -1
  53. package/dist/atabey/src/shared/fs.d.ts +1 -9
  54. package/dist/atabey/src/shared/fs.js +1 -53
  55. package/dist/atabey/src/shared/fs.js.map +1 -1
  56. package/dist/atabey/src/shared/lock.d.ts +1 -82
  57. package/dist/atabey/src/shared/lock.js +1 -159
  58. package/dist/atabey/src/shared/lock.js.map +1 -1
  59. package/dist/atabey/src/shared/logger.d.ts +1 -30
  60. package/dist/atabey/src/shared/logger.js +1 -126
  61. package/dist/atabey/src/shared/logger.js.map +1 -1
  62. package/dist/atabey/src/shared/pii.d.ts +1 -69
  63. package/dist/atabey/src/shared/pii.js +1 -212
  64. package/dist/atabey/src/shared/pii.js.map +1 -1
  65. package/dist/atabey/src/shared/retention.d.ts +1 -63
  66. package/dist/atabey/src/shared/retention.js +1 -170
  67. package/dist/atabey/src/shared/retention.js.map +1 -1
  68. package/dist/atabey/src/shared/storage.js +7 -3
  69. package/dist/atabey/src/shared/storage.js.map +1 -1
  70. package/dist/atabey/src/shared/string.d.ts +1 -1
  71. package/dist/atabey/src/shared/string.js +1 -29
  72. package/dist/atabey/src/shared/string.js.map +1 -1
  73. package/dist/atabey/src/shared/types.d.ts +1 -27
  74. package/dist/atabey/src/shared/types.js +1 -16
  75. package/dist/atabey/src/shared/types.js.map +1 -1
  76. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +1 -1
  77. package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +1 -1
  78. package/dist/atabey-mcp/src/mcp/utils/finops.d.ts +7 -11
  79. package/dist/atabey-mcp/src/mcp/utils/finops.js +24 -26
  80. package/dist/atabey-mcp/src/mcp/utils/finops.js.map +1 -1
  81. package/dist/atabey-mcp/src/shared/logger.d.ts +1 -30
  82. package/dist/atabey-mcp/src/shared/logger.js +1 -126
  83. package/dist/atabey-mcp/src/shared/logger.js.map +1 -1
  84. package/dist/atabey-mcp/src/shared/pii.d.ts +1 -69
  85. package/dist/atabey-mcp/src/shared/pii.js +1 -212
  86. package/dist/atabey-mcp/src/shared/pii.js.map +1 -1
  87. package/dist/atabey-mcp/src/shared/storage.js +3 -1
  88. package/dist/atabey-mcp/src/shared/storage.js.map +1 -1
  89. package/dist/atabey-mcp/src/shared/types.d.ts +1 -27
  90. package/dist/atabey-mcp/src/shared/types.js +1 -16
  91. package/dist/atabey-mcp/src/shared/types.js.map +1 -1
  92. package/dist/{src/shared → shared/src}/audit.js +8 -8
  93. package/dist/shared/src/audit.js.map +1 -0
  94. package/dist/{src/shared → shared/src}/constants.d.ts +30 -1
  95. package/dist/{src/shared → shared/src}/constants.js +25 -2
  96. package/dist/shared/src/constants.js.map +1 -0
  97. package/dist/shared/src/database.d.ts +5 -0
  98. package/dist/shared/src/database.js +13 -0
  99. package/dist/shared/src/database.js.map +1 -0
  100. package/dist/shared/src/errors.js.map +1 -0
  101. package/dist/shared/src/fs.js.map +1 -0
  102. package/dist/shared/src/index.d.ts +11 -0
  103. package/dist/shared/src/index.js +12 -0
  104. package/dist/shared/src/index.js.map +1 -0
  105. package/dist/{src/shared → shared/src}/lock.js +22 -26
  106. package/dist/shared/src/lock.js.map +1 -0
  107. package/dist/shared/src/logger.js.map +1 -0
  108. package/dist/{src/shared → shared/src}/pii.js +4 -1
  109. package/dist/shared/src/pii.js.map +1 -0
  110. package/dist/{src/shared → shared/src}/retention.js +6 -6
  111. package/dist/shared/src/retention.js.map +1 -0
  112. package/dist/shared/src/string.js.map +1 -0
  113. package/dist/shared/src/types.js.map +1 -0
  114. package/package.json +19 -3
  115. package/dist/atabey-mcp/src/mcp/utils/quality.d.ts +0 -19
  116. package/dist/atabey-mcp/src/mcp/utils/quality.js +0 -125
  117. package/dist/atabey-mcp/src/mcp/utils/quality.js.map +0 -1
  118. package/dist/atabey-mcp/src/shared/fs.js.map +0 -1
  119. package/dist/src/cli/commands/approve.d.ts +0 -1
  120. package/dist/src/cli/commands/approve.js +0 -64
  121. package/dist/src/cli/commands/approve.js.map +0 -1
  122. package/dist/src/cli/commands/check.d.ts +0 -1
  123. package/dist/src/cli/commands/check.js +0 -197
  124. package/dist/src/cli/commands/check.js.map +0 -1
  125. package/dist/src/cli/commands/compliance.d.ts +0 -5
  126. package/dist/src/cli/commands/compliance.js +0 -43
  127. package/dist/src/cli/commands/compliance.js.map +0 -1
  128. package/dist/src/cli/commands/contract.d.ts +0 -10
  129. package/dist/src/cli/commands/contract.js +0 -52
  130. package/dist/src/cli/commands/contract.js.map +0 -1
  131. package/dist/src/cli/commands/coverage.d.ts +0 -1
  132. package/dist/src/cli/commands/coverage.js +0 -121
  133. package/dist/src/cli/commands/coverage.js.map +0 -1
  134. package/dist/src/cli/commands/dashboard.d.ts +0 -5
  135. package/dist/src/cli/commands/dashboard.js +0 -753
  136. package/dist/src/cli/commands/dashboard.js.map +0 -1
  137. package/dist/src/cli/commands/explorer.d.ts +0 -2
  138. package/dist/src/cli/commands/explorer.js +0 -44
  139. package/dist/src/cli/commands/explorer.js.map +0 -1
  140. package/dist/src/cli/commands/git.d.ts +0 -2
  141. package/dist/src/cli/commands/git.js +0 -40
  142. package/dist/src/cli/commands/git.js.map +0 -1
  143. package/dist/src/cli/commands/index-codebase.d.ts +0 -4
  144. package/dist/src/cli/commands/index-codebase.js +0 -52
  145. package/dist/src/cli/commands/index-codebase.js.map +0 -1
  146. package/dist/src/cli/commands/init/create-agent.d.ts +0 -4
  147. package/dist/src/cli/commands/init/create-agent.js +0 -59
  148. package/dist/src/cli/commands/init/create-agent.js.map +0 -1
  149. package/dist/src/cli/commands/init/scaffold-core.d.ts +0 -13
  150. package/dist/src/cli/commands/init/scaffold-core.js +0 -129
  151. package/dist/src/cli/commands/init/scaffold-core.js.map +0 -1
  152. package/dist/src/cli/commands/init/scaffold-docs.d.ts +0 -4
  153. package/dist/src/cli/commands/init/scaffold-docs.js +0 -36
  154. package/dist/src/cli/commands/init/scaffold-docs.js.map +0 -1
  155. package/dist/src/cli/commands/init/scaffold-ops.d.ts +0 -1
  156. package/dist/src/cli/commands/init/scaffold-ops.js +0 -81
  157. package/dist/src/cli/commands/init/scaffold-ops.js.map +0 -1
  158. package/dist/src/cli/commands/init/scaffold-standards.d.ts +0 -2
  159. package/dist/src/cli/commands/init/scaffold-standards.js +0 -84
  160. package/dist/src/cli/commands/init/scaffold-standards.js.map +0 -1
  161. package/dist/src/cli/commands/init.d.ts +0 -11
  162. package/dist/src/cli/commands/init.js +0 -362
  163. package/dist/src/cli/commands/init.js.map +0 -1
  164. package/dist/src/cli/commands/knowledge.d.ts +0 -2
  165. package/dist/src/cli/commands/knowledge.js +0 -16
  166. package/dist/src/cli/commands/knowledge.js.map +0 -1
  167. package/dist/src/cli/commands/lint.d.ts +0 -4
  168. package/dist/src/cli/commands/lint.js +0 -24
  169. package/dist/src/cli/commands/lint.js.map +0 -1
  170. package/dist/src/cli/commands/log.d.ts +0 -10
  171. package/dist/src/cli/commands/log.js +0 -14
  172. package/dist/src/cli/commands/log.js.map +0 -1
  173. package/dist/src/cli/commands/mcp.d.ts +0 -11
  174. package/dist/src/cli/commands/mcp.js +0 -132
  175. package/dist/src/cli/commands/mcp.js.map +0 -1
  176. package/dist/src/cli/commands/memory.d.ts +0 -1
  177. package/dist/src/cli/commands/memory.js +0 -5
  178. package/dist/src/cli/commands/memory.js.map +0 -1
  179. package/dist/src/cli/commands/orchestrate.d.ts +0 -61
  180. package/dist/src/cli/commands/orchestrate.js +0 -238
  181. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  182. package/dist/src/cli/commands/plan.d.ts +0 -11
  183. package/dist/src/cli/commands/plan.js +0 -120
  184. package/dist/src/cli/commands/plan.js.map +0 -1
  185. package/dist/src/cli/commands/quickstart.d.ts +0 -9
  186. package/dist/src/cli/commands/quickstart.js +0 -60
  187. package/dist/src/cli/commands/quickstart.js.map +0 -1
  188. package/dist/src/cli/commands/script.d.ts +0 -1
  189. package/dist/src/cli/commands/script.js +0 -28
  190. package/dist/src/cli/commands/script.js.map +0 -1
  191. package/dist/src/cli/commands/security.d.ts +0 -1
  192. package/dist/src/cli/commands/security.js +0 -34
  193. package/dist/src/cli/commands/security.js.map +0 -1
  194. package/dist/src/cli/commands/status.d.ts +0 -4
  195. package/dist/src/cli/commands/status.js +0 -122
  196. package/dist/src/cli/commands/status.js.map +0 -1
  197. package/dist/src/cli/commands/trace.d.ts +0 -10
  198. package/dist/src/cli/commands/trace.js +0 -108
  199. package/dist/src/cli/commands/trace.js.map +0 -1
  200. package/dist/src/cli/index.d.ts +0 -2
  201. package/dist/src/cli/index.js +0 -282
  202. package/dist/src/cli/index.js.map +0 -1
  203. package/dist/src/cli/platforms/core.d.ts +0 -12
  204. package/dist/src/cli/platforms/core.js +0 -73
  205. package/dist/src/cli/platforms/core.js.map +0 -1
  206. package/dist/src/cli/platforms/index.d.ts +0 -5
  207. package/dist/src/cli/platforms/index.js +0 -6
  208. package/dist/src/cli/platforms/index.js.map +0 -1
  209. package/dist/src/cli/platforms/paths.d.ts +0 -15
  210. package/dist/src/cli/platforms/paths.js +0 -102
  211. package/dist/src/cli/platforms/paths.js.map +0 -1
  212. package/dist/src/cli/platforms/scaffold.d.ts +0 -2
  213. package/dist/src/cli/platforms/scaffold.js +0 -73
  214. package/dist/src/cli/platforms/scaffold.js.map +0 -1
  215. package/dist/src/cli/platforms/utils.d.ts +0 -4
  216. package/dist/src/cli/platforms/utils.js +0 -76
  217. package/dist/src/cli/platforms/utils.js.map +0 -1
  218. package/dist/src/cli/shims.d.ts +0 -1
  219. package/dist/src/cli/shims.js +0 -67
  220. package/dist/src/cli/shims.js.map +0 -1
  221. package/dist/src/cli/utils/claude.d.ts +0 -8
  222. package/dist/src/cli/utils/claude.js +0 -58
  223. package/dist/src/cli/utils/claude.js.map +0 -1
  224. package/dist/src/cli/utils/compliance.d.ts +0 -42
  225. package/dist/src/cli/utils/compliance.js +0 -150
  226. package/dist/src/cli/utils/compliance.js.map +0 -1
  227. package/dist/src/cli/utils/config-schema.d.ts +0 -139
  228. package/dist/src/cli/utils/config-schema.js +0 -43
  229. package/dist/src/cli/utils/config-schema.js.map +0 -1
  230. package/dist/src/cli/utils/fs.d.ts +0 -10
  231. package/dist/src/cli/utils/fs.js +0 -139
  232. package/dist/src/cli/utils/fs.js.map +0 -1
  233. package/dist/src/cli/utils/i18n.d.ts +0 -21
  234. package/dist/src/cli/utils/i18n.js +0 -36
  235. package/dist/src/cli/utils/i18n.js.map +0 -1
  236. package/dist/src/cli/utils/memory.d.ts +0 -39
  237. package/dist/src/cli/utils/memory.js +0 -281
  238. package/dist/src/cli/utils/memory.js.map +0 -1
  239. package/dist/src/cli/utils/pkg.d.ts +0 -43
  240. package/dist/src/cli/utils/pkg.js +0 -283
  241. package/dist/src/cli/utils/pkg.js.map +0 -1
  242. package/dist/src/cli/utils/quality.d.ts +0 -8
  243. package/dist/src/cli/utils/quality.js +0 -8
  244. package/dist/src/cli/utils/quality.js.map +0 -1
  245. package/dist/src/cli/utils/schemas.d.ts +0 -49
  246. package/dist/src/cli/utils/schemas.js +0 -20
  247. package/dist/src/cli/utils/schemas.js.map +0 -1
  248. package/dist/src/cli/utils/string.d.ts +0 -7
  249. package/dist/src/cli/utils/string.js +0 -50
  250. package/dist/src/cli/utils/string.js.map +0 -1
  251. package/dist/src/cli/utils/time.d.ts +0 -2
  252. package/dist/src/cli/utils/time.js +0 -28
  253. package/dist/src/cli/utils/time.js.map +0 -1
  254. package/dist/src/cli/utils/ui.d.ts +0 -53
  255. package/dist/src/cli/utils/ui.js +0 -101
  256. package/dist/src/cli/utils/ui.js.map +0 -1
  257. package/dist/src/contracts/index.d.ts +0 -1
  258. package/dist/src/contracts/index.js +0 -2
  259. package/dist/src/contracts/index.js.map +0 -1
  260. package/dist/src/contracts/tasks.d.ts +0 -44
  261. package/dist/src/contracts/tasks.js +0 -21
  262. package/dist/src/contracts/tasks.js.map +0 -1
  263. package/dist/src/modules/agents/definitions.d.ts +0 -26
  264. package/dist/src/modules/agents/definitions.js +0 -564
  265. package/dist/src/modules/agents/definitions.js.map +0 -1
  266. package/dist/src/modules/agents/registry/analyst.d.ts +0 -2
  267. package/dist/src/modules/agents/registry/analyst.js +0 -40
  268. package/dist/src/modules/agents/registry/analyst.js.map +0 -1
  269. package/dist/src/modules/agents/registry/architect.d.ts +0 -2
  270. package/dist/src/modules/agents/registry/architect.js +0 -43
  271. package/dist/src/modules/agents/registry/architect.js.map +0 -1
  272. package/dist/src/modules/agents/registry/backend.d.ts +0 -2
  273. package/dist/src/modules/agents/registry/backend.js +0 -51
  274. package/dist/src/modules/agents/registry/backend.js.map +0 -1
  275. package/dist/src/modules/agents/registry/database.d.ts +0 -2
  276. package/dist/src/modules/agents/registry/database.js +0 -46
  277. package/dist/src/modules/agents/registry/database.js.map +0 -1
  278. package/dist/src/modules/agents/registry/devops.d.ts +0 -2
  279. package/dist/src/modules/agents/registry/devops.js +0 -46
  280. package/dist/src/modules/agents/registry/devops.js.map +0 -1
  281. package/dist/src/modules/agents/registry/explorer.d.ts +0 -2
  282. package/dist/src/modules/agents/registry/explorer.js +0 -38
  283. package/dist/src/modules/agents/registry/explorer.js.map +0 -1
  284. package/dist/src/modules/agents/registry/frontend.d.ts +0 -2
  285. package/dist/src/modules/agents/registry/frontend.js +0 -53
  286. package/dist/src/modules/agents/registry/frontend.js.map +0 -1
  287. package/dist/src/modules/agents/registry/git.d.ts +0 -2
  288. package/dist/src/modules/agents/registry/git.js +0 -37
  289. package/dist/src/modules/agents/registry/git.js.map +0 -1
  290. package/dist/src/modules/agents/registry/manager.d.ts +0 -2
  291. package/dist/src/modules/agents/registry/manager.js +0 -65
  292. package/dist/src/modules/agents/registry/manager.js.map +0 -1
  293. package/dist/src/modules/agents/registry/mobile.d.ts +0 -2
  294. package/dist/src/modules/agents/registry/mobile.js +0 -42
  295. package/dist/src/modules/agents/registry/mobile.js.map +0 -1
  296. package/dist/src/modules/agents/registry/native.d.ts +0 -2
  297. package/dist/src/modules/agents/registry/native.js +0 -42
  298. package/dist/src/modules/agents/registry/native.js.map +0 -1
  299. package/dist/src/modules/agents/registry/quality.d.ts +0 -2
  300. package/dist/src/modules/agents/registry/quality.js +0 -44
  301. package/dist/src/modules/agents/registry/quality.js.map +0 -1
  302. package/dist/src/modules/agents/registry/security.d.ts +0 -2
  303. package/dist/src/modules/agents/registry/security.js +0 -43
  304. package/dist/src/modules/agents/registry/security.js.map +0 -1
  305. package/dist/src/modules/agents/types.d.ts +0 -33
  306. package/dist/src/modules/agents/types.js +0 -2
  307. package/dist/src/modules/agents/types.js.map +0 -1
  308. package/dist/src/modules/contracts/api.d.ts +0 -178
  309. package/dist/src/modules/contracts/api.js +0 -56
  310. package/dist/src/modules/contracts/api.js.map +0 -1
  311. package/dist/src/modules/contracts/index.d.ts +0 -5
  312. package/dist/src/modules/contracts/index.js +0 -6
  313. package/dist/src/modules/contracts/index.js.map +0 -1
  314. package/dist/src/modules/engines/agent-executor.d.ts +0 -46
  315. package/dist/src/modules/engines/agent-executor.js +0 -241
  316. package/dist/src/modules/engines/agent-executor.js.map +0 -1
  317. package/dist/src/modules/engines/agent-loop.d.ts +0 -34
  318. package/dist/src/modules/engines/agent-loop.js +0 -102
  319. package/dist/src/modules/engines/agent-loop.js.map +0 -1
  320. package/dist/src/modules/engines/contract-engine.d.ts +0 -46
  321. package/dist/src/modules/engines/contract-engine.js +0 -116
  322. package/dist/src/modules/engines/contract-engine.js.map +0 -1
  323. package/dist/src/modules/engines/crud-governance.d.ts +0 -64
  324. package/dist/src/modules/engines/crud-governance.js +0 -184
  325. package/dist/src/modules/engines/crud-governance.js.map +0 -1
  326. package/dist/src/modules/engines/discovery-engine.d.ts +0 -42
  327. package/dist/src/modules/engines/discovery-engine.js +0 -161
  328. package/dist/src/modules/engines/discovery-engine.js.map +0 -1
  329. package/dist/src/modules/engines/evaluation-engine.d.ts +0 -18
  330. package/dist/src/modules/engines/evaluation-engine.js +0 -171
  331. package/dist/src/modules/engines/evaluation-engine.js.map +0 -1
  332. package/dist/src/modules/engines/file-lock.d.ts +0 -41
  333. package/dist/src/modules/engines/file-lock.js +0 -168
  334. package/dist/src/modules/engines/file-lock.js.map +0 -1
  335. package/dist/src/modules/engines/health-engine.d.ts +0 -22
  336. package/dist/src/modules/engines/health-engine.js +0 -127
  337. package/dist/src/modules/engines/health-engine.js.map +0 -1
  338. package/dist/src/modules/engines/phase-engine.d.ts +0 -82
  339. package/dist/src/modules/engines/phase-engine.js +0 -211
  340. package/dist/src/modules/engines/phase-engine.js.map +0 -1
  341. package/dist/src/modules/engines/planning-engine.d.ts +0 -25
  342. package/dist/src/modules/engines/planning-engine.js +0 -80
  343. package/dist/src/modules/engines/planning-engine.js.map +0 -1
  344. package/dist/src/modules/engines/policy-engine.d.ts +0 -63
  345. package/dist/src/modules/engines/policy-engine.js +0 -186
  346. package/dist/src/modules/engines/policy-engine.js.map +0 -1
  347. package/dist/src/modules/engines/quality-gate.d.ts +0 -31
  348. package/dist/src/modules/engines/quality-gate.js +0 -95
  349. package/dist/src/modules/engines/quality-gate.js.map +0 -1
  350. package/dist/src/modules/engines/risk-engine.d.ts +0 -34
  351. package/dist/src/modules/engines/risk-engine.js +0 -201
  352. package/dist/src/modules/engines/risk-engine.js.map +0 -1
  353. package/dist/src/modules/engines/routing-engine.d.ts +0 -96
  354. package/dist/src/modules/engines/routing-engine.js +0 -505
  355. package/dist/src/modules/engines/routing-engine.js.map +0 -1
  356. package/dist/src/modules/engines/session-engine.d.ts +0 -68
  357. package/dist/src/modules/engines/session-engine.js +0 -141
  358. package/dist/src/modules/engines/session-engine.js.map +0 -1
  359. package/dist/src/modules/engines/types.d.ts +0 -51
  360. package/dist/src/modules/engines/types.js +0 -2
  361. package/dist/src/modules/engines/types.js.map +0 -1
  362. package/dist/src/modules/memory/core.d.ts +0 -42
  363. package/dist/src/modules/memory/core.js +0 -100
  364. package/dist/src/modules/memory/core.js.map +0 -1
  365. package/dist/src/modules/memory/embedding.d.ts +0 -28
  366. package/dist/src/modules/memory/embedding.js +0 -131
  367. package/dist/src/modules/memory/embedding.js.map +0 -1
  368. package/dist/src/modules/memory/types.d.ts +0 -18
  369. package/dist/src/modules/memory/types.js +0 -2
  370. package/dist/src/modules/memory/types.js.map +0 -1
  371. package/dist/src/modules/memory/vector-store.d.ts +0 -13
  372. package/dist/src/modules/memory/vector-store.js +0 -75
  373. package/dist/src/modules/memory/vector-store.js.map +0 -1
  374. package/dist/src/modules/providers/definitions.d.ts +0 -9
  375. package/dist/src/modules/providers/definitions.js +0 -141
  376. package/dist/src/modules/providers/definitions.js.map +0 -1
  377. package/dist/src/modules/providers/llm-provider.d.ts +0 -87
  378. package/dist/src/modules/providers/llm-provider.js +0 -242
  379. package/dist/src/modules/providers/llm-provider.js.map +0 -1
  380. package/dist/src/modules/providers/registry.d.ts +0 -12
  381. package/dist/src/modules/providers/registry.js +0 -19
  382. package/dist/src/modules/providers/registry.js.map +0 -1
  383. package/dist/src/modules/providers/shared.d.ts +0 -1
  384. package/dist/src/modules/providers/shared.js +0 -104
  385. package/dist/src/modules/providers/shared.js.map +0 -1
  386. package/dist/src/modules/providers/types.d.ts +0 -14
  387. package/dist/src/modules/providers/types.js +0 -2
  388. package/dist/src/modules/providers/types.js.map +0 -1
  389. package/dist/src/modules/skills/adapter-skills.d.ts +0 -68
  390. package/dist/src/modules/skills/adapter-skills.js +0 -450
  391. package/dist/src/modules/skills/adapter-skills.js.map +0 -1
  392. package/dist/src/modules/skills/definitions.d.ts +0 -48
  393. package/dist/src/modules/skills/definitions.js +0 -71
  394. package/dist/src/modules/skills/definitions.js.map +0 -1
  395. package/dist/src/shared/audit.js.map +0 -1
  396. package/dist/src/shared/constants.js.map +0 -1
  397. package/dist/src/shared/errors.js.map +0 -1
  398. package/dist/src/shared/fs.d.ts +0 -9
  399. package/dist/src/shared/fs.js +0 -54
  400. package/dist/src/shared/fs.js.map +0 -1
  401. package/dist/src/shared/lock.js.map +0 -1
  402. package/dist/src/shared/logger.js.map +0 -1
  403. package/dist/src/shared/pii.js.map +0 -1
  404. package/dist/src/shared/retention.js.map +0 -1
  405. package/dist/src/shared/storage.d.ts +0 -141
  406. package/dist/src/shared/storage.js +0 -326
  407. package/dist/src/shared/storage.js.map +0 -1
  408. package/dist/src/shared/string.js.map +0 -1
  409. package/dist/src/shared/types.js.map +0 -1
  410. package/dist/tests/adapter.test.d.ts +0 -1
  411. package/dist/tests/adapter.test.js +0 -130
  412. package/dist/tests/adapter.test.js.map +0 -1
  413. package/dist/tests/adapters/paths.test.d.ts +0 -1
  414. package/dist/tests/adapters/paths.test.js +0 -63
  415. package/dist/tests/adapters/paths.test.js.map +0 -1
  416. package/dist/tests/agent-memory-v2.test.d.ts +0 -1
  417. package/dist/tests/agent-memory-v2.test.js +0 -68
  418. package/dist/tests/agent-memory-v2.test.js.map +0 -1
  419. package/dist/tests/agents-definitions.test.d.ts +0 -1
  420. package/dist/tests/agents-definitions.test.js +0 -103
  421. package/dist/tests/agents-definitions.test.js.map +0 -1
  422. package/dist/tests/approve.test.d.ts +0 -1
  423. package/dist/tests/approve.test.js +0 -52
  424. package/dist/tests/approve.test.js.map +0 -1
  425. package/dist/tests/cli/commands/check.test.d.ts +0 -1
  426. package/dist/tests/cli/commands/check.test.js +0 -9
  427. package/dist/tests/cli/commands/check.test.js.map +0 -1
  428. package/dist/tests/cli/commands/coverage.test.d.ts +0 -1
  429. package/dist/tests/cli/commands/coverage.test.js +0 -9
  430. package/dist/tests/cli/commands/coverage.test.js.map +0 -1
  431. package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +0 -1
  432. package/dist/tests/cli/commands/dashboard-coverage.test.js +0 -90
  433. package/dist/tests/cli/commands/dashboard-coverage.test.js.map +0 -1
  434. package/dist/tests/cli/commands/exports.test.d.ts +0 -1
  435. package/dist/tests/cli/commands/exports.test.js +0 -61
  436. package/dist/tests/cli/commands/exports.test.js.map +0 -1
  437. package/dist/tests/cli/commands/lint.test.d.ts +0 -1
  438. package/dist/tests/cli/commands/lint.test.js +0 -9
  439. package/dist/tests/cli/commands/lint.test.js.map +0 -1
  440. package/dist/tests/cli/init/adapter_init.test.d.ts +0 -1
  441. package/dist/tests/cli/init/adapter_init.test.js +0 -49
  442. package/dist/tests/cli/init/adapter_init.test.js.map +0 -1
  443. package/dist/tests/cli/init/unified_init.test.d.ts +0 -1
  444. package/dist/tests/cli/init/unified_init.test.js +0 -56
  445. package/dist/tests/cli/init/unified_init.test.js.map +0 -1
  446. package/dist/tests/core-memory.test.d.ts +0 -1
  447. package/dist/tests/core-memory.test.js +0 -78
  448. package/dist/tests/core-memory.test.js.map +0 -1
  449. package/dist/tests/embedding.test.d.ts +0 -1
  450. package/dist/tests/embedding.test.js +0 -82
  451. package/dist/tests/embedding.test.js.map +0 -1
  452. package/dist/tests/engines/evaluation-engine.test.d.ts +0 -1
  453. package/dist/tests/engines/evaluation-engine.test.js +0 -71
  454. package/dist/tests/engines/evaluation-engine.test.js.map +0 -1
  455. package/dist/tests/engines/planning-engine.test.d.ts +0 -1
  456. package/dist/tests/engines/planning-engine.test.js +0 -100
  457. package/dist/tests/engines/planning-engine.test.js.map +0 -1
  458. package/dist/tests/engines/quality-gate.test.d.ts +0 -1
  459. package/dist/tests/engines/quality-gate.test.js +0 -59
  460. package/dist/tests/engines/quality-gate.test.js.map +0 -1
  461. package/dist/tests/engines/risk-engine.test.d.ts +0 -1
  462. package/dist/tests/engines/risk-engine.test.js +0 -80
  463. package/dist/tests/engines/risk-engine.test.js.map +0 -1
  464. package/dist/tests/engines/routing-engine.test.d.ts +0 -1
  465. package/dist/tests/engines/routing-engine.test.js +0 -78
  466. package/dist/tests/engines/routing-engine.test.js.map +0 -1
  467. package/dist/tests/errors.test.d.ts +0 -1
  468. package/dist/tests/errors.test.js +0 -64
  469. package/dist/tests/errors.test.js.map +0 -1
  470. package/dist/tests/fs-utils.test.d.ts +0 -1
  471. package/dist/tests/fs-utils.test.js +0 -101
  472. package/dist/tests/fs-utils.test.js.map +0 -1
  473. package/dist/tests/integration/agent_flow.test.d.ts +0 -1
  474. package/dist/tests/integration/agent_flow.test.js +0 -69
  475. package/dist/tests/integration/agent_flow.test.js.map +0 -1
  476. package/dist/tests/integration/hermes_locking.test.d.ts +0 -1
  477. package/dist/tests/integration/hermes_locking.test.js +0 -62
  478. package/dist/tests/integration/hermes_locking.test.js.map +0 -1
  479. package/dist/tests/logger.test.d.ts +0 -1
  480. package/dist/tests/logger.test.js +0 -81
  481. package/dist/tests/logger.test.js.map +0 -1
  482. package/dist/tests/memory-utils.test.d.ts +0 -1
  483. package/dist/tests/memory-utils.test.js +0 -59
  484. package/dist/tests/memory-utils.test.js.map +0 -1
  485. package/dist/tests/modules/adapters/adapters.test.d.ts +0 -1
  486. package/dist/tests/modules/adapters/adapters.test.js +0 -30
  487. package/dist/tests/modules/adapters/adapters.test.js.map +0 -1
  488. package/dist/tests/modules/contracts/contracts.test.d.ts +0 -1
  489. package/dist/tests/modules/contracts/contracts.test.js +0 -73
  490. package/dist/tests/modules/contracts/contracts.test.js.map +0 -1
  491. package/dist/tests/modules/engines/agent-executor.test.d.ts +0 -1
  492. package/dist/tests/modules/engines/agent-executor.test.js +0 -61
  493. package/dist/tests/modules/engines/agent-executor.test.js.map +0 -1
  494. package/dist/tests/modules/engines/evaluation-engine.test.d.ts +0 -1
  495. package/dist/tests/modules/engines/evaluation-engine.test.js +0 -45
  496. package/dist/tests/modules/engines/evaluation-engine.test.js.map +0 -1
  497. package/dist/tests/modules/engines/health-engine.test.d.ts +0 -1
  498. package/dist/tests/modules/engines/health-engine.test.js +0 -56
  499. package/dist/tests/modules/engines/health-engine.test.js.map +0 -1
  500. package/dist/tests/modules/engines/planning-engine.test.d.ts +0 -1
  501. package/dist/tests/modules/engines/planning-engine.test.js +0 -75
  502. package/dist/tests/modules/engines/planning-engine.test.js.map +0 -1
  503. package/dist/tests/modules/engines/risk-engine.test.d.ts +0 -1
  504. package/dist/tests/modules/engines/risk-engine.test.js +0 -61
  505. package/dist/tests/modules/engines/risk-engine.test.js.map +0 -1
  506. package/dist/tests/modules/engines/routing-engine.test.d.ts +0 -1
  507. package/dist/tests/modules/engines/routing-engine.test.js +0 -56
  508. package/dist/tests/modules/engines/routing-engine.test.js.map +0 -1
  509. package/dist/tests/modules/memory/vector-store.test.d.ts +0 -1
  510. package/dist/tests/modules/memory/vector-store.test.js +0 -109
  511. package/dist/tests/modules/memory/vector-store.test.js.map +0 -1
  512. package/dist/tests/orchestrate.test.d.ts +0 -1
  513. package/dist/tests/orchestrate.test.js +0 -71
  514. package/dist/tests/orchestrate.test.js.map +0 -1
  515. package/dist/tests/orchestrator-dependencies.test.d.ts +0 -1
  516. package/dist/tests/orchestrator-dependencies.test.js +0 -70
  517. package/dist/tests/orchestrator-dependencies.test.js.map +0 -1
  518. package/dist/tests/plan.test.d.ts +0 -1
  519. package/dist/tests/plan.test.js +0 -63
  520. package/dist/tests/plan.test.js.map +0 -1
  521. package/dist/tests/shared/audit.test.d.ts +0 -1
  522. package/dist/tests/shared/audit.test.js +0 -53
  523. package/dist/tests/shared/audit.test.js.map +0 -1
  524. package/dist/tests/shared/constants.test.d.ts +0 -1
  525. package/dist/tests/shared/constants.test.js +0 -17
  526. package/dist/tests/shared/constants.test.js.map +0 -1
  527. package/dist/tests/shared/lock.test.d.ts +0 -1
  528. package/dist/tests/shared/lock.test.js +0 -95
  529. package/dist/tests/shared/lock.test.js.map +0 -1
  530. package/dist/tests/shared/pii.test.d.ts +0 -1
  531. package/dist/tests/shared/pii.test.js +0 -183
  532. package/dist/tests/shared/pii.test.js.map +0 -1
  533. package/dist/tests/skills-definitions.test.d.ts +0 -1
  534. package/dist/tests/skills-definitions.test.js +0 -34
  535. package/dist/tests/skills-definitions.test.js.map +0 -1
  536. package/dist/tests/status-cost.test.d.ts +0 -1
  537. package/dist/tests/status-cost.test.js +0 -47
  538. package/dist/tests/status-cost.test.js.map +0 -1
  539. package/dist/tests/status.test.d.ts +0 -1
  540. package/dist/tests/status.test.js +0 -49
  541. package/dist/tests/status.test.js.map +0 -1
  542. package/dist/tests/storage-operations.test.d.ts +0 -1
  543. package/dist/tests/storage-operations.test.js +0 -143
  544. package/dist/tests/storage-operations.test.js.map +0 -1
  545. package/dist/tests/string.test.d.ts +0 -1
  546. package/dist/tests/string.test.js +0 -89
  547. package/dist/tests/string.test.js.map +0 -1
  548. package/dist/tests/time.test.d.ts +0 -1
  549. package/dist/tests/time.test.js +0 -48
  550. package/dist/tests/time.test.js.map +0 -1
  551. package/dist/tests/trace-replay.test.d.ts +0 -1
  552. package/dist/tests/trace-replay.test.js +0 -59
  553. package/dist/tests/trace-replay.test.js.map +0 -1
  554. package/dist/tests/trace.test.d.ts +0 -1
  555. package/dist/tests/trace.test.js +0 -35
  556. package/dist/tests/trace.test.js.map +0 -1
  557. /package/dist/{src/shared → shared/src}/audit.d.ts +0 -0
  558. /package/dist/{src/shared → shared/src}/errors.d.ts +0 -0
  559. /package/dist/{src/shared → shared/src}/errors.js +0 -0
  560. /package/dist/{atabey-mcp/src/shared → shared/src}/fs.d.ts +0 -0
  561. /package/dist/{atabey-mcp/src/shared → shared/src}/fs.js +0 -0
  562. /package/dist/{src/shared → shared/src}/lock.d.ts +0 -0
  563. /package/dist/{src/shared → shared/src}/logger.d.ts +0 -0
  564. /package/dist/{src/shared → shared/src}/logger.js +0 -0
  565. /package/dist/{src/shared → shared/src}/pii.d.ts +0 -0
  566. /package/dist/{src/shared → shared/src}/retention.d.ts +0 -0
  567. /package/dist/{src/shared → shared/src}/string.d.ts +0 -0
  568. /package/dist/{src/shared → shared/src}/string.js +0 -0
  569. /package/dist/{src/shared → shared/src}/types.d.ts +0 -0
  570. /package/dist/{src/shared → shared/src}/types.js +0 -0
@@ -1,160 +1,2 @@
1
- /**
2
- * [LOCK] Multi-user Distributed Lock Mechanism
3
- *
4
- * Git-based lock system. Enables team members to work on the same
5
- * files/resources without conflicts.
6
- *
7
- * Usage:
8
- * const lock = new DistributedLock("database/schema.sql");
9
- * if (lock.acquire("user-123", 60000)) {
10
- * // Apply changes
11
- * lock.release("user-123");
12
- * }
13
- */
14
- import { execSync } from "child_process";
15
- import os from "os";
16
- import { Storage } from "./storage.js";
17
- export class DistributedLock {
18
- static TABLE = "distributed_locks";
19
- /**
20
- * Initialize the locks table (run once at startup).
21
- */
22
- static initialize() {
23
- const db = Storage.getDB();
24
- db.exec(`
25
- CREATE TABLE IF NOT EXISTS ${this.TABLE} (
26
- resource TEXT PRIMARY KEY,
27
- ownerId TEXT NOT NULL,
28
- ownerName TEXT NOT NULL,
29
- acquiredAt TEXT NOT NULL,
30
- expiresAt TEXT NOT NULL,
31
- reason TEXT,
32
- traceId TEXT
33
- )
34
- `);
35
- }
36
- /**
37
- * Attempts to acquire a lock on a resource.
38
- *
39
- * @param resource - Lock resource name (e.g., "apps/backend/src/types/user.ts")
40
- * @param ownerId - Unique owner identifier (e.g., "yusuf", "ci-bot-01")
41
- * @param options - Optional parameters
42
- * @returns true if lock acquired, false if already locked
43
- */
44
- static acquire(resource, ownerId, options = {}) {
45
- const db = Storage.getDB();
46
- const now = new Date();
47
- const expiresAt = new Date(now.getTime() + (options.ttlMs || 60000)).toISOString();
48
- const ownerName = options.ownerName || ownerId;
49
- const reason = options.reason || "No reason provided";
50
- // Clean up stale locks first
51
- this.releaseStaleLocks();
52
- // Check current lock status
53
- const existing = db.prepare(`SELECT * FROM ${this.TABLE} WHERE resource = ?`).get(resource);
54
- if (existing) {
55
- // If force=true, override existing lock
56
- if (options.force) {
57
- db.prepare(`
58
- INSERT OR REPLACE INTO ${this.TABLE} (resource, ownerId, ownerName, acquiredAt, expiresAt, reason, traceId)
59
- VALUES (?, ?, ?, ?, ?, ?, ?)
60
- `).run(resource, ownerId, ownerName, now.toISOString(), expiresAt, reason, options.traceId || null);
61
- return true;
62
- }
63
- return false; // Already locked
64
- }
65
- // Acquire new lock
66
- db.prepare(`
67
- INSERT INTO ${this.TABLE} (resource, ownerId, ownerName, acquiredAt, expiresAt, reason, traceId)
68
- VALUES (?, ?, ?, ?, ?, ?, ?)
69
- `).run(resource, ownerId, ownerName, now.toISOString(), expiresAt, reason, options.traceId || null);
70
- return true;
71
- }
72
- /**
73
- * Releases a lock. Only the lock owner can release.
74
- *
75
- * @param resource - Lock resource name
76
- * @param ownerId - Owner identifier for verification
77
- * @returns true if released successfully
78
- */
79
- static release(resource, ownerId) {
80
- const db = Storage.getDB();
81
- const result = db.prepare(`DELETE FROM ${this.TABLE} WHERE resource = ? AND ownerId = ?`).run(resource, ownerId);
82
- return result.changes > 0;
83
- }
84
- /**
85
- * Checks if a resource is locked.
86
- */
87
- static isLocked(resource) {
88
- const db = Storage.getDB();
89
- const lock = db.prepare(`SELECT * FROM ${this.TABLE} WHERE resource = ? AND expiresAt > datetime('now')`).get(resource);
90
- return !!lock;
91
- }
92
- /**
93
- * Gets lock information for a resource.
94
- */
95
- static getLock(resource) {
96
- const db = Storage.getDB();
97
- this.releaseStaleLocks();
98
- const lock = db.prepare(`SELECT * FROM ${this.TABLE} WHERE resource = ?`).get(resource);
99
- return lock || null;
100
- }
101
- /**
102
- * Lists all active locks.
103
- */
104
- static listActiveLocks() {
105
- const db = Storage.getDB();
106
- this.releaseStaleLocks();
107
- return db.prepare(`SELECT * FROM ${this.TABLE} WHERE expiresAt > datetime('now') ORDER BY acquiredAt DESC`).all();
108
- }
109
- /**
110
- * Lists all locks owned by a specific owner.
111
- */
112
- static listOwnerLocks(ownerId) {
113
- const db = Storage.getDB();
114
- return db.prepare(`SELECT * FROM ${this.TABLE} WHERE ownerId = ? ORDER BY acquiredAt DESC`).all(ownerId);
115
- }
116
- /**
117
- * Releases all locks owned by a specific owner (e.g., on disconnect).
118
- */
119
- static releaseAllByOwner(ownerId) {
120
- const db = Storage.getDB();
121
- const result = db.prepare(`DELETE FROM ${this.TABLE} WHERE ownerId = ?`).run(ownerId);
122
- return result.changes;
123
- }
124
- /**
125
- * Releases all expired/stale locks.
126
- */
127
- static releaseStaleLocks() {
128
- const db = Storage.getDB();
129
- const result = db.prepare(`DELETE FROM ${this.TABLE} WHERE expiresAt < datetime('now')`).run();
130
- return result.changes;
131
- }
132
- /**
133
- * Generates a unique owner ID for the current user/machine.
134
- * Uses git config user.name or hostname as fallback.
135
- */
136
- static getLocalOwnerId() {
137
- // Try git config
138
- try {
139
- const name = execSync("git config user.name", { encoding: "utf8" }).trim();
140
- if (name)
141
- return name;
142
- }
143
- catch {
144
- // Fallback
145
- }
146
- // Try environment
147
- if (process.env.USER)
148
- return process.env.USER;
149
- if (process.env.USERNAME)
150
- return process.env.USERNAME;
151
- // Fallback to hostname
152
- try {
153
- return os.hostname();
154
- }
155
- catch {
156
- return "unknown-user";
157
- }
158
- }
159
- }
1
+ export * from "atabey-shared/lock.js";
160
2
  //# sourceMappingURL=lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../src/shared/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../src/shared/lock.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,30 +1 @@
1
- export declare enum LogLevel {
2
- DEBUG = 0,
3
- INFO = 1,
4
- WARN = 2,
5
- ERROR = 3,
6
- FATAL = 4
7
- }
8
- export interface LoggerConfig {
9
- minLevel: LogLevel;
10
- enableColors: boolean;
11
- jsonFormat: boolean;
12
- logFile?: string;
13
- enablePiiMasking: boolean;
14
- piiWarning: boolean;
15
- }
16
- export declare class EnterpriseLogger {
17
- private config;
18
- private static instance;
19
- private constructor();
20
- static getInstance(): EnterpriseLogger;
21
- configure(config: Partial<LoggerConfig>): void;
22
- private formatMessage;
23
- private log;
24
- debug(message: string, meta?: unknown): void;
25
- info(message: string, meta?: unknown): void;
26
- warn(message: string, meta?: unknown): void;
27
- error(message: string, meta?: unknown): void;
28
- fatal(message: string, meta?: unknown): void;
29
- }
30
- export declare const logger: EnterpriseLogger;
1
+ export * from "atabey-shared/logger.js";
@@ -1,127 +1,2 @@
1
- import chalk from "chalk";
2
- import path from "path";
3
- import { appendFile, ensureDir } from "./fs.js";
4
- import { containsPII, maskObject, maskText } from "./pii.js";
5
- export var LogLevel;
6
- (function (LogLevel) {
7
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
8
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
9
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
10
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
11
- LogLevel[LogLevel["FATAL"] = 4] = "FATAL";
12
- })(LogLevel || (LogLevel = {}));
13
- export class EnterpriseLogger {
14
- config;
15
- static instance;
16
- constructor() {
17
- const isProd = process.env.NODE_ENV === "production";
18
- this.config = {
19
- minLevel: isProd ? LogLevel.INFO : LogLevel.DEBUG,
20
- enableColors: !isProd,
21
- jsonFormat: isProd,
22
- enablePiiMasking: true, // KVKK: PII masking ON by default
23
- piiWarning: true,
24
- };
25
- }
26
- static getInstance() {
27
- if (!EnterpriseLogger.instance) {
28
- EnterpriseLogger.instance = new EnterpriseLogger();
29
- }
30
- return EnterpriseLogger.instance;
31
- }
32
- configure(config) {
33
- this.config = { ...this.config, ...config };
34
- if (this.config.logFile) {
35
- try {
36
- ensureDir(path.dirname(this.config.logFile));
37
- }
38
- catch (err) {
39
- // Directly write to stderr — using console here would be circular
40
- process.stderr.write(`[Logger] Failed to create log directory: ${err}\n`);
41
- }
42
- }
43
- }
44
- formatMessage(level, message, meta) {
45
- const timestamp = new Date().toISOString();
46
- const pid = process.pid;
47
- // [KVKK] PII masking — mask sensitive data before logging
48
- const safeMessage = this.config.enablePiiMasking ? maskText(message) : message;
49
- const safeMeta = this.config.enablePiiMasking && meta ? maskObject(meta) : meta;
50
- // [KVKK] Warn if PII detected in production
51
- if (this.config.piiWarning && (containsPII(message) || (meta && containsPII(JSON.stringify(meta))))) {
52
- process.stderr.write(`[PII WARNING] Potential PII detected in log at ${timestamp}\n`);
53
- }
54
- if (this.config.jsonFormat) {
55
- return JSON.stringify({
56
- timestamp,
57
- level: LogLevel[level],
58
- pid,
59
- message: safeMessage,
60
- meta: safeMeta,
61
- });
62
- }
63
- const levelName = LogLevel[level].padEnd(5);
64
- let coloredLevel = levelName;
65
- if (this.config.enableColors) {
66
- switch (level) {
67
- case LogLevel.DEBUG:
68
- coloredLevel = chalk.blue(levelName);
69
- break;
70
- case LogLevel.INFO:
71
- coloredLevel = chalk.green(levelName);
72
- break;
73
- case LogLevel.WARN:
74
- coloredLevel = chalk.yellow(levelName);
75
- break;
76
- case LogLevel.ERROR:
77
- coloredLevel = chalk.red(levelName);
78
- break;
79
- case LogLevel.FATAL:
80
- coloredLevel = chalk.bgRed.white.bold(levelName);
81
- break;
82
- }
83
- }
84
- const metaStr = safeMeta ? ` | Meta: ${JSON.stringify(safeMeta)}` : "";
85
- return `[${timestamp}] [PID:${pid}] [${coloredLevel}]: ${safeMessage}${metaStr}`;
86
- }
87
- log(level, message, meta) {
88
- if (level < this.config.minLevel)
89
- return;
90
- const formatted = this.formatMessage(level, message, meta);
91
- // Route to stderr for ERROR/FATAL, stdout otherwise.
92
- // Using process.write directly here is intentional — this IS the logger.
93
- if (level >= LogLevel.ERROR) {
94
- process.stderr.write(formatted + "\n");
95
- }
96
- else {
97
- process.stdout.write(formatted + "\n");
98
- }
99
- // Output to file if configured
100
- if (this.config.logFile) {
101
- try {
102
- appendFile(this.config.logFile, formatted + "\n");
103
- }
104
- catch (err) {
105
- // Directly write to stderr — using console here would be circular
106
- process.stderr.write(`[Logger] Failed to write to log file: ${err}\n`);
107
- }
108
- }
109
- }
110
- debug(message, meta) {
111
- this.log(LogLevel.DEBUG, message, meta);
112
- }
113
- info(message, meta) {
114
- this.log(LogLevel.INFO, message, meta);
115
- }
116
- warn(message, meta) {
117
- this.log(LogLevel.WARN, message, meta);
118
- }
119
- error(message, meta) {
120
- this.log(LogLevel.ERROR, message, meta);
121
- }
122
- fatal(message, meta) {
123
- this.log(LogLevel.FATAL, message, meta);
124
- }
125
- }
126
- export const logger = EnterpriseLogger.getInstance();
1
+ export * from "atabey-shared/logger.js";
127
2
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/shared/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/shared/logger.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,69 +1 @@
1
- /**
2
- * [PII] Personally Identifiable Information Masking Service
3
- *
4
- * Detects and masks sensitive data in compliance with KVKK/GDPR.
5
- * Used in audit log, logger, storage layers, and MCP middleware.
6
- *
7
- * Supported patterns:
8
- * - Email addresses
9
- * - Phone numbers (international, Turkish, US, UK)
10
- * - TC Identification number (11 digits)
11
- * - API keys / tokens (OpenAI, Anthropic, Google, GitHub, generic)
12
- * - Bearer tokens / JWTs
13
- * - IP addresses (IPv4, IPv6)
14
- * - Credit card numbers (AMEX, Visa, Mastercard, etc.)
15
- * - Password / secret fields in structured data
16
- * - Bank account / IBAN
17
- * - Date of birth / full address patterns
18
- * - Custom names (configurable)
19
- */
20
- /**
21
- * Mask sensitive data in a text string.
22
- */
23
- export declare function maskText(text: string): string;
24
- /**
25
- * Recursively mask sensitive fields in an object.
26
- * Returns a new object with sensitive values redacted.
27
- * Strict mode: when true, also masks values in objects even if the key
28
- * is not a known sensitive field name (catches data passed to unknown schemas).
29
- */
30
- export declare function maskObject(obj: unknown, depth?: number, strictMode?: boolean): unknown;
31
- /**
32
- * Check if a string contains potential PII.
33
- * Useful for warning before sending data to external APIs.
34
- */
35
- export declare function containsPII(text: string): boolean;
36
- /**
37
- * Check if an object contains PII in any of its string values (recursive).
38
- */
39
- export declare function containsPIIInObject(obj: unknown, depth?: number): boolean;
40
- /**
41
- * Data classification levels for audit/log decisions.
42
- */
43
- export type DataClassification = "public" | "internal" | "confidential" | "restricted" | "critical";
44
- /**
45
- * Classify a piece of data based on content analysis.
46
- */
47
- export declare function classifyData(text: string): DataClassification;
48
- /**
49
- * Mask the content field of an MCP tool result.
50
- * This is used by the MCP middleware layer to automatically
51
- * sanitize all tool outputs before they reach the AI.
52
- */
53
- export declare function maskToolResult(result: {
54
- content: Array<{
55
- type: string;
56
- text: string;
57
- }>;
58
- }): {
59
- content: Array<{
60
- type: string;
61
- text: string;
62
- }>;
63
- };
64
- /**
65
- * Mask sensitive arguments in an MCP tool call.
66
- * This is applied BEFORE the tool handler executes, ensuring
67
- * PII never reaches any processing layer unnecessarily.
68
- */
69
- export declare function maskToolArgs(args: Record<string, unknown>): Record<string, unknown>;
1
+ export * from "atabey-shared/pii.js";
@@ -1,213 +1,2 @@
1
- /**
2
- * [PII] Personally Identifiable Information Masking Service
3
- *
4
- * Detects and masks sensitive data in compliance with KVKK/GDPR.
5
- * Used in audit log, logger, storage layers, and MCP middleware.
6
- *
7
- * Supported patterns:
8
- * - Email addresses
9
- * - Phone numbers (international, Turkish, US, UK)
10
- * - TC Identification number (11 digits)
11
- * - API keys / tokens (OpenAI, Anthropic, Google, GitHub, generic)
12
- * - Bearer tokens / JWTs
13
- * - IP addresses (IPv4, IPv6)
14
- * - Credit card numbers (AMEX, Visa, Mastercard, etc.)
15
- * - Password / secret fields in structured data
16
- * - Bank account / IBAN
17
- * - Date of birth / full address patterns
18
- * - Custom names (configurable)
19
- */
20
- // Sensitive patterns to detect and mask
21
- // IMPORTANT: More specific patterns MUST come before generic ones
22
- const SENSITIVE_PATTERNS = [
23
- // JWT tokens (complete JWT format) - must be before Bearer
24
- { pattern: /eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/g, replacement: "***-JWT-REDACTED-***" },
25
- // Bearer tokens in Authorization headers
26
- { pattern: /Bearer\s+[a-zA-Z0-9._-]+/g, replacement: "Bearer ***-REDACTED-***" },
27
- // Basic auth in Authorization headers
28
- { pattern: /Basic\s+[a-zA-Z0-9=+/]+/g, replacement: "Basic ***-REDACTED-***" },
29
- // API keys (common formats) - must be before generic patterns
30
- // Note: ghp_ tokens can contain digits that look like phone numbers, so we mask the entire prefix + suffix
31
- { pattern: /\b(sk-[a-zA-Z0-9]{20,}|pk-[a-zA-Z0-9]{20,}|xai-[a-zA-Z0-9]{20,}|AIza[0-9A-Za-z_-]{35}|ghp_[a-zA-Z0-9]{36,}|gho_[a-zA-Z0-9]{36,}|ghu_[a-zA-Z0-9]{36,}|ghb_[a-zA-Z0-9]{36,}|github_pat_[a-zA-Z0-9]{36,}|sk-[a-zA-Z0-9_-]{32,}|sk-[a-zA-Z0-9]{48,}|whsec_[a-zA-Z0-9]{16,})\b/g, replacement: "***-REDACTED-***" },
32
- // Social Security Number (US SSN: XXX-XX-XXXX) - must be before generic phone
33
- { pattern: /\b(?!000|666|9[0-9]{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}\b/g, replacement: "***-**-****" },
34
- // Date of birth patterns - must be before generic phone
35
- { pattern: /\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/g, replacement: "**/**/****" },
36
- // IBAN (international bank account) - must be before generic alphanumeric patterns
37
- // Only matches valid IBAN format: 2 letters + 2 digits + 4-30 alphanumeric chars
38
- // More specific: requires minimum 8 chars total, starts with country code
39
- { pattern: /\b[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}\b/g, replacement: "****-IBAN-REDACTED-****" },
40
- // TC Kimlik (11 digits starting with 1-9, isolated word boundary) - must be before phone
41
- { pattern: /\b[1-9][0-9]{10}\b/g, replacement: "***********" },
42
- // Email
43
- { pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, replacement: "***@***" },
44
- // Phone (Turkish: +90 5xx xxx xx xx) - specific before generic
45
- { pattern: /(\+90|0)?\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{2}\s?[0-9]{2}/g, replacement: "***-***-****" },
46
- // Phone (international: +90, +1, +44, +49, +33, etc.) - generic, keep last among phones
47
- { pattern: /(\+\d{1,2}[\s-]?)?\(?\d{2,4}\)?[\s-]?\d{2,4}[\s-]?\d{2,4}[\s-]?\d{2,4}/g, replacement: "***-***-****" },
48
- // IP addresses (IPv4)
49
- { pattern: /\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/g, replacement: "***.***.***.***" },
50
- // IP addresses (IPv6 - simplified)
51
- { pattern: /\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, replacement: "****:****:****:****" },
52
- // IPv6 compressed
53
- { pattern: /\b(?:[0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}\b/g, replacement: "****:****:****" },
54
- // Credit card (16 digits, optional spaces/dashes)
55
- { pattern: /\b(?:\d[ -]*?){13,16}\b/g, replacement: "****-****-****-****" },
56
- // AMEX (15 digits, starts with 34/37)
57
- { pattern: /\b3[47][0-9\s-]{13,14}\b/g, replacement: "****-****-***" },
58
- // Password fields in JSON
59
- { pattern: /"(password|passwd|secret|api_key|apiKey|apikey|auth_token|refresh_token|access_token)"\s*:\s*"[^"]+"/gi, replacement: "\"$1\": \"***-REDACTED-***\"" },
60
- // Turkish address patterns (optional - sokak, cadde, mahalle, no:)
61
- { pattern: /(?:no|no:|numara)[:\s]*\d+/gi, replacement: "no: ****" },
62
- ];
63
- // Fields that are considered sensitive and should always be redacted in structured data
64
- const SENSITIVE_FIELDS = [
65
- "password", "passwd", "secret", "apiKey", "api_key", "apikey",
66
- "token", "accessToken", "access_token", "refreshToken", "refresh_token", "authToken", "auth_token",
67
- "authorization", "Authorization", "bearer",
68
- "email", "e_mail", "eMail",
69
- "phone", "phoneNumber", "phone_number", "telephone", "telephoneNumber", "mobile", "mobilePhone", "cellPhone",
70
- "creditCard", "credit_card", "ccNumber", "cc_number", "ccn", "cvv", "cvv2", "cvc",
71
- "ssn", "socialSecurity", "social_security",
72
- "tcKimlik", "tc_kimlik", "identityNumber", "identity_number", "idNumber", "id_number", "nationalId",
73
- "ipAddress", "ip_address", "ip",
74
- "dob", "dateOfBirth", "date_of_birth", "birthDate", "birth_date",
75
- "iban", "IBAN", "bankAccount", "bank_account",
76
- "address", "homeAddress", "workAddress", "billingAddress", "shippingAddress",
77
- "fullName", "firstName", "lastName", "surname", "middleName",
78
- ];
79
- /**
80
- * Mask sensitive data in a text string.
81
- */
82
- export function maskText(text) {
83
- if (!text || typeof text !== "string")
84
- return text;
85
- let masked = text;
86
- for (const { pattern, replacement } of SENSITIVE_PATTERNS) {
87
- masked = masked.replace(pattern, replacement);
88
- }
89
- return masked;
90
- }
91
- /**
92
- * Recursively mask sensitive fields in an object.
93
- * Returns a new object with sensitive values redacted.
94
- * Strict mode: when true, also masks values in objects even if the key
95
- * is not a known sensitive field name (catches data passed to unknown schemas).
96
- */
97
- export function maskObject(obj, depth = 0, strictMode = false) {
98
- if (depth > 10)
99
- return obj; // Prevent infinite recursion
100
- if (obj === null || obj === undefined)
101
- return obj;
102
- if (typeof obj === "string")
103
- return maskText(obj);
104
- if (typeof obj !== "object")
105
- return obj;
106
- if (Array.isArray(obj)) {
107
- return obj.map(item => maskObject(item, depth + 1, strictMode));
108
- }
109
- const result = {};
110
- for (const [key, value] of Object.entries(obj)) {
111
- // Check if the key itself is a sensitive field
112
- if (SENSITIVE_FIELDS.includes(key)) {
113
- result[key] = typeof value === "string" ? "***-REDACTED-***" : maskObject(value, depth + 1, strictMode);
114
- }
115
- else if (typeof value === "string") {
116
- result[key] = maskText(value);
117
- }
118
- else if (typeof value === "object") {
119
- result[key] = maskObject(value, depth + 1, strictMode);
120
- }
121
- else {
122
- result[key] = value;
123
- }
124
- }
125
- return result;
126
- }
127
- /**
128
- * Check if a string contains potential PII.
129
- * Useful for warning before sending data to external APIs.
130
- */
131
- export function containsPII(text) {
132
- for (const { pattern } of SENSITIVE_PATTERNS) {
133
- if (pattern.test(text))
134
- return true;
135
- }
136
- return false;
137
- }
138
- /**
139
- * Check if an object contains PII in any of its string values (recursive).
140
- */
141
- export function containsPIIInObject(obj, depth = 0) {
142
- if (depth > 10)
143
- return false;
144
- if (obj === null || obj === undefined)
145
- return false;
146
- if (typeof obj === "string")
147
- return containsPII(obj);
148
- if (typeof obj !== "object")
149
- return false;
150
- if (Array.isArray(obj)) {
151
- return obj.some(item => containsPIIInObject(item, depth + 1));
152
- }
153
- for (const [, value] of Object.entries(obj)) {
154
- if (typeof value === "string") {
155
- if (containsPII(value))
156
- return true;
157
- }
158
- else if (typeof value === "object") {
159
- if (containsPIIInObject(value, depth + 1))
160
- return true;
161
- }
162
- }
163
- return false;
164
- }
165
- /**
166
- * Classify a piece of data based on content analysis.
167
- */
168
- export function classifyData(text) {
169
- if (!text)
170
- return "public";
171
- // Check for highly sensitive / critical data
172
- if (/\b(sk-[a-zA-Z0-9]{20,}|Bearer\s+|eyJ[a-zA-Z0-9_-]+\.)/.test(text) ||
173
- /\b[1-9][0-9]{10}\b/.test(text) ||
174
- /"(password|secret|apiKey)"/i.test(text) ||
175
- /\b[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}\b/.test(text) // IBAN
176
- ) {
177
- return "restricted";
178
- }
179
- // Check for personally identifiable / confidential data
180
- if (/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/.test(text) ||
181
- /(\+90|0)?\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{2}\s?[0-9]{2}/.test(text) ||
182
- /\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/.test(text) ||
183
- /\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/.test(text)) {
184
- return "confidential";
185
- }
186
- return "internal";
187
- }
188
- /**
189
- * Mask the content field of an MCP tool result.
190
- * This is used by the MCP middleware layer to automatically
191
- * sanitize all tool outputs before they reach the AI.
192
- */
193
- export function maskToolResult(result) {
194
- if (!result || !result.content)
195
- return result;
196
- return {
197
- ...result,
198
- content: result.content.map(block => ({
199
- ...block,
200
- text: block.type === "text" ? maskText(block.text) : block.text,
201
- })),
202
- };
203
- }
204
- /**
205
- * Mask sensitive arguments in an MCP tool call.
206
- * This is applied BEFORE the tool handler executes, ensuring
207
- * PII never reaches any processing layer unnecessarily.
208
- */
209
- export function maskToolArgs(args) {
210
- const masked = maskObject(args, 0, true);
211
- return masked;
212
- }
1
+ export * from "atabey-shared/pii.js";
213
2
  //# sourceMappingURL=pii.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pii.js","sourceRoot":"","sources":["../../../../src/shared/pii.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pii.js","sourceRoot":"","sources":["../../../../src/shared/pii.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}