@intentic/keyring 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 (231) hide show
  1. package/README.md +141 -45
  2. package/dist/address.d.ts +0 -1
  3. package/dist/address.d.ts.map +1 -1
  4. package/dist/address.js +1 -1
  5. package/dist/address.js.map +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +49 -48
  8. package/dist/app.js.map +1 -1
  9. package/dist/askpass/answer.d.ts +12 -0
  10. package/dist/askpass/answer.d.ts.map +1 -0
  11. package/dist/askpass/answer.js +204 -0
  12. package/dist/askpass/answer.js.map +1 -0
  13. package/dist/askpass/askpass.d.ts +6 -0
  14. package/dist/askpass/askpass.d.ts.map +1 -1
  15. package/dist/askpass/askpass.js +28 -0
  16. package/dist/askpass/askpass.js.map +1 -1
  17. package/dist/audit.d.ts +5 -2
  18. package/dist/audit.d.ts.map +1 -1
  19. package/dist/audit.js +15 -2
  20. package/dist/audit.js.map +1 -1
  21. package/dist/consent/consent-posix.d.ts +7 -3
  22. package/dist/consent/consent-posix.d.ts.map +1 -1
  23. package/dist/consent/consent-posix.js +82 -12
  24. package/dist/consent/consent-posix.js.map +1 -1
  25. package/dist/consent/consent-windows.d.ts +3 -1
  26. package/dist/consent/consent-windows.d.ts.map +1 -1
  27. package/dist/consent/consent-windows.js +174 -62
  28. package/dist/consent/consent-windows.js.map +1 -1
  29. package/dist/consent/consent.d.ts +41 -2
  30. package/dist/consent/consent.d.ts.map +1 -1
  31. package/dist/consent/consent.js +7 -5
  32. package/dist/consent/consent.js.map +1 -1
  33. package/dist/core.d.ts +3 -30
  34. package/dist/core.d.ts.map +1 -1
  35. package/dist/core.js +189 -62
  36. package/dist/core.js.map +1 -1
  37. package/dist/git-credential/git-credential.d.ts +18 -0
  38. package/dist/git-credential/git-credential.d.ts.map +1 -0
  39. package/dist/git-credential/git-credential.js +68 -0
  40. package/dist/git-credential/git-credential.js.map +1 -0
  41. package/dist/index.d.ts +5 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/native-host/framing.d.ts +10 -0
  46. package/dist/native-host/framing.d.ts.map +1 -0
  47. package/dist/native-host/framing.js +33 -0
  48. package/dist/native-host/framing.js.map +1 -0
  49. package/dist/native-host/native-host.d.ts +11 -0
  50. package/dist/native-host/native-host.d.ts.map +1 -0
  51. package/dist/native-host/native-host.js +130 -0
  52. package/dist/native-host/native-host.js.map +1 -0
  53. package/dist/passwords/access.d.ts +73 -0
  54. package/dist/passwords/access.d.ts.map +1 -0
  55. package/dist/passwords/access.js +3 -0
  56. package/dist/passwords/access.js.map +1 -0
  57. package/dist/passwords/app-ops.d.ts +18 -0
  58. package/dist/passwords/app-ops.d.ts.map +1 -0
  59. package/dist/passwords/app-ops.js +261 -0
  60. package/dist/passwords/app-ops.js.map +1 -0
  61. package/dist/passwords/capture.d.ts +35 -0
  62. package/dist/passwords/capture.d.ts.map +1 -0
  63. package/dist/passwords/capture.js +306 -0
  64. package/dist/passwords/capture.js.map +1 -0
  65. package/dist/passwords/entries.d.ts +20 -0
  66. package/dist/passwords/entries.d.ts.map +1 -0
  67. package/dist/passwords/entries.js +57 -0
  68. package/dist/passwords/entries.js.map +1 -0
  69. package/dist/passwords/fills.d.ts +10 -0
  70. package/dist/passwords/fills.d.ts.map +1 -0
  71. package/dist/passwords/fills.js +87 -0
  72. package/dist/passwords/fills.js.map +1 -0
  73. package/dist/passwords/needs.d.ts +11 -0
  74. package/dist/passwords/needs.d.ts.map +1 -0
  75. package/dist/passwords/needs.js +232 -0
  76. package/dist/passwords/needs.js.map +1 -0
  77. package/dist/passwords/phone.d.ts +19 -0
  78. package/dist/passwords/phone.d.ts.map +1 -0
  79. package/dist/passwords/phone.js +125 -0
  80. package/dist/passwords/phone.js.map +1 -0
  81. package/dist/protocol.d.ts +1169 -0
  82. package/dist/protocol.d.ts.map +1 -1
  83. package/dist/protocol.js +86 -1
  84. package/dist/protocol.js.map +1 -1
  85. package/dist/service/channel.d.ts +10 -3
  86. package/dist/service/channel.d.ts.map +1 -1
  87. package/dist/service/channel.js +31 -13
  88. package/dist/service/channel.js.map +1 -1
  89. package/dist/service/door.d.ts +45 -4
  90. package/dist/service/door.d.ts.map +1 -1
  91. package/dist/service/door.js +31 -2
  92. package/dist/service/door.js.map +1 -1
  93. package/dist/service/helper.d.ts +18 -1
  94. package/dist/service/helper.d.ts.map +1 -1
  95. package/dist/service/helper.js +68 -28
  96. package/dist/service/helper.js.map +1 -1
  97. package/dist/service/linux/install-linux.d.ts +12 -0
  98. package/dist/service/linux/install-linux.d.ts.map +1 -0
  99. package/dist/service/linux/install-linux.js +133 -0
  100. package/dist/service/linux/install-linux.js.map +1 -0
  101. package/dist/service/linux/paths-linux.d.ts +21 -0
  102. package/dist/service/linux/paths-linux.d.ts.map +1 -0
  103. package/dist/service/linux/paths-linux.js +31 -0
  104. package/dist/service/linux/paths-linux.js.map +1 -0
  105. package/dist/service/linux/polkit-linux.d.ts +29 -0
  106. package/dist/service/linux/polkit-linux.d.ts.map +1 -0
  107. package/dist/service/linux/polkit-linux.js +89 -0
  108. package/dist/service/linux/polkit-linux.js.map +1 -0
  109. package/dist/service/linux/service-run-linux.d.ts +4 -0
  110. package/dist/service/linux/service-run-linux.d.ts.map +1 -0
  111. package/dist/service/linux/service-run-linux.js +52 -0
  112. package/dist/service/linux/service-run-linux.js.map +1 -0
  113. package/dist/service/linux/session-linux.d.ts +4 -0
  114. package/dist/service/linux/session-linux.d.ts.map +1 -0
  115. package/dist/service/linux/session-linux.js +13 -0
  116. package/dist/service/linux/session-linux.js.map +1 -0
  117. package/dist/service/linux/unit-linux.d.ts +16 -0
  118. package/dist/service/linux/unit-linux.d.ts.map +1 -0
  119. package/dist/service/linux/unit-linux.js +67 -0
  120. package/dist/service/linux/unit-linux.js.map +1 -0
  121. package/dist/service/platform.d.ts +7 -0
  122. package/dist/service/platform.d.ts.map +1 -0
  123. package/dist/service/platform.js +62 -0
  124. package/dist/service/platform.js.map +1 -0
  125. package/dist/service/recovery.d.ts +3 -0
  126. package/dist/service/recovery.d.ts.map +1 -0
  127. package/dist/service/recovery.js +22 -0
  128. package/dist/service/recovery.js.map +1 -0
  129. package/dist/service/remote.d.ts +4 -1
  130. package/dist/service/remote.d.ts.map +1 -1
  131. package/dist/service/remote.js +41 -6
  132. package/dist/service/remote.js.map +1 -1
  133. package/dist/service/service-key.d.ts +9 -0
  134. package/dist/service/service-key.d.ts.map +1 -0
  135. package/dist/service/service-key.js +55 -0
  136. package/dist/service/service-key.js.map +1 -0
  137. package/dist/service/service-run.d.ts +20 -2
  138. package/dist/service/service-run.d.ts.map +1 -1
  139. package/dist/service/service-run.js +52 -46
  140. package/dist/service/service-run.js.map +1 -1
  141. package/dist/service/user.d.ts +8 -0
  142. package/dist/service/user.d.ts.map +1 -0
  143. package/dist/service/user.js +39 -0
  144. package/dist/service/user.js.map +1 -0
  145. package/dist/service/{acl.d.ts → windows/acl-windows.d.ts} +3 -3
  146. package/dist/service/windows/acl-windows.d.ts.map +1 -0
  147. package/dist/service/{acl.js → windows/acl-windows.js} +3 -3
  148. package/dist/service/windows/acl-windows.js.map +1 -0
  149. package/dist/service/{install.d.ts → windows/install-windows.d.ts} +4 -2
  150. package/dist/service/windows/install-windows.d.ts.map +1 -0
  151. package/dist/service/{install.js → windows/install-windows.js} +13 -12
  152. package/dist/service/windows/install-windows.js.map +1 -0
  153. package/dist/service/windows/leftovers-windows.d.ts +8 -0
  154. package/dist/service/windows/leftovers-windows.d.ts.map +1 -0
  155. package/dist/service/windows/leftovers-windows.js +44 -0
  156. package/dist/service/windows/leftovers-windows.js.map +1 -0
  157. package/dist/service/{paths.d.ts → windows/paths-windows.d.ts} +4 -5
  158. package/dist/service/windows/paths-windows.d.ts.map +1 -0
  159. package/dist/service/{paths.js → windows/paths-windows.js} +5 -5
  160. package/dist/service/windows/paths-windows.js.map +1 -0
  161. package/dist/service/windows/service-run-windows.d.ts +4 -0
  162. package/dist/service/windows/service-run-windows.d.ts.map +1 -0
  163. package/dist/service/windows/service-run-windows.js +46 -0
  164. package/dist/service/windows/service-run-windows.js.map +1 -0
  165. package/dist/service/windows/session-windows.d.ts +4 -0
  166. package/dist/service/windows/session-windows.d.ts.map +1 -0
  167. package/dist/service/windows/session-windows.js +13 -0
  168. package/dist/service/windows/session-windows.js.map +1 -0
  169. package/dist/service/windows/sid-windows.d.ts +3 -0
  170. package/dist/service/windows/sid-windows.d.ts.map +1 -0
  171. package/dist/service/{sid.js → windows/sid-windows.js} +2 -2
  172. package/dist/service/windows/sid-windows.js.map +1 -0
  173. package/dist/service/{task.d.ts → windows/task-windows.d.ts} +4 -3
  174. package/dist/service/windows/task-windows.d.ts.map +1 -0
  175. package/dist/service/{task.js → windows/task-windows.js} +19 -2
  176. package/dist/service/windows/task-windows.js.map +1 -0
  177. package/dist/service/wire.d.ts +32 -0
  178. package/dist/service/wire.d.ts.map +1 -1
  179. package/dist/service/wire.js +15 -0
  180. package/dist/service/wire.js.map +1 -1
  181. package/dist/typing/clipboard.d.ts +13 -0
  182. package/dist/typing/clipboard.d.ts.map +1 -0
  183. package/dist/typing/clipboard.js +56 -0
  184. package/dist/typing/clipboard.js.map +1 -0
  185. package/dist/typing/index.d.ts.map +1 -1
  186. package/dist/typing/index.js +2 -1
  187. package/dist/typing/index.js.map +1 -1
  188. package/dist/typing/typist.d.ts +3 -1
  189. package/dist/typing/typist.d.ts.map +1 -1
  190. package/dist/typing/typist.js +2 -1
  191. package/dist/typing/typist.js.map +1 -1
  192. package/dist/vault.d.ts +785 -0
  193. package/dist/vault.d.ts.map +1 -1
  194. package/dist/vault.js +24 -2
  195. package/dist/vault.js.map +1 -1
  196. package/dist/watch/apps.d.ts +10 -0
  197. package/dist/watch/apps.d.ts.map +1 -0
  198. package/dist/watch/apps.js +95 -0
  199. package/dist/watch/apps.js.map +1 -0
  200. package/dist/watch/chip.d.ts +52 -0
  201. package/dist/watch/chip.d.ts.map +1 -0
  202. package/dist/watch/chip.js +76 -0
  203. package/dist/watch/chip.js.map +1 -0
  204. package/dist/watch/lines-child.d.ts +9 -0
  205. package/dist/watch/lines-child.d.ts.map +1 -0
  206. package/dist/watch/lines-child.js +34 -0
  207. package/dist/watch/lines-child.js.map +1 -0
  208. package/dist/watch/watch-linux.d.ts +6 -0
  209. package/dist/watch/watch-linux.d.ts.map +1 -0
  210. package/dist/watch/watch-linux.js +52 -0
  211. package/dist/watch/watch-linux.js.map +1 -0
  212. package/dist/watch/watch-windows.d.ts +6 -0
  213. package/dist/watch/watch-windows.d.ts.map +1 -0
  214. package/dist/watch/watch-windows.js +110 -0
  215. package/dist/watch/watch-windows.js.map +1 -0
  216. package/package.json +5 -5
  217. package/dist/serve.d.ts +0 -17
  218. package/dist/serve.d.ts.map +0 -1
  219. package/dist/serve.js +0 -65
  220. package/dist/serve.js.map +0 -1
  221. package/dist/service/acl.d.ts.map +0 -1
  222. package/dist/service/acl.js.map +0 -1
  223. package/dist/service/install.d.ts.map +0 -1
  224. package/dist/service/install.js.map +0 -1
  225. package/dist/service/paths.d.ts.map +0 -1
  226. package/dist/service/paths.js.map +0 -1
  227. package/dist/service/sid.d.ts +0 -3
  228. package/dist/service/sid.d.ts.map +0 -1
  229. package/dist/service/sid.js.map +0 -1
  230. package/dist/service/task.d.ts.map +0 -1
  231. package/dist/service/task.js.map +0 -1
@@ -9,61 +9,59 @@ using System.Threading;
9
9
  using System.Windows.Forms;
10
10
 
11
11
  namespace IntenticKeyring {
12
- public class Notice {
13
- Form form;
14
- readonly ManualResetEvent shown = new ManualResetEvent(false);
15
-
16
- public static Notice Show(string title, string message) {
17
- Notice notice = new Notice();
18
- Thread thread = new Thread(delegate() { notice.Run(title, message); });
19
- thread.SetApartmentState(ApartmentState.STA);
20
- thread.IsBackground = true;
21
- thread.Start();
22
- notice.shown.WaitOne(5000);
23
- return notice;
24
- }
25
-
26
- void Run(string title, string message) {
27
- form = new Form();
28
- form.Text = "intentic keyring";
29
- form.FormBorderStyle = FormBorderStyle.FixedToolWindow;
12
+ public static class Passphrase {
13
+ public static string Ask(string title, string message, int seconds) {
14
+ Application.EnableVisualStyles();
15
+ Form form = new Form();
16
+ form.Text = title;
17
+ form.FormBorderStyle = FormBorderStyle.FixedDialog;
18
+ form.MinimizeBox = false;
19
+ form.MaximizeBox = false;
30
20
  form.TopMost = true;
31
- form.ShowInTaskbar = false;
32
- form.StartPosition = FormStartPosition.Manual;
21
+ form.StartPosition = FormStartPosition.CenterScreen;
33
22
  form.AutoSize = true;
34
23
  form.AutoSizeMode = AutoSizeMode.GrowAndShrink;
35
24
  form.Padding = new Padding(16);
36
25
  FlowLayoutPanel panel = new FlowLayoutPanel();
37
26
  panel.FlowDirection = FlowDirection.TopDown;
38
27
  panel.AutoSize = true;
39
- Label heading = new Label();
40
- heading.Text = title;
41
- heading.AutoSize = true;
42
- heading.MaximumSize = new Size(480, 0);
43
- heading.Font = new Font("Segoe UI Semibold", 11f);
44
28
  Label body = new Label();
45
- body.Text = message + "\r\n\r\nWindows Hello asks for your gesture to answer it.";
29
+ body.Text = message + "\r\n\r\nThe keyring's passphrase:";
46
30
  body.AutoSize = true;
47
31
  body.MaximumSize = new Size(480, 0);
48
- body.Font = new Font("Segoe UI", 9.5f);
49
- panel.Controls.Add(heading);
32
+ TextBox box = new TextBox();
33
+ box.UseSystemPasswordChar = true;
34
+ box.Width = 320;
35
+ FlowLayoutPanel buttons = new FlowLayoutPanel();
36
+ buttons.AutoSize = true;
37
+ Button ok = new Button();
38
+ ok.Text = "OK";
39
+ ok.DialogResult = DialogResult.OK;
40
+ Button cancel = new Button();
41
+ cancel.Text = "Cancel";
42
+ cancel.DialogResult = DialogResult.Cancel;
43
+ buttons.Controls.Add(ok);
44
+ buttons.Controls.Add(cancel);
50
45
  panel.Controls.Add(body);
46
+ panel.Controls.Add(box);
47
+ panel.Controls.Add(buttons);
51
48
  form.Controls.Add(panel);
52
- form.Shown += delegate(object sender, EventArgs e) {
53
- Rectangle area = Screen.PrimaryScreen.WorkingArea;
54
- form.Location = new Point(area.X + (area.Width - form.Width) / 2, area.Y + 24);
55
- shown.Set();
56
- };
57
- Application.Run(form);
58
- }
59
-
60
- public void Close() {
61
- try { if (form != null && form.IsHandleCreated) form.BeginInvoke(new MethodInvoker(form.Close)); } catch (Exception) { } // allow(silent-catch): a notice already gone has nothing left to close
49
+ form.AcceptButton = ok;
50
+ form.CancelButton = cancel;
51
+ System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
52
+ timer.Interval = seconds * 1000;
53
+ timer.Tick += delegate(object sender, EventArgs e) { form.DialogResult = DialogResult.Cancel; form.Close(); };
54
+ form.Shown += delegate(object sender, EventArgs e) { form.Activate(); box.Focus(); timer.Start(); };
55
+ DialogResult result = form.ShowDialog();
56
+ timer.Stop();
57
+ return result == DialogResult.OK ? box.Text : null;
62
58
  }
63
59
  }
64
60
 
65
- public static class Passphrase {
66
- public static string Ask(string title, string message, int seconds) {
61
+ // The type-once box: a value (hidden) and, when asked for, a user name, with a "Remember it" tick. Answers null on
62
+ // Cancel, else the three joined by NUL (user, remember, value), which none of them holds.
63
+ public static class ValueBox {
64
+ public static string Ask(string title, string message, bool remember, bool askUser, string user, int seconds) {
67
65
  Application.EnableVisualStyles();
68
66
  Form form = new Form();
69
67
  form.Text = title;
@@ -79,12 +77,30 @@ namespace IntenticKeyring {
79
77
  panel.FlowDirection = FlowDirection.TopDown;
80
78
  panel.AutoSize = true;
81
79
  Label body = new Label();
82
- body.Text = message + "\r\n\r\nThe keyring's passphrase:";
80
+ body.Text = message;
83
81
  body.AutoSize = true;
84
82
  body.MaximumSize = new Size(480, 0);
83
+ panel.Controls.Add(body);
84
+ TextBox userBox = new TextBox();
85
+ userBox.Width = 320;
86
+ userBox.Text = user == null ? "" : user;
87
+ if (askUser) {
88
+ Label userLabel = new Label();
89
+ userLabel.Text = "User name:";
90
+ userLabel.AutoSize = true;
91
+ panel.Controls.Add(userLabel);
92
+ panel.Controls.Add(userBox);
93
+ }
94
+ Label valueLabel = new Label();
95
+ valueLabel.Text = "Password:";
96
+ valueLabel.AutoSize = true;
85
97
  TextBox box = new TextBox();
86
98
  box.UseSystemPasswordChar = true;
87
99
  box.Width = 320;
100
+ CheckBox keep = new CheckBox();
101
+ keep.Text = "Remember it";
102
+ keep.Checked = remember;
103
+ keep.AutoSize = true;
88
104
  FlowLayoutPanel buttons = new FlowLayoutPanel();
89
105
  buttons.AutoSize = true;
90
106
  Button ok = new Button();
@@ -95,8 +111,9 @@ namespace IntenticKeyring {
95
111
  cancel.DialogResult = DialogResult.Cancel;
96
112
  buttons.Controls.Add(ok);
97
113
  buttons.Controls.Add(cancel);
98
- panel.Controls.Add(body);
114
+ panel.Controls.Add(valueLabel);
99
115
  panel.Controls.Add(box);
116
+ panel.Controls.Add(keep);
100
117
  panel.Controls.Add(buttons);
101
118
  form.Controls.Add(panel);
102
119
  form.AcceptButton = ok;
@@ -104,10 +121,56 @@ namespace IntenticKeyring {
104
121
  System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
105
122
  timer.Interval = seconds * 1000;
106
123
  timer.Tick += delegate(object sender, EventArgs e) { form.DialogResult = DialogResult.Cancel; form.Close(); };
107
- form.Shown += delegate(object sender, EventArgs e) { form.Activate(); box.Focus(); timer.Start(); };
124
+ form.Shown += delegate(object sender, EventArgs e) { form.Activate(); if (askUser && userBox.Text == "") userBox.Focus(); else box.Focus(); timer.Start(); };
108
125
  DialogResult result = form.ShowDialog();
109
126
  timer.Stop();
110
- return result == DialogResult.OK ? box.Text : null;
127
+ if (result != DialogResult.OK || box.Text == "") return null;
128
+ return userBox.Text + "\0" + (keep.Checked ? "1" : "0") + "\0" + box.Text;
129
+ }
130
+ }
131
+
132
+ // A few buttons, one per answer, in the order given. Answers the chosen one's index, or -1 on Cancel or time out.
133
+ public static class Choice {
134
+ public static int Ask(string title, string message, string[] labels, int seconds) {
135
+ Application.EnableVisualStyles();
136
+ Form form = new Form();
137
+ form.Text = title;
138
+ form.FormBorderStyle = FormBorderStyle.FixedDialog;
139
+ form.MinimizeBox = false;
140
+ form.MaximizeBox = false;
141
+ form.TopMost = true;
142
+ form.StartPosition = FormStartPosition.CenterScreen;
143
+ form.AutoSize = true;
144
+ form.AutoSizeMode = AutoSizeMode.GrowAndShrink;
145
+ form.Padding = new Padding(16);
146
+ FlowLayoutPanel panel = new FlowLayoutPanel();
147
+ panel.FlowDirection = FlowDirection.TopDown;
148
+ panel.AutoSize = true;
149
+ Label body = new Label();
150
+ body.Text = message;
151
+ body.AutoSize = true;
152
+ body.MaximumSize = new Size(480, 0);
153
+ panel.Controls.Add(body);
154
+ FlowLayoutPanel buttons = new FlowLayoutPanel();
155
+ buttons.AutoSize = true;
156
+ int chosen = -1;
157
+ for (int i = 0; i < labels.Length; i++) {
158
+ Button button = new Button();
159
+ button.Text = labels[i];
160
+ button.AutoSize = true;
161
+ int index = i;
162
+ button.Click += delegate(object sender, EventArgs e) { chosen = index; form.Close(); };
163
+ buttons.Controls.Add(button);
164
+ }
165
+ panel.Controls.Add(buttons);
166
+ form.Controls.Add(panel);
167
+ System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
168
+ timer.Interval = seconds * 1000;
169
+ timer.Tick += delegate(object sender, EventArgs e) { chosen = -1; form.Close(); };
170
+ form.Shown += delegate(object sender, EventArgs e) { form.Activate(); timer.Start(); };
171
+ form.ShowDialog();
172
+ timer.Stop();
173
+ return chosen;
111
174
  }
112
175
  }
113
176
  }
@@ -142,21 +205,18 @@ try {
142
205
  $result = Await ([Windows.Security.Credentials.UI.UserConsentVerifier]::RequestVerificationAsync($KeyringInput.message)) ([Windows.Security.Credentials.UI.UserConsentVerificationResult])
143
206
  Answer @{ ok = ([string]$result -eq 'Verified'); status = [string]$result }
144
207
  } else {
145
- $notice = [IntenticKeyring.Notice]::Show($KeyringInput.title, $KeyringInput.message)
146
- try {
147
- if ($op -eq 'enrol') {
148
- $made = Await ([Windows.Security.Credentials.KeyCredentialManager]::RequestCreateAsync($KeyringInput.credential, [Windows.Security.Credentials.KeyCredentialCreationOption]::ReplaceExisting)) ([Windows.Security.Credentials.KeyCredentialRetrievalResult])
149
- if ([string]$made.Status -ne 'Success') { Answer @{ ok = $false; status = [string]$made.Status } } else {
150
- $answer = SignWith $made.Credential
151
- # X.509 SubjectPublicKeyInfo, which hardened mode's service reads with node:crypto to check later signatures.
152
- $answer.publicKey = [Convert]::ToBase64String($buffers::ToArray($made.Credential.RetrievePublicKey([Windows.Security.Cryptography.Core.CryptographicPublicKeyBlobType]::X509SubjectPublicKeyInfo)))
153
- Answer $answer
154
- }
155
- } else {
156
- $opened = Await ([Windows.Security.Credentials.KeyCredentialManager]::OpenAsync($KeyringInput.credential)) ([Windows.Security.Credentials.KeyCredentialRetrievalResult])
157
- if ([string]$opened.Status -ne 'Success') { Answer @{ ok = $false; status = [string]$opened.Status } } else { Answer (SignWith $opened.Credential) }
208
+ if ($op -eq 'enrol') {
209
+ $made = Await ([Windows.Security.Credentials.KeyCredentialManager]::RequestCreateAsync($KeyringInput.credential, [Windows.Security.Credentials.KeyCredentialCreationOption]::ReplaceExisting)) ([Windows.Security.Credentials.KeyCredentialRetrievalResult])
210
+ if ([string]$made.Status -ne 'Success') { Answer @{ ok = $false; status = [string]$made.Status } } else {
211
+ $answer = SignWith $made.Credential
212
+ # X.509 SubjectPublicKeyInfo, which the protected service reads with node:crypto to check later signatures.
213
+ $answer.publicKey = [Convert]::ToBase64String($buffers::ToArray($made.Credential.RetrievePublicKey([Windows.Security.Cryptography.Core.CryptographicPublicKeyBlobType]::X509SubjectPublicKeyInfo)))
214
+ Answer $answer
158
215
  }
159
- } finally { $notice.Close() }
216
+ } else {
217
+ $opened = Await ([Windows.Security.Credentials.KeyCredentialManager]::OpenAsync($KeyringInput.credential)) ([Windows.Security.Credentials.KeyCredentialRetrievalResult])
218
+ if ([string]$opened.Status -ne 'Success') { Answer @{ ok = $false; status = [string]$opened.Status } } else { Answer (SignWith $opened.Credential) }
219
+ }
160
220
  }
161
221
  } catch {
162
222
  Answer @{ ok = $false; error = $_.Exception.Message }
@@ -170,6 +230,22 @@ try {
170
230
  Answer @{ ok = $false; error = $_.Exception.Message }
171
231
  }
172
232
  `;
233
+ const VALUE_SCRIPT = `${PREAMBLE}
234
+ try {
235
+ $typed = [IntenticKeyring.ValueBox]::Ask($KeyringInput.title, $KeyringInput.message, $KeyringInput.remember -eq '1', $KeyringInput.askUser -eq '1', $KeyringInput.user, [int]$KeyringInput.seconds)
236
+ if ($typed -eq $null) { Answer @{ ok = $false; cancelled = $true } } else { Answer @{ ok = $true; passphrase = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($typed)) } }
237
+ } catch {
238
+ Answer @{ ok = $false; error = $_.Exception.Message }
239
+ }
240
+ `;
241
+ const CHOICE_SCRIPT = `${PREAMBLE}
242
+ try {
243
+ $index = [IntenticKeyring.Choice]::Ask($KeyringInput.title, $KeyringInput.message, [string[]]($KeyringInput.labels -split "\n"), [int]$KeyringInput.seconds)
244
+ if ($index -lt 0) { Answer @{ ok = $false; cancelled = $true } } else { Answer @{ ok = $true; status = [string]$index } }
245
+ } catch {
246
+ Answer @{ ok = $false; error = $_.Exception.Message }
247
+ }
248
+ `;
173
249
  const AnswerSchema = z.object({
174
250
  ok: z.boolean(),
175
251
  supported: z.boolean().optional(),
@@ -204,8 +280,8 @@ export const windowsHello = (runner, now = Date.now) => {
204
280
  known = { at: now(), available };
205
281
  return available;
206
282
  },
207
- enrol: async (credential, challenge, notice) => {
208
- const asked = await hello({ op: "enrol", credential, challenge: standardBase64(challenge), title: notice.title, message: notice.message });
283
+ enrol: async (credential, challenge) => {
284
+ const asked = await hello({ op: "enrol", credential, challenge: standardBase64(challenge) });
209
285
  if (!asked.ok) {
210
286
  return asked;
211
287
  }
@@ -213,8 +289,8 @@ export const windowsHello = (runner, now = Date.now) => {
213
289
  const publicKey = asked.value.publicKey;
214
290
  return asked.value.ok && signature !== undefined && publicKey !== undefined ? { ok: true, value: { signature, publicKey } } : failed(asked.value);
215
291
  },
216
- sign: async (credential, challenge, notice) => {
217
- const asked = await hello({ op: "sign", credential, challenge: standardBase64(challenge), title: notice.title, message: notice.message });
292
+ sign: async (credential, challenge) => {
293
+ const asked = await hello({ op: "sign", credential, challenge: standardBase64(challenge) });
218
294
  if (!asked.ok) {
219
295
  return asked;
220
296
  }
@@ -241,4 +317,40 @@ export const windowsPassphrasePrompt = (runner) => async (notice) => {
241
317
  }
242
318
  return ran.answer.cancelled === true ? { kind: "cancelled" } : { kind: "unavailable", reason: ran.answer.error ?? "the passphrase dialog failed" };
243
319
  };
320
+ const dialogSeconds = String(Math.floor(PROMPT_TIMEOUT_MS / 1000) - 5);
321
+ export const windowsValuePrompt = (runner) => async (notice) => {
322
+ const input = {
323
+ title: notice.title,
324
+ message: notice.message,
325
+ remember: notice.remember ? "1" : "0",
326
+ askUser: notice.username === undefined ? "0" : "1",
327
+ user: notice.username?.value ?? "",
328
+ seconds: dialogSeconds,
329
+ };
330
+ const ran = await runPowerShell(runner, { script: VALUE_SCRIPT, input, timeoutMs: PROMPT_TIMEOUT_MS }, AnswerSchema);
331
+ if (!ran.ok) {
332
+ return { kind: "unavailable", reason: ran.reason };
333
+ }
334
+ if (!ran.answer.ok) {
335
+ return ran.answer.cancelled === true ? { kind: "cancelled" } : { kind: "unavailable", reason: ran.answer.error ?? "the box failed" };
336
+ }
337
+ const [user = "", remember = "0", ...rest] = (base64(ran.answer.passphrase)?.toString("utf8") ?? "").split("\0");
338
+ const value = rest.join("\0");
339
+ if (value === "") {
340
+ return { kind: "cancelled" };
341
+ }
342
+ return user === "" ? { kind: "answered", value, remember: remember === "1" } : { kind: "answered", value, remember: remember === "1", username: user };
343
+ };
344
+ export const windowsChoicePrompt = (runner) => async (notice) => {
345
+ const input = { title: notice.title, message: notice.message, labels: notice.choices.map((choice) => choice.label.replace(/\n/gu, " ")).join("\n"), seconds: dialogSeconds };
346
+ const ran = await runPowerShell(runner, { script: CHOICE_SCRIPT, input, timeoutMs: PROMPT_TIMEOUT_MS }, AnswerSchema);
347
+ if (!ran.ok) {
348
+ return { kind: "unavailable", reason: ran.reason };
349
+ }
350
+ const chosen = ran.answer.ok ? notice.choices[Number(ran.answer.status)] : undefined;
351
+ if (chosen !== undefined) {
352
+ return { kind: "chosen", id: chosen.id };
353
+ }
354
+ return ran.answer.cancelled === true || ran.answer.ok ? { kind: "cancelled" } : { kind: "unavailable", reason: ran.answer.error ?? "the dialog failed" };
355
+ };
244
356
  //# sourceMappingURL=consent-windows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consent-windows.js","sourceRoot":"","sources":["../../src/consent/consent-windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consent-windows.js","sourceRoot":"","sources":["../../src/consent/consent-windows.ts"],"names":[],"mappings":"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"}
@@ -56,12 +56,51 @@ export type PromptAnswer = {
56
56
  readonly reason: string;
57
57
  };
58
58
  export type PassphrasePrompt = (notice: Notice) => Promise<PromptAnswer>;
59
+ export interface ValueNotice extends Notice {
60
+ readonly remember: boolean;
61
+ readonly username?: {
62
+ readonly value?: string | undefined;
63
+ } | undefined;
64
+ }
65
+ export type ValueAnswer = {
66
+ readonly kind: "answered";
67
+ readonly value: string;
68
+ readonly remember: boolean;
69
+ readonly username?: string | undefined;
70
+ } | {
71
+ readonly kind: "cancelled";
72
+ } | {
73
+ readonly kind: "unavailable";
74
+ readonly reason: string;
75
+ };
76
+ export type ValuePrompt = (notice: ValueNotice) => Promise<ValueAnswer>;
77
+ export interface ChoiceNotice extends Notice {
78
+ readonly choices: readonly {
79
+ readonly id: string;
80
+ readonly label: string;
81
+ }[];
82
+ }
83
+ export type ChoiceAnswer = {
84
+ readonly kind: "chosen";
85
+ readonly id: string;
86
+ } | {
87
+ readonly kind: "cancelled";
88
+ } | {
89
+ readonly kind: "unavailable";
90
+ readonly reason: string;
91
+ };
92
+ export type ChoicePrompt = (notice: ChoiceNotice) => Promise<ChoiceAnswer>;
93
+ export interface ConsentExtras {
94
+ readonly askValue?: ValuePrompt | undefined;
95
+ readonly choose?: ChoicePrompt | undefined;
96
+ }
59
97
  export interface Consent {
60
98
  readonly ask: (request: ConsentRequest) => Promise<ConsentAnswer>;
61
99
  readonly hello: HelloDriver | undefined;
100
+ readonly askValue?: ValuePrompt | undefined;
101
+ readonly choose?: ChoicePrompt | undefined;
62
102
  }
63
- export declare const refusingConsent: (why: string) => Consent;
64
- export declare const passphraseConsent: (prompt: PassphrasePrompt) => Consent;
103
+ export declare const passphraseConsent: (prompt: PassphrasePrompt, extras?: ConsentExtras) => Consent;
65
104
  export declare const helloConsent: (hello: HelloDriver, fallback: Consent) => Consent;
66
105
  export declare const serialConsent: (inner: Consent, defaultWaitMs?: number) => Consent;
67
106
  //# sourceMappingURL=consent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/consent/consent.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAExB,QAAQ,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7E,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAE3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5H,MAAM,MAAM,aAAa,GACnB;IACI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAGlB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;CACrD,GACD,cAAc,CAAC;AAErB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErJ,MAAM,WAAW,cAAc;IAE3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,QAAQ,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhH,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvG,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,MAAM;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAE9B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAGhE,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEzE,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAElE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAMD,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,OAG5C,CAAC;AAOH,eAAO,MAAM,iBAAiB,WAAY,gBAAgB,KAAG,OAuB3D,CAAC;AAIH,eAAO,MAAM,YAAY,UAAW,WAAW,YAAY,OAAO,KAAG,OA0BnE,CAAC;AAIH,eAAO,MAAM,aAAa,UAAW,OAAO,kBAAiB,MAAM,KAA8B,OA8BhG,CAAC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/consent/consent.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { KEYRING_GRANT_TTL_MAX_MS } from "@intentic/sandbox-contract/schemas/keyring";
2
2
  const nobodyToAsk = (request, reason) => request.unlock ? { ok: false, code: "locked", reason: `The keyring is locked and ${reason}` } : { ok: false, code: "declined", reason: `Nobody could be asked: ${reason}` };
3
- export const refusingConsent = (why) => ({
4
- ask: (request) => Promise.resolve(nobodyToAsk(request, why)),
5
- hello: undefined,
6
- });
7
3
  const PASSPHRASE_TRIES = 3;
8
- export const passphraseConsent = (prompt) => ({
4
+ export const passphraseConsent = (prompt, extras = {}) => ({
9
5
  hello: undefined,
6
+ askValue: extras.askValue,
7
+ choose: extras.choose,
10
8
  ask: async (request) => {
11
9
  const opener = request.opener;
12
10
  if (opener === undefined) {
@@ -31,6 +29,8 @@ export const passphraseConsent = (prompt) => ({
31
29
  });
32
30
  export const helloConsent = (hello, fallback) => ({
33
31
  hello,
32
+ askValue: fallback.askValue,
33
+ choose: fallback.choose,
34
34
  ask: async (request) => {
35
35
  const notice = { title: request.title, message: request.message };
36
36
  if (!(await hello.available())) {
@@ -59,6 +59,8 @@ export const serialConsent = (inner, defaultWaitMs = KEYRING_GRANT_TTL_MAX_MS) =
59
59
  let tail = Promise.resolve();
60
60
  return {
61
61
  hello: inner.hello,
62
+ askValue: inner.askValue,
63
+ choose: inner.choose,
62
64
  ask: async (request) => {
63
65
  const before = tail;
64
66
  let release = () => undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/consent/consent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AA4FtF,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAE,MAAc,EAAkB,EAAE,CAC5E,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,6BAA6B,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,MAAM,EAAE,EAAE,CAAC;AAGhL,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,CAAC;IACtD,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5D,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAGH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAI3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAwB,EAAW,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,OAAO,EAAE,6EAA6E,CAAC,CAAC;QAC/G,CAAC;QACD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;YAC1F,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,OAAO,WAAW,CAAC,OAAO,EAAE,wCAAwC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;YACrD,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yCAAyC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC/H,CAAC;CACJ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,QAAiB,EAAW,EAAE,CAAC,CAAC;IAC7E,KAAK;IACL,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3I,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEpD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QACvG,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7I,CAAC;CACJ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,aAAa,GAAW,wBAAwB,EAAW,EAAE;IACvG,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,OAAO,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACvC,OAAO,GAAG,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAgD,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;gBAC3E,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAe,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAElB,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wEAAwE,EAAE,CAAC;YACzH,CAAC;YACD,IAAI,CAAC;gBACD,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;oBAAS,CAAC;gBACP,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/consent/consent.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -1,36 +1,11 @@
1
- import { type KeyringInboxItem, type KeyringSandboxKeys, type KeyringSyncItem, type SealedBox } from "@intentic/sandbox-contract/schemas/keyring";
2
- import type { Audit } from "./audit.js";
3
- import type { BackendReader } from "./backends.js";
4
- import type { Consent } from "./consent/consent.js";
5
- import { type KeysFile } from "./keys.js";
1
+ import { type KeyringInboxItem, type KeyringSyncItem, type SealedBox } from "@intentic/sandbox-contract/schemas/keyring";
2
+ import { type Answer, type KeyringDeps } from "./passwords/access.js";
6
3
  import type { KeyringRequest, KeyringResponse } from "./protocol.js";
7
- import type { Typist } from "./typing/typist.js";
8
- import { type ScryptCost, type VaultFile } from "./vault.js";
9
- export interface KeyringDeps {
10
- readonly vault: {
11
- readonly read: () => Promise<VaultFile | undefined>;
12
- readonly write: (file: VaultFile) => Promise<void>;
13
- };
14
- readonly keys: {
15
- readonly read: () => Promise<KeysFile>;
16
- readonly write: (keys: KeysFile) => Promise<void>;
17
- };
18
- readonly consent: Consent;
19
- readonly typist: Typist;
20
- readonly backends: BackendReader;
21
- readonly fetchKeys: (sandbox: string) => Promise<KeyringSandboxKeys>;
22
- readonly audit: Audit;
23
- readonly now: () => number;
24
- readonly sleep: (ms: number) => Promise<void>;
25
- readonly version: string;
26
- readonly helloCredential: string;
27
- readonly scrypt?: ScryptCost;
28
- }
4
+ export type { KeyringDeps } from "./passwords/access.js";
29
5
  type Op = KeyringRequest["op"];
30
6
  type RequestOf<K extends Op> = Extract<KeyringRequest, {
31
7
  op: K;
32
8
  }>;
33
- type Answer<K extends Op> = Promise<KeyringResponse<K>>;
34
9
  export declare class Keyring {
35
10
  #private;
36
11
  private readonly deps;
@@ -54,8 +29,6 @@ export declare class Keyring {
54
29
  syncPair(pair: RequestOf<"sync-pair">["pair"]): Answer<"sync-pair">;
55
30
  syncOutbox(): Answer<"sync-outbox">;
56
31
  syncDeliver(items: readonly KeyringSyncItem[]): Answer<"sync-deliver">;
57
- askpass(prompt: string, parent: string | undefined): Answer<"askpass">;
58
32
  consentUpgrade(version: string): Answer<"consent-upgrade">;
59
33
  }
60
- export {};
61
34
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,gBAAgB,EAKrB,KAAK,eAAe,EAEpB,KAAK,SAAS,EACjB,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAA0G,MAAM,uBAAuB,CAAC;AA2B9K,OAAO,KAAK,EAAyB,cAAc,EAAE,eAAe,EAAsB,MAAM,eAAe,CAAC;AAqChH,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAmFlE,qBAAa,OAAO;;IAgBJ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,WAAW,EAoB7C;IA6LK,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAMlE;IA+GK,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAuB7B;IAEK,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAyBnE;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAuB9C;IAwBD,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,CAkB9B;IAkCK,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CA6BlD;IAEK,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAkCrD;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAiB3C;IAEK,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAqCtD;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAmB5D;IAEK,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAavE;IAID,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAIjD;IA6BK,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAyCtE;IAEK,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAmClG;IA4EK,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CA0BnD;IAqCK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,CAOtC;IAEK,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAoBxE;IAgBK,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,CAWxC;IAEK,WAAW,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,CAkB3E;IAmCK,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAU/D;CACJ"}