@tinycloud/courier 0.6.0-beta.22 → 0.6.0-beta.24

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,155 @@
1
+ import { CourierError, isAuthorizationRefusal, isNotFoundError } from './errors.js';
2
+ import { cmd } from './program.js';
3
+ import { k } from './keys.js';
4
+ import { oneLine } from './a2a.js';
5
+ import { loadGrant, loadProfile, withProfileTransaction } from './profile.js';
6
+ import { courierNode, peerKv } from './node.js';
7
+ import { maintainOutbound } from './interim-renewal.js';
8
+ import { markOwnerRefused, preflightOwner } from './interim-owner.js';
9
+ export async function prepareOwnerAccess(request = false) {
10
+ const result = await preflightOwner({ request });
11
+ if (result.state === 'revoked')
12
+ throw new CourierError('owner-revoked', `Courier access was revoked. Run \`${cmd('init --request')}\` to request new approval.`);
13
+ if (result.state === 'approval-required') {
14
+ throw new CourierError('approval-required', result.approvalUrl
15
+ ? `Courier needs your approval to keep renewing access. Approve the request in OpenKey, then run \`${cmd('init --wait')}\`.\n${result.approvalUrl}`
16
+ : `Courier access has expired. Run \`${cmd('init --request')}\` to request new approval.`);
17
+ }
18
+ if (result.notify)
19
+ console.error(result.approvalUrl
20
+ ? `Courier needs your approval to keep renewing access. Approve the request in OpenKey, then run \`${cmd('init --wait')}\`.\n${result.approvalUrl}`
21
+ : `Courier couldn't create an approval request. Run \`${cmd('init --request')}\` to try again.`);
22
+ return result;
23
+ }
24
+ /** Explicit and automatic paths use the same profile transaction and the same issuance policy. */
25
+ export async function maintainPeerSet(node, target, collect = false) {
26
+ const handles = Object.values(loadProfile().peers).filter(peer => peer.status === 'paired' && (!target || peer.handle === target)).map(peer => peer.handle);
27
+ let canRequestApproval = true;
28
+ for (const handle of handles) {
29
+ try {
30
+ await withProfileTransaction(async (profile, save) => {
31
+ const peer = profile.peers[handle];
32
+ if (!peer || !watchPeerEligible(peer))
33
+ return;
34
+ if (node.credentialHolderDid !== profile.courierDid) {
35
+ canRequestApproval = false;
36
+ return;
37
+ }
38
+ try {
39
+ const result = await maintainOutbound(node, profile, peer, save);
40
+ if (result.state === 'lapsed' || result.state === 'owner-revoked')
41
+ canRequestApproval = false;
42
+ if (result.state === 'unavailable') {
43
+ canRequestApproval = false;
44
+ if (!peer.interim?.unavailableAt) {
45
+ peer.interim ??= { cleanup: {} };
46
+ peer.interim.unavailableAt = new Date().toISOString();
47
+ profile.version = 4;
48
+ save();
49
+ }
50
+ }
51
+ else if (peer.interim?.unavailableAt) {
52
+ delete peer.interim.unavailableAt;
53
+ save();
54
+ }
55
+ }
56
+ catch (error) {
57
+ if (isAuthorizationRefusal(error) || (error instanceof CourierError && error.code === 'owner-authority-refused'))
58
+ throw error;
59
+ canRequestApproval = false;
60
+ peer.interim ??= { cleanup: {} };
61
+ peer.interim.unavailableAt ??= new Date().toISOString();
62
+ profile.version = 4;
63
+ save();
64
+ }
65
+ });
66
+ if (collect) {
67
+ const current = loadProfile();
68
+ const peer = current.peers[handle];
69
+ if (peer && watchPeerEligible(peer)) {
70
+ try {
71
+ await peerKv(node, current, peer);
72
+ }
73
+ catch (error) {
74
+ if (isAuthorizationRefusal(error))
75
+ await recordAuthorityRefusal(`peer:${handle}`);
76
+ else if (!(error instanceof CourierError))
77
+ throw error;
78
+ }
79
+ }
80
+ }
81
+ }
82
+ catch (error) {
83
+ if (isAuthorizationRefusal(error) || (error instanceof CourierError && error.code === 'owner-authority-refused')) {
84
+ await markOwnerRefused();
85
+ throw new CourierError('owner-authority-refused', `Courier's access was refused, so automatic renewal has stopped. Run \`${cmd('init --request')}\` to request new approval.`);
86
+ }
87
+ if (!(error instanceof CourierError))
88
+ throw error;
89
+ canRequestApproval = false;
90
+ // Other peers stay independent; the normal requested read still reports this peer's refusal.
91
+ console.error(`Courier couldn't renew access for ${oneLine(handle)}. Its current access is unchanged.`);
92
+ }
93
+ }
94
+ const owner = await prepareOwnerAccess();
95
+ if (canRequestApproval && owner.requestDue) {
96
+ // restoreSession is local. Even with no eligible peer lineage, prove owner authority on the node before asking.
97
+ let authenticated = false;
98
+ try {
99
+ const read = await node.kv.get(k.watchState, { prefix: '' });
100
+ if (!read.ok && !isNotFoundError(read.error))
101
+ throw read.error;
102
+ authenticated = true; // A signed, authorized 404 also proves the read was accepted.
103
+ }
104
+ catch (error) {
105
+ if (isAuthorizationRefusal(error)) {
106
+ await markOwnerRefused();
107
+ throw new CourierError('owner-authority-refused', `Courier's access was refused, so automatic renewal has stopped. Run \`${cmd('init --request')}\` to request new approval.`);
108
+ }
109
+ // Unknown and transient results cannot authorize an automatic request.
110
+ }
111
+ if (authenticated)
112
+ await prepareOwnerAccess(true);
113
+ }
114
+ }
115
+ export function watchPeerEligible(peer, now = Date.now()) {
116
+ return peer.status === 'paired' && !!peer.inbound && !!peer.theirHandleForMe
117
+ && Number.isFinite(Date.parse(peer.inbound.expiresAt)) && Date.parse(peer.inbound.expiresAt) > now
118
+ && !peer.interim?.latchedAt && !peer.interim?.inboundRefusedAt;
119
+ }
120
+ export async function recordAuthorityRefusal(source) {
121
+ if (!source.startsWith('peer:')) {
122
+ await markOwnerRefused();
123
+ return;
124
+ }
125
+ const handle = source.split(':')[1];
126
+ await withProfileTransaction(async (profile, save) => {
127
+ const peer = profile.peers[handle];
128
+ if (!peer)
129
+ return;
130
+ peer.interim ??= { cleanup: {} };
131
+ peer.interim.inboundRefusedAt ??= new Date().toISOString();
132
+ profile.version = 4;
133
+ save();
134
+ });
135
+ }
136
+ export async function createRuntimeNode() {
137
+ await prepareOwnerAccess();
138
+ try {
139
+ return await courierNode(loadProfile());
140
+ }
141
+ catch (error) {
142
+ if (isAuthorizationRefusal(error))
143
+ await markOwnerRefused();
144
+ throw error;
145
+ }
146
+ }
147
+ /** A changed owner grant restarts a service so every captured SDK service uses the verified new session. */
148
+ export async function watchPreflight(node) {
149
+ await prepareOwnerAccess();
150
+ if (loadGrant()?.delegationCid !== node.restorableSession?.delegationCid) {
151
+ throw new CourierError('owner-grant-changed', `Your approval for Courier changed. Run your \`${cmd('watch')}\` command again to use it.`);
152
+ }
153
+ await maintainPeerSet(node);
154
+ }
155
+ //# sourceMappingURL=interim-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interim-runtime.js","sourceRoot":"","sources":["../src/interim-runtime.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -3,7 +3,7 @@ import { assertKnownFlags } from './flags.js';
3
3
  import { pendingNextLine } from './next-line.js';
4
4
  import { CourierError, CourierPending, EXIT_PENDING, errInfo } from './errors.js';
5
5
  import { requestHelp, cmdInit, cmdManifest, cmdPair, cmdRevoke, cmdSend, cmdInbox, cmdRead, cmdTask, cmdRequest, cmdOrders, } from './commands.js';
6
- import { cmd, programName, setProgramName } from './program.js';
6
+ import { cmd, programName, setProgramName, tcCmd } from './program.js';
7
7
  import { cmdWatch } from './watch-cmd.js';
8
8
  import { cmdIntake } from './intake/intake.js';
9
9
  import { cmdOutbox } from './outbox.js';
@@ -48,13 +48,13 @@ Setup & pairing (humans run these):
48
48
  Accept artifact A, B or C; prints B or C to pass on
49
49
  pair renew [peer] [--force] Renew both directions; humans or watcher only
50
50
  pair renew <peer> --renew-artifact [--force] Emit renewed C artifact for handoff; receiver runs pair accept
51
- revoke <peer> Stop renewing and remove the peer; their access ends when the current grant expires. Files you already shared stay available until each share expires or you revoke it (\`tinycloud share revoke <id>\`).
51
+ revoke <peer> Revoke the peer's access and remove the pairing. Files you already shared stay available until each share expires or you revoke it (\`${tcCmd('share revoke <id>')}\`).
52
52
 
53
53
  Threads (agents run these):
54
54
  send <peer> (--new <subject> | --thread <id>) [--text t | --file f | stdin]
55
55
  [--intent request|ask|answer|update|inform] [--ask "…"]… [--constraint "…"]…
56
56
  [--reply-to <messageId>] [--task-ref <taskId>]…
57
- status [--peer <peer>] [--json] Saved per-side expiry
57
+ status [--peer <peer>] [--json] Saved per-side expiry; no remote access or renewal check
58
58
  inbox [--json] [--peek] New counterparty messages; --peek skips receipt updates
59
59
  read <threadId> [--peer p] [--json]
60
60
  The merged thread: both sides' messages + tasks
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/dist/node.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { TinyCloudNode } from '@tinycloud/node-sdk';
2
- import type { IHooksService } from '@tinycloud/node-sdk';
2
+ import type { IHooksService, ValidatedRuntimeDelegation } from '@tinycloud/node-sdk';
3
3
  import type { Profile, StoredPeer } from './profile.js';
4
4
  export declare function nodeOpts(host: string): {
5
5
  host: string;
@@ -10,7 +10,11 @@ export declare function nodeOpts(host: string): {
10
10
  includeAccountRegistryPermissions: boolean;
11
11
  };
12
12
  export declare function courierNode(profile: Profile, home?: string): Promise<TinyCloudNode>;
13
+ export declare function currentInbound(node: TinyCloudNode, profile: Profile, peer: StoredPeer): Promise<ValidatedRuntimeDelegation>;
13
14
  export declare function peerKv(node: TinyCloudNode, profile: Profile, peer: StoredPeer): Promise<import("@tinycloud/node-sdk").IKVService>;
15
+ /** Ignore outbound issuance and display labels; compare identity, both mailbox handles and the original grant. */
16
+ export declare function renewalBinding(profile: Profile, peer: StoredPeer | undefined): string;
17
+ export declare function assertInboundLive(peer: StoredPeer, signedExpiry?: Date): void;
14
18
  /**
15
19
  * Hook subscriptions on a peer's mailbox. The courier node cannot `useDelegation` (its holder is the owner's
16
20
  * did:pkh), and a hook ticket minted from the node's own session is refused for a peer's space (401), so the
package/dist/node.js CHANGED
@@ -1,9 +1,11 @@
1
- import { TinyCloudNode, DelegatedAccess, NodeWasmBindings, activateValidatedRuntimeDelegation, deserializeDelegation } from '@tinycloud/node-sdk';
1
+ import { TinyCloudNode, DelegatedAccess, NodeWasmBindings, activateValidatedRuntimeDelegation, deserializeDelegation, serializeDelegation } from '@tinycloud/node-sdk';
2
2
  import { cmd } from './program.js';
3
3
  import { CourierError } from './errors.js';
4
- import { COURIER_SPACE } from './keys.js';
5
- import { loadGrant, loadKey } from './profile.js';
6
- import { assertAgentGrant, assertPeerDelegation, siweTimes } from './authority.js';
4
+ import { COURIER_SPACE, k } from './keys.js';
5
+ import { loadGrant, loadKey, withProfileTransaction } from './profile.js';
6
+ import { canonicalJson } from './canonical.js';
7
+ import { getJson } from './store.js';
8
+ import { assertAgentGrant, assertPeerDelegation, bareDid, siweTimes } from './authority.js';
7
9
  export function nodeOpts(host) {
8
10
  return {
9
11
  host,
@@ -62,16 +64,19 @@ export async function courierNode(profile, home) {
62
64
  }
63
65
  return node;
64
66
  }
65
- export async function peerKv(node, profile, peer) {
67
+ export async function currentInbound(node, profile, peer) {
66
68
  if (!peer.inbound) {
67
69
  throw new CourierError('not-paired', `No delegation from ${peer.handle} yet (status ${peer.status}). Finish pairing first.`);
68
70
  }
69
71
  if (!peer.theirHandleForMe) {
70
72
  throw new CourierError('not-paired', `Peer ${peer.handle} is missing its mailbox handle; finish pairing first.`);
71
73
  }
74
+ if (peer.interim?.latchedAt || peer.interim?.inboundRefusedAt)
75
+ throw new CourierError('peer-revoked', `Sharing with ${peer.handle} was revoked. A new pairing is required.`);
76
+ assertInboundLive(peer);
72
77
  let cids = activatedCids.get(node);
73
78
  if (!cids) {
74
- cids = new Set();
79
+ cids = new Map();
75
80
  activatedCids.set(node, cids);
76
81
  }
77
82
  if (!cids.has(peer.inbound.cid)) {
@@ -87,10 +92,72 @@ export async function peerKv(node, profile, peer) {
87
92
  if (activated.cid !== peer.inbound.cid) {
88
93
  throw new CourierError('bad-delegation', `Peer delegation CID does not match the stored CID for ${peer.handle}.`);
89
94
  }
90
- cids.add(peer.inbound.cid);
95
+ cids.set(peer.inbound.cid, activated);
96
+ }
97
+ const current = cids.get(peer.inbound.cid);
98
+ assertInboundLive(peer, current.expiry);
99
+ return current;
100
+ }
101
+ export async function peerKv(node, profile, peer) {
102
+ const original = renewalBinding(profile, peer);
103
+ const current = await currentInbound(node, profile, peer);
104
+ const cids = activatedCids.get(node);
105
+ const kv = node.kvForSpace(peer.spaceId);
106
+ // Awaiting-C still needs the explicit pairing acknowledgement, not a renewal.
107
+ if (peer.status !== 'paired')
108
+ return kv;
109
+ const update = await getJson(kv, k.peerDelegation(peer.theirHandleForMe, peer.sessionId));
110
+ assertInboundLive(peer, current.expiry);
111
+ if (!update?.value.delegation)
112
+ return kv;
113
+ const delegation = deserializeDelegation(update.value.delegation);
114
+ if (delegation.cid === peer.inbound.cid || delegation.expiry.getTime() <= Math.max(current.expiry.getTime(), Date.parse(peer.inbound.expiresAt)))
115
+ return kv;
116
+ if (delegation.spaceId !== peer.spaceId || delegation.ownerAddress.toLowerCase() !== peer.ownerDid.split(':').at(-1)?.toLowerCase()) {
117
+ throw new CourierError('bad-delegation', 'Peer renewal owner or space does not match the pairing.');
91
118
  }
119
+ const renewed = await activateValidatedRuntimeDelegation(node, delegation, {
120
+ host: profile.host,
121
+ // Preserve signed caveats as well as the mailbox/session abilities.
122
+ authorize: permissions => canonicalJson(permissions.map(entry => canonicalJson(entry)).sort()) === canonicalJson(current.effectivePermissions.map(entry => canonicalJson(entry)).sort()),
123
+ });
124
+ assertPeerDelegation(renewed, {
125
+ issuer: peer.courierDid, audience: profile.courierDid, spaceId: peer.spaceId,
126
+ mailbox: peer.theirHandleForMe, sessionId: peer.sessionId,
127
+ });
128
+ assertInboundLive(peer, current.expiry);
129
+ await withProfileTransaction(async (disk, save) => {
130
+ if (renewalBinding(disk, disk.peers[peer.handle]) !== original || bareDid(loadKey().did) !== disk.courierDid) {
131
+ throw new CourierError('peer-changed', 'The pairing changed while Courier was renewing. Run the command again.');
132
+ }
133
+ const stored = disk.peers[peer.handle];
134
+ assertInboundLive(stored, current.expiry);
135
+ assertInboundLive(stored, renewed.expiry);
136
+ const inbound = { delegation: serializeDelegation(renewed.delegation), cid: renewed.cid, expiresAt: renewed.expiry.toISOString() };
137
+ stored.inbound = inbound;
138
+ save();
139
+ peer.inbound = inbound;
140
+ if (profile.peers[peer.handle])
141
+ profile.peers[peer.handle].inbound = inbound;
142
+ });
143
+ cids.set(renewed.cid, renewed);
92
144
  return node.kvForSpace(peer.spaceId);
93
145
  }
146
+ /** Ignore outbound issuance and display labels; compare identity, both mailbox handles and the original grant. */
147
+ export function renewalBinding(profile, peer) {
148
+ return canonicalJson({
149
+ host: profile.host, courierDid: profile.courierDid, ownerDid: profile.ownerDid,
150
+ spaceId: profile.spaceId, selfHandle: profile.selfHandle, status: profile.status,
151
+ peer: peer ? { ...peer, outbound: undefined, label: undefined, interim: peer.interim?.latchedAt || peer.interim?.inboundRefusedAt || peer.interim?.ownerRevoked
152
+ ? { latchedAt: peer.interim.latchedAt, inboundRefusedAt: peer.interim.inboundRefusedAt, ownerRevoked: peer.interim.ownerRevoked, ownerRevokedCid: peer.interim.ownerRevokedCid } : undefined } : undefined,
153
+ });
154
+ }
155
+ export function assertInboundLive(peer, signedExpiry) {
156
+ const expiry = Date.parse(peer.inbound?.expiresAt ?? '');
157
+ if (!Number.isFinite(expiry) || expiry <= Date.now() || (signedExpiry && signedExpiry.getTime() <= Date.now())) {
158
+ throw new CourierError('peer-expired', `Access from ${peer.handle} has expired. A new pairing is required.`);
159
+ }
160
+ }
94
161
  let wasm;
95
162
  /**
96
163
  * Hook subscriptions on a peer's mailbox. The courier node cannot `useDelegation` (its holder is the owner's
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAElJ,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAW,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5F,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO;QACL,IAAI;QACJ,sBAAsB,EAAE,CAAC,IAAI,CAAC;QAC9B,qBAAqB,EAAE,KAAK;QAC5B,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,iCAAiC,EAAE,KAAK;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,IAAa;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,cAAc,aAAa,mDAAmD,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9I,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,cAAc,aAAa,+CAA+C,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1I,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8CAA8C,GAAG,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,8BAA8B,aAAa,WAAW,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACtJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oCAAoC,GAAG,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;IAC1I,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,oBAAoB,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC3I,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,CAAC,cAAc,CAAC;QACxB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,mBAAmB,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,gBAAgB,IAAI,CAAC,mBAAmB,+BAA+B,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IACpI,CAAC;IACD,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,IAAI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAClI,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,mEAAmE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB,EAAE,OAAgB,EAAE,IAAgB;IAClF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,sBAAsB,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,MAAM,0BAA0B,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,IAAI,CAAC,MAAM,uDAAuD,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QACzB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAuB,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACrG,oBAAoB,CAAC,SAAS,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yDAAyD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAGD,IAAI,IAAkC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAmB,EAAE,OAAgB,EAAE,IAAgB;IACrF,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,sDAAsD;IACzF,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAQ,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,UAAU,CAAC,YAAY;QAChC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,aAAa,EAAE,UAAU,CAAC,GAAG;QAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,kBAAkB,EAAE,IAAI,CAAC,UAAU;QACnC,GAAG,EAAE,GAAG,CAAC,GAAY;QACrB,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;KACd,CAAC;IACF,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
package/dist/pairing.d.ts CHANGED
@@ -34,7 +34,7 @@ export interface PairArtifact {
34
34
  delegationExpiresAt?: string;
35
35
  issuedAt: string;
36
36
  }
37
- export declare const PEER_DELEGATION_EXPIRY = "7d";
37
+ export declare const PEER_DELEGATION_EXPIRY = "30d";
38
38
  export declare function validateArtifactIdentity(art: PairArtifact): void;
39
39
  export declare function parseArtifact(input: string): PairArtifact;
40
40
  export declare function artifactA(profile: Profile, peerHandle: string, callMe: string): PairArtifact;
@@ -50,6 +50,8 @@ export declare function peerRecordBody(peer: StoredPeer): {
50
50
  issuedAt: string;
51
51
  expiresAt: string;
52
52
  revokedAt?: string;
53
+ priorCid?: string;
54
+ delegation?: string;
53
55
  }[];
54
56
  pairedAt: string;
55
57
  status: "pending-A" | "awaiting-C" | "paired";
package/dist/pairing.js CHANGED
@@ -2,7 +2,7 @@ import { serializeDelegation } from '@tinycloud/node-sdk';
2
2
  import { COURIER_SPACE } from './keys.js';
3
3
  import { cmd } from './program.js';
4
4
  import { CourierError } from './errors.js';
5
- export const PEER_DELEGATION_EXPIRY = '7d';
5
+ export const PEER_DELEGATION_EXPIRY = '30d';
6
6
  export function validateArtifactIdentity(art) {
7
7
  if (!/^did:pkh:eip155:\d+:0x[a-fA-F0-9]{40}$/.test(art.from.owner)) {
8
8
  throw new CourierError('bad-artifact', 'Artifact owner must be a did:pkh identity.');
@@ -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":"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"}
package/dist/profile.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { InterimState } from './interim-renewal.js';
1
2
  import type { LockRecord } from './file-lock.js';
2
3
  /** Courier-local identity and peer store; never an OpenKey owner profile. */
3
4
  export interface AgentKey {
@@ -40,14 +41,17 @@ export interface StoredPeer {
40
41
  issuedAt: string;
41
42
  expiresAt: string;
42
43
  revokedAt?: string;
44
+ priorCid?: string;
45
+ delegation?: string;
43
46
  }[];
47
+ interim?: InterimState;
44
48
  status: 'pending-A' | 'awaiting-C' | 'paired';
45
49
  /** Guided pairing is restricted to this one thread, never the peer's other chats. */
46
50
  sessionId?: string;
47
51
  pairedAt: string;
48
52
  }
49
53
  export interface Profile {
50
- version: 3;
54
+ version: 3 | 4;
51
55
  host: string;
52
56
  openkeyHost: string;
53
57
  label: string;
@@ -100,7 +104,7 @@ export declare function assertNotPaired(profile: Profile, handle: string): void;
100
104
  * this command changed is written, so a pairing, revocation or key rotation made by another command meanwhile is kept. `profile` is
101
105
  * updated to the saved result. A profile built from scratch overwrites the file (first init, key rotation).
102
106
  */
103
- export declare function saveProfile(profile: Profile): void;
107
+ export declare function saveProfile(profile: Profile, beforeSave?: (disk: Profile | undefined) => void): void;
104
108
  /** Serialize peer operations across network awaits; use save(), never saveProfile(), inside. */
105
109
  export declare function withProfileTransaction<T>(fn: (profile: Profile, save: () => void) => Promise<T>): Promise<T>;
106
110
  /** The shape `loadKey` accepts: version 1, a JWK and a `did:key:` identifier. */
package/dist/profile.js CHANGED
@@ -218,7 +218,7 @@ export function readSecure(name, required, home = profileDir()) {
218
218
  }
219
219
  /** The fields `loadProfile` requires of a current (version 3) profile. */
220
220
  export function hasProfileFields(profile) {
221
- return !!profile && typeof profile === 'object' && profile.version === 3 && !!profile.courierDid && !!profile.host && !!profile.openkeyHost;
221
+ return !!profile && typeof profile === 'object' && (profile.version === 3 || profile.version === 4) && !!profile.courierDid && !!profile.host && !!profile.openkeyHost;
222
222
  }
223
223
  function readProfile(home) {
224
224
  const loaded = readSecure('profile.json', true, home);
@@ -228,7 +228,7 @@ function readProfile(home) {
228
228
  if (loaded.version === 2) {
229
229
  throw new CourierError('profile-outdated', `This profile stores Courier data in the applications space. Courier now uses your agents space: run \`${cmd('init --rotate-key')}\`, then re-pair peers.`);
230
230
  }
231
- if (loaded.version !== 3)
231
+ if (loaded.version !== 3 && loaded.version !== 4)
232
232
  throw new CourierError('bad-profile', `Unsupported profile version ${String(loaded.version)}; run \`${cmd('init --rotate-key')}\`.`);
233
233
  const profile = loaded;
234
234
  if (!hasProfileFields(profile))
@@ -422,11 +422,12 @@ export function assertNotPaired(profile, handle) {
422
422
  * this command changed is written, so a pairing, revocation or key rotation made by another command meanwhile is kept. `profile` is
423
423
  * updated to the saved result. A profile built from scratch overwrites the file (first init, key rotation).
424
424
  */
425
- export function saveProfile(profile) {
426
- withProfileLock(() => saveProfileUnlocked(profile));
425
+ export function saveProfile(profile, beforeSave) {
426
+ withProfileLock(() => saveProfileUnlocked(profile, beforeSave));
427
427
  }
428
- function saveProfileUnlocked(profile) {
428
+ function saveProfileUnlocked(profile, beforeSave) {
429
429
  const file = profilePath('profile.json');
430
+ beforeSave?.(fs.existsSync(file) ? readProfile(profileDir()) : undefined);
430
431
  const base = baselines.get(profile);
431
432
  let result = profile;
432
433
  if (base && fs.existsSync(file)) {
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/status.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare function peerExpiryStatus(peer: StoredPeer, now?: number): {
14
14
  outbound: GrantExpiry;
15
15
  remoteReadability: "not-checked";
16
16
  renewal: {
17
- state: "unknown";
17
+ state: string;
18
18
  command: string | null;
19
19
  };
20
20
  warnings: string[];