@hasna/contacts 0.5.1 → 0.5.2

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
@@ -5648,16 +5648,18 @@ function getFreshnessScore(contactId, db) {
5648
5648
  }
5649
5649
  function getStaleContacts(threshold = 40, db) {
5650
5650
  const _db2 = db || getDatabase();
5651
- const rows = _db2.query(`SELECT c.id as contact_id, c.display_name,
5652
- (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
5653
- CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
5654
- CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
5655
- CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
5656
- CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
5657
- CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
5658
- CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
5659
- ) as score
5660
- FROM contacts c WHERE c.archived=0 HAVING score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
5651
+ const rows = _db2.query(`SELECT * FROM (
5652
+ SELECT c.id as contact_id, c.display_name,
5653
+ (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
5654
+ CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
5655
+ CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
5656
+ CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
5657
+ CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
5658
+ CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
5659
+ CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
5660
+ ) as score
5661
+ FROM contacts c WHERE c.archived=0
5662
+ ) WHERE score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
5661
5663
  return rows;
5662
5664
  }
5663
5665
  function markFieldVerified(contactId, fieldName, source, db) {
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/db/freshness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAoFlF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBlI;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAsB5G"}
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/db/freshness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAoFlF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBlI;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAsB5G"}
package/dist/index.js CHANGED
@@ -4121,16 +4121,18 @@ function getFreshnessScore(contactId, db) {
4121
4121
  }
4122
4122
  function getStaleContacts(threshold = 40, db) {
4123
4123
  const _db2 = db || getDatabase();
4124
- const rows = _db2.query(`SELECT c.id as contact_id, c.display_name,
4125
- (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
4126
- CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
4127
- CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
4128
- CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
4129
- CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
4130
- CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
4131
- CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
4132
- ) as score
4133
- FROM contacts c WHERE c.archived=0 HAVING score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
4124
+ const rows = _db2.query(`SELECT * FROM (
4125
+ SELECT c.id as contact_id, c.display_name,
4126
+ (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
4127
+ CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
4128
+ CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
4129
+ CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
4130
+ CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
4131
+ CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
4132
+ CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
4133
+ ) as score
4134
+ FROM contacts c WHERE c.archived=0
4135
+ ) WHERE score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
4134
4136
  return rows;
4135
4137
  }
4136
4138
  function markFieldVerified(contactId, fieldName, source, db) {
package/dist/mcp/index.js CHANGED
@@ -4140,16 +4140,18 @@ function getFreshnessScore(contactId, db) {
4140
4140
  }
4141
4141
  function getStaleContacts(threshold = 40, db) {
4142
4142
  const _db2 = db || getDatabase();
4143
- const rows = _db2.query(`SELECT c.id as contact_id, c.display_name,
4144
- (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
4145
- CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
4146
- CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
4147
- CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
4148
- CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
4149
- CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
4150
- CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
4151
- ) as score
4152
- FROM contacts c WHERE c.archived=0 HAVING score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
4143
+ const rows = _db2.query(`SELECT * FROM (
4144
+ SELECT c.id as contact_id, c.display_name,
4145
+ (CASE WHEN c.job_title IS NOT NULL THEN 15 ELSE 0 END +
4146
+ CASE WHEN c.company_id IS NOT NULL THEN 15 ELSE 0 END +
4147
+ CASE WHEN c.last_contacted_at IS NOT NULL THEN 20 ELSE 0 END +
4148
+ CASE WHEN EXISTS(SELECT 1 FROM emails WHERE contact_id=c.id) THEN 20 ELSE 0 END +
4149
+ CASE WHEN EXISTS(SELECT 1 FROM phones WHERE contact_id=c.id) THEN 15 ELSE 0 END +
4150
+ CASE WHEN c.notes IS NOT NULL THEN 10 ELSE 0 END +
4151
+ CASE WHEN EXISTS(SELECT 1 FROM contact_tags WHERE contact_id=c.id) THEN 5 ELSE 0 END
4152
+ ) as score
4153
+ FROM contacts c WHERE c.archived=0
4154
+ ) WHERE score < ? ORDER BY score ASC LIMIT 100`).all(threshold);
4153
4155
  return rows;
4154
4156
  }
4155
4157
  function markFieldVerified(contactId, fieldName, source, db) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/contacts",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Contact management for AI coding agents — CLI + MCP + Web",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",