@intentic/machine 1.343.0 → 1.345.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.
Files changed (214) hide show
  1. package/README.md +134 -29
  2. package/dist/autostart/autostart.d.ts +0 -1
  3. package/dist/autostart/autostart.d.ts.map +1 -1
  4. package/dist/autostart/autostart.js +3 -9
  5. package/dist/autostart/autostart.js.map +1 -1
  6. package/dist/commands.d.ts.map +1 -1
  7. package/dist/commands.js +4 -21
  8. package/dist/commands.js.map +1 -1
  9. package/dist/device/commands.d.ts +2 -1
  10. package/dist/device/commands.d.ts.map +1 -1
  11. package/dist/device/commands.js +4 -2
  12. package/dist/device/commands.js.map +1 -1
  13. package/dist/device/connection.d.ts.map +1 -1
  14. package/dist/device/connection.js +27 -9
  15. package/dist/device/connection.js.map +1 -1
  16. package/dist/device/grant.d.ts +259 -0
  17. package/dist/device/grant.d.ts.map +1 -1
  18. package/dist/device/mcp.d.ts.map +1 -1
  19. package/dist/device/mcp.js +25 -8
  20. package/dist/device/mcp.js.map +1 -1
  21. package/dist/device/router.d.ts +484 -225
  22. package/dist/device/router.d.ts.map +1 -1
  23. package/dist/device/router.js +18 -10
  24. package/dist/device/router.js.map +1 -1
  25. package/dist/device/sandbox-rounds/keeper.d.ts +4 -1
  26. package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -1
  27. package/dist/device/sandbox-rounds/keeper.js +12 -6
  28. package/dist/device/sandbox-rounds/keeper.js.map +1 -1
  29. package/dist/device/sandbox-rounds/sleep.d.ts +15 -2
  30. package/dist/device/sandbox-rounds/sleep.d.ts.map +1 -1
  31. package/dist/device/sandbox-rounds/sleep.js +68 -13
  32. package/dist/device/sandbox-rounds/sleep.js.map +1 -1
  33. package/dist/device/tools/agent.d.ts +15 -0
  34. package/dist/device/tools/agent.d.ts.map +1 -1
  35. package/dist/device/tools/agent.js +75 -19
  36. package/dist/device/tools/agent.js.map +1 -1
  37. package/dist/device/tools/android.d.ts +1 -1
  38. package/dist/device/tools/android.d.ts.map +1 -1
  39. package/dist/device/tools/android.js +17 -8
  40. package/dist/device/tools/android.js.map +1 -1
  41. package/dist/device/tools/browser.d.ts.map +1 -1
  42. package/dist/device/tools/browser.js +3 -5
  43. package/dist/device/tools/browser.js.map +1 -1
  44. package/dist/device/tools/ic-binary.d.ts +1 -1
  45. package/dist/device/tools/ic-binary.d.ts.map +1 -1
  46. package/dist/device/tools/ic-binary.js +6 -4
  47. package/dist/device/tools/ic-binary.js.map +1 -1
  48. package/dist/device/tools/programs/app-wait-tools.d.ts +12 -0
  49. package/dist/device/tools/programs/app-wait-tools.d.ts.map +1 -0
  50. package/dist/device/tools/programs/app-wait-tools.js +60 -0
  51. package/dist/device/tools/programs/app-wait-tools.js.map +1 -0
  52. package/dist/device/tools/programs/app-wait.d.ts +19 -0
  53. package/dist/device/tools/programs/app-wait.d.ts.map +1 -0
  54. package/dist/device/tools/programs/app-wait.js +89 -0
  55. package/dist/device/tools/programs/app-wait.js.map +1 -0
  56. package/dist/device/tools/programs/file-changes.d.ts +2 -0
  57. package/dist/device/tools/programs/file-changes.d.ts.map +1 -0
  58. package/dist/device/tools/programs/file-changes.js +19 -0
  59. package/dist/device/tools/programs/file-changes.js.map +1 -0
  60. package/dist/device/tools/programs/programs.d.ts +12 -0
  61. package/dist/device/tools/programs/programs.d.ts.map +1 -1
  62. package/dist/device/tools/programs/programs.js +13 -12
  63. package/dist/device/tools/programs/programs.js.map +1 -1
  64. package/dist/device/tools/programs/stop-all.d.ts +10 -0
  65. package/dist/device/tools/programs/stop-all.d.ts.map +1 -0
  66. package/dist/device/tools/programs/stop-all.js +52 -0
  67. package/dist/device/tools/programs/stop-all.js.map +1 -0
  68. package/dist/device/tools/sandboxes.d.ts +1 -0
  69. package/dist/device/tools/sandboxes.d.ts.map +1 -1
  70. package/dist/device/tools/sandboxes.js +4 -1
  71. package/dist/device/tools/sandboxes.js.map +1 -1
  72. package/dist/device/tools/shell.d.ts +1 -1
  73. package/dist/device/tools/shell.d.ts.map +1 -1
  74. package/dist/install.d.ts +6 -0
  75. package/dist/install.d.ts.map +1 -1
  76. package/dist/install.js +7 -2
  77. package/dist/install.js.map +1 -1
  78. package/dist/keyring/app-commands.d.ts +15 -0
  79. package/dist/keyring/app-commands.d.ts.map +1 -0
  80. package/dist/keyring/app-commands.js +247 -0
  81. package/dist/keyring/app-commands.js.map +1 -0
  82. package/dist/keyring/commands.d.ts +1 -1
  83. package/dist/keyring/commands.d.ts.map +1 -1
  84. package/dist/keyring/commands.js +26 -32
  85. package/dist/keyring/commands.js.map +1 -1
  86. package/dist/keyring/git-helper.d.ts +8 -0
  87. package/dist/keyring/git-helper.d.ts.map +1 -0
  88. package/dist/keyring/git-helper.js +60 -0
  89. package/dist/keyring/git-helper.js.map +1 -0
  90. package/dist/keyring/keyring-status.d.ts +8 -1
  91. package/dist/keyring/keyring-status.d.ts.map +1 -1
  92. package/dist/keyring/keyring-status.js +39 -4
  93. package/dist/keyring/keyring-status.js.map +1 -1
  94. package/dist/keyring/native-host-install.d.ts +28 -0
  95. package/dist/keyring/native-host-install.d.ts.map +1 -0
  96. package/dist/keyring/native-host-install.js +99 -0
  97. package/dist/keyring/native-host-install.js.map +1 -0
  98. package/dist/keyring/relay.d.ts +5 -1
  99. package/dist/keyring/relay.d.ts.map +1 -1
  100. package/dist/keyring/relay.js +16 -0
  101. package/dist/keyring/relay.js.map +1 -1
  102. package/dist/keyring/sandbox-push.d.ts +4 -0
  103. package/dist/keyring/sandbox-push.d.ts.map +1 -0
  104. package/dist/keyring/sandbox-push.js +21 -0
  105. package/dist/keyring/sandbox-push.js.map +1 -0
  106. package/dist/keyring/service.d.ts +11 -5
  107. package/dist/keyring/service.d.ts.map +1 -1
  108. package/dist/keyring/service.js +34 -51
  109. package/dist/keyring/service.js.map +1 -1
  110. package/dist/resident/resident.d.ts +1 -0
  111. package/dist/resident/resident.d.ts.map +1 -1
  112. package/dist/resident/resident.js +9 -0
  113. package/dist/resident/resident.js.map +1 -1
  114. package/dist/status.d.ts.map +1 -1
  115. package/dist/status.js +22 -1
  116. package/dist/status.js.map +1 -1
  117. package/dist/sync/attach-commands.d.ts.map +1 -1
  118. package/dist/sync/attach-commands.js +2 -1
  119. package/dist/sync/attach-commands.js.map +1 -1
  120. package/dist/sync/binary/mutagen-binary.d.ts +4 -0
  121. package/dist/sync/binary/mutagen-binary.d.ts.map +1 -0
  122. package/dist/sync/binary/mutagen-binary.js +65 -0
  123. package/dist/sync/binary/mutagen-binary.js.map +1 -0
  124. package/dist/sync/commands.d.ts +2 -1
  125. package/dist/sync/commands.d.ts.map +1 -1
  126. package/dist/sync/commands.js +29 -64
  127. package/dist/sync/commands.js.map +1 -1
  128. package/dist/sync/config.d.ts +19 -1
  129. package/dist/sync/config.d.ts.map +1 -1
  130. package/dist/sync/config.js +19 -4
  131. package/dist/sync/config.js.map +1 -1
  132. package/dist/sync/exec.d.ts +17 -0
  133. package/dist/sync/exec.d.ts.map +1 -1
  134. package/dist/sync/exec.js +56 -2
  135. package/dist/sync/exec.js.map +1 -1
  136. package/dist/sync/forget-command.js +1 -1
  137. package/dist/sync/forget-command.js.map +1 -1
  138. package/dist/sync/git-bridge.d.ts +35 -3
  139. package/dist/sync/git-bridge.d.ts.map +1 -1
  140. package/dist/sync/git-bridge.js +201 -16
  141. package/dist/sync/git-bridge.js.map +1 -1
  142. package/dist/sync/gone-watch.d.ts +1 -0
  143. package/dist/sync/gone-watch.d.ts.map +1 -1
  144. package/dist/sync/gone-watch.js +20 -7
  145. package/dist/sync/gone-watch.js.map +1 -1
  146. package/dist/sync/low-disk.d.ts +25 -0
  147. package/dist/sync/low-disk.d.ts.map +1 -0
  148. package/dist/sync/low-disk.js +91 -0
  149. package/dist/sync/low-disk.js.map +1 -0
  150. package/dist/sync/mirror.d.ts +2 -0
  151. package/dist/sync/mirror.d.ts.map +1 -1
  152. package/dist/sync/mirror.js +76 -27
  153. package/dist/sync/mirror.js.map +1 -1
  154. package/dist/sync/mutagen-env.d.ts +9 -0
  155. package/dist/sync/mutagen-env.d.ts.map +1 -0
  156. package/dist/sync/mutagen-env.js +25 -0
  157. package/dist/sync/mutagen-env.js.map +1 -0
  158. package/dist/sync/mutagen-move.d.ts +53 -0
  159. package/dist/sync/mutagen-move.d.ts.map +1 -0
  160. package/dist/sync/mutagen-move.js +207 -0
  161. package/dist/sync/mutagen-move.js.map +1 -0
  162. package/dist/sync/mutagen.d.ts +13 -10
  163. package/dist/sync/mutagen.d.ts.map +1 -1
  164. package/dist/sync/mutagen.js +60 -113
  165. package/dist/sync/mutagen.js.map +1 -1
  166. package/dist/sync/project/project-commands.d.ts.map +1 -1
  167. package/dist/sync/project/project-commands.js +2 -1
  168. package/dist/sync/project/project-commands.js.map +1 -1
  169. package/dist/sync/project/project-delivery.d.ts.map +1 -1
  170. package/dist/sync/project/project-delivery.js +2 -1
  171. package/dist/sync/project/project-delivery.js.map +1 -1
  172. package/dist/sync/project/project-remote.d.ts.map +1 -1
  173. package/dist/sync/project/project-remote.js +2 -1
  174. package/dist/sync/project/project-remote.js.map +1 -1
  175. package/dist/sync/report.d.ts.map +1 -1
  176. package/dist/sync/report.js +15 -4
  177. package/dist/sync/report.js.map +1 -1
  178. package/dist/sync/uninstall.d.ts +9 -0
  179. package/dist/sync/uninstall.d.ts.map +1 -0
  180. package/dist/sync/uninstall.js +76 -0
  181. package/dist/sync/uninstall.js.map +1 -0
  182. package/dist/uninstall/command.d.ts +3 -0
  183. package/dist/uninstall/command.d.ts.map +1 -0
  184. package/dist/uninstall/command.js +40 -0
  185. package/dist/uninstall/command.js.map +1 -0
  186. package/dist/uninstall/distros.d.ts +8 -0
  187. package/dist/uninstall/distros.d.ts.map +1 -0
  188. package/dist/uninstall/distros.js +103 -0
  189. package/dist/uninstall/distros.js.map +1 -0
  190. package/dist/uninstall/plan.d.ts +23 -0
  191. package/dist/uninstall/plan.d.ts.map +1 -0
  192. package/dist/uninstall/plan.js +71 -0
  193. package/dist/uninstall/plan.js.map +1 -0
  194. package/dist/uninstall/purge.d.ts +3 -0
  195. package/dist/uninstall/purge.d.ts.map +1 -0
  196. package/dist/uninstall/purge.js +79 -0
  197. package/dist/uninstall/purge.js.map +1 -0
  198. package/dist/uninstall/steps.d.ts +12 -0
  199. package/dist/uninstall/steps.d.ts.map +1 -0
  200. package/dist/uninstall/steps.js +200 -0
  201. package/dist/uninstall/steps.js.map +1 -0
  202. package/dist/uninstall/sweep.d.ts +12 -0
  203. package/dist/uninstall/sweep.d.ts.map +1 -0
  204. package/dist/uninstall/sweep.js +90 -0
  205. package/dist/uninstall/sweep.js.map +1 -0
  206. package/dist/uninstall/tally.d.ts +14 -0
  207. package/dist/uninstall/tally.d.ts.map +1 -0
  208. package/dist/uninstall/tally.js +25 -0
  209. package/dist/uninstall/tally.js.map +1 -0
  210. package/dist/upkeep/login.d.ts +0 -9
  211. package/dist/upkeep/login.d.ts.map +1 -1
  212. package/dist/upkeep/login.js +12 -59
  213. package/dist/upkeep/login.js.map +1 -1
  214. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  import { plural } from "@intentic/base/format";
2
- import { askKeyring, keyringPaths, KeyringUnavailable, sealForKeyring } from "@intentic/keyring";
2
+ import { askKeyring, keyringPaths, KeyringUnavailable, newRecoveryKey, sealForKeyring } from "@intentic/keyring";
3
3
  import { civilDayIn, localZone } from "@intentic/sandbox-contract/time/zone";
4
4
  import { buildChoiceParser, buildRouteMap, numberParser } from "@stricli/core";
5
5
  import { buildCommand } from "../cli-ui.js";
@@ -9,8 +9,11 @@ import { keyringAnswer } from "./answer.js";
9
9
  import { askpassStatus, installAskpass, uninstallAskpass } from "./askpass.js";
10
10
  import { addPlan, backendConfig, editPatch, editTakesValue, entryName, KeyringCliError, shareTarget, unshareTarget, } from "./flags.js";
11
11
  import { readConfirmed, readStdin } from "./secret-input.js";
12
- import { clock, keyringLine, keyringStatusLine, readAskpassAnswer, readKeyringStatus } from "./keyring-status.js";
13
- import { hardenKeyring, installKeyring, keyringState, startKeyring, uninstallKeyring, upgradeKeyring } from "./service.js";
12
+ import { clock, keyringLine, keyringStatusLine, readAskpassAnswer, readKeyringStatus, supportOf } from "./keyring-status.js";
13
+ import { ensureService, installKeyring, keyringState, uninstallKeyring, upgradeKeyring } from "./service.js";
14
+ import { appCommands } from "./app-commands.js";
15
+ import { uninstallGitHelper } from "./git-helper.js";
16
+ import { uninstallNativeHost } from "./native-host-install.js";
14
17
  const pipe = () => ({ address: keyringPaths().address });
15
18
  const json = { kind: "boolean", brief: "Print one JSON line, `ok` first (what the desktop app reads)", default: false };
16
19
  const NAME = { brief: "The entry's name, as `{{secret:NAME}}` spells it", parse: String, placeholder: "NAME" };
@@ -38,30 +41,22 @@ const sealedValue = async (ui, name, from, what) => {
38
41
  const value = from === "stdin" ? await readStdin() : await prompted(ui, async () => await readConfirmed(what));
39
42
  return sealForKeyring(key, name, value);
40
43
  };
41
- const PASSPHRASE_MIN = 10;
42
- const choosePassphrase = async (ui, fromStdin) => {
43
- if (!fromStdin) {
44
- ui.note(`Choose the keyring's passphrase: ${PASSPHRASE_MIN} characters or more. It opens the vault where Windows Hello cannot, and nothing can recover it.`);
45
- }
46
- const passphrase = fromStdin ? await readStdin() : await prompted(ui, async () => await readConfirmed("Passphrase"));
47
- if (passphrase.length < PASSPHRASE_MIN) {
48
- throw new KeyringCliError("usage", `The passphrase is shorter than ${PASSPHRASE_MIN} characters: choose a longer one.`);
49
- }
50
- return passphrase;
51
- };
52
44
  const setup = buildCommand({
53
- docs: { brief: "Install the keyring beside this agent, start it at login, and set up its vault" },
45
+ docs: { brief: "Install Passwords' protected service (an administrator's yes, once), start it at login, and set up its vault" },
54
46
  parameters: {
55
47
  flags: {
56
- passphraseStdin: { kind: "boolean", brief: "Read the passphrase once from stdin instead of twice from the terminal", default: false },
57
- hello: { kind: "boolean", brief: "Also unlock with Windows Hello where this computer has it (--no-hello: the passphrase alone)", default: true },
48
+ hello: { kind: "boolean", brief: "Unlock with Windows Hello where this computer has it (--no-hello: the recovery key alone)", default: true },
58
49
  json,
59
50
  },
60
51
  },
61
52
  async func(flags) {
62
- await keyringAnswer(this, flags.json, { doing: "Setting up the keyring", failed: "The keyring was not set up." }, async (ui) => {
53
+ await keyringAnswer(this, flags.json, { doing: "Setting up Passwords", failed: "Passwords was not set up." }, async (ui) => {
54
+ const support = supportOf(process.platform);
55
+ if (!support.canSetUp) {
56
+ throw new KeyringCliError("unavailable", support.why ?? "Passwords cannot be set up on this computer.");
57
+ }
63
58
  const installed = await installKeyring(MACHINE_VERSION, ui.note);
64
- const started = await startKeyring(ui.note);
59
+ const started = await ensureService(ui.note);
65
60
  if (!started.state.ok) {
66
61
  return started.state;
67
62
  }
@@ -69,17 +64,21 @@ const setup = buildCommand({
69
64
  if (started.state.setUp) {
70
65
  return { ...base, alreadySetUp: true, askpass: await readAskpassAnswer(), state: started.state.state };
71
66
  }
72
- const passphrase = await choosePassphrase(ui, flags.passphraseStdin);
73
- const done = await askKeyring(pipe(), { op: "setup", passphrase, hello: flags.hello && process.platform === "win32" });
67
+ const recoveryKey = newRecoveryKey();
68
+ const done = await askKeyring(pipe(), { op: "setup", passphrase: recoveryKey, hello: flags.hello && process.platform === "win32" });
74
69
  if (!done.ok) {
75
70
  return done;
76
71
  }
77
72
  const after = await keyringState();
78
73
  const state = after instanceof KeyringUnavailable || !after.ok ? undefined : after.state;
79
- const answer = { ...base, alreadySetUp: false, askpass: await readAskpassAnswer() };
74
+ const answer = { ...base, alreadySetUp: false, askpass: await readAskpassAnswer(), recoveryKey };
80
75
  return state === undefined ? answer : { ...answer, state };
81
76
  }, (result, ui) => {
82
- ui.done(result.alreadySetUp ? `The keyring was set up already, and is running from ${result.path}.` : `Set up the keyring at ${result.path}; it starts at every sign-in.`);
77
+ if (result.recoveryKey !== undefined) {
78
+ ui.note(`Your recovery key: ${result.recoveryKey}`);
79
+ ui.note("Write it down and keep it somewhere safe. It is shown only now, and it is the only way into your passwords if this computer's sign-in check is ever reset.");
80
+ }
81
+ ui.done(result.alreadySetUp ? `Passwords was set up already, and is running from ${result.path}.` : `Set up Passwords at ${result.path}; it starts at every sign-in.`);
83
82
  ui.later([
84
83
  ["keep a password in it", "intentic-machine keyring add NAME"],
85
84
  ...(result.askpass.installed ? [] : [["let ssh, sudo and git ask it", "intentic-machine keyring askpass install"]]),
@@ -340,22 +339,17 @@ const upgrade = buildCommand({
340
339
  await keyringAnswer(this, flags.json, { doing: `Updating the keyring to ${MACHINE_VERSION}`, failed: "The keyring was not updated." }, async (ui) => await upgradeKeyring(MACHINE_VERSION, ui.note), (result, ui) => ui.done(result.upgraded ? `Updated the keyring from ${result.from} to ${result.to}.` : `The keyring is already on ${result.to}. Nothing to do.`));
341
340
  },
342
341
  });
343
- const harden = buildCommand({
344
- docs: { brief: "Windows: move the vault under a service of its own, out of reach of your user's processes (one UAC prompt)" },
345
- parameters: { flags: { json } },
346
- async func(flags) {
347
- await keyringAnswer(this, flags.json, { doing: "Hardening the keyring", failed: "The keyring was not hardened." }, async (ui) => ({ ok: true, ...(await hardenKeyring(ui.note)) }), (result, ui) => ui.done(`The vault is held by the ${result.service} service now; its helper starts at every sign-in.`));
348
- },
349
- });
350
342
  const uninstall = buildCommand({
351
343
  docs: { brief: "Remove the keyring from this computer, keeping its vault" },
352
344
  parameters: { flags: { json } },
353
345
  async func(flags) {
354
346
  await keyringAnswer(this, flags.json, { doing: "Removing the keyring", failed: "The keyring was not removed." }, async (ui) => {
355
347
  await uninstallAskpass();
348
+ await uninstallGitHelper();
349
+ await uninstallNativeHost();
356
350
  return { ok: true, ...(await uninstallKeyring(ui.note)) };
357
351
  }, (result, ui) => {
358
- ui.note(`The vault stays in ${result.vault}${result.hardened ? " (hardened: under %ProgramData%\\Intentic\\Keyring)" : ""}: set the keyring up again and the same passphrase opens it.`);
352
+ ui.note(`The vault stays in ${result.vault}: set Passwords up again and the same recovery key opens it.`);
359
353
  ui.done("Removed the keyring from this computer.");
360
354
  });
361
355
  },
@@ -377,8 +371,8 @@ export const keyringCommands = {
377
371
  docs: { brief: "Let ssh, sudo and git ask the keyring for passwords" },
378
372
  }),
379
373
  sync: buildRouteMap({ routes: { status: syncStatus }, docs: { brief: "The keyring's sync with your other computers" } }),
374
+ app: appCommands,
380
375
  upgrade,
381
- harden,
382
376
  uninstall,
383
377
  };
384
378
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/keyring/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/keyring/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface GitHelperState {
2
+ readonly available: boolean;
3
+ readonly installed: boolean;
4
+ }
5
+ export declare const gitHelperStatus: (path?: string) => Promise<GitHelperState>;
6
+ export declare const installGitHelper: (path?: string) => Promise<GitHelperState>;
7
+ export declare const uninstallGitHelper: () => Promise<GitHelperState>;
8
+ //# sourceMappingURL=git-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-helper.d.ts","sourceRoot":"","sources":["../../src/keyring/git-helper.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,UAAgB,MAAM,KAAiB,OAAO,CAAC,cAAc,CAGxF,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAAgB,MAAM,KAAiB,OAAO,CAAC,cAAc,CAUzF,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,cAAc,CAUjE,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { runBounded } from "@intentic/base/process";
2
+ import { keyringPath } from "../release.js";
3
+ import { KeyringCliError } from "./flags.js";
4
+ const gitHelperValue = (path) => `!"${path.replaceAll("\\", "/")}" git-credential`;
5
+ const isOurs = (helper) => /intentic-keyring[^"]*"? git-credential$/u.test(helper);
6
+ const orderedHelpers = (existing, ours) => {
7
+ const others = existing.filter((helper) => !isOurs(helper));
8
+ const reset = others.lastIndexOf("");
9
+ return [...others.slice(0, reset + 1), ours, ...others.slice(reset + 1)];
10
+ };
11
+ const git = async (args) => {
12
+ const result = await runBounded("git", [...args], { timeoutMs: 20_000 });
13
+ return { code: result.exitCode, out: result.stdout.text, missing: result.spawnError !== undefined };
14
+ };
15
+ const helpers = async () => {
16
+ const listed = await git(["config", "--global", "--get-all", "credential.helper"]);
17
+ if (listed.missing) {
18
+ return undefined;
19
+ }
20
+ return listed.code === 0 ? listed.out.split(/\r?\n/u).filter((line, index, all) => line !== "" || index < all.length - 1) : [];
21
+ };
22
+ const write = async (list) => {
23
+ const cleared = await git(["config", "--global", "--unset-all", "credential.helper"]);
24
+ if (cleared.code !== 0 && cleared.code !== 5) {
25
+ throw new KeyringCliError("failed", "git would not change its credential helpers.");
26
+ }
27
+ for (const helper of list) {
28
+ const added = await git(["config", "--global", "--add", "credential.helper", helper]);
29
+ if (added.code !== 0) {
30
+ throw new KeyringCliError("failed", "git would not take the keyring as a credential helper.");
31
+ }
32
+ }
33
+ };
34
+ export const gitHelperStatus = async (path = keyringPath) => {
35
+ const list = await helpers();
36
+ return { available: list !== undefined, installed: list?.includes(gitHelperValue(path)) === true };
37
+ };
38
+ export const installGitHelper = async (path = keyringPath) => {
39
+ const list = await helpers();
40
+ if (list === undefined) {
41
+ throw new KeyringCliError("unavailable", "git is not installed here, so there is no credential helper to set.");
42
+ }
43
+ const ordered = orderedHelpers(list, gitHelperValue(path));
44
+ if (ordered.join("\n") !== list.join("\n")) {
45
+ await write(ordered);
46
+ }
47
+ return { available: true, installed: true };
48
+ };
49
+ export const uninstallGitHelper = async () => {
50
+ const list = await helpers();
51
+ if (list === undefined) {
52
+ return { available: false, installed: false };
53
+ }
54
+ const kept = list.filter((helper) => !isOurs(helper));
55
+ if (kept.length !== list.length) {
56
+ await write(kept);
57
+ }
58
+ return { available: true, installed: false };
59
+ };
60
+ //# sourceMappingURL=git-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-helper.js","sourceRoot":"","sources":["../../src/keyring/git-helper.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,17 @@ export interface AskpassAnswer {
12
12
  readonly path?: string;
13
13
  }
14
14
  export declare const readAskpassAnswer: () => Promise<AskpassAnswer>;
15
+ export interface KeyringSupport {
16
+ readonly canSetUp: boolean;
17
+ readonly why?: string;
18
+ readonly hello: boolean;
19
+ readonly platform: "windows" | "linux" | "darwin";
20
+ }
21
+ export declare const supportOf: (platform: NodeJS.Platform, env?: NodeJS.ProcessEnv, booted?: () => boolean) => Omit<KeyringSupport, "hello">;
15
22
  export interface KeyringStatusAnswer extends KeyringSummary {
16
23
  readonly ok: true;
17
24
  readonly askpass: AskpassAnswer;
18
- readonly hardened: boolean;
25
+ readonly support: KeyringSupport;
19
26
  }
20
27
  export declare const readKeyringStatus: () => Promise<KeyringStatusAnswer>;
21
28
  export declare const clock: (ms: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-status.d.ts","sourceRoot":"","sources":["../../src/keyring/keyring-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAQ/E,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,cAAc,CAKjE,CAAC;AAGF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,aAAa,CAG/D,CAAC;AAGF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACvD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAEhC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,mBAAmB,CAGrE,CAAC;AAGF,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,MAAsC,CAAC;AAG1E,eAAO,MAAM,WAAW,SAAU,iBAAiB,KAAG,IAYrD,CAAC;AAGF,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,YAAa,cAAc,KAAG,iBAO3D,CAAC"}
1
+ {"version":3,"file":"keyring-status.d.ts","sourceRoot":"","sources":["../../src/keyring/keyring-status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAQ/E,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,cAAc,CAKjE,CAAC;AAGF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,aAAa,CAG/D,CAAC;AAGF,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrD;AAoBD,eAAO,MAAM,SAAS,aAAc,MAAM,CAAC,QAAQ,QAAO,MAAM,CAAC,UAAU,WAAwB,MAAM,OAAO,KAA6C,IAAI,CAAC,cAAc,EAAE,OAAO,CAiBxL,CAAC;AAUF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACvD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,mBAAmB,CAGrE,CAAC;AAGF,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,MAAsC,CAAC;AAG1E,eAAO,MAAM,WAAW,SAAU,iBAAiB,KAAG,IAYrD,CAAC;AAGF,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,YAAa,cAAc,KAAG,iBAO3D,CAAC"}
@@ -1,7 +1,9 @@
1
- import { KeyringUnavailable } from "@intentic/keyring";
1
+ import { existsSync } from "node:fs";
2
+ import { delimiter, join } from "node:path";
3
+ import { helloHere, KeyringUnavailable, NOT_ON_MAC, realRunner } from "@intentic/keyring";
2
4
  import { localZone, wallClockIn } from "@intentic/sandbox-contract/time/zone";
3
5
  import { askpassStatus } from "./askpass.js";
4
- import { hardenedHere, keyringInstalled, keyringState } from "./service.js";
6
+ import { keyringInstalled, keyringState } from "./service.js";
5
7
  export const readKeyringSummary = async () => {
6
8
  const state = await keyringState();
7
9
  const running = !(state instanceof KeyringUnavailable);
@@ -12,9 +14,42 @@ export const readAskpassAnswer = async () => {
12
14
  const status = await askpassStatus();
13
15
  return status.path === undefined ? { installed: status.installed } : { installed: status.installed, path: status.path };
14
16
  };
17
+ const LINUX_NEEDS = [
18
+ { program: "systemctl", what: "systemd" },
19
+ { program: "pkexec", what: "polkit (pkexec)" },
20
+ { program: "pkcheck", what: "polkit (pkcheck)" },
21
+ { program: "setfacl", what: "the acl tools (setfacl)" },
22
+ ];
23
+ const onPath = (program, env) => (env["PATH"] ?? "")
24
+ .split(delimiter)
25
+ .filter((dir) => dir !== "")
26
+ .some((dir) => existsSync(join(dir, program)));
27
+ export const supportOf = (platform, env = process.env, booted = () => existsSync("/run/systemd/system")) => {
28
+ if (platform === "win32") {
29
+ return { canSetUp: true, platform: "windows" };
30
+ }
31
+ if (platform === "darwin") {
32
+ return { canSetUp: false, why: NOT_ON_MAC, platform: "darwin" };
33
+ }
34
+ if (platform !== "linux") {
35
+ return { canSetUp: false, why: `Passwords' protected service is not built for ${platform}.`, platform: "linux" };
36
+ }
37
+ const missing = LINUX_NEEDS.filter((need) => !onPath(need.program, env)).map((need) => need.what);
38
+ if (!booted()) {
39
+ missing.unshift("systemd running as this computer's init");
40
+ }
41
+ return missing.length === 0
42
+ ? { canSetUp: true, platform: "linux" }
43
+ : { canSetUp: false, why: `Passwords' protected service needs ${missing.join(", ")}, which this computer does not have.`, platform: "linux" };
44
+ };
45
+ const readSupport = async (summary) => {
46
+ const base = supportOf(process.platform);
47
+ const hello = summary.state === undefined ? base.canSetUp && (await helloHere(realRunner)) : summary.state.unlock.includes("hello");
48
+ return { ...base, hello };
49
+ };
15
50
  export const readKeyringStatus = async () => {
16
- const [summary, askpass, hardened] = await Promise.all([readKeyringSummary(), readAskpassAnswer(), hardenedHere()]);
17
- return { ok: true, ...summary, askpass, hardened };
51
+ const [summary, askpass] = await Promise.all([readKeyringSummary(), readAskpassAnswer()]);
52
+ return { ok: true, ...summary, askpass, support: await readSupport(summary) };
18
53
  };
19
54
  export const clock = (ms) => wallClockIn(ms, localZone());
20
55
  export const keyringLine = (line) => {
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-status.js","sourceRoot":"","sources":["../../src/keyring/keyring-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyring-status.js","sourceRoot":"","sources":["../../src/keyring/keyring-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export interface BrowserPlace {
2
+ readonly name: string;
3
+ readonly windowsData: string;
4
+ readonly windowsKey: string;
5
+ readonly linuxConfig: string;
6
+ }
7
+ export interface NativeHostManifest {
8
+ readonly name: string;
9
+ readonly description: string;
10
+ readonly path: string;
11
+ readonly type: "stdio";
12
+ readonly allowed_origins: readonly string[];
13
+ }
14
+ export interface NativeHostPlace {
15
+ readonly platform: NodeJS.Platform;
16
+ readonly home: string;
17
+ readonly localAppData: string;
18
+ readonly bin: string;
19
+ readonly keyring: string;
20
+ }
21
+ export interface NativeHostState {
22
+ readonly browsers: readonly string[];
23
+ readonly ready: readonly string[];
24
+ }
25
+ export declare const nativeHostStatus: (place?: NativeHostPlace) => Promise<NativeHostState>;
26
+ export declare const installNativeHost: (place?: NativeHostPlace) => Promise<NativeHostState>;
27
+ export declare const uninstallNativeHost: (place?: NativeHostPlace) => Promise<NativeHostState>;
28
+ //# sourceMappingURL=native-host-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-host-install.d.ts","sourceRoot":"","sources":["../../src/keyring/native-host-install.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AASD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAeD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAuBD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,WAAiB,eAAe,KAAiB,OAAO,CAAC,eAAe,CAcpG,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAiB,eAAe,KAAiB,OAAO,CAAC,eAAe,CA4BrG,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAiB,eAAe,KAAiB,OAAO,CAAC,eAAe,CAWvG,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { existsSync } from "node:fs";
2
+ import { mkdir, rm, writeFile } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import { runBounded } from "@intentic/base/process";
5
+ import { homeDir } from "@intentic/local-agent";
6
+ import { KEYRING_NATIVE_HOST } from "@intentic/sandbox-contract/schemas/keyring-native";
7
+ import { binDir } from "../config.js";
8
+ import { keyringPath } from "../release.js";
9
+ import { KeyringCliError } from "./flags.js";
10
+ const INTENTIC_EXTENSION_IDS = ["ipdmljdopicihjdlgiiplaiolngbinma"];
11
+ const BROWSERS = [
12
+ { name: "Chrome", windowsData: "Google\\Chrome\\User Data", windowsKey: "HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts", linuxConfig: "google-chrome" },
13
+ { name: "Chromium", windowsData: "Chromium\\User Data", windowsKey: "HKCU\\Software\\Chromium\\NativeMessagingHosts", linuxConfig: "chromium" },
14
+ { name: "Brave", windowsData: "BraveSoftware\\Brave-Browser\\User Data", windowsKey: "HKCU\\Software\\BraveSoftware\\Brave-Browser\\NativeMessagingHosts", linuxConfig: "BraveSoftware/Brave-Browser" },
15
+ { name: "Edge", windowsData: "Microsoft\\Edge\\User Data", windowsKey: "HKCU\\Software\\Microsoft\\Edge\\NativeMessagingHosts", linuxConfig: "microsoft-edge" },
16
+ ];
17
+ const nativeHostManifest = (launcher) => ({
18
+ name: KEYRING_NATIVE_HOST,
19
+ description: "Intentic Passwords",
20
+ path: launcher,
21
+ type: "stdio",
22
+ allowed_origins: INTENTIC_EXTENSION_IDS.map((id) => `chrome-extension://${id}/`),
23
+ });
24
+ const launcherText = (platform, keyring) => platform === "win32" ? `@echo off\r\n"${keyring}" native-host %*\r\n` : `#!/bin/sh\nexec '${keyring.replaceAll("'", "'\\''")}' native-host "$@"\n`;
25
+ const herePlace = () => ({
26
+ platform: process.platform,
27
+ home: homeDir(),
28
+ localAppData: process.env["LOCALAPPDATA"] ?? join(homeDir(), "AppData", "Local"),
29
+ bin: binDir,
30
+ keyring: keyringPath,
31
+ });
32
+ const manifestFile = (place) => join(place.bin, `${KEYRING_NATIVE_HOST}.json`);
33
+ const launcherFile = (place) => join(place.bin, place.platform === "win32" ? "intentic-native-host.bat" : "intentic-native-host");
34
+ const linuxManifest = (place, browser) => join(place.home, ".config", browser.linuxConfig, "NativeMessagingHosts", `${KEYRING_NATIVE_HOST}.json`);
35
+ const installedBrowsers = (place = herePlace()) => BROWSERS.filter((browser) => existsSync(place.platform === "win32" ? join(place.localAppData, browser.windowsData) : join(place.home, ".config", browser.linuxConfig)));
36
+ const reg = async (args) => {
37
+ const result = await runBounded("reg.exe", [...args], { timeoutMs: 20_000 });
38
+ return { ok: result.exitCode === 0, out: result.stdout.text };
39
+ };
40
+ export const nativeHostStatus = async (place = herePlace()) => {
41
+ const browsers = installedBrowsers(place);
42
+ const ready = [];
43
+ for (const browser of browsers) {
44
+ if (place.platform === "win32") {
45
+ const read = await reg(["query", `${browser.windowsKey}\\${KEYRING_NATIVE_HOST}`, "/ve"]);
46
+ if (read.ok && read.out.includes(manifestFile(place)) && existsSync(manifestFile(place))) {
47
+ ready.push(browser.name);
48
+ }
49
+ }
50
+ else if (existsSync(linuxManifest(place, browser))) {
51
+ ready.push(browser.name);
52
+ }
53
+ }
54
+ return { browsers: browsers.map((browser) => browser.name), ready };
55
+ };
56
+ export const installNativeHost = async (place = herePlace()) => {
57
+ if (place.platform !== "win32" && place.platform !== "linux") {
58
+ throw new KeyringCliError("unavailable", `Passwords cannot reach a browser on ${place.platform} yet.`);
59
+ }
60
+ const browsers = installedBrowsers(place);
61
+ if (browsers.length === 0) {
62
+ throw new KeyringCliError("unavailable", "No Chrome, Chromium, Brave or Edge has been run by this user here.");
63
+ }
64
+ await mkdir(place.bin, { recursive: true });
65
+ const launcher = launcherFile(place);
66
+ await writeFile(launcher, launcherText(place.platform, place.keyring), { mode: 0o755 });
67
+ const manifest = `${JSON.stringify(nativeHostManifest(launcher), null, 2)}\n`;
68
+ if (place.platform === "win32") {
69
+ await writeFile(manifestFile(place), manifest);
70
+ for (const browser of browsers) {
71
+ const added = await reg(["add", `${browser.windowsKey}\\${KEYRING_NATIVE_HOST}`, "/ve", "/t", "REG_SZ", "/d", manifestFile(place), "/f"]);
72
+ if (!added.ok) {
73
+ throw new KeyringCliError("failed", `Windows would not register Passwords for ${browser.name}.`);
74
+ }
75
+ }
76
+ }
77
+ else {
78
+ for (const browser of browsers) {
79
+ const file = linuxManifest(place, browser);
80
+ await mkdir(join(file, ".."), { recursive: true });
81
+ await writeFile(file, manifest, { mode: 0o644 });
82
+ }
83
+ }
84
+ return await nativeHostStatus(place);
85
+ };
86
+ export const uninstallNativeHost = async (place = herePlace()) => {
87
+ for (const browser of BROWSERS) {
88
+ if (place.platform === "win32") {
89
+ await reg(["delete", `${browser.windowsKey}\\${KEYRING_NATIVE_HOST}`, "/f"]);
90
+ }
91
+ else {
92
+ await rm(linuxManifest(place, browser), { force: true });
93
+ }
94
+ }
95
+ await rm(manifestFile(place), { force: true });
96
+ await rm(launcherFile(place), { force: true });
97
+ return { browsers: installedBrowsers(place).map((browser) => browser.name), ready: [] };
98
+ };
99
+ //# sourceMappingURL=native-host-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-host-install.js","sourceRoot":"","sources":["../../src/keyring/native-host-install.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { KeyringCopies, KeyringInboxItem, KeyringInboxResult, KeyringReleaseResult, KeyringShares, KeyringSyncDeliverResultSchema, KeyringSyncDeliverSchema, KeyringSyncOutboxSchema, KeyringSyncPairResultSchema, KeyringSyncPairSchema, KeyringSyncState, KeyringTypeInput, KeyringTypeResult, SignedKeyringGrant } from "@intentic/sandbox-contract/schemas/keyring";
1
+ import type { KeyringCaptureItem, KeyringCaptureResult, KeyringCopies, KeyringInboxItem, KeyringInboxResult, KeyringNeed, KeyringNeedResult, KeyringPhoneFillResult, KeyringPhoneKeys, KeyringPhonePairResult, KeyringReleaseResult, KeyringShares, KeyringSyncDeliverResultSchema, KeyringSyncDeliverSchema, KeyringSyncOutboxSchema, KeyringSyncPairResultSchema, KeyringSyncPairSchema, KeyringSyncState, KeyringTypeInput, KeyringTypeResult, SignedKeyringGrant, SignedKeyringPhoneFill } from "@intentic/sandbox-contract/schemas/keyring";
2
2
  import type { z } from "zod";
3
3
  type SyncPair = z.infer<typeof KeyringSyncPairSchema>;
4
4
  type SyncPairResult = z.infer<typeof KeyringSyncPairResultSchema>;
@@ -18,5 +18,9 @@ export declare const keyringSyncState: (link: KeyringLink) => Promise<KeyringSyn
18
18
  export declare const keyringSyncPair: (link: KeyringLink, pair: SyncPair) => Promise<SyncPairResult>;
19
19
  export declare const keyringSyncOutbox: (link: KeyringLink) => Promise<SyncOutbox>;
20
20
  export declare const keyringSyncDeliver: (link: KeyringLink, deliver: SyncDeliver) => Promise<SyncDeliverResult>;
21
+ export declare const keyringCapture: (link: KeyringLink, item: KeyringCaptureItem) => Promise<KeyringCaptureResult>;
22
+ export declare const keyringNeed: (link: KeyringLink, need: KeyringNeed) => Promise<KeyringNeedResult>;
23
+ export declare const keyringPhonePair: (link: KeyringLink, phone: KeyringPhoneKeys) => Promise<KeyringPhonePairResult>;
24
+ export declare const keyringPhoneFill: (link: KeyringLink, fill: SignedKeyringPhoneFill) => Promise<KeyringPhoneFillResult>;
21
25
  export {};
22
26
  //# sourceMappingURL=relay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/keyring/relay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAElB,oBAAoB,EACpB,aAAa,EACb,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACrB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtD,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAClE,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1D,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC5D,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAYxE,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAwCD,eAAO,MAAM,aAAa,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,CAkB5E,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,WAAW,SAAS,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAG/G,CAAC;AAEF,eAAO,MAAM,WAAW,SAAgB,WAAW,SAAS,gBAAgB,KAAG,OAAO,CAAC,iBAAiB,CAGvG,CAAC;AAIF,eAAO,MAAM,YAAY,SAAgB,WAAW,QAAQ,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAUxG,CAAC;AAIF,eAAO,MAAM,aAAa,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,CAS5E,CAAC;AAGF,eAAO,MAAM,gBAAgB,SAAgB,WAAW,KAAG,OAAO,CAAC,gBAAgB,CASlF,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,WAAW,QAAQ,QAAQ,KAAG,OAAO,CAAC,cAAc,CAG/F,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,WAAW,KAAG,OAAO,CAAC,UAAU,CAS7E,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAgB,WAAW,WAAW,WAAW,KAAG,OAAO,CAAC,iBAAiB,CAS3G,CAAC"}
1
+ {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/keyring/relay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EAEtB,oBAAoB,EACpB,aAAa,EACb,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtD,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAClE,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1D,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC5D,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAYxE,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAwCD,eAAO,MAAM,aAAa,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,CAkB5E,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,WAAW,SAAS,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAG/G,CAAC;AAEF,eAAO,MAAM,WAAW,SAAgB,WAAW,SAAS,gBAAgB,KAAG,OAAO,CAAC,iBAAiB,CAGvG,CAAC;AAIF,eAAO,MAAM,YAAY,SAAgB,WAAW,QAAQ,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAUxG,CAAC;AAIF,eAAO,MAAM,aAAa,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,CAS5E,CAAC;AAGF,eAAO,MAAM,gBAAgB,SAAgB,WAAW,KAAG,OAAO,CAAC,gBAAgB,CASlF,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,WAAW,QAAQ,QAAQ,KAAG,OAAO,CAAC,cAAc,CAG/F,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,WAAW,KAAG,OAAO,CAAC,UAAU,CAS7E,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAgB,WAAW,WAAW,WAAW,KAAG,OAAO,CAAC,iBAAiB,CAS3G,CAAC;AAMF,eAAO,MAAM,cAAc,SAAgB,WAAW,QAAQ,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAG9G,CAAC;AAEF,eAAO,MAAM,WAAW,SAAgB,WAAW,QAAQ,WAAW,KAAG,OAAO,CAAC,iBAAiB,CAGjG,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAgB,WAAW,SAAS,gBAAgB,KAAG,OAAO,CAAC,sBAAsB,CAGjH,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAgB,WAAW,QAAQ,sBAAsB,KAAG,OAAO,CAAC,sBAAsB,CAGtH,CAAC"}