@tinycloud/courier 0.5.1-beta.4 → 0.5.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.
package/README.md CHANGED
@@ -150,6 +150,17 @@ If OpenKey reports the space is still being set up, `init --wait` waits for it
150
150
  within its `--timeout`; the legacy `init` flows wait about 2.5 minutes; otherwise use `init --resume`.
151
151
  An OpenKey `XXXX-XXXX` code works once. Courier saves the redeemed grant (`<COURIER_HOME>/pending-grant.json`, owner-only, public fields) before installing it, so if `init` is killed after the redeem, run it again with the same code or use `init --resume`; no second approval is needed. The saved copy is deleted once the grant and profile are saved, and ignored after the grant expires.
152
152
 
153
+ An interrupted write can leave a private-key-bearing `key.json`, `rotation.json`
154
+ or `approval-pending.json` temp file and its owner-only `.identity` sidecar.
155
+ Courier scrubs a temp only when the recorded machine and host match. After
156
+ that gate, it requires either a true boot-ID change, or `ESRCH` proving the
157
+ writer is gone (on Linux, only when the PID namespace also matches). Missing
158
+ or uncertain identity is preserved with manual recovery guidance for the current platform:
159
+ POSIX `rm -f -- '…'` or PowerShell `Remove-Item -LiteralPath '…' -Force`.
160
+ Run the printed command only after confirming no Courier writer anywhere is
161
+ active that could be writing the temp or sidecar, including on another host or
162
+ PID namespace.
163
+
153
164
  Pairing binds a peer by its Courier `did:key`, not by owner DID: two Courier
154
165
  agents of the same owner (two profiles, two agent keys) pair exactly like two
155
166
  owners, through the same explicit `pair start`/`pair accept` exchange. An
@@ -11,7 +11,7 @@ export declare function writeNew(dir: string, name: string, body: string, mode:
11
11
  * `pid` and `nonce` are the ownership record. `machine` (machine-id) and `boot` (a true per-boot id) say which machine and boot it ran on;
12
12
  * `host` and `pidns` say where a pid number means anything.
13
13
  */
14
- interface LockRecord {
14
+ export interface LockRecord {
15
15
  pid: number;
16
16
  nonce: string;
17
17
  host?: string;
@@ -19,6 +19,8 @@ interface LockRecord {
19
19
  machine?: string;
20
20
  boot?: string;
21
21
  }
22
+ /** Parses the JSON identity record used by Courier's temporary-file sidecars. Legacy pid-only locks are not sidecar records. */
23
+ export declare function parseIdentityRecord(text: string): LockRecord | undefined;
22
24
  /** How identity is read: injectable so every platform's branch is testable on one machine. */
23
25
  export interface IdentityIo {
24
26
  platform: NodeJS.Platform;
@@ -37,6 +39,11 @@ export declare function machineIdentity(io?: IdentityIo): {
37
39
  machine?: string;
38
40
  boot?: string;
39
41
  };
42
+ /** The identity fields Courier records beside a temp file and in a lock. */
43
+ export declare function processIdentityRecord(pid: number, nonce: string, here?: {
44
+ machine?: string;
45
+ boot?: string;
46
+ }): LockRecord;
40
47
  export type Liveness = 'alive' | 'dead' | 'unknown';
41
48
  /**
42
49
  * Whether the process that wrote `record` still runs. A holder is `dead` in exactly two cases, and `unknown` (the lock is kept) in every other:
@@ -76,6 +83,8 @@ export interface LockOptions {
76
83
  /** The error message for a refusal. Default: `lockRefusal`, one line naming the lock, its holder and the safe manual command. */
77
84
  refusal?: (info: LockRefusal) => string;
78
85
  }
86
+ /** A shell-safe cleanup command for a literal path, using POSIX shell or PowerShell quoting. */
87
+ export declare function formatRemovalCommand(file: string, platform?: NodeJS.Platform): string;
79
88
  /** The one line a refused lock prints: what holds it, and the only safe way out. The lock itself is never removed on doubt. */
80
89
  export declare function lockRefusal({ file, reason, pid, host, record }: LockRefusal, platform?: NodeJS.Platform): string;
81
90
  /**
@@ -83,4 +92,3 @@ export declare function lockRefusal({ file, reason, pid, host, record }: LockRef
83
92
  * is broken. The lock is created whole (never empty) and carries a nonce, so a release or a break removes only the lock it actually observed.
84
93
  */
85
94
  export declare function acquireLock(file: string, opts?: LockOptions): () => void;
86
- export {};
package/dist/file-lock.js CHANGED
@@ -76,6 +76,8 @@ function parseRecord(text) {
76
76
  continue;
77
77
  if (typeof field !== 'string' || field.length > MAX_FIELD)
78
78
  return undefined; // an oversized or mistyped field is a corrupt record
79
+ if (key === 'boot' && !trueBootIdentity(field))
80
+ return undefined; // malformed boot IDs make the whole record untrustworthy
79
81
  record[key] = field;
80
82
  }
81
83
  return record;
@@ -84,6 +86,12 @@ function parseRecord(text) {
84
86
  return undefined;
85
87
  }
86
88
  }
89
+ /** Parses the JSON identity record used by Courier's temporary-file sidecars. Legacy pid-only locks are not sidecar records. */
90
+ export function parseIdentityRecord(text) {
91
+ if (!text.trimStart().startsWith('{'))
92
+ return undefined;
93
+ return parseRecord(text);
94
+ }
87
95
  function recordBody(record) {
88
96
  return `${JSON.stringify(record)}\n`;
89
97
  }
@@ -126,6 +134,13 @@ const realIo = {
126
134
  } },
127
135
  };
128
136
  const firstLine = (text) => text?.trim().split(/\r?\n/)[0]?.trim() || undefined;
137
+ const UUID_BOOT_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
138
+ function trueBootIdentity(value) {
139
+ const match = /^(linux|macos):(.+)$/.exec(value ?? '');
140
+ if (!match || !UUID_BOOT_ID.test(match[2]))
141
+ return undefined;
142
+ return { kind: match[1].toLowerCase(), id: match[2].toLowerCase() };
143
+ }
129
144
  /**
130
145
  * The machine and the boot this process runs on. `boot` is a true per-boot identifier or absent, and is prefixed with the platform that
131
146
  * produced it so two kinds are never compared. Linux: /etc/machine-id and the kernel boot id. macOS: IOPlatformUUID (`/usr/sbin/ioreg`) and
@@ -139,13 +154,13 @@ export function machineIdentity(io = realIo) {
139
154
  if (io.platform === 'linux') {
140
155
  machine = firstLine(io.readFile('/etc/machine-id')) ?? firstLine(io.readFile('/var/lib/dbus/machine-id'));
141
156
  const id = firstLine(io.readFile('/proc/sys/kernel/random/boot_id'));
142
- if (id)
157
+ if (id && UUID_BOOT_ID.test(id))
143
158
  boot = `linux:${id}`;
144
159
  }
145
160
  else if (io.platform === 'darwin') {
146
161
  machine = /"IOPlatformUUID"\s*=\s*"([^"]+)"/.exec(io.exec('/usr/sbin/ioreg', ['-rd1', '-c', 'IOPlatformExpertDevice']) ?? '')?.[1];
147
162
  const id = firstLine(io.exec('/usr/sbin/sysctl', ['-n', 'kern.bootsessionuuid']));
148
- if (id)
163
+ if (id && UUID_BOOT_ID.test(id))
149
164
  boot = `macos:${id}`;
150
165
  }
151
166
  else if (io.platform === 'win32') {
@@ -164,6 +179,10 @@ function identity(here) {
164
179
  out.pidns = ns;
165
180
  return out;
166
181
  }
182
+ /** The identity fields Courier records beside a temp file and in a lock. */
183
+ export function processIdentityRecord(pid, nonce, here = currentIdentity()) {
184
+ return { pid, nonce, ...identity(here) };
185
+ }
167
186
  /**
168
187
  * Whether the process that wrote `record` still runs. A holder is `dead` in exactly two cases, and `unknown` (the lock is kept) in every other:
169
188
  * (a) a different true boot id of the same kind on the same machine and host: no process survives a reboot; or
@@ -178,11 +197,10 @@ export function recordLiveness(record, here = currentIdentity()) {
178
197
  return 'unknown';
179
198
  if (record.host === undefined || record.host !== os.hostname())
180
199
  return 'unknown';
181
- if (record.boot !== undefined && here.boot !== undefined) {
182
- const [kindA, kindB] = [record.boot.split(':', 1)[0], here.boot.split(':', 1)[0]];
183
- if ((kindA === 'linux' || kindA === 'macos') && kindA === kindB && record.boot !== here.boot)
184
- return 'dead';
185
- }
200
+ const recordBoot = trueBootIdentity(record.boot);
201
+ const currentBoot = trueBootIdentity(here.boot);
202
+ if (recordBoot && currentBoot && recordBoot.kind === currentBoot.kind && recordBoot.id !== currentBoot.id)
203
+ return 'dead';
186
204
  const ns = pidNamespace();
187
205
  if (process.platform === 'linux' ? record.pidns === undefined || ns === undefined || record.pidns !== ns : record.pidns !== undefined && record.pidns !== ns)
188
206
  return 'unknown';
@@ -196,6 +214,12 @@ export function recordLiveness(record, here = currentIdentity()) {
196
214
  }
197
215
  /** Guard slots per dead lock. The bound stops a corrupt directory from looping forever. */
198
216
  const MAX_BREAK_GUARDS = 8;
217
+ /** A shell-safe cleanup command for a literal path, using POSIX shell or PowerShell quoting. */
218
+ export function formatRemovalCommand(file, platform = process.platform) {
219
+ return platform === 'win32'
220
+ ? `Remove-Item -LiteralPath '${file.replace(/['\u2018-\u201B]/g, (quote) => quote + quote)}' -Force`
221
+ : `rm -f -- '${file.replace(/'/g, `'\\''`)}'`;
222
+ }
199
223
  /** The one line a refused lock prints: what holds it, and the only safe way out. The lock itself is never removed on doubt. */
200
224
  export function lockRefusal({ file, reason, pid, host, record }, platform = process.platform) {
201
225
  // Text from a lock record is data, not words: JSON-quoted so a hostile host name cannot add lines or terminal escapes.
@@ -204,9 +228,7 @@ export function lockRefusal({ file, reason, pid, host, record }, platform = proc
204
228
  : reason === 'corrupt' ? 'has a record Courier cannot read'
205
229
  : reason === 'unknown' ? `is held by ${holder}, and Courier cannot tell whether that process is still running`
206
230
  : `is held by ${holder}, and another Courier command is already working on clearing it`;
207
- const remove = platform === 'win32'
208
- ? `Remove-Item -LiteralPath '${file.replace(/['\u2018-\u201B]/g, (quote) => quote + quote)}' -Force` // PowerShell: single quotes are literal; ' and its typographic forms U+2018 to U+201B each end the string unless doubled
209
- : `rm -f -- '${file.replace(/'/g, `'\\''`)}'`;
231
+ const remove = formatRemovalCommand(file, platform);
210
232
  return `${file} ${why}${record === undefined ? '' : ` (record ${record})`}; the lock was left in place. Try again; only after confirming no Courier command is running anywhere that uses this lock, clear it with: ${remove}`;
211
233
  }
212
234
  /**
@@ -218,7 +240,7 @@ export function acquireLock(file, opts = {}) {
218
240
  const name = path.basename(file);
219
241
  const pid = opts.pid ?? process.pid;
220
242
  const here = (opts.identity ?? currentIdentity)();
221
- const self = { pid, nonce: randomBytes(6).toString('hex'), ...identity(here) };
243
+ const self = processIdentityRecord(pid, randomBytes(6).toString('hex'), here);
222
244
  const state = (record) => (opts.alive ? (opts.alive(record.pid) ? 'alive' : 'dead') : recordLiveness(record, here));
223
245
  const refuse = (info) => {
224
246
  throw new CourierError('locked', (opts.refusal ?? lockRefusal)({ file, ...info }));
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../src/file-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../src/file-lock.ts"],"names":[],"mappings":"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"}
package/dist/profile.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { LockRecord } from './file-lock.js';
1
2
  /** Courier-local identity and peer store; never an OpenKey owner profile. */
2
3
  export interface AgentKey {
3
4
  v: 1;
@@ -65,6 +66,13 @@ export interface Profile {
65
66
  export declare function profileDir(): string;
66
67
  export declare function profileExists(): boolean;
67
68
  export declare function mkdirOwnerOnly(dir: string): void;
69
+ export declare const tempIdentityPath: (temp: string) => string;
70
+ /** Persist the writer record before any key-bearing bytes are written to `temp`. */
71
+ export declare function writeTempIdentity(temp: string, pid: number, nonce: string): void;
72
+ /** Read only a plain, owner-only identity sidecar; malformed or unsafe records are unknown. */
73
+ export declare function readTempIdentity(temp: string): LockRecord | undefined;
74
+ /** Remove the non-secret record only when its temp file is gone or safely installed. */
75
+ export declare function removeTempIdentity(temp: string): void;
68
76
  /** Atomic, owner-only and durable: the bytes and the rename are fsynced, so a caller may act on "saved" (for example acknowledge an approval). */
69
77
  export declare function writeSecure(file: string, obj: unknown): void;
70
78
  /**
package/dist/profile.js CHANGED
@@ -4,7 +4,7 @@ import { randomBytes } from 'node:crypto';
4
4
  import { cmd } from './program.js';
5
5
  import { CourierError } from './errors.js';
6
6
  import { canonicalJson } from './canonical.js';
7
- import { acquireLock } from './file-lock.js';
7
+ import { acquireLock, fsyncDir, parseIdentityRecord, processIdentityRecord } from './file-lock.js';
8
8
  /**
9
9
  * Courier home: `COURIER_HOME` when set, else `$HOME/.courier`. Refuses an unset or empty `HOME`
10
10
  * rather than guessing a home directory.
@@ -44,34 +44,132 @@ export function mkdirOwnerOnly(dir) {
44
44
  function ensureSecureDir() {
45
45
  mkdirOwnerOnly(profileDir());
46
46
  }
47
+ const IDENTITY_TRACKED_TARGET = /^(?:rotation|key|approval-pending)\.json$/;
48
+ export const tempIdentityPath = (temp) => `${temp}.identity`;
49
+ const isSecureTempIdentity = (stat) => {
50
+ const uid = process.getuid?.();
51
+ return stat.isFile() && (uid === undefined || stat.uid === uid) && stat.nlink === 1 && (stat.mode & 0o077) === 0;
52
+ };
53
+ /** Persist the writer record before any key-bearing bytes are written to `temp`. */
54
+ export function writeTempIdentity(temp, pid, nonce) {
55
+ const file = tempIdentityPath(temp);
56
+ const fd = fs.openSync(file, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL | fs.constants.O_NOFOLLOW, 0o600);
57
+ let open = true;
58
+ try {
59
+ fs.writeFileSync(fd, `${JSON.stringify(processIdentityRecord(pid, nonce))}\n`);
60
+ fs.fchmodSync(fd, 0o600);
61
+ fs.fsyncSync(fd);
62
+ fs.closeSync(fd);
63
+ open = false;
64
+ fsyncDir(path.dirname(temp));
65
+ }
66
+ catch (error) {
67
+ if (open) {
68
+ try {
69
+ fs.closeSync(fd);
70
+ }
71
+ catch { /* preserve the write error */ }
72
+ }
73
+ try {
74
+ fs.unlinkSync(file);
75
+ }
76
+ catch { /* absent or best-effort cleanup */ }
77
+ throw error;
78
+ }
79
+ }
80
+ /** Read only a plain, owner-only identity sidecar; malformed or unsafe records are unknown. */
81
+ export function readTempIdentity(temp) {
82
+ const file = tempIdentityPath(temp);
83
+ let fd;
84
+ try {
85
+ const before = fs.lstatSync(file);
86
+ if (!isSecureTempIdentity(before))
87
+ return undefined;
88
+ fd = fs.openSync(file, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW | fs.constants.O_NONBLOCK);
89
+ const opened = fs.fstatSync(fd);
90
+ if (!isSecureTempIdentity(opened) || opened.dev !== before.dev || opened.ino !== before.ino)
91
+ return undefined;
92
+ return parseIdentityRecord(fs.readFileSync(fd, 'utf8'));
93
+ }
94
+ catch {
95
+ return undefined;
96
+ }
97
+ finally {
98
+ if (fd !== undefined) {
99
+ try {
100
+ fs.closeSync(fd);
101
+ }
102
+ catch { /* unreadable identity is unknown */ }
103
+ }
104
+ }
105
+ }
106
+ /** Remove the non-secret record only when its temp file is gone or safely installed. */
107
+ export function removeTempIdentity(temp) {
108
+ try {
109
+ fs.unlinkSync(tempIdentityPath(temp));
110
+ }
111
+ catch (error) {
112
+ if (error.code !== 'ENOENT')
113
+ throw error;
114
+ }
115
+ }
47
116
  /** Atomic, owner-only and durable: the bytes and the rename are fsynced, so a caller may act on "saved" (for example acknowledge an approval). */
48
117
  export function writeSecure(file, obj) {
49
118
  ensureSecureDir();
50
- const temp = `${file}.${process.pid}.${randomBytes(6).toString('hex')}.tmp`;
119
+ const pid = process.pid;
120
+ const nonce = randomBytes(6).toString('hex');
121
+ const temp = `${file}.${pid}.${nonce}.tmp`;
122
+ const trackedTemp = path.resolve(path.dirname(file)) === path.resolve(profileDir()) && IDENTITY_TRACKED_TARGET.test(path.basename(file));
123
+ let identityWritten = false;
124
+ let tempCreated = false;
125
+ let renamed = false;
51
126
  try {
52
- fs.writeFileSync(temp, JSON.stringify(obj, null, 2) + '\n', { mode: 0o600, flag: 'wx' });
53
- fs.chmodSync(temp, 0o600);
54
- const fd = fs.openSync(temp, 'r');
127
+ if (trackedTemp) {
128
+ writeTempIdentity(temp, pid, nonce);
129
+ identityWritten = true;
130
+ }
131
+ const fd = fs.openSync(temp, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL | fs.constants.O_NOFOLLOW, 0o600);
132
+ tempCreated = true;
55
133
  try {
134
+ fs.writeFileSync(fd, JSON.stringify(obj, null, 2) + '\n');
135
+ fs.fchmodSync(fd, 0o600);
56
136
  fs.fsyncSync(fd);
57
137
  }
58
138
  finally {
59
139
  fs.closeSync(fd);
60
140
  }
61
141
  fs.renameSync(temp, file);
62
- const dirFd = fs.openSync(path.dirname(file), 'r');
63
- try {
64
- fs.fsyncSync(dirFd);
65
- }
66
- finally {
67
- fs.closeSync(dirFd);
142
+ renamed = true;
143
+ fsyncDir(path.dirname(file));
144
+ if (identityWritten) {
145
+ try {
146
+ removeTempIdentity(temp);
147
+ fsyncDir(path.dirname(file));
148
+ }
149
+ catch { /* the rename is durable; orphan sidecars are handled conservatively by recovery */ }
150
+ identityWritten = false;
68
151
  }
69
152
  }
70
153
  finally {
71
- try {
72
- fs.unlinkSync(temp);
154
+ if (!renamed) {
155
+ let tempRemoved = !tempCreated;
156
+ if (tempCreated) {
157
+ try {
158
+ fs.unlinkSync(temp);
159
+ tempRemoved = true;
160
+ }
161
+ catch (error) {
162
+ if (error.code === 'ENOENT')
163
+ tempRemoved = true;
164
+ }
165
+ }
166
+ if (tempRemoved && identityWritten) {
167
+ try {
168
+ removeTempIdentity(temp);
169
+ }
170
+ catch { /* orphan records are handled conservatively by recovery */ }
171
+ }
73
172
  }
74
- catch { /* renamed or absent */ }
75
173
  }
76
174
  }
77
175
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAwD7C;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,qFAAqF,CAAC,CAAC;QACvI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iIAAiI;AACjI,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;QAAE,OAAO;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,mBAAmB,QAAQ,kCAAkC,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAI,GAAG,UAAU,EAAE;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,yEAAyE;IACzE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe;IACtB,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,kJAAkJ;AAClJ,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAY;IACpD,eAAe,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5E,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACvD,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,EAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE;YAAE,OAAO,SAAS,CAAC;QACxE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;YAAS,CAAC;QACrC,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,IAAY,EAAE,QAAiB,EAAE,IAAI,GAAG,UAAU,EAAE;IAChF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,IAAI,OAAO,UAAU,EAAE,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;IAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,GAAG,UAAU,EAAE,+CAA+C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtI,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;IAC5C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,GAAG,IAAI,+CAA+C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,kIAAkI;QAClI,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,WAAW,IAAI,sCAAsC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;AAC9I,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAU,cAAc,EAAE,IAAI,EAAE,IAAI,CAAE,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,sBAAsB,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,yGAAyG,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACzM,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,+BAA+B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/J,MAAM,OAAO,GAAG,MAAiB,CAAC;IAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,sBAAsB,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACjI,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;IACrB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8IAA8I;AAC9I,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3D,SAAS,cAAc,CAAC,IAAgB,EAAE,GAAW;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,sBAAsB,CAAC;AAC5E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1G,CAAC;AAED,0HAA0H;AAC1H,MAAM,SAAS,GAAG,IAAI,OAAO,EAAoB,CAAC;AAElD,SAAS,QAAQ,CAAC,OAAgB;IAChC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAY,CAAC,CAAC;AACxE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,WAAW,CAAC,IAAI,GAAG,UAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAExG,mIAAmI;AACnI,SAAS,SAAS,CAAC,MAAc,EAAE,IAA4B,EAAE,IAA4B,EAAE,IAA4B;IACzH,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC,CAAC,eAAe;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;QAC9C,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,GAAG,MAAM,2FAA2F,CAAC,CAAC;IAC/I,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,uBAAuB,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,mGAAmG;QACnG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0CAA0C,MAAM,gEAAgE,CAAC,CAAC;IAC9J,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,KAAc,CAAC;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;aACpC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;aACjE,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0C,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,CAAC,GAAI,CAAC,CAAC,QAAmC,EAAE,GAAI,CAAC,CAAC,QAAmC,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,kGAAkG;YAClG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,OAA8C,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,OAA8C,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpL,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ;YAAE,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;;YAC5E,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,OAAO,MAA+B,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,IAAa,EAAE,IAAa;IAC/D,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3F,IAAI,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,OAAO,MAA4B,CAAC;AACtC,CAAC;AAED,6IAA6I;AAC7I,SAAS,KAAK,CAAC,MAA+B,EAAE,MAA+B;IAC7E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAChF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,UAAU,CAAC,OAAkC,EAAE,KAAgC,CAAC,CAAC;;YACjL,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,MAA+B;IAClF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,KAAK,CAAC,OAAkC,EAAE,IAA+B,CAAC,CAAC;;YAClH,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,SAAS,SAAS,CAAC,EAAU;IAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAI,EAAW;IACrC,eAAe,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC;IACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;IAClD,IAAI,OAAiC,CAAC;IACtC,SAAS,CAAC;QACR,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC7E,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;QACD,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAa,EAAE,IAAa;IACnD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uHAAuH,CAAC,CAAC;IACrK,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,KAAiB;IACpE,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAAE,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzG,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4KAA4K;AAC5K,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAc;IAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9F,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,uBAAuB,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IACzC,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,GAAY,OAAO,CAAC;QAC9B,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YACvC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,4FAA4F;YAC5H,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,OAAO;YAAE,KAAK,CAAC,OAA6C,EAAE,MAA4C,CAAC,CAAC;;YACtH,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,GAAG,GAAG,KAAiC,CAAC;IAC9C,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACvI,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE;IACzC,MAAM,GAAG,GAAG,UAAU,CAAU,UAAU,EAAE,IAAI,EAAE,IAAI,CAAE,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,wBAAwB,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAI,GAAG,UAAU,EAAE;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAa,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAChE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9G,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,0BAA0B,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,MAAc;IAChD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,YAAY,CACpB,cAAc,EACd,iBAAiB,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAC5H,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -36,7 +36,7 @@ export declare function deriveState(): DerivedState;
36
36
  export declare function adviceFor(d: Pick<DerivedState, 'state' | 'inputs'>): string;
37
37
  /**
38
38
  * Explicit recovery, run once at the start of an init mode: roll an interrupted rotation forward (only after the journal validated), then
39
- * remove stray key-bearing temp files. A refusal in the first step happens before anything is changed.
39
+ * scrub key-bearing temps only when persisted identity proves the writer dead, preserve/report unknowns, and remove dead orphan sidecars.
40
40
  */
41
41
  export declare function recoverInterrupted(): void;
42
42
  /** Steps 1-5. `profile` is the complete new profile. */
package/dist/state.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { cmd } from './program.js';
4
- import { hasProfileFields, isAgentKey, loadGrant, loadKey, profileDir, readRegularFile, readSecure, saveKey, saveProfile, writeSecure } from './profile.js';
4
+ import { hasProfileFields, isAgentKey, loadGrant, loadKey, profileDir, readRegularFile, readSecure, readTempIdentity, removeTempIdentity, saveKey, saveProfile, writeSecure } from './profile.js';
5
5
  import { checkApprovalResultBinding, openRelayResult } from '@tinycloud/share-envelope/links';
6
6
  import { APPROVAL_FILE, approvalPhase, clearPending, lacksOwner, readApprovalEntry, resultEnvelopeOf } from './approval-phase.js';
7
7
  import { assertBoundToKey } from './grant.js';
@@ -10,11 +10,12 @@ import { dropPendingDelegation, hasLivePending, liveRedeemedDelegations } from '
10
10
  import { REVOKE_URL } from './grant-refusal.js';
11
11
  import { CourierError } from './errors.js';
12
12
  import { base64url32, ed25519DidKey, ed25519PublicKey } from './did-key.js';
13
+ import { formatRemovalCommand, recordLiveness } from './file-lock.js';
13
14
  /**
14
15
  * One derivation of where `init` stands, shared by every init mode.
15
16
  *
16
17
  * Inputs (all in the Courier home): profile.json (`status`, `spacePending`), grant.json, key.json, pending-grant.json (live records),
17
- * approval-pending.json, rotation.json, and any stray key-bearing temp file (`rotation.json.<pid>.<hex>.tmp`, `key.json.<pid>.<hex>.tmp`).
18
+ * approval-pending.json, rotation.json, and key-bearing temps (`<target>.<pid>.<nonce>.tmp`) with their identity sidecars.
18
19
  *
19
20
  * `readInputs` is the only place that touches the disk, so the way the inputs are read can be replaced in one spot.
20
21
  * `classifyState` is pure. `deriveState` only reads: it never repairs, drops or rewrites a file. Recovery is the explicit
@@ -25,13 +26,13 @@ import { base64url32, ed25519DidKey, ed25519PublicKey } from './did-key.js';
25
26
  * non-secret facts about the approval being discarded, so nothing about the discard depends on the process staying alive;
26
27
  * (2) key.json is replaced; (3) profile.json is replaced; (4) grant.json, and approval-pending.json when discarding, are removed;
27
28
  * (5) the discard warning is printed, then rotation.json is removed (its only deletion point).
28
- * Before the rename in (1) nothing but a stray temp file can differ from the old state. From then on every init mode rolls forward
29
- * from the journal alone; every step is idempotent. A process killed while writing a temp file leaves it behind (0600, holding a
30
- * key that may or may not have been installed, or an approval's relay key and result): `recoverInterrupted` zero-fills and removes it, unless
31
- * the process that named it is still running.
29
+ * Before the rename in (1), only a stray temp can differ from the old state. From then on each init mode rolls forward from the journal;
30
+ * every step is idempotent. A temp's sidecar is durable before secret bytes are written, and recovery only zero-fills and removes it when
31
+ * the host and (on Linux) PID namespace match and the PID probe returns ESRCH, or a true boot-ID change proves the writer cannot survive.
32
+ * Missing, malformed or mismatched identity stays unknown and is reported for manual recovery.
32
33
  */
33
34
  const ROTATION_FILE = 'rotation.json';
34
- const STRAY_TEMP = /^(?:rotation|key|approval-pending)\.json\.(\d+)\.[0-9a-f]{12}\.tmp$/;
35
+ const STRAY_TEMP = /^(?:rotation|key|approval-pending)\.json\.(\d+)\.([0-9a-f]{12})\.tmp$/;
35
36
  /** The mode of a grant.json that is a regular file and not owner-only, else undefined. */
36
37
  function looseGrantMode() {
37
38
  try {
@@ -159,46 +160,47 @@ function readProfileFields() {
159
160
  catch { /* unreadable */ }
160
161
  return { status: 'unreadable', spacePending: false };
161
162
  }
162
- /** `text` as one POSIX shell word. */
163
- function shellQuote(text) {
164
- return `'${text.replace(/'/g, `'\\''`)}'`;
165
- }
166
- /** Whether the process that named a temp file may still be writing it. This process is not: its writes are synchronous and finished. */
167
- function writerAlive(pid) {
168
- if (pid === process.pid)
169
- return false;
170
- try {
171
- process.kill(pid, 0);
172
- return true;
173
- }
174
- catch (error) {
175
- return error.code === 'EPERM';
176
- }
163
+ function tempLiveness(name, pid, nonce) {
164
+ const record = readTempIdentity(path.join(profileDir(), name));
165
+ if (!record || record.pid !== pid || record.nonce !== nonce)
166
+ return 'unknown';
167
+ return recordLiveness(record);
177
168
  }
178
169
  /**
179
- * The stray temp files, classified from ONE directory listing with ONE liveness probe per file: `dead` (writer gone: the only ones
180
- * `recoverInterrupted` removes) and `live` (writer may still be running: kept, because between its fsync and its rename the file is live).
181
- * A caller acts on this one snapshot, so a process that dies or whose pid is reused between two probes cannot split the decision.
170
+ * Classifies one directory snapshot. Only a matching sidecar whose writer is proven dead is scrubbed; missing, invalid and
171
+ * mismatched identity records remain unknown. Sidecars without a matching temp are considered separately and never treated as key files.
182
172
  */
183
173
  function classifyTemps() {
184
174
  const dead = [];
185
- const live = [];
175
+ const unknown = [];
176
+ const orphaned = [];
186
177
  let names = [];
187
178
  try {
188
179
  names = fs.readdirSync(profileDir()).sort();
189
180
  }
190
181
  catch { /* no home yet */ }
191
- for (const name of names) {
182
+ const tempNames = new Set(names.filter((name) => STRAY_TEMP.test(name)));
183
+ for (const name of tempNames) {
192
184
  const match = STRAY_TEMP.exec(name);
185
+ const entry = { name, pid: Number(match[1]), nonce: match[2] };
186
+ if (tempLiveness(name, entry.pid, entry.nonce) === 'dead')
187
+ dead.push(entry);
188
+ else
189
+ unknown.push(entry);
190
+ }
191
+ for (const name of names) {
192
+ if (!name.endsWith('.identity'))
193
+ continue;
194
+ const tempName = name.slice(0, -'.identity'.length);
195
+ if (tempNames.has(tempName))
196
+ continue;
197
+ const match = STRAY_TEMP.exec(tempName);
193
198
  if (!match)
194
199
  continue;
195
- const pid = Number(match[1]);
196
- if (writerAlive(pid))
197
- live.push({ name, pid });
198
- else
199
- dead.push(name);
200
+ const entry = { name: tempName, pid: Number(match[1]), nonce: match[2] };
201
+ orphaned.push({ ...entry, liveness: tempLiveness(tempName, entry.pid, entry.nonce) });
200
202
  }
201
- return { dead, live };
203
+ return { dead, unknown, orphaned };
202
204
  }
203
205
  /** The one place the inputs are read. Reads only. `notes` are warnings the init mode prints once; nothing is repaired or removed. */
204
206
  export function readInputs(notes = []) {
@@ -261,30 +263,42 @@ export function adviceFor(d) {
261
263
  // ---------- recovery ----------
262
264
  /**
263
265
  * Explicit recovery, run once at the start of an init mode: roll an interrupted rotation forward (only after the journal validated), then
264
- * remove stray key-bearing temp files. A refusal in the first step happens before anything is changed.
266
+ * scrub key-bearing temps only when persisted identity proves the writer dead, preserve/report unknowns, and remove dead orphan sidecars.
265
267
  */
266
268
  export function recoverInterrupted() {
267
269
  finishRotation();
270
+ const dir = profileDir();
268
271
  const temps = classifyTemps();
269
- for (const name of temps.dead)
270
- scrub(path.join(profileDir(), name));
271
- for (const { name, pid } of temps.live) {
272
- const file = path.join(profileDir(), name);
273
- // A running pid does not excuse a file that is not a plain single-link file of this user: that is refused, as for a dead writer.
272
+ for (const { name } of temps.dead)
273
+ scrub(path.join(dir, name));
274
+ for (const { name, pid } of temps.unknown) {
275
+ const file = path.join(dir, name);
274
276
  let stat;
275
277
  try {
276
278
  stat = fs.lstatSync(file);
277
279
  }
278
280
  catch (error) {
279
- // The writer finished and renamed it into place after the listing: it has moved, there is nothing to keep or refuse.
280
281
  if (error.code === 'ENOENT')
281
282
  continue;
282
283
  throw error;
283
284
  }
284
285
  if (!isPlain(stat))
285
286
  throw refuseStray(file);
286
- console.error(`warning: ${name} was kept, not deleted, and may contain private-key material (an agent key, or an approval's relay key and result). Process ${pid}, which named it, is running: either a Courier process still writing it, or an unrelated process that was given the same pid after Courier died (pid reuse); Courier cannot tell which. Check with \`ps -p ${pid} -o pid=,args=\`; only if that is not a Courier process, remove the file with \`rm -- ${shellQuote(file)}\`.`);
287
+ console.error(`warning: ${name} was kept, not deleted, and may contain private-key material (an agent key, or an approval's relay key and result). Courier cannot establish that writer process ${pid} is gone; it may still be writing, or its PID may have been reused. Only after confirming no Courier writer anywhere is active that could be writing this temp, including on another host or PID namespace, remove it manually with \`${formatRemovalCommand(file)}\`.`);
288
+ }
289
+ let removedOrphan = false;
290
+ for (const { name, pid, liveness } of temps.orphaned) {
291
+ const temp = path.join(dir, name);
292
+ if (liveness === 'dead') {
293
+ removeTempIdentity(temp);
294
+ removedOrphan = true;
295
+ continue;
296
+ }
297
+ const sidecar = `${temp}.identity`;
298
+ console.error(`warning: ${path.basename(sidecar)} has no matching temp file, and Courier cannot establish that writer process ${pid} is gone. Only after confirming no Courier writer anywhere is active that could be writing this identity sidecar, including on another host or PID namespace, remove the identity record manually with \`${formatRemovalCommand(sidecar)}\`.`);
287
299
  }
300
+ if (removedOrphan)
301
+ syncDir();
288
302
  }
289
303
  /**
290
304
  * A stray temp file may hold a private key. Only a plain file of this user with a single link is touched, and it is checked again on the
@@ -309,7 +323,12 @@ function scrub(file) {
309
323
  fs.closeSync(fd);
310
324
  }
311
325
  fs.unlinkSync(file);
312
- syncDir();
326
+ try {
327
+ removeTempIdentity(file);
328
+ }
329
+ finally {
330
+ syncDir();
331
+ }
313
332
  }
314
333
  function syncDir() {
315
334
  const dir = fs.openSync(profileDir(), 'r');
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinycloud/courier",
3
- "version": "0.5.1-beta.4",
3
+ "version": "0.5.1",
4
4
  "description": "Courier: agent-to-agent threads over TinyCloud (CLI, library and agent skill)",
5
5
  "author": "TinyCloud, Inc.",
6
6
  "type": "module",
@@ -30,8 +30,8 @@
30
30
  "test:live": "tsc -p tsconfig.json && node scripts/happy-path.mjs"
31
31
  },
32
32
  "dependencies": {
33
- "@tinycloud/node-sdk": "3.11.0-beta.2",
34
- "@tinycloud/sdk-core": "3.11.0-beta.2",
33
+ "@tinycloud/node-sdk": "3.11.0",
34
+ "@tinycloud/sdk-core": "3.11.0",
35
35
  "@tinycloud/share-envelope": "1.5.0",
36
36
  "ulid": "^3.0.2"
37
37
  },