crbro-memory 1.8.1 → 1.9.0

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.
@@ -28,6 +28,18 @@ export type Emitter = (neuronId: string, change: {
28
28
  kind: 'pattern';
29
29
  text: string;
30
30
  at: string;
31
+ } | {
32
+ kind: 'error';
33
+ text: string;
34
+ at: string;
35
+ } | {
36
+ kind: 'map';
37
+ text: string;
38
+ at: string;
39
+ } | {
40
+ kind: 'error_purge';
41
+ key: string;
42
+ at: string;
31
43
  }) => Promise<void> | void;
32
44
  export declare class Cortex {
33
45
  private brain;
@@ -90,7 +102,7 @@ export declare class Cortex {
90
102
  * Learn — add a fact, decision, pattern or preference to a neuron.
91
103
  * Creates the neuron if it does not exist.
92
104
  */
93
- learn(topic: string, type: 'fact' | 'decision' | 'pattern' | 'preference', content: string, options?: {
105
+ learn(topic: string, type: 'fact' | 'decision' | 'pattern' | 'preference' | 'error', content: string, options?: {
94
106
  confidence?: number;
95
107
  domain?: string;
96
108
  rationale?: string;
@@ -113,6 +125,8 @@ export declare class Cortex {
113
125
  neuron: Neuron | null;
114
126
  action: 'created' | 'updated' | 'skipped';
115
127
  superseded: number;
128
+ /** Supersedes targets that matched no active fact — a silent miss no more. */
129
+ supersedes_unmatched: string[];
116
130
  redacted: string[];
117
131
  }>;
118
132
  /**
@@ -131,9 +145,33 @@ export declare class Cortex {
131
145
  }): Promise<{
132
146
  neuron: Neuron | null;
133
147
  revised: number;
148
+ unmatched: string[];
134
149
  }>;
135
- /** Flip matching facts to a non-active status. Returns how many changed. */
150
+ /**
151
+ * Flip matching facts to a non-active status.
152
+ *
153
+ * Also reports which targets matched nothing. Callers pass free text, and
154
+ * a miss used to be indistinguishable from a hit: `supersedes` returned 0
155
+ * without a word, the writer walked away believing the old version was
156
+ * retired, and both versions kept surfacing on recall as equals.
157
+ */
136
158
  private retire;
159
+ /**
160
+ * Replace the neuron's system map.
161
+ *
162
+ * Whole-document semantics on purpose: a map that can only be appended to
163
+ * rots the same way facts did — old directions never die. The writer reads
164
+ * the current map, rewrites it, and stores the new truth. Credentials are
165
+ * redacted exactly as in learn.
166
+ */
167
+ setMap(neuronRef: string, content: string, options?: {
168
+ domain?: string;
169
+ neuronType?: NeuronType;
170
+ }): Promise<{
171
+ neuron: Neuron | null;
172
+ action: 'created' | 'updated';
173
+ redacted: string[];
174
+ }>;
137
175
  /**
138
176
  * List all neurons with optional filters.
139
177
  */
@@ -184,6 +222,8 @@ export declare class Cortex {
184
222
  decisions: number;
185
223
  patterns: number;
186
224
  preferences: number;
225
+ errors: number;
226
+ map: number;
187
227
  }>>;
188
228
  /**
189
229
  * Get all neuron IDs.
@@ -1 +1 @@
1
- {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ exports.Cortex = void 0;
6
6
  const fs_js_1 = require("../utils/fs.js");
7
7
  const ids_js_1 = require("../utils/ids.js");
8
8
  const hash_js_1 = require("../utils/hash.js");
9
+ const ops_js_1 = require("../sync/ops.js");
9
10
  const secrets_js_1 = require("./secrets.js");
10
11
  const TYPE_PREFIX_RE = /^(project_|tech_|lang_|person_|domain_|process_|protocol_)/;
11
12
  /** Minimum similarity before we accept a near-miss as "the same topic". */
@@ -235,6 +236,7 @@ class Cortex {
235
236
  preferences: [],
236
237
  connections: [],
237
238
  tags: [],
239
+ errors: [],
238
240
  };
239
241
  });
240
242
  if (creada) {
@@ -264,7 +266,7 @@ class Cortex {
264
266
  }
265
267
  if (!neuron) {
266
268
  if (options?.createIfMissing === false) {
267
- return { neuron: null, action: 'skipped', superseded: 0, redacted: limpio.found };
269
+ return { neuron: null, action: 'skipped', superseded: 0, supersedes_unmatched: options?.supersedes || [], redacted: limpio.found };
268
270
  }
269
271
  const nType = options?.neuronType || (0, ids_js_1.inferNeuronType)(topic);
270
272
  const domain = options?.domain || 'general';
@@ -272,6 +274,10 @@ class Cortex {
272
274
  action = 'created';
273
275
  }
274
276
  let superseded = 0;
277
+ // Stays empty unless retire() actually runs: a duplicate fact skips the
278
+ // whole block, and warning "still live" about targets nobody touched is
279
+ // a false alarm on every idempotent retry.
280
+ let supersedesUnmatched = [];
275
281
  let emitir = null;
276
282
  // From here on we work on a fresh read inside the lock. Mutating the copy
277
283
  // fetched a moment ago and saving it over the top is exactly how a
@@ -284,7 +290,9 @@ class Cortex {
284
290
  const isDuplicate = n.facts.some(f => f.text.toLowerCase() === content.toLowerCase());
285
291
  if (!isDuplicate) {
286
292
  if (options?.supersedes?.length) {
287
- superseded = this.retire(n, options.supersedes, id, 'superseded');
293
+ const retirado = this.retire(n, options.supersedes, id, 'superseded');
294
+ superseded = retirado.count;
295
+ supersedesUnmatched = retirado.unmatched;
288
296
  }
289
297
  const fact = {
290
298
  text: content,
@@ -329,6 +337,16 @@ class Cortex {
329
337
  n.preferences.push(content);
330
338
  break;
331
339
  }
340
+ case 'error': {
341
+ if (!n.errors)
342
+ n.errors = [];
343
+ if (!n.errors.includes(content)) {
344
+ n.errors.push(content);
345
+ this.tally.topics.add(n.id);
346
+ emitir = { kind: 'error', text: content, at: (0, fs_js_1.now)() };
347
+ }
348
+ break;
349
+ }
332
350
  }
333
351
  n.last_accessed = (0, fs_js_1.now)();
334
352
  n.access_count = (n.access_count || 0) + 1;
@@ -343,7 +361,7 @@ class Cortex {
343
361
  // key and the least likely to be worth sharing.
344
362
  if (emitir)
345
363
  await this.emit(final.id, emitir);
346
- return { neuron: final, action, superseded, redacted: limpio.found };
364
+ return { neuron: final, action, superseded, supersedes_unmatched: supersedesUnmatched, redacted: limpio.found };
347
365
  }
348
366
  /**
349
367
  * Mark facts as no longer current.
@@ -357,11 +375,14 @@ class Cortex {
357
375
  async revise(neuronRef, targets, options) {
358
376
  const neuron = (await this.peek(neuronRef)) || (await this.findByName(neuronRef));
359
377
  if (!neuron)
360
- return { neuron: null, revised: 0 };
378
+ return { neuron: null, revised: 0, unmatched: targets.slice() };
361
379
  let revised = 0;
380
+ let unmatched = targets.slice();
362
381
  const actualizada = await (0, fs_js_1.updateJSON)(this.brain.paths.neuron(neuron.id), current => {
363
382
  const n = current || neuron;
364
- revised = this.retire(n, targets, options?.replacedBy, options?.status || 'superseded', options?.note);
383
+ const retirado = this.retire(n, targets, options?.replacedBy, options?.status || 'superseded', options?.note);
384
+ revised = retirado.count;
385
+ unmatched = retirado.unmatched;
365
386
  if (revised === 0)
366
387
  return null;
367
388
  n.last_accessed = (0, fs_js_1.now)();
@@ -381,20 +402,32 @@ class Cortex {
381
402
  }
382
403
  }
383
404
  }
384
- return { neuron: (actualizada || neuron), revised };
405
+ return { neuron: (actualizada || neuron), revised, unmatched };
385
406
  }
386
- /** Flip matching facts to a non-active status. Returns how many changed. */
407
+ /**
408
+ * Flip matching facts to a non-active status.
409
+ *
410
+ * Also reports which targets matched nothing. Callers pass free text, and
411
+ * a miss used to be indistinguishable from a hit: `supersedes` returned 0
412
+ * without a word, the writer walked away believing the old version was
413
+ * retired, and both versions kept surfacing on recall as equals.
414
+ */
387
415
  retire(neuron, targets, replacedBy, status, note) {
388
416
  let count = 0;
389
417
  const wanted = targets.map(t => t.trim().toLowerCase());
418
+ const hit = new Set();
390
419
  for (const fact of neuron.facts) {
391
420
  if (fact.status === 'superseded' || fact.status === 'retracted')
392
421
  continue;
393
422
  const fid = fact.id || (0, hash_js_1.factId)(fact.text);
394
- const matches = wanted.includes(fid.toLowerCase()) ||
395
- wanted.includes(fact.text.trim().toLowerCase());
396
- if (!matches)
423
+ const idPos = wanted.indexOf(fid.toLowerCase());
424
+ const textPos = wanted.indexOf(fact.text.trim().toLowerCase());
425
+ if (idPos === -1 && textPos === -1)
397
426
  continue;
427
+ if (idPos !== -1)
428
+ hit.add(idPos);
429
+ if (textPos !== -1)
430
+ hit.add(textPos);
398
431
  fact.id = fid;
399
432
  fact.status = status;
400
433
  fact.revised = (0, fs_js_1.now)();
@@ -404,7 +437,50 @@ class Cortex {
404
437
  fact.revision_note = note;
405
438
  count++;
406
439
  }
407
- return count;
440
+ return { count, unmatched: targets.filter((_, i) => !hit.has(i)) };
441
+ }
442
+ /**
443
+ * Replace the neuron's system map.
444
+ *
445
+ * Whole-document semantics on purpose: a map that can only be appended to
446
+ * rots the same way facts did — old directions never die. The writer reads
447
+ * the current map, rewrites it, and stores the new truth. Credentials are
448
+ * redacted exactly as in learn.
449
+ */
450
+ async setMap(neuronRef, content, options) {
451
+ const limpio = (0, secrets_js_1.redact)(content);
452
+ content = limpio.text;
453
+ // peek first, findByName second — the same order as revise and forget.
454
+ // The other way round, an exact neuron id could land on a near-miss whose
455
+ // prefix-stripped id matches first, and the map would be written to one
456
+ // neuron while every reader resolves the other.
457
+ let neuron = (await this.peek(neuronRef)) || (await this.findByName(neuronRef));
458
+ let action = 'updated';
459
+ if (!neuron) {
460
+ const nType = options?.neuronType || (0, ids_js_1.inferNeuronType)(neuronRef);
461
+ neuron = await this.create(neuronRef, nType, options?.domain || 'general');
462
+ action = 'created';
463
+ }
464
+ const cuando = (0, fs_js_1.now)();
465
+ const vaciar = content.trim() === '';
466
+ const actualizada = await (0, fs_js_1.updateJSON)(this.brain.paths.neuron(neuron.id), current => {
467
+ const n = current || neuron;
468
+ // An empty map is not a map: writing '' clears it outright, so the
469
+ // reader never meets a document that exists but says nothing.
470
+ if (vaciar)
471
+ delete n.map;
472
+ else
473
+ n.map = { text: content, updated: cuando };
474
+ n.last_accessed = cuando;
475
+ n.access_count = (n.access_count || 0) + 1;
476
+ return n;
477
+ });
478
+ const final = (actualizada || neuron);
479
+ await this.reindex(final);
480
+ // Clearing emits too: an empty map op is the tombstone that wins the LWW
481
+ // on every machine, so a stale copy cannot resurrect the cleared map.
482
+ await this.emit(final.id, { kind: 'map', text: vaciar ? '' : content, at: cuando });
483
+ return { neuron: final, action, redacted: limpio.found };
408
484
  }
409
485
  /**
410
486
  * List all neurons with optional filters.
@@ -504,15 +580,45 @@ class Cortex {
504
580
  current.decisions = current.decisions.filter(d => !wanted.includes((d.text || '').trim().toLowerCase()));
505
581
  current.patterns = current.patterns.filter(p => !wanted.includes((p || '').trim().toLowerCase()));
506
582
  current.preferences = current.preferences.filter(p => !wanted.includes((p || '').trim().toLowerCase()));
583
+ const erroresAntes = (current.errors || []).length;
584
+ if (current.errors) {
585
+ current.errors = current.errors.filter(e => !wanted.includes((e || '').trim().toLowerCase()));
586
+ }
587
+ let mapaBorrado = 0;
588
+ if (current.map && wanted.includes(current.map.text.trim().toLowerCase())) {
589
+ delete current.map;
590
+ mapaBorrado = 1;
591
+ }
507
592
  removed = antes - (current.facts.length + current.decisions.length +
508
- current.patterns.length + current.preferences.length);
593
+ current.patterns.length + current.preferences.length) + (erroresAntes - (current.errors || []).length) + mapaBorrado;
509
594
  if (removed === 0)
510
595
  return null;
511
596
  current.last_accessed = (0, fs_js_1.now)();
512
597
  return current;
513
598
  });
514
- if (removed > 0 && after)
599
+ if (removed > 0 && after) {
515
600
  await this.reindex(after);
601
+ // The removal must travel, or the next sync resurrects from the team
602
+ // log exactly what the user asked to destroy. Facts retract (status
603
+ // only moves forward, so a stale copy cannot revive them); errors get
604
+ // a purge op keyed by content hash; a cleared map emits the empty-map
605
+ // tombstone that wins the LWW. The emitter no-ops on unshared neurons.
606
+ const cuando = (0, fs_js_1.now)();
607
+ for (const f of found.facts || []) {
608
+ const fid = (f.id || (0, hash_js_1.factId)(f.text)).toLowerCase();
609
+ if (wanted.includes(fid) || wanted.includes(f.text.trim().toLowerCase())) {
610
+ await this.emit(found.id, { kind: 'status', fid: f.id || (0, hash_js_1.factId)(f.text), to: 'retracted', at: cuando, why: 'forgotten' });
611
+ }
612
+ }
613
+ for (const e of found.errors || []) {
614
+ if (wanted.includes((e || '').trim().toLowerCase())) {
615
+ await this.emit(found.id, { kind: 'error_purge', key: (0, ops_js_1.entryId)(e), at: cuando });
616
+ }
617
+ }
618
+ if (found.map && wanted.includes(found.map.text.trim().toLowerCase())) {
619
+ await this.emit(found.id, { kind: 'map', text: '', at: cuando });
620
+ }
621
+ }
516
622
  return { neuron_id: found.id, removed, backup: removed > 0 ? backup : null };
517
623
  }
518
624
  /**
@@ -544,10 +650,13 @@ class Cortex {
544
650
  const decisions = contar((n.decisions || []).map(d => d.text));
545
651
  const patterns = contar(n.patterns || []);
546
652
  const preferences = contar(n.preferences || []);
547
- if (facts + decisions + patterns + preferences > 0) {
653
+ const errors = contar(n.errors || []);
654
+ const mapa = contar(n.map?.text ? [n.map.text] : []);
655
+ if (facts + decisions + patterns + preferences + errors + mapa > 0) {
548
656
  out.push({
549
657
  neuron_id: n.id, name: n.name, kinds: [...kinds],
550
658
  facts, decisions, patterns, preferences,
659
+ errors, map: mapa,
551
660
  });
552
661
  }
553
662
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cortex.js","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cortex.js","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../src/engine/keychain.ts"],"names":[],"mappings":"AA8CA,MAAM,MAAM,OAAO,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAChB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAI3C;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI;IAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgC5E;AAmID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,IAAI,CAkC7E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkCrD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,WAAW,EAAE,CAmB3C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAsBlD;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../src/engine/keychain.ts"],"names":[],"mappings":"AA8CA,MAAM,MAAM,OAAO,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAChB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAI3C;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI;IAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAuC5E;AAmKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,IAAI,CAkC7E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkCrD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,WAAW,EAAE,CAmB3C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAsBlD;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
@@ -81,9 +81,16 @@ function detectBackend() {
81
81
  return { backend: 'macos-keychain' };
82
82
  }
83
83
  if (os === 'win32') {
84
- const probe = run('powershell.exe', ['-NoProfile', '-Command', '$PSVersionTable.PSVersion.Major']);
85
- if (probe.error || probe.status !== 0) {
86
- return { backend: null, reason: 'PowerShell not available, so DPAPI cannot be reached.' };
84
+ // Starting PowerShell is not the same as being able to encrypt. On CI
85
+ // runners and locked-down corporate machines it answers happily and then
86
+ // fails at the first write, so the probe seals a byte for real.
87
+ const probe = run('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', DPAPI_PROBE]);
88
+ if (probe.error || probe.status !== 0 || !probe.stdout.includes('ok')) {
89
+ return {
90
+ backend: null,
91
+ reason: 'DPAPI is not reachable from PowerShell here, which happens on CI runners and ' +
92
+ 'locked-down machines. Credentials can still be passed as environment variables.',
93
+ };
87
94
  }
88
95
  return { backend: 'windows-dpapi' };
89
96
  }
@@ -122,8 +129,29 @@ let cached = null;
122
129
  function invalidateCache() {
123
130
  cached = null;
124
131
  }
132
+ // ConvertTo-SecureString and its twin live in Microsoft.PowerShell.Security,
133
+ // and there are Windows machines where that module does not load at all — CI
134
+ // runners, constrained language mode, corporate policy. The cmdlets are only a
135
+ // wrapper over ProtectedData, so the wrapper is skipped: same DPAPI, same
136
+ // CurrentUser scope, no module to fail.
137
+ const DPAPI_PREAMBLE = "Add-Type -AssemblyName System.Security;" +
138
+ "$ErrorActionPreference='Stop';";
139
+ const DPAPI_SEAL = DPAPI_PREAMBLE +
140
+ "$j=[Console]::In.ReadToEnd();" +
141
+ "$b=[Text.Encoding]::UTF8.GetBytes($j);" +
142
+ "$p=[Security.Cryptography.ProtectedData]::Protect($b,$null,'CurrentUser');" +
143
+ "[Convert]::ToBase64String($p)";
144
+ const DPAPI_OPEN = DPAPI_PREAMBLE +
145
+ "$e=[Console]::In.ReadToEnd().Trim();" +
146
+ "$b=[Convert]::FromBase64String($e);" +
147
+ "$p=[Security.Cryptography.ProtectedData]::Unprotect($b,$null,'CurrentUser');" +
148
+ "[Text.Encoding]::UTF8.GetString($p)";
149
+ /** Seals one byte and opens it again — the only honest test of "can I do this". */
150
+ const DPAPI_PROBE = DPAPI_PREAMBLE +
151
+ "$p=[Security.Cryptography.ProtectedData]::Protect([Text.Encoding]::UTF8.GetBytes('ok'),$null,'CurrentUser');" +
152
+ "[Text.Encoding]::UTF8.GetString([Security.Cryptography.ProtectedData]::Unprotect($p,$null,'CurrentUser'))";
125
153
  function psDpapi(script, input) {
126
- const r = run('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-Command', script], input);
154
+ const r = run('powershell.exe', ['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', script], input);
127
155
  if (r.error || r.status !== 0) {
128
156
  throw new KeychainUnavailable(`DPAPI call failed: ${(r.stderr || '').trim() || 'unknown error'}`);
129
157
  }
@@ -141,11 +169,17 @@ function winRead() {
141
169
  return {};
142
170
  // ConvertTo-SecureString without -Key is DPAPI at CurrentUser scope: only
143
171
  // this Windows account, on this machine, can turn it back into text.
144
- const json = psDpapi('$e = [Console]::In.ReadToEnd().Trim();' +
145
- '$s = ConvertTo-SecureString $e;' +
146
- '$b = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($s);' +
147
- 'try { [Runtime.InteropServices.Marshal]::PtrToStringAuto($b) }' +
148
- 'finally { [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($b) }', sealed);
172
+ // 1.8.0 and 1.8.1 sealed with ConvertFrom-SecureString, whose output is hex.
173
+ // Anything else is the ProtectedData format. Reading both means an existing
174
+ // store keeps working instead of looking corrupt after an update.
175
+ const legacy = /^[0-9a-f]+$/i.test(sealed);
176
+ const json = legacy
177
+ ? psDpapi('$e = [Console]::In.ReadToEnd().Trim();' +
178
+ '$s = ConvertTo-SecureString $e;' +
179
+ '$b = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($s);' +
180
+ 'try { [Runtime.InteropServices.Marshal]::PtrToStringAuto($b) }' +
181
+ 'finally { [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($b) }', sealed)
182
+ : psDpapi(DPAPI_OPEN, sealed);
149
183
  try {
150
184
  const store = JSON.parse(json);
151
185
  cached = { store, at: Date.now(), file };
@@ -159,8 +193,7 @@ function winWrite(store) {
159
193
  const { dir, file } = winPaths();
160
194
  if (!(0, node_fs_1.existsSync)(dir))
161
195
  (0, node_fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
162
- const sealed = psDpapi('$j = [Console]::In.ReadToEnd();' +
163
- 'ConvertTo-SecureString $j -AsPlainText -Force | ConvertFrom-SecureString', JSON.stringify(store)).trim();
196
+ const sealed = psDpapi(DPAPI_SEAL, JSON.stringify(store)).trim();
164
197
  // Atomic: a crash mid-write leaves the previous store intact rather than a
165
198
  // truncated file that would take every secret with it.
166
199
  const tmp = `${file}.tmp`;
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/engine/keychain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/engine/keychain.ts"],"names":[],"mappings":"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"}