@hasna/contacts 0.6.32 → 0.6.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/THIRD_PARTY_NOTICES.md +5 -0
  2. package/dist/cli/index.js +22033 -5522
  3. package/dist/index.js +3 -0
  4. package/dist/mcp/index.js +27401 -11286
  5. package/dist/server/cloud-index.js +9187 -0
  6. package/dist/server/index.js +198 -60
  7. package/migrations/0013_remote_delete_tombstones.sql +15 -0
  8. package/migrations/0014_contact_tag_filter_index.sql +9 -0
  9. package/package.json +9 -4
  10. package/vendor/fast-uri/LICENSE +30 -0
  11. package/dashboard/dist/assets/index-0l6aQb1t.css +0 -1
  12. package/dashboard/dist/assets/index-opnZdkVD.js +0 -229
  13. package/dashboard/dist/index.html +0 -13
  14. package/dist/cli/commands/advanced.d.ts +0 -3
  15. package/dist/cli/commands/advanced.d.ts.map +0 -1
  16. package/dist/cli/commands/audience.d.ts +0 -18
  17. package/dist/cli/commands/audience.d.ts.map +0 -1
  18. package/dist/cli/commands/core.d.ts +0 -3
  19. package/dist/cli/commands/core.d.ts.map +0 -1
  20. package/dist/cli/commands/crm.d.ts +0 -3
  21. package/dist/cli/commands/crm.d.ts.map +0 -1
  22. package/dist/cli/index.d.ts +0 -3
  23. package/dist/cli/index.d.ts.map +0 -1
  24. package/dist/cli/storage.d.ts +0 -3
  25. package/dist/cli/storage.d.ts.map +0 -1
  26. package/dist/cli/utils.d.ts +0 -10
  27. package/dist/cli/utils.d.ts.map +0 -1
  28. package/dist/cloud/http-storage.d.ts +0 -88
  29. package/dist/cloud/http-storage.d.ts.map +0 -1
  30. package/dist/db/activity.d.ts +0 -15
  31. package/dist/db/activity.d.ts.map +0 -1
  32. package/dist/db/applications.d.ts +0 -10
  33. package/dist/db/applications.d.ts.map +0 -1
  34. package/dist/db/audiences.d.ts +0 -51
  35. package/dist/db/audiences.d.ts.map +0 -1
  36. package/dist/db/companies.d.ts +0 -19
  37. package/dist/db/companies.d.ts.map +0 -1
  38. package/dist/db/contact-tasks.d.ts +0 -19
  39. package/dist/db/contact-tasks.d.ts.map +0 -1
  40. package/dist/db/contacts.d.ts +0 -30
  41. package/dist/db/contacts.d.ts.map +0 -1
  42. package/dist/db/coordination.d.ts +0 -30
  43. package/dist/db/coordination.d.ts.map +0 -1
  44. package/dist/db/database.d.ts +0 -8
  45. package/dist/db/database.d.ts.map +0 -1
  46. package/dist/db/deals.d.ts +0 -14
  47. package/dist/db/deals.d.ts.map +0 -1
  48. package/dist/db/documents.d.ts +0 -38
  49. package/dist/db/documents.d.ts.map +0 -1
  50. package/dist/db/events.d.ts +0 -14
  51. package/dist/db/events.d.ts.map +0 -1
  52. package/dist/db/field-history.d.ts +0 -17
  53. package/dist/db/field-history.d.ts.map +0 -1
  54. package/dist/db/freshness.d.ts +0 -24
  55. package/dist/db/freshness.d.ts.map +0 -1
  56. package/dist/db/graph.d.ts +0 -21
  57. package/dist/db/graph.d.ts.map +0 -1
  58. package/dist/db/groups.d.ts +0 -22
  59. package/dist/db/groups.d.ts.map +0 -1
  60. package/dist/db/health.d.ts +0 -40
  61. package/dist/db/health.d.ts.map +0 -1
  62. package/dist/db/identity.d.ts +0 -32
  63. package/dist/db/identity.d.ts.map +0 -1
  64. package/dist/db/job-history.d.ts +0 -29
  65. package/dist/db/job-history.d.ts.map +0 -1
  66. package/dist/db/learnings.d.ts +0 -43
  67. package/dist/db/learnings.d.ts.map +0 -1
  68. package/dist/db/notes.d.ts +0 -8
  69. package/dist/db/notes.d.ts.map +0 -1
  70. package/dist/db/org-chart.d.ts +0 -37
  71. package/dist/db/org-chart.d.ts.map +0 -1
  72. package/dist/db/org-members.d.ts +0 -9
  73. package/dist/db/org-members.d.ts.map +0 -1
  74. package/dist/db/paths.d.ts +0 -3
  75. package/dist/db/paths.d.ts.map +0 -1
  76. package/dist/db/pg-migrations.d.ts +0 -8
  77. package/dist/db/pg-migrations.d.ts.map +0 -1
  78. package/dist/db/relationships.d.ts +0 -30
  79. package/dist/db/relationships.d.ts.map +0 -1
  80. package/dist/db/signals.d.ts +0 -18
  81. package/dist/db/signals.d.ts.map +0 -1
  82. package/dist/db/sqlite-adapter.d.ts +0 -15
  83. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  84. package/dist/db/storage.d.ts +0 -15
  85. package/dist/db/storage.d.ts.map +0 -1
  86. package/dist/db/tags.d.ts +0 -14
  87. package/dist/db/tags.d.ts.map +0 -1
  88. package/dist/db/tombstones.d.ts +0 -19
  89. package/dist/db/tombstones.d.ts.map +0 -1
  90. package/dist/db/vendor-comms.d.ts +0 -15
  91. package/dist/db/vendor-comms.d.ts.map +0 -1
  92. package/dist/generated/storage-kit/health.d.ts +0 -20
  93. package/dist/generated/storage-kit/health.d.ts.map +0 -1
  94. package/dist/generated/storage-kit/index.d.ts +0 -8
  95. package/dist/generated/storage-kit/index.d.ts.map +0 -1
  96. package/dist/generated/storage-kit/migrations.d.ts +0 -48
  97. package/dist/generated/storage-kit/migrations.d.ts.map +0 -1
  98. package/dist/generated/storage-kit/mode.d.ts +0 -48
  99. package/dist/generated/storage-kit/mode.d.ts.map +0 -1
  100. package/dist/generated/storage-kit/pool.d.ts +0 -34
  101. package/dist/generated/storage-kit/pool.d.ts.map +0 -1
  102. package/dist/generated/storage-kit/query.d.ts +0 -36
  103. package/dist/generated/storage-kit/query.d.ts.map +0 -1
  104. package/dist/generated/storage-kit/tls.d.ts +0 -26
  105. package/dist/generated/storage-kit/tls.d.ts.map +0 -1
  106. package/dist/index.d.ts +0 -7
  107. package/dist/index.d.ts.map +0 -1
  108. package/dist/lib/apple-contacts.d.ts +0 -3
  109. package/dist/lib/apple-contacts.d.ts.map +0 -1
  110. package/dist/lib/audience-contract.d.ts +0 -215
  111. package/dist/lib/audience-contract.d.ts.map +0 -1
  112. package/dist/lib/audit.d.ts +0 -12
  113. package/dist/lib/audit.d.ts.map +0 -1
  114. package/dist/lib/brief.d.ts +0 -3
  115. package/dist/lib/brief.d.ts.map +0 -1
  116. package/dist/lib/config.d.ts +0 -7
  117. package/dist/lib/config.d.ts.map +0 -1
  118. package/dist/lib/connector.d.ts +0 -44
  119. package/dist/lib/connector.d.ts.map +0 -1
  120. package/dist/lib/context.d.ts +0 -5
  121. package/dist/lib/context.d.ts.map +0 -1
  122. package/dist/lib/dedup.d.ts +0 -10
  123. package/dist/lib/dedup.d.ts.map +0 -1
  124. package/dist/lib/document-scanner.d.ts +0 -8
  125. package/dist/lib/document-scanner.d.ts.map +0 -1
  126. package/dist/lib/embeddings.d.ts +0 -9
  127. package/dist/lib/embeddings.d.ts.map +0 -1
  128. package/dist/lib/export.d.ts +0 -8
  129. package/dist/lib/export.d.ts.map +0 -1
  130. package/dist/lib/freshness.d.ts +0 -19
  131. package/dist/lib/freshness.d.ts.map +0 -1
  132. package/dist/lib/gmail-import.d.ts +0 -51
  133. package/dist/lib/gmail-import.d.ts.map +0 -1
  134. package/dist/lib/google-contacts.d.ts +0 -115
  135. package/dist/lib/google-contacts.d.ts.map +0 -1
  136. package/dist/lib/images.d.ts +0 -30
  137. package/dist/lib/images.d.ts.map +0 -1
  138. package/dist/lib/import.d.ts +0 -10
  139. package/dist/lib/import.d.ts.map +0 -1
  140. package/dist/lib/learning-maintenance.d.ts +0 -8
  141. package/dist/lib/learning-maintenance.d.ts.map +0 -1
  142. package/dist/lib/mailery-sync.d.ts +0 -46
  143. package/dist/lib/mailery-sync.d.ts.map +0 -1
  144. package/dist/lib/meeting-capture.d.ts +0 -15
  145. package/dist/lib/meeting-capture.d.ts.map +0 -1
  146. package/dist/lib/package-version.d.ts +0 -6
  147. package/dist/lib/package-version.d.ts.map +0 -1
  148. package/dist/lib/signals.d.ts +0 -9
  149. package/dist/lib/signals.d.ts.map +0 -1
  150. package/dist/lib/signature-parser.d.ts +0 -36
  151. package/dist/lib/signature-parser.d.ts.map +0 -1
  152. package/dist/lib/stats.d.ts +0 -24
  153. package/dist/lib/stats.d.ts.map +0 -1
  154. package/dist/lib/timeline.d.ts +0 -11
  155. package/dist/lib/timeline.d.ts.map +0 -1
  156. package/dist/lib/upcoming.d.ts +0 -14
  157. package/dist/lib/upcoming.d.ts.map +0 -1
  158. package/dist/lib/vault.d.ts +0 -24
  159. package/dist/lib/vault.d.ts.map +0 -1
  160. package/dist/mcp/handlers/advanced.d.ts +0 -14
  161. package/dist/mcp/handlers/advanced.d.ts.map +0 -1
  162. package/dist/mcp/handlers/audience.d.ts +0 -9
  163. package/dist/mcp/handlers/audience.d.ts.map +0 -1
  164. package/dist/mcp/handlers/core.d.ts +0 -10
  165. package/dist/mcp/handlers/core.d.ts.map +0 -1
  166. package/dist/mcp/handlers/crm.d.ts +0 -14
  167. package/dist/mcp/handlers/crm.d.ts.map +0 -1
  168. package/dist/mcp/handlers/index.d.ts +0 -4
  169. package/dist/mcp/handlers/index.d.ts.map +0 -1
  170. package/dist/mcp/handlers/types.d.ts +0 -10
  171. package/dist/mcp/handlers/types.d.ts.map +0 -1
  172. package/dist/mcp/http.d.ts +0 -17
  173. package/dist/mcp/http.d.ts.map +0 -1
  174. package/dist/mcp/index.d.ts +0 -4
  175. package/dist/mcp/index.d.ts.map +0 -1
  176. package/dist/mcp/register-tools.d.ts +0 -3
  177. package/dist/mcp/register-tools.d.ts.map +0 -1
  178. package/dist/mcp/schema.d.ts +0 -3
  179. package/dist/mcp/schema.d.ts.map +0 -1
  180. package/dist/mcp/storage-tools.d.ts +0 -3
  181. package/dist/mcp/storage-tools.d.ts.map +0 -1
  182. package/dist/mcp/tools.d.ts +0 -3799
  183. package/dist/mcp/tools.d.ts.map +0 -1
  184. package/dist/sdk/index.d.ts +0 -16
  185. package/dist/sdk/index.d.ts.map +0 -1
  186. package/dist/sdk/v1.generated.d.ts +0 -203
  187. package/dist/sdk/v1.generated.d.ts.map +0 -1
  188. package/dist/server/cloud.d.ts +0 -51
  189. package/dist/server/cloud.d.ts.map +0 -1
  190. package/dist/server/index.d.ts +0 -3
  191. package/dist/server/index.d.ts.map +0 -1
  192. package/dist/server/openapi.d.ts +0 -765
  193. package/dist/server/openapi.d.ts.map +0 -1
  194. package/dist/server/pg-store.d.ts +0 -861
  195. package/dist/server/pg-store.d.ts.map +0 -1
  196. package/dist/server/security.d.ts +0 -24
  197. package/dist/server/security.d.ts.map +0 -1
  198. package/dist/server/serve.d.ts +0 -9
  199. package/dist/server/serve.d.ts.map +0 -1
  200. package/dist/server/v1.d.ts +0 -6
  201. package/dist/server/v1.d.ts.map +0 -1
  202. package/dist/store/index.d.ts +0 -383
  203. package/dist/store/index.d.ts.map +0 -1
  204. package/dist/types/index.d.ts +0 -856
  205. package/dist/types/index.d.ts.map +0 -1
@@ -1,115 +0,0 @@
1
- /**
2
- * Google Contacts sync — bidirectional sync between local DB and Google Contacts
3
- * via the connect-googlecontacts connector.
4
- *
5
- * Auth: connect-googlecontacts auth login (run once per profile)
6
- * Install: bun install -g @hasnaxyz/connect-googlecontacts
7
- *
8
- * Data format: Google People API
9
- * https://developers.google.com/people/api/rest/v1/people
10
- */
11
- import type { ContactWithDetails, CreateContactInput } from "../types/index.js";
12
- import { ConnectorRunOptions } from "./connector.js";
13
- interface PeopleName {
14
- displayName?: string;
15
- givenName?: string;
16
- familyName?: string;
17
- middleName?: string;
18
- }
19
- interface PeopleEmail {
20
- value?: string;
21
- type?: string;
22
- formattedType?: string;
23
- }
24
- interface PeoplePhone {
25
- value?: string;
26
- type?: string;
27
- formattedType?: string;
28
- }
29
- interface PeopleOrg {
30
- name?: string;
31
- title?: string;
32
- department?: string;
33
- }
34
- interface PeopleAddress {
35
- streetAddress?: string;
36
- city?: string;
37
- region?: string;
38
- postalCode?: string;
39
- country?: string;
40
- type?: string;
41
- }
42
- interface PeopleBio {
43
- value?: string;
44
- }
45
- interface PeopleUrl {
46
- value?: string;
47
- type?: string;
48
- }
49
- export interface GooglePerson {
50
- resourceName: string;
51
- etag?: string;
52
- names?: PeopleName[];
53
- emailAddresses?: PeopleEmail[];
54
- phoneNumbers?: PeoplePhone[];
55
- organizations?: PeopleOrg[];
56
- addresses?: PeopleAddress[];
57
- biographies?: PeopleBio[];
58
- urls?: PeopleUrl[];
59
- birthdays?: Array<{
60
- date?: {
61
- year?: number;
62
- month?: number;
63
- day?: number;
64
- };
65
- }>;
66
- }
67
- export interface GoogleContactsSyncOptions extends ConnectorRunOptions {
68
- /** Max contacts to pull per page (connector handles pagination automatically) */
69
- page_size?: number;
70
- /** Only import contacts matching this query */
71
- query?: string;
72
- }
73
- export interface GoogleContactsPushOptions extends ConnectorRunOptions {
74
- /** If true, update existing Google contact if resourceName is stored in custom_fields */
75
- update_existing?: boolean;
76
- }
77
- export interface SyncResult {
78
- imported: number;
79
- updated: number;
80
- skipped: number;
81
- errors: string[];
82
- }
83
- /**
84
- * Convert a Google People API person to a CreateContactInput.
85
- */
86
- export declare function googlePersonToContactInput(person: GooglePerson): CreateContactInput;
87
- /**
88
- * Convert a local ContactWithDetails to Google People API create/update args.
89
- * Returns the CLI flags for `connect-googlecontacts contacts create`.
90
- */
91
- export declare function contactToGoogleArgs(contact: ContactWithDetails): string[];
92
- /**
93
- * List all contacts from Google Contacts.
94
- */
95
- export declare function listGoogleContacts(opts?: GoogleContactsSyncOptions): Promise<GooglePerson[]>;
96
- /**
97
- * Search contacts in Google Contacts.
98
- */
99
- export declare function searchGoogleContacts(query: string, opts?: ConnectorRunOptions): Promise<GooglePerson[]>;
100
- /**
101
- * Create a new contact in Google Contacts from a local contact.
102
- * Returns the Google resource name (e.g. "people/c12345").
103
- */
104
- export declare function pushContactToGoogle(contact: ContactWithDetails, opts?: GoogleContactsPushOptions): Promise<{
105
- resourceName: string;
106
- action: "created" | "updated";
107
- }>;
108
- /**
109
- * Sync all Google Contacts into the local database.
110
- * Caller is responsible for the actual upsert (pass a db upsert function).
111
- * Returns structured CreateContactInput objects ready for upsert.
112
- */
113
- export declare function pullGoogleContactsAsInputs(opts?: GoogleContactsSyncOptions): Promise<CreateContactInput[]>;
114
- export {};
115
- //# sourceMappingURL=google-contacts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-contacts.d.ts","sourceRoot":"","sources":["../../src/lib/google-contacts.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- export declare function getImagesDir(): string;
2
- /**
3
- * Save an image for a contact or company.
4
- * Accepts a file path (copies it) or base64 data (writes it).
5
- * Returns the stored filename (e.g. "abc123.jpg")
6
- */
7
- export declare function saveImage(entityId: string, source: string, options?: {
8
- format?: string;
9
- }): string;
10
- /**
11
- * Get the image path for an entity. Returns null if no image exists.
12
- */
13
- export declare function getImagePath(entityId: string): string | null;
14
- /**
15
- * Get image as base64 data URI for embedding in responses.
16
- */
17
- export declare function getImageAsBase64(entityId: string): string | null;
18
- /**
19
- * Delete an entity's image.
20
- */
21
- export declare function deleteImage(entityId: string): boolean;
22
- /**
23
- * List all stored images.
24
- */
25
- export declare function listImages(): Array<{
26
- entity_id: string;
27
- filename: string;
28
- path: string;
29
- }>;
30
- //# sourceMappingURL=images.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/lib/images.ts"],"names":[],"mappings":"AAcA,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,MAAM,CAuCR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAQzF"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Import contacts from CSV, vCard (.vcf), or JSON formats.
3
- * Returns an array of CreateContactInput objects (matching src/types/index.ts).
4
- */
5
- import type { CreateContactInput } from "../types/index.js";
6
- export type { CreateContactInput };
7
- export declare function importFromCsv(data: string): CreateContactInput[];
8
- export declare function parseLinkedIn(csv: string): CreateContactInput[];
9
- export declare function importContacts(format: "json" | "csv" | "vcf", data: string): Promise<CreateContactInput[]>;
10
- //# sourceMappingURL=import.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/lib/import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EASnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAgHnC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAGhE;AAuND,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAkD/D;AAUD,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAa/B"}
@@ -1,8 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- import { type ContactLearning } from "../db/learnings.js";
3
- export declare function runMaintenance(db?: ContactsDatabase): {
4
- decayed: number;
5
- stale_learnings: number;
6
- };
7
- export declare function getStaleLearnings(daysOld?: number, minConfidence?: number, db?: ContactsDatabase): ContactLearning[];
8
- //# sourceMappingURL=learning-maintenance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learning-maintenance.d.ts","sourceRoot":"","sources":["../../src/lib/learning-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG3F,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAKlG;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,SAAK,EACZ,aAAa,SAAK,EAClB,EAAE,CAAC,EAAE,gBAAgB,GACpB,eAAe,EAAE,CAUnB"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Suppression sync: push email unsubscribes/suppressions recorded in contacts
3
- * to a mail delivery system so campaign sends never hit opted-out addresses.
4
- *
5
- * The default adapter dynamically imports @hasna/mailery (which exposes
6
- * `suppressContact(email)`) so mailery stays an optional integration rather
7
- * than a hard dependency. Any other backend can implement
8
- * SuppressionSyncAdapter and be passed to syncSuppressions().
9
- */
10
- import type { ContactsDatabase } from "../db/database.js";
11
- export interface SuppressionSyncAdapter {
12
- /** Human-readable adapter name for reporting, e.g. "mailery". */
13
- name: string;
14
- /** Push one suppressed email address to the delivery system. Throw on failure. */
15
- suppress(email: string, reason?: string): Promise<void> | void;
16
- }
17
- export interface SuppressionSyncResult {
18
- adapter: string;
19
- dry_run: boolean;
20
- pending: number;
21
- pushed: number;
22
- failed: {
23
- address: string;
24
- error: string;
25
- }[];
26
- synced_at: string | null;
27
- }
28
- export declare class MaileryNotAvailableError extends Error {
29
- constructor(detail: string);
30
- }
31
- /**
32
- * Build the default adapter backed by @hasna/mailery, if importable.
33
- * Throws MaileryNotAvailableError when the package is not installed.
34
- */
35
- export declare function createMaileryAdapter(): Promise<SuppressionSyncAdapter>;
36
- export interface SyncSuppressionsOptions {
37
- adapter?: SuppressionSyncAdapter;
38
- dryRun?: boolean;
39
- db?: ContactsDatabase;
40
- }
41
- /**
42
- * Push all unsynced email suppressions to the delivery system and stamp
43
- * synced_at on each pushed entry plus suppression_synced_at on every audience.
44
- */
45
- export declare function syncSuppressions(options?: SyncSuppressionsOptions): Promise<SuppressionSyncResult>;
46
- //# sourceMappingURL=mailery-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailery-sync.d.ts","sourceRoot":"","sources":["../../src/lib/mailery-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAU1D,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,MAAM,EAAE,MAAM;CAO3B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAoB5E;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,gBAAgB,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwC5G"}
@@ -1,15 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- export declare function ingestMeetingParticipants(event: {
3
- title: string;
4
- event_date: string;
5
- attendees: Array<{
6
- name: string;
7
- email: string;
8
- }>;
9
- context?: string;
10
- }, db?: ContactsDatabase): Promise<{
11
- created: number;
12
- updated: number;
13
- contact_ids: string[];
14
- }>;
15
- //# sourceMappingURL=meeting-capture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meeting-capture.d.ts","sourceRoot":"","sources":["../../src/lib/meeting-capture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,EAAE,CAAC,EAAE,gBAAgB,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwCtE"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Resolve the installed @hasna/contacts version from the nearest package.json.
3
- * Falls back to "0.0.0" only if the manifest cannot be located (never throws).
4
- */
5
- export declare function getPackageVersion(): string;
6
- //# sourceMappingURL=package-version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-version.d.ts","sourceRoot":"","sources":["../../src/lib/package-version.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C"}
@@ -1,9 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- export declare function computeRelationshipSignals(contactId: string, db?: ContactsDatabase): {
3
- health: number;
4
- engagement_status: string;
5
- interaction_count_30d: number;
6
- interaction_count_90d: number;
7
- };
8
- export declare function recomputeAllSignals(db?: ContactsDatabase): number;
9
- //# sourceMappingURL=signals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/lib/signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,gBAAgB,GACpB;IACD,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CA+DA;AAED,wBAAgB,mBAAmB,CAAC,EAAE,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAmBjE"}
@@ -1,36 +0,0 @@
1
- export interface ParsedSignature {
2
- name?: string;
3
- title?: string;
4
- company?: string;
5
- phone?: string;
6
- email?: string;
7
- linkedin?: string;
8
- website?: string;
9
- }
10
- export declare function parseEmailSignature(text: string): ParsedSignature;
11
- export declare function extractContactsFromEmailThread(participants: Array<{
12
- name?: string;
13
- email: string;
14
- signature?: string;
15
- }>): Array<{
16
- display_name: string;
17
- emails: Array<{
18
- address: string;
19
- type: string;
20
- is_primary: boolean;
21
- }>;
22
- job_title?: string;
23
- social_profiles?: Array<{
24
- platform: string;
25
- url: string;
26
- is_primary: boolean;
27
- }>;
28
- phones?: Array<{
29
- number: string;
30
- type: string;
31
- is_primary: boolean;
32
- }>;
33
- website?: string;
34
- source: string;
35
- }>;
36
- //# sourceMappingURL=signature-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature-parser.d.ts","sourceRoot":"","sources":["../../src/lib/signature-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,KAAK,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAChF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAuBD"}
@@ -1,24 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- export interface NetworkStats {
3
- total_contacts: number;
4
- total_companies: number;
5
- owned_entities: number;
6
- total_tags: number;
7
- total_groups: number;
8
- total_deals: number;
9
- total_events: number;
10
- cold_30d: number;
11
- cold_60d: number;
12
- cold_never: number;
13
- contacts_with_email: number;
14
- contacts_with_phone: number;
15
- contacts_no_company: number;
16
- overdue_tasks: number;
17
- pending_applications: number;
18
- missing_invoices: number;
19
- upcoming_7d: number;
20
- notes_count: number;
21
- active_deals_value: number;
22
- }
23
- export declare function getNetworkStats(db?: ContactsDatabase): NetworkStats;
24
- //# sourceMappingURL=stats.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/lib/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,eAAe,CAAC,EAAE,CAAC,EAAE,gBAAgB,GAAG,YAAY,CA2BnE"}
@@ -1,11 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- export type TimelineItemType = 'note' | 'event' | 'task_created' | 'task_completed' | 'vendor_comm' | 'interaction' | 'relationship_added' | 'deal_created' | 'deal_stage_changed';
3
- export interface TimelineItem {
4
- date: string;
5
- type: TimelineItemType;
6
- title: string;
7
- body?: string;
8
- metadata?: Record<string, unknown>;
9
- }
10
- export declare function getContactTimeline(contactId: string, limit?: number, db?: ContactsDatabase): TimelineItem[];
11
- //# sourceMappingURL=timeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/lib/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,GACP,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,oBAAoB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAsCvG"}
@@ -1,14 +0,0 @@
1
- import type { ContactsDatabase } from "../db/database.js";
2
- export type UpcomingItemType = 'follow_up' | 'birthday' | 'task_deadline' | 'application_followup' | 'vendor_followup';
3
- export interface UpcomingItem {
4
- date: string;
5
- type: UpcomingItemType;
6
- contact_id?: string;
7
- contact_name?: string;
8
- company_id?: string;
9
- company_name?: string;
10
- title: string;
11
- urgency: 'overdue' | 'today' | 'soon' | 'upcoming';
12
- }
13
- export declare function getUpcomingItems(days?: number, db?: ContactsDatabase): UpcomingItem[];
14
- //# sourceMappingURL=upcoming.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upcoming.d.ts","sourceRoot":"","sources":["../../src/lib/upcoming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;AAEvH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CACpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,YAAY,EAAE,CA6ChF"}
@@ -1,24 +0,0 @@
1
- export declare function initVault(passphrase: string): void;
2
- export declare function isVaultInitialized(): boolean;
3
- export declare function unlockVault(passphrase: string): boolean;
4
- export declare function lockVault(): void;
5
- export declare function isVaultUnlocked(): boolean;
6
- export declare function requireVault(): Buffer;
7
- export declare function encrypt(plaintext: string): {
8
- ciphertext: string;
9
- iv: string;
10
- };
11
- export declare function decrypt(ciphertext: string, iv: string): string;
12
- /**
13
- * Store a file attachment (PLAIN, not encrypted) so agents can access it directly.
14
- * Text values in the DB are encrypted; file attachments are plain for agent access.
15
- * Returns the destination path.
16
- */
17
- export declare function storeFile(sourcePath: string, entityId: string): string;
18
- /**
19
- * Get the file path for a document attachment. Returns null if no file exists.
20
- */
21
- export declare function getDocumentFilePath(entityId: string): string | null;
22
- export declare function decryptFile(encPath: string): Buffer;
23
- export declare function getDocumentsDir(): string;
24
- //# sourceMappingURL=vault.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/lib/vault.ts"],"names":[],"mappings":"AAiDA,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAUlD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED,wBAAgB,eAAe,IAAI,OAAO,CASzC;AAED,wBAAgB,YAAY,IAAI,MAAM,CASrC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAQ7E;AAED,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASnD;AAED,wBAAgB,eAAe,IAAI,MAAM,CAGxC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Advanced / intelligence handlers: field history, job history, learnings,
3
- * coordination (locks), graph, identity, embeddings, signals, freshness,
4
- * org chart, deal teams, context, signatures, meeting capture, images,
5
- * vault, documents, health, feedback, and agent registry.
6
- *
7
- * Every handler routes storage through the single `Store` abstraction
8
- * (getStore()). No handler touches SQLite (`getDatabase`) directly. Pure
9
- * computation helpers (signature parsing, AI document scanning) stay as direct
10
- * imports because they never touch the storage backend.
11
- */
12
- import type { ToolHandler } from "./types.js";
13
- export declare const advancedHandlers: Record<string, ToolHandler>;
14
- //# sourceMappingURL=advanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/advanced.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0B9C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAycxD,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Audience / consent / suppression handlers (distribution apps plan).
3
- *
4
- * Every handler routes through the single `Store` abstraction (getStore()). No
5
- * handler touches SQLite (`getDatabase`) or performs raw HTTP directly.
6
- */
7
- import type { ToolHandler } from "./types.js";
8
- export declare const audienceHandlers: Record<string, ToolHandler>;
9
- //# sourceMappingURL=audience.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/audience.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa9C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6DxD,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Core contact handlers: CRUD, search, merge, bulk, tags, groups, relationships, notes, import/export basics.
3
- *
4
- * Every handler routes through the single `Store` abstraction (getStore()). No
5
- * handler touches SQLite (`getDatabase`) or performs raw HTTP directly — the
6
- * transport (local SQLite vs self_hosted /v1) is resolved once, inside the Store.
7
- */
8
- import type { ToolHandler } from "./types.js";
9
- export declare const coreHandlers: Record<string, ToolHandler>;
10
- //# sourceMappingURL=core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2C9C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA+YpD,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * CRM handlers: gmail import, google contacts sync, workload, org members,
3
- * vendor communications, contact tasks, applications, entities, cold contacts,
4
- * upcoming, stats, audit, deals, events, timeline, enrich, context, webhook,
5
- * bulk tags, DNC, export.
6
- *
7
- * Every handler routes storage through the single `Store` abstraction
8
- * (getStore()). No handler touches SQLite (`getDatabase`) or performs raw HTTP
9
- * against the storage backend. External integrations (Gmail, Google People,
10
- * Exa, outbound webhooks) are legitimate network calls kept in the handler.
11
- */
12
- import type { ToolHandler } from "./types.js";
13
- export declare const crmHandlers: Record<string, ToolHandler>;
14
- //# sourceMappingURL=crm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crm.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/crm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwB9C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA4hBnD,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { ToolHandler } from "./types.js";
2
- export type { ToolHandler } from "./types.js";
3
- export declare const allHandlers: Record<string, ToolHandler>;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAKnD,CAAC"}
@@ -1,10 +0,0 @@
1
- export type Args = Record<string, unknown>;
2
- export type McpResult = {
3
- content: Array<{
4
- type: "text";
5
- text: string;
6
- }>;
7
- isError?: boolean;
8
- };
9
- export type ToolHandler = (a: Args) => McpResult | Promise<McpResult>;
10
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare const DEFAULT_MCP_HTTP_PORT = 8809;
3
- export declare const MCP_HTTP_HOST = "127.0.0.1";
4
- export declare const MCP_SERVICE_NAME = "contacts";
5
- export declare function isHttpMode(args: string[]): boolean;
6
- export declare function resolveMcpHttpPort(args: string[]): number;
7
- export declare function healthPayload(name?: string): {
8
- status: string;
9
- name: string;
10
- };
11
- export declare function handleMcpRequest(req: Request, buildServer: () => McpServer): Promise<Response>;
12
- export declare function startMcpHttpServer(options: {
13
- name: string;
14
- port: number;
15
- buildServer: () => McpServer;
16
- }): ReturnType<typeof Bun.serve>;
17
- //# sourceMappingURL=http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAQzD;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAyB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE/F;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,SAAS,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,SAAS,CAAC;CAC9B,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAoB/B"}
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bun
2
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
- export declare function buildServer(): McpServer;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,WAAW,IAAI,SAAS,CAKvC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerContactsTools(server: McpServer): void;
3
- //# sourceMappingURL=register-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/register-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QAoBtD"}
@@ -1,3 +0,0 @@
1
- import { z } from "zod";
2
- export declare function jsonSchemaToZodObject(schema: unknown): z.ZodObject<Record<string, z.ZodTypeAny>, "passthrough", z.ZodTypeAny, z.objectOutputType<Record<string, z.ZodTypeAny>, z.ZodTypeAny, "passthrough">, z.objectInputType<Record<string, z.ZodTypeAny>, z.ZodTypeAny, "passthrough">>;
3
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/mcp/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAmB,MAAM,KAAK,CAAC;AAgEzC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,uOAWpD"}
@@ -1,3 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerContactsStorageTools(server: McpServer): void;
3
- //# sourceMappingURL=storage-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/storage-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0CzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4CpE"}