enclave-link 0.2.2 → 0.2.3

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.
@@ -11851,9 +11851,18 @@ function openVault({
11851
11851
  taken
11852
11852
  ))
11853
11853
  after[byContent.get(content).id] = { name, vault: byContent.get(content).vault };
11854
- const imported = new Map(
11855
- entries.filter((entry) => after[entry.id]).map((entry) => [after[entry.id].name, toItem(entry.content)])
11856
- );
11854
+ const imported = /* @__PURE__ */ new Map();
11855
+ for (const entry of entries) {
11856
+ const target = after[entry.id];
11857
+ if (!target) continue;
11858
+ const item = toItem(entry.content);
11859
+ const previous = before[entry.id];
11860
+ const proton = new Set(previous?.fields);
11861
+ const existing = previous?.fields ? await store.get(previous.name) ?? {} : {};
11862
+ const added = Object.entries(existing).filter(([field]) => !proton.has(field) && !(field in item));
11863
+ imported.set(target.name, { ...Object.fromEntries(added), ...item });
11864
+ target.fields = Object.keys(item);
11865
+ }
11857
11866
  for (const [name, item] of imported) await store.put(name, item);
11858
11867
  const removed = Object.values(before).filter(({ name, vault: vault2 }) => read2.includes(vault2) && !imported.has(name)).map(({ name }) => name);
11859
11868
  for (const name of removed) await store.remove(name);
package/dist/enclave.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  signRequest,
4
4
  vault
5
- } from "./chunk-RHLID3KU.js";
5
+ } from "./chunk-M5IM6SCO.js";
6
6
  import "./chunk-7QIF4PCL.js";
7
7
 
8
8
  // src/cli.ts
@@ -48,7 +48,9 @@ try {
48
48
  } else if (command === "get" && name && rest[0]) {
49
49
  process.stdout.write(await vault.get(name, rest[0]));
50
50
  } else if (command === "save" && name && rest[0]) {
51
- await vault.save(name, rest[0], (await text(process.stdin)).replace(/\r?\n$/, ""));
51
+ const value = (await text(process.stdin)).replace(/\r?\n$/, "");
52
+ if (!value) throw new Error(`nothing came in to save as ${name}'s ${rest[0]}`);
53
+ await vault.save(name, rest[0], value);
52
54
  console.log(`saved ${name}: ${rest[0]}`);
53
55
  } else if (command === "passkey" && name) {
54
56
  await vault.passkey(name, rest[0]);
@@ -70,7 +72,7 @@ try {
70
72
  } else if (command === "rm" && name) {
71
73
  await vault.remove(name);
72
74
  } else if (command === "mcp") {
73
- const { serve } = await import("./mcp-P5HFD2DQ.js");
75
+ const { serve } = await import("./mcp-VPAJVHAE.js");
74
76
  await serve(vault);
75
77
  } else {
76
78
  console.error(usage);
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  Store,
3
3
  openVault,
4
4
  vault
5
- } from "./chunk-RHLID3KU.js";
5
+ } from "./chunk-M5IM6SCO.js";
6
6
  import "./chunk-7QIF4PCL.js";
7
7
  export {
8
8
  Store,
@@ -16914,7 +16914,7 @@ var StdioServerTransport = class {
16914
16914
  // package.json
16915
16915
  var package_default = {
16916
16916
  name: "enclave-link",
16917
- version: "0.2.2",
16917
+ version: "0.2.3",
16918
16918
  description: "Ask a person for a secret through a one-time link. It's encrypted in their browser, and only your agent can open it.",
16919
16919
  license: "MIT",
16920
16920
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enclave-link",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Ask a person for a secret through a one-time link. It's encrypted in their browser, and only your agent can open it.",
5
5
  "license": "MIT",
6
6
  "bin": {