@hasna/contacts 0.1.0
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/LICENSE +180 -0
- package/README.md +93 -0
- package/dashboard/dist/assets/index-B4ndI7Qt.js +49 -0
- package/dashboard/dist/assets/index-C5bn2HWO.css +1 -0
- package/dashboard/dist/index.html +13 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3992 -0
- package/dist/db/activity.d.ts +15 -0
- package/dist/db/activity.d.ts.map +1 -0
- package/dist/db/companies.d.ts +13 -0
- package/dist/db/companies.d.ts.map +1 -0
- package/dist/db/contacts.d.ts +13 -0
- package/dist/db/contacts.d.ts.map +1 -0
- package/dist/db/database.d.ts +6 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/relationships.d.ts +11 -0
- package/dist/db/relationships.d.ts.map +1 -0
- package/dist/db/tags.d.ts +14 -0
- package/dist/db/tags.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +999 -0
- package/dist/lib/export.d.ts +8 -0
- package/dist/lib/export.d.ts.map +1 -0
- package/dist/lib/import.d.ts +9 -0
- package/dist/lib/import.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +1875 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1476 -0
- package/dist/server/serve.d.ts +2 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/types/index.d.ts +375 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ActivityLog, CreateActivityInput } from "../types/index.js";
|
|
3
|
+
export declare function logActivity(db: Database, input: CreateActivityInput): ActivityLog;
|
|
4
|
+
export interface ListActivityOptions {
|
|
5
|
+
contact_id?: string;
|
|
6
|
+
company_id?: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
offset?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function listActivity(opts?: ListActivityOptions, db?: Database): {
|
|
11
|
+
entries: ActivityLog[];
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function getActivity(id: string, db?: Database): ActivityLog | null;
|
|
15
|
+
//# sourceMappingURL=activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/db/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAe,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOvF,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAOjF;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAerH;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAIzE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { CompanyListOptions, CompanyWithDetails, Contact, CreateCompanyInput, UpdateCompanyInput } from "../types/index.js";
|
|
3
|
+
export declare function createCompany(input: CreateCompanyInput, db?: Database): CompanyWithDetails;
|
|
4
|
+
export declare function getCompany(id: string, db?: Database): CompanyWithDetails;
|
|
5
|
+
export declare function listCompanies(opts?: CompanyListOptions, db?: Database): {
|
|
6
|
+
companies: CompanyWithDetails[];
|
|
7
|
+
total: number;
|
|
8
|
+
};
|
|
9
|
+
export declare function updateCompany(id: string, input: UpdateCompanyInput, db?: Database): CompanyWithDetails;
|
|
10
|
+
export declare function deleteCompany(id: string, db?: Database): void;
|
|
11
|
+
export declare function searchCompanies(query: string, db?: Database): CompanyWithDetails[];
|
|
12
|
+
export declare function listCompanyEmployees(companyId: string, db?: Database): Contact[];
|
|
13
|
+
//# sourceMappingURL=companies.d.ts.map
|
|
@@ -0,0 +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,CAWhF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ContactListOptions, ContactWithDetails, CreateContactInput, UpdateContactInput } from "../types/index.js";
|
|
3
|
+
export declare function createContact(input: CreateContactInput, db?: Database): ContactWithDetails;
|
|
4
|
+
export declare function getContact(id: string, db?: Database): ContactWithDetails;
|
|
5
|
+
export declare function listContacts(opts?: ContactListOptions, db?: Database): {
|
|
6
|
+
contacts: ContactWithDetails[];
|
|
7
|
+
total: number;
|
|
8
|
+
};
|
|
9
|
+
export declare function updateContact(id: string, input: UpdateContactInput, db?: Database): ContactWithDetails;
|
|
10
|
+
export declare function deleteContact(id: string, db?: Database): void;
|
|
11
|
+
export declare function searchContacts(query: string, db?: Database): ContactWithDetails[];
|
|
12
|
+
export declare function mergeContacts(keepId: string, mergeId: string, db?: Database): ContactWithDetails;
|
|
13
|
+
//# sourceMappingURL=contacts.d.ts.map
|
|
@@ -0,0 +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;AAsH3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CA8C1F;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,CA2BtG;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,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAqDhG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
export declare function getDatabase(path?: string): Database;
|
|
3
|
+
export declare function resetDatabase(): void;
|
|
4
|
+
export declare function uuid(): string;
|
|
5
|
+
export declare function now(): string;
|
|
6
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAgLtC,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ContactRelationship, CreateRelationshipInput } from "../types/index.js";
|
|
3
|
+
export declare function createRelationship(input: CreateRelationshipInput, db?: Database): ContactRelationship;
|
|
4
|
+
export interface ListRelationshipsOptions {
|
|
5
|
+
contact_id?: string;
|
|
6
|
+
relationship_type?: ContactRelationship["relationship_type"];
|
|
7
|
+
}
|
|
8
|
+
export declare function listRelationships(opts?: ListRelationshipsOptions, db?: Database): ContactRelationship[];
|
|
9
|
+
export declare function getRelationship(id: string, db?: Database): ContactRelationship | null;
|
|
10
|
+
export declare function deleteRelationship(id: string, db?: Database): void;
|
|
11
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/db/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EAExB,MAAM,mBAAmB,CAAC;AAW3B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAgBrG;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;CAC9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,wBAA6B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAqB3G;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,mBAAmB,GAAG,IAAI,CAIrF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAGlE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Contact, CreateTagInput, Tag, UpdateTagInput } from "../types/index.js";
|
|
3
|
+
export declare function createTag(input: CreateTagInput, db?: Database): Tag;
|
|
4
|
+
export declare function getTag(id: string, db?: Database): Tag;
|
|
5
|
+
export declare function getTagByName(name: string, db?: Database): Tag | null;
|
|
6
|
+
export declare function listTags(db?: Database): Tag[];
|
|
7
|
+
export declare function updateTag(id: string, input: UpdateTagInput, db?: Database): Tag;
|
|
8
|
+
export declare function deleteTag(id: string, db?: Database): void;
|
|
9
|
+
export declare function addTagToContact(contactId: string, tagId: string, db?: Database): void;
|
|
10
|
+
export declare function removeTagFromContact(contactId: string, tagId: string, db?: Database): void;
|
|
11
|
+
export declare function listContactsByTag(tagId: string, db?: Database): Contact[];
|
|
12
|
+
export declare function addTagToCompany(companyId: string, tagId: string, db?: Database): void;
|
|
13
|
+
export declare function removeTagFromCompany(companyId: string, tagId: string, db?: Database): void;
|
|
14
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +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,CAiBzE;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
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { getDatabase, resetDatabase } from "./db/database.js";
|
|
2
|
+
export { createContact, getContact, listContacts, updateContact, deleteContact, searchContacts, mergeContacts, } from "./db/contacts.js";
|
|
3
|
+
export { createCompany, getCompany, listCompanies, updateCompany, deleteCompany, searchCompanies, listCompanyEmployees, } from "./db/companies.js";
|
|
4
|
+
export { createTag, getTag, getTagByName, listTags, updateTag, deleteTag, addTagToContact, removeTagFromContact, listContactsByTag, addTagToCompany, removeTagFromCompany, } from "./db/tags.js";
|
|
5
|
+
export { createRelationship, listRelationships, getRelationship, deleteRelationship, } from "./db/relationships.js";
|
|
6
|
+
export { logActivity, listActivity, getActivity } from "./db/activity.js";
|
|
7
|
+
export type { EmailType, PhoneType, AddressType, SocialPlatform, RelationshipType, ContactSource, Email, Phone, Address, SocialProfile, Tag, Contact, ContactWithDetails, Company, CompanyWithDetails, ContactRelationship, ActivityLog, Webhook, 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 { ContactNotFoundError, CompanyNotFoundError, TagNotFoundError, DuplicateTagNameError, } from "./types/index.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,GACd,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,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1E,YAAY,EAEV,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,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,EAEP,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"}
|