@hasna/contacts 0.2.2 → 0.2.3

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.
package/dist/cli/index.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
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -2331,6 +2349,20 @@ var init_database = __esm(() => {
2331
2349
  group_id TEXT NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
2332
2350
  PRIMARY KEY (contact_id, group_id)
2333
2351
  );
2352
+ `,
2353
+ `
2354
+ ALTER TABLE contacts ADD COLUMN status TEXT DEFAULT 'active';
2355
+ ALTER TABLE contacts ADD COLUMN follow_up_at TEXT;
2356
+ ALTER TABLE contacts ADD COLUMN archived INTEGER NOT NULL DEFAULT 0;
2357
+ ALTER TABLE contacts ADD COLUMN project_id TEXT;
2358
+ ALTER TABLE companies ADD COLUMN archived INTEGER NOT NULL DEFAULT 0;
2359
+ ALTER TABLE companies ADD COLUMN project_id TEXT;
2360
+
2361
+ CREATE TABLE IF NOT EXISTS company_groups (
2362
+ company_id TEXT NOT NULL REFERENCES companies(id) ON DELETE CASCADE,
2363
+ group_id TEXT NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
2364
+ PRIMARY KEY (company_id, group_id)
2365
+ );
2334
2366
  `
2335
2367
  ];
2336
2368
  });
@@ -2351,7 +2383,11 @@ function rowToContact(row) {
2351
2383
  ...row,
2352
2384
  source: row.source,
2353
2385
  custom_fields: JSON.parse(row.custom_fields || "{}"),
2354
- preferred_contact_method: row.preferred_contact_method ?? null
2386
+ preferred_contact_method: row.preferred_contact_method ?? null,
2387
+ status: row.status ?? "active",
2388
+ follow_up_at: row.follow_up_at ?? null,
2389
+ archived: !!row.archived,
2390
+ project_id: row.project_id ?? null
2355
2391
  };
2356
2392
  }
2357
2393
  function rowToEmail(row) {
@@ -2388,7 +2424,9 @@ function rowToTag(row) {
2388
2424
  function rowToCompany(row) {
2389
2425
  return {
2390
2426
  ...row,
2391
- custom_fields: JSON.parse(row.custom_fields || "{}")
2427
+ custom_fields: JSON.parse(row.custom_fields || "{}"),
2428
+ archived: !!row.archived,
2429
+ project_id: row.project_id ?? null
2392
2430
  };
2393
2431
  }
2394
2432
  function insertEmails(db, contactId, companyId, emails) {
@@ -2432,8 +2470,8 @@ function createContact(input, db) {
2432
2470
  const firstName = input.first_name ?? "";
2433
2471
  const lastName = input.last_name ?? "";
2434
2472
  const displayName = input.display_name ?? (firstName || lastName ? `${firstName} ${lastName}`.trim() : "Unnamed Contact");
2435
- d.run(`INSERT INTO contacts (id, first_name, last_name, display_name, nickname, avatar_url, notes, birthday, company_id, job_title, source, custom_fields, last_contacted_at, website, preferred_contact_method, created_at, updated_at)
2436
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
2473
+ d.run(`INSERT INTO contacts (id, first_name, last_name, display_name, nickname, avatar_url, notes, birthday, company_id, job_title, source, custom_fields, last_contacted_at, website, preferred_contact_method, status, follow_up_at, project_id, created_at, updated_at)
2474
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
2437
2475
  id,
2438
2476
  firstName,
2439
2477
  lastName,
@@ -2449,6 +2487,9 @@ function createContact(input, db) {
2449
2487
  input.last_contacted_at ?? null,
2450
2488
  input.website ?? null,
2451
2489
  input.preferred_contact_method ?? null,
2490
+ input.status ?? "active",
2491
+ input.follow_up_at ?? null,
2492
+ input.project_id ?? null,
2452
2493
  timestamp,
2453
2494
  timestamp
2454
2495
  ]);
@@ -2483,12 +2524,21 @@ function listContacts(opts = {}, db) {
2483
2524
  offset = 0,
2484
2525
  company_id,
2485
2526
  tag_id,
2527
+ tag_ids,
2486
2528
  source,
2529
+ status,
2530
+ project_id,
2531
+ archived = false,
2532
+ follow_up_due,
2533
+ last_contacted_after,
2534
+ last_contacted_before,
2487
2535
  order_by = "display_name",
2488
2536
  order_dir = "asc"
2489
2537
  } = opts;
2490
2538
  const conditions = [];
2491
2539
  const params = [];
2540
+ conditions.push("c.archived = ?");
2541
+ params.push(archived ? 1 : 0);
2492
2542
  if (company_id) {
2493
2543
  conditions.push("c.company_id = ?");
2494
2544
  params.push(company_id);
@@ -2497,12 +2547,37 @@ function listContacts(opts = {}, db) {
2497
2547
  conditions.push("c.source = ?");
2498
2548
  params.push(source);
2499
2549
  }
2550
+ if (status) {
2551
+ conditions.push("c.status = ?");
2552
+ params.push(status);
2553
+ }
2554
+ if (project_id) {
2555
+ conditions.push("c.project_id = ?");
2556
+ params.push(project_id);
2557
+ }
2500
2558
  if (tag_id) {
2501
2559
  conditions.push("EXISTS (SELECT 1 FROM contact_tags ct WHERE ct.contact_id = c.id AND ct.tag_id = ?)");
2502
2560
  params.push(tag_id);
2503
2561
  }
2562
+ if (tag_ids?.length) {
2563
+ for (const tid of tag_ids) {
2564
+ conditions.push("EXISTS (SELECT 1 FROM contact_tags ct WHERE ct.contact_id = c.id AND ct.tag_id = ?)");
2565
+ params.push(tid);
2566
+ }
2567
+ }
2568
+ if (follow_up_due) {
2569
+ conditions.push("c.follow_up_at IS NOT NULL AND c.follow_up_at <= datetime('now')");
2570
+ }
2571
+ if (last_contacted_after) {
2572
+ conditions.push("c.last_contacted_at >= ?");
2573
+ params.push(last_contacted_after);
2574
+ }
2575
+ if (last_contacted_before) {
2576
+ conditions.push("c.last_contacted_at <= ?");
2577
+ params.push(last_contacted_before);
2578
+ }
2504
2579
  const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
2505
- const validOrderBy = ["display_name", "created_at", "updated_at"].includes(order_by) ? order_by : "display_name";
2580
+ const validOrderBy = ["display_name", "created_at", "updated_at", "last_contacted_at", "follow_up_at"].includes(order_by) ? order_by : "display_name";
2506
2581
  const validOrderDir = order_dir === "desc" ? "DESC" : "ASC";
2507
2582
  const totalRow = d.query(`SELECT COUNT(*) as total FROM contacts c ${where}`).get(...params);
2508
2583
  const rows = d.query(`SELECT c.* FROM contacts c ${where} ORDER BY c.${validOrderBy} ${validOrderDir} LIMIT ? OFFSET ?`).all(...params, limit, offset);
@@ -2572,8 +2647,36 @@ function updateContact(id, input, db) {
2572
2647
  setClauses.push("preferred_contact_method = ?");
2573
2648
  params.push(input.preferred_contact_method);
2574
2649
  }
2650
+ if (input.status !== undefined) {
2651
+ setClauses.push("status = ?");
2652
+ params.push(input.status);
2653
+ }
2654
+ if (input.follow_up_at !== undefined) {
2655
+ setClauses.push("follow_up_at = ?");
2656
+ params.push(input.follow_up_at);
2657
+ }
2658
+ if (input.project_id !== undefined) {
2659
+ setClauses.push("project_id = ?");
2660
+ params.push(input.project_id);
2661
+ }
2575
2662
  params.push(id);
2576
2663
  d.run(`UPDATE contacts SET ${setClauses.join(", ")} WHERE id = ?`, params);
2664
+ if (input.emails_add?.length) {
2665
+ for (const e of input.emails_add) {
2666
+ const exists = d.query(`SELECT id FROM emails WHERE contact_id = ? AND LOWER(address) = LOWER(?)`).get(id, e.address);
2667
+ if (!exists) {
2668
+ d.run(`INSERT INTO emails (id, contact_id, company_id, address, type, is_primary) VALUES (?, ?, NULL, ?, ?, ?)`, [uuid(), id, e.address, e.type ?? "work", e.is_primary ? 1 : 0]);
2669
+ }
2670
+ }
2671
+ }
2672
+ if (input.phones_add?.length) {
2673
+ for (const p of input.phones_add) {
2674
+ const exists = d.query(`SELECT id FROM phones WHERE contact_id = ? AND number = ?`).get(id, p.number);
2675
+ if (!exists) {
2676
+ d.run(`INSERT INTO phones (id, contact_id, company_id, number, country_code, type, is_primary) VALUES (?, ?, NULL, ?, ?, ?, ?)`, [uuid(), id, p.number, p.country_code ?? null, p.type ?? "mobile", p.is_primary ? 1 : 0]);
2677
+ }
2678
+ }
2679
+ }
2577
2680
  logActivity(d, { contact_id: id, action: "contact.updated", details: `Updated contact: ${existing.display_name}` });
2578
2681
  const row = d.query(`SELECT * FROM contacts WHERE id = ?`).get(id);
2579
2682
  return loadContactDetails(d, rowToContact(row));
@@ -2591,25 +2694,31 @@ function searchContacts(query, db) {
2591
2694
  const ftsRows = d.query(`
2592
2695
  SELECT c.* FROM contacts c
2593
2696
  JOIN contacts_fts fts ON fts.id = c.id
2594
- WHERE contacts_fts MATCH ?
2697
+ WHERE contacts_fts MATCH ? AND c.archived = 0
2595
2698
  ORDER BY rank
2596
2699
  LIMIT 50
2597
2700
  `).all(`"${query.replace(/"/g, '""')}"*`);
2598
2701
  const emailRows = d.query(`
2599
2702
  SELECT DISTINCT c.* FROM contacts c
2600
2703
  JOIN emails e ON e.contact_id = c.id
2601
- WHERE e.address LIKE ?
2704
+ WHERE e.address LIKE ? AND c.archived = 0
2602
2705
  LIMIT 20
2603
2706
  `).all(`%${query}%`);
2604
2707
  const phoneRows = d.query(`
2605
2708
  SELECT DISTINCT c.* FROM contacts c
2606
2709
  JOIN phones p ON p.contact_id = c.id
2607
- WHERE p.number LIKE ?
2710
+ WHERE p.number LIKE ? AND c.archived = 0
2711
+ LIMIT 20
2712
+ `).all(`%${query}%`);
2713
+ const companyRows = d.query(`
2714
+ SELECT DISTINCT c.* FROM contacts c
2715
+ JOIN companies co ON co.id = c.company_id
2716
+ WHERE co.name LIKE ? AND c.archived = 0
2608
2717
  LIMIT 20
2609
2718
  `).all(`%${query}%`);
2610
2719
  const seen = new Set;
2611
2720
  const allRows = [];
2612
- for (const row of [...ftsRows, ...emailRows, ...phoneRows]) {
2721
+ for (const row of [...ftsRows, ...emailRows, ...phoneRows, ...companyRows]) {
2613
2722
  if (!seen.has(row.id)) {
2614
2723
  seen.add(row.id);
2615
2724
  allRows.push(row);
@@ -2632,7 +2741,9 @@ var init_contacts = __esm(() => {
2632
2741
  function rowToCompany2(row) {
2633
2742
  return {
2634
2743
  ...row,
2635
- custom_fields: JSON.parse(row.custom_fields || "{}")
2744
+ custom_fields: JSON.parse(row.custom_fields || "{}"),
2745
+ archived: !!row.archived,
2746
+ project_id: row.project_id ?? null
2636
2747
  };
2637
2748
  }
2638
2749
  function insertEmails2(db, companyId, emails) {
@@ -2742,15 +2853,23 @@ function listCompanies(opts = {}, db) {
2742
2853
  offset = 0,
2743
2854
  industry,
2744
2855
  tag_id,
2856
+ project_id,
2857
+ archived = false,
2745
2858
  order_by = "name",
2746
2859
  order_dir = "asc"
2747
2860
  } = opts;
2748
2861
  const conditions = [];
2749
2862
  const params = [];
2863
+ conditions.push("co.archived = ?");
2864
+ params.push(archived ? 1 : 0);
2750
2865
  if (industry) {
2751
2866
  conditions.push("co.industry = ?");
2752
2867
  params.push(industry);
2753
2868
  }
2869
+ if (project_id) {
2870
+ conditions.push("co.project_id = ?");
2871
+ params.push(project_id);
2872
+ }
2754
2873
  if (tag_id) {
2755
2874
  conditions.push("EXISTS (SELECT 1 FROM company_tags ct WHERE ct.company_id = co.id AND ct.tag_id = ?)");
2756
2875
  params.push(tag_id);
@@ -2806,6 +2925,10 @@ function updateCompany(id, input, db) {
2806
2925
  setClauses.push("custom_fields = ?");
2807
2926
  params.push(JSON.stringify(input.custom_fields));
2808
2927
  }
2928
+ if ("project_id" in input && input.project_id !== undefined) {
2929
+ setClauses.push("project_id = ?");
2930
+ params.push(input.project_id);
2931
+ }
2809
2932
  params.push(id);
2810
2933
  d.run(`UPDATE companies SET ${setClauses.join(", ")} WHERE id = ?`, params);
2811
2934
  logActivity(d, { company_id: id, action: "company.updated", details: `Updated company: ${existing.name}` });
@@ -3614,10 +3737,17 @@ function getGroup(db, id) {
3614
3737
  return db.query(`SELECT * FROM groups WHERE id = ?`).get(id);
3615
3738
  }
3616
3739
  function listGroups(db) {
3617
- return db.query(`SELECT g.*, COUNT(cg.contact_id) as member_count FROM groups g LEFT JOIN contact_groups cg ON g.id = cg.group_id GROUP BY g.id ORDER BY g.name`).all();
3740
+ return db.query(`SELECT g.*,
3741
+ (SELECT COUNT(*) FROM contact_groups cg WHERE cg.group_id = g.id) as member_count,
3742
+ (SELECT COUNT(*) FROM company_groups cog WHERE cog.group_id = g.id) as company_count
3743
+ FROM groups g ORDER BY g.name`).all();
3618
3744
  }
3619
3745
  function addContactToGroup(db, contactId, groupId) {
3620
- db.query(`INSERT OR IGNORE INTO contact_groups(contact_id, group_id) VALUES(?,?)`).run(contactId, groupId);
3746
+ const existing = db.query(`SELECT 1 FROM contact_groups WHERE contact_id = ? AND group_id = ?`).get(contactId, groupId);
3747
+ if (existing)
3748
+ return { added: false, already_member: true };
3749
+ db.query(`INSERT INTO contact_groups(contact_id, group_id) VALUES(?,?)`).run(contactId, groupId);
3750
+ return { added: true, already_member: false };
3621
3751
  }
3622
3752
  function removeContactFromGroup(db, contactId, groupId) {
3623
3753
  db.query(`DELETE FROM contact_groups WHERE contact_id = ? AND group_id = ?`).run(contactId, groupId);
@@ -10,4 +10,6 @@ export declare function updateCompany(id: string, input: UpdateCompanyInput, db?
10
10
  export declare function deleteCompany(id: string, db?: Database): void;
11
11
  export declare function searchCompanies(query: string, db?: Database): CompanyWithDetails[];
12
12
  export declare function listCompanyEmployees(companyId: string, db?: Database): Contact[];
13
+ export declare function archiveCompany(id: string, db?: Database): CompanyWithDetails;
14
+ export declare function unarchiveCompany(id: string, db?: Database): CompanyWithDetails;
13
15
  //# sourceMappingURL=companies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/db/companies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAGV,kBAAkB,EAElB,kBAAkB,EAClB,OAAO,EAGP,kBAAkB,EASlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAoG3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAuC1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKxE;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,kBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiC9H;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAyBtG;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAQ7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAUlF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAYhF"}
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/db/companies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAGV,kBAAkB,EAElB,kBAAkB,EAClB,OAAO,EAGP,kBAAkB,EASlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAsG3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAuC1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKxE;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,kBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA2C9H;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CA0BtG;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAQ7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAUlF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAgBhF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAQ5E;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAQ9E"}
@@ -1,5 +1,5 @@
1
1
  import type { Database } from "bun:sqlite";
2
- import type { ContactListOptions, ContactWithDetails, CreateContactInput, UpdateContactInput } from "../types/index.js";
2
+ import type { ContactListOptions, ContactWithDetails, CreateContactInput, CreateEmailInput, CreatePhoneInput, UpdateContactInput } from "../types/index.js";
3
3
  export declare function createContact(input: CreateContactInput, db?: Database): ContactWithDetails;
4
4
  export declare function getContact(id: string, db?: Database): ContactWithDetails;
5
5
  export declare function listContacts(opts?: ContactListOptions, db?: Database): {
@@ -11,4 +11,10 @@ export declare function deleteContact(id: string, db?: Database): void;
11
11
  export declare function searchContacts(query: string, db?: Database): ContactWithDetails[];
12
12
  export declare function listRecentContacts(limit: number, db?: Database): ContactWithDetails[];
13
13
  export declare function mergeContacts(keepId: string, mergeId: string, db?: Database): ContactWithDetails;
14
+ export declare function getContactByEmail(email: string, db?: Database): ContactWithDetails | null;
15
+ export declare function addEmailToContact(contactId: string, email: CreateEmailInput, db?: Database): ContactWithDetails;
16
+ export declare function addPhoneToContact(contactId: string, phone: CreatePhoneInput, db?: Database): ContactWithDetails;
17
+ export declare function archiveContact(id: string, db?: Database): ContactWithDetails;
18
+ export declare function unarchiveContact(id: string, db?: Database): ContactWithDetails;
19
+ export declare function autoLinkContactToCompany(contactId: string, db?: Database): ContactWithDetails | null;
14
20
  //# sourceMappingURL=contacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/db/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAKV,kBAAkB,EAElB,kBAAkB,EAElB,kBAAkB,EAalB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAuH3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAiD1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKxE;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuC5H;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CA8BtG;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAS7D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAsCjF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAMrF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAqDhG"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/db/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAKV,kBAAkB,EAElB,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAWhB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AA6H3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAoD1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKxE;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgF5H;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAqDtG;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAS7D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CA8CjF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAMrF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAuEhG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAOzF;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAW/G;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAW/G;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAQ5E;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAQ9E;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAcpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AA0LD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAUnD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAyMD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAUnD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B"}
@@ -5,8 +5,18 @@ export declare function getGroup(db: Database, id: string): Group | null;
5
5
  export declare function listGroups(db: Database): Group[];
6
6
  export declare function updateGroup(db: Database, id: string, input: Partial<CreateGroupInput>): Group;
7
7
  export declare function deleteGroup(db: Database, id: string): void;
8
- export declare function addContactToGroup(db: Database, contactId: string, groupId: string): void;
8
+ export declare function addContactToGroup(db: Database, contactId: string, groupId: string): {
9
+ added: boolean;
10
+ already_member: boolean;
11
+ };
9
12
  export declare function removeContactFromGroup(db: Database, contactId: string, groupId: string): void;
10
13
  export declare function listContactsInGroup(db: Database, groupId: string): string[];
11
14
  export declare function listGroupsForContact(db: Database, contactId: string): Group[];
15
+ export declare function addCompanyToGroup(db: Database, companyId: string, groupId: string): {
16
+ added: boolean;
17
+ already_member: boolean;
18
+ };
19
+ export declare function removeCompanyFromGroup(db: Database, companyId: string, groupId: string): void;
20
+ export declare function listCompaniesInGroup(db: Database, groupId: string): string[];
21
+ export declare function listGroupsForCompany(db: Database, companyId: string): Group[];
12
22
  //# sourceMappingURL=groups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/db/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAKxE;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAE/D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,CAIhD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAS7F;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAExF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAI7E"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/db/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAKxE;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAE/D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,CAOhD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAS7F;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAK/H;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAI7E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAK/H;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAI7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/db/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EACd,GAAG,EAEH,cAAc,EACf,MAAM,mBAAmB,CAAC;AAY3B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAYnE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAKrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAIpE;AAED,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,CAG7C;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAuB/E;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAKzD;AAID,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAOrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAkBzE;AAID,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAOrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAG1F"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/db/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EACd,GAAG,EAEH,cAAc,EACf,MAAM,mBAAmB,CAAC;AAY3B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAYnE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAKrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAIpE;AAED,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,CAG7C;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAuB/E;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAKzD;AAID,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAOrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAsBzE;AAID,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAOrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAG1F"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export { getDatabase, resetDatabase } from "./db/database.js";
2
- export { createContact, getContact, listContacts, updateContact, deleteContact, searchContacts, mergeContacts, listRecentContacts, } from "./db/contacts.js";
3
- export { createCompany, getCompany, listCompanies, updateCompany, deleteCompany, searchCompanies, listCompanyEmployees, } from "./db/companies.js";
2
+ export { createContact, getContact, getContactByEmail, listContacts, updateContact, deleteContact, searchContacts, mergeContacts, listRecentContacts, addEmailToContact, addPhoneToContact, archiveContact, unarchiveContact, autoLinkContactToCompany, } from "./db/contacts.js";
3
+ export { createCompany, getCompany, listCompanies, updateCompany, deleteCompany, searchCompanies, listCompanyEmployees, archiveCompany, unarchiveCompany, } from "./db/companies.js";
4
4
  export { createTag, getTag, getTagByName, listTags, updateTag, deleteTag, addTagToContact, removeTagFromContact, listContactsByTag, addTagToCompany, removeTagFromCompany, } from "./db/tags.js";
5
5
  export { createRelationship, listRelationships, getRelationship, deleteRelationship, } from "./db/relationships.js";
6
- export { createGroup, getGroup, listGroups, updateGroup, deleteGroup, addContactToGroup, removeContactFromGroup, listContactsInGroup, listGroupsForContact, } from "./db/groups.js";
6
+ export { createGroup, getGroup, listGroups, updateGroup, deleteGroup, addContactToGroup, removeContactFromGroup, listContactsInGroup, listGroupsForContact, addCompanyToGroup, removeCompanyFromGroup, listCompaniesInGroup, listGroupsForCompany, } from "./db/groups.js";
7
7
  export { logActivity, listActivity, getActivity } from "./db/activity.js";
8
- export type { EmailType, PhoneType, AddressType, SocialPlatform, RelationshipType, ContactSource, PreferredContactMethod, Email, Phone, Address, SocialProfile, Tag, Contact, ContactWithDetails, Company, CompanyWithDetails, ContactRelationship, ActivityLog, Webhook, Group, CreateGroupInput, CreateEmailInput, CreatePhoneInput, CreateAddressInput, CreateSocialProfileInput, CreateTagInput, UpdateTagInput, CreateContactInput, UpdateContactInput, ContactListOptions, CreateCompanyInput, UpdateCompanyInput, CompanyListOptions, CreateRelationshipInput, CreateActivityInput, CreateWebhookInput, UpdateWebhookInput, ContactRow, CompanyRow, EmailRow, PhoneRow, AddressRow, SocialProfileRow, TagRow, RelationshipRow, ActivityRow, WebhookRow, } from "./types/index.js";
8
+ export type { EmailType, PhoneType, AddressType, SocialPlatform, RelationshipType, ContactSource, PreferredContactMethod, ContactStatus, Email, Phone, Address, SocialProfile, Tag, Contact, ContactWithDetails, Company, CompanyWithDetails, ContactRelationship, ActivityLog, Webhook, Group, CreateGroupInput, CreateEmailInput, CreatePhoneInput, CreateAddressInput, CreateSocialProfileInput, CreateTagInput, UpdateTagInput, CreateContactInput, UpdateContactInput, ContactListOptions, CreateCompanyInput, UpdateCompanyInput, CompanyListOptions, CreateRelationshipInput, CreateActivityInput, CreateWebhookInput, UpdateWebhookInput, DuplicateByEmail, DuplicateByName, ContactRow, CompanyRow, EmailRow, PhoneRow, AddressRow, SocialProfileRow, TagRow, RelationshipRow, ActivityRow, WebhookRow, } from "./types/index.js";
9
9
  export { ContactNotFoundError, CompanyNotFoundError, TagNotFoundError, DuplicateTagNameError, } from "./types/index.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1E,YAAY,EAEV,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EAEb,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,KAAK,EACL,gBAAgB,EAEhB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EACL,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1E,YAAY,EAEV,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,aAAa,EAEb,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EAEb,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,KAAK,EACL,gBAAgB,EAEhB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAEf,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}