@hasna/microservices 0.0.10 → 0.0.12

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 (93) hide show
  1. package/bin/index.js +101 -2
  2. package/bin/mcp.js +107 -4
  3. package/dist/index.js +86 -1
  4. package/microservices/microservice-analytics/package.json +27 -0
  5. package/microservices/microservice-analytics/src/cli/index.ts +373 -0
  6. package/microservices/microservice-analytics/src/db/analytics.ts +564 -0
  7. package/microservices/microservice-analytics/src/db/database.ts +93 -0
  8. package/microservices/microservice-analytics/src/db/migrations.ts +50 -0
  9. package/microservices/microservice-analytics/src/index.ts +37 -0
  10. package/microservices/microservice-analytics/src/mcp/index.ts +334 -0
  11. package/microservices/microservice-assets/package.json +27 -0
  12. package/microservices/microservice-assets/src/cli/index.ts +375 -0
  13. package/microservices/microservice-assets/src/db/assets.ts +370 -0
  14. package/microservices/microservice-assets/src/db/database.ts +93 -0
  15. package/microservices/microservice-assets/src/db/migrations.ts +51 -0
  16. package/microservices/microservice-assets/src/index.ts +32 -0
  17. package/microservices/microservice-assets/src/mcp/index.ts +346 -0
  18. package/microservices/microservice-compliance/package.json +27 -0
  19. package/microservices/microservice-compliance/src/cli/index.ts +467 -0
  20. package/microservices/microservice-compliance/src/db/compliance.ts +633 -0
  21. package/microservices/microservice-compliance/src/db/database.ts +93 -0
  22. package/microservices/microservice-compliance/src/db/migrations.ts +63 -0
  23. package/microservices/microservice-compliance/src/index.ts +46 -0
  24. package/microservices/microservice-compliance/src/mcp/index.ts +438 -0
  25. package/microservices/microservice-habits/package.json +27 -0
  26. package/microservices/microservice-habits/src/cli/index.ts +315 -0
  27. package/microservices/microservice-habits/src/db/database.ts +93 -0
  28. package/microservices/microservice-habits/src/db/habits.ts +451 -0
  29. package/microservices/microservice-habits/src/db/migrations.ts +46 -0
  30. package/microservices/microservice-habits/src/index.ts +31 -0
  31. package/microservices/microservice-habits/src/mcp/index.ts +313 -0
  32. package/microservices/microservice-health/package.json +27 -0
  33. package/microservices/microservice-health/src/cli/index.ts +484 -0
  34. package/microservices/microservice-health/src/db/database.ts +93 -0
  35. package/microservices/microservice-health/src/db/health.ts +708 -0
  36. package/microservices/microservice-health/src/db/migrations.ts +70 -0
  37. package/microservices/microservice-health/src/index.ts +63 -0
  38. package/microservices/microservice-health/src/mcp/index.ts +437 -0
  39. package/microservices/microservice-invoices/dashboard/dist/assets/index-Bngq7FNM.css +1 -0
  40. package/microservices/microservice-invoices/dashboard/dist/assets/index-aHW4ARZR.js +124 -0
  41. package/microservices/microservice-invoices/dashboard/dist/index.html +13 -0
  42. package/microservices/microservice-notifications/package.json +27 -0
  43. package/microservices/microservice-notifications/src/cli/index.ts +349 -0
  44. package/microservices/microservice-notifications/src/db/database.ts +93 -0
  45. package/microservices/microservice-notifications/src/db/migrations.ts +62 -0
  46. package/microservices/microservice-notifications/src/db/notifications.ts +509 -0
  47. package/microservices/microservice-notifications/src/index.ts +41 -0
  48. package/microservices/microservice-notifications/src/mcp/index.ts +422 -0
  49. package/microservices/microservice-products/package.json +27 -0
  50. package/microservices/microservice-products/src/cli/index.ts +416 -0
  51. package/microservices/microservice-products/src/db/categories.ts +154 -0
  52. package/microservices/microservice-products/src/db/database.ts +93 -0
  53. package/microservices/microservice-products/src/db/migrations.ts +58 -0
  54. package/microservices/microservice-products/src/db/pricing-tiers.ts +66 -0
  55. package/microservices/microservice-products/src/db/products.ts +452 -0
  56. package/microservices/microservice-products/src/index.ts +53 -0
  57. package/microservices/microservice-products/src/mcp/index.ts +453 -0
  58. package/microservices/microservice-projects/package.json +27 -0
  59. package/microservices/microservice-projects/src/cli/index.ts +480 -0
  60. package/microservices/microservice-projects/src/db/database.ts +93 -0
  61. package/microservices/microservice-projects/src/db/migrations.ts +65 -0
  62. package/microservices/microservice-projects/src/db/projects.ts +715 -0
  63. package/microservices/microservice-projects/src/index.ts +57 -0
  64. package/microservices/microservice-projects/src/mcp/index.ts +501 -0
  65. package/microservices/microservice-proposals/package.json +27 -0
  66. package/microservices/microservice-proposals/src/cli/index.ts +400 -0
  67. package/microservices/microservice-proposals/src/db/database.ts +93 -0
  68. package/microservices/microservice-proposals/src/db/migrations.ts +52 -0
  69. package/microservices/microservice-proposals/src/db/proposals.ts +532 -0
  70. package/microservices/microservice-proposals/src/index.ts +37 -0
  71. package/microservices/microservice-proposals/src/mcp/index.ts +375 -0
  72. package/microservices/microservice-reading/package.json +27 -0
  73. package/microservices/microservice-reading/src/cli/index.ts +464 -0
  74. package/microservices/microservice-reading/src/db/database.ts +93 -0
  75. package/microservices/microservice-reading/src/db/migrations.ts +59 -0
  76. package/microservices/microservice-reading/src/db/reading.ts +524 -0
  77. package/microservices/microservice-reading/src/index.ts +51 -0
  78. package/microservices/microservice-reading/src/mcp/index.ts +368 -0
  79. package/microservices/microservice-travel/package.json +27 -0
  80. package/microservices/microservice-travel/src/cli/index.ts +505 -0
  81. package/microservices/microservice-travel/src/db/database.ts +93 -0
  82. package/microservices/microservice-travel/src/db/migrations.ts +77 -0
  83. package/microservices/microservice-travel/src/db/travel.ts +802 -0
  84. package/microservices/microservice-travel/src/index.ts +60 -0
  85. package/microservices/microservice-travel/src/mcp/index.ts +495 -0
  86. package/microservices/microservice-wiki/package.json +27 -0
  87. package/microservices/microservice-wiki/src/cli/index.ts +345 -0
  88. package/microservices/microservice-wiki/src/db/database.ts +93 -0
  89. package/microservices/microservice-wiki/src/db/migrations.ts +55 -0
  90. package/microservices/microservice-wiki/src/db/wiki.ts +395 -0
  91. package/microservices/microservice-wiki/src/index.ts +32 -0
  92. package/microservices/microservice-wiki/src/mcp/index.ts +344 -0
  93. package/package.json +1 -1
package/bin/index.js CHANGED
@@ -5,15 +5,29 @@ var __getProtoOf = Object.getPrototypeOf;
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
8
13
  var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
9
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
10
22
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
23
  for (let key of __getOwnPropNames(mod))
12
24
  if (!__hasOwnProp.call(to, key))
13
25
  __defProp(to, key, {
14
- get: () => mod[key],
26
+ get: __accessProp.bind(mod, key),
15
27
  enumerable: true
16
28
  });
29
+ if (canCache)
30
+ cache.set(mod, to);
17
31
  return to;
18
32
  };
19
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
@@ -3962,7 +3976,8 @@ var CATEGORIES = [
3962
3976
  "Productivity",
3963
3977
  "HR",
3964
3978
  "Analytics",
3965
- "Management"
3979
+ "Management",
3980
+ "Personal"
3966
3981
  ];
3967
3982
  var MICROSERVICES = [
3968
3983
  {
@@ -4035,6 +4050,13 @@ var MICROSERVICES = [
4035
4050
  category: "CRM",
4036
4051
  tags: ["leads", "lead-generation", "scoring", "enrichment", "pipeline", "dedup", "import", "export"]
4037
4052
  },
4053
+ {
4054
+ name: "proposals",
4055
+ displayName: "Proposals",
4056
+ description: "Create, send, track, and convert proposals with templates, expiry tracking, and conversion analytics",
4057
+ category: "CRM",
4058
+ tags: ["proposals", "quotes", "estimates", "sales", "clients", "conversion"]
4059
+ },
4038
4060
  {
4039
4061
  name: "inventory",
4040
4062
  displayName: "Inventory",
@@ -4063,6 +4085,34 @@ var MICROSERVICES = [
4063
4085
  category: "Operations",
4064
4086
  tags: ["domains", "dns", "ssl", "registrar", "nameservers", "whois", "certificates"]
4065
4087
  },
4088
+ {
4089
+ name: "products",
4090
+ displayName: "Products",
4091
+ description: "Product catalog with categories, pricing tiers, variants, bulk import/export, and inventory status tracking",
4092
+ category: "Operations",
4093
+ tags: ["products", "catalog", "pricing", "categories", "sku", "inventory", "import", "export"]
4094
+ },
4095
+ {
4096
+ name: "notifications",
4097
+ displayName: "Notifications",
4098
+ description: "Send notifications across channels (email, Slack, SMS, webhook, in-app) with rules, templates, variable substitution, and event processing",
4099
+ category: "Operations",
4100
+ tags: ["notifications", "alerts", "email", "slack", "sms", "webhook", "in-app", "templates", "rules", "events"]
4101
+ },
4102
+ {
4103
+ name: "projects",
4104
+ displayName: "Projects",
4105
+ description: "Project management with milestones, deliverables, budget tracking, timelines, and progress reporting",
4106
+ category: "Operations",
4107
+ tags: ["projects", "milestones", "deliverables", "budget", "timeline", "planning", "tracking"]
4108
+ },
4109
+ {
4110
+ name: "compliance",
4111
+ displayName: "Compliance",
4112
+ description: "Compliance management with requirements tracking, license management, and audit scheduling across regulatory frameworks (GDPR, SOC2, HIPAA, PCI, ISO 27001)",
4113
+ category: "Operations",
4114
+ tags: ["compliance", "gdpr", "soc2", "hipaa", "pci", "iso27001", "audit", "licenses", "requirements", "regulatory"]
4115
+ },
4066
4116
  {
4067
4117
  name: "notes",
4068
4118
  displayName: "Notes",
@@ -4118,6 +4168,55 @@ var MICROSERVICES = [
4118
4168
  description: "Transcribe audio and video from files and URLs (YouTube, Vimeo, Wistia, etc.) using ElevenLabs or OpenAI Whisper",
4119
4169
  category: "Productivity",
4120
4170
  tags: ["transcription", "audio", "video", "youtube", "vimeo", "wistia", "elevenlabs", "openai", "whisper", "speech-to-text"]
4171
+ },
4172
+ {
4173
+ name: "wiki",
4174
+ displayName: "Wiki",
4175
+ description: "Wiki with pages, version history, internal links, and hierarchical page trees",
4176
+ category: "Productivity",
4177
+ tags: ["wiki", "pages", "knowledge-base", "versioning", "links", "markdown"]
4178
+ },
4179
+ {
4180
+ name: "assets",
4181
+ displayName: "Assets",
4182
+ description: "Digital asset management with collections, tagging, metadata, and type-based organization",
4183
+ category: "Productivity",
4184
+ tags: ["assets", "files", "collections", "media", "images", "documents", "digital-assets"]
4185
+ },
4186
+ {
4187
+ name: "habits",
4188
+ displayName: "Habits",
4189
+ description: "Habit tracking with streaks, completions, and analytics \u2014 daily, weekly, and monthly habits with completion rates and reports",
4190
+ category: "Personal",
4191
+ tags: ["habits", "streaks", "tracking", "completions", "daily", "weekly", "goals", "wellness"]
4192
+ },
4193
+ {
4194
+ name: "health",
4195
+ displayName: "Health",
4196
+ description: "Health tracking with metrics, medications, appointments, and fitness logs",
4197
+ category: "Personal",
4198
+ tags: ["health", "metrics", "medications", "appointments", "fitness", "wellness", "medical"]
4199
+ },
4200
+ {
4201
+ name: "reading",
4202
+ displayName: "Reading",
4203
+ description: "Reading tracker with books, highlights, reading sessions, pace analytics, and progress tracking",
4204
+ category: "Personal",
4205
+ tags: ["reading", "books", "highlights", "sessions", "tracking", "pace", "library"]
4206
+ },
4207
+ {
4208
+ name: "travel",
4209
+ displayName: "Travel",
4210
+ description: "Travel management with trips, bookings, documents, loyalty programs, and budget tracking",
4211
+ category: "Personal",
4212
+ tags: ["travel", "trips", "bookings", "flights", "hotels", "loyalty", "documents", "budget"]
4213
+ },
4214
+ {
4215
+ name: "analytics",
4216
+ displayName: "Analytics",
4217
+ description: "Business analytics with KPIs, dashboards, reports, and AI-powered executive summaries",
4218
+ category: "Analytics",
4219
+ tags: ["analytics", "kpis", "dashboards", "reports", "metrics", "business-intelligence", "executive-summary"]
4121
4220
  }
4122
4221
  ];
4123
4222
  function getMicroservice(name) {
package/bin/mcp.js CHANGED
@@ -5,25 +5,43 @@ var __getProtoOf = Object.getPrototypeOf;
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
8
13
  var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
9
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
10
22
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
23
  for (let key of __getOwnPropNames(mod))
12
24
  if (!__hasOwnProp.call(to, key))
13
25
  __defProp(to, key, {
14
- get: () => mod[key],
26
+ get: __accessProp.bind(mod, key),
15
27
  enumerable: true
16
28
  });
29
+ if (canCache)
30
+ cache.set(mod, to);
17
31
  return to;
18
32
  };
19
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
34
+ var __returnValue = (v) => v;
35
+ function __exportSetter(name, newValue) {
36
+ this[name] = __returnValue.bind(null, newValue);
37
+ }
20
38
  var __export = (target, all) => {
21
39
  for (var name in all)
22
40
  __defProp(target, name, {
23
41
  get: all[name],
24
42
  enumerable: true,
25
43
  configurable: true,
26
- set: (newValue) => all[name] = () => newValue
44
+ set: __exportSetter.bind(all, name)
27
45
  });
28
46
  };
29
47
 
@@ -6286,7 +6304,7 @@ var require_formats = __commonJS((exports) => {
6286
6304
  }
6287
6305
  var TIME = /^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;
6288
6306
  function getTime(strictTimeZone) {
6289
- return function time(str) {
6307
+ return function time3(str) {
6290
6308
  const matches = TIME.exec(str);
6291
6309
  if (!matches)
6292
6310
  return false;
@@ -19463,7 +19481,8 @@ var CATEGORIES = [
19463
19481
  "Productivity",
19464
19482
  "HR",
19465
19483
  "Analytics",
19466
- "Management"
19484
+ "Management",
19485
+ "Personal"
19467
19486
  ];
19468
19487
  var MICROSERVICES = [
19469
19488
  {
@@ -19536,6 +19555,13 @@ var MICROSERVICES = [
19536
19555
  category: "CRM",
19537
19556
  tags: ["leads", "lead-generation", "scoring", "enrichment", "pipeline", "dedup", "import", "export"]
19538
19557
  },
19558
+ {
19559
+ name: "proposals",
19560
+ displayName: "Proposals",
19561
+ description: "Create, send, track, and convert proposals with templates, expiry tracking, and conversion analytics",
19562
+ category: "CRM",
19563
+ tags: ["proposals", "quotes", "estimates", "sales", "clients", "conversion"]
19564
+ },
19539
19565
  {
19540
19566
  name: "inventory",
19541
19567
  displayName: "Inventory",
@@ -19564,6 +19590,34 @@ var MICROSERVICES = [
19564
19590
  category: "Operations",
19565
19591
  tags: ["domains", "dns", "ssl", "registrar", "nameservers", "whois", "certificates"]
19566
19592
  },
19593
+ {
19594
+ name: "products",
19595
+ displayName: "Products",
19596
+ description: "Product catalog with categories, pricing tiers, variants, bulk import/export, and inventory status tracking",
19597
+ category: "Operations",
19598
+ tags: ["products", "catalog", "pricing", "categories", "sku", "inventory", "import", "export"]
19599
+ },
19600
+ {
19601
+ name: "notifications",
19602
+ displayName: "Notifications",
19603
+ description: "Send notifications across channels (email, Slack, SMS, webhook, in-app) with rules, templates, variable substitution, and event processing",
19604
+ category: "Operations",
19605
+ tags: ["notifications", "alerts", "email", "slack", "sms", "webhook", "in-app", "templates", "rules", "events"]
19606
+ },
19607
+ {
19608
+ name: "projects",
19609
+ displayName: "Projects",
19610
+ description: "Project management with milestones, deliverables, budget tracking, timelines, and progress reporting",
19611
+ category: "Operations",
19612
+ tags: ["projects", "milestones", "deliverables", "budget", "timeline", "planning", "tracking"]
19613
+ },
19614
+ {
19615
+ name: "compliance",
19616
+ displayName: "Compliance",
19617
+ description: "Compliance management with requirements tracking, license management, and audit scheduling across regulatory frameworks (GDPR, SOC2, HIPAA, PCI, ISO 27001)",
19618
+ category: "Operations",
19619
+ tags: ["compliance", "gdpr", "soc2", "hipaa", "pci", "iso27001", "audit", "licenses", "requirements", "regulatory"]
19620
+ },
19567
19621
  {
19568
19622
  name: "notes",
19569
19623
  displayName: "Notes",
@@ -19619,6 +19673,55 @@ var MICROSERVICES = [
19619
19673
  description: "Transcribe audio and video from files and URLs (YouTube, Vimeo, Wistia, etc.) using ElevenLabs or OpenAI Whisper",
19620
19674
  category: "Productivity",
19621
19675
  tags: ["transcription", "audio", "video", "youtube", "vimeo", "wistia", "elevenlabs", "openai", "whisper", "speech-to-text"]
19676
+ },
19677
+ {
19678
+ name: "wiki",
19679
+ displayName: "Wiki",
19680
+ description: "Wiki with pages, version history, internal links, and hierarchical page trees",
19681
+ category: "Productivity",
19682
+ tags: ["wiki", "pages", "knowledge-base", "versioning", "links", "markdown"]
19683
+ },
19684
+ {
19685
+ name: "assets",
19686
+ displayName: "Assets",
19687
+ description: "Digital asset management with collections, tagging, metadata, and type-based organization",
19688
+ category: "Productivity",
19689
+ tags: ["assets", "files", "collections", "media", "images", "documents", "digital-assets"]
19690
+ },
19691
+ {
19692
+ name: "habits",
19693
+ displayName: "Habits",
19694
+ description: "Habit tracking with streaks, completions, and analytics \u2014 daily, weekly, and monthly habits with completion rates and reports",
19695
+ category: "Personal",
19696
+ tags: ["habits", "streaks", "tracking", "completions", "daily", "weekly", "goals", "wellness"]
19697
+ },
19698
+ {
19699
+ name: "health",
19700
+ displayName: "Health",
19701
+ description: "Health tracking with metrics, medications, appointments, and fitness logs",
19702
+ category: "Personal",
19703
+ tags: ["health", "metrics", "medications", "appointments", "fitness", "wellness", "medical"]
19704
+ },
19705
+ {
19706
+ name: "reading",
19707
+ displayName: "Reading",
19708
+ description: "Reading tracker with books, highlights, reading sessions, pace analytics, and progress tracking",
19709
+ category: "Personal",
19710
+ tags: ["reading", "books", "highlights", "sessions", "tracking", "pace", "library"]
19711
+ },
19712
+ {
19713
+ name: "travel",
19714
+ displayName: "Travel",
19715
+ description: "Travel management with trips, bookings, documents, loyalty programs, and budget tracking",
19716
+ category: "Personal",
19717
+ tags: ["travel", "trips", "bookings", "flights", "hotels", "loyalty", "documents", "budget"]
19718
+ },
19719
+ {
19720
+ name: "analytics",
19721
+ displayName: "Analytics",
19722
+ description: "Business analytics with KPIs, dashboards, reports, and AI-powered executive summaries",
19723
+ category: "Analytics",
19724
+ tags: ["analytics", "kpis", "dashboards", "reports", "metrics", "business-intelligence", "executive-summary"]
19622
19725
  }
19623
19726
  ];
19624
19727
  function getMicroservice(name) {
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@ var CATEGORIES = [
7
7
  "Productivity",
8
8
  "HR",
9
9
  "Analytics",
10
- "Management"
10
+ "Management",
11
+ "Personal"
11
12
  ];
12
13
  var MICROSERVICES = [
13
14
  {
@@ -80,6 +81,13 @@ var MICROSERVICES = [
80
81
  category: "CRM",
81
82
  tags: ["leads", "lead-generation", "scoring", "enrichment", "pipeline", "dedup", "import", "export"]
82
83
  },
84
+ {
85
+ name: "proposals",
86
+ displayName: "Proposals",
87
+ description: "Create, send, track, and convert proposals with templates, expiry tracking, and conversion analytics",
88
+ category: "CRM",
89
+ tags: ["proposals", "quotes", "estimates", "sales", "clients", "conversion"]
90
+ },
83
91
  {
84
92
  name: "inventory",
85
93
  displayName: "Inventory",
@@ -108,6 +116,34 @@ var MICROSERVICES = [
108
116
  category: "Operations",
109
117
  tags: ["domains", "dns", "ssl", "registrar", "nameservers", "whois", "certificates"]
110
118
  },
119
+ {
120
+ name: "products",
121
+ displayName: "Products",
122
+ description: "Product catalog with categories, pricing tiers, variants, bulk import/export, and inventory status tracking",
123
+ category: "Operations",
124
+ tags: ["products", "catalog", "pricing", "categories", "sku", "inventory", "import", "export"]
125
+ },
126
+ {
127
+ name: "notifications",
128
+ displayName: "Notifications",
129
+ description: "Send notifications across channels (email, Slack, SMS, webhook, in-app) with rules, templates, variable substitution, and event processing",
130
+ category: "Operations",
131
+ tags: ["notifications", "alerts", "email", "slack", "sms", "webhook", "in-app", "templates", "rules", "events"]
132
+ },
133
+ {
134
+ name: "projects",
135
+ displayName: "Projects",
136
+ description: "Project management with milestones, deliverables, budget tracking, timelines, and progress reporting",
137
+ category: "Operations",
138
+ tags: ["projects", "milestones", "deliverables", "budget", "timeline", "planning", "tracking"]
139
+ },
140
+ {
141
+ name: "compliance",
142
+ displayName: "Compliance",
143
+ description: "Compliance management with requirements tracking, license management, and audit scheduling across regulatory frameworks (GDPR, SOC2, HIPAA, PCI, ISO 27001)",
144
+ category: "Operations",
145
+ tags: ["compliance", "gdpr", "soc2", "hipaa", "pci", "iso27001", "audit", "licenses", "requirements", "regulatory"]
146
+ },
111
147
  {
112
148
  name: "notes",
113
149
  displayName: "Notes",
@@ -163,6 +199,55 @@ var MICROSERVICES = [
163
199
  description: "Transcribe audio and video from files and URLs (YouTube, Vimeo, Wistia, etc.) using ElevenLabs or OpenAI Whisper",
164
200
  category: "Productivity",
165
201
  tags: ["transcription", "audio", "video", "youtube", "vimeo", "wistia", "elevenlabs", "openai", "whisper", "speech-to-text"]
202
+ },
203
+ {
204
+ name: "wiki",
205
+ displayName: "Wiki",
206
+ description: "Wiki with pages, version history, internal links, and hierarchical page trees",
207
+ category: "Productivity",
208
+ tags: ["wiki", "pages", "knowledge-base", "versioning", "links", "markdown"]
209
+ },
210
+ {
211
+ name: "assets",
212
+ displayName: "Assets",
213
+ description: "Digital asset management with collections, tagging, metadata, and type-based organization",
214
+ category: "Productivity",
215
+ tags: ["assets", "files", "collections", "media", "images", "documents", "digital-assets"]
216
+ },
217
+ {
218
+ name: "habits",
219
+ displayName: "Habits",
220
+ description: "Habit tracking with streaks, completions, and analytics \u2014 daily, weekly, and monthly habits with completion rates and reports",
221
+ category: "Personal",
222
+ tags: ["habits", "streaks", "tracking", "completions", "daily", "weekly", "goals", "wellness"]
223
+ },
224
+ {
225
+ name: "health",
226
+ displayName: "Health",
227
+ description: "Health tracking with metrics, medications, appointments, and fitness logs",
228
+ category: "Personal",
229
+ tags: ["health", "metrics", "medications", "appointments", "fitness", "wellness", "medical"]
230
+ },
231
+ {
232
+ name: "reading",
233
+ displayName: "Reading",
234
+ description: "Reading tracker with books, highlights, reading sessions, pace analytics, and progress tracking",
235
+ category: "Personal",
236
+ tags: ["reading", "books", "highlights", "sessions", "tracking", "pace", "library"]
237
+ },
238
+ {
239
+ name: "travel",
240
+ displayName: "Travel",
241
+ description: "Travel management with trips, bookings, documents, loyalty programs, and budget tracking",
242
+ category: "Personal",
243
+ tags: ["travel", "trips", "bookings", "flights", "hotels", "loyalty", "documents", "budget"]
244
+ },
245
+ {
246
+ name: "analytics",
247
+ displayName: "Analytics",
248
+ description: "Business analytics with KPIs, dashboards, reports, and AI-powered executive summaries",
249
+ category: "Analytics",
250
+ tags: ["analytics", "kpis", "dashboards", "reports", "metrics", "business-intelligence", "executive-summary"]
166
251
  }
167
252
  ];
168
253
  function getMicroservice(name) {
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@hasna/microservice-analytics",
3
+ "version": "0.0.1",
4
+ "description": "Business analytics microservice with KPIs, dashboards, reports, and AI-powered executive summaries",
5
+ "type": "module",
6
+ "bin": {
7
+ "microservice-analytics": "./src/cli/index.ts",
8
+ "microservice-analytics-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
+ }