@hasna/contacts 0.2.1 → 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);
@@ -2293,9 +2311,7 @@ var init_database = __esm(() => {
2293
2311
  last_name,
2294
2312
  nickname,
2295
2313
  notes,
2296
- job_title,
2297
- content='contacts',
2298
- content_rowid='rowid'
2314
+ job_title
2299
2315
  );
2300
2316
 
2301
2317
  CREATE TRIGGER IF NOT EXISTS contacts_fts_insert AFTER INSERT ON contacts BEGIN
@@ -2333,6 +2349,20 @@ var init_database = __esm(() => {
2333
2349
  group_id TEXT NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
2334
2350
  PRIMARY KEY (contact_id, group_id)
2335
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
+ );
2336
2366
  `
2337
2367
  ];
2338
2368
  });
@@ -2353,7 +2383,11 @@ function rowToContact(row) {
2353
2383
  ...row,
2354
2384
  source: row.source,
2355
2385
  custom_fields: JSON.parse(row.custom_fields || "{}"),
2356
- 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
2357
2391
  };
2358
2392
  }
2359
2393
  function rowToEmail(row) {
@@ -2390,7 +2424,9 @@ function rowToTag(row) {
2390
2424
  function rowToCompany(row) {
2391
2425
  return {
2392
2426
  ...row,
2393
- 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
2394
2430
  };
2395
2431
  }
2396
2432
  function insertEmails(db, contactId, companyId, emails) {
@@ -2434,8 +2470,8 @@ function createContact(input, db) {
2434
2470
  const firstName = input.first_name ?? "";
2435
2471
  const lastName = input.last_name ?? "";
2436
2472
  const displayName = input.display_name ?? (firstName || lastName ? `${firstName} ${lastName}`.trim() : "Unnamed Contact");
2437
- 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)
2438
- 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
2439
2475
  id,
2440
2476
  firstName,
2441
2477
  lastName,
@@ -2451,6 +2487,9 @@ function createContact(input, db) {
2451
2487
  input.last_contacted_at ?? null,
2452
2488
  input.website ?? null,
2453
2489
  input.preferred_contact_method ?? null,
2490
+ input.status ?? "active",
2491
+ input.follow_up_at ?? null,
2492
+ input.project_id ?? null,
2454
2493
  timestamp,
2455
2494
  timestamp
2456
2495
  ]);
@@ -2485,12 +2524,21 @@ function listContacts(opts = {}, db) {
2485
2524
  offset = 0,
2486
2525
  company_id,
2487
2526
  tag_id,
2527
+ tag_ids,
2488
2528
  source,
2529
+ status,
2530
+ project_id,
2531
+ archived = false,
2532
+ follow_up_due,
2533
+ last_contacted_after,
2534
+ last_contacted_before,
2489
2535
  order_by = "display_name",
2490
2536
  order_dir = "asc"
2491
2537
  } = opts;
2492
2538
  const conditions = [];
2493
2539
  const params = [];
2540
+ conditions.push("c.archived = ?");
2541
+ params.push(archived ? 1 : 0);
2494
2542
  if (company_id) {
2495
2543
  conditions.push("c.company_id = ?");
2496
2544
  params.push(company_id);
@@ -2499,12 +2547,37 @@ function listContacts(opts = {}, db) {
2499
2547
  conditions.push("c.source = ?");
2500
2548
  params.push(source);
2501
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
+ }
2502
2558
  if (tag_id) {
2503
2559
  conditions.push("EXISTS (SELECT 1 FROM contact_tags ct WHERE ct.contact_id = c.id AND ct.tag_id = ?)");
2504
2560
  params.push(tag_id);
2505
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
+ }
2506
2579
  const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
2507
- 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";
2508
2581
  const validOrderDir = order_dir === "desc" ? "DESC" : "ASC";
2509
2582
  const totalRow = d.query(`SELECT COUNT(*) as total FROM contacts c ${where}`).get(...params);
2510
2583
  const rows = d.query(`SELECT c.* FROM contacts c ${where} ORDER BY c.${validOrderBy} ${validOrderDir} LIMIT ? OFFSET ?`).all(...params, limit, offset);
@@ -2574,8 +2647,36 @@ function updateContact(id, input, db) {
2574
2647
  setClauses.push("preferred_contact_method = ?");
2575
2648
  params.push(input.preferred_contact_method);
2576
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
+ }
2577
2662
  params.push(id);
2578
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
+ }
2579
2680
  logActivity(d, { contact_id: id, action: "contact.updated", details: `Updated contact: ${existing.display_name}` });
2580
2681
  const row = d.query(`SELECT * FROM contacts WHERE id = ?`).get(id);
2581
2682
  return loadContactDetails(d, rowToContact(row));
@@ -2593,25 +2694,31 @@ function searchContacts(query, db) {
2593
2694
  const ftsRows = d.query(`
2594
2695
  SELECT c.* FROM contacts c
2595
2696
  JOIN contacts_fts fts ON fts.id = c.id
2596
- WHERE contacts_fts MATCH ?
2697
+ WHERE contacts_fts MATCH ? AND c.archived = 0
2597
2698
  ORDER BY rank
2598
2699
  LIMIT 50
2599
2700
  `).all(`"${query.replace(/"/g, '""')}"*`);
2600
2701
  const emailRows = d.query(`
2601
2702
  SELECT DISTINCT c.* FROM contacts c
2602
2703
  JOIN emails e ON e.contact_id = c.id
2603
- WHERE e.address LIKE ?
2704
+ WHERE e.address LIKE ? AND c.archived = 0
2604
2705
  LIMIT 20
2605
2706
  `).all(`%${query}%`);
2606
2707
  const phoneRows = d.query(`
2607
2708
  SELECT DISTINCT c.* FROM contacts c
2608
2709
  JOIN phones p ON p.contact_id = c.id
2609
- 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
2610
2717
  LIMIT 20
2611
2718
  `).all(`%${query}%`);
2612
2719
  const seen = new Set;
2613
2720
  const allRows = [];
2614
- for (const row of [...ftsRows, ...emailRows, ...phoneRows]) {
2721
+ for (const row of [...ftsRows, ...emailRows, ...phoneRows, ...companyRows]) {
2615
2722
  if (!seen.has(row.id)) {
2616
2723
  seen.add(row.id);
2617
2724
  allRows.push(row);
@@ -2634,7 +2741,9 @@ var init_contacts = __esm(() => {
2634
2741
  function rowToCompany2(row) {
2635
2742
  return {
2636
2743
  ...row,
2637
- 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
2638
2747
  };
2639
2748
  }
2640
2749
  function insertEmails2(db, companyId, emails) {
@@ -2744,15 +2853,23 @@ function listCompanies(opts = {}, db) {
2744
2853
  offset = 0,
2745
2854
  industry,
2746
2855
  tag_id,
2856
+ project_id,
2857
+ archived = false,
2747
2858
  order_by = "name",
2748
2859
  order_dir = "asc"
2749
2860
  } = opts;
2750
2861
  const conditions = [];
2751
2862
  const params = [];
2863
+ conditions.push("co.archived = ?");
2864
+ params.push(archived ? 1 : 0);
2752
2865
  if (industry) {
2753
2866
  conditions.push("co.industry = ?");
2754
2867
  params.push(industry);
2755
2868
  }
2869
+ if (project_id) {
2870
+ conditions.push("co.project_id = ?");
2871
+ params.push(project_id);
2872
+ }
2756
2873
  if (tag_id) {
2757
2874
  conditions.push("EXISTS (SELECT 1 FROM company_tags ct WHERE ct.company_id = co.id AND ct.tag_id = ?)");
2758
2875
  params.push(tag_id);
@@ -2808,6 +2925,10 @@ function updateCompany(id, input, db) {
2808
2925
  setClauses.push("custom_fields = ?");
2809
2926
  params.push(JSON.stringify(input.custom_fields));
2810
2927
  }
2928
+ if ("project_id" in input && input.project_id !== undefined) {
2929
+ setClauses.push("project_id = ?");
2930
+ params.push(input.project_id);
2931
+ }
2811
2932
  params.push(id);
2812
2933
  d.run(`UPDATE companies SET ${setClauses.join(", ")} WHERE id = ?`, params);
2813
2934
  logActivity(d, { company_id: id, action: "company.updated", details: `Updated company: ${existing.name}` });
@@ -3616,10 +3737,17 @@ function getGroup(db, id) {
3616
3737
  return db.query(`SELECT * FROM groups WHERE id = ?`).get(id);
3617
3738
  }
3618
3739
  function listGroups(db) {
3619
- 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();
3620
3744
  }
3621
3745
  function addContactToGroup(db, contactId, groupId) {
3622
- 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 };
3623
3751
  }
3624
3752
  function removeContactFromGroup(db, contactId, groupId) {
3625
3753
  db.query(`DELETE FROM contact_groups WHERE contact_id = ? AND group_id = ?`).run(contactId, groupId);
@@ -3787,7 +3915,7 @@ async function confirm(question) {
3787
3915
  const answer = await prompt(question + " [y/N]");
3788
3916
  return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
3789
3917
  }
3790
- program.name("contacts").description("Open Contacts \u2014 contact management for AI coding agents").version("0.2.1");
3918
+ program.name("contacts").description("Open Contacts \u2014 contact management for AI coding agents").version("0.2.2");
3791
3919
  function collect(val, prev) {
3792
3920
  return [...prev, val];
3793
3921
  }
@@ -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;AA4LD,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"}