@hasna/microservices 0.0.15 → 0.0.17

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 (296) hide show
  1. package/README.md +120 -138
  2. package/bin/index.js +703 -12728
  3. package/bin/mcp.js +250 -9726
  4. package/dist/index.js +170 -9407
  5. package/package.json +25 -25
  6. package/microservices/microservice-ads/package.json +0 -27
  7. package/microservices/microservice-ads/src/cli/index.ts +0 -605
  8. package/microservices/microservice-ads/src/db/campaigns.ts +0 -797
  9. package/microservices/microservice-ads/src/db/database.ts +0 -93
  10. package/microservices/microservice-ads/src/db/migrations.ts +0 -60
  11. package/microservices/microservice-ads/src/index.ts +0 -39
  12. package/microservices/microservice-ads/src/mcp/index.ts +0 -480
  13. package/microservices/microservice-analytics/package.json +0 -27
  14. package/microservices/microservice-analytics/src/cli/index.ts +0 -373
  15. package/microservices/microservice-analytics/src/db/analytics.ts +0 -564
  16. package/microservices/microservice-analytics/src/db/database.ts +0 -93
  17. package/microservices/microservice-analytics/src/db/migrations.ts +0 -50
  18. package/microservices/microservice-analytics/src/index.ts +0 -37
  19. package/microservices/microservice-analytics/src/mcp/index.ts +0 -334
  20. package/microservices/microservice-assets/package.json +0 -27
  21. package/microservices/microservice-assets/src/cli/index.ts +0 -375
  22. package/microservices/microservice-assets/src/db/assets.ts +0 -370
  23. package/microservices/microservice-assets/src/db/database.ts +0 -93
  24. package/microservices/microservice-assets/src/db/migrations.ts +0 -51
  25. package/microservices/microservice-assets/src/index.ts +0 -32
  26. package/microservices/microservice-assets/src/mcp/index.ts +0 -346
  27. package/microservices/microservice-bookkeeping/package.json +0 -27
  28. package/microservices/microservice-bookkeeping/src/cli/index.ts +0 -386
  29. package/microservices/microservice-bookkeeping/src/db/bookkeeping.ts +0 -591
  30. package/microservices/microservice-bookkeeping/src/db/database.ts +0 -93
  31. package/microservices/microservice-bookkeeping/src/db/migrations.ts +0 -52
  32. package/microservices/microservice-bookkeeping/src/index.ts +0 -32
  33. package/microservices/microservice-bookkeeping/src/mcp/index.ts +0 -284
  34. package/microservices/microservice-calendar/package.json +0 -27
  35. package/microservices/microservice-calendar/src/cli/index.ts +0 -287
  36. package/microservices/microservice-calendar/src/db/calendar.ts +0 -328
  37. package/microservices/microservice-calendar/src/db/database.ts +0 -82
  38. package/microservices/microservice-calendar/src/db/migrations.ts +0 -47
  39. package/microservices/microservice-calendar/src/index.ts +0 -24
  40. package/microservices/microservice-calendar/src/mcp/index.ts +0 -226
  41. package/microservices/microservice-company/package.json +0 -27
  42. package/microservices/microservice-company/src/cli/index.ts +0 -1126
  43. package/microservices/microservice-company/src/db/company.ts +0 -854
  44. package/microservices/microservice-company/src/db/database.ts +0 -93
  45. package/microservices/microservice-company/src/db/migrations.ts +0 -214
  46. package/microservices/microservice-company/src/db/workflow-migrations.ts +0 -44
  47. package/microservices/microservice-company/src/index.ts +0 -60
  48. package/microservices/microservice-company/src/lib/audit.ts +0 -168
  49. package/microservices/microservice-company/src/lib/finance.ts +0 -299
  50. package/microservices/microservice-company/src/lib/settings.ts +0 -85
  51. package/microservices/microservice-company/src/lib/workflows.ts +0 -698
  52. package/microservices/microservice-company/src/mcp/index.ts +0 -991
  53. package/microservices/microservice-compliance/package.json +0 -27
  54. package/microservices/microservice-compliance/src/cli/index.ts +0 -467
  55. package/microservices/microservice-compliance/src/db/compliance.ts +0 -633
  56. package/microservices/microservice-compliance/src/db/database.ts +0 -93
  57. package/microservices/microservice-compliance/src/db/migrations.ts +0 -63
  58. package/microservices/microservice-compliance/src/index.ts +0 -46
  59. package/microservices/microservice-compliance/src/mcp/index.ts +0 -438
  60. package/microservices/microservice-contacts/package.json +0 -27
  61. package/microservices/microservice-contacts/src/cli/index.ts +0 -393
  62. package/microservices/microservice-contacts/src/db/companies.ts +0 -167
  63. package/microservices/microservice-contacts/src/db/contacts.ts +0 -249
  64. package/microservices/microservice-contacts/src/db/database.ts +0 -93
  65. package/microservices/microservice-contacts/src/db/migrations.ts +0 -71
  66. package/microservices/microservice-contacts/src/db/relationships.ts +0 -53
  67. package/microservices/microservice-contacts/src/index.ts +0 -42
  68. package/microservices/microservice-contacts/src/mcp/index.ts +0 -303
  69. package/microservices/microservice-contracts/package.json +0 -27
  70. package/microservices/microservice-contracts/src/cli/index.ts +0 -770
  71. package/microservices/microservice-contracts/src/db/contracts.ts +0 -925
  72. package/microservices/microservice-contracts/src/db/database.ts +0 -93
  73. package/microservices/microservice-contracts/src/db/migrations.ts +0 -141
  74. package/microservices/microservice-contracts/src/index.ts +0 -43
  75. package/microservices/microservice-contracts/src/mcp/index.ts +0 -617
  76. package/microservices/microservice-crm/package.json +0 -27
  77. package/microservices/microservice-crm/src/cli/index.ts +0 -396
  78. package/microservices/microservice-crm/src/db/database.ts +0 -82
  79. package/microservices/microservice-crm/src/db/migrations.ts +0 -66
  80. package/microservices/microservice-crm/src/db/pipeline.ts +0 -397
  81. package/microservices/microservice-crm/src/index.ts +0 -34
  82. package/microservices/microservice-crm/src/mcp/index.ts +0 -294
  83. package/microservices/microservice-documents/package.json +0 -27
  84. package/microservices/microservice-documents/src/cli/index.ts +0 -246
  85. package/microservices/microservice-documents/src/db/database.ts +0 -82
  86. package/microservices/microservice-documents/src/db/documents.ts +0 -316
  87. package/microservices/microservice-documents/src/db/migrations.ts +0 -49
  88. package/microservices/microservice-documents/src/index.ts +0 -24
  89. package/microservices/microservice-documents/src/mcp/index.ts +0 -202
  90. package/microservices/microservice-domains/package.json +0 -27
  91. package/microservices/microservice-domains/src/cli/index.ts +0 -1111
  92. package/microservices/microservice-domains/src/db/database.ts +0 -93
  93. package/microservices/microservice-domains/src/db/domains.ts +0 -1164
  94. package/microservices/microservice-domains/src/db/migrations.ts +0 -60
  95. package/microservices/microservice-domains/src/index.ts +0 -65
  96. package/microservices/microservice-domains/src/lib/brandsight.ts +0 -350
  97. package/microservices/microservice-domains/src/lib/godaddy.ts +0 -338
  98. package/microservices/microservice-domains/src/lib/namecheap.ts +0 -262
  99. package/microservices/microservice-domains/src/lib/registrar.ts +0 -355
  100. package/microservices/microservice-domains/src/mcp/index.ts +0 -781
  101. package/microservices/microservice-expenses/package.json +0 -27
  102. package/microservices/microservice-expenses/src/cli/index.ts +0 -267
  103. package/microservices/microservice-expenses/src/db/database.ts +0 -82
  104. package/microservices/microservice-expenses/src/db/expenses.ts +0 -345
  105. package/microservices/microservice-expenses/src/db/migrations.ts +0 -45
  106. package/microservices/microservice-expenses/src/index.ts +0 -25
  107. package/microservices/microservice-expenses/src/mcp/index.ts +0 -196
  108. package/microservices/microservice-habits/package.json +0 -27
  109. package/microservices/microservice-habits/src/cli/index.ts +0 -315
  110. package/microservices/microservice-habits/src/db/database.ts +0 -93
  111. package/microservices/microservice-habits/src/db/habits.ts +0 -451
  112. package/microservices/microservice-habits/src/db/migrations.ts +0 -46
  113. package/microservices/microservice-habits/src/index.ts +0 -31
  114. package/microservices/microservice-habits/src/mcp/index.ts +0 -313
  115. package/microservices/microservice-health/package.json +0 -27
  116. package/microservices/microservice-health/src/cli/index.ts +0 -484
  117. package/microservices/microservice-health/src/db/database.ts +0 -93
  118. package/microservices/microservice-health/src/db/health.ts +0 -708
  119. package/microservices/microservice-health/src/db/migrations.ts +0 -70
  120. package/microservices/microservice-health/src/index.ts +0 -63
  121. package/microservices/microservice-health/src/mcp/index.ts +0 -437
  122. package/microservices/microservice-hiring/package.json +0 -27
  123. package/microservices/microservice-hiring/src/cli/index.ts +0 -741
  124. package/microservices/microservice-hiring/src/db/database.ts +0 -93
  125. package/microservices/microservice-hiring/src/db/hiring.ts +0 -1085
  126. package/microservices/microservice-hiring/src/db/migrations.ts +0 -89
  127. package/microservices/microservice-hiring/src/index.ts +0 -80
  128. package/microservices/microservice-hiring/src/lib/scoring.ts +0 -206
  129. package/microservices/microservice-hiring/src/mcp/index.ts +0 -709
  130. package/microservices/microservice-inventory/package.json +0 -27
  131. package/microservices/microservice-inventory/src/cli/index.ts +0 -365
  132. package/microservices/microservice-inventory/src/db/database.ts +0 -82
  133. package/microservices/microservice-inventory/src/db/inventory.ts +0 -393
  134. package/microservices/microservice-inventory/src/db/migrations.ts +0 -54
  135. package/microservices/microservice-inventory/src/index.ts +0 -28
  136. package/microservices/microservice-inventory/src/mcp/index.ts +0 -250
  137. package/microservices/microservice-invoices/dashboard/dist/assets/index-Bngq7FNM.css +0 -1
  138. package/microservices/microservice-invoices/dashboard/dist/assets/index-aHW4ARZR.js +0 -124
  139. package/microservices/microservice-invoices/dashboard/dist/index.html +0 -13
  140. package/microservices/microservice-invoices/dashboard/index.html +0 -12
  141. package/microservices/microservice-invoices/dashboard/package.json +0 -29
  142. package/microservices/microservice-invoices/dashboard/tsconfig.json +0 -14
  143. package/microservices/microservice-invoices/dashboard/vite.config.ts +0 -15
  144. package/microservices/microservice-invoices/package.json +0 -30
  145. package/microservices/microservice-invoices/src/cli/index.ts +0 -308
  146. package/microservices/microservice-invoices/src/db/business.ts +0 -241
  147. package/microservices/microservice-invoices/src/db/clients.ts +0 -127
  148. package/microservices/microservice-invoices/src/db/database.ts +0 -82
  149. package/microservices/microservice-invoices/src/db/invoices.ts +0 -345
  150. package/microservices/microservice-invoices/src/db/migrations.ts +0 -184
  151. package/microservices/microservice-invoices/src/index.ts +0 -56
  152. package/microservices/microservice-invoices/src/mcp/index.ts +0 -242
  153. package/microservices/microservice-invoices/src/server/index.ts +0 -162
  154. package/microservices/microservice-leads/package.json +0 -27
  155. package/microservices/microservice-leads/src/cli/index.ts +0 -596
  156. package/microservices/microservice-leads/src/db/database.ts +0 -93
  157. package/microservices/microservice-leads/src/db/leads.ts +0 -520
  158. package/microservices/microservice-leads/src/db/lists.ts +0 -151
  159. package/microservices/microservice-leads/src/db/migrations.ts +0 -93
  160. package/microservices/microservice-leads/src/index.ts +0 -65
  161. package/microservices/microservice-leads/src/lib/enrichment.ts +0 -202
  162. package/microservices/microservice-leads/src/lib/scoring.ts +0 -134
  163. package/microservices/microservice-leads/src/mcp/index.ts +0 -533
  164. package/microservices/microservice-notes/package.json +0 -27
  165. package/microservices/microservice-notes/src/cli/index.ts +0 -63
  166. package/microservices/microservice-notes/src/db/database.ts +0 -93
  167. package/microservices/microservice-notes/src/db/migrations.ts +0 -40
  168. package/microservices/microservice-notes/src/db/notes.ts +0 -114
  169. package/microservices/microservice-notes/src/index.ts +0 -2
  170. package/microservices/microservice-notes/src/mcp/index.ts +0 -37
  171. package/microservices/microservice-notifications/package.json +0 -27
  172. package/microservices/microservice-notifications/src/cli/index.ts +0 -349
  173. package/microservices/microservice-notifications/src/db/database.ts +0 -93
  174. package/microservices/microservice-notifications/src/db/migrations.ts +0 -62
  175. package/microservices/microservice-notifications/src/db/notifications.ts +0 -509
  176. package/microservices/microservice-notifications/src/index.ts +0 -41
  177. package/microservices/microservice-notifications/src/mcp/index.ts +0 -422
  178. package/microservices/microservice-payments/package.json +0 -27
  179. package/microservices/microservice-payments/src/cli/index.ts +0 -609
  180. package/microservices/microservice-payments/src/db/database.ts +0 -93
  181. package/microservices/microservice-payments/src/db/migrations.ts +0 -81
  182. package/microservices/microservice-payments/src/db/payments.ts +0 -1204
  183. package/microservices/microservice-payments/src/index.ts +0 -51
  184. package/microservices/microservice-payments/src/mcp/index.ts +0 -683
  185. package/microservices/microservice-payroll/package.json +0 -27
  186. package/microservices/microservice-payroll/src/cli/index.ts +0 -643
  187. package/microservices/microservice-payroll/src/db/database.ts +0 -93
  188. package/microservices/microservice-payroll/src/db/migrations.ts +0 -95
  189. package/microservices/microservice-payroll/src/db/payroll.ts +0 -1377
  190. package/microservices/microservice-payroll/src/index.ts +0 -48
  191. package/microservices/microservice-payroll/src/mcp/index.ts +0 -666
  192. package/microservices/microservice-products/package.json +0 -27
  193. package/microservices/microservice-products/src/cli/index.ts +0 -416
  194. package/microservices/microservice-products/src/db/categories.ts +0 -154
  195. package/microservices/microservice-products/src/db/database.ts +0 -93
  196. package/microservices/microservice-products/src/db/migrations.ts +0 -58
  197. package/microservices/microservice-products/src/db/pricing-tiers.ts +0 -66
  198. package/microservices/microservice-products/src/db/products.ts +0 -452
  199. package/microservices/microservice-products/src/index.ts +0 -53
  200. package/microservices/microservice-products/src/mcp/index.ts +0 -453
  201. package/microservices/microservice-projects/package.json +0 -27
  202. package/microservices/microservice-projects/src/cli/index.ts +0 -480
  203. package/microservices/microservice-projects/src/db/database.ts +0 -93
  204. package/microservices/microservice-projects/src/db/migrations.ts +0 -65
  205. package/microservices/microservice-projects/src/db/projects.ts +0 -715
  206. package/microservices/microservice-projects/src/index.ts +0 -57
  207. package/microservices/microservice-projects/src/mcp/index.ts +0 -501
  208. package/microservices/microservice-proposals/package.json +0 -27
  209. package/microservices/microservice-proposals/src/cli/index.ts +0 -400
  210. package/microservices/microservice-proposals/src/db/database.ts +0 -93
  211. package/microservices/microservice-proposals/src/db/migrations.ts +0 -52
  212. package/microservices/microservice-proposals/src/db/proposals.ts +0 -532
  213. package/microservices/microservice-proposals/src/index.ts +0 -37
  214. package/microservices/microservice-proposals/src/mcp/index.ts +0 -375
  215. package/microservices/microservice-reading/package.json +0 -27
  216. package/microservices/microservice-reading/src/cli/index.ts +0 -464
  217. package/microservices/microservice-reading/src/db/database.ts +0 -93
  218. package/microservices/microservice-reading/src/db/migrations.ts +0 -59
  219. package/microservices/microservice-reading/src/db/reading.ts +0 -524
  220. package/microservices/microservice-reading/src/index.ts +0 -51
  221. package/microservices/microservice-reading/src/mcp/index.ts +0 -368
  222. package/microservices/microservice-shipping/package.json +0 -27
  223. package/microservices/microservice-shipping/src/cli/index.ts +0 -606
  224. package/microservices/microservice-shipping/src/db/database.ts +0 -93
  225. package/microservices/microservice-shipping/src/db/migrations.ts +0 -69
  226. package/microservices/microservice-shipping/src/db/shipping.ts +0 -1093
  227. package/microservices/microservice-shipping/src/index.ts +0 -53
  228. package/microservices/microservice-shipping/src/mcp/index.ts +0 -533
  229. package/microservices/microservice-social/package.json +0 -28
  230. package/microservices/microservice-social/src/cli/index.ts +0 -1583
  231. package/microservices/microservice-social/src/db/database.ts +0 -93
  232. package/microservices/microservice-social/src/db/migrations.ts +0 -160
  233. package/microservices/microservice-social/src/db/social.ts +0 -1076
  234. package/microservices/microservice-social/src/index.ts +0 -46
  235. package/microservices/microservice-social/src/lib/audience.ts +0 -353
  236. package/microservices/microservice-social/src/lib/content-ai.ts +0 -278
  237. package/microservices/microservice-social/src/lib/media.ts +0 -311
  238. package/microservices/microservice-social/src/lib/mentions.ts +0 -434
  239. package/microservices/microservice-social/src/lib/metrics-sync.ts +0 -264
  240. package/microservices/microservice-social/src/lib/publisher.ts +0 -377
  241. package/microservices/microservice-social/src/lib/scheduler.ts +0 -229
  242. package/microservices/microservice-social/src/lib/sentiment.ts +0 -256
  243. package/microservices/microservice-social/src/lib/threads.ts +0 -291
  244. package/microservices/microservice-social/src/mcp/index.ts +0 -1425
  245. package/microservices/microservice-social/src/server/index.ts +0 -441
  246. package/microservices/microservice-subscriptions/package.json +0 -27
  247. package/microservices/microservice-subscriptions/src/cli/index.ts +0 -715
  248. package/microservices/microservice-subscriptions/src/db/database.ts +0 -93
  249. package/microservices/microservice-subscriptions/src/db/migrations.ts +0 -125
  250. package/microservices/microservice-subscriptions/src/db/subscriptions.ts +0 -1256
  251. package/microservices/microservice-subscriptions/src/index.ts +0 -41
  252. package/microservices/microservice-subscriptions/src/mcp/index.ts +0 -631
  253. package/microservices/microservice-timesheets/package.json +0 -27
  254. package/microservices/microservice-timesheets/src/cli/index.ts +0 -373
  255. package/microservices/microservice-timesheets/src/db/database.ts +0 -82
  256. package/microservices/microservice-timesheets/src/db/locale.ts +0 -217
  257. package/microservices/microservice-timesheets/src/db/migrations.ts +0 -74
  258. package/microservices/microservice-timesheets/src/db/timesheets.ts +0 -447
  259. package/microservices/microservice-timesheets/src/index.ts +0 -44
  260. package/microservices/microservice-timesheets/src/mcp/index.ts +0 -269
  261. package/microservices/microservice-transcriber/package.json +0 -28
  262. package/microservices/microservice-transcriber/src/cli/index.ts +0 -1593
  263. package/microservices/microservice-transcriber/src/db/annotations.ts +0 -37
  264. package/microservices/microservice-transcriber/src/db/comments.ts +0 -166
  265. package/microservices/microservice-transcriber/src/db/database.ts +0 -82
  266. package/microservices/microservice-transcriber/src/db/migrations.ts +0 -118
  267. package/microservices/microservice-transcriber/src/db/proofread.ts +0 -119
  268. package/microservices/microservice-transcriber/src/db/transcripts.ts +0 -395
  269. package/microservices/microservice-transcriber/src/index.ts +0 -43
  270. package/microservices/microservice-transcriber/src/lib/config.ts +0 -77
  271. package/microservices/microservice-transcriber/src/lib/diff.ts +0 -91
  272. package/microservices/microservice-transcriber/src/lib/downloader.ts +0 -638
  273. package/microservices/microservice-transcriber/src/lib/feeds.ts +0 -62
  274. package/microservices/microservice-transcriber/src/lib/live.ts +0 -94
  275. package/microservices/microservice-transcriber/src/lib/notion.ts +0 -129
  276. package/microservices/microservice-transcriber/src/lib/proofread.ts +0 -296
  277. package/microservices/microservice-transcriber/src/lib/providers.ts +0 -713
  278. package/microservices/microservice-transcriber/src/lib/summarizer.ts +0 -147
  279. package/microservices/microservice-transcriber/src/lib/translator.ts +0 -75
  280. package/microservices/microservice-transcriber/src/lib/webhook.ts +0 -37
  281. package/microservices/microservice-transcriber/src/mcp/index.ts +0 -1330
  282. package/microservices/microservice-transcriber/src/server/index.ts +0 -199
  283. package/microservices/microservice-travel/package.json +0 -27
  284. package/microservices/microservice-travel/src/cli/index.ts +0 -505
  285. package/microservices/microservice-travel/src/db/database.ts +0 -93
  286. package/microservices/microservice-travel/src/db/migrations.ts +0 -77
  287. package/microservices/microservice-travel/src/db/travel.ts +0 -802
  288. package/microservices/microservice-travel/src/index.ts +0 -60
  289. package/microservices/microservice-travel/src/mcp/index.ts +0 -495
  290. package/microservices/microservice-wiki/package.json +0 -27
  291. package/microservices/microservice-wiki/src/cli/index.ts +0 -345
  292. package/microservices/microservice-wiki/src/db/database.ts +0 -93
  293. package/microservices/microservice-wiki/src/db/migrations.ts +0 -55
  294. package/microservices/microservice-wiki/src/db/wiki.ts +0 -395
  295. package/microservices/microservice-wiki/src/index.ts +0 -32
  296. package/microservices/microservice-wiki/src/mcp/index.ts +0 -344
@@ -1,184 +0,0 @@
1
- export interface MigrationEntry {
2
- id: number;
3
- name: string;
4
- sql: string;
5
- }
6
-
7
- export const MIGRATIONS: MigrationEntry[] = [
8
- {
9
- id: 1,
10
- name: "initial_schema",
11
- sql: `
12
- CREATE TABLE IF NOT EXISTS clients (
13
- id TEXT PRIMARY KEY,
14
- name TEXT NOT NULL,
15
- email TEXT,
16
- phone TEXT,
17
- address TEXT,
18
- tax_id TEXT,
19
- notes TEXT,
20
- metadata TEXT NOT NULL DEFAULT '{}',
21
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
22
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
23
- );
24
-
25
- CREATE TABLE IF NOT EXISTS invoices (
26
- id TEXT PRIMARY KEY,
27
- invoice_number TEXT NOT NULL UNIQUE,
28
- client_id TEXT REFERENCES clients(id) ON DELETE SET NULL,
29
- status TEXT NOT NULL DEFAULT 'draft' CHECK(status IN ('draft', 'sent', 'paid', 'overdue', 'cancelled', 'refunded')),
30
- issue_date TEXT NOT NULL DEFAULT (date('now')),
31
- due_date TEXT,
32
- currency TEXT NOT NULL DEFAULT 'USD',
33
- subtotal REAL NOT NULL DEFAULT 0,
34
- tax_rate REAL NOT NULL DEFAULT 0,
35
- tax_amount REAL NOT NULL DEFAULT 0,
36
- discount REAL NOT NULL DEFAULT 0,
37
- total REAL NOT NULL DEFAULT 0,
38
- notes TEXT,
39
- metadata TEXT NOT NULL DEFAULT '{}',
40
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
41
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
42
- paid_at TEXT
43
- );
44
-
45
- CREATE TABLE IF NOT EXISTS line_items (
46
- id TEXT PRIMARY KEY,
47
- invoice_id TEXT NOT NULL REFERENCES invoices(id) ON DELETE CASCADE,
48
- description TEXT NOT NULL,
49
- quantity REAL NOT NULL DEFAULT 1,
50
- unit_price REAL NOT NULL DEFAULT 0,
51
- amount REAL NOT NULL DEFAULT 0,
52
- sort_order INTEGER NOT NULL DEFAULT 0,
53
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
54
- );
55
-
56
- CREATE TABLE IF NOT EXISTS payments (
57
- id TEXT PRIMARY KEY,
58
- invoice_id TEXT NOT NULL REFERENCES invoices(id) ON DELETE CASCADE,
59
- amount REAL NOT NULL,
60
- method TEXT,
61
- reference TEXT,
62
- notes TEXT,
63
- paid_at TEXT NOT NULL DEFAULT (datetime('now')),
64
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
65
- );
66
-
67
- CREATE TABLE IF NOT EXISTS invoice_counter (
68
- id INTEGER PRIMARY KEY CHECK (id = 1),
69
- prefix TEXT NOT NULL DEFAULT 'INV',
70
- next_number INTEGER NOT NULL DEFAULT 1
71
- );
72
-
73
- INSERT OR IGNORE INTO invoice_counter (id, prefix, next_number) VALUES (1, 'INV', 1);
74
-
75
- CREATE INDEX IF NOT EXISTS idx_invoices_client ON invoices(client_id);
76
- CREATE INDEX IF NOT EXISTS idx_invoices_status ON invoices(status);
77
- CREATE INDEX IF NOT EXISTS idx_invoices_number ON invoices(invoice_number);
78
- CREATE INDEX IF NOT EXISTS idx_invoices_due ON invoices(due_date);
79
- CREATE INDEX IF NOT EXISTS idx_line_items_invoice ON line_items(invoice_id);
80
- CREATE INDEX IF NOT EXISTS idx_payments_invoice ON payments(invoice_id);
81
- CREATE INDEX IF NOT EXISTS idx_clients_name ON clients(name);
82
- CREATE INDEX IF NOT EXISTS idx_clients_email ON clients(email);
83
- `,
84
- },
85
- {
86
- id: 2,
87
- name: "multi_country_support",
88
- sql: `
89
- CREATE TABLE IF NOT EXISTS business_profiles (
90
- id TEXT PRIMARY KEY,
91
- name TEXT NOT NULL,
92
- address_line1 TEXT,
93
- address_line2 TEXT,
94
- city TEXT,
95
- state TEXT,
96
- postal_code TEXT,
97
- country TEXT NOT NULL DEFAULT 'US',
98
- tax_id TEXT,
99
- vat_number TEXT,
100
- registration_number TEXT,
101
- email TEXT,
102
- phone TEXT,
103
- website TEXT,
104
- bank_name TEXT,
105
- bank_iban TEXT,
106
- bank_swift TEXT,
107
- bank_account TEXT,
108
- logo_url TEXT,
109
- is_default INTEGER NOT NULL DEFAULT 0,
110
- metadata TEXT NOT NULL DEFAULT '{}',
111
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
112
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
113
- );
114
-
115
- CREATE TABLE IF NOT EXISTS tax_rules (
116
- id TEXT PRIMARY KEY,
117
- country TEXT NOT NULL,
118
- region TEXT,
119
- tax_name TEXT NOT NULL,
120
- rate REAL NOT NULL,
121
- type TEXT NOT NULL DEFAULT 'vat' CHECK(type IN ('vat', 'sales_tax', 'gst', 'other')),
122
- is_default INTEGER NOT NULL DEFAULT 0,
123
- reverse_charge INTEGER NOT NULL DEFAULT 0,
124
- description TEXT,
125
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
126
- );
127
-
128
- -- Add new columns to invoices
129
- ALTER TABLE invoices ADD COLUMN business_profile_id TEXT REFERENCES business_profiles(id) ON DELETE SET NULL;
130
- ALTER TABLE invoices ADD COLUMN tax_name TEXT DEFAULT 'Tax';
131
- ALTER TABLE invoices ADD COLUMN reverse_charge INTEGER NOT NULL DEFAULT 0;
132
- ALTER TABLE invoices ADD COLUMN language TEXT NOT NULL DEFAULT 'en';
133
- ALTER TABLE invoices ADD COLUMN footer_text TEXT;
134
-
135
- -- Add new columns to clients
136
- ALTER TABLE clients ADD COLUMN address_line1 TEXT;
137
- ALTER TABLE clients ADD COLUMN address_line2 TEXT;
138
- ALTER TABLE clients ADD COLUMN city TEXT;
139
- ALTER TABLE clients ADD COLUMN state TEXT;
140
- ALTER TABLE clients ADD COLUMN postal_code TEXT;
141
- ALTER TABLE clients ADD COLUMN country TEXT DEFAULT 'US';
142
- ALTER TABLE clients ADD COLUMN vat_number TEXT;
143
- ALTER TABLE clients ADD COLUMN language TEXT DEFAULT 'en';
144
-
145
- -- Add per-line-item tax support
146
- ALTER TABLE line_items ADD COLUMN tax_rate REAL;
147
- ALTER TABLE line_items ADD COLUMN tax_amount REAL DEFAULT 0;
148
-
149
- -- Seed default tax rules
150
- INSERT INTO tax_rules (id, country, tax_name, rate, type, is_default, description) VALUES
151
- ('tax-ro-vat-19', 'RO', 'TVA', 19, 'vat', 1, 'Romania standard VAT 19%'),
152
- ('tax-ro-vat-9', 'RO', 'TVA', 9, 'vat', 0, 'Romania reduced VAT 9% (food, hotels)'),
153
- ('tax-ro-vat-5', 'RO', 'TVA', 5, 'vat', 0, 'Romania reduced VAT 5% (housing)'),
154
- ('tax-us-none', 'US', 'Sales Tax', 0, 'sales_tax', 1, 'US federal (no federal sales tax)'),
155
- ('tax-us-ca', 'US', 'Sales Tax', 7.25, 'sales_tax', 0, 'California base sales tax'),
156
- ('tax-us-ny', 'US', 'Sales Tax', 8, 'sales_tax', 0, 'New York sales tax'),
157
- ('tax-us-tx', 'US', 'Sales Tax', 6.25, 'sales_tax', 0, 'Texas sales tax'),
158
- ('tax-uk-vat-20', 'GB', 'VAT', 20, 'vat', 1, 'UK standard VAT 20%'),
159
- ('tax-uk-vat-5', 'GB', 'VAT', 5, 'vat', 0, 'UK reduced VAT 5%'),
160
- ('tax-uk-vat-0', 'GB', 'VAT', 0, 'vat', 0, 'UK zero-rated VAT'),
161
- ('tax-de-vat-19', 'DE', 'MwSt', 19, 'vat', 1, 'Germany standard VAT 19%'),
162
- ('tax-de-vat-7', 'DE', 'MwSt', 7, 'vat', 0, 'Germany reduced VAT 7%'),
163
- ('tax-fr-vat-20', 'FR', 'TVA', 20, 'vat', 1, 'France standard VAT 20%'),
164
- ('tax-fr-vat-10', 'FR', 'TVA', 10, 'vat', 0, 'France reduced VAT 10%'),
165
- ('tax-fr-vat-55', 'FR', 'TVA', 5.5, 'vat', 0, 'France reduced VAT 5.5%'),
166
- ('tax-nl-vat-21', 'NL', 'BTW', 21, 'vat', 1, 'Netherlands standard VAT 21%'),
167
- ('tax-it-vat-22', 'IT', 'IVA', 22, 'vat', 1, 'Italy standard VAT 22%'),
168
- ('tax-es-vat-21', 'ES', 'IVA', 21, 'vat', 1, 'Spain standard VAT 21%'),
169
- ('tax-at-vat-20', 'AT', 'USt', 20, 'vat', 1, 'Austria standard VAT 20%'),
170
- ('tax-be-vat-21', 'BE', 'BTW', 21, 'vat', 1, 'Belgium standard VAT 21%'),
171
- ('tax-pl-vat-23', 'PL', 'VAT', 23, 'vat', 1, 'Poland standard VAT 23%'),
172
- ('tax-ie-vat-23', 'IE', 'VAT', 23, 'vat', 1, 'Ireland standard VAT 23%'),
173
- ('tax-se-vat-25', 'SE', 'Moms', 25, 'vat', 1, 'Sweden standard VAT 25%'),
174
- ('tax-dk-vat-25', 'DK', 'Moms', 25, 'vat', 1, 'Denmark standard VAT 25%'),
175
- ('tax-hu-vat-27', 'HU', 'AFA', 27, 'vat', 1, 'Hungary standard VAT 27%'),
176
- ('tax-bg-vat-20', 'BG', 'DDC', 20, 'vat', 1, 'Bulgaria standard VAT 20%'),
177
- ('tax-eu-rc', 'EU', 'Reverse Charge', 0, 'vat', 0, 'EU B2B reverse charge mechanism');
178
-
179
- CREATE INDEX IF NOT EXISTS idx_business_profiles_default ON business_profiles(is_default);
180
- CREATE INDEX IF NOT EXISTS idx_tax_rules_country ON tax_rules(country);
181
- CREATE INDEX IF NOT EXISTS idx_invoices_business ON invoices(business_profile_id);
182
- `,
183
- },
184
- ];
@@ -1,56 +0,0 @@
1
- /**
2
- * microservice-invoices — Invoice management microservice
3
- */
4
-
5
- export {
6
- createInvoice,
7
- getInvoice,
8
- getInvoiceWithItems,
9
- listInvoices,
10
- updateInvoiceStatus,
11
- deleteInvoice,
12
- addLineItem,
13
- removeLineItem,
14
- recordPayment,
15
- getInvoiceSummary,
16
- type Invoice,
17
- type InvoiceWithItems,
18
- type LineItem,
19
- type Payment,
20
- type CreateInvoiceInput,
21
- type AddLineItemInput,
22
- type RecordPaymentInput,
23
- type ListInvoicesOptions,
24
- } from "./db/invoices.js";
25
-
26
- export {
27
- createClient,
28
- getClient,
29
- listClients,
30
- updateClient,
31
- deleteClient,
32
- type Client,
33
- type CreateClientInput,
34
- } from "./db/clients.js";
35
-
36
- export {
37
- createBusinessProfile,
38
- getBusinessProfile,
39
- getDefaultBusinessProfile,
40
- listBusinessProfiles,
41
- updateBusinessProfile,
42
- deleteBusinessProfile,
43
- getTaxRulesForCountry,
44
- getDefaultTaxRule,
45
- getTaxRule,
46
- listAllTaxRules,
47
- createTaxRule,
48
- deleteTaxRule,
49
- determineTax,
50
- type BusinessProfile,
51
- type CreateBusinessInput,
52
- type TaxRule,
53
- type CreateTaxRuleInput,
54
- } from "./db/business.js";
55
-
56
- export { getDatabase, closeDatabase } from "./db/database.js";
@@ -1,242 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
- import { z } from "zod";
6
- import {
7
- createInvoice,
8
- getInvoiceWithItems,
9
- listInvoices,
10
- updateInvoiceStatus,
11
- deleteInvoice,
12
- addLineItem,
13
- removeLineItem,
14
- recordPayment,
15
- getInvoiceSummary,
16
- } from "../db/invoices.js";
17
- import {
18
- createClient,
19
- listClients,
20
- updateClient,
21
- deleteClient,
22
- } from "../db/clients.js";
23
-
24
- const server = new McpServer({
25
- name: "microservice-invoices",
26
- version: "0.0.1",
27
- });
28
-
29
- // --- Invoices ---
30
-
31
- server.registerTool(
32
- "create_invoice",
33
- {
34
- title: "Create Invoice",
35
- description: "Create a new invoice.",
36
- inputSchema: {
37
- client_id: z.string().optional(),
38
- due_date: z.string().optional(),
39
- currency: z.string().optional(),
40
- tax_rate: z.number().optional(),
41
- discount: z.number().optional(),
42
- notes: z.string().optional(),
43
- },
44
- },
45
- async (params) => {
46
- const invoice = createInvoice(params);
47
- return { content: [{ type: "text", text: JSON.stringify(invoice, null, 2) }] };
48
- }
49
- );
50
-
51
- server.registerTool(
52
- "get_invoice",
53
- {
54
- title: "Get Invoice",
55
- description: "Get an invoice with line items and payments.",
56
- inputSchema: { id: z.string() },
57
- },
58
- async ({ id }) => {
59
- const invoice = getInvoiceWithItems(id);
60
- if (!invoice) {
61
- return { content: [{ type: "text", text: `Invoice '${id}' not found.` }], isError: true };
62
- }
63
- return { content: [{ type: "text", text: JSON.stringify(invoice, null, 2) }] };
64
- }
65
- );
66
-
67
- server.registerTool(
68
- "list_invoices",
69
- {
70
- title: "List Invoices",
71
- description: "List invoices with optional filters.",
72
- inputSchema: {
73
- status: z.string().optional(),
74
- client_id: z.string().optional(),
75
- from_date: z.string().optional(),
76
- to_date: z.string().optional(),
77
- limit: z.number().optional(),
78
- },
79
- },
80
- async (params) => {
81
- const invoices = listInvoices(params);
82
- return {
83
- content: [{ type: "text", text: JSON.stringify({ invoices, count: invoices.length }, null, 2) }],
84
- };
85
- }
86
- );
87
-
88
- server.registerTool(
89
- "update_invoice_status",
90
- {
91
- title: "Update Invoice Status",
92
- description: "Change invoice status (draft, sent, paid, overdue, cancelled, refunded).",
93
- inputSchema: {
94
- id: z.string(),
95
- status: z.enum(["draft", "sent", "paid", "overdue", "cancelled", "refunded"]),
96
- },
97
- },
98
- async ({ id, status }) => {
99
- const invoice = updateInvoiceStatus(id, status);
100
- if (!invoice) {
101
- return { content: [{ type: "text", text: `Invoice '${id}' not found.` }], isError: true };
102
- }
103
- return { content: [{ type: "text", text: JSON.stringify(invoice, null, 2) }] };
104
- }
105
- );
106
-
107
- server.registerTool(
108
- "delete_invoice",
109
- {
110
- title: "Delete Invoice",
111
- description: "Delete an invoice.",
112
- inputSchema: { id: z.string() },
113
- },
114
- async ({ id }) => {
115
- const deleted = deleteInvoice(id);
116
- return { content: [{ type: "text", text: JSON.stringify({ id, deleted }) }] };
117
- }
118
- );
119
-
120
- server.registerTool(
121
- "add_line_item",
122
- {
123
- title: "Add Line Item",
124
- description: "Add a line item to an invoice. Recalculates totals automatically.",
125
- inputSchema: {
126
- invoice_id: z.string(),
127
- description: z.string(),
128
- unit_price: z.number(),
129
- quantity: z.number().optional(),
130
- },
131
- },
132
- async (params) => {
133
- const item = addLineItem(params);
134
- return { content: [{ type: "text", text: JSON.stringify(item, null, 2) }] };
135
- }
136
- );
137
-
138
- server.registerTool(
139
- "remove_line_item",
140
- {
141
- title: "Remove Line Item",
142
- description: "Remove a line item. Recalculates totals.",
143
- inputSchema: { id: z.string() },
144
- },
145
- async ({ id }) => {
146
- const removed = removeLineItem(id);
147
- return { content: [{ type: "text", text: JSON.stringify({ id, removed }) }] };
148
- }
149
- );
150
-
151
- server.registerTool(
152
- "record_payment",
153
- {
154
- title: "Record Payment",
155
- description: "Record a payment against an invoice. Auto-marks as paid when fully paid.",
156
- inputSchema: {
157
- invoice_id: z.string(),
158
- amount: z.number(),
159
- method: z.string().optional(),
160
- reference: z.string().optional(),
161
- notes: z.string().optional(),
162
- },
163
- },
164
- async (params) => {
165
- const payment = recordPayment(params);
166
- return { content: [{ type: "text", text: JSON.stringify(payment, null, 2) }] };
167
- }
168
- );
169
-
170
- server.registerTool(
171
- "invoice_summary",
172
- {
173
- title: "Invoice Summary",
174
- description: "Get summary statistics for all invoices.",
175
- inputSchema: {},
176
- },
177
- async () => {
178
- const summary = getInvoiceSummary();
179
- return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
180
- }
181
- );
182
-
183
- // --- Clients ---
184
-
185
- server.registerTool(
186
- "create_client",
187
- {
188
- title: "Create Client",
189
- description: "Create a new client for invoicing.",
190
- inputSchema: {
191
- name: z.string(),
192
- email: z.string().optional(),
193
- phone: z.string().optional(),
194
- address: z.string().optional(),
195
- tax_id: z.string().optional(),
196
- },
197
- },
198
- async (params) => {
199
- const client = createClient(params);
200
- return { content: [{ type: "text", text: JSON.stringify(client, null, 2) }] };
201
- }
202
- );
203
-
204
- server.registerTool(
205
- "list_clients",
206
- {
207
- title: "List Clients",
208
- description: "List all clients.",
209
- inputSchema: { search: z.string().optional() },
210
- },
211
- async ({ search }) => {
212
- const clients = listClients(search);
213
- return {
214
- content: [{ type: "text", text: JSON.stringify({ clients, count: clients.length }, null, 2) }],
215
- };
216
- }
217
- );
218
-
219
- server.registerTool(
220
- "delete_client",
221
- {
222
- title: "Delete Client",
223
- description: "Delete a client.",
224
- inputSchema: { id: z.string() },
225
- },
226
- async ({ id }) => {
227
- const deleted = deleteClient(id);
228
- return { content: [{ type: "text", text: JSON.stringify({ id, deleted }) }] };
229
- }
230
- );
231
-
232
- // --- Start ---
233
- async function main() {
234
- const transport = new StdioServerTransport();
235
- await server.connect(transport);
236
- console.error("microservice-invoices MCP server running on stdio");
237
- }
238
-
239
- main().catch((error) => {
240
- console.error("Fatal error:", error);
241
- process.exit(1);
242
- });
@@ -1,162 +0,0 @@
1
- #!/usr/bin/env bun
2
- /**
3
- * HTTP server for microservice-invoices
4
- * Serves REST API + dashboard
5
- */
6
-
7
- import { existsSync } from "node:fs";
8
- import { join, dirname } from "node:path";
9
- import { fileURLToPath } from "node:url";
10
- import {
11
- createInvoice,
12
- getInvoice,
13
- getInvoiceWithItems,
14
- listInvoices,
15
- updateInvoiceStatus,
16
- deleteInvoice,
17
- addLineItem,
18
- removeLineItem,
19
- recordPayment,
20
- getInvoiceSummary,
21
- } from "../db/invoices.js";
22
- import { createClient, getClient, listClients, updateClient, deleteClient } from "../db/clients.js";
23
- import {
24
- createBusinessProfile,
25
- listBusinessProfiles,
26
- getTaxRulesForCountry,
27
- listAllTaxRules,
28
- determineTax,
29
- } from "../db/business.js";
30
-
31
- const __dirname = dirname(fileURLToPath(import.meta.url));
32
- const PORT = parseInt(process.env["PORT"] || "19500");
33
-
34
- // Resolve dashboard dist
35
- const dashboardDir = join(__dirname, "..", "..", "dashboard", "dist");
36
- const hasDashboard = existsSync(dashboardDir);
37
-
38
- function json(data: unknown, status = 200) {
39
- return new Response(JSON.stringify(data), {
40
- status,
41
- headers: { "Content-Type": "application/json" },
42
- });
43
- }
44
-
45
- async function parseBody(req: Request) {
46
- try {
47
- return await req.json();
48
- } catch {
49
- return {};
50
- }
51
- }
52
-
53
- const server = Bun.serve({
54
- port: PORT,
55
- async fetch(req) {
56
- const url = new URL(req.url);
57
- const path = url.pathname;
58
- const method = req.method;
59
-
60
- // --- API Routes ---
61
-
62
- // Invoices
63
- if (path === "/api/invoices" && method === "GET") {
64
- const status = url.searchParams.get("status") || undefined;
65
- const client_id = url.searchParams.get("client_id") || undefined;
66
- return json(listInvoices({ status, client_id }));
67
- }
68
- if (path === "/api/invoices" && method === "POST") {
69
- const body = await parseBody(req);
70
- return json(createInvoice(body), 201);
71
- }
72
- if (path === "/api/invoices/summary" && method === "GET") {
73
- return json(getInvoiceSummary());
74
- }
75
- if (path.match(/^\/api\/invoices\/([^/]+)$/) && method === "GET") {
76
- const id = path.split("/")[3];
77
- const inv = getInvoiceWithItems(id);
78
- return inv ? json(inv) : json({ error: "Not found" }, 404);
79
- }
80
- if (path.match(/^\/api\/invoices\/([^/]+)$/) && method === "DELETE") {
81
- const id = path.split("/")[3];
82
- return json({ deleted: deleteInvoice(id) });
83
- }
84
- if (path.match(/^\/api\/invoices\/([^/]+)\/status$/) && method === "PATCH") {
85
- const id = path.split("/")[3];
86
- const { status } = await parseBody(req);
87
- const inv = updateInvoiceStatus(id, status);
88
- return inv ? json(inv) : json({ error: "Not found" }, 404);
89
- }
90
-
91
- // Line items
92
- if (path === "/api/line-items" && method === "POST") {
93
- const body = await parseBody(req);
94
- return json(addLineItem(body), 201);
95
- }
96
- if (path.match(/^\/api\/line-items\/([^/]+)$/) && method === "DELETE") {
97
- const id = path.split("/")[3];
98
- return json({ deleted: removeLineItem(id) });
99
- }
100
-
101
- // Payments
102
- if (path === "/api/payments" && method === "POST") {
103
- const body = await parseBody(req);
104
- return json(recordPayment(body), 201);
105
- }
106
-
107
- // Clients
108
- if (path === "/api/clients" && method === "GET") {
109
- return json(listClients(url.searchParams.get("search") || undefined));
110
- }
111
- if (path === "/api/clients" && method === "POST") {
112
- const body = await parseBody(req);
113
- return json(createClient(body), 201);
114
- }
115
- if (path.match(/^\/api\/clients\/([^/]+)$/) && method === "GET") {
116
- const id = path.split("/")[3];
117
- const cl = getClient(id);
118
- return cl ? json(cl) : json({ error: "Not found" }, 404);
119
- }
120
- if (path.match(/^\/api\/clients\/([^/]+)$/) && method === "DELETE") {
121
- const id = path.split("/")[3];
122
- return json({ deleted: deleteClient(id) });
123
- }
124
-
125
- // Business profiles
126
- if (path === "/api/business-profiles" && method === "GET") {
127
- return json(listBusinessProfiles());
128
- }
129
- if (path === "/api/business-profiles" && method === "POST") {
130
- const body = await parseBody(req);
131
- return json(createBusinessProfile(body), 201);
132
- }
133
-
134
- // Tax rules
135
- if (path === "/api/tax-rules" && method === "GET") {
136
- const country = url.searchParams.get("country");
137
- return json(country ? getTaxRulesForCountry(country) : listAllTaxRules());
138
- }
139
- if (path === "/api/tax/determine" && method === "POST") {
140
- const { issuer_country, client_country, client_vat_number } = await parseBody(req);
141
- return json(determineTax(issuer_country, client_country, client_vat_number));
142
- }
143
-
144
- // Health
145
- if (path === "/health") {
146
- return json({ status: "ok", service: "microservice-invoices" });
147
- }
148
-
149
- // --- Dashboard (static files) ---
150
- if (hasDashboard) {
151
- let filePath = join(dashboardDir, path === "/" ? "index.html" : path);
152
- if (!existsSync(filePath)) {
153
- filePath = join(dashboardDir, "index.html"); // SPA fallback
154
- }
155
- return new Response(Bun.file(filePath));
156
- }
157
-
158
- return json({ error: "Not found" }, 404);
159
- },
160
- });
161
-
162
- console.log(`microservice-invoices server running on http://localhost:${PORT}`);
@@ -1,27 +0,0 @@
1
- {
2
- "name": "@hasna/microservice-leads",
3
- "version": "0.0.1",
4
- "description": "Lead generation, storage, scoring, and data enrichment microservice for AI agents",
5
- "type": "module",
6
- "bin": {
7
- "microservice-leads": "./src/cli/index.ts",
8
- "microservice-leads-mcp": "./src/mcp/index.ts"
9
- },
10
- "exports": {
11
- ".": "./src/index.ts"
12
- },
13
- "scripts": {
14
- "dev": "bun run ./src/cli/index.ts",
15
- "test": "bun test"
16
- },
17
- "dependencies": {
18
- "@modelcontextprotocol/sdk": "^1.26.0",
19
- "commander": "^12.1.0",
20
- "zod": "^3.24.0"
21
- },
22
- "license": "Apache-2.0",
23
- "publishConfig": {
24
- "registry": "https://registry.npmjs.org",
25
- "access": "public"
26
- }
27
- }