@hasna/contacts 0.8.1 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +10 -0
  2. package/dist/browser/cli.d.ts +4 -0
  3. package/dist/browser/cli.d.ts.map +1 -0
  4. package/dist/browser/identity.d.ts +3 -0
  5. package/dist/browser/identity.d.ts.map +1 -0
  6. package/dist/browser/install.d.ts +32 -0
  7. package/dist/browser/install.d.ts.map +1 -0
  8. package/dist/browser/native.d.ts +3 -0
  9. package/dist/browser/native.d.ts.map +1 -0
  10. package/dist/browser/native.js +822 -0
  11. package/dist/browser/protocol.d.ts +26 -0
  12. package/dist/browser/protocol.d.ts.map +1 -0
  13. package/dist/browser/values.d.ts +18 -0
  14. package/dist/browser/values.d.ts.map +1 -0
  15. package/dist/cli/commands/core.d.ts.map +1 -1
  16. package/dist/cli/index.js +408 -127
  17. package/dist/cli/status-domain.preload.d.ts +1 -1
  18. package/dist/cli/status-domain.preload.d.ts.map +1 -1
  19. package/dist/cli/status-fixture.d.ts +17 -0
  20. package/dist/cli/status-fixture.d.ts.map +1 -0
  21. package/dist/index.js +43 -4
  22. package/dist/lib/audience-contract.d.ts +9 -9
  23. package/dist/lib/compact-output.d.ts +67 -0
  24. package/dist/lib/compact-output.d.ts.map +1 -0
  25. package/dist/mcp/handlers/core.d.ts.map +1 -1
  26. package/dist/mcp/index.d.ts +2 -1
  27. package/dist/mcp/index.d.ts.map +1 -1
  28. package/dist/mcp/index.js +378 -194
  29. package/dist/mcp/profile.d.ts +8 -0
  30. package/dist/mcp/profile.d.ts.map +1 -0
  31. package/dist/mcp/register-tools.d.ts +3 -1
  32. package/dist/mcp/register-tools.d.ts.map +1 -1
  33. package/dist/mcp/storage-tools.d.ts +2 -1
  34. package/dist/mcp/storage-tools.d.ts.map +1 -1
  35. package/dist/mcp/tools.d.ts +7 -45
  36. package/dist/mcp/tools.d.ts.map +1 -1
  37. package/dist/sdk/index.js +1 -1
  38. package/dist/server/index.js +30 -16
  39. package/dist/server/pg-store.d.ts +1 -0
  40. package/dist/server/pg-store.d.ts.map +1 -1
  41. package/dist/store/index.d.ts.map +1 -1
  42. package/docs/chrome-autofill.md +45 -0
  43. package/extension/background.js +284 -0
  44. package/extension/content.js +392 -0
  45. package/extension/detect.js +228 -0
  46. package/extension/fill.js +112 -0
  47. package/extension/icons/128.png +0 -0
  48. package/extension/icons/16.png +0 -0
  49. package/extension/icons/32.png +0 -0
  50. package/extension/icons/48.png +0 -0
  51. package/extension/icons/icon.svg +7 -0
  52. package/extension/manifest.json +54 -0
  53. package/extension/popup.css +71 -0
  54. package/extension/popup.html +50 -0
  55. package/extension/popup.js +166 -0
  56. package/package.json +9 -5
package/README.md CHANGED
@@ -11,6 +11,16 @@ Contact management for AI coding agents — CLI + MCP + authenticated HTTP API
11
11
  npm install -g @hasna/contacts
12
12
  ```
13
13
 
14
+ ## Chrome extension
15
+
16
+ The package ships a Chrome extension that fills name, email, phone, company
17
+ and address fields from your contacts — from the toolbar popup or from the
18
+ Contacts badge that appears inside detected form fields. It uses the same
19
+ hosted API and credential as the CLI. Run `contacts browser install`, load the
20
+ printed `extensionPath` unpacked in `chrome://extensions`, and see
21
+ [docs/chrome-autofill.md](docs/chrome-autofill.md) for how detection, the
22
+ picker and the security boundaries work.
23
+
14
24
  ## Configure the client
15
25
 
16
26
  Every CLI, MCP, and package data operation uses one authenticated HTTPS `/v1`
@@ -0,0 +1,4 @@
1
+ import type { Command } from "commander";
2
+ /** `contacts browser …` — install and inspect the Chrome extension bridge. JSON output only. */
3
+ export declare function registerBrowserCommands(program: Command): void;
4
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/browser/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsB9D"}
@@ -0,0 +1,3 @@
1
+ export declare const EXTENSION_ID = "ceegpmbcoiomonopbhpifdalooccfgjj";
2
+ export declare const HOST_NAME = "com.hasna.contacts";
3
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/browser/identity.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,qCAAqC,CAAC;AAC/D,eAAO,MAAM,SAAS,uBAAuB,CAAC"}
@@ -0,0 +1,32 @@
1
+ export declare function hostDirectories(home?: string, userDataDir?: string): string[];
2
+ export interface InstallOptions {
3
+ userDataDir?: string;
4
+ /** Test seam: the home directory that owns ~/.hasna/contacts and the Chrome profiles. */
5
+ home?: string;
6
+ /** Test seam: the package root that holds extension/ and dist/. */
7
+ root?: string;
8
+ /** Test seam: the absolute runtime used in the host shebang. */
9
+ execPath?: string;
10
+ }
11
+ export declare function installBrowser(options?: InstallOptions): {
12
+ ok: true;
13
+ extensionId: string;
14
+ extensionPath: string;
15
+ nativeHost: string;
16
+ nativeManifests: string[];
17
+ next: string;
18
+ };
19
+ export declare function browserStatus(options?: {
20
+ home?: string;
21
+ userDataDir?: string;
22
+ }): {
23
+ ok: true;
24
+ extensionId: string;
25
+ extensionInstalled: boolean;
26
+ nativeHostInstalled: boolean;
27
+ manifests: {
28
+ path: string;
29
+ present: boolean;
30
+ }[];
31
+ };
32
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/browser/install.ts"],"names":[],"mappings":"AAgBA,wBAAgB,eAAe,CAAC,IAAI,SAAY,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhF;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,cAAmB;;;;;;;EAuC1D;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;EAclF"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/browser/native.ts"],"names":[],"mappings":""}