@hasna/contacts 0.6.34 → 0.6.36

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 (214) hide show
  1. package/README.md +10 -1
  2. package/dashboard/dist/assets/index-0l6aQb1t.css +1 -0
  3. package/dashboard/dist/assets/index-opnZdkVD.js +229 -0
  4. package/dashboard/dist/index.html +13 -0
  5. package/dist/cli/commands/advanced.d.ts +3 -0
  6. package/dist/cli/commands/advanced.d.ts.map +1 -0
  7. package/dist/cli/commands/audience.d.ts +18 -0
  8. package/dist/cli/commands/audience.d.ts.map +1 -0
  9. package/dist/cli/commands/core.d.ts +3 -0
  10. package/dist/cli/commands/core.d.ts.map +1 -0
  11. package/dist/cli/commands/crm.d.ts +3 -0
  12. package/dist/cli/commands/crm.d.ts.map +1 -0
  13. package/dist/cli/index.d.ts +3 -0
  14. package/dist/cli/index.d.ts.map +1 -0
  15. package/dist/cli/index.js +2994 -579
  16. package/dist/cli/storage.d.ts +3 -0
  17. package/dist/cli/storage.d.ts.map +1 -0
  18. package/dist/cli/utils.d.ts +10 -0
  19. package/dist/cli/utils.d.ts.map +1 -0
  20. package/dist/cloud/http-storage.d.ts +88 -0
  21. package/dist/cloud/http-storage.d.ts.map +1 -0
  22. package/dist/db/activity.d.ts +15 -0
  23. package/dist/db/activity.d.ts.map +1 -0
  24. package/dist/db/applications.d.ts +10 -0
  25. package/dist/db/applications.d.ts.map +1 -0
  26. package/dist/db/audiences.d.ts +51 -0
  27. package/dist/db/audiences.d.ts.map +1 -0
  28. package/dist/db/companies.d.ts +19 -0
  29. package/dist/db/companies.d.ts.map +1 -0
  30. package/dist/db/contact-tasks.d.ts +19 -0
  31. package/dist/db/contact-tasks.d.ts.map +1 -0
  32. package/dist/db/contacts.d.ts +30 -0
  33. package/dist/db/contacts.d.ts.map +1 -0
  34. package/dist/db/coordination.d.ts +30 -0
  35. package/dist/db/coordination.d.ts.map +1 -0
  36. package/dist/db/database.d.ts +8 -0
  37. package/dist/db/database.d.ts.map +1 -0
  38. package/dist/db/deals.d.ts +14 -0
  39. package/dist/db/deals.d.ts.map +1 -0
  40. package/dist/db/documents.d.ts +38 -0
  41. package/dist/db/documents.d.ts.map +1 -0
  42. package/dist/db/events.d.ts +14 -0
  43. package/dist/db/events.d.ts.map +1 -0
  44. package/dist/db/field-history.d.ts +17 -0
  45. package/dist/db/field-history.d.ts.map +1 -0
  46. package/dist/db/freshness.d.ts +24 -0
  47. package/dist/db/freshness.d.ts.map +1 -0
  48. package/dist/db/graph.d.ts +21 -0
  49. package/dist/db/graph.d.ts.map +1 -0
  50. package/dist/db/groups.d.ts +22 -0
  51. package/dist/db/groups.d.ts.map +1 -0
  52. package/dist/db/health.d.ts +40 -0
  53. package/dist/db/health.d.ts.map +1 -0
  54. package/dist/db/identity.d.ts +32 -0
  55. package/dist/db/identity.d.ts.map +1 -0
  56. package/dist/db/job-history.d.ts +29 -0
  57. package/dist/db/job-history.d.ts.map +1 -0
  58. package/dist/db/learnings.d.ts +43 -0
  59. package/dist/db/learnings.d.ts.map +1 -0
  60. package/dist/db/notes.d.ts +8 -0
  61. package/dist/db/notes.d.ts.map +1 -0
  62. package/dist/db/org-chart.d.ts +37 -0
  63. package/dist/db/org-chart.d.ts.map +1 -0
  64. package/dist/db/org-members.d.ts +9 -0
  65. package/dist/db/org-members.d.ts.map +1 -0
  66. package/dist/db/paths.d.ts +15 -0
  67. package/dist/db/paths.d.ts.map +1 -0
  68. package/dist/db/pg-migrations.d.ts +8 -0
  69. package/dist/db/pg-migrations.d.ts.map +1 -0
  70. package/dist/db/project-memberships.d.ts +8 -0
  71. package/dist/db/project-memberships.d.ts.map +1 -0
  72. package/dist/db/relationships.d.ts +30 -0
  73. package/dist/db/relationships.d.ts.map +1 -0
  74. package/dist/db/signals.d.ts +18 -0
  75. package/dist/db/signals.d.ts.map +1 -0
  76. package/dist/db/sqlite-adapter.d.ts +15 -0
  77. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  78. package/dist/db/storage.d.ts +15 -0
  79. package/dist/db/storage.d.ts.map +1 -0
  80. package/dist/db/tags.d.ts +14 -0
  81. package/dist/db/tags.d.ts.map +1 -0
  82. package/dist/db/tombstones.d.ts +19 -0
  83. package/dist/db/tombstones.d.ts.map +1 -0
  84. package/dist/db/vendor-comms.d.ts +15 -0
  85. package/dist/db/vendor-comms.d.ts.map +1 -0
  86. package/dist/generated/storage-kit/health.d.ts +20 -0
  87. package/dist/generated/storage-kit/health.d.ts.map +1 -0
  88. package/dist/generated/storage-kit/index.d.ts +8 -0
  89. package/dist/generated/storage-kit/index.d.ts.map +1 -0
  90. package/dist/generated/storage-kit/migrations.d.ts +48 -0
  91. package/dist/generated/storage-kit/migrations.d.ts.map +1 -0
  92. package/dist/generated/storage-kit/mode.d.ts +48 -0
  93. package/dist/generated/storage-kit/mode.d.ts.map +1 -0
  94. package/dist/generated/storage-kit/pool.d.ts +34 -0
  95. package/dist/generated/storage-kit/pool.d.ts.map +1 -0
  96. package/dist/generated/storage-kit/query.d.ts +36 -0
  97. package/dist/generated/storage-kit/query.d.ts.map +1 -0
  98. package/dist/generated/storage-kit/tls.d.ts +26 -0
  99. package/dist/generated/storage-kit/tls.d.ts.map +1 -0
  100. package/dist/index.d.ts +9 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +805 -75
  103. package/dist/lib/apple-contacts.d.ts +3 -0
  104. package/dist/lib/apple-contacts.d.ts.map +1 -0
  105. package/dist/lib/audience-contract.d.ts +215 -0
  106. package/dist/lib/audience-contract.d.ts.map +1 -0
  107. package/dist/lib/audit.d.ts +12 -0
  108. package/dist/lib/audit.d.ts.map +1 -0
  109. package/dist/lib/brief.d.ts +3 -0
  110. package/dist/lib/brief.d.ts.map +1 -0
  111. package/dist/lib/config.d.ts +7 -0
  112. package/dist/lib/config.d.ts.map +1 -0
  113. package/dist/lib/connector.d.ts +44 -0
  114. package/dist/lib/connector.d.ts.map +1 -0
  115. package/dist/lib/context.d.ts +5 -0
  116. package/dist/lib/context.d.ts.map +1 -0
  117. package/dist/lib/dedup.d.ts +10 -0
  118. package/dist/lib/dedup.d.ts.map +1 -0
  119. package/dist/lib/document-scanner.d.ts +8 -0
  120. package/dist/lib/document-scanner.d.ts.map +1 -0
  121. package/dist/lib/embeddings.d.ts +9 -0
  122. package/dist/lib/embeddings.d.ts.map +1 -0
  123. package/dist/lib/export.d.ts +8 -0
  124. package/dist/lib/export.d.ts.map +1 -0
  125. package/dist/lib/freshness.d.ts +19 -0
  126. package/dist/lib/freshness.d.ts.map +1 -0
  127. package/dist/lib/gmail-import.d.ts +51 -0
  128. package/dist/lib/gmail-import.d.ts.map +1 -0
  129. package/dist/lib/google-contacts.d.ts +115 -0
  130. package/dist/lib/google-contacts.d.ts.map +1 -0
  131. package/dist/lib/images.d.ts +30 -0
  132. package/dist/lib/images.d.ts.map +1 -0
  133. package/dist/lib/import.d.ts +10 -0
  134. package/dist/lib/import.d.ts.map +1 -0
  135. package/dist/lib/learning-maintenance.d.ts +8 -0
  136. package/dist/lib/learning-maintenance.d.ts.map +1 -0
  137. package/dist/lib/mailery-sync.d.ts +46 -0
  138. package/dist/lib/mailery-sync.d.ts.map +1 -0
  139. package/dist/lib/meeting-capture.d.ts +15 -0
  140. package/dist/lib/meeting-capture.d.ts.map +1 -0
  141. package/dist/lib/package-version.d.ts +6 -0
  142. package/dist/lib/package-version.d.ts.map +1 -0
  143. package/dist/lib/signals.d.ts +9 -0
  144. package/dist/lib/signals.d.ts.map +1 -0
  145. package/dist/lib/signature-parser.d.ts +36 -0
  146. package/dist/lib/signature-parser.d.ts.map +1 -0
  147. package/dist/lib/stats.d.ts +24 -0
  148. package/dist/lib/stats.d.ts.map +1 -0
  149. package/dist/lib/timeline.d.ts +11 -0
  150. package/dist/lib/timeline.d.ts.map +1 -0
  151. package/dist/lib/upcoming.d.ts +14 -0
  152. package/dist/lib/upcoming.d.ts.map +1 -0
  153. package/dist/lib/vault.d.ts +28 -0
  154. package/dist/lib/vault.d.ts.map +1 -0
  155. package/dist/mcp/handlers/advanced.d.ts +14 -0
  156. package/dist/mcp/handlers/advanced.d.ts.map +1 -0
  157. package/dist/mcp/handlers/audience.d.ts +9 -0
  158. package/dist/mcp/handlers/audience.d.ts.map +1 -0
  159. package/dist/mcp/handlers/core.d.ts +10 -0
  160. package/dist/mcp/handlers/core.d.ts.map +1 -0
  161. package/dist/mcp/handlers/crm.d.ts +14 -0
  162. package/dist/mcp/handlers/crm.d.ts.map +1 -0
  163. package/dist/mcp/handlers/index.d.ts +4 -0
  164. package/dist/mcp/handlers/index.d.ts.map +1 -0
  165. package/dist/mcp/handlers/types.d.ts +10 -0
  166. package/dist/mcp/handlers/types.d.ts.map +1 -0
  167. package/dist/mcp/http.d.ts +17 -0
  168. package/dist/mcp/http.d.ts.map +1 -0
  169. package/dist/mcp/index.d.ts +5 -0
  170. package/dist/mcp/index.d.ts.map +1 -0
  171. package/dist/mcp/index.js +1054 -291
  172. package/dist/mcp/register-tools.d.ts +3 -0
  173. package/dist/mcp/register-tools.d.ts.map +1 -0
  174. package/dist/mcp/schema.d.ts +3 -0
  175. package/dist/mcp/schema.d.ts.map +1 -0
  176. package/dist/mcp/storage-tools.d.ts +3 -0
  177. package/dist/mcp/storage-tools.d.ts.map +1 -0
  178. package/dist/mcp/tools.d.ts +3799 -0
  179. package/dist/mcp/tools.d.ts.map +1 -0
  180. package/dist/sdk/index.d.ts +16 -0
  181. package/dist/sdk/index.d.ts.map +1 -0
  182. package/dist/sdk/index.js +63 -0
  183. package/dist/sdk/v1.generated.d.ts +270 -0
  184. package/dist/sdk/v1.generated.d.ts.map +1 -0
  185. package/dist/server/cloud-index.d.ts +3 -0
  186. package/dist/server/cloud-index.d.ts.map +1 -0
  187. package/dist/server/cloud-serve.d.ts +3 -0
  188. package/dist/server/cloud-serve.d.ts.map +1 -0
  189. package/dist/server/cloud.d.ts +53 -0
  190. package/dist/server/cloud.d.ts.map +1 -0
  191. package/dist/server/index.d.ts +3 -0
  192. package/dist/server/index.d.ts.map +1 -0
  193. package/dist/server/index.js +1750 -332
  194. package/dist/server/openapi.d.ts +1134 -0
  195. package/dist/server/openapi.d.ts.map +1 -0
  196. package/dist/server/pg-store.d.ts +893 -0
  197. package/dist/server/pg-store.d.ts.map +1 -0
  198. package/dist/server/security.d.ts +24 -0
  199. package/dist/server/security.d.ts.map +1 -0
  200. package/dist/server/serve.d.ts +9 -0
  201. package/dist/server/serve.d.ts.map +1 -0
  202. package/dist/server/v1.d.ts +28 -0
  203. package/dist/server/v1.d.ts.map +1 -0
  204. package/dist/store/index.d.ts +387 -0
  205. package/dist/store/index.d.ts.map +1 -0
  206. package/dist/types/index.d.ts +856 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/project-memberships.d.ts +32 -0
  209. package/dist/types/project-memberships.d.ts.map +1 -0
  210. package/hasna.contract.json +1 -1
  211. package/migrations/0015_contact_project_membership_authority.sql +88 -0
  212. package/package.json +4 -2
  213. package/vendor/fast-uri/README.md +12 -0
  214. package/dist/server/cloud-index.js +0 -9187
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-store.d.ts","sourceRoot":"","sources":["../../src/server/pg-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { ContactWithDetails } from "../types/index.js";
2
+ export declare const CONTACTS_AUTH_ENV: readonly ["HASNA_CONTACTS_API_TOKENS", "OPEN_CONTACTS_API_TOKENS", "CONTACTS_API_TOKENS", "HASNA_CONTACTS_API_TOKEN", "OPEN_CONTACTS_API_TOKEN", "CONTACTS_API_TOKEN"];
3
+ export type ContactsScope = "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "tags:read" | "tags:write" | "contacts:import" | "contacts:export" | "contacts:export:full" | "documents:read" | "images:read" | "images:write" | "mcp:access" | "dashboard:read" | "stats:read";
4
+ export interface ContactsPrincipal {
5
+ id: string;
6
+ scopes: Set<string>;
7
+ localDevelopment: boolean;
8
+ }
9
+ export interface ContactsAuthResult {
10
+ ok: boolean;
11
+ principal?: ContactsPrincipal;
12
+ status?: number;
13
+ message?: string;
14
+ }
15
+ export interface ContactsAuthContext {
16
+ allowUnauthenticatedLoopback: boolean;
17
+ }
18
+ export declare function allowUnauthenticatedLoopbackEnv(): boolean;
19
+ export declare function isLoopbackBindHost(hostname: string): boolean;
20
+ export declare function hasScope(principal: ContactsPrincipal, required: ContactsScope): boolean;
21
+ export declare function authenticateContactsRequest(req: Request, required: ContactsScope, context?: ContactsAuthContext): ContactsAuthResult;
22
+ export declare function auditServerAccess(action: string, details: Record<string, unknown>, principal?: ContactsPrincipal): void;
23
+ export declare function redactContactForExport(contact: ContactWithDetails): ContactWithDetails;
24
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/server/security.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,wKAOpB,CAAC;AAEX,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAyCD,wBAAgB,+BAA+B,IAAI,OAAO,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAGvF;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,mBAA6D,GACrE,kBAAkB,CAmBpB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,iBAAiB,GAC5B,IAAI,CAaN;AASD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAkBtF"}
@@ -0,0 +1,9 @@
1
+ export interface ContactsRequestHandlerOptions {
2
+ trustedLoopbackBind?: boolean;
3
+ }
4
+ export interface StartServerOptions {
5
+ hostname?: string;
6
+ }
7
+ export declare function createContactsRequestHandler(options?: ContactsRequestHandlerOptions): (req: Request) => Promise<Response>;
8
+ export declare function startServer(port: number, options?: StartServerOptions): void;
9
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA8aD,wBAAgB,4BAA4B,CAAC,OAAO,GAAE,6BAAkC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAsH7H;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAUhF"}
@@ -0,0 +1,28 @@
1
+ import type { ContactProjectMembershipListResult, ContactProjectMembershipMutationInput, ContactProjectMembershipMutationResult, ContactProjectMembershipSnapshot } from "../types/project-memberships.js";
2
+ import { type ContactListFilter } from "./pg-store.js";
3
+ /** Convert the public contact-list query surface into a typed cloud-store filter. */
4
+ export declare function contactListFilterFromUrl(url: URL): ContactListFilter;
5
+ type ContactProjectsStore = {
6
+ getContact(id: string): Promise<unknown | null>;
7
+ linkContactToProject(contactId: string, projectId: string): Promise<void>;
8
+ unlinkContactFromProject(contactId: string, projectId: string): Promise<boolean>;
9
+ getContactProjectIds(contactId: string): Promise<string[]>;
10
+ setContactProjects(contactId: string, projectIds: string[]): Promise<string[]>;
11
+ listContactIdsByProject(projectId: string): Promise<string[]>;
12
+ readContactProjectMembership(contactId: string, projectId: string): Promise<ContactProjectMembershipSnapshot>;
13
+ listContactProjectMemberships(projectId: string, maxItems: number): Promise<ContactProjectMembershipListResult>;
14
+ mutateContactProjectMembership(direction: "attach" | "detach", input: ContactProjectMembershipMutationInput): Promise<ContactProjectMembershipMutationResult>;
15
+ };
16
+ /**
17
+ * Handle the authenticated contact-project membership routes. Authentication
18
+ * remains at the outer `/v1` boundary; this helper is exported only so the
19
+ * route contract can be tested without a live signing key or PostgreSQL pool.
20
+ */
21
+ export declare function handleContactProjectsRoute(req: Request, method: string, segments: string[], store: ContactProjectsStore): Promise<Response | null>;
22
+ /**
23
+ * Handle a `/v1/*` request. Returns `null` when the path is not a `/v1` route so
24
+ * the caller can fall through to other handlers.
25
+ */
26
+ export declare function handleV1Request(req: Request, url: URL): Promise<Response | null>;
27
+ export {};
28
+ //# sourceMappingURL=v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../src/server/v1.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,kCAAkC,EAClC,qCAAqC,EACrC,sCAAsC,EACtC,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAsB3E,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,iBAAiB,CASpE;AAED,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAChD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9G,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAChH,8BAA8B,CAC5B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,sCAAsC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgG1B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2ctF"}
@@ -0,0 +1,387 @@
1
+ import type { ContactsStorageStatus } from "../db/storage.js";
2
+ import * as contactsDb from "../db/contacts.js";
3
+ import * as companiesDb from "../db/companies.js";
4
+ import * as tagsDb from "../db/tags.js";
5
+ import * as groupsDb from "../db/groups.js";
6
+ import * as relationshipsDb from "../db/relationships.js";
7
+ import * as activityDb from "../db/activity.js";
8
+ import * as vendorCommsDb from "../db/vendor-comms.js";
9
+ import * as contactTasksDb from "../db/contact-tasks.js";
10
+ import * as applicationsDb from "../db/applications.js";
11
+ import * as orgMembersDb from "../db/org-members.js";
12
+ import * as dealsDb from "../db/deals.js";
13
+ import * as eventsDb from "../db/events.js";
14
+ import * as jobHistoryDb from "../db/job-history.js";
15
+ import * as learningsDb from "../db/learnings.js";
16
+ import * as identityDb from "../db/identity.js";
17
+ import * as freshnessDb from "../db/freshness.js";
18
+ import * as orgChartDb from "../db/org-chart.js";
19
+ import * as documentsDb from "../db/documents.js";
20
+ import * as healthDb from "../db/health.js";
21
+ import * as audiencesDb from "../db/audiences.js";
22
+ import * as statsLib from "../lib/stats.js";
23
+ import * as meetingCaptureLib from "../lib/meeting-capture.js";
24
+ import * as contextLib from "../lib/context.js";
25
+ import * as mailerySyncLib from "../lib/mailery-sync.js";
26
+ import type { ContactProjectMembershipListResult, ContactProjectMembershipMutationDirection, ContactProjectMembershipMutationInput, ContactProjectMembershipMutationResult, ContactProjectMembershipSnapshot } from "../types/project-memberships.js";
27
+ type CreateContactInput = Parameters<typeof contactsDb.createContact>[0];
28
+ type UpdateContactInput = Parameters<typeof contactsDb.updateContact>[1];
29
+ type ContactListOptions = Parameters<typeof contactsDb.listContacts>[0];
30
+ type ContactListResult = Awaited<ReturnType<typeof contactsDb.listContacts>>;
31
+ type Contact = ReturnType<typeof contactsDb.getContact>;
32
+ type CreateEmailInput = Parameters<typeof contactsDb.addEmailToContact>[1];
33
+ type CreatePhoneInput = Parameters<typeof contactsDb.addPhoneToContact>[1];
34
+ type CreateCompanyInput = Parameters<typeof companiesDb.createCompany>[0];
35
+ type UpdateCompanyInput = Parameters<typeof companiesDb.updateCompany>[1];
36
+ type CompanyListOptions = Parameters<typeof companiesDb.listCompanies>[0];
37
+ type CompanyListResult = Awaited<ReturnType<typeof companiesDb.listCompanies>>;
38
+ type CreateTagInput = Parameters<typeof tagsDb.createTag>[0];
39
+ type CreateGroupInput = Parameters<typeof groupsDb.createGroup>[1];
40
+ type UpdateGroupInput = Parameters<typeof groupsDb.updateGroup>[2];
41
+ type CreateRelationshipInput = Parameters<typeof relationshipsDb.createRelationship>[0];
42
+ type ListRelationshipsOptions = Parameters<typeof relationshipsDb.listRelationships>[0];
43
+ type CreateCompanyRelationshipInput = Parameters<typeof relationshipsDb.createCompanyRelationship>[0];
44
+ type ListCompanyRelationshipsOptions = Parameters<typeof relationshipsDb.listCompanyRelationships>[0];
45
+ type ListActivityOptions = Parameters<typeof activityDb.listActivity>[0];
46
+ export interface ContactsStats {
47
+ contacts: number;
48
+ companies: number;
49
+ tags: number;
50
+ groups: number;
51
+ }
52
+ /** Thrown when an operation is requested in api (self_hosted/cloud) mode but the
53
+ * `/v1` server does not expose it yet. Never silently falls back to local. */
54
+ export declare class ApiUnavailableError extends Error {
55
+ constructor(operation: string);
56
+ }
57
+ /**
58
+ * The single storage contract. Every method is async so LocalStore (sync SQLite)
59
+ * and ApiStore (async HTTP) share one shape. Callers never branch on transport.
60
+ */
61
+ export interface Store {
62
+ readonly mode: "local" | "api";
63
+ createContact(input: CreateContactInput): Promise<Contact>;
64
+ getContact(id: string): Promise<Contact | null>;
65
+ getContactByEmail(email: string): Promise<Contact | null>;
66
+ updateContact(id: string, input: UpdateContactInput): Promise<Contact>;
67
+ deleteContact(id: string): Promise<void>;
68
+ listContacts(opts?: ContactListOptions): Promise<ContactListResult>;
69
+ searchContacts(query: string): Promise<Contact[]>;
70
+ listRecentContacts(limit: number): Promise<Contact[]>;
71
+ mergeContacts(keepId: string, mergeId: string): Promise<Contact>;
72
+ addEmailToContact(contactId: string, email: CreateEmailInput): Promise<unknown>;
73
+ addPhoneToContact(contactId: string, phone: CreatePhoneInput): Promise<unknown>;
74
+ archiveContact(id: string): Promise<Contact>;
75
+ unarchiveContact(id: string): Promise<Contact>;
76
+ autoLinkContactToCompany(contactId: string): Promise<Contact | null>;
77
+ /** Local-only helper for find-or-create/upsert flows: resolves an existing
78
+ * contact by one of its email addresses (case-insensitive by default). */
79
+ findContactByEmailAddress(address: string, opts?: {
80
+ caseSensitive?: boolean;
81
+ }): Promise<Contact | null>;
82
+ linkContactToProject(contactId: string, projectId: string): Promise<void>;
83
+ unlinkContactFromProject(contactId: string, projectId: string): Promise<void>;
84
+ getContactProjectIds(contactId: string): Promise<string[]>;
85
+ setContactProjects(contactId: string, projectIds: string[]): Promise<void>;
86
+ listContactIdsByProject(projectId: string): Promise<string[]>;
87
+ readContactProjectMembership(contactId: string, projectId: string): Promise<ContactProjectMembershipSnapshot>;
88
+ listContactProjectMemberships(projectId: string, maxItems: number): Promise<ContactProjectMembershipListResult>;
89
+ mutateContactProjectMembership(direction: ContactProjectMembershipMutationDirection, input: ContactProjectMembershipMutationInput): Promise<ContactProjectMembershipMutationResult>;
90
+ createCompany(input: CreateCompanyInput): Promise<unknown>;
91
+ getCompany(id: string): Promise<unknown | null>;
92
+ updateCompany(id: string, input: UpdateCompanyInput): Promise<unknown>;
93
+ deleteCompany(id: string): Promise<void>;
94
+ listCompanies(opts?: CompanyListOptions): Promise<CompanyListResult>;
95
+ searchCompanies(query: string): Promise<unknown[]>;
96
+ archiveCompany(id: string): Promise<unknown>;
97
+ unarchiveCompany(id: string): Promise<unknown>;
98
+ createTag(input: CreateTagInput): Promise<unknown>;
99
+ listTags(): Promise<unknown[]>;
100
+ getTagByName(name: string): Promise<unknown | null>;
101
+ deleteTag(id: string): Promise<void>;
102
+ addTagToContact(contactId: string, tagId: string): Promise<void>;
103
+ removeTagFromContact(contactId: string, tagId: string): Promise<void>;
104
+ addTagToCompany(companyId: string, tagId: string): Promise<void>;
105
+ removeTagFromCompany(companyId: string, tagId: string): Promise<void>;
106
+ createGroup(input: CreateGroupInput): Promise<unknown>;
107
+ getGroup(id: string): Promise<unknown | null>;
108
+ listGroups(projectId?: string): Promise<unknown[]>;
109
+ updateGroup(id: string, input: UpdateGroupInput): Promise<unknown>;
110
+ deleteGroup(id: string): Promise<void>;
111
+ addContactToGroup(contactId: string, groupId: string): Promise<unknown>;
112
+ removeContactFromGroup(contactId: string, groupId: string): Promise<void>;
113
+ listContactsInGroup(groupId: string): Promise<string[]>;
114
+ listGroupsForContact(contactId: string): Promise<unknown[]>;
115
+ addCompanyToGroup(companyId: string, groupId: string): Promise<unknown>;
116
+ removeCompanyFromGroup(companyId: string, groupId: string): Promise<void>;
117
+ listCompaniesInGroup(groupId: string): Promise<string[]>;
118
+ listGroupsForCompany(companyId: string): Promise<unknown[]>;
119
+ createRelationship(input: CreateRelationshipInput): Promise<unknown>;
120
+ listRelationships(opts?: ListRelationshipsOptions): Promise<unknown[]>;
121
+ deleteRelationship(id: string): Promise<void>;
122
+ createCompanyRelationship(input: CreateCompanyRelationshipInput): Promise<unknown>;
123
+ listCompanyRelationships(opts?: ListCompanyRelationshipsOptions): Promise<unknown[]>;
124
+ deleteCompanyRelationship(id: string): Promise<void>;
125
+ addNote(contactId: string, body: string, createdBy?: string, companyId?: string): Promise<unknown>;
126
+ listNotes(contactId: string): Promise<unknown[]>;
127
+ listNotesForContactAtCompany(contactId: string, companyId: string): Promise<unknown[]>;
128
+ deleteNote(noteId: string): Promise<void>;
129
+ listActivity(opts?: ListActivityOptions): Promise<unknown>;
130
+ stats(): Promise<ContactsStats>;
131
+ findEmailDuplicates(): Promise<Array<{
132
+ email: string;
133
+ contact_ids: string[];
134
+ }>>;
135
+ findNameDuplicates(): Promise<Array<{
136
+ contact_ids: [string, string];
137
+ similarity: number;
138
+ }>>;
139
+ /** Local-only: checkpoint + release the SQLite handle before a file backup. */
140
+ flushForBackup(): Promise<void>;
141
+ listColdContacts(days: number): Promise<unknown[]>;
142
+ findOrCreateContact(input: CreateContactInput): Promise<{
143
+ contact: Contact;
144
+ created: boolean;
145
+ }>;
146
+ findContactsForContext(topic: string, limit: number): Promise<Array<{
147
+ id: string;
148
+ display_name: string;
149
+ job_title: string | null;
150
+ reason: string;
151
+ }>>;
152
+ listContactsNotContactedSince(days: number, limit: number): Promise<Array<{
153
+ id: string;
154
+ display_name: string;
155
+ last_contacted_at: string | null;
156
+ }>>;
157
+ listFollowupDueContacts(onOrBefore: string): Promise<Array<{
158
+ id: string;
159
+ display_name: string;
160
+ follow_up_at: string;
161
+ }>>;
162
+ logVendorCommunication(input: Parameters<typeof vendorCommsDb.logVendorCommunication>[0]): Promise<unknown>;
163
+ listVendorCommunications(companyId: string, opts?: Parameters<typeof vendorCommsDb.listVendorCommunications>[1]): Promise<unknown[]>;
164
+ listMissingInvoices(): Promise<unknown[]>;
165
+ listPendingFollowUps(): Promise<unknown[]>;
166
+ markFollowUpDone(id: string): Promise<unknown>;
167
+ createContactTask(input: Parameters<typeof contactTasksDb.createContactTask>[0]): Promise<unknown>;
168
+ listContactTasks(opts?: Parameters<typeof contactTasksDb.listContactTasks>[0]): Promise<unknown[]>;
169
+ updateContactTask(id: string, input: Parameters<typeof contactTasksDb.updateContactTask>[1]): Promise<unknown>;
170
+ deleteContactTask(id: string): Promise<void>;
171
+ listOverdueTasks(): Promise<unknown[]>;
172
+ checkEscalations(): Promise<unknown[]>;
173
+ createApplication(input: Parameters<typeof applicationsDb.createApplication>[0]): Promise<unknown>;
174
+ listApplications(opts?: Parameters<typeof applicationsDb.listApplications>[0]): Promise<unknown[]>;
175
+ updateApplication(id: string, input: Parameters<typeof applicationsDb.updateApplication>[1]): Promise<unknown>;
176
+ listFollowUpDueApplications(): Promise<unknown[]>;
177
+ addOrgMember(input: Parameters<typeof orgMembersDb.addOrgMember>[0]): Promise<unknown>;
178
+ listOrgMembers(companyId: string): Promise<unknown[]>;
179
+ updateOrgMember(id: string, input: Parameters<typeof orgMembersDb.updateOrgMember>[1]): Promise<unknown>;
180
+ removeOrgMember(id: string): Promise<void>;
181
+ listOrgMembersForContact(contactId: string): Promise<unknown[]>;
182
+ createDeal(input: Parameters<typeof dealsDb.createDeal>[0]): Promise<unknown>;
183
+ getDeal(id: string): Promise<unknown | null>;
184
+ listDeals(opts?: Parameters<typeof dealsDb.listDeals>[0]): Promise<unknown[]>;
185
+ updateDeal(id: string, input: Parameters<typeof dealsDb.updateDeal>[1]): Promise<unknown | null>;
186
+ deleteDeal(id: string): Promise<void>;
187
+ logEvent(input: Parameters<typeof eventsDb.logEvent>[0]): Promise<unknown>;
188
+ listEvents(opts?: Parameters<typeof eventsDb.listEvents>[0]): Promise<unknown[]>;
189
+ deleteEvent(id: string): Promise<void>;
190
+ getFieldHistory(contactId: string, fieldName?: string): Promise<unknown[]>;
191
+ getContactAt(contactId: string, timestamp: string): Promise<Record<string, string>>;
192
+ addJobEntry(contactId: string, input: Parameters<typeof jobHistoryDb.addJobEntry>[1]): Promise<unknown>;
193
+ getJobHistory(contactId: string): Promise<unknown[]>;
194
+ saveLearning(contactId: string, input: Parameters<typeof learningsDb.saveLearning>[1]): Promise<unknown>;
195
+ getLearnings(contactId: string, opts?: Parameters<typeof learningsDb.getLearnings>[1]): Promise<Array<{
196
+ confidence: number;
197
+ type: string;
198
+ content: string;
199
+ }>>;
200
+ searchLearnings(query: string, opts?: Parameters<typeof learningsDb.searchLearnings>[1]): Promise<Array<{
201
+ contact_id: string;
202
+ type: string;
203
+ confidence: number;
204
+ content: string;
205
+ }>>;
206
+ confirmLearning(learningId: string, agentName: string): Promise<void>;
207
+ getStaleLearnings(daysOld: number, minConfidence: number): Promise<unknown[]>;
208
+ runLearningMaintenance(): Promise<{
209
+ decayed_count: number;
210
+ potential_contradictions: unknown[];
211
+ }>;
212
+ acquireContactLock(contactId: string, agentName: string, ttlSeconds?: number, reason?: string, sessionId?: string): Promise<unknown>;
213
+ releaseContactLock(contactId: string, agentName: string): Promise<boolean>;
214
+ checkContactLock(contactId: string): Promise<unknown | null>;
215
+ logAgentActivity(contactId: string, agentName: string, action: string, details?: string, sessionId?: string): Promise<void>;
216
+ getAgentActivity(contactId: string, limit: number): Promise<unknown[]>;
217
+ computeRelationshipStrength(contactId: string): Promise<number>;
218
+ findWarmPath(fromContactId: string, toContactId: string): Promise<unknown[]>;
219
+ findConnectionsAtCompany(companyId: string): Promise<unknown[]>;
220
+ detectCoolingRelationships(): Promise<Array<{
221
+ display_name: string;
222
+ days_since: number;
223
+ }>>;
224
+ resolveContactIdentity(partial: Parameters<typeof identityDb.resolveByPartial>[0]): Promise<Array<{
225
+ contact: {
226
+ display_name: string;
227
+ job_title?: string;
228
+ };
229
+ confidence_score: number;
230
+ match_reasons: string[];
231
+ }>>;
232
+ addContactIdentity(contactId: string, system: string, externalId: string, externalUrl?: string, confidence?: "verified" | "inferred"): Promise<unknown>;
233
+ getContactIdentities(contactId: string): Promise<unknown[]>;
234
+ semanticSearch(query: string, limit: number): Promise<Array<{
235
+ contact_id: string;
236
+ score: number;
237
+ }>>;
238
+ embedContact(contactId: string): Promise<void>;
239
+ embedAllContacts(): Promise<number>;
240
+ getRelationshipSignals(contactId: string): Promise<Array<{
241
+ signal_type: string;
242
+ reason: string;
243
+ days_since_contact: number | null;
244
+ }>>;
245
+ getGhostContacts(): Promise<Array<{
246
+ display_name: string;
247
+ days_since_contact: number | null;
248
+ }>>;
249
+ getWarmingContacts(): Promise<Array<{
250
+ display_name: string;
251
+ days_since_contact: number | null;
252
+ }>>;
253
+ recomputeSignals(): Promise<{
254
+ updated: number;
255
+ }>;
256
+ getFreshnessScore(contactId: string): Promise<ReturnType<typeof freshnessDb.getFreshnessScore>>;
257
+ getStaleContacts(threshold: number): Promise<Array<{
258
+ contact_id: string;
259
+ display_name: string;
260
+ score: number;
261
+ }>>;
262
+ markFieldVerified(contactId: string, fieldName: string, source?: string): Promise<void>;
263
+ addOrgChartEdge(companyId: string, contactAId: string, contactBId: string, edgeType: Parameters<typeof orgChartDb.addOrgChartEdge>[3], inferred?: boolean): Promise<unknown>;
264
+ listOrgChart(companyId: string): Promise<Array<{
265
+ contact_a_name: string;
266
+ contact_b_name: string;
267
+ edge_type: string;
268
+ }>>;
269
+ setDealContactRole(dealId: string, contactId: string, accountRole: Parameters<typeof orgChartDb.setDealContactRole>[2]): Promise<unknown>;
270
+ getDealTeam(dealId: string): Promise<Array<{
271
+ display_name: string;
272
+ account_role: string;
273
+ job_title?: string;
274
+ }>>;
275
+ getCoverageGaps(companyId: string): Promise<unknown>;
276
+ getRecentContactEvents(since?: string, eventTypes?: string[]): Promise<unknown[]>;
277
+ addDocument(input: Parameters<typeof documentsDb.addDocument>[0]): Promise<unknown>;
278
+ getDocument(id: string): Promise<unknown>;
279
+ listDocuments(contactId: string): Promise<Array<{
280
+ doc_type: string;
281
+ label?: string | null;
282
+ has_file: boolean;
283
+ expires_at?: string | null;
284
+ created_at: string;
285
+ }>>;
286
+ deleteDocument(id: string): Promise<void>;
287
+ getDocumentFilePath(id: string): Promise<string | null>;
288
+ setHealthData(contactId: string, input: Parameters<typeof healthDb.setHealthData>[1]): Promise<unknown>;
289
+ getHealthData(contactId: string): Promise<ReturnType<typeof healthDb.getHealthData>>;
290
+ deleteHealthData(contactId: string): Promise<void>;
291
+ createAudience(input: Parameters<typeof audiencesDb.createAudience>[0]): Promise<{
292
+ id: string;
293
+ audience_id: string;
294
+ }>;
295
+ getAudience(idOrSlug: string): Promise<ReturnType<typeof audiencesDb.getAudience>>;
296
+ listAudiences(): Promise<Array<{
297
+ audience_id: string;
298
+ name: string;
299
+ match: string;
300
+ consent_policy: string;
301
+ predicates: unknown[];
302
+ suppression_synced_at?: string | null;
303
+ }>>;
304
+ updateAudience(idOrSlug: string, input: Parameters<typeof audiencesDb.updateAudience>[1]): Promise<unknown>;
305
+ deleteAudience(idOrSlug: string): Promise<void>;
306
+ resolveAudience(idOrSlug: string, channel: Parameters<typeof audiencesDb.resolveAudience>[1]): Promise<ReturnType<typeof audiencesDb.resolveAudience>>;
307
+ setContactConsent(contactId: string, channel: Parameters<typeof audiencesDb.setContactConsent>[1], status: Parameters<typeof audiencesDb.setContactConsent>[2], source?: string): Promise<{
308
+ channel: string;
309
+ status: string;
310
+ }>;
311
+ listContactConsent(contactId: string): Promise<Array<{
312
+ channel: string;
313
+ status: string;
314
+ source?: string | null;
315
+ updated_at: string;
316
+ }>>;
317
+ suppressAddress(input: Parameters<typeof audiencesDb.suppressAddress>[0]): Promise<{
318
+ address: string;
319
+ channel: string;
320
+ }>;
321
+ unsuppressAddress(channel: Parameters<typeof audiencesDb.unsuppressAddress>[0], address: string): Promise<void>;
322
+ listSuppressions(opts?: Parameters<typeof audiencesDb.listSuppressions>[0]): Promise<Array<{
323
+ address: string;
324
+ channel: string;
325
+ reason?: string | null;
326
+ synced_at?: string | null;
327
+ }>>;
328
+ syncSuppressions(dryRun?: boolean): Promise<Awaited<ReturnType<typeof mailerySyncLib.syncSuppressions>>>;
329
+ generateBrief(contactId: string): Promise<string>;
330
+ getContactCard(contactId: string): Promise<object>;
331
+ getContactBrief(contactId: string, taskContext?: string): Promise<object>;
332
+ assembleContext(contactIds: string[], format: Parameters<typeof contextLib.assembleContext>[1]): Promise<object>;
333
+ getUpcomingItems(days: number): Promise<unknown[]>;
334
+ getNetworkStats(): Promise<ReturnType<typeof statsLib.getNetworkStats>>;
335
+ listContactAudit(): Promise<unknown[]>;
336
+ getContactTimeline(contactId: string, limit: number): Promise<Array<{
337
+ type: string;
338
+ date?: string | null;
339
+ title: string;
340
+ body?: string | null;
341
+ }>>;
342
+ ingestMeetingParticipants(input: Parameters<typeof meetingCaptureLib.ingestMeetingParticipants>[0]): Promise<{
343
+ created: number;
344
+ updated: number;
345
+ contact_ids: string[];
346
+ }>;
347
+ saveImage(entityId: string, source: string, options?: {
348
+ format?: string;
349
+ }): Promise<string>;
350
+ getImagePath(entityId: string): Promise<string | null>;
351
+ getImageAsBase64(entityId: string): Promise<string | null>;
352
+ deleteImage(entityId: string): Promise<boolean>;
353
+ listImages(): Promise<Array<{
354
+ entity_id: string;
355
+ filename: string;
356
+ path: string;
357
+ }>>;
358
+ initVault(passphrase: string): Promise<void>;
359
+ unlockVault(passphrase: string): Promise<boolean>;
360
+ lockVault(): Promise<void>;
361
+ isVaultInitialized(): Promise<boolean>;
362
+ isVaultUnlocked(): Promise<boolean>;
363
+ vaultStatus(): Promise<{
364
+ initialized: boolean;
365
+ unlocked: boolean;
366
+ document_count: number;
367
+ }>;
368
+ saveFeedback(message: string, email: string | null, category: string, version: string): Promise<void>;
369
+ storageStatus(): Promise<ContactsStorageStatus | null>;
370
+ listActiveWebhooks(): Promise<Array<{
371
+ id: string;
372
+ event_type: string;
373
+ url: string;
374
+ secret?: string | null;
375
+ }>>;
376
+ }
377
+ /**
378
+ * Resolve the single Store for this process. Memoized. Returns an ApiStore when
379
+ * the self_hosted/cloud client-flip env is set (URL + key), else a LocalStore.
380
+ * Throws if cloud was requested but is misconfigured — callers never silently
381
+ * read/write the wrong dataset.
382
+ */
383
+ export declare function getStore(env?: Record<string, string | undefined>): Store;
384
+ /** Test hook: drop the memoized Store so a new env can be resolved. */
385
+ export declare function resetStoreCache(): void;
386
+ export type { ContactsStorageStatus, StorageTableStatus } from "../db/storage.js";
387
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"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"}