@masstensor/anotify 0.5.12 → 0.5.14

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.
@@ -0,0 +1,17 @@
1
+ import { createHmac } from 'node:crypto';
2
+ import { keychainKey } from './vault.js';
3
+ // This is an encrypted presentation hint, never an authorization credential.
4
+ export function deviceGroupForPhone(phoneKey, secret) {
5
+ return createHmac('sha256', secret).update('AgentNotify/device-group/v1\0').update(phoneKey).digest('hex');
6
+ }
7
+ export function localDeviceGroup(phoneKey) {
8
+ if (process.env.AGENT_NOTIFY_MANAGED !== '1' || process.platform !== 'darwin')
9
+ return;
10
+ try {
11
+ return deviceGroupForPhone(phoneKey, keychainKey('device-group-v1'));
12
+ }
13
+ catch {
14
+ return;
15
+ }
16
+ }
17
+ //# sourceMappingURL=device-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-group.js","sourceRoot":"","sources":["../../src/device-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IACnE,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5G,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACtF,IAAI,CAAC;QAAC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO;IAAC,CAAC;AAChG,CAAC"}
@@ -6,7 +6,7 @@ import qr from 'qrcode-terminal';
6
6
  import { generateKeys } from './crypto.js';
7
7
  import { validateRelay, token, hash } from './protocol.js';
8
8
  import { request, HttpError } from './http.js';
9
- import { parsePairingURL, pairingURL, decryptResponse, handshake, verifyProof, encryptLabel } from './pairing.js';
9
+ import { parsePairingURL, pairingURL, decryptResponse, handshake, verifyProof, encryptLabel, continuityProof } from './pairing.js';
10
10
  import { serviceLease } from './service.js';
11
11
  export async function pairPhone(vault, io, relay = 'https://anotify.fenginwind.com', cancel = false) {
12
12
  // A separate lease prevents two pairing commands from replacing each other's saved state.
@@ -58,7 +58,7 @@ export async function pairPhone(vault, io, relay = 'https://anotify.fenginwind.c
58
58
  const state = await request(endpoint + '/' + pending.offer.pairingId, pending.pollToken);
59
59
  if (['expired', 'cancelled'].includes(state.state)) {
60
60
  clear();
61
- throw Error('Pairing expired or cancelled. Run anotify pair for a new code.');
61
+ throw Error('Pairing expired or cancelled. Run ~/.local/bin/anotify pair for a new code.');
62
62
  }
63
63
  if (state.response) {
64
64
  if (pending.response && JSON.stringify(pending.response) !== JSON.stringify(state.response))
@@ -76,7 +76,7 @@ export async function pairPhone(vault, io, relay = 'https://anotify.fenginwind.c
76
76
  return;
77
77
  }
78
78
  if (Date.now() >= pending.offer.expiresAt)
79
- throw Error('Pairing expired during confirmation. Run anotify pair again.');
79
+ throw Error('Pairing expired during confirmation. Run ~/.local/bin/anotify pair again.');
80
80
  pending.confirmed = true;
81
81
  vault.save('pairing-pending', pending);
82
82
  }
@@ -85,13 +85,15 @@ export async function pairPhone(vault, io, relay = 'https://anotify.fenginwind.c
85
85
  throw Error('Invalid phone confirmation; pairing not saved.');
86
86
  vault.save('sender', { relay: pending.offer.relay, deviceId: phone.deviceId, senderId: pending.offer.pairingId, senderToken: pending.senderToken, keys: pending.keys, recipientPublicKey: phone.recipientPublicKey });
87
87
  clear();
88
- io.write('Mac paired. Next: anotify test');
88
+ io.write('Mac paired. Next: ~/.local/bin/anotify test');
89
89
  return;
90
90
  }
91
91
  if (!pending.label) {
92
92
  const name = computerName();
93
93
  if (name) {
94
- pending.label = encryptLabel(pending.offer, state.response, pending.temporary.privateKey, state.response.publicKey, name, randomBytes(12));
94
+ const old = vault.load('sender');
95
+ const continuity = old && old.deviceId === phone.deviceId && old.recipientPublicKey === phone.recipientPublicKey && old.relay === pending.offer.relay ? continuityProof(pending.offer, state.response, old.senderId, old.keys) : undefined;
96
+ pending.label = encryptLabel(pending.offer, state.response, pending.temporary.privateKey, state.response.publicKey, name, randomBytes(12), continuity);
95
97
  vault.save('pairing-pending', pending);
96
98
  }
97
99
  }
@@ -112,10 +114,10 @@ export async function pairPhone(vault, io, relay = 'https://anotify.fenginwind.c
112
114
  await new Promise(done => setTimeout(done, 1500));
113
115
  }
114
116
  clear();
115
- throw Error('Pairing expired. Run anotify pair to try again.');
117
+ throw Error('Pairing expired. Run ~/.local/bin/anotify pair to try again.');
116
118
  }
117
119
  catch (e) {
118
- io.write('Pairing was not completed. Run anotify pair to resume, or anotify pair --cancel to discard this attempt. Existing pairing is kept.');
120
+ io.write('Pairing was not completed. Run ~/.local/bin/anotify pair to resume, or ~/.local/bin/anotify pair --cancel to discard this attempt. Existing pairing is kept.');
119
121
  throw e;
120
122
  }
121
123
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"pairing-cli.js","sourceRoot":"","sources":["../../src/pairing-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pairing-cli.js","sourceRoot":"","sources":["../../src/pairing-cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createECDH, createCipheriv, createDecipheriv, hkdfSync, createHmac, timingSafeEqual } from 'node:crypto';
1
+ import { createECDH, createCipheriv, createDecipheriv, createPrivateKey, sign, hkdfSync, createHmac, timingSafeEqual } from 'node:crypto';
2
2
  import { z } from 'zod';
3
3
  import { publicKey, id, b64, hash, validateRelay } from './protocol.js';
4
4
  export const secret = b64.refine(s => Buffer.from(s, 'base64url').length === 32, 'Expected 256-bit value');
@@ -23,11 +23,20 @@ export function parsePairingURL(text, allowLocal = false) {
23
23
  }
24
24
  function shared(privateKey, publicKey) { const ecdh = createECDH('prime256v1'); ecdh.setPrivateKey(Buffer.from(privateKey, 'base64url')); return ecdh.computeSecret(Buffer.from(publicKey, 'base64url')); }
25
25
  function key(q, privateKey, publicKey) { return Buffer.from(hkdfSync('sha256', shared(privateKey, publicKey), Buffer.from(offerHash(q), 'hex'), Buffer.from('AgentNotify/pair/v2/response'), 32)); }
26
- export function encryptLabel(q, r, privateKey, peer, name, iv) {
26
+ export function continuityProof(q, r, senderId, previous) {
27
+ id.parse(senderId);
28
+ const pub = Buffer.from(previous.publicKey, 'base64url'), priv = Buffer.from(previous.privateKey, 'base64url');
29
+ if (pub.length !== 65 || pub[0] !== 4 || priv.length !== 32)
30
+ throw Error('Invalid prior identity');
31
+ const key = createPrivateKey({ key: { kty: 'EC', crv: 'P-256', x: pub.subarray(1, 33).toString('base64url'), y: pub.subarray(33).toString('base64url'), d: priv.toString('base64url') }, format: 'jwk' });
32
+ const challenge = JSON.stringify(['AgentNotify/rebind/v1', offerHash(q), r.publicKey, r.iv, r.ct, senderId]);
33
+ return { senderId, signature: sign('sha256', Buffer.from(challenge), { key, dsaEncoding: 'ieee-p1363' }).toString('base64url') };
34
+ }
35
+ export function encryptLabel(q, r, privateKey, peer, name, iv, continuity) {
27
36
  const k = Buffer.from(hkdfSync('sha256', shared(privateKey, peer), Buffer.from(offerHash(q), 'hex'), Buffer.from('AgentNotify/pair/v2/device-name'), 32));
28
37
  const cipher = createCipheriv('aes-256-gcm', k, iv);
29
38
  cipher.setAAD(Buffer.from(JSON.stringify([offerHash(q), r.publicKey, r.iv, r.ct, 'device-name'])));
30
- const ct = Buffer.concat([cipher.update(JSON.stringify({ name })), cipher.final(), cipher.getAuthTag()]);
39
+ const ct = Buffer.concat([cipher.update(JSON.stringify({ name, ...(continuity ? { continuity } : {}) })), cipher.final(), cipher.getAuthTag()]);
31
40
  return { iv: iv.toString('base64url'), ct: ct.toString('base64url') };
32
41
  }
33
42
  export function encryptResponse(q, payload, phone, iv) {
@@ -1 +1 @@
1
- {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../../src/pairing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../../src/pairing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1I,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAEtF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,WAAW,CAAC,CAAC,MAAM,KAAG,EAAE,EAAC,wBAAwB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,WAAW,GAAC,CAAC,CAAC,MAAM,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,EAAE,EAAC,eAAe,EAAC,SAAS,EAAC,kBAAkB,EAAC,SAAS,EAAC,eAAe,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAC,UAAU,EAAC,MAAM,EAAC,SAAS,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEnQ,MAAM,CAAC,MAAM,cAAc,GAAC,CAAC,CAAC,MAAM,CAAC,EAAC,SAAS,EAAC,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,WAAW,CAAC,CAAC,MAAM,KAAG,EAAE,CAAC,EAAC,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,IAAE,IAAI,CAAC,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAErJ,MAAM,CAAC,MAAM,WAAW,GAAC,CAAC,CAAC,MAAM,CAAC,EAAC,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,WAAW,CAAC,CAAC,MAAM,KAAG,EAAE,CAAC,EAAC,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,IAAE,IAAI,CAAC,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAExI,MAAM,CAAC,MAAM,aAAa,GAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEtG,MAAM,UAAU,UAAU,CAAC,CAAW,IAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,qBAAqB,EAAC,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,eAAe,EAAC,CAAC,CAAC,kBAAkB,EAAC,CAAC,CAAC,eAAe,EAAC,CAAC,CAAC,UAAU,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAC;AAC9L,MAAM,UAAU,SAAS,CAAC,CAAW,IAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;AACnE,MAAM,UAAU,UAAU,CAAC,CAAW,IAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,OAAO,CAAC,CAAC,KAAK,GAAC,QAAQ,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,eAAe,EAAC,CAAC,CAAC,kBAAkB,EAAC,CAAC,CAAC,eAAe,EAAC,CAAC,CAAC,UAAU,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA,CAAC;AAC3O,MAAM,UAAU,eAAe,CAAC,IAAW,EAAC,UAAU,GAAC,KAAK;IAC3D,IAAG,IAAI,CAAC,MAAM,GAAC,IAAI;QAAC,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAAA,MAAM,CAAC,GAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAAA,MAAM,MAAM,GAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,EAAE,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,CAAC,MAAM,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAAA,MAAM,CAAC,GAAC,WAAW,CAAC,KAAK,CAAC,EAAC,CAAC,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,MAAM,EAAC,SAAS,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,eAAe,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,kBAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,eAAe,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,SAAS,EAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IACpb,IAAG,CAAC,CAAC,QAAQ,IAAE,CAAC,CAAC,QAAQ,IAAE,CAAC,CAAC,QAAQ,KAAG,OAAO,IAAE,CAAC,CAAC,MAAM,IAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAC,UAAU,CAAC,KAAG,CAAC,CAAC,KAAK,IAAE,aAAa,CAAC,CAAC,CAAC,KAAK,EAAC,UAAU,CAAC,KAAG,CAAC,CAAC,KAAK;QAAC,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5L,IAAG,CAAC,CAAC,SAAS,IAAE,IAAI,CAAC,GAAG,EAAE,IAAE,CAAC,CAAC,SAAS,GAAC,IAAI,CAAC,GAAG,EAAE,GAAC,MAAM;QAAC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAAA,OAAO,CAAC,CAAC;AAClI,CAAC;AACD,SAAS,MAAM,CAAC,UAAiB,EAAC,SAAgB,IAAE,MAAM,IAAI,GAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA,CAAC;AAC/M,SAAS,GAAG,CAAC,CAAW,EAAC,UAAiB,EAAC,SAAgB,IAAE,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC,MAAM,CAAC,UAAU,EAAC,SAAS,CAAC,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,EAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC;AAEjN,MAAM,UAAU,eAAe,CAAC,CAAW,EAAC,CAAc,EAAC,QAAe,EAAC,QAAgB;IAC1F,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAAA,MAAM,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,WAAW,CAAC,EAAC,IAAI,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAC,WAAW,CAAC,CAAC;IAC3H,IAAG,GAAG,CAAC,MAAM,KAAG,EAAE,IAAE,GAAG,CAAC,CAAC,CAAC,KAAG,CAAC,IAAE,IAAI,CAAC,MAAM,KAAG,EAAE;QAAC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvF,MAAM,GAAG,GAAC,gBAAgB,CAAC,EAAC,GAAG,EAAC,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAC,CAAC,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,CAAC,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,CAAC,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC;IACvL,MAAM,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,EAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAE,EAAC,QAAQ,CAAC,CAAC,CAAC;IACtG,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAC,IAAI,CAAC,QAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,EAAC,GAAG,EAAC,WAAW,EAAC,YAAY,EAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,CAAC;AACxH,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,CAAW,EAAC,CAAc,EAAC,UAAiB,EAAC,IAAW,EAAC,IAAW,EAAC,EAAS,EAAC,UAAsB;IACjI,MAAM,CAAC,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC,MAAM,CAAC,UAAU,EAAC,IAAI,CAAC,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,EAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC;IAClJ,MAAM,MAAM,GAAC,cAAc,CAAC,aAAa,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC;IAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAE,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/I,MAAM,EAAE,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAC,GAAG,CAAC,UAAU,CAAA,CAAC,CAAA,EAAC,UAAU,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,MAAM,CAAC,KAAK,EAAE,EAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAAA,OAAO,EAAC,EAAE,EAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,CAAC;AACrM,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAW,EAAC,OAAmB,EAAC,KAAa,EAAC,EAAS;IACtF,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAA,MAAM,MAAM,GAAC,cAAc,CAAC,aAAa,EAAC,GAAG,CAAC,CAAC,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC,kBAAkB,CAAC,EAAC,EAAE,CAAC,CAAC;IAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,MAAM,EAAE,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,CAAC,KAAK,EAAE,EAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAAA,OAAO,EAAC,SAAS,EAAC,KAAK,CAAC,SAAS,EAAC,EAAE,EAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAC,CAAC;AAClW,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAW,EAAC,QAAqB,EAAC,SAAiB;IAClF,QAAQ,GAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAAA,MAAM,EAAE,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAC,WAAW,CAAC,CAAC;IAAA,MAAM,QAAQ,GAAC,gBAAgB,CAAC,aAAa,EAAC,GAAG,CAAC,CAAC,EAAC,SAAS,CAAC,UAAU,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAC,WAAW,CAAC,CAAC,CAAC;IAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAA,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,EAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACra,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,CAAW,EAAC,CAAc,EAAC,UAAiB,EAAC,IAAW;IACjF,MAAM,CAAC,GAAC,GAAG,CAAC,CAAC,EAAC,UAAU,EAAC,IAAI,CAAC,CAAC;IAAA,MAAM,OAAO,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAA,MAAM,KAAK,GAAC,CAAC,KAAY,EAAC,EAAE,CAAA,UAAU,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,qBAAqB,EAAC,KAAK,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvO,MAAM,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAC,SAAS,CAAC;IAAA,MAAM,IAAI,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC;IAChI,OAAO,EAAC,IAAI,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,GAAC,GAAG,GAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,CAAC,eAAe,CAAC,EAAC,GAAG,EAAC,KAAK,CAAC,iBAAiB,CAAC,EAAC,CAAC;AAC5G,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,MAAa,EAAC,QAAe,IAAE,MAAM,CAAC,GAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAC,WAAW,CAAC,EAAC,CAAC,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,WAAW,CAAC,CAAC,CAAA,OAAO,CAAC,CAAC,MAAM,KAAG,CAAC,CAAC,MAAM,IAAE,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA,CAAC"}
@@ -47,10 +47,10 @@ export async function setupCLI(args, provided) {
47
47
  return;
48
48
  }
49
49
  const result = await install({ preferences: selected, migrateFrom });
50
- (io?.write ?? console.log)(`\nAgent Notify installed.\nCommand: ${result.command}\nDefault notifications: ${selected.defaultMode === 'all' ? 'on' : 'off'}\nAgents: ${selected.hosts.join(', ')}\nPairing: ${result.paired ? 'preserved' : 'not connected'}\nNo login background service.\nReview the new Hook/MCP entries in your agents. Codex: /hooks.\nStart your agent normally.\nManage later: anotify\nDiagnose: anotify doctor`);
50
+ (io?.write ?? console.log)(`\nAgent Notify installed.\nCommand: ${result.command}\nDefault notifications: ${selected.defaultMode === 'all' ? 'on' : 'off'}\nAgents: ${selected.hosts.join(', ')}\nPairing: ${result.paired ? 'preserved' : 'not connected'}\nNo login background service.\nReview the new Hook/MCP entries in your agents. Codex: /hooks.\nStart your agent normally.\nManage later: ~/.local/bin/anotify\nDiagnose: ~/.local/bin/anotify doctor`);
51
51
  (io?.write ?? console.log)('On iPhone, choose Show message previews in Settings. Decryption stays on your phone; iOS lock-screen settings still apply.');
52
52
  if (!result.paired)
53
- (io?.write ?? console.log)('Next: run anotify pair on Mac, scan its QR in the iPhone app, and compare all 8 digits on both screens.');
53
+ (io?.write ?? console.log)('Next: run ~/.local/bin/anotify pair on Mac, scan its QR in the iPhone app, and compare all 8 digits on both screens.');
54
54
  }
55
55
  finally {
56
56
  own?.close();
@@ -1 +1 @@
1
- {"version":3,"file":"setup-cli.js","sourceRoot":"","sources":["../../src/setup-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-cli.js","sourceRoot":"","sources":["../../src/setup-cli.ts"],"names":[],"mappings":"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"}
package/dist/src/vault.js CHANGED
@@ -1,8 +1,24 @@
1
- import { execFileSync } from 'node:child_process';
1
+ import { spawnSync } from 'node:child_process';
2
2
  import { createCipheriv, createDecipheriv, randomBytes, randomUUID } from 'node:crypto';
3
3
  import { mkdirSync, readFileSync, writeFileSync, existsSync, chmodSync, renameSync, rmSync } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { hash } from './protocol.js';
6
+ export function keychainKey(account, run = args => spawnSync('/usr/bin/security', args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] })) {
7
+ const found = run(['find-generic-password', '-s', 'app.agentnotify.v1', '-a', account, '-w']);
8
+ if (found.status === 0) {
9
+ const key = Buffer.from(String(found.stdout ?? '').trim(), 'base64url');
10
+ if (key.length !== 32)
11
+ throw new Error('Agent Notify Keychain entry is invalid. Do not remove it; contact support.');
12
+ return key;
13
+ }
14
+ if (found.status !== 44)
15
+ throw new Error('Cannot access the macOS login Keychain. Unlock it and retry.');
16
+ const key = randomBytes(32);
17
+ const added = run(['add-generic-password', '-s', 'app.agentnotify.v1', '-a', account, '-w', key.toString('base64url')]);
18
+ if (added.status !== 0)
19
+ throw new Error('Cannot save the Agent Notify key in the macOS login Keychain. Unlock it and retry.');
20
+ return key;
21
+ }
6
22
  export class Vault {
7
23
  dir;
8
24
  key;
@@ -23,16 +39,7 @@ export class Vault {
23
39
  }
24
40
  if (process.platform !== 'darwin')
25
41
  throw new Error('Default secret storage requires macOS Keychain');
26
- const account = hash(dir).slice(0, 32);
27
- let stored;
28
- try {
29
- stored = execFileSync('/usr/bin/security', ['find-generic-password', '-s', 'app.agentnotify.v1', '-a', account, '-w'], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] }).trim();
30
- }
31
- catch {
32
- stored = randomBytes(32).toString('base64url');
33
- execFileSync('/usr/bin/security', ['add-generic-password', '-s', 'app.agentnotify.v1', '-a', account, '-w', stored], { stdio: 'ignore' });
34
- }
35
- this.key = Buffer.from(stored, 'base64url');
42
+ this.key = keychainKey(hash(dir).slice(0, 32));
36
43
  }
37
44
  encrypt(value) { const iv = randomBytes(12); const cipher = createCipheriv('aes-256-gcm', this.key, iv); cipher.setAAD(Buffer.from('AgentNotify/local/v1')); const data = Buffer.concat([cipher.update(JSON.stringify(value)), cipher.final()]); return Buffer.concat([iv, cipher.getAuthTag(), data]).toString('base64url'); }
38
45
  decrypt(text) { const b = Buffer.from(text, 'base64url'); const decipher = createDecipheriv('aes-256-gcm', this.key, b.subarray(0, 12)); decipher.setAAD(Buffer.from('AgentNotify/local/v1')); decipher.setAuthTag(b.subarray(12, 28)); return JSON.parse(Buffer.concat([decipher.update(b.subarray(28)), decipher.final()]).toString()); }
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@masstensor/anotify",
3
- "version": "0.5.12",
3
+ "version": "0.5.14",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@masstensor/anotify",
9
- "version": "0.5.12",
9
+ "version": "0.5.14",
10
10
  "dependencies": {
11
11
  "@hpke/core": "^1.7.0",
12
12
  "@modelcontextprotocol/sdk": "^1.20.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masstensor/anotify",
3
- "version": "0.5.12",
3
+ "version": "0.5.14",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {