@hraness/peopleblade 0.2.1 → 0.2.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/README.md CHANGED
@@ -15,7 +15,7 @@ Installation includes the pinned runtime dependencies Zod 4.4.3 and Effect 3.22.
15
15
  ## Install
16
16
 
17
17
  ```bash
18
- bun add --global @hraness/peopleblade@0.2.1
18
+ bun add --global @hraness/peopleblade@0.2.2
19
19
  peopleblade --version
20
20
  peopleblade init
21
21
  peopleblade stats --json
@@ -37,33 +37,37 @@ authorized devices, `peopleblade cloud revoke DEVICE_ID` for a lost device, and
37
37
  token. The signed-in dashboard provides the lost-device recovery path when no CLI
38
38
  token remains available.
39
39
 
40
- ### Optional Wrench-backed sources
40
+ ### Optional Ghostget-backed sources
41
41
 
42
- The package does not install Wrench, browser automation, KB, native model runtimes,
42
+ The package does not install Ghostget, browser automation, KB, native model runtimes,
43
43
  or provider credentials. Beeper, Google, and WhatsApp live sync commands delegate
44
- through a separately reviewed `wrench` executable on `PATH` (or the absolute
45
- `PEOPLEBLADE_WRENCH_EXECUTABLE` path). PeopleBlade bundles only the pinned Wrench
46
- 0.16.8 client validators needed to fence requests and receipts; it does not bundle
47
- or silently download Wrench's execution runtime.
44
+ through a separately reviewed `ghostget` executable on `PATH` (or the absolute
45
+ `PEOPLEBLADE_GHOSTGET_EXECUTABLE` path). PeopleBlade bundles only the pinned Ghostget
46
+ 0.17.1 client validators needed to fence requests and receipts; it does not bundle
47
+ or silently download Ghostget's execution runtime.
48
48
 
49
- PeopleBlade 0.2.1 contains the reviewed Wrench-backed Beeper, Google, and WhatsApp
49
+ `PEOPLEBLADE_WRENCH_EXECUTABLE` remains a compatibility alias for the explicit
50
+ path. When both variables are set, they must name the same executable. The
51
+ bridge still requires exact Ghostget 0.17.1 before invoking a provider operation.
52
+
53
+ PeopleBlade 0.2.2 contains the reviewed Ghostget-backed Beeper, Google, and WhatsApp
50
54
  live sync commands. Running them requires the separately installed public
51
- `@hraness/wrench` 0.16.8 package. Beeper support is bounded to account-aware
55
+ `@hraness/ghostget` 0.17.1 package. Beeper support is bounded to account-aware
52
56
  `contacts.list@3` reads, `contacts.search@1`, `messaging.search@2`, and the separate
53
57
  body-free interaction exporter. `contacts.search@1` executes the official Beeper
54
- CLI 0.6.2 executable pinned by Wrench; `contacts.list@3` and `messaging.search@2`
55
- use Wrench's bounded Desktop-loopback read paths. The exporter is macOS arm64 only
58
+ CLI 0.6.2 executable pinned by Ghostget; `contacts.list@3` and `messaging.search@2`
59
+ use Ghostget's bounded Desktop-loopback read paths. The exporter is macOS arm64 only
56
60
  and reports lower-bound interaction counts from complete one-to-one conversations
57
61
  only. See
58
62
  [peopleblade.com/sources](https://peopleblade.com/sources) for the complete provider
59
63
  guide. A database previously synced by PeopleBlade 0.1.1 through Wrench 0.16.7
60
64
  must run `peopleblade beeper rebind --auth beeper-main --confirm --json` once after
61
- installing Wrench 0.16.8. The command appends reviewed metadata for the same source
65
+ installing Ghostget 0.17.1. The command appends reviewed metadata for the same source
62
66
  identity only after both complete account inventories match. Do not force-bind
63
- Wrench unless its authenticated Desktop target changed. PeopleBlade calls no
64
- Beeper interface directly and exposes none of Wrench's Beeper send or action
67
+ Ghostget unless its authenticated Desktop target changed. PeopleBlade calls no
68
+ Beeper interface directly and exposes none of Ghostget's Beeper send or action
65
69
  operations. Archive imports, Apple Contacts, iMessage, notes, identity review,
66
- backups, and optional PeopleBlade cloud commands do not require Wrench.
70
+ backups, and optional PeopleBlade cloud commands do not require Ghostget.
67
71
 
68
72
  ## Browse and edit locally
69
73
 
@@ -118,9 +122,9 @@ message text. The optional cloud projection excludes source records, raw archive
118
122
  local paths, provider credentials, note bodies and revisions, and message bodies. Ambiguous identity links
119
123
  remain reviewable instead of being silently merged.
120
124
 
121
- This npm artifact contains only the bundled local CLI, its pinned Wrench client
125
+ This npm artifact contains only the bundled local CLI, its pinned Ghostget client
122
126
  validators and executable bridge, SQLite migrations, and package documentation.
123
- It includes the self-contained loopback workspace, but not the Wrench execution
127
+ It includes the self-contained loopback workspace, but not the Ghostget execution
124
128
  runtime, hosted PeopleBlade web server, billing
125
129
  implementation, operational tooling, tests, or private product documentation.
126
130
 
@@ -1,8 +1,8 @@
1
1
  # Third-party notices
2
2
 
3
3
  The PeopleBlade CLI bundle includes reviewed client-boundary code from
4
- `@hraness/wrench` 0.16.8 (commit
5
- `b0cf2ecbc1113fcc8ef673a824be475c3d7bbb46`) and message-bundle contract code
4
+ `@hraness/ghostget` 0.17.1 (commit
5
+ `b74ae2ac594bcf07c3def71dc4bb2e5a98c826dd`) and message-bundle contract code
6
6
  from `@hraness/message-like-me` 0.7.0. Those portions are provided under the
7
7
  following license. The PeopleBlade CLI package has its own MIT grant in
8
8
  `LICENSE`; this notice preserves the attribution for the bundled portions.
package/dist/cli.ts CHANGED
@@ -3,10 +3,20 @@
3
3
  import { accessSync, constants, realpathSync } from "node:fs";
4
4
  import { isAbsolute, resolve } from "node:path";
5
5
 
6
- const reviewedWrenchVersion = "0.16.8";
7
- const configured = process.env.PEOPLEBLADE_WRENCH_EXECUTABLE;
6
+ const reviewedGhostgetVersion = "0.17.1";
7
+ const canonicalConfigured = process.env.PEOPLEBLADE_GHOSTGET_EXECUTABLE;
8
+ const legacyConfigured = process.env.PEOPLEBLADE_WRENCH_EXECUTABLE;
9
+ if (
10
+ canonicalConfigured !== undefined
11
+ && legacyConfigured !== undefined
12
+ && canonicalConfigured !== legacyConfigured
13
+ ) {
14
+ console.error("PEOPLEBLADE_GHOSTGET_EXECUTABLE and PEOPLEBLADE_WRENCH_EXECUTABLE must name the same executable when both are set.");
15
+ process.exit(127);
16
+ }
17
+ const configured = canonicalConfigured ?? legacyConfigured;
8
18
  const executable = configured === undefined
9
- ? Bun.which("wrench")
19
+ ? Bun.which("ghostget")
10
20
  : isAbsolute(configured)
11
21
  ? resolve(configured)
12
22
  : null;
@@ -14,8 +24,8 @@ const executable = configured === undefined
14
24
  if (executable === null) {
15
25
  console.error(
16
26
  configured === undefined
17
- ? "PeopleBlade Wrench-backed sources require a separately reviewed `wrench` executable on PATH."
18
- : "PEOPLEBLADE_WRENCH_EXECUTABLE must be an absolute executable path.",
27
+ ? "PeopleBlade Ghostget-backed sources require a separately reviewed `ghostget` executable on PATH."
28
+ : "PEOPLEBLADE_GHOSTGET_EXECUTABLE must be an absolute executable path.",
19
29
  );
20
30
  process.exit(127);
21
31
  }
@@ -25,11 +35,11 @@ try {
25
35
  accessSync(executable, constants.X_OK);
26
36
  canonicalExecutable = realpathSync(executable);
27
37
  } catch {
28
- console.error("The configured PeopleBlade Wrench executable is unavailable or not executable.");
38
+ console.error("The configured PeopleBlade Ghostget executable is unavailable or not executable.");
29
39
  process.exit(127);
30
40
  }
31
41
  if (process.argv[1] !== undefined && canonicalExecutable === realpathSync(process.argv[1])) {
32
- console.error("The PeopleBlade Wrench executable bridge cannot delegate to itself.");
42
+ console.error("The PeopleBlade Ghostget executable bridge cannot delegate to itself.");
33
43
  process.exit(127);
34
44
  }
35
45
 
@@ -54,11 +64,11 @@ if (
54
64
  || versionProbe.signalCode !== undefined
55
65
  || versionProbe.exitedDueToTimeout === true
56
66
  || versionProbe.exitedDueToMaxBuffer === true
57
- || versionProbe.stdout?.toString() !== `${reviewedWrenchVersion}\n`
67
+ || versionProbe.stdout?.toString() !== `${reviewedGhostgetVersion}\n`
58
68
  || versionProbe.stderr?.byteLength !== 0
59
69
  ) {
60
70
  console.error(
61
- `PeopleBlade Wrench-backed sources require the exact reviewed Wrench ${reviewedWrenchVersion} executable.`,
71
+ `PeopleBlade Ghostget-backed sources require the exact reviewed Ghostget ${reviewedGhostgetVersion} executable.`,
62
72
  );
63
73
  process.exit(126);
64
74
  }